Localization & stuff

This commit is contained in:
Roman committed 2022-11-30 16:42:24 +01:00
1 parent 25ef07b0b7
commit 1ba27e4f40
54 files changed
+856 -494

No files matched your search

-1
View File
@@ -2,7 +2,6 @@
namespace Core\API {
use Core\Driver\SQL\Condition\Compare;
use Core\Objects\Context;
abstract class ApiKeyAPI extends Request {
-1
View File
@@ -2,7 +2,6 @@
namespace Core\API {
use Core\Driver\SQL\Condition\Compare;
use Core\Objects\Context;
abstract class GroupsAPI extends Request {
+52
View File
@@ -14,6 +14,7 @@ namespace Core\API {
namespace Core\API\Language {
use Core\API\LanguageAPI;
use Core\API\Parameter\ArrayType;
use Core\API\Parameter\Parameter;
use Core\API\Parameter\StringType;
use Core\Driver\SQL\Condition\Compare;
@@ -105,7 +106,58 @@ namespace Core\API\Language {
}
$this->context->setLanguage($this->language);
$this->result["language"] = $this->language->jsonSerialize();
return $this->success;
}
}
class GetEntries extends LanguageAPI {
public function __construct(Context $context, bool $externalCall = false) {
parent::__construct($context, $externalCall, [
"code" => new StringType("code", 5, true, NULL),
"modules" => new ArrayType("modules", Parameter::TYPE_STRING, true, false)
]);
$this->loginRequired = false;
$this->csrfTokenRequired = false;
}
protected function _execute(): bool {
$code = $this->getParam("code");
if ($code === null) {
$code = $this->context->getLanguage()->getCode();
}
if (!preg_match(Language::LANG_CODE_PATTERN, $code)) {
return $this->createError("Invalid lang code format: $code");
}
$entries = [];
$modulePaths = [];
$requestedModules = $this->getParam("modules");
foreach ($requestedModules as $module) {
if (!preg_match(Language::LANG_MODULE_PATTERN, $module)) {
return $this->createError("Invalid module name: $module");
}
$moduleFound = false;
foreach (["Site", "Core"] as $baseDir) {
$filePath = realpath(implode("/", [$baseDir, "Localization", $code, "$module.php"]));
if ($filePath && is_file($filePath)) {
$moduleFound = true;
$moduleEntries = @include_once $filePath;
$entries[$module] = $moduleEntries;
break;
}
}
if (!$moduleFound) {
return $this->createError("Module not found: $module");
}
}
$this->result["code"] = $code;
$this->result["entries"] = $entries;
return true;
}
}
}
-2
View File
@@ -48,9 +48,7 @@ namespace Core\API\Mail {
use Core\API\Parameter\StringType;
use Core\Objects\DatabaseEntity\MailQueueItem;
use DateTimeInterface;
use Core\Driver\SQL\Column\Column;
use Core\Driver\SQL\Condition\Compare;
use Core\Driver\SQL\Condition\CondIn;
use Core\External\PHPMailer\Exception;
use Core\External\PHPMailer\PHPMailer;
use Core\Objects\Context;
-1
View File
@@ -28,7 +28,6 @@ namespace Core\API\Permission {
use Core\API\Parameter\StringType;
use Core\API\PermissionAPI;
use Core\Driver\SQL\Column\Column;
use Core\Driver\SQL\Condition\Compare;
use Core\Driver\SQL\Condition\CondIn;
use Core\Driver\SQL\Condition\CondLike;
use Core\Driver\SQL\Condition\CondNot;
-1
View File
@@ -6,7 +6,6 @@ use DateTime;
use Core\Driver\SQL\Condition\Compare;
use Core\Driver\SQL\Condition\CondBool;
use Core\Objects\Context;
use Core\Objects\DatabaseEntity\User;
class Stats extends Request {
+31 -2
View File
@@ -297,8 +297,8 @@ namespace Core\API\User {
$this->result["users"][$userId] = $serialized;
}
$this->result["pageCount"] = intval(ceil($this->userCount / $count));
$this->result["totalCount"] = $this->userCount;
$this->result["pageCount"] = intval(ceil($userCount / $count));
$this->result["totalCount"] = $userCount;
} else {
return $this->createError("Error fetching users: " . $sql->getLastError());
}
@@ -1580,4 +1580,33 @@ namespace Core\API\User {
return $this->success;
}
}
class CheckToken extends UserAPI {
private ?UserToken $userToken;
public function __construct($user, $externalCall = false) {
parent::__construct($user, $externalCall, array(
'token' => new StringType('token', 36),
));
$this->userToken = null;
}
public function getToken(): ?UserToken {
return $this->userToken;
}
public function _execute(): bool {
$token = $this->getParam('token');
$userToken = $this->checkToken($token);
if ($userToken === false) {
return false;
}
$this->userToken = $userToken;
$this->result["token"] = $userToken->jsonSerialize();
return $this->success;
}
}
}
+1 -2
View File
@@ -9,7 +9,6 @@ use Core\Objects\DatabaseEntity\Language;
use Core\Objects\DatabaseEntity\Route;
use Core\Objects\Router\DocumentRoute;
use Core\Objects\Router\StaticFileRoute;
use Core\Objects\Router\StaticRoute;
use PHPUnit\Util\Exception;
class CreateDatabase extends DatabaseScript {
@@ -21,7 +20,7 @@ class CreateDatabase extends DatabaseScript {
$queries[] = Language::getHandler($sql)->getInsertQuery([
new Language(Language::AMERICAN_ENGLISH, "en_US", 'American English'),
new Language(Language::AMERICAN_ENGLISH, "de_DE", 'Deutsch Standard'),
new Language(Language::GERMAN_STANDARD, "de_DE", 'Deutsch Standard'),
]);
$queries[] = Group::getHandler($sql)->getInsertQuery([
+57 -35
View File
@@ -4,12 +4,14 @@
namespace Core\Documents;
use Core\Elements\TemplateDocument;
use Core\Objects\DatabaseEntity\UserToken;
use Core\Objects\Router\Router;
class Account extends TemplateDocument {
public function __construct(Router $router, string $templateName) {
parent::__construct($router, $templateName);
$this->languageModules = ["general", "account"];
$this->title = "Account";
$this->searchable = false;
$this->enableCSP();
@@ -21,47 +23,67 @@ class Account extends TemplateDocument {
}
protected function loadParameters() {
$settings = $this->getSettings();
$templateName = $this->getTemplateName();
$language = $this->getContext()->getLanguage();
$this->parameters["view"] = ["success" => true];
if ($this->getTemplateName() === "account/reset_password.twig") {
if (isset($_GET["token"]) && is_string($_GET["token"]) && !empty($_GET["token"])) {
$this->parameters["view"]["token"] = $_GET["token"];
$req = new \Core\API\User\CheckToken($this->getContext());
$this->parameters["view"]["success"] = $req->execute(array("token" => $_GET["token"]));
if ($this->parameters["view"]["success"]) {
if (strcmp($req->getResult()["token"]["type"], "password_reset") !== 0) {
$this->createError("The given token has a wrong type.");
}
} else {
$this->createError("Error requesting password reset: " . $req->getLastError());
}
}
} else if ($this->getTemplateName() === "account/register.twig") {
$settings = $this->getSettings();
if ($this->getUser()) {
$this->createError("You are already logged in.");
} else if (!$settings->isRegistrationAllowed()) {
$this->createError("Registration is not enabled on this website.");
}
} else if ($this->getTemplateName() === "account/login.twig" && $this->getUser()) {
header("Location: /admin");
exit();
} else if ($this->getTemplateName() === "account/accept_invite.twig") {
if (isset($_GET["token"]) && is_string($_GET["token"]) && !empty($_GET["token"])) {
$this->parameters["view"]["token"] = $_GET["token"];
$req = new \Core\API\User\CheckToken($this->getContext());
$this->parameters["view"]["success"] = $req->execute(array("token" => $_GET["token"]));
if ($this->parameters["view"]["success"]) {
if (strcmp($req->getResult()["token"]["type"], "invite") !== 0) {
$this->createError("The given token has a wrong type.");
switch ($templateName) {
case "account/reset_password.twig": {
if (isset($_GET["token"]) && is_string($_GET["token"]) && !empty($_GET["token"])) {
$this->parameters["view"]["token"] = $_GET["token"];
$req = new \Core\API\User\CheckToken($this->getContext());
$this->parameters["view"]["success"] = $req->execute(array("token" => $_GET["token"]));
if ($this->parameters["view"]["success"]) {
if (strcmp($req->getToken()->getType(), UserToken::TYPE_PASSWORD_RESET) !== 0) {
$this->createError("The given token has a wrong type.");
}
} else {
$this->parameters["view"]["invited_user"] = $req->getResult()["user"];
$this->createError("Error requesting password reset: " . $req->getLastError());
}
}
break;
}
case "account/register.twig": {
if ($this->getUser()) {
$this->createError("You are already logged in.");
} else if (!$settings->isRegistrationAllowed()) {
$this->createError("Registration is not enabled on this website.");
}
break;
}
case "account/login.twig": {
if ($this->getUser()) {
header("Location: /admin");
exit();
}
break;
}
case "account/accept_invite.twig": {
if (isset($_GET["token"]) && is_string($_GET["token"]) && !empty($_GET["token"])) {
$this->parameters["view"]["token"] = $_GET["token"];
$req = new \Core\API\User\CheckToken($this->getContext());
$this->parameters["view"]["success"] = $req->execute(array("token" => $_GET["token"]));
if ($this->parameters["view"]["success"]) {
if (strcmp($req->getToken()->getType(), UserToken::TYPE_INVITE) !== 0) {
$this->createError("The given token has a wrong type.");
} else {
$this->parameters["view"]["invited_user"] = $req->getToken()->getUser()->jsonSerialize();
}
} else {
$this->createError("Error confirming e-mail address: " . $req->getLastError());
}
} else {
$this->createError("Error confirming e-mail address: " . $req->getLastError());
$this->createError("The link you visited is no longer valid");
}
} else {
$this->createError("The link you visited is no longer valid");
break;
}
default:
break;
}
}
}
+2 -1
View File
@@ -5,6 +5,7 @@ namespace Core\Documents;
use Core\Elements\EmptyHead;
use Core\Elements\HtmlDocument;
use Core\Elements\SimpleBody;
use Core\Objects\DatabaseEntity\Group;
use Core\Objects\Router\Router;
class Info extends HtmlDocument {
@@ -16,7 +17,7 @@ class Info extends HtmlDocument {
class InfoBody extends SimpleBody {
protected function getContent(): string {
$user = $this->getDocument()->getUser();
$user = $this->getContext()->getUser();
if ($user && $user->hasGroup(Group::ADMIN)) {
phpinfo();
return "";
@@ -2,7 +2,6 @@
namespace Core\Driver\SQL\Column;
use Core\Driver\SQL\Column\Column;
class NumericColumn extends Column {
@@ -2,8 +2,6 @@
namespace Core\Driver\SQL\Expression;
use Core\Driver\SQL\SQL;
class DateAdd extends Expression {
private Expression $lhs;
@@ -2,8 +2,6 @@
namespace Core\Driver\SQL\Expression;
use Core\Driver\SQL\SQL;
class DateSub extends Expression {
private Expression $lhs;
@@ -2,8 +2,6 @@
namespace Core\Driver\SQL\Expression;
use Core\Driver\SQL\SQL;
abstract class Expression {
}
@@ -5,7 +5,6 @@ namespace Core\Driver\SQL\Query;
use Core\Driver\SQL\Column\Column;
use Core\Driver\SQL\Column\EnumColumn;
use Core\Driver\SQL\Constraint\Constraint;
use Core\Driver\SQL\Constraint\ForeignKey;
use Core\Driver\SQL\Constraint\PrimaryKey;
use Core\Driver\SQL\PostgreSQL;
use Core\Driver\SQL\SQL;
@@ -2,7 +2,6 @@
namespace Core\Driver\SQL\Query;
use Core\API\User\Create;
use Core\Driver\SQL\SQL;
class CreateTrigger extends Query {
-1
View File
@@ -2,7 +2,6 @@
namespace Core\Driver\SQL\Query;
use Core\Driver\SQL\Condition\CondOr;
use Core\Driver\SQL\SQL;
class Delete extends ConditionalQuery {
+7 -7
View File
@@ -6,7 +6,6 @@ use Core\Configuration\Settings;
use Core\Driver\Logger\Logger;
use Core\Driver\SQL\SQL;
use Core\Objects\Context;
use Core\Objects\lang\LanguageModule;
use Core\Objects\Router\DocumentRoute;
use Core\Objects\Router\Router;
use Core\Objects\DatabaseEntity\User;
@@ -24,6 +23,7 @@ abstract class Document {
private array $cspWhitelist;
private string $domain;
protected bool $searchable;
protected array $languageModules;
public function __construct(Router $router) {
$this->router = $router;
@@ -34,6 +34,7 @@ abstract class Document {
$this->domain = $this->getSettings()->getBaseUrl();
$this->logger = new Logger("Document", $this->getSQL());
$this->searchable = false;
$this->languageModules = [];
}
public abstract function getTitle(): string;
@@ -88,11 +89,6 @@ abstract class Document {
}
}
public function loadLanguageModule(LanguageModule|string $module) {
$language = $this->getContext()->getLanguage();
$language->loadModule($module);
}
public function sendHeaders() {
if ($this->cspEnabled) {
$cspWhiteList = implode(" ", $this->cspWhitelist);
@@ -126,8 +122,12 @@ abstract class Document {
}
}
$language = $this->getContext()->getLanguage();
foreach ($this->languageModules as $module) {
$language->loadModule($module);
}
$code = $this->getCode($params);
$code = $this->getCode($params);
$this->sendHeaders();
return $code;
}
+6
View File
@@ -94,6 +94,12 @@ class TemplateDocument extends Document {
"csp" => [
"nonce" => $this->getCSPNonce(),
"enabled" => $this->isCSPEnabled()
],
"language" => [
"code" => $language->getCode(),
"shortCode" => $language->getShortCode(),
"name" => $language->getName(),
"entries" => $language->getEntries()
]
]
], $params);
+5 -12
View File
@@ -2,6 +2,8 @@
namespace Core\Elements;
use Core\Objects\Context;
abstract class View extends StaticView {
private Document $document;
@@ -18,9 +20,10 @@ abstract class View extends StaticView {
public function getTitle(): string { return $this->title; }
public function getDocument(): Document { return $this->document; }
public function getContext(): Context { return $this->document->getContext(); }
public function getSiteName(): string {
return $this->getDocument()->getSettings()->getSiteName();
return $this->getContext()->getSettings()->getSiteName();
}
protected function load(string $viewClass) : string {
@@ -38,23 +41,13 @@ abstract class View extends StaticView {
return "";
}
private function loadLanguageModules() {
$lang = $this->document->getContext()->getLanguage();
foreach ($this->langModules as $langModule) {
$lang->loadModule($langModule);
}
}
// Virtual Methods
public function loadView() { }
public function getCode(): string {
// Load translations
$this->loadLanguageModules();
// Load metadata + head (title, scripts, includes, ...)
if($this->loadView) {
if ($this->loadView) {
$this->loadView();
}
+19
View File
@@ -0,0 +1,19 @@
<?php
return [
"title" => "Einloggen",
"description" => "Loggen Sie sich in Ihren Account ein",
"form_title" => "Bitte geben Sie ihre Daten ein",
"username" => "Benutzername",
"username_or_email" => "Benutzername oder E-Mail",
"password" => "Passwort",
"remember_me" => "Eingeloggt bleiben",
"signing_in" => "Einloggen",
"sign_in" => "Einloggen",
"forgot_password" => "Passwort vergessen?",
"passwords_do_not_match" => "Die Passwörter stimmen nicht überein",
"register_text" => "Noch keinen Account? Jetzt registrieren",
"6_digit_code" => "6-stelliger Code",
"2fa_title" => "Es werden weitere Informationen zum Einloggen benötigt",
"2fa_text" => "Stecke dein 2FA-Gerät ein. Möglicherweise wird noch eine Interaktion benötigt, z.B. durch Eingabe einer PIN oder durch Berühren des Geräts",
];
+11
View File
@@ -0,0 +1,11 @@
<?php
return [
"something_went_wrong" => "Etwas ist schief gelaufen",
"retry" => "Erneut versuchen",
"Go back" => "Zurück",
"submitting" => "Übermittle",
"submit" => "Absenden",
"language" => "Sprache",
"loading" => "Laden",
];
+19
View File
@@ -0,0 +1,19 @@
<?php
return [
"title" => "Sign In",
"description" => "Sign In into your account",
"form_title" => "Please fill with your details",
"username" => "Username",
"username_or_email" => "Username or E-Mail",
"password" => "Password",
"remember_me" => "Remember Me",
"signing_in" => "Signing in",
"sign_in" => "Sign In",
"forgot_password" => "Forgot password?",
"register_text" => "Don't have an account? Sign Up",
"passwords_do_not_match" => "Your passwords did not match",
"6_digit_code" => "6-Digit Code",
"2fa_title" => "Additional information is required for logging in",
"2fa_text" => "Plugin your 2FA-Device. Interaction might be required, e.g. typing in a PIN or touching it."
];
+11
View File
@@ -0,0 +1,11 @@
<?php
return [
"something_went_wrong" => "Something went wrong",
"retry" => "Retry",
"go_back" => "Go Back",
"submitting" => "Submitting",
"submit" => "Submit",
"language" => "Language",
"loading" => "Loading",
];
@@ -2,6 +2,7 @@
namespace Core\Objects;
use Core\Objects\DatabaseEntity\Language;
use Twig\Extension\AbstractExtension;
use Twig\TwigFunction;
@@ -9,10 +10,16 @@ class CustomTwigFunctions extends AbstractExtension {
public function getFunctions(): array {
return [
new TwigFunction('L', array($this, 'translate')),
new TwigFunction('LoadLanguageModule', array($this, 'loadLanguageModule')),
];
}
public function translate(string $key): string {
return L($key);
}
public function loadLanguageModule(string $module): void {
$language = Language::getInstance();
$language->loadModule($module);
}
}
@@ -2,7 +2,6 @@
namespace Core\Objects\DatabaseEntity\Controller;
use Core\Driver\SQL\Condition\Compare;
use Core\Driver\SQL\Condition\Condition;
use Core\Driver\SQL\SQL;
@@ -3,8 +3,6 @@
namespace Core\Objects\DatabaseEntity\Controller;
use Core\Driver\Logger\Logger;
use Core\Driver\SQL\Condition\Condition;
use Core\Driver\SQL\Join;
use Core\Driver\SQL\Query\Select;
use Core\Driver\SQL\SQL;
+65 -23
View File
@@ -4,7 +4,6 @@ namespace Core\Objects\DatabaseEntity {
use Core\Objects\DatabaseEntity\Attribute\MaxLength;
use Core\Objects\DatabaseEntity\Attribute\Transient;
use Core\Objects\lang\LanguageModule;
use Core\Objects\DatabaseEntity\Controller\DatabaseEntity;
// TODO: language from cookie?
@@ -14,11 +13,11 @@ namespace Core\Objects\DatabaseEntity {
const GERMAN_STANDARD = 2;
const LANG_CODE_PATTERN = "/^[a-zA-Z]{2}_[a-zA-Z]{2}$/";
const LANG_MODULE_PATTERN = "/[a-zA-Z0-9_-]/";
#[MaxLength(5)] private string $code;
#[MaxLength(32)] private string $name;
#[Transient] private array $modules = [];
#[Transient] protected array $entries = [];
public function __construct(int $id, string $code, string $name) {
@@ -39,22 +38,6 @@ namespace Core\Objects\DatabaseEntity {
return $this->name;
}
public function loadModule(LanguageModule|string $module) {
if (!is_object($module)) {
$module = new $module();
}
if (!in_array($module, $this->modules)) {
$moduleEntries = $module->getEntries($this->code);
$this->entries = array_merge($this->entries, $moduleEntries);
$this->modules[] = $module;
}
}
public function translate(string $key): string {
return $this->entries[$key] ?? $key;
}
public function sendCookie(string $domain) {
setcookie('lang', $this->code, 0, "/", $domain, false, false);
}
@@ -73,6 +56,11 @@ namespace Core\Objects\DatabaseEntity {
$LANGUAGE = $this;
}
public static function getInstance(): Language {
global $LANGUAGE;
return $LANGUAGE;
}
public static function DEFAULT_LANGUAGE(bool $fromCookie = true): Language {
if ($fromCookie && isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) {
$acceptLanguage = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
@@ -94,16 +82,70 @@ namespace Core\Objects\DatabaseEntity {
return new Language(1, "en_US", "American English");
}
public function getEntries(): array {
return $this->entries;
public function getEntries(?string $module = null): ?array {
if (!$module) {
return $this->entries;
} else {
return $this->entries[$module] ?? null;
}
}
public function translate(string $key): string {
if (preg_match("/(\w+)\.(\w+)/", $key, $matches)) {
$module = $matches[1];
$moduleKey = $matches[2];
if ($this->hasModule($module) && array_key_exists($moduleKey, $this->entries[$module])) {
return $this->entries[$module][$moduleKey];
}
}
return "[$key]";
}
public function addModule(string $module, array $entries) {
if ($this->hasModule($module)) {
$this->entries[$module] = array_merge($this->entries[$module], $entries);
} else {
$this->entries[$module] = $entries;
}
}
public function loadModule(string $module, bool $forceReload=false): bool {
if ($this->hasModule($module) && !$forceReload) {
return true;
}
if (!preg_match(self::LANG_MODULE_PATTERN, $module)) {
return false;
}
if (!preg_match(self::LANG_CODE_PATTERN, $this->code)) {
return false;
}
foreach (["Site", "Core"] as $baseDir) {
$filePath = realpath(implode("/", [$baseDir, "Localization", $this->code, "$module.php"]));
if ($filePath && is_file($filePath)) {
$moduleEntries = @include_once $filePath;
$this->addModule($module, $moduleEntries);
return true;
}
}
return false;
}
public function hasModule(string $module): bool {
return array_key_exists($module, $this->entries);
}
}
}
namespace {
function L($key) {
if (!array_key_exists('LANGUAGE', $GLOBALS))
return $key;
function L(string $key): string {
if (!array_key_exists('LANGUAGE', $GLOBALS)) {
return "[$key]";
}
global $LANGUAGE;
return $LANGUAGE->translate($key);
-8
View File
@@ -1,8 +0,0 @@
<?php
namespace Core\Objects\lang;
abstract class LanguageModule {
public abstract function getEntries(string $langCode);
}
+6 -3
View File
@@ -8,10 +8,13 @@
<script src="/js/bootstrap.bundle.min.js" nonce="{{ site.csp.nonce }}"></script>
<link rel="stylesheet" href="/css/fontawesome.min.css" nonce="{{ site.csp.nonce }}">
<link rel="stylesheet" href="/css/account.css" nonce="{{ site.csp.nonce }}">
<title>Account - {{ view_title }}</title>
<title>Account - {{ L(view_title) }}</title>
{% if site.recaptcha.enabled %}
<script src="https://www.google.com/recaptcha/api.js?render={{ site.recaptcha.key }}" nonce="{{ site.csp.nonce }}"></script>
{% endif %}
<script nonce="{{ site.csp.nonce }}">
window.languageEntries = {{ site.language.entries|json_encode()|raw }};
</script>
{% endblock %}
{% block body %}
@@ -20,8 +23,8 @@
<div class="col-md-3 py-5 bg-primary text-white text-center" style='border-top-left-radius:.4em;border-bottom-left-radius:.4em;margin-left: auto'>
<div class="card-body">
<i class="fas fa-{{ view_icon }} fa-3x"></i>
<h2 class="py-3">{{ view_title }}</h2>
<p>{{ view_description }}</p>
<h2 class="py-3">{{ L(view_title) }}</h2>
<p>{{ L(view_description) }}</p>
</div>
</div>
<div class="col-md-5 pt-5 pb-2 border border-info" style='border-top-right-radius:.4em;border-bottom-right-radius:.4em;margin-right:auto'>
+12 -8
View File
@@ -1,32 +1,36 @@
{% extends "account/account_base.twig" %}
{% set view_title = 'Sign In' %}
{% set view_title = 'account.title' %}
{% set view_icon = 'user-lock' %}
{% set view_description = 'Sign In into your account' %}
{% set view_description = 'account.description' %}
{% block view_content %}
<h4 class="pb-4">Please fill with your details</h4>
<h4 class="pb-4">{{ L("account.form_title") }}</h4>
<form>
<div class="input-group">
<div class="input-group-append">
<span class="input-group-text"><i class="fas fa-hashtag"></i></span>
</div>
<input id="username" autocomplete='username' name="username" placeholder="Username or E-Mail" class="form-control" type="text" maxlength="32">
<input id="username" autocomplete='username' name="username"
placeholder="{{ L("account.username_or_email") }}" class="form-control" type="text" maxlength="32">
</div>
<div class="input-group mt-3">
<div class="input-group-append">
<span class="input-group-text"><i class="fas fa-key"></i></span>
</div>
<input type="password" autocomplete='password' name='password' id='password' class="form-control" placeholder="Password">
<input type="password" autocomplete='password' name='password' id='password' class="form-control"
placeholder={{ L("account.password") }}>
</div>
<div class="ml-2" style="line-height: 38px;">
<a href="/resetPassword">Forgot Password?</a>
<a href="/resetPassword">{{ L("account.forgot_password") }}</a>
</div>
<div class="input-group mt-3 mb-4">
<button type="button" class="btn btn-primary" id='btnLogin'>Sign In</button>
<button type="button" class="btn btn-primary" id='btnLogin'>{{ L("account.sign_in") }}</button>
{% if site.registrationEnabled %}
<div class="ml-2" style="line-height: 38px;">Don't have an account yet? <a href="/register">Click here</a> to register.</div>
<div class="ml-2" style="line-height: 38px;">
<a href="/register">{{ L("account.register_text") }}</a>
</div>
{% endif %}
</div>
</form>
+1
View File
@@ -9,4 +9,5 @@
<noscript>You need Javascript enabled to run this app</noscript>
<div class="wrapper" type="module" id="admin-panel"></div>
<script src="/js/admin-panel/index.js" nonce="{{ site.csp.nonce }}"></script>
<link rel="stylesheet" href="/js/admin-panel/index.css" nonce="{{ site.csp.nonce }}"></link>
{% endblock %}
-17
View File
@@ -1,17 +0,0 @@
module.exports = {
module: {
rules: [
{
test: /\.(js|jsx)$/,
exclude: /node_modules/,
use: {
loader: "babel-loader"
}
},
{
test: /\.css$/,
use: ['style-loader', 'css-loader']
}
]
}
};
+6 -10
View File
@@ -1,9 +1,5 @@
$(document).ready(function () {
function isRecaptchaEnabled() {
return (typeof grecaptcha !== 'undefined');
}
function showAlert(type, msg, raw=false) {
let alert = $("#alertMessage");
if (raw) {
@@ -46,12 +42,12 @@ $(document).ready(function () {
hideAlert();
btn.prop("disabled", true);
btn.html("Logging in… <i class=\"fa fa-spin fa-circle-notch\"></i>");
btn.html(L("account.signing_in") + "… <i class=\"fa fa-spin fa-circle-notch\"></i>");
jsCore.apiCall("/user/login", {"username": username, "password": password, "stayLoggedIn": stayLoggedIn }, function(res) {
if (res.success) {
document.location.reload();
} else {
btn.html("Login");
btn.text(L("account.sign_in"));
btn.prop("disabled", false);
$("#password").val("");
createdDiv.hide();
@@ -77,10 +73,10 @@ $(document).ready(function () {
if (username === '' || email === '' || password === '' || confirmPassword === '') {
showAlert("danger", "Please fill out every field.");
} else if(password !== confirmPassword) {
showAlert("danger", "Your passwords did not match.");
showAlert("danger", L("register.passwords_do_not_match"));
} else {
let params = { username: username, email: email, password: password, confirmPassword: confirmPassword };
if (isRecaptchaEnabled()) {
if (jsCore.isRecaptchaEnabled()) {
let siteKey = $("#siteKey").val().trim();
grecaptcha.ready(function() {
grecaptcha.execute(siteKey, {action: 'register'}).then(function(captcha) {
@@ -138,7 +134,7 @@ $(document).ready(function () {
let email = $("#email").val();
let params = { email: email };
if (isRecaptchaEnabled()) {
if (jsCore.isRecaptchaEnabled()) {
let siteKey = $("#siteKey").val().trim();
grecaptcha.ready(function() {
grecaptcha.execute(siteKey, {action: 'resetPassword'}).then(function(captcha) {
@@ -196,7 +192,7 @@ $(document).ready(function () {
let btn = $(this);
let email = $("#email").val();
let params = { email: email };
if (isRecaptchaEnabled()) {
if (jsCore.isRecaptchaEnabled()) {
let siteKey = $("#siteKey").val().trim();
grecaptcha.ready(function() {
grecaptcha.execute(siteKey, {action: 'resendConfirmation'}).then(function(captcha) {
+1 -1
View File
@@ -1,2 +1,2 @@
:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:"Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;font-family:sans-serif;line-height:1.15}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{color:#212529;text-align:left;background-color:#fff;margin:0;font-family:Source Sans Pro,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:1rem;font-weight:400;line-height:1.5}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{cursor:help;text-decoration-skip-ink:none;border-bottom:0;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;background-color:#0000;text-decoration:none}a:hover{color:#0056b3;text-decoration:none}a:not([href]),a:not([href]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{vertical-align:middle;overflow:hidden}table{border-collapse:collapse}caption{color:#6c757d;text-align:left;caption-side:bottom;padding-top:.75rem;padding-bottom:.75rem}th{text-align:inherit}label{margin-bottom:.5rem;display:inline-block}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{resize:vertical;overflow:auto}fieldset{min-width:0;border:0;margin:0;padding:0}legend{width:100%;max-width:100%;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal;margin-bottom:.5rem;padding:0;display:block}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{cursor:pointer;display:list-item}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{color:inherit;margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{border:0;border-top:1px solid #0000001a;margin-top:1rem;margin-bottom:1rem}.small,small{font-size:80%;font-weight:400}.mark,mark{background-color:#fcf8e3;padding:.2em}.list-unstyled,.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{text-transformLine truncated
:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:"Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;font-family:sans-serif;line-height:1.15}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{color:#212529;text-align:left;background-color:#fff;margin:0;font-family:Source Sans Pro,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:1rem;font-weight:400;line-height:1.5}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none;text-decoration:underline;border-bottom:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;background-color:transparent;text-decoration:none}a:hover{color:#0056b3;text-decoration:none}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}pre{-ms-overflow-style:scrollbar;margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{vertical-align:middle;overflow:hidden}table{border-collapse:collapse}caption{color:#6c757d;text-align:left;caption-side:bottom;padding-top:.75rem;padding-bottom:.75rem}th{text-align:inherit;text-align:-webkit-match-parent}label{margin-bottom:.5rem;display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{resize:vertical;overflow:auto}fieldset{min-width:0;border:0;margin:0;padding:0}legend{width:100%;max-width:100%;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal;margin-bottom:.5rem;padding:0;display:block}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{cursor:pointer;display:list-item}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{color:inherit;margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{border:0;border-top:1px solid rgba(0,0,0,.1);margin-top:1rem;margin-bottom:1rem}.small,small{font-size:80%;font-weight:400}.mark,mark{background-color:#fcf8e3;padding:.2em}.list-unstyled,.list-inline{padding-left:0;list-style:none}.list-inline-item{displaLine truncated
/*# sourceMappingURL=index.css.map */
+1 -1
View File
@@ -1 +1 @@
{"mappings":"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 truncated
{"mappings":"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 truncated
+70 -4
View File
@@ -1,4 +1,14 @@
(()=>{function e(e,n,t,r){Object.defineProperty(e,n,{get:t,set:r,enumerable:!0,configurable:!0})}function n(e){return e&&e.__esModule?e.default:e}var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},r={},l={},a=t.parcelRequireeec4;null==a&&((a=function(e){if(e in r)return r[e].exports;if(e in l){var n=l[e];delete l[e];var t={id:e,exports:{}};return r[e]=t,n.call(t.exports,t,t.exports),t.exports}var a=new Error("Cannot find module '"+e+"'");throw a.code="MODULE_NOT_FOUND",a}).register=function(e,n){l[e]=n},t.parcelRequireeec4=a),a.register("j1rj6",(function(n,t){
!function(){function e(e,t,n,r){Object.defineProperty(e,t,{get:n,set:r,enumerable:!0,configurable:!0})}function t(e){return e&&e.__esModule?e.default:e}var n="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},r={},o={},a=n.parcelRequireeec4;null==a&&((a=function(e){if(e in r)return r[e].exports;if(e in o){var t=o[e];delete o[e];var n={id:e,exports:{}};return r[e]=n,t.call(n.exports,n,n.exports),n.exports}var a=new Error("Cannot find module '"+e+"'");throw a.code="MODULE_NOT_FOUND",a}).register=function(e,t){o[e]=t},n.parcelRequireeec4=a),a.register("a58XM",(function(t,n){
/**
* @license React
* react-jsx-runtime.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
var r,o,i;e(t.exports,"Fragment",(function(){return r}),(function(e){return r=e})),e(t.exports,"jsx",(function(){return o}),(function(e){return o=e})),e(t.exports,"jsxs",(function(){return i}),(function(e){return i=e}));var l=a("6cds3"),u=Symbol.for("react.element"),s=Symbol.for("react.fragment"),c=Object.prototype.hasOwnProperty,d=l.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,f={key:!0,ref:!0,__self:!0,__source:!0};function p(e,t,n){var r,o={},a=null,i=null;for(r in void 0!==n&&(a=""+n),void 0!==t.key&&(a=""+t.key),void 0!==t.ref&&(i=t.ref),t)c.call(t,r)&&!f.hasOwnProperty(r)&&(o[r]=t[r]);if(e&&e.defaultProps)for(r in t=e.defaultProps)void 0===o[r]&&(o[r]=t[r]);return{$$typeof:u,type:e,key:a,ref:i,props:o,_owner:d.current}}r=s,o=p,i=p})),a.register("6cds3",(function(e,t){"use strict";e.exports=a("gx6CV")})),a.register("gx6CV",(function(t,n){e(t.exports,"Children",(function(){return r}),(function(e){return r=e})),e(t.exports,"Component",(function(){return o}),(function(e){return o=e})),e(t.exports,"Fragment",(function(){return i}),(function(e){return i=e})),e(t.exports,"Profiler",(function(){return l}),(function(e){return l=e})),e(t.exports,"PureComponent",(function(){return u}),(function(e){return u=e})),e(t.exports,"StrictMode",(function(){return s}),(function(e){return s=e})),e(t.exports,"Suspense",(function(){return c}),(function(e){return c=e})),e(t.exports,"__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED",(function(){return d}),(function(e){return d=e})),e(t.exports,"cloneElement",(function(){return f}),(function(e){return f=e})),e(t.exports,"createContext",(function(){return p}),(function(e){return p=e})),e(t.exports,"createElement",(function(){return h}),(function(e){return h=e})),e(t.exports,"createFactory",(function(){return m}),(function(e){return m=e})),e(t.exports,"createRef",(function(){return v}),(function(e){return v=e})),e(t.exports,"forwardRef",(function(){return g}),(function(e){return g=e})),e(t.exports,"isValidElement",(function(){return y}),(function(e){return y=e})),e(t.exports,"lazy",(function(){return b}),(function(e){return b=e})),e(t.exports,"memo",(function(){return x}),(function(e){return x=e})),e(t.exports,"startTransition",(function(){return w}),(function(e){return w=e})),e(t.exports,"unstable_act",(function(){return k}),(function(e){return k=e})),e(t.exports,"useCallback",(function(){return S}),(function(e){return S=e})),e(t.exports,"useContext",(function(){return E}),(function(e){return E=e})),e(t.exports,"useDebugValue",(function(){return C}),(function(e){return C=e})),e(t.exports,"useDeferredValue",(function(){return P}),(function(e){return P=e})),e(t.exports,"useEffect",(function(){return R}),(function(e){return R=e})),e(t.exports,"useId",(function(){return N}),(function(e){return N=e})),e(t.exports,"useImperativeHandle",(function(){return L}),(function(e){return L=e})),e(t.exports,"useInsertionEffect",(function(){return O}),(function(e){return O=e})),e(t.exports,"useLayoutEffect",(function(){return T}),(function(e){return T=e})),e(t.exports,"useMemo",(function(){return M}),(function(e){return M=e})),e(t.exports,"useReducer",(function(){return z}),(function(e){return z=e})),e(t.exports,"useRef",(function(){return j}),(function(e){return j=e})),e(t.exports,"useState",(function(){return A}),(function(e){return A=e})),e(t.exports,"useSyncExternalStore",(function(){return D}),(function(e){return D=e})),e(t.exports,"useTransition",(function(){return _}),(function(e){return _=e})),e(t.exports,"version",(function(){return I}),(function(e){return I=e}));
/**
* @license React
* react.production.min.js
@@ -8,7 +18,7 @@
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
var r,l,a,o,u,i,s,c,f,d,p,h,m,g,v,y,b,k,w,S,x,E,C,_,N,P,z,T,L,R,M,F,O,D,I;e(n.exports,"Children",(()=>r),(e=>r=e)),e(n.exports,"Component",(()=>l),(e=>l=e)),e(n.exports,"Fragment",(()=>a),(e=>a=e)),e(n.exports,"Profiler",(()=>o),(e=>o=e)),e(n.exports,"PureComponent",(()=>u),(e=>u=e)),e(n.exports,"StrictMode",(()=>i),(e=>i=e)),e(n.exports,"Suspense",(()=>s),(e=>s=e)),e(n.exports,"__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED",(()=>c),(e=>c=e)),e(n.exports,"cloneElement",(()=>f),(e=>f=e)),e(n.exports,"createContext",(()=>d),(e=>d=e)),e(n.exports,"createElement",(()=>p),(e=>p=e)),e(n.exports,"createFactory",(()=>h),(e=>h=e)),e(n.exports,"createRef",(()=>m),(e=>m=e)),e(n.exports,"forwardRef",(()=>g),(e=>g=e)),e(n.exports,"isValidElement",(()=>v),(e=>v=e)),e(n.exports,"lazy",(()=>y),(e=>y=e)),e(n.exports,"memo",(()=>b),(e=>b=e)),e(n.exports,"startTransition",(()=>k),(e=>k=e)),e(n.exports,"unstable_act",(()=>w),(e=>w=e)),e(n.exports,"useCallback",(()=>S),(e=>S=e)),e(n.exports,"useContext",(()=>x),(e=>x=e)),e(n.exports,"useDebugValue",(()=>E),(e=>E=e)),e(n.exports,"useDeferredValue",(()=>C),(e=>C=e)),e(n.exports,"useEffect",(()=>_),(e=>_=e)),e(n.exports,"useId",(()=>N),(e=>N=e)),e(n.exports,"useImperativeHandle",(()=>P),(e=>P=e)),e(n.exports,"useInsertionEffect",(()=>z),(e=>z=e)),e(n.exports,"useLayoutEffect",(()=>T),(e=>T=e)),e(n.exports,"useMemo",(()=>L),(e=>L=e)),e(n.exports,"useReducer",(()=>R),(e=>R=e)),e(n.exports,"useRef",(()=>M),(e=>M=e)),e(n.exports,"useState",(()=>F),(e=>F=e)),e(n.exports,"useSyncExternalStore",(()=>O),(e=>O=e)),e(n.exports,"useTransition",(()=>D),(e=>D=e)),e(n.exports,"version",(()=>I),(e=>I=e));var U=Symbol.for("react.element"),j=Symbol.for("react.portal"),V=Symbol.for("react.fragment"),A=Symbol.for("react.strict_mode"),$=Symbol.for("react.profiler"),B=Symbol.for("react.provider"),H=Symbol.for("react.context"),W=Symbol.for("react.forward_ref"),Q=Symbol.for("react.suspense"),q=Symbol.for("react.memo"),K=Symbol.for("react.lazy"),Y=Symbol.iterator;var X={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},G=Object.assign,Z={};function J(e,n,t){this.props=e,this.context=n,this.refs=Z,this.updater=t||X}function ee(){}function ne(e,n,t){this.props=e,this.context=n,this.refs=Z,this.updater=t||X}J.prototype.isReactComponent={},J.prototype.setState=function(e,n){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,n,"setState")},J.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},ee.prototype=J.prototype;var te=ne.prototype=new ee;te.constructor=ne,G(te,J.prototype),te.isPureReactComponent=!0;var re=Array.isArray,le=Object.prototype.hasOwnProperty,ae={current:null},oe={key:!0,ref:!0,__self:!0,__source:!0};function ue(e,n,t){var r,l={},a=null,o=null;if(null!=n)for(r in void 0!==n.ref&&(o=n.ref),void 0!==n.key&&(a=""+n.key),n)le.call(n,r)&&!oe.hasOwnProperty(r)&&(l[r]=n[r]);var u=arguments.length-2;if(1===u)l.children=t;else if(1<u){for(var i=Array(u),s=0;s<u;s++)i[s]=arguments[s+2];l.children=i}if(e&&e.defaultProps)for(r in u=e.defaultProps)void 0===l[r]&&(l[r]=u[r]);return{$$typeof:U,type:e,key:a,ref:o,props:l,_owner:ae.current}}function ie(e){return"object"==typeof e&&null!==e&&e.$$typeof===U}var se=/\/+/g;function ce(e,n){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var n={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return n[e]}))}(""+e.key):n.toString(36)}function fe(e,n,t,r,l){var a=typeof e;"undefined"!==a&&"boolean"!==a||(e=null);var o=!1;if(null===e)o=!0;else switch(a){case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case U:case j:o=!0}}if(o)return l=l(o=e),e=""===r?"."+ce(o,0):r,re(l)?(t="",null!=e&&(t=e.replace(se,"$&/")+"/"),fe(l,n,t,"",(function(e){return e}))):null!=l&&(ie(l)&&(l=function(e,n){return{$$typeof:U,type:e.type,key:n,ref:e.ref,props:e.props,_owner:e._owner}}(l,t+(!l.key||o&&o.key===l.key?"":(""+l.key).replace(se,"$&/")+"/")+e)),n.push(l)),1;if(o=0,r=""===r?".":r+":",re(e))for(var u=0;u<e.length;u++){var i=r+ce(a=e[u],u);o+=fe(a,n,t,i,l)}else if(i=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=Y&&e[Y]||e["@@iterator"])?e:null}(e),"function"==typeof i)for(e=i.call(e),u=0;!(a=e.next()).done;)o+=fe(a=a.value,n,t,i=r+ce(a,u++),l);else if("object"===a)throw n=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===n?"object with keys {"+Object.keys(e).join(", ")+"}":n)+"). If you meant to render a collection of children, use an array instead.");return o}function de(e,n,t){if(null==e)return e;var r=[],l=0;return fe(e,r,"","",(function(e){return n.call(t,e,l++)})),r}function pe(e){if(-1===e._status){var n=e._result;(n=n()).then((function(n){0!==e._status&&-1!==e._status||(e._status=1,e._reLine truncated
var r,o,i,l,u,s,c,d,f,p,h,m,v,g,y,b,x,w,k,S,E,C,P,R,N,L,O,T,M,z,j,A,D,_,I,F=a("dTym2"),W=Symbol.for("react.element"),$=Symbol.for("react.portal"),B=Symbol.for("react.fragment"),U=Symbol.for("react.strict_mode"),V=Symbol.for("react.profiler"),H=Symbol.for("react.provider"),K=Symbol.for("react.context"),q=Symbol.for("react.forward_ref"),X=Symbol.for("react.suspense"),Y=Symbol.for("react.memo"),Q=Symbol.for("react.lazy"),G=Symbol.iterator;var J={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Z=Object.assign,ee={};function te(e,t,n){this.props=e,this.context=t,this.refs=ee,this.updater=n||J}function ne(){}function re(e,t,n){this.props=e,this.context=t,this.refs=ee,this.updater=n||J}te.prototype.isReactComponent={},te.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},te.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},ne.prototype=te.prototype;var oe=re.prototype=new ne;oe.constructor=re,Z(oe,te.prototype),oe.isPureReactComponent=!0;var ae=Array.isArray,ie=Object.prototype.hasOwnProperty,le={current:null},ue={key:!0,ref:!0,__self:!0,__source:!0};function se(e,t,n){var r,o={},a=null,i=null;if(null!=t)for(r in void 0!==t.ref&&(i=t.ref),void 0!==t.key&&(a=""+t.key),t)ie.call(t,r)&&!ue.hasOwnProperty(r)&&(o[r]=t[r]);var l=arguments.length-2;if(1===l)o.children=n;else if(1<l){for(var u=Array(l),s=0;s<l;s++)u[s]=arguments[s+2];o.children=u}if(e&&e.defaultProps)for(r in l=e.defaultProps)void 0===o[r]&&(o[r]=l[r]);return{$$typeof:W,type:e,key:a,ref:i,props:o,_owner:le.current}}function ce(e){return"object"==typeof e&&null!==e&&e.$$typeof===W}var de=/\/+/g;function fe(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,(function(e){return t[e]}))}(""+e.key):t.toString(36)}function pe(e,t,n,r,o){var a=void 0===e?"undefined":(0,F.default)(e);"undefined"!==a&&"boolean"!==a||(e=null);var i=!1;if(null===e)i=!0;else switch(a){case"string":case"number":i=!0;break;case"object":switch(e.$$typeof){case W:case $:i=!0}}if(i)return o=o(i=e),e=""===r?"."+fe(i,0):r,ae(o)?(n="",null!=e&&(n=e.replace(de,"$&/")+"/"),pe(o,t,n,"",(function(e){return e}))):null!=o&&(ce(o)&&(o=function(e,t){return{$$typeof:W,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}(o,n+(!o.key||i&&i.key===o.key?"":(""+o.key).replace(de,"$&/")+"/")+e)),t.push(o)),1;if(i=0,r=""===r?".":r+":",ae(e))for(var l=0;l<e.length;l++){var u=r+fe(a=e[l],l);i+=pe(a,t,n,u,o)}else if(u=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=G&&e[G]||e["@@iterator"])?e:null}(e),"function"==typeof u)for(e=u.call(e),l=0;!(a=e.next()).done;)i+=pe(a=a.value,t,n,u=r+fe(a,l++),o);else if("object"===a)throw t=String(e),Error("Objects are not valid as a React child (found: "+("[object Object]"===t?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return i}function he(e,t,n){if(null==e)return e;var r=[],o=0;return pe(e,r,"","",(function(e){return t.call(n,e,o++)})),r}function me(e){if(-1===e._status){var t=e._result;(t=t()).then((function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)}),(function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)})),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var ve={current:null},ge={transition:null};r={map:he,forEach:function(e,t,n){he(e,(function(){t.apply(this,arguments)}),n)},count:function(e){var t=0;return he(e,(function(){t++})),t},toArray:function(e){return he(e,(function(e){return e}))||[]},only:function(e){if(!ce(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},o=te,i=B,l=V,u=re,s=U,c=X,d={ReactCurrentDispatcher:ve,ReactCurrentBatchConfig:ge,ReactCurrentOwner:le},f=function(e,t,n){if(null==e)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var r=Z({},e.props),o=e.key,a=e.ref,i=e._owner;if(null!=t){if(void 0!==t.ref&&(a=t.ref,i=le.current),void 0!==t.key&&(o=""+t.key),e.type&&e.type.defaultProps)var l=e.type.defaultProps;for(u in t)ie.call(t,u)&&!ue.hasOwnProperty(u)&&(r[u]=void 0===t[u]&&void 0!==l?l[u]:t[u])}var u=arguments.length-2;if(1===u)r.children=n;else if(1<u){l=Array(u);for(var s=0;s<u;s++)l[s]=arguments[s+2];r.children=l}return{$$typeof:W,type:e.type,key:o,ref:a,props:r,_owner:i}},p=function(e){return(e={$$typeof:K,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:H,_context:e},e.Consumer=e},h=se,m=function(e){var t=se.bind(null,e);return t.type=e,t},v=function(){return{curreLine truncated
/**
* @license React
* react-dom.production.min.js
@@ -18,7 +28,7 @@ var r,l,a,o,u,i,s,c,f,d,p,h,m,g,v,y,b,k,w,S,x,E,C,_,N,P,z,T,L,R,M,F,O,D,I;e(n.ex
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
var r,l,o,u,i,s,c,f,d,p,h,m;e(n.exports,"__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED",(()=>r),(e=>r=e)),e(n.exports,"createPortal",(()=>l),(e=>l=e)),e(n.exports,"createRoot",(()=>o),(e=>o=e)),e(n.exports,"findDOMNode",(()=>u),(e=>u=e)),e(n.exports,"flushSync",(()=>i),(e=>i=e)),e(n.exports,"hydrate",(()=>s),(e=>s=e)),e(n.exports,"hydrateRoot",(()=>c),(e=>c=e)),e(n.exports,"render",(()=>f),(e=>f=e)),e(n.exports,"unmountComponentAtNode",(()=>d),(e=>d=e)),e(n.exports,"unstable_batchedUpdates",(()=>p),(e=>p=e)),e(n.exports,"unstable_renderSubtreeIntoContainer",(()=>h),(e=>h=e)),e(n.exports,"version",(()=>m),(e=>m=e));var g=a("8NFma"),v=a("clk2u");function y(e){for(var n="https://reactjs.org/docs/error-decoder.html?invariant="+e,t=1;t<arguments.length;t++)n+="&args[]="+encodeURIComponent(arguments[t]);return"Minified React error #"+e+"; visit "+n+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var b=new Set,k={};function w(e,n){S(e,n),S(e+"Capture",n)}function S(e,n){for(k[e]=n,e=0;e<n.length;e++)b.add(n[e])}var x=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),E=Object.prototype.hasOwnProperty,C=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,_={},N={};function P(e,n,t,r,l,a,o){this.acceptsBooleans=2===n||3===n||4===n,this.attributeName=r,this.attributeNamespace=l,this.mustUseProperty=t,this.propertyName=e,this.type=n,this.sanitizeURL=a,this.removeEmptyString=o}var z={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){z[e]=new P(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var n=e[0];z[n]=new P(n,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){z[e]=new P(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){z[e]=new P(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){z[e]=new P(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){z[e]=new P(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){z[e]=new P(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){z[e]=new P(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){z[e]=new P(e,5,!1,e.toLowerCase(),null,!1,!1)}));var T=/[\-:]([a-z])/g;function L(e){return e[1].toUpperCase()}function R(e,n,t,r){var l=z.hasOwnProperty(n)?z[n]:null;(null!==l?0!==l.type:r||!(2<n.length)||"o"!==n[0]&&"O"!==n[0]||"n"!==n[1]&&"N"!==n[1])&&(function(e,n,t,r){if(null==n||function(e,n,t,r){if(null!==t&&0===t.type)return!1;switch(typeof n){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==t?!t.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,n,t,r))return!0;if(r)return!1;if(null!==t)switch(t.type){case 3:return!n;case 4:return!1===n;case 5:return isNaN(n);case 6:return isNaN(n)||1>n}return!1}(n,t,l,r)&&(t=null),r||null===l?function(e){return!!E.call(N,e)||!E.call(_,e)&&(C.test(e)?N[e]=!0:(_[e]=!0,!1))}(n)&&(null===t?e.removeAttribute(n):e.setAttribute(n,""+t)):l.mustUseProperty?e[l.propertyName]=null===t?3!==l.type&&"":t:(n=l.attributeName,r=l.attributeNamespace,null===t?e.removeAttribute(n):(t=3===(l=l.type)||4===l&&!0===t?"":""+t,r?e.setAttributeNS(r,n,t):e.setAttribute(n,t))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position uLine truncated
var r,o,i,l,u,s,c,d,f,p,h,m,v=a("dTym2"),g=a("6cds3"),y=a("1c9zD");function b(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var x=new Set,w={};function k(e,t){S(e,t),S(e+"Capture",t)}function S(e,t){for(w[e]=t,e=0;e<t.length;e++)x.add(t[e])}var E=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),C=Object.prototype.hasOwnProperty,P=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,R={},N={};function L(e,t,n,r){if(null==t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(void 0===t?"undefined":(0,v.default)(t)){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function O(e,t,n,r,o,a,i){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=o,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=a,this.removeEmptyString=i}var T={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach((function(e){T[e]=new O(e,0,!1,e,null,!1,!1)})),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach((function(e){var t=e[0];T[t]=new O(t,1,!1,e[1],null,!1,!1)})),["contentEditable","draggable","spellCheck","value"].forEach((function(e){T[e]=new O(e,2,!1,e.toLowerCase(),null,!1,!1)})),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach((function(e){T[e]=new O(e,2,!1,e,null,!1,!1)})),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach((function(e){T[e]=new O(e,3,!1,e.toLowerCase(),null,!1,!1)})),["checked","multiple","muted","selected"].forEach((function(e){T[e]=new O(e,3,!0,e,null,!1,!1)})),["capture","download"].forEach((function(e){T[e]=new O(e,4,!1,e,null,!1,!1)})),["cols","rows","size","span"].forEach((function(e){T[e]=new O(e,6,!1,e,null,!1,!1)})),["rowSpan","start"].forEach((function(e){T[e]=new O(e,5,!1,e.toLowerCase(),null,!1,!1)}));var M=/[\-:]([a-z])/g;function z(e){return e[1].toUpperCase()}function j(e,t,n,r){var o=T.hasOwnProperty(t)?T[t]:null;(null!==o?0!==o.type:r||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(L(t,n,o,r)&&(n=null),r||null===o?function(e){return!!C.call(N,e)||!C.call(R,e)&&(P.test(e)?N[e]=!0:(R[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):o.mustUseProperty?e[o.propertyName]=null===n?3!==o.type&&"":n:(t=o.attributeName,r=o.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(o=o.type)||4===o&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach((function(e){var t=e.replace(M,z);T[t]=new O(t,1,!1,e,null,!1,!1)})),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach((function(e){var t=e.replace(M,z);T[t]=new O(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)})),["xml:base","xml:lang","xml:space"].forEach((function(e){var t=e.reLine truncated
/**
* @license React
* scheduler.production.min.js
@@ -28,5 +38,61 @@ var r,l,o,u,i,s,c,f,d,p,h,m;e(n.exports,"__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WI
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
var r,l,a,o,u,i,s,c,f,d,p,h,m,g,v,y,b,k,w;function S(e,n){var t=e.length;e.push(n);e:for(;0<t;){var r=t-1>>>1,l=e[r];if(!(0<C(l,n)))break e;e[r]=n,e[t]=l,t=r}}function x(e){return 0===e.length?null:e[0]}function E(e){if(0===e.length)return null;var n=e[0],t=e.pop();if(t!==n){e[0]=t;e:for(var r=0,l=e.length,a=l>>>1;r<a;){var o=2*(r+1)-1,u=e[o],i=o+1,s=e[i];if(0>C(u,t))i<l&&0>C(s,u)?(e[r]=s,e[i]=t,r=i):(e[r]=u,e[o]=t,r=o);else{if(!(i<l&&0>C(s,t)))break e;e[r]=s,e[i]=t,r=i}}}return n}function C(e,n){var t=e.sortIndex-n.sortIndex;return 0!==t?t:e.id-n.id}if(e(n.exports,"unstable_now",(()=>r),(e=>r=e)),e(n.exports,"unstable_IdlePriority",(()=>l),(e=>l=e)),e(n.exports,"unstable_ImmediatePriority",(()=>a),(e=>a=e)),e(n.exports,"unstable_LowPriority",(()=>o),(e=>o=e)),e(n.exports,"unstable_NormalPriority",(()=>u),(e=>u=e)),e(n.exports,"unstable_Profiling",(()=>i),(e=>i=e)),e(n.exports,"unstable_UserBlockingPriority",(()=>s),(e=>s=e)),e(n.exports,"unstable_cancelCallback",(()=>c),(e=>c=e)),e(n.exports,"unstable_continueExecution",(()=>f),(e=>f=e)),e(n.exports,"unstable_forceFrameRate",(()=>d),(e=>d=e)),e(n.exports,"unstable_getCurrentPriorityLevel",(()=>p),(e=>p=e)),e(n.exports,"unstable_getFirstCallbackNode",(()=>h),(e=>h=e)),e(n.exports,"unstable_next",(()=>m),(e=>m=e)),e(n.exports,"unstable_pauseExecution",(()=>g),(e=>g=e)),e(n.exports,"unstable_requestPaint",(()=>v),(e=>v=e)),e(n.exports,"unstable_runWithPriority",(()=>y),(e=>y=e)),e(n.exports,"unstable_scheduleCallback",(()=>b),(e=>b=e)),e(n.exports,"unstable_shouldYield",(()=>k),(e=>k=e)),e(n.exports,"unstable_wrapCallback",(()=>w),(e=>w=e)),"object"==typeof performance&&"function"==typeof performance.now){var _=performance;r=function(){return _.now()}}else{var N=Date,P=N.now();r=function(){return N.now()-P}}var z=[],T=[],L=1,R=null,M=3,F=!1,O=!1,D=!1,I="function"==typeof setTimeout?setTimeout:null,U="function"==typeof clearTimeout?clearTimeout:null,j="undefined"!=typeof setImmediate?setImmediate:null;function V(e){for(var n=x(T);null!==n;){if(null===n.callback)E(T);else{if(!(n.startTime<=e))break;E(T),n.sortIndex=n.expirationTime,S(z,n)}n=x(T)}}function A(e){if(D=!1,V(e),!O)if(null!==x(z))O=!0,J($);else{var n=x(T);null!==n&&ee(A,n.startTime-e)}}function $(e,n){O=!1,D&&(D=!1,U(Q),Q=-1),F=!0;var t=M;try{for(V(n),R=x(z);null!==R&&(!(R.expirationTime>n)||e&&!Y());){var l=R.callback;if("function"==typeof l){R.callback=null,M=R.priorityLevel;var a=l(R.expirationTime<=n);n=r(),"function"==typeof a?R.callback=a:R===x(z)&&E(z),V(n)}else E(z);R=x(z)}if(null!==R)var o=!0;else{var u=x(T);null!==u&&ee(A,u.startTime-n),o=!1}return o}finally{R=null,M=t,F=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var B,H=!1,W=null,Q=-1,q=5,K=-1;function Y(){return!(r()-K<q)}function X(){if(null!==W){var e=r();K=e;var n=!0;try{n=W(!0,e)}finally{n?B():(H=!1,W=null)}}else H=!1}if("function"==typeof j)B=function(){j(X)};else if("undefined"!=typeof MessageChannel){var G=new MessageChannel,Z=G.port2;G.port1.onmessage=X,B=function(){Z.postMessage(null)}}else B=function(){I(X,0)};function J(e){W=e,H||(H=!0,B())}function ee(e,n){Q=I((function(){e(r())}),n)}l=5,a=1,o=4,u=3,i=null,s=2,c=function(e){e.callback=null},f=function(){O||F||(O=!0,J($))},d=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):q=0<e?Math.floor(1e3/e):5},p=function(){return M},h=function(){return x(z)},m=function(e){switch(M){case 1:case 2:case 3:var n=3;break;default:n=M}var t=M;M=n;try{return e()}finally{M=t}},g=function(){},v=function(){},y=function(e,n){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var t=M;M=e;try{return n()}finally{M=t}},b=function(e,n,t){var l=r();switch("object"==typeof t&&null!==t?t="number"==typeof(t=t.delay)&&0<t?l+t:l:t=l,e){case 1:var a=-1;break;case 2:a=250;break;case 5:a=1073741823;break;case 4:a=1e4;break;default:a=5e3}return e={id:L++,callback:n,priorityLevel:e,startTime:t,expirationTime:a=t+a,sortIndex:-1},t>l?(e.sortIndex=t,S(T,e),null===x(z)&&e===x(T)&&(D?(U(Q),Q=-1):D=!0,ee(A,t-l))):(e.sortIndex=a,S(z,e),O||F||(O=!0,J($))),e},k=Y,w=function(e){var n=M;return function(){var t=M;M=n;try{return e.apply(this,arguments)}finally{M=t}}}}));var o,u=a("8NFma");!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),o=a("23wBm");class i{constructor(){this.loggedIn=!1,this.user={}}csrfToken(){return this.loggedIn?this.user.session.csrf_token:null}async apiCall(e,n){(n=n||{}).csrf_token=this.csrfToken();let t=await fetch("/api/"+e,{method:"post",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)}),r=await t.json();return r.success||"You are not logged in."!==r.msg||document.location.reload(),r}asynLine truncated
var r,o,a,i,l,u,s,c,d,f,p,h,m,v,g,y,b,x,w;function k(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,o=e[r];if(!(0<C(o,t)))break e;e[r]=t,e[n]=o,n=r}}function S(e){return 0===e.length?null:e[0]}function E(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,o=e.length,a=o>>>1;r<a;){var i=2*(r+1)-1,l=e[i],u=i+1,s=e[u];if(0>C(l,n))u<o&&0>C(s,l)?(e[r]=s,e[u]=n,r=u):(e[r]=l,e[i]=n,r=i);else{if(!(u<o&&0>C(s,n)))break e;e[r]=s,e[u]=n,r=u}}}return t}function C(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if(e(t.exports,"unstable_now",(function(){return r}),(function(e){return r=e})),e(t.exports,"unstable_IdlePriority",(function(){return o}),(function(e){return o=e})),e(t.exports,"unstable_ImmediatePriority",(function(){return a}),(function(e){return a=e})),e(t.exports,"unstable_LowPriority",(function(){return i}),(function(e){return i=e})),e(t.exports,"unstable_NormalPriority",(function(){return l}),(function(e){return l=e})),e(t.exports,"unstable_Profiling",(function(){return u}),(function(e){return u=e})),e(t.exports,"unstable_UserBlockingPriority",(function(){return s}),(function(e){return s=e})),e(t.exports,"unstable_cancelCallback",(function(){return c}),(function(e){return c=e})),e(t.exports,"unstable_continueExecution",(function(){return d}),(function(e){return d=e})),e(t.exports,"unstable_forceFrameRate",(function(){return f}),(function(e){return f=e})),e(t.exports,"unstable_getCurrentPriorityLevel",(function(){return p}),(function(e){return p=e})),e(t.exports,"unstable_getFirstCallbackNode",(function(){return h}),(function(e){return h=e})),e(t.exports,"unstable_next",(function(){return m}),(function(e){return m=e})),e(t.exports,"unstable_pauseExecution",(function(){return v}),(function(e){return v=e})),e(t.exports,"unstable_requestPaint",(function(){return g}),(function(e){return g=e})),e(t.exports,"unstable_runWithPriority",(function(){return y}),(function(e){return y=e})),e(t.exports,"unstable_scheduleCallback",(function(){return b}),(function(e){return b=e})),e(t.exports,"unstable_shouldYield",(function(){return x}),(function(e){return x=e})),e(t.exports,"unstable_wrapCallback",(function(){return w}),(function(e){return w=e})),"object"==typeof performance&&"function"==typeof performance.now){var P=performance;r=function(){return P.now()}}else{var R=Date,N=R.now();r=function(){return R.now()-N}}var L=[],O=[],T=1,M=null,z=3,j=!1,A=!1,D=!1,_="function"==typeof setTimeout?setTimeout:null,I="function"==typeof clearTimeout?clearTimeout:null,F="undefined"!=typeof setImmediate?setImmediate:null;function W(e){for(var t=S(O);null!==t;){if(null===t.callback)E(O);else{if(!(t.startTime<=e))break;E(O),t.sortIndex=t.expirationTime,k(L,t)}t=S(O)}}function $(e){if(D=!1,W(e),!A)if(null!==S(L))A=!0,Z(B);else{var t=S(O);null!==t&&ee($,t.startTime-e)}}function B(e,t){A=!1,D&&(D=!1,I(K),K=-1),j=!0;var n=z;try{for(W(t),M=S(L);null!==M&&(!(M.expirationTime>t)||e&&!Y());){var o=M.callback;if("function"==typeof o){M.callback=null,z=M.priorityLevel;var a=o(M.expirationTime<=t);t=r(),"function"==typeof a?M.callback=a:M===S(L)&&E(L),W(t)}else E(L);M=S(L)}if(null!==M)var i=!0;else{var l=S(O);null!==l&&ee($,l.startTime-t),i=!1}return i}finally{M=null,z=n,j=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var U,V=!1,H=null,K=-1,q=5,X=-1;function Y(){return!(r()-X<q)}function Q(){if(null!==H){var e=r();X=e;var t=!0;try{t=H(!0,e)}finally{t?U():(V=!1,H=null)}}else V=!1}if("function"==typeof F)U=function(){F(Q)};else if("undefined"!=typeof MessageChannel){var G=new MessageChannel,J=G.port2;G.port1.onmessage=Q,U=function(){J.postMessage(null)}}else U=function(){_(Q,0)};function Z(e){H=e,V||(V=!0,U())}function ee(e,t){K=_((function(){e(r())}),t)}o=5,a=1,i=4,l=3,u=null,s=2,c=function(e){e.callback=null},d=function(){A||j||(A=!0,Z(B))},f=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):q=0<e?Math.floor(1e3/e):5},p=function(){return z},h=function(){return S(L)},m=function(e){switch(z){case 1:case 2:case 3:var t=3;break;default:t=z}var n=z;z=t;try{return e()}finally{z=n}},v=function(){},g=function(){},y=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=z;z=e;try{return t()}finally{z=n}},b=function(e,t,n){var o=r();switch("object"==typeof n&&null!==n?n="number"==typeof(n=n.delay)&&0<n?o+n:o:n=o,e){case 1:var a=-1;break;case 2:a=250;break;case 5:a=1073741823;break;case 4:a=1e4;break;default:a=5e3}return e={id:T++,callback:t,priorityLevel:e,startTime:n,expirationTime:a=n+a,sortIndex:-1},n>o?(e.sortIndex=n,k(O,e),null===S(L)&&e===S(O)&&(D?(I(K),K=-1):D=!0,ee($,n-o))):(e.sortIndex=a,k(L,e),A||j||(A=!0,Z(B))),e},x=Y,w=function(e){var t=z;return function(){var n=z;z=t;try{return e.apply(this,arguments)}finally{z=n}}}})),a.register("hFtc0",Line truncated
/** @license React v16.13.1
* react-is.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
var r,o,a,i,l,u,s,c,d,f,p,h,m,v,g,y,b,x,w,k,S,E,C,P,R,N,L,O;e(t.exports,"AsyncMode",(function(){return r}),(function(e){return r=e})),e(t.exports,"ConcurrentMode",(function(){return o}),(function(e){return o=e})),e(t.exports,"ContextConsumer",(function(){return a}),(function(e){return a=e})),e(t.exports,"ContextProvider",(function(){return i}),(function(e){return i=e})),e(t.exports,"Element",(function(){return l}),(function(e){return l=e})),e(t.exports,"ForwardRef",(function(){return u}),(function(e){return u=e})),e(t.exports,"Fragment",(function(){return s}),(function(e){return s=e})),e(t.exports,"Lazy",(function(){return c}),(function(e){return c=e})),e(t.exports,"Memo",(function(){return d}),(function(e){return d=e})),e(t.exports,"Portal",(function(){return f}),(function(e){return f=e})),e(t.exports,"Profiler",(function(){return p}),(function(e){return p=e})),e(t.exports,"StrictMode",(function(){return h}),(function(e){return h=e})),e(t.exports,"Suspense",(function(){return m}),(function(e){return m=e})),e(t.exports,"isAsyncMode",(function(){return v}),(function(e){return v=e})),e(t.exports,"isConcurrentMode",(function(){return g}),(function(e){return g=e})),e(t.exports,"isContextConsumer",(function(){return y}),(function(e){return y=e})),e(t.exports,"isContextProvider",(function(){return b}),(function(e){return b=e})),e(t.exports,"isElement",(function(){return x}),(function(e){return x=e})),e(t.exports,"isForwardRef",(function(){return w}),(function(e){return w=e})),e(t.exports,"isFragment",(function(){return k}),(function(e){return k=e})),e(t.exports,"isLazy",(function(){return S}),(function(e){return S=e})),e(t.exports,"isMemo",(function(){return E}),(function(e){return E=e})),e(t.exports,"isPortal",(function(){return C}),(function(e){return C=e})),e(t.exports,"isProfiler",(function(){return P}),(function(e){return P=e})),e(t.exports,"isStrictMode",(function(){return R}),(function(e){return R=e})),e(t.exports,"isSuspense",(function(){return N}),(function(e){return N=e})),e(t.exports,"isValidElementType",(function(){return L}),(function(e){return L=e})),e(t.exports,"typeOf",(function(){return O}),(function(e){return O=e}));var T="function"==typeof Symbol&&Symbol.for,M=T?Symbol.for("react.element"):60103,z=T?Symbol.for("react.portal"):60106,j=T?Symbol.for("react.fragment"):60107,A=T?Symbol.for("react.strict_mode"):60108,D=T?Symbol.for("react.profiler"):60114,_=T?Symbol.for("react.provider"):60109,I=T?Symbol.for("react.context"):60110,F=T?Symbol.for("react.async_mode"):60111,W=T?Symbol.for("react.concurrent_mode"):60111,$=T?Symbol.for("react.forward_ref"):60112,B=T?Symbol.for("react.suspense"):60113,U=T?Symbol.for("react.suspense_list"):60120,V=T?Symbol.for("react.memo"):60115,H=T?Symbol.for("react.lazy"):60116,K=T?Symbol.for("react.block"):60121,q=T?Symbol.for("react.fundamental"):60117,X=T?Symbol.for("react.responder"):60118,Y=T?Symbol.for("react.scope"):60119;function Q(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case M:switch(e=e.type){case F:case W:case j:case D:case A:case B:return e;default:switch(e=e&&e.$$typeof){case I:case $:case H:case V:case _:return e;default:return t}}case z:return t}}}function G(e){return Q(e)===W}r=F,o=W,a=I,i=_,l=M,u=$,s=j,c=H,d=V,f=z,p=D,h=A,m=B,v=function(e){return G(e)||Q(e)===F},g=G,y=function(e){return Q(e)===I},b=function(e){return Q(e)===_},x=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===M},w=function(e){return Q(e)===$},k=function(e){return Q(e)===j},S=function(e){return Q(e)===H},E=function(e){return Q(e)===V},C=function(e){return Q(e)===z},P=function(e){return Q(e)===D},R=function(e){return Q(e)===A},N=function(e){return Q(e)===B},L=function(e){return"string"==typeof e||"function"==typeof e||e===j||e===W||e===D||e===A||e===B||e===U||"object"==typeof e&&null!==e&&(e.$$typeof===H||e.$$typeof===V||e.$$typeof===_||e.$$typeof===I||e.$$typeof===$||e.$$typeof===q||e.$$typeof===X||e.$$typeof===Y||e.$$typeof===K)},O=Q})),a.register("icfor",(function(t,n){
/** @license React v17.0.2
* react-is.production.min.js
*
* Copyright (c) Facebook, Inc. and its affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
var r,o,a,i,l,u,s,c,d,f,p,h,m,v,g,y,b,x,w,k,S,E,C,P,R,N;e(t.exports,"ContextConsumer",(function(){return r}),(function(e){return r=e})),e(t.exports,"ContextProvider",(function(){return o}),(function(e){return o=e})),e(t.exports,"Element",(function(){return a}),(function(e){return a=e})),e(t.exports,"ForwardRef",(function(){return i}),(function(e){return i=e})),e(t.exports,"Fragment",(function(){return l}),(function(e){return l=e})),e(t.exports,"Lazy",(function(){return u}),(function(e){return u=e})),e(t.exports,"Memo",(function(){return s}),(function(e){return s=e})),e(t.exports,"Portal",(function(){return c}),(function(e){return c=e})),e(t.exports,"Profiler",(function(){return d}),(function(e){return d=e})),e(t.exports,"StrictMode",(function(){return f}),(function(e){return f=e})),e(t.exports,"Suspense",(function(){return p}),(function(e){return p=e})),e(t.exports,"isAsyncMode",(function(){return h}),(function(e){return h=e})),e(t.exports,"isConcurrentMode",(function(){return m}),(function(e){return m=e})),e(t.exports,"isContextConsumer",(function(){return v}),(function(e){return v=e})),e(t.exports,"isContextProvider",(function(){return g}),(function(e){return g=e})),e(t.exports,"isElement",(function(){return y}),(function(e){return y=e})),e(t.exports,"isForwardRef",(function(){return b}),(function(e){return b=e})),e(t.exports,"isFragment",(function(){return x}),(function(e){return x=e})),e(t.exports,"isLazy",(function(){return w}),(function(e){return w=e})),e(t.exports,"isMemo",(function(){return k}),(function(e){return k=e})),e(t.exports,"isPortal",(function(){return S}),(function(e){return S=e})),e(t.exports,"isProfiler",(function(){return E}),(function(e){return E=e})),e(t.exports,"isStrictMode",(function(){return C}),(function(e){return C=e})),e(t.exports,"isSuspense",(function(){return P}),(function(e){return P=e})),e(t.exports,"isValidElementType",(function(){return R}),(function(e){return R=e})),e(t.exports,"typeOf",(function(){return N}),(function(e){return N=e}));var L=60103,O=60106,T=60107,M=60108,z=60114,j=60109,A=60110,D=60112,_=60113,I=60120,F=60115,W=60116,$=60121,B=60122,U=60117,V=60129,H=60131;if("function"==typeof Symbol&&Symbol.for){var K=Symbol.for;L=K("react.element"),O=K("react.portal"),T=K("react.fragment"),M=K("react.strict_mode"),z=K("react.profiler"),j=K("react.provider"),A=K("react.context"),D=K("react.forward_ref"),_=K("react.suspense"),I=K("react.suspense_list"),F=K("react.memo"),W=K("react.lazy"),$=K("react.block"),B=K("react.server.block"),U=K("react.fundamental"),V=K("react.debug_trace_mode"),H=K("react.legacy_hidden")}function q(e){if("object"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case L:switch(e=e.type){case T:case z:case M:case _:case I:return e;default:switch(e=e&&e.$$typeof){case A:case D:case W:case F:case j:return e;default:return t}}case O:return t}}}r=A,o=j,a=L,i=D,l=T,u=W,s=F,c=O,d=z,f=M,p=_,h=function(){return!1},m=function(){return!1},v=function(e){return q(e)===A},g=function(e){return q(e)===j},y=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===L},b=function(e){return q(e)===D},x=function(e){return q(e)===T},w=function(e){return q(e)===W},k=function(e){return q(e)===F},S=function(e){return q(e)===O},E=function(e){return q(e)===z},C=function(e){return q(e)===M},P=function(e){return q(e)===_},R=function(e){return"string"==typeof e||"function"==typeof e||e===T||e===z||e===V||e===M||e===_||e===I||e===H||"object"==typeof e&&null!==e&&(e.$$typeof===W||e.$$typeof===F||e.$$typeof===j||e.$$typeof===A||e.$$typeof===D||e.$$typeof===U||e.$$typeof===$||e[0]===B)},N=q})),a.register("j8vZU",(function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),Object.defineProperty(e.exports,"default",{enumerable:!0,get:function(){return n.default}});var n=a("7oDiz")})),a.register("7oDiz",(function(n,r){e(n.exports,"default",(function(){return u}));var o=a("dpDEA"),i=a("6cds3"),l=a("5d6vy");function u(e,n){var r=function(n,r){return t(i).createElement(l.default,(0,o.default)({ref:r},n),e)};return r.muiName=l.default.muiName,t(i).memo(t(i).forwardRef(r))}})),a.register("dpDEA",(function(t,n){function r(){return r=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},r.apply(this,arguments)}e(t.exports,"default",(function(){return r}))})),a.register("5d6vy",(function(t,n){e(t.exports,"default",(function(){return d}));var r=a("dpDEA"),o=a("4LLvf"),i=a("6cds3"),l=a("b8Wwb"),u=a("ft7Yv"),s=a("eX1Ed"),c=i.forwardRef((function(e,t){var n=e.children,a=e.classes,u=e.className,c=e.color,d=void 0===c?"inherit":c,f=e.component,p=void 0===f?"svg":f,h=e.fontSize,m=void 0===h?"medium":h,v=e.htmlColor,g=e.titleAccess,y=e.viewBox,b=void 0===y?"0 0 24 24":y,x=(0,o.default)(e,["children","classes","className","color","component","fontSize","htmlColor","titleAccess","viewBox"]);return i.createElement(p,(0,r.default)({className:(0,l.deLine truncated
/**
* A better abstraction over CSS.
*
* @copyright Oleg Isonen (Slobodskoi) / Isonen 2014-present
* @website https://github.com/cssinjs/jss
* @license MIT
*/ge()})),a.register("1ln80",(function(t,n){e(t.exports,"default",(function(){return i}));var r=a("dTym2"),o="function"==typeof Symbol&&"symbol"===(0,r.default)(Symbol.iterator)?function(e){return void 0===e?"undefined":(0,r.default)(e)}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":void 0===e?"undefined":(0,r.default)(e)},i="object"===("undefined"==typeof window?"undefined":o(window))&&"object"===("undefined"==typeof document?"undefined":o(document))&&9===document.nodeType})),a.register("g5FET",(function(t,n){e(t.exports,"default",(function(){return r}));var r=function(e,t){}})),a.register("9VAnW",(function(t,n){e(t.exports,"default",(function(){return i}));var r=a("hoy97");function o(e,t){for(var n=0;n<t.length;n++){var o=t[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,(0,r.default)(o.key),o)}}function i(e,t,n){return t&&o(e.prototype,t),n&&o(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}})),a.register("hoy97",(function(t,n){e(t.exports,"default",(function(){return i}));var r=a("kvodD"),o=a("c1opE");function i(e){var t=(0,o.default)(e,"string");return"symbol"===(0,r.default)(t)?t:String(t)}})),a.register("kvodD",(function(t,n){function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}e(t.exports,"default",(function(){return r}))})),a.register("c1opE",(function(t,n){e(t.exports,"default",(function(){return o}));var r=a("kvodD");function o(e,t){if("object"!==(0,r.default)(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var o=n.call(e,t||"default");if("object"!==(0,r.default)(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}})),a.register("jdEcH",(function(t,n){e(t.exports,"default",(function(){return o}));var r=a("6UCch");function o(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,(0,r.default)(e,t)}})),a.register("6UCch",(function(t,n){function r(e,t){return r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},r(e,t)}e(t.exports,"default",(function(){return r}))})),a.register("eesxI",(function(t,n){function r(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}e(t.exports,"default",(function(){return r}))})),a.register("kBaI6",(function(t,n){e(t.exports,"default",(function(){return o}));var r=a("dpDEA");function o(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.baseClasses,n=e.newClasses;e.Component;if(!n)return t;var o=(0,r.default)({},t);return Object.keys(n).forEach((function(e){n[e]&&(o[e]="".concat(t[e]," ").concat(n[e]))})),o}})),a.register("5hOQj",(function(t,n){e(t.exports,"default",(function(){return r}));var r={set:function(e,t,n,r){var o=e.get(t);o||(o=new Map,e.set(t,o)),o.set(n,r)},get:function(e,t,n){var r=e.get(t);return r?r.get(n):void 0},delete:function(e,t,n){e.get(t).delete(n)}}})),a.register("kXv6s",(function(n,r){e(n.exports,"default",(function(){return l}));var o=a("6cds3"),i=a("envQd");function l(){return t(o).useContext(i.default)}})),a.register("envQd",(function(n,r){e(n.exports,"default",(function(){return o}));var o=t(a("6cds3")).createContext(null)})),a.register("502EW",(function(n,r){e(n.exports,"StylesContext",(function(){return d}));a("dpDEA"),a("4LLvf");var o=a("6cds3"),i=a("cPEiw"),l=a("9I87k"),u=a("kznkH"),s=(0,l.create)((0,u.default)()),c={disableGeneration:!1,generateClassName:(0,i.default)(),jss:s,sheetsCache:null,sheetsManager:new Map,sheetsRegistry:null},d=t(o).createContext(c)})),a.register("cPEiw",(function(t,n){e(t.exports,"default",(function(){return i}));var r=a("6LLAX"),o=["checked","disabled","error","focused","focusVisible","required","expanded","selected"];function i(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.disableGlobal,n=void 0!==t&&t,a=e.productionPrefix,i=void 0===a?"jss":a,l=e.seed,u=void 0===l?"":l,s=""===u?"":"".concat(u,"-"),c=0,d=function(){return c+=1};return function(e,t){var a=t.options.name;if(a&&0===a.indexOf("Mui")&&!t.options.link&&!n){if(-1!==o.indexOf(e.key))return"Mui-".concat(e.key);var l="".concat(s).concat(a,"-").concat(e.key);return t.options.theme[r.default]&&""===u?"".concat(l,"-").concat(d()):l}return"".concat(s).concat(i).concat(d())}}})),a.register("6LLAX",(function(t,n){e(t.exports,"default",(function(){return r}));var r="function"==typeof Symbol&&Symbol.for?Symbol.for("mui.nested"):"__THEME_NESTED__"})),a.register("kznkH",(function(t,n){e(t.exports,"default",(function(){return d}));var r=a("dYn4H"),o=a("iWh3P"),i=a("3K1DK"),l=a("4bxIv"),u=a("8wEIh"),s=a("hNlU3"),c=a("g0MOM");function d(){return{plugins:[(0,r.default)(),(0,o.default)(),(0,i.default)(),(0,l.default)(),(0,u.default)(),"Line truncated
/**
* React Router DOM v6.4.3
*
* Copyright (c) Remix Software Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE.md file in the root directory of this source tree.
*
* @license MIT
*/var U,V;
/**
* @remix-run/router v1.0.3
*
* Copyright (c) Remix Software Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE.md file in the root directory of this source tree.
*
* @license MIT
*/C=a("6cds3");function H(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],(function(){}))),!0}catch(e){return!1}}function K(e,t,n){return K=H()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&p(o,n.prototype),o},K.apply(null,arguments)}function q(e,t,n){return K.apply(null,arguments)}function X(e){var t="function"==typeof Map?new Map:void 0;return X=function(e){if(null===e||(n=e,-1===Function.toString.call(n).indexOf("[native code]")))return e;var n;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return q(e,arguments,x(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),p(r,e)},X(e)}function Y(){return Y=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Y.apply(this,arguments)}(V=U||(U={})).Pop="POP",V.Push="PUSH",V.Replace="REPLACE";var Q,G,J="popstate";function Z(e){return void 0===e&&(e={}),ae((function(e,t){var n=e.location;return te("",{pathname:n.pathname,search:n.search,hash:n.hash},t.state&&t.state.usr||null,t.state&&t.state.key||"default")}),(function(e,t){return"string"==typeof t?t:ne(t)}),null,e)}function ee(e){return{usr:e.state,key:e.key}}function te(e,t,n,r){return void 0===n&&(n=null),Y({pathname:"string"==typeof e?e:e.pathname,search:"",hash:""},"string"==typeof t?re(t):t,{state:n,key:t&&t.key||r||Math.random().toString(36).substr(2,8)})}function ne(e){var t=e.pathname,n=void 0===t?"/":t,r=e.search,o=void 0===r?"":r,a=e.hash,i=void 0===a?"":a;return o&&"?"!==o&&(n+="?"===o.charAt(0)?o:"?"+o),i&&"#"!==i&&(n+="#"===i.charAt(0)?i:"#"+i),n}function re(e){var t={};if(e){var n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));var r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function oe(e){var t="undefined"!=typeof window&&void 0!==window.location&&"null"!==window.location.origin?window.location.origin:"unknown://unknown",n="string"==typeof e?e:ne(e);return new URL(n,t)}function ae(e,t,n,r){var o=function(){c=U.Pop,d&&d({action:c,location:f.location})};void 0===r&&(r={});var a=r.window,i=void 0===a?document.defaultView:a,l=r.v5Compat,u=void 0!==l&&l,s=i.history,c=U.Pop,d=null,f={get action(){return c},get location(){return e(i,s)},listen:function(e){if(d)throw new Error("A history only accepts one active listener");return i.addEventListener(J,o),d=e,function(){i.removeEventListener(J,o),d=null}},createHref:function(e){return t(i,e)},encodeLocation:function(e){var t=oe(ne(e));return Y({},e,{pathname:t.pathname,search:t.search,hash:t.hash})},push:function(e,t){c=U.Push;var r=te(f.location,e,t);n&&n(r,e);var o=ee(r),a=f.createHref(r);try{s.pushState(o,"",a)}catch(e){i.location.assign(a)}u&&d&&d({action:c,location:f.location})},replace:function(e,t){c=U.Replace;var r=te(f.location,e,t);n&&n(r,e);var o=ee(r),a=f.createHref(r);s.replaceState(o,"",a),u&&d&&d({action:c,location:f.location})},go:function(e){return s.go(e)}};return f}function ie(e,t,n){void 0===n&&(n="/");var r=he(("string"==typeof t?re(t):t).pathname||"/",n);if(null==r)return null;var o=le(e);!function(e){e.sort((function(e,t){return e.score!==t.score?t.score-e.score:function(e,t){var n=e.length===t.length&&e.slice(0,-1).every((function(e,n){return e===t[n]}));return n?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map((function(e){return e.childrenIndex})),t.routesMeta.map((function(e){return e.childrenIndex})))}))}(o);for(var a=null,i=0;null==a&&i<o.length;++i)a=de(o[i],pe(r));return a}function le(e,t,n,r){return void 0===t&&(t=[]),void 0===n&&(n=[]),void 0===r&&(r=""),e.forEach((function(e,o){var a={relativePath:e.path||"",caseSensitive:!0===e.caseSensitive,childrenIndex:o,route:e};a.relativePath.startsWith("/")&&(me(a.relativePath.startsWith(r),'Absolute route path "'+a.relativePath+'" nested under path "'+r+'" is not valid. An absolute child route path must start with the combined path of all its parent routes.'),a.relativePath=a.relativePath.slice(r.length));var i=xe([r,a.relativePath]),l=n.concat(a);e.children&&e.children.length>0&&(me(!0!==e.index,'Index routes must not have child routes. Please remove all child routes from route path "'+i+'".'),le(e.children,t,l,i)),(null!=e.path||e.index)&&t.push({path:i,score:ce(i,e.index),routesMeta:l})})),t}(G=Q||(Q={})).data="data",G.deferred="deferred",G.redirect="redirect",G.error="error";var ue=/^:\w+$/,se=function(e){return"*"===e};function ce(e,t){var n=e.split("/"),r=n.length;return n.some(se)&&(r+=-2),t&&(r+=2),n.filter((function(e){return!se(e)})).reduce((function(e,t){return e+(ue.test(t)?3:""===t?1:10 Line truncated
/**
* React Router v6.4.3
*
* Copyright (c) Remix Software Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE.md file in the root directory of this source tree.
*
* @license MIT
*/
C=a("6cds3");function Ne(){return Ne=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},Ne.apply(this,arguments)}var Le="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},Oe=C.useState,Te=C.useEffect,Me=C.useLayoutEffect,ze=C.useDebugValue;function je(e){var t=e.getSnapshot,n=e.value;try{var r=t();return!Le(n,r)}catch(e){return!0}}var Ae=!!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement)?function(e,t,n){return t()}:function(e,t,n){var r=t(),o=z(Oe({inst:{value:r,getSnapshot:t}}),2),a=o[0].inst,i=o[1];return Me((function(){a.value=r,a.getSnapshot=t,je(a)&&i({inst:a})}),[e,r,t]),Te((function(){je(a)&&i({inst:a});return e((function(){je(a)&&i({inst:a})}))}),[e]),ze(r),r},De=("useSyncExternalStore"in C&&C.useSyncExternalStore,C.createContext(null)),_e=C.createContext(null),Ie=C.createContext(null),Fe=C.createContext(null),We=C.createContext(null),$e=C.createContext(null),Be=C.createContext({outlet:null,matches:[]}),Ue=C.createContext(null);function Ve(e,t){var n=(void 0===t?{}:t).relative;!He()&&me(!1);var r=C.useContext(We),o=r.basename,a=r.navigator,i=Xe(e,{relative:n}),l=i.hash,u=i.pathname,s=i.search,c=u;return"/"!==o&&(c="/"===u?o:xe([o,u])),a.createHref({pathname:c,search:s,hash:l})}function He(){return null!=C.useContext($e)}function Ke(){return!He()&&me(!1),C.useContext($e).location}function qe(){!He()&&me(!1);var e=C.useContext(We),t=e.basename,n=e.navigator,r=C.useContext(Be).matches,o=Ke().pathname,a=JSON.stringify(ye(r).map((function(e){return e.pathnameBase}))),i=C.useRef(!1);return C.useEffect((function(){i.current=!0})),C.useCallback((function(e,r){if(void 0===r&&(r={}),i.current)if("number"!=typeof e){var l=be(e,JSON.parse(a),o,"path"===r.relative);"/"!==t&&(l.pathname="/"===l.pathname?t:xe([t,l.pathname])),(r.replace?n.replace:n.push)(l,r.state,r)}else n.go(e)}),[t,n,a,o])}function Xe(e,t){var n=(void 0===t?{}:t).relative,r=C.useContext(Be).matches,o=Ke().pathname,a=JSON.stringify(ye(r).map((function(e){return e.pathnameBase})));return C.useMemo((function(){return be(e,JSON.parse(a),o,"path"===n)}),[e,a,o,n])}function Ye(){var e=function(){var e,t=C.useContext(Ue),n=nt(Ge.UseRouteError),r=C.useContext(Be),o=r.matches[r.matches.length-1];return t||(!r&&me(!1),!o.route.id&&me(!1),null==(e=n.errors)?void 0:e[o.route.id])}(),t=Pe(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,r="rgba(200,200,200, 0.5)",o={padding:"0.5rem",backgroundColor:r},a={padding:"2px 4px",backgroundColor:r};return C.createElement(C.Fragment,null,C.createElement("h2",null,"Unhandled Thrown Error!"),C.createElement("h3",{style:{fontStyle:"italic"}},t),n?C.createElement("pre",{style:o},n):null,C.createElement("p",null,"💿 Hey developer 👋"),C.createElement("p",null,"You can provide a way better UX than this when your app throws errors by providing your own ",C.createElement("code",{style:a},"errorElement")," props on ",C.createElement("code",{style:a},"<Route>")))}var Qe,Ge,Je,Ze=function(e){"use strict";h(n,e);var t=E(n);function n(e){var r;return s(this,n),(r=t.call(this,e)).state={location:e.location,error:e.error},r}return d(n,[{key:"componentDidCatch",value:function(e,t){console.error("React Router caught the following error during render",e,t)}},{key:"render",value:function(){return this.state.error?C.createElement(Ue.Provider,{value:this.state.error,children:this.props.component}):this.props.children}}],[{key:"getDerivedStateFromError",value:function(e){return{error:e}}},{key:"getDerivedStateFromProps",value:function(e,t){return t.location!==e.location?{error:e.error,location:e.location}:{error:e.error||t.error,location:t.location}}}]),n}(C.Component);function et(e){var t=e.routeContext,n=e.match,r=e.children,o=C.useContext(De);return o&&n.route.errorElement&&(o._deepestRenderedBoundaryId=n.route.id),C.createElement(Be.Provider,{value:t},r)}function tt(e,t,n){if(void 0===t&&(t=[]),null==e){if(null==n||!n.errors)return null;e=n.matches}var r=e,o=null==n?void 0:n.errors;if(null!=o){var a=r.findIndex((function(e){return e.route.id&&(null==o?void 0:o[e.route.id])}));!(a>=0)&&me(!1),r=r.slice(0,Math.min(r.length,a+1))}return r.reduceRight((function(e,a,i){var l=a.route.id?null==o?void 0:o[a.route.id]:null,u=n?a.route.errorElement||C.createElement(Ye,null):null,s=function(){return C.createElement(et,{match:a,routeContext:{outlet:e,matches:t.concat(r.slice(0,i+1))}},l?u:void 0!==a.route.element?a.route.element:e)};return n&&(a.route.errorElement||0===i)?C.createElement(Ze,{location:n.location,component:u,error:l,children:s()}):s()}),null)}function nt(e){var t=C.useContext(Ie);return!t&&me(!1),t}(Qe||(Qe={})).UseRevalidator="useRevalidator",(Je=Ge||(Ge={})).UseLoaderData="useLoaderData",Je.UseActionData="useActionData",Je.UseRouteError="useRLine truncated
//# sourceMappingURL=index.js.map
+1 -1
View File
@@ -1 +1 @@
{"mappings":"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 truncated
{"mappings":"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 truncated
+19 -1
View File
@@ -150,7 +150,25 @@ let Core = function () {
return this.getJsonDateTime(date).split(' ')[1];
};
this.isRecaptchaEnabled = function () {
return (typeof grecaptcha !== 'undefined');
}
this.__construct();
};
let jsCore = new Core();
let jsCore = new Core();
function L(key) {
let entries = window.languageEntries || {};
let [module, variable] = key.split(".");
if (module && variable && entries.hasOwnProperty(module)) {
let translation = entries[module][variable];
if (translation) {
return translation;
}
}
return "[" + key + "]";
}
+3 -2
View File
@@ -2,10 +2,11 @@
"name": "admin-panel",
"version": "1.0.0",
"dependencies": {
"shared": "link:../shared"
"shared": "link:../shared",
"react": "^18.2.0"
},
"scripts": {
"debug": "react-app-rewired start"
"dev": "react-app-rewired start"
},
"author": "",
"license": "ISC",
+15 -9
View File
@@ -3,7 +3,7 @@ import './res/adminlte.min.css';
import './res/index.css';
import API from "shared/api";
import Icon from "shared/elements/icon";
import {BrowserRouter, Route, Routes} from "react-router-dom";
import {BrowserRouter, Routes} from "react-router-dom";
import Dialog from "./elements/dialog";
import Footer from "./elements/footer";
import Header from "./elements/header";
@@ -11,12 +11,14 @@ import Sidebar from "./elements/sidebar";
import LoginForm from "./views/login";
import {Alert} from "@material-ui/lab";
import {Button} from "@material-ui/core";
import {Locale} from "shared/locale";
export default class AdminDashboard extends React.Component {
constructor(props) {
super(props);
this.api = new API();
this.locale = Locale.getInstance();
this.state = {
loaded: false,
dialog: { onClose: () => this.hideDialog() },
@@ -39,13 +41,19 @@ export default class AdminDashboard extends React.Component {
onInit() {
this.setState({ ...this.state, loaded: false, error: null });
this.api.info().then(data => {
this.api.getLanguageEntries("general").then(data => {
if (data.success) {
this.setState({...this.state, info: data.info })
this.api.fetchUser().then(data => {
this.api.info().then(data => {
if (data.success) {
setInterval(this.onUpdate.bind(this), 60*1000);
this.setState({...this.state, loaded: true});
this.setState({...this.state, info: data.info })
this.api.fetchUser().then(data => {
if (data.success) {
setInterval(this.onUpdate.bind(this), 60*1000);
this.setState({...this.state, loaded: true});
} else {
this.setState({ ...this.state, error: data.msg })
}
});
} else {
this.setState({ ...this.state, error: data.msg })
}
@@ -73,7 +81,6 @@ export default class AdminDashboard extends React.Component {
callback(res);
})
} else {
this.setState({ ...this.state, error: res.msg });
callback(res);
}
});
@@ -96,7 +103,6 @@ export default class AdminDashboard extends React.Component {
callback(res);
})
} else {
this.setState({ ...this.state, error: res.msg });
callback(res);
}
});
@@ -111,7 +117,6 @@ export default class AdminDashboard extends React.Component {
callback(res);
})
} else {
this.setState({ ...this.state, error: res.msg });
callback(res);
}
});
@@ -136,6 +141,7 @@ export default class AdminDashboard extends React.Component {
showDialog: this.showDialog.bind(this),
api: this.api,
info: this.state.info,
locale: this.locale,
onUpdateLocale: this.onUpdateLocale.bind(this),
onLogout: this.onLogout.bind(this),
onLogin: this.onLogin.bind(this),
@@ -1,5 +1,5 @@
import React, {useState} from 'react';
import {initLocale, L} from "shared/locale/locale";
import {L} from "shared/locale";
import {Box} from "@material-ui/core";
import {makeStyles} from "@material-ui/core/styles";
@@ -20,8 +20,9 @@ export default function LanguageSelection(props) {
const onSetLanguage = (code) => {
api.setLanguageByCode(code).then((res) => {
if (res.success) {
initLocale(code);
props.onUpdateLocale();
} else {
alert(res.msg);
}
});
};
@@ -42,6 +43,6 @@ export default function LanguageSelection(props) {
}
return <Box mt={1}>
{L("Language") + ": "} { flags }
{L("general.language") + ": "} { flags }
</Box>
}
+4 -6
View File
@@ -1,8 +1,6 @@
import ReactDOM from "react-dom";
import React from "react";
import {createRoot} from "react-dom/client";
import AdminDashboard from "./App";
ReactDOM.render(
<AdminDashboard />,
document.getElementById('admin-panel')
);
const root = createRoot(document.getElementById('admin-panel'));
root.render(<AdminDashboard />);
@@ -0,0 +1 @@
{"version":3,"sources":["../../build/scss/adminlte.scss","adminlte.css","../../node_modules/bootstrap/scss/bootstrap.scss","../../node_modules/bootstrap/scss/_root.scss","../../node_modules/bootstrap/scss/_reboot.scss","../../build/scss/_bootstrap-variables.scss","../../node_modules/bootstrap/scss/vendor/_rfs.scss","../../node_modules/bootstrap/scss/_variables.scss","../../node_modules/bootstrap/scss/mixins/_hover.scss","../../node_modules/bootstrap/scss/_type.scss","../../node_modules/bootstrap/scss/mixins/_lists.scss","../../node_modules/bootstrap/scss/_images.scss","../../node_modules/bootstrap/scss/mixins/_image.scss","../../node_modules/bootstrap/scss/mixins/_border-radius.scss","../../node_modules/bootstrap/scss/mixins/_box-shadow.scss","../../node_modules/bootstrap/scss/_code.scss","../../node_modules/bootstrap/scss/_grid.scss","../../node_modules/bootstrap/scss/mixins/_grid.scss","../../node_modules/bootstrap/scss/mixins/_breakpoints.scss","../../node_modules/bootstrap/scss/mixins/_grid-framework.scss","../../node_modules/bootstrap/scss/_tables.scss","../../node_modules/bootstrap/scss/mixins/_table-row.scss","../../node_modules/bootstrap/scss/_functions.scss","../../node_modules/bootstrap/scss/_forms.scss","../../node_modules/bootstrap/scss/mixins/_transition.scss","../../node_modules/bootstrap/scss/mixins/_forms.scss","../../node_modules/bootstrap/scss/mixins/_gradients.scss","../../node_modules/bootstrap/scss/_buttons.scss","../../node_modules/bootstrap/scss/mixins/_buttons.scss","../../node_modules/bootstrap/scss/_transitions.scss","../../node_modules/bootstrap/scss/_dropdown.scss","../../node_modules/bootstrap/scss/mixins/_caret.scss","../../node_modules/bootstrap/scss/mixins/_nav-divider.scss","../../node_modules/bootstrap/scss/_button-group.scss","../../node_modules/bootstrap/scss/_input-group.scss","../../node_modules/bootstrap/scss/_custom-forms.scss","../../node_modules/bootstrap/scss/_nav.scss","../../node_modules/bootstrap/scss/_navbar.scss","../../node_modules/bootstrap/scss/_card.scss","../../node_modules/bootstrap/scss/_breadcrumb.scss","../../node_modules/bootstrap/scss/_pagination.scss","../../node_modules/bootstrap/scss/mixins/_pagination.scss","../../node_modules/bootstrap/scss/_badge.scss","../../node_modules/bootstrap/scss/mixins/_badge.scss","../../node_modules/bootstrap/scss/_jumbotron.scss","../../node_modules/bootstrap/scss/_alert.scss","../../node_modules/bootstrap/scss/mixins/_alert.scss","../../node_modules/bootstrap/scss/_progress.scss","../../node_modules/bootstrap/scss/_media.scss","../../node_modules/bootstrap/scss/_list-group.scss","../../node_modules/bootstrap/scss/mixins/_list-group.scss","../../node_modules/bootstrap/scss/_close.scss","../../node_modules/bootstrap/scss/_toasts.scss","../../node_modules/bootstrap/scss/_modal.scss","../../node_modules/bootstrap/scss/_tooltip.scss","../../node_modules/bootstrap/scss/mixins/_reset-text.scss","../../node_modules/bootstrap/scss/_popover.scss","../../node_modules/bootstrap/scss/_carousel.scss","../../node_modules/bootstrap/scss/mixins/_clearfix.scss","../../node_modules/bootstrap/scss/_spinners.scss","../../node_modules/bootstrap/scss/utilities/_align.scss","../../node_modules/bootstrap/scss/mixins/_background-variant.scss","../../node_modules/bootstrap/scss/utilities/_background.scss","../../node_modules/bootstrap/scss/utilities/_borders.scss","../../node_modules/bootstrap/scss/utilities/_display.scss","../../node_modules/bootstrap/scss/utilities/_embed.scss","../../node_modules/bootstrap/scss/utilities/_flex.scss","../../node_modules/bootstrap/scss/utilities/_float.scss","../../node_modules/bootstrap/scss/utilities/_interactions.scss","../../node_modules/bootstrap/scss/utilities/_overflow.scss","../../node_modules/bootstrap/scss/utilities/_position.scss","../../node_modules/bootstrap/scss/utilities/_screenreaders.scss","../../node_modules/bootstrap/scss/mixins/_screen-reader.scss","../../node_modules/bootstrap/scss/utilities/_shadows.scss","../../node_modules/bootstrap/scss/utilities/_sizing.scss","../../node_modules/bootstrap/scss/utilities/_spacing.scss","../../node_modules/bootstrap/scss/utilities/_stretched-link.scss","../../node_modules/bootstrap/scss/utilities/_text.scss","../../node_modules/bootstrap/scss/mixins/_text-truncate.scss","../../node_modules/bootstrap/scss/mixins/_text-emphasis.scss","../../node_modules/bootstrap/scss/mixins/_text-hide.scss","../../node_modules/bootstrap/scss/utilities/_visibility.scss","../../node_modules/bootstrap/scss/_print.scss","../../build/scss/mixins/_animations.scss","../../build/scss/mixins/_dark-mode.scss","../../build/scss/_root.scss","../../build/scss/_animation-effects.scss","../../build/scss/_preloader.scss","../../build/scss/_variables.scss","../../build/scss/_layout.scss","../../build/scss/mixins/_scrollbar.scss","../../build/scss/_main-header.scss","../../build/scss/_brand.scss","../../build/scss/_main-sidebar.scss","../../build/scss/mixins/_miscellaneous.scss","../.Line truncated
+8 -8
View File
@@ -1,12 +1,12 @@
/*!
* AdminLTE v3.0.6-pre
* AdminLTE v3.2.0
* Author: Colorlib
* Website: AdminLTE.io <http://adminlte.io>
* License: Open source - MIT <http://opensource.org/licenses/MIT>
* Website: AdminLTE.io <https://adminlte.io>
* License: Open source - MIT <https://opensource.org/licenses/MIT>
*//*!
* Bootstrap v4.4.1 (https://getbootstrap.com/)
* Copyright 2011-2019 The Bootstrap Authors
* Copyright 2011-2019 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
*/:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#ffffff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:"Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:"Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:none}a:not([href]){color:inherit;text-decoration:none}a:not([href]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.2;color:inherit}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.liLine truncated
* Bootstrap v4.6.1 (https://getbootstrap.com/)
* Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:"Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:"Source Sans Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:none}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-family:inherit;font-weight:500;line-height:1.2;color:inherit}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-leftLine truncated
/*# sourceMappingURL=adminlte.min.css.map */
@@ -0,0 +1 @@
{"version":3,"sources":["..\\..\\build\\scss\\adminlte.scss","..\\..\\node_modules\\bootstrap\\scss\\bootstrap.scss","..\\..\\node_modules\\bootstrap\\scss\\_root.scss","..\\..\\node_modules\\bootstrap\\scss\\_reboot.scss","dist\\css\\adminlte.css","..\\..\\node_modules\\bootstrap\\scss\\vendor\\_rfs.scss","adminlte.css","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_hover.scss","..\\..\\node_modules\\bootstrap\\scss\\_type.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_lists.scss","..\\..\\node_modules\\bootstrap\\scss\\_images.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_image.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_border-radius.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_box-shadow.scss","..\\..\\node_modules\\bootstrap\\scss\\_code.scss","..\\..\\node_modules\\bootstrap\\scss\\_grid.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_grid.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_breakpoints.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_grid-framework.scss","..\\..\\node_modules\\bootstrap\\scss\\_tables.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_table-row.scss","..\\..\\node_modules\\bootstrap\\scss\\_forms.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_transition.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_forms.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_gradients.scss","..\\..\\node_modules\\bootstrap\\scss\\_buttons.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_buttons.scss","..\\..\\node_modules\\bootstrap\\scss\\_transitions.scss","..\\..\\node_modules\\bootstrap\\scss\\_dropdown.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_caret.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_nav-divider.scss","..\\..\\node_modules\\bootstrap\\scss\\_button-group.scss","..\\..\\node_modules\\bootstrap\\scss\\_input-group.scss","..\\..\\node_modules\\bootstrap\\scss\\_custom-forms.scss","..\\..\\node_modules\\bootstrap\\scss\\_nav.scss","..\\..\\node_modules\\bootstrap\\scss\\_navbar.scss","..\\..\\node_modules\\bootstrap\\scss\\_card.scss","..\\..\\node_modules\\bootstrap\\scss\\_breadcrumb.scss","..\\..\\node_modules\\bootstrap\\scss\\_pagination.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_pagination.scss","..\\..\\node_modules\\bootstrap\\scss\\_badge.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_badge.scss","..\\..\\node_modules\\bootstrap\\scss\\_jumbotron.scss","..\\..\\node_modules\\bootstrap\\scss\\_alert.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_alert.scss","..\\..\\node_modules\\bootstrap\\scss\\_progress.scss","..\\..\\node_modules\\bootstrap\\scss\\_media.scss","..\\..\\node_modules\\bootstrap\\scss\\_list-group.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_list-group.scss","..\\..\\node_modules\\bootstrap\\scss\\_close.scss","..\\..\\node_modules\\bootstrap\\scss\\_toasts.scss","..\\..\\node_modules\\bootstrap\\scss\\_modal.scss","..\\..\\node_modules\\bootstrap\\scss\\_tooltip.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_reset-text.scss","..\\..\\node_modules\\bootstrap\\scss\\_popover.scss","..\\..\\node_modules\\bootstrap\\scss\\_carousel.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_clearfix.scss","..\\..\\node_modules\\bootstrap\\scss\\_spinners.scss","..\\..\\node_modules\\bootstrap\\scss\\utilities\\_align.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_background-variant.scss","..\\..\\node_modules\\bootstrap\\scss\\utilities\\_background.scss","..\\..\\node_modules\\bootstrap\\scss\\utilities\\_borders.scss","..\\..\\node_modules\\bootstrap\\scss\\utilities\\_display.scss","..\\..\\node_modules\\bootstrap\\scss\\utilities\\_embed.scss","..\\..\\node_modules\\bootstrap\\scss\\utilities\\_flex.scss","..\\..\\node_modules\\bootstrap\\scss\\utilities\\_float.scss","..\\..\\node_modules\\bootstrap\\scss\\utilities\\_interactions.scss","..\\..\\node_modules\\bootstrap\\scss\\utilities\\_overflow.scss","..\\..\\node_modules\\bootstrap\\scss\\utilities\\_position.scss","..\\..\\node_modules\\bootstrap\\scss\\utilities\\_screenreaders.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_screen-reader.scss","..\\..\\node_modules\\bootstrap\\scss\\utilities\\_shadows.scss","..\\..\\node_modules\\bootstrap\\scss\\utilities\\_sizing.scss","..\\..\\node_modules\\bootstrap\\scss\\utilities\\_spacing.scss","..\\..\\node_modules\\bootstrap\\scss\\utilities\\_stretched-link.scss","..\\..\\node_modules\\bootstrap\\scss\\utilities\\_text.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_text-truncate.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_text-emphasis.scss","..\\..\\node_modules\\bootstrap\\scss\\mixins\\_text-hide.scss","..\\..\\node_modules\\bootstrap\\scss\\utilities\\_visibility.scss","..\\..\\node_modules\\bootstrap\\scss\\_print.scss","..\\..\\build\\scss\\mixins\\_animations.scss","..\\..\\build\\scss\\mixins\\_dark-mode.scss","..\\..\\build\\scss\\_root.scss","..\\..\\build\Line truncated
+46 -24
View File
@@ -13,10 +13,11 @@ import {makeStyles} from '@material-ui/core/styles';
import {Alert} from '@material-ui/lab';
import React, {useCallback, useEffect, useState} from "react";
import {Navigate} from "react-router-dom";
import {L} from "shared/locale/locale";
import {L} from "shared/locale";
import ReplayIcon from '@material-ui/icons/Replay';
import LanguageSelection from "../elements/language-selection";
import {decodeText, encodeText, getParameter, removeParameter} from "shared/util";
import Icon from "shared/elements/icon";
const useStyles = makeStyles((theme) => ({
paper: {
@@ -79,13 +80,29 @@ export default function LoginForm(props) {
let [tfaCode, set2FACode] = useState("");
let [tfaState, set2FAState] = useState(0); // 0: not sent, 1: sent, 2: retry
let [tfaError, set2FAError] = useState("");
let [error, setError] = useState("");
let [loaded, setLoaded] = useState(0);
const getNextUrl = () => {
return getParameter("next") || "/admin";
}
const onUpdateLocale = useCallback(() => {
api.getLanguageEntries(["general", "account"]).then(data => {
setLoaded(loaded + 1);
if (!data.success) {
alert(data.msg);
}
});
}, [loaded]);
useEffect(() => {
onUpdateLocale();
}, []);
const onLogin = useCallback(() => {
if (!isLoggingIn) {
setError("");
setLoggingIn(true);
removeParameter("success");
props.onLogin(username, password, rememberMe, (res) => {
@@ -94,6 +111,7 @@ export default function LoginForm(props) {
setPassword("");
if (!res.success) {
setEmailConfirmed(res.emailConfirmed);
setError(res.msg);
}
});
}
@@ -162,24 +180,24 @@ export default function LoginForm(props) {
// 2FA
if (api.loggedIn && api.user["2fa"]) {
return <>
<div>Additional information is required for logging in: {api.user["2fa"].type}</div>
<div>{L("account.2fa_title")}: {api.user["2fa"].type}</div>
{ api.user["2fa"].type === "totp" ?
<TextField
variant="outlined" margin="normal"
id="code" label={L("6-Digit Code")} name="code"
id="code" label={L("account.6_digit_code")} name="code"
autoComplete="code"
required fullWidth autoFocus
value={tfaCode} onChange={(e) => set2FACode(e.target.value)}
/> : <>
Plugin your 2FA-Device. Interaction might be required, e.g. typing in a PIN or touching it.
{L("account.2fa_text")}
<Box mt={2} textAlign={"center"}>
{tfaState !== 2
? <CircularProgress/>
: <div className={classes.error2FA}>
<div>{L("Something went wrong:")}<br />{tfaError}</div>
<div>{L("general.something_went_wrong")}:<br />{tfaError}</div>
<Button onClick={() => set2FAState(0)}
variant={"outlined"} color={"secondary"} size={"small"}>
<ReplayIcon />&nbsp;{L("Retry")}
<ReplayIcon />&nbsp;{L("general.retry")}
</Button>
</div>
}
@@ -187,7 +205,7 @@ export default function LoginForm(props) {
</>
}
{
props.error ? <Alert severity="error">{props.error}</Alert> : <></>
error ? <Alert severity="error">{error}</Alert> : <></>
}
<Grid container spacing={2} className={classes.buttons2FA}>
<Grid item xs={6}>
@@ -196,7 +214,7 @@ export default function LoginForm(props) {
color="inherit" size={"medium"}
disabled={isLoggingIn}
onClick={onCancel2FA}>
{L("Go back")}
{L("general.go_back")}
</Button>
</Grid>
<Grid item xs={6}>
@@ -206,8 +224,8 @@ export default function LoginForm(props) {
disabled={isLoggingIn || api.user["2fa"].type !== "totp"}
onClick={onSubmit2FA}>
{isLoggingIn ?
<>{L("Submitting…")}… <CircularProgress size={15}/></> :
L("Submit")
<>{L("general.submitting")}… <CircularProgress size={15}/></> :
L("general.submit")
}
</Button>
</Grid>
@@ -218,35 +236,35 @@ export default function LoginForm(props) {
return <>
<TextField
variant="outlined" margin="normal"
id="username" label={L("Username")} name="username"
id="username" label={L("account.username")} name="username"
autoComplete="username" disabled={isLoggingIn}
required fullWidth autoFocus
value={username} onChange={(e) => setUsername(e.target.value)}
/>
<TextField
variant="outlined" margin="normal"
name="password" label={L("Password")} type="password" id="password"
name="password" label={L("account.password")} type="password" id="password"
autoComplete="current-password"
required fullWidth disabled={isLoggingIn}
value={password} onChange={(e) => setPassword(e.target.value)}
/>
<FormControlLabel
control={<Checkbox value="remember" color="primary"/>}
label={L("Remember me")}
label={L("account.remember_me")}
checked={rememberMe} onClick={(e) => setRememberMe(!rememberMe)}
/>
{
props.error ?
<Alert severity="error">
{props.error}
error
? <Alert severity="error">
{error}
{emailConfirmed === false
? <> <Link href={"/resendConfirmation"}>Click here</Link> to resend the confirmation email.</>
: <></>
}
</Alert> :
successMessage
</Alert>
: (successMessage
? <Alert severity="success">{successMessage}</Alert>
: <></>
: <></>)
}
<Button
type={"submit"} fullWidth variant={"contained"}
@@ -255,20 +273,20 @@ export default function LoginForm(props) {
disabled={isLoggingIn}
onClick={onLogin}>
{isLoggingIn ?
<>{L("Signing in")}… <CircularProgress size={15}/></> :
L("Sign In")
<>{L("account.signing_in")}… <CircularProgress size={15}/></> :
L("account.sign_in")
}
</Button>
<Grid container>
<Grid item xs>
<Link href="/resetPassword" variant="body2">
{L("Forgot password?")}
{L("account.forgot_password")}
</Link>
</Grid>
{ props.info.registrationAllowed ?
<Grid item>
<Link href="/register" variant="body2">
{L("Don't have an account? Sign Up")}
{L("account.register_text")}
</Link>
</Grid> : <></>
}
@@ -276,6 +294,10 @@ export default function LoginForm(props) {
</>
}
if (loaded === 0) {
return <b>{L("general.loading")}… <Icon icon={"spinner"}/></b>
}
let successMessage = getParameter("success");
return <Container maxWidth={"xs"} className={classes.container}>
<div className={classes.paper}>
@@ -287,7 +309,7 @@ export default function LoginForm(props) {
</div>
<form className={classes.form} onSubmit={(e) => e.preventDefault()}>
{ createForm() }
<LanguageSelection api={api} locale={props.locale} onUpdateLocale={props.onUpdateLocale}/>
<LanguageSelection api={api} onUpdateLocale={onUpdateLocale} />
</form>
</div>
</Container>
+15 -2
View File
@@ -13,14 +13,15 @@
"admin-panel"
],
"scripts": {
"build": "npx parcel build",
"build": "parcel build",
"deploy": "cp -r dist/* ../js/",
"clean": "rm -rfd .parcel-cache dist/*"
},
"author": "",
"license": "ISC",
"devDependencies": {
"@babel/core": "^7.20.2",
"@babel/core": "^7.20.5",
"@babel/plugin-transform-react-jsx": "^7.19.0",
"customize-cra": "^1.0.0",
"parcel": "^2.8.0",
"react-app-rewired": "^2.2.1",
@@ -40,5 +41,17 @@
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-router-dom": "^6.4.3"
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}
+62 -2
View File
@@ -1,3 +1,5 @@
import {Locale} from "./locale";
export default class API {
constructor() {
this.loggedIn = false;
@@ -136,11 +138,69 @@ export default class API {
return this.apiCall("language/get");
}
async setLanguage(params) {
let res = await this.apiCall("language/set", params);
if (res.success) {
Locale.getInstance().setLocale(res.language.code);
}
return res;
}
async setLanguageByCode(code) {
return this.apiCall("language/set", { code: code });
return this.setLanguage({ code: code });
}
async setLanguageByName(name) {
return this.apiCall("language/set", { name: name });
return this.setLanguage({ name: name });
}
async getLanguageEntries(modules, code=null, useCache=true) {
if (!Array.isArray(modules)) {
modules = [modules];
}
let locale = Locale.getInstance();
if (code === null) {
code = locale.currentLocale;
if (code === null && this.loggedIn) {
code = this.user.language.code;
}
}
if (code === null) {
return { success: false, msg: "No locale selected currently" };
}
let languageEntries = {};
if (useCache) {
// remove cached modules from request array
for (const module of [...modules]) {
let moduleEntries = locale.getModule(code, module);
if (moduleEntries) {
modules.splice(modules.indexOf(module), 1);
languageEntries = {...languageEntries, [module]: moduleEntries};
}
}
}
if (modules.length > 0) {
let data = await this.apiCall("language/getEntries", { code: code, modules: modules });
if (useCache) {
if (data && data.success) {
// insert into cache
for (const [module, entries] of Object.entries(data.entries)) {
locale.loadModule(code, module, entries);
}
data.entries = {...data.entries, ...languageEntries};
data.cached = false;
}
}
return data;
} else {
return { success: true, msg: "", entries: languageEntries, code: code, cached: true };
}
}
};
+67
View File
@@ -0,0 +1,67 @@
// application-wide global variables // translation cache
class Locale {
constructor() {
this.entries = {};
this.currentLocale = "en_US";
}
translate(key) {
if (this.currentLocale) {
if (this.entries.hasOwnProperty(this.currentLocale)) {
let [module, variable] = key.split(".");
if (module && variable && this.entries[this.currentLocale].hasOwnProperty(module)) {
let translation = this.entries[this.currentLocale][module][variable];
if (translation) {
return translation;
}
}
}
}
return "[" + key + "]";
}
setLocale(code) {
this.currentLocale = code;
if (!this.entries.hasOwnProperty(code)) {
this.entries[code] = {};
}
}
loadModule(code, module, newEntries) {
if (!this.entries.hasOwnProperty(code)) {
this.entries[code] = {};
}
if (this.entries[code].hasOwnProperty(module)) {
this.entries[code][module] = {...this.entries[code][module], ...newEntries};
} else {
this.entries[code][module] = newEntries;
}
}
hasModule(code, module) {
return this.entries.hasOwnProperty(code) && !!this.entries[code][module];
}
getModule(code, module) {
if (this.hasModule(code, module)) {
return this.entries[code][module];
} else {
return null;
}
}
static getInstance() {
return INSTANCE;
}
}
let INSTANCE = new Locale();
function L(key) {
return Locale.getInstance().translate(key);
}
export { L, Locale };
-14
View File
@@ -1,14 +0,0 @@
import React from "react";
import { enUS as dateFnsEN } from "date-fns/locale/index.js";
export default class LocaleEnglish {
constructor() {
this.code = "en_US";
this.name = "American English";
this.entries = {};
}
toDateFns() {
return dateFnsEN;
}
};
-14
View File
@@ -1,14 +0,0 @@
import React from "react";
import { de as dateFnsDE } from "date-fns/locale/index.js";
export default class LocaleGerman {
constructor() {
this.code = "de_DE";
this.name = "Deutsch Standard";
this.entries = {};
}
toDateFns() {
return dateFnsDE;
}
}
-35
View File
@@ -1,35 +0,0 @@
import LocaleGerman from "./german";
import LocaleEnglish from "./english";
let INSTANCE = new LocaleEnglish();
function initLocale(code) {
if (!INSTANCE || INSTANCE.code !== code) {
const constructors = {
"de_DE": LocaleGerman,
"en_US": LocaleEnglish,
}
if (constructors.hasOwnProperty(code)) {
INSTANCE = new (constructors[code])();
} else {
INSTANCE = { code: code, entries: { } };
}
}
return INSTANCE;
}
function translate(key) {
return (INSTANCE.entries[key] || key);
}
function useLanguageModule(module) {
if (module[INSTANCE.code]) {
for (const [key, value] of Object.entries(module[INSTANCE.code])) {
INSTANCE.entries[key] = value;
}
}
}
export { translate as L, initLocale, useLanguageModule, INSTANCE as currentLocale };
+220 -220
View File
@@ -27,25 +27,25 @@
"@babel/highlight" "^7.18.6"
"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.0", "@babel/compat-data@^7.20.1":
version "7.20.1"
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.1.tgz#f2e6ef7790d8c8dbf03d379502dcc246dcce0b30"
integrity sha512-EWZ4mE2diW3QALKvDMiXnbZpRvlj+nayZ112nK93SnhqOtpdsbVD4W+2tEoT3YNBAG9RBR0ISY758ZkOgsn6pQ==
version "7.20.5"
resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.5.tgz#86f172690b093373a933223b4745deeb6049e733"
integrity sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g==
"@babel/core@^7.1.0", "@babel/core@^7.11.1", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.20.2", "@babel/core@^7.7.2", "@babel/core@^7.8.0":
version "7.20.2"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.2.tgz#8dc9b1620a673f92d3624bd926dc49a52cf25b92"
integrity sha512-w7DbG8DtMrJcFOi4VrLm+8QM4az8Mo+PuLBKLp2zrYRCow8W/f9xiXm5sN53C8HksCyDQwCKha9JiDoIyPjT2g==
"@babel/core@^7.1.0", "@babel/core@^7.11.1", "@babel/core@^7.12.3", "@babel/core@^7.16.0", "@babel/core@^7.20.5", "@babel/core@^7.7.2", "@babel/core@^7.8.0":
version "7.20.5"
resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.5.tgz#45e2114dc6cd4ab167f81daf7820e8fa1250d113"
integrity sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ==
dependencies:
"@ampproject/remapping" "^2.1.0"
"@babel/code-frame" "^7.18.6"
"@babel/generator" "^7.20.2"
"@babel/generator" "^7.20.5"
"@babel/helper-compilation-targets" "^7.20.0"
"@babel/helper-module-transforms" "^7.20.2"
"@babel/helpers" "^7.20.1"
"@babel/parser" "^7.20.2"
"@babel/helpers" "^7.20.5"
"@babel/parser" "^7.20.5"
"@babel/template" "^7.18.10"
"@babel/traverse" "^7.20.1"
"@babel/types" "^7.20.2"
"@babel/traverse" "^7.20.5"
"@babel/types" "^7.20.5"
convert-source-map "^1.7.0"
debug "^4.1.0"
gensync "^1.0.0-beta.2"
@@ -61,12 +61,12 @@
eslint-visitor-keys "^2.1.0"
semver "^6.3.0"
"@babel/generator@^7.20.1", "@babel/generator@^7.20.2", "@babel/generator@^7.7.2":
version "7.20.4"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.4.tgz#4d9f8f0c30be75fd90a0562099a26e5839602ab8"
integrity sha512-luCf7yk/cm7yab6CAW1aiFnmEfBJplb/JojV56MYEK7ziWfGmFlTfmL9Ehwfy4gFhbjBfWO1wj7/TuSbVNEEtA==
"@babel/generator@^7.20.5", "@babel/generator@^7.7.2":
version "7.20.5"
resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.5.tgz#cb25abee3178adf58d6814b68517c62bdbfdda95"
integrity sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==
dependencies:
"@babel/types" "^7.20.2"
"@babel/types" "^7.20.5"
"@jridgewell/gen-mapping" "^0.3.2"
jsesc "^2.5.1"
@@ -95,10 +95,10 @@
browserslist "^4.21.3"
semver "^6.3.0"
"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.20.2":
version "7.20.2"
resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.2.tgz#3c08a5b5417c7f07b5cf3dfb6dc79cbec682e8c2"
integrity sha512-k22GoYRAHPYr9I+Gvy2ZQlAe5mGy8BqWst2wRt8cwIufWTxrsVshhIBvYNqC80N0GSFWTsqRVexOtfzlgOEDvA==
"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.20.2", "@babel/helper-create-class-features-plugin@^7.20.5":
version "7.20.5"
resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.5.tgz#327154eedfb12e977baa4ecc72e5806720a85a06"
integrity sha512-3RCdA/EmEaikrhayahwToF0fpweU/8o2p8vhc1c/1kftHOdTKuC65kik/TLc+qfbS8JKw4qqJbne4ovICDhmww==
dependencies:
"@babel/helper-annotate-as-pure" "^7.18.6"
"@babel/helper-environment-visitor" "^7.18.9"
@@ -108,13 +108,13 @@
"@babel/helper-replace-supers" "^7.19.1"
"@babel/helper-split-export-declaration" "^7.18.6"
"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.19.0":
version "7.19.0"
resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.19.0.tgz#7976aca61c0984202baca73d84e2337a5424a41b"
integrity sha512-htnV+mHX32DF81amCDrwIDr8nrp1PTm+3wfBN9/v8QJOLEioOCOG7qNyq0nHeFiWbT3Eb7gsPwEmV64UCQ1jzw==
"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.20.5":
version "7.20.5"
resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz#5ea79b59962a09ec2acf20a963a01ab4d076ccca"
integrity sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==
dependencies:
"@babel/helper-annotate-as-pure" "^7.18.6"
regexpu-core "^5.1.0"
regexpu-core "^5.2.1"
"@babel/helper-define-polyfill-provider@^0.3.3":
version "0.3.3"
@@ -253,23 +253,23 @@
integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==
"@babel/helper-wrap-function@^7.18.9":
version "7.19.0"
resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.19.0.tgz#89f18335cff1152373222f76a4b37799636ae8b1"
integrity sha512-txX8aN8CZyYGTwcLhlk87KRqncAzhh5TpQamZUa0/u3an36NtDpUP6bQgBCBcLeBs09R/OwQu3OjK0k/HwfNDg==
version "7.20.5"
resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz#75e2d84d499a0ab3b31c33bcfe59d6b8a45f62e3"
integrity sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==
dependencies:
"@babel/helper-function-name" "^7.19.0"
"@babel/template" "^7.18.10"
"@babel/traverse" "^7.19.0"
"@babel/types" "^7.19.0"
"@babel/traverse" "^7.20.5"
"@babel/types" "^7.20.5"
"@babel/helpers@^7.20.1":
version "7.20.1"
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.1.tgz#2ab7a0fcb0a03b5bf76629196ed63c2d7311f4c9"
integrity sha512-J77mUVaDTUJFZ5BpP6mMn6OIl3rEWymk2ZxDBQJUG3P+PbmyMcF3bYWvz0ma69Af1oobDqT/iAsvzhB58xhQUg==
"@babel/helpers@^7.20.5":
version "7.20.6"
resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.6.tgz#e64778046b70e04779dfbdf924e7ebb45992c763"
integrity sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==
dependencies:
"@babel/template" "^7.18.10"
"@babel/traverse" "^7.20.1"
"@babel/types" "^7.20.0"
"@babel/traverse" "^7.20.5"
"@babel/types" "^7.20.5"
"@babel/highlight@^7.18.6":
version "7.18.6"
@@ -280,10 +280,10 @@
chalk "^2.0.0"
js-tokens "^4.0.0"
"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.20.1", "@babel/parser@^7.20.2":
version "7.20.3"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.3.tgz#5358cf62e380cf69efcb87a7bb922ff88bfac6e2"
integrity sha512-OP/s5a94frIPXwjzEcv5S/tpQfc6XhxYUnmWpgdqMWGgYCuErA3SzozaRAMQgSZWKeTJxht9aWAkUY+0UzvOFg==
"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.18.10", "@babel/parser@^7.20.5":
version "7.20.5"
resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.5.tgz#7f3c7335fe417665d929f34ae5dceae4c04015e8"
integrity sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6":
version "7.18.6"
@@ -329,11 +329,11 @@
"@babel/plugin-syntax-class-static-block" "^7.14.5"
"@babel/plugin-proposal-decorators@^7.16.4":
version "7.20.2"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.20.2.tgz#1c6c32b2a44b154ebeec2bb534f9eaebdb541fb6"
integrity sha512-nkBH96IBmgKnbHQ5gXFrcmez+Z9S2EIDKDQGp005ROqBigc88Tky4rzCnlP/lnlj245dCEQl4/YyV0V1kYh5dw==
version "7.20.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.20.5.tgz#28ba1a0e5044664a512967a19407d7fc26925394"
integrity sha512-Lac7PpRJXcC3s9cKsBfl+uc+DYXU5FD06BrTFunQO6QIQT+DwyzDPURAowI3bcvD1dZF/ank1Z5rstUJn3Hn4Q==
dependencies:
"@babel/helper-create-class-features-plugin" "^7.20.2"
"@babel/helper-create-class-features-plugin" "^7.20.5"
"@babel/helper-plugin-utils" "^7.20.2"
"@babel/helper-replace-supers" "^7.19.1"
"@babel/helper-split-export-declaration" "^7.18.6"
@@ -424,13 +424,13 @@
"@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-proposal-private-property-in-object@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.18.6.tgz#a64137b232f0aca3733a67eb1a144c192389c503"
integrity sha512-9Rysx7FOctvT5ouj5JODjAFAkgGoudQuLPamZb0v1TGLpapdNaftzifU8NTWQm0IRjqoYypdrSmyWgkocDQ8Dw==
version "7.20.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz#309c7668f2263f1c711aa399b5a9a6291eef6135"
integrity sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ==
dependencies:
"@babel/helper-annotate-as-pure" "^7.18.6"
"@babel/helper-create-class-features-plugin" "^7.18.6"
"@babel/helper-plugin-utils" "^7.18.6"
"@babel/helper-create-class-features-plugin" "^7.20.5"
"@babel/helper-plugin-utils" "^7.20.2"
"@babel/plugin-syntax-private-property-in-object" "^7.14.5"
"@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4":
@@ -612,9 +612,9 @@
"@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-transform-block-scoping@^7.20.2":
version "7.20.2"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.2.tgz#f59b1767e6385c663fd0bce655db6ca9c8b236ed"
integrity sha512-y5V15+04ry69OV2wULmwhEA6jwSWXO1TwAtIwiPXcvHcoOQUqpyMVd2bDsQJMW8AurjulIyUV8kDqtjSwHy1uQ==
version "7.20.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.5.tgz#401215f9dc13dc5262940e2e527c9536b3d7f237"
integrity sha512-WvpEIW9Cbj9ApF3yJCjIEEf1EiNJLtXagOrL5LNWEZOo3jv8pmPoYTSNJQvqej8OavVlgOoOPw6/htGZro6IkA==
dependencies:
"@babel/helper-plugin-utils" "^7.20.2"
@@ -744,12 +744,12 @@
"@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-transform-named-capturing-groups-regex@^7.19.1":
version "7.19.1"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.19.1.tgz#ec7455bab6cd8fb05c525a94876f435a48128888"
integrity sha512-oWk9l9WItWBQYS4FgXD4Uyy5kq898lvkXpXQxoJEY1RnvPk4R/Dvu2ebXU9q8lP+rlMwUQTFf2Ok6d78ODa0kw==
version "7.20.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz#626298dd62ea51d452c3be58b285d23195ba69a8"
integrity sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==
dependencies:
"@babel/helper-create-regexp-features-plugin" "^7.19.0"
"@babel/helper-plugin-utils" "^7.19.0"
"@babel/helper-create-regexp-features-plugin" "^7.20.5"
"@babel/helper-plugin-utils" "^7.20.2"
"@babel/plugin-transform-new-target@^7.18.6":
version "7.18.6"
@@ -767,9 +767,9 @@
"@babel/helper-replace-supers" "^7.18.6"
"@babel/plugin-transform-parameters@^7.20.1":
version "7.20.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.3.tgz#7b3468d70c3c5b62e46be0a47b6045d8590fb748"
integrity sha512-oZg/Fpx0YDrj13KsLyO8I/CX3Zdw7z0O9qOd95SqcoIzuqy/WTGWvePeHAnZCN54SfdyjHcb1S30gc8zlzlHcA==
version "7.20.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.5.tgz#f8f9186c681d10c3de7620c916156d893c8a019e"
integrity sha512-h7plkOmcndIUWXZFLgpbrh2+fXAi47zcUX7IrOQuZdLD0I0KvjJ6cvo3BEcAOsDOcZhVKGJqv07mkSqK0y2isQ==
dependencies:
"@babel/helper-plugin-utils" "^7.20.2"
@@ -801,7 +801,7 @@
dependencies:
"@babel/plugin-transform-react-jsx" "^7.18.6"
"@babel/plugin-transform-react-jsx@^7.18.6":
"@babel/plugin-transform-react-jsx@^7.18.6", "@babel/plugin-transform-react-jsx@^7.19.0":
version "7.19.0"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz#b3cbb7c3a00b92ec8ae1027910e331ba5c500eb9"
integrity sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==
@@ -821,12 +821,12 @@
"@babel/helper-plugin-utils" "^7.18.6"
"@babel/plugin-transform-regenerator@^7.18.6":
version "7.18.6"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.6.tgz#585c66cb84d4b4bf72519a34cfce761b8676ca73"
integrity sha512-poqRI2+qiSdeldcz4wTSTXBRryoq3Gc70ye7m7UD5Ww0nE29IXqMl6r7Nd15WBgRd74vloEMlShtH6CKxVzfmQ==
version "7.20.5"
resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz#57cda588c7ffb7f4f8483cc83bdcea02a907f04d"
integrity sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==
dependencies:
"@babel/helper-plugin-utils" "^7.18.6"
regenerator-transform "^0.15.0"
"@babel/helper-plugin-utils" "^7.20.2"
regenerator-transform "^0.15.1"
"@babel/plugin-transform-reserved-words@^7.18.6":
version "7.18.6"
@@ -1021,19 +1021,19 @@
"@babel/plugin-transform-typescript" "^7.18.6"
"@babel/runtime-corejs3@^7.10.2":
version "7.20.1"
resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.20.1.tgz#d0775a49bb5fba77e42cbb7276c9955c7b05af8d"
integrity sha512-CGulbEDcg/ND1Im7fUNRZdGXmX2MTWVVZacQi/6DiKE5HNwZ3aVTm5PV4lO8HHz0B2h8WQyvKKjbX5XgTtydsg==
version "7.20.6"
resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.20.6.tgz#63dae945963539ab0ad578efbf3eff271e7067ae"
integrity sha512-tqeujPiuEfcH067mx+7otTQWROVMKHXEaOQcAeNV5dDdbPWvPcFA8/W9LXw2NfjNmOetqLl03dfnG2WALPlsRQ==
dependencies:
core-js-pure "^3.25.1"
regenerator-runtime "^0.13.10"
regenerator-runtime "^0.13.11"
"@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.3", "@babel/runtime@^7.18.9", "@babel/runtime@^7.3.1", "@babel/runtime@^7.4.4", "@babel/runtime@^7.5.5", "@babel/runtime@^7.8.3", "@babel/runtime@^7.8.4", "@babel/runtime@^7.8.7":
version "7.20.1"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.1.tgz#1148bb33ab252b165a06698fde7576092a78b4a9"
integrity sha512-mrzLkl6U9YLF8qpqI7TB82PESyEGjm/0Ly91jG575eVxMMlb8fYfOXFZIJ8XfLrJZQbm7dlKry2bJmXBUEkdFg==
version "7.20.6"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.6.tgz#facf4879bfed9b5326326273a64220f099b0fce3"
integrity sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA==
dependencies:
regenerator-runtime "^0.13.10"
regenerator-runtime "^0.13.11"
"@babel/template@^7.18.10", "@babel/template@^7.3.3":
version "7.18.10"
@@ -1044,26 +1044,26 @@
"@babel/parser" "^7.18.10"
"@babel/types" "^7.18.10"
"@babel/traverse@^7.19.0", "@babel/traverse@^7.19.1", "@babel/traverse@^7.20.1", "@babel/traverse@^7.7.2":
version "7.20.1"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.1.tgz#9b15ccbf882f6d107eeeecf263fbcdd208777ec8"
integrity sha512-d3tN8fkVJwFLkHkBN479SOsw4DMZnz8cdbL/gvuDuzy3TS6Nfw80HuQqhw1pITbIruHyh7d1fMA47kWzmcUEGA==
"@babel/traverse@^7.19.1", "@babel/traverse@^7.20.1", "@babel/traverse@^7.20.5", "@babel/traverse@^7.7.2":
version "7.20.5"
resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.5.tgz#78eb244bea8270fdda1ef9af22a5d5e5b7e57133"
integrity sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ==
dependencies:
"@babel/code-frame" "^7.18.6"
"@babel/generator" "^7.20.1"
"@babel/generator" "^7.20.5"
"@babel/helper-environment-visitor" "^7.18.9"
"@babel/helper-function-name" "^7.19.0"
"@babel/helper-hoist-variables" "^7.18.6"
"@babel/helper-split-export-declaration" "^7.18.6"
"@babel/parser" "^7.20.1"
"@babel/types" "^7.20.0"
"@babel/parser" "^7.20.5"
"@babel/types" "^7.20.5"
debug "^4.1.0"
globals "^11.1.0"
"@babel/types@^7.0.0", "@babel/types@^7.12.6", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4":
version "7.20.2"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.2.tgz#67ac09266606190f496322dbaff360fdaa5e7842"
integrity sha512-FnnvsNWgZCr232sqtXggapvlkk/tuwR/qhGzcmxI0GXLCjmPYQPzio2FbdlWuY6y1sHFfQKk+rRbUZ9VStQMog==
"@babel/types@^7.0.0", "@babel/types@^7.12.6", "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4":
version "7.20.5"
resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.5.tgz#e206ae370b5393d94dfd1d04cd687cace53efa84"
integrity sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==
dependencies:
"@babel/helper-string-parser" "^7.19.4"
"@babel/helper-validator-identifier" "^7.19.1"
@@ -2255,9 +2255,9 @@
nullthrows "^1.1.1"
"@pmmmwh/react-refresh-webpack-plugin@^0.5.3":
version "0.5.9"
resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.9.tgz#35aae6624a6270ca7ad755800b7eec417fa6f830"
integrity sha512-7QV4cqUwhkDIHpMAZ9mestSJ2DMIotVTbOUwbiudhjCRTAWWKIaBecELiEM2LT3AHFeOAaHIcFu4dbXjX+9GBA==
version "0.5.10"
resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.10.tgz#2eba163b8e7dbabb4ce3609ab5e32ab63dda3ef8"
integrity sha512-j0Ya0hCFZPd4x40qLzbhGsh9TMtdb+CJQiso+WxLOPNasohq9cc5SNUcwsZaRH6++Xh91Xkm/xHCkuIiIu0LUA==
dependencies:
ansi-html-community "^0.0.8"
common-path-prefix "^3.0.0"
@@ -2265,7 +2265,7 @@
error-stack-parser "^2.0.6"
find-up "^5.0.0"
html-entities "^2.1.0"
loader-utils "^2.0.3"
loader-utils "^2.0.4"
schema-utils "^3.0.0"
source-map "^0.7.3"
@@ -2322,9 +2322,9 @@
integrity sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==
"@sinonjs/commons@^1.7.0":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.5.tgz#e280c94c95f206dcfd5aca00a43f2156b758c764"
integrity sha512-rTpCA0wG1wUxglBSFdMMY0oTrKYvgf4fNgv/sXbfCVAdf+FnPBdKJR/7XbpTCwbCrvCbdPYnlWaUUYz4V2fPDA==
version "1.8.6"
resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.6.tgz#80c516a4dc264c2a69115e7578d62581ff455ed9"
integrity sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==
dependencies:
type-detect "4.0.8"
@@ -2492,9 +2492,9 @@
"@babel/types" "^7.0.0"
"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6":
version "7.18.2"
resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.2.tgz#235bf339d17185bdec25e024ca19cce257cc7309"
integrity sha512-FcFaxOr2V5KZCviw1TnutEMVUVsGt4D2hP1TAfXZAMKuHYW3xQhe3jTxNPWutgCJ3/X1c5yX8ZoGVEItxKbwBg==
version "7.18.3"
resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.3.tgz#dfc508a85781e5698d5b33443416b6268c4b3e8d"
integrity sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==
dependencies:
"@babel/types" "^7.3.0"
@@ -2756,20 +2756,20 @@
"@types/yargs-parser" "*"
"@types/yargs@^17.0.8":
version "17.0.14"
resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.14.tgz#0943473052c24bd8cf2d1de25f1a710259327237"
integrity sha512-9Pj7abXoW1RSTcZaL2Hk6G2XyLMlp5ECdVC/Zf2p/KBjC3srijLGgRAXOBjtFrJoIrvxdTKyKDA14bEcbxBaWw==
version "17.0.15"
resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.15.tgz#5b62c89fb049e2fc8378394a2861a593055f0866"
integrity sha512-ZHc4W2dnEQPfhn06TBEdWaiUHEZAocYaiVMfwOipY5jcJt/251wVrKCBWBetGZWO5CF8tdb7L3DmdxVlZ2BOIg==
dependencies:
"@types/yargs-parser" "*"
"@typescript-eslint/eslint-plugin@^5.5.0":
version "5.44.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.44.0.tgz#105788f299050c917eb85c4d9fd04b089e3740de"
integrity sha512-j5ULd7FmmekcyWeArx+i8x7sdRHzAtXTkmDPthE4amxZOWKFK7bomoJ4r7PJ8K7PoMzD16U8MmuZFAonr1ERvw==
version "5.45.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.45.0.tgz#ffa505cf961d4844d38cfa19dcec4973a6039e41"
integrity sha512-CXXHNlf0oL+Yg021cxgOdMHNTXD17rHkq7iW6RFHoybdFgQBjU3yIXhhcPpGwr1CjZlo6ET8C6tzX5juQoXeGA==
dependencies:
"@typescript-eslint/scope-manager" "5.44.0"
"@typescript-eslint/type-utils" "5.44.0"
"@typescript-eslint/utils" "5.44.0"
"@typescript-eslint/scope-manager" "5.45.0"
"@typescript-eslint/type-utils" "5.45.0"
"@typescript-eslint/utils" "5.45.0"
debug "^4.3.4"
ignore "^5.2.0"
natural-compare-lite "^1.4.0"
@@ -2778,78 +2778,78 @@
tsutils "^3.21.0"
"@typescript-eslint/experimental-utils@^5.0.0":
version "5.44.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.44.0.tgz#51ee9699532270ce3c95e2dee4313d18c24fad56"
integrity sha512-j8GLemAySe8oUCgILdUaT66pemdWSYcwUYG2Pb71O119hCdvkU+4q8sUTbnDg8NhlZEzSWG2N1v4IxT1kEZrGg==
version "5.45.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-5.45.0.tgz#b59fea61a855cb2b1fdbd0fb45934a844f4bf870"
integrity sha512-DnRQg5+3uHHt/gaifTjwg9OKbg9/TWehfJzYHQIDJboPEbF897BKDE/qoqMhW7nf0jWRV1mwVXTaUvtB1/9Gwg==
dependencies:
"@typescript-eslint/utils" "5.44.0"
"@typescript-eslint/utils" "5.45.0"
"@typescript-eslint/parser@^5.5.0":
version "5.44.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.44.0.tgz#99e2c710a2252191e7a79113264f438338b846ad"
integrity sha512-H7LCqbZnKqkkgQHaKLGC6KUjt3pjJDx8ETDqmwncyb6PuoigYajyAwBGz08VU/l86dZWZgI4zm5k2VaKqayYyA==
version "5.45.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.45.0.tgz#b18a5f6b3cf1c2b3e399e9d2df4be40d6b0ddd0e"
integrity sha512-brvs/WSM4fKUmF5Ot/gEve6qYiCMjm6w4HkHPfS6ZNmxTS0m0iNN4yOChImaCkqc1hRwFGqUyanMXuGal6oyyQ==
dependencies:
"@typescript-eslint/scope-manager" "5.44.0"
"@typescript-eslint/types" "5.44.0"
"@typescript-eslint/typescript-estree" "5.44.0"
"@typescript-eslint/scope-manager" "5.45.0"
"@typescript-eslint/types" "5.45.0"
"@typescript-eslint/typescript-estree" "5.45.0"
debug "^4.3.4"
"@typescript-eslint/scope-manager@5.44.0":
version "5.44.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.44.0.tgz#988c3f34b45b3474eb9ff0674c18309dedfc3e04"
integrity sha512-2pKml57KusI0LAhgLKae9kwWeITZ7IsZs77YxyNyIVOwQ1kToyXRaJLl+uDEXzMN5hnobKUOo2gKntK9H1YL8g==
"@typescript-eslint/scope-manager@5.45.0":
version "5.45.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.45.0.tgz#7a4ac1bfa9544bff3f620ab85947945938319a96"
integrity sha512-noDMjr87Arp/PuVrtvN3dXiJstQR1+XlQ4R1EvzG+NMgXi8CuMCXpb8JqNtFHKceVSQ985BZhfRdowJzbv4yKw==
dependencies:
"@typescript-eslint/types" "5.44.0"
"@typescript-eslint/visitor-keys" "5.44.0"
"@typescript-eslint/types" "5.45.0"
"@typescript-eslint/visitor-keys" "5.45.0"
"@typescript-eslint/type-utils@5.44.0":
version "5.44.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.44.0.tgz#bc5a6e8a0269850714a870c9268c038150dfb3c7"
integrity sha512-A1u0Yo5wZxkXPQ7/noGkRhV4J9opcymcr31XQtOzcc5nO/IHN2E2TPMECKWYpM3e6olWEM63fq/BaL1wEYnt/w==
"@typescript-eslint/type-utils@5.45.0":
version "5.45.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.45.0.tgz#aefbc954c40878fcebeabfb77d20d84a3da3a8b2"
integrity sha512-DY7BXVFSIGRGFZ574hTEyLPRiQIvI/9oGcN8t1A7f6zIs6ftbrU0nhyV26ZW//6f85avkwrLag424n+fkuoJ1Q==
dependencies:
"@typescript-eslint/typescript-estree" "5.44.0"
"@typescript-eslint/utils" "5.44.0"
"@typescript-eslint/typescript-estree" "5.45.0"
"@typescript-eslint/utils" "5.45.0"
debug "^4.3.4"
tsutils "^3.21.0"
"@typescript-eslint/types@5.44.0":
version "5.44.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.44.0.tgz#f3f0b89aaff78f097a2927fe5688c07e786a0241"
integrity sha512-Tp+zDnHmGk4qKR1l+Y1rBvpjpm5tGXX339eAlRBDg+kgZkz9Bw+pqi4dyseOZMsGuSH69fYfPJCBKBrbPCxYFQ==
"@typescript-eslint/types@5.45.0":
version "5.45.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.45.0.tgz#794760b9037ee4154c09549ef5a96599621109c5"
integrity sha512-QQij+u/vgskA66azc9dCmx+rev79PzX8uDHpsqSjEFtfF2gBUTRCpvYMh2gw2ghkJabNkPlSUCimsyBEQZd1DA==
"@typescript-eslint/typescript-estree@5.44.0":
version "5.44.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.44.0.tgz#0461b386203e8d383bb1268b1ed1da9bc905b045"
integrity sha512-M6Jr+RM7M5zeRj2maSfsZK2660HKAJawv4Ud0xT+yauyvgrsHu276VtXlKDFnEmhG+nVEd0fYZNXGoAgxwDWJw==
"@typescript-eslint/typescript-estree@5.45.0":
version "5.45.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.45.0.tgz#f70a0d646d7f38c0dfd6936a5e171a77f1e5291d"
integrity sha512-maRhLGSzqUpFcZgXxg1qc/+H0bT36lHK4APhp0AEUVrpSwXiRAomm/JGjSG+kNUio5kAa3uekCYu/47cnGn5EQ==
dependencies:
"@typescript-eslint/types" "5.44.0"
"@typescript-eslint/visitor-keys" "5.44.0"
"@typescript-eslint/types" "5.45.0"
"@typescript-eslint/visitor-keys" "5.45.0"
debug "^4.3.4"
globby "^11.1.0"
is-glob "^4.0.3"
semver "^7.3.7"
tsutils "^3.21.0"
"@typescript-eslint/utils@5.44.0", "@typescript-eslint/utils@^5.13.0":
version "5.44.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.44.0.tgz#d733da4d79d6c30f1a68b531cdda1e0c1f00d52d"
integrity sha512-fMzA8LLQ189gaBjS0MZszw5HBdZgVwxVFShCO3QN+ws3GlPkcy9YuS3U4wkT6su0w+Byjq3mS3uamy9HE4Yfjw==
"@typescript-eslint/utils@5.45.0", "@typescript-eslint/utils@^5.13.0":
version "5.45.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.45.0.tgz#9cca2996eee1b8615485a6918a5c763629c7acf5"
integrity sha512-OUg2JvsVI1oIee/SwiejTot2OxwU8a7UfTFMOdlhD2y+Hl6memUSL4s98bpUTo8EpVEr0lmwlU7JSu/p2QpSvA==
dependencies:
"@types/json-schema" "^7.0.9"
"@types/semver" "^7.3.12"
"@typescript-eslint/scope-manager" "5.44.0"
"@typescript-eslint/types" "5.44.0"
"@typescript-eslint/typescript-estree" "5.44.0"
"@typescript-eslint/scope-manager" "5.45.0"
"@typescript-eslint/types" "5.45.0"
"@typescript-eslint/typescript-estree" "5.45.0"
eslint-scope "^5.1.1"
eslint-utils "^3.0.0"
semver "^7.3.7"
"@typescript-eslint/visitor-keys@5.44.0":
version "5.44.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.44.0.tgz#10740dc28902bb903d12ee3a005cc3a70207d433"
integrity sha512-a48tLG8/4m62gPFbJ27FxwCOqPKxsb8KC3HkmYoq2As/4YyjQl1jDbRr1s63+g4FS/iIehjmN3L5UjmKva1HzQ==
"@typescript-eslint/visitor-keys@5.45.0":
version "5.45.0"
resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.45.0.tgz#e0d160e9e7fdb7f8da697a5b78e7a14a22a70528"
integrity sha512-jc6Eccbn2RtQPr1s7th6jJWQHBHI6GBVQkCHoJFQ5UreaKm59Vxw+ynQUPPY2u2Amquc+7tmEoC2G52ApsGNNg==
dependencies:
"@typescript-eslint/types" "5.44.0"
"@typescript-eslint/types" "5.45.0"
eslint-visitor-keys "^3.3.0"
"@webassemblyjs/ast@1.11.1":
@@ -3613,9 +3613,9 @@ caniuse-api@^3.0.0:
lodash.uniq "^4.5.0"
caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001426:
version "1.0.30001434"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001434.tgz#ec1ec1cfb0a93a34a0600d37903853030520a4e5"
integrity sha512-aOBHrLmTQw//WFa2rcF1If9fa3ypkC1wzqqiKHgfdrXTWcU8C4gKVZT77eQAPWN1APys3+uQ0Df07rKauXGEYA==
version "1.0.30001435"
resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001435.tgz#502c93dbd2f493bee73a408fe98e98fb1dad10b2"
integrity sha512-kdCkUTjR+v4YAJelyiDTqiu82BDr4W4CP5sgTA0ZBmqn30XfS2ZghPLMowik9TPhS+psWJiUNxsqLyurDbmutA==
case-sensitive-paths-webpack-plugin@^2.4.0:
version "2.4.0"
@@ -3675,9 +3675,9 @@ chrome-trace-event@^1.0.2:
integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==
ci-info@^3.2.0:
version "3.6.2"
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.6.2.tgz#362ea15378f1c39378ba786affbc1c9ef015ecfd"
integrity sha512-lVZdhvbEudris15CLytp2u6Y0p5EKfztae9Fqa189MfNmln9F33XuH69v5fvNfiRN5/0eAUz2yJL3mo+nhaRKg==
version "3.7.0"
resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.7.0.tgz#6d01b3696c59915b6ce057e4aa4adfc2fa25f5ef"
integrity sha512-2CpRNYmImPx+RXKLq6jko/L07phmS9I02TyqkcNU20GCF/GgaWvc58hPtjxDX8lPpkdwc9sNh72V9k00S7ezog==
cjs-module-lexer@^1.0.0:
version "1.2.2"
@@ -4031,9 +4031,9 @@ css-what@^6.0.1:
integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==
cssdb@^7.1.0:
version "7.1.0"
resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-7.1.0.tgz#574f97235a83eb753a29f0b1f2cbacac0d628bb8"
integrity sha512-Sd99PrFgx28ez4GHu8yoQIufc/70h9oYowDf4EjeIKi8mac9whxRjhM3IaMr6EllP6KKKWtJrMfN6C7T9tIWvQ==
version "7.2.0"
resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-7.2.0.tgz#f44bd4abc430f0ff7f4c64b8a1fb857a753f77a8"
integrity sha512-JYlIsE7eKHSi0UNuCyo96YuIDFqvhGgHw4Ck6lsN+DP0Tp8M64UTDT2trGbkMDqnCoEjks7CkS0XcjU0rkvBdg==
cssesc@^3.0.0:
version "3.0.0"
@@ -5562,9 +5562,9 @@ identity-obj-proxy@^3.0.0:
harmony-reflect "^1.4.6"
ignore@^5.2.0:
version "5.2.0"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a"
integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==
version "5.2.1"
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.1.tgz#c2b1f76cb999ede1502f3a226a9310fdfe88d46c"
integrity sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==
immer@^9.0.7:
version "9.0.16"
@@ -6611,61 +6611,61 @@ levn@~0.3.0:
prelude-ls "~1.1.2"
type-check "~0.3.2"
lightningcss-darwin-arm64@1.16.1:
version "1.16.1"
resolved "https://registry.yarnpkg.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.16.1.tgz#f67287c500b96bc5d21e6d04de0e2607ff2784ff"
integrity sha512-/J898YSAiGVqdybHdIF3Ao0Hbh2vyVVj5YNm3NznVzTSvkOi3qQCAtO97sfmNz+bSRHXga7ZPLm+89PpOM5gAg==
lightningcss-darwin-arm64@1.17.0:
version "1.17.0"
resolved "https://registry.yarnpkg.com/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.17.0.tgz#c30e5f0c7419a3c88bb645fd1aa69573166c160b"
integrity sha512-k8/9PaFUZ7ISS5XGDo3RLRUoj1Yf0yNvjYsU4n8TqjE7kCZY0eJaYb6PFvFba1RQ2i3EX5SFiW9nxrEctU+o1A==
lightningcss-darwin-x64@1.16.1:
version "1.16.1"
resolved "https://registry.yarnpkg.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.16.1.tgz#2dc89dd4e1eb3c39ca4abbeca769a276c206b038"
integrity sha512-vyKCNPRNRqke+5i078V+N0GLfMVLEaNcqIcv28hA/vUNRGk/90EDkDB9EndGay0MoPIrC2y0qE3Y74b/OyedqQ==
lightningcss-darwin-x64@1.17.0:
version "1.17.0"
resolved "https://registry.yarnpkg.com/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.17.0.tgz#4ec0f17ff0234fd574a347f235af549beecefabe"
integrity sha512-tkY6IsflCzU63/QlM5L+ygIRMnnJdx2l7ay7dphEhMw1I2Rf3vQli8N/Lj3MSxFe5srJwxv2leDM9VzVhKFm3Q==
lightningcss-linux-arm-gnueabihf@1.16.1:
version "1.16.1"
resolved "https://registry.yarnpkg.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.16.1.tgz#9edacb0d9bd18fa1830a9d9f9ba00bdc9f8dabc9"
integrity sha512-0AJC52l40VbrzkMJz6qRvlqVVGykkR2MgRS4bLjVC2ab0H0I/n4p6uPZXGvNIt5gw1PedeND/hq+BghNdgfuPQ==
lightningcss-linux-arm-gnueabihf@1.17.0:
version "1.17.0"
resolved "https://registry.yarnpkg.com/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.17.0.tgz#3d84b9ca8651dd1223ea7aec9ec4b5c889a57e25"
integrity sha512-bvACFOvKv3Ls8d5OPG0sCCKV44/cr2UMDceWc4qXHQ3cKoeyduuqitYF9Ez6U7OmyI5B2MEXB8ttyRdr1oL/pg==
lightningcss-linux-arm64-gnu@1.16.1:
version "1.16.1"
resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.16.1.tgz#b6986324d21de3813b84432b51c3e7b019dd2224"
integrity sha512-NqxYXsRvI3/Fb9AQLXKrYsU0Q61LqKz5It+Es9gidsfcw1lamny4lmlUgO3quisivkaLCxEkogaizcU6QeZeWQ==
lightningcss-linux-arm64-gnu@1.17.0:
version "1.17.0"
resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.17.0.tgz#c36bca7226e1857ce21adac393051429401fc6cc"
integrity sha512-tLX4TtLg5h8RQjZuB8qXJ9bi2i16e70E+hKXCAV84KgjcAkjcBq1f9xuo5NNg7/+gyLvzdpUEOtmMd5FK5dMqQ==
lightningcss-linux-arm64-musl@1.16.1:
version "1.16.1"
resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.16.1.tgz#d13a01ed19a72c99b4ef9c5b9d8ee0dcdc4bf3ed"
integrity sha512-VUPQ4dmB9yDQxpJF8/imtwNcbIPzlL6ArLHSUInOGxipDk1lOAklhUjbKUvlL3HVlDwD3WHCxggAY01WpFcjiA==
lightningcss-linux-arm64-musl@1.17.0:
version "1.17.0"
resolved "https://registry.yarnpkg.com/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.17.0.tgz#cd88f0c0d994c13d5eb95126a95165b9cc30cc90"
integrity sha512-HtXlBG7mKDBGqqxKzyFb4m7BeJhO2jc+KGwcNz/3BJcQLGDbUyInVHC2kwIDtlVQi5Ugn7Hg+Q/kSOyYdnuQ3A==
lightningcss-linux-x64-gnu@1.16.1:
version "1.16.1"
resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.16.1.tgz#6c888ef4faac53333d6d2241da463c405b19ec79"
integrity sha512-A40Jjnbellnvh4YF+kt047GLnUU59iLN2LFRCyWQG+QqQZeXOCzXfTQ6EJB4yvHB1mQvWOVdAzVrtEmRw3Vh8g==
lightningcss-linux-x64-gnu@1.17.0:
version "1.17.0"
resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.17.0.tgz#2f5afbd4f8f727d209f8013584f21611d4d521d0"
integrity sha512-xANXvOqArvnYjEGKZkjmeAvX1nchcdMZ3mYU7XbEzs9mPWbP4fyJ2AWmClslX3PyW2i1lRXsN9lFP515shsBEw==
lightningcss-linux-x64-musl@1.16.1:
version "1.16.1"
resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.16.1.tgz#20b51081679dd6b7271ce11df825dc536a0c617c"
integrity sha512-VZf76GxW+8mk238tpw0u9R66gBi/m0YB0TvD54oeGiOqvTZ/mabkBkbsuXTSWcKYj8DSrLW+A42qu+6PLRsIgA==
lightningcss-linux-x64-musl@1.17.0:
version "1.17.0"
resolved "https://registry.yarnpkg.com/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.17.0.tgz#08607fb1827c719fa3a28d98aeeec92ccb4d64dc"
integrity sha512-F4mZ9uPMD35wegJvyVOvfSuX+Xuu6N0kqNsw5o0cX0SVLEbYXh5xhXXgr/V1aS4VPGqqMR+HoSJV5FJ/g3DvEA==
lightningcss-win32-x64-msvc@1.16.1:
version "1.16.1"
resolved "https://registry.yarnpkg.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.16.1.tgz#7546b4dca78314b1d2701ed220cb6e50b8c6b5ca"
integrity sha512-Djy+UzlTtJMayVJU3eFuUW5Gdo+zVTNPJhlYw25tNC9HAoMCkIdSDDrGsWEdEyibEV7xwB8ySTmLuxilfhBtgg==
lightningcss-win32-x64-msvc@1.17.0:
version "1.17.0"
resolved "https://registry.yarnpkg.com/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.17.0.tgz#b8c5cf0e349715319c9064978bff43947f541eb0"
integrity sha512-PbG+MTGVmIM0oEPUEBECnnYH4E+wlABWf98n0O7BJhoX4jcakbqn6v1LdIT6ogE/5T4i9HAlnr7k/J9M5u4qww==
lightningcss@^1.16.1:
version "1.16.1"
resolved "https://registry.yarnpkg.com/lightningcss/-/lightningcss-1.16.1.tgz#b5a16632b6824d023af2fb7d35b1c6fc42608bc6"
integrity sha512-zU8OTaps3VAodmI2MopfqqOQQ4A9L/2Eo7xoTH/4fNkecy6ftfiGwbbRMTQqtIqJjRg3f927e+lnyBBPhucY1Q==
version "1.17.0"
resolved "https://registry.yarnpkg.com/lightningcss/-/lightningcss-1.17.0.tgz#32fec5f10def6bd32a608ae302d0266ba7d90332"
integrity sha512-flO6jocjeV0MUDkYCtg1+jwLqAlqrV/t3n7rUrJ6/tcntm5zfBXsewwOj7PSSv9iTNqFKJX8zIkx/M1W2AG3kw==
dependencies:
detect-libc "^1.0.3"
optionalDependencies:
lightningcss-darwin-arm64 "1.16.1"
lightningcss-darwin-x64 "1.16.1"
lightningcss-linux-arm-gnueabihf "1.16.1"
lightningcss-linux-arm64-gnu "1.16.1"
lightningcss-linux-arm64-musl "1.16.1"
lightningcss-linux-x64-gnu "1.16.1"
lightningcss-linux-x64-musl "1.16.1"
lightningcss-win32-x64-msvc "1.16.1"
lightningcss-darwin-arm64 "1.17.0"
lightningcss-darwin-x64 "1.17.0"
lightningcss-linux-arm-gnueabihf "1.17.0"
lightningcss-linux-arm64-gnu "1.17.0"
lightningcss-linux-arm64-musl "1.17.0"
lightningcss-linux-x64-gnu "1.17.0"
lightningcss-linux-x64-musl "1.17.0"
lightningcss-win32-x64-msvc "1.17.0"
lilconfig@^2.0.3, lilconfig@^2.0.5, lilconfig@^2.0.6:
version "2.0.6"
@@ -6700,7 +6700,7 @@ loader-runner@^4.2.0:
resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1"
integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==
loader-utils@^2.0.0, loader-utils@^2.0.3:
loader-utils@^2.0.0, loader-utils@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c"
integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==
@@ -6886,9 +6886,9 @@ mimic-fn@^2.1.0:
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
mini-css-extract-plugin@^2.4.5:
version "2.7.0"
resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.0.tgz#d7d9ba0c5b596d155e36e2b174082fc7f010dd64"
integrity sha512-auqtVo8KhTScMsba7MbijqZTfibbXiBNlPAQbsVt7enQfcDYLdgG57eGxMqwVU3mfeWANY4F1wUg+rMF+ycZgw==
version "2.7.1"
resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.1.tgz#ec924df783cff32ce6183fceb653028f70128643"
integrity sha512-viOoaUFy+Z2w43VsGPbtfwFrr0tKwDctK9dUofG5MBViYhD1noGFUzzDIVw0KPwCGUP+c7zqLxm+acuQs7zLzw==
dependencies:
schema-utils "^4.0.0"
@@ -6905,9 +6905,9 @@ minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
brace-expansion "^1.1.7"
minimatch@^5.0.1:
version "5.1.0"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.0.tgz#1717b464f4971b144f6aabe8f2d0b8e4511e09c7"
integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==
version "5.1.1"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.1.tgz#6c9dffcf9927ff2a31e74b5af11adf8b9604b022"
integrity sha512-362NP+zlprccbEt/SkxKfRMHnNY85V74mVnpUpNyr3F35covl09Kec7/sEFLt3RA4oXmewtoaanoIf67SE5Y5g==
dependencies:
brace-expansion "^2.0.1"
@@ -6953,9 +6953,9 @@ msgpackr-extract@^2.2.0:
"@msgpackr-extract/msgpackr-extract-win32-x64" "2.2.0"
msgpackr@^1.5.4:
version "1.8.0"
resolved "https://registry.yarnpkg.com/msgpackr/-/msgpackr-1.8.0.tgz#6cf213e88f04c5a358c61085a42a4dbe5542de44"
integrity sha512-1Cos3r86XACdjLVY4CN8r72Cgs5lUzxSON6yb81sNZP9vC9nnBrEbu1/ldBhuR9BKejtoYV5C9UhmYUvZFJSNQ==
version "1.8.1"
resolved "https://registry.yarnpkg.com/msgpackr/-/msgpackr-1.8.1.tgz#2298aed8a14f83e99df77d344cbda3e436f29b5b"
integrity sha512-05fT4J8ZqjYlR4QcRDIhLCYKUOHXk7C/xa62GzMKj74l3up9k2QZ3LgFc6qWdsPHl91QA2WLWqWc8b8t7GLNNw==
optionalDependencies:
msgpackr-extract "^2.2.0"
@@ -8380,12 +8380,12 @@ regenerate@^1.4.2:
resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a"
integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==
regenerator-runtime@^0.13.10, regenerator-runtime@^0.13.7, regenerator-runtime@^0.13.9:
regenerator-runtime@^0.13.11, regenerator-runtime@^0.13.7, regenerator-runtime@^0.13.9:
version "0.13.11"
resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9"
integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==
regenerator-transform@^0.15.0:
regenerator-transform@^0.15.1:
version "0.15.1"
resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.1.tgz#f6c4e99fc1b4591f780db2586328e4d9a9d8dc56"
integrity sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==
@@ -8411,7 +8411,7 @@ regexpp@^3.2.0:
resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2"
integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
regexpu-core@^5.1.0:
regexpu-core@^5.2.1:
version "5.2.2"
resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.2.2.tgz#3e4e5d12103b64748711c3aad69934d7718e75fc"
integrity sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==
@@ -9201,9 +9201,9 @@ terser-webpack-plugin@^5.1.3, terser-webpack-plugin@^5.2.5:
terser "^5.14.1"
terser@^5.0.0, terser@^5.10.0, terser@^5.14.1, terser@^5.2.0:
version "5.15.1"
resolved "https://registry.yarnpkg.com/terser/-/terser-5.15.1.tgz#8561af6e0fd6d839669c73b92bdd5777d870ed6c"
integrity sha512-K1faMUvpm/FBxjBXud0LWVAGxmvoPbZbfTCYbSgaaYQaIXI3/TdI7a7ZGA73Zrou6Q8Zmz3oeUTsp/dj+ag2Xw==
version "5.16.0"
resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.0.tgz#29362c6f5506e71545c73b069ccd199bb28f7f54"
integrity sha512-KjTV81QKStSfwbNiwlBXfcgMcOloyuRdb62/iLFPGBcVNF4EXjhdYBhYHmbJpiBrVxZhDvltE11j+LBQUxEEJg==
dependencies:
"@jridgewell/source-map" "^0.3.2"
acorn "^8.5.0"