diff --git a/plugins/multiview/__init__.py b/plugins/multiview/__init__.py index abd4d48..5e746e1 100644 --- a/plugins/multiview/__init__.py +++ b/plugins/multiview/__init__.py @@ -9,6 +9,7 @@ import logging import os import socket +import threading logger = logging.getLogger(__name__) @@ -19,7 +20,7 @@ PLUGIN_DB_KEY = "multiview" DEFAULT_SERVER_PORT = 9292 -DEFAULT_SERVER_HOST = "127.0.0.1" +DEFAULT_SERVER_HOST = "0.0.0.0" def _load_submodule(name: str): @@ -76,7 +77,14 @@ class Plugin: { "id": "install_pyav_amd64", "label": "Install / Update PyAV (amd64 / x86_64)", - "description": "Download and install the PyAV media dependency for x86_64 hosts. Required before streaming. Needs internet access.", + "description": ( + "Download and install the PyAV media dependency for x86_64 hosts. " + "Required before streaming. Needs internet access. Running this " + "once is treated as consent for the plugin to automatically " + "reinstall PyAV for you later if it's ever found missing or " + "outdated (e.g. after a plugin update resets the vendored copy) " + "-- you shouldn't need to click this again after the first time." + ), "button_label": "Install PyAV (amd64)", "button_variant": "filled", "button_color": "blue", @@ -84,7 +92,14 @@ class Plugin: { "id": "install_pyav_arm64", "label": "Install / Update PyAV (arm64 / aarch64)", - "description": "Download and install the PyAV media dependency for aarch64 hosts. Required before streaming. Needs internet access.", + "description": ( + "Download and install the PyAV media dependency for aarch64 hosts. " + "Required before streaming. Needs internet access. Running this " + "once is treated as consent for the plugin to automatically " + "reinstall PyAV for you later if it's ever found missing or " + "outdated (e.g. after a plugin update resets the vendored copy) " + "-- you shouldn't need to click this again after the first time." + ), "button_label": "Install PyAV (arm64)", "button_variant": "filled", "button_color": "blue", @@ -94,11 +109,18 @@ class Plugin: # Lifecycle (init) def __init__(self): + threading.Thread(target=self._auto_repair_pyav, daemon=True).start() try: self._autostart() except Exception as e: logger.warning(f"Multiview server auto-start skipped: {e}") + def _auto_repair_pyav(self): + try: + self._deps().maybe_auto_install() + except Exception as e: # noqa: BLE001 + logger.warning(f"Multiview PyAV auto-repair skipped: {e}") + def _autostart(self): existing = _server().get_server() if existing and existing.is_running(): @@ -164,8 +186,9 @@ def _generate_m3u(self) -> dict: lines = ["#EXTM3U"] for n in range(1, mv_count + 1): name = settings.get(f"multiview_{n}_name", f"Multiview {n}") or f"Multiview {n}" - stream_url = f"http://localhost:{DEFAULT_SERVER_PORT}/stream/{n}" - lines.append(f'#EXTINF:-1 tvg-id="multiview_{n}" tvg-name="{name}",{name}') + safe_name = name.replace('"', "'") # quotes break EXTINF attribute parsing + stream_url = f"http://127.0.0.1:{DEFAULT_SERVER_PORT}/stream/{n}" + lines.append(f'#EXTINF:-1 tvg-id="multiview_{n}" tvg-name="{safe_name}",{safe_name}') lines.append(stream_url) m3u_content = "\n".join(lines) + "\n" @@ -195,7 +218,7 @@ def _generate_m3u(self) -> dict: }, ) verb = "created" if created else "updated" - self._refresh_m3u_then_epg(account.id, source_id) + self._refresh_epg_then_m3u(account.id, source_id) return { "status": "success", "message": f"M3U written to {m3u_path} | M3U account {verb} in Dispatcharr", @@ -207,30 +230,31 @@ def _generate_m3u(self) -> dict: "message": f"M3U written to {m3u_path} (could not create M3U account: {e})", } - def _refresh_m3u_then_epg(self, account_id, source_id) -> None: - """Refresh the M3U account, then the EPG source, in sequence. + def _refresh_epg_then_m3u(self, account_id, source_id) -> None: + """Refresh EPG first, then M3U, in sequence. Firing both refreshes at once collides on Dispatcharr's shared celery DB connection ("the last operation didn't produce records (command status: - INSERT 0 N)"). A celery chain serializes them; M3U first so the multiview - channels exist before the EPG maps programs onto them. + INSERT 0 N)"). A celery chain serializes them; EPG first so program data + is current before the M3U account sync runs. + + refresh_single_m3u_account internally calls refresh_m3u_groups(full_refresh=True) + which calls process_groups, which hits a Python 3.13 / Django ORM incompatibility + (StopIteration raised inside QuerySet.__iter__ generator -> RuntimeError). + Calling refresh_m3u_groups directly with full_refresh=False skips process_groups + and avoids the crash. """ try: from celery import chain from apps.m3u.tasks import refresh_single_m3u_account if source_id is not None: from apps.epg.tasks import refresh_epg_data - chain(refresh_single_m3u_account.si(account_id), - refresh_epg_data.si(source_id)).delay() + chain(refresh_epg_data.si(source_id), + refresh_single_m3u_account.si(account_id)).delay() else: refresh_single_m3u_account.delay(account_id) except Exception as e: # noqa: BLE001 - logger.warning(f"Could not trigger M3U/EPG refresh chain: {e}") - try: # best-effort fallback: at least refresh the M3U - from apps.m3u.tasks import refresh_single_m3u_account - refresh_single_m3u_account.delay(account_id) - except Exception: - pass + logger.warning(f"Could not trigger EPG/M3U refresh chain: {e}") # start_server diff --git a/plugins/multiview/channel.py b/plugins/multiview/channel.py index 2c626b3..a911a10 100644 --- a/plugins/multiview/channel.py +++ b/plugins/multiview/channel.py @@ -86,9 +86,13 @@ def _even(v): return max(2, (int(v) // 2) * 2) -def fit_into_tile(frame, w, h): - """Scale a decoded frame into a w x h yuv420p tile preserving aspect ratio, - centered on black (letterbox/pillarbox) - matches the old scale+pad behavior.""" +def fit_into_tile(frame, w, h, valign="center", halign="center"): + """Scale a decoded frame into a w x h yuv420p tile, preserving aspect + ratio (content is never cropped). Letterbox/pillarbox padding is + centered by default, or pushed to one edge via valign ("center"/"top"/ + "bottom") and halign ("center"/"left"/"right") so a tile's content can + be made to touch an adjacent tile's content with no gap at the shared + edge, leaving any padding on the outer edge instead.""" sw, sh = frame.width, frame.height if sw <= 0 or sh <= 0: return black_planes(w, h) @@ -98,8 +102,18 @@ def fit_into_tile(frame, w, h): sf = frame.reformat(width=tw, height=th, format="yuv420p") sy, su, sv = yuv_planes_from_frame(sf, tw, th) Y, U, V = black_planes(w, h) - ox = ((w - tw) // 2) & ~1 - oy = ((h - th) // 2) & ~1 + if halign == "left": + ox = 0 + elif halign == "right": + ox = (w - tw) & ~1 + else: + ox = ((w - tw) // 2) & ~1 + if valign == "top": + oy = 0 + elif valign == "bottom": + oy = (h - th) & ~1 + else: + oy = ((h - th) // 2) & ~1 Y[oy:oy + th, ox:ox + tw] = sy U[oy // 2:oy // 2 + th // 2, ox // 2:ox // 2 + tw // 2] = su V[oy // 2:oy // 2 + th // 2, ox // 2:ox // 2 + tw // 2] = sv @@ -120,6 +134,8 @@ def __init__(self, spec): self.provides_audio = bool(spec.get("audio", False)) self.lang = spec.get("lang", "und") self.featured = bool(spec.get("featured", False)) + self.valign = spec.get("valign", "center") + self.halign = spec.get("halign", "center") self.fallback = black_planes(self.w, self.h) self.latest = self.fallback self.fresh_until = 0.0 @@ -135,6 +151,12 @@ def __init__(self, spec): # video PTS clock anchor — updated by run(), read by audio_pts_now() self.clk_pts: "float | None" = None self.clk_wall: "float | None" = None + # PTS of the audio content most recently handed to the caller by take() — + # used by audio_feeder() to detect drift against the video clock and + # periodically re-sync via _align_to_pts(), without waiting for a full + # clk_pts reset. Protected by self.alock (same as aframes/abuffered). + self.last_taken_pts: "float | None" = None + self._reconnect_requested = False def _make_fallback(self, logo): Y, U, V = black_planes(self.w, self.h) @@ -175,9 +197,16 @@ def _load_logo(self, logo): if self.fresh_until == 0.0: # no real video yet; update latest too self.latest = fb + def reconnect(self): + """Signal run() to drop and reconnect; checked inside the demux loop.""" + self._reconnect_requested = True + def run(self): failures = 0 while self.running: + if self._reconnect_requested: + self._reconnect_requested = False + failures = 0 if failures >= RECONNECT_RETRIES: log(f"channel {self.name}: giving up after {RECONNECT_RETRIES} failed retries") break @@ -187,6 +216,7 @@ def run(self): with self.alock: self.aframes.clear() self.abuffered = 0 + self.last_taken_pts = None self.clk_pts = None self.clk_wall = None vcount_before = self.vcount @@ -222,7 +252,7 @@ def run(self): res = av.AudioResampler(format="s16", layout=AUDIO_LAYOUT, rate=AUDIO_RATE) try: for packet in cont.demux(*streams): - if not self.running: + if not self.running or self._reconnect_requested: break if packet.dts is None: continue @@ -239,7 +269,7 @@ def run(self): time.sleep(gap) elif gap <= -2.0: self.clk_pts, self.clk_wall = pts_s, time.monotonic() - self.latest = fit_into_tile(frame, self.w, self.h) + self.latest = fit_into_tile(frame, self.w, self.h, self.valign, self.halign) self.fresh_until = time.monotonic() + TILE_STALE_SECS self.vcount += 1 elif res is not None and packet.stream.type == "audio": @@ -319,9 +349,13 @@ def take(self, nsamples: int) -> np.ndarray: self.aframes.pop(0) self.abuffered -= chunk.shape[0] filled += chunk.shape[0] + if pts_s is not None: + self.last_taken_pts = pts_s + chunk.shape[0] / AUDIO_RATE else: out[filled:] = chunk[:need] self.aframes[0] = (pts_s, chunk[need:]) self.abuffered -= need filled = nsamples + if pts_s is not None: + self.last_taken_pts = pts_s + need / AUDIO_RATE return out diff --git a/plugins/multiview/compositor_worker.py b/plugins/multiview/compositor_worker.py index b4710ac..279430b 100644 --- a/plugins/multiview/compositor_worker.py +++ b/plugins/multiview/compositor_worker.py @@ -28,6 +28,9 @@ from parameters import fps_fraction, build_encoder_cmd, validate_encoder # noqa: E402 +DRIFT_THRESHOLD = 0.25 # seconds of audio-behind-video before we skip the + # FIFO forward to re-sync (see audio_feeder()) + # ---------------------------------------------------------------- compositing helpers @@ -42,6 +45,29 @@ def _write_all(fd, data): return True +def stdin_listener(channels, stop): + """Read JSON control commands from stdin (sent by the plugin server).""" + for line in sys.stdin: + if stop.is_set(): + break + line = line.strip() + if not line: + continue + try: + cmd = json.loads(line) + except Exception: + continue + if cmd.get("cmd") == "reconnect_channel": + idx = cmd.get("idx") + if idx is not None and 0 <= idx < len(channels): + log(f"reconnect requested: channel {idx} ({channels[idx].name})") + channels[idx].reconnect() + elif cmd.get("cmd") == "reconnect_all": + log("reconnect all channels requested") + for c in channels: + c.reconnect() + + def audio_feeder(track, fd, stop): CHUNK = int(AUDIO_RATE * 0.02) # 960 samples = 20ms per tick SILENCE = np.zeros((CHUNK, 2), dtype=np.int16) @@ -76,6 +102,15 @@ def audio_feeder(track, fd, stop): was_valid = True + # Only correct audio-behind-video (silent underruns falling further + # back over time); a transient audio-ahead-of-video reading is + # self-limiting (FIFO capped by _trim(), audio never paced faster + # than real time) and left uncorrected, matching the pre-existing + # one-shot snap behavior which is also catch-up-only. + last_pts = track.last_taken_pts + if last_pts is not None and (pts_now - last_pts) > DRIFT_THRESHOLD: + track._align_to_pts(pts_now - 0.10) + target = int((time.monotonic() - start) * AUDIO_RATE) need = target - written if need > 0: @@ -98,6 +133,7 @@ def main(): for c in channels: threading.Thread(target=c.run, name=f"chan-{c.name}", daemon=True).start() + threading.Thread(target=stdin_listener, args=(channels, stop), name="stdin-ctrl", daemon=True).start() # ffmpeg encodes (libx264, multi-core C) + muxes; we feed it the composited # yuv420p canvas on stdin and one PCM track per audio channel on inherited fds. diff --git a/plugins/multiview/config.py b/plugins/multiview/config.py index e5e23e3..cc0d6fb 100644 --- a/plugins/multiview/config.py +++ b/plugins/multiview/config.py @@ -22,7 +22,38 @@ def _load_plugin_config() -> dict: # Global fields (always shown) -_GLOBAL_FIELDS = [ +_GLOBAL_SETTINGS_FIELDS = [ + { + "id": "dash_enabled", + "label": "Web Dashboard", + "type": "select", + "default": "disabled", + "options": [ + {"value": "disabled", "label": "Disabled"}, + {"value": "enabled", "label": "Enabled"}, + ], + "description": ( + "Serves a mobile-friendly PWA dashboard at http://:9292/dash/ " + "for editing settings and managing active streams without the " + "Dispatcharr admin UI. Off by default. You may need to add " + "9292:9292 to your docker-compose.yml ports to reach it from " + "outside the container. Changing this setting requires a " + "plugin/Dispatcharr reload (e.g. restart Dispatcharr) to take effect." + ), + }, + { + "id": "epg_refresh_hours", + "label": "Auto-Refresh Interval (hours)", + "type": "number", + "default": 24, + "min": 0, + "max": 168, + "placeholder": "24", + "description": "How often to automatically regenerate M3U and EPG. 0 = manual only (Regenerate M3U button).", + }, +] + +_VIDEO_OUTPUT_FIELDS = [ { "id": "output_resolution", "label": "Output Resolution", @@ -59,16 +90,6 @@ def _load_plugin_config() -> dict: "placeholder": "8000", "description": "Target output video bitrate in kbps (CBR). Higher values improve quality at the cost of bandwidth. 8000 is a good baseline for 1080p multiview; 12000-16000 for noticeably sharper tiles.", }, - { - "id": "epg_refresh_hours", - "label": "Auto-Refresh Interval (hours)", - "type": "number", - "default": 24, - "min": 0, - "max": 168, - "placeholder": "24", - "description": "How often to automatically regenerate M3U and EPG. 0 = manual only (Regenerate M3U button).", - }, ] _VIDEO_ENCODER_FIELD = { @@ -218,10 +239,22 @@ def _build_warnings_fields(settings: dict) -> list: f"PyAV is unavailable, streaming will not work."), }) elif not _deps.pyav_status(arch): + if settings.get(f"pyav_consent_{arch}"): + desc = ( + f"PyAV is not currently installed for {arch}. Since you've " + f"previously installed it, the plugin will automatically " + f"reinstall it in the background on next load." + ) + err = settings.get("pyav_auto_install_error") + if err: + desc += (f" Last automatic attempt failed: {err}. You can also " + f"click 'Install PyAV' below to retry immediately.") + else: + desc = (f"PyAV is NOT installed for {arch}. Run the " + f"'Install PyAV' action below before streaming.") warnings.append({ "id": "_warn_pyav_missing", "label": "Media Engine (PyAV)", "type": "info", - "description": (f"PyAV is NOT installed for {arch}. Run the " - f"'Install PyAV' action below before streaming."), + "description": desc, }) except Exception as e: warnings.append({ @@ -264,6 +297,25 @@ def _build_warnings_fields(settings: dict) -> list: ), }) + try: + from apps.proxy.config import BaseConfig as _ProxyConfig + proxy_settings = _ProxyConfig.get_proxy_settings() + grace = int(proxy_settings.get("channel_init_grace_period", 5)) + if grace < 8: + warnings.append({ + "id": "_warn_channel_init_timeout", + "label": "Proxy: Channel Initialization Timeout is too low", + "type": "info", + "description": ( + f"Channel Initialization Timeout is set to {grace}s in Dispatcharr's " + f"Proxy Settings. Values under 8s can cause multiview tiles to fail on " + f"startup before channels finish initializing. " + f"Set it to at least 10s in Settings → Proxy (higher on lower-power systems)." + ), + }) + except Exception: + pass + if not warnings: return [] @@ -521,6 +573,13 @@ def _build_multiview_block(n: int, ch_count: int, selector_type: str = "classic" return fields +_GLOBAL_SETTINGS_HEADER = { + "id": "_global_settings_header", + "label": "── Global Settings ──────────────────────", + "type": "info", + "description": "", +} + _VIDEO_SETTINGS_HEADER = { "id": "_video_settings_header", "label": "── Video Settings ───────────────────────", @@ -538,15 +597,16 @@ def build_plugin_fields(settings: dict) -> list: enc_field["options"] = _ENCODER_OPTIONS fields = _build_warnings_fields(settings) + fields.append(_GLOBAL_SETTINGS_HEADER) + fields.extend(_GLOBAL_SETTINGS_FIELDS) + fields.append(_MULTIVIEW_COUNT_FIELD) fields.append(_VIDEO_SETTINGS_HEADER) - fields.extend(_GLOBAL_FIELDS) + fields.extend(_VIDEO_OUTPUT_FIELDS) fields.append(enc_field) extra_fn = _ENCODER_EXTRA_FIELDS.get(encoder, _x264_fields) fields.extend(extra_fn()) - fields.append(_MULTIVIEW_COUNT_FIELD) - for n in range(1, mv_count + 1): ch_count = max(2, int(settings.get(f"multiview_{n}_channel_count", 4))) selector_type = settings.get(f"multiview_{n}_selector_type", "classic") diff --git a/plugins/multiview/dash/__init__.py b/plugins/multiview/dash/__init__.py new file mode 100644 index 0000000..91e3fd9 --- /dev/null +++ b/plugins/multiview/dash/__init__.py @@ -0,0 +1 @@ +# Multiview dashboard package (PWA + REST API) diff --git a/plugins/multiview/dash/api.py b/plugins/multiview/dash/api.py new file mode 100644 index 0000000..6e27c1d --- /dev/null +++ b/plugins/multiview/dash/api.py @@ -0,0 +1,380 @@ +"""REST API handlers for /api/* and static file serving for /dash/*.""" + +import json +import logging +import mimetypes +import os + +logger = logging.getLogger(__name__) + +_STATIC_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), "static") +_PLUGIN_KEY = "multiview" + +_CORS_HEADERS = [ + ("Access-Control-Allow-Origin", "*"), + ("Access-Control-Allow-Methods", "GET, POST, PATCH, OPTIONS"), + ("Access-Control-Allow-Headers", "Authorization, Content-Type"), +] + + +def _json_ok(start_response, data): + body = json.dumps(data).encode() + start_response("200 OK", [ + ("Content-Type", "application/json"), + ("Content-Length", str(len(body))), + ] + _CORS_HEADERS) + return [body] + + +def _json_error(start_response, status, message): + body = json.dumps({"error": message}).encode() + start_response(status, [ + ("Content-Type", "application/json"), + ("Content-Length", str(len(body))), + ] + _CORS_HEADERS) + return [body] + + +def cors_preflight(start_response): + start_response("204 No Content", _CORS_HEADERS) + return [b""] + + +def _read_body(environ) -> bytes: + try: + length = int(environ.get("CONTENT_LENGTH") or 0) + return environ["wsgi.input"].read(length) if length > 0 else b"" + except Exception: + return b"" + + +def _verify_token(environ) -> bool: + auth = environ.get("HTTP_AUTHORIZATION", "") + if not auth.startswith("Bearer "): + return False + token = auth[7:] + try: + from rest_framework_simplejwt.tokens import AccessToken + AccessToken(token) + return True + except Exception: + return False + + +def _get_settings() -> dict: + try: + from apps.plugins.models import PluginConfig + return PluginConfig.objects.get(key=_PLUGIN_KEY).settings + except Exception: + return {} + + +def _save_settings(updates: dict): + from apps.plugins.models import PluginConfig + cfg = PluginConfig.objects.get(key=_PLUGIN_KEY) + for k, v in updates.items(): + if v is None: + cfg.settings.pop(k, None) + else: + cfg.settings[k] = v + cfg.save() + + +# ------------------------------------------------------------------ +# Route handlers +# ------------------------------------------------------------------ + +def handle_auth_token(environ, start_response): + if environ.get("REQUEST_METHOD") == "OPTIONS": + return cors_preflight(start_response) + if environ.get("REQUEST_METHOD") != "POST": + return _json_error(start_response, "405 Method Not Allowed", "POST only") + + try: + data = json.loads(_read_body(environ)) + except Exception: + return _json_error(start_response, "400 Bad Request", "Invalid JSON") + + username = data.get("username", "") + password = data.get("password", "") + if not username or not password: + return _json_error(start_response, "400 Bad Request", "username and password required") + + from django.contrib.auth import authenticate + user = authenticate(username=username, password=password) + if user is None: + return _json_error(start_response, "401 Unauthorized", "Invalid credentials") + + try: + from rest_framework_simplejwt.tokens import RefreshToken + refresh = RefreshToken.for_user(user) + return _json_ok(start_response, { + "access": str(refresh.access_token), + "refresh": str(refresh), + }) + except Exception as e: + logger.error(f"Token generation failed: {e}", exc_info=True) + return _json_error(start_response, "500 Internal Server Error", f"Token error: {e}") + + +def handle_config(environ, start_response): + if environ.get("REQUEST_METHOD") == "OPTIONS": + return cors_preflight(start_response) + if not _verify_token(environ): + return _json_error(start_response, "401 Unauthorized", "Authentication required") + + method = environ.get("REQUEST_METHOD", "GET") + + if method == "GET": + settings = _get_settings() + mv_count = max(1, int(settings.get("multiview_count", 1))) + return _json_ok(start_response, {"settings": settings, "layout_count": mv_count}) + + if method in ("PATCH", "POST"): + try: + updates = json.loads(_read_body(environ)) + except Exception: + return _json_error(start_response, "400 Bad Request", "Invalid JSON") + if not isinstance(updates, dict): + return _json_error(start_response, "400 Bad Request", "Expected JSON object") + try: + _save_settings(updates) + return _json_ok(start_response, {"status": "ok"}) + except Exception as e: + logger.error(f"Config save failed: {e}", exc_info=True) + return _json_error(start_response, "500 Internal Server Error", str(e)) + + return _json_error(start_response, "405 Method Not Allowed", "GET or PATCH only") + + +def handle_channels(environ, start_response): + if environ.get("REQUEST_METHOD") == "OPTIONS": + return cors_preflight(start_response) + if not _verify_token(environ): + return _json_error(start_response, "401 Unauthorized", "Authentication required") + if environ.get("REQUEST_METHOD") != "GET": + return _json_error(start_response, "405 Method Not Allowed", "GET only") + + try: + from apps.channels.models import Channel + from apps.m3u.models import M3UAccount + + excluded = set() + try: + acct = M3UAccount.objects.filter(name="Dispatcharr Multiview").first() + if acct: + for field_name in ("m3u_account", "account", "m3u_account_id", "source"): + try: + excluded = set( + Channel.objects.filter(**{field_name: acct}).values_list("id", flat=True) + ) + break + except Exception: + continue + except Exception: + pass + + channels = [] + for ch in Channel.objects.order_by("channel_number").values("id", "name", "channel_number"): + if ch["id"] in excluded: + continue + num = int(ch["channel_number"]) if ch["channel_number"] is not None else "" + channels.append({ + "id": str(ch["id"]), + "name": ch["name"], + "channel_number": ch["channel_number"], + "label": f"{num} - {ch['name']}", + }) + return _json_ok(start_response, channels) + + except Exception as e: + logger.error(f"Channel list failed: {e}", exc_info=True) + return _json_error(start_response, "500 Internal Server Error", str(e)) + + +def handle_refresh(environ, start_response): + if environ.get("REQUEST_METHOD") == "OPTIONS": + return cors_preflight(start_response) + if not _verify_token(environ): + return _json_error(start_response, "401 Unauthorized", "Authentication required") + if environ.get("REQUEST_METHOD") != "POST": + return _json_error(start_response, "405 Method Not Allowed", "POST only") + + try: + import sys + plugin_mod = None + for mod in sys.modules.values(): + if getattr(mod, "PLUGIN_DB_KEY", None) == _PLUGIN_KEY and hasattr(mod, "Plugin"): + plugin_mod = mod + break + if plugin_mod is None: + return _json_error(start_response, "503 Service Unavailable", "Plugin module not found") + result = plugin_mod.Plugin()._generate_m3u() + return _json_ok(start_response, result) + except Exception as e: + logger.error(f"Refresh failed: {e}", exc_info=True) + return _json_error(start_response, "500 Internal Server Error", str(e)) + + +def handle_streams_list(environ, start_response): + if environ.get("REQUEST_METHOD") == "OPTIONS": + return cors_preflight(start_response) + if not _verify_token(environ): + return _json_error(start_response, "401 Unauthorized", "Authentication required") + if environ.get("REQUEST_METHOD") != "GET": + return _json_error(start_response, "405 Method Not Allowed", "GET only") + + server = globals().get("_server") + active = server.get_active_streams() if server else [] + return _json_ok(start_response, {"active": active}) + + +def handle_streams_restart(environ, start_response): + if environ.get("REQUEST_METHOD") == "OPTIONS": + return cors_preflight(start_response) + if not _verify_token(environ): + return _json_error(start_response, "401 Unauthorized", "Authentication required") + if environ.get("REQUEST_METHOD") != "POST": + return _json_error(start_response, "405 Method Not Allowed", "POST only") + + try: + # _server is injected by MultiviewServer._handle_api on every request + server = globals().get("_server") + if server is None: + return _json_error(start_response, "503 Service Unavailable", "Server not found") + data = {} + body = _read_body(environ) + if body: + try: + data = json.loads(body) + except Exception: + pass + n = data.get("n") + channel_idx = data.get("channel_idx") + if n is not None and channel_idx is not None: + # Reconnect a specific channel within a layout (non-destructive) + ok = server.reconnect_channel(int(n), int(channel_idx)) + return _json_ok(start_response, {"status": "ok", "reconnected": ok}) + killed = server.kill_stream(int(n)) if n is not None else server.kill_active_streams() + return _json_ok(start_response, {"status": "ok", "killed": killed}) + except Exception as e: + logger.error(f"Streams restart failed: {e}", exc_info=True) + return _json_error(start_response, "500 Internal Server Error", str(e)) + + +def _get_config_mod(): + """Return the already-loaded config module, or load it with the correct package context. + + config.py uses relative imports (from . import deps), so it must be loaded + under the plugin's parent package name -- not a standalone name -- otherwise + Python raises 'attempted relative import with no known parent package'. + """ + import importlib.util + import sys + + # Fast path: already loaded under any name + for mod in sys.modules.values(): + if hasattr(mod, 'build_plugin_fields') and hasattr(mod, 'ENCODER_PRESETS'): + return mod + + # Find the plugin's own package name so relative imports resolve correctly + parent_pkg = None + for name, mod in sys.modules.items(): + if getattr(mod, 'PLUGIN_DB_KEY', None) == _PLUGIN_KEY and hasattr(mod, 'Plugin'): + parent_pkg = name + break + + config_path = os.path.normpath( + os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "config.py") + ) + mod_name = f"{parent_pkg}.config" if parent_pkg else f"mv_config_{_PLUGIN_KEY}" + + if mod_name in sys.modules: + return sys.modules[mod_name] + + spec = importlib.util.spec_from_file_location(mod_name, config_path) + mod = importlib.util.module_from_spec(spec) + if parent_pkg: + mod.__package__ = parent_pkg + sys.modules[mod_name] = mod + spec.loader.exec_module(mod) + return mod + + +def handle_fields(environ, start_response): + if environ.get("REQUEST_METHOD") == "OPTIONS": + return cors_preflight(start_response) + if not _verify_token(environ): + return _json_error(start_response, "401 Unauthorized", "Authentication required") + if environ.get("REQUEST_METHOD") != "GET": + return _json_error(start_response, "405 Method Not Allowed", "GET only") + + try: + import re + settings = _get_settings() + config_mod = _get_config_mod() + all_fields = config_mod.build_plugin_fields(settings) + + layout_re = re.compile(r"^multiview_(\d+)_") + global_fields = [] + warnings = [] + layout_fields = {} + + for f in all_fields: + fid = f.get("id", "") + if fid.startswith("_warn") and fid != "_warnings_header": + warnings.append(f) + elif fid.startswith("_") or fid == "multiview_count": + continue # skip section headers and the implicit count field + else: + m = layout_re.match(fid) + if m: + n = int(m.group(1)) + layout_fields.setdefault(n, []).append(f) + else: + global_fields.append(f) + + mv_count = max(1, int(settings.get("multiview_count", 1))) + return _json_ok(start_response, { + "warnings": warnings, + "global": global_fields, + "layouts": [{"n": n, "fields": fs} for n, fs in sorted(layout_fields.items())], + "layout_count": mv_count, + }) + + except Exception as e: + logger.error(f"Fields load failed: {e}", exc_info=True) + return _json_error(start_response, "500 Internal Server Error", str(e)) + + +def serve_static(path: str, start_response): + """Serve files from src/dash/static/.""" + rel = path[len("/dash/"):] or "index.html" + + # Block path traversal + safe = os.path.normpath(rel) + if safe.startswith("..") or os.path.isabs(safe): + start_response("403 Forbidden", [("Content-Type", "text/plain")]) + return [b"Forbidden\n"] + + file_path = os.path.join(_STATIC_DIR, safe) + if not os.path.isfile(file_path): + # SPA fallback: always serve index.html for unknown paths + file_path = os.path.join(_STATIC_DIR, "index.html") + if not os.path.isfile(file_path): + start_response("404 Not Found", [("Content-Type", "text/plain")]) + return [b"Not Found\n"] + + mime, _ = mimetypes.guess_type(file_path) + mime = mime or "application/octet-stream" + cache_control = "no-cache" if mime == "text/html" else "public, max-age=3600" + + with open(file_path, "rb") as f: + data = f.read() + + start_response("200 OK", [ + ("Content-Type", mime), + ("Content-Length", str(len(data))), + ("Cache-Control", cache_control), + ]) + return [data] diff --git a/plugins/multiview/dash/static/assets/index-BpVIXxkP.js b/plugins/multiview/dash/static/assets/index-BpVIXxkP.js new file mode 100644 index 0000000..cee4223 --- /dev/null +++ b/plugins/multiview/dash/static/assets/index-BpVIXxkP.js @@ -0,0 +1,151 @@ +function yw(t,r){for(var o=0;os[l]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}(function(){const r=document.createElement("link").relList;if(r&&r.supports&&r.supports("modulepreload"))return;for(const l of document.querySelectorAll('link[rel="modulepreload"]'))s(l);new MutationObserver(l=>{for(const u of l)if(u.type==="childList")for(const c of u.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&s(c)}).observe(document,{childList:!0,subtree:!0});function o(l){const u={};return l.integrity&&(u.integrity=l.integrity),l.referrerPolicy&&(u.referrerPolicy=l.referrerPolicy),l.crossOrigin==="use-credentials"?u.credentials="include":l.crossOrigin==="anonymous"?u.credentials="omit":u.credentials="same-origin",u}function s(l){if(l.ep)return;l.ep=!0;const u=o(l);fetch(l.href,u)}})();function iv(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var ic={exports:{}},Fi={},sc={exports:{}},Oe={};/** + * @license React + * react.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 Xm;function ww(){if(Xm)return Oe;Xm=1;var t=Symbol.for("react.element"),r=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),s=Symbol.for("react.strict_mode"),l=Symbol.for("react.profiler"),u=Symbol.for("react.provider"),c=Symbol.for("react.context"),d=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),h=Symbol.for("react.memo"),v=Symbol.for("react.lazy"),g=Symbol.iterator;function y(k){return k===null||typeof k!="object"?null:(k=g&&k[g]||k["@@iterator"],typeof k=="function"?k:null)}var w={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,E={};function R(k,D,le){this.props=k,this.context=D,this.refs=E,this.updater=le||w}R.prototype.isReactComponent={},R.prototype.setState=function(k,D){if(typeof k!="object"&&typeof k!="function"&&k!=null)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,k,D,"setState")},R.prototype.forceUpdate=function(k){this.updater.enqueueForceUpdate(this,k,"forceUpdate")};function N(){}N.prototype=R.prototype;function j(k,D,le){this.props=k,this.context=D,this.refs=E,this.updater=le||w}var T=j.prototype=new N;T.constructor=j,C(T,R.prototype),T.isPureReactComponent=!0;var O=Array.isArray,A=Object.prototype.hasOwnProperty,F={current:null},H={key:!0,ref:!0,__self:!0,__source:!0};function z(k,D,le){var ve,ie={},ce=null,Se=null;if(D!=null)for(ve in D.ref!==void 0&&(Se=D.ref),D.key!==void 0&&(ce=""+D.key),D)A.call(D,ve)&&!H.hasOwnProperty(ve)&&(ie[ve]=D[ve]);var ye=arguments.length-2;if(ye===1)ie.children=le;else if(1>>1,D=_[k];if(0>>1;kl(ie,U))cel(Se,ie)?(_[k]=Se,_[ce]=U,k=ce):(_[k]=ie,_[ve]=U,k=ve);else if(cel(Se,U))_[k]=Se,_[ce]=U,k=ce;else break e}}return M}function l(_,M){var U=_.sortIndex-M.sortIndex;return U!==0?U:_.id-M.id}if(typeof performance=="object"&&typeof performance.now=="function"){var u=performance;t.unstable_now=function(){return u.now()}}else{var c=Date,d=c.now();t.unstable_now=function(){return c.now()-d}}var m=[],h=[],v=1,g=null,y=3,w=!1,C=!1,E=!1,R=typeof setTimeout=="function"?setTimeout:null,N=typeof clearTimeout=="function"?clearTimeout:null,j=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function T(_){for(var M=o(h);M!==null;){if(M.callback===null)s(h);else if(M.startTime<=_)s(h),M.sortIndex=M.expirationTime,r(m,M);else break;M=o(h)}}function O(_){if(E=!1,T(_),!C)if(o(m)!==null)C=!0,B(A);else{var M=o(h);M!==null&&V(O,M.startTime-_)}}function A(_,M){C=!1,E&&(E=!1,N(z),z=-1),w=!0;var U=y;try{for(T(M),g=o(m);g!==null&&(!(g.expirationTime>M)||_&&!X());){var k=g.callback;if(typeof k=="function"){g.callback=null,y=g.priorityLevel;var D=k(g.expirationTime<=M);M=t.unstable_now(),typeof D=="function"?g.callback=D:g===o(m)&&s(m),T(M)}else s(m);g=o(m)}if(g!==null)var le=!0;else{var ve=o(h);ve!==null&&V(O,ve.startTime-M),le=!1}return le}finally{g=null,y=U,w=!1}}var F=!1,H=null,z=-1,Q=5,q=-1;function X(){return!(t.unstable_now()-q_||125<_?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):Q=0<_?Math.floor(1e3/_):5},t.unstable_getCurrentPriorityLevel=function(){return y},t.unstable_getFirstCallbackNode=function(){return o(m)},t.unstable_next=function(_){switch(y){case 1:case 2:case 3:var M=3;break;default:M=y}var U=y;y=M;try{return _()}finally{y=U}},t.unstable_pauseExecution=function(){},t.unstable_requestPaint=function(){},t.unstable_runWithPriority=function(_,M){switch(_){case 1:case 2:case 3:case 4:case 5:break;default:_=3}var U=y;y=_;try{return M()}finally{y=U}},t.unstable_scheduleCallback=function(_,M,U){var k=t.unstable_now();switch(typeof U=="object"&&U!==null?(U=U.delay,U=typeof U=="number"&&0k?(_.sortIndex=U,r(h,_),o(m)===null&&_===o(h)&&(E?(N(z),z=-1):E=!0,V(O,U-k))):(_.sortIndex=D,r(m,_),C||w||(C=!0,B(A))),_},t.unstable_shouldYield=X,t.unstable_wrapCallback=function(_){var M=y;return function(){var U=y;y=M;try{return _.apply(this,arguments)}finally{y=U}}}})(uc)),uc}var Jm;function Ew(){return Jm||(Jm=1,ac.exports=Cw()),ac.exports}/** + * @license React + * react-dom.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 eh;function Rw(){if(eh)return zt;eh=1;var t=nf(),r=Ew();function o(e){for(var n="https://reactjs.org/docs/error-decoder.html?invariant="+e,i=1;i"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),m=Object.prototype.hasOwnProperty,h=/^[: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]*$/,v={},g={};function y(e){return m.call(g,e)?!0:m.call(v,e)?!1:h.test(e)?g[e]=!0:(v[e]=!0,!1)}function w(e,n,i,a){if(i!==null&&i.type===0)return!1;switch(typeof n){case"function":case"symbol":return!0;case"boolean":return a?!1:i!==null?!i.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function C(e,n,i,a){if(n===null||typeof n>"u"||w(e,n,i,a))return!0;if(a)return!1;if(i!==null)switch(i.type){case 3:return!n;case 4:return n===!1;case 5:return isNaN(n);case 6:return isNaN(n)||1>n}return!1}function E(e,n,i,a,f,p,b){this.acceptsBooleans=n===2||n===3||n===4,this.attributeName=a,this.attributeNamespace=f,this.mustUseProperty=i,this.propertyName=e,this.type=n,this.sanitizeURL=p,this.removeEmptyString=b}var R={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){R[e]=new E(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var n=e[0];R[n]=new E(n,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){R[e]=new E(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){R[e]=new E(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){R[e]=new E(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){R[e]=new E(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){R[e]=new E(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){R[e]=new E(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){R[e]=new E(e,5,!1,e.toLowerCase(),null,!1,!1)});var N=/[\-:]([a-z])/g;function j(e){return e[1].toUpperCase()}"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 n=e.replace(N,j);R[n]=new E(n,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var n=e.replace(N,j);R[n]=new E(n,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var n=e.replace(N,j);R[n]=new E(n,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){R[e]=new E(e,1,!1,e.toLowerCase(),null,!1,!1)}),R.xlinkHref=new E("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){R[e]=new E(e,1,!1,e.toLowerCase(),null,!0,!0)});function T(e,n,i,a){var f=R.hasOwnProperty(n)?R[n]:null;(f!==null?f.type!==0:a||!(2P||f[b]!==p[P]){var $=` +`+f[b].replace(" at new "," at ");return e.displayName&&$.includes("")&&($=$.replace("",e.displayName)),$}while(1<=b&&0<=P);break}}}finally{le=!1,Error.prepareStackTrace=i}return(e=e?e.displayName||e.name:"")?D(e):""}function ie(e){switch(e.tag){case 5:return D(e.type);case 16:return D("Lazy");case 13:return D("Suspense");case 19:return D("SuspenseList");case 0:case 2:case 15:return e=ve(e.type,!1),e;case 11:return e=ve(e.type.render,!1),e;case 1:return e=ve(e.type,!0),e;default:return""}}function ce(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case H:return"Fragment";case F:return"Portal";case Q:return"Profiler";case z:return"StrictMode";case Z:return"Suspense";case te:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case X:return(e.displayName||"Context")+".Consumer";case q:return(e._context.displayName||"Context")+".Provider";case K:var n=e.render;return e=e.displayName,e||(e=n.displayName||n.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case J:return n=e.displayName||null,n!==null?n:ce(e.type)||"Memo";case B:n=e._payload,e=e._init;try{return ce(e(n))}catch{}}return null}function Se(e){var n=e.type;switch(e.tag){case 24:return"Cache";case 9:return(n.displayName||"Context")+".Consumer";case 10:return(n._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=n.render,e=e.displayName||e.name||"",n.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return n;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return ce(n);case 8:return n===z?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n}return null}function ye(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Re(e){var n=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(n==="checkbox"||n==="radio")}function je(e){var n=Re(e)?"checked":"value",i=Object.getOwnPropertyDescriptor(e.constructor.prototype,n),a=""+e[n];if(!e.hasOwnProperty(n)&&typeof i<"u"&&typeof i.get=="function"&&typeof i.set=="function"){var f=i.get,p=i.set;return Object.defineProperty(e,n,{configurable:!0,get:function(){return f.call(this)},set:function(b){a=""+b,p.call(this,b)}}),Object.defineProperty(e,n,{enumerable:i.enumerable}),{getValue:function(){return a},setValue:function(b){a=""+b},stopTracking:function(){e._valueTracker=null,delete e[n]}}}}function qe(e){e._valueTracker||(e._valueTracker=je(e))}function nt(e){if(!e)return!1;var n=e._valueTracker;if(!n)return!0;var i=n.getValue(),a="";return e&&(a=Re(e)?e.checked?"true":"false":e.value),e=a,e!==i?(n.setValue(e),!0):!1}function Ze(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function rt(e,n){var i=n.checked;return U({},n,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:i??e._wrapperState.initialChecked})}function ot(e,n){var i=n.defaultValue==null?"":n.defaultValue,a=n.checked!=null?n.checked:n.defaultChecked;i=ye(n.value!=null?n.value:i),e._wrapperState={initialChecked:a,initialValue:i,controlled:n.type==="checkbox"||n.type==="radio"?n.checked!=null:n.value!=null}}function Pt(e,n){n=n.checked,n!=null&&T(e,"checked",n,!1)}function ue(e,n){Pt(e,n);var i=ye(n.value),a=n.type;if(i!=null)a==="number"?(i===0&&e.value===""||e.value!=i)&&(e.value=""+i):e.value!==""+i&&(e.value=""+i);else if(a==="submit"||a==="reset"){e.removeAttribute("value");return}n.hasOwnProperty("value")?we(e,n.type,i):n.hasOwnProperty("defaultValue")&&we(e,n.type,ye(n.defaultValue)),n.checked==null&&n.defaultChecked!=null&&(e.defaultChecked=!!n.defaultChecked)}function de(e,n,i){if(n.hasOwnProperty("value")||n.hasOwnProperty("defaultValue")){var a=n.type;if(!(a!=="submit"&&a!=="reset"||n.value!==void 0&&n.value!==null))return;n=""+e._wrapperState.initialValue,i||n===e.value||(e.value=n),e.defaultValue=n}i=e.name,i!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,i!==""&&(e.name=i)}function we(e,n,i){(n!=="number"||Ze(e.ownerDocument)!==e)&&(i==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+i&&(e.defaultValue=""+i))}var Ee=Array.isArray;function $e(e,n,i,a){if(e=e.options,n){n={};for(var f=0;f"+n.valueOf().toString()+"",n=at.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;n.firstChild;)e.appendChild(n.firstChild)}});function Be(e,n){if(n){var i=e.firstChild;if(i&&i===e.lastChild&&i.nodeType===3){i.nodeValue=n;return}}e.textContent=n}var Le={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},ss=["Webkit","ms","Moz","O"];Object.keys(Le).forEach(function(e){ss.forEach(function(n){n=n+e.charAt(0).toUpperCase()+e.substring(1),Le[n]=Le[e]})});function ls(e,n,i){return n==null||typeof n=="boolean"||n===""?"":i||typeof n!="number"||n===0||Le.hasOwnProperty(e)&&Le[e]?(""+n).trim():n+"px"}function ri(e,n){e=e.style;for(var i in n)if(n.hasOwnProperty(i)){var a=i.indexOf("--")===0,f=ls(i,n[i],a);i==="float"&&(i="cssFloat"),a?e.setProperty(i,f):e[i]=f}}var ut=U({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Wt(e,n){if(n){if(ut[e]&&(n.children!=null||n.dangerouslySetInnerHTML!=null))throw Error(o(137,e));if(n.dangerouslySetInnerHTML!=null){if(n.children!=null)throw Error(o(60));if(typeof n.dangerouslySetInnerHTML!="object"||!("__html"in n.dangerouslySetInnerHTML))throw Error(o(61))}if(n.style!=null&&typeof n.style!="object")throw Error(o(62))}}function Tr(e,n){if(e.indexOf("-")===-1)return typeof n.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var wa=null;function xa(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Sa=null,oo=null,io=null;function fd(e){if(e=Ri(e)){if(typeof Sa!="function")throw Error(o(280));var n=e.stateNode;n&&(n=Ts(n),Sa(e.stateNode,e.type,n))}}function dd(e){oo?io?io.push(e):io=[e]:oo=e}function pd(){if(oo){var e=oo,n=io;if(io=oo=null,fd(e),n)for(e=0;e>>=0,e===0?32:31-(Iy(e)/My|0)|0}var ds=64,ps=4194304;function li(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function ms(e,n){var i=e.pendingLanes;if(i===0)return 0;var a=0,f=e.suspendedLanes,p=e.pingedLanes,b=i&268435455;if(b!==0){var P=b&~f;P!==0?a=li(P):(p&=b,p!==0&&(a=li(p)))}else b=i&~f,b!==0?a=li(b):p!==0&&(a=li(p));if(a===0)return 0;if(n!==0&&n!==a&&(n&f)===0&&(f=a&-a,p=n&-n,f>=p||f===16&&(p&4194240)!==0))return n;if((a&4)!==0&&(a|=i&16),n=e.entangledLanes,n!==0)for(e=e.entanglements,n&=a;0i;i++)n.push(e);return n}function ai(e,n,i){e.pendingLanes|=n,n!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,n=31-un(n),e[n]=i}function zy(e,n){var i=e.pendingLanes&~n;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=n,e.mutableReadLanes&=n,e.entangledLanes&=n,n=e.entanglements;var a=e.eventTimes;for(e=e.expirationTimes;0=vi),Bd=" ",Vd=!1;function Wd(e,n){switch(e){case"keyup":return p0.indexOf(n.keyCode)!==-1;case"keydown":return n.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Hd(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var ao=!1;function h0(e,n){switch(e){case"compositionend":return Hd(n);case"keypress":return n.which!==32?null:(Vd=!0,Bd);case"textInput":return e=n.data,e===Bd&&Vd?null:e;default:return null}}function v0(e,n){if(ao)return e==="compositionend"||!za&&Wd(e,n)?(e=Md(),ws=Oa=sr=null,ao=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(n.ctrlKey||n.altKey||n.metaKey)||n.ctrlKey&&n.altKey){if(n.char&&1=n)return{node:i,offset:n-e};e=a}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=qd(i)}}function Jd(e,n){return e&&n?e===n?!0:e&&e.nodeType===3?!1:n&&n.nodeType===3?Jd(e,n.parentNode):"contains"in e?e.contains(n):e.compareDocumentPosition?!!(e.compareDocumentPosition(n)&16):!1:!1}function ep(){for(var e=window,n=Ze();n instanceof e.HTMLIFrameElement;){try{var i=typeof n.contentWindow.location.href=="string"}catch{i=!1}if(i)e=n.contentWindow;else break;n=Ze(e.document)}return n}function Va(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&(n==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||n==="textarea"||e.contentEditable==="true")}function R0(e){var n=ep(),i=e.focusedElem,a=e.selectionRange;if(n!==i&&i&&i.ownerDocument&&Jd(i.ownerDocument.documentElement,i)){if(a!==null&&Va(i)){if(n=a.start,e=a.end,e===void 0&&(e=n),"selectionStart"in i)i.selectionStart=n,i.selectionEnd=Math.min(e,i.value.length);else if(e=(n=i.ownerDocument||document)&&n.defaultView||window,e.getSelection){e=e.getSelection();var f=i.textContent.length,p=Math.min(a.start,f);a=a.end===void 0?p:Math.min(a.end,f),!e.extend&&p>a&&(f=a,a=p,p=f),f=Zd(i,p);var b=Zd(i,a);f&&b&&(e.rangeCount!==1||e.anchorNode!==f.node||e.anchorOffset!==f.offset||e.focusNode!==b.node||e.focusOffset!==b.offset)&&(n=n.createRange(),n.setStart(f.node,f.offset),e.removeAllRanges(),p>a?(e.addRange(n),e.extend(b.node,b.offset)):(n.setEnd(b.node,b.offset),e.addRange(n)))}}for(n=[],e=i;e=e.parentNode;)e.nodeType===1&&n.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof i.focus=="function"&&i.focus(),i=0;i=document.documentMode,uo=null,Wa=null,xi=null,Ha=!1;function tp(e,n,i){var a=i.window===i?i.document:i.nodeType===9?i:i.ownerDocument;Ha||uo==null||uo!==Ze(a)||(a=uo,"selectionStart"in a&&Va(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),xi&&wi(xi,a)||(xi=a,a=Ns(Wa,"onSelect"),0ho||(e.current=nu[ho],nu[ho]=null,ho--)}function We(e,n){ho++,nu[ho]=e.current,e.current=n}var cr={},St=ur(cr),It=ur(!1),Or=cr;function vo(e,n){var i=e.type.contextTypes;if(!i)return cr;var a=e.stateNode;if(a&&a.__reactInternalMemoizedUnmaskedChildContext===n)return a.__reactInternalMemoizedMaskedChildContext;var f={},p;for(p in i)f[p]=n[p];return a&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=n,e.__reactInternalMemoizedMaskedChildContext=f),f}function Mt(e){return e=e.childContextTypes,e!=null}function js(){Ue(It),Ue(St)}function vp(e,n,i){if(St.current!==cr)throw Error(o(168));We(St,n),We(It,i)}function gp(e,n,i){var a=e.stateNode;if(n=n.childContextTypes,typeof a.getChildContext!="function")return i;a=a.getChildContext();for(var f in a)if(!(f in n))throw Error(o(108,Se(e)||"Unknown",f));return U({},i,a)}function $s(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||cr,Or=St.current,We(St,e),We(It,It.current),!0}function yp(e,n,i){var a=e.stateNode;if(!a)throw Error(o(169));i?(e=gp(e,n,Or),a.__reactInternalMemoizedMergedChildContext=e,Ue(It),Ue(St),We(St,e)):Ue(It),We(It,i)}var Mn=null,Os=!1,ru=!1;function wp(e){Mn===null?Mn=[e]:Mn.push(e)}function D0(e){Os=!0,wp(e)}function fr(){if(!ru&&Mn!==null){ru=!0;var e=0,n=De;try{var i=Mn;for(De=1;e>=b,f-=b,An=1<<32-un(n)+f|i<_e?(mt=Ne,Ne=null):mt=Ne.sibling;var Ae=ee(L,Ne,W[_e],oe);if(Ae===null){Ne===null&&(Ne=mt);break}e&&Ne&&Ae.alternate===null&&n(L,Ne),I=p(Ae,I,_e),ke===null?xe=Ae:ke.sibling=Ae,ke=Ae,Ne=mt}if(_e===W.length)return i(L,Ne),Ye&&Mr(L,_e),xe;if(Ne===null){for(;_e_e?(mt=Ne,Ne=null):mt=Ne.sibling;var xr=ee(L,Ne,Ae.value,oe);if(xr===null){Ne===null&&(Ne=mt);break}e&&Ne&&xr.alternate===null&&n(L,Ne),I=p(xr,I,_e),ke===null?xe=xr:ke.sibling=xr,ke=xr,Ne=mt}if(Ae.done)return i(L,Ne),Ye&&Mr(L,_e),xe;if(Ne===null){for(;!Ae.done;_e++,Ae=W.next())Ae=re(L,Ae.value,oe),Ae!==null&&(I=p(Ae,I,_e),ke===null?xe=Ae:ke.sibling=Ae,ke=Ae);return Ye&&Mr(L,_e),xe}for(Ne=a(L,Ne);!Ae.done;_e++,Ae=W.next())Ae=pe(Ne,L,_e,Ae.value,oe),Ae!==null&&(e&&Ae.alternate!==null&&Ne.delete(Ae.key===null?_e:Ae.key),I=p(Ae,I,_e),ke===null?xe=Ae:ke.sibling=Ae,ke=Ae);return e&&Ne.forEach(function(gw){return n(L,gw)}),Ye&&Mr(L,_e),xe}function tt(L,I,W,oe){if(typeof W=="object"&&W!==null&&W.type===H&&W.key===null&&(W=W.props.children),typeof W=="object"&&W!==null){switch(W.$$typeof){case A:e:{for(var xe=W.key,ke=I;ke!==null;){if(ke.key===xe){if(xe=W.type,xe===H){if(ke.tag===7){i(L,ke.sibling),I=f(ke,W.props.children),I.return=L,L=I;break e}}else if(ke.elementType===xe||typeof xe=="object"&&xe!==null&&xe.$$typeof===B&&Rp(xe)===ke.type){i(L,ke.sibling),I=f(ke,W.props),I.ref=ki(L,ke,W),I.return=L,L=I;break e}i(L,ke);break}else n(L,ke);ke=ke.sibling}W.type===H?(I=Wr(W.props.children,L.mode,oe,W.key),I.return=L,L=I):(oe=ll(W.type,W.key,W.props,null,L.mode,oe),oe.ref=ki(L,I,W),oe.return=L,L=oe)}return b(L);case F:e:{for(ke=W.key;I!==null;){if(I.key===ke)if(I.tag===4&&I.stateNode.containerInfo===W.containerInfo&&I.stateNode.implementation===W.implementation){i(L,I.sibling),I=f(I,W.children||[]),I.return=L,L=I;break e}else{i(L,I);break}else n(L,I);I=I.sibling}I=ec(W,L.mode,oe),I.return=L,L=I}return b(L);case B:return ke=W._init,tt(L,I,ke(W._payload),oe)}if(Ee(W))return he(L,I,W,oe);if(M(W))return ge(L,I,W,oe);Ds(L,W)}return typeof W=="string"&&W!==""||typeof W=="number"?(W=""+W,I!==null&&I.tag===6?(i(L,I.sibling),I=f(I,W),I.return=L,L=I):(i(L,I),I=Ju(W,L.mode,oe),I.return=L,L=I),b(L)):i(L,I)}return tt}var xo=kp(!0),Np=kp(!1),Ls=ur(null),zs=null,So=null,uu=null;function cu(){uu=So=zs=null}function fu(e){var n=Ls.current;Ue(Ls),e._currentValue=n}function du(e,n,i){for(;e!==null;){var a=e.alternate;if((e.childLanes&n)!==n?(e.childLanes|=n,a!==null&&(a.childLanes|=n)):a!==null&&(a.childLanes&n)!==n&&(a.childLanes|=n),e===i)break;e=e.return}}function bo(e,n){zs=e,uu=So=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&n)!==0&&(At=!0),e.firstContext=null)}function Zt(e){var n=e._currentValue;if(uu!==e)if(e={context:e,memoizedValue:n,next:null},So===null){if(zs===null)throw Error(o(308));So=e,zs.dependencies={lanes:0,firstContext:e}}else So=So.next=e;return n}var Ar=null;function pu(e){Ar===null?Ar=[e]:Ar.push(e)}function Pp(e,n,i,a){var f=n.interleaved;return f===null?(i.next=i,pu(n)):(i.next=f.next,f.next=i),n.interleaved=i,Ln(e,a)}function Ln(e,n){e.lanes|=n;var i=e.alternate;for(i!==null&&(i.lanes|=n),i=e,e=e.return;e!==null;)e.childLanes|=n,i=e.alternate,i!==null&&(i.childLanes|=n),i=e,e=e.return;return i.tag===3?i.stateNode:null}var dr=!1;function mu(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function _p(e,n){e=e.updateQueue,n.updateQueue===e&&(n.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function zn(e,n){return{eventTime:e,lane:n,tag:0,payload:null,callback:null,next:null}}function pr(e,n,i){var a=e.updateQueue;if(a===null)return null;if(a=a.shared,(Me&2)!==0){var f=a.pending;return f===null?n.next=n:(n.next=f.next,f.next=n),a.pending=n,Ln(e,i)}return f=a.interleaved,f===null?(n.next=n,pu(a)):(n.next=f.next,f.next=n),a.interleaved=n,Ln(e,i)}function Fs(e,n,i){if(n=n.updateQueue,n!==null&&(n=n.shared,(i&4194240)!==0)){var a=n.lanes;a&=e.pendingLanes,i|=a,n.lanes=i,Pa(e,i)}}function Tp(e,n){var i=e.updateQueue,a=e.alternate;if(a!==null&&(a=a.updateQueue,i===a)){var f=null,p=null;if(i=i.firstBaseUpdate,i!==null){do{var b={eventTime:i.eventTime,lane:i.lane,tag:i.tag,payload:i.payload,callback:i.callback,next:null};p===null?f=p=b:p=p.next=b,i=i.next}while(i!==null);p===null?f=p=n:p=p.next=n}else f=p=n;i={baseState:a.baseState,firstBaseUpdate:f,lastBaseUpdate:p,shared:a.shared,effects:a.effects},e.updateQueue=i;return}e=i.lastBaseUpdate,e===null?i.firstBaseUpdate=n:e.next=n,i.lastBaseUpdate=n}function Bs(e,n,i,a){var f=e.updateQueue;dr=!1;var p=f.firstBaseUpdate,b=f.lastBaseUpdate,P=f.shared.pending;if(P!==null){f.shared.pending=null;var $=P,G=$.next;$.next=null,b===null?p=G:b.next=G,b=$;var ne=e.alternate;ne!==null&&(ne=ne.updateQueue,P=ne.lastBaseUpdate,P!==b&&(P===null?ne.firstBaseUpdate=G:P.next=G,ne.lastBaseUpdate=$))}if(p!==null){var re=f.baseState;b=0,ne=G=$=null,P=p;do{var ee=P.lane,pe=P.eventTime;if((a&ee)===ee){ne!==null&&(ne=ne.next={eventTime:pe,lane:0,tag:P.tag,payload:P.payload,callback:P.callback,next:null});e:{var he=e,ge=P;switch(ee=n,pe=i,ge.tag){case 1:if(he=ge.payload,typeof he=="function"){re=he.call(pe,re,ee);break e}re=he;break e;case 3:he.flags=he.flags&-65537|128;case 0:if(he=ge.payload,ee=typeof he=="function"?he.call(pe,re,ee):he,ee==null)break e;re=U({},re,ee);break e;case 2:dr=!0}}P.callback!==null&&P.lane!==0&&(e.flags|=64,ee=f.effects,ee===null?f.effects=[P]:ee.push(P))}else pe={eventTime:pe,lane:ee,tag:P.tag,payload:P.payload,callback:P.callback,next:null},ne===null?(G=ne=pe,$=re):ne=ne.next=pe,b|=ee;if(P=P.next,P===null){if(P=f.shared.pending,P===null)break;ee=P,P=ee.next,ee.next=null,f.lastBaseUpdate=ee,f.shared.pending=null}}while(!0);if(ne===null&&($=re),f.baseState=$,f.firstBaseUpdate=G,f.lastBaseUpdate=ne,n=f.shared.interleaved,n!==null){f=n;do b|=f.lane,f=f.next;while(f!==n)}else p===null&&(f.shared.lanes=0);zr|=b,e.lanes=b,e.memoizedState=re}}function jp(e,n,i){if(e=n.effects,n.effects=null,e!==null)for(n=0;ni?i:4,e(!0);var a=wu.transition;wu.transition={};try{e(!1),n()}finally{De=i,wu.transition=a}}function Qp(){return Jt().memoizedState}function B0(e,n,i){var a=gr(e);if(i={lane:a,action:i,hasEagerState:!1,eagerState:null,next:null},qp(e))Zp(n,i);else if(i=Pp(e,n,i,a),i!==null){var f=Tt();hn(i,e,a,f),Jp(i,n,a)}}function V0(e,n,i){var a=gr(e),f={lane:a,action:i,hasEagerState:!1,eagerState:null,next:null};if(qp(e))Zp(n,f);else{var p=e.alternate;if(e.lanes===0&&(p===null||p.lanes===0)&&(p=n.lastRenderedReducer,p!==null))try{var b=n.lastRenderedState,P=p(b,i);if(f.hasEagerState=!0,f.eagerState=P,cn(P,b)){var $=n.interleaved;$===null?(f.next=f,pu(n)):(f.next=$.next,$.next=f),n.interleaved=f;return}}catch{}finally{}i=Pp(e,n,f,a),i!==null&&(f=Tt(),hn(i,e,a,f),Jp(i,n,a))}}function qp(e){var n=e.alternate;return e===Qe||n!==null&&n===Qe}function Zp(e,n){Ti=Hs=!0;var i=e.pending;i===null?n.next=n:(n.next=i.next,i.next=n),e.pending=n}function Jp(e,n,i){if((i&4194240)!==0){var a=n.lanes;a&=e.pendingLanes,i|=a,n.lanes=i,Pa(e,i)}}var Ys={readContext:Zt,useCallback:bt,useContext:bt,useEffect:bt,useImperativeHandle:bt,useInsertionEffect:bt,useLayoutEffect:bt,useMemo:bt,useReducer:bt,useRef:bt,useState:bt,useDebugValue:bt,useDeferredValue:bt,useTransition:bt,useMutableSource:bt,useSyncExternalStore:bt,useId:bt,unstable_isNewReconciler:!1},W0={readContext:Zt,useCallback:function(e,n){return Rn().memoizedState=[e,n===void 0?null:n],e},useContext:Zt,useEffect:Vp,useImperativeHandle:function(e,n,i){return i=i!=null?i.concat([e]):null,Us(4194308,4,Up.bind(null,n,e),i)},useLayoutEffect:function(e,n){return Us(4194308,4,e,n)},useInsertionEffect:function(e,n){return Us(4,2,e,n)},useMemo:function(e,n){var i=Rn();return n=n===void 0?null:n,e=e(),i.memoizedState=[e,n],e},useReducer:function(e,n,i){var a=Rn();return n=i!==void 0?i(n):n,a.memoizedState=a.baseState=n,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:n},a.queue=e,e=e.dispatch=B0.bind(null,Qe,e),[a.memoizedState,e]},useRef:function(e){var n=Rn();return e={current:e},n.memoizedState=e},useState:Fp,useDebugValue:ku,useDeferredValue:function(e){return Rn().memoizedState=e},useTransition:function(){var e=Fp(!1),n=e[0];return e=F0.bind(null,e[1]),Rn().memoizedState=e,[n,e]},useMutableSource:function(){},useSyncExternalStore:function(e,n,i){var a=Qe,f=Rn();if(Ye){if(i===void 0)throw Error(o(407));i=i()}else{if(i=n(),pt===null)throw Error(o(349));(Lr&30)!==0||Mp(a,n,i)}f.memoizedState=i;var p={value:i,getSnapshot:n};return f.queue=p,Vp(Dp.bind(null,a,p,e),[e]),a.flags|=2048,Oi(9,Ap.bind(null,a,p,i,n),void 0,null),i},useId:function(){var e=Rn(),n=pt.identifierPrefix;if(Ye){var i=Dn,a=An;i=(a&~(1<<32-un(a)-1)).toString(32)+i,n=":"+n+"R"+i,i=ji++,0<\/script>",e=e.removeChild(e.firstChild)):typeof a.is=="string"?e=b.createElement(i,{is:a.is}):(e=b.createElement(i),i==="select"&&(b=e,a.multiple?b.multiple=!0:a.size&&(b.size=a.size))):e=b.createElementNS(e,i),e[Cn]=n,e[Ei]=a,wm(e,n,!1,!1),n.stateNode=e;e:{switch(b=Tr(i,a),i){case"dialog":He("cancel",e),He("close",e),f=a;break;case"iframe":case"object":case"embed":He("load",e),f=a;break;case"video":case"audio":for(f=0;fNo&&(n.flags|=128,a=!0,Ii(p,!1),n.lanes=4194304)}else{if(!a)if(e=Vs(b),e!==null){if(n.flags|=128,a=!0,i=e.updateQueue,i!==null&&(n.updateQueue=i,n.flags|=4),Ii(p,!0),p.tail===null&&p.tailMode==="hidden"&&!b.alternate&&!Ye)return Ct(n),null}else 2*et()-p.renderingStartTime>No&&i!==1073741824&&(n.flags|=128,a=!0,Ii(p,!1),n.lanes=4194304);p.isBackwards?(b.sibling=n.child,n.child=b):(i=p.last,i!==null?i.sibling=b:n.child=b,p.last=b)}return p.tail!==null?(n=p.tail,p.rendering=n,p.tail=n.sibling,p.renderingStartTime=et(),n.sibling=null,i=Ke.current,We(Ke,a?i&1|2:i&1),n):(Ct(n),null);case 22:case 23:return Qu(),a=n.memoizedState!==null,e!==null&&e.memoizedState!==null!==a&&(n.flags|=8192),a&&(n.mode&1)!==0?(Yt&1073741824)!==0&&(Ct(n),n.subtreeFlags&6&&(n.flags|=8192)):Ct(n),null;case 24:return null;case 25:return null}throw Error(o(156,n.tag))}function q0(e,n){switch(iu(n),n.tag){case 1:return Mt(n.type)&&js(),e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 3:return Co(),Ue(It),Ue(St),yu(),e=n.flags,(e&65536)!==0&&(e&128)===0?(n.flags=e&-65537|128,n):null;case 5:return vu(n),null;case 13:if(Ue(Ke),e=n.memoizedState,e!==null&&e.dehydrated!==null){if(n.alternate===null)throw Error(o(340));wo()}return e=n.flags,e&65536?(n.flags=e&-65537|128,n):null;case 19:return Ue(Ke),null;case 4:return Co(),null;case 10:return fu(n.type._context),null;case 22:case 23:return Qu(),null;case 24:return null;default:return null}}var qs=!1,Et=!1,Z0=typeof WeakSet=="function"?WeakSet:Set,me=null;function Ro(e,n){var i=e.ref;if(i!==null)if(typeof i=="function")try{i(null)}catch(a){Je(e,n,a)}else i.current=null}function Lu(e,n,i){try{i()}catch(a){Je(e,n,a)}}var bm=!1;function J0(e,n){if(Qa=gs,e=ep(),Va(e)){if("selectionStart"in e)var i={start:e.selectionStart,end:e.selectionEnd};else e:{i=(i=e.ownerDocument)&&i.defaultView||window;var a=i.getSelection&&i.getSelection();if(a&&a.rangeCount!==0){i=a.anchorNode;var f=a.anchorOffset,p=a.focusNode;a=a.focusOffset;try{i.nodeType,p.nodeType}catch{i=null;break e}var b=0,P=-1,$=-1,G=0,ne=0,re=e,ee=null;t:for(;;){for(var pe;re!==i||f!==0&&re.nodeType!==3||(P=b+f),re!==p||a!==0&&re.nodeType!==3||($=b+a),re.nodeType===3&&(b+=re.nodeValue.length),(pe=re.firstChild)!==null;)ee=re,re=pe;for(;;){if(re===e)break t;if(ee===i&&++G===f&&(P=b),ee===p&&++ne===a&&($=b),(pe=re.nextSibling)!==null)break;re=ee,ee=re.parentNode}re=pe}i=P===-1||$===-1?null:{start:P,end:$}}else i=null}i=i||{start:0,end:0}}else i=null;for(qa={focusedElem:e,selectionRange:i},gs=!1,me=n;me!==null;)if(n=me,e=n.child,(n.subtreeFlags&1028)!==0&&e!==null)e.return=n,me=e;else for(;me!==null;){n=me;try{var he=n.alternate;if((n.flags&1024)!==0)switch(n.tag){case 0:case 11:case 15:break;case 1:if(he!==null){var ge=he.memoizedProps,tt=he.memoizedState,L=n.stateNode,I=L.getSnapshotBeforeUpdate(n.elementType===n.type?ge:dn(n.type,ge),tt);L.__reactInternalSnapshotBeforeUpdate=I}break;case 3:var W=n.stateNode.containerInfo;W.nodeType===1?W.textContent="":W.nodeType===9&&W.documentElement&&W.removeChild(W.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(o(163))}}catch(oe){Je(n,n.return,oe)}if(e=n.sibling,e!==null){e.return=n.return,me=e;break}me=n.return}return he=bm,bm=!1,he}function Mi(e,n,i){var a=n.updateQueue;if(a=a!==null?a.lastEffect:null,a!==null){var f=a=a.next;do{if((f.tag&e)===e){var p=f.destroy;f.destroy=void 0,p!==void 0&&Lu(n,i,p)}f=f.next}while(f!==a)}}function Zs(e,n){if(n=n.updateQueue,n=n!==null?n.lastEffect:null,n!==null){var i=n=n.next;do{if((i.tag&e)===e){var a=i.create;i.destroy=a()}i=i.next}while(i!==n)}}function zu(e){var n=e.ref;if(n!==null){var i=e.stateNode;switch(e.tag){case 5:e=i;break;default:e=i}typeof n=="function"?n(e):n.current=e}}function Cm(e){var n=e.alternate;n!==null&&(e.alternate=null,Cm(n)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(n=e.stateNode,n!==null&&(delete n[Cn],delete n[Ei],delete n[tu],delete n[M0],delete n[A0])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function Em(e){return e.tag===5||e.tag===3||e.tag===4}function Rm(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||Em(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Fu(e,n,i){var a=e.tag;if(a===5||a===6)e=e.stateNode,n?i.nodeType===8?i.parentNode.insertBefore(e,n):i.insertBefore(e,n):(i.nodeType===8?(n=i.parentNode,n.insertBefore(e,i)):(n=i,n.appendChild(e)),i=i._reactRootContainer,i!=null||n.onclick!==null||(n.onclick=_s));else if(a!==4&&(e=e.child,e!==null))for(Fu(e,n,i),e=e.sibling;e!==null;)Fu(e,n,i),e=e.sibling}function Bu(e,n,i){var a=e.tag;if(a===5||a===6)e=e.stateNode,n?i.insertBefore(e,n):i.appendChild(e);else if(a!==4&&(e=e.child,e!==null))for(Bu(e,n,i),e=e.sibling;e!==null;)Bu(e,n,i),e=e.sibling}var vt=null,pn=!1;function mr(e,n,i){for(i=i.child;i!==null;)km(e,n,i),i=i.sibling}function km(e,n,i){if(bn&&typeof bn.onCommitFiberUnmount=="function")try{bn.onCommitFiberUnmount(fs,i)}catch{}switch(i.tag){case 5:Et||Ro(i,n);case 6:var a=vt,f=pn;vt=null,mr(e,n,i),vt=a,pn=f,vt!==null&&(pn?(e=vt,i=i.stateNode,e.nodeType===8?e.parentNode.removeChild(i):e.removeChild(i)):vt.removeChild(i.stateNode));break;case 18:vt!==null&&(pn?(e=vt,i=i.stateNode,e.nodeType===8?eu(e.parentNode,i):e.nodeType===1&&eu(e,i),pi(e)):eu(vt,i.stateNode));break;case 4:a=vt,f=pn,vt=i.stateNode.containerInfo,pn=!0,mr(e,n,i),vt=a,pn=f;break;case 0:case 11:case 14:case 15:if(!Et&&(a=i.updateQueue,a!==null&&(a=a.lastEffect,a!==null))){f=a=a.next;do{var p=f,b=p.destroy;p=p.tag,b!==void 0&&((p&2)!==0||(p&4)!==0)&&Lu(i,n,b),f=f.next}while(f!==a)}mr(e,n,i);break;case 1:if(!Et&&(Ro(i,n),a=i.stateNode,typeof a.componentWillUnmount=="function"))try{a.props=i.memoizedProps,a.state=i.memoizedState,a.componentWillUnmount()}catch(P){Je(i,n,P)}mr(e,n,i);break;case 21:mr(e,n,i);break;case 22:i.mode&1?(Et=(a=Et)||i.memoizedState!==null,mr(e,n,i),Et=a):mr(e,n,i);break;default:mr(e,n,i)}}function Nm(e){var n=e.updateQueue;if(n!==null){e.updateQueue=null;var i=e.stateNode;i===null&&(i=e.stateNode=new Z0),n.forEach(function(a){var f=aw.bind(null,e,a);i.has(a)||(i.add(a),a.then(f,f))})}}function mn(e,n){var i=n.deletions;if(i!==null)for(var a=0;af&&(f=b),a&=~p}if(a=f,a=et()-a,a=(120>a?120:480>a?480:1080>a?1080:1920>a?1920:3e3>a?3e3:4320>a?4320:1960*tw(a/1960))-a,10e?16:e,vr===null)var a=!1;else{if(e=vr,vr=null,rl=0,(Me&6)!==0)throw Error(o(331));var f=Me;for(Me|=4,me=e.current;me!==null;){var p=me,b=p.child;if((me.flags&16)!==0){var P=p.deletions;if(P!==null){for(var $=0;$et()-Hu?Br(e,0):Wu|=i),Lt(e,n)}function Fm(e,n){n===0&&((e.mode&1)===0?n=1:(n=ps,ps<<=1,(ps&130023424)===0&&(ps=4194304)));var i=Tt();e=Ln(e,n),e!==null&&(ai(e,n,i),Lt(e,i))}function lw(e){var n=e.memoizedState,i=0;n!==null&&(i=n.retryLane),Fm(e,i)}function aw(e,n){var i=0;switch(e.tag){case 13:var a=e.stateNode,f=e.memoizedState;f!==null&&(i=f.retryLane);break;case 19:a=e.stateNode;break;default:throw Error(o(314))}a!==null&&a.delete(n),Fm(e,i)}var Bm;Bm=function(e,n,i){if(e!==null)if(e.memoizedProps!==n.pendingProps||It.current)At=!0;else{if((e.lanes&i)===0&&(n.flags&128)===0)return At=!1,K0(e,n,i);At=(e.flags&131072)!==0}else At=!1,Ye&&(n.flags&1048576)!==0&&xp(n,Ms,n.index);switch(n.lanes=0,n.tag){case 2:var a=n.type;Qs(e,n),e=n.pendingProps;var f=vo(n,St.current);bo(n,i),f=Su(null,n,a,e,f,i);var p=bu();return n.flags|=1,typeof f=="object"&&f!==null&&typeof f.render=="function"&&f.$$typeof===void 0?(n.tag=1,n.memoizedState=null,n.updateQueue=null,Mt(a)?(p=!0,$s(n)):p=!1,n.memoizedState=f.state!==null&&f.state!==void 0?f.state:null,mu(n),f.updater=Xs,n.stateNode=f,f._reactInternals=n,Pu(n,a,e,i),n=$u(null,n,a,!0,p,i)):(n.tag=0,Ye&&p&&ou(n),_t(null,n,f,i),n=n.child),n;case 16:a=n.elementType;e:{switch(Qs(e,n),e=n.pendingProps,f=a._init,a=f(a._payload),n.type=a,f=n.tag=cw(a),e=dn(a,e),f){case 0:n=ju(null,n,a,e,i);break e;case 1:n=pm(null,n,a,e,i);break e;case 11:n=am(null,n,a,e,i);break e;case 14:n=um(null,n,a,dn(a.type,e),i);break e}throw Error(o(306,a,""))}return n;case 0:return a=n.type,f=n.pendingProps,f=n.elementType===a?f:dn(a,f),ju(e,n,a,f,i);case 1:return a=n.type,f=n.pendingProps,f=n.elementType===a?f:dn(a,f),pm(e,n,a,f,i);case 3:e:{if(mm(n),e===null)throw Error(o(387));a=n.pendingProps,p=n.memoizedState,f=p.element,_p(e,n),Bs(n,a,null,i);var b=n.memoizedState;if(a=b.element,p.isDehydrated)if(p={element:a,isDehydrated:!1,cache:b.cache,pendingSuspenseBoundaries:b.pendingSuspenseBoundaries,transitions:b.transitions},n.updateQueue.baseState=p,n.memoizedState=p,n.flags&256){f=Eo(Error(o(423)),n),n=hm(e,n,a,i,f);break e}else if(a!==f){f=Eo(Error(o(424)),n),n=hm(e,n,a,i,f);break e}else for(Gt=ar(n.stateNode.containerInfo.firstChild),Ut=n,Ye=!0,fn=null,i=Np(n,null,a,i),n.child=i;i;)i.flags=i.flags&-3|4096,i=i.sibling;else{if(wo(),a===f){n=Fn(e,n,i);break e}_t(e,n,a,i)}n=n.child}return n;case 5:return $p(n),e===null&&lu(n),a=n.type,f=n.pendingProps,p=e!==null?e.memoizedProps:null,b=f.children,Za(a,f)?b=null:p!==null&&Za(a,p)&&(n.flags|=32),dm(e,n),_t(e,n,b,i),n.child;case 6:return e===null&&lu(n),null;case 13:return vm(e,n,i);case 4:return hu(n,n.stateNode.containerInfo),a=n.pendingProps,e===null?n.child=xo(n,null,a,i):_t(e,n,a,i),n.child;case 11:return a=n.type,f=n.pendingProps,f=n.elementType===a?f:dn(a,f),am(e,n,a,f,i);case 7:return _t(e,n,n.pendingProps,i),n.child;case 8:return _t(e,n,n.pendingProps.children,i),n.child;case 12:return _t(e,n,n.pendingProps.children,i),n.child;case 10:e:{if(a=n.type._context,f=n.pendingProps,p=n.memoizedProps,b=f.value,We(Ls,a._currentValue),a._currentValue=b,p!==null)if(cn(p.value,b)){if(p.children===f.children&&!It.current){n=Fn(e,n,i);break e}}else for(p=n.child,p!==null&&(p.return=n);p!==null;){var P=p.dependencies;if(P!==null){b=p.child;for(var $=P.firstContext;$!==null;){if($.context===a){if(p.tag===1){$=zn(-1,i&-i),$.tag=2;var G=p.updateQueue;if(G!==null){G=G.shared;var ne=G.pending;ne===null?$.next=$:($.next=ne.next,ne.next=$),G.pending=$}}p.lanes|=i,$=p.alternate,$!==null&&($.lanes|=i),du(p.return,i,n),P.lanes|=i;break}$=$.next}}else if(p.tag===10)b=p.type===n.type?null:p.child;else if(p.tag===18){if(b=p.return,b===null)throw Error(o(341));b.lanes|=i,P=b.alternate,P!==null&&(P.lanes|=i),du(b,i,n),b=p.sibling}else b=p.child;if(b!==null)b.return=p;else for(b=p;b!==null;){if(b===n){b=null;break}if(p=b.sibling,p!==null){p.return=b.return,b=p;break}b=b.return}p=b}_t(e,n,f.children,i),n=n.child}return n;case 9:return f=n.type,a=n.pendingProps.children,bo(n,i),f=Zt(f),a=a(f),n.flags|=1,_t(e,n,a,i),n.child;case 14:return a=n.type,f=dn(a,n.pendingProps),f=dn(a.type,f),um(e,n,a,f,i);case 15:return cm(e,n,n.type,n.pendingProps,i);case 17:return a=n.type,f=n.pendingProps,f=n.elementType===a?f:dn(a,f),Qs(e,n),n.tag=1,Mt(a)?(e=!0,$s(n)):e=!1,bo(n,i),tm(n,a,f),Pu(n,a,f,i),$u(null,n,a,!0,e,i);case 19:return ym(e,n,i);case 22:return fm(e,n,i)}throw Error(o(156,n.tag))};function Vm(e,n){return Sd(e,n)}function uw(e,n,i,a){this.tag=e,this.key=i,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=n,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=a,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function tn(e,n,i,a){return new uw(e,n,i,a)}function Zu(e){return e=e.prototype,!(!e||!e.isReactComponent)}function cw(e){if(typeof e=="function")return Zu(e)?1:0;if(e!=null){if(e=e.$$typeof,e===K)return 11;if(e===J)return 14}return 2}function wr(e,n){var i=e.alternate;return i===null?(i=tn(e.tag,n,e.key,e.mode),i.elementType=e.elementType,i.type=e.type,i.stateNode=e.stateNode,i.alternate=e,e.alternate=i):(i.pendingProps=n,i.type=e.type,i.flags=0,i.subtreeFlags=0,i.deletions=null),i.flags=e.flags&14680064,i.childLanes=e.childLanes,i.lanes=e.lanes,i.child=e.child,i.memoizedProps=e.memoizedProps,i.memoizedState=e.memoizedState,i.updateQueue=e.updateQueue,n=e.dependencies,i.dependencies=n===null?null:{lanes:n.lanes,firstContext:n.firstContext},i.sibling=e.sibling,i.index=e.index,i.ref=e.ref,i}function ll(e,n,i,a,f,p){var b=2;if(a=e,typeof e=="function")Zu(e)&&(b=1);else if(typeof e=="string")b=5;else e:switch(e){case H:return Wr(i.children,f,p,n);case z:b=8,f|=8;break;case Q:return e=tn(12,i,n,f|2),e.elementType=Q,e.lanes=p,e;case Z:return e=tn(13,i,n,f),e.elementType=Z,e.lanes=p,e;case te:return e=tn(19,i,n,f),e.elementType=te,e.lanes=p,e;case V:return al(i,f,p,n);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case q:b=10;break e;case X:b=9;break e;case K:b=11;break e;case J:b=14;break e;case B:b=16,a=null;break e}throw Error(o(130,e==null?e:typeof e,""))}return n=tn(b,i,n,f),n.elementType=e,n.type=a,n.lanes=p,n}function Wr(e,n,i,a){return e=tn(7,e,a,n),e.lanes=i,e}function al(e,n,i,a){return e=tn(22,e,a,n),e.elementType=V,e.lanes=i,e.stateNode={isHidden:!1},e}function Ju(e,n,i){return e=tn(6,e,null,n),e.lanes=i,e}function ec(e,n,i){return n=tn(4,e.children!==null?e.children:[],e.key,n),n.lanes=i,n.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},n}function fw(e,n,i,a,f){this.tag=n,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Na(0),this.expirationTimes=Na(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Na(0),this.identifierPrefix=a,this.onRecoverableError=f,this.mutableSourceEagerHydrationData=null}function tc(e,n,i,a,f,p,b,P,$){return e=new fw(e,n,i,P,$),n===1?(n=1,p===!0&&(n|=8)):n=0,p=tn(3,null,null,n),e.current=p,p.stateNode=e,p.memoizedState={element:a,isDehydrated:i,cache:null,transitions:null,pendingSuspenseBoundaries:null},mu(p),e}function dw(e,n,i){var a=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(t)}catch(r){console.error(r)}}return t(),lc.exports=Rw(),lc.exports}var nh;function kw(){if(nh)return hl;nh=1;var t=sv();return hl.createRoot=t.createRoot,hl.hydrateRoot=t.hydrateRoot,hl}var Nw=kw(),Pn=function(){return Pn=Object.assign||function(r){for(var o,s=1,l=arguments.length;s"u")return Hw;var r=Uw(t),o=document.documentElement.clientWidth,s=window.innerWidth;return{left:r[0],top:r[1],right:r[2],gap:Math.max(0,s-o+r[2]-r[0])}},Yw=cv(),Do="data-scroll-locked",Xw=function(t,r,o,s){var l=t.left,u=t.top,c=t.right,d=t.gap;return o===void 0&&(o="margin"),` + .`.concat(_w,` { + overflow: hidden `).concat(s,`; + padding-right: `).concat(d,"px ").concat(s,`; + } + body[`).concat(Do,`] { + overflow: hidden `).concat(s,`; + overscroll-behavior: contain; + `).concat([r&&"position: relative ".concat(s,";"),o==="margin"&&` + padding-left: `.concat(l,`px; + padding-top: `).concat(u,`px; + padding-right: `).concat(c,`px; + margin-left:0; + margin-top:0; + margin-right: `).concat(d,"px ").concat(s,`; + `),o==="padding"&&"padding-right: ".concat(d,"px ").concat(s,";")].filter(Boolean).join(""),` + } + + .`).concat(bl,` { + right: `).concat(d,"px ").concat(s,`; + } + + .`).concat(Cl,` { + margin-right: `).concat(d,"px ").concat(s,`; + } + + .`).concat(bl," .").concat(bl,` { + right: 0 `).concat(s,`; + } + + .`).concat(Cl," .").concat(Cl,` { + margin-right: 0 `).concat(s,`; + } + + body[`).concat(Do,`] { + `).concat(Tw,": ").concat(d,`px; + } +`)},oh=function(){var t=parseInt(document.body.getAttribute(Do)||"0",10);return isFinite(t)?t:0},Kw=function(){x.useEffect(function(){return document.body.setAttribute(Do,(oh()+1).toString()),function(){var t=oh()-1;t<=0?document.body.removeAttribute(Do):document.body.setAttribute(Do,t.toString())}},[])},Qw=function(t){var r=t.noRelative,o=t.noImportant,s=t.gapMode,l=s===void 0?"margin":s;Kw();var u=x.useMemo(function(){return Gw(l)},[l]);return x.createElement(Yw,{styles:Xw(u,!r,l,o?"":"!important")})},Oc=!1;if(typeof window<"u")try{var vl=Object.defineProperty({},"passive",{get:function(){return Oc=!0,!0}});window.addEventListener("test",vl,vl),window.removeEventListener("test",vl,vl)}catch{Oc=!1}var _o=Oc?{passive:!1}:!1,qw=function(t){return t.tagName==="TEXTAREA"},fv=function(t,r){if(!(t instanceof Element))return!1;var o=window.getComputedStyle(t);return o[r]!=="hidden"&&!(o.overflowY===o.overflowX&&!qw(t)&&o[r]==="visible")},Zw=function(t){return fv(t,"overflowY")},Jw=function(t){return fv(t,"overflowX")},ih=function(t,r){var o=r.ownerDocument,s=r;do{typeof ShadowRoot<"u"&&s instanceof ShadowRoot&&(s=s.host);var l=dv(t,s);if(l){var u=pv(t,s),c=u[1],d=u[2];if(c>d)return!0}s=s.parentNode}while(s&&s!==o.body);return!1},e1=function(t){var r=t.scrollTop,o=t.scrollHeight,s=t.clientHeight;return[r,o,s]},t1=function(t){var r=t.scrollLeft,o=t.scrollWidth,s=t.clientWidth;return[r,o,s]},dv=function(t,r){return t==="v"?Zw(r):Jw(r)},pv=function(t,r){return t==="v"?e1(r):t1(r)},n1=function(t,r){return t==="h"&&r==="rtl"?-1:1},r1=function(t,r,o,s,l){var u=n1(t,window.getComputedStyle(r).direction),c=u*s,d=o.target,m=r.contains(d),h=!1,v=c>0,g=0,y=0;do{if(!d)break;var w=pv(t,d),C=w[0],E=w[1],R=w[2],N=E-R-u*C;(C||N)&&dv(t,d)&&(g+=N,y+=C);var j=d.parentNode;d=j&&j.nodeType===Node.DOCUMENT_FRAGMENT_NODE?j.host:j}while(!m&&d!==document.body||m&&(r.contains(d)||r===d));return(v&&Math.abs(g)<1||!v&&Math.abs(y)<1)&&(h=!0),h},gl=function(t){return"changedTouches"in t?[t.changedTouches[0].clientX,t.changedTouches[0].clientY]:[0,0]},sh=function(t){return[t.deltaX,t.deltaY]},lh=function(t){return t&&"current"in t?t.current:t},o1=function(t,r){return t[0]===r[0]&&t[1]===r[1]},i1=function(t){return` + .block-interactivity-`.concat(t,` {pointer-events: none;} + .allow-interactivity-`).concat(t,` {pointer-events: all;} +`)},s1=0,To=[];function l1(t){var r=x.useRef([]),o=x.useRef([0,0]),s=x.useRef(),l=x.useState(s1++)[0],u=x.useState(cv)[0],c=x.useRef(t);x.useEffect(function(){c.current=t},[t]),x.useEffect(function(){if(t.inert){document.body.classList.add("block-interactivity-".concat(l));var E=Pw([t.lockRef.current],(t.shards||[]).map(lh),!0).filter(Boolean);return E.forEach(function(R){return R.classList.add("allow-interactivity-".concat(l))}),function(){document.body.classList.remove("block-interactivity-".concat(l)),E.forEach(function(R){return R.classList.remove("allow-interactivity-".concat(l))})}}},[t.inert,t.lockRef.current,t.shards]);var d=x.useCallback(function(E,R){if("touches"in E&&E.touches.length===2||E.type==="wheel"&&E.ctrlKey)return!c.current.allowPinchZoom;var N=gl(E),j=o.current,T="deltaX"in E?E.deltaX:j[0]-N[0],O="deltaY"in E?E.deltaY:j[1]-N[1],A,F=E.target,H=Math.abs(T)>Math.abs(O)?"h":"v";if("touches"in E&&H==="h"&&F.type==="range")return!1;var z=window.getSelection(),Q=z&&z.anchorNode,q=Q?Q===F||Q.contains(F):!1;if(q)return!1;var X=ih(H,F);if(!X)return!0;if(X?A=H:(A=H==="v"?"h":"v",X=ih(H,F)),!X)return!1;if(!s.current&&"changedTouches"in E&&(T||O)&&(s.current=A),!A)return!0;var K=s.current||A;return r1(K,R,E,K==="h"?T:O)},[]),m=x.useCallback(function(E){var R=E;if(!(!To.length||To[To.length-1]!==u)){var N="deltaY"in R?sh(R):gl(R),j=r.current.filter(function(A){return A.name===R.type&&(A.target===R.target||R.target===A.shadowParent)&&o1(A.delta,N)})[0];if(j&&j.should){R.cancelable&&R.preventDefault();return}if(!j){var T=(c.current.shards||[]).map(lh).filter(Boolean).filter(function(A){return A.contains(R.target)}),O=T.length>0?d(R,T[0]):!c.current.noIsolation;O&&R.cancelable&&R.preventDefault()}}},[]),h=x.useCallback(function(E,R,N,j){var T={name:E,delta:R,target:N,should:j,shadowParent:a1(N)};r.current.push(T),setTimeout(function(){r.current=r.current.filter(function(O){return O!==T})},1)},[]),v=x.useCallback(function(E){o.current=gl(E),s.current=void 0},[]),g=x.useCallback(function(E){h(E.type,sh(E),E.target,d(E,t.lockRef.current))},[]),y=x.useCallback(function(E){h(E.type,gl(E),E.target,d(E,t.lockRef.current))},[]);x.useEffect(function(){return To.push(u),t.setCallbacks({onScrollCapture:g,onWheelCapture:g,onTouchMoveCapture:y}),document.addEventListener("wheel",m,_o),document.addEventListener("touchmove",m,_o),document.addEventListener("touchstart",v,_o),function(){To=To.filter(function(E){return E!==u}),document.removeEventListener("wheel",m,_o),document.removeEventListener("touchmove",m,_o),document.removeEventListener("touchstart",v,_o)}},[]);var w=t.removeScrollBar,C=t.inert;return x.createElement(x.Fragment,null,C?x.createElement(u,{styles:i1(l)}):null,w?x.createElement(Qw,{noRelative:t.noRelative,gapMode:t.gapMode}):null)}function a1(t){for(var r=null;t!==null;)t instanceof ShadowRoot&&(r=t.host,t=t.host),t=t.parentNode;return r}const u1=Dw(uv,l1);var zo=x.forwardRef(function(t,r){return x.createElement(zl,Pn({},t,{ref:r,sideCar:u1}))});zo.classNames=zl.classNames;function xt(t){return Object.keys(t)}function pc(t){return t&&typeof t=="object"&&!Array.isArray(t)}function rf(t,r){const o={...t},s=r;return pc(t)&&pc(r)&&Object.keys(r).forEach(l=>{pc(s[l])&&l in t?o[l]=rf(o[l],s[l]):o[l]=s[l]}),o}function c1(t){return t.replace(/[A-Z]/g,r=>`-${r.toLowerCase()}`)}function f1(t){var r;return typeof t!="string"||!t.includes("var(--mantine-scale)")?t:(r=t.match(/^calc\((.*?)\)$/))==null?void 0:r[1].split("*")[0].trim()}function Ic(t){const r=f1(t);return typeof r=="number"?r:typeof r=="string"?r.includes("calc")||r.includes("var")?r:r.includes("px")?Number(r.replace("px","")):r.includes("rem")?Number(r.replace("rem",""))*16:r.includes("em")?Number(r.replace("em",""))*16:Number(r):NaN}function mc(t){return t==="0rem"?"0rem":`calc(${t} * var(--mantine-scale))`}function mv(t,{shouldScale:r=!1}={}){function o(s){if(s===0||s==="0")return`0${t}`;if(typeof s=="number"){const l=`${s/16}${t}`;return r?mc(l):l}if(typeof s=="string"){if(s===""||s.startsWith("calc(")||s.startsWith("clamp(")||s.includes("rgba("))return s;if(s.includes(","))return s.split(",").map(u=>o(u)).join(",");if(s.includes(" "))return s.split(" ").map(u=>o(u)).join(" ");if(s.includes(t))return r?mc(s):s;const l=s.replace("px","");if(!Number.isNaN(Number(l))){const u=`${Number(l)/16}${t}`;return r?mc(u):u}}return s}return o}const Y=mv("rem",{shouldScale:!0}),Pl=mv("em");function of(t){return Object.keys(t).reduce((r,o)=>(t[o]!==void 0&&(r[o]=t[o]),r),{})}function hv(t){if(typeof t=="number")return!0;if(typeof t=="string"){if(t.startsWith("calc(")||t.startsWith("var(")||t.includes(" ")&&t.trim()!=="")return!0;const r=/^[+-]?[0-9]+(\.[0-9]+)?(px|em|rem|ex|ch|lh|rlh|vw|vh|vmin|vmax|vb|vi|svw|svh|lvw|lvh|dvw|dvh|cm|mm|in|pt|pc|q|cqw|cqh|cqi|cqb|cqmin|cqmax|%)?$/;return t.trim().split(/\s+/).every(s=>r.test(s))}return!1}function Jr(t){return Array.isArray(t)||t===null?!1:typeof t=="object"?t.type!==x.Fragment:!1}function Rr(t){const r=x.createContext(null);return[({children:l,value:u})=>S.jsx(r.Provider,{value:u,children:l}),()=>{const l=x.useContext(r);if(l===null)throw new Error(t);return l}]}function sf(t=null){const r=x.createContext(t);return[({children:l,value:u})=>S.jsx(r.Provider,{value:u,children:l}),()=>x.useContext(r)]}const d1={app:100,modal:200,popover:300,overlay:400,max:9999};function Sn(t){return d1[t]}const Mc=()=>{};function p1(t,r={active:!0}){return typeof t!="function"||!r.active?r.onKeyDown||Mc:o=>{var s;o.key==="Escape"&&(t(o),(s=r.onTrigger)==null||s.call(r))}}function Xe(t,r="size",o=!0){if(t!==void 0)return hv(t)?o?Y(t):t:`var(--${r}-${t})`}function Uo(t){return Xe(t,"mantine-spacing")}function $t(t){return t===void 0?"var(--mantine-radius-default)":Xe(t,"mantine-radius")}function jt(t){return Xe(t,"mantine-font-size")}function m1(t){return Xe(t,"mantine-line-height",!1)}function lf(t){if(t)return Xe(t,"mantine-shadow",!1)}function af(t,r){return t in r?Ic(r[t]):Ic(t)}function ah(t,r){const o=t.map(s=>({value:s,px:af(s,r)}));return o.sort((s,l)=>s.px-l.px),o}function El(t,r,o){return r===void 0&&o===void 0?t:r!==void 0&&o===void 0?Math.max(t,r):Math.min(r===void 0&&o!==void 0?t:Math.max(t,r),o)}function vv(t="mantine-"){return`${t}${Math.random().toString(36).slice(2,11)}`}function Yr(t){const r=x.useRef(t);return x.useEffect(()=>{r.current=t}),x.useMemo(()=>(...o)=>{var s;return(s=r.current)==null?void 0:s.call(r,...o)},[])}function Fl(t,r){const o=typeof r=="number"?r:r.delay,s=typeof r=="number"?!1:r.flushOnUnmount,l=Yr(t),u=x.useRef(0),c=x.useRef(()=>{}),d=Object.assign(x.useCallback((...m)=>{window.clearTimeout(u.current);const h=()=>{u.current!==0&&(u.current=0,l(...m))};c.current=h,d.flush=h,u.current=window.setTimeout(h,o)},[l,o]),{flush:c.current});return x.useEffect(()=>()=>{window.clearTimeout(u.current),s&&d.flush()},[d,s]),d}const uh=["mousedown","touchstart"];function h1(t,r,o){const s=x.useRef(null);return x.useEffect(()=>{const l=u=>{const{target:c}=u??{};if(Array.isArray(o)){const d=(c==null?void 0:c.hasAttribute("data-ignore-outside-clicks"))||!document.body.contains(c)&&c.tagName!=="HTML";o.every(h=>!!h&&!u.composedPath().includes(h))&&!d&&t()}else s.current&&!s.current.contains(c)&&t()};return(r||uh).forEach(u=>document.addEventListener(u,l)),()=>{(r||uh).forEach(u=>document.removeEventListener(u,l))}},[s,t,o]),s}function v1(t,r){try{return t.addEventListener("change",r),()=>t.removeEventListener("change",r)}catch{return t.addListener(r),()=>t.removeListener(r)}}function g1(t,r){return typeof window<"u"&&"matchMedia"in window?window.matchMedia(t).matches:!1}function y1(t,r,{getInitialValueInEffect:o}={getInitialValueInEffect:!0}){const[s,l]=x.useState(o?r:g1(t)),u=x.useRef(null);return x.useEffect(()=>{if("matchMedia"in window)return u.current=window.matchMedia(t),l(u.current.matches),v1(u.current,c=>l(c.matches))},[t]),s}const Go=typeof document<"u"?x.useLayoutEffect:x.useEffect;function Hn(t,r){const o=x.useRef(!1);x.useEffect(()=>()=>{o.current=!1},[]),x.useEffect(()=>{if(o.current)return t();o.current=!0},r)}function gv({opened:t,shouldReturnFocus:r=!0}){const o=x.useRef(null),s=()=>{var l;o.current&&"focus"in o.current&&typeof o.current.focus=="function"&&((l=o.current)==null||l.focus({preventScroll:!0}))};return Hn(()=>{let l=-1;const u=c=>{c.key==="Tab"&&window.clearTimeout(l)};return document.addEventListener("keydown",u),t?o.current=document.activeElement:r&&(l=window.setTimeout(s,10)),()=>{window.clearTimeout(l),document.removeEventListener("keydown",u)}},[t,r]),s}const w1=/input|select|textarea|button|object/,yv="a, input, select, textarea, button, object, [tabindex]";function x1(t){return t.style.display==="none"}function S1(t){if(t.getAttribute("aria-hidden")||t.getAttribute("hidden")||t.getAttribute("type")==="hidden")return!1;let o=t;for(;o&&!(o===document.body||o.nodeType===11);){if(x1(o))return!1;o=o.parentNode}return!0}function wv(t){let r=t.getAttribute("tabindex");return r===null&&(r=void 0),parseInt(r,10)}function Ac(t){const r=t.nodeName.toLowerCase(),o=!Number.isNaN(wv(t));return(w1.test(r)&&!t.disabled||t instanceof HTMLAnchorElement&&t.href||o)&&S1(t)}function xv(t){const r=wv(t);return(Number.isNaN(r)||r>=0)&&Ac(t)}function b1(t){return Array.from(t.querySelectorAll(yv)).filter(xv)}function C1(t,r){const o=b1(t);if(!o.length){r.preventDefault();return}const s=o[r.shiftKey?0:o.length-1],l=t.getRootNode();let u=s===l.activeElement||t===l.activeElement;const c=l.activeElement;if(c.tagName==="INPUT"&&c.getAttribute("type")==="radio"&&(u=o.filter(v=>v.getAttribute("type")==="radio"&&v.getAttribute("name")===c.getAttribute("name")).includes(s)),!u)return;r.preventDefault();const m=o[r.shiftKey?o.length-1:0];m&&m.focus()}function E1(t=!0){const r=x.useRef(null),o=l=>{let u=l.querySelector("[data-autofocus]");if(!u){const c=Array.from(l.querySelectorAll(yv));u=c.find(xv)||c.find(Ac)||null,!u&&Ac(l)&&(u=l)}u&&u.focus({preventScroll:!0})},s=x.useCallback(l=>{t&&l!==null&&r.current!==l&&(l?(setTimeout(()=>{l.getRootNode()&&o(l)}),r.current=l):r.current=null)},[t]);return x.useEffect(()=>{if(!t)return;r.current&&setTimeout(()=>o(r.current));const l=u=>{u.key==="Tab"&&r.current&&C1(r.current,u)};return document.addEventListener("keydown",l),()=>document.removeEventListener("keydown",l)},[t]),s}const R1=t=>(t+1)%1e6;function k1(){const[,t]=x.useReducer(R1,0);return t}const N1=st.useId||(()=>{});function P1(){const t=N1();return t?`mantine-${t.replace(/:/g,"")}`:""}function kr(t){const r=P1(),[o,s]=x.useState(r);return Go(()=>{s(vv())},[]),typeof t=="string"?t:typeof window>"u"?r:o}function Sv(t,r,o){x.useEffect(()=>(window.addEventListener(t,r,o),()=>window.removeEventListener(t,r,o)),[t,r])}function _l(t,r){if(typeof t=="function")return t(r);typeof t=="object"&&t!==null&&"current"in t&&(t.current=r)}function bv(...t){const r=new Map;return o=>{if(t.forEach(s=>{const l=_l(s,o);l&&r.set(s,l)}),r.size>0)return()=>{t.forEach(s=>{const l=r.get(s);l?l():_l(s,null)}),r.clear()}}}function Ot(...t){return x.useCallback(bv(...t),t)}function Fo({value:t,defaultValue:r,finalValue:o,onChange:s=()=>{}}){const[l,u]=x.useState(r!==void 0?r:o),c=(d,...m)=>{u(d),s==null||s(d,...m)};return t!==void 0?[t,s,!0]:[l,c,!1]}function Bl(t,r){return y1("(prefers-reduced-motion: reduce)",t,r)}function _1(t){const r=x.useRef(void 0);return x.useEffect(()=>{r.current=t},[t]),r.current}function Vl(t){var o;const r=st.version;return typeof st.version!="string"||r.startsWith("18.")?t==null?void 0:t.ref:(o=t==null?void 0:t.props)==null?void 0:o.ref}function Cv(t){var r,o,s="";if(typeof t=="string"||typeof t=="number")s+=t;else if(typeof t=="object")if(Array.isArray(t)){var l=t.length;for(r=0;r{Object.entries(o).forEach(([s,l])=>{r[s]?r[s]=lt(r[s],l):r[s]=l})}),r}function Wl({theme:t,classNames:r,props:o,stylesCtx:s}){const u=(Array.isArray(r)?r:[r]).map(c=>typeof c=="function"?c(t,o,s):c||T1);return j1(u)}function Tl({theme:t,styles:r,props:o,stylesCtx:s}){return(Array.isArray(r)?r:[r]).reduce((u,c)=>typeof c=="function"?{...u,...c(t,o,s)}:{...u,...c},{})}const Ev=x.createContext(null);function Qn(){const t=x.useContext(Ev);if(!t)throw new Error("[@mantine/core] MantineProvider was not found in tree");return t}function $1(){return Qn().cssVariablesResolver}function O1(){return Qn().classNamesPrefix}function uf(){return Qn().getStyleNonce}function I1(){return Qn().withStaticClasses}function M1(){return Qn().headless}function A1(){var t;return(t=Qn().stylesTransform)==null?void 0:t.sx}function D1(){var t;return(t=Qn().stylesTransform)==null?void 0:t.styles}function Rv(){return Qn().env||"default"}function L1(t){return/^#?([0-9A-F]{3}){1,2}([0-9A-F]{2})?$/i.test(t)}function z1(t){let r=t.replace("#","");if(r.length===3){const c=r.split("");r=[c[0],c[0],c[1],c[1],c[2],c[2]].join("")}if(r.length===8){const c=parseInt(r.slice(6,8),16)/255;return{r:parseInt(r.slice(0,2),16),g:parseInt(r.slice(2,4),16),b:parseInt(r.slice(4,6),16),a:c}}const o=parseInt(r,16),s=o>>16&255,l=o>>8&255,u=o&255;return{r:s,g:l,b:u,a:1}}function F1(t){const[r,o,s,l]=t.replace(/[^0-9,./]/g,"").split(/[/,]/).map(Number);return{r,g:o,b:s,a:l===void 0?1:l}}function B1(t){const r=/^hsla?\(\s*(\d+)\s*,\s*(\d+%)\s*,\s*(\d+%)\s*(,\s*(0?\.\d+|\d+(\.\d+)?))?\s*\)$/i,o=t.match(r);if(!o)return{r:0,g:0,b:0,a:1};const s=parseInt(o[1],10),l=parseInt(o[2],10)/100,u=parseInt(o[3],10)/100,c=o[5]?parseFloat(o[5]):void 0,d=(1-Math.abs(2*u-1))*l,m=s/60,h=d*(1-Math.abs(m%2-1)),v=u-d/2;let g,y,w;return m>=0&&m<1?(g=d,y=h,w=0):m>=1&&m<2?(g=h,y=d,w=0):m>=2&&m<3?(g=0,y=d,w=h):m>=3&&m<4?(g=0,y=h,w=d):m>=4&&m<5?(g=h,y=0,w=d):(g=d,y=0,w=h),{r:Math.round((g+v)*255),g:Math.round((y+v)*255),b:Math.round((w+v)*255),a:c||1}}function cf(t){return L1(t)?z1(t):t.startsWith("rgb")?F1(t):t.startsWith("hsl")?B1(t):{r:0,g:0,b:0,a:1}}function yl(t,r){if(t.startsWith("var("))return`color-mix(in srgb, ${t}, black ${r*100}%)`;const{r:o,g:s,b:l,a:u}=cf(t),c=1-r,d=m=>Math.round(m*c);return`rgba(${d(o)}, ${d(s)}, ${d(l)}, ${u})`}function Xi(t,r){return typeof t.primaryShade=="number"?t.primaryShade:r==="dark"?t.primaryShade.dark:t.primaryShade.light}function hc(t){return t<=.03928?t/12.92:((t+.055)/1.055)**2.4}function V1(t){const r=t.match(/oklch\((.*?)%\s/);return r?parseFloat(r[1]):null}function W1(t){if(t.startsWith("oklch("))return(V1(t)||0)/100;const{r,g:o,b:s}=cf(t),l=r/255,u=o/255,c=s/255,d=hc(l),m=hc(u),h=hc(c);return .2126*d+.7152*m+.0722*h}function Bi(t,r=.179){return t.startsWith("var(")?!1:W1(t)>r}function Ji({color:t,theme:r,colorScheme:o}){if(typeof t!="string")throw new Error(`[@mantine/core] Failed to parse color. Expected color to be a string, instead got ${typeof t}`);if(t==="bright")return{color:t,value:o==="dark"?r.white:r.black,shade:void 0,isThemeColor:!1,isLight:Bi(o==="dark"?r.white:r.black,r.luminanceThreshold),variable:"--mantine-color-bright"};if(t==="dimmed")return{color:t,value:o==="dark"?r.colors.dark[2]:r.colors.gray[7],shade:void 0,isThemeColor:!1,isLight:Bi(o==="dark"?r.colors.dark[2]:r.colors.gray[6],r.luminanceThreshold),variable:"--mantine-color-dimmed"};if(t==="white"||t==="black")return{color:t,value:t==="white"?r.white:r.black,shade:void 0,isThemeColor:!1,isLight:Bi(t==="white"?r.white:r.black,r.luminanceThreshold),variable:`--mantine-color-${t}`};const[s,l]=t.split("."),u=l?Number(l):void 0,c=s in r.colors;if(c){const d=u!==void 0?r.colors[s][u]:r.colors[s][Xi(r,o||"light")];return{color:s,value:d,shade:u,isThemeColor:c,isLight:Bi(d,r.luminanceThreshold),variable:l?`--mantine-color-${s}-${u}`:`--mantine-color-${s}-filled`}}return{color:t,value:t,isThemeColor:c,isLight:Bi(t,r.luminanceThreshold),shade:u,variable:void 0}}function Un(t,r){const o=Ji({color:t||r.primaryColor,theme:r});return o.variable?`var(${o.variable})`:t}function Dc(t,r){const o={from:(t==null?void 0:t.from)||r.defaultGradient.from,to:(t==null?void 0:t.to)||r.defaultGradient.to,deg:(t==null?void 0:t.deg)??r.defaultGradient.deg??0},s=Un(o.from,r),l=Un(o.to,r);return`linear-gradient(${o.deg}deg, ${s} 0%, ${l} 100%)`}function Nn(t,r){if(typeof t!="string"||r>1||r<0)return"rgba(0, 0, 0, 1)";if(t.startsWith("var(")){const u=(1-r)*100;return`color-mix(in srgb, ${t}, transparent ${u}%)`}if(t.startsWith("oklch"))return t.includes("/")?t.replace(/\/\s*[\d.]+\s*\)/,`/ ${r})`):t.replace(")",` / ${r})`);const{r:o,g:s,b:l}=cf(t);return`rgba(${o}, ${s}, ${l}, ${r})`}const jo=Nn,H1=({color:t,theme:r,variant:o,gradient:s,autoContrast:l})=>{const u=Ji({color:t,theme:r}),c=typeof l=="boolean"?l:r.autoContrast;if(o==="filled"){const d=c&&u.isLight?"var(--mantine-color-black)":"var(--mantine-color-white)";return u.isThemeColor?u.shade===void 0?{background:`var(--mantine-color-${t}-filled)`,hover:`var(--mantine-color-${t}-filled-hover)`,color:d,border:`${Y(1)} solid transparent`}:{background:`var(--mantine-color-${u.color}-${u.shade})`,hover:`var(--mantine-color-${u.color}-${u.shade===9?8:u.shade+1})`,color:d,border:`${Y(1)} solid transparent`}:{background:t,hover:yl(t,.1),color:d,border:`${Y(1)} solid transparent`}}if(o==="light"){if(u.isThemeColor){if(u.shade===void 0)return{background:`var(--mantine-color-${t}-light)`,hover:`var(--mantine-color-${t}-light-hover)`,color:`var(--mantine-color-${t}-light-color)`,border:`${Y(1)} solid transparent`};const d=r.colors[u.color][u.shade];return{background:Nn(d,.1),hover:Nn(d,.12),color:`var(--mantine-color-${u.color}-${Math.min(u.shade,6)})`,border:`${Y(1)} solid transparent`}}return{background:Nn(t,.1),hover:Nn(t,.12),color:t,border:`${Y(1)} solid transparent`}}if(o==="outline")return u.isThemeColor?u.shade===void 0?{background:"transparent",hover:`var(--mantine-color-${t}-outline-hover)`,color:`var(--mantine-color-${t}-outline)`,border:`${Y(1)} solid var(--mantine-color-${t}-outline)`}:{background:"transparent",hover:Nn(r.colors[u.color][u.shade],.05),color:`var(--mantine-color-${u.color}-${u.shade})`,border:`${Y(1)} solid var(--mantine-color-${u.color}-${u.shade})`}:{background:"transparent",hover:Nn(t,.05),color:t,border:`${Y(1)} solid ${t}`};if(o==="subtle"){if(u.isThemeColor){if(u.shade===void 0)return{background:"transparent",hover:`var(--mantine-color-${t}-light-hover)`,color:`var(--mantine-color-${t}-light-color)`,border:`${Y(1)} solid transparent`};const d=r.colors[u.color][u.shade];return{background:"transparent",hover:Nn(d,.12),color:`var(--mantine-color-${u.color}-${Math.min(u.shade,6)})`,border:`${Y(1)} solid transparent`}}return{background:"transparent",hover:Nn(t,.12),color:t,border:`${Y(1)} solid transparent`}}return o==="transparent"?u.isThemeColor?u.shade===void 0?{background:"transparent",hover:"transparent",color:`var(--mantine-color-${t}-light-color)`,border:`${Y(1)} solid transparent`}:{background:"transparent",hover:"transparent",color:`var(--mantine-color-${u.color}-${Math.min(u.shade,6)})`,border:`${Y(1)} solid transparent`}:{background:"transparent",hover:"transparent",color:t,border:`${Y(1)} solid transparent`}:o==="white"?u.isThemeColor?u.shade===void 0?{background:"var(--mantine-color-white)",hover:yl(r.white,.01),color:`var(--mantine-color-${t}-filled)`,border:`${Y(1)} solid transparent`}:{background:"var(--mantine-color-white)",hover:yl(r.white,.01),color:`var(--mantine-color-${u.color}-${u.shade})`,border:`${Y(1)} solid transparent`}:{background:"var(--mantine-color-white)",hover:yl(r.white,.01),color:t,border:`${Y(1)} solid transparent`}:o==="gradient"?{background:Dc(s,r),hover:Dc(s,r),color:"var(--mantine-color-white)",border:"none"}:o==="default"?{background:"var(--mantine-color-default)",hover:"var(--mantine-color-default-hover)",color:"var(--mantine-color-default-color)",border:`${Y(1)} solid var(--mantine-color-default-border)`}:{}},U1={dark:["#C9C9C9","#b8b8b8","#828282","#696969","#424242","#3b3b3b","#2e2e2e","#242424","#1f1f1f","#141414"],gray:["#f8f9fa","#f1f3f5","#e9ecef","#dee2e6","#ced4da","#adb5bd","#868e96","#495057","#343a40","#212529"],red:["#fff5f5","#ffe3e3","#ffc9c9","#ffa8a8","#ff8787","#ff6b6b","#fa5252","#f03e3e","#e03131","#c92a2a"],pink:["#fff0f6","#ffdeeb","#fcc2d7","#faa2c1","#f783ac","#f06595","#e64980","#d6336c","#c2255c","#a61e4d"],grape:["#f8f0fc","#f3d9fa","#eebefa","#e599f7","#da77f2","#cc5de8","#be4bdb","#ae3ec9","#9c36b5","#862e9c"],violet:["#f3f0ff","#e5dbff","#d0bfff","#b197fc","#9775fa","#845ef7","#7950f2","#7048e8","#6741d9","#5f3dc4"],indigo:["#edf2ff","#dbe4ff","#bac8ff","#91a7ff","#748ffc","#5c7cfa","#4c6ef5","#4263eb","#3b5bdb","#364fc7"],blue:["#e7f5ff","#d0ebff","#a5d8ff","#74c0fc","#4dabf7","#339af0","#228be6","#1c7ed6","#1971c2","#1864ab"],cyan:["#e3fafc","#c5f6fa","#99e9f2","#66d9e8","#3bc9db","#22b8cf","#15aabf","#1098ad","#0c8599","#0b7285"],teal:["#e6fcf5","#c3fae8","#96f2d7","#63e6be","#38d9a9","#20c997","#12b886","#0ca678","#099268","#087f5b"],green:["#ebfbee","#d3f9d8","#b2f2bb","#8ce99a","#69db7c","#51cf66","#40c057","#37b24d","#2f9e44","#2b8a3e"],lime:["#f4fce3","#e9fac8","#d8f5a2","#c0eb75","#a9e34b","#94d82d","#82c91e","#74b816","#66a80f","#5c940d"],yellow:["#fff9db","#fff3bf","#ffec99","#ffe066","#ffd43b","#fcc419","#fab005","#f59f00","#f08c00","#e67700"],orange:["#fff4e6","#ffe8cc","#ffd8a8","#ffc078","#ffa94d","#ff922b","#fd7e14","#f76707","#e8590c","#d9480f"]},ch="-apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji",ff={scale:1,fontSmoothing:!0,focusRing:"auto",white:"#fff",black:"#000",colors:U1,primaryShade:{light:6,dark:8},primaryColor:"blue",variantColorResolver:H1,autoContrast:!1,luminanceThreshold:.3,fontFamily:ch,fontFamilyMonospace:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace",respectReducedMotion:!1,cursorType:"default",defaultGradient:{from:"blue",to:"cyan",deg:45},defaultRadius:"sm",activeClassName:"mantine-active",focusClassName:"",headings:{fontFamily:ch,fontWeight:"700",textWrap:"wrap",sizes:{h1:{fontSize:Y(34),lineHeight:"1.3"},h2:{fontSize:Y(26),lineHeight:"1.35"},h3:{fontSize:Y(22),lineHeight:"1.4"},h4:{fontSize:Y(18),lineHeight:"1.45"},h5:{fontSize:Y(16),lineHeight:"1.5"},h6:{fontSize:Y(14),lineHeight:"1.5"}}},fontSizes:{xs:Y(12),sm:Y(14),md:Y(16),lg:Y(18),xl:Y(20)},lineHeights:{xs:"1.4",sm:"1.45",md:"1.55",lg:"1.6",xl:"1.65"},radius:{xs:Y(2),sm:Y(4),md:Y(8),lg:Y(16),xl:Y(32)},spacing:{xs:Y(10),sm:Y(12),md:Y(16),lg:Y(20),xl:Y(32)},breakpoints:{xs:"36em",sm:"48em",md:"62em",lg:"75em",xl:"88em"},shadows:{xs:`0 ${Y(1)} ${Y(3)} rgba(0, 0, 0, 0.05), 0 ${Y(1)} ${Y(2)} rgba(0, 0, 0, 0.1)`,sm:`0 ${Y(1)} ${Y(3)} rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 ${Y(10)} ${Y(15)} ${Y(-5)}, rgba(0, 0, 0, 0.04) 0 ${Y(7)} ${Y(7)} ${Y(-5)}`,md:`0 ${Y(1)} ${Y(3)} rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 ${Y(20)} ${Y(25)} ${Y(-5)}, rgba(0, 0, 0, 0.04) 0 ${Y(10)} ${Y(10)} ${Y(-5)}`,lg:`0 ${Y(1)} ${Y(3)} rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 ${Y(28)} ${Y(23)} ${Y(-7)}, rgba(0, 0, 0, 0.04) 0 ${Y(12)} ${Y(12)} ${Y(-7)}`,xl:`0 ${Y(1)} ${Y(3)} rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05) 0 ${Y(36)} ${Y(28)} ${Y(-7)}, rgba(0, 0, 0, 0.04) 0 ${Y(17)} ${Y(17)} ${Y(-7)}`},other:{},components:{}};function fh(t){return t==="auto"||t==="dark"||t==="light"}function G1({key:t="mantine-color-scheme-value"}={}){let r;return{get:o=>{if(typeof window>"u")return o;try{const s=window.localStorage.getItem(t);return fh(s)?s:o}catch{return o}},set:o=>{try{window.localStorage.setItem(t,o)}catch(s){console.warn("[@mantine/core] Local storage color scheme manager was unable to save color scheme.",s)}},subscribe:o=>{r=s=>{s.storageArea===window.localStorage&&s.key===t&&fh(s.newValue)&&o(s.newValue)},window.addEventListener("storage",r)},unsubscribe:()=>{window.removeEventListener("storage",r)},clear:()=>{window.localStorage.removeItem(t)}}}const Y1="[@mantine/core] MantineProvider: Invalid theme.primaryColor, it accepts only key of theme.colors, learn more – https://mantine.dev/theming/colors/#primary-color",dh="[@mantine/core] MantineProvider: Invalid theme.primaryShade, it accepts only 0-9 integers or an object { light: 0-9, dark: 0-9 }";function vc(t){return t<0||t>9?!1:parseInt(t.toString(),10)===t}function ph(t){if(!(t.primaryColor in t.colors))throw new Error(Y1);if(typeof t.primaryShade=="object"&&(!vc(t.primaryShade.dark)||!vc(t.primaryShade.light)))throw new Error(dh);if(typeof t.primaryShade=="number"&&!vc(t.primaryShade))throw new Error(dh)}function X1(t,r){var s;if(!r)return ph(t),t;const o=rf(t,r);return r.fontFamily&&!((s=r.headings)!=null&&s.fontFamily)&&(o.headings.fontFamily=r.fontFamily),ph(o),o}const df=x.createContext(null),K1=()=>x.useContext(df)||ff;function rn(){const t=x.useContext(df);if(!t)throw new Error("@mantine/core: MantineProvider was not found in component tree, make sure you have it in your app");return t}function kv({theme:t,children:r,inherit:o=!0}){const s=K1(),l=x.useMemo(()=>X1(o?s:ff,t),[t,s,o]);return S.jsx(df.Provider,{value:l,children:r})}kv.displayName="@mantine/core/MantineThemeProvider";function Q1(){const t=rn(),r=uf(),o=xt(t.breakpoints).reduce((s,l)=>{const u=t.breakpoints[l].includes("px"),c=Ic(t.breakpoints[l]),d=u?`${c-.1}px`:Pl(c-.1),m=u?`${c}px`:Pl(c);return`${s}@media (max-width: ${d}) {.mantine-visible-from-${l} {display: none !important;}}@media (min-width: ${m}) {.mantine-hidden-from-${l} {display: none !important;}}`},"");return S.jsx("style",{"data-mantine-styles":"classes",nonce:r==null?void 0:r(),dangerouslySetInnerHTML:{__html:o}})}function gc(t){return Object.entries(t).map(([r,o])=>`${r}: ${o};`).join("")}function Vi(t,r){return(Array.isArray(t)?t:[t]).reduce((s,l)=>`${l}{${s}}`,r)}function q1(t,r){const o=gc(t.variables),s=o?Vi(r,o):"",l=gc(t.dark),u=gc(t.light),c=l?Vi(r===":host"?`${r}([data-mantine-color-scheme="dark"])`:`${r}[data-mantine-color-scheme="dark"]`,l):"",d=u?Vi(r===":host"?`${r}([data-mantine-color-scheme="light"])`:`${r}[data-mantine-color-scheme="light"]`,u):"";return`${s}${c}${d}`}function Z1({color:t,theme:r,autoContrast:o}){return r.autoContrast&&Ji({color:t||r.primaryColor,theme:r}).isLight?"var(--mantine-color-black)":"var(--mantine-color-white)"}function mh(t,r){return Z1({color:t.colors[t.primaryColor][Xi(t,r)],theme:t,autoContrast:null})}function wl({theme:t,color:r,colorScheme:o,name:s=r,withColorValues:l=!0}){if(!t.colors[r])return{};if(o==="light"){const d=Xi(t,"light"),m={[`--mantine-color-${s}-text`]:`var(--mantine-color-${s}-filled)`,[`--mantine-color-${s}-filled`]:`var(--mantine-color-${s}-${d})`,[`--mantine-color-${s}-filled-hover`]:`var(--mantine-color-${s}-${d===9?8:d+1})`,[`--mantine-color-${s}-light`]:jo(t.colors[r][d],.1),[`--mantine-color-${s}-light-hover`]:jo(t.colors[r][d],.12),[`--mantine-color-${s}-light-color`]:`var(--mantine-color-${s}-${d})`,[`--mantine-color-${s}-outline`]:`var(--mantine-color-${s}-${d})`,[`--mantine-color-${s}-outline-hover`]:jo(t.colors[r][d],.05)};return l?{[`--mantine-color-${s}-0`]:t.colors[r][0],[`--mantine-color-${s}-1`]:t.colors[r][1],[`--mantine-color-${s}-2`]:t.colors[r][2],[`--mantine-color-${s}-3`]:t.colors[r][3],[`--mantine-color-${s}-4`]:t.colors[r][4],[`--mantine-color-${s}-5`]:t.colors[r][5],[`--mantine-color-${s}-6`]:t.colors[r][6],[`--mantine-color-${s}-7`]:t.colors[r][7],[`--mantine-color-${s}-8`]:t.colors[r][8],[`--mantine-color-${s}-9`]:t.colors[r][9],...m}:m}const u=Xi(t,"dark"),c={[`--mantine-color-${s}-text`]:`var(--mantine-color-${s}-4)`,[`--mantine-color-${s}-filled`]:`var(--mantine-color-${s}-${u})`,[`--mantine-color-${s}-filled-hover`]:`var(--mantine-color-${s}-${u===9?8:u+1})`,[`--mantine-color-${s}-light`]:jo(t.colors[r][Math.max(0,u-2)],.15),[`--mantine-color-${s}-light-hover`]:jo(t.colors[r][Math.max(0,u-2)],.2),[`--mantine-color-${s}-light-color`]:`var(--mantine-color-${s}-${Math.max(u-5,0)})`,[`--mantine-color-${s}-outline`]:`var(--mantine-color-${s}-${Math.max(u-4,0)})`,[`--mantine-color-${s}-outline-hover`]:jo(t.colors[r][Math.max(u-4,0)],.05)};return l?{[`--mantine-color-${s}-0`]:t.colors[r][0],[`--mantine-color-${s}-1`]:t.colors[r][1],[`--mantine-color-${s}-2`]:t.colors[r][2],[`--mantine-color-${s}-3`]:t.colors[r][3],[`--mantine-color-${s}-4`]:t.colors[r][4],[`--mantine-color-${s}-5`]:t.colors[r][5],[`--mantine-color-${s}-6`]:t.colors[r][6],[`--mantine-color-${s}-7`]:t.colors[r][7],[`--mantine-color-${s}-8`]:t.colors[r][8],[`--mantine-color-${s}-9`]:t.colors[r][9],...c}:c}function J1(t){return!!t&&typeof t=="object"&&"mantine-virtual-color"in t}function $o(t,r,o){xt(r).forEach(s=>Object.assign(t,{[`--mantine-${o}-${s}`]:r[s]}))}const Nv=t=>{const r=Xi(t,"light"),o=t.defaultRadius in t.radius?t.radius[t.defaultRadius]:Y(t.defaultRadius),s={variables:{"--mantine-scale":t.scale.toString(),"--mantine-cursor-type":t.cursorType,"--mantine-color-scheme":"light dark","--mantine-webkit-font-smoothing":t.fontSmoothing?"antialiased":"unset","--mantine-moz-font-smoothing":t.fontSmoothing?"grayscale":"unset","--mantine-color-white":t.white,"--mantine-color-black":t.black,"--mantine-line-height":t.lineHeights.md,"--mantine-font-family":t.fontFamily,"--mantine-font-family-monospace":t.fontFamilyMonospace,"--mantine-font-family-headings":t.headings.fontFamily,"--mantine-heading-font-weight":t.headings.fontWeight,"--mantine-heading-text-wrap":t.headings.textWrap,"--mantine-radius-default":o,"--mantine-primary-color-filled":`var(--mantine-color-${t.primaryColor}-filled)`,"--mantine-primary-color-filled-hover":`var(--mantine-color-${t.primaryColor}-filled-hover)`,"--mantine-primary-color-light":`var(--mantine-color-${t.primaryColor}-light)`,"--mantine-primary-color-light-hover":`var(--mantine-color-${t.primaryColor}-light-hover)`,"--mantine-primary-color-light-color":`var(--mantine-color-${t.primaryColor}-light-color)`},light:{"--mantine-primary-color-contrast":mh(t,"light"),"--mantine-color-bright":"var(--mantine-color-black)","--mantine-color-text":t.black,"--mantine-color-body":t.white,"--mantine-color-error":"var(--mantine-color-red-6)","--mantine-color-placeholder":"var(--mantine-color-gray-5)","--mantine-color-anchor":`var(--mantine-color-${t.primaryColor}-${r})`,"--mantine-color-default":"var(--mantine-color-white)","--mantine-color-default-hover":"var(--mantine-color-gray-0)","--mantine-color-default-color":"var(--mantine-color-black)","--mantine-color-default-border":"var(--mantine-color-gray-4)","--mantine-color-dimmed":"var(--mantine-color-gray-6)"},dark:{"--mantine-primary-color-contrast":mh(t,"dark"),"--mantine-color-bright":"var(--mantine-color-white)","--mantine-color-text":"var(--mantine-color-dark-0)","--mantine-color-body":"var(--mantine-color-dark-7)","--mantine-color-error":"var(--mantine-color-red-8)","--mantine-color-placeholder":"var(--mantine-color-dark-3)","--mantine-color-anchor":`var(--mantine-color-${t.primaryColor}-4)`,"--mantine-color-default":"var(--mantine-color-dark-6)","--mantine-color-default-hover":"var(--mantine-color-dark-5)","--mantine-color-default-color":"var(--mantine-color-white)","--mantine-color-default-border":"var(--mantine-color-dark-4)","--mantine-color-dimmed":"var(--mantine-color-dark-2)"}};$o(s.variables,t.breakpoints,"breakpoint"),$o(s.variables,t.spacing,"spacing"),$o(s.variables,t.fontSizes,"font-size"),$o(s.variables,t.lineHeights,"line-height"),$o(s.variables,t.shadows,"shadow"),$o(s.variables,t.radius,"radius"),t.colors[t.primaryColor].forEach((u,c)=>{s.variables[`--mantine-primary-color-${c}`]=`var(--mantine-color-${t.primaryColor}-${c})`}),xt(t.colors).forEach(u=>{const c=t.colors[u];if(J1(c)){Object.assign(s.light,wl({theme:t,name:c.name,color:c.light,colorScheme:"light",withColorValues:!0})),Object.assign(s.dark,wl({theme:t,name:c.name,color:c.dark,colorScheme:"dark",withColorValues:!0}));return}c.forEach((d,m)=>{s.variables[`--mantine-color-${u}-${m}`]=d}),Object.assign(s.light,wl({theme:t,color:u,colorScheme:"light",withColorValues:!1})),Object.assign(s.dark,wl({theme:t,color:u,colorScheme:"dark",withColorValues:!1}))});const l=t.headings.sizes;return xt(l).forEach(u=>{s.variables[`--mantine-${u}-font-size`]=l[u].fontSize,s.variables[`--mantine-${u}-line-height`]=l[u].lineHeight,s.variables[`--mantine-${u}-font-weight`]=l[u].fontWeight||t.headings.fontWeight}),s};function ex({theme:t,generator:r}){const o=Nv(t),s=r==null?void 0:r(t);return s?rf(o,s):o}const yc=Nv(ff);function tx(t){const r={variables:{},light:{},dark:{}};return xt(t.variables).forEach(o=>{yc.variables[o]!==t.variables[o]&&(r.variables[o]=t.variables[o])}),xt(t.light).forEach(o=>{yc.light[o]!==t.light[o]&&(r.light[o]=t.light[o])}),xt(t.dark).forEach(o=>{yc.dark[o]!==t.dark[o]&&(r.dark[o]=t.dark[o])}),r}function nx(t){return` + ${t}[data-mantine-color-scheme="dark"] { --mantine-color-scheme: dark; } + ${t}[data-mantine-color-scheme="light"] { --mantine-color-scheme: light; } +`}function Pv({cssVariablesSelector:t,deduplicateCssVariables:r}){const o=rn(),s=uf(),l=$1(),u=ex({theme:o,generator:l}),c=t===":root"&&r,d=c?tx(u):u,m=q1(d,t);return m?S.jsx("style",{"data-mantine-styles":!0,nonce:s==null?void 0:s(),dangerouslySetInnerHTML:{__html:`${m}${c?"":nx(t)}`}}):null}Pv.displayName="@mantine/CssVariables";function rx(){const t=console.error;console.error=(...r)=>{r.length>1&&typeof r[0]=="string"&&r[0].toLowerCase().includes("extra attributes from the server")&&typeof r[1]=="string"&&r[1].toLowerCase().includes("data-mantine-color-scheme")||t(...r)}}function Oo(t,r){var l,u;const o=typeof window<"u"&&"matchMedia"in window&&((l=window.matchMedia("(prefers-color-scheme: dark)"))==null?void 0:l.matches),s=t!=="auto"?t:o?"dark":"light";(u=r())==null||u.setAttribute("data-mantine-color-scheme",s)}function ox({manager:t,defaultColorScheme:r,getRootElement:o,forceColorScheme:s}){const l=x.useRef(null),[u,c]=x.useState(()=>t.get(r)),d=s||u,m=x.useCallback(v=>{s||(Oo(v,o),c(v),t.set(v))},[t.set,d,s]),h=x.useCallback(()=>{c(r),Oo(r,o),t.clear()},[t.clear,r]);return x.useEffect(()=>(t.subscribe(m),t.unsubscribe),[t.subscribe,t.unsubscribe]),Go(()=>{Oo(t.get(r),o)},[]),x.useEffect(()=>{var g;if(s)return Oo(s,o),()=>{};s===void 0&&Oo(u,o),typeof window<"u"&&"matchMedia"in window&&(l.current=window.matchMedia("(prefers-color-scheme: dark)"));const v=y=>{u==="auto"&&Oo(y.matches?"dark":"light",o)};return(g=l.current)==null||g.addEventListener("change",v),()=>{var y;return(y=l.current)==null?void 0:y.removeEventListener("change",v)}},[u,s]),{colorScheme:d,setColorScheme:m,clearColorScheme:h}}function ix({respectReducedMotion:t,getRootElement:r}){Go(()=>{var o;t&&((o=r())==null||o.setAttribute("data-respect-reduced-motion","true"))},[t])}rx();function _v({theme:t,children:r,getStyleNonce:o,withStaticClasses:s=!0,withGlobalClasses:l=!0,deduplicateCssVariables:u=!0,withCssVariables:c=!0,cssVariablesSelector:d=":root",classNamesPrefix:m="mantine",colorSchemeManager:h=G1(),defaultColorScheme:v="light",getRootElement:g=()=>document.documentElement,cssVariablesResolver:y,forceColorScheme:w,stylesTransform:C,env:E}){const{colorScheme:R,setColorScheme:N,clearColorScheme:j}=ox({defaultColorScheme:v,forceColorScheme:w,manager:h,getRootElement:g});return ix({respectReducedMotion:(t==null?void 0:t.respectReducedMotion)||!1,getRootElement:g}),S.jsx(Ev.Provider,{value:{colorScheme:R,setColorScheme:N,clearColorScheme:j,getRootElement:g,classNamesPrefix:m,getStyleNonce:o,cssVariablesResolver:y,cssVariablesSelector:d,withStaticClasses:s,stylesTransform:C,env:E},children:S.jsxs(kv,{theme:t,children:[c&&S.jsx(Pv,{cssVariablesSelector:d,deduplicateCssVariables:u}),l&&S.jsx(Q1,{}),r]})})}_v.displayName="@mantine/core/MantineProvider";function es({classNames:t,styles:r,props:o,stylesCtx:s}){const l=rn();return{resolvedClassNames:Wl({theme:l,classNames:t,props:o,stylesCtx:s||void 0}),resolvedStyles:Tl({theme:l,styles:r,props:o,stylesCtx:s||void 0})}}const sx={always:"mantine-focus-always",auto:"mantine-focus-auto",never:"mantine-focus-never"};function lx({theme:t,options:r,unstyled:o}){return lt((r==null?void 0:r.focusable)&&!o&&(t.focusClassName||sx[t.focusRing]),(r==null?void 0:r.active)&&!o&&t.activeClassName)}function ax({selector:t,stylesCtx:r,options:o,props:s,theme:l}){return Wl({theme:l,classNames:o==null?void 0:o.classNames,props:(o==null?void 0:o.props)||s,stylesCtx:r})[t]}function hh({selector:t,stylesCtx:r,theme:o,classNames:s,props:l}){return Wl({theme:o,classNames:s,props:l,stylesCtx:r})[t]}function ux({rootSelector:t,selector:r,className:o}){return t===r?o:void 0}function cx({selector:t,classes:r,unstyled:o}){return o?void 0:r[t]}function fx({themeName:t,classNamesPrefix:r,selector:o,withStaticClass:s}){return s===!1?[]:t.map(l=>`${r}-${l}-${o}`)}function dx({themeName:t,theme:r,selector:o,props:s,stylesCtx:l}){return t.map(u=>{var c,d;return(d=Wl({theme:r,classNames:(c=r.components[u])==null?void 0:c.classNames,props:s,stylesCtx:l}))==null?void 0:d[o]})}function px({options:t,classes:r,selector:o,unstyled:s}){return t!=null&&t.variant&&!s?r[`${o}--${t.variant}`]:void 0}function mx({theme:t,options:r,themeName:o,selector:s,classNamesPrefix:l,classNames:u,classes:c,unstyled:d,className:m,rootSelector:h,props:v,stylesCtx:g,withStaticClasses:y,headless:w,transformedStyles:C}){return lt(lx({theme:t,options:r,unstyled:d||w}),dx({theme:t,themeName:o,selector:s,props:v,stylesCtx:g}),px({options:r,classes:c,selector:s,unstyled:d}),hh({selector:s,stylesCtx:g,theme:t,classNames:u,props:v}),hh({selector:s,stylesCtx:g,theme:t,classNames:C,props:v}),ax({selector:s,stylesCtx:g,options:r,props:v,theme:t}),ux({rootSelector:h,selector:s,className:m}),cx({selector:s,classes:c,unstyled:d||w}),y&&!w&&fx({themeName:o,classNamesPrefix:l,selector:s,withStaticClass:r==null?void 0:r.withStaticClass}),r==null?void 0:r.className)}function hx({theme:t,themeName:r,props:o,stylesCtx:s,selector:l}){return r.map(u=>{var c;return Tl({theme:t,styles:(c=t.components[u])==null?void 0:c.styles,props:o,stylesCtx:s})[l]}).reduce((u,c)=>({...u,...c}),{})}function Lc({style:t,theme:r}){return Array.isArray(t)?[...t].reduce((o,s)=>({...o,...Lc({style:s,theme:r})}),{}):typeof t=="function"?t(r):t??{}}function vx(t){return t.reduce((r,o)=>(o&&Object.keys(o).forEach(s=>{r[s]={...r[s],...of(o[s])}}),r),{})}function gx({vars:t,varsResolver:r,theme:o,props:s,stylesCtx:l,selector:u,themeName:c,headless:d}){var m;return(m=vx([d?{}:r==null?void 0:r(o,s,l),...c.map(h=>{var v,g,y;return(y=(g=(v=o.components)==null?void 0:v[h])==null?void 0:g.vars)==null?void 0:y.call(g,o,s,l)}),t==null?void 0:t(o,s,l)]))==null?void 0:m[u]}function yx({theme:t,themeName:r,selector:o,options:s,props:l,stylesCtx:u,rootSelector:c,styles:d,style:m,vars:h,varsResolver:v,headless:g,withStylesTransform:y}){return{...!y&&hx({theme:t,themeName:r,props:l,stylesCtx:u,selector:o}),...!y&&Tl({theme:t,styles:d,props:l,stylesCtx:u})[o],...!y&&Tl({theme:t,styles:s==null?void 0:s.styles,props:(s==null?void 0:s.props)||l,stylesCtx:u})[o],...gx({theme:t,props:l,stylesCtx:u,vars:h,varsResolver:v,selector:o,themeName:r,headless:g}),...c===o?Lc({style:m,theme:t}):null,...Lc({style:s==null?void 0:s.style,theme:t})}}function wx({props:t,stylesCtx:r,themeName:o}){var c;const s=rn(),l=(c=D1())==null?void 0:c();return{getTransformedStyles:d=>l?[...d.map(h=>l(h,{props:t,theme:s,ctx:r})),...o.map(h=>{var v;return l((v=s.components[h])==null?void 0:v.styles,{props:t,theme:s,ctx:r})})].filter(Boolean):[],withStylesTransform:!!l}}function Ie({name:t,classes:r,props:o,stylesCtx:s,className:l,style:u,rootSelector:c="root",unstyled:d,classNames:m,styles:h,vars:v,varsResolver:g}){const y=rn(),w=O1(),C=I1(),E=M1(),R=(Array.isArray(t)?t:[t]).filter(T=>T),{withStylesTransform:N,getTransformedStyles:j}=wx({props:o,stylesCtx:s,themeName:R});return(T,O)=>({className:mx({theme:y,options:O,themeName:R,selector:T,classNamesPrefix:w,classNames:m,classes:r,unstyled:d,className:l,rootSelector:c,props:o,stylesCtx:s,withStaticClasses:C,headless:E,transformedStyles:j([O==null?void 0:O.styles,h])}),style:yx({theme:y,themeName:R,selector:T,options:O,props:o,stylesCtx:s,rootSelector:c,styles:h,style:u,vars:v,varsResolver:g,headless:E,withStylesTransform:N})})}function se(t,r,o){var c;const s=rn(),l=(c=s.components[t])==null?void 0:c.defaultProps,u=typeof l=="function"?l(s):l;return{...r,...u,...of(o)}}function wc(t){return xt(t).reduce((r,o)=>t[o]!==void 0?`${r}${c1(o)}:${t[o]};`:r,"").trim()}function xx({selector:t,styles:r,media:o,container:s}){const l=r?wc(r):"",u=Array.isArray(o)?o.map(d=>`@media${d.query}{${t}{${wc(d.styles)}}}`):[],c=Array.isArray(s)?s.map(d=>`@container ${d.query}{${t}{${wc(d.styles)}}}`):[];return`${l?`${t}{${l}}`:""}${u.join("")}${c.join("")}`.trim()}function Tv(t){const r=uf();return S.jsx("style",{"data-mantine-styles":"inline",nonce:r==null?void 0:r(),dangerouslySetInnerHTML:{__html:xx(t)}})}function Hl(t){const{m:r,mx:o,my:s,mt:l,mb:u,ml:c,mr:d,me:m,ms:h,p:v,px:g,py:y,pt:w,pb:C,pl:E,pr:R,pe:N,ps:j,bd:T,bg:O,c:A,opacity:F,ff:H,fz:z,fw:Q,lts:q,ta:X,lh:K,fs:Z,tt:te,td:J,w:B,miw:V,maw:_,h:M,mih:U,mah:k,bgsz:D,bgp:le,bgr:ve,bga:ie,pos:ce,top:Se,left:ye,bottom:Re,right:je,inset:qe,display:nt,flex:Ze,hiddenFrom:rt,visibleFrom:ot,lightHidden:Pt,darkHidden:ue,sx:de,...we}=t;return{styleProps:of({m:r,mx:o,my:s,mt:l,mb:u,ml:c,mr:d,me:m,ms:h,p:v,px:g,py:y,pt:w,pb:C,pl:E,pr:R,pe:N,ps:j,bd:T,bg:O,c:A,opacity:F,ff:H,fz:z,fw:Q,lts:q,ta:X,lh:K,fs:Z,tt:te,td:J,w:B,miw:V,maw:_,h:M,mih:U,mah:k,bgsz:D,bgp:le,bgr:ve,bga:ie,pos:ce,top:Se,left:ye,bottom:Re,right:je,inset:qe,display:nt,flex:Ze,hiddenFrom:rt,visibleFrom:ot,lightHidden:Pt,darkHidden:ue,sx:de}),rest:we}}const Sx={m:{type:"spacing",property:"margin"},mt:{type:"spacing",property:"marginTop"},mb:{type:"spacing",property:"marginBottom"},ml:{type:"spacing",property:"marginLeft"},mr:{type:"spacing",property:"marginRight"},ms:{type:"spacing",property:"marginInlineStart"},me:{type:"spacing",property:"marginInlineEnd"},mx:{type:"spacing",property:"marginInline"},my:{type:"spacing",property:"marginBlock"},p:{type:"spacing",property:"padding"},pt:{type:"spacing",property:"paddingTop"},pb:{type:"spacing",property:"paddingBottom"},pl:{type:"spacing",property:"paddingLeft"},pr:{type:"spacing",property:"paddingRight"},ps:{type:"spacing",property:"paddingInlineStart"},pe:{type:"spacing",property:"paddingInlineEnd"},px:{type:"spacing",property:"paddingInline"},py:{type:"spacing",property:"paddingBlock"},bd:{type:"border",property:"border"},bg:{type:"color",property:"background"},c:{type:"textColor",property:"color"},opacity:{type:"identity",property:"opacity"},ff:{type:"fontFamily",property:"fontFamily"},fz:{type:"fontSize",property:"fontSize"},fw:{type:"identity",property:"fontWeight"},lts:{type:"size",property:"letterSpacing"},ta:{type:"identity",property:"textAlign"},lh:{type:"lineHeight",property:"lineHeight"},fs:{type:"identity",property:"fontStyle"},tt:{type:"identity",property:"textTransform"},td:{type:"identity",property:"textDecoration"},w:{type:"spacing",property:"width"},miw:{type:"spacing",property:"minWidth"},maw:{type:"spacing",property:"maxWidth"},h:{type:"spacing",property:"height"},mih:{type:"spacing",property:"minHeight"},mah:{type:"spacing",property:"maxHeight"},bgsz:{type:"size",property:"backgroundSize"},bgp:{type:"identity",property:"backgroundPosition"},bgr:{type:"identity",property:"backgroundRepeat"},bga:{type:"identity",property:"backgroundAttachment"},pos:{type:"identity",property:"position"},top:{type:"size",property:"top"},left:{type:"size",property:"left"},bottom:{type:"size",property:"bottom"},right:{type:"size",property:"right"},inset:{type:"size",property:"inset"},display:{type:"identity",property:"display"},flex:{type:"identity",property:"flex"}};function pf(t,r){const o=Ji({color:t,theme:r});return o.color==="dimmed"?"var(--mantine-color-dimmed)":o.color==="bright"?"var(--mantine-color-bright)":o.variable?`var(${o.variable})`:o.color}function bx(t,r){const o=Ji({color:t,theme:r});return o.isThemeColor&&o.shade===void 0?`var(--mantine-color-${o.color}-text)`:pf(t,r)}function Cx(t,r){if(typeof t=="number")return Y(t);if(typeof t=="string"){const[o,s,...l]=t.split(" ").filter(c=>c.trim()!=="");let u=`${Y(o)}`;return s&&(u+=` ${s}`),l.length>0&&(u+=` ${pf(l.join(" "),r)}`),u.trim()}return t}const vh={text:"var(--mantine-font-family)",mono:"var(--mantine-font-family-monospace)",monospace:"var(--mantine-font-family-monospace)",heading:"var(--mantine-font-family-headings)",headings:"var(--mantine-font-family-headings)"};function Ex(t){return typeof t=="string"&&t in vh?vh[t]:t}const Rx=["h1","h2","h3","h4","h5","h6"];function kx(t,r){return typeof t=="string"&&t in r.fontSizes?`var(--mantine-font-size-${t})`:typeof t=="string"&&Rx.includes(t)?`var(--mantine-${t}-font-size)`:typeof t=="number"||typeof t=="string"?Y(t):t}function Nx(t){return t}const Px=["h1","h2","h3","h4","h5","h6"];function _x(t,r){return typeof t=="string"&&t in r.lineHeights?`var(--mantine-line-height-${t})`:typeof t=="string"&&Px.includes(t)?`var(--mantine-${t}-line-height)`:t}function Tx(t){return typeof t=="number"?Y(t):t}function jx(t,r){if(typeof t=="number")return Y(t);if(typeof t=="string"){const o=t.replace("-","");if(!(o in r.spacing))return Y(t);const s=`--mantine-spacing-${o}`;return t.startsWith("-")?`calc(var(${s}) * -1)`:`var(${s})`}return t}const xc={color:pf,textColor:bx,fontSize:kx,spacing:jx,identity:Nx,size:Tx,lineHeight:_x,fontFamily:Ex,border:Cx};function gh(t){return t.replace("(min-width: ","").replace("em)","")}function $x({media:t,...r}){const s=Object.keys(t).sort((l,u)=>Number(gh(l))-Number(gh(u))).map(l=>({query:l,styles:t[l]}));return{...r,media:s}}function Ox(t){if(typeof t!="object"||t===null)return!1;const r=Object.keys(t);return!(r.length===1&&r[0]==="base")}function Ix(t){return typeof t=="object"&&t!==null?"base"in t?t.base:void 0:t}function Mx(t){return typeof t=="object"&&t!==null?xt(t).filter(r=>r!=="base"):[]}function Ax(t,r){return typeof t=="object"&&t!==null&&r in t?t[r]:t}function Dx({styleProps:t,data:r,theme:o}){return $x(xt(t).reduce((s,l)=>{if(l==="hiddenFrom"||l==="visibleFrom"||l==="sx")return s;const u=r[l],c=Array.isArray(u.property)?u.property:[u.property],d=Ix(t[l]);if(!Ox(t[l]))return c.forEach(h=>{s.inlineStyles[h]=xc[u.type](d,o)}),s;s.hasResponsiveStyles=!0;const m=Mx(t[l]);return c.forEach(h=>{d&&(s.styles[h]=xc[u.type](d,o)),m.forEach(v=>{const g=`(min-width: ${o.breakpoints[v]})`;s.media[g]={...s.media[g],[h]:xc[u.type](Ax(t[l],v),o)}})}),s},{hasResponsiveStyles:!1,styles:{},inlineStyles:{},media:{}}))}function Lx(){return`__m__-${x.useId().replace(/:/g,"")}`}function mf(t,r){return Array.isArray(t)?[...t].reduce((o,s)=>({...o,...mf(s,r)}),{}):typeof t=="function"?t(r):t??{}}function jv(t){return t.startsWith("data-")?t:`data-${t}`}function zx(t){return Object.keys(t).reduce((r,o)=>{const s=t[o];return s===void 0||s===""||s===!1||s===null||(r[jv(o)]=t[o]),r},{})}function $v(t){return t?typeof t=="string"?{[jv(t)]:!0}:Array.isArray(t)?[...t].reduce((r,o)=>({...r,...$v(o)}),{}):zx(t):null}function zc(t,r){return Array.isArray(t)?[...t].reduce((o,s)=>({...o,...zc(s,r)}),{}):typeof t=="function"?t(r):t??{}}function Fx({theme:t,style:r,vars:o,styleProps:s}){const l=zc(r,t),u=zc(o,t);return{...l,...u,...s}}const Ov=x.forwardRef(({component:t,style:r,__vars:o,className:s,variant:l,mod:u,size:c,hiddenFrom:d,visibleFrom:m,lightHidden:h,darkHidden:v,renderRoot:g,__size:y,...w},C)=>{var z;const E=rn(),R=t||"div",{styleProps:N,rest:j}=Hl(w),T=A1(),O=(z=T==null?void 0:T())==null?void 0:z(N.sx),A=Lx(),F=Dx({styleProps:N,theme:E,data:Sx}),H={ref:C,style:Fx({theme:E,style:r,vars:o,styleProps:F.inlineStyles}),className:lt(s,O,{[A]:F.hasResponsiveStyles,"mantine-light-hidden":h,"mantine-dark-hidden":v,[`mantine-hidden-from-${d}`]:d,[`mantine-visible-from-${m}`]:m}),"data-variant":l,"data-size":hv(c)?void 0:c||void 0,size:y,...$v(u),...j};return S.jsxs(S.Fragment,{children:[F.hasResponsiveStyles&&S.jsx(Tv,{selector:`.${A}`,styles:F.styles,media:F.media}),typeof g=="function"?g(H):S.jsx(R,{...H})]})});Ov.displayName="@mantine/core/Box";const fe=Ov;function Iv(t){return t}function be(t){const r=x.forwardRef(t);return r.extend=Iv,r.withProps=o=>{const s=x.forwardRef((l,u)=>S.jsx(r,{...o,...l,ref:u}));return s.extend=r.extend,s.displayName=`WithProps(${r.displayName})`,s},r}function Vt(t){const r=x.forwardRef(t);return r.withProps=o=>{const s=x.forwardRef((l,u)=>S.jsx(r,{...o,...l,ref:u}));return s.extend=r.extend,s.displayName=`WithProps(${r.displayName})`,s},r.extend=Iv,r}const Bx=x.createContext({dir:"ltr",toggleDirection:()=>{},setDirection:()=>{}});function Ul(){return x.useContext(Bx)}var Gl=sv();const Ui=iv(Gl);function Vx(t){if(!t||typeof t=="string")return 0;const r=t/36;return Math.round((4+15*r**.25+r/5)*10)}function Sc(t){return t!=null&&t.current?t.current.scrollHeight:"auto"}const Wi=typeof window<"u"&&window.requestAnimationFrame;function Wx({transitionDuration:t,transitionTimingFunction:r="ease",onTransitionEnd:o=()=>{},opened:s}){const l=x.useRef(null),u=0,c={height:0,overflow:"hidden"},[d,m]=x.useState(s?{}:c),h=C=>{Gl.flushSync(()=>m(C))},v=C=>{h(E=>({...E,...C}))};function g(C){const E=t||Vx(C);return{transition:`height ${E}ms ${r}, opacity ${E}ms ${r}`}}Hn(()=>{typeof Wi=="function"&&Wi(s?()=>{v({willChange:"height",display:"block",overflow:"hidden"}),Wi(()=>{const C=Sc(l);v({...g(C),height:C})})}:()=>{const C=Sc(l);v({...g(C),willChange:"height",height:C}),Wi(()=>v({height:u,overflow:"hidden"}))})},[s]);const y=C=>{if(!(C.target!==l.current||C.propertyName!=="height"))if(s){const E=Sc(l);E===d.height?h({}):v({height:E}),o()}else d.height===u&&(h(c),o())};function w({style:C={},refKey:E="ref",...R}={}){const N=R[E],j={"aria-hidden":!s,...R,[E]:bv(l,N),onTransitionEnd:y,style:{boxSizing:"border-box",...C,...d}};return st.version.startsWith("18")?s||(j.inert=""):j.inert=!s,j}return w}const Hx={transitionDuration:200,transitionTimingFunction:"ease",animateOpacity:!0},hf=be((t,r)=>{const{children:o,in:s,transitionDuration:l,transitionTimingFunction:u,style:c,onTransitionEnd:d,animateOpacity:m,...h}=se("Collapse",Hx,t),v=rn(),g=Bl(),w=(v.respectReducedMotion?g:!1)?0:l,C=Wx({opened:s,transitionDuration:w,transitionTimingFunction:u,onTransitionEnd:d});return w===0?s?S.jsx(fe,{...h,children:o}):null:S.jsx(fe,{...C({style:{opacity:s||!m?1:0,transition:m?`opacity ${w}ms ${u}`:"none",...mf(c,v)},ref:r,...h}),children:o})});hf.displayName="@mantine/core/Collapse";function Yl(){return typeof window<"u"}function Yo(t){return Mv(t)?(t.nodeName||"").toLowerCase():"#document"}function Ft(t){var r;return(t==null||(r=t.ownerDocument)==null?void 0:r.defaultView)||window}function $n(t){var r;return(r=(Mv(t)?t.ownerDocument:t.document)||window.document)==null?void 0:r.documentElement}function Mv(t){return Yl()?t instanceof Node||t instanceof Ft(t).Node:!1}function Ge(t){return Yl()?t instanceof Element||t instanceof Ft(t).Element:!1}function on(t){return Yl()?t instanceof HTMLElement||t instanceof Ft(t).HTMLElement:!1}function Fc(t){return!Yl()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof Ft(t).ShadowRoot}function ts(t){const{overflow:r,overflowX:o,overflowY:s,display:l}=nn(t);return/auto|scroll|overlay|hidden|clip/.test(r+s+o)&&l!=="inline"&&l!=="contents"}function Ux(t){return/^(table|td|th)$/.test(Yo(t))}function Xl(t){try{if(t.matches(":popover-open"))return!0}catch{}try{return t.matches(":modal")}catch{return!1}}const Gx=/transform|translate|scale|rotate|perspective|filter/,Yx=/paint|layout|strict|content/,Hr=t=>!!t&&t!=="none";let bc;function vf(t){const r=Ge(t)?nn(t):t;return Hr(r.transform)||Hr(r.translate)||Hr(r.scale)||Hr(r.rotate)||Hr(r.perspective)||!Kl()&&(Hr(r.backdropFilter)||Hr(r.filter))||Gx.test(r.willChange||"")||Yx.test(r.contain||"")}function Xx(t){let r=Gn(t);for(;on(r)&&!Er(r);){if(vf(r))return r;if(Xl(r))return null;r=Gn(r)}return null}function Kl(){return bc==null&&(bc=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),bc}function Er(t){return/^(html|body|#document)$/.test(Yo(t))}function nn(t){return Ft(t).getComputedStyle(t)}function Ql(t){return Ge(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function Gn(t){if(Yo(t)==="html")return t;const r=t.assignedSlot||t.parentNode||Fc(t)&&t.host||$n(t);return Fc(r)?r.host:r}function Av(t){const r=Gn(t);return Er(r)?t.ownerDocument?t.ownerDocument.body:t.body:on(r)&&ts(r)?r:Av(r)}function Wn(t,r,o){var s;r===void 0&&(r=[]),o===void 0&&(o=!0);const l=Av(t),u=l===((s=t.ownerDocument)==null?void 0:s.body),c=Ft(l);if(u){const d=Bc(c);return r.concat(c,c.visualViewport||[],ts(l)?l:[],d&&o?Wn(d):[])}else return r.concat(l,Wn(l,[],o))}function Bc(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function yh(t){let r=t.activeElement;for(;((o=r)==null||(o=o.shadowRoot)==null?void 0:o.activeElement)!=null;){var o;r=r.shadowRoot.activeElement}return r}function Ki(t,r){if(!t||!r)return!1;const o=r.getRootNode==null?void 0:r.getRootNode();if(t.contains(r))return!0;if(o&&Fc(o)){let s=r;for(;s;){if(t===s)return!0;s=s.parentNode||s.host}}return!1}function Dv(){const t=navigator.userAgentData;return t!=null&&t.platform?t.platform:navigator.platform}function Lv(){const t=navigator.userAgentData;return t&&Array.isArray(t.brands)?t.brands.map(r=>{let{brand:o,version:s}=r;return o+"/"+s}).join(" "):navigator.userAgent}function Kx(t){return Zx()?!1:!wh()&&t.width===0&&t.height===0||wh()&&t.width===1&&t.height===1&&t.pressure===0&&t.detail===0&&t.pointerType==="mouse"||t.width<1&&t.height<1&&t.pressure===0&&t.detail===0&&t.pointerType==="touch"}function Qx(){return/apple/i.test(navigator.vendor)}function wh(){const t=/android/i;return t.test(Dv())||t.test(Lv())}function qx(){return Dv().toLowerCase().startsWith("mac")&&!navigator.maxTouchPoints}function Zx(){return Lv().includes("jsdom/")}function Vc(t,r){const o=["mouse","pen"];return o.push("",void 0),o.includes(t)}function Jx(t){return"nativeEvent"in t}function eS(t){return t.matches("html,body")}function Kr(t){return(t==null?void 0:t.ownerDocument)||document}function Cc(t,r){if(r==null)return!1;if("composedPath"in t)return t.composedPath().includes(r);const o=t;return o.target!=null&&r.contains(o.target)}function Mo(t){return"composedPath"in t?t.composedPath()[0]:t.target}const tS="input:not([type='hidden']):not([disabled]),[contenteditable]:not([contenteditable='false']),textarea:not([disabled])";function nS(t){return on(t)&&t.matches(tS)}const wn=Math.min,Rt=Math.max,jl=Math.round,xl=Math.floor,_n=t=>({x:t,y:t}),rS={left:"right",right:"left",bottom:"top",top:"bottom"};function Wc(t,r,o){return Rt(t,wn(r,o))}function Yn(t,r){return typeof t=="function"?t(r):t}function xn(t){return t.split("-")[0]}function Xo(t){return t.split("-")[1]}function gf(t){return t==="x"?"y":"x"}function yf(t){return t==="y"?"height":"width"}function vn(t){const r=t[0];return r==="t"||r==="b"?"y":"x"}function wf(t){return gf(vn(t))}function oS(t,r,o){o===void 0&&(o=!1);const s=Xo(t),l=wf(t),u=yf(l);let c=l==="x"?s===(o?"end":"start")?"right":"left":s==="start"?"bottom":"top";return r.reference[u]>r.floating[u]&&(c=$l(c)),[c,$l(c)]}function iS(t){const r=$l(t);return[Hc(t),r,Hc(r)]}function Hc(t){return t.includes("start")?t.replace("start","end"):t.replace("end","start")}const xh=["left","right"],Sh=["right","left"],sS=["top","bottom"],lS=["bottom","top"];function aS(t,r,o){switch(t){case"top":case"bottom":return o?r?Sh:xh:r?xh:Sh;case"left":case"right":return r?sS:lS;default:return[]}}function uS(t,r,o,s){const l=Xo(t);let u=aS(xn(t),o==="start",s);return l&&(u=u.map(c=>c+"-"+l),r&&(u=u.concat(u.map(Hc)))),u}function $l(t){const r=xn(t);return rS[r]+t.slice(r.length)}function cS(t){return{top:0,right:0,bottom:0,left:0,...t}}function xf(t){return typeof t!="number"?cS(t):{top:t,right:t,bottom:t,left:t}}function Bo(t){const{x:r,y:o,width:s,height:l}=t;return{width:s,height:l,top:o,left:r,right:r+s,bottom:o+l,x:r,y:o}}function bh(t,r,o){let{reference:s,floating:l}=t;const u=vn(r),c=wf(r),d=yf(c),m=xn(r),h=u==="y",v=s.x+s.width/2-l.width/2,g=s.y+s.height/2-l.height/2,y=s[d]/2-l[d]/2;let w;switch(m){case"top":w={x:v,y:s.y-l.height};break;case"bottom":w={x:v,y:s.y+s.height};break;case"right":w={x:s.x+s.width,y:g};break;case"left":w={x:s.x-l.width,y:g};break;default:w={x:s.x,y:s.y}}switch(Xo(r)){case"start":w[c]-=y*(o&&h?-1:1);break;case"end":w[c]+=y*(o&&h?-1:1);break}return w}async function fS(t,r){var o;r===void 0&&(r={});const{x:s,y:l,platform:u,rects:c,elements:d,strategy:m}=t,{boundary:h="clippingAncestors",rootBoundary:v="viewport",elementContext:g="floating",altBoundary:y=!1,padding:w=0}=Yn(r,t),C=xf(w),R=d[y?g==="floating"?"reference":"floating":g],N=Bo(await u.getClippingRect({element:(o=await(u.isElement==null?void 0:u.isElement(R)))==null||o?R:R.contextElement||await(u.getDocumentElement==null?void 0:u.getDocumentElement(d.floating)),boundary:h,rootBoundary:v,strategy:m})),j=g==="floating"?{x:s,y:l,width:c.floating.width,height:c.floating.height}:c.reference,T=await(u.getOffsetParent==null?void 0:u.getOffsetParent(d.floating)),O=await(u.isElement==null?void 0:u.isElement(T))?await(u.getScale==null?void 0:u.getScale(T))||{x:1,y:1}:{x:1,y:1},A=Bo(u.convertOffsetParentRelativeRectToViewportRelativeRect?await u.convertOffsetParentRelativeRectToViewportRelativeRect({elements:d,rect:j,offsetParent:T,strategy:m}):j);return{top:(N.top-A.top+C.top)/O.y,bottom:(A.bottom-N.bottom+C.bottom)/O.y,left:(N.left-A.left+C.left)/O.x,right:(A.right-N.right+C.right)/O.x}}const dS=50,pS=async(t,r,o)=>{const{placement:s="bottom",strategy:l="absolute",middleware:u=[],platform:c}=o,d=c.detectOverflow?c:{...c,detectOverflow:fS},m=await(c.isRTL==null?void 0:c.isRTL(r));let h=await c.getElementRects({reference:t,floating:r,strategy:l}),{x:v,y:g}=bh(h,s,m),y=s,w=0;const C={};for(let E=0;E({name:"arrow",options:t,async fn(r){const{x:o,y:s,placement:l,rects:u,platform:c,elements:d,middlewareData:m}=r,{element:h,padding:v=0}=Yn(t,r)||{};if(h==null)return{};const g=xf(v),y={x:o,y:s},w=wf(l),C=yf(w),E=await c.getDimensions(h),R=w==="y",N=R?"top":"left",j=R?"bottom":"right",T=R?"clientHeight":"clientWidth",O=u.reference[C]+u.reference[w]-y[w]-u.floating[C],A=y[w]-u.reference[w],F=await(c.getOffsetParent==null?void 0:c.getOffsetParent(h));let H=F?F[T]:0;(!H||!await(c.isElement==null?void 0:c.isElement(F)))&&(H=d.floating[T]||u.floating[C]);const z=O/2-A/2,Q=H/2-E[C]/2-1,q=wn(g[N],Q),X=wn(g[j],Q),K=q,Z=H-E[C]-X,te=H/2-E[C]/2+z,J=Wc(K,te,Z),B=!m.arrow&&Xo(l)!=null&&te!==J&&u.reference[C]/2-(tete<=0)){var X,K;const te=(((X=u.flip)==null?void 0:X.index)||0)+1,J=H[te];if(J&&(!(g==="alignment"?j!==vn(J):!1)||q.every(_=>vn(_.placement)===j?_.overflows[0]>0:!0)))return{data:{index:te,overflows:q},reset:{placement:J}};let B=(K=q.filter(V=>V.overflows[0]<=0).sort((V,_)=>V.overflows[1]-_.overflows[1])[0])==null?void 0:K.placement;if(!B)switch(w){case"bestFit":{var Z;const V=(Z=q.filter(_=>{if(F){const M=vn(_.placement);return M===j||M==="y"}return!0}).map(_=>[_.placement,_.overflows.filter(M=>M>0).reduce((M,U)=>M+U,0)]).sort((_,M)=>_[1]-M[1])[0])==null?void 0:Z[0];V&&(B=V);break}case"initialPlacement":B=d;break}if(l!==B)return{reset:{placement:B}}}return{}}}};function zv(t){const r=wn(...t.map(u=>u.left)),o=wn(...t.map(u=>u.top)),s=Rt(...t.map(u=>u.right)),l=Rt(...t.map(u=>u.bottom));return{x:r,y:o,width:s-r,height:l-o}}function vS(t){const r=t.slice().sort((l,u)=>l.y-u.y),o=[];let s=null;for(let l=0;ls.height/2?o.push([u]):o[o.length-1].push(u),s=u}return o.map(l=>Bo(zv(l)))}const gS=function(t){return t===void 0&&(t={}),{name:"inline",options:t,async fn(r){const{placement:o,elements:s,rects:l,platform:u,strategy:c}=r,{padding:d=2,x:m,y:h}=Yn(t,r),v=Array.from(await(u.getClientRects==null?void 0:u.getClientRects(s.reference))||[]),g=vS(v),y=Bo(zv(v)),w=xf(d);function C(){if(g.length===2&&g[0].left>g[1].right&&m!=null&&h!=null)return g.find(R=>m>R.left-w.left&&mR.top-w.top&&h=2){if(vn(o)==="y"){const q=g[0],X=g[g.length-1],K=xn(o)==="top",Z=q.top,te=X.bottom,J=K?q.left:X.left,B=K?q.right:X.right,V=B-J,_=te-Z;return{top:Z,bottom:te,left:J,right:B,width:V,height:_,x:J,y:Z}}const R=xn(o)==="left",N=Rt(...g.map(q=>q.right)),j=wn(...g.map(q=>q.left)),T=g.filter(q=>R?q.left===j:q.right===N),O=T[0].top,A=T[T.length-1].bottom,F=j,H=N,z=H-F,Q=A-O;return{top:O,bottom:A,left:F,right:H,width:z,height:Q,x:F,y:O}}return y}const E=await u.getElementRects({reference:{getBoundingClientRect:C},floating:s.floating,strategy:c});return l.reference.x!==E.reference.x||l.reference.y!==E.reference.y||l.reference.width!==E.reference.width||l.reference.height!==E.reference.height?{reset:{rects:E}}:{}}}},Fv=new Set(["left","top"]);async function yS(t,r){const{placement:o,platform:s,elements:l}=t,u=await(s.isRTL==null?void 0:s.isRTL(l.floating)),c=xn(o),d=Xo(o),m=vn(o)==="y",h=Fv.has(c)?-1:1,v=u&&m?-1:1,g=Yn(r,t);let{mainAxis:y,crossAxis:w,alignmentAxis:C}=typeof g=="number"?{mainAxis:g,crossAxis:0,alignmentAxis:null}:{mainAxis:g.mainAxis||0,crossAxis:g.crossAxis||0,alignmentAxis:g.alignmentAxis};return d&&typeof C=="number"&&(w=d==="end"?C*-1:C),m?{x:w*v,y:y*h}:{x:y*h,y:w*v}}const wS=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(r){var o,s;const{x:l,y:u,placement:c,middlewareData:d}=r,m=await yS(r,t);return c===((o=d.offset)==null?void 0:o.placement)&&(s=d.arrow)!=null&&s.alignmentOffset?{}:{x:l+m.x,y:u+m.y,data:{...m,placement:c}}}}},xS=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(r){const{x:o,y:s,placement:l,platform:u}=r,{mainAxis:c=!0,crossAxis:d=!1,limiter:m={fn:N=>{let{x:j,y:T}=N;return{x:j,y:T}}},...h}=Yn(t,r),v={x:o,y:s},g=await u.detectOverflow(r,h),y=vn(xn(l)),w=gf(y);let C=v[w],E=v[y];if(c){const N=w==="y"?"top":"left",j=w==="y"?"bottom":"right",T=C+g[N],O=C-g[j];C=Wc(T,C,O)}if(d){const N=y==="y"?"top":"left",j=y==="y"?"bottom":"right",T=E+g[N],O=E-g[j];E=Wc(T,E,O)}const R=m.fn({...r,[w]:C,[y]:E});return{...R,data:{x:R.x-o,y:R.y-s,enabled:{[w]:c,[y]:d}}}}}},SS=function(t){return t===void 0&&(t={}),{options:t,fn(r){const{x:o,y:s,placement:l,rects:u,middlewareData:c}=r,{offset:d=0,mainAxis:m=!0,crossAxis:h=!0}=Yn(t,r),v={x:o,y:s},g=vn(l),y=gf(g);let w=v[y],C=v[g];const E=Yn(d,r),R=typeof E=="number"?{mainAxis:E,crossAxis:0}:{mainAxis:0,crossAxis:0,...E};if(m){const T=y==="y"?"height":"width",O=u.reference[y]-u.floating[T]+R.mainAxis,A=u.reference[y]+u.reference[T]-R.mainAxis;wA&&(w=A)}if(h){var N,j;const T=y==="y"?"width":"height",O=Fv.has(xn(l)),A=u.reference[g]-u.floating[T]+(O&&((N=c.offset)==null?void 0:N[g])||0)+(O?0:R.crossAxis),F=u.reference[g]+u.reference[T]+(O?0:((j=c.offset)==null?void 0:j[g])||0)-(O?R.crossAxis:0);CF&&(C=F)}return{[y]:w,[g]:C}}}},bS=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(r){var o,s;const{placement:l,rects:u,platform:c,elements:d}=r,{apply:m=()=>{},...h}=Yn(t,r),v=await c.detectOverflow(r,h),g=xn(l),y=Xo(l),w=vn(l)==="y",{width:C,height:E}=u.floating;let R,N;g==="top"||g==="bottom"?(R=g,N=y===(await(c.isRTL==null?void 0:c.isRTL(d.floating))?"start":"end")?"left":"right"):(N=g,R=y==="end"?"top":"bottom");const j=E-v.top-v.bottom,T=C-v.left-v.right,O=wn(E-v[R],j),A=wn(C-v[N],T),F=!r.middlewareData.shift;let H=O,z=A;if((o=r.middlewareData.shift)!=null&&o.enabled.x&&(z=T),(s=r.middlewareData.shift)!=null&&s.enabled.y&&(H=j),F&&!y){const q=Rt(v.left,0),X=Rt(v.right,0),K=Rt(v.top,0),Z=Rt(v.bottom,0);w?z=C-2*(q!==0||X!==0?q+X:Rt(v.left,v.right)):H=E-2*(K!==0||Z!==0?K+Z:Rt(v.top,v.bottom))}await m({...r,availableWidth:z,availableHeight:H});const Q=await c.getDimensions(d.floating);return C!==Q.width||E!==Q.height?{reset:{rects:!0}}:{}}}};function Bv(t){const r=nn(t);let o=parseFloat(r.width)||0,s=parseFloat(r.height)||0;const l=on(t),u=l?t.offsetWidth:o,c=l?t.offsetHeight:s,d=jl(o)!==u||jl(s)!==c;return d&&(o=u,s=c),{width:o,height:s,$:d}}function Sf(t){return Ge(t)?t:t.contextElement}function Lo(t){const r=Sf(t);if(!on(r))return _n(1);const o=r.getBoundingClientRect(),{width:s,height:l,$:u}=Bv(r);let c=(u?jl(o.width):o.width)/s,d=(u?jl(o.height):o.height)/l;return(!c||!Number.isFinite(c))&&(c=1),(!d||!Number.isFinite(d))&&(d=1),{x:c,y:d}}const CS=_n(0);function Vv(t){const r=Ft(t);return!Kl()||!r.visualViewport?CS:{x:r.visualViewport.offsetLeft,y:r.visualViewport.offsetTop}}function ES(t,r,o){return r===void 0&&(r=!1),!o||r&&o!==Ft(t)?!1:r}function Zr(t,r,o,s){r===void 0&&(r=!1),o===void 0&&(o=!1);const l=t.getBoundingClientRect(),u=Sf(t);let c=_n(1);r&&(s?Ge(s)&&(c=Lo(s)):c=Lo(t));const d=ES(u,o,s)?Vv(u):_n(0);let m=(l.left+d.x)/c.x,h=(l.top+d.y)/c.y,v=l.width/c.x,g=l.height/c.y;if(u){const y=Ft(u),w=s&&Ge(s)?Ft(s):s;let C=y,E=Bc(C);for(;E&&s&&w!==C;){const R=Lo(E),N=E.getBoundingClientRect(),j=nn(E),T=N.left+(E.clientLeft+parseFloat(j.paddingLeft))*R.x,O=N.top+(E.clientTop+parseFloat(j.paddingTop))*R.y;m*=R.x,h*=R.y,v*=R.x,g*=R.y,m+=T,h+=O,C=Ft(E),E=Bc(C)}}return Bo({width:v,height:g,x:m,y:h})}function ql(t,r){const o=Ql(t).scrollLeft;return r?r.left+o:Zr($n(t)).left+o}function Wv(t,r){const o=t.getBoundingClientRect(),s=o.left+r.scrollLeft-ql(t,o),l=o.top+r.scrollTop;return{x:s,y:l}}function RS(t){let{elements:r,rect:o,offsetParent:s,strategy:l}=t;const u=l==="fixed",c=$n(s),d=r?Xl(r.floating):!1;if(s===c||d&&u)return o;let m={scrollLeft:0,scrollTop:0},h=_n(1);const v=_n(0),g=on(s);if((g||!g&&!u)&&((Yo(s)!=="body"||ts(c))&&(m=Ql(s)),g)){const w=Zr(s);h=Lo(s),v.x=w.x+s.clientLeft,v.y=w.y+s.clientTop}const y=c&&!g&&!u?Wv(c,m):_n(0);return{width:o.width*h.x,height:o.height*h.y,x:o.x*h.x-m.scrollLeft*h.x+v.x+y.x,y:o.y*h.y-m.scrollTop*h.y+v.y+y.y}}function kS(t){return Array.from(t.getClientRects())}function NS(t){const r=$n(t),o=Ql(t),s=t.ownerDocument.body,l=Rt(r.scrollWidth,r.clientWidth,s.scrollWidth,s.clientWidth),u=Rt(r.scrollHeight,r.clientHeight,s.scrollHeight,s.clientHeight);let c=-o.scrollLeft+ql(t);const d=-o.scrollTop;return nn(s).direction==="rtl"&&(c+=Rt(r.clientWidth,s.clientWidth)-l),{width:l,height:u,x:c,y:d}}const Ch=25;function PS(t,r){const o=Ft(t),s=$n(t),l=o.visualViewport;let u=s.clientWidth,c=s.clientHeight,d=0,m=0;if(l){u=l.width,c=l.height;const v=Kl();(!v||v&&r==="fixed")&&(d=l.offsetLeft,m=l.offsetTop)}const h=ql(s);if(h<=0){const v=s.ownerDocument,g=v.body,y=getComputedStyle(g),w=v.compatMode==="CSS1Compat"&&parseFloat(y.marginLeft)+parseFloat(y.marginRight)||0,C=Math.abs(s.clientWidth-g.clientWidth-w);C<=Ch&&(u-=C)}else h<=Ch&&(u+=h);return{width:u,height:c,x:d,y:m}}function _S(t,r){const o=Zr(t,!0,r==="fixed"),s=o.top+t.clientTop,l=o.left+t.clientLeft,u=on(t)?Lo(t):_n(1),c=t.clientWidth*u.x,d=t.clientHeight*u.y,m=l*u.x,h=s*u.y;return{width:c,height:d,x:m,y:h}}function Eh(t,r,o){let s;if(r==="viewport")s=PS(t,o);else if(r==="document")s=NS($n(t));else if(Ge(r))s=_S(r,o);else{const l=Vv(t);s={x:r.x-l.x,y:r.y-l.y,width:r.width,height:r.height}}return Bo(s)}function Hv(t,r){const o=Gn(t);return o===r||!Ge(o)||Er(o)?!1:nn(o).position==="fixed"||Hv(o,r)}function TS(t,r){const o=r.get(t);if(o)return o;let s=Wn(t,[],!1).filter(d=>Ge(d)&&Yo(d)!=="body"),l=null;const u=nn(t).position==="fixed";let c=u?Gn(t):t;for(;Ge(c)&&!Er(c);){const d=nn(c),m=vf(c);!m&&d.position==="fixed"&&(l=null),(u?!m&&!l:!m&&d.position==="static"&&!!l&&(l.position==="absolute"||l.position==="fixed")||ts(c)&&!m&&Hv(t,c))?s=s.filter(v=>v!==c):l=d,c=Gn(c)}return r.set(t,s),s}function jS(t){let{element:r,boundary:o,rootBoundary:s,strategy:l}=t;const c=[...o==="clippingAncestors"?Xl(r)?[]:TS(r,this._c):[].concat(o),s],d=Eh(r,c[0],l);let m=d.top,h=d.right,v=d.bottom,g=d.left;for(let y=1;y{c(!1,1e-7)},1e3)}H===1&&!Gv(h,t.getBoundingClientRect())&&c(),O=!1}try{o=new IntersectionObserver(A,{...T,root:l.ownerDocument})}catch{o=new IntersectionObserver(A,T)}o.observe(t)}return c(!0),u}function LS(t,r,o,s){s===void 0&&(s={});const{ancestorScroll:l=!0,ancestorResize:u=!0,elementResize:c=typeof ResizeObserver=="function",layoutShift:d=typeof IntersectionObserver=="function",animationFrame:m=!1}=s,h=Sf(t),v=l||u?[...h?Wn(h):[],...r?Wn(r):[]]:[];v.forEach(N=>{l&&N.addEventListener("scroll",o,{passive:!0}),u&&N.addEventListener("resize",o)});const g=h&&d?DS(h,o):null;let y=-1,w=null;c&&(w=new ResizeObserver(N=>{let[j]=N;j&&j.target===h&&w&&r&&(w.unobserve(r),cancelAnimationFrame(y),y=requestAnimationFrame(()=>{var T;(T=w)==null||T.observe(r)})),o()}),h&&!m&&w.observe(h),r&&w.observe(r));let C,E=m?Zr(t):null;m&&R();function R(){const N=Zr(t);E&&!Gv(E,N)&&o(),E=N,C=requestAnimationFrame(R)}return o(),()=>{var N;v.forEach(j=>{l&&j.removeEventListener("scroll",o),u&&j.removeEventListener("resize",o)}),g==null||g(),(N=w)==null||N.disconnect(),w=null,m&&cancelAnimationFrame(C)}}const zS=wS,FS=xS,BS=hS,VS=bS,kh=mS,WS=gS,HS=SS,US=(t,r,o)=>{const s=new Map,l={platform:AS,...o},u={...l.platform,_c:s};return pS(t,r,{...l,platform:u})};var GS=typeof document<"u",YS=function(){},Rl=GS?x.useLayoutEffect:YS;function Ol(t,r){if(t===r)return!0;if(typeof t!=typeof r)return!1;if(typeof t=="function"&&t.toString()===r.toString())return!0;let o,s,l;if(t&&r&&typeof t=="object"){if(Array.isArray(t)){if(o=t.length,o!==r.length)return!1;for(s=o;s--!==0;)if(!Ol(t[s],r[s]))return!1;return!0}if(l=Object.keys(t),o=l.length,o!==Object.keys(r).length)return!1;for(s=o;s--!==0;)if(!{}.hasOwnProperty.call(r,l[s]))return!1;for(s=o;s--!==0;){const u=l[s];if(!(u==="_owner"&&t.$$typeof)&&!Ol(t[u],r[u]))return!1}return!0}return t!==t&&r!==r}function Yv(t){return typeof window>"u"?1:(t.ownerDocument.defaultView||window).devicePixelRatio||1}function Nh(t,r){const o=Yv(t);return Math.round(r*o)/o}function Rc(t){const r=x.useRef(t);return Rl(()=>{r.current=t}),r}function XS(t){t===void 0&&(t={});const{placement:r="bottom",strategy:o="absolute",middleware:s=[],platform:l,elements:{reference:u,floating:c}={},transform:d=!0,whileElementsMounted:m,open:h}=t,[v,g]=x.useState({x:0,y:0,strategy:o,placement:r,middlewareData:{},isPositioned:!1}),[y,w]=x.useState(s);Ol(y,s)||w(s);const[C,E]=x.useState(null),[R,N]=x.useState(null),j=x.useCallback(_=>{_!==F.current&&(F.current=_,E(_))},[]),T=x.useCallback(_=>{_!==H.current&&(H.current=_,N(_))},[]),O=u||C,A=c||R,F=x.useRef(null),H=x.useRef(null),z=x.useRef(v),Q=m!=null,q=Rc(m),X=Rc(l),K=Rc(h),Z=x.useCallback(()=>{if(!F.current||!H.current)return;const _={placement:r,strategy:o,middleware:y};X.current&&(_.platform=X.current),US(F.current,H.current,_).then(M=>{const U={...M,isPositioned:K.current!==!1};te.current&&!Ol(z.current,U)&&(z.current=U,Gl.flushSync(()=>{g(U)}))})},[y,r,o,X,K]);Rl(()=>{h===!1&&z.current.isPositioned&&(z.current.isPositioned=!1,g(_=>({..._,isPositioned:!1})))},[h]);const te=x.useRef(!1);Rl(()=>(te.current=!0,()=>{te.current=!1}),[]),Rl(()=>{if(O&&(F.current=O),A&&(H.current=A),O&&A){if(q.current)return q.current(O,A,Z);Z()}},[O,A,Z,q,Q]);const J=x.useMemo(()=>({reference:F,floating:H,setReference:j,setFloating:T}),[j,T]),B=x.useMemo(()=>({reference:O,floating:A}),[O,A]),V=x.useMemo(()=>{const _={position:o,left:0,top:0};if(!B.floating)return _;const M=Nh(B.floating,v.x),U=Nh(B.floating,v.y);return d?{..._,transform:"translate("+M+"px, "+U+"px)",...Yv(B.floating)>=1.5&&{willChange:"transform"}}:{position:o,left:M,top:U}},[o,d,B.floating,v.x,v.y]);return x.useMemo(()=>({...v,update:Z,refs:J,elements:B,floatingStyles:V}),[v,Z,J,B,V])}const KS=t=>{function r(o){return{}.hasOwnProperty.call(o,"current")}return{name:"arrow",options:t,fn(o){const{element:s,padding:l}=typeof t=="function"?t(o):t;return s&&r(s)?s.current!=null?kh({element:s.current,padding:l}).fn(o):{}:s?kh({element:s,padding:l}).fn(o):{}}}},Xv=(t,r)=>{const o=zS(t);return{name:o.name,fn:o.fn,options:[t,r]}},bf=(t,r)=>{const o=FS(t);return{name:o.name,fn:o.fn,options:[t,r]}},Ph=(t,r)=>({fn:HS(t).fn,options:[t,r]}),Il=(t,r)=>{const o=BS(t);return{name:o.name,fn:o.fn,options:[t,r]}},QS=(t,r)=>{const o=VS(t);return{name:o.name,fn:o.fn,options:[t,r]}},Yi=(t,r)=>{const o=WS(t);return{name:o.name,fn:o.fn,options:[t,r]}},Kv=(t,r)=>{const o=KS(t);return{name:o.name,fn:o.fn,options:[t,r]}};function qS(t){return x.useMemo(()=>t.every(r=>r==null)?null:r=>{t.forEach(o=>{typeof o=="function"?o(r):o!=null&&(o.current=r)})},t)}const Qv={...bw},ZS=Qv.useInsertionEffect,JS=ZS||(t=>t());function Vn(t){const r=x.useRef(()=>{});return JS(()=>{r.current=t}),x.useCallback(function(){for(var o=arguments.length,s=new Array(o),l=0;l"floating-ui-"+Math.random().toString(36).slice(2,6)+eb++;function tb(){const[t,r]=x.useState(()=>_h?Th():void 0);return Tn(()=>{t==null&&r(Th())},[]),x.useEffect(()=>{_h=!0},[]),t}const nb=Qv.useId,qv=nb||tb;function rb(){const t=new Map;return{emit(r,o){var s;(s=t.get(r))==null||s.forEach(l=>l(o))},on(r,o){t.set(r,[...t.get(r)||[],o])},off(r,o){var s;t.set(r,((s=t.get(r))==null?void 0:s.filter(l=>l!==o))||[])}}}const ob=x.createContext(null),ib=x.createContext(null),Cf=()=>{var t;return((t=x.useContext(ob))==null?void 0:t.id)||null},Ef=()=>x.useContext(ib);function Rf(t){return"data-floating-ui-"+t}function kc(t){const r=x.useRef(t);return Tn(()=>{r.current=t}),r}const jh=Rf("safe-polygon");function kl(t,r,o){return o&&!Vc(o)?0:typeof t=="number"?t:t==null?void 0:t[r]}function sb(t,r){r===void 0&&(r={});const{open:o,onOpenChange:s,dataRef:l,events:u,elements:c}=t,{enabled:d=!0,delay:m=0,handleClose:h=null,mouseOnly:v=!1,restMs:g=0,move:y=!0}=r,w=Ef(),C=Cf(),E=kc(h),R=kc(m),N=kc(o),j=x.useRef(),T=x.useRef(-1),O=x.useRef(),A=x.useRef(-1),F=x.useRef(!0),H=x.useRef(!1),z=x.useRef(()=>{}),Q=x.useRef(!1),q=x.useCallback(()=>{var V;const _=(V=l.current.openEvent)==null?void 0:V.type;return(_==null?void 0:_.includes("mouse"))&&_!=="mousedown"},[l]);x.useEffect(()=>{if(!d)return;function V(_){let{open:M}=_;M||(clearTimeout(T.current),clearTimeout(A.current),F.current=!0,Q.current=!1)}return u.on("openchange",V),()=>{u.off("openchange",V)}},[d,u]),x.useEffect(()=>{if(!d||!E.current||!o)return;function V(M){q()&&s(!1,M,"hover")}const _=Kr(c.floating).documentElement;return _.addEventListener("mouseleave",V),()=>{_.removeEventListener("mouseleave",V)}},[c.floating,o,s,d,E,q]);const X=x.useCallback(function(V,_,M){_===void 0&&(_=!0),M===void 0&&(M="hover");const U=kl(R.current,"close",j.current);U&&!O.current?(clearTimeout(T.current),T.current=window.setTimeout(()=>s(!1,V,M),U)):_&&(clearTimeout(T.current),s(!1,V,M))},[R,s]),K=Vn(()=>{z.current(),O.current=void 0}),Z=Vn(()=>{if(H.current){const V=Kr(c.floating).body;V.style.pointerEvents="",V.removeAttribute(jh),H.current=!1}}),te=Vn(()=>l.current.openEvent?["click","mousedown"].includes(l.current.openEvent.type):!1);x.useEffect(()=>{if(!d)return;function V(k){if(clearTimeout(T.current),F.current=!1,v&&!Vc(j.current)||g>0&&!kl(R.current,"open"))return;const D=kl(R.current,"open",j.current);D?T.current=window.setTimeout(()=>{N.current||s(!0,k,"hover")},D):o||s(!0,k,"hover")}function _(k){if(te())return;z.current();const D=Kr(c.floating);if(clearTimeout(A.current),Q.current=!1,E.current&&l.current.floatingContext){o||clearTimeout(T.current),O.current=E.current({...l.current.floatingContext,tree:w,x:k.clientX,y:k.clientY,onClose(){Z(),K(),te()||X(k,!0,"safe-polygon")}});const ve=O.current;D.addEventListener("mousemove",ve),z.current=()=>{D.removeEventListener("mousemove",ve)};return}(j.current==="touch"?!Ki(c.floating,k.relatedTarget):!0)&&X(k)}function M(k){te()||l.current.floatingContext&&(E.current==null||E.current({...l.current.floatingContext,tree:w,x:k.clientX,y:k.clientY,onClose(){Z(),K(),te()||X(k)}})(k))}if(Ge(c.domReference)){var U;const k=c.domReference;return o&&k.addEventListener("mouseleave",M),(U=c.floating)==null||U.addEventListener("mouseleave",M),y&&k.addEventListener("mousemove",V,{once:!0}),k.addEventListener("mouseenter",V),k.addEventListener("mouseleave",_),()=>{var D;o&&k.removeEventListener("mouseleave",M),(D=c.floating)==null||D.removeEventListener("mouseleave",M),y&&k.removeEventListener("mousemove",V),k.removeEventListener("mouseenter",V),k.removeEventListener("mouseleave",_)}}},[c,d,t,v,g,y,X,K,Z,s,o,N,w,R,E,l,te]),Tn(()=>{var V;if(d&&o&&(V=E.current)!=null&&V.__options.blockPointerEvents&&q()){H.current=!0;const M=c.floating;if(Ge(c.domReference)&&M){var _;const U=Kr(c.floating).body;U.setAttribute(jh,"");const k=c.domReference,D=w==null||(_=w.nodesRef.current.find(le=>le.id===C))==null||(_=_.context)==null?void 0:_.elements.floating;return D&&(D.style.pointerEvents=""),U.style.pointerEvents="none",k.style.pointerEvents="auto",M.style.pointerEvents="auto",()=>{U.style.pointerEvents="",k.style.pointerEvents="",M.style.pointerEvents=""}}}},[d,o,C,c,w,E,q]),Tn(()=>{o||(j.current=void 0,Q.current=!1,K(),Z())},[o,K,Z]),x.useEffect(()=>()=>{K(),clearTimeout(T.current),clearTimeout(A.current),Z()},[d,c.domReference,K,Z]);const J=x.useMemo(()=>{function V(_){j.current=_.pointerType}return{onPointerDown:V,onPointerEnter:V,onMouseMove(_){const{nativeEvent:M}=_;function U(){!F.current&&!N.current&&s(!0,M,"hover")}v&&!Vc(j.current)||o||g===0||Q.current&&_.movementX**2+_.movementY**2<2||(clearTimeout(A.current),j.current==="touch"?U():(Q.current=!0,A.current=window.setTimeout(U,g)))}}},[v,s,o,N,g]),B=x.useMemo(()=>({onMouseEnter(){clearTimeout(T.current)},onMouseLeave(V){te()||X(V.nativeEvent,!1)}}),[X,te]);return x.useMemo(()=>d?{reference:J,floating:B}:{},[d,J,B])}const Uc=()=>{},Zv=x.createContext({delay:0,initialDelay:0,timeoutMs:0,currentId:null,setCurrentId:Uc,setState:Uc,isInstantPhase:!1}),lb=()=>x.useContext(Zv);function ab(t){const{children:r,delay:o,timeoutMs:s=0}=t,[l,u]=x.useReducer((m,h)=>({...m,...h}),{delay:o,timeoutMs:s,initialDelay:o,currentId:null,isInstantPhase:!1}),c=x.useRef(null),d=x.useCallback(m=>{u({currentId:m})},[]);return Tn(()=>{l.currentId?c.current===null?c.current=l.currentId:l.isInstantPhase||u({isInstantPhase:!0}):(l.isInstantPhase&&u({isInstantPhase:!1}),c.current=null)},[l.currentId,l.isInstantPhase]),x.createElement(Zv.Provider,{value:x.useMemo(()=>({...l,setState:u,setCurrentId:d}),[l,d])},r)}function ub(t,r){r===void 0&&(r={});const{open:o,onOpenChange:s,floatingId:l}=t,{id:u,enabled:c=!0}=r,d=u??l,m=lb(),{currentId:h,setCurrentId:v,initialDelay:g,setState:y,timeoutMs:w}=m;return Tn(()=>{c&&h&&(y({delay:{open:1,close:kl(g,"close")}}),h!==d&&s(!1))},[c,d,s,y,h,g]),Tn(()=>{function C(){s(!1),y({delay:g,currentId:null})}if(c&&h&&!o&&h===d){if(w){const E=window.setTimeout(C,w);return()=>{clearTimeout(E)}}C()}},[c,o,y,h,d,s,g,w]),Tn(()=>{c&&(v===Uc||!o||v(d))},[c,o,v,d]),m}function Nc(t,r){let o=t.filter(l=>{var u;return l.parentId===r&&((u=l.context)==null?void 0:u.open)}),s=o;for(;s.length;)s=t.filter(l=>{var u;return(u=s)==null?void 0:u.some(c=>{var d;return l.parentId===c.id&&((d=l.context)==null?void 0:d.open)})}),o=o.concat(s);return o}const cb="data-floating-ui-focusable",fb={pointerdown:"onPointerDown",mousedown:"onMouseDown",click:"onClick"},db={pointerdown:"onPointerDownCapture",mousedown:"onMouseDownCapture",click:"onClickCapture"},$h=t=>{var r,o;return{escapeKey:typeof t=="boolean"?t:(r=t==null?void 0:t.escapeKey)!=null?r:!1,outsidePress:typeof t=="boolean"?t:(o=t==null?void 0:t.outsidePress)!=null?o:!0}};function pb(t,r){r===void 0&&(r={});const{open:o,onOpenChange:s,elements:l,dataRef:u}=t,{enabled:c=!0,escapeKey:d=!0,outsidePress:m=!0,outsidePressEvent:h="pointerdown",referencePress:v=!1,referencePressEvent:g="pointerdown",ancestorScroll:y=!1,bubbles:w,capture:C}=r,E=Ef(),R=Vn(typeof m=="function"?m:()=>!1),N=typeof m=="function"?R:m,j=x.useRef(!1),T=x.useRef(!1),{escapeKey:O,outsidePress:A}=$h(w),{escapeKey:F,outsidePress:H}=$h(C),z=x.useRef(!1),Q=Vn(J=>{var B;if(!o||!c||!d||J.key!=="Escape"||z.current)return;const V=(B=u.current.floatingContext)==null?void 0:B.nodeId,_=E?Nc(E.nodesRef.current,V):[];if(!O&&(J.stopPropagation(),_.length>0)){let M=!0;if(_.forEach(U=>{var k;if((k=U.context)!=null&&k.open&&!U.context.dataRef.current.__escapeKeyBubbles){M=!1;return}}),!M)return}s(!1,Jx(J)?J.nativeEvent:J,"escape-key")}),q=Vn(J=>{var B;const V=()=>{var _;Q(J),(_=Mo(J))==null||_.removeEventListener("keydown",V)};(B=Mo(J))==null||B.addEventListener("keydown",V)}),X=Vn(J=>{var B;const V=j.current;j.current=!1;const _=T.current;if(T.current=!1,h==="click"&&_||V||typeof N=="function"&&!N(J))return;const M=Mo(J),U="["+Rf("inert")+"]",k=Kr(l.floating).querySelectorAll(U);let D=Ge(M)?M:null;for(;D&&!Er(D);){const ce=Gn(D);if(Er(ce)||!Ge(ce))break;D=ce}if(k.length&&Ge(M)&&!eS(M)&&!Ki(M,l.floating)&&Array.from(k).every(ce=>!Ki(D,ce)))return;if(on(M)&&te){const ce=M.clientWidth>0&&M.scrollWidth>M.clientWidth,Se=M.clientHeight>0&&M.scrollHeight>M.clientHeight;let ye=Se&&J.offsetX>M.clientWidth;if(Se&&nn(M).direction==="rtl"&&(ye=J.offsetX<=M.offsetWidth-M.clientWidth),ye||ce&&J.offsetY>M.clientHeight)return}const le=(B=u.current.floatingContext)==null?void 0:B.nodeId,ve=E&&Nc(E.nodesRef.current,le).some(ce=>{var Se;return Cc(J,(Se=ce.context)==null?void 0:Se.elements.floating)});if(Cc(J,l.floating)||Cc(J,l.domReference)||ve)return;const ie=E?Nc(E.nodesRef.current,le):[];if(ie.length>0){let ce=!0;if(ie.forEach(Se=>{var ye;if((ye=Se.context)!=null&&ye.open&&!Se.context.dataRef.current.__outsidePressBubbles){ce=!1;return}}),!ce)return}s(!1,J,"outside-press")}),K=Vn(J=>{var B;const V=()=>{var _;X(J),(_=Mo(J))==null||_.removeEventListener(h,V)};(B=Mo(J))==null||B.addEventListener(h,V)});x.useEffect(()=>{if(!o||!c)return;u.current.__escapeKeyBubbles=O,u.current.__outsidePressBubbles=A;let J=-1;function B(k){s(!1,k,"ancestor-scroll")}function V(){window.clearTimeout(J),z.current=!0}function _(){J=window.setTimeout(()=>{z.current=!1},Kl()?5:0)}const M=Kr(l.floating);d&&(M.addEventListener("keydown",F?q:Q,F),M.addEventListener("compositionstart",V),M.addEventListener("compositionend",_)),N&&M.addEventListener(h,H?K:X,H);let U=[];return y&&(Ge(l.domReference)&&(U=Wn(l.domReference)),Ge(l.floating)&&(U=U.concat(Wn(l.floating))),!Ge(l.reference)&&l.reference&&l.reference.contextElement&&(U=U.concat(Wn(l.reference.contextElement)))),U=U.filter(k=>{var D;return k!==((D=M.defaultView)==null?void 0:D.visualViewport)}),U.forEach(k=>{k.addEventListener("scroll",B,{passive:!0})}),()=>{d&&(M.removeEventListener("keydown",F?q:Q,F),M.removeEventListener("compositionstart",V),M.removeEventListener("compositionend",_)),N&&M.removeEventListener(h,H?K:X,H),U.forEach(k=>{k.removeEventListener("scroll",B)}),window.clearTimeout(J)}},[u,l,d,N,h,o,s,y,c,O,A,Q,F,q,X,H,K]),x.useEffect(()=>{j.current=!1},[N,h]);const Z=x.useMemo(()=>({onKeyDown:Q,[fb[g]]:J=>{v&&s(!1,J.nativeEvent,"reference-press")}}),[Q,s,v,g]),te=x.useMemo(()=>({onKeyDown:Q,onMouseDown(){T.current=!0},onMouseUp(){T.current=!0},[db[h]]:()=>{j.current=!0}}),[Q,h]);return x.useMemo(()=>c?{reference:Z,floating:te}:{},[c,Z,te])}function mb(t){const{open:r=!1,onOpenChange:o,elements:s}=t,l=qv(),u=x.useRef({}),[c]=x.useState(()=>rb()),d=Cf()!=null,[m,h]=x.useState(s.reference),v=Vn((w,C,E)=>{u.current.openEvent=w?C:void 0,c.emit("openchange",{open:w,event:C,reason:E,nested:d}),o==null||o(w,C,E)}),g=x.useMemo(()=>({setPositionReference:h}),[]),y=x.useMemo(()=>({reference:m||s.reference||null,floating:s.floating||null,domReference:s.reference}),[m,s.reference,s.floating]);return x.useMemo(()=>({dataRef:u,open:r,onOpenChange:v,elements:y,events:c,floatingId:l,refs:g}),[r,v,y,c,l,g])}function kf(t){t===void 0&&(t={});const{nodeId:r}=t,o=mb({...t,elements:{reference:null,floating:null,...t.elements}}),s=t.rootContext||o,l=s.elements,[u,c]=x.useState(null),[d,m]=x.useState(null),v=(l==null?void 0:l.domReference)||u,g=x.useRef(null),y=Ef();Tn(()=>{v&&(g.current=v)},[v]);const w=XS({...t,elements:{...l,...d&&{reference:d}}}),C=x.useCallback(T=>{const O=Ge(T)?{getBoundingClientRect:()=>T.getBoundingClientRect(),contextElement:T}:T;m(O),w.refs.setReference(O)},[w.refs]),E=x.useCallback(T=>{(Ge(T)||T===null)&&(g.current=T,c(T)),(Ge(w.refs.reference.current)||w.refs.reference.current===null||T!==null&&!Ge(T))&&w.refs.setReference(T)},[w.refs]),R=x.useMemo(()=>({...w.refs,setReference:E,setPositionReference:C,domReference:g}),[w.refs,E,C]),N=x.useMemo(()=>({...w.elements,domReference:v}),[w.elements,v]),j=x.useMemo(()=>({...w,...s,refs:R,elements:N,nodeId:r}),[w,R,N,r,s]);return Tn(()=>{s.dataRef.current.floatingContext=j;const T=y==null?void 0:y.nodesRef.current.find(O=>O.id===r);T&&(T.context=j)}),x.useMemo(()=>({...w,context:j,refs:R,elements:N}),[w,R,N,j])}function hb(t,r){r===void 0&&(r={});const{open:o,onOpenChange:s,events:l,dataRef:u,elements:c}=t,{enabled:d=!0,visibleOnly:m=!0}=r,h=x.useRef(!1),v=x.useRef(),g=x.useRef(!0);x.useEffect(()=>{if(!d)return;const w=Ft(c.domReference);function C(){!o&&on(c.domReference)&&c.domReference===yh(Kr(c.domReference))&&(h.current=!0)}function E(){g.current=!0}return w.addEventListener("blur",C),w.addEventListener("keydown",E,!0),()=>{w.removeEventListener("blur",C),w.removeEventListener("keydown",E,!0)}},[c.domReference,o,d]),x.useEffect(()=>{if(!d)return;function w(C){let{reason:E}=C;(E==="reference-press"||E==="escape-key")&&(h.current=!0)}return l.on("openchange",w),()=>{l.off("openchange",w)}},[l,d]),x.useEffect(()=>()=>{clearTimeout(v.current)},[]);const y=x.useMemo(()=>({onPointerDown(w){Kx(w.nativeEvent)||(g.current=!1)},onMouseLeave(){h.current=!1},onFocus(w){if(h.current)return;const C=Mo(w.nativeEvent);if(m&&Ge(C))try{if(Qx()&&qx())throw Error();if(!C.matches(":focus-visible"))return}catch{if(!g.current&&!nS(C))return}s(!0,w.nativeEvent,"focus")},onBlur(w){h.current=!1;const C=w.relatedTarget,E=w.nativeEvent,R=Ge(C)&&C.hasAttribute(Rf("focus-guard"))&&C.getAttribute("data-type")==="outside";v.current=window.setTimeout(()=>{var N;const j=yh(c.domReference?c.domReference.ownerDocument:document);!C&&j===c.domReference||Ki((N=u.current.floatingContext)==null?void 0:N.refs.floating.current,j)||Ki(c.domReference,j)||R||s(!1,E,"focus")})}}),[u,c.domReference,s,m]);return x.useMemo(()=>d?{reference:y}:{},[d,y])}const Oh="active",Ih="selected";function Pc(t,r,o){const s=new Map,l=o==="item";let u=t;if(l&&t){const{[Oh]:c,[Ih]:d,...m}=t;u=m}return{...o==="floating"&&{tabIndex:-1,[cb]:""},...u,...r.map(c=>{const d=c?c[o]:null;return typeof d=="function"?t?d(t):null:d}).concat(t).reduce((c,d)=>(d&&Object.entries(d).forEach(m=>{let[h,v]=m;if(!(l&&[Oh,Ih].includes(h)))if(h.indexOf("on")===0){if(s.has(h)||s.set(h,[]),typeof v=="function"){var g;(g=s.get(h))==null||g.push(v),c[h]=function(){for(var y,w=arguments.length,C=new Array(w),E=0;ER(...C)).find(R=>R!==void 0)}}}else c[h]=v}),c),{})}}function vb(t){t===void 0&&(t=[]);const r=t.map(d=>d==null?void 0:d.reference),o=t.map(d=>d==null?void 0:d.floating),s=t.map(d=>d==null?void 0:d.item),l=x.useCallback(d=>Pc(d,t,"reference"),r),u=x.useCallback(d=>Pc(d,t,"floating"),o),c=x.useCallback(d=>Pc(d,t,"item"),s);return x.useMemo(()=>({getReferenceProps:l,getFloatingProps:u,getItemProps:c}),[l,u,c])}const gb=new Map([["select","listbox"],["combobox","listbox"],["label",!1]]);function yb(t,r){var o;r===void 0&&(r={});const{open:s,floatingId:l}=t,{enabled:u=!0,role:c="dialog"}=r,d=(o=gb.get(c))!=null?o:c,m=qv(),v=Cf()!=null,g=x.useMemo(()=>d==="tooltip"||c==="label"?{["aria-"+(c==="label"?"labelledby":"describedby")]:s?l:void 0}:{"aria-expanded":s?"true":"false","aria-haspopup":d==="alertdialog"?"dialog":d,"aria-controls":s?l:void 0,...d==="listbox"&&{role:"combobox"},...d==="menu"&&{id:m},...d==="menu"&&v&&{role:"menuitem"},...c==="select"&&{"aria-autocomplete":"none"},...c==="combobox"&&{"aria-autocomplete":"list"}},[d,l,v,s,m,c]),y=x.useMemo(()=>{const C={id:l,...d&&{role:d}};return d==="tooltip"||c==="label"?C:{...C,...d==="menu"&&{"aria-labelledby":m}}},[d,l,m,c]),w=x.useCallback(C=>{let{active:E,selected:R}=C;const N={role:"option",...E&&{id:l+"-option"}};switch(c){case"select":return{...N,"aria-selected":E&&R};case"combobox":return{...N,...E&&{"aria-selected":!0}}}return{}},[l,c]);return x.useMemo(()=>u?{reference:g,floating:y,item:w}:{},[u,g,y,w])}const[wb,sn]=Rr("ScrollArea.Root component was not found in tree");function Vo(t,r){const o=Yr(r);Go(()=>{let s=0;if(t){const l=new ResizeObserver(()=>{cancelAnimationFrame(s),s=window.requestAnimationFrame(o)});return l.observe(t),()=>{window.cancelAnimationFrame(s),l.unobserve(t)}}},[t,o])}const xb=x.forwardRef((t,r)=>{const{style:o,...s}=t,l=sn(),[u,c]=x.useState(0),[d,m]=x.useState(0),h=!!(u&&d);return Vo(l.scrollbarX,()=>{var g;const v=((g=l.scrollbarX)==null?void 0:g.offsetHeight)||0;l.onCornerHeightChange(v),m(v)}),Vo(l.scrollbarY,()=>{var g;const v=((g=l.scrollbarY)==null?void 0:g.offsetWidth)||0;l.onCornerWidthChange(v),c(v)}),h?S.jsx("div",{...s,ref:r,style:{...o,width:u,height:d}}):null}),Sb=x.forwardRef((t,r)=>{const o=sn(),s=!!(o.scrollbarX&&o.scrollbarY);return o.type!=="scroll"&&s?S.jsx(xb,{...t,ref:r}):null}),bb={scrollHideDelay:1e3,type:"hover"},Jv=x.forwardRef((t,r)=>{const o=se("ScrollAreaRoot",bb,t),{type:s,scrollHideDelay:l,scrollbars:u,...c}=o,[d,m]=x.useState(null),[h,v]=x.useState(null),[g,y]=x.useState(null),[w,C]=x.useState(null),[E,R]=x.useState(null),[N,j]=x.useState(0),[T,O]=x.useState(0),[A,F]=x.useState(!1),[H,z]=x.useState(!1),Q=Ot(r,q=>m(q));return S.jsx(wb,{value:{type:s,scrollHideDelay:l,scrollArea:d,viewport:h,onViewportChange:v,content:g,onContentChange:y,scrollbarX:w,onScrollbarXChange:C,scrollbarXEnabled:A,onScrollbarXEnabledChange:F,scrollbarY:E,onScrollbarYChange:R,scrollbarYEnabled:H,onScrollbarYEnabledChange:z,onCornerWidthChange:j,onCornerHeightChange:O},children:S.jsx(fe,{...c,ref:Q,__vars:{"--sa-corner-width":u!=="xy"?"0px":`${N}px`,"--sa-corner-height":u!=="xy"?"0px":`${T}px`}})})});Jv.displayName="@mantine/core/ScrollAreaRoot";function eg(t,r){const o=t/r;return Number.isNaN(o)?0:o}function Zl(t){const r=eg(t.viewport,t.content),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,s=(t.scrollbar.size-o)*r;return Math.max(s,18)}function tg(t,r){return o=>{if(t[0]===t[1]||r[0]===r[1])return r[0];const s=(r[1]-r[0])/(t[1]-t[0]);return r[0]+s*(o-t[0])}}function Cb(t,[r,o]){return Math.min(o,Math.max(r,t))}function Mh(t,r,o="ltr"){const s=Zl(r),l=r.scrollbar.paddingStart+r.scrollbar.paddingEnd,u=r.scrollbar.size-l,c=r.content-r.viewport,d=u-s,m=o==="ltr"?[0,c]:[c*-1,0],h=Cb(t,m);return tg([0,c],[0,d])(h)}function Eb(t,r,o,s="ltr"){const l=Zl(o),u=l/2,c=r||u,d=l-c,m=o.scrollbar.paddingStart+c,h=o.scrollbar.size-o.scrollbar.paddingEnd-d,v=o.content-o.viewport,g=s==="ltr"?[0,v]:[v*-1,0];return tg([m,h],g)(t)}function ng(t,r){return t>0&&t{t==null||t(s),(o===!1||!s.defaultPrevented)&&(r==null||r(s))}}const[Rb,rg]=Rr("ScrollAreaScrollbar was not found in tree"),og=x.forwardRef((t,r)=>{const{sizes:o,hasThumb:s,onThumbChange:l,onThumbPointerUp:u,onThumbPointerDown:c,onThumbPositionChange:d,onDragScroll:m,onWheelScroll:h,onResize:v,...g}=t,y=sn(),[w,C]=x.useState(null),E=Ot(r,z=>C(z)),R=x.useRef(null),N=x.useRef(""),{viewport:j}=y,T=o.content-o.viewport,O=Yr(h),A=Yr(d),F=Fl(v,10),H=z=>{if(R.current){const Q=z.clientX-R.current.left,q=z.clientY-R.current.top;m({x:Q,y:q})}};return x.useEffect(()=>{const z=Q=>{const q=Q.target;(w==null?void 0:w.contains(q))&&O(Q,T)};return document.addEventListener("wheel",z,{passive:!1}),()=>document.removeEventListener("wheel",z,{passive:!1})},[j,w,T,O]),x.useEffect(A,[o,A]),Vo(w,F),Vo(y.content,F),S.jsx(Rb,{value:{scrollbar:w,hasThumb:s,onThumbChange:Yr(l),onThumbPointerUp:Yr(u),onThumbPositionChange:A,onThumbPointerDown:Yr(c)},children:S.jsx("div",{...g,ref:E,"data-mantine-scrollbar":!0,style:{position:"absolute",...g.style},onPointerDown:qr(t.onPointerDown,z=>{z.preventDefault(),z.button===0&&(z.target.setPointerCapture(z.pointerId),R.current=w.getBoundingClientRect(),N.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",H(z))}),onPointerMove:qr(t.onPointerMove,H),onPointerUp:qr(t.onPointerUp,z=>{const Q=z.target;Q.hasPointerCapture(z.pointerId)&&(z.preventDefault(),Q.releasePointerCapture(z.pointerId))}),onLostPointerCapture:()=>{document.body.style.webkitUserSelect=N.current,R.current=null}})})}),ig=x.forwardRef((t,r)=>{const{sizes:o,onSizesChange:s,style:l,...u}=t,c=sn(),[d,m]=x.useState(),h=x.useRef(null),v=Ot(r,h,c.onScrollbarXChange);return x.useEffect(()=>{h.current&&m(getComputedStyle(h.current))},[h]),S.jsx(og,{"data-orientation":"horizontal",...u,ref:v,sizes:o,style:{...l,"--sa-thumb-width":`${Zl(o)}px`},onThumbPointerDown:g=>t.onThumbPointerDown(g.x),onDragScroll:g=>t.onDragScroll(g.x),onWheelScroll:(g,y)=>{if(c.viewport){const w=c.viewport.scrollLeft+g.deltaX;t.onWheelScroll(w),ng(w,y)&&g.preventDefault()}},onResize:()=>{h.current&&c.viewport&&d&&s({content:c.viewport.scrollWidth,viewport:c.viewport.offsetWidth,scrollbar:{size:h.current.clientWidth,paddingStart:Ml(d.paddingLeft),paddingEnd:Ml(d.paddingRight)}})}})});ig.displayName="@mantine/core/ScrollAreaScrollbarX";const sg=x.forwardRef((t,r)=>{const{sizes:o,onSizesChange:s,style:l,...u}=t,c=sn(),[d,m]=x.useState(),h=x.useRef(null),v=Ot(r,h,c.onScrollbarYChange);return x.useEffect(()=>{h.current&&m(window.getComputedStyle(h.current))},[]),S.jsx(og,{...u,"data-orientation":"vertical",ref:v,sizes:o,style:{"--sa-thumb-height":`${Zl(o)}px`,...l},onThumbPointerDown:g=>t.onThumbPointerDown(g.y),onDragScroll:g=>t.onDragScroll(g.y),onWheelScroll:(g,y)=>{if(c.viewport){const w=c.viewport.scrollTop+g.deltaY;t.onWheelScroll(w),ng(w,y)&&g.preventDefault()}},onResize:()=>{h.current&&c.viewport&&d&&s({content:c.viewport.scrollHeight,viewport:c.viewport.offsetHeight,scrollbar:{size:h.current.clientHeight,paddingStart:Ml(d.paddingTop),paddingEnd:Ml(d.paddingBottom)}})}})});sg.displayName="@mantine/core/ScrollAreaScrollbarY";const Jl=x.forwardRef((t,r)=>{const{orientation:o="vertical",...s}=t,{dir:l}=Ul(),u=sn(),c=x.useRef(null),d=x.useRef(0),[m,h]=x.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),v=eg(m.viewport,m.content),g={...s,sizes:m,onSizesChange:h,hasThumb:v>0&&v<1,onThumbChange:w=>{c.current=w},onThumbPointerUp:()=>{d.current=0},onThumbPointerDown:w=>{d.current=w}},y=(w,C)=>Eb(w,d.current,m,C);return o==="horizontal"?S.jsx(ig,{...g,ref:r,onThumbPositionChange:()=>{if(u.viewport&&c.current){const w=u.viewport.scrollLeft,C=Mh(w,m,l);c.current.style.transform=`translate3d(${C}px, 0, 0)`}},onWheelScroll:w=>{u.viewport&&(u.viewport.scrollLeft=w)},onDragScroll:w=>{u.viewport&&(u.viewport.scrollLeft=y(w,l))}}):o==="vertical"?S.jsx(sg,{...g,ref:r,onThumbPositionChange:()=>{if(u.viewport&&c.current){const w=u.viewport.scrollTop,C=Mh(w,m);m.scrollbar.size===0?c.current.style.setProperty("--thumb-opacity","0"):c.current.style.setProperty("--thumb-opacity","1"),c.current.style.transform=`translate3d(0, ${C}px, 0)`}},onWheelScroll:w=>{u.viewport&&(u.viewport.scrollTop=w)},onDragScroll:w=>{u.viewport&&(u.viewport.scrollTop=y(w))}}):null});Jl.displayName="@mantine/core/ScrollAreaScrollbarVisible";const Nf=x.forwardRef((t,r)=>{const o=sn(),{forceMount:s,...l}=t,[u,c]=x.useState(!1),d=t.orientation==="horizontal",m=Fl(()=>{if(o.viewport){const h=o.viewport.offsetWidth{const{forceMount:o,...s}=t,l=sn(),[u,c]=x.useState(!1);return x.useEffect(()=>{const{scrollArea:d}=l;let m=0;if(d){const h=()=>{window.clearTimeout(m),c(!0)},v=()=>{m=window.setTimeout(()=>c(!1),l.scrollHideDelay)};return d.addEventListener("pointerenter",h),d.addEventListener("pointerleave",v),()=>{window.clearTimeout(m),d.removeEventListener("pointerenter",h),d.removeEventListener("pointerleave",v)}}},[l.scrollArea,l.scrollHideDelay]),o||u?S.jsx(Nf,{"data-state":u?"visible":"hidden",...s,ref:r}):null});lg.displayName="@mantine/core/ScrollAreaScrollbarHover";const kb=x.forwardRef((t,r)=>{const{forceMount:o,...s}=t,l=sn(),u=t.orientation==="horizontal",[c,d]=x.useState("hidden"),m=Fl(()=>d("idle"),100);return x.useEffect(()=>{if(c==="idle"){const h=window.setTimeout(()=>d("hidden"),l.scrollHideDelay);return()=>window.clearTimeout(h)}},[c,l.scrollHideDelay]),x.useEffect(()=>{const{viewport:h}=l,v=u?"scrollLeft":"scrollTop";if(h){let g=h[v];const y=()=>{const w=h[v];g!==w&&(d("scrolling"),m()),g=w};return h.addEventListener("scroll",y),()=>h.removeEventListener("scroll",y)}},[l.viewport,u,m]),o||c!=="hidden"?S.jsx(Jl,{"data-state":c==="hidden"?"hidden":"visible",...s,ref:r,onPointerEnter:qr(t.onPointerEnter,()=>d("interacting")),onPointerLeave:qr(t.onPointerLeave,()=>d("idle"))}):null}),Gc=x.forwardRef((t,r)=>{const{forceMount:o,...s}=t,l=sn(),{onScrollbarXEnabledChange:u,onScrollbarYEnabledChange:c}=l,d=t.orientation==="horizontal";return x.useEffect(()=>(d?u(!0):c(!0),()=>{d?u(!1):c(!1)}),[d,u,c]),l.type==="hover"?S.jsx(lg,{...s,ref:r,forceMount:o}):l.type==="scroll"?S.jsx(kb,{...s,ref:r,forceMount:o}):l.type==="auto"?S.jsx(Nf,{...s,ref:r,forceMount:o}):l.type==="always"?S.jsx(Jl,{...s,ref:r}):null});Gc.displayName="@mantine/core/ScrollAreaScrollbar";function Nb(t,r=()=>{}){let o={left:t.scrollLeft,top:t.scrollTop},s=0;return(function l(){const u={left:t.scrollLeft,top:t.scrollTop},c=o.left!==u.left,d=o.top!==u.top;(c||d)&&r(),o=u,s=window.requestAnimationFrame(l)})(),()=>window.cancelAnimationFrame(s)}const ag=x.forwardRef((t,r)=>{const{style:o,...s}=t,l=sn(),u=rg(),{onThumbPositionChange:c}=u,d=Ot(r,v=>u.onThumbChange(v)),m=x.useRef(void 0),h=Fl(()=>{m.current&&(m.current(),m.current=void 0)},100);return x.useEffect(()=>{const{viewport:v}=l;if(v){const g=()=>{if(h(),!m.current){const y=Nb(v,c);m.current=y,c()}};return c(),v.addEventListener("scroll",g),()=>v.removeEventListener("scroll",g)}},[l.viewport,h,c]),S.jsx("div",{"data-state":u.hasThumb?"visible":"hidden",...s,ref:d,style:{width:"var(--sa-thumb-width)",height:"var(--sa-thumb-height)",...o},onPointerDownCapture:qr(t.onPointerDownCapture,v=>{const y=v.target.getBoundingClientRect(),w=v.clientX-y.left,C=v.clientY-y.top;u.onThumbPointerDown({x:w,y:C})}),onPointerUp:qr(t.onPointerUp,u.onThumbPointerUp)})});ag.displayName="@mantine/core/ScrollAreaThumb";const Yc=x.forwardRef((t,r)=>{const{forceMount:o,...s}=t,l=rg();return o||l.hasThumb?S.jsx(ag,{ref:r,...s}):null});Yc.displayName="@mantine/core/ScrollAreaThumb";const ug=x.forwardRef(({children:t,style:r,...o},s)=>{const l=sn(),u=Ot(s,l.onViewportChange);return S.jsx(fe,{...o,ref:u,style:{overflowX:l.scrollbarXEnabled?"scroll":"hidden",overflowY:l.scrollbarYEnabled?"scroll":"hidden",...r},children:S.jsx("div",{style:{minWidth:"100%"},ref:l.onContentChange,children:t})})});ug.displayName="@mantine/core/ScrollAreaViewport";var Pf={root:"m_d57069b5",viewport:"m_c0783ff9",viewportInner:"m_f8f631dd",scrollbar:"m_c44ba933",thumb:"m_d8b5e363",corner:"m_21657268"};const cg={scrollHideDelay:1e3,type:"hover",scrollbars:"xy"},Pb=(t,{scrollbarSize:r,overscrollBehavior:o})=>({root:{"--scrollarea-scrollbar-size":Y(r),"--scrollarea-over-scroll-behavior":o}}),Ko=be((t,r)=>{const o=se("ScrollArea",cg,t),{classNames:s,className:l,style:u,styles:c,unstyled:d,scrollbarSize:m,vars:h,type:v,scrollHideDelay:g,viewportProps:y,viewportRef:w,onScrollPositionChange:C,children:E,offsetScrollbars:R,scrollbars:N,onBottomReached:j,onTopReached:T,overscrollBehavior:O,...A}=o,[F,H]=x.useState(!1),[z,Q]=x.useState(!1),[q,X]=x.useState(!1),K=Ie({name:"ScrollArea",props:o,classes:Pf,className:l,style:u,classNames:s,styles:c,unstyled:d,vars:h,varsResolver:Pb}),Z=x.useRef(null),te=qS([w,Z]);return x.useEffect(()=>{if(!Z.current||R!=="present")return;const J=Z.current,B=new ResizeObserver(()=>{const{scrollHeight:V,clientHeight:_,scrollWidth:M,clientWidth:U}=J;Q(V>_),X(M>U)});return B.observe(J),()=>B.disconnect()},[Z,R]),S.jsxs(Jv,{type:v==="never"?"always":v,scrollHideDelay:g,ref:r,scrollbars:N,...K("root"),...A,children:[S.jsx(ug,{...y,...K("viewport",{style:y==null?void 0:y.style}),ref:te,"data-offset-scrollbars":R===!0?"xy":R||void 0,"data-scrollbars":N||void 0,"data-horizontal-hidden":R==="present"&&!q?"true":void 0,"data-vertical-hidden":R==="present"&&!z?"true":void 0,onScroll:J=>{var M;(M=y==null?void 0:y.onScroll)==null||M.call(y,J),C==null||C({x:J.currentTarget.scrollLeft,y:J.currentTarget.scrollTop});const{scrollTop:B,scrollHeight:V,clientHeight:_}=J.currentTarget;B-(V-_)>=-.6&&(j==null||j()),B===0&&(T==null||T())},children:E}),(N==="xy"||N==="x")&&S.jsx(Gc,{...K("scrollbar"),orientation:"horizontal","data-hidden":v==="never"||R==="present"&&!q?!0:void 0,forceMount:!0,onMouseEnter:()=>H(!0),onMouseLeave:()=>H(!1),children:S.jsx(Yc,{...K("thumb")})}),(N==="xy"||N==="y")&&S.jsx(Gc,{...K("scrollbar"),orientation:"vertical","data-hidden":v==="never"||R==="present"&&!z?!0:void 0,forceMount:!0,onMouseEnter:()=>H(!0),onMouseLeave:()=>H(!1),children:S.jsx(Yc,{...K("thumb")})}),S.jsx(Sb,{...K("corner"),"data-hovered":F||void 0,"data-hidden":v==="never"||void 0})]})});Ko.displayName="@mantine/core/ScrollArea";const _f=be((t,r)=>{const{children:o,classNames:s,styles:l,scrollbarSize:u,scrollHideDelay:c,type:d,dir:m,offsetScrollbars:h,viewportRef:v,onScrollPositionChange:g,unstyled:y,variant:w,viewportProps:C,scrollbars:E,style:R,vars:N,onBottomReached:j,onTopReached:T,...O}=se("ScrollAreaAutosize",cg,t);return S.jsx(fe,{...O,ref:r,style:[{display:"flex",overflow:"auto"},R],children:S.jsx(fe,{style:{display:"flex",flexDirection:"column",flex:1},children:S.jsx(Ko,{classNames:s,styles:l,scrollHideDelay:c,scrollbarSize:u,type:d,dir:m,offsetScrollbars:h,viewportRef:v,onScrollPositionChange:g,unstyled:y,variant:w,viewportProps:C,vars:N,scrollbars:E,onBottomReached:j,onTopReached:T,children:o})})})});Ko.classes=Pf;_f.displayName="@mantine/core/ScrollAreaAutosize";_f.classes=Pf;Ko.Autosize=_f;var fg={root:"m_87cf2631"};const _b={__staticSelector:"UnstyledButton"},Xn=Vt((t,r)=>{const o=se("UnstyledButton",_b,t),{className:s,component:l="button",__staticSelector:u,unstyled:c,classNames:d,styles:m,style:h,...v}=o,g=Ie({name:u,props:o,classes:fg,className:s,style:h,classNames:d,styles:m,unstyled:c});return S.jsx(fe,{...g("root",{focusable:!0}),component:l,ref:r,type:l==="button"?"button":void 0,...v})});Xn.classes=fg;Xn.displayName="@mantine/core/UnstyledButton";var dg={root:"m_515a97f8"};const Tb={},Tf=be((t,r)=>{const o=se("VisuallyHidden",Tb,t),{classNames:s,className:l,style:u,styles:c,unstyled:d,vars:m,...h}=o,v=Ie({name:"VisuallyHidden",classes:dg,props:o,className:l,style:u,classNames:s,styles:c,unstyled:d});return S.jsx(fe,{component:"span",ref:r,...v("root"),...h})});Tf.classes=dg;Tf.displayName="@mantine/core/VisuallyHidden";var pg={root:"m_1b7284a3"};const jb={},$b=(t,{radius:r,shadow:o})=>({root:{"--paper-radius":r===void 0?void 0:$t(r),"--paper-shadow":lf(o)}}),Qo=Vt((t,r)=>{const o=se("Paper",jb,t),{classNames:s,className:l,style:u,styles:c,unstyled:d,withBorder:m,vars:h,radius:v,shadow:g,variant:y,mod:w,...C}=o,E=Ie({name:"Paper",props:o,classes:pg,className:l,style:u,classNames:s,styles:c,unstyled:d,vars:h,varsResolver:$b});return S.jsx(fe,{ref:r,mod:[{"data-with-border":m},w],...E("root"),variant:y,...C})});Qo.classes=pg;Qo.displayName="@mantine/core/Paper";function mg(t,r){if(t==="rtl"&&(r.includes("right")||r.includes("left"))){const[o,s]=r.split("-"),l=o==="right"?"left":"right";return s===void 0?l:`${l}-${s}`}return r}function Ah(t,r,o,s){return t==="center"||s==="center"?{top:r}:t==="end"?{bottom:o}:t==="start"?{top:o}:{}}function Dh(t,r,o,s,l){return t==="center"||s==="center"?{left:r}:t==="end"?{[l==="ltr"?"right":"left"]:o}:t==="start"?{[l==="ltr"?"left":"right"]:o}:{}}const Ob={bottom:"borderTopLeftRadius",left:"borderTopRightRadius",right:"borderBottomLeftRadius",top:"borderBottomRightRadius"};function Ib({position:t,arrowSize:r,arrowOffset:o,arrowRadius:s,arrowPosition:l,arrowX:u,arrowY:c,dir:d}){const[m,h="center"]=t.split("-"),v={width:r,height:r,transform:"rotate(45deg)",position:"absolute",[Ob[m]]:s},g=-r/2;return m==="left"?{...v,...Ah(h,c,o,l),right:g,borderLeftColor:"transparent",borderBottomColor:"transparent",clipPath:"polygon(100% 0, 0 0, 100% 100%)"}:m==="right"?{...v,...Ah(h,c,o,l),left:g,borderRightColor:"transparent",borderTopColor:"transparent",clipPath:"polygon(0 100%, 0 0, 100% 100%)"}:m==="top"?{...v,...Dh(h,u,o,l,d),bottom:g,borderTopColor:"transparent",borderLeftColor:"transparent",clipPath:"polygon(0 100%, 100% 100%, 100% 0)"}:m==="bottom"?{...v,...Dh(h,u,o,l,d),top:g,borderBottomColor:"transparent",borderRightColor:"transparent",clipPath:"polygon(0 100%, 0 0, 100% 0)"}:{}}const jf=x.forwardRef(({position:t,arrowSize:r,arrowOffset:o,arrowRadius:s,arrowPosition:l,visible:u,arrowX:c,arrowY:d,style:m,...h},v)=>{const{dir:g}=Ul();return u?S.jsx("div",{...h,ref:v,style:{...m,...Ib({position:t,arrowSize:r,arrowOffset:o,arrowRadius:s,arrowPosition:l,dir:g,arrowX:c,arrowY:d})}}):null});jf.displayName="@mantine/core/FloatingArrow";var hg={root:"m_9814e45f"};const Mb={zIndex:Sn("modal")},Ab=(t,{gradient:r,color:o,backgroundOpacity:s,blur:l,radius:u,zIndex:c})=>({root:{"--overlay-bg":r||(o!==void 0||s!==void 0)&&Nn(o||"#000",s??.6)||void 0,"--overlay-filter":l?`blur(${Y(l)})`:void 0,"--overlay-radius":u===void 0?void 0:$t(u),"--overlay-z-index":c==null?void 0:c.toString()}}),ea=Vt((t,r)=>{const o=se("Overlay",Mb,t),{classNames:s,className:l,style:u,styles:c,unstyled:d,vars:m,fixed:h,center:v,children:g,radius:y,zIndex:w,gradient:C,blur:E,color:R,backgroundOpacity:N,mod:j,...T}=o,O=Ie({name:"Overlay",props:o,classes:hg,className:l,style:u,classNames:s,styles:c,unstyled:d,vars:m,varsResolver:Ab});return S.jsx(fe,{ref:r,...O("root"),mod:[{center:v,fixed:h},j],...T,children:g})});ea.classes=hg;ea.displayName="@mantine/core/Overlay";function _c(t){const r=document.createElement("div");return r.setAttribute("data-portal","true"),typeof t.className=="string"&&r.classList.add(...t.className.split(" ").filter(Boolean)),typeof t.style=="object"&&Object.assign(r.style,t.style),typeof t.id=="string"&&r.setAttribute("id",t.id),r}function Db({target:t,reuseTargetNode:r,...o}){if(t)return typeof t=="string"?document.querySelector(t)||_c(o):t;if(r){const s=document.querySelector("[data-mantine-shared-portal-node]");if(s)return s;const l=_c(o);return l.setAttribute("data-mantine-shared-portal-node","true"),document.body.appendChild(l),l}return _c(o)}const Lb={},vg=be((t,r)=>{const{children:o,target:s,reuseTargetNode:l,...u}=se("Portal",Lb,t),[c,d]=x.useState(!1),m=x.useRef(null);return Go(()=>(d(!0),m.current=Db({target:s,reuseTargetNode:l,...u}),_l(r,m.current),!s&&!l&&m.current&&document.body.appendChild(m.current),()=>{!s&&!l&&m.current&&document.body.removeChild(m.current)}),[s]),!c||!m.current?null:Gl.createPortal(S.jsx(S.Fragment,{children:o}),m.current)});vg.displayName="@mantine/core/Portal";const eo=be(({withinPortal:t=!0,children:r,...o},s)=>Rv()==="test"||!t?S.jsx(S.Fragment,{children:r}):S.jsx(vg,{ref:s,...o,children:r}));eo.displayName="@mantine/core/OptionalPortal";const Hi=t=>({in:{opacity:1,transform:"scale(1)"},out:{opacity:0,transform:`scale(.9) translateY(${t==="bottom"?10:-10}px)`},transitionProperty:"transform, opacity"}),Sl={fade:{in:{opacity:1},out:{opacity:0},transitionProperty:"opacity"},"fade-up":{in:{opacity:1,transform:"translateY(0)"},out:{opacity:0,transform:"translateY(30px)"},transitionProperty:"opacity, transform"},"fade-down":{in:{opacity:1,transform:"translateY(0)"},out:{opacity:0,transform:"translateY(-30px)"},transitionProperty:"opacity, transform"},"fade-left":{in:{opacity:1,transform:"translateX(0)"},out:{opacity:0,transform:"translateX(30px)"},transitionProperty:"opacity, transform"},"fade-right":{in:{opacity:1,transform:"translateX(0)"},out:{opacity:0,transform:"translateX(-30px)"},transitionProperty:"opacity, transform"},scale:{in:{opacity:1,transform:"scale(1)"},out:{opacity:0,transform:"scale(0)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"scale-y":{in:{opacity:1,transform:"scaleY(1)"},out:{opacity:0,transform:"scaleY(0)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"scale-x":{in:{opacity:1,transform:"scaleX(1)"},out:{opacity:0,transform:"scaleX(0)"},common:{transformOrigin:"left"},transitionProperty:"transform, opacity"},"skew-up":{in:{opacity:1,transform:"translateY(0) skew(0deg, 0deg)"},out:{opacity:0,transform:"translateY(-20px) skew(-10deg, -5deg)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"skew-down":{in:{opacity:1,transform:"translateY(0) skew(0deg, 0deg)"},out:{opacity:0,transform:"translateY(20px) skew(-10deg, -5deg)"},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"rotate-left":{in:{opacity:1,transform:"translateY(0) rotate(0deg)"},out:{opacity:0,transform:"translateY(20px) rotate(-5deg)"},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"rotate-right":{in:{opacity:1,transform:"translateY(0) rotate(0deg)"},out:{opacity:0,transform:"translateY(20px) rotate(5deg)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"slide-down":{in:{opacity:1,transform:"translateY(0)"},out:{opacity:0,transform:"translateY(-100%)"},common:{transformOrigin:"top"},transitionProperty:"transform, opacity"},"slide-up":{in:{opacity:1,transform:"translateY(0)"},out:{opacity:0,transform:"translateY(100%)"},common:{transformOrigin:"bottom"},transitionProperty:"transform, opacity"},"slide-left":{in:{opacity:1,transform:"translateX(0)"},out:{opacity:0,transform:"translateX(100%)"},common:{transformOrigin:"left"},transitionProperty:"transform, opacity"},"slide-right":{in:{opacity:1,transform:"translateX(0)"},out:{opacity:0,transform:"translateX(-100%)"},common:{transformOrigin:"right"},transitionProperty:"transform, opacity"},pop:{...Hi("bottom"),common:{transformOrigin:"center center"}},"pop-bottom-left":{...Hi("bottom"),common:{transformOrigin:"bottom left"}},"pop-bottom-right":{...Hi("bottom"),common:{transformOrigin:"bottom right"}},"pop-top-left":{...Hi("top"),common:{transformOrigin:"top left"}},"pop-top-right":{...Hi("top"),common:{transformOrigin:"top right"}}},Lh={entering:"in",entered:"in",exiting:"out",exited:"out","pre-exiting":"out","pre-entering":"out"};function zb({transition:t,state:r,duration:o,timingFunction:s}){const l={WebkitBackfaceVisibility:"hidden",willChange:"transform, opacity",transitionDuration:`${o}ms`,transitionTimingFunction:s};return typeof t=="string"?t in Sl?{transitionProperty:Sl[t].transitionProperty,...l,...Sl[t].common,...Sl[t][Lh[r]]}:{}:{transitionProperty:t.transitionProperty,...l,...t.common,...t[Lh[r]]}}function Fb({duration:t,exitDuration:r,timingFunction:o,mounted:s,onEnter:l,onExit:u,onEntered:c,onExited:d,enterDelay:m,exitDelay:h}){const v=rn(),g=Bl(),y=v.respectReducedMotion?g:!1,[w,C]=x.useState(y?0:t),[E,R]=x.useState(s?"entered":"exited"),N=x.useRef(-1),j=x.useRef(-1),T=x.useRef(-1);function O(){window.clearTimeout(N.current),window.clearTimeout(j.current),cancelAnimationFrame(T.current)}const A=H=>{O();const z=H?l:u,Q=H?c:d,q=y?0:H?t:r;C(q),q===0?(typeof z=="function"&&z(),typeof Q=="function"&&Q(),R(H?"entered":"exited")):T.current=requestAnimationFrame(()=>{Ui.flushSync(()=>{R(H?"pre-entering":"pre-exiting")}),T.current=requestAnimationFrame(()=>{typeof z=="function"&&z(),R(H?"entering":"exiting"),N.current=window.setTimeout(()=>{typeof Q=="function"&&Q(),R(H?"entered":"exited")},q)})})},F=H=>{if(O(),typeof(H?m:h)!="number"){A(H);return}j.current=window.setTimeout(()=>{A(H)},H?m:h)};return Hn(()=>{F(s)},[s]),x.useEffect(()=>()=>{O()},[]),{transitionDuration:w,transitionStatus:E,transitionTimingFunction:o||"ease"}}function Nr({keepMounted:t,transition:r="fade",duration:o=250,exitDuration:s=o,mounted:l,children:u,timingFunction:c="ease",onExit:d,onEntered:m,onEnter:h,onExited:v,enterDelay:g,exitDelay:y}){const w=Rv(),{transitionDuration:C,transitionStatus:E,transitionTimingFunction:R}=Fb({mounted:l,exitDuration:s,duration:o,timingFunction:c,onExit:d,onEntered:m,onEnter:h,onExited:v,enterDelay:g,exitDelay:y});return C===0||w==="test"?l?S.jsx(S.Fragment,{children:u({})}):t?u({display:"none"}):null:E==="exited"?t?u({display:"none"}):null:S.jsx(S.Fragment,{children:u(zb({transition:r,duration:C,state:E,timingFunction:R}))})}Nr.displayName="@mantine/core/Transition";const[Bb,gg]=Rr("Popover component was not found in the tree");function ta({children:t,active:r=!0,refProp:o="ref",innerRef:s}){const l=E1(r),u=Ot(l,s);return Jr(t)?x.cloneElement(t,{[o]:u}):t}function yg(t){return S.jsx(Tf,{tabIndex:-1,"data-autofocus":!0,...t})}ta.displayName="@mantine/core/FocusTrap";yg.displayName="@mantine/core/FocusTrapInitialFocus";ta.InitialFocus=yg;var wg={dropdown:"m_38a85659",arrow:"m_a31dc6c1",overlay:"m_3d7bc908"};const Vb={},$f=be((t,r)=>{var R,N,j,T;const o=se("PopoverDropdown",Vb,t),{className:s,style:l,vars:u,children:c,onKeyDownCapture:d,variant:m,classNames:h,styles:v,...g}=o,y=gg(),w=gv({opened:y.opened,shouldReturnFocus:y.returnFocus}),C=y.withRoles?{"aria-labelledby":y.getTargetId(),id:y.getDropdownId(),role:"dialog",tabIndex:-1}:{},E=Ot(r,y.floating);return y.disabled?null:S.jsx(eo,{...y.portalProps,withinPortal:y.withinPortal,children:S.jsx(Nr,{mounted:y.opened,...y.transitionProps,transition:((R=y.transitionProps)==null?void 0:R.transition)||"fade",duration:((N=y.transitionProps)==null?void 0:N.duration)??150,keepMounted:y.keepMounted,exitDuration:typeof((j=y.transitionProps)==null?void 0:j.exitDuration)=="number"?y.transitionProps.exitDuration:(T=y.transitionProps)==null?void 0:T.duration,children:O=>S.jsx(ta,{active:y.trapFocus&&y.opened,innerRef:E,children:S.jsxs(fe,{...C,...g,variant:m,onKeyDownCapture:p1(()=>{var A,F;(A=y.onClose)==null||A.call(y),(F=y.onDismiss)==null||F.call(y)},{active:y.closeOnEscape,onTrigger:w,onKeyDown:d}),"data-position":y.placement,"data-fixed":y.floatingStrategy==="fixed"||void 0,...y.getStyles("dropdown",{className:s,props:o,classNames:h,styles:v,style:[{...O,zIndex:y.zIndex,top:y.y??0,left:y.x??0,width:y.width==="target"?void 0:Y(y.width)},y.resolvedStyles.dropdown,v==null?void 0:v.dropdown,l]}),children:[c,S.jsx(jf,{ref:y.arrowRef,arrowX:y.arrowX,arrowY:y.arrowY,visible:y.withArrow,position:y.placement,arrowSize:y.arrowSize,arrowRadius:y.arrowRadius,arrowOffset:y.arrowOffset,arrowPosition:y.arrowPosition,...y.getStyles("arrow",{props:o,classNames:h,styles:v})})]})})})})});$f.classes=wg;$f.displayName="@mantine/core/PopoverDropdown";const Wb={refProp:"ref",popupType:"dialog"},xg=be((t,r)=>{const{children:o,refProp:s,popupType:l,...u}=se("PopoverTarget",Wb,t);if(!Jr(o))throw new Error("Popover.Target component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported");const c=u,d=gg(),m=Ot(d.reference,Vl(o),r),h=d.withRoles?{"aria-haspopup":l,"aria-expanded":d.opened,"aria-controls":d.getDropdownId(),id:d.getTargetId()}:{};return x.cloneElement(o,{...c,...h,...d.targetProps,className:lt(d.targetProps.className,c.className,o.props.className),[s]:m,...d.controlled?null:{onClick:d.onToggle}})});xg.displayName="@mantine/core/PopoverTarget";function Sg({opened:t,floating:r,position:o,positionDependencies:s}){const[l,u]=x.useState(0);x.useEffect(()=>{if(r.refs.reference.current&&r.refs.floating.current&&t)return LS(r.refs.reference.current,r.refs.floating.current,r.update)},[r.refs.reference.current,r.refs.floating.current,t,l,o]),Hn(()=>{r.update()},s),Hn(()=>{u(c=>c+1)},[t])}function Hb(t){if(t===void 0)return{shift:!0,flip:!0};const r={...t};return t.shift===void 0&&(r.shift=!0),t.flip===void 0&&(r.flip=!0),r}function Ub(t,r){const o=Hb(t.middlewares),s=[Xv(t.offset)];return o.shift&&s.push(bf(typeof o.shift=="boolean"?{limiter:Ph(),padding:5}:{limiter:Ph(),padding:5,...o.shift})),o.flip&&s.push(typeof o.flip=="boolean"?Il():Il(o.flip)),o.inline&&s.push(typeof o.inline=="boolean"?Yi():Yi(o.inline)),s.push(Kv({element:t.arrowRef,padding:t.arrowOffset})),(o.size||t.width==="target")&&s.push(QS({...typeof o.size=="boolean"?{}:o.size,apply({rects:l,availableWidth:u,availableHeight:c,...d}){var v;const h=((v=r().refs.floating.current)==null?void 0:v.style)??{};o.size&&(typeof o.size=="object"&&o.size.apply?o.size.apply({rects:l,availableWidth:u,availableHeight:c,...d}):Object.assign(h,{maxWidth:`${u}px`,maxHeight:`${c}px`})),t.width==="target"&&Object.assign(h,{width:`${l.reference.width}px`})}})),s}function Gb(t){const[r,o]=Fo({value:t.opened,defaultValue:t.defaultOpened,finalValue:!1,onChange:t.onChange}),s=x.useRef(r),l=()=>{r&&!t.disabled&&o(!1)},u=()=>!t.disabled&&o(!r),c=kf({strategy:t.strategy,placement:t.position,middleware:Ub(t,()=>c)});return Sg({opened:r,position:t.position,positionDependencies:t.positionDependencies||[],floating:c}),Hn(()=>{var d;(d=t.onPositionChange)==null||d.call(t,c.placement)},[c.placement]),Hn(()=>{var d,m;r!==s.current&&(r?(m=t.onOpen)==null||m.call(t):(d=t.onClose)==null||d.call(t)),s.current=r},[r,t.onClose,t.onOpen]),{floating:c,controlled:typeof t.opened=="boolean",opened:r,onClose:l,onToggle:u}}const Yb={position:"bottom",offset:8,positionDependencies:[],transitionProps:{transition:"fade",duration:150},middlewares:{flip:!0,shift:!0,inline:!1},arrowSize:7,arrowOffset:5,arrowRadius:0,arrowPosition:"side",closeOnClickOutside:!0,withinPortal:!0,closeOnEscape:!0,trapFocus:!1,withRoles:!0,returnFocus:!1,withOverlay:!1,clickOutsideEvents:["mousedown","touchstart"],zIndex:Sn("popover"),__staticSelector:"Popover",width:"max-content"},Xb=(t,{radius:r,shadow:o})=>({dropdown:{"--popover-radius":r===void 0?void 0:$t(r),"--popover-shadow":lf(o)}});function Pr(t){var Ce,Ve,ht,at,Fe,Be;const r=se("Popover",Yb,t),{children:o,position:s,offset:l,onPositionChange:u,positionDependencies:c,opened:d,transitionProps:m,onExitTransitionEnd:h,onEnterTransitionEnd:v,width:g,middlewares:y,withArrow:w,arrowSize:C,arrowOffset:E,arrowRadius:R,arrowPosition:N,unstyled:j,classNames:T,styles:O,closeOnClickOutside:A,withinPortal:F,portalProps:H,closeOnEscape:z,clickOutsideEvents:Q,trapFocus:q,onClose:X,onDismiss:K,onOpen:Z,onChange:te,zIndex:J,radius:B,shadow:V,id:_,defaultOpened:M,__staticSelector:U,withRoles:k,disabled:D,returnFocus:le,variant:ve,keepMounted:ie,vars:ce,floatingStrategy:Se,withOverlay:ye,overlayProps:Re,...je}=r,qe=Ie({name:U,props:r,classes:wg,classNames:T,styles:O,unstyled:j,rootSelector:"dropdown",vars:ce,varsResolver:Xb}),{resolvedStyles:nt}=es({classNames:T,styles:O,props:r}),Ze=x.useRef(null),[rt,ot]=x.useState(null),[Pt,ue]=x.useState(null),{dir:de}=Ul(),we=kr(_),Ee=Gb({middlewares:y,width:g,position:mg(de,s),offset:typeof l=="number"?l+(w?C/2:0):l,arrowRef:Ze,arrowOffset:E,onPositionChange:u,positionDependencies:c,opened:d,defaultOpened:M,onChange:te,onOpen:Z,onClose:X,onDismiss:K,strategy:Se,disabled:D});h1(()=>{A&&(Ee.onClose(),K==null||K())},Q,[rt,Pt]);const $e=x.useCallback(Le=>{ot(Le),Ee.floating.refs.setReference(Le)},[Ee.floating.refs.setReference]),Pe=x.useCallback(Le=>{ue(Le),Ee.floating.refs.setFloating(Le)},[Ee.floating.refs.setFloating]),Te=x.useCallback(()=>{var Le;(Le=m==null?void 0:m.onExited)==null||Le.call(m),h==null||h()},[m==null?void 0:m.onExited,h]),ae=x.useCallback(()=>{var Le;(Le=m==null?void 0:m.onEntered)==null||Le.call(m),v==null||v()},[m==null?void 0:m.onEntered,v]);return S.jsxs(Bb,{value:{returnFocus:le,disabled:D,controlled:Ee.controlled,reference:$e,floating:Pe,x:Ee.floating.x,y:Ee.floating.y,arrowX:(ht=(Ve=(Ce=Ee.floating)==null?void 0:Ce.middlewareData)==null?void 0:Ve.arrow)==null?void 0:ht.x,arrowY:(Be=(Fe=(at=Ee.floating)==null?void 0:at.middlewareData)==null?void 0:Fe.arrow)==null?void 0:Be.y,opened:Ee.opened,arrowRef:Ze,transitionProps:{...m,onExited:Te,onEntered:ae},width:g,withArrow:w,arrowSize:C,arrowOffset:E,arrowRadius:R,arrowPosition:N,placement:Ee.floating.placement,trapFocus:q,withinPortal:F,portalProps:H,zIndex:J,radius:B,shadow:V,closeOnEscape:z,onDismiss:K,onClose:Ee.onClose,onToggle:Ee.onToggle,getTargetId:()=>`${we}-target`,getDropdownId:()=>`${we}-dropdown`,withRoles:k,targetProps:je,__staticSelector:U,classNames:T,styles:O,unstyled:j,variant:ve,keepMounted:ie,getStyles:qe,resolvedStyles:nt,floatingStrategy:Se},children:[o,ye&&S.jsx(Nr,{transition:"fade",mounted:Ee.opened,duration:(m==null?void 0:m.duration)||250,exitDuration:(m==null?void 0:m.exitDuration)||250,children:Le=>S.jsx(eo,{withinPortal:F,children:S.jsx(ea,{...Re,...qe("overlay",{className:Re==null?void 0:Re.className,style:[Le,Re==null?void 0:Re.style]})})})})]})}Pr.Target=xg;Pr.Dropdown=$f;Pr.displayName="@mantine/core/Popover";Pr.extend=t=>t;var gn={root:"m_5ae2e3c",barsLoader:"m_7a2bd4cd",bar:"m_870bb79","bars-loader-animation":"m_5d2b3b9d",dotsLoader:"m_4e3f22d7",dot:"m_870c4af","loader-dots-animation":"m_aac34a1",ovalLoader:"m_b34414df","oval-loader-animation":"m_f8e89c4b"};const bg=x.forwardRef(({className:t,...r},o)=>S.jsxs(fe,{component:"span",className:lt(gn.barsLoader,t),...r,ref:o,children:[S.jsx("span",{className:gn.bar}),S.jsx("span",{className:gn.bar}),S.jsx("span",{className:gn.bar})]}));bg.displayName="@mantine/core/Bars";const Cg=x.forwardRef(({className:t,...r},o)=>S.jsxs(fe,{component:"span",className:lt(gn.dotsLoader,t),...r,ref:o,children:[S.jsx("span",{className:gn.dot}),S.jsx("span",{className:gn.dot}),S.jsx("span",{className:gn.dot})]}));Cg.displayName="@mantine/core/Dots";const Eg=x.forwardRef(({className:t,...r},o)=>S.jsx(fe,{component:"span",className:lt(gn.ovalLoader,t),...r,ref:o}));Eg.displayName="@mantine/core/Oval";const Rg={bars:bg,oval:Eg,dots:Cg},Kb={loaders:Rg,type:"oval"},Qb=(t,{size:r,color:o})=>({root:{"--loader-size":Xe(r,"loader-size"),"--loader-color":o?Un(o,t):void 0}}),to=be((t,r)=>{const o=se("Loader",Kb,t),{size:s,color:l,type:u,vars:c,className:d,style:m,classNames:h,styles:v,unstyled:g,loaders:y,variant:w,children:C,...E}=o,R=Ie({name:"Loader",props:o,classes:gn,className:d,style:m,classNames:h,styles:v,unstyled:g,vars:c,varsResolver:Qb});return C?S.jsx(fe,{...R("root"),ref:r,...E,children:C}):S.jsx(fe,{...R("root"),ref:r,component:y[u],variant:w,size:s,...E})});to.defaultLoaders=Rg;to.classes=gn;to.displayName="@mantine/core/Loader";var qo={root:"m_8d3f4000",icon:"m_8d3afb97",loader:"m_302b9fb1",group:"m_1a0f1b21",groupSection:"m_437b6484"};const zh={orientation:"horizontal"},qb=(t,{borderWidth:r})=>({group:{"--ai-border-width":Y(r)}}),Of=be((t,r)=>{const o=se("ActionIconGroup",zh,t),{className:s,style:l,classNames:u,styles:c,unstyled:d,orientation:m,vars:h,borderWidth:v,variant:g,mod:y,...w}=se("ActionIconGroup",zh,t),C=Ie({name:"ActionIconGroup",props:o,classes:qo,className:s,style:l,classNames:u,styles:c,unstyled:d,vars:h,varsResolver:qb,rootSelector:"group"});return S.jsx(fe,{...C("group"),ref:r,variant:g,mod:[{"data-orientation":m},y],role:"group",...w})});Of.classes=qo;Of.displayName="@mantine/core/ActionIconGroup";const Fh={},Zb=(t,{radius:r,color:o,gradient:s,variant:l,autoContrast:u,size:c})=>{const d=t.variantColorResolver({color:o||t.primaryColor,theme:t,gradient:s,variant:l||"filled",autoContrast:u});return{groupSection:{"--section-height":Xe(c,"section-height"),"--section-padding-x":Xe(c,"section-padding-x"),"--section-fz":jt(c),"--section-radius":r===void 0?void 0:$t(r),"--section-bg":o||l?d.background:void 0,"--section-color":d.color,"--section-bd":o||l?d.border:void 0}}},If=be((t,r)=>{const o=se("ActionIconGroupSection",Fh,t),{className:s,style:l,classNames:u,styles:c,unstyled:d,vars:m,variant:h,gradient:v,radius:g,autoContrast:y,...w}=se("ActionIconGroupSection",Fh,t),C=Ie({name:"ActionIconGroupSection",props:o,classes:qo,className:s,style:l,classNames:u,styles:c,unstyled:d,vars:m,varsResolver:Zb,rootSelector:"groupSection"});return S.jsx(fe,{...C("groupSection"),ref:r,variant:h,...w})});If.classes=qo;If.displayName="@mantine/core/ActionIconGroupSection";const Jb={},eC=(t,{size:r,radius:o,variant:s,gradient:l,color:u,autoContrast:c})=>{const d=t.variantColorResolver({color:u||t.primaryColor,theme:t,gradient:l,variant:s||"filled",autoContrast:c});return{root:{"--ai-size":Xe(r,"ai-size"),"--ai-radius":o===void 0?void 0:$t(o),"--ai-bg":u||s?d.background:void 0,"--ai-hover":u||s?d.hover:void 0,"--ai-hover-color":u||s?d.hoverColor:void 0,"--ai-color":d.color,"--ai-bd":u||s?d.border:void 0}}},jn=Vt((t,r)=>{const o=se("ActionIcon",Jb,t),{className:s,unstyled:l,variant:u,classNames:c,styles:d,style:m,loading:h,loaderProps:v,size:g,color:y,radius:w,__staticSelector:C,gradient:E,vars:R,children:N,disabled:j,"data-disabled":T,autoContrast:O,mod:A,...F}=o,H=Ie({name:["ActionIcon",C],props:o,className:s,style:m,classes:qo,classNames:c,styles:d,unstyled:l,vars:R,varsResolver:eC});return S.jsxs(Xn,{...H("root",{active:!j&&!h&&!T}),...F,unstyled:l,variant:u,size:g,disabled:j||h,ref:r,mod:[{loading:h,disabled:j||T},A],children:[S.jsx(Nr,{mounted:!!h,transition:"slide-down",duration:150,children:z=>S.jsx(fe,{component:"span",...H("loader",{style:z}),"aria-hidden":!0,children:S.jsx(to,{color:"var(--ai-color)",size:"calc(var(--ai-size) * 0.55)",...v})})}),S.jsx(fe,{component:"span",mod:{loading:h},...H("icon"),children:N})]})});jn.classes=qo;jn.displayName="@mantine/core/ActionIcon";jn.Group=Of;jn.GroupSection=If;const kg=x.forwardRef(({size:t="var(--cb-icon-size, 70%)",style:r,...o},s)=>S.jsx("svg",{viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{...r,width:t,height:t},ref:s,...o,children:S.jsx("path",{d:"M11.7816 4.03157C12.0062 3.80702 12.0062 3.44295 11.7816 3.2184C11.5571 2.99385 11.193 2.99385 10.9685 3.2184L7.50005 6.68682L4.03164 3.2184C3.80708 2.99385 3.44301 2.99385 3.21846 3.2184C2.99391 3.44295 2.99391 3.80702 3.21846 4.03157L6.68688 7.49999L3.21846 10.9684C2.99391 11.193 2.99391 11.557 3.21846 11.7816C3.44301 12.0061 3.80708 12.0061 4.03164 11.7816L7.50005 8.31316L10.9685 11.7816C11.193 12.0061 11.5571 12.0061 11.7816 11.7816C12.0062 11.557 12.0062 11.193 11.7816 10.9684L8.31322 7.49999L11.7816 4.03157Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"})}));kg.displayName="@mantine/core/CloseIcon";var Ng={root:"m_86a44da5","root--subtle":"m_220c80f2"};const tC={variant:"subtle"},nC=(t,{size:r,radius:o,iconSize:s})=>({root:{"--cb-size":Xe(r,"cb-size"),"--cb-radius":o===void 0?void 0:$t(o),"--cb-icon-size":Y(s)}}),Zo=Vt((t,r)=>{const o=se("CloseButton",tC,t),{iconSize:s,children:l,vars:u,radius:c,className:d,classNames:m,style:h,styles:v,unstyled:g,"data-disabled":y,disabled:w,variant:C,icon:E,mod:R,__staticSelector:N,...j}=o,T=Ie({name:N||"CloseButton",props:o,className:d,style:h,classes:Ng,classNames:m,styles:v,unstyled:g,vars:u,varsResolver:nC});return S.jsxs(Xn,{ref:r,...j,unstyled:g,variant:C,disabled:w,mod:[{disabled:w||y},R],...T("root",{variant:C,active:!w&&!y}),children:[E||S.jsx(kg,{}),l]})});Zo.classes=Ng;Zo.displayName="@mantine/core/CloseButton";function rC(t){return x.Children.toArray(t).filter(Boolean)}var Pg={root:"m_4081bf90"};const oC={preventGrowOverflow:!0,gap:"md",align:"center",justify:"flex-start",wrap:"wrap"},iC=(t,{grow:r,preventGrowOverflow:o,gap:s,align:l,justify:u,wrap:c},{childWidth:d})=>({root:{"--group-child-width":r&&o?d:void 0,"--group-gap":Uo(s),"--group-align":l,"--group-justify":u,"--group-wrap":c}}),Xt=be((t,r)=>{const o=se("Group",oC,t),{classNames:s,className:l,style:u,styles:c,unstyled:d,children:m,gap:h,align:v,justify:g,wrap:y,grow:w,preventGrowOverflow:C,vars:E,variant:R,__size:N,mod:j,...T}=o,O=rC(m),A=O.length,F=Uo(h??"md"),z={childWidth:`calc(${100/A}% - (${F} - ${F} / ${A}))`},Q=Ie({name:"Group",props:o,stylesCtx:z,className:l,style:u,classes:Pg,classNames:s,styles:c,unstyled:d,vars:E,varsResolver:iC});return S.jsx(fe,{...Q("root"),ref:r,variant:R,mod:[{grow:w},j],size:N,...T,children:O})});Xt.classes=Pg;Xt.displayName="@mantine/core/Group";const[sC,qn]=Rr("ModalBase component was not found in tree");function lC({opened:t,transitionDuration:r}){const[o,s]=x.useState(t),l=x.useRef(-1),c=Bl()?0:r;return x.useEffect(()=>(t?(s(!0),window.clearTimeout(l.current)):c===0?s(!1):l.current=window.setTimeout(()=>s(!1),c),()=>window.clearTimeout(l.current)),[t,c]),o}function aC({id:t,transitionProps:r,opened:o,trapFocus:s,closeOnEscape:l,onClose:u,returnFocus:c}){const d=kr(t),[m,h]=x.useState(!1),[v,g]=x.useState(!1),y=typeof(r==null?void 0:r.duration)=="number"?r==null?void 0:r.duration:200,w=lC({opened:o,transitionDuration:y});return Sv("keydown",C=>{var E;C.key==="Escape"&&l&&!C.isComposing&&o&&((E=C.target)==null?void 0:E.getAttribute("data-mantine-stop-propagation"))!=="true"&&u()},{capture:!0}),gv({opened:o,shouldReturnFocus:s&&c}),{_id:d,titleMounted:m,bodyMounted:v,shouldLockScroll:w,setTitleMounted:h,setBodyMounted:g}}const _g=x.forwardRef(({keepMounted:t,opened:r,onClose:o,id:s,transitionProps:l,onExitTransitionEnd:u,onEnterTransitionEnd:c,trapFocus:d,closeOnEscape:m,returnFocus:h,closeOnClickOutside:v,withinPortal:g,portalProps:y,lockScroll:w,children:C,zIndex:E,shadow:R,padding:N,__vars:j,unstyled:T,removeScrollProps:O,...A},F)=>{const{_id:H,titleMounted:z,bodyMounted:Q,shouldLockScroll:q,setTitleMounted:X,setBodyMounted:K}=aC({id:s,transitionProps:l,opened:r,trapFocus:d,closeOnEscape:m,onClose:o,returnFocus:h}),{key:Z,...te}=O||{};return S.jsx(eo,{...y,withinPortal:g,children:S.jsx(sC,{value:{opened:r,onClose:o,closeOnClickOutside:v,onExitTransitionEnd:u,onEnterTransitionEnd:c,transitionProps:{...l,keepMounted:t},getTitleId:()=>`${H}-title`,getBodyId:()=>`${H}-body`,titleMounted:z,bodyMounted:Q,setTitleMounted:X,setBodyMounted:K,trapFocus:d,closeOnEscape:m,zIndex:E,unstyled:T},children:S.jsx(zo,{enabled:q&&w,...te,children:S.jsx(fe,{ref:F,...A,__vars:{...j,"--mb-z-index":(E||Sn("modal")).toString(),"--mb-shadow":lf(R),"--mb-padding":Uo(N)},children:C})},Z)})})});_g.displayName="@mantine/core/ModalBase";function uC(){const t=qn();return x.useEffect(()=>(t.setBodyMounted(!0),()=>t.setBodyMounted(!1)),[]),t.getBodyId()}var Wo={title:"m_615af6c9",header:"m_b5489c3c",inner:"m_60c222c7",content:"m_fd1ab0aa",close:"m_606cb269",body:"m_5df29311"};const Tg=x.forwardRef(({className:t,...r},o)=>{const s=uC(),l=qn();return S.jsx(fe,{ref:o,...r,id:s,className:lt({[Wo.body]:!l.unstyled},t)})});Tg.displayName="@mantine/core/ModalBaseBody";const jg=x.forwardRef(({className:t,onClick:r,...o},s)=>{const l=qn();return S.jsx(Zo,{ref:s,...o,onClick:u=>{l.onClose(),r==null||r(u)},className:lt({[Wo.close]:!l.unstyled},t),unstyled:l.unstyled})});jg.displayName="@mantine/core/ModalBaseCloseButton";const $g=x.forwardRef(({transitionProps:t,className:r,innerProps:o,onKeyDown:s,style:l,...u},c)=>{const d=qn();return S.jsx(Nr,{mounted:d.opened,transition:"pop",...d.transitionProps,onExited:()=>{var m,h,v;(m=d.onExitTransitionEnd)==null||m.call(d),(v=(h=d.transitionProps)==null?void 0:h.onExited)==null||v.call(h)},onEntered:()=>{var m,h,v;(m=d.onEnterTransitionEnd)==null||m.call(d),(v=(h=d.transitionProps)==null?void 0:h.onEntered)==null||v.call(h)},...t,children:m=>S.jsx("div",{...o,className:lt({[Wo.inner]:!d.unstyled},o.className),children:S.jsx(ta,{active:d.opened&&d.trapFocus,innerRef:c,children:S.jsx(Qo,{...u,component:"section",role:"dialog",tabIndex:-1,"aria-modal":!0,"aria-describedby":d.bodyMounted?d.getBodyId():void 0,"aria-labelledby":d.titleMounted?d.getTitleId():void 0,style:[l,m],className:lt({[Wo.content]:!d.unstyled},r),unstyled:d.unstyled,children:u.children})})})})});$g.displayName="@mantine/core/ModalBaseContent";const Og=x.forwardRef(({className:t,...r},o)=>{const s=qn();return S.jsx(fe,{component:"header",ref:o,className:lt({[Wo.header]:!s.unstyled},t),...r})});Og.displayName="@mantine/core/ModalBaseHeader";const cC={duration:200,timingFunction:"ease",transition:"fade"};function fC(t){const r=qn();return{...cC,...r.transitionProps,...t}}const Ig=x.forwardRef(({onClick:t,transitionProps:r,style:o,visible:s,...l},u)=>{const c=qn(),d=fC(r);return S.jsx(Nr,{mounted:s!==void 0?s:c.opened,...d,transition:"fade",children:m=>S.jsx(ea,{ref:u,fixed:!0,style:[o,m],zIndex:c.zIndex,unstyled:c.unstyled,onClick:h=>{t==null||t(h),c.closeOnClickOutside&&c.onClose()},...l})})});Ig.displayName="@mantine/core/ModalBaseOverlay";function dC(){const t=qn();return x.useEffect(()=>(t.setTitleMounted(!0),()=>t.setTitleMounted(!1)),[]),t.getTitleId()}const Mg=x.forwardRef(({className:t,...r},o)=>{const s=dC(),l=qn();return S.jsx(fe,{component:"h2",ref:o,className:lt({[Wo.title]:!l.unstyled},t),...r,id:s})});Mg.displayName="@mantine/core/ModalBaseTitle";function pC({children:t}){return S.jsx(S.Fragment,{children:t})}const[mC,hC]=sf({size:"sm"}),vC={},Ag=be((t,r)=>{const o=se("InputClearButton",vC,t),{size:s,variant:l,vars:u,classNames:c,styles:d,...m}=o,h=hC(),{resolvedClassNames:v,resolvedStyles:g}=es({classNames:c,styles:d,props:o});return S.jsx(Zo,{variant:l||"transparent",ref:r,size:s||(h==null?void 0:h.size)||"sm",classNames:v,styles:g,__staticSelector:"InputClearButton",...m})});Ag.displayName="@mantine/core/InputClearButton";const[gC,na]=sf({offsetBottom:!1,offsetTop:!1,describedBy:void 0,getStyles:null,inputId:void 0,labelId:void 0});var ln={wrapper:"m_6c018570",input:"m_8fb7ebe7",section:"m_82577fc2",placeholder:"m_88bacfd0",root:"m_46b77525",label:"m_8fdc1311",required:"m_78a94662",error:"m_8f816625",description:"m_fe47ce59"};const Bh={},yC=(t,{size:r})=>({description:{"--input-description-size":r===void 0?void 0:`calc(${jt(r)} - ${Y(2)})`}}),ra=be((t,r)=>{const o=se("InputDescription",Bh,t),{classNames:s,className:l,style:u,styles:c,unstyled:d,vars:m,size:h,__staticSelector:v,__inheritStyles:g=!0,variant:y,...w}=se("InputDescription",Bh,o),C=na(),E=Ie({name:["InputWrapper",v],props:o,classes:ln,className:l,style:u,classNames:s,styles:c,unstyled:d,rootSelector:"description",vars:m,varsResolver:yC}),R=g&&(C==null?void 0:C.getStyles)||E;return S.jsx(fe,{component:"p",ref:r,variant:y,size:h,...R("description",C!=null&&C.getStyles?{className:l,style:u}:void 0),...w})});ra.classes=ln;ra.displayName="@mantine/core/InputDescription";const wC={},xC=(t,{size:r})=>({error:{"--input-error-size":r===void 0?void 0:`calc(${jt(r)} - ${Y(2)})`}}),oa=be((t,r)=>{const o=se("InputError",wC,t),{classNames:s,className:l,style:u,styles:c,unstyled:d,vars:m,size:h,__staticSelector:v,__inheritStyles:g=!0,variant:y,...w}=o,C=Ie({name:["InputWrapper",v],props:o,classes:ln,className:l,style:u,classNames:s,styles:c,unstyled:d,rootSelector:"error",vars:m,varsResolver:xC}),E=na(),R=g&&(E==null?void 0:E.getStyles)||C;return S.jsx(fe,{component:"p",ref:r,variant:y,size:h,...R("error",E!=null&&E.getStyles?{className:l,style:u}:void 0),...w})});oa.classes=ln;oa.displayName="@mantine/core/InputError";const Vh={labelElement:"label"},SC=(t,{size:r})=>({label:{"--input-label-size":jt(r),"--input-asterisk-color":void 0}}),ia=be((t,r)=>{const o=se("InputLabel",Vh,t),{classNames:s,className:l,style:u,styles:c,unstyled:d,vars:m,labelElement:h,size:v,required:g,htmlFor:y,onMouseDown:w,children:C,__staticSelector:E,variant:R,mod:N,...j}=se("InputLabel",Vh,o),T=Ie({name:["InputWrapper",E],props:o,classes:ln,className:l,style:u,classNames:s,styles:c,unstyled:d,rootSelector:"label",vars:m,varsResolver:SC}),O=na(),A=(O==null?void 0:O.getStyles)||T;return S.jsxs(fe,{...A("label",O!=null&&O.getStyles?{className:l,style:u}:void 0),component:h,variant:R,size:v,ref:r,htmlFor:h==="label"?y:void 0,mod:[{required:g},N],onMouseDown:F=>{w==null||w(F),!F.defaultPrevented&&F.detail>1&&F.preventDefault()},...j,children:[C,g&&S.jsx("span",{...A("required"),"aria-hidden":!0,children:" *"})]})});ia.classes=ln;ia.displayName="@mantine/core/InputLabel";const Wh={},Mf=be((t,r)=>{const o=se("InputPlaceholder",Wh,t),{classNames:s,className:l,style:u,styles:c,unstyled:d,vars:m,__staticSelector:h,variant:v,error:g,mod:y,...w}=se("InputPlaceholder",Wh,o),C=Ie({name:["InputPlaceholder",h],props:o,classes:ln,className:l,style:u,classNames:s,styles:c,unstyled:d,rootSelector:"placeholder"});return S.jsx(fe,{...C("placeholder"),mod:[{error:!!g},y],component:"span",variant:v,ref:r,...w})});Mf.classes=ln;Mf.displayName="@mantine/core/InputPlaceholder";function bC(t,{hasDescription:r,hasError:o}){const s=t.findIndex(m=>m==="input"),l=t.slice(0,s),u=t.slice(s+1),c=r&&l.includes("description")||o&&l.includes("error");return{offsetBottom:r&&u.includes("description")||o&&u.includes("error"),offsetTop:c}}const CC={labelElement:"label",inputContainer:t=>t,inputWrapperOrder:["label","description","input","error"]},EC=(t,{size:r})=>({label:{"--input-label-size":jt(r),"--input-asterisk-color":void 0},error:{"--input-error-size":r===void 0?void 0:`calc(${jt(r)} - ${Y(2)})`},description:{"--input-description-size":r===void 0?void 0:`calc(${jt(r)} - ${Y(2)})`}}),Af=be((t,r)=>{const o=se("InputWrapper",CC,t),{classNames:s,className:l,style:u,styles:c,unstyled:d,vars:m,size:h,variant:v,__staticSelector:g,inputContainer:y,inputWrapperOrder:w,label:C,error:E,description:R,labelProps:N,descriptionProps:j,errorProps:T,labelElement:O,children:A,withAsterisk:F,id:H,required:z,__stylesApiProps:Q,mod:q,...X}=o,K=Ie({name:["InputWrapper",g],props:Q||o,classes:ln,className:l,style:u,classNames:s,styles:c,unstyled:d,vars:m,varsResolver:EC}),Z={size:h,variant:v,__staticSelector:g},te=kr(H),J=typeof F=="boolean"?F:z,B=(T==null?void 0:T.id)||`${te}-error`,V=(j==null?void 0:j.id)||`${te}-description`,_=te,M=!!E&&typeof E!="boolean",U=!!R,k=`${M?B:""} ${U?V:""}`,D=k.trim().length>0?k.trim():void 0,le=(N==null?void 0:N.id)||`${te}-label`,ve=C&&S.jsx(ia,{labelElement:O,id:le,htmlFor:_,required:J,...Z,...N,children:C},"label"),ie=U&&S.jsx(ra,{...j,...Z,size:(j==null?void 0:j.size)||Z.size,id:(j==null?void 0:j.id)||V,children:R},"description"),ce=S.jsx(x.Fragment,{children:y(A)},"input"),Se=M&&x.createElement(oa,{...T,...Z,size:(T==null?void 0:T.size)||Z.size,key:"error",id:(T==null?void 0:T.id)||B},E),ye=w.map(Re=>{switch(Re){case"label":return ve;case"input":return ce;case"description":return ie;case"error":return Se;default:return null}});return S.jsx(gC,{value:{getStyles:K,describedBy:D,inputId:_,labelId:le,...bC(w,{hasDescription:U,hasError:M})},children:S.jsx(fe,{ref:r,variant:v,size:h,mod:[{error:!!E},q],...K("root"),...X,children:ye})})});Af.classes=ln;Af.displayName="@mantine/core/InputWrapper";const RC={variant:"default",leftSectionPointerEvents:"none",rightSectionPointerEvents:"none",withAria:!0,withErrorStyles:!0},kC=(t,r,o)=>({wrapper:{"--input-margin-top":o.offsetTop?"calc(var(--mantine-spacing-xs) / 2)":void 0,"--input-margin-bottom":o.offsetBottom?"calc(var(--mantine-spacing-xs) / 2)":void 0,"--input-height":Xe(r.size,"input-height"),"--input-fz":jt(r.size),"--input-radius":r.radius===void 0?void 0:$t(r.radius),"--input-left-section-width":r.leftSectionWidth!==void 0?Y(r.leftSectionWidth):void 0,"--input-right-section-width":r.rightSectionWidth!==void 0?Y(r.rightSectionWidth):void 0,"--input-padding-y":r.multiline?Xe(r.size,"input-padding-y"):void 0,"--input-left-section-pointer-events":r.leftSectionPointerEvents,"--input-right-section-pointer-events":r.rightSectionPointerEvents}}),Nt=Vt((t,r)=>{const o=se("Input",RC,t),{classNames:s,className:l,style:u,styles:c,unstyled:d,required:m,__staticSelector:h,__stylesApiProps:v,size:g,wrapperProps:y,error:w,disabled:C,leftSection:E,leftSectionProps:R,leftSectionWidth:N,rightSection:j,rightSectionProps:T,rightSectionWidth:O,rightSectionPointerEvents:A,leftSectionPointerEvents:F,variant:H,vars:z,pointer:Q,multiline:q,radius:X,id:K,withAria:Z,withErrorStyles:te,mod:J,inputSize:B,__clearSection:V,__clearable:_,__defaultRightSection:M,...U}=o,{styleProps:k,rest:D}=Hl(U),le=na(),ve={offsetBottom:le==null?void 0:le.offsetBottom,offsetTop:le==null?void 0:le.offsetTop},ie=Ie({name:["Input",h],props:v||o,classes:ln,className:l,style:u,classNames:s,styles:c,unstyled:d,stylesCtx:ve,rootSelector:"wrapper",vars:z,varsResolver:kC}),ce=Z?{required:m,disabled:C,"aria-invalid":!!w,"aria-describedby":le==null?void 0:le.describedBy,id:(le==null?void 0:le.inputId)||K}:{},Se=j||_&&V||M;return S.jsx(mC,{value:{size:g||"sm"},children:S.jsxs(fe,{...ie("wrapper"),...k,...y,mod:[{error:!!w&&te,pointer:Q,disabled:C,multiline:q,"data-with-right-section":!!Se,"data-with-left-section":!!E},J],variant:H,size:g,children:[E&&S.jsx("div",{...R,"data-position":"left",...ie("section",{className:R==null?void 0:R.className,style:R==null?void 0:R.style}),children:E}),S.jsx(fe,{component:"input",...D,...ce,ref:r,required:m,mod:{disabled:C,error:!!w&&te},variant:H,__size:B,...ie("input")}),Se&&S.jsx("div",{...T,"data-position":"right",...ie("section",{className:T==null?void 0:T.className,style:T==null?void 0:T.style}),children:Se})]})})});Nt.classes=ln;Nt.Wrapper=Af;Nt.Label=ia;Nt.Error=oa;Nt.Description=ra;Nt.Placeholder=Mf;Nt.ClearButton=Ag;Nt.displayName="@mantine/core/Input";function NC(t,r,o){const s=se(t,r,o),{label:l,description:u,error:c,required:d,classNames:m,styles:h,className:v,unstyled:g,__staticSelector:y,__stylesApiProps:w,errorProps:C,labelProps:E,descriptionProps:R,wrapperProps:N,id:j,size:T,style:O,inputContainer:A,inputWrapperOrder:F,withAsterisk:H,variant:z,vars:Q,mod:q,...X}=s,{styleProps:K,rest:Z}=Hl(X),te={label:l,description:u,error:c,required:d,classNames:m,className:v,__staticSelector:y,__stylesApiProps:w||s,errorProps:C,labelProps:E,descriptionProps:R,unstyled:g,styles:h,size:T,style:O,inputContainer:A,inputWrapperOrder:F,withAsterisk:H,variant:z,id:j,mod:q,...N};return{...Z,classNames:m,styles:h,unstyled:g,wrapperProps:{...te,...K},inputProps:{required:d,classNames:m,styles:h,unstyled:g,size:T,__staticSelector:y,__stylesApiProps:w||s,error:c,variant:z,id:j}}}const PC={__staticSelector:"InputBase",withAria:!0},Zn=Vt((t,r)=>{const{inputProps:o,wrapperProps:s,...l}=NC("InputBase",PC,t);return S.jsx(Nt.Wrapper,{...s,children:S.jsx(Nt,{...o,...l,ref:r})})});Zn.classes={...Nt.classes,...Nt.Wrapper.classes};Zn.displayName="@mantine/core/InputBase";var Dg={root:"m_66836ed3",wrapper:"m_a5d60502",body:"m_667c2793",title:"m_6a03f287",label:"m_698f4f23",icon:"m_667f2a6a",message:"m_7fa78076",closeButton:"m_87f54839"};const _C={},TC=(t,{radius:r,color:o,variant:s,autoContrast:l})=>{const u=t.variantColorResolver({color:o||t.primaryColor,theme:t,variant:s||"light",autoContrast:l});return{root:{"--alert-radius":r===void 0?void 0:$t(r),"--alert-bg":o||s?u.background:void 0,"--alert-color":u.color,"--alert-bd":o||s?u.border:void 0}}},sa=be((t,r)=>{const o=se("Alert",_C,t),{classNames:s,className:l,style:u,styles:c,unstyled:d,vars:m,radius:h,color:v,title:g,children:y,id:w,icon:C,withCloseButton:E,onClose:R,closeButtonLabel:N,variant:j,autoContrast:T,...O}=o,A=Ie({name:"Alert",classes:Dg,props:o,className:l,style:u,classNames:s,styles:c,unstyled:d,vars:m,varsResolver:TC}),F=kr(w),H=g&&`${F}-title`||void 0,z=`${F}-body`;return S.jsx(fe,{id:F,...A("root",{variant:j}),variant:j,ref:r,...O,role:"alert","aria-describedby":z,"aria-labelledby":H,children:S.jsxs("div",{...A("wrapper"),children:[C&&S.jsx("div",{...A("icon"),children:C}),S.jsxs("div",{...A("body"),children:[g&&S.jsx("div",{...A("title"),"data-with-close-button":E||void 0,children:S.jsx("span",{id:H,...A("label"),children:g})}),y&&S.jsx("div",{id:z,...A("message"),"data-variant":j,children:y})]}),E&&S.jsx(Zo,{...A("closeButton"),onClick:R,variant:"transparent",size:16,iconSize:16,"aria-label":N,unstyled:d})]})})});sa.classes=Dg;sa.displayName="@mantine/core/Alert";var Lg={root:"m_b6d8b162"};function jC(t){if(t==="start")return"start";if(t==="end"||t)return"end"}const $C={inherit:!1},OC=(t,{variant:r,lineClamp:o,gradient:s,size:l,color:u})=>({root:{"--text-fz":jt(l),"--text-lh":m1(l),"--text-gradient":r==="gradient"?Dc(s,t):void 0,"--text-line-clamp":typeof o=="number"?o.toString():void 0,"--text-color":u?Un(u,t):void 0}}),kt=Vt((t,r)=>{const o=se("Text",$C,t),{lineClamp:s,truncate:l,inline:u,inherit:c,gradient:d,span:m,__staticSelector:h,vars:v,className:g,style:y,classNames:w,styles:C,unstyled:E,variant:R,mod:N,size:j,...T}=o,O=Ie({name:["Text",h],props:o,classes:Lg,className:g,style:y,classNames:w,styles:C,unstyled:E,vars:v,varsResolver:OC});return S.jsx(fe,{...O("root",{focusable:!0}),ref:r,component:m?"span":"p",variant:R,mod:[{"data-truncate":jC(l),"data-line-clamp":typeof s=="number","data-inline":u,"data-inherit":c},N],size:j,...T})});kt.classes=Lg;kt.displayName="@mantine/core/Text";const[IC,Jo]=Rr("AppShell was not found in tree");var _r={root:"m_89ab340",navbar:"m_45252eee",aside:"m_9cdde9a",header:"m_3b16f56b",main:"m_8983817",footer:"m_3840c879",section:"m_6dcfc7c7"};const MC={},Df=be((t,r)=>{const o=se("AppShellAside",MC,t),{classNames:s,className:l,style:u,styles:c,unstyled:d,vars:m,withBorder:h,zIndex:v,mod:g,...y}=o,w=Jo();return w.disabled?null:S.jsx(fe,{component:"aside",ref:r,mod:[{"with-border":h??w.withBorder},g],...w.getStyles("aside",{className:l,classNames:s,styles:c,style:u}),...y,__vars:{"--app-shell-aside-z-index":`calc(${v??w.zIndex} + 1)`}})});Df.classes=_r;Df.displayName="@mantine/core/AppShellAside";const AC={},Lf=be((t,r)=>{var C;const o=se("AppShellFooter",AC,t),{classNames:s,className:l,style:u,styles:c,unstyled:d,vars:m,withBorder:h,zIndex:v,mod:g,...y}=o,w=Jo();return w.disabled?null:S.jsx(fe,{component:"footer",ref:r,mod:[{"with-border":h??w.withBorder},g],...w.getStyles("footer",{className:lt({[zo.classNames.zeroRight]:w.offsetScrollbars},l),classNames:s,styles:c,style:u}),...y,__vars:{"--app-shell-footer-z-index":(C=v??w.zIndex)==null?void 0:C.toString()}})});Lf.classes=_r;Lf.displayName="@mantine/core/AppShellFooter";const DC={},zf=be((t,r)=>{var C;const o=se("AppShellHeader",DC,t),{classNames:s,className:l,style:u,styles:c,unstyled:d,vars:m,withBorder:h,zIndex:v,mod:g,...y}=o,w=Jo();return w.disabled?null:S.jsx(fe,{component:"header",ref:r,mod:[{"with-border":h??w.withBorder},g],...w.getStyles("header",{className:lt({[zo.classNames.zeroRight]:w.offsetScrollbars},l),classNames:s,styles:c,style:u}),...y,__vars:{"--app-shell-header-z-index":(C=v??w.zIndex)==null?void 0:C.toString()}})});zf.classes=_r;zf.displayName="@mantine/core/AppShellHeader";const LC={},Ff=be((t,r)=>{const o=se("AppShellMain",LC,t),{classNames:s,className:l,style:u,styles:c,vars:d,...m}=o,h=Jo();return S.jsx(fe,{component:"main",ref:r,...h.getStyles("main",{className:l,style:u,classNames:s,styles:c}),...m})});Ff.classes=_r;Ff.displayName="@mantine/core/AppShellMain";function ns(t){return typeof t=="object"?t.base:t}function rs(t){const r=typeof t=="object"&&t!==null&&typeof t.base<"u"&&Object.keys(t).length===1;return typeof t=="number"||typeof t=="string"||r}function os(t){return!(typeof t!="object"||t===null||Object.keys(t).length===1&&"base"in t)}function zC({baseStyles:t,minMediaStyles:r,maxMediaStyles:o,aside:s,theme:l}){var m,h,v;const u=s==null?void 0:s.width,c="translateX(var(--app-shell-aside-width))",d="translateX(calc(var(--app-shell-aside-width) * -1))";if(s!=null&&s.breakpoint&&!((m=s==null?void 0:s.collapsed)!=null&&m.mobile)&&(o[s==null?void 0:s.breakpoint]=o[s==null?void 0:s.breakpoint]||{},o[s==null?void 0:s.breakpoint]["--app-shell-aside-width"]="100%",o[s==null?void 0:s.breakpoint]["--app-shell-aside-offset"]="0px"),rs(u)){const g=Y(ns(u));t["--app-shell-aside-width"]=g,t["--app-shell-aside-offset"]=g}if(os(u)&&(typeof u.base<"u"&&(t["--app-shell-aside-width"]=Y(u.base),t["--app-shell-aside-offset"]=Y(u.base)),xt(u).forEach(g=>{g!=="base"&&(r[g]=r[g]||{},r[g]["--app-shell-aside-width"]=Y(u[g]),r[g]["--app-shell-aside-offset"]=Y(u[g]))})),(h=s==null?void 0:s.collapsed)!=null&&h.desktop){const g=s.breakpoint;r[g]=r[g]||{},r[g]["--app-shell-aside-transform"]=c,r[g]["--app-shell-aside-transform-rtl"]=d,r[g]["--app-shell-aside-offset"]="0px !important"}if((v=s==null?void 0:s.collapsed)!=null&&v.mobile){const g=af(s.breakpoint,l.breakpoints)-.1;o[g]=o[g]||{},o[g]["--app-shell-aside-width"]="100%",o[g]["--app-shell-aside-offset"]="0px",o[g]["--app-shell-aside-transform"]=c,o[g]["--app-shell-aside-transform-rtl"]=d}}function FC({baseStyles:t,minMediaStyles:r,footer:o}){const s=o==null?void 0:o.height,l="translateY(var(--app-shell-footer-height))",u=(o==null?void 0:o.offset)??!0;if(rs(s)){const c=Y(ns(s));t["--app-shell-footer-height"]=c,u&&(t["--app-shell-footer-offset"]=c)}os(s)&&(typeof s.base<"u"&&(t["--app-shell-footer-height"]=Y(s.base),u&&(t["--app-shell-footer-offset"]=Y(s.base))),xt(s).forEach(c=>{c!=="base"&&(r[c]=r[c]||{},r[c]["--app-shell-footer-height"]=Y(s[c]),u&&(r[c]["--app-shell-footer-offset"]=Y(s[c])))})),o!=null&&o.collapsed&&(t["--app-shell-footer-transform"]=l,t["--app-shell-footer-offset"]="0px !important")}function BC({baseStyles:t,minMediaStyles:r,header:o}){const s=o==null?void 0:o.height,l="translateY(calc(var(--app-shell-header-height) * -1))",u=(o==null?void 0:o.offset)??!0;if(rs(s)){const c=Y(ns(s));t["--app-shell-header-height"]=c,u&&(t["--app-shell-header-offset"]=c)}os(s)&&(typeof s.base<"u"&&(t["--app-shell-header-height"]=Y(s.base),u&&(t["--app-shell-header-offset"]=Y(s.base))),xt(s).forEach(c=>{c!=="base"&&(r[c]=r[c]||{},r[c]["--app-shell-header-height"]=Y(s[c]),u&&(r[c]["--app-shell-header-offset"]=Y(s[c])))})),o!=null&&o.collapsed&&(t["--app-shell-header-transform"]=l,t["--app-shell-header-offset"]="0px !important")}function VC({baseStyles:t,minMediaStyles:r,maxMediaStyles:o,navbar:s,theme:l}){var m,h,v;const u=s==null?void 0:s.width,c="translateX(calc(var(--app-shell-navbar-width) * -1))",d="translateX(var(--app-shell-navbar-width))";if(s!=null&&s.breakpoint&&!((m=s==null?void 0:s.collapsed)!=null&&m.mobile)&&(o[s==null?void 0:s.breakpoint]=o[s==null?void 0:s.breakpoint]||{},o[s==null?void 0:s.breakpoint]["--app-shell-navbar-width"]="100%",o[s==null?void 0:s.breakpoint]["--app-shell-navbar-offset"]="0px"),rs(u)){const g=Y(ns(u));t["--app-shell-navbar-width"]=g,t["--app-shell-navbar-offset"]=g}if(os(u)&&(typeof u.base<"u"&&(t["--app-shell-navbar-width"]=Y(u.base),t["--app-shell-navbar-offset"]=Y(u.base)),xt(u).forEach(g=>{g!=="base"&&(r[g]=r[g]||{},r[g]["--app-shell-navbar-width"]=Y(u[g]),r[g]["--app-shell-navbar-offset"]=Y(u[g]))})),(h=s==null?void 0:s.collapsed)!=null&&h.desktop){const g=s.breakpoint;r[g]=r[g]||{},r[g]["--app-shell-navbar-transform"]=c,r[g]["--app-shell-navbar-transform-rtl"]=d,r[g]["--app-shell-navbar-offset"]="0px !important"}if((v=s==null?void 0:s.collapsed)!=null&&v.mobile){const g=af(s.breakpoint,l.breakpoints)-.1;o[g]=o[g]||{},o[g]["--app-shell-navbar-width"]="100%",o[g]["--app-shell-navbar-offset"]="0px",o[g]["--app-shell-navbar-transform"]=c,o[g]["--app-shell-navbar-transform-rtl"]=d}}function Tc(t){return Number(t)===0?"0px":Uo(t)}function WC({padding:t,baseStyles:r,minMediaStyles:o}){rs(t)&&(r["--app-shell-padding"]=Tc(ns(t))),os(t)&&(t.base&&(r["--app-shell-padding"]=Tc(t.base)),xt(t).forEach(s=>{s!=="base"&&(o[s]=o[s]||{},o[s]["--app-shell-padding"]=Tc(t[s]))}))}function HC({navbar:t,header:r,footer:o,aside:s,padding:l,theme:u}){const c={},d={},m={};VC({baseStyles:m,minMediaStyles:c,maxMediaStyles:d,navbar:t,theme:u}),zC({baseStyles:m,minMediaStyles:c,maxMediaStyles:d,aside:s,theme:u}),BC({baseStyles:m,minMediaStyles:c,header:r}),FC({baseStyles:m,minMediaStyles:c,footer:o}),WC({baseStyles:m,minMediaStyles:c,padding:l});const h=ah(xt(c),u.breakpoints).map(y=>({query:`(min-width: ${Pl(y.px)})`,styles:c[y.value]})),v=ah(xt(d),u.breakpoints).map(y=>({query:`(max-width: ${Pl(y.px)})`,styles:d[y.value]})),g=[...h,...v];return{baseStyles:m,media:g}}function UC({navbar:t,header:r,aside:o,footer:s,padding:l}){const u=rn(),c=Qn(),{media:d,baseStyles:m}=HC({navbar:t,header:r,footer:s,aside:o,padding:l,theme:u});return S.jsx(Tv,{media:d,styles:m,selector:c.cssVariablesSelector})}const GC={},Bf=be((t,r)=>{const o=se("AppShellNavbar",GC,t),{classNames:s,className:l,style:u,styles:c,unstyled:d,vars:m,withBorder:h,zIndex:v,mod:g,...y}=o,w=Jo();return w.disabled?null:S.jsx(fe,{component:"nav",ref:r,mod:[{"with-border":h??w.withBorder},g],...w.getStyles("navbar",{className:l,classNames:s,styles:c,style:u}),...y,__vars:{"--app-shell-navbar-z-index":`calc(${v??w.zIndex} + 1)`}})});Bf.classes=_r;Bf.displayName="@mantine/core/AppShellNavbar";const YC={},Vf=Vt((t,r)=>{const o=se("AppShellSection",YC,t),{classNames:s,className:l,style:u,styles:c,vars:d,grow:m,mod:h,...v}=o,g=Jo();return S.jsx(fe,{ref:r,mod:[{grow:m},h],...g.getStyles("section",{className:l,style:u,classNames:s,styles:c}),...v})});Vf.classes=_r;Vf.displayName="@mantine/core/AppShellSection";function XC({transitionDuration:t,disabled:r}){const[o,s]=x.useState(!0),l=x.useRef(-1),u=x.useRef(-1);return Sv("resize",()=>{s(!0),clearTimeout(l.current),l.current=window.setTimeout(()=>x.startTransition(()=>{s(!1)}),200)}),Go(()=>{s(!0),clearTimeout(u.current),u.current=window.setTimeout(()=>x.startTransition(()=>{s(!1)}),t||0)},[r,t]),o}const KC={withBorder:!0,padding:0,transitionDuration:200,transitionTimingFunction:"ease",zIndex:Sn("app")},QC=(t,{transitionDuration:r,transitionTimingFunction:o})=>({root:{"--app-shell-transition-duration":`${r}ms`,"--app-shell-transition-timing-function":o}}),yn=be((t,r)=>{const o=se("AppShell",KC,t),{classNames:s,className:l,style:u,styles:c,unstyled:d,vars:m,navbar:h,withBorder:v,padding:g,transitionDuration:y,transitionTimingFunction:w,header:C,zIndex:E,layout:R,disabled:N,aside:j,footer:T,offsetScrollbars:O=R!=="alt",mod:A,...F}=o,H=Ie({name:"AppShell",classes:_r,props:o,className:l,style:u,classNames:s,styles:c,unstyled:d,vars:m,varsResolver:QC}),z=XC({disabled:N,transitionDuration:y});return S.jsxs(IC,{value:{getStyles:H,withBorder:v,zIndex:E,disabled:N,offsetScrollbars:O},children:[S.jsx(UC,{navbar:h,header:C,aside:j,footer:T,padding:g}),S.jsx(fe,{ref:r,...H("root"),mod:[{resizing:z,layout:R,disabled:N},A],...F})]})});yn.classes=_r;yn.displayName="@mantine/core/AppShell";yn.Navbar=Bf;yn.Header=zf;yn.Main=Ff;yn.Aside=Df;yn.Footer=Lf;yn.Section=Vf;function zg(t){return typeof t=="string"?{value:t,label:t}:"value"in t&&!("label"in t)?{value:t.value,label:t.value,disabled:t.disabled}:typeof t=="number"?{value:t.toString(),label:t.toString()}:"group"in t?{group:t.group,items:t.items.map(r=>zg(r))}:t}function qC(t){return t?t.map(r=>zg(r)):[]}function Fg(t){return t.reduce((r,o)=>"group"in o?{...r,...Fg(o.items)}:(r[o.value]=o,r),{})}var Bt={dropdown:"m_88b62a41",search:"m_985517d8",options:"m_b2821a6e",option:"m_92253aa5",empty:"m_2530cd1d",header:"m_858f94bd",footer:"m_82b967cb",group:"m_254f3e4f",groupLabel:"m_2bb2e9e5",chevron:"m_2943220b",optionsDropdownOption:"m_390b5f4",optionsDropdownCheckIcon:"m_8ee53fc2"};const ZC={error:null},JC=(t,{size:r,color:o})=>({chevron:{"--combobox-chevron-size":Xe(r,"combobox-chevron-size"),"--combobox-chevron-color":o?Un(o,t):void 0}}),Wf=be((t,r)=>{const o=se("ComboboxChevron",ZC,t),{size:s,error:l,style:u,className:c,classNames:d,styles:m,unstyled:h,vars:v,mod:g,...y}=o,w=Ie({name:"ComboboxChevron",classes:Bt,props:o,style:u,className:c,classNames:d,styles:m,unstyled:h,vars:v,varsResolver:JC,rootSelector:"chevron"});return S.jsx(fe,{component:"svg",...y,...w("chevron"),size:s,viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",mod:["combobox-chevron",{error:l},g],ref:r,children:S.jsx("path",{d:"M4.93179 5.43179C4.75605 5.60753 4.75605 5.89245 4.93179 6.06819C5.10753 6.24392 5.39245 6.24392 5.56819 6.06819L7.49999 4.13638L9.43179 6.06819C9.60753 6.24392 9.89245 6.24392 10.0682 6.06819C10.2439 5.89245 10.2439 5.60753 10.0682 5.43179L7.81819 3.18179C7.73379 3.0974 7.61933 3.04999 7.49999 3.04999C7.38064 3.04999 7.26618 3.0974 7.18179 3.18179L4.93179 5.43179ZM10.0682 9.56819C10.2439 9.39245 10.2439 9.10753 10.0682 8.93179C9.89245 8.75606 9.60753 8.75606 9.43179 8.93179L7.49999 10.8636L5.56819 8.93179C5.39245 8.75606 5.10753 8.75606 4.93179 8.93179C4.75605 9.10753 4.75605 9.39245 4.93179 9.56819L7.18179 11.8182C7.35753 11.9939 7.64245 11.9939 7.81819 11.8182L10.0682 9.56819Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"})})});Wf.classes=Bt;Wf.displayName="@mantine/core/ComboboxChevron";const[eE,an]=Rr("Combobox component was not found in tree"),Bg=x.forwardRef(({size:t,onMouseDown:r,onClick:o,onClear:s,...l},u)=>S.jsx(Nt.ClearButton,{ref:u,tabIndex:-1,"aria-hidden":!0,...l,onMouseDown:c=>{c.preventDefault(),r==null||r(c)},onClick:c=>{s(),o==null||o(c)}}));Bg.displayName="@mantine/core/ComboboxClearButton";const tE={},Hf=be((t,r)=>{const{classNames:o,styles:s,className:l,style:u,hidden:c,...d}=se("ComboboxDropdown",tE,t),m=an();return S.jsx(Pr.Dropdown,{...d,ref:r,role:"presentation","data-hidden":c||void 0,...m.getStyles("dropdown",{className:l,style:u,classNames:o,styles:s})})});Hf.classes=Bt;Hf.displayName="@mantine/core/ComboboxDropdown";const nE={refProp:"ref"},Vg=be((t,r)=>{const{children:o,refProp:s}=se("ComboboxDropdownTarget",nE,t);if(an(),!Jr(o))throw new Error("Combobox.DropdownTarget component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported");return S.jsx(Pr.Target,{ref:r,refProp:s,children:o})});Vg.displayName="@mantine/core/ComboboxDropdownTarget";const rE={},Uf=be((t,r)=>{const{classNames:o,className:s,style:l,styles:u,vars:c,...d}=se("ComboboxEmpty",rE,t),m=an();return S.jsx(fe,{ref:r,...m.getStyles("empty",{className:s,classNames:o,styles:u,style:l}),...d})});Uf.classes=Bt;Uf.displayName="@mantine/core/ComboboxEmpty";function Gf({onKeyDown:t,withKeyboardNavigation:r,withAriaAttributes:o,withExpandedAttribute:s,targetType:l,autoComplete:u}){const c=an(),[d,m]=x.useState(null),h=g=>{if(t==null||t(g),!c.readOnly&&r){if(g.nativeEvent.isComposing)return;if(g.nativeEvent.code==="ArrowDown"&&(g.preventDefault(),c.store.dropdownOpened?m(c.store.selectNextOption()):(c.store.openDropdown("keyboard"),m(c.store.selectActiveOption()),c.store.updateSelectedOptionIndex("selected",{scrollIntoView:!0}))),g.nativeEvent.code==="ArrowUp"&&(g.preventDefault(),c.store.dropdownOpened?m(c.store.selectPreviousOption()):(c.store.openDropdown("keyboard"),m(c.store.selectActiveOption()),c.store.updateSelectedOptionIndex("selected",{scrollIntoView:!0}))),g.nativeEvent.code==="Enter"||g.nativeEvent.code==="NumpadEnter"){if(g.nativeEvent.keyCode===229)return;const y=c.store.getSelectedOptionIndex();c.store.dropdownOpened&&y!==-1?(g.preventDefault(),c.store.clickSelectedOption()):l==="button"&&(g.preventDefault(),c.store.openDropdown("keyboard"))}g.key==="Escape"&&c.store.closeDropdown("keyboard"),g.nativeEvent.code==="Space"&&l==="button"&&(g.preventDefault(),c.store.toggleDropdown("keyboard"))}};return{...o?{"aria-haspopup":"listbox","aria-expanded":s&&!!(c.store.listId&&c.store.dropdownOpened)||void 0,"aria-controls":c.store.dropdownOpened?c.store.listId:void 0,"aria-activedescendant":c.store.dropdownOpened&&d||void 0,autoComplete:u,"data-expanded":c.store.dropdownOpened||void 0,"data-mantine-stop-propagation":c.store.dropdownOpened||void 0}:{},onKeyDown:h}}const oE={refProp:"ref",targetType:"input",withKeyboardNavigation:!0,withAriaAttributes:!0,withExpandedAttribute:!1,autoComplete:"off"},Wg=be((t,r)=>{const{children:o,refProp:s,withKeyboardNavigation:l,withAriaAttributes:u,withExpandedAttribute:c,targetType:d,autoComplete:m,...h}=se("ComboboxEventsTarget",oE,t);if(!Jr(o))throw new Error("Combobox.EventsTarget component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported");const v=an(),g=Gf({targetType:d,withAriaAttributes:u,withKeyboardNavigation:l,withExpandedAttribute:c,onKeyDown:o.props.onKeyDown,autoComplete:m});return x.cloneElement(o,{...g,...h,[s]:Ot(r,v.store.targetRef,Vl(o))})});Wg.displayName="@mantine/core/ComboboxEventsTarget";const iE={},Yf=be((t,r)=>{const{classNames:o,className:s,style:l,styles:u,vars:c,...d}=se("ComboboxFooter",iE,t),m=an();return S.jsx(fe,{ref:r,...m.getStyles("footer",{className:s,classNames:o,style:l,styles:u}),...d,onMouseDown:h=>{h.preventDefault()}})});Yf.classes=Bt;Yf.displayName="@mantine/core/ComboboxFooter";const sE={},Xf=be((t,r)=>{const{classNames:o,className:s,style:l,styles:u,vars:c,children:d,label:m,...h}=se("ComboboxGroup",sE,t),v=an();return S.jsxs(fe,{ref:r,...v.getStyles("group",{className:s,classNames:o,style:l,styles:u}),...h,children:[m&&S.jsx("div",{...v.getStyles("groupLabel",{classNames:o,styles:u}),children:m}),d]})});Xf.classes=Bt;Xf.displayName="@mantine/core/ComboboxGroup";const lE={},Kf=be((t,r)=>{const{classNames:o,className:s,style:l,styles:u,vars:c,...d}=se("ComboboxHeader",lE,t),m=an();return S.jsx(fe,{ref:r,...m.getStyles("header",{className:s,classNames:o,style:l,styles:u}),...d,onMouseDown:h=>{h.preventDefault()}})});Kf.classes=Bt;Kf.displayName="@mantine/core/ComboboxHeader";function Hg({value:t,valuesDivider:r=",",...o}){return S.jsx("input",{type:"hidden",value:Array.isArray(t)?t.join(r):t||"",...o})}Hg.displayName="@mantine/core/ComboboxHiddenInput";const aE={},Qf=be((t,r)=>{const o=se("ComboboxOption",aE,t),{classNames:s,className:l,style:u,styles:c,vars:d,onClick:m,id:h,active:v,onMouseDown:g,onMouseOver:y,disabled:w,selected:C,mod:E,...R}=o,N=an(),j=x.useId(),T=h||j;return S.jsx(fe,{...N.getStyles("option",{className:l,classNames:s,styles:c,style:u}),...R,ref:r,id:T,mod:["combobox-option",{"combobox-active":v,"combobox-disabled":w,"combobox-selected":C},E],role:"option",onClick:O=>{var A;w?O.preventDefault():((A=N.onOptionSubmit)==null||A.call(N,o.value,o),m==null||m(O))},onMouseDown:O=>{O.preventDefault(),g==null||g(O)},onMouseOver:O=>{N.resetSelectionOnOptionHover&&N.store.resetSelectedOption(),y==null||y(O)}})});Qf.classes=Bt;Qf.displayName="@mantine/core/ComboboxOption";const uE={},qf=be((t,r)=>{const o=se("ComboboxOptions",uE,t),{classNames:s,className:l,style:u,styles:c,id:d,onMouseDown:m,labelledBy:h,...v}=o,g=an(),y=kr(d);return x.useEffect(()=>{g.store.setListId(y)},[y]),S.jsx(fe,{ref:r,...g.getStyles("options",{className:l,style:u,classNames:s,styles:c}),...v,id:y,role:"listbox","aria-labelledby":h,onMouseDown:w=>{w.preventDefault(),m==null||m(w)}})});qf.classes=Bt;qf.displayName="@mantine/core/ComboboxOptions";const cE={withAriaAttributes:!0,withKeyboardNavigation:!0},Zf=be((t,r)=>{const o=se("ComboboxSearch",cE,t),{classNames:s,styles:l,unstyled:u,vars:c,withAriaAttributes:d,onKeyDown:m,withKeyboardNavigation:h,size:v,...g}=o,y=an(),w=y.getStyles("search"),C=Gf({targetType:"input",withAriaAttributes:d,withKeyboardNavigation:h,withExpandedAttribute:!1,onKeyDown:m,autoComplete:"off"});return S.jsx(Nt,{ref:Ot(r,y.store.searchRef),classNames:[{input:w.className},s],styles:[{input:w.style},l],size:v||y.size,...C,...g,__staticSelector:"Combobox"})});Zf.classes=Bt;Zf.displayName="@mantine/core/ComboboxSearch";const fE={refProp:"ref",targetType:"input",withKeyboardNavigation:!0,withAriaAttributes:!0,withExpandedAttribute:!1,autoComplete:"off"},Ug=be((t,r)=>{const{children:o,refProp:s,withKeyboardNavigation:l,withAriaAttributes:u,withExpandedAttribute:c,targetType:d,autoComplete:m,...h}=se("ComboboxTarget",fE,t);if(!Jr(o))throw new Error("Combobox.Target component children should be an element or a component that accepts ref. Fragments, strings, numbers and other primitive values are not supported");const v=an(),g=Gf({targetType:d,withAriaAttributes:u,withKeyboardNavigation:l,withExpandedAttribute:c,onKeyDown:o.props.onKeyDown,autoComplete:m}),y=x.cloneElement(o,{...g,...h});return S.jsx(Pr.Target,{ref:Ot(r,v.store.targetRef),children:y})});Ug.displayName="@mantine/core/ComboboxTarget";function dE(t,r,o){for(let s=t-1;s>=0;s-=1)if(!r[s].hasAttribute("data-combobox-disabled"))return s;if(o){for(let s=r.length-1;s>-1;s-=1)if(!r[s].hasAttribute("data-combobox-disabled"))return s}return t}function pE(t,r,o){for(let s=t+1;s{d||(m(!0),l==null||l(B))},[m,l,d]),N=x.useCallback((B="unknown")=>{d&&(m(!1),s==null||s(B))},[m,s,d]),j=x.useCallback((B="unknown")=>{d?N(B):R(B)},[N,R,d]),T=x.useCallback(()=>{const B=document.querySelector(`#${h.current} [data-combobox-selected]`);B==null||B.removeAttribute("data-combobox-selected"),B==null||B.removeAttribute("aria-selected")},[]),O=x.useCallback(B=>{const V=document.getElementById(h.current),_=V==null?void 0:V.querySelectorAll("[data-combobox-option]");if(!_)return null;const M=B>=_.length?0:B<0?_.length-1:B;return v.current=M,_!=null&&_[M]&&!_[M].hasAttribute("data-combobox-disabled")?(T(),_[M].setAttribute("data-combobox-selected","true"),_[M].setAttribute("aria-selected","true"),_[M].scrollIntoView({block:"nearest",behavior:c}),_[M].id):null},[c,T]),A=x.useCallback(()=>{const B=document.querySelector(`#${h.current} [data-combobox-active]`);if(B){const V=document.querySelectorAll(`#${h.current} [data-combobox-option]`),_=Array.from(V).findIndex(M=>M===B);return O(_)}return O(0)},[O]),F=x.useCallback(()=>O(pE(v.current,document.querySelectorAll(`#${h.current} [data-combobox-option]`),u)),[O,u]),H=x.useCallback(()=>O(dE(v.current,document.querySelectorAll(`#${h.current} [data-combobox-option]`),u)),[O,u]),z=x.useCallback(()=>O(mE(document.querySelectorAll(`#${h.current} [data-combobox-option]`))),[O]),Q=x.useCallback((B="selected",V)=>{E.current=window.setTimeout(()=>{var U;const _=document.querySelectorAll(`#${h.current} [data-combobox-option]`),M=Array.from(_).findIndex(k=>k.hasAttribute(`data-combobox-${B}`));v.current=M,V!=null&&V.scrollIntoView&&((U=_[M])==null||U.scrollIntoView({block:"nearest",behavior:c}))},0)},[]),q=x.useCallback(()=>{v.current=-1,T()},[T]),X=x.useCallback(()=>{const B=document.querySelectorAll(`#${h.current} [data-combobox-option]`),V=B==null?void 0:B[v.current];V==null||V.click()},[]),K=x.useCallback(B=>{h.current=B},[]),Z=x.useCallback(()=>{w.current=window.setTimeout(()=>g.current.focus(),0)},[]),te=x.useCallback(()=>{C.current=window.setTimeout(()=>y.current.focus(),0)},[]),J=x.useCallback(()=>v.current,[]);return x.useEffect(()=>()=>{window.clearTimeout(w.current),window.clearTimeout(C.current),window.clearTimeout(E.current)},[]),{dropdownOpened:d,openDropdown:R,closeDropdown:N,toggleDropdown:j,selectedOptionIndex:v.current,getSelectedOptionIndex:J,selectOption:O,selectFirstOption:z,selectActiveOption:A,selectNextOption:F,selectPreviousOption:H,resetSelectedOption:q,updateSelectedOptionIndex:Q,listId:h.current,setListId:K,clickSelectedOption:X,searchRef:g,focusSearchInput:Z,targetRef:y,focusTarget:te}}const hE={keepMounted:!0,withinPortal:!0,resetSelectionOnOptionHover:!1,width:"target",transitionProps:{transition:"fade",duration:0}},vE=(t,{size:r,dropdownPadding:o})=>({options:{"--combobox-option-fz":jt(r),"--combobox-option-padding":Xe(r,"combobox-option-padding")},dropdown:{"--combobox-padding":o===void 0?void 0:Y(o),"--combobox-option-fz":jt(r),"--combobox-option-padding":Xe(r,"combobox-option-padding")}});function ze(t){const r=se("Combobox",hE,t),{classNames:o,styles:s,unstyled:l,children:u,store:c,vars:d,onOptionSubmit:m,onClose:h,size:v,dropdownPadding:g,resetSelectionOnOptionHover:y,__staticSelector:w,readOnly:C,...E}=r,R=Gg(),N=c||R,j=Ie({name:w||"Combobox",classes:Bt,props:r,classNames:o,styles:s,unstyled:l,vars:d,varsResolver:vE}),T=()=>{h==null||h(),N.closeDropdown()};return S.jsx(eE,{value:{getStyles:j,store:N,onOptionSubmit:m,size:v,resetSelectionOnOptionHover:y,readOnly:C},children:S.jsx(Pr,{opened:N.dropdownOpened,...E,onChange:O=>!O&&T(),withRoles:!1,unstyled:l,children:u})})}const gE=t=>t;ze.extend=gE;ze.classes=Bt;ze.displayName="@mantine/core/Combobox";ze.Target=Ug;ze.Dropdown=Hf;ze.Options=qf;ze.Option=Qf;ze.Search=Zf;ze.Empty=Uf;ze.Chevron=Wf;ze.Footer=Yf;ze.Header=Kf;ze.EventsTarget=Wg;ze.DropdownTarget=Vg;ze.Group=Xf;ze.ClearButton=Bg;ze.HiddenInput=Hg;function yE({size:t,style:r,...o}){const s=t!==void 0?{width:Y(t),height:Y(t),...r}:r;return S.jsx("svg",{viewBox:"0 0 10 7",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:s,"aria-hidden":!0,...o,children:S.jsx("path",{d:"M4 4.586L1.707 2.293A1 1 0 1 0 .293 3.707l3 3a.997.997 0 0 0 1.414 0l5-5A1 1 0 1 0 8.293.293L4 4.586z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"})})}function Qi(t){return"group"in t}function Yg({options:t,search:r,limit:o}){const s=r.trim().toLowerCase(),l=[];for(let u=0;u0)return!1;return!0}function Xg(t,r=new Set){if(Array.isArray(t))for(const o of t)if(Qi(o))Xg(o.items,r);else{if(typeof o.value>"u")throw new Error("[@mantine/core] Each option must have value property");if(typeof o.value!="string")throw new Error(`[@mantine/core] Option value must be a string, other data formats are not supported, got ${typeof o.value}`);if(r.has(o.value))throw new Error(`[@mantine/core] Duplicate options are not supported. Option with value "${o.value}" was provided more than once`);r.add(o.value)}}function xE(t,r){return Array.isArray(t)?t.includes(r):t===r}function Kg({data:t,withCheckIcon:r,value:o,checkIconPosition:s,unstyled:l,renderOption:u}){if(!Qi(t)){const d=xE(o,t.value),m=r&&d&&S.jsx(yE,{className:Bt.optionsDropdownCheckIcon}),h=S.jsxs(S.Fragment,{children:[s==="left"&&m,S.jsx("span",{children:t.label}),s==="right"&&m]});return S.jsx(ze.Option,{value:t.value,disabled:t.disabled,className:lt({[Bt.optionsDropdownOption]:!l}),"data-reverse":s==="right"||void 0,"data-checked":d||void 0,"aria-selected":d,active:d,children:typeof u=="function"?u({option:t,checked:d}):h})}const c=t.items.map(d=>S.jsx(Kg,{data:d,value:o,unstyled:l,withCheckIcon:r,checkIconPosition:s,renderOption:u},d.value));return S.jsx(ze.Group,{label:t.group,children:c})}function SE({data:t,hidden:r,hiddenWhenEmpty:o,filter:s,search:l,limit:u,maxDropdownHeight:c,withScrollArea:d=!0,filterOptions:m=!0,withCheckIcon:h=!1,value:v,checkIconPosition:g,nothingFoundMessage:y,unstyled:w,labelId:C,renderOption:E,scrollAreaProps:R,"aria-label":N}){Xg(t);const T=typeof l=="string"?(s||Yg)({options:t,search:m?l:"",limit:u??1/0}):t,O=wE(T),A=T.map(F=>S.jsx(Kg,{data:F,withCheckIcon:h,value:v,checkIconPosition:g,unstyled:w,renderOption:E},Qi(F)?F.group:F.value));return S.jsx(ze.Dropdown,{hidden:r||o&&O,"data-composed":!0,children:S.jsxs(ze.Options,{labelledBy:C,"aria-label":N,children:[d?S.jsx(Ko.Autosize,{mah:c??220,type:"scroll",scrollbarSize:"var(--combobox-padding)",offsetScrollbars:"y",...R,children:A}):A,O&&y&&S.jsx(ze.Empty,{children:y})]})})}var ei={root:"m_77c9d27d",inner:"m_80f1301b",label:"m_811560b9",section:"m_a74036a",loader:"m_a25b86ee",group:"m_80d6d844",groupSection:"m_70be2a01"};const Hh={orientation:"horizontal"},bE=(t,{borderWidth:r})=>({group:{"--button-border-width":Y(r)}}),Jf=be((t,r)=>{const o=se("ButtonGroup",Hh,t),{className:s,style:l,classNames:u,styles:c,unstyled:d,orientation:m,vars:h,borderWidth:v,variant:g,mod:y,...w}=se("ButtonGroup",Hh,t),C=Ie({name:"ButtonGroup",props:o,classes:ei,className:s,style:l,classNames:u,styles:c,unstyled:d,vars:h,varsResolver:bE,rootSelector:"group"});return S.jsx(fe,{...C("group"),ref:r,variant:g,mod:[{"data-orientation":m},y],role:"group",...w})});Jf.classes=ei;Jf.displayName="@mantine/core/ButtonGroup";const Uh={},CE=(t,{radius:r,color:o,gradient:s,variant:l,autoContrast:u,size:c})=>{const d=t.variantColorResolver({color:o||t.primaryColor,theme:t,gradient:s,variant:l||"filled",autoContrast:u});return{groupSection:{"--section-height":Xe(c,"section-height"),"--section-padding-x":Xe(c,"section-padding-x"),"--section-fz":c!=null&&c.includes("compact")?jt(c.replace("compact-","")):jt(c),"--section-radius":r===void 0?void 0:$t(r),"--section-bg":o||l?d.background:void 0,"--section-color":d.color,"--section-bd":o||l?d.border:void 0}}},ed=be((t,r)=>{const o=se("ButtonGroupSection",Uh,t),{className:s,style:l,classNames:u,styles:c,unstyled:d,vars:m,variant:h,gradient:v,radius:g,autoContrast:y,...w}=se("ButtonGroupSection",Uh,t),C=Ie({name:"ButtonGroupSection",props:o,classes:ei,className:s,style:l,classNames:u,styles:c,unstyled:d,vars:m,varsResolver:CE,rootSelector:"groupSection"});return S.jsx(fe,{...C("groupSection"),ref:r,variant:h,...w})});ed.classes=ei;ed.displayName="@mantine/core/ButtonGroupSection";const EE={in:{opacity:1,transform:`translate(-50%, calc(-50% + ${Y(1)}))`},out:{opacity:0,transform:"translate(-50%, -200%)"},common:{transformOrigin:"center"},transitionProperty:"transform, opacity"},RE={},kE=(t,{radius:r,color:o,gradient:s,variant:l,size:u,justify:c,autoContrast:d})=>{const m=t.variantColorResolver({color:o||t.primaryColor,theme:t,gradient:s,variant:l||"filled",autoContrast:d});return{root:{"--button-justify":c,"--button-height":Xe(u,"button-height"),"--button-padding-x":Xe(u,"button-padding-x"),"--button-fz":u!=null&&u.includes("compact")?jt(u.replace("compact-","")):jt(u),"--button-radius":r===void 0?void 0:$t(r),"--button-bg":o||l?m.background:void 0,"--button-hover":o||l?m.hover:void 0,"--button-color":m.color,"--button-bd":o||l?m.border:void 0,"--button-hover-color":o||l?m.hoverColor:void 0}}},wt=Vt((t,r)=>{const o=se("Button",RE,t),{style:s,vars:l,className:u,color:c,disabled:d,children:m,leftSection:h,rightSection:v,fullWidth:g,variant:y,radius:w,loading:C,loaderProps:E,gradient:R,classNames:N,styles:j,unstyled:T,"data-disabled":O,autoContrast:A,mod:F,...H}=o,z=Ie({name:"Button",props:o,classes:ei,className:u,style:s,classNames:N,styles:j,unstyled:T,vars:l,varsResolver:kE}),Q=!!h,q=!!v;return S.jsxs(Xn,{ref:r,...z("root",{active:!d&&!C&&!O}),unstyled:T,variant:y,disabled:d||C,mod:[{disabled:d||O,loading:C,block:g,"with-left-section":Q,"with-right-section":q},F],...H,children:[S.jsx(Nr,{mounted:!!C,transition:EE,duration:150,children:X=>S.jsx(fe,{component:"span",...z("loader",{style:X}),"aria-hidden":!0,children:S.jsx(to,{color:"var(--button-color)",size:"calc(var(--button-height) / 1.8)",...E})})}),S.jsxs("span",{...z("inner"),children:[h&&S.jsx(fe,{component:"span",...z("section"),mod:{position:"left"},children:h}),S.jsx(fe,{component:"span",mod:{loading:C},...z("label"),children:m}),v&&S.jsx(fe,{component:"span",...z("section"),mod:{position:"right"},children:v})]})]})});wt.classes=ei;wt.displayName="@mantine/core/Button";wt.Group=Jf;wt.GroupSection=ed;const[NE,PE]=Rr("Card component was not found in tree");var td={root:"m_e615b15f",section:"m_599a2148"};const _E={},la=Vt((t,r)=>{const o=se("CardSection",_E,t),{classNames:s,className:l,style:u,styles:c,vars:d,withBorder:m,inheritPadding:h,mod:v,...g}=o,y=PE();return S.jsx(fe,{ref:r,mod:[{"with-border":m,"inherit-padding":h},v],...y.getStyles("section",{className:l,style:u,styles:c,classNames:s}),...g})});la.classes=td;la.displayName="@mantine/core/CardSection";const TE={},jE=(t,{padding:r})=>({root:{"--card-padding":Uo(r)}}),aa=Vt((t,r)=>{const o=se("Card",TE,t),{classNames:s,className:l,style:u,styles:c,unstyled:d,vars:m,children:h,padding:v,...g}=o,y=Ie({name:"Card",props:o,classes:td,className:l,style:u,classNames:s,styles:c,unstyled:d,vars:m,varsResolver:jE}),w=x.Children.toArray(h),C=w.map((E,R)=>typeof E=="object"&&E&&"type"in E&&E.type===la?x.cloneElement(E,{"data-first-section":R===0||void 0,"data-last-section":R===w.length-1||void 0}):E);return S.jsx(NE,{value:{getStyles:y},children:S.jsx(Qo,{ref:r,unstyled:d,...y("root"),...g,children:C})})});aa.classes=td;aa.displayName="@mantine/core/Card";aa.Section=la;var Qg={root:"m_4451eb3a"};const $E={},qi=Vt((t,r)=>{const o=se("Center",$E,t),{classNames:s,className:l,style:u,styles:c,unstyled:d,vars:m,inline:h,mod:v,...g}=o,y=Ie({name:"Center",props:o,classes:Qg,className:l,style:u,classNames:s,styles:c,unstyled:d,vars:m});return S.jsx(fe,{ref:r,mod:[{inline:h},v],...y("root"),...g})});qi.classes=Qg;qi.displayName="@mantine/core/Center";var qg={root:"m_3eebeb36",label:"m_9e365f20"};const OE={orientation:"horizontal"},IE=(t,{color:r,variant:o,size:s})=>({root:{"--divider-color":r?Un(r,t):void 0,"--divider-border-style":o,"--divider-size":Xe(s,"divider-size")}}),Al=be((t,r)=>{const o=se("Divider",OE,t),{classNames:s,className:l,style:u,styles:c,unstyled:d,vars:m,color:h,orientation:v,label:g,labelPosition:y,mod:w,...C}=o,E=Ie({name:"Divider",classes:qg,props:o,className:l,style:u,classNames:s,styles:c,unstyled:d,vars:m,varsResolver:IE});return S.jsx(fe,{ref:r,mod:[{orientation:v,"with-label":!!g},w],...E("root"),...C,role:"separator",children:g&&S.jsx(fe,{component:"span",mod:{position:y},...E("label"),children:g})})});Al.classes=qg;Al.displayName="@mantine/core/Divider";var Zg={root:"m_9e117634"};const ME={},AE=(t,{radius:r,fit:o})=>({root:{"--image-radius":r===void 0?void 0:$t(r),"--image-object-fit":o}}),nd=Vt((t,r)=>{const o=se("Image",ME,t),{classNames:s,className:l,style:u,styles:c,unstyled:d,vars:m,onError:h,src:v,radius:g,fit:y,fallbackSrc:w,mod:C,...E}=o,[R,N]=x.useState(!v);x.useEffect(()=>N(!v),[v]);const j=Ie({name:"Image",classes:Zg,props:o,className:l,style:u,classNames:s,styles:c,unstyled:d,vars:m,varsResolver:AE});return R&&w?S.jsx(fe,{component:"img",ref:r,src:w,...j("root"),onError:h,mod:["fallback",C],...E}):S.jsx(fe,{component:"img",ref:r,...j("root"),src:v,onError:T=>{h==null||h(T),N(!0)},mod:C,...E})});nd.classes=Zg;nd.displayName="@mantine/core/Image";function Xc(){return Xc=Object.assign?Object.assign.bind():function(t){for(var r=1;r{const o=se("ModalBody",LE,t),{classNames:s,className:l,style:u,styles:c,vars:d,...m}=o,h=ti();return S.jsx(Tg,{ref:r,...h.getStyles("body",{classNames:s,style:u,styles:c,className:l}),...m})});ua.classes=Jn;ua.displayName="@mantine/core/ModalBody";const zE={},ca=be((t,r)=>{const o=se("ModalCloseButton",zE,t),{classNames:s,className:l,style:u,styles:c,vars:d,...m}=o,h=ti();return S.jsx(jg,{ref:r,...h.getStyles("close",{classNames:s,style:u,styles:c,className:l}),...m})});ca.classes=Jn;ca.displayName="@mantine/core/ModalCloseButton";const FE={},fa=be((t,r)=>{const o=se("ModalContent",FE,t),{classNames:s,className:l,style:u,styles:c,vars:d,children:m,__hidden:h,...v}=o,g=ti(),y=g.scrollAreaComponent||pC;return S.jsx($g,{...g.getStyles("content",{className:l,style:u,styles:c,classNames:s}),innerProps:g.getStyles("inner",{className:l,style:u,styles:c,classNames:s}),"data-full-screen":g.fullScreen||void 0,"data-modal-content":!0,"data-hidden":h||void 0,ref:r,...v,children:S.jsx(y,{style:{maxHeight:g.fullScreen?"100dvh":`calc(100dvh - (${Y(g.yOffset)} * 2))`},children:m})})});fa.classes=Jn;fa.displayName="@mantine/core/ModalContent";const BE={},da=be((t,r)=>{const o=se("ModalHeader",BE,t),{classNames:s,className:l,style:u,styles:c,vars:d,...m}=o,h=ti();return S.jsx(Og,{ref:r,...h.getStyles("header",{classNames:s,style:u,styles:c,className:l}),...m})});da.classes=Jn;da.displayName="@mantine/core/ModalHeader";const VE={},pa=be((t,r)=>{const o=se("ModalOverlay",VE,t),{classNames:s,className:l,style:u,styles:c,vars:d,...m}=o,h=ti();return S.jsx(Ig,{ref:r,...h.getStyles("overlay",{classNames:s,style:u,styles:c,className:l}),...m})});pa.classes=Jn;pa.displayName="@mantine/core/ModalOverlay";const WE={__staticSelector:"Modal",closeOnClickOutside:!0,withinPortal:!0,lockScroll:!0,trapFocus:!0,returnFocus:!0,closeOnEscape:!0,keepMounted:!1,zIndex:Sn("modal"),transitionProps:{duration:200,transition:"fade-down"},yOffset:"5dvh"},HE=(t,{radius:r,size:o,yOffset:s,xOffset:l})=>({root:{"--modal-radius":r===void 0?void 0:$t(r),"--modal-size":Xe(o,"modal-size"),"--modal-y-offset":Y(s),"--modal-x-offset":Y(l)}}),ma=be((t,r)=>{const o=se("ModalRoot",WE,t),{classNames:s,className:l,style:u,styles:c,unstyled:d,vars:m,yOffset:h,scrollAreaComponent:v,radius:g,fullScreen:y,centered:w,xOffset:C,__staticSelector:E,...R}=o,N=Ie({name:E,classes:Jn,props:o,className:l,style:u,classNames:s,styles:c,unstyled:d,vars:m,varsResolver:HE});return S.jsx(DE,{value:{yOffset:h,scrollAreaComponent:v,getStyles:N,fullScreen:y},children:S.jsx(_g,{ref:r,...N("root"),"data-full-screen":y||void 0,"data-centered":w||void 0,"data-offset-scrollbars":v===Ko.Autosize||void 0,unstyled:d,...R})})});ma.classes=Jn;ma.displayName="@mantine/core/ModalRoot";const[UE,GE]=sf();function ey({children:t}){const[r,o]=x.useState([]),[s,l]=x.useState(Sn("modal"));return S.jsx(UE,{value:{stack:r,addModal:(u,c)=>{o(d=>[...new Set([...d,u])]),l(d=>typeof c=="number"&&typeof d=="number"?Math.max(d,c):d)},removeModal:u=>o(c=>c.filter(d=>d!==u)),getZIndex:u=>`calc(${s} + ${r.indexOf(u)} + 1)`,currentId:r[r.length-1],maxZIndex:s},children:t})}ey.displayName="@mantine/core/ModalStack";const YE={},ha=be((t,r)=>{const o=se("ModalTitle",YE,t),{classNames:s,className:l,style:u,styles:c,vars:d,...m}=o,h=ti();return S.jsx(Mg,{ref:r,...h.getStyles("title",{classNames:s,style:u,styles:c,className:l}),...m})});ha.classes=Jn;ha.displayName="@mantine/core/ModalTitle";const XE={closeOnClickOutside:!0,withinPortal:!0,lockScroll:!0,trapFocus:!0,returnFocus:!0,closeOnEscape:!0,keepMounted:!1,zIndex:Sn("modal"),transitionProps:{duration:200,transition:"fade-down"},withOverlay:!0,withCloseButton:!0},Kt=be((t,r)=>{const{title:o,withOverlay:s,overlayProps:l,withCloseButton:u,closeButtonProps:c,children:d,radius:m,opened:h,stackId:v,zIndex:g,...y}=se("Modal",XE,t),w=GE(),C=!!o||u,E=w&&v?{closeOnEscape:w.currentId===v,trapFocus:w.currentId===v,zIndex:w.getZIndex(v)}:{},R=s===!1?!1:v&&w?w.currentId===v:h;return x.useEffect(()=>{w&&v&&(h?w.addModal(v,g||Sn("modal")):w.removeModal(v))},[h,v,g]),S.jsxs(ma,{ref:r,radius:m,opened:h,zIndex:w&&v?w.getZIndex(v):g,...y,...E,children:[s&&S.jsx(pa,{visible:R,transitionProps:w&&v?{duration:0}:void 0,...l}),S.jsxs(fa,{radius:m,__hidden:w&&v&&h?v!==w.currentId:!1,children:[C&&S.jsxs(da,{children:[o&&S.jsx(ha,{children:o}),u&&S.jsx(ca,{...c})]}),S.jsx(ua,{children:d})]})]})});Kt.classes=Jn;Kt.displayName="@mantine/core/Modal";Kt.Root=ma;Kt.Overlay=pa;Kt.Content=fa;Kt.Body=ua;Kt.Header=da;Kt.Title=ha;Kt.CloseButton=ca;Kt.Stack=ey;var ty={root:"m_a513464",icon:"m_a4ceffb",loader:"m_b0920b15",body:"m_a49ed24",title:"m_3feedf16",description:"m_3d733a3a",closeButton:"m_919a4d88"};const KE={withCloseButton:!0},QE=(t,{radius:r,color:o})=>({root:{"--notification-radius":r===void 0?void 0:$t(r),"--notification-color":o?Un(o,t):void 0}}),rd=be((t,r)=>{const o=se("Notification",KE,t),{className:s,color:l,radius:u,loading:c,withCloseButton:d,withBorder:m,title:h,icon:v,children:g,onClose:y,closeButtonProps:w,classNames:C,style:E,styles:R,unstyled:N,variant:j,vars:T,mod:O,loaderProps:A,role:F,...H}=o,z=Ie({name:"Notification",classes:ty,props:o,className:s,style:E,classNames:C,styles:R,unstyled:N,vars:T,varsResolver:QE});return S.jsxs(fe,{...z("root"),mod:[{"data-with-icon":!!v||c,"data-with-border":m},O],ref:r,variant:j,role:F||"alert",...H,children:[v&&!c&&S.jsx("div",{...z("icon"),children:v}),c&&S.jsx(to,{size:28,color:l,...A,...z("loader")}),S.jsxs("div",{...z("body"),children:[h&&S.jsx("div",{...z("title"),children:h}),S.jsx(fe,{...z("description"),mod:{"data-with-title":!!h},children:g})]}),d&&S.jsx(Zo,{iconSize:16,color:"gray",...w,unstyled:N,onClick:y,...z("closeButton")})]})});rd.classes=ty;rd.displayName="@mantine/core/Notification";function ny(t,r){var o={};for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&r.indexOf(s)<0&&(o[s]=t[s]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var l=0,s=Object.getOwnPropertySymbols(t);l=d?l=l+Yh("0",c-d):l=(l.substring(0,c)||"0")+"."+l.substring(c),o+l}function Xh(t,r,o){if(["","-"].indexOf(t)!==-1)return t;var s=(t.indexOf(".")!==-1||o)&&r,l=od(t),u=l.beforeDecimal,c=l.afterDecimal,d=l.hasNegation,m=parseFloat("0."+(c||"0")),h=c.length<=r?"0."+c:m.toFixed(r),v=h.split("."),g=u;u&&Number(v[0])&&(g=u.split("").reverse().reduce(function(E,R,N){return E.length>N?(Number(E[0])+Number(R)).toString()+E.substring(1,E.length):R+E},v[0]));var y=iy(v[1]||"",r,o),w=d?"-":"",C=s?".":"";return""+w+g+C+y}function Xr(t,r){if(t.value=t.value,t!==null){if(t.createTextRange){var o=t.createTextRange();return o.move("character",r),o.select(),!0}return t.selectionStart||t.selectionStart===0?(t.focus(),t.setSelectionRange(r,r),!0):(t.focus(),!1)}}var ly=qE(function(t,r){for(var o=0,s=0,l=t.length,u=r.length;t[o]===r[o]&&oo&&l-s>o;)s++;return{from:{start:o,end:l-s},to:{start:o,end:u-s}}}),nR=function(t,r){var o=Math.min(t.selectionStart,r);return{from:{start:o,end:t.selectionEnd},to:{start:o,end:r}}};function rR(t,r,o){return Math.min(Math.max(t,r),o)}function jc(t){return Math.max(t.selectionStart,t.selectionEnd)}function oR(){return typeof navigator<"u"&&!(navigator.platform&&/iPhone|iPod/.test(navigator.platform))}function iR(t){return{from:{start:0,end:0},to:{start:0,end:t.length},lastValue:""}}function sR(t){var r=t.currentValue,o=t.formattedValue,s=t.currentValueIndex,l=t.formattedValueIndex;return r[s]===o[l]}function lR(t,r,o,s,l,u,c){c===void 0&&(c=sR);var d=l.findIndex(function(O){return O}),m=t.slice(0,d);!r&&!o.startsWith(m)&&(r=m,o=m+o,s=s+m.length);for(var h=o.length,v=t.length,g={},y=new Array(h),w=0;w0&&y[N]===-1;)N--;var T=N===-1||y[N]===-1?0:y[N]+1;return T>j?j:s-T=0&&!o[r];)r--;r===-1&&(r=o.indexOf(!0))}else{for(;r<=l&&!o[r];)r++;r>l&&(r=o.lastIndexOf(!0))}return r===-1&&(r=l),r}function aR(t){for(var r=Array.from({length:t.length+1}).map(function(){return!0}),o=0,s=r.length;oH.length-c.length||FX||g>t.length-c.length)&&(q=g),t=t.substring(0,q),t=dR(T?"-"+t:t,l),t=(t.match(pR(C))||[]).join("");var K=t.indexOf(C);t=t.replace(new RegExp(oy(C),"g"),function(V,_){return _===K?".":""});var Z=od(t,l),te=Z.beforeDecimal,J=Z.afterDecimal,B=Z.addNegation;return h.end-h.startk?!1:U>=ie.start&&U=r,l=o===void 0||t<=o;return s&&l}const ER={step:1,clampBehavior:"blur",allowDecimal:!0,allowNegative:!0,withKeyboardEvents:!0,allowLeadingZeros:!0,trimLeadingZeroesOnBlur:!0,startValue:0},RR=(t,{size:r})=>({controls:{"--ni-chevron-size":Xe(r,"ni-chevron-size")}});function kR(t,r,o){const s=t.toString().replace(/^0+/,""),l=parseFloat(s);return Number.isNaN(l)?s:l>Number.MAX_SAFE_INTEGER?r!==void 0?String(r):s:El(l,o,r)}const id=be((t,r)=>{const o=se("NumberInput",ER,t),{className:s,classNames:l,styles:u,unstyled:c,vars:d,onChange:m,onValueChange:h,value:v,defaultValue:g,max:y,min:w,step:C,hideControls:E,rightSection:R,isAllowed:N,clampBehavior:j,onBlur:T,allowDecimal:O,decimalScale:A,onKeyDown:F,onKeyDownCapture:H,handlersRef:z,startValue:Q,disabled:q,rightSectionPointerEvents:X,allowNegative:K,readOnly:Z,size:te,rightSectionWidth:J,stepHoldInterval:B,stepHoldDelay:V,allowLeadingZeros:_,withKeyboardEvents:M,trimLeadingZeroesOnBlur:U,...k}=o,D=Ie({name:"NumberInput",classes:Kc,props:o,classNames:l,styles:u,unstyled:c,vars:d,varsResolver:RR}),{resolvedClassNames:le,resolvedStyles:ve}=es({classNames:l,styles:u,props:o}),[ie,ce]=Fo({value:v,defaultValue:g,finalValue:"",onChange:m}),Se=V!==void 0&&B!==void 0,ye=x.useRef(null),Re=x.useRef(null),je=x.useRef(0),qe=(ae,Ce)=>{Ce.source==="event"&&ce(CR(ae.floatValue,ae.value)&&!xR.test(ae.value)&&!(_&&SR.test(ae.value))?ae.floatValue:ae.value),h==null||h(ae,Ce)},nt=ae=>{const Ce=String(ae).match(/(?:\.(\d+))?(?:[eE]([+-]?\d+))?$/);return Ce?Math.max(0,(Ce[1]?Ce[1].length:0)-(Ce[2]?+Ce[2]:0)):0},Ze=ae=>{ye.current&&typeof ae<"u"&&ye.current.setSelectionRange(ae,ae)},rt=x.useRef(Mc);rt.current=()=>{if(!$c(ie))return;let ae;const Ce=nt(ie),Ve=nt(C),ht=Math.max(Ce,Ve),at=10**ht;if(!Qc(ie)&&(typeof ie!="number"||Number.isNaN(ie)))ae=El(Q,w,y);else if(y!==void 0){const Be=(Math.round(Number(ie)*at)+Math.round(C*at))/at;ae=Be<=y?Be:y}else ae=(Math.round(Number(ie)*at)+Math.round(C*at))/at;const Fe=ae.toFixed(ht);ce(parseFloat(Fe)),h==null||h({floatValue:parseFloat(Fe),formattedValue:Fe,value:Fe},{source:"increment"}),setTimeout(()=>{var Be;return Ze((Be=ye.current)==null?void 0:Be.value.length)},0)};const ot=x.useRef(Mc);ot.current=()=>{if(!$c(ie))return;let ae;const Ce=w!==void 0?w:K?Number.MIN_SAFE_INTEGER:0,Ve=nt(ie),ht=nt(C),at=Math.max(Ve,ht),Fe=10**at;if(!Qc(ie)&&typeof ie!="number"||Number.isNaN(ie))ae=El(Q,Ce,y);else{const Le=(Math.round(Number(ie)*Fe)-Math.round(C*Fe))/Fe;ae=Ce!==void 0&&Le{var Le;return Ze((Le=ye.current)==null?void 0:Le.value.length)},0)};const Pt=ae=>{F==null||F(ae),!(Z||!M)&&(ae.key==="ArrowUp"&&(ae.preventDefault(),rt.current()),ae.key==="ArrowDown"&&(ae.preventDefault(),ot.current()))},ue=ae=>{if(H==null||H(ae),ae.key==="Backspace"){const Ce=ye.current;Ce.selectionStart===0&&Ce.selectionStart===Ce.selectionEnd&&(ae.preventDefault(),window.setTimeout(()=>Ze(0),0))}},de=ae=>{let Ce=ie;j==="blur"&&typeof Ce=="number"&&(Ce=El(Ce,w,y)),U&&typeof Ce=="string"&&nt(Ce)<15&&(Ce=kR(Ce,y,w)),ie!==Ce&&ce(Ce),T==null||T(ae)};_l(z,{increment:rt.current,decrement:ot.current});const we=ae=>{ae?rt.current():ot.current(),je.current+=1},Ee=ae=>{if(we(ae),Se){const Ce=typeof B=="number"?B:B(je.current);Re.current=window.setTimeout(()=>Ee(ae),Ce)}},$e=(ae,Ce)=>{var Ve;ae.preventDefault(),(Ve=ye.current)==null||Ve.focus(),we(Ce),Se&&(Re.current=window.setTimeout(()=>Ee(Ce),V))},Pe=()=>{Re.current&&window.clearTimeout(Re.current),Re.current=null,je.current=0},Te=S.jsxs("div",{...D("controls"),children:[S.jsx(Xn,{...D("control"),tabIndex:-1,"aria-hidden":!0,disabled:q||typeof ie=="number"&&y!==void 0&&ie>=y,mod:{direction:"up"},onMouseDown:ae=>ae.preventDefault(),onPointerDown:ae=>{$e(ae,!0)},onPointerUp:Pe,onPointerLeave:Pe,children:S.jsx(qh,{direction:"up"})}),S.jsx(Xn,{...D("control"),tabIndex:-1,"aria-hidden":!0,disabled:q||typeof ie=="number"&&w!==void 0&&ie<=w,mod:{direction:"down"},onMouseDown:ae=>ae.preventDefault(),onPointerDown:ae=>{$e(ae,!1)},onPointerUp:Pe,onPointerLeave:Pe,children:S.jsx(qh,{direction:"down"})})]});return S.jsx(Zn,{component:wR,allowNegative:K,className:lt(Kc.root,s),size:te,...k,readOnly:Z,disabled:q,value:ie,getInputRef:Ot(r,ye),onValueChange:qe,rightSection:E||Z||!$c(ie)?R:R||Te,classNames:le,styles:ve,unstyled:c,__staticSelector:"NumberInput",decimalScale:O?A:0,onKeyDown:Pt,onKeyDownCapture:ue,rightSectionPointerEvents:X??(q?"none":void 0),rightSectionWidth:J??`var(--ni-right-section-width-${te||"sm"})`,allowLeadingZeros:_,onBlur:de,isAllowed:ae=>j==="strict"?N?N(ae)&&Zh(ae.floatValue,w,y):Zh(ae.floatValue,w,y):N?N(ae):!0})});id.classes={...Zn.classes,...Kc};id.displayName="@mantine/core/NumberInput";const NR=({reveal:t})=>S.jsx("svg",{viewBox:"0 0 15 15",fill:"none",xmlns:"http://www.w3.org/2000/svg",style:{width:"var(--psi-icon-size)",height:"var(--psi-icon-size)"},children:S.jsx("path",{d:t?"M13.3536 2.35355C13.5488 2.15829 13.5488 1.84171 13.3536 1.64645C13.1583 1.45118 12.8417 1.45118 12.6464 1.64645L10.6828 3.61012C9.70652 3.21671 8.63759 3 7.5 3C4.30786 3 1.65639 4.70638 0.0760002 7.23501C-0.0253338 7.39715 -0.0253334 7.60288 0.0760014 7.76501C0.902945 9.08812 2.02314 10.1861 3.36061 10.9323L1.64645 12.6464C1.45118 12.8417 1.45118 13.1583 1.64645 13.3536C1.84171 13.5488 2.15829 13.5488 2.35355 13.3536L4.31723 11.3899C5.29348 11.7833 6.36241 12 7.5 12C10.6921 12 13.3436 10.2936 14.924 7.76501C15.0253 7.60288 15.0253 7.39715 14.924 7.23501C14.0971 5.9119 12.9769 4.81391 11.6394 4.06771L13.3536 2.35355ZM9.90428 4.38861C9.15332 4.1361 8.34759 4 7.5 4C4.80285 4 2.52952 5.37816 1.09622 7.50001C1.87284 8.6497 2.89609 9.58106 4.09974 10.1931L9.90428 4.38861ZM5.09572 10.6114L10.9003 4.80685C12.1039 5.41894 13.1272 6.35031 13.9038 7.50001C12.4705 9.62183 10.1971 11 7.5 11C6.65241 11 5.84668 10.8639 5.09572 10.6114Z":"M7.5 11C4.80285 11 2.52952 9.62184 1.09622 7.50001C2.52952 5.37816 4.80285 4 7.5 4C10.1971 4 12.4705 5.37816 13.9038 7.50001C12.4705 9.62183 10.1971 11 7.5 11ZM7.5 3C4.30786 3 1.65639 4.70638 0.0760002 7.23501C-0.0253338 7.39715 -0.0253334 7.60288 0.0760014 7.76501C1.65639 10.2936 4.30786 12 7.5 12C10.6921 12 13.3436 10.2936 14.924 7.76501C15.0253 7.60288 15.0253 7.39715 14.924 7.23501C13.3436 4.70638 10.6921 3 7.5 3ZM7.5 9.5C8.60457 9.5 9.5 8.60457 9.5 7.5C9.5 6.39543 8.60457 5.5 7.5 5.5C6.39543 5.5 5.5 6.39543 5.5 7.5C5.5 8.60457 6.39543 9.5 7.5 9.5Z",fill:"currentColor",fillRule:"evenodd",clipRule:"evenodd"})});var qc={root:"m_f61ca620",input:"m_ccf8da4c",innerInput:"m_f2d85dd2",visibilityToggle:"m_b1072d44"};const PR={visibilityToggleIcon:NR},_R=(t,{size:r})=>({root:{"--psi-icon-size":Xe(r,"psi-icon-size"),"--psi-button-size":Xe(r,"psi-button-size")}}),sd=be((t,r)=>{const o=se("PasswordInput",PR,t),{classNames:s,className:l,style:u,styles:c,unstyled:d,vars:m,required:h,error:v,leftSection:g,disabled:y,id:w,variant:C,inputContainer:E,description:R,label:N,size:j,errorProps:T,descriptionProps:O,labelProps:A,withAsterisk:F,inputWrapperOrder:H,wrapperProps:z,radius:Q,rightSection:q,rightSectionWidth:X,rightSectionPointerEvents:K,leftSectionWidth:Z,visible:te,defaultVisible:J,onVisibilityChange:B,visibilityToggleIcon:V,visibilityToggleButtonProps:_,rightSectionProps:M,leftSectionProps:U,leftSectionPointerEvents:k,withErrorStyles:D,mod:le,...ve}=o,ie=kr(w),[ce,Se]=Fo({value:te,defaultValue:J,finalValue:!1,onChange:B}),ye=()=>Se(!ce),Re=Ie({name:"PasswordInput",classes:qc,props:o,className:l,style:u,classNames:s,styles:c,unstyled:d,vars:m,varsResolver:_R}),{resolvedClassNames:je,resolvedStyles:qe}=es({classNames:s,styles:c,props:o}),{styleProps:nt,rest:Ze}=Hl(ve),rt=V,ot=(T==null?void 0:T.id)||`${ie}-error`,Pt=(O==null?void 0:O.id)||`${ie}-description`,we=`${!!v&&typeof v!="boolean"?ot:""} ${!!R?Pt:""}`,Ee=we.trim().length>0?we.trim():void 0,$e=S.jsx(jn,{...Re("visibilityToggle"),disabled:y,radius:Q,"aria-hidden":!_,tabIndex:-1,..._,variant:(_==null?void 0:_.variant)??"subtle",color:"gray",unstyled:d,onTouchEnd:Pe=>{var Te;Pe.preventDefault(),(Te=_==null?void 0:_.onTouchEnd)==null||Te.call(_,Pe),ye()},onMouseDown:Pe=>{var Te;Pe.preventDefault(),(Te=_==null?void 0:_.onMouseDown)==null||Te.call(_,Pe),ye()},onKeyDown:Pe=>{var Te;(Te=_==null?void 0:_.onKeyDown)==null||Te.call(_,Pe),Pe.key===" "&&(Pe.preventDefault(),ye())},children:S.jsx(rt,{reveal:ce})});return S.jsx(Nt.Wrapper,{required:h,id:ie,label:N,error:v,description:R,size:j,classNames:je,styles:qe,__staticSelector:"PasswordInput",unstyled:d,withAsterisk:F,inputWrapperOrder:H,inputContainer:E,variant:C,labelProps:{...A,htmlFor:ie},descriptionProps:{...O,id:Pt},errorProps:{...T,id:ot},mod:le,...Re("root"),...nt,...z,children:S.jsx(Nt,{component:"div",error:v,leftSection:g,size:j,classNames:{...je,input:lt(qc.input,je.input)},styles:qe,radius:Q,disabled:y,__staticSelector:"PasswordInput",rightSectionWidth:X,rightSection:q??$e,variant:C,unstyled:d,leftSectionWidth:Z,rightSectionPointerEvents:K||"all",rightSectionProps:M,leftSectionProps:U,leftSectionPointerEvents:k,withAria:!1,withErrorStyles:D,children:S.jsx("input",{required:h,"data-invalid":!!v||void 0,"data-with-left-section":!!g||void 0,...Re("innerInput"),disabled:y,id:ie,ref:r,...Ze,"aria-describedby":Ee,autoComplete:Ze.autoComplete||"off",type:ce?"text":"password"})})})});sd.classes={...Zn.classes,...qc};sd.displayName="@mantine/core/PasswordInput";const TR={duration:100,transition:"fade"};function jR(t,r){return{...TR,...r,...t}}function $R({offset:t,position:r,defaultOpened:o}){const[s,l]=x.useState(o),u=x.useRef(null),{x:c,y:d,elements:m,refs:h,update:v,placement:g}=kf({placement:r,middleware:[bf({crossAxis:!0,padding:5,rootBoundary:"document"})]}),y=g.includes("right")?t:r.includes("left")?t*-1:0,w=g.includes("bottom")?t:r.includes("top")?t*-1:0,C=x.useCallback(({clientX:E,clientY:R})=>{h.setPositionReference({getBoundingClientRect(){return{width:0,height:0,x:E,y:R,left:E+y,top:R+w,right:E,bottom:R}}})},[m.reference]);return x.useEffect(()=>{if(h.floating.current){const E=u.current;E.addEventListener("mousemove",C);const R=Wn(h.floating.current);return R.forEach(N=>{N.addEventListener("scroll",v)}),()=>{E.removeEventListener("mousemove",C),R.forEach(N=>{N.removeEventListener("scroll",v)})}}},[m.reference,h.floating.current,v,C,s]),{handleMouseMove:C,x:c,y:d,opened:s,setOpened:l,boundaryRef:u,floating:h.setFloating}}var ga={tooltip:"m_1b3c8819",arrow:"m_f898399f"};const OR={refProp:"ref",withinPortal:!0,offset:10,defaultOpened:!1,position:"right",zIndex:Sn("popover")},IR=(t,{radius:r,color:o})=>({tooltip:{"--tooltip-radius":r===void 0?void 0:$t(r),"--tooltip-bg":o?Un(o,t):void 0,"--tooltip-color":o?"var(--mantine-color-white)":void 0}}),ld=be((t,r)=>{const o=se("TooltipFloating",OR,t),{children:s,refProp:l,withinPortal:u,style:c,className:d,classNames:m,styles:h,unstyled:v,radius:g,color:y,label:w,offset:C,position:E,multiline:R,zIndex:N,disabled:j,defaultOpened:T,variant:O,vars:A,portalProps:F,...H}=o,z=rn(),Q=Ie({name:"TooltipFloating",props:o,classes:ga,className:d,style:c,classNames:m,styles:h,unstyled:v,rootSelector:"tooltip",vars:A,varsResolver:IR}),{handleMouseMove:q,x:X,y:K,opened:Z,boundaryRef:te,floating:J,setOpened:B}=$R({offset:C,position:E,defaultOpened:T});if(!Jr(s))throw new Error("[@mantine/core] Tooltip.Floating component children should be an element or a component that accepts ref, fragments, strings, numbers and other primitive values are not supported");const V=Ot(te,Vl(s),r),_=s.props,M=k=>{var D;(D=_.onMouseEnter)==null||D.call(_,k),q(k),B(!0)},U=k=>{var D;(D=_.onMouseLeave)==null||D.call(_,k),B(!1)};return S.jsxs(S.Fragment,{children:[S.jsx(eo,{...F,withinPortal:u,children:S.jsx(fe,{...H,...Q("tooltip",{style:{...mf(c,z),zIndex:N,display:!j&&Z?"block":"none",top:(K&&Math.round(K))??"",left:(X&&Math.round(X))??""}}),variant:O,ref:J,mod:{multiline:R},children:w})}),x.cloneElement(s,{..._,[l]:V,onMouseEnter:M,onMouseLeave:U})]})});ld.classes=ga;ld.displayName="@mantine/core/TooltipFloating";const uy=x.createContext(!1),MR=uy.Provider,AR=()=>x.useContext(uy),DR={openDelay:0,closeDelay:0};function ad(t){const{openDelay:r,closeDelay:o,children:s}=se("TooltipGroup",DR,t);return S.jsx(MR,{value:!0,children:S.jsx(ab,{delay:{open:r,close:o},children:s})})}ad.displayName="@mantine/core/TooltipGroup";ad.extend=t=>t;function LR(t){if(t===void 0)return{shift:!0,flip:!0};const r={...t};return t.shift===void 0&&(r.shift=!0),t.flip===void 0&&(r.flip=!0),r}function zR(t){const r=LR(t.middlewares),o=[Xv(t.offset)];return r.shift&&o.push(bf(typeof r.shift=="boolean"?{padding:8}:{padding:8,...r.shift})),r.flip&&o.push(typeof r.flip=="boolean"?Il():Il(r.flip)),o.push(Kv({element:t.arrowRef,padding:t.arrowOffset})),r.inline?o.push(typeof r.inline=="boolean"?Yi():Yi(r.inline)):t.inline&&o.push(Yi()),o}function FR(t){var F,H,z;const[r,o]=x.useState(t.defaultOpened),l=typeof t.opened=="boolean"?t.opened:r,u=AR(),c=kr(),d=x.useCallback(Q=>{o(Q),Q&&j(c)},[c]),{x:m,y:h,context:v,refs:g,update:y,placement:w,middlewareData:{arrow:{x:C,y:E}={}}}=kf({strategy:t.strategy,placement:t.position,open:l,onOpenChange:d,middleware:zR(t)}),{delay:R,currentId:N,setCurrentId:j}=ub(v,{id:c}),{getReferenceProps:T,getFloatingProps:O}=vb([sb(v,{enabled:(F=t.events)==null?void 0:F.hover,delay:u?R:{open:t.openDelay,close:t.closeDelay},mouseOnly:!((H=t.events)!=null&&H.touch)}),hb(v,{enabled:(z=t.events)==null?void 0:z.focus,visibleOnly:!0}),yb(v,{role:"tooltip"}),pb(v,{enabled:typeof t.opened>"u"})]);Sg({opened:l,position:t.position,positionDependencies:t.positionDependencies,floating:{refs:g,update:y}}),Hn(()=>{var Q;(Q=t.onPositionChange)==null||Q.call(t,w)},[w]);const A=l&&N&&N!==c;return{x:m,y:h,arrowX:C,arrowY:E,reference:g.setReference,floating:g.setFloating,getFloatingProps:O,getReferenceProps:T,isGroupPhase:A,opened:l,placement:w}}const Jh={position:"top",refProp:"ref",withinPortal:!0,inline:!1,defaultOpened:!1,arrowSize:4,arrowOffset:5,arrowRadius:0,arrowPosition:"side",offset:5,transitionProps:{duration:100,transition:"fade"},events:{hover:!0,focus:!1,touch:!1},zIndex:Sn("popover"),positionDependencies:[],middlewares:{flip:!0,shift:!0,inline:!1}},BR=(t,{radius:r,color:o})=>({tooltip:{"--tooltip-radius":r===void 0?void 0:$t(r),"--tooltip-bg":o?Un(o,t):void 0,"--tooltip-color":o?"var(--mantine-color-white)":void 0}}),is=be((t,r)=>{const o=se("Tooltip",Jh,t),{children:s,position:l,refProp:u,label:c,openDelay:d,closeDelay:m,onPositionChange:h,opened:v,defaultOpened:g,withinPortal:y,radius:w,color:C,classNames:E,styles:R,unstyled:N,style:j,className:T,withArrow:O,arrowSize:A,arrowOffset:F,arrowRadius:H,arrowPosition:z,offset:Q,transitionProps:q,multiline:X,events:K,zIndex:Z,disabled:te,positionDependencies:J,onClick:B,onMouseEnter:V,onMouseLeave:_,inline:M,variant:U,keepMounted:k,vars:D,portalProps:le,mod:ve,floatingStrategy:ie,middlewares:ce,...Se}=se("Tooltip",Jh,o),{dir:ye}=Ul(),Re=x.useRef(null),je=FR({position:mg(ye,l),closeDelay:m,openDelay:d,onPositionChange:h,opened:v,defaultOpened:g,events:K,arrowRef:Re,arrowOffset:F,offset:typeof Q=="number"?Q+(O?A/2:0):Q,positionDependencies:[...J,s],inline:M,strategy:ie,middlewares:ce}),qe=Ie({name:"Tooltip",props:o,classes:ga,className:T,style:j,classNames:E,styles:R,unstyled:N,rootSelector:"tooltip",vars:D,varsResolver:BR});if(!Jr(s))throw new Error("[@mantine/core] Tooltip component children should be an element or a component that accepts ref, fragments, strings, numbers and other primitive values are not supported");const nt=Ot(je.reference,Vl(s),r),Ze=jR(q,{duration:100,transition:"fade"}),rt=s.props;return S.jsxs(S.Fragment,{children:[S.jsx(eo,{...le,withinPortal:y,children:S.jsx(Nr,{...Ze,keepMounted:k,mounted:!te&&!!je.opened,duration:je.isGroupPhase?10:Ze.duration,children:ot=>S.jsxs(fe,{...Se,"data-fixed":ie==="fixed"||void 0,variant:U,mod:[{multiline:X},ve],...je.getFloatingProps({ref:je.floating,className:qe("tooltip").className,style:{...qe("tooltip").style,...ot,zIndex:Z,top:je.y??0,left:je.x??0}}),children:[c,S.jsx(jf,{ref:Re,arrowX:je.arrowX,arrowY:je.arrowY,visible:O,position:je.placement,arrowSize:A,arrowOffset:F,arrowRadius:H,arrowPosition:z,...qe("arrow")})]})})}),x.cloneElement(s,je.getReferenceProps({onClick:B,onMouseEnter:V,onMouseLeave:_,onMouseMove:o.onMouseMove,onPointerDown:o.onPointerDown,onPointerEnter:o.onPointerEnter,className:lt(T,rt.className),...rt,[u]:nt}))]})});is.classes=ga;is.displayName="@mantine/core/Tooltip";is.Floating=ld;is.Group=ad;const VR={searchable:!1,withCheckIcon:!0,allowDeselect:!0,checkIconPosition:"left"},ud=be((t,r)=>{const o=se("Select",VR,t),{classNames:s,styles:l,unstyled:u,vars:c,dropdownOpened:d,defaultDropdownOpened:m,onDropdownClose:h,onDropdownOpen:v,onFocus:g,onBlur:y,onClick:w,onChange:C,data:E,value:R,defaultValue:N,selectFirstOptionOnChange:j,onOptionSubmit:T,comboboxProps:O,readOnly:A,disabled:F,filter:H,limit:z,withScrollArea:Q,maxDropdownHeight:q,size:X,searchable:K,rightSection:Z,checkIconPosition:te,withCheckIcon:J,nothingFoundMessage:B,name:V,form:_,searchValue:M,defaultSearchValue:U,onSearchChange:k,allowDeselect:D,error:le,rightSectionPointerEvents:ve,id:ie,clearable:ce,clearButtonProps:Se,hiddenInputProps:ye,renderOption:Re,onClear:je,autoComplete:qe,scrollAreaProps:nt,__defaultRightSection:Ze,__clearSection:rt,__clearable:ot,chevronColor:Pt,...ue}=o,de=x.useMemo(()=>qC(E),[E]),we=x.useMemo(()=>Fg(de),[de]),Ee=kr(ie),[$e,Pe,Te]=Fo({value:R,defaultValue:N,finalValue:null,onChange:C}),ae=typeof $e=="string"?we[$e]:void 0,Ce=_1(ae),[Ve,ht,at]=Fo({value:M,defaultValue:U,finalValue:ae?ae.label:"",onChange:k}),Fe=Gg({opened:d,defaultOpened:m,onDropdownOpen:()=>{v==null||v(),Fe.updateSelectedOptionIndex("active",{scrollIntoView:!0})},onDropdownClose:()=>{h==null||h(),Fe.resetSelectedOption()}}),Be=ut=>{ht(ut),Fe.resetSelectedOption()},{resolvedClassNames:Le,resolvedStyles:ss}=es({props:o,styles:l,classNames:s});x.useEffect(()=>{j&&Fe.selectFirstOption()},[j,Ve]),x.useEffect(()=>{R===null&&Be(""),typeof R=="string"&&ae&&((Ce==null?void 0:Ce.value)!==ae.value||(Ce==null?void 0:Ce.label)!==ae.label)&&Be(ae.label)},[R,ae]),x.useEffect(()=>{var ut;!Te&&!at&&Be(typeof $e=="string"&&((ut=we[$e])==null?void 0:ut.label)||"")},[E,$e]);const ls=S.jsx(ze.ClearButton,{...Se,onClear:()=>{Pe(null,null),Be(""),je==null||je()}}),ri=ce&&!!$e&&!F&&!A;return S.jsxs(S.Fragment,{children:[S.jsxs(ze,{store:Fe,__staticSelector:"Select",classNames:Le,styles:ss,unstyled:u,readOnly:A,onOptionSubmit:ut=>{T==null||T(ut);const Wt=D&&we[ut].value===$e?null:we[ut],Tr=Wt?Wt.value:null;Tr!==$e&&Pe(Tr,Wt),!Te&&Be(typeof Tr=="string"&&(Wt==null?void 0:Wt.label)||""),Fe.closeDropdown()},size:X,...O,children:[S.jsx(ze.Target,{targetType:K?"input":"button",autoComplete:qe,children:S.jsx(Zn,{id:Ee,ref:r,__defaultRightSection:S.jsx(ze.Chevron,{size:X,error:le,unstyled:u,color:Pt}),__clearSection:ls,__clearable:ri,rightSection:Z,rightSectionPointerEvents:ve||(ri?"all":"none"),...ue,size:X,__staticSelector:"Select",disabled:F,readOnly:A||!K,value:Ve,onChange:ut=>{Be(ut.currentTarget.value),Fe.openDropdown(),j&&Fe.selectFirstOption()},onFocus:ut=>{K&&Fe.openDropdown(),g==null||g(ut)},onBlur:ut=>{var Wt;K&&Fe.closeDropdown(),Be($e!=null&&((Wt=we[$e])==null?void 0:Wt.label)||""),y==null||y(ut)},onClick:ut=>{K?Fe.openDropdown():Fe.toggleDropdown(),w==null||w(ut)},classNames:Le,styles:ss,unstyled:u,pointer:!K,error:le})}),S.jsx(SE,{data:de,hidden:A||F,filter:H,search:Ve,limit:z,hiddenWhenEmpty:!B,withScrollArea:Q,maxDropdownHeight:q,filterOptions:K&&(ae==null?void 0:ae.label)!==Ve,value:$e,checkIconPosition:te,withCheckIcon:J,nothingFoundMessage:B,unstyled:u,labelId:ue.label?`${Ee}-label`:void 0,"aria-label":ue.label?void 0:ue["aria-label"],renderOption:Re,scrollAreaProps:nt})]}),S.jsx(ze.HiddenInput,{value:$e,name:V,form:_,disabled:F,...ye})]})});ud.classes={...Zn.classes,...ze.classes};ud.displayName="@mantine/core/Select";var cy={root:"m_6d731127"};const WR={gap:"md",align:"stretch",justify:"flex-start"},HR=(t,{gap:r,align:o,justify:s})=>({root:{"--stack-gap":Uo(r),"--stack-align":o,"--stack-justify":s}}),Kn=be((t,r)=>{const o=se("Stack",WR,t),{classNames:s,className:l,style:u,styles:c,unstyled:d,vars:m,align:h,justify:v,gap:g,variant:y,...w}=o,C=Ie({name:"Stack",props:o,classes:cy,className:l,style:u,classNames:s,styles:c,unstyled:d,vars:m,varsResolver:HR});return S.jsx(fe,{ref:r,...C("root"),variant:y,...w})});Kn.classes=cy;Kn.displayName="@mantine/core/Stack";const UR={},ya=be((t,r)=>{const o=se("TextInput",UR,t);return S.jsx(Zn,{component:"input",ref:r,...o,__staticSelector:"TextInput"})});ya.classes=Zn.classes;ya.displayName="@mantine/core/TextInput";function GR(t){let r=t,o=!1;const s=new Set;return{getState(){return r},updateState(l){r=typeof l=="function"?l(r):l},setState(l){this.updateState(l),s.forEach(u=>u(r))},initialize(l){o||(r=l,o=!0)},subscribe(l){return s.add(l),()=>s.delete(l)}}}function YR(t){return x.useSyncExternalStore(t.subscribe,()=>t.getState(),()=>t.getState())}function XR(t,r,o){const s=[],l=[],u={};for(const c of t){const d=c.position||r;u[d]=u[d]||0,u[d]+=1,u[d]<=o?l.push(c):s.push(c)}return{notifications:l,queue:s}}const KR=()=>GR({notifications:[],queue:[],defaultPosition:"bottom-right",limit:5}),no=KR(),QR=(t=no)=>YR(t);function ni(t,r){const o=t.getState(),s=r([...o.notifications,...o.queue]),l=XR(s,o.defaultPosition,o.limit);t.setState({notifications:l.notifications,queue:l.queue,limit:o.limit,defaultPosition:o.defaultPosition})}function qR(t,r=no){const o=t.id||vv();return ni(r,s=>t.id&&s.some(l=>l.id===t.id)?s:[...s,{...t,id:o}]),o}function fy(t,r=no){return ni(r,o=>o.filter(s=>{var l;return s.id===t?((l=s.onClose)==null||l.call(s,s),!1):!0})),t}function ZR(t,r=no){return ni(r,o=>o.map(s=>s.id===t.id?{...s,...t}:s)),t.id}function JR(t=no){ni(t,()=>[])}function e2(t=no){ni(t,r=>r.slice(0,t.getState().limit))}const yt={show:qR,hide:fy,update:ZR,clean:JR,cleanQueue:e2,updateState:ni};function Zc(t,r){return Zc=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(o,s){return o.__proto__=s,o},Zc(t,r)}function dy(t,r){t.prototype=Object.create(r.prototype),t.prototype.constructor=t,Zc(t,r)}const ev={disabled:!1},Dl=st.createContext(null);var t2=function(r){return r.scrollTop},Gi="unmounted",Ur="exited",Gr="entering",Ao="entered",Jc="exiting",er=(function(t){dy(r,t);function r(s,l){var u;u=t.call(this,s,l)||this;var c=l,d=c&&!c.isMounting?s.enter:s.appear,m;return u.appearStatus=null,s.in?d?(m=Ur,u.appearStatus=Gr):m=Ao:s.unmountOnExit||s.mountOnEnter?m=Gi:m=Ur,u.state={status:m},u.nextCallback=null,u}r.getDerivedStateFromProps=function(l,u){var c=l.in;return c&&u.status===Gi?{status:Ur}:null};var o=r.prototype;return o.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},o.componentDidUpdate=function(l){var u=null;if(l!==this.props){var c=this.state.status;this.props.in?c!==Gr&&c!==Ao&&(u=Gr):(c===Gr||c===Ao)&&(u=Jc)}this.updateStatus(!1,u)},o.componentWillUnmount=function(){this.cancelNextCallback()},o.getTimeouts=function(){var l=this.props.timeout,u,c,d;return u=c=d=l,l!=null&&typeof l!="number"&&(u=l.exit,c=l.enter,d=l.appear!==void 0?l.appear:c),{exit:u,enter:c,appear:d}},o.updateStatus=function(l,u){if(l===void 0&&(l=!1),u!==null)if(this.cancelNextCallback(),u===Gr){if(this.props.unmountOnExit||this.props.mountOnEnter){var c=this.props.nodeRef?this.props.nodeRef.current:Ui.findDOMNode(this);c&&t2(c)}this.performEnter(l)}else this.performExit();else this.props.unmountOnExit&&this.state.status===Ur&&this.setState({status:Gi})},o.performEnter=function(l){var u=this,c=this.props.enter,d=this.context?this.context.isMounting:l,m=this.props.nodeRef?[d]:[Ui.findDOMNode(this),d],h=m[0],v=m[1],g=this.getTimeouts(),y=d?g.appear:g.enter;if(!l&&!c||ev.disabled){this.safeSetState({status:Ao},function(){u.props.onEntered(h)});return}this.props.onEnter(h,v),this.safeSetState({status:Gr},function(){u.props.onEntering(h,v),u.onTransitionEnd(y,function(){u.safeSetState({status:Ao},function(){u.props.onEntered(h,v)})})})},o.performExit=function(){var l=this,u=this.props.exit,c=this.getTimeouts(),d=this.props.nodeRef?void 0:Ui.findDOMNode(this);if(!u||ev.disabled){this.safeSetState({status:Ur},function(){l.props.onExited(d)});return}this.props.onExit(d),this.safeSetState({status:Jc},function(){l.props.onExiting(d),l.onTransitionEnd(c.exit,function(){l.safeSetState({status:Ur},function(){l.props.onExited(d)})})})},o.cancelNextCallback=function(){this.nextCallback!==null&&(this.nextCallback.cancel(),this.nextCallback=null)},o.safeSetState=function(l,u){u=this.setNextCallback(u),this.setState(l,u)},o.setNextCallback=function(l){var u=this,c=!0;return this.nextCallback=function(d){c&&(c=!1,u.nextCallback=null,l(d))},this.nextCallback.cancel=function(){c=!1},this.nextCallback},o.onTransitionEnd=function(l,u){this.setNextCallback(u);var c=this.props.nodeRef?this.props.nodeRef.current:Ui.findDOMNode(this),d=l==null&&!this.props.addEndListener;if(!c||d){setTimeout(this.nextCallback,0);return}if(this.props.addEndListener){var m=this.props.nodeRef?[this.nextCallback]:[c,this.nextCallback],h=m[0],v=m[1];this.props.addEndListener(h,v)}l!=null&&setTimeout(this.nextCallback,l)},o.render=function(){var l=this.state.status;if(l===Gi)return null;var u=this.props,c=u.children;u.in,u.mountOnEnter,u.unmountOnExit,u.appear,u.enter,u.exit,u.timeout,u.addEndListener,u.onEnter,u.onEntering,u.onEntered,u.onExit,u.onExiting,u.onExited,u.nodeRef;var d=Jg(u,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]);return st.createElement(Dl.Provider,{value:null},typeof c=="function"?c(l,d):st.cloneElement(st.Children.only(c),d))},r})(st.Component);er.contextType=Dl;er.propTypes={};function Io(){}er.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:Io,onEntering:Io,onEntered:Io,onExit:Io,onExiting:Io,onExited:Io};er.UNMOUNTED=Gi;er.EXITED=Ur;er.ENTERING=Gr;er.ENTERED=Ao;er.EXITING=Jc;function n2(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function cd(t,r){var o=function(u){return r&&x.isValidElement(u)?r(u):u},s=Object.create(null);return t&&x.Children.map(t,function(l){return l}).forEach(function(l){s[l.key]=o(l)}),s}function r2(t,r){t=t||{},r=r||{};function o(v){return v in r?r[v]:t[v]}var s=Object.create(null),l=[];for(var u in t)u in r?l.length&&(s[u]=l,l=[]):l.push(u);var c,d={};for(var m in r){if(s[m])for(c=0;c(o[s.position||r].push(s),o),py.reduce((o,s)=>(o[s]=[],o),{}))}const tv={left:"translateX(-100%)",right:"translateX(100%)","top-center":"translateY(-100%)","bottom-center":"translateY(100%)"},u2={left:"translateX(0)",right:"translateX(0)","top-center":"translateY(0)","bottom-center":"translateY(0)"};function c2({state:t,maxHeight:r,position:o,transitionDuration:s}){const[l,u]=o.split("-"),c=u==="center"?`${l}-center`:u,d={opacity:0,maxHeight:r,transform:tv[c],transitionDuration:`${s}ms, ${s}ms, ${s}ms`,transitionTimingFunction:"cubic-bezier(.51,.3,0,1.21), cubic-bezier(.51,.3,0,1.21), linear",transitionProperty:"opacity, transform, max-height"},m={opacity:1,transform:u2[c]},h={opacity:0,maxHeight:0,transform:tv[c]};return{...d,...{entering:m,entered:m,exiting:h,exited:h}[t]}}function f2(t,r){return typeof r=="number"?r:r===!1||t===!1?!1:t}const my=x.forwardRef(({data:t,onHide:r,autoClose:o,...s},l)=>{const{autoClose:u,message:c,...d}=t,m=f2(o,t.autoClose),h=x.useRef(-1),v=()=>window.clearTimeout(h.current),g=()=>{r(t.id),v()},y=()=>{typeof m=="number"&&(h.current=window.setTimeout(g,m))};return x.useEffect(()=>{var w;(w=t.onOpen)==null||w.call(t,t)},[]),x.useEffect(()=>(y(),v),[m]),S.jsx(rd,{...s,...d,onClose:g,ref:l,onMouseEnter:v,onMouseLeave:y,children:c})});my.displayName="@mantine/notifications/NotificationContainer";var hy={root:"m_b37d9ac7",notification:"m_5ed0edd0"};const d2=er,p2={position:"bottom-right",autoClose:4e3,transitionDuration:250,containerWidth:440,notificationMaxHeight:200,limit:5,zIndex:Sn("overlay"),store:no,withinPortal:!0},m2=(t,{zIndex:r,containerWidth:o})=>({root:{"--notifications-z-index":r==null?void 0:r.toString(),"--notifications-container-width":Y(o)}}),tr=be((t,r)=>{const o=se("Notifications",p2,t),{classNames:s,className:l,style:u,styles:c,unstyled:d,vars:m,position:h,autoClose:v,transitionDuration:g,containerWidth:y,notificationMaxHeight:w,limit:C,zIndex:E,store:R,portalProps:N,withinPortal:j,...T}=o,O=rn(),A=QR(R),F=k1(),H=Bl(),z=x.useRef({}),Q=x.useRef(0),X=(O.respectReducedMotion?H:!1)?1:g,K=Ie({name:"Notifications",classes:hy,props:o,className:l,style:u,classNames:s,styles:c,unstyled:d,vars:m,varsResolver:m2});x.useEffect(()=>{R==null||R.updateState(J=>({...J,limit:C||5,defaultPosition:h}))},[C,h]),Hn(()=>{A.notifications.length>Q.current&&setTimeout(()=>F(),0),Q.current=A.notifications.length},[A.notifications]);const Z=a2(A.notifications,h),te=py.reduce((J,B)=>(J[B]=Z[B].map(({style:V,..._})=>S.jsx(d2,{timeout:X,onEnter:()=>z.current[_.id].offsetHeight,nodeRef:{current:z.current[_.id]},children:M=>S.jsx(my,{ref:U=>{z.current[_.id]=U},data:_,onHide:U=>fy(U,R),autoClose:v,...K("notification",{style:{...c2({state:M,position:B,transitionDuration:X,maxHeight:w}),...V}})})},_.id)),J),{});return S.jsxs(eo,{withinPortal:j,...N,children:[S.jsx(fe,{...K("root"),"data-position":"top-center",ref:r,...T,children:S.jsx(Sr,{children:te["top-center"]})}),S.jsx(fe,{...K("root"),"data-position":"top-left",...T,children:S.jsx(Sr,{children:te["top-left"]})}),S.jsx(fe,{...K("root",{className:zo.classNames.fullWidth}),"data-position":"top-right",...T,children:S.jsx(Sr,{children:te["top-right"]})}),S.jsx(fe,{...K("root",{className:zo.classNames.fullWidth}),"data-position":"bottom-right",...T,children:S.jsx(Sr,{children:te["bottom-right"]})}),S.jsx(fe,{...K("root"),"data-position":"bottom-left",...T,children:S.jsx(Sr,{children:te["bottom-left"]})}),S.jsx(fe,{...K("root"),"data-position":"bottom-center",...T,children:S.jsx(Sr,{children:te["bottom-center"]})})]})});tr.classes=hy;tr.displayName="@mantine/notifications/Notifications";tr.show=yt.show;tr.hide=yt.hide;tr.update=yt.update;tr.clean=yt.clean;tr.cleanQueue=yt.cleanQueue;tr.updateState=yt.updateState;/** + * @license @tabler/icons-react v3.44.0 - MIT + * + * This source code is licensed under the MIT license. + * See the LICENSE file in the root directory of this source tree. + */var h2={outline:{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"},filled:{xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"currentColor",stroke:"none"}};/** + * @license @tabler/icons-react v3.44.0 - MIT + * + * This source code is licensed under the MIT license. + * See the LICENSE file in the root directory of this source tree. + */const On=(t,r,o,s)=>{const l=x.forwardRef(({color:u="currentColor",size:c=24,stroke:d=2,title:m,className:h,children:v,...g},y)=>x.createElement("svg",{ref:y,...h2[t],width:c,height:c,className:["tabler-icon",`tabler-icon-${r}`,h].join(" "),strokeWidth:d,stroke:u,...g},[m&&x.createElement("title",{key:"svg-title"},m),...s.map(([w,C])=>x.createElement(w,C)),...Array.isArray(v)?v:[v]]));return l.displayName=`${o}`,l};/** + * @license @tabler/icons-react v3.44.0 - MIT + * + * This source code is licensed under the MIT license. + * See the LICENSE file in the root directory of this source tree. + */const v2=[["path",{d:"M3 12h4l3 8l4 -16l3 8h4",key:"svg-0"}]],nv=On("outline","activity","Activity",v2);/** + * @license @tabler/icons-react v3.44.0 - MIT + * + * This source code is licensed under the MIT license. + * See the LICENSE file in the root directory of this source tree. + */const g2=[["path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0",key:"svg-0"}],["path",{d:"M12 8v4",key:"svg-1"}],["path",{d:"M12 16h.01",key:"svg-2"}]],vy=On("outline","alert-circle","AlertCircle",g2);/** + * @license @tabler/icons-react v3.44.0 - MIT + * + * This source code is licensed under the MIT license. + * See the LICENSE file in the root directory of this source tree. + */const y2=[["path",{d:"M6 9l6 6l6 -6",key:"svg-0"}]],gy=On("outline","chevron-down","ChevronDown",y2);/** + * @license @tabler/icons-react v3.44.0 - MIT + * + * This source code is licensed under the MIT license. + * See the LICENSE file in the root directory of this source tree. + */const w2=[["path",{d:"M9 6l6 6l-6 6",key:"svg-0"}]],yy=On("outline","chevron-right","ChevronRight",w2);/** + * @license @tabler/icons-react v3.44.0 - MIT + * + * This source code is licensed under the MIT license. + * See the LICENSE file in the root directory of this source tree. + */const x2=[["path",{d:"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0",key:"svg-0"}],["path",{d:"M12 9h.01",key:"svg-1"}],["path",{d:"M11 12h1v4h1",key:"svg-2"}]],S2=On("outline","info-circle","InfoCircle",x2);/** + * @license @tabler/icons-react v3.44.0 - MIT + * + * This source code is licensed under the MIT license. + * See the LICENSE file in the root directory of this source tree. + */const b2=[["path",{d:"M5 12l14 0",key:"svg-0"}]],C2=On("outline","minus","Minus",b2);/** + * @license @tabler/icons-react v3.44.0 - MIT + * + * This source code is licensed under the MIT license. + * See the LICENSE file in the root directory of this source tree. + */const E2=[["path",{d:"M7 4v16l13 -8l-13 -8",key:"svg-0"}]],rv=On("outline","player-play","PlayerPlay",E2);/** + * @license @tabler/icons-react v3.44.0 - MIT + * + * This source code is licensed under the MIT license. + * See the LICENSE file in the root directory of this source tree. + */const R2=[["path",{d:"M12 5l0 14",key:"svg-0"}],["path",{d:"M5 12l14 0",key:"svg-1"}]],k2=On("outline","plus","Plus",R2);/** + * @license @tabler/icons-react v3.44.0 - MIT + * + * This source code is licensed under the MIT license. + * See the LICENSE file in the root directory of this source tree. + */const N2=[["path",{d:"M20 11a8.1 8.1 0 0 0 -15.5 -2m-.5 -4v4h4",key:"svg-0"}],["path",{d:"M4 13a8.1 8.1 0 0 0 15.5 2m.5 4v-4h-4",key:"svg-1"}]],ef=On("outline","refresh","Refresh",N2);/** + * @license @tabler/icons-react v3.44.0 - MIT + * + * This source code is licensed under the MIT license. + * See the LICENSE file in the root directory of this source tree. + */const P2=[["path",{d:"M4 7l16 0",key:"svg-0"}],["path",{d:"M10 11l0 6",key:"svg-1"}],["path",{d:"M14 11l0 6",key:"svg-2"}],["path",{d:"M5 7l1 12a2 2 0 0 0 2 2h8a2 2 0 0 0 2 -2l1 -12",key:"svg-3"}],["path",{d:"M9 7v-3a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v3",key:"svg-4"}]],_2=On("outline","trash","Trash",P2),wy="/dash/logo.png",T2=()=>localStorage.getItem("mv_token"),j2=t=>localStorage.setItem("mv_token",t),xy=()=>localStorage.removeItem("mv_token");let Ll=null;async function ro(t,{method:r="GET",body:o=null}={}){const s={"Content-Type":"application/json"},l=T2();l&&(s.Authorization=`Bearer ${l}`);const u=await fetch(t,{method:r,headers:s,body:o!==null?JSON.stringify(o):void 0});if(u.status===401){xy(),Ll&&Ll();const c=new Error("Session expired");throw c.status=401,c}return u}async function $2(t,r){const o=await fetch("/dash/api/auth/token",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({username:t,password:r})});if(!o.ok){const s=await o.json().catch(()=>({}));throw new Error(s.error||"Invalid credentials")}j2((await o.json()).access)}const O2=async()=>{const t=await ro("/dash/api/fields");if(!t.ok)throw new Error("Failed to load fields");return t.json()},I2=async()=>{const t=await ro("/dash/api/config");if(!t.ok)throw new Error("Failed to load config");return t.json()},Nl=async t=>{const r=await ro("/dash/api/config",{method:"PATCH",body:t});if(!r.ok){const o=await r.json().catch(()=>({}));throw new Error(o.error||"Save failed")}},M2=async()=>(await ro("/dash/api/refresh",{method:"POST"})).json(),Sy=async()=>(await ro("/dash/api/streams")).json(),ov=async t=>(await ro("/dash/api/streams/restart",{method:"POST",body:t!=null?{n:t}:{}})).json(),A2=async(t,r)=>(await ro("/dash/api/streams/restart",{method:"POST",body:{n:t,channel_idx:r}})).json(),D2=/^(video_encoder|multiview_\d+_(selector_type|channel_count|epg_source_mode))$/,L2=t=>D2.test(t);function z2({label:t,description:r}){return r?S.jsxs(Xt,{gap:4,align:"center",wrap:"nowrap",children:[S.jsx("span",{children:t}),S.jsx(is,{label:r,multiline:!0,maw:260,withArrow:!0,position:"top-start",events:{hover:!0,focus:!0,touch:!0},children:S.jsx(jn,{size:"xs",variant:"transparent",c:"dimmed",tabIndex:-1,style:{cursor:"default",flexShrink:0},children:S.jsx(S2,{size:13})})})]}):t}function tf({field:t,value:r,onChange:o}){var l;const s={label:S.jsx(z2,{label:t.label,description:t.description})};switch(t.type){case"select":return S.jsx(ud,{...s,data:((l=t.options)==null?void 0:l.map(u=>({value:String(u.value),label:u.label})))??[],value:String(r??t.default??""),onChange:o,allowDeselect:!1});case"number":return S.jsx(id,{...s,value:r??t.default??0,min:t.min,max:t.max,placeholder:t.placeholder,onChange:o});case"string":return S.jsx(ya,{...s,value:r??t.default??"",placeholder:t.placeholder,onChange:u=>o(u.currentTarget.value)});default:return null}}function by(t,r){const o=x.useRef({});return x.useCallback(async(s,l,u)=>{t({[s]:l});const c=async()=>{try{await Nl({[s]:l}),yt.show({message:"Saved",color:"green",autoClose:1500}),L2(s)&&await r()}catch(d){yt.show({title:"Save failed",message:d.message,color:"red",autoClose:4e3})}};clearTimeout(o.current[s]),u?await c():o.current[s]=setTimeout(c,700)},[t,r])}function F2({onLogin:t}){const[r,o]=x.useState(""),[s,l]=x.useState(""),[u,c]=x.useState(""),[d,m]=x.useState(!1);async function h(v){v.preventDefault(),m(!0),c("");try{await $2(r,s),t()}catch(g){c(g.message||"Login failed")}finally{m(!1)}}return S.jsx(qi,{mih:"100dvh",bg:"dark.8",children:S.jsxs(Kn,{align:"center",gap:"lg",w:340,px:"md",children:[S.jsx("img",{src:wy,style:{height:40,width:"auto"},alt:"Multiview"}),S.jsx(kt,{size:"sm",c:"dimmed",ta:"center",children:"Sign in with your Dispatcharr credentials. The account must have permission to modify plugin settings."}),S.jsx(Qo,{withBorder:!0,p:"xl",radius:"md",w:"100%",children:S.jsx("form",{onSubmit:h,children:S.jsxs(Kn,{gap:"sm",children:[u&&S.jsx(sa,{icon:S.jsx(vy,{size:16}),color:"red",variant:"light",py:"xs",children:u}),S.jsx(ya,{label:"Username",autoComplete:"username",value:r,onChange:v=>o(v.currentTarget.value),required:!0}),S.jsx(sd,{label:"Password",autoComplete:"current-password",value:s,onChange:v=>l(v.currentTarget.value),required:!0}),S.jsx(wt,{type:"submit",loading:d,fullWidth:!0,mt:"xs",children:"Sign in"})]})})})]})})}const B2=/^Layout\s+\d+[:\s]*/i,V2=t=>({...t,label:t.label.replace(B2,"")});function W2({fields:t,warnings:r,settings:o,onSettingsChange:s,onFieldsReload:l}){const[u,c]=x.useState(!1),d=by(s,l);return S.jsxs(Kn,{gap:"xs",children:[r.map(m=>S.jsxs(sa,{icon:S.jsx(vy,{size:16}),color:"yellow",variant:"light",children:[S.jsx(kt,{size:"sm",fw:500,children:m.label}),m.description&&S.jsx(kt,{size:"xs",c:"dimmed",mt:2,children:m.description})]},m.id)),S.jsxs(Qo,{withBorder:!0,radius:"md",children:[S.jsx(Xn,{w:"100%",p:"md",onClick:()=>c(m=>!m),children:S.jsxs(Xt,{justify:"space-between",children:[S.jsx(kt,{size:"sm",fw:600,children:"Global Settings"}),u?S.jsx(gy,{size:16}):S.jsx(yy,{size:16})]})}),S.jsx(hf,{in:u,children:S.jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(280px, 1fr))",gap:"var(--mantine-spacing-sm)",padding:"var(--mantine-spacing-md)",paddingTop:0},children:t.map(m=>S.jsx(tf,{field:m,value:o[m.id],onChange:h=>d(m.id,h,m.type!=="string")},m.id))})})]})]})}function H2(t,r){const o=[],s=[],l=[];let u=null,c=null;for(const d of t){const m=d.id.replace(`multiview_${r}_`,"");["name","layout","selector_type"].includes(m)?o.push(d):m==="channel_count"?c=d:m==="audio_source"?u=d:m.startsWith("epg_")?l.push(d):s.push(d)}return{base:o,channels:s,epg:l,audioSource:u,channelCountField:c}}function U2({n:t,fields:r,settings:o,isLast:s,onSettingsChange:l,onFieldsReload:u,onRemove:c,onChannelCountChange:d}){const[m,h]=x.useState(!1),[v,g]=x.useState(!1),y=by(l,u),{base:w,channels:C,epg:E,audioSource:R,channelCountField:N}=H2(r.map(V2),t),j=o[`multiview_${t}_name`]||`Multiview ${t}`,T=o[`multiview_${t}_channel_count`]??(N==null?void 0:N.default)??4,O=(N==null?void 0:N.min)??2,A=(N==null?void 0:N.max)??9;function F(H){return H.length?S.jsx("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fill, minmax(280px, 1fr))",gap:"var(--mantine-spacing-sm)"},children:H.map(z=>S.jsx(tf,{field:z,value:o[z.id],onChange:Q=>y(z.id,Q,z.type!=="string")},z.id))}):null}return S.jsxs(aa,{withBorder:!0,radius:"md",p:0,children:[S.jsx(Xn,{w:"100%",p:"md",onClick:()=>g(H=>!H),children:S.jsxs(Xt,{justify:"space-between",children:[S.jsxs(Xt,{gap:"xs",children:[v?S.jsx(gy,{size:16}):S.jsx(yy,{size:16}),S.jsxs(kt,{fw:600,children:["Layout ",t,": ",j]})]}),S.jsx(wt,{size:"xs",color:"red",variant:"subtle",leftSection:S.jsx(_2,{size:14}),style:{visibility:s?"visible":"hidden"},onClick:H=>{H.stopPropagation(),h(!0)},children:"Remove"})]})}),S.jsxs(Kt,{opened:m,onClose:()=>h(!1),title:`Remove Layout ${t}`,size:"xs",centered:!0,children:[S.jsxs(kt,{size:"sm",children:["Remove Layout ",t,": ",j,"? This cannot be undone."]}),S.jsxs(Xt,{mt:"md",justify:"flex-end",children:[S.jsx(wt,{variant:"default",onClick:()=>h(!1),children:"Cancel"}),S.jsx(wt,{color:"red",onClick:()=>{h(!1),c()},children:"Remove"})]})]}),S.jsx(hf,{in:v,children:S.jsxs(Kn,{gap:"md",p:"md",pt:0,children:[F(w),(C.length>0||N)&&S.jsxs(S.Fragment,{children:[S.jsx(Al,{label:S.jsxs(Xt,{gap:4,align:"center",children:[S.jsx(kt,{size:"xs",c:"dimmed",children:"Channels"}),S.jsx(jn,{size:"xs",variant:"subtle",disabled:T<=O,onClick:()=>d(-1),children:S.jsx(C2,{size:10})}),S.jsx(kt,{size:"xs",fw:600,w:14,ta:"center",children:T}),S.jsx(jn,{size:"xs",variant:"subtle",disabled:T>=A,onClick:()=>d(1),children:S.jsx(k2,{size:10})})]}),labelPosition:"left"}),F(C)]}),R&&S.jsx(tf,{field:R,value:o[R.id],onChange:H=>y(R.id,H,!0)}),E.length>0&&S.jsxs(S.Fragment,{children:[S.jsx(Al,{label:"EPG",labelPosition:"left"}),F(E)]})]})})]})}function G2({opened:t,onClose:r,settings:o}){const[s,l]=x.useState([]),[u,c]=x.useState({}),[d,m]=x.useState(null),h=x.useCallback(async()=>{try{const y=await Sy();l(y.active??[])}catch{}},[]);x.useEffect(()=>{if(!t)return;h();const y=setInterval(h,4e3);return()=>clearInterval(y)},[t,h]);const v=async(y,w,C)=>{c(E=>({...E,[y]:!0}));try{await w(),yt.show({message:C,color:"blue",autoClose:2e3}),await h()}catch(E){yt.show({title:"Failed",message:E.message,color:"red",autoClose:4e3})}finally{c(E=>({...E,[y]:!1}))}},g=(y,w,C,E,R)=>m({title:y,message:w,confirmLabel:C,color:E,onConfirm:R});return S.jsxs(Kt,{opened:t,onClose:r,title:"Active Multiviews",size:"sm",centered:!0,children:[S.jsx(Cy,{action:d,onClose:()=>m(null)}),s.length===0?S.jsx(kt,{size:"sm",c:"dimmed",children:"No multiviews currently active."}):S.jsx(Kn,{gap:"md",children:s.map(({n:y,channels:w})=>{const C=o[`multiview_${y}_name`]||`Multiview ${y}`;return S.jsxs("div",{children:[S.jsxs(Xt,{justify:"space-between",mb:6,children:[S.jsx(kt,{size:"sm",fw:600,children:C}),S.jsx(wt,{size:"xs",color:"orange",variant:"subtle",leftSection:S.jsx(rv,{size:12}),loading:u[`${y}`],onClick:()=>g("Reload",`Reload ${C}? The compositor will restart and active players will reconnect. Some players may buffer, stutter, or require a manual refresh depending on how they handle stream interruptions.`,"Reload","orange",()=>v(`${y}`,()=>ov(y),`${C} reloaded`)),children:"Reload"})]}),S.jsx(Kn,{gap:4,pl:"sm",children:(w??[]).map(({idx:E,name:R})=>S.jsxs(Xt,{justify:"space-between",children:[S.jsx(kt,{size:"xs",c:"dimmed",children:R}),S.jsx(wt,{size:"xs",variant:"subtle",leftSection:S.jsx(ef,{size:11}),loading:u[`${y}-${E}`],onClick:()=>g("Reconnect",`Reconnect ${R}?`,"Reconnect","blue",()=>v(`${y}-${E}`,()=>A2(y,E),`${R} reconnecting`)),children:"Reconnect"})]},E))})]},y)})}),s.length>1&&S.jsx(wt,{fullWidth:!0,mt:"md",color:"orange",variant:"light",leftSection:S.jsx(rv,{size:14}),loading:u.all,onClick:()=>g("Reload All",`Reload all ${s.length} multiviews? All compositors will restart and active players will reconnect. Some players may buffer, stutter, or require a manual refresh depending on how they handle stream interruptions.`,"Reload All","orange",()=>v("all",()=>ov(null),`${s.length} multiviews reloaded`)),children:"Reload All"})]})}function Cy({action:t,onClose:r}){return t?S.jsxs(Kt,{opened:!!t,onClose:r,title:t.title,size:"sm",centered:!0,children:[S.jsx(kt,{size:"sm",children:t.message}),S.jsxs(Xt,{mt:"md",justify:"flex-end",children:[S.jsx(wt,{variant:"default",onClick:r,children:"Cancel"}),S.jsx(wt,{color:t.color??"blue",loading:t.loading,onClick:()=>{r(),t.onConfirm()},children:t.confirmLabel??"Confirm"})]})]}):null}function Y2(){const[t,r]=x.useState(!!localStorage.getItem("mv_token")),[o,s]=x.useState(null),[l,u]=x.useState({}),[c,d]=x.useState(""),[m,h]=x.useState(!1),[v,g]=x.useState(!1),[y,w]=x.useState(0),[C,E]=x.useState(null),R=x.useCallback(async()=>{try{const[X,K]=await Promise.all([O2(),I2()]);s(X);const Z=K.settings??{},te=[...X.global??[],...(X.layouts??[]).flatMap(B=>B.fields)],J={...Z};for(const B of te)!(B.id in J)&&B.default!==void 0&&(J[B.id]=B.default);u(J)}catch(X){X.status!==401&&d(X.message)}},[]);x.useEffect(()=>{t&&R()},[t,R]),x.useEffect(()=>{if(!t)return;const X=async()=>{try{const Z=await Sy();w((Z.active??[]).length)}catch{}};X();const K=setInterval(X,5e3);return()=>clearInterval(K)},[t]);const N=x.useCallback(X=>u(K=>({...K,...X})),[]);async function j(X,K){const Z=`multiview_${X}_channel_count`,te=(l[Z]??4)+K;try{await Nl({[Z]:te}),await R()}catch(J){yt.show({title:"Failed",message:J.message,color:"red",autoClose:4e3})}}async function T(){const X=((o==null?void 0:o.layout_count)??1)+1,K={multiview_count:X,[`multiview_${X}_name`]:`Multiview ${X}`,[`multiview_${X}_layout`]:"auto",[`multiview_${X}_selector_type`]:"classic",[`multiview_${X}_channel_count`]:4,[`multiview_${X}_epg_source_mode`]:"dummy"};try{await Nl(K),await R(),yt.show({message:`Layout ${X} added`,color:"green",autoClose:2e3})}catch(Z){yt.show({title:"Failed",message:Z.message,color:"red",autoClose:4e3})}}async function O(X){const K=(o==null?void 0:o.layout_count)??1;if(K<=1)return;const Z=Object.fromEntries(Object.keys(l).filter(te=>te.startsWith(`multiview_${X}_`)).map(te=>[te,null]));Z.multiview_count=K-1;try{await Nl(Z),await R(),yt.show({message:`Layout ${X} removed`,color:"green",autoClose:2e3})}catch(te){yt.show({title:"Failed",message:te.message,color:"red",autoClose:4e3})}}async function A(){h(!0);try{const X=await M2();yt.show({message:X.message||"M3U & EPG refreshed",color:X.status==="success"?"green":"red",autoClose:3e3})}catch(X){yt.show({title:"Refresh failed",message:X.message,color:"red",autoClose:4e3})}finally{h(!1)}}function F(){xy(),r(!1),s(null),u({})}if(x.useEffect(()=>(Ll=()=>{r(!1),s(null),u({})},()=>{Ll=null}),[]),!t)return S.jsx(F2,{onLogin:()=>r(!0)});if(c)return S.jsx(qi,{mih:"100dvh",children:S.jsx(kt,{c:"red",children:c})});if(!o)return S.jsx(qi,{mih:"100dvh",children:S.jsx(to,{})});const{warnings:H=[],global:z=[],layouts:Q=[],layout_count:q}=o;return S.jsxs(yn,{header:{height:56},children:[S.jsx(yn.Header,{children:S.jsxs(Xt,{h:"100%",px:"md",justify:"space-between",wrap:"nowrap",children:[S.jsx(nd,{src:wy,h:32,w:"auto",style:{flexShrink:0}}),S.jsxs(Xt,{gap:"xs",wrap:"nowrap",children:[S.jsxs(wt,{size:"sm",leftSection:S.jsx(nv,{size:16}),color:y>0?"teal":void 0,variant:y>0?"filled":"default",styles:y>0?{root:{"--button-bg":"var(--mantine-color-teal-9)","--button-hover":"var(--mantine-color-teal-8)"}}:void 0,onClick:()=>g(!0),visibleFrom:"xs",children:["Streams",y>0?` (${y})`:""]}),S.jsx(jn,{size:"lg",color:y>0?"teal":void 0,variant:y>0?"filled":"default",styles:y>0?{root:{"--button-bg":"var(--mantine-color-teal-9)","--button-hover":"var(--mantine-color-teal-8)"}}:void 0,onClick:()=>g(!0),hiddenFrom:"xs","aria-label":"Active Streams",children:S.jsx(nv,{size:18})}),S.jsx(wt,{size:"sm",leftSection:S.jsx(ef,{size:16}),loading:m,onClick:()=>E({title:"Refresh M3U & EPG",confirmLabel:"Refresh",color:"blue",message:"Regenerate the M3U playlist and sync EPG data now?",onConfirm:A}),visibleFrom:"xs",children:"Refresh M3U & EPG"}),S.jsx(jn,{size:"lg",variant:"default",loading:m,hiddenFrom:"xs","aria-label":"Refresh M3U & EPG",onClick:()=>E({title:"Refresh M3U & EPG",confirmLabel:"Refresh",color:"blue",message:"Regenerate the M3U playlist and sync EPG data now?",onConfirm:A}),children:S.jsx(ef,{size:18})}),S.jsx(wt,{size:"sm",variant:"subtle",onClick:F,children:"Logout"})]})]})}),S.jsx(yn.Main,{children:S.jsxs(Kn,{p:"md",maw:860,mx:"auto",children:[S.jsx(W2,{fields:z,warnings:H,settings:l,onSettingsChange:N,onFieldsReload:R}),S.jsx(kt,{size:"xs",tt:"uppercase",fw:700,c:"dimmed",mt:"sm",children:"Layouts"}),Q.map(({n:X,fields:K})=>S.jsx(U2,{n:X,fields:K,settings:l,isLast:X===q&&q>1,onSettingsChange:N,onFieldsReload:R,onRemove:()=>O(X),onChannelCountChange:Z=>j(X,Z)},X)),S.jsx(wt,{variant:"default",onClick:T,children:"+ Add Layout"})]})}),S.jsx(G2,{opened:v,onClose:()=>g(!1),settings:l}),S.jsx(Cy,{action:C,onClose:()=>E(null)})]})}Nw.createRoot(document.getElementById("root")).render(S.jsx(x.StrictMode,{children:S.jsxs(_v,{defaultColorScheme:"dark",children:[S.jsx(tr,{position:"bottom-right"}),S.jsx(Y2,{})]})})); diff --git a/plugins/multiview/dash/static/assets/index-CKoNYPy6.css b/plugins/multiview/dash/static/assets/index-CKoNYPy6.css new file mode 100644 index 0000000..e32b24a --- /dev/null +++ b/plugins/multiview/dash/static/assets/index-CKoNYPy6.css @@ -0,0 +1 @@ +*,*:before,*:after{box-sizing:border-box}input,button,textarea,select{font:inherit}button,select{text-transform:none}body{margin:0;font-family:var(--mantine-font-family);font-size:var(--mantine-font-size-md);line-height:var(--mantine-line-height);background-color:var(--mantine-color-body);color:var(--mantine-color-text);-webkit-font-smoothing:var(--mantine-webkit-font-smoothing);-moz-osx-font-smoothing:var(--mantine-moz-font-smoothing)}@media screen and (max-device-width:31.25em){body{-webkit-text-size-adjust:100%}}@media(prefers-reduced-motion:reduce){[data-respect-reduced-motion] [data-reduce-motion]{transition:none;animation:none}}[data-mantine-color-scheme=light] .mantine-light-hidden,[data-mantine-color-scheme=dark] .mantine-dark-hidden{display:none}.mantine-focus-auto:focus-visible{outline:2px solid var(--mantine-primary-color-filled);outline-offset:calc(.125rem * var(--mantine-scale))}.mantine-focus-always:focus{outline:2px solid var(--mantine-primary-color-filled);outline-offset:calc(.125rem * var(--mantine-scale))}.mantine-focus-never:focus{outline:none}.mantine-active:active{transform:translateY(calc(.0625rem * var(--mantine-scale)))}fieldset:disabled .mantine-active:active{transform:none}:where([dir=rtl]) .mantine-rotate-rtl{transform:rotate(180deg)}:root{color-scheme:var(--mantine-color-scheme);--mantine-z-index-app: 100;--mantine-z-index-modal: 200;--mantine-z-index-popover: 300;--mantine-z-index-overlay: 400;--mantine-z-index-max: 9999;--mantine-scale: 1;--mantine-cursor-type: default;--mantine-webkit-font-smoothing: antialiased;--mantine-color-scheme: light dark;--mantine-moz-font-smoothing: grayscale;--mantine-color-white: #fff;--mantine-color-black: #000;--mantine-line-height: 1.55;--mantine-font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji;--mantine-font-family-monospace: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;--mantine-font-family-headings: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji;--mantine-heading-font-weight: 700;--mantine-radius-default: calc(.25rem * var(--mantine-scale));--mantine-primary-color-0: var(--mantine-color-blue-0);--mantine-primary-color-1: var(--mantine-color-blue-1);--mantine-primary-color-2: var(--mantine-color-blue-2);--mantine-primary-color-3: var(--mantine-color-blue-3);--mantine-primary-color-4: var(--mantine-color-blue-4);--mantine-primary-color-5: var(--mantine-color-blue-5);--mantine-primary-color-6: var(--mantine-color-blue-6);--mantine-primary-color-7: var(--mantine-color-blue-7);--mantine-primary-color-8: var(--mantine-color-blue-8);--mantine-primary-color-9: var(--mantine-color-blue-9);--mantine-primary-color-filled: var(--mantine-color-blue-filled);--mantine-primary-color-filled-hover: var(--mantine-color-blue-filled-hover);--mantine-primary-color-light: var(--mantine-color-blue-light);--mantine-primary-color-light-hover: var(--mantine-color-blue-light-hover);--mantine-primary-color-light-color: var(--mantine-color-blue-light-color);--mantine-breakpoint-xs: 36em;--mantine-breakpoint-sm: 48em;--mantine-breakpoint-md: 62em;--mantine-breakpoint-lg: 75em;--mantine-breakpoint-xl: 88em;--mantine-spacing-xs: calc(.625rem * var(--mantine-scale));--mantine-spacing-sm: calc(.75rem * var(--mantine-scale));--mantine-spacing-md: calc(1rem * var(--mantine-scale));--mantine-spacing-lg: calc(1.25rem * var(--mantine-scale));--mantine-spacing-xl: calc(2rem * var(--mantine-scale));--mantine-font-size-xs: calc(.75rem * var(--mantine-scale));--mantine-font-size-sm: calc(.875rem * var(--mantine-scale));--mantine-font-size-md: calc(1rem * var(--mantine-scale));--mantine-font-size-lg: calc(1.125rem * var(--mantine-scale));--mantine-font-size-xl: calc(1.25rem * var(--mantine-scale));--mantine-line-height-xs: 1.4;--mantine-line-height-sm: 1.45;--mantine-line-height-md: 1.55;--mantine-line-height-lg: 1.6;--mantine-line-height-xl: 1.65;--mantine-shadow-xs: 0 calc(.0625rem * var(--mantine-scale)) calc(.1875rem * var(--mantine-scale)) rgba(0, 0, 0, .05), 0 calc(.0625rem * var(--mantine-scale)) calc(.125rem * var(--mantine-scale)) rgba(0, 0, 0, .1);--mantine-shadow-sm: 0 calc(.0625rem * var(--mantine-scale)) calc(.1875rem * var(--mantine-scale)) rgba(0, 0, 0, .05), rgba(0, 0, 0, .05) 0 calc(.625rem * var(--mantine-scale)) calc(.9375rem * var(--mantine-scale)) calc(-.3125rem * var(--mantine-scale)), rgba(0, 0, 0, .04) 0 calc(.4375rem * var(--mantine-scale)) calc(.4375rem * var(--mantine-scale)) calc(-.3125rem * var(--mantine-scale));--mantine-shadow-md: 0 calc(.0625rem * var(--mantine-scale)) calc(.1875rem * var(--mantine-scale)) rgba(0, 0, 0, .05), rgba(0, 0, 0, .05) 0 calc(1.25rem * var(--mantine-scale)) calc(1.5625rem * var(--mantine-scale)) calc(-.3125rem * var(--mantine-scale)), rgba(0, 0, 0, .04) 0 calc(.625rem * var(--mantine-scale)) calc(.625rem * var(--mantine-scale)) calc(-.3125rem * var(--mantine-scale));--mantine-shadow-lg: 0 calc(.0625rem * var(--mantine-scale)) calc(.1875rem * var(--mantine-scale)) rgba(0, 0, 0, .05), rgba(0, 0, 0, .05) 0 calc(1.75rem * var(--mantine-scale)) calc(1.4375rem * var(--mantine-scale)) calc(-.4375rem * var(--mantine-scale)), rgba(0, 0, 0, .04) 0 calc(.75rem * var(--mantine-scale)) calc(.75rem * var(--mantine-scale)) calc(-.4375rem * var(--mantine-scale));--mantine-shadow-xl: 0 calc(.0625rem * var(--mantine-scale)) calc(.1875rem * var(--mantine-scale)) rgba(0, 0, 0, .05), rgba(0, 0, 0, .05) 0 calc(2.25rem * var(--mantine-scale)) calc(1.75rem * var(--mantine-scale)) calc(-.4375rem * var(--mantine-scale)), rgba(0, 0, 0, .04) 0 calc(1.0625rem * var(--mantine-scale)) calc(1.0625rem * var(--mantine-scale)) calc(-.4375rem * var(--mantine-scale));--mantine-radius-xs: calc(.125rem * var(--mantine-scale));--mantine-radius-sm: calc(.25rem * var(--mantine-scale));--mantine-radius-md: calc(.5rem * var(--mantine-scale));--mantine-radius-lg: calc(1rem * var(--mantine-scale));--mantine-radius-xl: calc(2rem * var(--mantine-scale));--mantine-color-dark-0: #c9c9c9;--mantine-color-dark-1: #b8b8b8;--mantine-color-dark-2: #828282;--mantine-color-dark-3: #696969;--mantine-color-dark-4: #424242;--mantine-color-dark-5: #3b3b3b;--mantine-color-dark-6: #2e2e2e;--mantine-color-dark-7: #242424;--mantine-color-dark-8: #1f1f1f;--mantine-color-dark-9: #141414;--mantine-color-gray-0: #f8f9fa;--mantine-color-gray-1: #f1f3f5;--mantine-color-gray-2: #e9ecef;--mantine-color-gray-3: #dee2e6;--mantine-color-gray-4: #ced4da;--mantine-color-gray-5: #adb5bd;--mantine-color-gray-6: #868e96;--mantine-color-gray-7: #495057;--mantine-color-gray-8: #343a40;--mantine-color-gray-9: #212529;--mantine-color-red-0: #fff5f5;--mantine-color-red-1: #ffe3e3;--mantine-color-red-2: #ffc9c9;--mantine-color-red-3: #ffa8a8;--mantine-color-red-4: #ff8787;--mantine-color-red-5: #ff6b6b;--mantine-color-red-6: #fa5252;--mantine-color-red-7: #f03e3e;--mantine-color-red-8: #e03131;--mantine-color-red-9: #c92a2a;--mantine-color-pink-0: #fff0f6;--mantine-color-pink-1: #ffdeeb;--mantine-color-pink-2: #fcc2d7;--mantine-color-pink-3: #faa2c1;--mantine-color-pink-4: #f783ac;--mantine-color-pink-5: #f06595;--mantine-color-pink-6: #e64980;--mantine-color-pink-7: #d6336c;--mantine-color-pink-8: #c2255c;--mantine-color-pink-9: #a61e4d;--mantine-color-grape-0: #f8f0fc;--mantine-color-grape-1: #f3d9fa;--mantine-color-grape-2: #eebefa;--mantine-color-grape-3: #e599f7;--mantine-color-grape-4: #da77f2;--mantine-color-grape-5: #cc5de8;--mantine-color-grape-6: #be4bdb;--mantine-color-grape-7: #ae3ec9;--mantine-color-grape-8: #9c36b5;--mantine-color-grape-9: #862e9c;--mantine-color-violet-0: #f3f0ff;--mantine-color-violet-1: #e5dbff;--mantine-color-violet-2: #d0bfff;--mantine-color-violet-3: #b197fc;--mantine-color-violet-4: #9775fa;--mantine-color-violet-5: #845ef7;--mantine-color-violet-6: #7950f2;--mantine-color-violet-7: #7048e8;--mantine-color-violet-8: #6741d9;--mantine-color-violet-9: #5f3dc4;--mantine-color-indigo-0: #edf2ff;--mantine-color-indigo-1: #dbe4ff;--mantine-color-indigo-2: #bac8ff;--mantine-color-indigo-3: #91a7ff;--mantine-color-indigo-4: #748ffc;--mantine-color-indigo-5: #5c7cfa;--mantine-color-indigo-6: #4c6ef5;--mantine-color-indigo-7: #4263eb;--mantine-color-indigo-8: #3b5bdb;--mantine-color-indigo-9: #364fc7;--mantine-color-blue-0: #e7f5ff;--mantine-color-blue-1: #d0ebff;--mantine-color-blue-2: #a5d8ff;--mantine-color-blue-3: #74c0fc;--mantine-color-blue-4: #4dabf7;--mantine-color-blue-5: #339af0;--mantine-color-blue-6: #228be6;--mantine-color-blue-7: #1c7ed6;--mantine-color-blue-8: #1971c2;--mantine-color-blue-9: #1864ab;--mantine-color-cyan-0: #e3fafc;--mantine-color-cyan-1: #c5f6fa;--mantine-color-cyan-2: #99e9f2;--mantine-color-cyan-3: #66d9e8;--mantine-color-cyan-4: #3bc9db;--mantine-color-cyan-5: #22b8cf;--mantine-color-cyan-6: #15aabf;--mantine-color-cyan-7: #1098ad;--mantine-color-cyan-8: #0c8599;--mantine-color-cyan-9: #0b7285;--mantine-color-teal-0: #e6fcf5;--mantine-color-teal-1: #c3fae8;--mantine-color-teal-2: #96f2d7;--mantine-color-teal-3: #63e6be;--mantine-color-teal-4: #38d9a9;--mantine-color-teal-5: #20c997;--mantine-color-teal-6: #12b886;--mantine-color-teal-7: #0ca678;--mantine-color-teal-8: #099268;--mantine-color-teal-9: #087f5b;--mantine-color-green-0: #ebfbee;--mantine-color-green-1: #d3f9d8;--mantine-color-green-2: #b2f2bb;--mantine-color-green-3: #8ce99a;--mantine-color-green-4: #69db7c;--mantine-color-green-5: #51cf66;--mantine-color-green-6: #40c057;--mantine-color-green-7: #37b24d;--mantine-color-green-8: #2f9e44;--mantine-color-green-9: #2b8a3e;--mantine-color-lime-0: #f4fce3;--mantine-color-lime-1: #e9fac8;--mantine-color-lime-2: #d8f5a2;--mantine-color-lime-3: #c0eb75;--mantine-color-lime-4: #a9e34b;--mantine-color-lime-5: #94d82d;--mantine-color-lime-6: #82c91e;--mantine-color-lime-7: #74b816;--mantine-color-lime-8: #66a80f;--mantine-color-lime-9: #5c940d;--mantine-color-yellow-0: #fff9db;--mantine-color-yellow-1: #fff3bf;--mantine-color-yellow-2: #ffec99;--mantine-color-yellow-3: #ffe066;--mantine-color-yellow-4: #ffd43b;--mantine-color-yellow-5: #fcc419;--mantine-color-yellow-6: #fab005;--mantine-color-yellow-7: #f59f00;--mantine-color-yellow-8: #f08c00;--mantine-color-yellow-9: #e67700;--mantine-color-orange-0: #fff4e6;--mantine-color-orange-1: #ffe8cc;--mantine-color-orange-2: #ffd8a8;--mantine-color-orange-3: #ffc078;--mantine-color-orange-4: #ffa94d;--mantine-color-orange-5: #ff922b;--mantine-color-orange-6: #fd7e14;--mantine-color-orange-7: #f76707;--mantine-color-orange-8: #e8590c;--mantine-color-orange-9: #d9480f;--mantine-h1-font-size: calc(2.125rem * var(--mantine-scale));--mantine-h1-line-height: 1.3;--mantine-h1-font-weight: 700;--mantine-h2-font-size: calc(1.625rem * var(--mantine-scale));--mantine-h2-line-height: 1.35;--mantine-h2-font-weight: 700;--mantine-h3-font-size: calc(1.375rem * var(--mantine-scale));--mantine-h3-line-height: 1.4;--mantine-h3-font-weight: 700;--mantine-h4-font-size: calc(1.125rem * var(--mantine-scale));--mantine-h4-line-height: 1.45;--mantine-h4-font-weight: 700;--mantine-h5-font-size: calc(1rem * var(--mantine-scale));--mantine-h5-line-height: 1.5;--mantine-h5-font-weight: 700;--mantine-h6-font-size: calc(.875rem * var(--mantine-scale));--mantine-h6-line-height: 1.5;--mantine-h6-font-weight: 700}:root[data-mantine-color-scheme=dark]{--mantine-color-scheme: dark;--mantine-primary-color-contrast: var(--mantine-color-white);--mantine-color-bright: var(--mantine-color-white);--mantine-color-text: var(--mantine-color-dark-0);--mantine-color-body: var(--mantine-color-dark-7);--mantine-color-error: var(--mantine-color-red-8);--mantine-color-placeholder: var(--mantine-color-dark-3);--mantine-color-anchor: var(--mantine-color-blue-4);--mantine-color-default: var(--mantine-color-dark-6);--mantine-color-default-hover: var(--mantine-color-dark-5);--mantine-color-default-color: var(--mantine-color-white);--mantine-color-default-border: var(--mantine-color-dark-4);--mantine-color-dimmed: var(--mantine-color-dark-2);--mantine-color-dark-text: var(--mantine-color-dark-4);--mantine-color-dark-filled: var(--mantine-color-dark-8);--mantine-color-dark-filled-hover: var(--mantine-color-dark-7);--mantine-color-dark-light: rgba(36, 36, 36, .15);--mantine-color-dark-light-hover: rgba(36, 36, 36, .2);--mantine-color-dark-light-color: var(--mantine-color-dark-3);--mantine-color-dark-outline: var(--mantine-color-dark-4);--mantine-color-dark-outline-hover: rgba(36, 36, 36, .05);--mantine-color-gray-text: var(--mantine-color-gray-4);--mantine-color-gray-filled: var(--mantine-color-gray-8);--mantine-color-gray-filled-hover: var(--mantine-color-gray-9);--mantine-color-gray-light: rgba(134, 142, 150, .15);--mantine-color-gray-light-hover: rgba(134, 142, 150, .2);--mantine-color-gray-light-color: var(--mantine-color-gray-3);--mantine-color-gray-outline: var(--mantine-color-gray-4);--mantine-color-gray-outline-hover: rgba(206, 212, 218, .05);--mantine-color-red-text: var(--mantine-color-red-4);--mantine-color-red-filled: var(--mantine-color-red-8);--mantine-color-red-filled-hover: var(--mantine-color-red-9);--mantine-color-red-light: rgba(250, 82, 82, .15);--mantine-color-red-light-hover: rgba(250, 82, 82, .2);--mantine-color-red-light-color: var(--mantine-color-red-3);--mantine-color-red-outline: var(--mantine-color-red-4);--mantine-color-red-outline-hover: rgba(255, 135, 135, .05);--mantine-color-pink-text: var(--mantine-color-pink-4);--mantine-color-pink-filled: var(--mantine-color-pink-8);--mantine-color-pink-filled-hover: var(--mantine-color-pink-9);--mantine-color-pink-light: rgba(230, 73, 128, .15);--mantine-color-pink-light-hover: rgba(230, 73, 128, .2);--mantine-color-pink-light-color: var(--mantine-color-pink-3);--mantine-color-pink-outline: var(--mantine-color-pink-4);--mantine-color-pink-outline-hover: rgba(247, 131, 172, .05);--mantine-color-grape-text: var(--mantine-color-grape-4);--mantine-color-grape-filled: var(--mantine-color-grape-8);--mantine-color-grape-filled-hover: var(--mantine-color-grape-9);--mantine-color-grape-light: rgba(190, 75, 219, .15);--mantine-color-grape-light-hover: rgba(190, 75, 219, .2);--mantine-color-grape-light-color: var(--mantine-color-grape-3);--mantine-color-grape-outline: var(--mantine-color-grape-4);--mantine-color-grape-outline-hover: rgba(218, 119, 242, .05);--mantine-color-violet-text: var(--mantine-color-violet-4);--mantine-color-violet-filled: var(--mantine-color-violet-8);--mantine-color-violet-filled-hover: var(--mantine-color-violet-9);--mantine-color-violet-light: rgba(121, 80, 242, .15);--mantine-color-violet-light-hover: rgba(121, 80, 242, .2);--mantine-color-violet-light-color: var(--mantine-color-violet-3);--mantine-color-violet-outline: var(--mantine-color-violet-4);--mantine-color-violet-outline-hover: rgba(151, 117, 250, .05);--mantine-color-indigo-text: var(--mantine-color-indigo-4);--mantine-color-indigo-filled: var(--mantine-color-indigo-8);--mantine-color-indigo-filled-hover: var(--mantine-color-indigo-9);--mantine-color-indigo-light: rgba(76, 110, 245, .15);--mantine-color-indigo-light-hover: rgba(76, 110, 245, .2);--mantine-color-indigo-light-color: var(--mantine-color-indigo-3);--mantine-color-indigo-outline: var(--mantine-color-indigo-4);--mantine-color-indigo-outline-hover: rgba(116, 143, 252, .05);--mantine-color-blue-text: var(--mantine-color-blue-4);--mantine-color-blue-filled: var(--mantine-color-blue-8);--mantine-color-blue-filled-hover: var(--mantine-color-blue-9);--mantine-color-blue-light: rgba(34, 139, 230, .15);--mantine-color-blue-light-hover: rgba(34, 139, 230, .2);--mantine-color-blue-light-color: var(--mantine-color-blue-3);--mantine-color-blue-outline: var(--mantine-color-blue-4);--mantine-color-blue-outline-hover: rgba(77, 171, 247, .05);--mantine-color-cyan-text: var(--mantine-color-cyan-4);--mantine-color-cyan-filled: var(--mantine-color-cyan-8);--mantine-color-cyan-filled-hover: var(--mantine-color-cyan-9);--mantine-color-cyan-light: rgba(21, 170, 191, .15);--mantine-color-cyan-light-hover: rgba(21, 170, 191, .2);--mantine-color-cyan-light-color: var(--mantine-color-cyan-3);--mantine-color-cyan-outline: var(--mantine-color-cyan-4);--mantine-color-cyan-outline-hover: rgba(59, 201, 219, .05);--mantine-color-teal-text: var(--mantine-color-teal-4);--mantine-color-teal-filled: var(--mantine-color-teal-8);--mantine-color-teal-filled-hover: var(--mantine-color-teal-9);--mantine-color-teal-light: rgba(18, 184, 134, .15);--mantine-color-teal-light-hover: rgba(18, 184, 134, .2);--mantine-color-teal-light-color: var(--mantine-color-teal-3);--mantine-color-teal-outline: var(--mantine-color-teal-4);--mantine-color-teal-outline-hover: rgba(56, 217, 169, .05);--mantine-color-green-text: var(--mantine-color-green-4);--mantine-color-green-filled: var(--mantine-color-green-8);--mantine-color-green-filled-hover: var(--mantine-color-green-9);--mantine-color-green-light: rgba(64, 192, 87, .15);--mantine-color-green-light-hover: rgba(64, 192, 87, .2);--mantine-color-green-light-color: var(--mantine-color-green-3);--mantine-color-green-outline: var(--mantine-color-green-4);--mantine-color-green-outline-hover: rgba(105, 219, 124, .05);--mantine-color-lime-text: var(--mantine-color-lime-4);--mantine-color-lime-filled: var(--mantine-color-lime-8);--mantine-color-lime-filled-hover: var(--mantine-color-lime-9);--mantine-color-lime-light: rgba(130, 201, 30, .15);--mantine-color-lime-light-hover: rgba(130, 201, 30, .2);--mantine-color-lime-light-color: var(--mantine-color-lime-3);--mantine-color-lime-outline: var(--mantine-color-lime-4);--mantine-color-lime-outline-hover: rgba(169, 227, 75, .05);--mantine-color-yellow-text: var(--mantine-color-yellow-4);--mantine-color-yellow-filled: var(--mantine-color-yellow-8);--mantine-color-yellow-filled-hover: var(--mantine-color-yellow-9);--mantine-color-yellow-light: rgba(250, 176, 5, .15);--mantine-color-yellow-light-hover: rgba(250, 176, 5, .2);--mantine-color-yellow-light-color: var(--mantine-color-yellow-3);--mantine-color-yellow-outline: var(--mantine-color-yellow-4);--mantine-color-yellow-outline-hover: rgba(255, 212, 59, .05);--mantine-color-orange-text: var(--mantine-color-orange-4);--mantine-color-orange-filled: var(--mantine-color-orange-8);--mantine-color-orange-filled-hover: var(--mantine-color-orange-9);--mantine-color-orange-light: rgba(253, 126, 20, .15);--mantine-color-orange-light-hover: rgba(253, 126, 20, .2);--mantine-color-orange-light-color: var(--mantine-color-orange-3);--mantine-color-orange-outline: var(--mantine-color-orange-4);--mantine-color-orange-outline-hover: rgba(255, 169, 77, .05)}:root[data-mantine-color-scheme=light]{--mantine-color-scheme: light;--mantine-color-bright: var(--mantine-color-black);--mantine-color-text: var(--mantine-color-black);--mantine-color-body: var(--mantine-color-white);--mantine-primary-color-contrast: var(--mantine-color-white);--mantine-color-error: var(--mantine-color-red-6);--mantine-color-placeholder: var(--mantine-color-gray-5);--mantine-color-anchor: var(--mantine-primary-color-filled);--mantine-color-default: var(--mantine-color-white);--mantine-color-default-hover: var(--mantine-color-gray-0);--mantine-color-default-color: var(--mantine-color-gray-9);--mantine-color-default-border: var(--mantine-color-gray-4);--mantine-color-dimmed: var(--mantine-color-gray-6);--mantine-color-dark-text: var(--mantine-color-dark-filled);--mantine-color-dark-filled: var(--mantine-color-dark-6);--mantine-color-dark-filled-hover: var(--mantine-color-dark-7);--mantine-color-dark-light: rgba(56, 56, 56, .1);--mantine-color-dark-light-hover: rgba(56, 56, 56, .12);--mantine-color-dark-light-color: var(--mantine-color-dark-6);--mantine-color-dark-outline: var(--mantine-color-dark-6);--mantine-color-dark-outline-hover: rgba(56, 56, 56, .05);--mantine-color-gray-text: var(--mantine-color-gray-filled);--mantine-color-gray-filled: var(--mantine-color-gray-6);--mantine-color-gray-filled-hover: var(--mantine-color-gray-7);--mantine-color-gray-light: rgba(134, 142, 150, .1);--mantine-color-gray-light-hover: rgba(134, 142, 150, .12);--mantine-color-gray-light-color: var(--mantine-color-gray-6);--mantine-color-gray-outline: var(--mantine-color-gray-6);--mantine-color-gray-outline-hover: rgba(134, 142, 150, .05);--mantine-color-red-text: var(--mantine-color-red-filled);--mantine-color-red-filled: var(--mantine-color-red-6);--mantine-color-red-filled-hover: var(--mantine-color-red-7);--mantine-color-red-light: rgba(250, 82, 82, .1);--mantine-color-red-light-hover: rgba(250, 82, 82, .12);--mantine-color-red-light-color: var(--mantine-color-red-6);--mantine-color-red-outline: var(--mantine-color-red-6);--mantine-color-red-outline-hover: rgba(250, 82, 82, .05);--mantine-color-pink-text: var(--mantine-color-pink-filled);--mantine-color-pink-filled: var(--mantine-color-pink-6);--mantine-color-pink-filled-hover: var(--mantine-color-pink-7);--mantine-color-pink-light: rgba(230, 73, 128, .1);--mantine-color-pink-light-hover: rgba(230, 73, 128, .12);--mantine-color-pink-light-color: var(--mantine-color-pink-6);--mantine-color-pink-outline: var(--mantine-color-pink-6);--mantine-color-pink-outline-hover: rgba(230, 73, 128, .05);--mantine-color-grape-text: var(--mantine-color-grape-filled);--mantine-color-grape-filled: var(--mantine-color-grape-6);--mantine-color-grape-filled-hover: var(--mantine-color-grape-7);--mantine-color-grape-light: rgba(190, 75, 219, .1);--mantine-color-grape-light-hover: rgba(190, 75, 219, .12);--mantine-color-grape-light-color: var(--mantine-color-grape-6);--mantine-color-grape-outline: var(--mantine-color-grape-6);--mantine-color-grape-outline-hover: rgba(190, 75, 219, .05);--mantine-color-violet-text: var(--mantine-color-violet-filled);--mantine-color-violet-filled: var(--mantine-color-violet-6);--mantine-color-violet-filled-hover: var(--mantine-color-violet-7);--mantine-color-violet-light: rgba(121, 80, 242, .1);--mantine-color-violet-light-hover: rgba(121, 80, 242, .12);--mantine-color-violet-light-color: var(--mantine-color-violet-6);--mantine-color-violet-outline: var(--mantine-color-violet-6);--mantine-color-violet-outline-hover: rgba(121, 80, 242, .05);--mantine-color-indigo-text: var(--mantine-color-indigo-filled);--mantine-color-indigo-filled: var(--mantine-color-indigo-6);--mantine-color-indigo-filled-hover: var(--mantine-color-indigo-7);--mantine-color-indigo-light: rgba(76, 110, 245, .1);--mantine-color-indigo-light-hover: rgba(76, 110, 245, .12);--mantine-color-indigo-light-color: var(--mantine-color-indigo-6);--mantine-color-indigo-outline: var(--mantine-color-indigo-6);--mantine-color-indigo-outline-hover: rgba(76, 110, 245, .05);--mantine-color-blue-text: var(--mantine-color-blue-filled);--mantine-color-blue-filled: var(--mantine-color-blue-6);--mantine-color-blue-filled-hover: var(--mantine-color-blue-7);--mantine-color-blue-light: rgba(34, 139, 230, .1);--mantine-color-blue-light-hover: rgba(34, 139, 230, .12);--mantine-color-blue-light-color: var(--mantine-color-blue-6);--mantine-color-blue-outline: var(--mantine-color-blue-6);--mantine-color-blue-outline-hover: rgba(34, 139, 230, .05);--mantine-color-cyan-text: var(--mantine-color-cyan-filled);--mantine-color-cyan-filled: var(--mantine-color-cyan-6);--mantine-color-cyan-filled-hover: var(--mantine-color-cyan-7);--mantine-color-cyan-light: rgba(21, 170, 191, .1);--mantine-color-cyan-light-hover: rgba(21, 170, 191, .12);--mantine-color-cyan-light-color: var(--mantine-color-cyan-6);--mantine-color-cyan-outline: var(--mantine-color-cyan-6);--mantine-color-cyan-outline-hover: rgba(21, 170, 191, .05);--mantine-color-teal-text: var(--mantine-color-teal-filled);--mantine-color-teal-filled: var(--mantine-color-teal-6);--mantine-color-teal-filled-hover: var(--mantine-color-teal-7);--mantine-color-teal-light: rgba(18, 184, 134, .1);--mantine-color-teal-light-hover: rgba(18, 184, 134, .12);--mantine-color-teal-light-color: var(--mantine-color-teal-6);--mantine-color-teal-outline: var(--mantine-color-teal-6);--mantine-color-teal-outline-hover: rgba(18, 184, 134, .05);--mantine-color-green-text: var(--mantine-color-green-filled);--mantine-color-green-filled: var(--mantine-color-green-6);--mantine-color-green-filled-hover: var(--mantine-color-green-7);--mantine-color-green-light: rgba(64, 192, 87, .1);--mantine-color-green-light-hover: rgba(64, 192, 87, .12);--mantine-color-green-light-color: var(--mantine-color-green-6);--mantine-color-green-outline: var(--mantine-color-green-6);--mantine-color-green-outline-hover: rgba(64, 192, 87, .05);--mantine-color-lime-text: var(--mantine-color-lime-filled);--mantine-color-lime-filled: var(--mantine-color-lime-6);--mantine-color-lime-filled-hover: var(--mantine-color-lime-7);--mantine-color-lime-light: rgba(130, 201, 30, .1);--mantine-color-lime-light-hover: rgba(130, 201, 30, .12);--mantine-color-lime-light-color: var(--mantine-color-lime-6);--mantine-color-lime-outline: var(--mantine-color-lime-6);--mantine-color-lime-outline-hover: rgba(130, 201, 30, .05);--mantine-color-yellow-text: var(--mantine-color-yellow-filled);--mantine-color-yellow-filled: var(--mantine-color-yellow-6);--mantine-color-yellow-filled-hover: var(--mantine-color-yellow-7);--mantine-color-yellow-light: rgba(250, 176, 5, .1);--mantine-color-yellow-light-hover: rgba(250, 176, 5, .12);--mantine-color-yellow-light-color: var(--mantine-color-yellow-6);--mantine-color-yellow-outline: var(--mantine-color-yellow-6);--mantine-color-yellow-outline-hover: rgba(250, 176, 5, .05);--mantine-color-orange-text: var(--mantine-color-orange-filled);--mantine-color-orange-filled: var(--mantine-color-orange-6);--mantine-color-orange-filled-hover: var(--mantine-color-orange-7);--mantine-color-orange-light: rgba(253, 126, 20, .1);--mantine-color-orange-light-hover: rgba(253, 126, 20, .12);--mantine-color-orange-light-color: var(--mantine-color-orange-6);--mantine-color-orange-outline: var(--mantine-color-orange-6);--mantine-color-orange-outline-hover: rgba(253, 126, 20, .05)}.m_d57069b5{--scrollarea-scrollbar-size: calc(.75rem * var(--mantine-scale));position:relative;overflow:hidden}.m_c0783ff9{scrollbar-width:none;overscroll-behavior:var(--scrollarea-over-scroll-behavior);-ms-overflow-style:none;-webkit-overflow-scrolling:touch;width:100%;height:100%}.m_c0783ff9::-webkit-scrollbar{display:none}.m_c0783ff9:where([data-scrollbars=xy],[data-scrollbars=y]):where([data-offset-scrollbars=xy],[data-offset-scrollbars=y],[data-offset-scrollbars=present]):where([data-vertical-hidden]){padding-inline-end:0;padding-inline-start:0}.m_c0783ff9:where([data-scrollbars=xy],[data-scrollbars=y]):where([data-offset-scrollbars=xy],[data-offset-scrollbars=y],[data-offset-scrollbars=present]):not([data-vertical-hidden]){padding-inline-end:var(--scrollarea-scrollbar-size);padding-inline-start:unset}.m_c0783ff9:where([data-scrollbars=xy],[data-scrollbars=x]):where([data-offset-scrollbars=xy],[data-offset-scrollbars=x],[data-offset-scrollbars=present]):where([data-horizontal-hidden]){padding-bottom:0}.m_c0783ff9:where([data-scrollbars=xy],[data-scrollbars=x]):where([data-offset-scrollbars=xy],[data-offset-scrollbars=x],[data-offset-scrollbars=present]):not([data-horizontal-hidden]){padding-bottom:var(--scrollarea-scrollbar-size)}.m_f8f631dd{min-width:100%;display:table}.m_c44ba933{-webkit-user-select:none;user-select:none;touch-action:none;box-sizing:border-box;transition:background-color .15s ease,opacity .15s ease;padding:calc(var(--scrollarea-scrollbar-size) / 5);display:flex;background-color:transparent;flex-direction:row}@media(hover:hover){:where([data-mantine-color-scheme=light]) .m_c44ba933:hover{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=light]) .m_c44ba933:hover>.m_d8b5e363{background-color:#00000080}:where([data-mantine-color-scheme=dark]) .m_c44ba933:hover{background-color:var(--mantine-color-dark-8)}:where([data-mantine-color-scheme=dark]) .m_c44ba933:hover>.m_d8b5e363{background-color:#ffffff80}}@media(hover:none){:where([data-mantine-color-scheme=light]) .m_c44ba933:active{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=light]) .m_c44ba933:active>.m_d8b5e363{background-color:#00000080}:where([data-mantine-color-scheme=dark]) .m_c44ba933:active{background-color:var(--mantine-color-dark-8)}:where([data-mantine-color-scheme=dark]) .m_c44ba933:active>.m_d8b5e363{background-color:#ffffff80}}.m_c44ba933:where([data-hidden],[data-state=hidden]){display:none}.m_c44ba933:where([data-orientation=vertical]){width:var(--scrollarea-scrollbar-size);top:0;bottom:var(--sa-corner-width);inset-inline-end:0}.m_c44ba933:where([data-orientation=horizontal]){height:var(--scrollarea-scrollbar-size);flex-direction:column;bottom:0;inset-inline-start:0;inset-inline-end:var(--sa-corner-width)}.m_d8b5e363{flex:1;border-radius:var(--scrollarea-scrollbar-size);position:relative;transition:background-color .15s ease;overflow:hidden;opacity:var(--thumb-opacity)}.m_d8b5e363:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;min-width:calc(2.75rem * var(--mantine-scale));min-height:calc(2.75rem * var(--mantine-scale))}:where([data-mantine-color-scheme=light]) .m_d8b5e363{background-color:#0006}:where([data-mantine-color-scheme=dark]) .m_d8b5e363{background-color:#fff6}.m_21657268{position:absolute;opacity:0;transition:opacity .15s ease;display:block;inset-inline-end:0;bottom:0}:where([data-mantine-color-scheme=light]) .m_21657268{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_21657268{background-color:var(--mantine-color-dark-8)}.m_21657268:where([data-hovered]){opacity:1}.m_21657268:where([data-hidden]){display:none}.m_87cf2631{background-color:transparent;cursor:pointer;border:0;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:var(--mantine-font-size-md);text-align:left;text-decoration:none;color:inherit;touch-action:manipulation;-webkit-tap-highlight-color:transparent}:where([dir=rtl]) .m_87cf2631{text-align:right}.m_515a97f8{border:0;clip:rect(0 0 0 0);height:calc(.0625rem * var(--mantine-scale));width:calc(.0625rem * var(--mantine-scale));margin:calc(-.0625rem * var(--mantine-scale));overflow:hidden;padding:0;position:absolute;white-space:nowrap}.m_1b7284a3{--paper-radius: var(--mantine-radius-default);outline:0;-webkit-tap-highlight-color:transparent;display:block;touch-action:manipulation;text-decoration:none;border-radius:var(--paper-radius);box-shadow:var(--paper-shadow);background-color:var(--mantine-color-body)}[data-mantine-color-scheme=light] .m_1b7284a3{--paper-border-color: var(--mantine-color-gray-3)}[data-mantine-color-scheme=dark] .m_1b7284a3{--paper-border-color: var(--mantine-color-dark-4)}.m_1b7284a3:where([data-with-border]){border:calc(.0625rem * var(--mantine-scale)) solid var(--paper-border-color)}.m_9814e45f{top:0;right:0;bottom:0;left:0;position:absolute;background:var(--overlay-bg, rgba(0, 0, 0, .6));-webkit-backdrop-filter:var(--overlay-filter);backdrop-filter:var(--overlay-filter);border-radius:var(--overlay-radius, 0);z-index:var(--overlay-z-index)}.m_9814e45f:where([data-fixed]){position:fixed}.m_9814e45f:where([data-center]){display:flex;align-items:center;justify-content:center}.m_38a85659{position:absolute;border:1px solid var(--popover-border-color);padding:var(--mantine-spacing-sm) var(--mantine-spacing-md);box-shadow:var(--popover-shadow, none);border-radius:var(--popover-radius, var(--mantine-radius-default))}.m_38a85659:where([data-fixed]){position:fixed}.m_38a85659:focus{outline:none}:where([data-mantine-color-scheme=light]) .m_38a85659{--popover-border-color: var(--mantine-color-gray-2);background-color:var(--mantine-color-white)}:where([data-mantine-color-scheme=dark]) .m_38a85659{--popover-border-color: var(--mantine-color-dark-4);background-color:var(--mantine-color-dark-6)}.m_a31dc6c1{background-color:inherit;border:1px solid var(--popover-border-color);z-index:1}.m_3d7bc908{position:fixed;top:0;right:0;bottom:0;left:0}.m_5ae2e3c{--loader-size-xs: calc(1.125rem * var(--mantine-scale));--loader-size-sm: calc(1.375rem * var(--mantine-scale));--loader-size-md: calc(2.25rem * var(--mantine-scale));--loader-size-lg: calc(2.75rem * var(--mantine-scale));--loader-size-xl: calc(3.625rem * var(--mantine-scale));--loader-size: var(--loader-size-md);--loader-color: var(--mantine-primary-color-filled)}@keyframes m_5d2b3b9d{0%{transform:scale(.6);opacity:0}50%,to{transform:scale(1)}}.m_7a2bd4cd{position:relative;width:var(--loader-size);height:var(--loader-size);display:flex;gap:calc(var(--loader-size) / 5)}.m_870bb79{flex:1;background:var(--loader-color);animation:m_5d2b3b9d 1.2s cubic-bezier(0,.5,.5,1) infinite;border-radius:calc(.125rem * var(--mantine-scale))}.m_870bb79:nth-of-type(1){animation-delay:-.24s}.m_870bb79:nth-of-type(2){animation-delay:-.12s}.m_870bb79:nth-of-type(3){animation-delay:0}@keyframes m_aac34a1{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.6);opacity:.5}}.m_4e3f22d7{display:flex;justify-content:center;align-items:center;gap:calc(var(--loader-size) / 10);position:relative;width:var(--loader-size);height:var(--loader-size)}.m_870c4af{width:calc(var(--loader-size) / 3 - var(--loader-size) / 15);height:calc(var(--loader-size) / 3 - var(--loader-size) / 15);border-radius:50%;background:var(--loader-color);animation:m_aac34a1 .8s infinite linear}.m_870c4af:nth-child(2){animation-delay:.4s}@keyframes m_f8e89c4b{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.m_b34414df{display:inline-block;width:var(--loader-size);height:var(--loader-size)}.m_b34414df:after{content:"";display:block;width:var(--loader-size);height:var(--loader-size);border-radius:calc(625rem * var(--mantine-scale));border-width:calc(var(--loader-size) / 8);border-style:solid;border-color:var(--loader-color) var(--loader-color) var(--loader-color) transparent;animation:m_f8e89c4b 1.2s linear infinite}.m_8d3f4000{--ai-size-xs: calc(1.125rem * var(--mantine-scale));--ai-size-sm: calc(1.375rem * var(--mantine-scale));--ai-size-md: calc(1.75rem * var(--mantine-scale));--ai-size-lg: calc(2.125rem * var(--mantine-scale));--ai-size-xl: calc(2.75rem * var(--mantine-scale));--ai-size-input-xs: calc(1.875rem * var(--mantine-scale));--ai-size-input-sm: calc(2.25rem * var(--mantine-scale));--ai-size-input-md: calc(2.625rem * var(--mantine-scale));--ai-size-input-lg: calc(3.125rem * var(--mantine-scale));--ai-size-input-xl: calc(3.75rem * var(--mantine-scale));--ai-size: var(--ai-size-md);--ai-color: var(--mantine-color-white);line-height:1;display:inline-flex;align-items:center;justify-content:center;position:relative;-webkit-user-select:none;user-select:none;overflow:hidden;width:var(--ai-size);height:var(--ai-size);min-width:var(--ai-size);min-height:var(--ai-size);border-radius:var(--ai-radius, var(--mantine-radius-default));background:var(--ai-bg, var(--mantine-primary-color-filled));color:var(--ai-color, var(--mantine-color-white));border:var(--ai-bd, calc(.0625rem * var(--mantine-scale)) solid transparent);cursor:pointer}@media(hover:hover){.m_8d3f4000:hover:where(:not([data-loading],:disabled,[data-disabled])){background-color:var(--ai-hover, var(--mantine-primary-color-filled-hover));color:var(--ai-hover-color, var(--ai-color))}}@media(hover:none){.m_8d3f4000:active:where(:not([data-loading],:disabled,[data-disabled])){background-color:var(--ai-hover, var(--mantine-primary-color-filled-hover));color:var(--ai-hover-color, var(--ai-color))}}.m_8d3f4000[data-loading]{cursor:not-allowed}.m_8d3f4000[data-loading] .m_8d3afb97{opacity:0;transform:translateY(100%)}.m_8d3f4000:where(:disabled:not([data-loading]),[data-disabled]:not([data-loading])){cursor:not-allowed;border:calc(.0625rem * var(--mantine-scale)) solid transparent}:where([data-mantine-color-scheme=light]) .m_8d3f4000:where(:disabled:not([data-loading]),[data-disabled]:not([data-loading])){background-color:var(--mantine-color-gray-1);color:var(--mantine-color-gray-5)}:where([data-mantine-color-scheme=dark]) .m_8d3f4000:where(:disabled:not([data-loading]),[data-disabled]:not([data-loading])){background-color:var(--mantine-color-dark-6);color:var(--mantine-color-dark-3)}.m_8d3f4000:where(:disabled:not([data-loading]),[data-disabled]:not([data-loading])):active{transform:none}.m_302b9fb1{inset:calc(-.0625rem * var(--mantine-scale));position:absolute;border-radius:var(--ai-radius, var(--mantine-radius-default));display:flex;align-items:center;justify-content:center}:where([data-mantine-color-scheme=light]) .m_302b9fb1{background-color:#ffffff26}:where([data-mantine-color-scheme=dark]) .m_302b9fb1{background-color:#00000026}.m_1a0f1b21{--ai-border-width: calc(.0625rem * var(--mantine-scale));display:flex}.m_1a0f1b21 :where(*):focus{position:relative;z-index:1}.m_1a0f1b21[data-orientation=horizontal]{flex-direction:row}.m_1a0f1b21[data-orientation=horizontal] .m_8d3f4000:not(:only-child):first-child,.m_1a0f1b21[data-orientation=horizontal] .m_437b6484:not(:only-child):first-child{border-end-end-radius:0;border-start-end-radius:0;border-inline-end-width:calc(var(--ai-border-width) / 2)}.m_1a0f1b21[data-orientation=horizontal] .m_8d3f4000:not(:only-child):last-child,.m_1a0f1b21[data-orientation=horizontal] .m_437b6484:not(:only-child):last-child{border-end-start-radius:0;border-start-start-radius:0;border-inline-start-width:calc(var(--ai-border-width) / 2)}.m_1a0f1b21[data-orientation=horizontal] .m_8d3f4000:not(:only-child):not(:first-child):not(:last-child),.m_1a0f1b21[data-orientation=horizontal] .m_437b6484:not(:only-child):not(:first-child):not(:last-child){border-radius:0;border-inline-width:calc(var(--ai-border-width) / 2)}.m_1a0f1b21[data-orientation=vertical]{flex-direction:column}.m_1a0f1b21[data-orientation=vertical] .m_8d3f4000:not(:only-child):first-child,.m_1a0f1b21[data-orientation=vertical] .m_437b6484:not(:only-child):first-child{border-end-start-radius:0;border-end-end-radius:0;border-bottom-width:calc(var(--ai-border-width) / 2)}.m_1a0f1b21[data-orientation=vertical] .m_8d3f4000:not(:only-child):last-child,.m_1a0f1b21[data-orientation=vertical] .m_437b6484:not(:only-child):last-child{border-start-start-radius:0;border-start-end-radius:0;border-top-width:calc(var(--ai-border-width) / 2)}.m_1a0f1b21[data-orientation=vertical] .m_8d3f4000:not(:only-child):not(:first-child):not(:last-child),.m_1a0f1b21[data-orientation=vertical] .m_437b6484:not(:only-child):not(:first-child):not(:last-child){border-radius:0;border-bottom-width:calc(var(--ai-border-width) / 2);border-top-width:calc(var(--ai-border-width) / 2)}.m_8d3afb97{display:flex;align-items:center;justify-content:center;transition:transform .15s ease,opacity .1s ease;width:100%;height:100%}.m_437b6484{--section-height-xs: calc(1.125rem * var(--mantine-scale));--section-height-sm: calc(1.375rem * var(--mantine-scale));--section-height-md: calc(1.75rem * var(--mantine-scale));--section-height-lg: calc(2.125rem * var(--mantine-scale));--section-height-xl: calc(2.75rem * var(--mantine-scale));--section-height-input-xs: calc(1.875rem * var(--mantine-scale));--section-height-input-sm: calc(2.25rem * var(--mantine-scale));--section-height-input-md: calc(2.625rem * var(--mantine-scale));--section-height-input-lg: calc(3.125rem * var(--mantine-scale));--section-height-input-xl: calc(3.75rem * var(--mantine-scale));--section-padding-x-xs: calc(.375rem * var(--mantine-scale));--section-padding-x-sm: calc(.5rem * var(--mantine-scale));--section-padding-x-md: calc(.625rem * var(--mantine-scale));--section-padding-x-lg: calc(.75rem * var(--mantine-scale));--section-padding-x-xl: calc(1rem * var(--mantine-scale));--section-height: var(--section-height-sm);--section-padding-x: var(--section-padding-x-sm);--section-color: var(--mantine-color-white);font-weight:600;width:auto;border-radius:var(--section-radius, var(--mantine-radius-default));font-size:var(--section-fz, var(--mantine-font-size-sm));background:var(--section-bg, var(--mantine-primary-color-filled));border:var(--section-bd, calc(.0625rem * var(--mantine-scale)) solid transparent);color:var(--section-color, var(--mantine-color-white));height:var(--section-height, var(--section-height-sm));padding-inline:var(--section-padding-x, var(--section-padding-x-sm));vertical-align:middle;line-height:1;display:inline-flex;align-items:center;justify-content:center}.m_86a44da5{--cb-size-xs: calc(1.125rem * var(--mantine-scale));--cb-size-sm: calc(1.375rem * var(--mantine-scale));--cb-size-md: calc(1.75rem * var(--mantine-scale));--cb-size-lg: calc(2.125rem * var(--mantine-scale));--cb-size-xl: calc(2.75rem * var(--mantine-scale));--cb-size: var(--cb-size-md);--cb-icon-size: 70%;--cb-radius: var(--mantine-radius-default);line-height:1;display:inline-flex;align-items:center;justify-content:center;position:relative;-webkit-user-select:none;user-select:none;width:var(--cb-size);height:var(--cb-size);min-width:var(--cb-size);min-height:var(--cb-size);border-radius:var(--cb-radius)}:where([data-mantine-color-scheme=light]) .m_86a44da5{color:var(--mantine-color-gray-7)}:where([data-mantine-color-scheme=dark]) .m_86a44da5{color:var(--mantine-color-dark-1)}.m_86a44da5[data-disabled],.m_86a44da5:disabled{cursor:not-allowed;opacity:.6}@media(hover:hover){:where([data-mantine-color-scheme=light]) .m_220c80f2:where(:not([data-disabled],:disabled)):hover{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_220c80f2:where(:not([data-disabled],:disabled)):hover{background-color:var(--mantine-color-dark-6)}}@media(hover:none){:where([data-mantine-color-scheme=light]) .m_220c80f2:where(:not([data-disabled],:disabled)):active{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_220c80f2:where(:not([data-disabled],:disabled)):active{background-color:var(--mantine-color-dark-6)}}.m_4081bf90{display:flex;flex-direction:row;flex-wrap:var(--group-wrap, wrap);justify-content:var(--group-justify, flex-start);align-items:var(--group-align, center);gap:var(--group-gap, var(--mantine-spacing-md))}.m_4081bf90:where([data-grow])>*{flex-grow:1;max-width:var(--group-child-width)}.m_615af6c9{line-height:1;padding:0;margin:0;font-weight:400;font-size:var(--mantine-font-size-md)}.m_b5489c3c{display:flex;justify-content:space-between;align-items:center;padding:var(--mb-padding, var(--mantine-spacing-md));padding-inline-end:calc(var(--mb-padding, var(--mantine-spacing-md)) - calc(.3125rem * var(--mantine-scale)));position:sticky;top:0;background-color:var(--mantine-color-body);z-index:1000;min-height:calc(3.75rem * var(--mantine-scale));transition:padding-inline-end .1s}.m_60c222c7{position:fixed;width:100%;top:0;bottom:0;z-index:var(--mb-z-index);pointer-events:none}.m_fd1ab0aa{pointer-events:all;box-shadow:var(--mb-shadow, var(--mantine-shadow-xl))}.m_fd1ab0aa [data-mantine-scrollbar]{z-index:1001}[data-offset-scrollbars] .m_fd1ab0aa:has([data-mantine-scrollbar]) .m_b5489c3c{padding-inline-end:calc(var(--mb-padding, var(--mantine-spacing-md)) + calc(.3125rem * var(--mantine-scale)))}.m_606cb269{margin-inline-start:auto}.m_5df29311{padding:var(--mb-padding, var(--mantine-spacing-md));padding-top:var(--mb-padding, var(--mantine-spacing-md))}.m_5df29311:where(:not(:only-child)){padding-top:0}.m_6c018570{position:relative;margin-top:var(--input-margin-top, 0rem);margin-bottom:var(--input-margin-bottom, 0rem);--input-height-xs: calc(1.875rem * var(--mantine-scale));--input-height-sm: calc(2.25rem * var(--mantine-scale));--input-height-md: calc(2.625rem * var(--mantine-scale));--input-height-lg: calc(3.125rem * var(--mantine-scale));--input-height-xl: calc(3.75rem * var(--mantine-scale));--input-padding-y-xs: calc(.3125rem * var(--mantine-scale));--input-padding-y-sm: calc(.375rem * var(--mantine-scale));--input-padding-y-md: calc(.5rem * var(--mantine-scale));--input-padding-y-lg: calc(.625rem * var(--mantine-scale));--input-padding-y-xl: calc(.8125rem * var(--mantine-scale));--input-height: var(--input-height-sm);--input-radius: var(--mantine-radius-default);--input-cursor: text;--input-text-align: left;--input-line-height: calc(var(--input-height) - calc(.125rem * var(--mantine-scale)));--input-padding: calc(var(--input-height) / 3);--input-padding-inline-start: var(--input-padding);--input-padding-inline-end: var(--input-padding);--input-placeholder-color: var(--mantine-color-placeholder);--input-color: var(--mantine-color-text);--input-left-section-size: var(--input-left-section-width, calc(var(--input-height) - calc(.125rem * var(--mantine-scale))));--input-right-section-size: var( --input-right-section-width, calc(var(--input-height) - calc(.125rem * var(--mantine-scale))) );--input-size: var(--input-height);--section-y: calc(.0625rem * var(--mantine-scale));--left-section-start: calc(.0625rem * var(--mantine-scale));--left-section-border-radius: var(--input-radius) 0 0 var(--input-radius);--right-section-end: calc(.0625rem * var(--mantine-scale));--right-section-border-radius: 0 var(--input-radius) var(--input-radius) 0}.m_6c018570[data-variant=unstyled]{--input-padding: 0;--input-padding-y: 0;--input-padding-inline-start: 0;--input-padding-inline-end: 0}.m_6c018570[data-pointer]{--input-cursor: pointer}.m_6c018570[data-multiline]{--input-padding-y-xs: calc(.28125rem * var(--mantine-scale));--input-padding-y-sm: calc(.34375rem * var(--mantine-scale));--input-padding-y-md: calc(.4375rem * var(--mantine-scale));--input-padding-y-lg: calc(.59375rem * var(--mantine-scale));--input-padding-y-xl: calc(.8125rem * var(--mantine-scale));--input-size: auto;--input-line-height: var(--mantine-line-height);--input-padding-y: var(--input-padding-y-sm)}.m_6c018570[data-with-left-section]{--input-padding-inline-start: var(--input-left-section-size)}.m_6c018570[data-with-right-section]{--input-padding-inline-end: var(--input-right-section-size)}[data-mantine-color-scheme=light] .m_6c018570{--input-disabled-bg: var(--mantine-color-gray-1);--input-disabled-color: var(--mantine-color-gray-6)}[data-mantine-color-scheme=light] .m_6c018570[data-variant=default]{--input-bd: var(--mantine-color-gray-4);--input-bg: var(--mantine-color-white);--input-bd-focus: var(--mantine-primary-color-filled)}[data-mantine-color-scheme=light] .m_6c018570[data-variant=filled]{--input-bd: transparent;--input-bg: var(--mantine-color-gray-1);--input-bd-focus: var(--mantine-primary-color-filled)}[data-mantine-color-scheme=light] .m_6c018570[data-variant=unstyled]{--input-bd: transparent;--input-bg: transparent;--input-bd-focus: transparent}[data-mantine-color-scheme=dark] .m_6c018570{--input-disabled-bg: var(--mantine-color-dark-6);--input-disabled-color: var(--mantine-color-dark-2)}[data-mantine-color-scheme=dark] .m_6c018570[data-variant=default]{--input-bd: var(--mantine-color-dark-4);--input-bg: var(--mantine-color-dark-6);--input-bd-focus: var(--mantine-primary-color-filled)}[data-mantine-color-scheme=dark] .m_6c018570[data-variant=filled]{--input-bd: transparent;--input-bg: var(--mantine-color-dark-5);--input-bd-focus: var(--mantine-primary-color-filled)}[data-mantine-color-scheme=dark] .m_6c018570[data-variant=unstyled]{--input-bd: transparent;--input-bg: transparent;--input-bd-focus: transparent}[data-mantine-color-scheme] .m_6c018570[data-error]:not([data-variant=unstyled]){--input-bd: var(--mantine-color-error)}[data-mantine-color-scheme] .m_6c018570[data-error]{--input-color: var(--mantine-color-error);--input-placeholder-color: var(--mantine-color-error);--input-section-color: var(--mantine-color-error)}:where([dir=rtl]) .m_6c018570{--input-text-align: right;--left-section-border-radius: 0 var(--input-radius) var(--input-radius) 0;--right-section-border-radius: var(--input-radius) 0 0 var(--input-radius)}.m_8fb7ebe7{-webkit-tap-highlight-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;resize:var(--input-resize, none);display:block;width:100%;transition:border-color .1s ease;text-align:var(--input-text-align);color:var(--input-color);border:calc(.0625rem * var(--mantine-scale)) solid var(--input-bd);background-color:var(--input-bg);font-family:var(--input-font-family, var(--mantine-font-family));height:var(--input-size);min-height:var(--input-height);line-height:var(--input-line-height);font-size:var(--input-fz, var(--input-fz, var(--mantine-font-size-sm)));border-radius:var(--input-radius);padding-inline-start:var(--input-padding-inline-start);padding-inline-end:var(--input-padding-inline-end);padding-top:var(--input-padding-y, 0rem);padding-bottom:var(--input-padding-y, 0rem);cursor:var(--input-cursor);overflow:var(--input-overflow)}.m_8fb7ebe7[data-no-overflow]{--input-overflow: hidden}.m_8fb7ebe7[data-monospace]{--input-font-family: var(--mantine-font-family-monospace);--input-fz: calc(var(--input-fz, var(--mantine-font-size-sm)) - calc(.125rem * var(--mantine-scale)))}.m_8fb7ebe7:focus,.m_8fb7ebe7:focus-within{outline:none;--input-bd: var(--input-bd-focus)}[data-error] .m_8fb7ebe7:focus,[data-error] .m_8fb7ebe7:focus-within{--input-bd: var(--mantine-color-error)}.m_8fb7ebe7::placeholder{color:var(--input-placeholder-color);opacity:1}.m_8fb7ebe7::-webkit-inner-spin-button,.m_8fb7ebe7::-webkit-outer-spin-button,.m_8fb7ebe7::-webkit-search-decoration,.m_8fb7ebe7::-webkit-search-cancel-button,.m_8fb7ebe7::-webkit-search-results-button,.m_8fb7ebe7::-webkit-search-results-decoration{-webkit-appearance:none;-moz-appearance:none;appearance:none}.m_8fb7ebe7[type=number]{-moz-appearance:textfield}.m_8fb7ebe7:disabled,.m_8fb7ebe7[data-disabled]{cursor:not-allowed;opacity:.6;background-color:var(--input-disabled-bg);color:var(--input-disabled-color)}.m_8fb7ebe7:has(input:disabled){cursor:not-allowed;opacity:.6;background-color:var(--input-disabled-bg);color:var(--input-disabled-color)}.m_82577fc2{pointer-events:var(--section-pointer-events);position:absolute;z-index:1;inset-inline-start:var(--section-start);inset-inline-end:var(--section-end);bottom:var(--section-y);top:var(--section-y);display:flex;align-items:center;justify-content:center;width:var(--section-size);border-radius:var(--section-border-radius);color:var(--input-section-color, var(--mantine-color-dimmed))}.m_82577fc2[data-position=right]{--section-pointer-events: var(--input-right-section-pointer-events);--section-end: var(--right-section-end);--section-size: var(--input-right-section-size);--section-border-radius: var(--right-section-border-radius)}.m_82577fc2[data-position=left]{--section-pointer-events: var(--input-left-section-pointer-events);--section-start: var(--left-section-start);--section-size: var(--input-left-section-size);--section-border-radius: var(--left-section-border-radius)}.m_88bacfd0{color:var(--input-placeholder-color, var(--mantine-color-placeholder))}[data-error] .m_88bacfd0{--input-placeholder-color: var(--input-color, var(--mantine-color-placeholder))}.m_46b77525{line-height:var(--mantine-line-height)}.m_8fdc1311{display:inline-block;font-weight:500;word-break:break-word;cursor:default;-webkit-tap-highlight-color:transparent;font-size:var(--input-label-size, var(--mantine-font-size-sm))}.m_78a94662{color:var(--input-asterisk-color, var(--mantine-color-error))}.m_8f816625,.m_fe47ce59{word-wrap:break-word;line-height:1.2;display:block;margin:0;padding:0}.m_8f816625{color:var(--mantine-color-error);font-size:var(--input-error-size, calc(var(--mantine-font-size-sm) - calc(.125rem * var(--mantine-scale))))}.m_fe47ce59{color:var(--mantine-color-dimmed);font-size:var(--input-description-size, calc(var(--mantine-font-size-sm) - calc(.125rem * var(--mantine-scale))))}.m_8bffd616{display:flex}.m_96b553a6{--transition-duration: .15s;top:0;left:0;position:absolute;z-index:0;transition-property:transform,width,height;transition-timing-function:ease;transition-duration:0ms}.m_96b553a6:where([data-initialized]){transition-duration:var(--transition-duration)}.m_96b553a6:where([data-hidden]){background-color:red;display:none}.m_9bdbb667{--accordion-radius: var(--mantine-radius-default)}.m_df78851f{word-break:break-word}.m_4ba554d4{padding:var(--mantine-spacing-md);padding-top:calc(var(--mantine-spacing-xs) / 2)}.m_8fa820a0{margin:0;padding:0}.m_4ba585b8{width:100%;display:flex;align-items:center;flex-direction:row-reverse;padding-inline:var(--mantine-spacing-md);opacity:1;cursor:pointer;background-color:transparent}.m_4ba585b8:where([data-chevron-position=left]){flex-direction:row;padding-inline-start:0}:where([data-mantine-color-scheme=light]) .m_4ba585b8{color:var(--mantine-color-black)}:where([data-mantine-color-scheme=dark]) .m_4ba585b8{color:var(--mantine-color-dark-0)}.m_4ba585b8:where(:disabled,[data-disabled]){opacity:.4;cursor:not-allowed}@media(hover:hover){:where([data-mantine-color-scheme=light]) .m_6939a5e9:where(:not(:disabled,[data-disabled])):hover,:where([data-mantine-color-scheme=light]) .m_4271d21b:where(:not(:disabled,[data-disabled])):hover{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_6939a5e9:where(:not(:disabled,[data-disabled])):hover,:where([data-mantine-color-scheme=dark]) .m_4271d21b:where(:not(:disabled,[data-disabled])):hover{background-color:var(--mantine-color-dark-6)}}@media(hover:none){:where([data-mantine-color-scheme=light]) .m_6939a5e9:where(:not(:disabled,[data-disabled])):active,:where([data-mantine-color-scheme=light]) .m_4271d21b:where(:not(:disabled,[data-disabled])):active{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_6939a5e9:where(:not(:disabled,[data-disabled])):active,:where([data-mantine-color-scheme=dark]) .m_4271d21b:where(:not(:disabled,[data-disabled])):active{background-color:var(--mantine-color-dark-6)}}.m_df3ffa0f{color:inherit;font-weight:400;flex:1;overflow:hidden;text-overflow:ellipsis;padding-top:var(--mantine-spacing-sm);padding-bottom:var(--mantine-spacing-sm)}.m_3f35ae96{display:flex;align-items:center;justify-content:flex-start;transition:transform var(--accordion-transition-duration, .2s) ease;width:var(--accordion-chevron-size, calc(.9375rem * var(--mantine-scale)));min-width:var(--accordion-chevron-size, calc(.9375rem * var(--mantine-scale)));transform:rotate(0)}.m_3f35ae96:where([data-rotate]){transform:rotate(180deg)}.m_3f35ae96:where([data-position=left]){margin-inline-end:var(--mantine-spacing-md);margin-inline-start:var(--mantine-spacing-md)}.m_9bd771fe{display:flex;align-items:center;justify-content:center;margin-inline-end:var(--mantine-spacing-sm)}.m_9bd771fe:where([data-chevron-position=left]){margin-inline-end:0;margin-inline-start:var(--mantine-spacing-lg)}:where([data-mantine-color-scheme=light]) .m_9bd7b098{--item-border-color: var(--mantine-color-gray-3);--item-filled-color: var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_9bd7b098{--item-border-color: var(--mantine-color-dark-4);--item-filled-color: var(--mantine-color-dark-6)}.m_fe19b709{border-bottom:1px solid var(--item-border-color)}.m_1f921b3b{border:1px solid var(--item-border-color);transition:background-color .15s ease}.m_1f921b3b:where([data-active]){background-color:var(--item-filled-color)}.m_1f921b3b:first-of-type{border-start-start-radius:var(--accordion-radius);border-start-end-radius:var(--accordion-radius)}.m_1f921b3b:first-of-type>[data-accordion-control]{border-start-start-radius:var(--accordion-radius);border-start-end-radius:var(--accordion-radius)}.m_1f921b3b:last-of-type{border-end-start-radius:var(--accordion-radius);border-end-end-radius:var(--accordion-radius)}.m_1f921b3b:last-of-type>[data-accordion-control]{border-end-start-radius:var(--accordion-radius);border-end-end-radius:var(--accordion-radius)}.m_1f921b3b+.m_1f921b3b{border-top:0}.m_2cdf939a{border-radius:var(--accordion-radius)}.m_2cdf939a:where([data-active]){background-color:var(--item-filled-color)}.m_9f59b069{background-color:var(--item-filled-color);border-radius:var(--accordion-radius);border:calc(.0625rem * var(--mantine-scale)) solid transparent;transition:background-color .15s ease}.m_9f59b069[data-active]{border-color:var(--item-border-color)}:where([data-mantine-color-scheme=light]) .m_9f59b069[data-active]{background-color:var(--mantine-color-white)}:where([data-mantine-color-scheme=dark]) .m_9f59b069[data-active]{background-color:var(--mantine-color-dark-7)}.m_9f59b069+.m_9f59b069{margin-top:var(--mantine-spacing-md)}.m_7f854edf{position:fixed;z-index:var(--affix-z-index);inset-inline-start:var(--affix-left);inset-inline-end:var(--affix-right);top:var(--affix-top);bottom:var(--affix-bottom)}.m_66836ed3{--alert-radius: var(--mantine-radius-default);--alert-bg: var(--mantine-primary-color-light);--alert-bd: calc(.0625rem * var(--mantine-scale)) solid transparent;--alert-color: var(--mantine-primary-color-light-color);padding:var(--mantine-spacing-md) var(--mantine-spacing-md);border-radius:var(--alert-radius);position:relative;overflow:hidden;background-color:var(--alert-bg);border:var(--alert-bd);color:var(--alert-color)}.m_a5d60502{display:flex}.m_667c2793{flex:1;display:flex;flex-direction:column;gap:var(--mantine-spacing-xs)}.m_6a03f287{display:flex;align-items:center;justify-content:space-between;font-size:var(--mantine-font-size-sm);font-weight:700}.m_6a03f287:where([data-with-close-button]){padding-inline-end:var(--mantine-spacing-md)}.m_698f4f23{display:block;overflow:hidden;text-overflow:ellipsis}.m_667f2a6a{line-height:1;width:calc(1.25rem * var(--mantine-scale));height:calc(1.25rem * var(--mantine-scale));display:flex;align-items:center;justify-content:flex-start;margin-inline-end:var(--mantine-spacing-md);margin-top:calc(.0625rem * var(--mantine-scale))}.m_7fa78076{text-overflow:ellipsis;overflow:hidden;font-size:var(--mantine-font-size-sm)}:where([data-mantine-color-scheme=light]) .m_7fa78076{color:var(--mantine-color-black)}:where([data-mantine-color-scheme=dark]) .m_7fa78076{color:var(--mantine-color-white)}.m_7fa78076:where([data-variant=filled]){color:var(--alert-color)}.m_7fa78076:where([data-variant=white]){color:var(--mantine-color-black)}.m_87f54839{width:calc(1.25rem * var(--mantine-scale));height:calc(1.25rem * var(--mantine-scale));color:var(--alert-color)}.m_b6d8b162{-webkit-tap-highlight-color:transparent;text-decoration:none;font-size:var(--text-fz, var(--mantine-font-size-md));line-height:var(--text-lh, var(--mantine-line-height-md));font-weight:400;margin:0;padding:0;color:var(--text-color)}.m_b6d8b162:where([data-truncate]){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m_b6d8b162:where([data-truncate=start]){direction:rtl;text-align:right}:where([dir=rtl]) .m_b6d8b162:where([data-truncate=start]){direction:ltr;text-align:left}.m_b6d8b162:where([data-variant=gradient]){background-image:var(--text-gradient);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.m_b6d8b162:where([data-line-clamp]){overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:var(--text-line-clamp);-webkit-box-orient:vertical}.m_b6d8b162:where([data-inherit]){line-height:inherit;font-weight:inherit;font-size:inherit}.m_b6d8b162:where([data-inline]){line-height:1}.m_849cf0da{color:var(--mantine-color-anchor);text-decoration:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;display:inline;padding:0;margin:0;background-color:transparent;cursor:pointer}@media(hover:hover){.m_849cf0da:where([data-underline=hover]):hover{text-decoration:underline}}@media(hover:none){.m_849cf0da:where([data-underline=hover]):active{text-decoration:underline}}.m_849cf0da:where([data-underline=not-hover]){text-decoration:underline}@media(hover:hover){.m_849cf0da:where([data-underline=not-hover]):hover{text-decoration:none}}@media(hover:none){.m_849cf0da:where([data-underline=not-hover]):active{text-decoration:none}}.m_849cf0da:where([data-underline=always]){text-decoration:underline}.m_849cf0da:where([data-variant=gradient]),.m_849cf0da:where([data-variant=gradient]):hover{text-decoration:none}.m_849cf0da:where([data-line-clamp]){display:-webkit-box}.m_48204f9b{width:var(--slider-size);height:var(--slider-size);position:relative;border-radius:100%;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}.m_48204f9b:focus-within{outline:2px solid var(--mantine-primary-color-filled);outline-offset:calc(.125rem * var(--mantine-scale))}.m_48204f9b{--slider-size: calc(3.75rem * var(--mantine-scale));--thumb-size: calc(var(--slider-size) / 5)}:where([data-mantine-color-scheme=light]) .m_48204f9b{background-color:var(--mantine-color-gray-1)}:where([data-mantine-color-scheme=dark]) .m_48204f9b{background-color:var(--mantine-color-dark-5)}.m_bb9cdbad{position:absolute;inset:calc(.0625rem * var(--mantine-scale));border-radius:var(--slider-size);pointer-events:none}.m_481dd586{width:calc(.125rem * var(--mantine-scale));position:absolute;top:0;bottom:0;left:calc(50% - 1px);transform:rotate(var(--angle))}.m_481dd586:before{content:"";position:absolute;top:calc(var(--thumb-size) / 3);left:calc(.03125rem * var(--mantine-scale));width:calc(.0625rem * var(--mantine-scale));height:calc(var(--thumb-size) / 1.5);transform:translate(-50%,-50%)}:where([data-mantine-color-scheme=light]) .m_481dd586:before{background-color:var(--mantine-color-gray-4)}:where([data-mantine-color-scheme=dark]) .m_481dd586:before{background-color:var(--mantine-color-dark-3)}.m_481dd586[data-label]:after{min-width:calc(1.125rem * var(--mantine-scale));text-align:center;content:attr(data-label);position:absolute;top:calc(-1.5rem * var(--mantine-scale));left:calc(-.4375rem * var(--mantine-scale));transform:rotate(calc(360deg - var(--angle)));font-size:var(--mantine-font-size-xs)}.m_bc02ba3d{position:absolute;inset-block:0;inset-inline-start:calc(50% - 1.5px);inset-inline-end:0;height:100%;width:calc(.1875rem * var(--mantine-scale));outline:none;pointer-events:none}.m_bc02ba3d:before{content:"";position:absolute;right:0;top:0;height:min(var(--thumb-size),calc(var(--slider-size) / 2));width:calc(.1875rem * var(--mantine-scale))}:where([data-mantine-color-scheme=light]) .m_bc02ba3d:before{background-color:var(--mantine-color-gray-7)}:where([data-mantine-color-scheme=dark]) .m_bc02ba3d:before{background-color:var(--mantine-color-dark-1)}.m_bb8e875b{font-size:var(--mantine-font-size-xs)}.m_89ab340[data-resizing]{--app-shell-transition-duration: 0ms !important}.m_89ab340[data-disabled]{--app-shell-header-offset: 0rem !important;--app-shell-navbar-offset: 0rem !important;--app-shell-aside-offset: 0rem !important;--app-shell-footer-offset: 0rem !important}[data-mantine-color-scheme=light] .m_89ab340{--app-shell-border-color: var(--mantine-color-gray-3)}[data-mantine-color-scheme=dark] .m_89ab340{--app-shell-border-color: var(--mantine-color-dark-4)}.m_45252eee,.m_9cdde9a,.m_3b16f56b,.m_8983817,.m_3840c879{transition-duration:var(--app-shell-transition-duration);transition-timing-function:var(--app-shell-transition-timing-function)}.m_45252eee,.m_9cdde9a{position:fixed;display:flex;flex-direction:column;top:var(--app-shell-header-offset, 0rem);height:calc(100dvh - var(--app-shell-header-offset, 0rem) - var(--app-shell-footer-offset, 0rem));background-color:var(--mantine-color-body);transition-property:transform,top,height}:where([data-layout=alt]) .m_45252eee,:where([data-layout=alt]) .m_9cdde9a{top:0rem;height:100dvh}.m_45252eee{inset-inline-start:0;width:var(--app-shell-navbar-width);transition-property:transform,top,height;transform:var(--app-shell-navbar-transform);z-index:var(--app-shell-navbar-z-index)}:where([dir=rtl]) .m_45252eee{transform:var(--app-shell-navbar-transform-rtl)}.m_45252eee:where([data-with-border]){border-inline-end:1px solid var(--app-shell-border-color)}.m_9cdde9a{inset-inline-end:0;width:var(--app-shell-aside-width);transform:var(--app-shell-aside-transform);z-index:var(--app-shell-aside-z-index)}:where([dir=rtl]) .m_9cdde9a{transform:var(--app-shell-aside-transform-rtl)}.m_9cdde9a:where([data-with-border]){border-inline-start:1px solid var(--app-shell-border-color)}.m_8983817{padding-inline-start:calc(var(--app-shell-navbar-offset, 0rem) + var(--app-shell-padding));padding-inline-end:calc(var(--app-shell-aside-offset, 0rem) + var(--app-shell-padding));padding-top:calc(var(--app-shell-header-offset, 0rem) + var(--app-shell-padding));padding-bottom:calc(var(--app-shell-footer-offset, 0rem) + var(--app-shell-padding));min-height:100dvh;transition-property:padding}.m_3b16f56b,.m_3840c879{position:fixed;inset-inline:0;transition-property:transform,left,right;background-color:var(--mantine-color-body)}:where([data-layout=alt]) .m_3b16f56b,:where([data-layout=alt]) .m_3840c879{inset-inline-start:var(--app-shell-navbar-offset, 0rem);inset-inline-end:var(--app-shell-aside-offset, 0rem)}.m_3b16f56b{top:0;height:var(--app-shell-header-height);background-color:var(--mantine-color-body);transform:var(--app-shell-header-transform);z-index:var(--app-shell-header-z-index)}.m_3b16f56b:where([data-with-border]){border-bottom:1px solid var(--app-shell-border-color)}.m_3840c879{bottom:0;height:calc(var(--app-shell-footer-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);transform:var(--app-shell-footer-transform);z-index:var(--app-shell-footer-z-index)}.m_3840c879:where([data-with-border]){border-top:1px solid var(--app-shell-border-color)}.m_6dcfc7c7{flex-grow:0}.m_6dcfc7c7:where([data-grow]){flex-grow:1}.m_71ac47fc{--ar-ratio: 1;max-width:100%}.m_71ac47fc>:where(*:not(style)){aspect-ratio:var(--ar-ratio);width:100%}.m_71ac47fc>:where(img,video){object-fit:cover}.m_88b62a41{--combobox-padding: calc(.25rem * var(--mantine-scale));padding:var(--combobox-padding)}.m_88b62a41:has([data-mantine-scrollbar]) .m_985517d8{max-width:calc(100% + var(--combobox-padding))}.m_88b62a41[data-composed]{padding-inline-end:0}.m_88b62a41[data-hidden]{display:none}.m_88b62a41,.m_b2821a6e{--combobox-option-padding-xs: calc(.25rem * var(--mantine-scale)) calc(.5rem * var(--mantine-scale));--combobox-option-padding-sm: calc(.375rem * var(--mantine-scale)) calc(.625rem * var(--mantine-scale));--combobox-option-padding-md: calc(.5rem * var(--mantine-scale)) calc(.75rem * var(--mantine-scale));--combobox-option-padding-lg: calc(.625rem * var(--mantine-scale)) calc(1rem * var(--mantine-scale));--combobox-option-padding-xl: calc(.875rem * var(--mantine-scale)) calc(1.25rem * var(--mantine-scale));--combobox-option-padding: var(--combobox-option-padding-sm)}.m_92253aa5{padding:var(--combobox-option-padding);font-size:var(--combobox-option-fz, var(--mantine-font-size-sm));border-radius:var(--mantine-radius-default);background-color:transparent;color:inherit;cursor:pointer;word-break:break-word}.m_92253aa5:where([data-combobox-selected]){background-color:var(--mantine-primary-color-filled);color:var(--mantine-color-white)}.m_92253aa5:where([data-combobox-disabled]){cursor:not-allowed;opacity:.35}@media(hover:hover){:where([data-mantine-color-scheme=light]) .m_92253aa5:hover:where(:not([data-combobox-selected],[data-combobox-disabled])){background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_92253aa5:hover:where(:not([data-combobox-selected],[data-combobox-disabled])){background-color:var(--mantine-color-dark-7)}}@media(hover:none){:where([data-mantine-color-scheme=light]) .m_92253aa5:active:where(:not([data-combobox-selected],[data-combobox-disabled])){background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_92253aa5:active:where(:not([data-combobox-selected],[data-combobox-disabled])){background-color:var(--mantine-color-dark-7)}}.m_985517d8{margin-inline:calc(var(--combobox-padding) * -1);margin-top:calc(var(--combobox-padding) * -1);width:calc(100% + var(--combobox-padding) * 2);border-top-width:0;border-inline-width:0;border-end-start-radius:0;border-end-end-radius:0;margin-bottom:var(--combobox-padding);position:relative}:where([data-mantine-color-scheme=light]) .m_985517d8,:where([data-mantine-color-scheme=light]) .m_985517d8:focus{border-color:var(--mantine-color-gray-2)}:where([data-mantine-color-scheme=dark]) .m_985517d8,:where([data-mantine-color-scheme=dark]) .m_985517d8:focus{border-color:var(--mantine-color-dark-4)}:where([data-mantine-color-scheme=light]) .m_985517d8{background-color:var(--mantine-color-white)}:where([data-mantine-color-scheme=dark]) .m_985517d8{background-color:var(--mantine-color-dark-7)}.m_2530cd1d{font-size:var(--combobox-option-fz, var(--mantine-font-size-sm));text-align:center;padding:var(--combobox-option-padding);color:var(--mantine-color-dimmed)}.m_858f94bd,.m_82b967cb{font-size:var(--combobox-option-fz, var(--mantine-font-size-sm));border:0 solid transparent;margin-inline:calc(var(--combobox-padding) * -1);padding:var(--combobox-option-padding)}:where([data-mantine-color-scheme=light]) .m_858f94bd,:where([data-mantine-color-scheme=light]) .m_82b967cb{border-color:var(--mantine-color-gray-2)}:where([data-mantine-color-scheme=dark]) .m_858f94bd,:where([data-mantine-color-scheme=dark]) .m_82b967cb{border-color:var(--mantine-color-dark-4)}.m_82b967cb{border-top-width:calc(.0625rem * var(--mantine-scale));margin-top:var(--combobox-padding);margin-bottom:calc(var(--combobox-padding) * -1)}.m_858f94bd{border-bottom-width:calc(.0625rem * var(--mantine-scale));margin-bottom:var(--combobox-padding);margin-top:calc(var(--combobox-padding) * -1)}.m_254f3e4f:has(.m_2bb2e9e5:only-child){display:none}.m_2bb2e9e5{color:var(--mantine-color-dimmed);font-size:calc(var(--combobox-option-fz, var(--mantine-font-size-sm)) * .85);padding:var(--combobox-option-padding);font-weight:500;position:relative;display:flex;align-items:center}.m_2bb2e9e5:after{content:"";flex:1;inset-inline:0;height:calc(.0625rem * var(--mantine-scale));margin-inline-start:var(--mantine-spacing-xs)}:where([data-mantine-color-scheme=light]) .m_2bb2e9e5:after{background-color:var(--mantine-color-gray-2)}:where([data-mantine-color-scheme=dark]) .m_2bb2e9e5:after{background-color:var(--mantine-color-dark-4)}.m_2bb2e9e5:only-child{display:none}.m_2943220b{--combobox-chevron-size-xs: calc(.875rem * var(--mantine-scale));--combobox-chevron-size-sm: calc(1.125rem * var(--mantine-scale));--combobox-chevron-size-md: calc(1.25rem * var(--mantine-scale));--combobox-chevron-size-lg: calc(1.5rem * var(--mantine-scale));--combobox-chevron-size-xl: calc(1.75rem * var(--mantine-scale));--combobox-chevron-size: var(--combobox-chevron-size-sm)}:where([data-mantine-color-scheme=light]) .m_2943220b{--_combobox-chevron-color: var(--combobox-chevron-color, var(--mantine-color-gray-6))}:where([data-mantine-color-scheme=dark]) .m_2943220b{--_combobox-chevron-color: var(--combobox-chevron-color, var(--mantine-color-dark-3))}.m_2943220b{width:var(--combobox-chevron-size);height:var(--combobox-chevron-size);color:var(--_combobox-chevron-color)}.m_2943220b:where([data-error]){color:var(--combobox-chevron-color, var(--mantine-color-error))}.m_390b5f4{display:flex;align-items:center;gap:calc(.5rem * var(--mantine-scale))}.m_390b5f4:where([data-reverse]){justify-content:space-between}.m_8ee53fc2{opacity:.4;width:.8em;min-width:.8em;height:.8em}:where([data-combobox-selected]) .m_8ee53fc2{opacity:1}.m_5f75b09e{--label-lh-xs: calc(1rem * var(--mantine-scale));--label-lh-sm: calc(1.25rem * var(--mantine-scale));--label-lh-md: calc(1.5rem * var(--mantine-scale));--label-lh-lg: calc(1.875rem * var(--mantine-scale));--label-lh-xl: calc(2.25rem * var(--mantine-scale));--label-lh: var(--label-lh-sm)}.m_5f75b09e[data-label-position=left]{--label-order: 1;--label-offset-end: var(--mantine-spacing-sm);--label-offset-start: 0}.m_5f75b09e[data-label-position=right]{--label-order: 2;--label-offset-end: 0;--label-offset-start: var(--mantine-spacing-sm)}.m_5f6e695e{display:flex}.m_d3ea56bb{--label-cursor: var(--mantine-cursor-type);-webkit-tap-highlight-color:transparent;display:inline-flex;flex-direction:column;font-size:var(--label-fz, var(--mantine-font-size-sm));line-height:var(--label-lh);cursor:var(--label-cursor);order:var(--label-order)}fieldset:disabled .m_d3ea56bb,.m_d3ea56bb[data-disabled]{--label-cursor: not-allowed}.m_8ee546b8{cursor:var(--label-cursor);color:inherit;padding-inline-start:var(--label-offset-start);padding-inline-end:var(--label-offset-end)}:where([data-mantine-color-scheme=light]) fieldset:disabled .m_8ee546b8,:where([data-mantine-color-scheme=light]) .m_8ee546b8:where([data-disabled]){color:var(--mantine-color-gray-5)}:where([data-mantine-color-scheme=dark]) fieldset:disabled .m_8ee546b8,:where([data-mantine-color-scheme=dark]) .m_8ee546b8:where([data-disabled]){color:var(--mantine-color-dark-3)}.m_328f68c0,.m_8e8a99cc{margin-top:calc(var(--mantine-spacing-xs) / 2);padding-inline-start:var(--label-offset-start);padding-inline-end:var(--label-offset-end)}.m_26775b0a{--card-radius: var(--mantine-radius-default);display:block;width:100%;border-radius:var(--card-radius);cursor:pointer}.m_26775b0a :where(*){cursor:inherit}.m_26775b0a:where([data-with-border]){border:calc(.0625rem * var(--mantine-scale)) solid transparent}:where([data-mantine-color-scheme=light]) .m_26775b0a:where([data-with-border]){border-color:var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_26775b0a:where([data-with-border]){border-color:var(--mantine-color-dark-4)}.m_5e5256ee{--checkbox-size-xs: calc(1rem * var(--mantine-scale));--checkbox-size-sm: calc(1.25rem * var(--mantine-scale));--checkbox-size-md: calc(1.5rem * var(--mantine-scale));--checkbox-size-lg: calc(1.875rem * var(--mantine-scale));--checkbox-size-xl: calc(2.25rem * var(--mantine-scale));--checkbox-size: var(--checkbox-size-sm);--checkbox-color: var(--mantine-primary-color-filled);--checkbox-icon-color: var(--mantine-color-white);position:relative;border:calc(.0625rem * var(--mantine-scale)) solid transparent;width:var(--checkbox-size);min-width:var(--checkbox-size);height:var(--checkbox-size);min-height:var(--checkbox-size);border-radius:var(--checkbox-radius, var(--mantine-radius-default));transition:border-color .1s ease,background-color .1s ease;cursor:var(--mantine-cursor-type);-webkit-tap-highlight-color:transparent;display:flex;align-items:center;justify-content:center}:where([data-mantine-color-scheme=light]) .m_5e5256ee{background-color:var(--mantine-color-white);border-color:var(--mantine-color-gray-4)}:where([data-mantine-color-scheme=dark]) .m_5e5256ee{background-color:var(--mantine-color-dark-6);border-color:var(--mantine-color-dark-4)}.m_5e5256ee[data-indeterminate],.m_5e5256ee[data-checked]{background-color:var(--checkbox-color);border-color:var(--checkbox-color)}.m_5e5256ee[data-indeterminate]>.m_1b1c543a,.m_5e5256ee[data-checked]>.m_1b1c543a{opacity:1;transform:none;color:var(--checkbox-icon-color)}.m_5e5256ee[data-disabled]{cursor:not-allowed}:where([data-mantine-color-scheme=light]) .m_5e5256ee[data-disabled]{background-color:var(--mantine-color-gray-2);border-color:var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_5e5256ee[data-disabled]{background-color:var(--mantine-color-dark-6);border-color:var(--mantine-color-dark-6)}[data-mantine-color-scheme=light] .m_5e5256ee[data-disabled][data-checked]>.m_1b1c543a{color:var(--mantine-color-gray-5)}[data-mantine-color-scheme=dark] .m_5e5256ee[data-disabled][data-checked]>.m_1b1c543a{color:var(--mantine-color-dark-3)}.m_76e20374[data-indeterminate]:not([data-disabled]),.m_76e20374[data-checked]:not([data-disabled]){background-color:transparent;border-color:var(--checkbox-color)}.m_76e20374[data-indeterminate]:not([data-disabled])>.m_1b1c543a,.m_76e20374[data-checked]:not([data-disabled])>.m_1b1c543a{color:var(--checkbox-color);opacity:1;transform:none}.m_1b1c543a{display:block;width:60%;color:transparent;pointer-events:none;transform:translateY(calc(.3125rem * var(--mantine-scale))) scale(.5);opacity:1;transition:transform .1s ease,opacity .1s ease}.m_bf2d988c{--checkbox-size-xs: calc(1rem * var(--mantine-scale));--checkbox-size-sm: calc(1.25rem * var(--mantine-scale));--checkbox-size-md: calc(1.5rem * var(--mantine-scale));--checkbox-size-lg: calc(1.875rem * var(--mantine-scale));--checkbox-size-xl: calc(2.25rem * var(--mantine-scale));--checkbox-size: var(--checkbox-size-sm);--checkbox-color: var(--mantine-primary-color-filled);--checkbox-icon-color: var(--mantine-color-white)}.m_26062bec{position:relative;width:var(--checkbox-size);height:var(--checkbox-size);order:1}.m_26062bec:where([data-label-position=left]){order:2}.m_26063560{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:calc(.0625rem * var(--mantine-scale)) solid transparent;width:var(--checkbox-size);height:var(--checkbox-size);border-radius:var(--checkbox-radius, var(--mantine-radius-default));padding:0;display:block;margin:0;transition:border-color .1s ease,background-color .1s ease;cursor:var(--mantine-cursor-type);-webkit-tap-highlight-color:transparent}:where([data-mantine-color-scheme=light]) .m_26063560{background-color:var(--mantine-color-white);border-color:var(--mantine-color-gray-4)}:where([data-mantine-color-scheme=dark]) .m_26063560{background-color:var(--mantine-color-dark-6);border-color:var(--mantine-color-dark-4)}.m_26063560:where([data-error]){border-color:var(--mantine-color-error)}.m_26063560[data-indeterminate],.m_26063560:checked{background-color:var(--checkbox-color);border-color:var(--checkbox-color)}.m_26063560[data-indeterminate]+.m_bf295423,.m_26063560:checked+.m_bf295423{opacity:1;transform:none}.m_26063560:disabled{cursor:not-allowed}:where([data-mantine-color-scheme=light]) .m_26063560:disabled{background-color:var(--mantine-color-gray-2);border-color:var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_26063560:disabled{background-color:var(--mantine-color-dark-6);border-color:var(--mantine-color-dark-6)}[data-mantine-color-scheme=light] .m_26063560:disabled+.m_bf295423{color:var(--mantine-color-gray-5)}[data-mantine-color-scheme=dark] .m_26063560:disabled+.m_bf295423{color:var(--mantine-color-dark-3)}.m_215c4542+.m_bf295423{color:var(--checkbox-color)}.m_215c4542[data-indeterminate]:not(:disabled),.m_215c4542:checked:not(:disabled){background-color:transparent;border-color:var(--checkbox-color)}.m_215c4542[data-indeterminate]:not(:disabled)+.m_bf295423,.m_215c4542:checked:not(:disabled)+.m_bf295423{color:var(--checkbox-color);opacity:1;transform:none}.m_bf295423{position:absolute;top:0;right:0;bottom:0;left:0;width:60%;margin:auto;color:var(--checkbox-icon-color);pointer-events:none;transform:translateY(calc(.3125rem * var(--mantine-scale))) scale(.5);opacity:0;transition:transform .1s ease,opacity .1s ease}.m_11def92b{--ag-spacing: var(--mantine-spacing-sm);--ag-offset: calc(var(--ag-spacing) * -1);display:flex;padding-inline-start:var(--ag-spacing)}.m_f85678b6{--avatar-size-xs: calc(1rem * var(--mantine-scale));--avatar-size-sm: calc(1.625rem * var(--mantine-scale));--avatar-size-md: calc(2.375rem * var(--mantine-scale));--avatar-size-lg: calc(3.5rem * var(--mantine-scale));--avatar-size-xl: calc(5.25rem * var(--mantine-scale));--avatar-size: var(--avatar-size-md);--avatar-radius: calc(62.5rem * var(--mantine-scale));--avatar-bg: var(--mantine-color-gray-light);--avatar-bd: calc(.0625rem * var(--mantine-scale)) solid transparent;--avatar-color: var(--mantine-color-gray-light-color);--avatar-placeholder-fz: calc(var(--avatar-size) / 2.5);-webkit-tap-highlight-color:transparent;position:relative;display:block;-webkit-user-select:none;user-select:none;overflow:hidden;border-radius:var(--avatar-radius);text-decoration:none;padding:0;width:var(--avatar-size);height:var(--avatar-size);min-width:var(--avatar-size)}.m_f85678b6:where([data-within-group]){margin-inline-start:var(--ag-offset);border:2px solid var(--mantine-color-body);background:var(--mantine-color-body)}.m_11f8ac07{object-fit:cover;width:100%;height:100%;display:block}.m_104cd71f{font-weight:700;display:flex;align-items:center;justify-content:center;width:100%;height:100%;-webkit-user-select:none;user-select:none;border-radius:var(--avatar-radius);font-size:var(--avatar-placeholder-fz);background:var(--avatar-bg);border:var(--avatar-bd);color:var(--avatar-color)}.m_104cd71f>[data-avatar-placeholder-icon]{width:70%;height:70%}.m_2ce0de02{background-size:cover;background-position:center;display:block;width:100%;border:0;text-decoration:none;border-radius:var(--bi-radius, 0)}.m_347db0ec{--badge-height-xs: calc(1rem * var(--mantine-scale));--badge-height-sm: calc(1.125rem * var(--mantine-scale));--badge-height-md: calc(1.25rem * var(--mantine-scale));--badge-height-lg: calc(1.625rem * var(--mantine-scale));--badge-height-xl: calc(2rem * var(--mantine-scale));--badge-fz-xs: calc(.5625rem * var(--mantine-scale));--badge-fz-sm: calc(.625rem * var(--mantine-scale));--badge-fz-md: calc(.6875rem * var(--mantine-scale));--badge-fz-lg: calc(.8125rem * var(--mantine-scale));--badge-fz-xl: calc(1rem * var(--mantine-scale));--badge-padding-x-xs: calc(.375rem * var(--mantine-scale));--badge-padding-x-sm: calc(.5rem * var(--mantine-scale));--badge-padding-x-md: calc(.625rem * var(--mantine-scale));--badge-padding-x-lg: calc(.75rem * var(--mantine-scale));--badge-padding-x-xl: calc(1rem * var(--mantine-scale));--badge-height: var(--badge-height-md);--badge-fz: var(--badge-fz-md);--badge-padding-x: var(--badge-padding-x-md);--badge-radius: calc(62.5rem * var(--mantine-scale));--badge-lh: calc(var(--badge-height) - calc(.125rem * var(--mantine-scale)));--badge-color: var(--mantine-color-white);--badge-bg: var(--mantine-primary-color-filled);--badge-border-width: calc(.0625rem * var(--mantine-scale));--badge-bd: var(--badge-border-width) solid transparent;-webkit-tap-highlight-color:transparent;font-size:var(--badge-fz);border-radius:var(--badge-radius);height:var(--badge-height);line-height:var(--badge-lh);text-decoration:none;padding:0 var(--badge-padding-x);display:inline-grid;align-items:center;justify-content:center;width:fit-content;text-transform:uppercase;font-weight:700;letter-spacing:calc(.015625rem * var(--mantine-scale));cursor:default;text-overflow:ellipsis;overflow:hidden;color:var(--badge-color);background:var(--badge-bg);border:var(--badge-bd)}.m_347db0ec:where([data-with-left-section],[data-variant=dot]){grid-template-columns:auto 1fr}.m_347db0ec:where([data-with-right-section]){grid-template-columns:1fr auto}.m_347db0ec:where([data-with-left-section][data-with-right-section],[data-variant=dot][data-with-right-section]){grid-template-columns:auto 1fr auto}.m_347db0ec:where([data-block]){display:flex;width:100%}.m_347db0ec:where([data-circle]){padding-inline:calc(.125rem * var(--mantine-scale));display:flex;width:var(--badge-height)}.m_fbd81e3d{--badge-dot-size: calc(var(--badge-height) / 3.4)}:where([data-mantine-color-scheme=light]) .m_fbd81e3d{background-color:var(--mantine-color-white);border-color:var(--mantine-color-gray-4);color:var(--mantine-color-black)}:where([data-mantine-color-scheme=dark]) .m_fbd81e3d{background-color:var(--mantine-color-dark-5);border-color:var(--mantine-color-dark-5);color:var(--mantine-color-white)}.m_fbd81e3d:before{content:"";display:block;width:var(--badge-dot-size);height:var(--badge-dot-size);border-radius:var(--badge-dot-size);background-color:var(--badge-dot-color);margin-inline-end:var(--badge-dot-size)}.m_5add502a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;cursor:inherit}.m_91fdda9b{--badge-section-margin: calc(var(--mantine-spacing-xs) / 2);display:inline-flex;justify-content:center;align-items:center;max-height:calc(var(--badge-height) - var(--badge-border-width) * 2)}.m_91fdda9b:where([data-position=left]){margin-inline-end:var(--badge-section-margin)}.m_91fdda9b:where([data-position=right]){margin-inline-start:var(--badge-section-margin)}.m_ddec01c0{--blockquote-border: 3px solid var(--bq-bd);position:relative;margin:0;border-inline-start:var(--blockquote-border);border-start-end-radius:var(--bq-radius);border-end-end-radius:var(--bq-radius);padding:var(--mantine-spacing-xl) calc(2.375rem * var(--mantine-scale))}:where([data-mantine-color-scheme=light]) .m_ddec01c0{background-color:var(--bq-bg-light)}:where([data-mantine-color-scheme=dark]) .m_ddec01c0{background-color:var(--bq-bg-dark)}.m_dde7bd57{--blockquote-icon-offset: calc(var(--bq-icon-size) / -2);position:absolute;color:var(--bq-bd);background-color:var(--mantine-color-body);display:flex;align-items:center;justify-content:center;top:var(--blockquote-icon-offset);inset-inline-start:var(--blockquote-icon-offset);width:var(--bq-icon-size);height:var(--bq-icon-size);border-radius:var(--bq-icon-size)}.m_dde51a35{display:block;margin-top:var(--mantine-spacing-md);opacity:.6;font-size:85%}.m_8b3717df{display:flex;align-items:center;flex-wrap:wrap}.m_f678d540{line-height:1;white-space:nowrap;-webkit-tap-highlight-color:transparent}.m_3b8f2208{margin-inline:var(--bc-separator-margin, var(--mantine-spacing-xs));line-height:1;display:flex;align-items:center;justify-content:center}:where([data-mantine-color-scheme=light]) .m_3b8f2208{color:var(--mantine-color-gray-7)}:where([data-mantine-color-scheme=dark]) .m_3b8f2208{color:var(--mantine-color-dark-2)}.m_fea6bf1a{--burger-size-xs: calc(.75rem * var(--mantine-scale));--burger-size-sm: calc(1.125rem * var(--mantine-scale));--burger-size-md: calc(1.5rem * var(--mantine-scale));--burger-size-lg: calc(2.125rem * var(--mantine-scale));--burger-size-xl: calc(2.625rem * var(--mantine-scale));--burger-size: var(--burger-size-md);--burger-line-size: calc(var(--burger-size) / 12);width:calc(var(--burger-size) + var(--mantine-spacing-xs));height:calc(var(--burger-size) + var(--mantine-spacing-xs));padding:calc(var(--mantine-spacing-xs) / 2);cursor:pointer}:where([data-mantine-color-scheme=light]) .m_fea6bf1a{--burger-color: var(--mantine-color-black)}:where([data-mantine-color-scheme=dark]) .m_fea6bf1a{--burger-color: var(--mantine-color-white)}.m_d4fb9cad{position:relative;-webkit-user-select:none;user-select:none}.m_d4fb9cad,.m_d4fb9cad:before,.m_d4fb9cad:after{display:block;width:var(--burger-size);height:var(--burger-line-size);background-color:var(--burger-color);outline:calc(.0625rem * var(--mantine-scale)) solid transparent;transition-property:background-color,transform;transition-duration:var(--burger-transition-duration, .3s);transition-timing-function:var(--burger-transition-timing-function, ease)}.m_d4fb9cad:before,.m_d4fb9cad:after{position:absolute;content:"";inset-inline-start:0}.m_d4fb9cad:before{top:calc(var(--burger-size) / -3)}.m_d4fb9cad:after{top:calc(var(--burger-size) / 3)}.m_d4fb9cad[data-opened]{background-color:transparent}.m_d4fb9cad[data-opened]:before{transform:translateY(calc(var(--burger-size) / 3)) rotate(45deg)}.m_d4fb9cad[data-opened]:after{transform:translateY(calc(var(--burger-size) / -3)) rotate(-45deg)}.m_77c9d27d{--button-height-xs: calc(1.875rem * var(--mantine-scale));--button-height-sm: calc(2.25rem * var(--mantine-scale));--button-height-md: calc(2.625rem * var(--mantine-scale));--button-height-lg: calc(3.125rem * var(--mantine-scale));--button-height-xl: calc(3.75rem * var(--mantine-scale));--button-height-compact-xs: calc(1.375rem * var(--mantine-scale));--button-height-compact-sm: calc(1.625rem * var(--mantine-scale));--button-height-compact-md: calc(1.875rem * var(--mantine-scale));--button-height-compact-lg: calc(2.125rem * var(--mantine-scale));--button-height-compact-xl: calc(2.5rem * var(--mantine-scale));--button-padding-x-xs: calc(.875rem * var(--mantine-scale));--button-padding-x-sm: calc(1.125rem * var(--mantine-scale));--button-padding-x-md: calc(1.375rem * var(--mantine-scale));--button-padding-x-lg: calc(1.625rem * var(--mantine-scale));--button-padding-x-xl: calc(2rem * var(--mantine-scale));--button-padding-x-compact-xs: calc(.4375rem * var(--mantine-scale));--button-padding-x-compact-sm: calc(.5rem * var(--mantine-scale));--button-padding-x-compact-md: calc(.625rem * var(--mantine-scale));--button-padding-x-compact-lg: calc(.75rem * var(--mantine-scale));--button-padding-x-compact-xl: calc(.875rem * var(--mantine-scale));--button-height: var(--button-height-sm);--button-padding-x: var(--button-padding-x-sm);--button-color: var(--mantine-color-white);-webkit-user-select:none;user-select:none;font-weight:600;position:relative;line-height:1;text-align:center;overflow:hidden;width:auto;cursor:pointer;display:inline-block;border-radius:var(--button-radius, var(--mantine-radius-default));font-size:var(--button-fz, var(--mantine-font-size-sm));background:var(--button-bg, var(--mantine-primary-color-filled));border:var(--button-bd, calc(.0625rem * var(--mantine-scale)) solid transparent);color:var(--button-color, var(--mantine-color-white));height:var(--button-height, var(--button-height-sm));padding-inline:var(--button-padding-x, var(--button-padding-x-sm));vertical-align:middle}.m_77c9d27d:where([data-block]){display:block;width:100%}.m_77c9d27d:where([data-with-left-section]){padding-inline-start:calc(var(--button-padding-x) / 1.5)}.m_77c9d27d:where([data-with-right-section]){padding-inline-end:calc(var(--button-padding-x) / 1.5)}.m_77c9d27d:where(:disabled:not([data-loading]),[data-disabled]:not([data-loading])){cursor:not-allowed;border:calc(.0625rem * var(--mantine-scale)) solid transparent;transform:none}:where([data-mantine-color-scheme=light]) .m_77c9d27d:where(:disabled:not([data-loading]),[data-disabled]:not([data-loading])){color:var(--mantine-color-gray-5);background:var(--mantine-color-gray-1)}:where([data-mantine-color-scheme=dark]) .m_77c9d27d:where(:disabled:not([data-loading]),[data-disabled]:not([data-loading])){color:var(--mantine-color-dark-3);background:var(--mantine-color-dark-6)}.m_77c9d27d:before{content:"";pointer-events:none;position:absolute;inset:calc(-.0625rem * var(--mantine-scale));border-radius:var(--button-radius, var(--mantine-radius-default));transform:translateY(-100%);opacity:0;filter:blur(12px);transition:transform .15s ease,opacity .1s ease}:where([data-mantine-color-scheme=light]) .m_77c9d27d:before{background-color:#ffffff26}:where([data-mantine-color-scheme=dark]) .m_77c9d27d:before{background-color:#00000026}.m_77c9d27d:where([data-loading]){cursor:not-allowed;transform:none}.m_77c9d27d:where([data-loading]):before{transform:translateY(0);opacity:1}.m_77c9d27d:where([data-loading]) .m_80f1301b{opacity:0;transform:translateY(100%)}@media(hover:hover){.m_77c9d27d:hover:where(:not([data-loading],:disabled,[data-disabled])){background-color:var(--button-hover, var(--mantine-primary-color-filled-hover));color:var(--button-hover-color, var(--button-color))}}@media(hover:none){.m_77c9d27d:active:where(:not([data-loading],:disabled,[data-disabled])){background-color:var(--button-hover, var(--mantine-primary-color-filled-hover));color:var(--button-hover-color, var(--button-color))}}.m_80f1301b{display:flex;align-items:center;justify-content:var(--button-justify, center);height:100%;overflow:visible;transition:transform .15s ease,opacity .1s ease}.m_811560b9{white-space:nowrap;height:100%;overflow:hidden;display:flex;align-items:center;opacity:1}.m_811560b9:where([data-loading]){opacity:.2}.m_a74036a{display:flex;align-items:center}.m_a74036a:where([data-position=left]){margin-inline-end:var(--mantine-spacing-xs)}.m_a74036a:where([data-position=right]){margin-inline-start:var(--mantine-spacing-xs)}.m_a25b86ee{position:absolute;left:50%;top:50%}.m_80d6d844{--button-border-width: calc(.0625rem * var(--mantine-scale));display:flex}.m_80d6d844 :where(.m_77c9d27d):focus{position:relative;z-index:1}.m_80d6d844[data-orientation=horizontal]{flex-direction:row}.m_80d6d844[data-orientation=horizontal] .m_77c9d27d:not(:only-child):first-child,.m_80d6d844[data-orientation=horizontal] .m_70be2a01:not(:only-child):first-child{border-end-end-radius:0;border-start-end-radius:0;border-inline-end-width:calc(var(--button-border-width) / 2)}.m_80d6d844[data-orientation=horizontal] .m_77c9d27d:not(:only-child):last-child,.m_80d6d844[data-orientation=horizontal] .m_70be2a01:not(:only-child):last-child{border-end-start-radius:0;border-start-start-radius:0;border-inline-start-width:calc(var(--button-border-width) / 2)}.m_80d6d844[data-orientation=horizontal] .m_77c9d27d:not(:only-child):not(:first-child):not(:last-child),.m_80d6d844[data-orientation=horizontal] .m_70be2a01:not(:only-child):not(:first-child):not(:last-child){border-radius:0;border-inline-width:calc(var(--button-border-width) / 2)}.m_80d6d844[data-orientation=vertical]{flex-direction:column}.m_80d6d844[data-orientation=vertical] .m_77c9d27d:not(:only-child):first-child,.m_80d6d844[data-orientation=vertical] .m_70be2a01:not(:only-child):first-child{border-end-start-radius:0;border-end-end-radius:0;border-bottom-width:calc(var(--button-border-width) / 2)}.m_80d6d844[data-orientation=vertical] .m_77c9d27d:not(:only-child):last-child,.m_80d6d844[data-orientation=vertical] .m_70be2a01:not(:only-child):last-child{border-start-start-radius:0;border-start-end-radius:0;border-top-width:calc(var(--button-border-width) / 2)}.m_80d6d844[data-orientation=vertical] .m_77c9d27d:not(:only-child):not(:first-child):not(:last-child),.m_80d6d844[data-orientation=vertical] .m_70be2a01:not(:only-child):not(:first-child):not(:last-child){border-radius:0;border-bottom-width:calc(var(--button-border-width) / 2);border-top-width:calc(var(--button-border-width) / 2)}.m_70be2a01{--section-height-xs: calc(1.875rem * var(--mantine-scale));--section-height-sm: calc(2.25rem * var(--mantine-scale));--section-height-md: calc(2.625rem * var(--mantine-scale));--section-height-lg: calc(3.125rem * var(--mantine-scale));--section-height-xl: calc(3.75rem * var(--mantine-scale));--section-height-compact-xs: calc(1.375rem * var(--mantine-scale));--section-height-compact-sm: calc(1.625rem * var(--mantine-scale));--section-height-compact-md: calc(1.875rem * var(--mantine-scale));--section-height-compact-lg: calc(2.125rem * var(--mantine-scale));--section-height-compact-xl: calc(2.5rem * var(--mantine-scale));--section-padding-x-xs: calc(.875rem * var(--mantine-scale));--section-padding-x-sm: calc(1.125rem * var(--mantine-scale));--section-padding-x-md: calc(1.375rem * var(--mantine-scale));--section-padding-x-lg: calc(1.625rem * var(--mantine-scale));--section-padding-x-xl: calc(2rem * var(--mantine-scale));--section-padding-x-compact-xs: calc(.4375rem * var(--mantine-scale));--section-padding-x-compact-sm: calc(.5rem * var(--mantine-scale));--section-padding-x-compact-md: calc(.625rem * var(--mantine-scale));--section-padding-x-compact-lg: calc(.75rem * var(--mantine-scale));--section-padding-x-compact-xl: calc(.875rem * var(--mantine-scale));--section-height: var(--section-height-sm);--section-padding-x: var(--section-padding-x-sm);--section-color: var(--mantine-color-white);font-weight:600;width:auto;border-radius:var(--section-radius, var(--mantine-radius-default));font-size:var(--section-fz, var(--mantine-font-size-sm));background:var(--section-bg, var(--mantine-primary-color-filled));border:var(--section-bd, calc(.0625rem * var(--mantine-scale)) solid transparent);color:var(--section-color, var(--mantine-color-white));height:var(--section-height, var(--section-height-sm));padding-inline:var(--section-padding-x, var(--section-padding-x-sm));vertical-align:middle;line-height:1;display:inline-flex;align-items:center;justify-content:center}.m_e615b15f{--card-padding: var(--mantine-spacing-md);position:relative;overflow:hidden;display:flex;flex-direction:column;padding:var(--card-padding);color:var(--mantine-color-text)}:where([data-mantine-color-scheme=light]) .m_e615b15f{background-color:var(--mantine-color-white)}:where([data-mantine-color-scheme=dark]) .m_e615b15f{background-color:var(--mantine-color-dark-6)}.m_599a2148{display:block;margin-inline:calc(var(--card-padding) * -1)}.m_599a2148:where(:first-child){margin-top:calc(var(--card-padding) * -1);border-top:none!important}.m_599a2148:where(:last-child){margin-bottom:calc(var(--card-padding) * -1);border-bottom:none!important}.m_599a2148:where([data-inherit-padding]){padding-inline:var(--card-padding)}.m_599a2148:where([data-with-border]){border-top:calc(.0625rem * var(--mantine-scale)) solid;border-bottom:calc(.0625rem * var(--mantine-scale)) solid}:where([data-mantine-color-scheme=light]) .m_599a2148{border-color:var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_599a2148{border-color:var(--mantine-color-dark-4)}.m_599a2148+.m_599a2148{border-top:none!important}.m_4451eb3a{display:flex;align-items:center;justify-content:center}.m_4451eb3a:where([data-inline]){display:inline-flex}.m_f59ffda3{--chip-size-xs: calc(1.4375rem * var(--mantine-scale));--chip-size-sm: calc(1.75rem * var(--mantine-scale));--chip-size-md: calc(2rem * var(--mantine-scale));--chip-size-lg: calc(2.25rem * var(--mantine-scale));--chip-size-xl: calc(2.5rem * var(--mantine-scale));--chip-icon-size-xs: calc(.625rem * var(--mantine-scale));--chip-icon-size-sm: calc(.75rem * var(--mantine-scale));--chip-icon-size-md: calc(.875rem * var(--mantine-scale));--chip-icon-size-lg: calc(1rem * var(--mantine-scale));--chip-icon-size-xl: calc(1.125rem * var(--mantine-scale));--chip-padding-xs: calc(1rem * var(--mantine-scale));--chip-padding-sm: calc(1.25rem * var(--mantine-scale));--chip-padding-md: calc(1.5rem * var(--mantine-scale));--chip-padding-lg: calc(1.75rem * var(--mantine-scale));--chip-padding-xl: calc(2rem * var(--mantine-scale));--chip-checked-padding-xs: calc(.46875rem * var(--mantine-scale));--chip-checked-padding-sm: calc(.625rem * var(--mantine-scale));--chip-checked-padding-md: calc(.73125rem * var(--mantine-scale));--chip-checked-padding-lg: calc(.84375rem * var(--mantine-scale));--chip-checked-padding-xl: calc(.98125rem * var(--mantine-scale));--chip-spacing-xs: calc(.625rem * var(--mantine-scale));--chip-spacing-sm: calc(.75rem * var(--mantine-scale));--chip-spacing-md: calc(1rem * var(--mantine-scale));--chip-spacing-lg: calc(1.25rem * var(--mantine-scale));--chip-spacing-xl: calc(1.375rem * var(--mantine-scale));--chip-size: var(--chip-size-sm);--chip-icon-size: var(--chip-icon-size-sm);--chip-padding: var(--chip-padding-sm);--chip-spacing: var(--chip-spacing-sm);--chip-checked-padding: var(--chip-checked-padding-sm);--chip-bg: var(--mantine-primary-color-filled);--chip-hover: var(--mantine-primary-color-filled-hover);--chip-color: var(--mantine-color-white);--chip-bd: calc(.0625rem * var(--mantine-scale)) solid transparent}.m_be049a53{display:inline-flex;align-items:center;-webkit-user-select:none;user-select:none;border-radius:var(--chip-radius, 1000rem);height:var(--chip-size);font-size:var(--chip-fz, var(--mantine-font-size-sm));line-height:calc(var(--chip-size) - calc(.125rem * var(--mantine-scale)));padding-inline:var(--chip-padding);cursor:pointer;white-space:nowrap;-webkit-tap-highlight-color:transparent;border:calc(.0625rem * var(--mantine-scale)) solid transparent;color:var(--mantine-color-text)}.m_be049a53:where([data-checked]){padding:var(--chip-checked-padding)}.m_be049a53:where([data-disabled]){cursor:not-allowed}:where([data-mantine-color-scheme=light]) .m_be049a53:where([data-disabled]){background-color:var(--mantine-color-gray-2);color:var(--mantine-color-gray-5)}:where([data-mantine-color-scheme=dark]) .m_be049a53:where([data-disabled]){background-color:var(--mantine-color-dark-6);color:var(--mantine-color-dark-3)}:where([data-mantine-color-scheme=light]) .m_3904c1af:not([data-disabled]){background-color:var(--mantine-color-white);border:1px solid var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_3904c1af:not([data-disabled]){background-color:var(--mantine-color-dark-6);border:1px solid var(--mantine-color-dark-4)}@media(hover:hover){:where([data-mantine-color-scheme=light]) .m_3904c1af:not([data-disabled]):hover{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_3904c1af:not([data-disabled]):hover{background-color:var(--mantine-color-dark-5)}}@media(hover:none){:where([data-mantine-color-scheme=light]) .m_3904c1af:not([data-disabled]):active{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_3904c1af:not([data-disabled]):active{background-color:var(--mantine-color-dark-5)}}.m_3904c1af:not([data-disabled]):where([data-checked]){--chip-icon-color: var(--chip-color);border:var(--chip-bd)}@media(hover:hover){.m_3904c1af:not([data-disabled]):where([data-checked]):hover{background-color:var(--chip-hover)}}@media(hover:none){.m_3904c1af:not([data-disabled]):where([data-checked]):active{background-color:var(--chip-hover)}}.m_fa109255:not([data-disabled]),.m_f7e165c3:not([data-disabled]){border:calc(.0625rem * var(--mantine-scale)) solid transparent;color:var(--mantine-color-text)}:where([data-mantine-color-scheme=light]) .m_fa109255:not([data-disabled]),:where([data-mantine-color-scheme=light]) .m_f7e165c3:not([data-disabled]){background-color:var(--mantine-color-gray-1)}:where([data-mantine-color-scheme=dark]) .m_fa109255:not([data-disabled]),:where([data-mantine-color-scheme=dark]) .m_f7e165c3:not([data-disabled]){background-color:var(--mantine-color-dark-5)}@media(hover:hover){:where([data-mantine-color-scheme=light]) .m_fa109255:not([data-disabled]):hover,:where([data-mantine-color-scheme=light]) .m_f7e165c3:not([data-disabled]):hover{background-color:var(--mantine-color-gray-2)}:where([data-mantine-color-scheme=dark]) .m_fa109255:not([data-disabled]):hover,:where([data-mantine-color-scheme=dark]) .m_f7e165c3:not([data-disabled]):hover{background-color:var(--mantine-color-dark-4)}}@media(hover:none){:where([data-mantine-color-scheme=light]) .m_fa109255:not([data-disabled]):active,:where([data-mantine-color-scheme=light]) .m_f7e165c3:not([data-disabled]):active{background-color:var(--mantine-color-gray-2)}:where([data-mantine-color-scheme=dark]) .m_fa109255:not([data-disabled]):active,:where([data-mantine-color-scheme=dark]) .m_f7e165c3:not([data-disabled]):active{background-color:var(--mantine-color-dark-4)}}.m_fa109255:not([data-disabled]):where([data-checked]),.m_f7e165c3:not([data-disabled]):where([data-checked]){--chip-icon-color: var(--chip-color);color:var(--chip-color);background-color:var(--chip-bg)}@media(hover:hover){.m_fa109255:not([data-disabled]):where([data-checked]):hover,.m_f7e165c3:not([data-disabled]):where([data-checked]):hover{background-color:var(--chip-hover)}}@media(hover:none){.m_fa109255:not([data-disabled]):where([data-checked]):active,.m_f7e165c3:not([data-disabled]):where([data-checked]):active{background-color:var(--chip-hover)}}.m_9ac86df9{width:calc(var(--chip-icon-size) + (var(--chip-spacing) / 1.5));max-width:calc(var(--chip-icon-size) + (var(--chip-spacing) / 1.5));height:var(--chip-icon-size);display:flex;align-items:center;overflow:hidden}.m_d6d72580{width:var(--chip-icon-size);height:var(--chip-icon-size);display:block;color:var(--chip-icon-color, inherit)}.m_bde07329{width:0;height:0;padding:0;opacity:0;margin:0}.m_bde07329:focus-visible+.m_be049a53{outline:2px solid var(--mantine-primary-color-filled);outline-offset:calc(.125rem * var(--mantine-scale))}.m_b183c0a2{font-family:var(--mantine-font-family-monospace);line-height:var(--mantine-line-height);padding:2px calc(var(--mantine-spacing-xs) / 2);border-radius:var(--mantine-radius-sm);font-size:var(--mantine-font-size-xs);margin:0;overflow:auto}:where([data-mantine-color-scheme=light]) .m_b183c0a2{background-color:var(--code-bg, var(--mantine-color-gray-1));color:var(--mantine-color-black)}:where([data-mantine-color-scheme=dark]) .m_b183c0a2{background-color:var(--code-bg, var(--mantine-color-dark-5));color:var(--mantine-color-white)}.m_b183c0a2[data-block]{padding:var(--mantine-spacing-xs)}.m_de3d2490{--cs-size: calc(1.75rem * var(--mantine-scale));--cs-radius: calc(62.5rem * var(--mantine-scale));-webkit-tap-highlight-color:transparent;border:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;line-height:1;position:relative;width:var(--cs-size);height:var(--cs-size);min-width:var(--cs-size);min-height:var(--cs-size);border-radius:var(--cs-radius);color:inherit;text-decoration:none}[data-mantine-color-scheme=light] .m_de3d2490{--alpha-overlay-color: var(--mantine-color-gray-3);--alpha-overlay-bg: var(--mantine-color-white)}[data-mantine-color-scheme=dark] .m_de3d2490{--alpha-overlay-color: var(--mantine-color-dark-4);--alpha-overlay-bg: var(--mantine-color-dark-7)}.m_862f3d1b{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--cs-radius)}.m_98ae7f22{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--cs-radius);z-index:1;box-shadow:#0000001a 0 0 0 calc(.0625rem * var(--mantine-scale)) inset,#00000026 0 0 calc(.25rem * var(--mantine-scale)) inset}.m_95709ac0{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--cs-radius);background-size:calc(.5rem * var(--mantine-scale)) calc(.5rem * var(--mantine-scale));background-position:0 0,0 calc(.25rem * var(--mantine-scale)),calc(.25rem * var(--mantine-scale)) calc(-.25rem * var(--mantine-scale)),calc(-.25rem * var(--mantine-scale)) 0;background-image:linear-gradient(45deg,var(--alpha-overlay-color) 25%,transparent 25%),linear-gradient(-45deg,var(--alpha-overlay-color) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--alpha-overlay-color) 75%),linear-gradient(-45deg,var(--alpha-overlay-bg) 75%,var(--alpha-overlay-color) 75%)}.m_93e74e3{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--cs-radius);z-index:2;display:flex;align-items:center;justify-content:center}.m_fee9c77{--cp-width-xs: calc(11.25rem * var(--mantine-scale));--cp-width-sm: calc(12.5rem * var(--mantine-scale));--cp-width-md: calc(15rem * var(--mantine-scale));--cp-width-lg: calc(17.5rem * var(--mantine-scale));--cp-width-xl: calc(20rem * var(--mantine-scale));--cp-preview-size-xs: calc(1.625rem * var(--mantine-scale));--cp-preview-size-sm: calc(2.125rem * var(--mantine-scale));--cp-preview-size-md: calc(2.625rem * var(--mantine-scale));--cp-preview-size-lg: calc(3.125rem * var(--mantine-scale));--cp-preview-size-xl: calc(3.375rem * var(--mantine-scale));--cp-thumb-size-xs: calc(.5rem * var(--mantine-scale));--cp-thumb-size-sm: calc(.75rem * var(--mantine-scale));--cp-thumb-size-md: calc(1rem * var(--mantine-scale));--cp-thumb-size-lg: calc(1.25rem * var(--mantine-scale));--cp-thumb-size-xl: calc(1.375rem * var(--mantine-scale));--cp-saturation-height-xs: calc(6.25rem * var(--mantine-scale));--cp-saturation-height-sm: calc(6.875rem * var(--mantine-scale));--cp-saturation-height-md: calc(7.5rem * var(--mantine-scale));--cp-saturation-height-lg: calc(8.75rem * var(--mantine-scale));--cp-saturation-height-xl: calc(10rem * var(--mantine-scale));--cp-preview-size: var(--cp-preview-size-sm);--cp-thumb-size: var(--cp-thumb-size-sm);--cp-saturation-height: var(--cp-saturation-height-sm);--cp-width: var(--cp-width-sm);--cp-body-spacing: var(--mantine-spacing-sm);width:var(--cp-width);padding:calc(.0625rem * var(--mantine-scale))}.m_fee9c77:where([data-full-width]){width:100%}.m_9dddfbac{width:var(--cp-preview-size);height:var(--cp-preview-size)}.m_bffecc3e{display:flex;padding-top:calc(var(--cp-body-spacing) / 2)}.m_3283bb96{flex:1}.m_3283bb96:not(:only-child){margin-inline-end:var(--mantine-spacing-xs)}.m_40d572ba{overflow:hidden;position:absolute;box-shadow:0 0 1px #0009;border:2px solid var(--mantine-color-white);width:var(--cp-thumb-size);height:var(--cp-thumb-size);border-radius:var(--cp-thumb-size);left:calc(var(--thumb-x-offset) - var(--cp-thumb-size) / 2);top:calc(var(--thumb-y-offset) - var(--cp-thumb-size) / 2)}.m_d8ee6fd8{height:unset!important;width:unset!important;min-width:0!important;min-height:0!important;margin:calc(.125rem * var(--mantine-scale));cursor:pointer;padding-bottom:calc(var(--cp-swatch-size) - calc(.25rem * var(--mantine-scale)));flex:0 0 calc(var(--cp-swatch-size) - calc(.25rem * var(--mantine-scale)))}.m_5711e686{margin-top:calc(.3125rem * var(--mantine-scale));margin-inline:calc(-.125rem * var(--mantine-scale));display:flex;flex-wrap:wrap}.m_202a296e{--cp-thumb-size-xs: calc(.5rem * var(--mantine-scale));--cp-thumb-size-sm: calc(.75rem * var(--mantine-scale));--cp-thumb-size-md: calc(1rem * var(--mantine-scale));--cp-thumb-size-lg: calc(1.25rem * var(--mantine-scale));--cp-thumb-size-xl: calc(1.375rem * var(--mantine-scale));-webkit-tap-highlight-color:transparent;position:relative;height:var(--cp-saturation-height);border-radius:var(--mantine-radius-sm);margin:calc(var(--cp-thumb-size) / 2)}.m_202a296e:where([data-focus-ring=auto]):focus:focus-visible .m_40d572ba{outline:2px solid var(--mantine-color-blue-filled)}.m_202a296e:where([data-focus-ring=always]):focus .m_40d572ba{outline:2px solid var(--mantine-color-blue-filled)}.m_11b3db02{position:absolute;border-radius:var(--mantine-radius-sm);inset:calc(var(--cp-thumb-size) * -1 / 2 - calc(.0625rem * var(--mantine-scale)))}.m_d856d47d{--cp-thumb-size-xs: calc(.5rem * var(--mantine-scale));--cp-thumb-size-sm: calc(.75rem * var(--mantine-scale));--cp-thumb-size-md: calc(1rem * var(--mantine-scale));--cp-thumb-size-lg: calc(1.25rem * var(--mantine-scale));--cp-thumb-size-xl: calc(1.375rem * var(--mantine-scale));--cp-thumb-size: var(--cp-thumb-size, calc(.75rem * var(--mantine-scale)));position:relative;height:calc(var(--cp-thumb-size) + calc(.125rem * var(--mantine-scale)));margin-inline:calc(var(--cp-thumb-size) / 2);outline:none}.m_d856d47d+.m_d856d47d{margin-top:calc(.375rem * var(--mantine-scale))}.m_d856d47d:where([data-focus-ring=auto]):focus:focus-visible .m_40d572ba{outline:2px solid var(--mantine-color-blue-filled)}.m_d856d47d:where([data-focus-ring=always]):focus .m_40d572ba{outline:2px solid var(--mantine-color-blue-filled)}:where([data-mantine-color-scheme=light]) .m_d856d47d{--slider-checkers: var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_d856d47d{--slider-checkers: var(--mantine-color-dark-4)}.m_8f327113{position:absolute;top:0;bottom:0;inset-inline:calc(var(--cp-thumb-size) * -1 / 2 - calc(.0625rem * var(--mantine-scale)));border-radius:10000rem}.m_b077c2bc{--ci-eye-dropper-icon-size-xs: calc(.875rem * var(--mantine-scale));--ci-eye-dropper-icon-size-sm: calc(1rem * var(--mantine-scale));--ci-eye-dropper-icon-size-md: calc(1.125rem * var(--mantine-scale));--ci-eye-dropper-icon-size-lg: calc(1.25rem * var(--mantine-scale));--ci-eye-dropper-icon-size-xl: calc(1.375rem * var(--mantine-scale));--ci-eye-dropper-icon-size: var(--ci-eye-dropper-icon-size-sm)}.m_c5ccdcab{--ci-preview-size-xs: calc(1rem * var(--mantine-scale));--ci-preview-size-sm: calc(1.125rem * var(--mantine-scale));--ci-preview-size-md: calc(1.375rem * var(--mantine-scale));--ci-preview-size-lg: calc(1.75rem * var(--mantine-scale));--ci-preview-size-xl: calc(2.25rem * var(--mantine-scale));--ci-preview-size: var(--ci-preview-size-sm)}.m_5ece2cd7{padding:calc(.5rem * var(--mantine-scale))}.m_7485cace{--container-size-xs: calc(33.75rem * var(--mantine-scale));--container-size-sm: calc(45rem * var(--mantine-scale));--container-size-md: calc(60rem * var(--mantine-scale));--container-size-lg: calc(71.25rem * var(--mantine-scale));--container-size-xl: calc(82.5rem * var(--mantine-scale));--container-size: var(--container-size-md);max-width:var(--container-size);padding-inline:var(--mantine-spacing-md);margin-inline:auto}.m_7485cace:where([data-fluid]){max-width:100%}.m_e2125a27{--dialog-size-xs: calc(10rem * var(--mantine-scale));--dialog-size-sm: calc(12.5rem * var(--mantine-scale));--dialog-size-md: calc(21.25rem * var(--mantine-scale));--dialog-size-lg: calc(25rem * var(--mantine-scale));--dialog-size-xl: calc(31.25rem * var(--mantine-scale));--dialog-size: var(--dialog-size-md);position:relative;width:var(--dialog-size);max-width:calc(100vw - var(--mantine-spacing-xl) * 2);min-height:calc(3.125rem * var(--mantine-scale))}.m_5abab665{position:absolute;top:calc(var(--mantine-spacing-md) / 2);inset-inline-end:calc(var(--mantine-spacing-md) / 2)}.m_3eebeb36{--divider-size-xs: calc(.0625rem * var(--mantine-scale));--divider-size-sm: calc(.125rem * var(--mantine-scale));--divider-size-md: calc(.1875rem * var(--mantine-scale));--divider-size-lg: calc(.25rem * var(--mantine-scale));--divider-size-xl: calc(.3125rem * var(--mantine-scale));--divider-size: var(--divider-size-xs)}:where([data-mantine-color-scheme=light]) .m_3eebeb36{--divider-color: var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_3eebeb36{--divider-color: var(--mantine-color-dark-4)}.m_3eebeb36:where([data-orientation=horizontal]){border-top:var(--divider-size) var(--divider-border-style, solid) var(--divider-color)}.m_3eebeb36:where([data-orientation=vertical]){border-inline-start:var(--divider-size) var(--divider-border-style, solid) var(--divider-color);height:auto;align-self:stretch}.m_3eebeb36:where([data-with-label]){border:0}.m_9e365f20{display:flex;align-items:center;font-size:var(--mantine-font-size-xs);color:var(--mantine-color-dimmed);white-space:nowrap}.m_9e365f20:where([data-position=left]):before{display:none}.m_9e365f20:where([data-position=right]):after{display:none}.m_9e365f20:before{content:"";flex:1;height:calc(.0625rem * var(--mantine-scale));border-top:var(--divider-size) var(--divider-border-style, solid) var(--divider-color);margin-inline-end:var(--mantine-spacing-xs)}.m_9e365f20:after{content:"";flex:1;height:calc(.0625rem * var(--mantine-scale));border-top:var(--divider-size) var(--divider-border-style, solid) var(--divider-color);margin-inline-start:var(--mantine-spacing-xs)}.m_f11b401e{--drawer-size-xs: calc(20rem * var(--mantine-scale));--drawer-size-sm: calc(23.75rem * var(--mantine-scale));--drawer-size-md: calc(27.5rem * var(--mantine-scale));--drawer-size-lg: calc(38.75rem * var(--mantine-scale));--drawer-size-xl: calc(48.75rem * var(--mantine-scale));--drawer-size: var(--drawer-size-md);--drawer-offset: 0rem}.m_5a7c2c9{z-index:1000}.m_b8a05bbd{flex:var(--drawer-flex, 0 0 var(--drawer-size));height:var(--drawer-height, calc(100% - var(--drawer-offset) * 2));margin:var(--drawer-offset);max-width:calc(100% - var(--drawer-offset) * 2);max-height:calc(100% - var(--drawer-offset) * 2);overflow-y:auto}.m_b8a05bbd[data-hidden]{opacity:0!important;pointer-events:none}.m_31cd769a{display:flex;justify-content:var(--drawer-justify, flex-start);align-items:var(--drawer-align, flex-start)}.m_e9408a47{padding:var(--mantine-spacing-lg);padding-top:var(--mantine-spacing-xs);border-radius:var(--fieldset-radius, var(--mantine-radius-default));min-inline-size:auto}.m_84c9523a{border:calc(.0625rem * var(--mantine-scale)) solid}:where([data-mantine-color-scheme=light]) .m_84c9523a{border-color:var(--mantine-color-gray-3);background-color:var(--mantine-color-white)}:where([data-mantine-color-scheme=dark]) .m_84c9523a{border-color:var(--mantine-color-dark-4);background-color:var(--mantine-color-dark-7)}.m_ef274e49{border:calc(.0625rem * var(--mantine-scale)) solid}:where([data-mantine-color-scheme=light]) .m_ef274e49{border-color:var(--mantine-color-gray-3);background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_ef274e49{border-color:var(--mantine-color-dark-4);background-color:var(--mantine-color-dark-6)}.m_eda993d3{padding:0;border:0;border-radius:0}.m_90794832{font-size:var(--mantine-font-size-sm)}.m_74ca27fe{padding:0;margin-bottom:var(--mantine-spacing-sm)}.m_8478a6da{container:mantine-grid / inline-size}.m_410352e9{--grid-overflow: visible;--grid-margin: calc(var(--grid-gutter) / -2);--grid-col-padding: calc(var(--grid-gutter) / 2);overflow:var(--grid-overflow)}.m_dee7bd2f{width:calc(100% + var(--grid-gutter));display:flex;flex-wrap:wrap;justify-content:var(--grid-justify);align-items:var(--grid-align);margin:var(--grid-margin)}.m_96bdd299{--col-flex-grow: 0;--col-offset: 0rem;flex-shrink:0;order:var(--col-order);flex-basis:var(--col-flex-basis);width:var(--col-width);max-width:var(--col-max-width);flex-grow:var(--col-flex-grow);margin-inline-start:var(--col-offset);padding:var(--grid-col-padding)}.m_bcb3f3c2{color:var(--mantine-color-black)}:where([data-mantine-color-scheme=light]) .m_bcb3f3c2{background-color:var(--mark-bg-light)}:where([data-mantine-color-scheme=dark]) .m_bcb3f3c2{background-color:var(--mark-bg-dark)}.m_9e117634{display:block;flex:0;object-fit:var(--image-object-fit, cover);width:100%;border-radius:var(--image-radius, 0)}@keyframes m_885901b1{0%{opacity:.6;transform:scale(0)}to{opacity:0;transform:scale(2.8)}}.m_e5262200{--indicator-size: calc(.625rem * var(--mantine-scale));--indicator-color: var(--mantine-primary-color-filled);position:relative;display:block}.m_e5262200:where([data-inline]){display:inline-block}.m_760d1fb1{position:absolute;top:var(--indicator-top);left:var(--indicator-left);right:var(--indicator-right);bottom:var(--indicator-bottom);transform:translate(var(--indicator-translate-x),var(--indicator-translate-y));min-width:var(--indicator-size);height:var(--indicator-size);border-radius:var(--indicator-radius, 1000rem);z-index:var(--indicator-z-index, 200);display:flex;align-items:center;justify-content:center;font-size:var(--mantine-font-size-xs);background-color:var(--indicator-color);color:var(--indicator-text-color, var(--mantine-color-white));white-space:nowrap}.m_760d1fb1:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--indicator-color);border-radius:var(--indicator-radius, 1000rem);z-index:-1}.m_760d1fb1:where([data-with-label]){padding-inline:calc(var(--mantine-spacing-xs) / 2)}.m_760d1fb1:where([data-with-border]){border:2px solid var(--mantine-color-body)}.m_760d1fb1[data-processing]:before{animation:m_885901b1 1s linear infinite}.m_dc6f14e2{--kbd-fz-xs: calc(.625rem * var(--mantine-scale));--kbd-fz-sm: calc(.75rem * var(--mantine-scale));--kbd-fz-md: calc(.875rem * var(--mantine-scale));--kbd-fz-lg: calc(1rem * var(--mantine-scale));--kbd-fz-xl: calc(1.25rem * var(--mantine-scale));--kbd-fz: var(--kbd-fz-sm);--kbd-padding-xs: calc(.125rem * var(--mantine-scale)) calc(.25rem * var(--mantine-scale));--kbd-padding-sm: calc(.1875rem * var(--mantine-scale)) calc(.3125rem * var(--mantine-scale));--kbd-padding-md: calc(.25rem * var(--mantine-scale)) calc(.4375rem * var(--mantine-scale));--kbd-padding-lg: calc(.3125rem * var(--mantine-scale)) calc(.5625rem * var(--mantine-scale));--kbd-padding-xl: calc(.5rem * var(--mantine-scale)) calc(.875rem * var(--mantine-scale));--kbd-padding: var(--kbd-padding-sm);font-family:var(--mantine-font-family-monospace);line-height:var(--mantine-line-height);font-weight:700;padding:var(--kbd-padding);font-size:var(--kbd-fz);border-radius:var(--mantine-radius-sm);border:calc(.0625rem * var(--mantine-scale)) solid;border-bottom-width:calc(.1875rem * var(--mantine-scale));unicode-bidi:embed}:where([data-mantine-color-scheme=light]) .m_dc6f14e2{border-color:var(--mantine-color-gray-3);color:var(--mantine-color-gray-7);background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_dc6f14e2{border-color:var(--mantine-color-dark-4);color:var(--mantine-color-dark-0);background-color:var(--mantine-color-dark-6)}.m_abbac491{--list-fz: var(--mantine-font-size-md);--list-lh: var(--mantine-line-height-md);list-style-position:inside;font-size:var(--list-fz);line-height:var(--list-lh);margin:0;padding:0}.m_abbac491:where([data-with-padding]){padding-inline-start:var(--mantine-spacing-md)}.m_abb6bec2{white-space:nowrap;line-height:var(--list-lh)}.m_abb6bec2:where([data-with-icon]){list-style:none}.m_abb6bec2:where([data-with-icon]) .m_75cd9f71{--li-direction: row;--li-align: center}.m_abb6bec2:where(:not(:first-of-type)){margin-top:var(--list-spacing, 0)}.m_abb6bec2:where([data-centered]){line-height:1}.m_75cd9f71{display:inline-flex;flex-direction:var(--li-direction, column);align-items:var(--li-align, flex-start);white-space:normal}.m_60f83e5b{display:inline-block;vertical-align:middle;margin-inline-end:var(--mantine-spacing-sm)}.m_6e45937b{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;overflow:hidden;z-index:var(--lo-z-index)}.m_e8eb006c{position:relative;z-index:calc(var(--lo-z-index) + 1)}.m_df587f17{z-index:var(--lo-z-index)}.m_dc9b7c9f{padding:calc(.25rem * var(--mantine-scale))}.m_9bfac126{color:var(--mantine-color-dimmed);font-weight:500;font-size:var(--mantine-font-size-xs);padding:calc(var(--mantine-spacing-xs) / 2) var(--mantine-spacing-sm);cursor:default}.m_efdf90cb{margin-top:calc(.25rem * var(--mantine-scale));margin-bottom:calc(.25rem * var(--mantine-scale));border-top:calc(.0625rem * var(--mantine-scale)) solid}:where([data-mantine-color-scheme=light]) .m_efdf90cb{border-color:var(--mantine-color-gray-2)}:where([data-mantine-color-scheme=dark]) .m_efdf90cb{border-color:var(--mantine-color-dark-4)}.m_99ac2aa1{font-size:var(--mantine-font-size-sm);width:100%;padding:calc(var(--mantine-spacing-xs) / 1.5) var(--mantine-spacing-sm);border-radius:var(--popover-radius, var(--mantine-radius-default));color:var(--menu-item-color, var(--mantine-color-text));display:flex;align-items:center;-webkit-user-select:none;user-select:none}.m_99ac2aa1:where([data-disabled],:disabled){color:var(--mantine-color-dimmed);opacity:.6;cursor:not-allowed}:where([data-mantine-color-scheme=light]) .m_99ac2aa1:where([data-hovered]):where(:not(:disabled,[data-disabled])){background-color:var(--menu-item-hover, var(--mantine-color-gray-1))}:where([data-mantine-color-scheme=dark]) .m_99ac2aa1:where([data-hovered]):where(:not(:disabled,[data-disabled])){background-color:var(--menu-item-hover, var(--mantine-color-dark-4))}.m_5476e0d3{flex:1}.m_8b75e504{display:flex;justify-content:center;align-items:center}.m_8b75e504:where([data-position=left]){margin-inline-end:var(--mantine-spacing-xs)}.m_8b75e504:where([data-position=right]){margin-inline-start:var(--mantine-spacing-xs)}.m_9df02822{--modal-size-xs: calc(20rem * var(--mantine-scale));--modal-size-sm: calc(23.75rem * var(--mantine-scale));--modal-size-md: calc(27.5rem * var(--mantine-scale));--modal-size-lg: calc(38.75rem * var(--mantine-scale));--modal-size-xl: calc(48.75rem * var(--mantine-scale));--modal-size: var(--modal-size-md);--modal-y-offset: 5dvh;--modal-x-offset: 5vw}.m_9df02822[data-full-screen]{--modal-border-radius: 0 !important}.m_9df02822[data-full-screen] .m_54c44539{--modal-content-flex: 0 0 100%;--modal-content-max-height: auto;--modal-content-height: 100dvh}.m_9df02822[data-full-screen] .m_1f958f16{--modal-inner-y-offset: 0;--modal-inner-x-offset: 0}.m_9df02822[data-centered] .m_1f958f16{--modal-inner-align: center}.m_d0e2b9cd{border-start-start-radius:var(--modal-radius, var(--mantine-radius-default));border-start-end-radius:var(--modal-radius, var(--mantine-radius-default))}.m_54c44539{flex:var(--modal-content-flex, 0 0 var(--modal-size));max-width:100%;max-height:var(--modal-content-max-height, calc(100dvh - var(--modal-y-offset) * 2));height:var(--modal-content-height, auto);overflow-y:auto}.m_54c44539[data-full-screen]{border-radius:0}.m_54c44539[data-hidden]{opacity:0!important;pointer-events:none}.m_1f958f16{display:flex;justify-content:center;align-items:var(--modal-inner-align, flex-start);padding-top:var(--modal-inner-y-offset, var(--modal-y-offset));padding-bottom:var(--modal-inner-y-offset, var(--modal-y-offset));padding-inline:var(--modal-inner-x-offset, var(--modal-x-offset))}.m_7cda1cd6{--pill-fz-xs: calc(.625rem * var(--mantine-scale));--pill-fz-sm: calc(.75rem * var(--mantine-scale));--pill-fz-md: calc(.875rem * var(--mantine-scale));--pill-fz-lg: calc(1rem * var(--mantine-scale));--pill-fz-xl: calc(1.125rem * var(--mantine-scale));--pill-height-xs: calc(1.125rem * var(--mantine-scale));--pill-height-sm: calc(1.375rem * var(--mantine-scale));--pill-height-md: calc(1.5625rem * var(--mantine-scale));--pill-height-lg: calc(1.75rem * var(--mantine-scale));--pill-height-xl: calc(2rem * var(--mantine-scale));--pill-fz: var(--pill-fz-sm);--pill-height: var(--pill-height-sm);font-size:var(--pill-fz);flex:0;height:var(--pill-height);padding-inline:.8em;display:inline-flex;align-items:center;border-radius:var(--pill-radius, 1000rem);line-height:1;white-space:nowrap;user-select:none;-webkit-user-select:none;max-width:100%}:where([data-mantine-color-scheme=dark]) .m_7cda1cd6{background-color:var(--mantine-color-dark-7);color:var(--mantine-color-dark-0)}:where([data-mantine-color-scheme=light]) .m_7cda1cd6{color:var(--mantine-color-black)}.m_7cda1cd6:where([data-with-remove]:not(:has(button:disabled))){padding-inline-end:0}.m_7cda1cd6:where([data-disabled],:has(button:disabled)){cursor:not-allowed}:where([data-mantine-color-scheme=light]) .m_44da308b{background-color:var(--mantine-color-gray-1)}:where([data-mantine-color-scheme=light]) .m_44da308b:where([data-disabled],:has(button:disabled)){background-color:var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=light]) .m_e3a01f8{background-color:var(--mantine-color-white)}:where([data-mantine-color-scheme=light]) .m_e3a01f8:where([data-disabled],:has(button:disabled)){background-color:var(--mantine-color-gray-3)}.m_1e0e6180{cursor:inherit;overflow:hidden;height:100%;line-height:var(--pill-height);text-overflow:ellipsis}.m_ae386778{color:inherit;font-size:inherit;height:100%;min-height:unset;min-width:2em;width:unset;border-radius:0;padding-inline-start:.1em;padding-inline-end:.3em;flex:0;border-end-end-radius:var(--pill-radius, 50%);border-start-end-radius:var(--pill-radius, 50%)}.m_7cda1cd6[data-disabled]>.m_ae386778,.m_ae386778:disabled{display:none;background-color:transparent;width:.8em;min-width:.8em;padding:0;cursor:not-allowed}.m_7cda1cd6[data-disabled]>.m_ae386778>svg,.m_ae386778:disabled>svg{display:none}.m_ae386778>svg{pointer-events:none}.m_1dcfd90b{--pg-gap-xs: calc(.375rem * var(--mantine-scale));--pg-gap-sm: calc(.5rem * var(--mantine-scale));--pg-gap-md: calc(.625rem * var(--mantine-scale));--pg-gap-lg: calc(.75rem * var(--mantine-scale));--pg-gap-xl: calc(.75rem * var(--mantine-scale));--pg-gap: var(--pg-gap-sm);display:flex;align-items:center;gap:var(--pg-gap);flex-wrap:wrap}.m_45c4369d{background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none;min-width:calc(6.25rem * var(--mantine-scale));flex:1;border:0;font-size:inherit;height:1.6em;color:inherit;padding:0}.m_45c4369d::placeholder{color:var(--input-placeholder-color);opacity:1}.m_45c4369d:where([data-type=hidden],[data-type=auto]){height:calc(.0625rem * var(--mantine-scale));width:calc(.0625rem * var(--mantine-scale));top:0;left:0;pointer-events:none;position:absolute;opacity:0}.m_45c4369d:focus{outline:none}.m_45c4369d:where([data-type=auto]:focus){height:1.6em;visibility:visible;opacity:1;position:static}.m_45c4369d:where([data-pointer]:not([data-disabled],:disabled)){cursor:pointer}.m_45c4369d:where([data-disabled],:disabled){cursor:not-allowed}.m_f0824112{--nl-bg: var(--mantine-primary-color-light);--nl-hover: var(--mantine-primary-color-light-hover);--nl-color: var(--mantine-primary-color-light-color);display:flex;align-items:center;width:100%;padding:8px var(--mantine-spacing-sm);-webkit-user-select:none;user-select:none}@media(hover:hover){:where([data-mantine-color-scheme=light]) .m_f0824112:hover{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_f0824112:hover{background-color:var(--mantine-color-dark-6)}}@media(hover:none){:where([data-mantine-color-scheme=light]) .m_f0824112:active{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_f0824112:active{background-color:var(--mantine-color-dark-6)}}.m_f0824112:where([data-disabled]){opacity:.4;pointer-events:none}.m_f0824112:where([data-active],[aria-current=page]){background-color:var(--nl-bg);color:var(--nl-color)}@media(hover:hover){.m_f0824112:where([data-active],[aria-current=page]):hover{background-color:var(--nl-hover)}}@media(hover:none){.m_f0824112:where([data-active],[aria-current=page]):active{background-color:var(--nl-hover)}}.m_f0824112:where([data-active],[aria-current=page]) .m_57492dcc{--description-opacity: .9;--description-color: var(--nl-color)}.m_690090b5{display:flex;align-items:center;justify-content:center;transition:transform .15s ease}.m_690090b5>svg{display:block}.m_690090b5:where([data-position=left]){margin-inline-end:var(--mantine-spacing-sm)}.m_690090b5:where([data-position=right]){margin-inline-start:var(--mantine-spacing-sm)}.m_690090b5:where([data-rotate]){transform:rotate(90deg)}.m_1f6ac4c4{font-size:var(--mantine-font-size-sm)}.m_f07af9d2{flex:1;overflow:hidden;text-overflow:ellipsis}.m_f07af9d2:where([data-no-wrap]){white-space:nowrap}.m_57492dcc{display:block;font-size:var(--mantine-font-size-xs);opacity:var(--description-opacity, 1);color:var(--description-color, var(--mantine-color-dimmed));overflow:hidden;text-overflow:ellipsis}:where([data-no-wrap]) .m_57492dcc{white-space:nowrap}.m_e17b862f{padding-inline-start:var(--nl-offset, var(--mantine-spacing-lg))}.m_1fd8a00b{transform:rotate(-90deg)}.m_a513464{--notification-radius: var(--mantine-radius-default);--notification-color: var(--mantine-primary-color-filled);overflow:hidden;box-sizing:border-box;position:relative;display:flex;align-items:center;padding-inline-start:calc(1.375rem * var(--mantine-scale));padding-inline-end:var(--mantine-spacing-xs);padding-top:var(--mantine-spacing-xs);padding-bottom:var(--mantine-spacing-xs);border-radius:var(--notification-radius);box-shadow:var(--mantine-shadow-lg)}.m_a513464:before{content:"";display:block;position:absolute;width:calc(.375rem * var(--mantine-scale));top:var(--notification-radius);bottom:var(--notification-radius);inset-inline-start:calc(.25rem * var(--mantine-scale));border-radius:var(--notification-radius);background-color:var(--notification-color)}:where([data-mantine-color-scheme=light]) .m_a513464{background-color:var(--mantine-color-white)}:where([data-mantine-color-scheme=dark]) .m_a513464{background-color:var(--mantine-color-dark-6)}.m_a513464:where([data-with-icon]){padding-inline-start:var(--mantine-spacing-xs)}.m_a513464:where([data-with-icon]):before{display:none}:where([data-mantine-color-scheme=light]) .m_a513464:where([data-with-border]){border:1px solid var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_a513464:where([data-with-border]){border:1px solid var(--mantine-color-dark-4)}.m_a4ceffb{box-sizing:border-box;margin-inline-end:var(--mantine-spacing-md);width:calc(1.75rem * var(--mantine-scale));height:calc(1.75rem * var(--mantine-scale));border-radius:calc(1.75rem * var(--mantine-scale));display:flex;align-items:center;justify-content:center;background-color:var(--notification-color);color:var(--mantine-color-white)}.m_b0920b15{margin-inline-end:var(--mantine-spacing-md)}.m_a49ed24{flex:1;overflow:hidden;margin-inline-end:var(--mantine-spacing-xs)}.m_3feedf16{margin-bottom:calc(.125rem * var(--mantine-scale));overflow:hidden;text-overflow:ellipsis;font-size:var(--mantine-font-size-sm);line-height:var(--mantine-line-height-sm);font-weight:500}:where([data-mantine-color-scheme=light]) .m_3feedf16{color:var(--mantine-color-gray-9)}:where([data-mantine-color-scheme=dark]) .m_3feedf16{color:var(--mantine-color-white)}.m_3d733a3a{font-size:var(--mantine-font-size-sm);line-height:var(--mantine-line-height-sm);overflow:hidden;text-overflow:ellipsis}:where([data-mantine-color-scheme=light]) .m_3d733a3a{color:var(--mantine-color-black)}:where([data-mantine-color-scheme=dark]) .m_3d733a3a{color:var(--mantine-color-dark-0)}:where([data-mantine-color-scheme=light]) .m_3d733a3a:where([data-with-title]){color:var(--mantine-color-gray-6)}:where([data-mantine-color-scheme=dark]) .m_3d733a3a:where([data-with-title]){color:var(--mantine-color-dark-2)}@media(hover:hover){:where([data-mantine-color-scheme=light]) .m_919a4d88:hover{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_919a4d88:hover{background-color:var(--mantine-color-dark-8)}}@media(hover:none){:where([data-mantine-color-scheme=light]) .m_919a4d88:active{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_919a4d88:active{background-color:var(--mantine-color-dark-8)}}.m_e2f5cd4e{--ni-right-section-width-xs: calc(1.0625rem * var(--mantine-scale));--ni-right-section-width-sm: calc(1.5rem * var(--mantine-scale));--ni-right-section-width-md: calc(1.6875rem * var(--mantine-scale));--ni-right-section-width-lg: calc(1.9375rem * var(--mantine-scale));--ni-right-section-width-xl: calc(2.125rem * var(--mantine-scale))}.m_95e17d22{--ni-chevron-size-xs: calc(.625rem * var(--mantine-scale));--ni-chevron-size-sm: calc(.875rem * var(--mantine-scale));--ni-chevron-size-md: calc(1rem * var(--mantine-scale));--ni-chevron-size-lg: calc(1.125rem * var(--mantine-scale));--ni-chevron-size-xl: calc(1.25rem * var(--mantine-scale));--ni-chevron-size: var(--ni-chevron-size-sm);display:flex;flex-direction:column;width:100%;height:calc(var(--input-height) - calc(.125rem * var(--mantine-scale)));max-width:calc(var(--ni-chevron-size) * 1.7);margin-inline-start:auto}.m_80b4b171{--control-border: 1px solid var(--input-bd);--control-radius: calc(var(--input-radius) - calc(.0625rem * var(--mantine-scale)));flex:0 0 50%;width:100%;padding:0;height:calc(var(--input-height) / 2 - calc(.0625rem * var(--mantine-scale)));border-inline-start:var(--control-border);display:flex;align-items:center;justify-content:center;color:var(--mantine-color-text);background-color:transparent;cursor:pointer}.m_80b4b171:where(:disabled){background-color:transparent;cursor:not-allowed;opacity:.6}:where([data-mantine-color-scheme=light]) .m_80b4b171:where(:disabled){color:var(--mantine-color-gray-4)}:where([data-mantine-color-scheme=dark]) .m_80b4b171:where(:disabled){color:var(--mantine-color-dark-3)}.m_e2f5cd4e[data-error] :where(.m_80b4b171){color:var(--mantine-color-error)}@media(hover:hover){:where([data-mantine-color-scheme=light]) .m_80b4b171:hover{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_80b4b171:hover{background-color:var(--mantine-color-dark-4)}}@media(hover:none){:where([data-mantine-color-scheme=light]) .m_80b4b171:active{background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_80b4b171:active{background-color:var(--mantine-color-dark-4)}}.m_80b4b171:where(:first-of-type){border-radius:0;border-start-end-radius:var(--control-radius)}.m_80b4b171:last-of-type{border-radius:0;border-end-end-radius:var(--control-radius)}.m_4addd315{--pagination-control-size-xs: calc(1.375rem * var(--mantine-scale));--pagination-control-size-sm: calc(1.625rem * var(--mantine-scale));--pagination-control-size-md: calc(2rem * var(--mantine-scale));--pagination-control-size-lg: calc(2.375rem * var(--mantine-scale));--pagination-control-size-xl: calc(2.75rem * var(--mantine-scale));--pagination-control-size: var(--pagination-control-size-md);--pagination-control-fz: var(--mantine-font-size-md);--pagination-active-bg: var(--mantine-primary-color-filled)}.m_326d024a{display:flex;align-items:center;justify-content:center;border:calc(.0625rem * var(--mantine-scale)) solid;cursor:pointer;color:var(--mantine-color-text);height:var(--pagination-control-size);min-width:var(--pagination-control-size);font-size:var(--pagination-control-fz);line-height:1;border-radius:var(--pagination-control-radius, var(--mantine-radius-default))}.m_326d024a:where([data-with-padding]){padding:calc(var(--pagination-control-size) / 4)}.m_326d024a:where(:disabled,[data-disabled]){cursor:not-allowed;opacity:.4}:where([data-mantine-color-scheme=light]) .m_326d024a{border-color:var(--mantine-color-gray-4);background-color:var(--mantine-color-white)}@media(hover:hover){:where([data-mantine-color-scheme=light]) .m_326d024a:hover:where(:not(:disabled,[data-disabled])){background-color:var(--mantine-color-gray-0)}}@media(hover:none){:where([data-mantine-color-scheme=light]) .m_326d024a:active:where(:not(:disabled,[data-disabled])){background-color:var(--mantine-color-gray-0)}}:where([data-mantine-color-scheme=dark]) .m_326d024a{border-color:var(--mantine-color-dark-4);background-color:var(--mantine-color-dark-6)}@media(hover:hover){:where([data-mantine-color-scheme=dark]) .m_326d024a:hover:where(:not(:disabled,[data-disabled])){background-color:var(--mantine-color-dark-5)}}@media(hover:none){:where([data-mantine-color-scheme=dark]) .m_326d024a:active:where(:not(:disabled,[data-disabled])){background-color:var(--mantine-color-dark-5)}}.m_326d024a:where([data-active]){background-color:var(--pagination-active-bg);border-color:var(--pagination-active-bg);color:var(--pagination-active-color, var(--mantine-color-white))}@media(hover:hover){.m_326d024a:where([data-active]):hover{background-color:var(--pagination-active-bg)}}@media(hover:none){.m_326d024a:where([data-active]):active{background-color:var(--pagination-active-bg)}}.m_4ad7767d{height:var(--pagination-control-size);min-width:var(--pagination-control-size);display:flex;align-items:center;justify-content:center;pointer-events:none}.m_f61ca620{--psi-button-size-xs: calc(1.375rem * var(--mantine-scale));--psi-button-size-sm: calc(1.625rem * var(--mantine-scale));--psi-button-size-md: calc(1.75rem * var(--mantine-scale));--psi-button-size-lg: calc(2rem * var(--mantine-scale));--psi-button-size-xl: calc(2.5rem * var(--mantine-scale));--psi-icon-size-xs: calc(.75rem * var(--mantine-scale));--psi-icon-size-sm: calc(.9375rem * var(--mantine-scale));--psi-icon-size-md: calc(1.0625rem * var(--mantine-scale));--psi-icon-size-lg: calc(1.1875rem * var(--mantine-scale));--psi-icon-size-xl: calc(1.3125rem * var(--mantine-scale));--psi-button-size: var(--psi-button-size-sm);--psi-icon-size: var(--psi-icon-size-sm)}.m_ccf8da4c{position:relative;overflow:hidden}.m_f2d85dd2{font-family:var(--mantine-font-family);background-color:transparent;border:0;padding-inline-end:var(--input-padding-inline-end);padding-inline-start:var(--input-padding-inline-start);position:absolute;top:0;right:0;bottom:0;left:0;outline:0;font-size:inherit;line-height:var(--mantine-line-height);height:100%;width:100%;color:inherit}.m_ccf8da4c[data-disabled] .m_f2d85dd2,.m_f2d85dd2:disabled{cursor:not-allowed}.m_f2d85dd2::placeholder{color:var(--input-placeholder-color);opacity:1}.m_f2d85dd2::-ms-reveal{display:none}.m_b1072d44{width:var(--psi-button-size);height:var(--psi-button-size);min-width:var(--psi-button-size);min-height:var(--psi-button-size)}.m_b1072d44:disabled{display:none}.m_f1cb205a{--pin-input-size-xs: calc(1.875rem * var(--mantine-scale));--pin-input-size-sm: calc(2.25rem * var(--mantine-scale));--pin-input-size-md: calc(2.625rem * var(--mantine-scale));--pin-input-size-lg: calc(3.125rem * var(--mantine-scale));--pin-input-size-xl: calc(3.75rem * var(--mantine-scale));--pin-input-size: var(--pin-input-size-sm)}.m_cb288ead{width:var(--pin-input-size);height:var(--pin-input-size)}@keyframes m_81a374bd{0%{background-position:0 0}to{background-position:calc(2.5rem * var(--mantine-scale)) 0}}.m_db6d6462{--progress-radius: var(--mantine-radius-default);--progress-size: var(--progress-size-md);--progress-size-xs: calc(.1875rem * var(--mantine-scale));--progress-size-sm: calc(.3125rem * var(--mantine-scale));--progress-size-md: calc(.5rem * var(--mantine-scale));--progress-size-lg: calc(.75rem * var(--mantine-scale));--progress-size-xl: calc(1rem * var(--mantine-scale));position:relative;height:var(--progress-size);border-radius:var(--progress-radius);overflow:hidden;display:flex}:where([data-mantine-color-scheme=light]) .m_db6d6462{background-color:var(--mantine-color-gray-2)}:where([data-mantine-color-scheme=dark]) .m_db6d6462{background-color:var(--mantine-color-dark-4)}.m_2242eb65{background-color:var(--progress-section-color);height:100%;width:var(--progress-section-width);display:flex;align-items:center;justify-content:center;overflow:hidden;background-size:calc(1.25rem * var(--mantine-scale)) calc(1.25rem * var(--mantine-scale));transition:width var(--progress-transition-duration, .1s) ease}.m_2242eb65:where([data-striped]){background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.m_2242eb65:where([data-animated]){animation:m_81a374bd 1s linear infinite}.m_2242eb65:where(:last-of-type){border-radius:0;border-start-end-radius:var(--progress-radius);border-end-end-radius:var(--progress-radius)}.m_2242eb65:where(:first-of-type){border-radius:0;border-start-start-radius:var(--progress-radius);border-end-start-radius:var(--progress-radius)}.m_91e40b74{color:var(--progress-label-color, var(--mantine-color-white));font-weight:700;-webkit-user-select:none;user-select:none;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:min(calc(var(--progress-size) * .65),calc(1.125rem * var(--mantine-scale)));line-height:1;padding-inline:calc(.25rem * var(--mantine-scale))}.m_9dc8ae12{--card-radius: var(--mantine-radius-default);display:block;width:100%;border-radius:var(--card-radius);cursor:pointer}.m_9dc8ae12 :where(*){cursor:inherit}.m_9dc8ae12:where([data-with-border]){border:calc(.0625rem * var(--mantine-scale)) solid transparent}:where([data-mantine-color-scheme=light]) .m_9dc8ae12:where([data-with-border]){border-color:var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_9dc8ae12:where([data-with-border]){border-color:var(--mantine-color-dark-4)}.m_717d7ff6{--radio-size-xs: calc(1rem * var(--mantine-scale));--radio-size-sm: calc(1.25rem * var(--mantine-scale));--radio-size-md: calc(1.5rem * var(--mantine-scale));--radio-size-lg: calc(1.875rem * var(--mantine-scale));--radio-size-xl: calc(2.25rem * var(--mantine-scale));--radio-icon-size-xs: calc(.375rem * var(--mantine-scale));--radio-icon-size-sm: calc(.5rem * var(--mantine-scale));--radio-icon-size-md: calc(.625rem * var(--mantine-scale));--radio-icon-size-lg: calc(.875rem * var(--mantine-scale));--radio-icon-size-xl: calc(1rem * var(--mantine-scale));--radio-icon-size: var(--radio-icon-size-sm);--radio-size: var(--radio-size-sm);--radio-color: var(--mantine-primary-color-filled);--radio-icon-color: var(--mantine-color-white);position:relative;border:calc(.0625rem * var(--mantine-scale)) solid transparent;width:var(--radio-size);min-width:var(--radio-size);height:var(--radio-size);min-height:var(--radio-size);border-radius:var(--radio-radius, 10000px);transition:border-color .1s ease,background-color .1s ease;cursor:var(--mantine-cursor-type);-webkit-tap-highlight-color:transparent;display:flex;align-items:center;justify-content:center}:where([data-mantine-color-scheme=light]) .m_717d7ff6{background-color:var(--mantine-color-white);border-color:var(--mantine-color-gray-4)}:where([data-mantine-color-scheme=dark]) .m_717d7ff6{background-color:var(--mantine-color-dark-6);border-color:var(--mantine-color-dark-4)}.m_717d7ff6[data-indeterminate],.m_717d7ff6[data-checked]{background-color:var(--radio-color);border-color:var(--radio-color)}.m_717d7ff6[data-indeterminate]>.m_3e4da632,.m_717d7ff6[data-checked]>.m_3e4da632{opacity:1;transform:none;color:var(--radio-icon-color)}.m_717d7ff6[data-disabled]{cursor:not-allowed}:where([data-mantine-color-scheme=light]) .m_717d7ff6[data-disabled]{background-color:var(--mantine-color-gray-2);border-color:var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_717d7ff6[data-disabled]{background-color:var(--mantine-color-dark-6);border-color:var(--mantine-color-dark-6)}[data-mantine-color-scheme=light] .m_717d7ff6[data-disabled][data-checked]>.m_3e4da632{color:var(--mantine-color-gray-5)}[data-mantine-color-scheme=dark] .m_717d7ff6[data-disabled][data-checked]>.m_3e4da632{color:var(--mantine-color-dark-3)}.m_2980836c[data-indeterminate]:not([data-disabled]),.m_2980836c[data-checked]:not([data-disabled]){background-color:transparent;border-color:var(--radio-color)}.m_2980836c[data-indeterminate]:not([data-disabled])>.m_3e4da632,.m_2980836c[data-checked]:not([data-disabled])>.m_3e4da632{color:var(--radio-color);opacity:1;transform:none}.m_3e4da632{display:block;width:var(--radio-icon-size);height:var(--radio-icon-size);color:transparent;pointer-events:none;transform:translateY(calc(.3125rem * var(--mantine-scale))) scale(.5);opacity:1;transition:transform .1s ease,opacity .1s ease}.m_f3f1af94{--radio-size-xs: calc(1rem * var(--mantine-scale));--radio-size-sm: calc(1.25rem * var(--mantine-scale));--radio-size-md: calc(1.5rem * var(--mantine-scale));--radio-size-lg: calc(1.875rem * var(--mantine-scale));--radio-size-xl: calc(2.25rem * var(--mantine-scale));--radio-size: var(--radio-size-sm);--radio-icon-size-xs: calc(.375rem * var(--mantine-scale));--radio-icon-size-sm: calc(.5rem * var(--mantine-scale));--radio-icon-size-md: calc(.625rem * var(--mantine-scale));--radio-icon-size-lg: calc(.875rem * var(--mantine-scale));--radio-icon-size-xl: calc(1rem * var(--mantine-scale));--radio-icon-size: var(--radio-icon-size-sm);--radio-icon-color: var(--mantine-color-white)}.m_89c4f5e4{position:relative;width:var(--radio-size);height:var(--radio-size);order:1}.m_89c4f5e4:where([data-label-position=left]){order:2}.m_f3ed6b2b{color:var(--radio-icon-color);opacity:var(--radio-icon-opacity, 0);transform:var(--radio-icon-transform, scale(.2) translateY(calc(.625rem * var(--mantine-scale))));transition:opacity .1s ease,transform .2s ease;pointer-events:none;width:var(--radio-icon-size);height:var(--radio-icon-size);position:absolute;top:calc(50% - var(--radio-icon-size) / 2);left:calc(50% - var(--radio-icon-size) / 2)}.m_8a3dbb89{border:calc(.0625rem * var(--mantine-scale)) solid;position:relative;-webkit-appearance:none;-moz-appearance:none;appearance:none;width:var(--radio-size);height:var(--radio-size);border-radius:var(--radio-radius, var(--radio-size));margin:0;display:flex;align-items:center;justify-content:center;transition-property:background-color,border-color;transition-timing-function:ease;transition-duration:.1s;cursor:var(--mantine-cursor-type);-webkit-tap-highlight-color:transparent}:where([data-mantine-color-scheme=light]) .m_8a3dbb89{background-color:var(--mantine-color-white);border-color:var(--mantine-color-gray-4)}:where([data-mantine-color-scheme=dark]) .m_8a3dbb89{background-color:var(--mantine-color-dark-6);border-color:var(--mantine-color-dark-4)}.m_8a3dbb89:checked{background-color:var(--radio-color, var(--mantine-primary-color-filled));border-color:var(--radio-color, var(--mantine-primary-color-filled))}.m_8a3dbb89:checked+.m_f3ed6b2b{--radio-icon-opacity: 1;--radio-icon-transform: scale(1)}.m_8a3dbb89:disabled{cursor:not-allowed}:where([data-mantine-color-scheme=light]) .m_8a3dbb89:disabled{background-color:var(--mantine-color-gray-1);border-color:var(--mantine-color-gray-2)}:where([data-mantine-color-scheme=light]) .m_8a3dbb89:disabled+.m_f3ed6b2b{--radio-icon-color: var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_8a3dbb89:disabled{background-color:var(--mantine-color-dark-5);border-color:var(--mantine-color-dark-4)}:where([data-mantine-color-scheme=dark]) .m_8a3dbb89:disabled+.m_f3ed6b2b{--radio-icon-color: var(--mantine-color-dark-7)}.m_8a3dbb89:where([data-error]){border-color:var(--mantine-color-error)}.m_1bfe9d39+.m_f3ed6b2b{--radio-icon-color: var(--radio-color)}.m_1bfe9d39:checked:not(:disabled){background-color:transparent;border-color:var(--radio-color)}.m_1bfe9d39:checked:not(:disabled)+.m_f3ed6b2b{--radio-icon-color: var(--radio-color);--radio-icon-opacity: 1;--radio-icon-transform: none}.m_f8d312f2{--rating-size-xs: calc(.875rem * var(--mantine-scale));--rating-size-sm: calc(1.125rem * var(--mantine-scale));--rating-size-md: calc(1.25rem * var(--mantine-scale));--rating-size-lg: calc(1.75rem * var(--mantine-scale));--rating-size-xl: calc(2rem * var(--mantine-scale));display:flex;width:max-content}.m_f8d312f2:where(:has(input:disabled)){pointer-events:none}.m_61734bb7{position:relative;transition:transform .1s ease}.m_61734bb7:where([data-active]){z-index:1;transform:scale(1.1)}.m_5662a89a{width:var(--rating-size);height:var(--rating-size);display:block}:where([data-mantine-color-scheme=light]) .m_5662a89a{fill:var(--mantine-color-gray-3);stroke:var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_5662a89a{fill:var(--mantine-color-dark-3);stroke:var(--mantine-color-dark-3)}.m_5662a89a:where([data-filled]){fill:var(--rating-color);stroke:var(--rating-color)}.m_211007ba{height:0;width:0;position:absolute;overflow:hidden;white-space:nowrap;opacity:0;-webkit-tap-highlight-color:transparent}.m_211007ba:focus-visible+label{outline:2px solid var(--mantine-primary-color-filled);outline-offset:calc(.125rem * var(--mantine-scale))}.m_21342ee4{display:block;cursor:pointer;position:absolute;top:0;left:0;z-index:var(--rating-item-z-index, 0);-webkit-tap-highlight-color:transparent}.m_21342ee4:where([data-read-only]){cursor:default}.m_21342ee4:where(:last-of-type){position:relative}.m_fae05d6a{clip-path:var(--rating-symbol-clip-path)}.m_1b3c8819{--tooltip-radius: var(--mantine-radius-default);position:absolute;padding:calc(var(--mantine-spacing-xs) / 2) var(--mantine-spacing-xs);pointer-events:none;font-size:var(--mantine-font-size-sm);white-space:nowrap;border-radius:var(--tooltip-radius)}:where([data-mantine-color-scheme=light]) .m_1b3c8819{background-color:var(--tooltip-bg, var(--mantine-color-gray-9));color:var(--tooltip-color, var(--mantine-color-white))}:where([data-mantine-color-scheme=dark]) .m_1b3c8819{background-color:var(--tooltip-bg, var(--mantine-color-gray-2));color:var(--tooltip-color, var(--mantine-color-black))}.m_1b3c8819:where([data-multiline]){white-space:normal}.m_1b3c8819:where([data-fixed]){position:fixed}.m_f898399f{background-color:inherit;border:0;z-index:1}.m_b32e4812{position:relative;width:var(--rp-size);height:var(--rp-size);min-width:var(--rp-size);min-height:var(--rp-size);--rp-transition-duration: 0ms}.m_d43b5134{width:var(--rp-size);height:var(--rp-size);min-width:var(--rp-size);min-height:var(--rp-size);transform:rotate(-90deg)}.m_b1ca1fbf{stroke:var(--curve-color, var(--rp-curve-root-color));transition:stroke-dashoffset var(--rp-transition-duration) ease,stroke-dasharray var(--rp-transition-duration) ease,stroke var(--rp-transition-duration)}[data-mantine-color-scheme=light] .m_b1ca1fbf{--rp-curve-root-color: var(--mantine-color-gray-2)}[data-mantine-color-scheme=dark] .m_b1ca1fbf{--rp-curve-root-color: var(--mantine-color-dark-4)}.m_b23f9dc4{position:absolute;top:50%;transform:translateY(-50%);inset-inline:var(--rp-label-offset)}.m_cf365364{--sc-padding-xs: calc(.1875rem * var(--mantine-scale)) calc(.375rem * var(--mantine-scale));--sc-padding-sm: calc(.3125rem * var(--mantine-scale)) calc(.625rem * var(--mantine-scale));--sc-padding-md: calc(.4375rem * var(--mantine-scale)) calc(.875rem * var(--mantine-scale));--sc-padding-lg: calc(.5625rem * var(--mantine-scale)) calc(1rem * var(--mantine-scale));--sc-padding-xl: calc(.75rem * var(--mantine-scale)) calc(1.25rem * var(--mantine-scale));--sc-transition-duration: .2s;--sc-padding: var(--sc-padding-sm);--sc-transition-timing-function: ease;--sc-font-size: var(--mantine-font-size-sm);position:relative;display:inline-flex;flex-direction:row;width:auto;border-radius:var(--sc-radius, var(--mantine-radius-default));overflow:hidden;padding:calc(.25rem * var(--mantine-scale))}.m_cf365364:where([data-full-width]){display:flex}.m_cf365364:where([data-orientation=vertical]){display:flex;flex-direction:column;width:max-content}.m_cf365364:where([data-orientation=vertical]):where([data-full-width]){width:auto}:where([data-mantine-color-scheme=light]) .m_cf365364{background-color:var(--mantine-color-gray-1)}:where([data-mantine-color-scheme=dark]) .m_cf365364{background-color:var(--mantine-color-dark-8)}.m_9e182ccd{position:absolute;display:block;z-index:1;border-radius:var(--sc-radius, var(--mantine-radius-default))}:where([data-mantine-color-scheme=light]) .m_9e182ccd{box-shadow:var(--sc-shadow, none);background-color:var(--sc-color, var(--mantine-color-white))}:where([data-mantine-color-scheme=dark]) .m_9e182ccd{box-shadow:none;background-color:var(--sc-color, var(--mantine-color-dark-5))}.m_1738fcb2{-webkit-tap-highlight-color:transparent;font-weight:500;display:block;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;border-radius:var(--sc-radius, var(--mantine-radius-default));font-size:var(--sc-font-size);padding:var(--sc-padding);transition:color var(--sc-transition-duration) var(--sc-transition-timing-function);cursor:pointer;outline:var(--segmented-control-outline, none)}:where([data-mantine-color-scheme=light]) .m_1738fcb2{color:var(--mantine-color-gray-7)}:where([data-mantine-color-scheme=dark]) .m_1738fcb2{color:var(--mantine-color-dark-1)}.m_1738fcb2:where([data-read-only]){cursor:default}fieldset:disabled .m_1738fcb2,.m_1738fcb2:where([data-disabled]){cursor:not-allowed}:where([data-mantine-color-scheme=light]) fieldset:disabled .m_1738fcb2,:where([data-mantine-color-scheme=light]) .m_1738fcb2:where([data-disabled]){color:var(--mantine-color-gray-5)}:where([data-mantine-color-scheme=dark]) fieldset:disabled .m_1738fcb2,:where([data-mantine-color-scheme=dark]) .m_1738fcb2:where([data-disabled]){color:var(--mantine-color-dark-3)}:where([data-mantine-color-scheme=light]) .m_1738fcb2:where([data-active]){color:var(--sc-label-color, var(--mantine-color-black))}:where([data-mantine-color-scheme=dark]) .m_1738fcb2:where([data-active]){color:var(--sc-label-color, var(--mantine-color-white))}.m_cf365364:where([data-initialized]) .m_1738fcb2:where([data-active]):before{display:none}.m_1738fcb2:where([data-active]):before{content:"";top:0;right:0;bottom:0;left:0;z-index:0;position:absolute;border-radius:var(--sc-radius, var(--mantine-radius-default))}:where([data-mantine-color-scheme=light]) .m_1738fcb2:where([data-active]):before{box-shadow:var(--sc-shadow, none);background-color:var(--sc-color, var(--mantine-color-white))}:where([data-mantine-color-scheme=dark]) .m_1738fcb2:where([data-active]):before{box-shadow:none;background-color:var(--sc-color, var(--mantine-color-dark-5))}@media(hover:hover){:where([data-mantine-color-scheme=light]) .m_1738fcb2:where(:not([data-disabled],[data-active],[data-read-only])):hover{color:var(--mantine-color-black)}:where([data-mantine-color-scheme=dark]) .m_1738fcb2:where(:not([data-disabled],[data-active],[data-read-only])):hover{color:var(--mantine-color-white)}}@media(hover:none){:where([data-mantine-color-scheme=light]) .m_1738fcb2:where(:not([data-disabled],[data-active],[data-read-only])):active{color:var(--mantine-color-black)}:where([data-mantine-color-scheme=dark]) .m_1738fcb2:where(:not([data-disabled],[data-active],[data-read-only])):active{color:var(--mantine-color-white)}}@media(hover:hover){:where([data-mantine-color-scheme=light]) fieldset:disabled .m_1738fcb2:hover{color:var(--mantine-color-gray-5)!important}:where([data-mantine-color-scheme=dark]) fieldset:disabled .m_1738fcb2:hover{color:var(--mantine-color-dark-3)!important}}@media(hover:none){:where([data-mantine-color-scheme=light]) fieldset:disabled .m_1738fcb2:active{color:var(--mantine-color-gray-5)!important}:where([data-mantine-color-scheme=dark]) fieldset:disabled .m_1738fcb2:active{color:var(--mantine-color-dark-3)!important}}.m_1714d588{height:0;width:0;position:absolute;overflow:hidden;white-space:nowrap;opacity:0}.m_1714d588[data-focus-ring=auto]:focus:focus-visible+.m_1738fcb2{--segmented-control-outline: 2px solid var(--mantine-primary-color-filled)}.m_1714d588[data-focus-ring=always]:focus+.m_1738fcb2{--segmented-control-outline: 2px solid var(--mantine-primary-color-filled)}.m_69686b9b{position:relative;flex:1;z-index:2;transition:border-color var(--sc-transition-duration) var(--sc-transition-timing-function)}.m_cf365364[data-with-items-borders] :where(.m_69686b9b):before{content:"";position:absolute;top:0;bottom:0;inset-inline-start:0;background-color:var(--separator-color);width:calc(.0625rem * var(--mantine-scale));transition:background-color var(--sc-transition-duration) var(--sc-transition-timing-function)}.m_69686b9b[data-orientation=vertical]:before{top:0;inset-inline:0;bottom:auto;height:calc(.0625rem * var(--mantine-scale));width:auto}:where([data-mantine-color-scheme=light]) .m_69686b9b{--separator-color: var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_69686b9b{--separator-color: var(--mantine-color-dark-4)}.m_69686b9b:first-of-type:before{--separator-color: transparent}[data-mantine-color-scheme] .m_69686b9b[data-active]:before,[data-mantine-color-scheme] .m_69686b9b[data-active]+.m_69686b9b:before{--separator-color: transparent}.m_78882f40{position:relative;z-index:2}.m_fa528724{--scp-filled-segment-color: var(--mantine-primary-color-filled);--scp-transition-duration: 0ms;--scp-thickness: calc(.625rem * var(--mantine-scale))}:where([data-mantine-color-scheme=light]) .m_fa528724{--scp-empty-segment-color: var(--mantine-color-gray-2)}:where([data-mantine-color-scheme=dark]) .m_fa528724{--scp-empty-segment-color: var(--mantine-color-dark-4)}.m_fa528724{position:relative;width:fit-content}.m_62e9e7e2{display:block;transform:var(--scp-rotation);overflow:hidden}.m_c573fb6f{transition:stroke-dashoffset var(--scp-transition-duration) ease,stroke-dasharray var(--scp-transition-duration) ease,stroke var(--scp-transition-duration)}.m_4fa340f2{position:absolute;margin:0;padding:0;inset-inline:0;text-align:center;z-index:1}.m_4fa340f2:where([data-position=bottom]){bottom:0;padding-inline:calc(var(--scp-thickness) * 2)}.m_4fa340f2:where([data-position=bottom]):where([data-orientation=down]){bottom:auto;top:0}.m_4fa340f2:where([data-position=center]){top:50%;padding-inline:calc(var(--scp-thickness) * 3)}.m_925c2d2c{container:simple-grid / inline-size}.m_2415a157{display:grid;grid-template-columns:repeat(var(--sg-cols),minmax(0,1fr));gap:var(--sg-spacing-y) var(--sg-spacing-x)}@keyframes m_299c329c{0%,to{opacity:.4}50%{opacity:1}}.m_18320242{height:var(--skeleton-height, auto);width:var(--skeleton-width, 100%);border-radius:var(--skeleton-radius, var(--mantine-radius-default));position:relative;transform:translateZ(0);-webkit-transform:translateZ(0)}.m_18320242:where([data-animate]):after{animation:m_299c329c 1.5s linear infinite}.m_18320242:where([data-visible]){overflow:hidden}.m_18320242:where([data-visible]):before{position:absolute;content:"";top:0;right:0;bottom:0;left:0;z-index:10;background-color:var(--mantine-color-body)}.m_18320242:where([data-visible]):after{position:absolute;content:"";top:0;right:0;bottom:0;left:0;z-index:11}:where([data-mantine-color-scheme=light]) .m_18320242:where([data-visible]):after{background-color:var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_18320242:where([data-visible]):after{background-color:var(--mantine-color-dark-4)}.m_dd36362e{--slider-size-xs: calc(.25rem * var(--mantine-scale));--slider-size-sm: calc(.375rem * var(--mantine-scale));--slider-size-md: calc(.5rem * var(--mantine-scale));--slider-size-lg: calc(.625rem * var(--mantine-scale));--slider-size-xl: calc(.75rem * var(--mantine-scale));--slider-size: var(--slider-size-md);--slider-radius: calc(62.5rem * var(--mantine-scale));--slider-color: var(--mantine-primary-color-filled);-webkit-tap-highlight-color:transparent;outline:none;height:calc(var(--slider-size) * 2);padding-inline:var(--slider-size);display:flex;flex-direction:column;align-items:center;touch-action:none;position:relative}[data-mantine-color-scheme=light] .m_dd36362e{--slider-track-bg: var(--mantine-color-gray-2);--slider-track-disabled-bg: var(--mantine-color-gray-4)}[data-mantine-color-scheme=dark] .m_dd36362e{--slider-track-bg: var(--mantine-color-dark-4);--slider-track-disabled-bg: var(--mantine-color-dark-3)}.m_c9357328{position:absolute;top:calc(-2.25rem * var(--mantine-scale));font-size:var(--mantine-font-size-xs);color:var(--mantine-color-white);padding:calc(var(--mantine-spacing-xs) / 2);border-radius:var(--mantine-radius-sm);white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;touch-action:none}:where([data-mantine-color-scheme=light]) .m_c9357328{background-color:var(--mantine-color-gray-9)}:where([data-mantine-color-scheme=dark]) .m_c9357328{background-color:var(--mantine-color-dark-4)}.m_c9a9a60a{position:absolute;display:flex;height:var(--slider-thumb-size);width:var(--slider-thumb-size);border:calc(.25rem * var(--mantine-scale)) solid;transform:translate(-50%,-50%);top:50%;cursor:pointer;border-radius:var(--slider-radius);align-items:center;justify-content:center;transition:box-shadow .1s ease,transform .1s ease;z-index:3;-webkit-user-select:none;user-select:none;touch-action:none;outline-offset:calc(.125rem * var(--mantine-scale));left:var(--slider-thumb-offset)}:where([dir=rtl]) .m_c9a9a60a{left:auto;right:calc(var(--slider-thumb-offset) - var(--slider-thumb-size))}fieldset:disabled .m_c9a9a60a,.m_c9a9a60a:where([data-disabled]){display:none}.m_c9a9a60a:where([data-dragging]){transform:translate(-50%,-50%) scale(1.05);box-shadow:var(--mantine-shadow-sm)}:where([data-mantine-color-scheme=light]) .m_c9a9a60a{color:var(--slider-color);border-color:var(--slider-color);background-color:var(--mantine-color-white)}:where([data-mantine-color-scheme=dark]) .m_c9a9a60a{color:var(--mantine-color-white);border-color:var(--mantine-color-white);background-color:var(--slider-color)}.m_a8645c2{display:flex;align-items:center;width:100%;height:calc(var(--slider-size) * 2);cursor:pointer}fieldset:disabled .m_a8645c2,.m_a8645c2:where([data-disabled]){cursor:not-allowed}.m_c9ade57f{position:relative;width:100%;height:var(--slider-size)}.m_c9ade57f:where([data-inverted]:not([data-disabled])){--track-bg: var(--slider-color)}fieldset:disabled .m_c9ade57f:where([data-inverted]),.m_c9ade57f:where([data-inverted][data-disabled]){--track-bg: var(--slider-track-disabled-bg)}.m_c9ade57f:before{content:"";position:absolute;top:0;bottom:0;border-radius:var(--slider-radius);inset-inline:calc(var(--slider-size) * -1);background-color:var(--track-bg, var(--slider-track-bg));z-index:0}.m_38aeed47{position:absolute;z-index:1;top:0;bottom:0;background-color:var(--slider-color);border-radius:var(--slider-radius);width:var(--slider-bar-width);inset-inline-start:var(--slider-bar-offset)}.m_38aeed47:where([data-inverted]){background-color:var(--slider-track-bg)}:where([data-mantine-color-scheme=light]) fieldset:disabled .m_38aeed47:where(:not([data-inverted])),:where([data-mantine-color-scheme=light]) .m_38aeed47:where([data-disabled]:not([data-inverted])){background-color:var(--mantine-color-gray-4)}:where([data-mantine-color-scheme=dark]) fieldset:disabled .m_38aeed47:where(:not([data-inverted])),:where([data-mantine-color-scheme=dark]) .m_38aeed47:where([data-disabled]:not([data-inverted])){background-color:var(--mantine-color-dark-3)}.m_b7b0423a{position:absolute;inset-inline-start:calc(var(--mark-offset) - var(--slider-size) / 2);top:0;z-index:2;height:0;pointer-events:none}.m_dd33bc19{border:calc(.125rem * var(--mantine-scale)) solid;height:var(--slider-size);width:var(--slider-size);border-radius:calc(62.5rem * var(--mantine-scale));background-color:var(--mantine-color-white);pointer-events:none}:where([data-mantine-color-scheme=light]) .m_dd33bc19{border-color:var(--mantine-color-gray-2)}:where([data-mantine-color-scheme=dark]) .m_dd33bc19{border-color:var(--mantine-color-dark-4)}.m_dd33bc19:where([data-filled]){border-color:var(--slider-color)}:where([data-mantine-color-scheme=light]) .m_dd33bc19:where([data-filled]):where([data-disabled]){border-color:var(--mantine-color-gray-4)}:where([data-mantine-color-scheme=dark]) .m_dd33bc19:where([data-filled]):where([data-disabled]){border-color:var(--mantine-color-dark-3)}.m_68c77a5b{transform:translate(calc(-50% + var(--slider-size) / 2),calc(var(--mantine-spacing-xs) / 2));font-size:var(--mantine-font-size-sm);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}:where([data-mantine-color-scheme=light]) .m_68c77a5b{color:var(--mantine-color-gray-6)}:where([data-mantine-color-scheme=dark]) .m_68c77a5b{color:var(--mantine-color-dark-2)}.m_559cce2d{position:relative}.m_559cce2d:where([data-has-spoiler]){margin-bottom:calc(1.5rem * var(--mantine-scale))}.m_b912df4e{display:flex;flex-direction:column;overflow:hidden;transition:max-height var(--spoiler-transition-duration, .2s) ease}.m_b9131032{position:absolute;inset-inline-start:0;top:100%;height:calc(1.5rem * var(--mantine-scale))}.m_6d731127{display:flex;flex-direction:column;align-items:var(--stack-align, stretch);justify-content:var(--stack-justify, flex-start);gap:var(--stack-gap, var(--mantine-spacing-md))}.m_cbb4ea7e{--stepper-icon-size-xs: calc(2.125rem * var(--mantine-scale));--stepper-icon-size-sm: calc(2.25rem * var(--mantine-scale));--stepper-icon-size-md: calc(2.625rem * var(--mantine-scale));--stepper-icon-size-lg: calc(3rem * var(--mantine-scale));--stepper-icon-size-xl: calc(3.25rem * var(--mantine-scale));--stepper-icon-size: var(--stepper-icon-size-md);--stepper-color: var(--mantine-primary-color-filled);--stepper-content-padding: var(--mantine-spacing-md);--stepper-spacing: var(--mantine-spacing-md);--stepper-radius: calc(62.5rem * var(--mantine-scale));--stepper-fz: var(--mantine-font-size-md);--stepper-outline-thickness: calc(.125rem * var(--mantine-scale))}[data-mantine-color-scheme=light] .m_cbb4ea7e{--stepper-outline-color: var(--mantine-color-gray-2)}[data-mantine-color-scheme=dark] .m_cbb4ea7e{--stepper-outline-color: var(--mantine-color-dark-5)}.m_aaf89d0b{display:flex;flex-wrap:nowrap;align-items:center}.m_aaf89d0b:where([data-wrap]){flex-wrap:wrap;gap:var(--mantine-spacing-md) 0}.m_aaf89d0b:where([data-orientation=vertical]){flex-direction:column}.m_aaf89d0b:where([data-orientation=vertical]):where([data-icon-position=left]){align-items:flex-start}.m_aaf89d0b:where([data-orientation=vertical]):where([data-icon-position=right]){align-items:flex-end}.m_aaf89d0b:where([data-orientation=horizontal]){flex-direction:row}.m_2a371ac9{transition:background-color .15s ease;flex:1;height:var(--stepper-outline-thickness);margin-inline:var(--mantine-spacing-md);background-color:var(--stepper-outline-color)}.m_2a371ac9:where([data-active]){background-color:var(--stepper-color)}.m_78da155d{padding-top:var(--stepper-content-padding)}.m_cbb57068{--step-color: var(--stepper-color);display:flex;cursor:default}.m_cbb57068:where([data-allow-click]){cursor:pointer}.m_cbb57068:where([data-icon-position=left]){flex-direction:row}.m_cbb57068:where([data-icon-position=right]){flex-direction:row-reverse}.m_f56b1e2c{align-items:center}.m_833edb7e{--separator-spacing: calc(var(--mantine-spacing-xs) / 2);justify-content:flex-start;min-height:calc(var(--stepper-icon-size) + var(--mantine-spacing-xl) + var(--separator-spacing));margin-top:var(--separator-spacing);overflow:hidden}.m_833edb7e:where(:first-of-type){margin-top:0}.m_833edb7e:where(:last-of-type){min-height:auto}.m_833edb7e:where(:last-of-type) .m_6496b3f3{display:none}.m_818e70b{position:relative}.m_6496b3f3{top:calc(var(--stepper-icon-size) + var(--separator-spacing));inset-inline-start:calc(var(--stepper-icon-size) / 2);height:100vh;position:absolute;border-inline-start:var(--stepper-outline-thickness) solid var(--stepper-outline-color)}.m_6496b3f3:where([data-active]){border-color:var(--stepper-color)}.m_1959ad01{height:var(--stepper-icon-size);width:var(--stepper-icon-size);min-height:var(--stepper-icon-size);min-width:var(--stepper-icon-size);border-radius:var(--stepper-radius);font-size:var(--stepper-fz);display:flex;align-items:center;justify-content:center;position:relative;font-weight:700;transition:background-color .15s ease,border-color .15s ease;border:var(--stepper-outline-thickness) solid var(--stepper-outline-color);background-color:var(--stepper-outline-color)}:where([data-mantine-color-scheme=light]) .m_1959ad01{color:var(--mantine-color-gray-7)}:where([data-mantine-color-scheme=dark]) .m_1959ad01{color:var(--mantine-color-dark-1)}.m_1959ad01:where([data-progress]){border-color:var(--step-color)}.m_1959ad01:where([data-completed]){color:var(--stepper-icon-color, var(--mantine-color-white));background-color:var(--step-color);border-color:var(--step-color)}.m_a79331dc{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--stepper-icon-color, var(--mantine-color-white))}.m_1956aa2a{display:flex;flex-direction:column}.m_1956aa2a:where([data-icon-position=left]){margin-inline-start:var(--mantine-spacing-sm)}.m_1956aa2a:where([data-icon-position=right]){text-align:right;margin-inline-end:var(--mantine-spacing-sm)}:where([dir=rtl]) .m_1956aa2a:where([data-icon-position=right]){text-align:left}.m_12051f6c{font-weight:500;font-size:var(--stepper-fz);line-height:1}.m_164eea74{margin-top:calc(var(--stepper-spacing) / 3);margin-bottom:calc(var(--stepper-spacing) / 3);font-size:calc(var(--stepper-fz) - calc(.125rem * var(--mantine-scale)));line-height:1;color:var(--mantine-color-dimmed)}.m_5f93f3bb{--switch-height-xs: calc(1rem * var(--mantine-scale));--switch-height-sm: calc(1.25rem * var(--mantine-scale));--switch-height-md: calc(1.5rem * var(--mantine-scale));--switch-height-lg: calc(1.875rem * var(--mantine-scale));--switch-height-xl: calc(2.25rem * var(--mantine-scale));--switch-width-xs: calc(2rem * var(--mantine-scale));--switch-width-sm: calc(2.375rem * var(--mantine-scale));--switch-width-md: calc(2.875rem * var(--mantine-scale));--switch-width-lg: calc(3.5rem * var(--mantine-scale));--switch-width-xl: calc(4.5rem * var(--mantine-scale));--switch-thumb-size-xs: calc(.75rem * var(--mantine-scale));--switch-thumb-size-sm: calc(.875rem * var(--mantine-scale));--switch-thumb-size-md: calc(1.125rem * var(--mantine-scale));--switch-thumb-size-lg: calc(1.375rem * var(--mantine-scale));--switch-thumb-size-xl: calc(1.75rem * var(--mantine-scale));--switch-label-font-size-xs: calc(.3125rem * var(--mantine-scale));--switch-label-font-size-sm: calc(.375rem * var(--mantine-scale));--switch-label-font-size-md: calc(.4375rem * var(--mantine-scale));--switch-label-font-size-lg: calc(.5625rem * var(--mantine-scale));--switch-label-font-size-xl: calc(.6875rem * var(--mantine-scale));--switch-track-label-padding-xs: calc(.0625rem * var(--mantine-scale));--switch-track-label-padding-sm: calc(.125rem * var(--mantine-scale));--switch-track-label-padding-md: calc(.125rem * var(--mantine-scale));--switch-track-label-padding-lg: calc(.1875rem * var(--mantine-scale));--switch-track-label-padding-xl: calc(.1875rem * var(--mantine-scale));--switch-height: var(--switch-height-sm);--switch-width: var(--switch-width-sm);--switch-thumb-size: var(--switch-thumb-size-sm);--switch-label-font-size: var(--switch-label-font-size-sm);--switch-track-label-padding: var(--switch-track-label-padding-sm);--switch-radius: calc(62.5rem * var(--mantine-scale));--switch-color: var(--mantine-primary-color-filled);position:relative}.m_926b4011{height:0;width:0;opacity:0;margin:0;padding:0;position:absolute;overflow:hidden;white-space:nowrap}.m_9307d992{-webkit-tap-highlight-color:transparent;cursor:var(--switch-cursor, var(--mantine-cursor-type));overflow:hidden;position:relative;border-radius:var(--switch-radius);background-color:var(--switch-bg);border:1px solid var(--switch-bd);height:var(--switch-height);min-width:var(--switch-width);margin:0;transition:background-color .15s ease,border-color .15s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;font-size:var(--switch-label-font-size);font-weight:600;order:var(--switch-order, 1);-webkit-user-select:none;user-select:none;z-index:0;line-height:0;color:var(--switch-text-color)}.m_9307d992:where([data-without-labels]){width:var(--switch-width)}.m_926b4011:focus-visible+.m_9307d992{outline:2px solid var(--mantine-primary-color-filled);outline-offset:calc(.125rem * var(--mantine-scale))}.m_926b4011:checked+.m_9307d992{--switch-bg: var(--switch-color);--switch-bd: var(--switch-color);--switch-text-color: var(--mantine-color-white)}.m_926b4011:disabled+.m_9307d992,.m_926b4011[data-disabled]+.m_9307d992{--switch-bg: var(--switch-disabled-color);--switch-bd: var(--switch-disabled-color);--switch-cursor: not-allowed}[data-mantine-color-scheme=light] .m_9307d992{--switch-bg: var(--mantine-color-gray-2);--switch-bd: var(--mantine-color-gray-3);--switch-text-color: var(--mantine-color-gray-6);--switch-disabled-color: var(--mantine-color-gray-2)}[data-mantine-color-scheme=dark] .m_9307d992{--switch-bg: var(--mantine-color-dark-6);--switch-bd: var(--mantine-color-dark-4);--switch-text-color: var(--mantine-color-dark-1);--switch-disabled-color: var(--mantine-color-dark-4)}.m_9307d992[data-error]{--switch-bd: var(--mantine-color-error)}.m_9307d992[data-label-position=left]{--switch-order: 2}.m_93039a1d{position:absolute;z-index:1;border-radius:var(--switch-radius);display:flex;background-color:var(--switch-thumb-bg, var(--mantine-color-white));height:var(--switch-thumb-size);width:var(--switch-thumb-size);border:1px solid var(--switch-thumb-bd);inset-inline-start:var(--switch-thumb-start, var(--switch-track-label-padding));transition:inset-inline-start .15s ease}.m_93039a1d>*{margin:auto}.m_926b4011:checked+*>.m_93039a1d{--switch-thumb-start: calc(100% - var(--switch-thumb-size) - var(--switch-track-label-padding));--switch-thumb-bd: var(--mantine-color-white)}.m_926b4011:disabled+*>.m_93039a1d,.m_926b4011[data-disabled]+*>.m_93039a1d{--switch-thumb-bd: var(--switch-thumb-bg-disabled);--switch-thumb-bg: var(--switch-thumb-bg-disabled)}[data-mantine-color-scheme=light] .m_93039a1d{--switch-thumb-bd: var(--mantine-color-gray-3);--switch-thumb-bg-disabled: var(--mantine-color-gray-0)}[data-mantine-color-scheme=dark] .m_93039a1d{--switch-thumb-bd: var(--mantine-color-white);--switch-thumb-bg-disabled: var(--mantine-color-dark-3)}.m_8277e082{height:100%;display:grid;place-content:center;min-width:calc(var(--switch-width) - var(--switch-thumb-size));padding-inline:var(--switch-track-label-padding);margin-inline-start:calc(var(--switch-thumb-size) + var(--switch-track-label-padding));transition:margin .15s ease}.m_926b4011:checked+*>.m_8277e082{margin-inline-end:calc(var(--switch-thumb-size) + var(--switch-track-label-padding));margin-inline-start:0}.m_b23fa0ef{width:100%;border-collapse:collapse;border-spacing:0;line-height:var(--mantine-line-height);font-size:var(--mantine-font-size-sm);table-layout:var(--table-layout, auto);caption-side:var(--table-caption-side, bottom);border:none}:where([data-mantine-color-scheme=light]) .m_b23fa0ef{--table-hover-color: var(--mantine-color-gray-1);--table-striped-color: var(--mantine-color-gray-0);--table-border-color: var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_b23fa0ef{--table-hover-color: var(--mantine-color-dark-5);--table-striped-color: var(--mantine-color-dark-6);--table-border-color: var(--mantine-color-dark-4)}.m_b23fa0ef:where([data-with-table-border]){border:calc(.0625rem * var(--mantine-scale)) solid var(--table-border-color)}.m_b23fa0ef:where([data-tabular-nums]){font-variant-numeric:tabular-nums}.m_b23fa0ef:where([data-variant=vertical]) :where(.m_4e7aa4f3){font-weight:500}:where([data-mantine-color-scheme=light]) .m_b23fa0ef:where([data-variant=vertical]) :where(.m_4e7aa4f3){background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_b23fa0ef:where([data-variant=vertical]) :where(.m_4e7aa4f3){background-color:var(--mantine-color-dark-6)}.m_4e7aa4f3{text-align:left}:where([dir=rtl]) .m_4e7aa4f3{text-align:right}.m_4e7aa4fd{border-bottom:none;background-color:transparent}@media(hover:hover){.m_4e7aa4fd:hover:where([data-hover]){background-color:var(--tr-hover-bg)}}@media(hover:none){.m_4e7aa4fd:active:where([data-hover]){background-color:var(--tr-hover-bg)}}.m_4e7aa4fd:where([data-with-row-border]){border-bottom:calc(.0625rem * var(--mantine-scale)) solid var(--table-border-color)}.m_4e7aa4ef,.m_4e7aa4f3{padding:var(--table-vertical-spacing) var(--table-horizontal-spacing, var(--mantine-spacing-xs))}.m_4e7aa4ef:where([data-with-column-border]:not(:last-child)),.m_4e7aa4f3:where([data-with-column-border]:not(:last-child)){border-inline-end:calc(.0625rem * var(--mantine-scale)) solid var(--table-border-color)}.m_b2404537>:where(tr):where([data-with-row-border]:last-of-type){border-bottom:none}.m_b2404537>:where(tr):where([data-striped=odd]:nth-of-type(odd)){background-color:var(--table-striped-color)}.m_b2404537>:where(tr):where([data-striped=even]:nth-of-type(2n)){background-color:var(--table-striped-color)}.m_b2404537>:where(tr)[data-hover]{--tr-hover-bg: var(--table-highlight-on-hover-color, var(--table-hover-color))}.m_b242d975{top:var(--table-sticky-header-offset, 0);z-index:3}.m_b242d975:where([data-sticky]){position:sticky}.m_b242d975:where([data-sticky]) :where(.m_4e7aa4f3){position:sticky;top:var(--table-sticky-header-offset, 0);background-color:var(--mantine-color-body)}:where([data-with-table-border]) .m_b242d975[data-sticky] .m_4e7aa4f3{top:initial}.m_9e5a3ac7{color:var(--mantine-color-dimmed)}.m_9e5a3ac7:where([data-side=top]){margin-bottom:var(--mantine-spacing-xs)}.m_9e5a3ac7:where([data-side=bottom]){margin-top:var(--mantine-spacing-xs)}.m_a100c15{overflow-x:var(--table-overflow)}.m_62259741{min-width:var(--table-min-width);max-height:var(--table-max-height)}.m_bcaa9990{display:flex;flex-direction:column;--toc-depth-offset: .8em}.m_375a65ef{display:block;padding:.3em .8em;font-size:var(--toc-size, var(--mantine-font-size-md));border-radius:var(--toc-radius, var(--mantine-radius-default));padding-left:max(calc(var(--depth-offset) * var(--toc-depth-offset)),.8em)}@media(hover:hover){:where([data-mantine-color-scheme=light]) .m_375a65ef:where(:hover):where(:not([data-variant=none])){background-color:var(--mantine-color-gray-1)}:where([data-mantine-color-scheme=dark]) .m_375a65ef:where(:hover):where(:not([data-variant=none])){background-color:var(--mantine-color-dark-5)}}@media(hover:none){:where([data-mantine-color-scheme=light]) .m_375a65ef:where(:active):where(:not([data-variant=none])){background-color:var(--mantine-color-gray-1)}:where([data-mantine-color-scheme=dark]) .m_375a65ef:where(:active):where(:not([data-variant=none])){background-color:var(--mantine-color-dark-5)}}.m_375a65ef:where([data-active]){background-color:var(--toc-bg);color:var(--toc-color)}.m_89d60db1{display:var(--tabs-display);flex-direction:var(--tabs-flex-direction);--tab-justify: flex-start;--tabs-list-direction: row;--tabs-panel-grow: unset;--tabs-display: block;--tabs-flex-direction: row;--tabs-list-border-width: 0;--tabs-list-border-size: 0 0 var(--tabs-list-border-width) 0;--tabs-list-gap: unset;--tabs-list-line-bottom: 0;--tabs-list-line-top: unset;--tabs-list-line-start: 0;--tabs-list-line-end: 0;--tab-radius: var(--tabs-radius) var(--tabs-radius) 0 0;--tab-border-width: 0 0 var(--tabs-list-border-width) 0}.m_89d60db1[data-inverted]{--tabs-list-line-bottom: unset;--tabs-list-line-top: 0;--tab-radius: 0 0 var(--tabs-radius) var(--tabs-radius);--tab-border-width: var(--tabs-list-border-width) 0 0 0}.m_89d60db1[data-inverted] .m_576c9d4:before{top:0;bottom:unset}.m_89d60db1[data-orientation=vertical]{--tabs-list-line-start: unset;--tabs-list-line-end: 0;--tabs-list-line-top: 0;--tabs-list-line-bottom: 0;--tabs-list-border-size: 0 var(--tabs-list-border-width) 0 0;--tab-border-width: 0 var(--tabs-list-border-width) 0 0;--tab-radius: var(--tabs-radius) 0 0 var(--tabs-radius);--tabs-list-direction: column;--tabs-panel-grow: 1;--tabs-display: flex}[dir=rtl] .m_89d60db1[data-orientation=vertical]{--tabs-list-border-size: 0 0 0 var(--tabs-list-border-width);--tab-border-width: 0 0 0 var(--tabs-list-border-width);--tab-radius: 0 var(--tabs-radius) var(--tabs-radius) 0}.m_89d60db1[data-orientation=vertical][data-placement=right]{--tabs-flex-direction: row-reverse;--tabs-list-line-start: 0;--tabs-list-line-end: unset;--tabs-list-border-size: 0 0 0 var(--tabs-list-border-width);--tab-border-width: 0 0 0 var(--tabs-list-border-width);--tab-radius: 0 var(--tabs-radius) var(--tabs-radius) 0}[dir=rtl] .m_89d60db1[data-orientation=vertical][data-placement=right]{--tabs-list-border-size: 0 var(--tabs-list-border-width) 0 0;--tab-border-width: 0 var(--tabs-list-border-width) 0 0;--tab-radius: var(--tabs-radius) 0 0 var(--tabs-radius)}[data-mantine-color-scheme=light] .m_89d60db1{--tab-border-color: var(--mantine-color-gray-3)}[data-mantine-color-scheme=dark] .m_89d60db1{--tab-border-color: var(--mantine-color-dark-4)}.m_89d60db1[data-orientation=horizontal]{--tab-justify: center}.m_89d60db1[data-variant=default]{--tabs-list-border-width: calc(.125rem * var(--mantine-scale))}[data-mantine-color-scheme=light] .m_89d60db1[data-variant=default]{--tab-hover-color: var(--mantine-color-gray-0)}[data-mantine-color-scheme=dark] .m_89d60db1[data-variant=default]{--tab-hover-color: var(--mantine-color-dark-6)}.m_89d60db1[data-variant=outline]{--tabs-list-border-width: calc(.0625rem * var(--mantine-scale))}.m_89d60db1[data-variant=pills]{--tabs-list-gap: calc(var(--mantine-spacing-sm) / 2)}[data-mantine-color-scheme=light] .m_89d60db1[data-variant=pills]{--tab-hover-color: var(--mantine-color-gray-0)}[data-mantine-color-scheme=dark] .m_89d60db1[data-variant=pills]{--tab-hover-color: var(--mantine-color-dark-6)}.m_89d33d6d{display:flex;flex-wrap:wrap;justify-content:var(--tabs-justify, flex-start);flex-direction:var(--tabs-list-direction);gap:var(--tabs-list-gap);--tab-grow: unset}.m_89d33d6d[data-grow]{--tab-grow: 1}.m_b0c91715{flex-grow:var(--tabs-panel-grow)}.m_4ec4dce6{position:relative;padding:var(--mantine-spacing-xs) var(--mantine-spacing-md);font-size:var(--mantine-font-size-sm);white-space:nowrap;z-index:0;display:flex;align-items:center;line-height:1;-webkit-user-select:none;user-select:none;flex-grow:var(--tab-grow);justify-content:var(--tab-justify)}.m_4ec4dce6:disabled,.m_4ec4dce6[data-disabled]{opacity:.5;cursor:not-allowed}.m_4ec4dce6:focus{z-index:1}.m_fc420b1f{display:flex;align-items:center;justify-content:center;margin-left:var(--tab-section-margin-left, 0);margin-right:var(--tab-section-margin-right, 0)}.m_fc420b1f[data-position=left]:not(:only-child){--tab-section-margin-right: var(--mantine-spacing-xs)}[dir=rtl] .m_fc420b1f[data-position=left]:not(:only-child){--tab-section-margin-right: 0rem;--tab-section-margin-left: var(--mantine-spacing-xs)}.m_fc420b1f[data-position=right]:not(:only-child){--tab-section-margin-left: var(--mantine-spacing-xs)}[dir=rtl] .m_fc420b1f[data-position=right]:not(:only-child){--tab-section-margin-left: 0rem;--tab-section-margin-right: var(--mantine-spacing-xs)}.m_576c9d4{position:relative}.m_576c9d4:before{content:"";position:absolute;border-color:var(--tab-border-color);border-width:var(--tabs-list-border-size);border-style:solid;bottom:var(--tabs-list-line-bottom);inset-inline-start:var(--tabs-list-line-start);inset-inline-end:var(--tabs-list-line-end);top:var(--tabs-list-line-top)}.m_539e827b{border-radius:var(--tab-radius);border-width:var(--tab-border-width);border-style:solid;border-color:transparent;background-color:var(--tab-bg);--tab-bg: transparent}.m_539e827b:where([data-active]){border-color:var(--tabs-color)}@media(hover:hover){.m_539e827b:hover{--tab-bg: var(--tab-hover-color)}.m_539e827b:hover:where(:not([data-active])){border-color:var(--tab-border-color)}}@media(hover:none){.m_539e827b:active{--tab-bg: var(--tab-hover-color)}.m_539e827b:active:where(:not([data-active])){border-color:var(--tab-border-color)}}@media(hover:hover){.m_539e827b:disabled:hover,.m_539e827b[data-disabled]:hover{--tab-bg: transparent}}@media(hover:none){.m_539e827b:disabled:active,.m_539e827b[data-disabled]:active{--tab-bg: transparent}}.m_6772fbd5{position:relative}.m_6772fbd5:before{content:"";position:absolute;border-color:var(--tab-border-color);border-width:var(--tabs-list-border-size);border-style:solid;bottom:var(--tabs-list-line-bottom);inset-inline-start:var(--tabs-list-line-start);inset-inline-end:var(--tabs-list-line-end);top:var(--tabs-list-line-top)}.m_b59ab47c{border-top:calc(.0625rem * var(--mantine-scale)) solid transparent;border-bottom:calc(.0625rem * var(--mantine-scale)) solid transparent;border-right:calc(.0625rem * var(--mantine-scale)) solid transparent;border-left:calc(.0625rem * var(--mantine-scale)) solid transparent;border-top-color:var(--tab-border-top-color);border-bottom-color:var(--tab-border-bottom-color);border-radius:var(--tab-radius);position:relative;--tab-border-bottom-color: transparent;--tab-border-top-color: transparent;--tab-border-inline-end-color: transparent;--tab-border-inline-start-color: transparent}.m_b59ab47c:where([data-active]):before{content:"";position:absolute;background-color:var(--tab-border-color);bottom:var(--tab-before-bottom, calc(-.0625rem * var(--mantine-scale)));left:var(--tab-before-left, calc(-.0625rem * var(--mantine-scale)));right:var(--tab-before-right, auto);top:var(--tab-before-top, auto);width:calc(.0625rem * var(--mantine-scale));height:calc(.0625rem * var(--mantine-scale))}.m_b59ab47c:where([data-active]):after{content:"";position:absolute;background-color:var(--tab-border-color);bottom:var(--tab-after-bottom, calc(-.0625rem * var(--mantine-scale)));right:var(--tab-after-right, calc(-.0625rem * var(--mantine-scale)));left:var(--tab-after-left, auto);top:var(--tab-after-top, auto);width:calc(.0625rem * var(--mantine-scale));height:calc(.0625rem * var(--mantine-scale))}.m_b59ab47c:where([data-active]){border-top-color:var(--tab-border-top-color);border-bottom-color:var(--tab-border-bottom-color);border-inline-start-color:var(--tab-border-inline-start-color);border-inline-end-color:var(--tab-border-inline-end-color);--tab-border-top-color: var(--tab-border-color);--tab-border-inline-start-color: var(--tab-border-color);--tab-border-inline-end-color: var(--tab-border-color);--tab-border-bottom-color: var(--mantine-color-body)}.m_b59ab47c:where([data-active])[data-inverted]{--tab-border-bottom-color: var(--tab-border-color);--tab-border-top-color: var(--mantine-color-body);--tab-before-bottom: auto;--tab-before-top: calc(-.0625rem * var(--mantine-scale));--tab-after-bottom: auto;--tab-after-top: calc(-.0625rem * var(--mantine-scale))}.m_b59ab47c:where([data-active])[data-orientation=vertical][data-placement=left]{--tab-border-inline-end-color: var(--mantine-color-body);--tab-border-inline-start-color: var(--tab-border-color);--tab-border-bottom-color: var(--tab-border-color);--tab-before-right: calc(-.0625rem * var(--mantine-scale));--tab-before-left: auto;--tab-before-bottom: auto;--tab-before-top: calc(-.0625rem * var(--mantine-scale));--tab-after-left: auto;--tab-after-right: calc(-.0625rem * var(--mantine-scale))}[dir=rtl] .m_b59ab47c:where([data-active])[data-orientation=vertical][data-placement=left]{--tab-before-right: auto;--tab-before-left: calc(-.0625rem * var(--mantine-scale));--tab-after-left: calc(-.0625rem * var(--mantine-scale));--tab-after-right: auto}.m_b59ab47c:where([data-active])[data-orientation=vertical][data-placement=right]{--tab-border-inline-start-color: var(--mantine-color-body);--tab-border-inline-end-color: var(--tab-border-color);--tab-border-bottom-color: var(--tab-border-color);--tab-before-left: calc(-.0625rem * var(--mantine-scale));--tab-before-right: auto;--tab-before-bottom: auto;--tab-before-top: calc(-.0625rem * var(--mantine-scale));--tab-after-right: auto;--tab-after-left: calc(-.0625rem * var(--mantine-scale))}[dir=rtl] .m_b59ab47c:where([data-active])[data-orientation=vertical][data-placement=right]{--tab-before-left: auto;--tab-before-right: calc(-.0625rem * var(--mantine-scale));--tab-after-right: calc(-.0625rem * var(--mantine-scale));--tab-after-left: auto}.m_c3381914{border-radius:var(--tabs-radius);background-color:var(--tab-bg);color:var(--tab-color);--tab-bg: transparent;--tab-color: inherit}@media(hover:hover){.m_c3381914:not([data-disabled]):hover{--tab-bg: var(--tab-hover-color)}}@media(hover:none){.m_c3381914:not([data-disabled]):active{--tab-bg: var(--tab-hover-color)}}.m_c3381914[data-active][data-active]{--tab-bg: var(--tabs-color);--tab-color: var(--tabs-text-color, var(--mantine-color-white))}@media(hover:hover){.m_c3381914[data-active][data-active]:hover{--tab-bg: var(--tabs-color)}}@media(hover:none){.m_c3381914[data-active][data-active]:active{--tab-bg: var(--tabs-color)}}.m_7341320d{--ti-size-xs: calc(1.125rem * var(--mantine-scale));--ti-size-sm: calc(1.375rem * var(--mantine-scale));--ti-size-md: calc(1.75rem * var(--mantine-scale));--ti-size-lg: calc(2.125rem * var(--mantine-scale));--ti-size-xl: calc(2.75rem * var(--mantine-scale));--ti-size: var(--ti-size-md);line-height:1;display:inline-flex;align-items:center;justify-content:center;position:relative;-webkit-user-select:none;user-select:none;width:var(--ti-size);height:var(--ti-size);min-width:var(--ti-size);min-height:var(--ti-size);border-radius:var(--ti-radius, var(--mantine-radius-default));background:var(--ti-bg, var(--mantine-primary-color-filled));color:var(--ti-color, var(--mantine-color-white));border:var(--ti-bd, 1px solid transparent)}.m_43657ece{--offset: calc(var(--tl-bullet-size) / 2 + var(--tl-line-width) / 2);--tl-bullet-size: calc(1.25rem * var(--mantine-scale));--tl-line-width: calc(.25rem * var(--mantine-scale));--tl-radius: calc(62.5rem * var(--mantine-scale));--tl-color: var(--mantine-primary-color-filled)}.m_43657ece:where([data-align=left]){padding-inline-start:var(--offset)}.m_43657ece:where([data-align=right]){padding-inline-end:var(--offset)}.m_2ebe8099{font-weight:500;line-height:1;margin-bottom:calc(var(--mantine-spacing-xs) / 2)}.m_436178ff{--item-border: var(--tl-line-width) var(--tli-border-style, solid) var(--item-border-color);position:relative;color:var(--mantine-color-text)}.m_436178ff:before{content:"";pointer-events:none;position:absolute;top:0;left:var(--timeline-line-left, 0);right:var(--timeline-line-right, 0);bottom:calc(var(--mantine-spacing-xl) * -1);border-inline-start:var(--item-border);display:var(--timeline-line-display, none)}.m_43657ece[data-align=left] .m_436178ff:before{--timeline-line-left: calc(var(--tl-line-width) * -1);--timeline-line-right: auto}[dir=rtl] .m_43657ece[data-align=left] .m_436178ff:before{--timeline-line-left: auto;--timeline-line-right: calc(var(--tl-line-width) * -1)}.m_43657ece[data-align=right] .m_436178ff:before{--timeline-line-left: auto;--timeline-line-right: calc(var(--tl-line-width) * -1)}[dir=rtl] .m_43657ece[data-align=right] .m_436178ff:before{--timeline-line-left: calc(var(--tl-line-width) * -1);--timeline-line-right: auto}.m_43657ece:where([data-align=left]) .m_436178ff{padding-inline-start:var(--offset);text-align:left}.m_43657ece:where([data-align=right]) .m_436178ff{padding-inline-end:var(--offset);text-align:right}:where([data-mantine-color-scheme=light]) .m_436178ff{--item-border-color: var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_436178ff{--item-border-color: var(--mantine-color-dark-4)}.m_436178ff:where([data-line-active]):before{border-color:var(--tli-color, var(--tl-color))}.m_436178ff:where(:not(:last-of-type)){--timeline-line-display: block}.m_436178ff:where(:not(:first-of-type)){margin-top:var(--mantine-spacing-xl)}.m_8affcee1{width:var(--tl-bullet-size);height:var(--tl-bullet-size);border-radius:var(--tli-radius, var(--tl-radius));border:var(--tl-line-width) solid;background-color:var(--mantine-color-body);position:absolute;top:0;display:flex;align-items:center;justify-content:center;color:var(--mantine-color-text)}:where([data-mantine-color-scheme=light]) .m_8affcee1{border-color:var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_8affcee1{border-color:var(--mantine-color-dark-4)}.m_43657ece:where([data-align=left]) .m_8affcee1{left:calc((var(--tl-bullet-size) / 2 + var(--tl-line-width) / 2) * -1);right:auto}:where([dir=rtl]) .m_43657ece:where([data-align=left]) .m_8affcee1{left:auto;right:calc((var(--tl-bullet-size) / 2 + var(--tl-line-width) / 2) * -1)}.m_43657ece:where([data-align=right]) .m_8affcee1{left:auto;right:calc((var(--tl-bullet-size) / 2 + var(--tl-line-width) / 2) * -1)}:where([dir=rtl]) .m_43657ece:where([data-align=right]) .m_8affcee1{left:calc((var(--tl-bullet-size) / 2 + var(--tl-line-width) / 2) * -1);right:auto}.m_8affcee1:where([data-with-child]){border-width:var(--tl-line-width)}:where([data-mantine-color-scheme=light]) .m_8affcee1:where([data-with-child]){background-color:var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_8affcee1:where([data-with-child]){background-color:var(--mantine-color-dark-4)}.m_8affcee1:where([data-active]){border-color:var(--tli-color, var(--tl-color));background-color:var(--mantine-color-white);color:var(--tl-icon-color, var(--mantine-color-white))}.m_8affcee1:where([data-active]):where([data-with-child]){background-color:var(--tli-color, var(--tl-color));color:var(--tl-icon-color, var(--mantine-color-white))}.m_43657ece:where([data-align=left]) .m_540e8f41{padding-inline-start:var(--offset);text-align:left}:where([dir=rtl]) .m_43657ece:where([data-align=left]) .m_540e8f41{text-align:right}.m_43657ece:where([data-align=right]) .m_540e8f41{padding-inline-end:var(--offset);text-align:right}:where([dir=rtl]) .m_43657ece:where([data-align=right]) .m_540e8f41{text-align:left}.m_8a5d1357{margin:0;font-weight:var(--title-fw);font-size:var(--title-fz);line-height:var(--title-lh);font-family:var(--mantine-font-family-headings);text-wrap:var(--title-text-wrap, var(--mantine-heading-text-wrap))}.m_8a5d1357:where([data-line-clamp]){overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:var(--title-line-clamp);-webkit-box-orient:vertical}.m_f698e191{--level-offset: var(--mantine-spacing-lg);margin:0;padding:0;-webkit-user-select:none;user-select:none}.m_75f3ecf{margin:0;padding:0}.m_f6970eb1{cursor:pointer;list-style:none;margin:0;padding:0;outline:0}.m_f6970eb1:focus-visible>.m_dc283425{outline:2px solid var(--mantine-primary-color-filled);outline-offset:calc(.125rem * var(--mantine-scale))}.m_dc283425{padding-inline-start:var(--label-offset)}:where([data-mantine-color-scheme=light]) .m_dc283425:where([data-selected]){background-color:var(--mantine-color-gray-1)}:where([data-mantine-color-scheme=dark]) .m_dc283425:where([data-selected]){background-color:var(--mantine-color-dark-5)}.m_d6493fad :first-child{margin-top:0}.m_d6493fad :last-child{margin-bottom:0}.m_d6493fad :where(h1,h2,h3,h4,h5,h6){margin-bottom:var(--mantine-spacing-xs);text-wrap:var(--mantine-heading-text-wrap);font-family:var(--mantine-font-family-headings)}.m_d6493fad :where(h1){margin-top:calc(1.5 * var(--mantine-spacing-xl));font-size:var(--mantine-h1-font-size);line-height:var(--mantine-h1-line-height);font-weight:var(--mantine-h1-font-weight)}.m_d6493fad :where(h2){margin-top:var(--mantine-spacing-xl);font-size:var(--mantine-h2-font-size);line-height:var(--mantine-h2-line-height);font-weight:var(--mantine-h2-font-weight)}.m_d6493fad :where(h3){margin-top:calc(.8 * var(--mantine-spacing-xl));font-size:var(--mantine-h3-font-size);line-height:var(--mantine-h3-line-height);font-weight:var(--mantine-h3-font-weight)}.m_d6493fad :where(h4){margin-top:calc(.8 * var(--mantine-spacing-xl));font-size:var(--mantine-h4-font-size);line-height:var(--mantine-h4-line-height);font-weight:var(--mantine-h4-font-weight)}.m_d6493fad :where(h5){margin-top:calc(.5 * var(--mantine-spacing-xl));font-size:var(--mantine-h5-font-size);line-height:var(--mantine-h5-line-height);font-weight:var(--mantine-h5-font-weight)}.m_d6493fad :where(h6){margin-top:calc(.5 * var(--mantine-spacing-xl));font-size:var(--mantine-h6-font-size);line-height:var(--mantine-h6-line-height);font-weight:var(--mantine-h6-font-weight)}.m_d6493fad :where(img){max-width:100%;margin-bottom:var(--mantine-spacing-xs)}.m_d6493fad :where(p){margin-top:0;margin-bottom:var(--mantine-spacing-lg)}:where([data-mantine-color-scheme=light]) .m_d6493fad :where(mark){background-color:var(--mantine-color-yellow-2);color:inherit}:where([data-mantine-color-scheme=dark]) .m_d6493fad :where(mark){background-color:var(--mantine-color-yellow-5);color:var(--mantine-color-black)}.m_d6493fad :where(a){color:var(--mantine-color-anchor);text-decoration:none}@media(hover:hover){.m_d6493fad :where(a):hover{text-decoration:underline}}@media(hover:none){.m_d6493fad :where(a):active{text-decoration:underline}}.m_d6493fad :where(hr){margin-top:var(--mantine-spacing-md);margin-bottom:var(--mantine-spacing-md);border:0;border-top:calc(.0625rem * var(--mantine-scale)) solid}:where([data-mantine-color-scheme=light]) .m_d6493fad :where(hr){border-color:var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_d6493fad :where(hr){border-color:var(--mantine-color-dark-3)}.m_d6493fad :where(pre){padding:var(--mantine-spacing-xs);line-height:var(--mantine-line-height);margin:0;margin-top:var(--mantine-spacing-md);margin-bottom:var(--mantine-spacing-md);overflow-x:auto;font-family:var(--mantine-font-family-monospace);font-size:var(--mantine-font-size-xs);border-radius:var(--mantine-radius-sm)}:where([data-mantine-color-scheme=light]) .m_d6493fad :where(pre){background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_d6493fad :where(pre){background-color:var(--mantine-color-dark-8)}.m_d6493fad :where(pre) :where(code){background-color:transparent;padding:0;border-radius:0;color:inherit;border:0}.m_d6493fad :where(kbd){--kbd-fz: calc(.75rem * var(--mantine-scale));--kbd-padding: calc(.1875rem * var(--mantine-scale)) calc(.3125rem * var(--mantine-scale));font-family:var(--mantine-font-family-monospace);line-height:var(--mantine-line-height);font-weight:700;padding:var(--kbd-padding);font-size:var(--kbd-fz);border-radius:var(--mantine-radius-sm);border:calc(.0625rem * var(--mantine-scale)) solid;border-bottom-width:calc(.1875rem * var(--mantine-scale))}:where([data-mantine-color-scheme=light]) .m_d6493fad :where(kbd){border-color:var(--mantine-color-gray-3);color:var(--mantine-color-gray-7);background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_d6493fad :where(kbd){border-color:var(--mantine-color-dark-3);color:var(--mantine-color-dark-0);background-color:var(--mantine-color-dark-5)}.m_d6493fad :where(code){line-height:var(--mantine-line-height);padding:calc(.0625rem * var(--mantine-scale)) calc(.3125rem * var(--mantine-scale));border-radius:var(--mantine-radius-sm);font-family:var(--mantine-font-family-monospace);font-size:var(--mantine-font-size-xs)}:where([data-mantine-color-scheme=light]) .m_d6493fad :where(code){background-color:var(--mantine-color-gray-0);color:var(--mantine-color-black)}:where([data-mantine-color-scheme=dark]) .m_d6493fad :where(code){background-color:var(--mantine-color-dark-5);color:var(--mantine-color-white)}.m_d6493fad :where(ul,ol):not([data-type=taskList]){margin-bottom:var(--mantine-spacing-md);padding-inline-start:var(--mantine-spacing-xl);list-style-position:outside}.m_d6493fad :where(table){width:100%;border-collapse:collapse;caption-side:bottom;margin-bottom:var(--mantine-spacing-md)}:where([data-mantine-color-scheme=light]) .m_d6493fad :where(table){--table-border-color: var(--mantine-color-gray-3)}:where([data-mantine-color-scheme=dark]) .m_d6493fad :where(table){--table-border-color: var(--mantine-color-dark-4)}.m_d6493fad :where(table) :where(caption){margin-top:var(--mantine-spacing-xs);font-size:var(--mantine-font-size-sm);color:var(--mantine-color-dimmed)}.m_d6493fad :where(table) :where(th){text-align:left;font-weight:700;font-size:var(--mantine-font-size-sm);padding:var(--mantine-spacing-xs) var(--mantine-spacing-sm)}.m_d6493fad :where(table) :where(thead th){border-bottom:calc(.0625rem * var(--mantine-scale)) solid;border-color:var(--table-border-color)}.m_d6493fad :where(table) :where(tfoot th){border-top:calc(.0625rem * var(--mantine-scale)) solid;border-color:var(--table-border-color)}.m_d6493fad :where(table) :where(td){padding:var(--mantine-spacing-xs) var(--mantine-spacing-sm);border-bottom:calc(.0625rem * var(--mantine-scale)) solid;border-color:var(--table-border-color);font-size:var(--mantine-font-size-sm)}.m_d6493fad :where(table) :where(tr:last-of-type td){border-bottom:0}.m_d6493fad :where(blockquote){font-size:var(--mantine-font-size-lg);line-height:var(--mantine-line-height);margin:var(--mantine-spacing-md) 0;border-radius:var(--mantine-radius-sm);padding:var(--mantine-spacing-md) var(--mantine-spacing-lg)}:where([data-mantine-color-scheme=light]) .m_d6493fad :where(blockquote){background-color:var(--mantine-color-gray-0)}:where([data-mantine-color-scheme=dark]) .m_d6493fad :where(blockquote){background-color:var(--mantine-color-dark-8)}.m_b37d9ac7{width:calc(100% - var(--mantine-spacing-md) * 2);position:fixed;z-index:var(--notifications-z-index);max-width:var(--notifications-container-width)}.m_b37d9ac7:where([data-position=top-center]){top:var(--mantine-spacing-md);left:50%;transform:translate(-50%)}.m_b37d9ac7:where([data-position=top-left]){top:var(--mantine-spacing-md);left:var(--mantine-spacing-md)}.m_b37d9ac7:where([data-position=top-right]){top:var(--mantine-spacing-md);right:var(--mantine-spacing-md)}.m_b37d9ac7:where([data-position=bottom-center]){bottom:var(--mantine-spacing-md);left:50%;transform:translate(-50%)}.m_b37d9ac7:where([data-position=bottom-left]){bottom:var(--mantine-spacing-md);left:var(--mantine-spacing-md)}.m_b37d9ac7:where([data-position=bottom-right]){bottom:var(--mantine-spacing-md);right:var(--mantine-spacing-md)}.m_5ed0edd0+.m_5ed0edd0{margin-top:var(--mantine-spacing-md)} diff --git a/plugins/multiview/dash/static/icon-512.png b/plugins/multiview/dash/static/icon-512.png new file mode 100644 index 0000000..1c8f57b Binary files /dev/null and b/plugins/multiview/dash/static/icon-512.png differ diff --git a/plugins/multiview/dash/static/index.html b/plugins/multiview/dash/static/index.html new file mode 100644 index 0000000..ab6ff5f --- /dev/null +++ b/plugins/multiview/dash/static/index.html @@ -0,0 +1,18 @@ + + + + + + + + + + + Multiview + + + + +
+ + diff --git a/plugins/multiview/dash/static/logo.png b/plugins/multiview/dash/static/logo.png new file mode 100644 index 0000000..66fc362 Binary files /dev/null and b/plugins/multiview/dash/static/logo.png differ diff --git a/plugins/multiview/dash/static/manifest.json b/plugins/multiview/dash/static/manifest.json new file mode 100644 index 0000000..1002d32 --- /dev/null +++ b/plugins/multiview/dash/static/manifest.json @@ -0,0 +1,11 @@ +{ + "name": "Multiview Dashboard", + "short_name": "Multiview", + "start_url": "/dash/", + "display": "standalone", + "theme_color": "#1971c2", + "background_color": "#1a1b1e", + "icons": [ + { "src": "/dash/icon-512.png", "sizes": "512x512", "type": "image/png", "purpose": "any maskable" } + ] +} diff --git a/plugins/multiview/deps.py b/plugins/multiview/deps.py index 09bd76b..bf311db 100644 --- a/plugins/multiview/deps.py +++ b/plugins/multiview/deps.py @@ -57,6 +57,25 @@ def pyav_status(arch: str) -> "str | None": return "installed" if os.path.isdir(os.path.join(d, "av")) else None +def _get_settings() -> dict: + try: + from apps.plugins.models import PluginConfig + return PluginConfig.objects.get(key="multiview").settings + except Exception: + return {} + + +def _save_settings(updates: dict): + from apps.plugins.models import PluginConfig + cfg = PluginConfig.objects.get(key="multiview") + for k, v in updates.items(): + if v is None: + cfg.settings.pop(k, None) + else: + cfg.settings[k] = v + cfg.save() + + def _find_wheel(arch: str): """Return (url, filename) of the cp313 manylinux wheel for this arch.""" info = ARCHES[arch] @@ -106,4 +125,47 @@ def install_pyav(arch: str) -> dict: ver = pyav_status(arch) or PYAV_VERSION msg = f"PyAV {ver} installed for {arch}." logger.info(f"multiview: {msg}") + try: + _save_settings({f"pyav_consent_{arch}": True, "pyav_auto_install_error": None}) + except Exception as e: # noqa: BLE001 + logger.warning(f"multiview: could not record PyAV consent: {e}") return {"status": "success", "message": msg} + + +def maybe_auto_install(arch: "str | None" = None) -> "dict | None": + """If the user has previously consented (a prior successful 'Install + PyAV' run for this arch) and the vendored copy is now missing or + doesn't match the pinned PYAV_VERSION (e.g. reset by a plugin update), + reinstall it automatically. No-op if consent was never given, or the + install is already current. Returns the install result dict, or None + if nothing needed to be done.""" + arch = arch or detect_arch() + if not arch: + return None + settings = _get_settings() + if not settings.get(f"pyav_consent_{arch}"): + return None + if pyav_status(arch) == PYAV_VERSION: + return None + + lockpath = os.path.join(VENDOR_DIR, f".autoinstall_{arch}.lock") + os.makedirs(VENDOR_DIR, exist_ok=True) + try: + fd = os.open(lockpath, os.O_CREAT | os.O_EXCL | os.O_WRONLY) + os.close(fd) + except FileExistsError: + return None # another worker is already handling this + try: + logger.info(f"multiview: auto-reinstalling PyAV for {arch} (consent on file)") + result = install_pyav(arch) + if result.get("status") != "success": + try: + _save_settings({"pyav_auto_install_error": result.get("message", "unknown error")}) + except Exception: + pass + return result + finally: + try: + os.remove(lockpath) + except OSError: + pass diff --git a/plugins/multiview/epg.py b/plugins/multiview/epg.py index 6886887..075e027 100644 --- a/plugins/multiview/epg.py +++ b/plugins/multiview/epg.py @@ -188,9 +188,9 @@ def _build_xmltv(settings: dict, mv_count: int, window_start, window_end) -> str f' stop="{_fmt_xmltv_time(prog.end_time)}"' f' channel="multiview_{n}">' ) - lines.append(f" {html.escape(prog.title)}") + lines.append(f" {html.escape(prog.title or '')}") if prog.sub_title: - lines.append(f" {html.escape(prog.sub_title)}") + lines.append(f" {html.escape(prog.sub_title or '')}") desc = prog.description or "" if ch_list: desc = (desc + "\n(" + ch_list + ")") if desc else "(" + ch_list + ")" diff --git a/plugins/multiview/layouts.py b/plugins/multiview/layouts.py index 8134760..ee504dc 100644 --- a/plugins/multiview/layouts.py +++ b/plugins/multiview/layouts.py @@ -17,14 +17,23 @@ def _even(v: int) -> int: def tile_rects(layout: str, n: int, out_w: int, out_h: int) -> list: - """Return [(x, y, w, h), ...], one rect per tile, for the given layout.""" + """Return [(x, y, w, h, valign, halign), ...], one entry per tile. + + `valign`/`halign` say where to anchor a tile's letterboxed/pillarboxed + content within its rect: "center" (default) or, for tiles stacked + adjacent to a sibling along an axis, "top"/"bottom"/"left"/"right" to + push the content against the shared edge (padding lands on the outer + edge instead) so adjacent tiles' content touches with no gap. Aspect + ratio is always preserved; content is never cropped. + """ if layout == "featured": rects = _featured_rects(n, out_w, out_h) elif layout == "top_featured": rects = _top_featured_rects(n, out_w, out_h) else: rects = _auto_grid_rects(n, out_w, out_h) - return [(_even(x), _even(y), _even(w), _even(h)) for (x, y, w, h) in rects] + return [(_even(x), _even(y), _even(w), _even(h), valign, halign) + for (x, y, w, h, valign, halign) in rects] def _auto_grid_rects(n: int, out_w: int, out_h: int) -> list: @@ -45,7 +54,7 @@ def _auto_grid_rects(n: int, out_w: int, out_h: int) -> list: is_last = r == rows - 1 and empty_cells > 0 x = c * tile_w + (offset_x if is_last else 0) y = r * tile_h - rects.append((x, y, tile_w, tile_h)) + rects.append((x, y, tile_w, tile_h, "center", "center")) return rects @@ -60,9 +69,17 @@ def _featured_rects(n: int, out_w: int, out_h: int) -> list: side_w = min(round(side_h * 16 / 9), round(out_w * 0.4)) main_w = out_w - side_w - rects = [(0, 0, main_w, out_h)] + rects = [(0, 0, main_w, out_h, "center", "center")] for i in range(side_count): - rects.append((main_w, i * side_h, side_w, side_h)) + if side_count == 1: + valign = "center" + elif i == 0: + valign = "bottom" + elif i == side_count - 1: + valign = "top" + else: + valign = "center" + rects.append((main_w, i * side_h, side_w, side_h, valign, "center")) return rects[:n] @@ -81,7 +98,15 @@ def _top_featured_rects(n: int, out_w: int, out_h: int) -> list: tile_w = round(bottom_h * 16 / 9) x_offset = max(0, (out_w - tile_w * bottom_count) // 2) - rects = [(0, 0, out_w, main_h)] + rects = [(0, 0, out_w, main_h, "center", "center")] for i in range(bottom_count): - rects.append((x_offset + i * tile_w, main_h, tile_w, bottom_h)) + if bottom_count == 1: + halign = "center" + elif i == 0: + halign = "right" + elif i == bottom_count - 1: + halign = "left" + else: + halign = "center" + rects.append((x_offset + i * tile_w, main_h, tile_w, bottom_h, "center", halign)) return rects[:n] diff --git a/plugins/multiview/plugin.json b/plugins/multiview/plugin.json index 068eda5..a49559e 100644 --- a/plugins/multiview/plugin.json +++ b/plugins/multiview/plugin.json @@ -4,7 +4,7 @@ "description": "Tile multiple Dispatcharr channel streams into multi-view outputs using FFmpeg", "author": "sethwv", - "version": "0.2.3", + "version": "0.3.0", "min_dispatcharr_version": "v0.27.0", "discord_thread": "https://discord.com/channels/1340492560220684331/1509200002407465001", diff --git a/plugins/multiview/server.py b/plugins/multiview/server.py index b24e343..faf74f0 100644 --- a/plugins/multiview/server.py +++ b/plugins/multiview/server.py @@ -49,6 +49,29 @@ def _parse_resolution(settings: dict) -> tuple: _WORKER = os.path.join(os.path.dirname(os.path.abspath(__file__)), "compositor_worker.py") _server_instance = None +_dash_api = None + + +def _load_dash_api(): + """Load src/dash/api.py using the same file-path loader as other submodules.""" + global _dash_api + if _dash_api is not None: + return _dash_api + import importlib.util + import sys + # Derive a stable module name from this module's own name + parent = __name__.rsplit(".", 1)[0] if "." in __name__ else __name__ + mod_name = f"{parent}.dash_api" + if mod_name in sys.modules: + _dash_api = sys.modules[mod_name] + return _dash_api + api_path = os.path.join(os.path.dirname(os.path.abspath(__file__)), "dash", "api.py") + spec = importlib.util.spec_from_file_location(mod_name, api_path) + mod = importlib.util.module_from_spec(spec) + sys.modules[mod_name] = mod + spec.loader.exec_module(mod) + _dash_api = mod + return _dash_api def _python_exe() -> str: @@ -132,17 +155,43 @@ def __init__(self, host: str, port: int): self._server = None self._greenlet = None self.running = False + self._active_procs: dict = {} # proc -> layout_n # ------------------------------------------------------------------ WSGI + def _loopback_only(self, loopback, start_response): + if not loopback: + start_response("403 Forbidden", [("Content-Type", "text/plain")]) + return [b"Forbidden\n"] + return None + def wsgi_app(self, environ, start_response): path = environ.get("PATH_INFO", "") + loopback = environ.get("REMOTE_ADDR", "") in ("127.0.0.1", "::1") if path == "/health": + if deny := self._loopback_only(loopback, start_response): + return deny start_response("200 OK", [("Content-Type", "text/plain")]) return [b"OK\n"] + is_dash_path = path == "/dash" or path.startswith("/dash/") or path.startswith("/api/") + if is_dash_path and _settings().get("dash_enabled", "disabled") != "enabled": + start_response("404 Not Found", [("Content-Type", "text/plain")]) + return [b"Not Found\n"] + + if path.startswith("/dash/api/"): + return self._handle_api(path[len("/dash"):], environ, start_response) + + if path == "/dash" or path.startswith("/dash/"): + return _load_dash_api().serve_static(path if path.startswith("/dash/") else "/dash/", start_response) + + if path.startswith("/api/"): + return self._handle_api(path, environ, start_response) + if path.startswith("/stream/"): + if deny := self._loopback_only(loopback, start_response): + return deny try: n = int(path.split("/")[2]) except (IndexError, ValueError): @@ -151,6 +200,8 @@ def wsgi_app(self, environ, start_response): return self._serve_stream(n, start_response) if path.startswith("/internal/realsrc/"): + if deny := self._loopback_only(loopback, start_response): + return deny return self._serve_realsrc(path[len("/internal/realsrc/"):], start_response) start_response("404 Not Found", [("Content-Type", "text/plain")]) @@ -158,6 +209,26 @@ def wsgi_app(self, environ, start_response): # --------------------------------------------------------------- handlers + def _handle_api(self, path, environ, start_response): + api = _load_dash_api() + api._server = self # inject current server so handlers can call kill_active_streams etc. + if path == "/api/auth/token": + return api.handle_auth_token(environ, start_response) + if path == "/api/config": + return api.handle_config(environ, start_response) + if path == "/api/channels": + return api.handle_channels(environ, start_response) + if path == "/api/fields": + return api.handle_fields(environ, start_response) + if path == "/api/refresh": + return api.handle_refresh(environ, start_response) + if path == "/api/streams": + return api.handle_streams_list(environ, start_response) + if path == "/api/streams/restart": + return api.handle_streams_restart(environ, start_response) + start_response("404 Not Found", [("Content-Type", "text/plain")]) + return [b"Not Found\n"] + def _serve_stream(self, n: int, start_response): logger.info(f"Stream request: layout {n}") try: @@ -187,8 +258,9 @@ def _serve_stream(self, n: int, start_response): import gevent import gevent.subprocess as gsub - proc = gsub.Popen(cmd, stdout=gsub.PIPE, stderr=gsub.PIPE) + proc = gsub.Popen(cmd, stdin=gsub.PIPE, stdout=gsub.PIPE, stderr=gsub.PIPE) stderr_gl = gevent.spawn(self._drain_stderr, proc, f"worker-{n}") + self._active_procs[proc] = {"n": n, "cfg": cfg} start_response("200 OK", [ ("Content-Type", "video/mp2t"), @@ -217,7 +289,7 @@ def _worker_config(self, tiles, layout, audio_source, settings) -> dict: # tiles) decodes at lower effort to save CPU. featured_layout = layout in ("featured", "top_featured") tile_cfg = [] - for i, (t, (x, y, w, h)) in enumerate(zip(tiles, rects)): + for i, (t, (x, y, w, h, valign, halign)) in enumerate(zip(tiles, rects)): tile_cfg.append({ "url": f"http://127.0.0.1:{self.port}/internal/realsrc/{t['id']}", "x": x, "y": y, "w": w, "h": h, @@ -225,6 +297,7 @@ def _worker_config(self, tiles, layout, audio_source, settings) -> dict: "audio": i in audio_idx, "lang": langs.get(i, "und"), "featured": featured_layout and i == 0, + "valign": valign, "halign": halign, }) encoder = settings.get("video_encoder") or "libx264" @@ -237,6 +310,46 @@ def _worker_config(self, tiles, layout, audio_source, settings) -> dict: "tiles": tile_cfg, } + def get_active_streams(self) -> list: + seen = {} + for info in self._active_procs.values(): + n = info["n"] + if n not in seen: + tiles = info["cfg"].get("tiles", []) + seen[n] = {"n": n, "channels": [{"idx": i, "name": t.get("name", f"Channel {i+1}")} for i, t in enumerate(tiles)]} + return [seen[n] for n in sorted(seen)] + + def kill_active_streams(self) -> int: + procs = list(self._active_procs) + for proc in procs: + try: + proc.kill() + except Exception: + pass + return len(procs) + + def kill_stream(self, n: int) -> int: + to_kill = [p for p, info in list(self._active_procs.items()) if info["n"] == n] + for proc in to_kill: + try: + proc.kill() + except Exception: + pass + return len(to_kill) + + def reconnect_channel(self, n: int, idx: int) -> bool: + import json as _json + for proc, info in list(self._active_procs.items()): + if info["n"] == n: + try: + cmd = _json.dumps({"cmd": "reconnect_channel", "idx": idx}).encode() + b"\n" + proc.stdin.write(cmd) + proc.stdin.flush() + return True + except Exception: + pass + return False + def _pump_stdout(self, proc, label: str, stderr_gl=None): try: while True: @@ -247,6 +360,11 @@ def _pump_stdout(self, proc, label: str, stderr_gl=None): except GeneratorExit: pass finally: + self._active_procs.pop(proc, None) + try: + proc.stdin.close() + except Exception: + pass try: proc.kill() proc.wait()