diff --git a/Dockerfile b/Dockerfile index 92ecbb66a..c6124d5ab 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.11-alpine +FROM python:3.12-alpine RUN apk add --no-cache ffmpeg nginx git && \ mkdir /opt/reAudioPlayer && \ diff --git a/Dockerfile.dev b/Dockerfile.dev index 19d7425f6..fe5c38415 100644 --- a/Dockerfile.dev +++ b/Dockerfile.dev @@ -1,4 +1,4 @@ -FROM python:3.11 +FROM python:3.12 RUN apt-get update && apt-get upgrade -y && \ apt-get install -y ffmpeg nginx diff --git a/docker-compose.yml b/docker-compose.yml index f2a6de3ec..028cf964f 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,9 +1,9 @@ version: "3.9" services: - reap-one: - image: "ghcr.io/reaudioplayer/reap-one:1.0.0" - ports: - - "1234:80" - volumes: - - ./src/usr/:/opt/reAudioPlayer/usr/ - - ./src/cache/:/opt/reAudioPlayer/server/_cache/ + reap-one: + image: "ghcr.io/reaudioplayer/reap-one:1.1.0" + ports: + - "1234:80" + volumes: + - ./src/usr/:/opt/reAudioPlayer/usr/ + - ./src/cache/:/opt/reAudioPlayer/server/_cache/ diff --git a/one.bat b/one.bat index 630f4178d..8e1bfc6b1 100644 --- a/one.bat +++ b/one.bat @@ -1,6 +1,6 @@ @echo off -set VERSION=1.0.0 +set VERSION=1.1.0 set command=%1 set arg=%2 diff --git a/rebuild.sh b/rebuild.sh index afcd1ff65..3d8c36fb3 100644 --- a/rebuild.sh +++ b/rebuild.sh @@ -1,5 +1,5 @@ docker compose down -docker rmi ghcr.io/reaudioplayer/reap-one:1.0.0 +docker rmi ghcr.io/reaudioplayer/reap-one:1.1.0 sudo bash -c 'echo "nameserver 1.1.1.1" > /etc/resolv.conf' -docker build -t ghcr.io/reaudioplayer/reap-one:1.0.0 . +docker build -t ghcr.io/reaudioplayer/reap-one:1.1.0 . docker compose up -d diff --git a/src/server/config/cacheStrategy.py b/src/server/config/cacheStrategy.py index f0334e0bc..c12718f6b 100644 --- a/src/server/config/cacheStrategy.py +++ b/src/server/config/cacheStrategy.py @@ -76,7 +76,7 @@ async def onStrategyLoad(self) -> None: async def _task() -> None: for playlist in self._player.playlistManager.playlists: for song in playlist: - await self._downloader.downloadSong(song.model) + await self._downloader.downloadSong(song, internal=True) asyncio.create_task(_task()) @@ -88,7 +88,7 @@ async def _downloadTask(self) -> None: assert self._playlist is not None SongCache.prune(self._playlist) for song in self._playlist: - await self._downloader.downloadSong(song.model) + await self._downloader.downloadSong(song, internal = True) async def onStrategyLoad(self) -> None: await super().onStrategyLoad() @@ -115,4 +115,4 @@ async def onSongLoad(self, song: Song) -> None: assert self._playlist is not None currentSong, nextSong = song, self._playlist.next(True) SongCache.prune([currentSong, nextSong]) - await self._downloader.downloadSong(nextSong.model) + await self._downloader.downloadSong(nextSong, internal = True) diff --git a/src/server/dataModel/song.py b/src/server/dataModel/song.py index dece15311..a977daff3 100644 --- a/src/server/dataModel/song.py +++ b/src/server/dataModel/song.py @@ -97,10 +97,8 @@ def toDict(self) -> Dict[str, Any]: result["metadata"] = self.metadata.toDict() return result - def downloadPath(self, forExport: bool = False) -> str: + def downloadPath(self) -> str: """return download path""" - if forExport: - return f"{self.model.id}.dl" return str(self.model.id) @classmethod diff --git a/src/server/db/table/songs.py b/src/server/db/table/songs.py index 13716b8b5..1b1bcf768 100644 --- a/src/server/db/table/songs.py +++ b/src/server/db/table/songs.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- """reAudioPlayer ONE""" + from __future__ import annotations __copyright__ = "Copyright (c) 2023 https://github.com/reAudioPlayer" @@ -281,20 +282,23 @@ def albumHash(self, value: str) -> None: self._albumHash = value self._fireChanged() + @property + def hash(self) -> str: + """return hash""" + return str(hashids.encode(self.id)) + @property def url(self) -> str: """return url""" - return f"/track/{hashids.encode(self.id)}" + return f"/track/{self.hash}" @property def albumUrl(self) -> str: """return album url""" return f"/album/{self._albumHash}" - def downloadPath(self, forExport: bool = False) -> str: + def downloadPath(self) -> str: """return download path""" - if forExport: - return f"{self.id}.dl" return str(self.id) def toDict(self) -> Dict[str, Any]: @@ -303,7 +307,11 @@ def toDict(self) -> Dict[str, Any]: "id": self.id, "title": self.name, "artist": self.artist, - "album": {"name": self._album, "id": self._albumHash, "href": self.albumUrl}, + "album": { + "name": self._album, + "id": self._albumHash, + "href": self.albumUrl, + }, "cover": self.cover, "favourite": self.favourite, "duration": self.duration, diff --git a/src/server/downloader/downloader.py b/src/server/downloader/downloader.py index 0a295d89d..5c5dd5183 100644 --- a/src/server/downloader/downloader.py +++ b/src/server/downloader/downloader.py @@ -1,14 +1,16 @@ # -*- coding: utf-8 -*- """reAudioPlayer ONE""" -__copyright__ = "Copyright (c) 2022 https://github.com/reAudioPlayer" +__copyright__ = "Copyright (c) 2024 https://github.com/reAudioPlayer" import asyncio +from enum import StrEnum from os import path import os from typing import Any, Dict, Optional import logging import shutil from queue import Queue, Empty +import subprocess from pyaddict import JDict import aiohttp @@ -16,11 +18,10 @@ import eyed3 # type: ignore from eyed3.id3.frames import ImageFrame # type: ignore from eyed3.id3 import Tag # type: ignore -from yt_dlp import YoutubeDL # type: ignore from helper.asyncThread import asyncRunInThreadWithReturn from helper.singleton import Singleton -from config.customData import LocalTrack +from config.customData import LocalTrack, LocalCover from db.database import Database from db.table.songs import SongModel from dataModel.song import Song @@ -29,65 +30,41 @@ DOWNLOADING = [] +class DownloadState(StrEnum): + """download state""" + + DOWNLOADING = "downloading" + FINISHED = "finished" + ERROR = "error" + + class DownloadStatus: """download status""" __slots__ = ( - "_total", - "_downloaded", - "_percent", - "_speed", - "_elapsed", - "_songId", - "_eta", "_status", - "_filename", - "_chunk", + "_song", + "_internal", ) - def __init__(self, data: Dict[str, Any]) -> None: - dex = JDict(data) - self._status = dex.ensure("status", str) - self._downloaded = dex.ensure("downloaded_bytes", int, 0) - self._total = dex.ensure("total_bytes", int, self._downloaded) - self._percent = float( - dex.ensure("_percent_str", str, "0%").replace("%", "").replace(" ", "") - ) - self._speed = dex.ensure("_speed_str", str, "0") - self._elapsed = dex.ensure("_elapsed_str", str, "0") - self._eta = dex.ensure("eta", int, 0) - self._filename = dex.ensure("filename", str, "") - # './_cache/159.dl.mp3' -> 159 - # consider chunks! - - nameNoPath = self._filename.split("/")[-1] - self._songId = int(nameNoPath.split(".")[0]) - self._chunk: Optional[str] = None - if len(nameNoPath.split(".")) > 3: - self._chunk = nameNoPath.split(".")[2] + def __init__(self, status: DownloadState, song: Song, internal: bool = False) -> None: + self._status = status + self._song = song + self._internal = internal @property def showInUI(self) -> bool: """show in ui""" - return ".dl" in self._filename + return not self._internal - def toDict(self, downloaded: Dict[int, SongModel]) -> Dict[str, Any]: + def toDict(self) -> Dict[str, Any]: """to dict""" res = { - "songId": self._songId, - "filename": self._filename, + "id": self._song.model.hash, + "song": self._song.toDict(), "status": self._status, - "total": self._total, - "downloaded": self._downloaded, - "percent": round(self._percent, 2), - "speed": self._speed, - "elapsed": self._elapsed, - "eta": self._eta, - "chunk": self._chunk, "internal": not self.showInUI, } - if self._songId in downloaded: - res["song"] = downloaded[self._songId].toDict() return res @@ -102,30 +79,54 @@ class Downloader(metaclass=Singleton): "_websocketClients", "_downloadStatusTask", "_db", - "_downloaded", ) def __init__(self) -> None: self._opts = { "noplaylist": True, - "outtmpl": "./_cache/upNow.%(ext)s", "postprocessors": [{"key": "FFmpegExtractAudio", "preferredcodec": "mp3"}], } - self._ydl = YoutubeDL(self._opts) - self._ydl.add_progress_hook(self._hook) self._logger = logging.getLogger("downloader") self._statusQueue: Queue[DownloadStatus] = Queue() self._websocketClients: set[web.WebSocketResponse] = set() self._downloadStatusTask: Optional[asyncio.Task[None]] = None self._db = Database() - self._downloaded: Dict[int, SongModel] = {} + + if not path.exists("./_cache"): + os.mkdir("./_cache") + + async def _getCover(self, song: SongModel) -> bytes: + if song.cover.startswith("local:"): + cover = LocalCover.fromDisplayPath(song.cover) + with open(cover.absPath, "rb") as file: + return file.read() + + async with aiohttp.ClientSession() as session: + async with session.get(song.cover) as resp: + if resp.status != 200: + raise LookupError() + return await resp.read() + + async def _applyMetadata(self, filename: str, song: SongModel) -> None: + file = eyed3.load(filename) + tag = file.tag or Tag() + + if song.artists: + tag.artist = ", ".join(song.artists) + tag.title = song.name + tag.album = song.album + + tag.images.set(ImageFrame.FRONT_COVER, await self._getCover(song), "image/jpeg", "Cover") + + file.tag = tag + tag.save(version=eyed3.id3.ID3_V2_3) async def _downloadStatusLoop(self) -> None: while True: try: status = self._statusQueue.get(False) for client in self._websocketClients: - await client.send_json(status.toDict(self._downloaded)) + await client.send_json(status.toDict()) self._statusQueue.task_done() except Empty: pass @@ -141,19 +142,20 @@ async def _handleMessage(data: JDict) -> Optional[Dict[str, Any]]: if data.ensure("action", str) == "download": if data.ensure("source", str) == "db": songId = data.ensure("songId", int, -1) - song = await self._db.songs.byId(songId) - if not song: + songModel = await self._db.songs.byId(songId) + if not songModel: return { "action": "download", "status": "error", "message": "song not found", "songId": songId, } + song = Song(songModel) else: - song = Song.fromDict(data).model + song = Song.fromDict(data) self._logger.info("download custom song %s", song) - asyncio.create_task(self.downloadSong(song, True, True)) - return {"action": "download", "status": "ok", "songId": song.id} + asyncio.create_task(self.downloadSong(song)) + return {"action": "download", "status": "ok", "songId": song.model.id} return { "action": data.optionalGet("action", str), "status": "error", @@ -174,85 +176,53 @@ async def _handleMessage(data: JDict) -> Optional[Dict[str, Any]]: self._websocketClients.remove(ws) return ws - async def _getCover(self, song: SongModel) -> bytes: - async with aiohttp.ClientSession() as session: - async with session.get(song.cover) as resp: - if resp.status != 200: - raise LookupError() - return await resp.read() - - async def _applyMetadata(self, filename: str, song: SongModel) -> None: - fullPath = f"./_cache/{filename}.mp3" - file = eyed3.load(fullPath) - tag = file.tag or Tag() - - if song.artists: - tag.artist = ", ".join(song.artists) - tag.title = song.name - tag.album = song.album - - tag.images.set(ImageFrame.FRONT_COVER, await self._getCover(song), "image/jpeg", "Cover") - - file.tag = tag - tag.save(version=eyed3.id3.ID3_V2_3) - - async def downloadSong( - self, song: SongModel, forExport: bool = False, withMetadata: bool = False - ) -> bool: - """downloads a song""" - filename = Song(song).downloadPath(forExport) - self._downloaded[song.id] = song - result = await self.download(song.source, filename) - if not result: - return False - if withMetadata: - await self._applyMetadata(filename, song) - self._emulateHook("finished", filename) - return True - - def _hook(self, data: Dict[str, Any]) -> None: - if not data.get("emulated") and data["status"] != "downloading": - return - self._statusQueue.put(DownloadStatus(data)) - - def _emulateHook(self, status: str, filename: str) -> None: - self._hook({"status": status, "filename": filename, "emulated": True}) - - def getSongById(self, songId: int) -> Optional[SongModel]: - """gets a song by id""" - return self._downloaded.get(songId) + def _hook(self, status: DownloadStatus) -> None: + self._statusQueue.put(status) def pop(self, songId: int) -> bool: """checks if a song is ready""" - if songId not in self._downloaded: + if not path.exists(f"./_cache/{songId}.mp3"): return False - if not path.exists(f"./_cache/{songId}.dl.mp3"): + return True + + async def downloadSong(self, song: Song, internal: bool = False) -> bool: + """downloads a song""" + self._hook( + DownloadStatus( + DownloadState.DOWNLOADING, + song, + internal=internal, + ) + ) + result = await self.download(song) + self._hook( + DownloadStatus( + DownloadState.FINISHED if result else DownloadState.ERROR, + song, + internal=internal, + ) + ) + if not result: return False - self._downloaded.pop(songId) return True - async def download(self, link: Optional[str], filename: str) -> bool: + async def download(self, song: Song) -> bool: """downloads a song from a link (low level)""" if self._downloadStatusTask is None: self._downloadStatusTask = asyncio.create_task(self._downloadStatusLoop()) + filename = song.downloadPath() + link = song.model.source self._logger.info("downloading %s (%s)", link, filename) - if link is None: - self._logger.warning("link is None") - return False - # relative dest path relName = f"./_cache/{filename}.%(ext)s" dest = relName.replace("%(ext)s", "mp3") - # dest folder - if not path.exists("./_cache"): - os.mkdir("./_cache") - isLink = link.startswith("http") + # don't download twice if filename in DOWNLOADING: while filename in DOWNLOADING: await asyncio.sleep(1) @@ -267,13 +237,12 @@ async def download(self, link: Optional[str], filename: str) -> bool: if path.exists(link): self._logger.debug("copying %s to %s", link, dest) shutil.copy(os.path.normpath(link), os.path.normpath(relName.replace("%(ext)s", "mp3"))) - self._emulateHook("finished", filename) + await self._applyMetadata(dest, song.model) return True # already at dest if path.exists(dest): self._logger.debug("already at dest %s", dest) - self._emulateHook("finished", filename) return True # copy failed, can't download @@ -283,18 +252,23 @@ async def download(self, link: Optional[str], filename: str) -> bool: # download DOWNLOADING.append(filename) - self._ydl.params["outtmpl"] = {"default": relName, "noplaylist": True} + + def _implement() -> int: + return subprocess.run( + ["yt-dlp", "--extract-audio", "--audio-format", "mp3", link, "-o", relName], + check=False, + ).returncode while DOWNLOADING[0] != filename: self._logger.debug("%s queued, position %s", filename, DOWNLOADING.index(filename)) await asyncio.sleep(2) try: - err = await asyncRunInThreadWithReturn(self._ydl.download, [link]) + err = await asyncRunInThreadWithReturn(_implement) + await self._applyMetadata(dest, song.model) DOWNLOADING.remove(filename) return isinstance(err, int) and err == 0 except Exception as err: # pylint: disable=broad-except - self._emulateHook("error", filename) self._logger.exception(err) self._logger.error( "%s could not be downloaded (%s / %s)", diff --git a/src/server/handler/download.py b/src/server/handler/download.py index 617565cb3..4c4c53ee4 100644 --- a/src/server/handler/download.py +++ b/src/server/handler/download.py @@ -23,36 +23,27 @@ def __init__(self, downloader: Downloader, player: Player) -> None: self._downloader = downloader self._player = player - async def downloadTrack(self, request: web.Request) -> web.Response: + async def downloadTrack(self, request: web.Request) -> web.StreamResponse: """get(/api/tracks/{id}/download)""" id_ = int(request.match_info["id"]) - song = self._downloader.getSongById(id_) + song = await self._dbManager.songs.byId(id_) if not song: - return web.HTTPExpectationFailed(text="not downloaded") + raise web.HTTPNotFound(text="song not found") - pathAndName = f"./_cache/{song.id}.dl.mp3" + pathAndName = f"./_cache/{song.id}.mp3" if not self._downloader.pop(id_): return web.HTTPExpectationFailed(text="not downloaded") filename = f"{song.artist} - {song.name}".replace(",", "%2C") # header - res = web.FileResponse( + return web.FileResponse( pathAndName, headers=MultiDict({"Content-Disposition": f"Attachment;filename={filename}.mp3"}), ) - # NOTE, not: - # return res - # because we need to remove the file after it has been sent - - await res.prepare(request) - await res.write_eof() - os.remove(pathAndName) - return web.Response() - - @withObjectPayload( # type: ignore + @withObjectPayload( # type: ignore Object( { "id": Integer().coerce(), @@ -71,7 +62,7 @@ async def deleteFromCache( return web.Response() return web.Response(status=404) - @withObjectPayload( # type: ignore + @withObjectPayload( # type: ignore Object( { "id": Integer().coerce(), diff --git a/src/server/handler/playlist.py b/src/server/handler/playlist.py index 1ac8b3237..5274db1c8 100644 --- a/src/server/handler/playlist.py +++ b/src/server/handler/playlist.py @@ -51,6 +51,7 @@ async def addSong(self, request: web.Request) -> web.Response: """post(/api/playlists/{id}/tracks)""" id_ = str(request.match_info["id"]) jdata = await request.json() + success = False if isinstance(jdata, list): success = await self._playlistManager.addAllToPlaylist( diff --git a/src/server/handler/spotifyAuth.py b/src/server/handler/spotifyAuth.py index ecc3842f8..2113ef4c2 100644 --- a/src/server/handler/spotifyAuth.py +++ b/src/server/handler/spotifyAuth.py @@ -1,6 +1,7 @@ # -*- coding: utf-8 -*- """reAudioPlayer ONE""" from __future__ import annotations + __copyright__ = "Copyright (c) 2022 https://github.com/reAudioPlayer" import os @@ -13,7 +14,7 @@ import aiohttp from aiohttp import web from pyaddict import JDict -from spotipy.oauth2 import SpotifyOAuth # type: ignore +from spotipy.oauth2 import SpotifyOAuth # type: ignore from config.runtime import Runtime from helper.cacheDecorator import clearCache @@ -21,11 +22,12 @@ SCOPE = "user-library-read user-follow-read user-follow-modify" -REDIRECT = "http://localhost:1234/api/spotify/callback" +REDIRECT = "{origin}/api/spotify/callback" class SpotifyAuth(Logged): """Handles Spotify Authentication""" + def __init__(self) -> None: super().__init__(self.__class__.__name__) self._attemptedClientAuth = False @@ -34,13 +36,14 @@ async def _refresh(self, token: str) -> bool: """attempts to use the refresh token to get a new access token""" # spotify api docs: https://developer.spotify.com/documentation/general/guides/authorization-guide/#refreshing-access-tokens # pylint: disable=line-too-long async with aiohttp.ClientSession() as session: - async with session.post("https://accounts.spotify.com/api/token", data = { - "grant_type": "refresh_token", - "refresh_token": token - }, headers = { - "Content-Type": "application/x-www-form-urlencoded", - "Authorization": SpotifyAuth._getSpotifyAuthHeader() - }) as response: + async with session.post( + "https://accounts.spotify.com/api/token", + data={"grant_type": "refresh_token", "refresh_token": token}, + headers={ + "Content-Type": "application/x-www-form-urlencoded", + "Authorization": SpotifyAuth._getSpotifyAuthHeader(), + }, + ) as response: self._logger.debug("refresh response: %s", response.status) if response.status != 200: return False @@ -48,7 +51,7 @@ async def _refresh(self, token: str) -> bool: data = await response.json() data["refresh_token"] = token data["expires_at"] = time() + data["expires_in"] - with open(".cache", "w", encoding = "utf8") as file: + with open(".cache", "w+", encoding="utf8") as file: file.write(json.dumps(data)) return True @@ -62,7 +65,7 @@ async def shouldAuth(self, forceRefresh: bool = False) -> bool: self._logger.info("Spotify is not authenticated (no cache file)") return True - with open(".cache", "r", encoding = "utf8") as file: + with open(".cache", "r", encoding="utf8") as file: data = json.loads(file.read()) if not forceRefresh and not JDict(data).ensure("expires_at", int) < time(): @@ -84,7 +87,7 @@ def isAuth(self) -> bool: def authorizeUrl(self) -> str: """Returns the Spotify Authorize Url""" clientId, _ = SpotifyAuth._getSpotifyAuthData() - return f"https://accounts.spotify.com/authorize?client_id={clientId}&response_type=code&redirect_uri={REDIRECT}&scope={SCOPE}" # pylint: disable=line-too-long + return f"https://accounts.spotify.com/authorize?client_id={clientId}&response_type=code&redirect_uri={REDIRECT}&scope={SCOPE}" # pylint: disable=line-too-long @staticmethod def isDisabled() -> bool: @@ -113,17 +116,15 @@ def _getSpotifyAuthHeader() -> Optional[str]: return None clientId, secret = SpotifyAuth._getSpotifyAuthData() - return "Basic " + \ - base64.b64encode(f"{clientId}:{secret}"\ - .encode("utf-8")).decode("utf-8") + return "Basic " + base64.b64encode(f"{clientId}:{secret}".encode("utf-8")).decode("utf-8") @staticmethod - def getSpotifyAuth() -> Optional[SpotifyOAuth]: # pylint: disable=invalid-name + def getSpotifyAuth() -> Optional[SpotifyOAuth]: # pylint: disable=invalid-name """Returns the SpotifyOAuth object""" if SpotifyAuth.isDisabled(): return None id_, secret = SpotifyAuth._getSpotifyAuthData() - return SpotifyOAuth(id_, secret, "localhost", scope = SCOPE) + return SpotifyOAuth(id_, secret, "localhost", scope=SCOPE) async def getSpotifyConfig(self, _: web.Request) -> web.Response: """get(/api/config/spotify)""" @@ -134,10 +135,7 @@ async def getSpotifyConfig(self, _: web.Request) -> web.Response: return web.HTTPUnauthorized() id_, secret = SpotifyAuth._getSpotifyAuthData() - return web.json_response({ - "id": id_, - "secret": secret - }) + return web.json_response({"id": id_, "secret": secret}) async def clientSideAuthHandler(self, _: web.Request) -> web.Response: """Returns the client side auth data""" @@ -157,7 +155,7 @@ async def _reset() -> None: self._attemptedClientAuth = True # redirect to spotify auth - return web.Response(text = self.authorizeUrl) + return web.Response(text=self.authorizeUrl) async def callbackHandler(self, request: web.Request) -> web.Response: """Handles the callback from Spotify""" @@ -177,20 +175,20 @@ async def getSpotifyToken(self, code: str) -> Optional[str]: return None async with aiohttp.ClientSession() as session: - async with session.post("https://accounts.spotify.com/api/token", data = { - "grant_type": "authorization_code", - "code": code, - "redirect_uri": REDIRECT - }, headers = { - "Content-Type": "application/x-www-form-urlencoded", - "Authorization": SpotifyAuth._getSpotifyAuthHeader() - }) as resp: + async with session.post( + "https://accounts.spotify.com/api/token", + data={"grant_type": "authorization_code", "code": code, "redirect_uri": REDIRECT}, + headers={ + "Content-Type": "application/x-www-form-urlencoded", + "Authorization": SpotifyAuth._getSpotifyAuthHeader(), + }, + ) as resp: if resp.status == 200: data = await resp.json() data["expires_at"] = data["expires_in"] + int(time()) - with open(".cache", "w", encoding = "utf8") as file: + with open(".cache", "w+", encoding="utf8") as file: file.write(json.dumps(data)) clearCache() @@ -218,7 +216,7 @@ def addExpiresAt(self) -> bool: if not os.path.isfile(".cache"): return False - with open(".cache", "r", encoding = "utf8") as file: + with open(".cache", "r", encoding="utf8") as file: data = json.loads(file.read()) if "expires_at" in data: @@ -226,7 +224,7 @@ def addExpiresAt(self) -> bool: data["expires_at"] = data["expires_in"] + int(time()) - with open(".cache", "w", encoding = "utf8") as file: + with open(".cache", "w+", encoding="utf8") as file: file.write(json.dumps(data)) return True diff --git a/src/server/meta/metadata.py b/src/server/meta/metadata.py index efdcbb195..af664b300 100644 --- a/src/server/meta/metadata.py +++ b/src/server/meta/metadata.py @@ -4,7 +4,7 @@ from typing import Any, Dict, Optional -import validators # type: ignore +import validators from meta.spotify import Spotify from dataModel.track import ITrack, SoundcloudTrack, YoutubeTrack, SpotifyTrack diff --git a/src/server/meta/scorereader.py b/src/server/meta/scorereader.py index 0f655d21a..c23cbad0d 100644 --- a/src/server/meta/scorereader.py +++ b/src/server/meta/scorereader.py @@ -47,6 +47,7 @@ def toJson(self) -> Dict[str, Any]: class OneFootballMatch(Match): """https://www.onefootball.com/""" def __init__(self, url: str) -> None: + nurl = "" if "/team" in url: nurl = OneFootballTeam.getFirstMatch(url) if "/competition" in url: diff --git a/src/server/player/player.py b/src/server/player/player.py index 3c6fa8ab0..c598b3fb8 100644 --- a/src/server/player/player.py +++ b/src/server/player/player.py @@ -154,7 +154,7 @@ async def _preloadSong(self, song: Optional[Song]) -> None: if not self._queue or not song: return initial = self._queue.cursor - while not await self._downloader.downloadSong(song.model): + while not await self._downloader.downloadSong(song, internal=True): self._logger.debug("invalid [%s], preload next", song) song = self._queue.next() assert initial != self._queue.cursor, "no valid song" diff --git a/src/server/requirements.txt b/src/server/requirements.txt index f64a7193a..7b516ba33 100644 Binary files a/src/server/requirements.txt and b/src/server/requirements.txt differ diff --git a/src/ui/.storybook/preview-head.html b/src/ui/.storybook/preview-head.html index ff0b0ee6c..ffefecba0 100644 --- a/src/ui/.storybook/preview-head.html +++ b/src/ui/.storybook/preview-head.html @@ -1,4 +1,4 @@ \ No newline at end of file diff --git a/src/ui/dist/assets/Album-1148dcd6.js b/src/ui/dist/assets/Album-1148dcd6.js deleted file mode 100644 index 77d2d838c..000000000 --- a/src/ui/dist/assets/Album-1148dcd6.js +++ /dev/null @@ -1 +0,0 @@ -import{e as B,B as N,q as j,D as S,n,E as D,y as F,f as L,o as l,c as i,i as p,a7 as P,d as y,g as v,L as U,a,H,K as M,t as I,P as V,F as h,h as $,a2 as q,w as R,al as z,ar as J,ap as K,ag as O,l as G,m as Q,_ as T}from"./index-4a15a213.js";import{P as W}from"./PlaylistEntry-4f48a6f3.js";import"./EditSong.vue_vue_type_script_setup_true_lang-0170f423.js";import"./playerInPicture-af203fdf.js";const C=c=>(G("data-v-4203b278"),c=c(),Q(),c),X={key:1,class:"fill-page"},Y={key:2,class:"artist p-4"},Z={class:"wrap"},ee={class:"artist__data"},se={class:"upper"},ae={class:"track__info__details flex flex-col justify-end"},te={class:"text-secondary my-0 text-2xl font-bold"},le={key:0,class:"text-muted text-base ml-4 font-light"},oe={class:"trac__info__details__normal"},ne={class:"flex flew-row items-center"},ie={class:"font-black text-5xl"},re=C(()=>a("hr",{class:"mb-4"},null,-1)),ue={class:"items"},ce=C(()=>a("h2",null,"All songs from this album",-1)),de={class:"items"},_e=B({__name:"Album",setup(c){const b=N();j();const E=S(()=>b.params.hash),s=n(null),m=n([]),r=n(null),d=n(null),f=n("url"),g=n(!1),x=async()=>{const e=await(await fetch(`/api/albums/${E.value}`)).json();if(e.spotify=e.spotify?JSON.parse(e.spotify):null,e.spotify)try{e.spotify.releaseDate=new Date(e.spotify.releaseDate)}catch{e.spotify.releaseDate=null}s.value=e,r.value=null,d.value="",g.value=!1,s.value.spotify.url.length&&(d.value=s.value.spotify.url,A(s.value.spotify.id),g.value=!0),f.value="link"},A=async t=>{const e=await fetch(`/api/spotify/albums/${t}`);if(!e){J.addError("Failed to fetch album from Spotify",await e.text(),3e3);return}m.value=await e.json()};D(d,()=>{var t,e;if(((e=(t=s.value)==null?void 0:t.spotify)==null?void 0:e.id)==K(d.value,"album")){f.value="link";return}f.value="save"});const w=S(()=>{var t,e,_;return((_=(e=(t=s.value)==null?void 0:t.spotify)==null?void 0:e.releaseDate)==null?void 0:_.toLocaleDateString())??""});return F(x),D(()=>b.params.name,()=>{s.value=null,x()}),(t,e)=>{var k;const _=L("Card");return l(),i(h,null,[s.value?(l(),p(P,{key:0,src:s.value.image,class:"-z-10"},null,8,["src"])):y("",!0),s.value?(l(),i("div",Y,[a("div",Z,[a("div",ee,[a("div",se,[v(H,{src:s.value.image,class:"max-w-sm rounded-xl",placeholder:"library_music",name:s.value.name},null,8,["src","name"]),a("div",ae,[a("h3",te,[v(M,{artist:s.value.artists.join(", "),class:"inline"},null,8,["artist"]),w.value?(l(),i("span",le,I(w.value),1)):y("",!0)]),a("div",oe,[a("div",ne,[a("h1",ie,I(s.value.name),1)])])])]),v(V,{class:"hideIfMobile mt-8","with-more":""}),re,a("div",ue,[(l(!0),i(h,null,$(s.value.songs,o=>q((l(),p(W,{index:s.value.songs.findIndex(u=>u.source==o.source),selected:r.value==o.id,song:o,"playlist-id":"album","with-cover":"","with-more":"",album:s.value.id,onClick:u=>r.value==o.id?r.value=-1:r.value=o.id,onUpdate:e[0]||(e[0]=u=>t.$emit("update"))},null,8,["index","selected","song","album","onClick"])),[[O,!0]])),256))]),(k=m.value)!=null&&k.length?(l(),p(_,{key:0,class:"p-4"},{default:R(()=>[ce,a("div",de,[(l(!0),i(h,null,$(m.value,(o,u)=>(l(),p(z,{index:u,song:o,"can-import":"","cannot-add":"","with-cover":"","with-more":"",onUpdate:e[1]||(e[1]=pe=>t.$emit("update"))},null,8,["index","song"]))),256))])]),_:1})):y("",!0)])])])):(l(),i("div",X,[v(U)]))],64)}}});const he=T(_e,[["__scopeId","data-v-4203b278"]]);export{he as default}; diff --git a/src/ui/dist/assets/Album-1148dcd6.js.gz b/src/ui/dist/assets/Album-1148dcd6.js.gz deleted file mode 100644 index 727519635..000000000 Binary files a/src/ui/dist/assets/Album-1148dcd6.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Album-8d95da06.css b/src/ui/dist/assets/Album-BkvN1zsQ.css similarity index 92% rename from src/ui/dist/assets/Album-8d95da06.css rename to src/ui/dist/assets/Album-BkvN1zsQ.css index 29d238f91..472b95f3e 100644 --- a/src/ui/dist/assets/Album-8d95da06.css +++ b/src/ui/dist/assets/Album-BkvN1zsQ.css @@ -1 +1 @@ -.artist .spotify-enable{width:24px;height:24px;cursor:pointer}.artist .spotify-enable path{fill:var(--fg-base)!important}.artist .spotify-enable.enabled path{fill:var(--fg-secondary)!important}.related[data-v-4203b278]{max-height:calc(768px + 1rem)}.spotify-infos[data-v-4203b278]{display:grid;grid-template-columns:fit-content(100%) 24px 1fr 24px;gap:1rem;align-items:center;height:calc(46px + 1.5rem)}.spotify-infos .meta[data-v-4203b278]{display:grid;grid-template-columns:repeat(3,fit-content(100%))}.spotify-infos .meta>*[data-v-4203b278]:not(:last-child){margin-right:1rem}.spotify-suggestions[data-v-4203b278]{display:grid;grid-template-columns:2fr 1fr;align-items:start;gap:2rem}.artist__data .upper[data-v-4203b278]{display:grid;grid-template-columns:fit-content(100%) minmax(500px,1fr);gap:2rem}.wrap[data-v-4203b278]{grid-template-columns:1fr;display:grid;align-items:start} +.artist .spotify-enable{width:24px;height:24px;cursor:pointer}.artist .spotify-enable path{fill:var(--fg-base)!important}.artist .spotify-enable.enabled path{fill:var(--fg-secondary)!important}.related[data-v-4203b278]{max-height:calc(768px + 1rem)}.spotify-infos[data-v-4203b278]{display:grid;grid-template-columns:fit-content(100%) 24px 1fr 24px;gap:1rem;align-items:center;height:calc(46px + 1.5rem)}.spotify-infos .meta[data-v-4203b278]{display:grid;grid-template-columns:repeat(3,fit-content(100%))}.spotify-infos .meta[data-v-4203b278]>*:not(:last-child){margin-right:1rem}.spotify-suggestions[data-v-4203b278]{display:grid;grid-template-columns:2fr 1fr;align-items:start;gap:2rem}.artist__data .upper[data-v-4203b278]{display:grid;grid-template-columns:fit-content(100%) minmax(500px,1fr);gap:2rem}.wrap[data-v-4203b278]{grid-template-columns:1fr;display:grid;align-items:start} diff --git a/src/ui/dist/assets/Album-ncRMQdec.js b/src/ui/dist/assets/Album-ncRMQdec.js new file mode 100644 index 000000000..9c0190a56 --- /dev/null +++ b/src/ui/dist/assets/Album-ncRMQdec.js @@ -0,0 +1 @@ +import{e as B,B as j,q as A,D as S,n as i,E as D,y as F,f as L,o as l,c as n,i as m,a8 as P,d as h,g as _,L as U,a,H as q,K as H,t as I,P as M,F as y,h as $,a3 as V,w as R,am as z,N as J,aq as K,ah as O,l as G,m as Q,_ as T}from"./index-DnhwPdfm.js";import{P as W}from"./PlaylistEntry-B2l8v20L.js";import"./EditSong.vue_vue_type_script_setup_true_lang-C5fIPhus.js";import"./playerInPicture-Dfp9IAsf.js";const C=c=>(G("data-v-4203b278"),c=c(),Q(),c),X={key:1,class:"fill-page"},Y={key:2,class:"artist p-4"},Z={class:"wrap"},ee={class:"artist__data"},se={class:"upper"},ae={class:"track__info__details flex flex-col justify-end"},te={class:"text-secondary my-0 text-2xl font-bold"},le={key:0,class:"text-muted text-base ml-4 font-light"},oe={class:"trac__info__details__normal"},ie={class:"flex flew-row items-center"},ne={class:"font-black text-5xl"},re=C(()=>a("hr",{class:"mb-4"},null,-1)),ue={class:"items"},ce=C(()=>a("h2",null,"All songs from this album",-1)),de={class:"items"},pe=B({__name:"Album",setup(c){const b=j();A();const E=S(()=>b.params.hash),s=i(null),f=i([]),r=i(null),d=i(null),v=i("url"),w=i(!1),x=async()=>{const e=await(await fetch(`/api/albums/${E.value}`)).json();if(e.spotify=e.spotify?JSON.parse(e.spotify):null,e.spotify)try{e.spotify.releaseDate=new Date(e.spotify.releaseDate)}catch{e.spotify.releaseDate=null}s.value=e,r.value=null,d.value="",w.value=!1,s.value.spotify.url.length&&(d.value=s.value.spotify.url,N(s.value.spotify.id),w.value=!0),v.value="link"},N=async t=>{const e=await fetch(`/api/spotify/albums/${t}`);if(!e){J.addError("Failed to fetch album from Spotify",await e.text(),3e3);return}f.value=await e.json()};D(d,()=>{var t,e;if(((e=(t=s.value)==null?void 0:t.spotify)==null?void 0:e.id)==K(d.value,"album")){v.value="link";return}v.value="save"});const g=S(()=>{var t,e,p;return((p=(e=(t=s.value)==null?void 0:t.spotify)==null?void 0:e.releaseDate)==null?void 0:p.toLocaleDateString())??""});return F(x),D(()=>b.params.name,()=>{s.value=null,x()}),(t,e)=>{var k;const p=L("Card");return l(),n(y,null,[s.value?(l(),m(P,{key:0,src:s.value.image,class:"-z-10"},null,8,["src"])):h("",!0),s.value?(l(),n("div",Y,[a("div",Z,[a("div",ee,[a("div",se,[_(q,{src:s.value.image,class:"max-w-sm rounded-xl",placeholder:"library_music",name:s.value.name},null,8,["src","name"]),a("div",ae,[a("h3",te,[_(H,{artist:s.value.artists.join(", "),class:"inline"},null,8,["artist"]),g.value?(l(),n("span",le,I(g.value),1)):h("",!0)]),a("div",oe,[a("div",ie,[a("h1",ne,I(s.value.name),1)])])])]),_(M,{class:"hideIfMobile mt-8","with-more":""}),re,a("div",ue,[(l(!0),n(y,null,$(s.value.songs,o=>V((l(),m(W,{index:s.value.songs.findIndex(u=>u.source==o.source),selected:r.value==o.id,song:o,"playlist-id":"album","with-cover":"","with-more":"",album:s.value.id,onClick:u=>r.value==o.id?r.value=-1:r.value=o.id,onUpdate:e[0]||(e[0]=u=>t.$emit("update"))},null,8,["index","selected","song","album","onClick"])),[[O,!0]])),256))]),(k=f.value)!=null&&k.length?(l(),m(p,{key:0,class:"p-4"},{default:R(()=>[ce,a("div",de,[(l(!0),n(y,null,$(f.value,(o,u)=>(l(),m(z,{index:u,song:o,"can-import":"","cannot-add":"","with-cover":"","with-more":"",onUpdate:e[1]||(e[1]=me=>t.$emit("update"))},null,8,["index","song"]))),256))])]),_:1})):h("",!0)])])])):(l(),n("div",X,[_(U)]))],64)}}}),ye=T(pe,[["__scopeId","data-v-4203b278"]]);export{ye as default}; diff --git a/src/ui/dist/assets/Album-ncRMQdec.js.gz b/src/ui/dist/assets/Album-ncRMQdec.js.gz new file mode 100644 index 000000000..627fa96e8 Binary files /dev/null and b/src/ui/dist/assets/Album-ncRMQdec.js.gz differ diff --git a/src/ui/dist/assets/Artist-CNrEVT3R.js b/src/ui/dist/assets/Artist-CNrEVT3R.js new file mode 100644 index 000000000..a741443ed --- /dev/null +++ b/src/ui/dist/assets/Artist-CNrEVT3R.js @@ -0,0 +1 @@ +import{e as L,o as a,i as r,w as x,b as j,t as m,C as g,_ as P,B as q,q as A,D,n as h,E as U,y as R,c as o,a8 as z,d as i,g as y,L as M,a as t,H as V,Q as B,F as v,h as w,u as J,$ as O,P as Q,a3 as W,am as Y,aq as E,ar as G,ah as K,l as X,m as Z}from"./index-DnhwPdfm.js";import{F}from"./FactCard-D7mi8_uS.js";import{P as ee}from"./PlaylistEntry-B2l8v20L.js";import{s as ae}from"./spotify-BVNWZn3O.js";import"./EditSong.vue_vue_type_script_setup_true_lang-C5fIPhus.js";import"./playerInPicture-Dfp9IAsf.js";const te=L({__name:"Tag",props:{tag:{type:String,required:!0},withHash:{type:Boolean,default:!1}},setup(c){return(b,$)=>(a(),r(g,{class:"tag px-4 py-2 cursor-pointer","with-hover":""},{default:x(()=>[j(m(c.withHash?"#":"")+m(c.tag),1)]),_:1}))}}),se=P(te,[["__scopeId","data-v-2712639d"]]),k=c=>(X("data-v-13b2922c"),c=c(),Z(),c),le={key:1,class:"fill-page"},oe={key:2,class:"artist p-4"},re={class:"wrap"},ne={class:"artist__data"},ie={class:"upper"},ue={class:"trac__info__details__normal"},de={key:0,class:"mt-0 mb-2 flex flex-row gap-2"},ce={class:"flex flew-row items-center"},pe={class:"font-black text-5xl ml-4"},ve={class:"features flex flex-row gap-4 mt-4 overflow-x-auto"},me={class:"spotify-infos pt-4 pb-2"},_e={class:"meta items-center"},fe={key:0,class:"flex flex-row align-items"},he=k(()=>t("span",{class:"material-symbols-rounded ms-fill mr-2"},"local_fire_department",-1)),ye={class:"font-bold"},we=k(()=>t("hr",{class:"mb-4"},null,-1)),xe={class:"items"},ge={key:0,class:"spotify-suggestions mt-4"},ke=k(()=>t("h2",null,"Top Tracks",-1)),be={class:"items"},$e=k(()=>t("h2",null,"Related Artists",-1)),Ce={class:"flex flex-row items-center gap-4"},Ie={class:"flex flex-col"},Se={class:"font-bold"},Te=L({__name:"Artist",setup(c){const b=q();A();const $=D(()=>b.params.name),e=h(null),_=h(null),u=h(null),f=h("url"),d=h(!1),C=async()=>{const n=await fetch(`/api/artists/${$.value}`);e.value=await n.json(),_.value=null,u.value="",d.value=!1,e.value.metadata.id.length==22&&(u.value="https://open.spotify.com/artist/"+e.value.metadata.id,d.value=!0),f.value="link"},I=async n=>{await fetch(`/api/artists/${$.value}`,{method:"PUT",body:JSON.stringify({spotifyId:n})}),e.value=null,await C()};U(u,()=>{var n,l;if(((l=(n=e.value)==null?void 0:n.metadata)==null?void 0:l.id)==E(u.value,"artist")){f.value="link";return}f.value="save"});const H=()=>{if(f.value=="link"){G(u.value);return}I(E(u.value,"artist"))};return R(C),U(()=>b.params.name,()=>{e.value=null,C()}),(n,l)=>{var S,T,N;return a(),o(v,null,[e.value?(a(),r(z,{key:0,src:e.value.cover,class:"-z-10"},null,8,["src"])):i("",!0),e.value?(a(),o("div",oe,[t("div",re,[t("div",ne,[t("div",ie,[y(V,{src:e.value.cover,class:"max-w-sm rounded-xl",placeholder:"person"},null,8,["src"]),t("div",{class:B([{"justify-end":e.value.metadata,"justify-center":!e.value.metadata},"track__info__details flex flex-col"])},[t("div",ue,[(S=e.value.metadata)!=null&&S.genres?(a(),o("div",de,[(a(!0),o(v,null,w(e.value.metadata.genres,s=>(a(),r(se,{tag:s,"with-hash":""},null,8,["tag"]))),256))])):i("",!0),t("div",ce,[t("h1",pe,m(e.value.name),1)])]),e.value.metadata?(a(),o(v,{key:0},[t("div",ve,[e.value.metadata.followers?(a(),r(F,{key:0,"primary-text":e.value.metadata.followers.toLocaleString(),class:"w-full","secondary-text":"Followers"},null,8,["primary-text"])):i("",!0),e.value.songs.length?(a(),r(F,{key:1,"primary-text":e.value.songs.length,class:"w-full","secondary-text":"Tracks in Your Library"},null,8,["primary-text"])):i("",!0)]),t("div",me,[t("div",_e,[e.value.metadata.popularity?(a(),o("span",fe,[he,t("span",ye,m(e.value.metadata.popularity),1)])):i("",!0)]),y(J(ae),{class:B([{enabled:d.value},"spotify-enable"]),onClick:l[0]||(l[0]=s=>d.value=!d.value)},null,8,["class"]),d.value?(a(),r(O,{key:0,modelValue:u.value,"onUpdate:modelValue":l[1]||(l[1]=s=>u.value=s),icon:f.value,onClick:H},null,8,["modelValue","icon"])):i("",!0),t("span",{class:"material-symbols-rounded cursor-pointer",onClick:l[2]||(l[2]=s=>d.value?I(!1):I(!0))},m(d.value?"delete":"search"),1)])],64)):i("",!0)],2)]),y(Q,{class:"hideIfMobile mt-8","with-album":"","with-more":""}),we,t("div",xe,[(a(!0),o(v,null,w(e.value.songs,s=>W((a(),r(ee,{index:e.value.songs.findIndex(p=>p.source==s.source),selected:_.value==s.id,song:s,"playlist-id":"artist","with-album":"","with-cover":"","with-more":"",artist:e.value.name,onClick:p=>_.value==s.id?_.value=-1:_.value=s.id,onUpdate:l[3]||(l[3]=p=>n.$emit("update"))},null,8,["index","selected","song","artist","onClick"])),[[K,!0]])),256))]),e.value.metadata?(a(),o("div",ge,[(T=e.value.metadata.topTracks)!=null&&T.length?(a(),r(g,{key:0,class:"p-4"},{default:x(()=>[ke,t("div",be,[(a(!0),o(v,null,w(e.value.metadata.topTracks,(s,p)=>(a(),r(Y,{index:p,song:s,"can-import":"","cannot-add":"","with-album":"","with-cover":"","with-more":"",onUpdate:l[4]||(l[4]=Ne=>n.$emit("update"))},null,8,["index","song"]))),256))])]),_:1})):i("",!0),(N=e.value.metadata.related)!=null&&N.length?(a(),r(g,{key:1,class:"p-4 flex flex-col gap-2 related overflow-y-auto"},{default:x(()=>[$e,(a(!0),o(v,null,w(e.value.metadata.related,s=>(a(),r(g,{class:"cursor-pointer px-4 py-2","with-hover":"",onClick:p=>n.$router.push(`/artist/${s.name}`)},{default:x(()=>[t("div",Ce,[y(V,{src:s.cover,class:"w-8 h-8 rounded-xl",placeholder:"person"},null,8,["src"]),t("div",Ie,[t("h3",Se,m(s.name),1)])])]),_:2},1032,["onClick"]))),256))]),_:1})):i("",!0)])):i("",!0)])])])):(a(),o("div",le,[y(M)]))],64)}}}),Pe=P(Te,[["__scopeId","data-v-13b2922c"]]);export{Pe as default}; diff --git a/src/ui/dist/assets/Artist-CNrEVT3R.js.gz b/src/ui/dist/assets/Artist-CNrEVT3R.js.gz new file mode 100644 index 000000000..d3243b284 Binary files /dev/null and b/src/ui/dist/assets/Artist-CNrEVT3R.js.gz differ diff --git a/src/ui/dist/assets/Artist-c9fc4a3d.css b/src/ui/dist/assets/Artist-DAREyzq0.css similarity index 93% rename from src/ui/dist/assets/Artist-c9fc4a3d.css rename to src/ui/dist/assets/Artist-DAREyzq0.css index 0b010c19c..bb0a9ced0 100644 --- a/src/ui/dist/assets/Artist-c9fc4a3d.css +++ b/src/ui/dist/assets/Artist-DAREyzq0.css @@ -1 +1 @@ -.tag[data-v-2712639d]{border-radius:1000vmax;color:var(--fg-base-dk)}.tag[data-v-2712639d]:hover{color:var(--fg-base)}.artist .spotify-enable{width:24px;height:24px;cursor:pointer}.artist .spotify-enable path{fill:var(--fg-base)!important}.artist .spotify-enable.enabled path{fill:var(--fg-secondary)!important}.related[data-v-13b2922c]{max-height:calc(768px + 1rem)}.spotify-infos[data-v-13b2922c]{display:grid;grid-template-columns:fit-content(100%) 24px 1fr 24px;gap:1rem;align-items:center;height:calc(46px + 1.5rem)}.spotify-infos .meta[data-v-13b2922c]{display:grid;grid-template-columns:repeat(3,fit-content(100%))}.spotify-infos .meta>*[data-v-13b2922c]:not(:last-child){margin-right:1rem}.spotify-suggestions[data-v-13b2922c]{display:grid;grid-template-columns:2fr 1fr;align-items:start;gap:2rem}.artist__data .upper[data-v-13b2922c]{display:grid;grid-template-columns:fit-content(100%) minmax(500px,1fr);gap:2rem}.wrap[data-v-13b2922c]{grid-template-columns:1fr;display:grid;align-items:start} +.tag[data-v-2712639d]{border-radius:1000vmax;color:var(--fg-base-dk)}.tag[data-v-2712639d]:hover{color:var(--fg-base)}.artist .spotify-enable{width:24px;height:24px;cursor:pointer}.artist .spotify-enable path{fill:var(--fg-base)!important}.artist .spotify-enable.enabled path{fill:var(--fg-secondary)!important}.related[data-v-13b2922c]{max-height:calc(768px + 1rem)}.spotify-infos[data-v-13b2922c]{display:grid;grid-template-columns:fit-content(100%) 24px 1fr 24px;gap:1rem;align-items:center;height:calc(46px + 1.5rem)}.spotify-infos .meta[data-v-13b2922c]{display:grid;grid-template-columns:repeat(3,fit-content(100%))}.spotify-infos .meta[data-v-13b2922c]>*:not(:last-child){margin-right:1rem}.spotify-suggestions[data-v-13b2922c]{display:grid;grid-template-columns:2fr 1fr;align-items:start;gap:2rem}.artist__data .upper[data-v-13b2922c]{display:grid;grid-template-columns:fit-content(100%) minmax(500px,1fr);gap:2rem}.wrap[data-v-13b2922c]{grid-template-columns:1fr;display:grid;align-items:start} diff --git a/src/ui/dist/assets/Artist-d789cf52.js b/src/ui/dist/assets/Artist-d789cf52.js deleted file mode 100644 index 569945a0e..000000000 --- a/src/ui/dist/assets/Artist-d789cf52.js +++ /dev/null @@ -1 +0,0 @@ -import{e as F,o as t,i as n,w as x,b as H,t as v,C as w,_ as L,B as j,q,D,n as h,E as U,y as R,c as o,a7 as z,d as i,g as y,L as M,a,H as V,O as B,F as p,h as g,u as O,Z as J,P as W,a2 as Y,al as Z,ap as E,aq as G,ag as K,l as Q,m as X}from"./index-4a15a213.js";import{F as A}from"./FactCard-07fe2677.js";import{P as ee}from"./PlaylistEntry-4f48a6f3.js";import{s as te}from"./spotify-2bf3aeb7.js";import"./EditSong.vue_vue_type_script_setup_true_lang-0170f423.js";import"./playerInPicture-af203fdf.js";const ae=F({__name:"Tag",props:{tag:{type:String,required:!0},withHash:{type:Boolean,default:!1}},setup(c){return(b,C)=>(t(),n(w,{class:"tag px-4 py-2 cursor-pointer","with-hover":""},{default:x(()=>[H(v(c.withHash?"#":"")+v(c.tag),1)]),_:1}))}});const se=L(ae,[["__scopeId","data-v-2712639d"]]),k=c=>(Q("data-v-13b2922c"),c=c(),X(),c),le={key:1,class:"fill-page"},oe={key:2,class:"artist p-4"},ne={class:"wrap"},re={class:"artist__data"},ie={class:"upper"},ue={class:"trac__info__details__normal"},de={key:0,class:"mt-0 mb-2 flex flex-row gap-2"},ce={class:"flex flew-row items-center"},_e={class:"font-black text-5xl ml-4"},pe={class:"features flex flex-row gap-4 mt-4 overflow-x-auto"},ve={class:"spotify-infos pt-4 pb-2"},me={class:"meta items-center"},fe={key:0,class:"flex flex-row align-items"},he=k(()=>a("span",{class:"material-symbols-rounded ms-fill mr-2"},"local_fire_department",-1)),ye={class:"font-bold"},ge=k(()=>a("hr",{class:"mb-4"},null,-1)),xe={class:"items"},we={key:0,class:"spotify-suggestions mt-4"},ke=k(()=>a("h2",null,"Top Tracks",-1)),be={class:"items"},Ce=k(()=>a("h2",null,"Related Artists",-1)),$e={class:"flex flex-row items-center gap-4"},Ie={class:"flex flex-col"},Se={class:"font-bold"},Te=F({__name:"Artist",setup(c){const b=j();q();const C=D(()=>b.params.name),e=h(null),m=h(null),u=h(null),f=h("url"),d=h(!1),$=async()=>{const r=await fetch(`/api/artists/${C.value}`);e.value=await r.json(),m.value=null,u.value="",d.value=!1,e.value.metadata.id.length==22&&(u.value="https://open.spotify.com/artist/"+e.value.metadata.id,d.value=!0),f.value="link"},I=async r=>{await fetch(`/api/artists/${C.value}`,{method:"PUT",body:JSON.stringify({spotifyId:r})}),e.value=null,await $()};U(u,()=>{var r,l;if(((l=(r=e.value)==null?void 0:r.metadata)==null?void 0:l.id)==E(u.value,"artist")){f.value="link";return}f.value="save"});const P=()=>{if(f.value=="link"){G(u.value);return}I(E(u.value,"artist"))};return R($),U(()=>b.params.name,()=>{e.value=null,$()}),(r,l)=>{var S,T,N;return t(),o(p,null,[e.value?(t(),n(z,{key:0,src:e.value.cover,class:"-z-10"},null,8,["src"])):i("",!0),e.value?(t(),o("div",oe,[a("div",ne,[a("div",re,[a("div",ie,[y(V,{src:e.value.cover,class:"max-w-sm rounded-xl",placeholder:"person"},null,8,["src"]),a("div",{class:B([{"justify-end":e.value.metadata,"justify-center":!e.value.metadata},"track__info__details flex flex-col"])},[a("div",ue,[(S=e.value.metadata)!=null&&S.genres?(t(),o("div",de,[(t(!0),o(p,null,g(e.value.metadata.genres,s=>(t(),n(se,{tag:s,"with-hash":""},null,8,["tag"]))),256))])):i("",!0),a("div",ce,[a("h1",_e,v(e.value.name),1)])]),e.value.metadata?(t(),o(p,{key:0},[a("div",pe,[e.value.metadata.followers?(t(),n(A,{key:0,"primary-text":e.value.metadata.followers.toLocaleString(),class:"w-full","secondary-text":"Followers"},null,8,["primary-text"])):i("",!0),e.value.songs.length?(t(),n(A,{key:1,"primary-text":e.value.songs.length,class:"w-full","secondary-text":"Tracks in Your Library"},null,8,["primary-text"])):i("",!0)]),a("div",ve,[a("div",me,[e.value.metadata.popularity?(t(),o("span",fe,[he,a("span",ye,v(e.value.metadata.popularity),1)])):i("",!0)]),y(O(te),{class:B([{enabled:d.value},"spotify-enable"]),onClick:l[0]||(l[0]=s=>d.value=!d.value)},null,8,["class"]),d.value?(t(),n(J,{key:0,modelValue:u.value,"onUpdate:modelValue":l[1]||(l[1]=s=>u.value=s),icon:f.value,onClick:P},null,8,["modelValue","icon"])):i("",!0),a("span",{class:"material-symbols-rounded cursor-pointer",onClick:l[2]||(l[2]=s=>d.value?I(!1):I(!0))},v(d.value?"delete":"search"),1)])],64)):i("",!0)],2)]),y(W,{class:"hideIfMobile mt-8","with-album":"","with-more":""}),ge,a("div",xe,[(t(!0),o(p,null,g(e.value.songs,s=>Y((t(),n(ee,{index:e.value.songs.findIndex(_=>_.source==s.source),selected:m.value==s.id,song:s,"playlist-id":"artist","with-album":"","with-cover":"","with-more":"",artist:e.value.name,onClick:_=>m.value==s.id?m.value=-1:m.value=s.id,onUpdate:l[3]||(l[3]=_=>r.$emit("update"))},null,8,["index","selected","song","artist","onClick"])),[[K,!0]])),256))]),e.value.metadata?(t(),o("div",we,[(T=e.value.metadata.topTracks)!=null&&T.length?(t(),n(w,{key:0,class:"p-4"},{default:x(()=>[ke,a("div",be,[(t(!0),o(p,null,g(e.value.metadata.topTracks,(s,_)=>(t(),n(Z,{index:_,song:s,"can-import":"","cannot-add":"","with-album":"","with-cover":"","with-more":"",onUpdate:l[4]||(l[4]=Ne=>r.$emit("update"))},null,8,["index","song"]))),256))])]),_:1})):i("",!0),(N=e.value.metadata.related)!=null&&N.length?(t(),n(w,{key:1,class:"p-4 flex flex-col gap-2 related overflow-y-auto"},{default:x(()=>[Ce,(t(!0),o(p,null,g(e.value.metadata.related,s=>(t(),n(w,{class:"cursor-pointer px-4 py-2","with-hover":"",onClick:_=>r.$router.push(`/artist/${s.name}`)},{default:x(()=>[a("div",$e,[y(V,{src:s.cover,class:"w-8 h-8 rounded-xl",placeholder:"person"},null,8,["src"]),a("div",Ie,[a("h3",Se,v(s.name),1)])])]),_:2},1032,["onClick"]))),256))]),_:1})):i("",!0)])):i("",!0)])])])):(t(),o("div",le,[y(M)]))],64)}}});const Le=L(Te,[["__scopeId","data-v-13b2922c"]]);export{Le as default}; diff --git a/src/ui/dist/assets/Artist-d789cf52.js.gz b/src/ui/dist/assets/Artist-d789cf52.js.gz deleted file mode 100644 index 9dd203662..000000000 Binary files a/src/ui/dist/assets/Artist-d789cf52.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/BigPlayer-199abb6d.css b/src/ui/dist/assets/BigPlayer-199abb6d.css deleted file mode 100644 index 5241ad203..000000000 --- a/src/ui/dist/assets/BigPlayer-199abb6d.css +++ /dev/null @@ -1 +0,0 @@ -.bigPlayer .upNow img{width:80%;height:auto;max-width:600px;border-radius:20px;transition:transform .5s;animation:pump 20s infinite ease-in-out}.bigPlayer .upNow img:not(.playing){transform:scale(.95);animation:none}.bigPlayer .upNow img:not(.animate){animation:none}div.body:has(.bigPlayer){overflow:visible!important}@keyframes pump{0%{transform:scale(1);opacity:0}6%{transform:scale(1);opacity:0}7%{transform:scale(1);opacity:1}85%{transform:scale(1);opacity:1}95%{transform:scale(5);opacity:0}97%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:0}}.settings[data-v-3f7ac95c]{position:absolute;bottom:0;left:0;display:flex;flex-direction:row;justify-content:flex-end;padding:10px}.playlist-overflow[data-v-3f7ac95c]{flex:2;height:calc(100% - 220px);margin:100px 0;overflow:hidden}.playlist-overflow .playlist[data-v-3f7ac95c]{overflow-y:auto;height:100%;padding:10px 20px}.iconButton[data-v-3f7ac95c]{font-size:2em;border-radius:10px;padding:5px;font-variation-settings:"wght" 200}.iconButton[data-v-3f7ac95c]:hover{cursor:pointer;background-clip:text;-webkit-background-clip:text;color:transparent;background:var(--bg-hover-lt);color:var(--fg-secondary)}.bigPlayer[data-v-3f7ac95c]{position:relative;display:flex;flex-direction:row;padding:40px;align-items:center;z-index:1;height:100%;filter:none}.bigPlayer .upNow[data-v-3f7ac95c]{flex:3;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1em;position:relative}.bigPlayer .upNow .blocks[data-v-3f7ac95c]{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;width:80%;height:100%;max-width:min(80%,600px);border-radius:20px;position:absolute}@keyframes increase1-3f7ac95c{0%{transform:scaleX(0);transform-origin:0% 50%}1%{transform:scaleX(0)}4%{transform:scaleX(1);transform-origin:0% 50%}6%{transform:scaleX(1);transform-origin:100% 50%}9%{transform:scaleX(0)}to{transform:scaleX(0);transform-origin:100% 50%}}.bigPlayer .upNow .blocks .block[data-v-3f7ac95c]{transform:scaleX(0);background:var(--fg-contrast);width:100%;flex:1;transform-origin:0% 50%;animation:increase1-3f7ac95c 20s infinite ease-in-out}.bigPlayer .upNow .blocks .block[data-v-3f7ac95c]:first-child{border-radius:20px 20px 0 0}.bigPlayer .upNow .blocks .block[data-v-3f7ac95c]:last-child{border-radius:0 0 20px 20px}.bigPlayer .upNow .blocks:not(.animate) .block[data-v-3f7ac95c],.bigPlayer .upNow .blocks:not(.playing) .block[data-v-3f7ac95c]{animation:none;opacity:0}.no-playlist-selected[data-v-3f7ac95c]{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;width:100%}.no-playlist-selected .wrapper[data-v-3f7ac95c]{width:80%;background:var(--bg-base-lt);border-radius:20px;overflow:hidden;padding:20px}.no-playlist-selected .wrapper h2[data-v-3f7ac95c]{margin-top:0}.no-playlist-selected .wrapper .playlists[data-v-3f7ac95c]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.no-playlist-selected .wrapper .playlists .wrapper[data-v-3f7ac95c]{padding:0} diff --git a/src/ui/dist/assets/BigPlayer-199abb6d.css.gz b/src/ui/dist/assets/BigPlayer-199abb6d.css.gz deleted file mode 100644 index ba8034fad..000000000 Binary files a/src/ui/dist/assets/BigPlayer-199abb6d.css.gz and /dev/null differ diff --git a/src/ui/dist/assets/BigPlayer-87137347.js b/src/ui/dist/assets/BigPlayer-87137347.js deleted file mode 100644 index f4c6fb6ae..000000000 --- a/src/ui/dist/assets/BigPlayer-87137347.js +++ /dev/null @@ -1 +0,0 @@ -import{e as q,a6 as z,j as D,D as i,n as u,E as T,y as V,f as E,o,c as d,u as a,F as f,a as s,g as h,O as k,H as F,i as w,w as M,d as O,t as x,z as R,h as j,l as A,m as H,_ as L}from"./index-4a15a213.js";import{_ as Q}from"./Playlist.vue_vue_type_script_setup_true_lang-1d932c09.js";import{P as G}from"./PlaylistCard-915b2cc1.js";import"./PlaylistEntry-4f48a6f3.js";import"./EditSong.vue_vue_type_script_setup_true_lang-0170f423.js";import"./playerInPicture-af203fdf.js";import"./vuedraggable.umd-c5c8aeea.js";const p=r=>(A("data-v-3f7ac95c"),r=r(),H(),r),J={class:"bigPlayer"},K={class:"upNow"},U=p(()=>s("div",{style:{"animation-delay":"0s"},class:"block"},null,-1)),W=p(()=>s("div",{style:{"animation-delay":".25s"},class:"block"},null,-1)),X=p(()=>s("div",{style:{"animation-delay":".5s"},class:"block"},null,-1)),Y=[U,W,X],Z={class:"settings"},ee={key:1,class:"no-playlist-selected"},se={class:"wrapper"},ae=p(()=>s("h2",null,"Nothing playing yet...",-1)),te={class:"playlists"},le=q({__name:"BigPlayer",emits:["maximise"],setup(r,{emit:B}){const e=z(),b=D(),y=i(()=>e.playing),C=i(()=>e.song.cover),P=i(()=>e.song.id),v=i(()=>e.loaded?`${e.song.title} • ${e.song.artist}`:"reAudioPlayer One"),S=i(()=>b.playlists),m=u(null),$=B;document.title=v.value,T(v,t=>{document.title=t}),V(()=>{window.setTimeout(()=>{var t;(t=m.value)!=null&&t.scrollTop||m.value.scrollToSong(P.value)},1e3)});let c=u(!1);const I=()=>{c.value=!c.value,$("maximise",c.value)},_=u(!1),n=u(!1);return(t,l)=>{const N=E("Card");return o(),d("div",J,[a(e).loaded?(o(),d(f,{key:0},[s("div",K,[h(F,{class:k([{playing:y.value,animate:n.value},"drop-shadow-2xl"]),src:C.value,type:"track","with-ambient":"",name:a(e).song.title},null,8,["class","src","name"]),s("div",{class:k([{playing:y.value,animate:n.value},"blocks"])},Y,2)]),a(e).queue&&a(e).playlist?(o(),w(N,{class:"playlist-overflow drop-shadow-2xl relative",key:a(e).playlist.id},{default:M(()=>[h(Q,{ref_key:"playlistScroll",ref:m,playlist:{...a(e).playlist,queue:a(e).queue},"use-queue":"",draggable:"",onRearrange:a(e).rearrangeQueue},null,8,["playlist","onRearrange"])]),_:1})):O("",!0),s("div",Z,[s("span",{class:"iconButton material-symbols-rounded",onClick:I},x(a(c)?"fullscreen_exit":"fullscreen"),1),s("span",{style:R({transform:`rotate(${_.value?0:180}deg)`}),class:"iconButton material-symbols-rounded",onClick:l[0]||(l[0]=()=>_.value=!_.value)},"menu_open",4),s("span",{class:"iconButton material-symbols-rounded",onClick:l[1]||(l[1]=()=>n.value=!n.value)},x(n.value?"motion_photos_off":"animation"),1),s("span",{class:"iconButton material-symbols-rounded",onClick:l[2]||(l[2]=g=>t.$router.push("/player/insights"))}," insights ")])],64)):(o(),d("div",ee,[s("div",se,[ae,s("div",te,[(o(!0),d(f,null,j(S.value,g=>(o(),w(G,{playlist:g},null,8,["playlist"]))),256))])])]))])}}});const pe=L(le,[["__scopeId","data-v-3f7ac95c"]]);export{pe as default}; diff --git a/src/ui/dist/assets/BigPlayer-87137347.js.gz b/src/ui/dist/assets/BigPlayer-87137347.js.gz deleted file mode 100644 index 59da1ae30..000000000 Binary files a/src/ui/dist/assets/BigPlayer-87137347.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Breaking-BYk6Hg3k.js b/src/ui/dist/assets/Breaking-BYk6Hg3k.js new file mode 100644 index 000000000..33b166710 --- /dev/null +++ b/src/ui/dist/assets/Breaking-BYk6Hg3k.js @@ -0,0 +1 @@ +import{T as r}from"./Template-CN0MoJmO.js";import{i as o,o as t}from"./index-DnhwPdfm.js";import"./PlaylistEntry-B2l8v20L.js";import"./EditSong.vue_vue_type_script_setup_true_lang-C5fIPhus.js";import"./playerInPicture-Dfp9IAsf.js";import"./vuedraggable.umd-D7qFKUf_.js";import"./FactCard-D7mi8_uS.js";import"./gistClient-BQBNGijJ.js";import"./Markdown.vue_vue_type_style_index_0_lang-fjKVBP59.js";const l={__name:"Breaking",setup(e){return(i,p)=>(t(),o(r,{id:"breaking","cover-icon":"trending_up"}))}};export{l as default}; diff --git a/src/ui/dist/assets/Breaking-bca7f1ee.js b/src/ui/dist/assets/Breaking-bca7f1ee.js deleted file mode 100644 index fc84af485..000000000 --- a/src/ui/dist/assets/Breaking-bca7f1ee.js +++ /dev/null @@ -1 +0,0 @@ -import{T as r}from"./Template-96d3b86b.js";import{i as o,o as t}from"./index-4a15a213.js";import"./PlaylistEntry-4f48a6f3.js";import"./EditSong.vue_vue_type_script_setup_true_lang-0170f423.js";import"./playerInPicture-af203fdf.js";import"./vuedraggable.umd-c5c8aeea.js";import"./FactCard-07fe2677.js";import"./gistClient-56b8a233.js";import"./Markdown.vue_vue_type_style_index_0_lang-99c6b55d.js";const l={__name:"Breaking",setup(e){return(i,p)=>(t(),o(r,{id:"breaking","cover-icon":"trending_up"}))}};export{l as default}; diff --git a/src/ui/dist/assets/Create-5e460494.js b/src/ui/dist/assets/Create-5e460494.js deleted file mode 100644 index f2548b2d1..000000000 --- a/src/ui/dist/assets/Create-5e460494.js +++ /dev/null @@ -1 +0,0 @@ -import{e as d,q as p,B as y,y as m,o as f,c as x,a as e,g as n,w as r,C as i,U as h,l as v,m as C,_ as w}from"./index-4a15a213.js";const s=a=>(v("data-v-907ec981"),a=a(),C(),a),b={class:"flex h-full w-full items-center justify-center"},k={class:"types"},B=s(()=>e("div",{class:"flex flex-row justify-center"},[e("span",{class:"text-9xl material-symbols-rounded icon"},"library_music")],-1)),I=s(()=>e("h4",null,"Classic Playlist",-1)),S=s(()=>e("p",{class:"text-sm text-muted"},"Manage your playlist manually",-1)),g=s(()=>e("div",{class:"flex flex-row justify-center"},[e("span",{class:"text-9xl material-symbols-rounded icon"},"bolt")],-1)),j=s(()=>e("h4",null,"Smart Playlist",-1)),q=s(()=>e("p",{class:"text-sm text-muted"}," Define rules to automatically update your playlist ",-1)),P=d({__name:"Create",setup(a){const u=p(),l=y(),o=async c=>{const t=await h(c);u.push(t)};return m(()=>{l.query.type&&o(l.query.type)}),(c,t)=>(f(),x("div",b,[e("div",k,[n(i,{"with-hover":"",class:"cursor-pointer",onClick:t[0]||(t[0]=_=>o("classic"))},{default:r(()=>[B,I,S]),_:1}),n(i,{"with-hover":"",class:"cursor-pointer",onClick:t[1]||(t[1]=_=>o("smart"))},{default:r(()=>[g,j,q]),_:1})])]))}});const N=w(P,[["__scopeId","data-v-907ec981"]]);export{N as default}; diff --git a/src/ui/dist/assets/Create-5e460494.js.gz b/src/ui/dist/assets/Create-5e460494.js.gz deleted file mode 100644 index 4d81806be..000000000 Binary files a/src/ui/dist/assets/Create-5e460494.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Create-8ab3526b.css b/src/ui/dist/assets/Create-8ab3526b.css deleted file mode 100644 index a040ffe67..000000000 --- a/src/ui/dist/assets/Create-8ab3526b.css +++ /dev/null @@ -1 +0,0 @@ -.types[data-v-907ec981]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,500px));gap:1rem;min-width:800px}.types>div[data-v-907ec981]{padding:1em}.icon[data-v-907ec981]{color:var(--fg-secondary)} diff --git a/src/ui/dist/assets/Create-Cv1N05w-.css b/src/ui/dist/assets/Create-Cv1N05w-.css new file mode 100644 index 000000000..1fe52cb7a --- /dev/null +++ b/src/ui/dist/assets/Create-Cv1N05w-.css @@ -0,0 +1 @@ +.types[data-v-ebdf2322]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,500px));gap:1rem;min-width:800px}.types>div[data-v-ebdf2322]{padding:1em}.icon[data-v-ebdf2322]{color:var(--fg-secondary)} diff --git a/src/ui/dist/assets/Create-D3JcGYih.js b/src/ui/dist/assets/Create-D3JcGYih.js new file mode 100644 index 000000000..59158464b --- /dev/null +++ b/src/ui/dist/assets/Create-D3JcGYih.js @@ -0,0 +1 @@ +import{e as p,q as _,B as y,y as f,o as m,c as x,a as t,g as r,w as n,C as i,V as h,l as v,m as w,_ as C}from"./index-DnhwPdfm.js";const e=a=>(v("data-v-ebdf2322"),a=a(),w(),a),b={class:"flex h-full w-full items-center justify-center"},k={class:"types"},B=e(()=>t("div",{class:"flex flex-row justify-center"},[t("span",{class:"text-9xl material-symbols-rounded icon"},"library_music")],-1)),I=e(()=>t("h4",null,"Classic Playlist",-1)),S=e(()=>t("p",{class:"text-sm text-muted"},"Manage your playlist manually",-1)),j=e(()=>t("div",{class:"flex flex-row justify-center"},[t("span",{class:"text-9xl material-symbols-rounded icon"},"bolt")],-1)),q=e(()=>t("h4",null,"Smart Playlist",-1)),P=e(()=>t("p",{class:"text-sm text-muted"}," Define rules to automatically update your playlist ",-1)),V=p({__name:"Create",setup(a){const u=_(),l=y(),o=async c=>{const s=await h(c);u.push(s)};return f(()=>{l.query.type&&o(l.query.type)}),(c,s)=>(m(),x("div",b,[t("div",k,[r(i,{"with-hover":"",class:"cursor-pointer",onClick:s[0]||(s[0]=d=>o("classic"))},{default:n(()=>[B,I,S]),_:1}),r(i,{"with-hover":"",class:"cursor-pointer",onClick:s[1]||(s[1]=d=>o("smart"))},{default:n(()=>[j,q,P]),_:1})])]))}}),M=C(V,[["__scopeId","data-v-ebdf2322"]]);export{M as default}; diff --git a/src/ui/dist/assets/Create-D3JcGYih.js.gz b/src/ui/dist/assets/Create-D3JcGYih.js.gz new file mode 100644 index 000000000..d1aa41b63 Binary files /dev/null and b/src/ui/dist/assets/Create-D3JcGYih.js.gz differ diff --git a/src/ui/dist/assets/EditSong.vue_vue_type_script_setup_true_lang-0170f423.js b/src/ui/dist/assets/EditSong.vue_vue_type_script_setup_true_lang-0170f423.js deleted file mode 100644 index c8e06305f..000000000 --- a/src/ui/dist/assets/EditSong.vue_vue_type_script_setup_true_lang-0170f423.js +++ /dev/null @@ -1 +0,0 @@ -import{e as y,n as u,E as b,o as w,i as _,w as h,g as x,v as S,a9 as k,cT as q,ar as F}from"./index-4a15a213.js";const T=y({__name:"EditSong",props:{song:{type:Object,required:!0}},emits:["close","update"],setup(p,{expose:m,emit:d}){const a=p,v=d,r=async(t,e)=>{const o=new FormData,i="."+e.name.split(".").pop();var n=e.slice(0,e.size,e.type),g=new File([n],a.song.id+i,{type:e.type});return o.append("file",g),await(await fetch(t,{method:"POST",body:o})).text()},s=u([{name:"source",type:"upload",icon:"music_note",accept:"audio/mp3",required:!0,onUpload:t=>{r("/api/config/tracks",t).then(e=>s.value.find(o=>o.name=="source").value=e)},value:a.song.source},{name:"title",type:"text",icon:"title",required:!0,value:a.song.title},{name:"artist",type:"text",icon:"person",required:!0,value:a.song.artist},{name:"album",type:"text",icon:"album",value:a.song.album.name},{name:"cover",type:"upload",icon:"art_track",accept:"image/*",imagePreview:!0,value:a.song.cover,onUpload:t=>{r("/api/config/images",t).then(e=>s.value.find(o=>o.name=="cover").value=e)}}]),f=async()=>{const t=l.value.toObject();await q({...a.song,...t}),v("update"),F.addSuccess(t.title,"Updated",3e3)},c=u(null),l=u(null);return m({show:()=>{c.value.show()}}),b(a,()=>{var t,e,o;for(const i of s.value.map(n=>n.name)){if(i=="album"){s.value.find(n=>n.name==i).value=(e=(t=a.song)==null?void 0:t.album)==null?void 0:e.name;continue}s.value.find(n=>n.name==i).value=(o=a.song)==null?void 0:o[i]}},{deep:!0}),(t,e)=>(w(),_(k,{ref_key:"modal",ref:c,submit:{label:"Save",icon:"save"},name:"Edit Song",onClose:e[0]||(e[0]=o=>t.$emit("close")),onSubmit:f},{default:h(()=>[x(S,{ref_key:"form",ref:l,options:s.value},null,8,["options"])]),_:1},512))}});export{T as _}; diff --git a/src/ui/dist/assets/EditSong.vue_vue_type_script_setup_true_lang-0170f423.js.gz b/src/ui/dist/assets/EditSong.vue_vue_type_script_setup_true_lang-0170f423.js.gz deleted file mode 100644 index a70b7a44f..000000000 Binary files a/src/ui/dist/assets/EditSong.vue_vue_type_script_setup_true_lang-0170f423.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/EditSong.vue_vue_type_script_setup_true_lang-C5fIPhus.js b/src/ui/dist/assets/EditSong.vue_vue_type_script_setup_true_lang-C5fIPhus.js new file mode 100644 index 000000000..2fb23c49a --- /dev/null +++ b/src/ui/dist/assets/EditSong.vue_vue_type_script_setup_true_lang-C5fIPhus.js @@ -0,0 +1 @@ +import{e as y,n as u,E as b,o as w,i as _,w as h,g as x,v as S,aa as k,cV as q,N as F}from"./index-DnhwPdfm.js";const O=y({__name:"EditSong",props:{song:{type:Object,required:!0}},emits:["close","update"],setup(p,{expose:m,emit:d}){const a=p,v=d,r=async(t,e)=>{const o=new FormData,i="."+e.name.split(".").pop();var n=e.slice(0,e.size,e.type),g=new File([n],a.song.id+i,{type:e.type});return o.append("file",g),await(await fetch(t,{method:"POST",body:o})).text()},s=u([{name:"source",type:"upload",icon:"music_note",accept:"audio/mp3",required:!0,onUpload:t=>{r("/api/config/tracks",t).then(e=>s.value.find(o=>o.name=="source").value=e)},value:a.song.source},{name:"title",type:"text",icon:"title",required:!0,value:a.song.title},{name:"artist",type:"text",icon:"person",required:!0,value:a.song.artist},{name:"album",type:"text",icon:"album",value:a.song.album.name},{name:"cover",type:"upload",icon:"art_track",accept:"image/*",imagePreview:!0,value:a.song.cover,onUpload:t=>{r("/api/config/images",t).then(e=>s.value.find(o=>o.name=="cover").value=e)}}]),f=async()=>{const t=l.value.toObject();await q({...a.song,...t}),v("update"),F.addSuccess(t.title,"Updated",3e3)},c=u(null),l=u(null);return m({show:()=>{c.value.show()}}),b(a,()=>{var t,e,o;for(const i of s.value.map(n=>n.name)){if(i=="album"){s.value.find(n=>n.name==i).value=(e=(t=a.song)==null?void 0:t.album)==null?void 0:e.name;continue}s.value.find(n=>n.name==i).value=(o=a.song)==null?void 0:o[i]}},{deep:!0}),(t,e)=>(w(),_(k,{ref_key:"modal",ref:c,submit:{label:"Save",icon:"save"},name:"Edit Song",onClose:e[0]||(e[0]=o=>t.$emit("close")),onSubmit:f},{default:h(()=>[x(S,{ref_key:"form",ref:l,options:s.value},null,8,["options"])]),_:1},512))}});export{O as _}; diff --git a/src/ui/dist/assets/EditSong.vue_vue_type_script_setup_true_lang-C5fIPhus.js.gz b/src/ui/dist/assets/EditSong.vue_vue_type_script_setup_true_lang-C5fIPhus.js.gz new file mode 100644 index 000000000..9100678c8 Binary files /dev/null and b/src/ui/dist/assets/EditSong.vue_vue_type_script_setup_true_lang-C5fIPhus.js.gz differ diff --git a/src/ui/dist/assets/Editor-133a20fa.css b/src/ui/dist/assets/Editor-133a20fa.css deleted file mode 100644 index e860bc4c5..000000000 --- a/src/ui/dist/assets/Editor-133a20fa.css +++ /dev/null @@ -1 +0,0 @@ -.playlist-editor[data-v-1b0238f2]{display:grid;align-items:start;grid-template-columns:1fr 1fr;gap:1em;padding:1em}.playlist-editor .sort[data-v-1b0238f2]{display:flex;align-items:center;gap:.5em}.playlist-editor h1[data-v-1b0238f2]{grid-column:1/span 2}.playlist-editor .filters .item[data-v-1b0238f2]{display:grid;grid-template-columns:1fr auto;gap:1em;align-items:center}.playlist-editor .filters .items[data-v-1b0238f2],.playlist-editor .filters[data-v-1b0238f2]{display:flex;flex-direction:column;gap:1em}.playlist-editor .filter[data-v-1b0238f2]{padding:1em}.playlist-editor .filter h3[data-v-1b0238f2]{text-transform:capitalize}.playlist-editor .material-symbols-rounded[data-v-1b0238f2]{cursor:pointer}.playlist-editor .editor[data-v-1b0238f2]{position:sticky;top:0} diff --git a/src/ui/dist/assets/Editor-2ef03efe.js b/src/ui/dist/assets/Editor-2ef03efe.js deleted file mode 100644 index ebee0c13f..000000000 --- a/src/ui/dist/assets/Editor-2ef03efe.js +++ /dev/null @@ -1 +0,0 @@ -import{e as S,B as x,q as I,D as E,j as B,n as _,E as $,V as U,W as A,y as F,X as R,o as i,c as n,a as l,g as s,I as c,Y as L,t as f,Z as y,F as b,h,w as M,C as N,$ as O,a0 as T,_ as W}from"./index-4a15a213.js";import{_ as j}from"./Playlist.vue_vue_type_script_setup_true_lang-1d932c09.js";import"./PlaylistEntry-4f48a6f3.js";import"./EditSong.vue_vue_type_script_setup_true_lang-0170f423.js";import"./playerInPicture-af203fdf.js";import"./vuedraggable.umd-c5c8aeea.js";const q={class:"playlist-editor"},X={class:"editor"},Y={class:"sort my-2"},Z={class:"filters"},z={class:"uppercase mt-0"},G={class:"items"},H={class:"item"},J=["onClick"],K={class:"preview"},Q=S({__name:"Editor",setup(ee){const w=x(),V=I(),r=E(()=>w.params.id),d=B(),e=_({direction:"asc",sort:"id",limit:25,filter:{title:[],artist:[],album:[],duration:{}}}),m=_();$([()=>e.value.sort,()=>e.value.filter,()=>e.value.direction],U.debounce(async()=>{m.value=await A(e.value)},3*1e3),{deep:!0});const C=[{value:"title",label:"Title",icon:"title"},{value:"artist",label:"Artist",icon:"person"},{value:"album",label:"Album",icon:"album"},{value:"duration",label:"Duration",icon:"timer"},{value:"id",label:"Added",icon:"date_range"}],p=["title","artist","album"],k={title:"title",artist:"person",album:"album"};F(async()=>{e.value=await R(r.value),e.value.filter||(e.value.filter={title:[],artist:[],album:[],duration:{}});const o=e.value.filter;for(const a of p)o[a]||(o[a]=[]);e.value.filter=o});const g=async()=>{await O(r.value,e.value),d.fetchPlaylists()},D=async()=>{await T(r.value),d.fetchPlaylists(),V.push("/")};return(o,a)=>(i(),n("div",q,[l("div",X,[l("div",Y,[s(c,{label:"Save",icon:"save",type:"success",class:"!mt-0",onClick:g}),s(c,{label:"Delete",icon:"delete",type:"danger",class:"!mt-0",onClick:D}),s(L,{modelValue:e.value.sort,"onUpdate:modelValue":a[0]||(a[0]=t=>e.value.sort=t),options:C,icon:"filter_list"},null,8,["modelValue"]),l("span",{class:"cursor-pointer material-symbols-rounded ms-wght-100 text-5xl",onClick:a[1]||(a[1]=t=>e.value.direction=e.value.direction=="asc"?"desc":"asc")},f(e.value.direction=="asc"?"arrow_drop_up":"arrow_drop_down"),1),s(y,{modelValue:e.value.limit,"onUpdate:modelValue":a[2]||(a[2]=t=>e.value.limit=t),type:"number",placeholder:"Limit...",icon:"123"},null,8,["modelValue"])]),l("div",Z,[(i(),n(b,null,h(p,t=>s(N,{class:"filter"},{default:M(()=>[l("h4",z,f(t),1),l("div",G,[(i(!0),n(b,null,h(e.value.filter[t],(P,u)=>(i(),n("div",H,[s(y,{modelValue:e.value.filter[t][u],"onUpdate:modelValue":v=>e.value.filter[t][u]=v,icon:k[t]},null,8,["modelValue","onUpdate:modelValue","icon"]),l("span",{class:"material-symbols-rounded",onClick:v=>e.value.filter[t].splice(u,1)}," delete ",8,J)]))),256)),s(c,{label:"OR",icon:"add",onClick:P=>e.value.filter[t].push("")},null,8,["onClick"])])]),_:2},1024)),64))])]),l("div",K,[s(j,{playlist:m.value},null,8,["playlist"])])]))}});const ne=W(Q,[["__scopeId","data-v-1b0238f2"]]);export{ne as default}; diff --git a/src/ui/dist/assets/Editor-2ef03efe.js.gz b/src/ui/dist/assets/Editor-2ef03efe.js.gz deleted file mode 100644 index ca17ce945..000000000 Binary files a/src/ui/dist/assets/Editor-2ef03efe.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Editor-BrVboH8Y.js b/src/ui/dist/assets/Editor-BrVboH8Y.js new file mode 100644 index 000000000..72bcf58d4 --- /dev/null +++ b/src/ui/dist/assets/Editor-BrVboH8Y.js @@ -0,0 +1 @@ +import{e as g,B as I,q as x,D as B,j as E,n as _,E as $,W as U,X as A,y as F,Y as R,o as i,c as n,a as l,g as s,I as c,Z as L,t as f,$ as y,F as b,h,w as M,C as N,a0 as O,a1 as T,_ as W}from"./index-DnhwPdfm.js";import{_ as j}from"./Playlist.vue_vue_type_script_setup_true_lang-D7rgrOmb.js";import"./PlaylistEntry-B2l8v20L.js";import"./EditSong.vue_vue_type_script_setup_true_lang-C5fIPhus.js";import"./playerInPicture-Dfp9IAsf.js";import"./vuedraggable.umd-D7qFKUf_.js";const q={class:"playlist-editor"},X={class:"editor"},Y={class:"sort my-2"},Z={class:"filters"},z={class:"uppercase mt-0"},G={class:"items"},H={class:"item"},J=["onClick"],K={class:"preview"},Q=g({__name:"Editor",setup(ee){const w=I(),V=x(),r=B(()=>w.params.id),d=E(),e=_({direction:"asc",sort:"id",limit:25,filter:{title:[],artist:[],album:[],duration:{}}}),m=_();$([()=>e.value.sort,()=>e.value.filter,()=>e.value.direction],U.debounce(async()=>{m.value=await A(e.value)},3*1e3),{deep:!0});const C=[{value:"title",label:"Title",icon:"title"},{value:"artist",label:"Artist",icon:"person"},{value:"album",label:"Album",icon:"album"},{value:"duration",label:"Duration",icon:"timer"},{value:"id",label:"Added",icon:"date_range"}],p=["title","artist","album"],k={title:"title",artist:"person",album:"album"};F(async()=>{e.value=await R(r.value),e.value.filter||(e.value.filter={title:[],artist:[],album:[],duration:{}});const o=e.value.filter;for(const a of p)o[a]||(o[a]=[]);e.value.filter=o});const D=async()=>{await O(r.value,e.value),d.fetchPlaylists()},P=async()=>{await T(r.value),d.fetchPlaylists(),V.push("/")};return(o,a)=>(i(),n("div",q,[l("div",X,[l("div",Y,[s(c,{label:"Save",icon:"save",type:"success",class:"!mt-0",onClick:D}),s(c,{label:"Delete",icon:"delete",type:"danger",class:"!mt-0",onClick:P}),s(L,{modelValue:e.value.sort,"onUpdate:modelValue":a[0]||(a[0]=t=>e.value.sort=t),options:C,icon:"filter_list"},null,8,["modelValue"]),l("span",{class:"cursor-pointer material-symbols-rounded ms-wght-100 text-5xl",onClick:a[1]||(a[1]=t=>e.value.direction=e.value.direction=="asc"?"desc":"asc")},f(e.value.direction=="asc"?"arrow_drop_up":"arrow_drop_down"),1),s(y,{modelValue:e.value.limit,"onUpdate:modelValue":a[2]||(a[2]=t=>e.value.limit=t),type:"number",placeholder:"Limit...",icon:"123"},null,8,["modelValue"])]),l("div",Z,[(i(),n(b,null,h(p,t=>s(N,{class:"filter"},{default:M(()=>[l("h4",z,f(t),1),l("div",G,[(i(!0),n(b,null,h(e.value.filter[t],(S,u)=>(i(),n("div",H,[s(y,{modelValue:e.value.filter[t][u],"onUpdate:modelValue":v=>e.value.filter[t][u]=v,icon:k[t]},null,8,["modelValue","onUpdate:modelValue","icon"]),l("span",{class:"material-symbols-rounded",onClick:v=>e.value.filter[t].splice(u,1)}," delete ",8,J)]))),256)),s(c,{label:"OR",icon:"add",onClick:S=>e.value.filter[t].push("")},null,8,["onClick"])])]),_:2},1024)),64))])]),l("div",K,[s(j,{playlist:m.value},null,8,["playlist"])])]))}}),ne=W(Q,[["__scopeId","data-v-1509e325"]]);export{ne as default}; diff --git a/src/ui/dist/assets/Editor-BrVboH8Y.js.gz b/src/ui/dist/assets/Editor-BrVboH8Y.js.gz new file mode 100644 index 000000000..d91a9900e Binary files /dev/null and b/src/ui/dist/assets/Editor-BrVboH8Y.js.gz differ diff --git a/src/ui/dist/assets/Editor-DJucXreQ.css b/src/ui/dist/assets/Editor-DJucXreQ.css new file mode 100644 index 000000000..df1aece84 --- /dev/null +++ b/src/ui/dist/assets/Editor-DJucXreQ.css @@ -0,0 +1 @@ +.playlist-editor[data-v-1509e325]{display:grid;align-items:start;grid-template-columns:1fr 1fr;gap:1em;padding:1em}.playlist-editor .sort[data-v-1509e325]{display:flex;align-items:center;gap:.5em}.playlist-editor h1[data-v-1509e325]{grid-column:1/span 2}.playlist-editor .filters .item[data-v-1509e325]{display:grid;grid-template-columns:1fr auto;gap:1em;align-items:center}.playlist-editor .filters .items[data-v-1509e325],.playlist-editor .filters[data-v-1509e325]{display:flex;flex-direction:column;gap:1em}.playlist-editor .filter[data-v-1509e325]{padding:1em}.playlist-editor .filter h3[data-v-1509e325]{text-transform:capitalize}.playlist-editor .material-symbols-rounded[data-v-1509e325]{cursor:pointer}.playlist-editor .editor[data-v-1509e325]{position:sticky;top:0} diff --git a/src/ui/dist/assets/Error-f18c7956.css b/src/ui/dist/assets/Error-BUy8S0OX.css similarity index 100% rename from src/ui/dist/assets/Error-f18c7956.css rename to src/ui/dist/assets/Error-BUy8S0OX.css diff --git a/src/ui/dist/assets/Error-e5e93467.js b/src/ui/dist/assets/Error-e5e93467.js deleted file mode 100644 index 80343b83a..000000000 --- a/src/ui/dist/assets/Error-e5e93467.js +++ /dev/null @@ -1 +0,0 @@ -import{e as r,o as _,c as o,a as s,_ as t}from"./index-4a15a213.js";const n={class:"error"},a=["innerHTML"],c=r({__name:"Error",props:{msg:{type:String,required:!0}},setup(e){return(d,p)=>(_(),o("div",n,[s("h1",{innerHTML:e.msg},null,8,a)]))}});const l=t(c,[["__scopeId","data-v-03ad8ef0"]]);export{l as E}; diff --git a/src/ui/dist/assets/Error-hTSpQMK3.js b/src/ui/dist/assets/Error-hTSpQMK3.js new file mode 100644 index 000000000..e0ebc2950 --- /dev/null +++ b/src/ui/dist/assets/Error-hTSpQMK3.js @@ -0,0 +1 @@ +import{e as r,o,c as s,a as t,_ as n}from"./index-DnhwPdfm.js";const a={class:"error"},c=["innerHTML"],_=r({__name:"Error",props:{msg:{type:String,required:!0}},setup(e){return(i,p)=>(o(),s("div",a,[t("h1",{innerHTML:e.msg},null,8,c)]))}}),m=n(_,[["__scopeId","data-v-03ad8ef0"]]);export{m as E}; diff --git a/src/ui/dist/assets/Explore-0f64f4c4.js b/src/ui/dist/assets/Explore-0f64f4c4.js deleted file mode 100644 index d3c63ed2d..000000000 --- a/src/ui/dist/assets/Explore-0f64f4c4.js +++ /dev/null @@ -1 +0,0 @@ -import{_,o as r,c as n,a as e,r as u,z as h,l as f,m,F as y,h as v,p,A as k,f as g,g as o,w as c,M as d,u as S}from"./index-4a15a213.js";const $={props:{src:String}},x=s=>(f("data-v-0c755b69"),s=s(),m(),s),C=x(()=>e("div",{class:"filter"},null,-1)),I={class:"info"};function b(s,a,l,i,t,N){return r(),n("div",{class:"image",style:h({backgroundImage:"url("+l.src+")"})},[C,e("div",I,[u(s.$slots,"default",{},void 0,!0)])],4)}const O=_($,[["render",b],["__scopeId","data-v-0c755b69"]]);const w={class:"songContent"},E={class:"play"},H=["onClick"],M={class:"info"},P={data(){return fetch("/api/playlists").then(async s=>{this.playlists=await s.json(),this.pick()}),{playlists:[],picks:[]}},mounted(){},methods:{parseCover:p,pick(){this.songs=this.playlists.map(s=>s.songs).flat();for(let s=0;s<4;s++)this.picks.push(this.songs[Math.floor(Math.random()*this.songs.length)])},onScroll(){this.$refs.container.clientHeight+this.$refs.container.scrollTop>=this.$refs.container.scrollHeight-100&&this.pick()},href(s){return`/track/${k(s.id)}`},loadPlaylist(s){fetch("/api/player/load",{method:"POST",body:JSON.stringify({id:s,type:"track"})})}}},B=Object.assign(P,{__name:"Explore",setup(s){return(a,l)=>{const i=g("router-link");return r(),n("div",{ref:"container",class:"explore",onScroll:l[0]||(l[0]=(...t)=>a.onScroll&&a.onScroll(...t))},[(r(!0),n(y,null,v(a.picks,t=>(r(),n("div",{key:t.name,class:"item"},[o(O,{src:S(p)(t.cover)},{default:c(()=>[e("div",w,[e("div",E,[e("span",{id:"loadPlaylist",class:"material-symbols-rounded play",onClick:()=>a.loadPlaylist(t.id)},"play_circle",8,H)]),e("div",M,[o(i,{to:a.href(t),class:"linkOnHover"},{default:c(()=>[e("h1",null,[o(d,{text:t.title},null,8,["text"])])]),_:2},1032,["to"]),o(i,{to:`/search/${t.artist}`,class:"linkOnHover"},{default:c(()=>[e("p",null,[o(d,{text:t.artist},null,8,["text"])])]),_:2},1032,["to"])])])]),_:2},1032,["src"])]))),128))],544)}}}),j=_(B,[["__scopeId","data-v-51105a59"]]);export{j as default}; diff --git a/src/ui/dist/assets/Explore-0f64f4c4.js.gz b/src/ui/dist/assets/Explore-0f64f4c4.js.gz deleted file mode 100644 index f0a5ce810..000000000 Binary files a/src/ui/dist/assets/Explore-0f64f4c4.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Explore-d8c77810.css b/src/ui/dist/assets/Explore-BBlOvIn4.css similarity index 100% rename from src/ui/dist/assets/Explore-d8c77810.css rename to src/ui/dist/assets/Explore-BBlOvIn4.css diff --git a/src/ui/dist/assets/Explore-d8c77810.css.gz b/src/ui/dist/assets/Explore-BBlOvIn4.css.gz similarity index 100% rename from src/ui/dist/assets/Explore-d8c77810.css.gz rename to src/ui/dist/assets/Explore-BBlOvIn4.css.gz diff --git a/src/ui/dist/assets/Explore-CImr0VNX.js b/src/ui/dist/assets/Explore-CImr0VNX.js new file mode 100644 index 000000000..6b5844a00 --- /dev/null +++ b/src/ui/dist/assets/Explore-CImr0VNX.js @@ -0,0 +1 @@ +import{_ as p,o as r,c as i,a as e,r as _,z as u,l as f,m,F as k,h as y,p as h,A as v,f as S,g as o,w as c,M as d,u as $}from"./index-DnhwPdfm.js";const g={props:{src:String}},C=s=>(f("data-v-0c755b69"),s=s(),m(),s),I=C(()=>e("div",{class:"filter"},null,-1)),b={class:"info"};function x(s,a,l,n,t,N){return r(),i("div",{class:"image",style:u({backgroundImage:"url("+l.src+")"})},[I,e("div",b,[_(s.$slots,"default",{},void 0,!0)])],4)}const O=p(g,[["render",x],["__scopeId","data-v-0c755b69"]]),w={class:"songContent"},H={class:"play"},M=["onClick"],P={class:"info"},B={data(){return fetch("/api/playlists").then(async s=>{this.playlists=await s.json(),this.pick()}),{playlists:[],picks:[]}},mounted(){},methods:{parseCover:h,pick(){this.songs=this.playlists.map(s=>s.songs).flat();for(let s=0;s<4;s++)this.picks.push(this.songs[Math.floor(Math.random()*this.songs.length)])},onScroll(){this.$refs.container.clientHeight+this.$refs.container.scrollTop>=this.$refs.container.scrollHeight-100&&this.pick()},href(s){return`/track/${v(s.id)}`},loadPlaylist(s){fetch("/api/player/load",{method:"POST",body:JSON.stringify({id:s,type:"track"})})}}},E=Object.assign(B,{__name:"Explore",setup(s){return(a,l)=>{const n=S("router-link");return r(),i("div",{ref:"container",class:"explore",onScroll:l[0]||(l[0]=(...t)=>a.onScroll&&a.onScroll(...t))},[(r(!0),i(k,null,y(a.picks,t=>(r(),i("div",{key:t.name,class:"item"},[o(O,{src:$(h)(t.cover)},{default:c(()=>[e("div",w,[e("div",H,[e("span",{id:"loadPlaylist",class:"material-symbols-rounded play",onClick:()=>a.loadPlaylist(t.id)},"play_circle",8,M)]),e("div",P,[o(n,{to:a.href(t),class:"linkOnHover"},{default:c(()=>[e("h1",null,[o(d,{text:t.title},null,8,["text"])])]),_:2},1032,["to"]),o(n,{to:`/search/${t.artist}`,class:"linkOnHover"},{default:c(()=>[e("p",null,[o(d,{text:t.artist},null,8,["text"])])]),_:2},1032,["to"])])])]),_:2},1032,["src"])]))),128))],544)}}}),j=p(E,[["__scopeId","data-v-51105a59"]]);export{j as default}; diff --git a/src/ui/dist/assets/Explore-CImr0VNX.js.gz b/src/ui/dist/assets/Explore-CImr0VNX.js.gz new file mode 100644 index 000000000..da77e3ff1 Binary files /dev/null and b/src/ui/dist/assets/Explore-CImr0VNX.js.gz differ diff --git a/src/ui/dist/assets/Export-b9da4cc1.js b/src/ui/dist/assets/Export-B-H9t4Ft.js similarity index 68% rename from src/ui/dist/assets/Export-b9da4cc1.js rename to src/ui/dist/assets/Export-B-H9t4Ft.js index a8432d979..c73c13960 100644 --- a/src/ui/dist/assets/Export-b9da4cc1.js +++ b/src/ui/dist/assets/Export-B-H9t4Ft.js @@ -1,6 +1,6 @@ -import{H as Yt,C as qt,p as Wt,ab as Ht,_ as wt,i as xt,w as Jt,f as W,o as L,a as _,g as q,c as V,t as N,d as Z,b as yt,F as Bt,aD as dt,ae as Xt,j as zt,I as Kt,h as Zt,l as Qt,m as vt}from"./index-4a15a213.js";import{G as Q}from"./gistClient-56b8a233.js";var gt={},H={};H.byteLength=ir;H.toByteArray=nr;H.fromByteArray=ur;var R=[],T=[],tr=typeof Uint8Array<"u"?Uint8Array:Array,v="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var M=0,rr=v.length;M0)throw new Error("Invalid string. Length must be a multiple of 4");var h=l.indexOf("=");h===-1&&(h=c);var p=h===c?0:4-h%4;return[h,p]}function ir(l){var c=mt(l),h=c[0],p=c[1];return(h+p)*3/4-p}function er(l,c,h){return(c+h)*3/4-h}function nr(l){var c,h=mt(l),p=h[0],y=h[1],f=new tr(er(l,p,y)),a=0,o=y>0?p-4:p,w;for(w=0;w>16&255,f[a++]=c>>8&255,f[a++]=c&255;return y===2&&(c=T[l.charCodeAt(w)]<<2|T[l.charCodeAt(w+1)]>>4,f[a++]=c&255),y===1&&(c=T[l.charCodeAt(w)]<<10|T[l.charCodeAt(w+1)]<<4|T[l.charCodeAt(w+2)]>>2,f[a++]=c>>8&255,f[a++]=c&255),f}function or(l){return R[l>>18&63]+R[l>>12&63]+R[l>>6&63]+R[l&63]}function sr(l,c,h){for(var p,y=[],f=c;fo?o:a+f));return p===1?(c=l[h-1],y.push(R[c>>2]+R[c<<4&63]+"==")):p===2&&(c=(l[h-2]<<8)+l[h-1],y.push(R[c>>10]+R[c>>4&63]+R[c<<2&63]+"=")),y.join("")}var tt={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */tt.read=function(l,c,h,p,y){var f,a,o=y*8-p-1,w=(1<>1,I=-7,F=h?y-1:0,P=h?-1:1,A=l[c+F];for(F+=P,f=A&(1<<-I)-1,A>>=-I,I+=o;I>0;f=f*256+l[c+F],F+=P,I-=8);for(a=f&(1<<-I)-1,f>>=-I,I+=p;I>0;a=a*256+l[c+F],F+=P,I-=8);if(f===0)f=1-C;else{if(f===w)return a?NaN:(A?-1:1)*(1/0);a=a+Math.pow(2,p),f=f-C}return(A?-1:1)*a*Math.pow(2,f-p)};tt.write=function(l,c,h,p,y,f){var a,o,w,C=f*8-y-1,I=(1<>1,P=y===23?Math.pow(2,-24)-Math.pow(2,-77):0,A=p?0:f-1,O=p?1:-1,G=c<0||c===0&&1/c<0?1:0;for(c=Math.abs(c),isNaN(c)||c===1/0?(o=isNaN(c)?1:0,a=I):(a=Math.floor(Math.log(c)/Math.LN2),c*(w=Math.pow(2,-a))<1&&(a--,w*=2),a+F>=1?c+=P/w:c+=P*Math.pow(2,1-F),c*w>=2&&(a++,w/=2),a+F>=I?(o=0,a=I):a+F>=1?(o=(c*w-1)*Math.pow(2,y),a=a+F):(o=c*Math.pow(2,F-1)*Math.pow(2,y),a=0));y>=8;l[h+A]=o&255,A+=O,o/=256,y-=8);for(a=a<0;l[h+A]=a&255,A+=O,a/=256,C-=8);l[h+A-O]|=G*128};/*! +import{H as Yt,C as qt,p as Wt,ac as Ht,_ as wt,i as xt,f as W,o as N,w as Jt,a as A,g as q,c as V,t as L,d as Z,b as yt,F as Bt,aC as dt,af as Xt,j as zt,I as Kt,h as Zt,l as Qt,m as vt}from"./index-DnhwPdfm.js";import{G as Q}from"./gistClient-BQBNGijJ.js";var gt={},H={};H.byteLength=ir;H.toByteArray=nr;H.fromByteArray=ur;var R=[],T=[],tr=typeof Uint8Array<"u"?Uint8Array:Array,v="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var $=0,rr=v.length;$0)throw new Error("Invalid string. Length must be a multiple of 4");var h=l.indexOf("=");h===-1&&(h=c);var p=h===c?0:4-h%4;return[h,p]}function ir(l){var c=mt(l),h=c[0],p=c[1];return(h+p)*3/4-p}function er(l,c,h){return(c+h)*3/4-h}function nr(l){var c,h=mt(l),p=h[0],y=h[1],f=new tr(er(l,p,y)),a=0,o=y>0?p-4:p,w;for(w=0;w>16&255,f[a++]=c>>8&255,f[a++]=c&255;return y===2&&(c=T[l.charCodeAt(w)]<<2|T[l.charCodeAt(w+1)]>>4,f[a++]=c&255),y===1&&(c=T[l.charCodeAt(w)]<<10|T[l.charCodeAt(w+1)]<<4|T[l.charCodeAt(w+2)]>>2,f[a++]=c>>8&255,f[a++]=c&255),f}function or(l){return R[l>>18&63]+R[l>>12&63]+R[l>>6&63]+R[l&63]}function sr(l,c,h){for(var p,y=[],f=c;fo?o:a+f));return p===1?(c=l[h-1],y.push(R[c>>2]+R[c<<4&63]+"==")):p===2&&(c=(l[h-2]<<8)+l[h-1],y.push(R[c>>10]+R[c>>4&63]+R[c<<2&63]+"=")),y.join("")}var tt={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */tt.read=function(l,c,h,p,y){var f,a,o=y*8-p-1,w=(1<>1,I=-7,F=h?y-1:0,P=h?-1:1,_=l[c+F];for(F+=P,f=_&(1<<-I)-1,_>>=-I,I+=o;I>0;f=f*256+l[c+F],F+=P,I-=8);for(a=f&(1<<-I)-1,f>>=-I,I+=p;I>0;a=a*256+l[c+F],F+=P,I-=8);if(f===0)f=1-C;else{if(f===w)return a?NaN:(_?-1:1)*(1/0);a=a+Math.pow(2,p),f=f-C}return(_?-1:1)*a*Math.pow(2,f-p)};tt.write=function(l,c,h,p,y,f){var a,o,w,C=f*8-y-1,I=(1<>1,P=y===23?Math.pow(2,-24)-Math.pow(2,-77):0,_=p?0:f-1,O=p?1:-1,G=c<0||c===0&&1/c<0?1:0;for(c=Math.abs(c),isNaN(c)||c===1/0?(o=isNaN(c)?1:0,a=I):(a=Math.floor(Math.log(c)/Math.LN2),c*(w=Math.pow(2,-a))<1&&(a--,w*=2),a+F>=1?c+=P/w:c+=P*Math.pow(2,1-F),c*w>=2&&(a++,w/=2),a+F>=I?(o=0,a=I):a+F>=1?(o=(c*w-1)*Math.pow(2,y),a=a+F):(o=c*Math.pow(2,F-1)*Math.pow(2,y),a=0));y>=8;l[h+_]=o&255,_+=O,o/=256,y-=8);for(a=a<0;l[h+_]=a&255,_+=O,a/=256,C-=8);l[h+_-O]|=G*128};/*! * The buffer module from node.js, for the browser. * * @author Feross Aboukhadijeh * @license MIT - */(function(l){const c=H,h=tt,p=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;l.Buffer=o,l.SlowBuffer=Ft,l.INSPECT_MAX_BYTES=50;const y=2147483647;l.kMaxLength=y,o.TYPED_ARRAY_SUPPORT=f(),!o.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function f(){try{const i=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(i,t),i.foo()===42}catch{return!1}}Object.defineProperty(o.prototype,"parent",{enumerable:!0,get:function(){if(o.isBuffer(this))return this.buffer}}),Object.defineProperty(o.prototype,"offset",{enumerable:!0,get:function(){if(o.isBuffer(this))return this.byteOffset}});function a(i){if(i>y)throw new RangeError('The value "'+i+'" is invalid for option "size"');const t=new Uint8Array(i);return Object.setPrototypeOf(t,o.prototype),t}function o(i,t,r){if(typeof i=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return F(i)}return w(i,t,r)}o.poolSize=8192;function w(i,t,r){if(typeof i=="string")return P(i,t);if(ArrayBuffer.isView(i))return O(i);if(i==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof i);if(S(i,ArrayBuffer)||i&&S(i.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(S(i,SharedArrayBuffer)||i&&S(i.buffer,SharedArrayBuffer)))return G(i,t,r);if(typeof i=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const e=i.valueOf&&i.valueOf();if(e!=null&&e!==i)return o.from(e,t,r);const n=It(i);if(n)return n;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof i[Symbol.toPrimitive]=="function")return o.from(i[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof i)}o.from=function(i,t,r){return w(i,t,r)},Object.setPrototypeOf(o.prototype,Uint8Array.prototype),Object.setPrototypeOf(o,Uint8Array);function C(i){if(typeof i!="number")throw new TypeError('"size" argument must be of type number');if(i<0)throw new RangeError('The value "'+i+'" is invalid for option "size"')}function I(i,t,r){return C(i),i<=0?a(i):t!==void 0?typeof r=="string"?a(i).fill(t,r):a(i).fill(t):a(i)}o.alloc=function(i,t,r){return I(i,t,r)};function F(i){return C(i),a(i<0?0:J(i)|0)}o.allocUnsafe=function(i){return F(i)},o.allocUnsafeSlow=function(i){return F(i)};function P(i,t){if((typeof t!="string"||t==="")&&(t="utf8"),!o.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const r=rt(i,t)|0;let e=a(r);const n=e.write(i,t);return n!==r&&(e=e.slice(0,n)),e}function A(i){const t=i.length<0?0:J(i.length)|0,r=a(t);for(let e=0;e=y)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+y.toString(16)+" bytes");return i|0}function Ft(i){return+i!=i&&(i=0),o.alloc(+i)}o.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==o.prototype},o.compare=function(t,r){if(S(t,Uint8Array)&&(t=o.from(t,t.offset,t.byteLength)),S(r,Uint8Array)&&(r=o.from(r,r.offset,r.byteLength)),!o.isBuffer(t)||!o.isBuffer(r))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===r)return 0;let e=t.length,n=r.length;for(let s=0,u=Math.min(e,n);sn.length?(o.isBuffer(u)||(u=o.from(u)),u.copy(n,s)):Uint8Array.prototype.set.call(n,u,s);else if(o.isBuffer(u))u.copy(n,s);else throw new TypeError('"list" argument must be an Array of Buffers');s+=u.length}return n};function rt(i,t){if(o.isBuffer(i))return i.length;if(ArrayBuffer.isView(i)||S(i,ArrayBuffer))return i.byteLength;if(typeof i!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof i);const r=i.length,e=arguments.length>2&&arguments[2]===!0;if(!e&&r===0)return 0;let n=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return z(i).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return pt(i).length;default:if(n)return e?-1:z(i).length;t=(""+t).toLowerCase(),n=!0}}o.byteLength=rt;function _t(i,t,r){let e=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(i||(i="utf8");;)switch(i){case"hex":return Nt(this,t,r);case"utf8":case"utf-8":return nt(this,t,r);case"ascii":return bt(this,t,r);case"latin1":case"binary":return kt(this,t,r);case"base64":return Rt(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Lt(this,t,r);default:if(e)throw new TypeError("Unknown encoding: "+i);i=(i+"").toLowerCase(),e=!0}}o.prototype._isBuffer=!0;function k(i,t,r){const e=i[t];i[t]=i[r],i[r]=e}o.prototype.swap16=function(){const t=this.length;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let r=0;rr&&(t+=" ... "),""},p&&(o.prototype[p]=o.prototype.inspect),o.prototype.compare=function(t,r,e,n,s){if(S(t,Uint8Array)&&(t=o.from(t,t.offset,t.byteLength)),!o.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(r===void 0&&(r=0),e===void 0&&(e=t?t.length:0),n===void 0&&(n=0),s===void 0&&(s=this.length),r<0||e>t.length||n<0||s>this.length)throw new RangeError("out of range index");if(n>=s&&r>=e)return 0;if(n>=s)return-1;if(r>=e)return 1;if(r>>>=0,e>>>=0,n>>>=0,s>>>=0,this===t)return 0;let u=s-n,d=e-r;const g=Math.min(u,d),B=this.slice(n,s),m=t.slice(r,e);for(let x=0;x2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,K(r)&&(r=n?0:i.length-1),r<0&&(r=i.length+r),r>=i.length){if(n)return-1;r=i.length-1}else if(r<0)if(n)r=0;else return-1;if(typeof t=="string"&&(t=o.from(t,e)),o.isBuffer(t))return t.length===0?-1:et(i,t,r,e,n);if(typeof t=="number")return t=t&255,typeof Uint8Array.prototype.indexOf=="function"?n?Uint8Array.prototype.indexOf.call(i,t,r):Uint8Array.prototype.lastIndexOf.call(i,t,r):et(i,[t],r,e,n);throw new TypeError("val must be string, number or Buffer")}function et(i,t,r,e,n){let s=1,u=i.length,d=t.length;if(e!==void 0&&(e=String(e).toLowerCase(),e==="ucs2"||e==="ucs-2"||e==="utf16le"||e==="utf-16le")){if(i.length<2||t.length<2)return-1;s=2,u/=2,d/=2,r/=2}function g(m,x){return s===1?m[x]:m.readUInt16BE(x*s)}let B;if(n){let m=-1;for(B=r;Bu&&(r=u-d),B=r;B>=0;B--){let m=!0;for(let x=0;xn&&(e=n)):e=n;const s=t.length;e>s/2&&(e=s/2);let u;for(u=0;u>>0,isFinite(e)?(e=e>>>0,n===void 0&&(n="utf8")):(n=e,e=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const s=this.length-r;if((e===void 0||e>s)&&(e=s),t.length>0&&(e<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let u=!1;for(;;)switch(n){case"hex":return At(this,t,r,e);case"utf8":case"utf-8":return Ut(this,t,r,e);case"ascii":case"latin1":case"binary":return Ct(this,t,r,e);case"base64":return Tt(this,t,r,e);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return St(this,t,r,e);default:if(u)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),u=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Rt(i,t,r){return t===0&&r===i.length?c.fromByteArray(i):c.fromByteArray(i.slice(t,r))}function nt(i,t,r){r=Math.min(i.length,r);const e=[];let n=t;for(;n239?4:s>223?3:s>191?2:1;if(n+d<=r){let g,B,m,x;switch(d){case 1:s<128&&(u=s);break;case 2:g=i[n+1],(g&192)===128&&(x=(s&31)<<6|g&63,x>127&&(u=x));break;case 3:g=i[n+1],B=i[n+2],(g&192)===128&&(B&192)===128&&(x=(s&15)<<12|(g&63)<<6|B&63,x>2047&&(x<55296||x>57343)&&(u=x));break;case 4:g=i[n+1],B=i[n+2],m=i[n+3],(g&192)===128&&(B&192)===128&&(m&192)===128&&(x=(s&15)<<18|(g&63)<<12|(B&63)<<6|m&63,x>65535&&x<1114112&&(u=x))}}u===null?(u=65533,d=1):u>65535&&(u-=65536,e.push(u>>>10&1023|55296),u=56320|u&1023),e.push(u),n+=d}return Pt(e)}const ot=4096;function Pt(i){const t=i.length;if(t<=ot)return String.fromCharCode.apply(String,i);let r="",e=0;for(;ee)&&(r=e);let n="";for(let s=t;se&&(t=e),r<0?(r+=e,r<0&&(r=0)):r>e&&(r=e),rr)throw new RangeError("Trying to access beyond buffer length")}o.prototype.readUintLE=o.prototype.readUIntLE=function(t,r,e){t=t>>>0,r=r>>>0,e||E(t,r,this.length);let n=this[t],s=1,u=0;for(;++u>>0,r=r>>>0,e||E(t,r,this.length);let n=this[t+--r],s=1;for(;r>0&&(s*=256);)n+=this[t+--r]*s;return n},o.prototype.readUint8=o.prototype.readUInt8=function(t,r){return t=t>>>0,r||E(t,1,this.length),this[t]},o.prototype.readUint16LE=o.prototype.readUInt16LE=function(t,r){return t=t>>>0,r||E(t,2,this.length),this[t]|this[t+1]<<8},o.prototype.readUint16BE=o.prototype.readUInt16BE=function(t,r){return t=t>>>0,r||E(t,2,this.length),this[t]<<8|this[t+1]},o.prototype.readUint32LE=o.prototype.readUInt32LE=function(t,r){return t=t>>>0,r||E(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216},o.prototype.readUint32BE=o.prototype.readUInt32BE=function(t,r){return t=t>>>0,r||E(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])},o.prototype.readBigUInt64LE=b(function(t){t=t>>>0,D(t,"offset");const r=this[t],e=this[t+7];(r===void 0||e===void 0)&&j(t,this.length-8);const n=r+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24,s=this[++t]+this[++t]*2**8+this[++t]*2**16+e*2**24;return BigInt(n)+(BigInt(s)<>>0,D(t,"offset");const r=this[t],e=this[t+7];(r===void 0||e===void 0)&&j(t,this.length-8);const n=r*2**24+this[++t]*2**16+this[++t]*2**8+this[++t],s=this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+e;return(BigInt(n)<>>0,r=r>>>0,e||E(t,r,this.length);let n=this[t],s=1,u=0;for(;++u=s&&(n-=Math.pow(2,8*r)),n},o.prototype.readIntBE=function(t,r,e){t=t>>>0,r=r>>>0,e||E(t,r,this.length);let n=r,s=1,u=this[t+--n];for(;n>0&&(s*=256);)u+=this[t+--n]*s;return s*=128,u>=s&&(u-=Math.pow(2,8*r)),u},o.prototype.readInt8=function(t,r){return t=t>>>0,r||E(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]},o.prototype.readInt16LE=function(t,r){t=t>>>0,r||E(t,2,this.length);const e=this[t]|this[t+1]<<8;return e&32768?e|4294901760:e},o.prototype.readInt16BE=function(t,r){t=t>>>0,r||E(t,2,this.length);const e=this[t+1]|this[t]<<8;return e&32768?e|4294901760:e},o.prototype.readInt32LE=function(t,r){return t=t>>>0,r||E(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},o.prototype.readInt32BE=function(t,r){return t=t>>>0,r||E(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},o.prototype.readBigInt64LE=b(function(t){t=t>>>0,D(t,"offset");const r=this[t],e=this[t+7];(r===void 0||e===void 0)&&j(t,this.length-8);const n=this[t+4]+this[t+5]*2**8+this[t+6]*2**16+(e<<24);return(BigInt(n)<>>0,D(t,"offset");const r=this[t],e=this[t+7];(r===void 0||e===void 0)&&j(t,this.length-8);const n=(r<<24)+this[++t]*2**16+this[++t]*2**8+this[++t];return(BigInt(n)<>>0,r||E(t,4,this.length),h.read(this,t,!0,23,4)},o.prototype.readFloatBE=function(t,r){return t=t>>>0,r||E(t,4,this.length),h.read(this,t,!1,23,4)},o.prototype.readDoubleLE=function(t,r){return t=t>>>0,r||E(t,8,this.length),h.read(this,t,!0,52,8)},o.prototype.readDoubleBE=function(t,r){return t=t>>>0,r||E(t,8,this.length),h.read(this,t,!1,52,8)};function U(i,t,r,e,n,s){if(!o.isBuffer(i))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>n||ti.length)throw new RangeError("Index out of range")}o.prototype.writeUintLE=o.prototype.writeUIntLE=function(t,r,e,n){if(t=+t,r=r>>>0,e=e>>>0,!n){const d=Math.pow(2,8*e)-1;U(this,t,r,e,d,0)}let s=1,u=0;for(this[r]=t&255;++u>>0,e=e>>>0,!n){const d=Math.pow(2,8*e)-1;U(this,t,r,e,d,0)}let s=e-1,u=1;for(this[r+s]=t&255;--s>=0&&(u*=256);)this[r+s]=t/u&255;return r+e},o.prototype.writeUint8=o.prototype.writeUInt8=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,1,255,0),this[r]=t&255,r+1},o.prototype.writeUint16LE=o.prototype.writeUInt16LE=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,2,65535,0),this[r]=t&255,this[r+1]=t>>>8,r+2},o.prototype.writeUint16BE=o.prototype.writeUInt16BE=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,2,65535,0),this[r]=t>>>8,this[r+1]=t&255,r+2},o.prototype.writeUint32LE=o.prototype.writeUInt32LE=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,4,4294967295,0),this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=t&255,r+4},o.prototype.writeUint32BE=o.prototype.writeUInt32BE=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,4,4294967295,0),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};function st(i,t,r,e,n){ft(t,e,n,i,r,7);let s=Number(t&BigInt(4294967295));i[r++]=s,s=s>>8,i[r++]=s,s=s>>8,i[r++]=s,s=s>>8,i[r++]=s;let u=Number(t>>BigInt(32)&BigInt(4294967295));return i[r++]=u,u=u>>8,i[r++]=u,u=u>>8,i[r++]=u,u=u>>8,i[r++]=u,r}function ut(i,t,r,e,n){ft(t,e,n,i,r,7);let s=Number(t&BigInt(4294967295));i[r+7]=s,s=s>>8,i[r+6]=s,s=s>>8,i[r+5]=s,s=s>>8,i[r+4]=s;let u=Number(t>>BigInt(32)&BigInt(4294967295));return i[r+3]=u,u=u>>8,i[r+2]=u,u=u>>8,i[r+1]=u,u=u>>8,i[r]=u,r+8}o.prototype.writeBigUInt64LE=b(function(t,r=0){return st(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))}),o.prototype.writeBigUInt64BE=b(function(t,r=0){return ut(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))}),o.prototype.writeIntLE=function(t,r,e,n){if(t=+t,r=r>>>0,!n){const g=Math.pow(2,8*e-1);U(this,t,r,e,g-1,-g)}let s=0,u=1,d=0;for(this[r]=t&255;++s>0)-d&255;return r+e},o.prototype.writeIntBE=function(t,r,e,n){if(t=+t,r=r>>>0,!n){const g=Math.pow(2,8*e-1);U(this,t,r,e,g-1,-g)}let s=e-1,u=1,d=0;for(this[r+s]=t&255;--s>=0&&(u*=256);)t<0&&d===0&&this[r+s+1]!==0&&(d=1),this[r+s]=(t/u>>0)-d&255;return r+e},o.prototype.writeInt8=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,1,127,-128),t<0&&(t=255+t+1),this[r]=t&255,r+1},o.prototype.writeInt16LE=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,2,32767,-32768),this[r]=t&255,this[r+1]=t>>>8,r+2},o.prototype.writeInt16BE=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,2,32767,-32768),this[r]=t>>>8,this[r+1]=t&255,r+2},o.prototype.writeInt32LE=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,4,2147483647,-2147483648),this[r]=t&255,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24,r+4},o.prototype.writeInt32BE=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4},o.prototype.writeBigInt64LE=b(function(t,r=0){return st(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),o.prototype.writeBigInt64BE=b(function(t,r=0){return ut(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function lt(i,t,r,e,n,s){if(r+e>i.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function ct(i,t,r,e,n){return t=+t,r=r>>>0,n||lt(i,t,r,4),h.write(i,t,r,e,23,4),r+4}o.prototype.writeFloatLE=function(t,r,e){return ct(this,t,r,!0,e)},o.prototype.writeFloatBE=function(t,r,e){return ct(this,t,r,!1,e)};function at(i,t,r,e,n){return t=+t,r=r>>>0,n||lt(i,t,r,8),h.write(i,t,r,e,52,8),r+8}o.prototype.writeDoubleLE=function(t,r,e){return at(this,t,r,!0,e)},o.prototype.writeDoubleBE=function(t,r,e){return at(this,t,r,!1,e)},o.prototype.copy=function(t,r,e,n){if(!o.isBuffer(t))throw new TypeError("argument should be a Buffer");if(e||(e=0),!n&&n!==0&&(n=this.length),r>=t.length&&(r=t.length),r||(r=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-r>>0,e=e===void 0?this.length:e>>>0,t||(t=0);let s;if(typeof t=="number")for(s=r;s2**32?n=ht(String(r)):typeof r=="bigint"&&(n=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(n=ht(n)),n+="n"),e+=` It must be ${t}. Received ${n}`,e},RangeError);function ht(i){let t="",r=i.length;const e=i[0]==="-"?1:0;for(;r>=e+4;r-=3)t=`_${i.slice(r-3,r)}${t}`;return`${i.slice(0,r)}${t}`}function $t(i,t,r){D(t,"offset"),(i[t]===void 0||i[t+r]===void 0)&&j(t,i.length-(r+1))}function ft(i,t,r,e,n,s){if(i>r||i3?t===0||t===BigInt(0)?d=`>= 0${u} and < 2${u} ** ${(s+1)*8}${u}`:d=`>= -(2${u} ** ${(s+1)*8-1}${u}) and < 2 ** ${(s+1)*8-1}${u}`:d=`>= ${t}${u} and <= ${r}${u}`,new $.ERR_OUT_OF_RANGE("value",d,i)}$t(e,n,s)}function D(i,t){if(typeof i!="number")throw new $.ERR_INVALID_ARG_TYPE(t,"number",i)}function j(i,t,r){throw Math.floor(i)!==i?(D(i,r),new $.ERR_OUT_OF_RANGE(r||"offset","an integer",i)):t<0?new $.ERR_BUFFER_OUT_OF_BOUNDS:new $.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,i)}const Dt=/[^+/0-9A-Za-z-_]/g;function Mt(i){if(i=i.split("=")[0],i=i.trim().replace(Dt,""),i.length<2)return"";for(;i.length%4!==0;)i=i+"=";return i}function z(i,t){t=t||1/0;let r;const e=i.length;let n=null;const s=[];for(let u=0;u55295&&r<57344){if(!n){if(r>56319){(t-=3)>-1&&s.push(239,191,189);continue}else if(u+1===e){(t-=3)>-1&&s.push(239,191,189);continue}n=r;continue}if(r<56320){(t-=3)>-1&&s.push(239,191,189),n=r;continue}r=(n-55296<<10|r-56320)+65536}else n&&(t-=3)>-1&&s.push(239,191,189);if(n=null,r<128){if((t-=1)<0)break;s.push(r)}else if(r<2048){if((t-=2)<0)break;s.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;s.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return s}function Ot(i){const t=[];for(let r=0;r>8,n=r%256,s.push(n),s.push(e);return s}function pt(i){return c.toByteArray(Mt(i))}function Y(i,t,r,e){let n;for(n=0;n=t.length||n>=i.length);++n)t[n+r]=i[n];return n}function S(i,t){return i instanceof t||i!=null&&i.constructor!=null&&i.constructor.name!=null&&i.constructor.name===t.name}function K(i){return i!==i}const jt=function(){const i="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){const e=r*16;for(let n=0;n<16;++n)t[e+n]=i[r]+i[n]}return t}();function b(i){return typeof BigInt>"u"?Vt:i}function Vt(){throw new Error("BigInt not supported")}})(gt);const lr={name:"cloudPlaylist",components:{Cover:Yt,Card:qt},props:{playlist:Object,localPlaylists:Array,cloudPlaylists:Array},data(){return{statusText:"",toAdd:[]}},methods:{parseCover:Wt,async import(){if(this.statusIcon!="cloud_done"){if(this.statusIcon=="cloud_sync"){for(let l=0;ly.name==this.playlist.name))==null?void 0:h[0];if(!c)return this.localPlaylists?"cloud":"cloud_off";if(this.playlist.description!=c.description)return"cloud_sync";this.toAdd=[];for(let y=0;y[_("span",{class:"close material-symbols-rounded",onClick:c[0]||(c[0]=()=>l.$emit("remove"))},"close"),q(a,{src:f.cover},null,8,["src"]),_("div",cr,[_("div",ar,[h.playlist.type!="classic"?(L(),V("span",hr,N(h.playlist.type=="smart"?"neurology":"bolt"),1)):Z("",!0),_("h4",null,N(h.playlist.name),1)]),_("div",fr,[yt(N(h.playlist.songs.length)+" "+N(h.playlist.songs.length==1?"song":"songs"),1),h.playlist.description?(L(),V(Bt,{key:0},[yt(" • "),_("i",null,N(h.playlist.description),1)],64)):Z("",!0)]),_("div",pr,[_("span",yr,N(f.statusIcon),1),y.statusText?(L(),V("div",dr,[_("i",null,N(y.statusText),1)])):Z("",!0)])])]),_:1})}const xr=wt(lr,[["render",wr],["__scopeId","data-v-572c1094"]]);window.Buffer=gt.Buffer;const Br={name:"import",methods:{async downloadFile(){const l=await dt(this.playlists);Xt(l)},async openGist(){window.open(await Q.gistUrl(),"_blank")},async upload(){const l=await dt(this.playlists);console.log(await Q.saveOrUpdate({"my.one.collection":l})),this.fetchGists()},async fetchGists(){this.cloudPlaylists=await Q.getContent()},async fetchLocalPlaylists(){var l,c;if(!this.loadingPlaylists){this.loadingPlaylists=!0,this.playlists=[];for(const h of(c=(l=this.dataStore)==null?void 0:l.playlists)==null?void 0:c.filter(p=>p.type!="special")){const p=Object.assign({},h);this.playlists.push(p)}this.loadingPlaylists=!1}}},watch:{dataStore:{handler(l,c){this.fetchLocalPlaylists()},deep:!0}},mounted(){this.fetchLocalPlaylists()},data(){return this.fetchGists(),{playlists:[],loadingPlaylists:!1,userData:{},cloudPlaylists:[],dataStore:zt()}},components:{IconButton:Kt,CloudPlaylist:xr}};const Et=l=>(Qt("data-v-fad8b539"),l=l(),vt(),l),gr={class:"export"},mr={class:"action"},Er=Et(()=>_("h1",null,"Save to File",-1)),Ir={class:"action"},Fr=Et(()=>_("h1",null,"Save to Github Gists",-1)),_r={class:"flex flex-row gap-2"},Ar={class:"data"};function Ur(l,c,h,p,y,f){const a=W("IconButton"),o=W("CloudPlaylist");return L(),V("div",gr,[_("div",mr,[Er,q(a,{icon:"file_download",label:"Save",onClick:f.downloadFile},null,8,["onClick"])]),_("div",Ir,[Fr,_("div",_r,[q(a,{icon:"cloud_upload",label:"Synchronise",onClick:f.upload},null,8,["onClick"]),q(a,{icon:"link",label:"Browse",onClick:f.openGist},null,8,["onClick"])])]),_("div",Ar,[(L(!0),V(Bt,null,Zt(y.playlists,(w,C)=>(L(),xt(o,{key:C,cloudPlaylists:y.cloudPlaylists,playlist:w,onRemove:()=>y.playlists.splice(C,1)},null,8,["cloudPlaylists","playlist","onRemove"]))),128))])])}const Rr=wt(Br,[["render",Ur],["__scopeId","data-v-fad8b539"]]);export{Rr as default}; + */(function(l){const c=H,h=tt,p=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;l.Buffer=o,l.SlowBuffer=Ft,l.INSPECT_MAX_BYTES=50;const y=2147483647;l.kMaxLength=y,o.TYPED_ARRAY_SUPPORT=f(),!o.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function f(){try{const i=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(i,t),i.foo()===42}catch{return!1}}Object.defineProperty(o.prototype,"parent",{enumerable:!0,get:function(){if(o.isBuffer(this))return this.buffer}}),Object.defineProperty(o.prototype,"offset",{enumerable:!0,get:function(){if(o.isBuffer(this))return this.byteOffset}});function a(i){if(i>y)throw new RangeError('The value "'+i+'" is invalid for option "size"');const t=new Uint8Array(i);return Object.setPrototypeOf(t,o.prototype),t}function o(i,t,r){if(typeof i=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return F(i)}return w(i,t,r)}o.poolSize=8192;function w(i,t,r){if(typeof i=="string")return P(i,t);if(ArrayBuffer.isView(i))return O(i);if(i==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof i);if(S(i,ArrayBuffer)||i&&S(i.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(S(i,SharedArrayBuffer)||i&&S(i.buffer,SharedArrayBuffer)))return G(i,t,r);if(typeof i=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const e=i.valueOf&&i.valueOf();if(e!=null&&e!==i)return o.from(e,t,r);const n=It(i);if(n)return n;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof i[Symbol.toPrimitive]=="function")return o.from(i[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof i)}o.from=function(i,t,r){return w(i,t,r)},Object.setPrototypeOf(o.prototype,Uint8Array.prototype),Object.setPrototypeOf(o,Uint8Array);function C(i){if(typeof i!="number")throw new TypeError('"size" argument must be of type number');if(i<0)throw new RangeError('The value "'+i+'" is invalid for option "size"')}function I(i,t,r){return C(i),i<=0?a(i):t!==void 0?typeof r=="string"?a(i).fill(t,r):a(i).fill(t):a(i)}o.alloc=function(i,t,r){return I(i,t,r)};function F(i){return C(i),a(i<0?0:J(i)|0)}o.allocUnsafe=function(i){return F(i)},o.allocUnsafeSlow=function(i){return F(i)};function P(i,t){if((typeof t!="string"||t==="")&&(t="utf8"),!o.isEncoding(t))throw new TypeError("Unknown encoding: "+t);const r=rt(i,t)|0;let e=a(r);const n=e.write(i,t);return n!==r&&(e=e.slice(0,n)),e}function _(i){const t=i.length<0?0:J(i.length)|0,r=a(t);for(let e=0;e=y)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+y.toString(16)+" bytes");return i|0}function Ft(i){return+i!=i&&(i=0),o.alloc(+i)}o.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==o.prototype},o.compare=function(t,r){if(S(t,Uint8Array)&&(t=o.from(t,t.offset,t.byteLength)),S(r,Uint8Array)&&(r=o.from(r,r.offset,r.byteLength)),!o.isBuffer(t)||!o.isBuffer(r))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===r)return 0;let e=t.length,n=r.length;for(let s=0,u=Math.min(e,n);sn.length?(o.isBuffer(u)||(u=o.from(u)),u.copy(n,s)):Uint8Array.prototype.set.call(n,u,s);else if(o.isBuffer(u))u.copy(n,s);else throw new TypeError('"list" argument must be an Array of Buffers');s+=u.length}return n};function rt(i,t){if(o.isBuffer(i))return i.length;if(ArrayBuffer.isView(i)||S(i,ArrayBuffer))return i.byteLength;if(typeof i!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof i);const r=i.length,e=arguments.length>2&&arguments[2]===!0;if(!e&&r===0)return 0;let n=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return z(i).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return pt(i).length;default:if(n)return e?-1:z(i).length;t=(""+t).toLowerCase(),n=!0}}o.byteLength=rt;function At(i,t,r){let e=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(i||(i="utf8");;)switch(i){case"hex":return Lt(this,t,r);case"utf8":case"utf-8":return nt(this,t,r);case"ascii":return bt(this,t,r);case"latin1":case"binary":return kt(this,t,r);case"base64":return Rt(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Nt(this,t,r);default:if(e)throw new TypeError("Unknown encoding: "+i);i=(i+"").toLowerCase(),e=!0}}o.prototype._isBuffer=!0;function k(i,t,r){const e=i[t];i[t]=i[r],i[r]=e}o.prototype.swap16=function(){const t=this.length;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let r=0;rr&&(t+=" ... "),""},p&&(o.prototype[p]=o.prototype.inspect),o.prototype.compare=function(t,r,e,n,s){if(S(t,Uint8Array)&&(t=o.from(t,t.offset,t.byteLength)),!o.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(r===void 0&&(r=0),e===void 0&&(e=t?t.length:0),n===void 0&&(n=0),s===void 0&&(s=this.length),r<0||e>t.length||n<0||s>this.length)throw new RangeError("out of range index");if(n>=s&&r>=e)return 0;if(n>=s)return-1;if(r>=e)return 1;if(r>>>=0,e>>>=0,n>>>=0,s>>>=0,this===t)return 0;let u=s-n,d=e-r;const g=Math.min(u,d),B=this.slice(n,s),m=t.slice(r,e);for(let x=0;x2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,K(r)&&(r=n?0:i.length-1),r<0&&(r=i.length+r),r>=i.length){if(n)return-1;r=i.length-1}else if(r<0)if(n)r=0;else return-1;if(typeof t=="string"&&(t=o.from(t,e)),o.isBuffer(t))return t.length===0?-1:et(i,t,r,e,n);if(typeof t=="number")return t=t&255,typeof Uint8Array.prototype.indexOf=="function"?n?Uint8Array.prototype.indexOf.call(i,t,r):Uint8Array.prototype.lastIndexOf.call(i,t,r):et(i,[t],r,e,n);throw new TypeError("val must be string, number or Buffer")}function et(i,t,r,e,n){let s=1,u=i.length,d=t.length;if(e!==void 0&&(e=String(e).toLowerCase(),e==="ucs2"||e==="ucs-2"||e==="utf16le"||e==="utf-16le")){if(i.length<2||t.length<2)return-1;s=2,u/=2,d/=2,r/=2}function g(m,x){return s===1?m[x]:m.readUInt16BE(x*s)}let B;if(n){let m=-1;for(B=r;Bu&&(r=u-d),B=r;B>=0;B--){let m=!0;for(let x=0;xn&&(e=n)):e=n;const s=t.length;e>s/2&&(e=s/2);let u;for(u=0;u>>0,isFinite(e)?(e=e>>>0,n===void 0&&(n="utf8")):(n=e,e=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const s=this.length-r;if((e===void 0||e>s)&&(e=s),t.length>0&&(e<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let u=!1;for(;;)switch(n){case"hex":return _t(this,t,r,e);case"utf8":case"utf-8":return Ut(this,t,r,e);case"ascii":case"latin1":case"binary":return Ct(this,t,r,e);case"base64":return Tt(this,t,r,e);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return St(this,t,r,e);default:if(u)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),u=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Rt(i,t,r){return t===0&&r===i.length?c.fromByteArray(i):c.fromByteArray(i.slice(t,r))}function nt(i,t,r){r=Math.min(i.length,r);const e=[];let n=t;for(;n239?4:s>223?3:s>191?2:1;if(n+d<=r){let g,B,m,x;switch(d){case 1:s<128&&(u=s);break;case 2:g=i[n+1],(g&192)===128&&(x=(s&31)<<6|g&63,x>127&&(u=x));break;case 3:g=i[n+1],B=i[n+2],(g&192)===128&&(B&192)===128&&(x=(s&15)<<12|(g&63)<<6|B&63,x>2047&&(x<55296||x>57343)&&(u=x));break;case 4:g=i[n+1],B=i[n+2],m=i[n+3],(g&192)===128&&(B&192)===128&&(m&192)===128&&(x=(s&15)<<18|(g&63)<<12|(B&63)<<6|m&63,x>65535&&x<1114112&&(u=x))}}u===null?(u=65533,d=1):u>65535&&(u-=65536,e.push(u>>>10&1023|55296),u=56320|u&1023),e.push(u),n+=d}return Pt(e)}const ot=4096;function Pt(i){const t=i.length;if(t<=ot)return String.fromCharCode.apply(String,i);let r="",e=0;for(;ee)&&(r=e);let n="";for(let s=t;se&&(t=e),r<0?(r+=e,r<0&&(r=0)):r>e&&(r=e),rr)throw new RangeError("Trying to access beyond buffer length")}o.prototype.readUintLE=o.prototype.readUIntLE=function(t,r,e){t=t>>>0,r=r>>>0,e||E(t,r,this.length);let n=this[t],s=1,u=0;for(;++u>>0,r=r>>>0,e||E(t,r,this.length);let n=this[t+--r],s=1;for(;r>0&&(s*=256);)n+=this[t+--r]*s;return n},o.prototype.readUint8=o.prototype.readUInt8=function(t,r){return t=t>>>0,r||E(t,1,this.length),this[t]},o.prototype.readUint16LE=o.prototype.readUInt16LE=function(t,r){return t=t>>>0,r||E(t,2,this.length),this[t]|this[t+1]<<8},o.prototype.readUint16BE=o.prototype.readUInt16BE=function(t,r){return t=t>>>0,r||E(t,2,this.length),this[t]<<8|this[t+1]},o.prototype.readUint32LE=o.prototype.readUInt32LE=function(t,r){return t=t>>>0,r||E(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216},o.prototype.readUint32BE=o.prototype.readUInt32BE=function(t,r){return t=t>>>0,r||E(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])},o.prototype.readBigUInt64LE=b(function(t){t=t>>>0,D(t,"offset");const r=this[t],e=this[t+7];(r===void 0||e===void 0)&&j(t,this.length-8);const n=r+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24,s=this[++t]+this[++t]*2**8+this[++t]*2**16+e*2**24;return BigInt(n)+(BigInt(s)<>>0,D(t,"offset");const r=this[t],e=this[t+7];(r===void 0||e===void 0)&&j(t,this.length-8);const n=r*2**24+this[++t]*2**16+this[++t]*2**8+this[++t],s=this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+e;return(BigInt(n)<>>0,r=r>>>0,e||E(t,r,this.length);let n=this[t],s=1,u=0;for(;++u=s&&(n-=Math.pow(2,8*r)),n},o.prototype.readIntBE=function(t,r,e){t=t>>>0,r=r>>>0,e||E(t,r,this.length);let n=r,s=1,u=this[t+--n];for(;n>0&&(s*=256);)u+=this[t+--n]*s;return s*=128,u>=s&&(u-=Math.pow(2,8*r)),u},o.prototype.readInt8=function(t,r){return t=t>>>0,r||E(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]},o.prototype.readInt16LE=function(t,r){t=t>>>0,r||E(t,2,this.length);const e=this[t]|this[t+1]<<8;return e&32768?e|4294901760:e},o.prototype.readInt16BE=function(t,r){t=t>>>0,r||E(t,2,this.length);const e=this[t+1]|this[t]<<8;return e&32768?e|4294901760:e},o.prototype.readInt32LE=function(t,r){return t=t>>>0,r||E(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},o.prototype.readInt32BE=function(t,r){return t=t>>>0,r||E(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},o.prototype.readBigInt64LE=b(function(t){t=t>>>0,D(t,"offset");const r=this[t],e=this[t+7];(r===void 0||e===void 0)&&j(t,this.length-8);const n=this[t+4]+this[t+5]*2**8+this[t+6]*2**16+(e<<24);return(BigInt(n)<>>0,D(t,"offset");const r=this[t],e=this[t+7];(r===void 0||e===void 0)&&j(t,this.length-8);const n=(r<<24)+this[++t]*2**16+this[++t]*2**8+this[++t];return(BigInt(n)<>>0,r||E(t,4,this.length),h.read(this,t,!0,23,4)},o.prototype.readFloatBE=function(t,r){return t=t>>>0,r||E(t,4,this.length),h.read(this,t,!1,23,4)},o.prototype.readDoubleLE=function(t,r){return t=t>>>0,r||E(t,8,this.length),h.read(this,t,!0,52,8)},o.prototype.readDoubleBE=function(t,r){return t=t>>>0,r||E(t,8,this.length),h.read(this,t,!1,52,8)};function U(i,t,r,e,n,s){if(!o.isBuffer(i))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>n||ti.length)throw new RangeError("Index out of range")}o.prototype.writeUintLE=o.prototype.writeUIntLE=function(t,r,e,n){if(t=+t,r=r>>>0,e=e>>>0,!n){const d=Math.pow(2,8*e)-1;U(this,t,r,e,d,0)}let s=1,u=0;for(this[r]=t&255;++u>>0,e=e>>>0,!n){const d=Math.pow(2,8*e)-1;U(this,t,r,e,d,0)}let s=e-1,u=1;for(this[r+s]=t&255;--s>=0&&(u*=256);)this[r+s]=t/u&255;return r+e},o.prototype.writeUint8=o.prototype.writeUInt8=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,1,255,0),this[r]=t&255,r+1},o.prototype.writeUint16LE=o.prototype.writeUInt16LE=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,2,65535,0),this[r]=t&255,this[r+1]=t>>>8,r+2},o.prototype.writeUint16BE=o.prototype.writeUInt16BE=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,2,65535,0),this[r]=t>>>8,this[r+1]=t&255,r+2},o.prototype.writeUint32LE=o.prototype.writeUInt32LE=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,4,4294967295,0),this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=t&255,r+4},o.prototype.writeUint32BE=o.prototype.writeUInt32BE=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,4,4294967295,0),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};function st(i,t,r,e,n){ft(t,e,n,i,r,7);let s=Number(t&BigInt(4294967295));i[r++]=s,s=s>>8,i[r++]=s,s=s>>8,i[r++]=s,s=s>>8,i[r++]=s;let u=Number(t>>BigInt(32)&BigInt(4294967295));return i[r++]=u,u=u>>8,i[r++]=u,u=u>>8,i[r++]=u,u=u>>8,i[r++]=u,r}function ut(i,t,r,e,n){ft(t,e,n,i,r,7);let s=Number(t&BigInt(4294967295));i[r+7]=s,s=s>>8,i[r+6]=s,s=s>>8,i[r+5]=s,s=s>>8,i[r+4]=s;let u=Number(t>>BigInt(32)&BigInt(4294967295));return i[r+3]=u,u=u>>8,i[r+2]=u,u=u>>8,i[r+1]=u,u=u>>8,i[r]=u,r+8}o.prototype.writeBigUInt64LE=b(function(t,r=0){return st(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))}),o.prototype.writeBigUInt64BE=b(function(t,r=0){return ut(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))}),o.prototype.writeIntLE=function(t,r,e,n){if(t=+t,r=r>>>0,!n){const g=Math.pow(2,8*e-1);U(this,t,r,e,g-1,-g)}let s=0,u=1,d=0;for(this[r]=t&255;++s>0)-d&255;return r+e},o.prototype.writeIntBE=function(t,r,e,n){if(t=+t,r=r>>>0,!n){const g=Math.pow(2,8*e-1);U(this,t,r,e,g-1,-g)}let s=e-1,u=1,d=0;for(this[r+s]=t&255;--s>=0&&(u*=256);)t<0&&d===0&&this[r+s+1]!==0&&(d=1),this[r+s]=(t/u>>0)-d&255;return r+e},o.prototype.writeInt8=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,1,127,-128),t<0&&(t=255+t+1),this[r]=t&255,r+1},o.prototype.writeInt16LE=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,2,32767,-32768),this[r]=t&255,this[r+1]=t>>>8,r+2},o.prototype.writeInt16BE=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,2,32767,-32768),this[r]=t>>>8,this[r+1]=t&255,r+2},o.prototype.writeInt32LE=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,4,2147483647,-2147483648),this[r]=t&255,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24,r+4},o.prototype.writeInt32BE=function(t,r,e){return t=+t,r=r>>>0,e||U(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4},o.prototype.writeBigInt64LE=b(function(t,r=0){return st(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),o.prototype.writeBigInt64BE=b(function(t,r=0){return ut(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function lt(i,t,r,e,n,s){if(r+e>i.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function ct(i,t,r,e,n){return t=+t,r=r>>>0,n||lt(i,t,r,4),h.write(i,t,r,e,23,4),r+4}o.prototype.writeFloatLE=function(t,r,e){return ct(this,t,r,!0,e)},o.prototype.writeFloatBE=function(t,r,e){return ct(this,t,r,!1,e)};function at(i,t,r,e,n){return t=+t,r=r>>>0,n||lt(i,t,r,8),h.write(i,t,r,e,52,8),r+8}o.prototype.writeDoubleLE=function(t,r,e){return at(this,t,r,!0,e)},o.prototype.writeDoubleBE=function(t,r,e){return at(this,t,r,!1,e)},o.prototype.copy=function(t,r,e,n){if(!o.isBuffer(t))throw new TypeError("argument should be a Buffer");if(e||(e=0),!n&&n!==0&&(n=this.length),r>=t.length&&(r=t.length),r||(r=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-r>>0,e=e===void 0?this.length:e>>>0,t||(t=0);let s;if(typeof t=="number")for(s=r;s2**32?n=ht(String(r)):typeof r=="bigint"&&(n=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(n=ht(n)),n+="n"),e+=` It must be ${t}. Received ${n}`,e},RangeError);function ht(i){let t="",r=i.length;const e=i[0]==="-"?1:0;for(;r>=e+4;r-=3)t=`_${i.slice(r-3,r)}${t}`;return`${i.slice(0,r)}${t}`}function Mt(i,t,r){D(t,"offset"),(i[t]===void 0||i[t+r]===void 0)&&j(t,i.length-(r+1))}function ft(i,t,r,e,n,s){if(i>r||i= 0${u} and < 2${u} ** ${(s+1)*8}${u}`:d=`>= -(2${u} ** ${(s+1)*8-1}${u}) and < 2 ** ${(s+1)*8-1}${u}`,new M.ERR_OUT_OF_RANGE("value",d,i)}Mt(e,n,s)}function D(i,t){if(typeof i!="number")throw new M.ERR_INVALID_ARG_TYPE(t,"number",i)}function j(i,t,r){throw Math.floor(i)!==i?(D(i,r),new M.ERR_OUT_OF_RANGE("offset","an integer",i)):t<0?new M.ERR_BUFFER_OUT_OF_BOUNDS:new M.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${t}`,i)}const Dt=/[^+/0-9A-Za-z-_]/g;function $t(i){if(i=i.split("=")[0],i=i.trim().replace(Dt,""),i.length<2)return"";for(;i.length%4!==0;)i=i+"=";return i}function z(i,t){t=t||1/0;let r;const e=i.length;let n=null;const s=[];for(let u=0;u55295&&r<57344){if(!n){if(r>56319){(t-=3)>-1&&s.push(239,191,189);continue}else if(u+1===e){(t-=3)>-1&&s.push(239,191,189);continue}n=r;continue}if(r<56320){(t-=3)>-1&&s.push(239,191,189),n=r;continue}r=(n-55296<<10|r-56320)+65536}else n&&(t-=3)>-1&&s.push(239,191,189);if(n=null,r<128){if((t-=1)<0)break;s.push(r)}else if(r<2048){if((t-=2)<0)break;s.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;s.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return s}function Ot(i){const t=[];for(let r=0;r>8,n=r%256,s.push(n),s.push(e);return s}function pt(i){return c.toByteArray($t(i))}function Y(i,t,r,e){let n;for(n=0;n=t.length||n>=i.length);++n)t[n+r]=i[n];return n}function S(i,t){return i instanceof t||i!=null&&i.constructor!=null&&i.constructor.name!=null&&i.constructor.name===t.name}function K(i){return i!==i}const jt=function(){const i="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){const e=r*16;for(let n=0;n<16;++n)t[e+n]=i[r]+i[n]}return t}();function b(i){return typeof BigInt>"u"?Vt:i}function Vt(){throw new Error("BigInt not supported")}})(gt);const lr={name:"cloudPlaylist",components:{Cover:Yt,Card:qt},props:{playlist:Object,localPlaylists:Array,cloudPlaylists:Array},data(){return{statusText:"",toAdd:[]}},methods:{parseCover:Wt,async import(){if(this.statusIcon!="cloud_done"){if(this.statusIcon=="cloud_sync"){for(let l=0;ly.name==this.playlist.name))==null?void 0:h[0];if(!c)return this.localPlaylists?"cloud":"cloud_off";if(this.playlist.description!=c.description)return"cloud_sync";this.toAdd=[];for(let y=0;y[A("span",{class:"close material-symbols-rounded",onClick:c[0]||(c[0]=()=>l.$emit("remove"))},"close"),q(a,{src:f.cover},null,8,["src"]),A("div",cr,[A("div",ar,[h.playlist.type!="classic"?(N(),V("span",hr,L(h.playlist.type=="smart"?"neurology":"bolt"),1)):Z("",!0),A("h4",null,L(h.playlist.name),1)]),A("div",fr,[yt(L(h.playlist.songs.length)+" "+L(h.playlist.songs.length==1?"song":"songs"),1),h.playlist.description?(N(),V(Bt,{key:0},[yt(" • "),A("i",null,L(h.playlist.description),1)],64)):Z("",!0)]),A("div",pr,[A("span",yr,L(f.statusIcon),1),y.statusText?(N(),V("div",dr,[A("i",null,L(y.statusText),1)])):Z("",!0)])])]),_:1})}const xr=wt(lr,[["render",wr],["__scopeId","data-v-572c1094"]]);window.Buffer=gt.Buffer;const Br={name:"import",methods:{async downloadFile(){const l=await dt(this.playlists);Xt(l)},async openGist(){window.open(await Q.gistUrl(),"_blank")},async upload(){const l=await dt(this.playlists);console.log(await Q.saveOrUpdate({"my.one.collection":l})),this.fetchGists()},async fetchGists(){this.cloudPlaylists=await Q.getContent()},async fetchLocalPlaylists(){var l,c;if(!this.loadingPlaylists){this.loadingPlaylists=!0,this.playlists=[];for(const h of(c=(l=this.dataStore)==null?void 0:l.playlists)==null?void 0:c.filter(p=>p.type!="special")){const p=Object.assign({},h);this.playlists.push(p)}this.loadingPlaylists=!1}}},watch:{dataStore:{handler(l,c){this.fetchLocalPlaylists()},deep:!0}},mounted(){this.fetchLocalPlaylists()},data(){return this.fetchGists(),{playlists:[],loadingPlaylists:!1,userData:{},cloudPlaylists:[],dataStore:zt()}},components:{IconButton:Kt,CloudPlaylist:xr}},Et=l=>(Qt("data-v-fad8b539"),l=l(),vt(),l),gr={class:"export"},mr={class:"action"},Er=Et(()=>A("h1",null,"Save to File",-1)),Ir={class:"action"},Fr=Et(()=>A("h1",null,"Save to Github Gists",-1)),Ar={class:"flex flex-row gap-2"},_r={class:"data"};function Ur(l,c,h,p,y,f){const a=W("IconButton"),o=W("CloudPlaylist");return N(),V("div",gr,[A("div",mr,[Er,q(a,{icon:"file_download",label:"Save",onClick:f.downloadFile},null,8,["onClick"])]),A("div",Ir,[Fr,A("div",Ar,[q(a,{icon:"cloud_upload",label:"Synchronise",onClick:f.upload},null,8,["onClick"]),q(a,{icon:"link",label:"Browse",onClick:f.openGist},null,8,["onClick"])])]),A("div",_r,[(N(!0),V(Bt,null,Zt(y.playlists,(w,C)=>(N(),xt(o,{key:C,cloudPlaylists:y.cloudPlaylists,playlist:w,onRemove:()=>y.playlists.splice(C,1)},null,8,["cloudPlaylists","playlist","onRemove"]))),128))])])}const Rr=wt(Br,[["render",Ur],["__scopeId","data-v-fad8b539"]]);export{Rr as default}; diff --git a/src/ui/dist/assets/Export-B-H9t4Ft.js.gz b/src/ui/dist/assets/Export-B-H9t4Ft.js.gz new file mode 100644 index 000000000..dbc55e79f Binary files /dev/null and b/src/ui/dist/assets/Export-B-H9t4Ft.js.gz differ diff --git a/src/ui/dist/assets/Export-a03f6dd4.css b/src/ui/dist/assets/Export-DQXjuUsA.css similarity index 100% rename from src/ui/dist/assets/Export-a03f6dd4.css rename to src/ui/dist/assets/Export-DQXjuUsA.css diff --git a/src/ui/dist/assets/Export-a03f6dd4.css.gz b/src/ui/dist/assets/Export-DQXjuUsA.css.gz similarity index 100% rename from src/ui/dist/assets/Export-a03f6dd4.css.gz rename to src/ui/dist/assets/Export-DQXjuUsA.css.gz diff --git a/src/ui/dist/assets/Export-b9da4cc1.js.gz b/src/ui/dist/assets/Export-b9da4cc1.js.gz deleted file mode 100644 index 5bbacb6e0..000000000 Binary files a/src/ui/dist/assets/Export-b9da4cc1.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/FactCard-07fe2677.js b/src/ui/dist/assets/FactCard-07fe2677.js deleted file mode 100644 index a9af290ed..000000000 --- a/src/ui/dist/assets/FactCard-07fe2677.js +++ /dev/null @@ -1 +0,0 @@ -import{e as s,o as t,i as c,w as o,a as r,t as a,c as d,d as n,C as l,_}from"./index-4a15a213.js";const i={class:"mx-4"},m={key:0,class:"my-0 text-muted"},p=s({__name:"FactCard",props:{withHover:{type:Boolean,default:!1},primaryText:{type:null,default:""},secondaryText:{type:String,default:"",required:!1}},setup(e){return(u,y)=>(t(),c(l,{"with-hover":e.withHover,class:"card p-4"},{default:o(()=>[r("h2",i,a(e.primaryText),1),e.secondaryText?(t(),d("p",m,a(e.secondaryText),1)):n("",!0)]),_:1},8,["with-hover"]))}});const h=_(p,[["__scopeId","data-v-23b147ec"]]);export{h as F}; diff --git a/src/ui/dist/assets/FactCard-D7mi8_uS.js b/src/ui/dist/assets/FactCard-D7mi8_uS.js new file mode 100644 index 000000000..cbd972e1b --- /dev/null +++ b/src/ui/dist/assets/FactCard-D7mi8_uS.js @@ -0,0 +1 @@ +import{e as s,o as t,i as r,w as o,a as c,t as a,c as d,d as n,C as i,_ as l}from"./index-DnhwPdfm.js";const m={class:"mx-4"},h={key:0,class:"my-0 text-muted"},p=s({__name:"FactCard",props:{withHover:{type:Boolean,default:!1},primaryText:{type:null,default:""},secondaryText:{type:String,default:"",required:!1}},setup(e){return(u,x)=>(t(),r(i,{"with-hover":e.withHover,class:"card p-4"},{default:o(()=>[c("h2",m,a(e.primaryText),1),e.secondaryText?(t(),d("p",h,a(e.secondaryText),1)):n("",!0)]),_:1},8,["with-hover"]))}}),f=l(p,[["__scopeId","data-v-23b147ec"]]);export{f as F}; diff --git a/src/ui/dist/assets/FactCard-3c5d1fcf.css b/src/ui/dist/assets/FactCard-ei9UWMOf.css similarity index 100% rename from src/ui/dist/assets/FactCard-3c5d1fcf.css rename to src/ui/dist/assets/FactCard-ei9UWMOf.css diff --git a/src/ui/dist/assets/FullShelf-62d1d109.css b/src/ui/dist/assets/FullShelf-62d1d109.css deleted file mode 100644 index a1780feba..000000000 --- a/src/ui/dist/assets/FullShelf-62d1d109.css +++ /dev/null @@ -1 +0,0 @@ -span.icon[data-v-8fb8961a]{transform:translateY(3px);margin-left:20px}.header[data-v-8fb8961a]{margin:10px 10px 0;display:flex;flex-direction:row;justify-content:space-between}.header>h2[data-v-8fb8961a]{align-self:flex-start;margin-top:0;margin-bottom:10px}.header>h5[data-v-8fb8961a]{text-transform:uppercase;align-self:center;margin:0}.header>h5[data-v-8fb8961a]:hover{cursor:pointer}.items[data-v-8fb8961a]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-template-rows:1fr;gap:1em;overflow-y:auto} diff --git a/src/ui/dist/assets/FullShelf-CoDkvkMi.css b/src/ui/dist/assets/FullShelf-CoDkvkMi.css new file mode 100644 index 000000000..ff4cd7043 --- /dev/null +++ b/src/ui/dist/assets/FullShelf-CoDkvkMi.css @@ -0,0 +1 @@ +span.icon[data-v-9502e6e9]{transform:translateY(3px);margin-left:20px}.header[data-v-9502e6e9]{margin:10px 10px 0;display:flex;flex-direction:row;justify-content:space-between}.header>h2[data-v-9502e6e9]{align-self:flex-start;margin-top:0;margin-bottom:10px}.header>h5[data-v-9502e6e9]{text-transform:uppercase;align-self:center;margin:0}.header>h5[data-v-9502e6e9]:hover{cursor:pointer}.items[data-v-9502e6e9]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-template-rows:1fr;gap:1em;overflow-y:auto} diff --git a/src/ui/dist/assets/FullShelf-DRbcKza6.js b/src/ui/dist/assets/FullShelf-DRbcKza6.js new file mode 100644 index 000000000..d5b7f94aa --- /dev/null +++ b/src/ui/dist/assets/FullShelf-DRbcKza6.js @@ -0,0 +1 @@ +import{_ as c,o as t,c as a,a as s,b as i,t as o,d,r}from"./index-DnhwPdfm.js";const l={name:"FullShelf",props:{heading:String,icon:String}},_={class:"shelf"},h={class:"header"},u={key:0,class:"icon material-icons-outlined"},f={class:"items"};function m(n,p,e,S,g,v){return t(),a("div",_,[s("div",h,[s("h2",null,[i(o(e.heading),1),e.icon?(t(),a("span",u,o(e.icon),1)):d("",!0)])]),s("div",f,[r(n.$slots,"default",{},void 0,!0)])])}const x=c(l,[["render",m],["__scopeId","data-v-9502e6e9"]]);export{x as F}; diff --git a/src/ui/dist/assets/FullShelf-b2b7ffe5.js b/src/ui/dist/assets/FullShelf-b2b7ffe5.js deleted file mode 100644 index 9543e6a67..000000000 --- a/src/ui/dist/assets/FullShelf-b2b7ffe5.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as c,o as t,c as a,a as s,b as i,t as n,d as l,r as _}from"./index-4a15a213.js";const d={name:"FullShelf",props:{heading:String,icon:String}},r={class:"shelf"},u={class:"header"},f={key:0,class:"icon material-icons-outlined"},h={class:"items"};function m(o,p,e,S,g,v){return t(),a("div",r,[s("div",u,[s("h2",null,[i(n(e.heading),1),e.icon?(t(),a("span",f,n(e.icon),1)):l("",!0)])]),s("div",h,[_(o.$slots,"default",{},void 0,!0)])])}const y=c(d,[["render",m],["__scopeId","data-v-8fb8961a"]]);export{y as F}; diff --git a/src/ui/dist/assets/Import-2ae5cf6c.js b/src/ui/dist/assets/Import-2ae5cf6c.js deleted file mode 100644 index ff42bd036..000000000 --- a/src/ui/dist/assets/Import-2ae5cf6c.js +++ /dev/null @@ -1,4 +0,0 @@ -import{e as M,D as N,o as d,c as m,g as P,H as V,a as r,M as K,K as W,t as S,F as B,h as D,O as F,d as h,_ as G,i as C,w as I,b as j,C as q,n as k,j as A,E as Q,y as R,I as U,L as X,aD as Y,x as Z,$ as ee,a0 as te,l as se,m as ae,aE as le,aF as ne,aG as oe}from"./index-4a15a213.js";import{G as J}from"./gistClient-56b8a233.js";const ie=(e,c)=>{const t={source:e.source,id:e.id,changed:{}},a=t.changed,i=["id","href","duration","plays","artists"];for(const l of Object.keys(e))if(!i.includes(l)){if(l==="metadata"){const f=e.metadata,p=c.metadata;if(f&&p){if(!f.spotify&&!p.spotify)continue;if(!f.spotify&&p.spotify){a.metadata={from:f,to:p};continue}if(f.spotify&&!p.spotify){a.metadata={from:f,to:p};continue}f.spotify.id!==p.spotify.id&&(a.metadata={from:f,to:p})}else(f||p)&&(a.metadata={from:f,to:p});continue}l!=="id"&&e[l]!==c[l]&&(a[l]={from:e[l],to:c[l]})}return Object.keys(a).length?t:null},de=(e,c)=>{const t={name:e.playlist.name,id:e.playlist.id,added:[],removed:[],modified:[]};if(e.playlist.type!==c.playlist.type)return null;if(e.playlist.type==="smart"){const a=e.playlist,i=c.playlist;return JSON.stringify(a.definition)!==JSON.stringify(i.definition)?t:null}if(c.playlist.type!=="smart"){for(const a of e.playlist.songs){const i=c.playlist.songs.find(l=>l.source===a.source);if(i){const l=ie(a,i);l&&t.modified.push(l)}else t.removed.push(a)}for(const a of c.playlist.songs)e.playlist.songs.find(l=>l.source===a.source)||t.added.push(a);return t.added.length||t.removed.length||t.modified.length?t:null}},ce=(e,c)=>{const t={added:[],removed:[],modified:[]};for(const a of e.collection){const i=c.collection.find(l=>l.playlist.name===a.playlist.name);if(i){const l=de(a,i);l&&t.modified.push(l)}else t.removed.push(a)}for(const a of c.collection)e.collection.find(l=>l.playlist.name===a.playlist.name)||t.added.push(a);return t},re={class:"overflow-hidden"},ue={class:"title my-0"},fe={key:0,class:"info"},pe={class:"key"},ye={class:"value"},me=M({__name:"SongDiff",props:{song:{type:Object,required:!0},diff:{type:Object,required:!0},isBase:{type:Boolean,required:!1},expanded:{type:Object,required:!1}},emits:["exclude","toggle-expanded"],setup(e,{emit:c}){const t=e,a=N(()=>t.diff.removed.some(o=>o.source===t.song.source)?"removed":t.diff.modified.some(o=>o.source===t.song.source)?"modified":t.isBase?"base":t.diff.added.some(o=>o.source===t.song.source)?"added":"base"),i=c,l=()=>{i("toggle-expanded",t.song)},f=["title","artist","album","source","cover","favourite","metadata"],p=o=>{var _,b,E;const x=(b=(_=t.diff.modified.find($=>$.source===t.song.source))==null?void 0:_.changed)==null?void 0:b[o],v=t.isBase?"from":"to",y=(x==null?void 0:x[v])??t.song[o];return o=="metadata"?(E=y==null?void 0:y.spotify)==null?void 0:E.id:y};return(o,x)=>{var v,y;return!e.isBase&&a.value=="removed"?h("",!0):(d(),m("div",{key:0,class:F([a.value,"song px-4 py-2"])},[P(V,{src:e.song.cover,class:"rounded-md"},null,8,["src"]),r("div",re,[r("p",ue,[P(K,{text:e.song.title},null,8,["text"])]),P(W,{artist:e.song.artist,class:"artist text-muted"},null,8,["artist"])]),r("span",{class:"material-symbols-rounded cursor-pointer",onClick:l},S(((v=e.expanded)==null?void 0:v.source)==e.song.source?"expand_less":"expand_more"),1),((y=e.expanded)==null?void 0:y.source)==e.song.source?(d(),m("div",fe,[(d(),m(B,null,D(f,_=>{var b,E;return r("div",{key:_,class:F([{modified:(E=(b=e.diff.modified.find($=>$.source===e.song.source))==null?void 0:b.changed)==null?void 0:E[_]},"info__table"])},[r("span",pe,S(_),1),r("span",ye,S(p(_)),1)],2)}),64))])):h("",!0)],2))}}});const ge=G(me,[["__scopeId","data-v-1805c709"]]),ve={class:"info"},xe={class:"title"},he={key:0,class:"material-symbols-rounded"},_e={key:0,class:"text-muted"},be={class:"flex flex-row justify-between items-center"},Se={key:0,class:"text-very-muted"},ke={key:0},Pe=M({__name:"PlaylistDiff",props:{playlist:{type:Object,required:!0},diff:{type:Object,required:!0},isBase:{type:Boolean,required:!1},expanded:{type:Boolean,required:!1},expandedSong:{type:Object,required:!1}},emits:["exclude","toggle-expanded","toggle-expanded-song"],setup(e,{emit:c}){const t=e,a=N(()=>t.diff.removed.some(o=>o.playlist.name===t.playlist.name)?"removed":t.diff.modified.some(o=>o.name===t.playlist.name)?"modified":t.isBase?"base":t.diff.added.some(o=>o.playlist.name===t.playlist.name)?"added":"base"),i=c,l=()=>{i("toggle-expanded",t.playlist)},f=o=>{i("toggle-expanded-song",o)},p=o=>{const x=t.diff.modified.find(v=>v.name===o.name);return x||{name:o.name,added:[],removed:[],modified:[]}};return(o,x)=>(d(),C(q,{class:F([a.value,"playlist p-4 rounded-xl relative"])},{default:I(()=>{var v;return[P(V,{src:e.playlist.cover,class:"rounded-xl self-start"},null,8,["src"]),r("div",ve,[r("div",xe,[e.playlist.type!="classic"?(d(),m("span",he,S(e.playlist.type=="smart"?"neurology":"bolt"),1)):h("",!0),r("h2",null,S(e.playlist.name),1)]),e.playlist.description?(d(),m("p",_e,S(e.playlist.description),1)):h("",!0),r("div",be,[e.playlist.type==="classic"?(d(),m("p",Se,[r("strong",null,S((v=e.playlist.songs)==null?void 0:v.length),1),j(" tracks ")])):h("",!0),r("span",{class:"material-symbols-rounded cursor-pointer",title:"Expand",onClick:l},S(e.expanded?"expand_less":"expand_more"),1)])]),e.expanded?(d(),C(q,{key:0,class:"col-span-2 flex flex-col gap-2 z-10 p-4"},{default:I(()=>[e.playlist.type==="classic"?(d(!0),m(B,{key:0},D(e.playlist.songs,y=>(d(),C(ge,{key:y.source,diff:p(e.playlist),expanded:e.expandedSong,"is-base":e.isBase,song:y,onToggleExpanded:f},null,8,["diff","expanded","is-base","song"]))),128)):h("",!0),r("pre",null,[j(" "),e.playlist.type==="smart"?(d(),m("code",ke,` -`+S(JSON.stringify(e.playlist.definition,null,4))+` - `,1)):h("",!0),j(` - `)])]),_:1})):h("",!0),a.value!="base"?(d(),m("span",{key:1,class:"material-symbols-rounded exclude",title:"Exclude",onClick:x[0]||(x[0]=y=>o.$emit("exclude",e.playlist))}," block ")):h("",!0)]}),_:1},8,["class"]))}});const T=G(Pe,[["__scopeId","data-v-51b40518"]]),L=e=>(se("data-v-3e5b815e"),e=e(),ae(),e),Ee={class:"pb-4 pr-4 flex flex-col gap-4 h-full"},we={class:"flex flex-row justify-end"},$e=L(()=>r("div",{class:"grid grid-cols-2 gap-4"},[r("h1",null,"Local"),r("h1",null,"Incoming")],-1)),Be={key:1,class:"fill-page"},Ce={key:1,class:"fill-page !grid !grid-cols-2 gap-4"},Oe=L(()=>r("h2",null,[r("span",{class:"material-symbols-rounded"},"file_upload"),j(" From File ")],-1)),je=L(()=>r("h2",null,[r("span",{class:"material-symbols-rounded"},"cloud_download"),j(" GitHub Gist ")],-1)),De=M({__name:"Import",setup(e){const c=k(!1),t=k(null),a=k({}),i=k({}),l=N(()=>ce(a.value,i.value)),f=A();let p=!1;const o=async()=>{var g;if(c.value||p)return;p=!0;const n=[];for(const s of(g=f.playlists)==null?void 0:g.filter(u=>u.type!="special")){const u=Object.assign({},s);n.push(u)}a.value=await Y(n),p=!1};Q(()=>f.playlists,o),R(o);const x=n=>{a.value.collection=a.value.collection.filter(g=>g.playlist.name!==n.name),i.value.collection=i.value.collection.filter(g=>g.playlist.name!==n.name)},v=k(null),y=k(null),_=n=>{var g;((g=v.value)==null?void 0:g.name)===n.name?v.value=null:v.value=n},b=n=>{var g;((g=y.value)==null?void 0:g.id)===n.id?y.value=null:y.value=n},E=async()=>{c.value=!0;const n=[],g=s=>{n.push(le(s.id,s.added));for(const u of s.removed)n.push(ne(s.id,u.id));for(const u of s.modified)for(const w of Object.keys(u.changed))n.push(oe(u.id,w,u.changed[w].to))};for(const s of l.value.added)s.playlist.type!=="special"&&(a.value.collection.push(s),n.push(Z(s.playlist.type,s.playlist.name,s.playlist.description,s.playlist.cover).then(u=>{s.playlist.id=u,s.playlist.type==="classic"?g({id:s.playlist.id,name:s.playlist.name,added:s.playlist.songs,removed:[],modified:[]}):s.playlist.type==="smart"&&n.push(ee(s.playlist.id,s.playlist.definition))})));for(const s of l.value.modified)g(s);for(const s of l.value.removed)n.push(te(s.playlist.id));await Promise.all(n),window.setTimeout(async()=>{await f.fetchPlaylists(),c.value=!1,await o()},1e3)},$=k(!1);J.connected().then(n=>$.value=n);const z=async()=>{const n=document.createElement("input");n.type="file",n.accept=".one.*",n.name="my.one.collection",n.onchange=async()=>{if(!n.files)return;const s=await n.files[0].text(),u=JSON.parse(s);i.value=u,t.value="file"},n.click()},H=async()=>{i.value=await J.getContent(),t.value="gist"};return k(null),(n,g)=>(d(),m("div",Ee,[r("div",we,[P(U,{icon:"merge",label:"Merge",onClick:E})]),t.value?(d(),m(B,{key:0},[c.value?(d(),m("div",Be,[P(X)])):(d(),m(B,{key:0},[$e,(d(!0),m(B,null,D(a.value.collection,s=>{var u,w;return d(),m("div",{key:s.playlist.name,class:"grid grid-cols-2 gap-4"},[a.value.collection.some(O=>O.playlist.name===s.playlist.name)?(d(),C(T,{key:0,diff:l.value,expanded:((u=v.value)==null?void 0:u.name)===s.playlist.name,"expanded-song":y.value,playlist:s.playlist,class:"grid-1","is-base":"",onExclude:x,onToggleExpanded:_,onToggleExpandedSong:b},null,8,["diff","expanded","expanded-song","playlist"])):h("",!0),i.value.collection.some(O=>O.playlist.name===s.playlist.name)?(d(),C(T,{key:1,diff:l.value,expanded:((w=v.value)==null?void 0:w.name)===s.playlist.name,"expanded-song":y.value,playlist:i.value.collection.find(O=>O.playlist.name===s.playlist.name).playlist,class:"grid-2",onExclude:x,onToggleExpanded:_,onToggleExpandedSong:b},null,8,["diff","expanded","expanded-song","playlist"])):h("",!0)])}),128)),(d(!0),m(B,null,D(l.value.added,s=>{var u;return d(),m("div",{key:s.playlist.name,class:"grid grid-cols-2 gap-4"},[i.value.collection.some(w=>w.playlist.name===s.playlist.name)?(d(),C(T,{key:0,diff:l.value,expanded:((u=v.value)==null?void 0:u.name)===s.playlist.name,"expanded-song":y.value,playlist:s.playlist,class:"grid-2",onExclude:x,onToggleExpanded:_,onToggleExpandedSong:b},null,8,["diff","expanded","expanded-song","playlist"])):h("",!0)])}),128))],64))],64)):(d(),m("div",Ce,[P(q,{"with-hover":"",class:"cursor-pointer",onClick:z},{default:I(()=>[Oe]),_:1}),P(q,{disabled:!$.value,"with-hover":"",class:"cursor-pointer",onClick:H},{default:I(()=>[je]),_:1},8,["disabled"])]))]))}});const Te=G(De,[["__scopeId","data-v-3e5b815e"]]);export{Te as default}; diff --git a/src/ui/dist/assets/Import-2ae5cf6c.js.gz b/src/ui/dist/assets/Import-2ae5cf6c.js.gz deleted file mode 100644 index b75edf407..000000000 Binary files a/src/ui/dist/assets/Import-2ae5cf6c.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Import-C1fifzbd.js b/src/ui/dist/assets/Import-C1fifzbd.js new file mode 100644 index 000000000..df7da7bc1 --- /dev/null +++ b/src/ui/dist/assets/Import-C1fifzbd.js @@ -0,0 +1,4 @@ +import{e as M,D as N,o as d,c as m,g as E,H as V,a as r,M as K,K as W,t as S,F as $,h as D,Q as F,d as h,_ as G,i as B,w as q,b as j,C as I,n as _,j as A,E as Q,y as R,I as U,L as X,aC as Y,x as Z,a0 as ee,a1 as te,l as se,m as ae,aD as le,aE as ne,aF as ie}from"./index-DnhwPdfm.js";import{G as J}from"./gistClient-BQBNGijJ.js";const oe=(e,c)=>{const t={source:e.source,id:e.id,changed:{}},a=t.changed,o=["id","href","duration","plays","artists"];for(const l of Object.keys(e))if(!o.includes(l)){if(l==="metadata"){const f=e.metadata,p=c.metadata;if(f&&p){if(!f.spotify&&!p.spotify)continue;if(!f.spotify&&p.spotify){a.metadata={from:f,to:p};continue}if(f.spotify&&!p.spotify){a.metadata={from:f,to:p};continue}f.spotify.id!==p.spotify.id&&(a.metadata={from:f,to:p})}else(f||p)&&(a.metadata={from:f,to:p});continue}l!=="id"&&e[l]!==c[l]&&(a[l]={from:e[l],to:c[l]})}return Object.keys(a).length?t:null},de=(e,c)=>{const t={name:e.playlist.name,id:e.playlist.id,added:[],removed:[],modified:[]};if(e.playlist.type!==c.playlist.type)return null;if(e.playlist.type==="smart"){const a=e.playlist,o=c.playlist;return JSON.stringify(a.definition)!==JSON.stringify(o.definition)?t:null}if(c.playlist.type!=="smart"){for(const a of e.playlist.songs){const o=c.playlist.songs.find(l=>l.source===a.source);if(o){const l=oe(a,o);l&&t.modified.push(l)}else t.removed.push(a)}for(const a of c.playlist.songs)e.playlist.songs.find(l=>l.source===a.source)||t.added.push(a);return t.added.length||t.removed.length||t.modified.length?t:null}},ce=(e,c)=>{const t={added:[],removed:[],modified:[]};for(const a of e.collection){const o=c.collection.find(l=>l.playlist.name===a.playlist.name);if(o){const l=de(a,o);l&&t.modified.push(l)}else t.removed.push(a)}for(const a of c.collection)e.collection.find(l=>l.playlist.name===a.playlist.name)||t.added.push(a);return t},re={class:"overflow-hidden"},ue={class:"title my-0"},fe={key:0,class:"info"},pe={class:"key"},ye={class:"value"},me=M({__name:"SongDiff",props:{song:{type:Object,required:!0},diff:{type:Object,required:!0},isBase:{type:Boolean,required:!1},expanded:{type:Object,required:!1}},emits:["exclude","toggle-expanded"],setup(e,{emit:c}){const t=e,a=N(()=>t.diff.removed.some(i=>i.source===t.song.source)?"removed":t.diff.modified.some(i=>i.source===t.song.source)?"modified":t.isBase?"base":t.diff.added.some(i=>i.source===t.song.source)?"added":"base"),o=c,l=()=>{o("toggle-expanded",t.song)},f=["title","artist","album","source","cover","favourite","metadata"],p=i=>{var b,k,P;const x=(k=(b=t.diff.modified.find(C=>C.source===t.song.source))==null?void 0:b.changed)==null?void 0:k[i],v=t.isBase?"from":"to",y=(x==null?void 0:x[v])??t.song[i];return i=="metadata"?(P=y==null?void 0:y.spotify)==null?void 0:P.id:y};return(i,x)=>{var v,y;return!e.isBase&&a.value=="removed"?h("",!0):(d(),m("div",{key:0,class:F([a.value,"song px-4 py-2"])},[E(V,{src:e.song.cover,class:"rounded-md"},null,8,["src"]),r("div",re,[r("p",ue,[E(K,{text:e.song.title},null,8,["text"])]),E(W,{artist:e.song.artist,class:"artist text-muted"},null,8,["artist"])]),r("span",{class:"material-symbols-rounded cursor-pointer",onClick:l},S(((v=e.expanded)==null?void 0:v.source)==e.song.source?"expand_less":"expand_more"),1),((y=e.expanded)==null?void 0:y.source)==e.song.source?(d(),m("div",fe,[(d(),m($,null,D(f,b=>{var k,P;return r("div",{key:b,class:F([{modified:(P=(k=e.diff.modified.find(C=>C.source===e.song.source))==null?void 0:k.changed)==null?void 0:P[b]},"info__table"])},[r("span",pe,S(b),1),r("span",ye,S(p(b)),1)],2)}),64))])):h("",!0)],2))}}}),ge=G(me,[["__scopeId","data-v-1805c709"]]),ve={class:"info"},xe={class:"title"},he={key:0,class:"material-symbols-rounded"},be={key:0,class:"text-muted"},ke={class:"flex flex-row justify-between items-center"},Se={key:0,class:"text-very-muted"},_e={key:0},Ee=M({__name:"PlaylistDiff",props:{playlist:{type:Object,required:!0},diff:{type:Object,required:!0},isBase:{type:Boolean,required:!1},expanded:{type:Boolean,required:!1},expandedSong:{type:Object,required:!1}},emits:["exclude","toggle-expanded","toggle-expanded-song"],setup(e,{emit:c}){const t=e,a=N(()=>t.diff.removed.some(i=>i.playlist.name===t.playlist.name)?"removed":t.diff.modified.some(i=>i.name===t.playlist.name)?"modified":t.isBase?"base":t.diff.added.some(i=>i.playlist.name===t.playlist.name)?"added":"base"),o=c,l=()=>{o("toggle-expanded",t.playlist)},f=i=>{o("toggle-expanded-song",i)},p=i=>{const x=t.diff.modified.find(v=>v.name===i.name);return x||{name:i.name,added:[],removed:[],modified:[]}};return(i,x)=>(d(),B(I,{class:F([a.value,"playlist p-4 rounded-xl relative"])},{default:q(()=>{var v;return[E(V,{src:e.playlist.cover,class:"rounded-xl self-start"},null,8,["src"]),r("div",ve,[r("div",xe,[e.playlist.type!="classic"?(d(),m("span",he,S(e.playlist.type=="smart"?"neurology":"bolt"),1)):h("",!0),r("h2",null,S(e.playlist.name),1)]),e.playlist.description?(d(),m("p",be,S(e.playlist.description),1)):h("",!0),r("div",ke,[e.playlist.type==="classic"?(d(),m("p",Se,[r("strong",null,S((v=e.playlist.songs)==null?void 0:v.length),1),j(" tracks ")])):h("",!0),r("span",{class:"material-symbols-rounded cursor-pointer",title:"Expand",onClick:l},S(e.expanded?"expand_less":"expand_more"),1)])]),e.expanded?(d(),B(I,{key:0,class:"col-span-2 flex flex-col gap-2 z-10 p-4"},{default:q(()=>[e.playlist.type==="classic"?(d(!0),m($,{key:0},D(e.playlist.songs,y=>(d(),B(ge,{key:y.source,diff:p(e.playlist),expanded:e.expandedSong,"is-base":e.isBase,song:y,onToggleExpanded:f},null,8,["diff","expanded","is-base","song"]))),128)):h("",!0),r("pre",null,[j(" "),e.playlist.type==="smart"?(d(),m("code",_e,` +`+S(JSON.stringify(e.playlist.definition,null,4))+` + `,1)):h("",!0),j(` + `)])]),_:1})):h("",!0),a.value!="base"?(d(),m("span",{key:1,class:"material-symbols-rounded exclude",title:"Exclude",onClick:x[0]||(x[0]=y=>i.$emit("exclude",e.playlist))}," block ")):h("",!0)]}),_:1},8,["class"]))}}),T=G(Ee,[["__scopeId","data-v-51b40518"]]),L=e=>(se("data-v-3e5b815e"),e=e(),ae(),e),Pe={class:"pb-4 pr-4 flex flex-col gap-4 h-full"},we={class:"flex flex-row justify-end"},Ce=L(()=>r("div",{class:"grid grid-cols-2 gap-4"},[r("h1",null,"Local"),r("h1",null,"Incoming")],-1)),$e={key:1,class:"fill-page"},Be={key:1,class:"fill-page !grid !grid-cols-2 gap-4"},Oe=L(()=>r("h2",null,[r("span",{class:"material-symbols-rounded"},"file_upload"),j(" From File ")],-1)),je=L(()=>r("h2",null,[r("span",{class:"material-symbols-rounded"},"cloud_download"),j(" GitHub Gist ")],-1)),De=M({__name:"Import",setup(e){const c=_(!1),t=_(null),a=_({}),o=_({}),l=N(()=>ce(a.value,o.value)),f=A();let p=!1;const i=async()=>{var g;if(c.value||p)return;p=!0;const n=[];for(const s of(g=f.playlists)==null?void 0:g.filter(u=>u.type!="special")){const u=Object.assign({},s);n.push(u)}a.value=await Y(n),p=!1};Q(()=>f.playlists,i),R(i);const x=n=>{a.value.collection=a.value.collection.filter(g=>g.playlist.name!==n.name),o.value.collection=o.value.collection.filter(g=>g.playlist.name!==n.name)},v=_(null),y=_(null),b=n=>{var g;((g=v.value)==null?void 0:g.name)===n.name?v.value=null:v.value=n},k=n=>{var g;((g=y.value)==null?void 0:g.id)===n.id?y.value=null:y.value=n},P=async()=>{c.value=!0;const n=[],g=s=>{n.push(le(s.id,s.added));for(const u of s.removed)n.push(ne(s.id,u.id));for(const u of s.modified)for(const w of Object.keys(u.changed))n.push(ie(u.id,w,u.changed[w].to))};for(const s of l.value.added)s.playlist.type!=="special"&&(a.value.collection.push(s),n.push(Z(s.playlist.type,s.playlist.name,s.playlist.description,s.playlist.cover).then(u=>{s.playlist.id=u,s.playlist.type==="classic"?g({id:s.playlist.id,name:s.playlist.name,added:s.playlist.songs,removed:[],modified:[]}):s.playlist.type==="smart"&&n.push(ee(s.playlist.id,s.playlist.definition))})));for(const s of l.value.modified)g(s);for(const s of l.value.removed)n.push(te(s.playlist.id));await Promise.all(n),window.setTimeout(async()=>{await f.fetchPlaylists(),c.value=!1,await i()},1e3)},C=_(!1);J.connected().then(n=>C.value=n);const z=async()=>{const n=document.createElement("input");n.type="file",n.accept=".one.*",n.name="my.one.collection",n.onchange=async()=>{if(!n.files)return;const s=await n.files[0].text(),u=JSON.parse(s);o.value=u,t.value="file"},n.click()},H=async()=>{o.value=await J.getContent(),t.value="gist"};return _(null),(n,g)=>(d(),m("div",Pe,[r("div",we,[E(U,{icon:"merge",label:"Merge",onClick:P})]),t.value?(d(),m($,{key:0},[c.value?(d(),m("div",$e,[E(X)])):(d(),m($,{key:0},[Ce,(d(!0),m($,null,D(a.value.collection,s=>{var u,w;return d(),m("div",{key:s.playlist.name,class:"grid grid-cols-2 gap-4"},[a.value.collection.some(O=>O.playlist.name===s.playlist.name)?(d(),B(T,{key:0,diff:l.value,expanded:((u=v.value)==null?void 0:u.name)===s.playlist.name,"expanded-song":y.value,playlist:s.playlist,class:"grid-1","is-base":"",onExclude:x,onToggleExpanded:b,onToggleExpandedSong:k},null,8,["diff","expanded","expanded-song","playlist"])):h("",!0),o.value.collection.some(O=>O.playlist.name===s.playlist.name)?(d(),B(T,{key:1,diff:l.value,expanded:((w=v.value)==null?void 0:w.name)===s.playlist.name,"expanded-song":y.value,playlist:o.value.collection.find(O=>O.playlist.name===s.playlist.name).playlist,class:"grid-2",onExclude:x,onToggleExpanded:b,onToggleExpandedSong:k},null,8,["diff","expanded","expanded-song","playlist"])):h("",!0)])}),128)),(d(!0),m($,null,D(l.value.added,s=>{var u;return d(),m("div",{key:s.playlist.name,class:"grid grid-cols-2 gap-4"},[o.value.collection.some(w=>w.playlist.name===s.playlist.name)?(d(),B(T,{key:0,diff:l.value,expanded:((u=v.value)==null?void 0:u.name)===s.playlist.name,"expanded-song":y.value,playlist:s.playlist,class:"grid-2",onExclude:x,onToggleExpanded:b,onToggleExpandedSong:k},null,8,["diff","expanded","expanded-song","playlist"])):h("",!0)])}),128))],64))],64)):(d(),m("div",Be,[E(I,{"with-hover":"",class:"cursor-pointer",onClick:z},{default:q(()=>[Oe]),_:1}),E(I,{disabled:!C.value,"with-hover":"",class:"cursor-pointer",onClick:H},{default:q(()=>[je]),_:1},8,["disabled"])]))]))}}),Te=G(De,[["__scopeId","data-v-3e5b815e"]]);export{Te as default}; diff --git a/src/ui/dist/assets/Import-C1fifzbd.js.gz b/src/ui/dist/assets/Import-C1fifzbd.js.gz new file mode 100644 index 000000000..92d61c057 Binary files /dev/null and b/src/ui/dist/assets/Import-C1fifzbd.js.gz differ diff --git a/src/ui/dist/assets/Import-15b3ffd5.css b/src/ui/dist/assets/Import-D3M1Q5kJ.css similarity index 100% rename from src/ui/dist/assets/Import-15b3ffd5.css rename to src/ui/dist/assets/Import-D3M1Q5kJ.css diff --git a/src/ui/dist/assets/Import-15b3ffd5.css.gz b/src/ui/dist/assets/Import-D3M1Q5kJ.css.gz similarity index 100% rename from src/ui/dist/assets/Import-15b3ffd5.css.gz rename to src/ui/dist/assets/Import-D3M1Q5kJ.css.gz diff --git a/src/ui/dist/assets/ImportLink-33e77c3a.js b/src/ui/dist/assets/ImportLink-33e77c3a.js deleted file mode 100644 index 18d09f5ad..000000000 --- a/src/ui/dist/assets/ImportLink-33e77c3a.js +++ /dev/null @@ -1 +0,0 @@ -import{e as w,B as b,q as C,n as _,y as B,o as a,c as n,a as s,t as c,b as d,i as I,w as $,F as j,h as L,g as m,I as f,u as N,C as R,aH as V,_ as F}from"./index-4a15a213.js";const S={class:"max-w-[60ch] w-full h-full flex items-center justify-center"},q={class:"flex-col"},A={key:0,class:"text-muted italic text-sm"},D={class:"ml-0"},E={class:"flex gap-2 items-center"},H={class:"text-muted uppercase text-sm"},M=["onClick"],O={class:"buttons flex gap-2"},T=w({__name:"ImportLink",setup(z){const h=b(),l=C(),r=_(""),e=_([]);B(async()=>{const i=h.params.id,o=atob(i),[t,...u]=o.split(":");if(t==="gist"){const[p,v,y]=u,g=`https://gist.githubusercontent.com/${p}/${v}/raw/${y}`,k=await(await fetch(g)).json();e.value=[k],r.value=p}});const x=async()=>{await V(e.value),l.push("/")};return(i,o)=>(a(),n("div",S,[s("div",q,[s("strong",null,c(r.value),1),d(" wants to share: "),e.value.length==0?(a(),n("span",A,"Nothing")):(a(),I(R,{key:1,class:"p-4 mt-4 w-max flex flex-col gap-4"},{default:$(()=>[s("ul",D,[(a(!0),n(j,null,L(e.value,t=>(a(),n("li",E,[s("span",H,c(t.type),1),d(" "+c(t.playlist.name)+" ",1),s("span",{class:"material-symbols-rounded cursor-pointer",onClick:u=>e.value.splice(e.value.indexOf(t),1)}," delete ",8,M)]))),256))]),s("div",O,[m(f,{type:"success",icon:"check",label:"Accept",onClick:x}),m(f,{type:"danger",icon:"close",label:"Reject",onClick:o[0]||(o[0]=t=>N(l).push("/"))})])]),_:1}))])]))}});const K=F(T,[["__scopeId","data-v-608ea9fa"]]);export{K as default}; diff --git a/src/ui/dist/assets/ImportLink-33e77c3a.js.gz b/src/ui/dist/assets/ImportLink-33e77c3a.js.gz deleted file mode 100644 index f9d0f12e0..000000000 Binary files a/src/ui/dist/assets/ImportLink-33e77c3a.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/ImportLink-fa9af2ae.css b/src/ui/dist/assets/ImportLink-CQI6kQMZ.css similarity index 100% rename from src/ui/dist/assets/ImportLink-fa9af2ae.css rename to src/ui/dist/assets/ImportLink-CQI6kQMZ.css diff --git a/src/ui/dist/assets/ImportLink-Qnxy-SGQ.js b/src/ui/dist/assets/ImportLink-Qnxy-SGQ.js new file mode 100644 index 000000000..9f90ee128 --- /dev/null +++ b/src/ui/dist/assets/ImportLink-Qnxy-SGQ.js @@ -0,0 +1 @@ +import{e as w,B as b,q as C,n as d,y as B,o as a,c as n,a as s,t as c,b as _,i as I,w as $,F as j,h as N,g as m,I as f,u as L,C as R,aG as V,_ as F}from"./index-DnhwPdfm.js";const S={class:"max-w-[60ch] w-full h-full flex items-center justify-center"},q={class:"flex-col"},A={key:0,class:"text-muted italic text-sm"},D={class:"ml-0"},E={class:"flex gap-2 items-center"},G={class:"text-muted uppercase text-sm"},M=["onClick"],O={class:"buttons flex gap-2"},T=w({__name:"ImportLink",setup(z){const h=b(),l=C(),r=d(""),e=d([]);B(async()=>{const i=h.params.id,o=atob(i),[t,...u]=o.split(":");if(t==="gist"){const[p,g,v]=u,y=`https://gist.githubusercontent.com/${p}/${g}/raw/${v}`,k=await(await fetch(y)).json();e.value=[k],r.value=p}});const x=async()=>{await V(e.value),l.push("/")};return(i,o)=>(a(),n("div",S,[s("div",q,[s("strong",null,c(r.value),1),_(" wants to share: "),e.value.length==0?(a(),n("span",A,"Nothing")):(a(),I(R,{key:1,class:"p-4 mt-4 w-max flex flex-col gap-4"},{default:$(()=>[s("ul",D,[(a(!0),n(j,null,N(e.value,t=>(a(),n("li",E,[s("span",G,c(t.type),1),_(" "+c(t.playlist.name)+" ",1),s("span",{class:"material-symbols-rounded cursor-pointer",onClick:u=>e.value.splice(e.value.indexOf(t),1)}," delete ",8,M)]))),256))]),s("div",O,[m(f,{type:"success",icon:"check",label:"Accept",onClick:x}),m(f,{type:"danger",icon:"close",label:"Reject",onClick:o[0]||(o[0]=t=>L(l).push("/"))})])]),_:1}))])]))}}),K=F(T,[["__scopeId","data-v-608ea9fa"]]);export{K as default}; diff --git a/src/ui/dist/assets/ImportLink-Qnxy-SGQ.js.gz b/src/ui/dist/assets/ImportLink-Qnxy-SGQ.js.gz new file mode 100644 index 000000000..1cad9ec1a Binary files /dev/null and b/src/ui/dist/assets/ImportLink-Qnxy-SGQ.js.gz differ diff --git a/src/ui/dist/assets/Insight-02bf27fd.js b/src/ui/dist/assets/Insight-02bf27fd.js deleted file mode 100644 index 629b1d99c..000000000 --- a/src/ui/dist/assets/Insight-02bf27fd.js +++ /dev/null @@ -1,18 +0,0 @@ -var Kn=Object.defineProperty;var qn=(i,t,e)=>t in i?Kn(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e;var S=(i,t,e)=>(qn(i,typeof t!="symbol"?t+"":t,e),e);import{e as Gn,n as Zt,a6 as Zn,aM as Qn,y as Jn,o as to,c as eo,g as wt,u as Mt,a7 as io,a as I,w as Vt,C as Nt,t as ei,F as so,l as no,m as oo,_ as ao}from"./index-4a15a213.js";/*! - * @kurkle/color v0.3.2 - * https://github.com/kurkle/color#readme - * (c) 2023 Jukka Kurkela - * Released under the MIT License - */function be(i){return i+.5|0}const gt=(i,t,e)=>Math.max(Math.min(i,e),t);function se(i){return gt(be(i*2.55),0,255)}function _t(i){return gt(be(i*255),0,255)}function dt(i){return gt(be(i/2.55)/100,0,1)}function Ni(i){return gt(be(i*100),0,100)}const Q={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},ui=[..."0123456789ABCDEF"],ro=i=>ui[i&15],lo=i=>ui[(i&240)>>4]+ui[i&15],ke=i=>(i&240)>>4===(i&15),co=i=>ke(i.r)&&ke(i.g)&&ke(i.b)&&ke(i.a);function ho(i){var t=i.length,e;return i[0]==="#"&&(t===4||t===5?e={r:255&Q[i[1]]*17,g:255&Q[i[2]]*17,b:255&Q[i[3]]*17,a:t===5?Q[i[4]]*17:255}:(t===7||t===9)&&(e={r:Q[i[1]]<<4|Q[i[2]],g:Q[i[3]]<<4|Q[i[4]],b:Q[i[5]]<<4|Q[i[6]],a:t===9?Q[i[7]]<<4|Q[i[8]]:255})),e}const fo=(i,t)=>i<255?t(i):"";function uo(i){var t=co(i)?ro:lo;return i?"#"+t(i.r)+t(i.g)+t(i.b)+fo(i.a,t):void 0}const go=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function on(i,t,e){const s=t*Math.min(e,1-e),n=(o,a=(o+i/30)%12)=>e-s*Math.max(Math.min(a-3,9-a,1),-1);return[n(0),n(8),n(4)]}function po(i,t,e){const s=(n,o=(n+i/60)%6)=>e-e*t*Math.max(Math.min(o,4-o,1),0);return[s(5),s(3),s(1)]}function mo(i,t,e){const s=on(i,1,.5);let n;for(t+e>1&&(n=1/(t+e),t*=n,e*=n),n=0;n<3;n++)s[n]*=1-t-e,s[n]+=t;return s}function bo(i,t,e,s,n){return i===n?(t-e)/s+(t.5?h/(2-o-a):h/(o+a),l=bo(e,s,n,h,o),l=l*60+.5),[l|0,c||0,r]}function Pi(i,t,e,s){return(Array.isArray(t)?i(t[0],t[1],t[2]):i(t,e,s)).map(_t)}function Ci(i,t,e){return Pi(on,i,t,e)}function _o(i,t,e){return Pi(mo,i,t,e)}function xo(i,t,e){return Pi(po,i,t,e)}function an(i){return(i%360+360)%360}function yo(i){const t=go.exec(i);let e=255,s;if(!t)return;t[5]!==s&&(e=t[6]?se(+t[5]):_t(+t[5]));const n=an(+t[2]),o=+t[3]/100,a=+t[4]/100;return t[1]==="hwb"?s=_o(n,o,a):t[1]==="hsv"?s=xo(n,o,a):s=Ci(n,o,a),{r:s[0],g:s[1],b:s[2],a:e}}function vo(i,t){var e=Si(i);e[0]=an(e[0]+t),e=Ci(e),i.r=e[0],i.g=e[1],i.b=e[2]}function ko(i){if(!i)return;const t=Si(i),e=t[0],s=Ni(t[1]),n=Ni(t[2]);return i.a<255?`hsla(${e}, ${s}%, ${n}%, ${dt(i.a)})`:`hsl(${e}, ${s}%, ${n}%)`}const ji={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},$i={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function wo(){const i={},t=Object.keys($i),e=Object.keys(ji);let s,n,o,a,r;for(s=0;s>16&255,o>>8&255,o&255]}return i}let we;function Mo(i){we||(we=wo(),we.transparent=[0,0,0,0]);const t=we[i.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}const So=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function Po(i){const t=So.exec(i);let e=255,s,n,o;if(t){if(t[7]!==s){const a=+t[7];e=t[8]?se(a):gt(a*255,0,255)}return s=+t[1],n=+t[3],o=+t[5],s=255&(t[2]?se(s):gt(s,0,255)),n=255&(t[4]?se(n):gt(n,0,255)),o=255&(t[6]?se(o):gt(o,0,255)),{r:s,g:n,b:o,a:e}}}function Co(i){return i&&(i.a<255?`rgba(${i.r}, ${i.g}, ${i.b}, ${dt(i.a)})`:`rgb(${i.r}, ${i.g}, ${i.b})`)}const ii=i=>i<=.0031308?i*12.92:Math.pow(i,1/2.4)*1.055-.055,jt=i=>i<=.04045?i/12.92:Math.pow((i+.055)/1.055,2.4);function Do(i,t,e){const s=jt(dt(i.r)),n=jt(dt(i.g)),o=jt(dt(i.b));return{r:_t(ii(s+e*(jt(dt(t.r))-s))),g:_t(ii(n+e*(jt(dt(t.g))-n))),b:_t(ii(o+e*(jt(dt(t.b))-o))),a:i.a+e*(t.a-i.a)}}function Me(i,t,e){if(i){let s=Si(i);s[t]=Math.max(0,Math.min(s[t]+s[t]*e,t===0?360:1)),s=Ci(s),i.r=s[0],i.g=s[1],i.b=s[2]}}function rn(i,t){return i&&Object.assign(t||{},i)}function Yi(i){var t={r:0,g:0,b:0,a:255};return Array.isArray(i)?i.length>=3&&(t={r:i[0],g:i[1],b:i[2],a:255},i.length>3&&(t.a=_t(i[3]))):(t=rn(i,{r:0,g:0,b:0,a:1}),t.a=_t(t.a)),t}function Oo(i){return i.charAt(0)==="r"?Po(i):yo(i)}class de{constructor(t){if(t instanceof de)return t;const e=typeof t;let s;e==="object"?s=Yi(t):e==="string"&&(s=ho(t)||Mo(t)||Oo(t)),this._rgb=s,this._valid=!!s}get valid(){return this._valid}get rgb(){var t=rn(this._rgb);return t&&(t.a=dt(t.a)),t}set rgb(t){this._rgb=Yi(t)}rgbString(){return this._valid?Co(this._rgb):void 0}hexString(){return this._valid?uo(this._rgb):void 0}hslString(){return this._valid?ko(this._rgb):void 0}mix(t,e){if(t){const s=this.rgb,n=t.rgb;let o;const a=e===o?.5:e,r=2*a-1,l=s.a-n.a,c=((r*l===-1?r:(r+l)/(1+r*l))+1)/2;o=1-c,s.r=255&c*s.r+o*n.r+.5,s.g=255&c*s.g+o*n.g+.5,s.b=255&c*s.b+o*n.b+.5,s.a=a*s.a+(1-a)*n.a,this.rgb=s}return this}interpolate(t,e){return t&&(this._rgb=Do(this._rgb,t._rgb,e)),this}clone(){return new de(this.rgb)}alpha(t){return this._rgb.a=_t(t),this}clearer(t){const e=this._rgb;return e.a*=1-t,this}greyscale(){const t=this._rgb,e=be(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=e,this}opaquer(t){const e=this._rgb;return e.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Me(this._rgb,2,t),this}darken(t){return Me(this._rgb,2,-t),this}saturate(t){return Me(this._rgb,1,t),this}desaturate(t){return Me(this._rgb,1,-t),this}rotate(t){return vo(this._rgb,t),this}}/*! - * Chart.js v4.4.2 - * https://www.chartjs.org - * (c) 2024 Chart.js Contributors - * Released under the MIT License - */function lt(){}const To=(()=>{let i=0;return()=>i++})();function A(i){return i===null||typeof i>"u"}function E(i){if(Array.isArray&&Array.isArray(i))return!0;const t=Object.prototype.toString.call(i);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function T(i){return i!==null&&Object.prototype.toString.call(i)==="[object Object]"}function V(i){return(typeof i=="number"||i instanceof Number)&&isFinite(+i)}function K(i,t){return V(i)?i:t}function D(i,t){return typeof i>"u"?t:i}const Lo=(i,t)=>typeof i=="string"&&i.endsWith("%")?parseFloat(i)/100*t:+i;function R(i,t,e){if(i&&typeof i.call=="function")return i.apply(e,t)}function F(i,t,e,s){let n,o,a;if(E(i))if(o=i.length,s)for(n=o-1;n>=0;n--)t.call(e,i[n],n);else for(n=0;ni,x:i=>i.x,y:i=>i.y};function Io(i){const t=i.split("."),e=[];let s="";for(const n of t)s+=n,s.endsWith("\\")?s=s.slice(0,-1)+".":(e.push(s),s="");return e}function Ro(i){const t=Io(i);return e=>{for(const s of t){if(s==="")break;e=e&&e[s]}return e}}function Yt(i,t){return(Ui[t]||(Ui[t]=Ro(t)))(i)}function Di(i){return i.charAt(0).toUpperCase()+i.slice(1)}const ue=i=>typeof i<"u",xt=i=>typeof i=="function",Xi=(i,t)=>{if(i.size!==t.size)return!1;for(const e of i)if(!t.has(e))return!1;return!0};function Eo(i){return i.type==="mouseup"||i.type==="click"||i.type==="contextmenu"}const H=Math.PI,tt=2*H,zo=tt+H,Ue=Number.POSITIVE_INFINITY,Bo=H/180,q=H/2,St=H/4,Ki=H*2/3,pt=Math.log10,at=Math.sign;function le(i,t,e){return Math.abs(i-t)n-o).pop(),t}function Ut(i){return!isNaN(parseFloat(i))&&isFinite(i)}function Wo(i,t){const e=Math.round(i);return e-t<=i&&e+t>=i}function cn(i,t,e){let s,n,o;for(s=0,n=i.length;sl&&c=Math.min(t,e)-s&&i<=Math.max(t,e)+s}function Ti(i,t,e){e=e||(a=>i[a]1;)o=n+s>>1,e(o)?n=o:s=o;return{lo:n,hi:s}}const At=(i,t,e,s)=>Ti(i,e,s?n=>{const o=i[n][t];return oi[n][t]Ti(i,e,s=>i[s][t]>=e);function Yo(i,t,e){let s=0,n=i.length;for(;ss&&i[n-1]>e;)n--;return s>0||n{const s="_onData"+Di(e),n=i[e];Object.defineProperty(i,e,{configurable:!0,enumerable:!1,value(...o){const a=n.apply(this,o);return i._chartjs.listeners.forEach(r=>{typeof r[s]=="function"&&r[s](...o)}),a}})})}function Zi(i,t){const e=i._chartjs;if(!e)return;const s=e.listeners,n=s.indexOf(t);n!==-1&&s.splice(n,1),!(s.length>0)&&(dn.forEach(o=>{delete i[o]}),delete i._chartjs)}function fn(i){const t=new Set(i);return t.size===i.length?i:Array.from(t)}const un=function(){return typeof window>"u"?function(i){return i()}:window.requestAnimationFrame}();function gn(i,t){let e=[],s=!1;return function(...n){e=n,s||(s=!0,un.call(window,()=>{s=!1,i.apply(t,e)}))}}function Xo(i,t){let e;return function(...s){return t?(clearTimeout(e),e=setTimeout(i,t,s)):i.apply(this,s),t}}const Li=i=>i==="start"?"left":i==="end"?"right":"center",j=(i,t,e)=>i==="start"?t:i==="end"?e:(t+e)/2,Ko=(i,t,e,s)=>i===(s?"left":"right")?e:i==="center"?(t+e)/2:t;function pn(i,t,e){const s=t.length;let n=0,o=s;if(i._sorted){const{iScale:a,_parsed:r}=i,l=a.axis,{min:c,max:h,minDefined:d,maxDefined:f}=a.getUserBounds();d&&(n=G(Math.min(At(r,l,c).lo,e?s:At(t,l,a.getPixelForValue(c)).lo),0,s-1)),f?o=G(Math.max(At(r,a.axis,h,!0).hi+1,e?0:At(t,l,a.getPixelForValue(h),!0).hi+1),n,s)-n:o=s-n}return{start:n,count:o}}function mn(i){const{xScale:t,yScale:e,_scaleRanges:s}=i,n={xmin:t.min,xmax:t.max,ymin:e.min,ymax:e.max};if(!s)return i._scaleRanges=n,!0;const o=s.xmin!==t.min||s.xmax!==t.max||s.ymin!==e.min||s.ymax!==e.max;return Object.assign(s,n),o}const Se=i=>i===0||i===1,Qi=(i,t,e)=>-(Math.pow(2,10*(i-=1))*Math.sin((i-t)*tt/e)),Ji=(i,t,e)=>Math.pow(2,-10*i)*Math.sin((i-t)*tt/e)+1,ce={linear:i=>i,easeInQuad:i=>i*i,easeOutQuad:i=>-i*(i-2),easeInOutQuad:i=>(i/=.5)<1?.5*i*i:-.5*(--i*(i-2)-1),easeInCubic:i=>i*i*i,easeOutCubic:i=>(i-=1)*i*i+1,easeInOutCubic:i=>(i/=.5)<1?.5*i*i*i:.5*((i-=2)*i*i+2),easeInQuart:i=>i*i*i*i,easeOutQuart:i=>-((i-=1)*i*i*i-1),easeInOutQuart:i=>(i/=.5)<1?.5*i*i*i*i:-.5*((i-=2)*i*i*i-2),easeInQuint:i=>i*i*i*i*i,easeOutQuint:i=>(i-=1)*i*i*i*i+1,easeInOutQuint:i=>(i/=.5)<1?.5*i*i*i*i*i:.5*((i-=2)*i*i*i*i+2),easeInSine:i=>-Math.cos(i*q)+1,easeOutSine:i=>Math.sin(i*q),easeInOutSine:i=>-.5*(Math.cos(H*i)-1),easeInExpo:i=>i===0?0:Math.pow(2,10*(i-1)),easeOutExpo:i=>i===1?1:-Math.pow(2,-10*i)+1,easeInOutExpo:i=>Se(i)?i:i<.5?.5*Math.pow(2,10*(i*2-1)):.5*(-Math.pow(2,-10*(i*2-1))+2),easeInCirc:i=>i>=1?i:-(Math.sqrt(1-i*i)-1),easeOutCirc:i=>Math.sqrt(1-(i-=1)*i),easeInOutCirc:i=>(i/=.5)<1?-.5*(Math.sqrt(1-i*i)-1):.5*(Math.sqrt(1-(i-=2)*i)+1),easeInElastic:i=>Se(i)?i:Qi(i,.075,.3),easeOutElastic:i=>Se(i)?i:Ji(i,.075,.3),easeInOutElastic(i){return Se(i)?i:i<.5?.5*Qi(i*2,.1125,.45):.5+.5*Ji(i*2-1,.1125,.45)},easeInBack(i){return i*i*((1.70158+1)*i-1.70158)},easeOutBack(i){return(i-=1)*i*((1.70158+1)*i+1.70158)+1},easeInOutBack(i){let t=1.70158;return(i/=.5)<1?.5*(i*i*(((t*=1.525)+1)*i-t)):.5*((i-=2)*i*(((t*=1.525)+1)*i+t)+2)},easeInBounce:i=>1-ce.easeOutBounce(1-i),easeOutBounce(i){return i<1/2.75?7.5625*i*i:i<2/2.75?7.5625*(i-=1.5/2.75)*i+.75:i<2.5/2.75?7.5625*(i-=2.25/2.75)*i+.9375:7.5625*(i-=2.625/2.75)*i+.984375},easeInOutBounce:i=>i<.5?ce.easeInBounce(i*2)*.5:ce.easeOutBounce(i*2-1)*.5+.5};function Ai(i){if(i&&typeof i=="object"){const t=i.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function ts(i){return Ai(i)?i:new de(i)}function si(i){return Ai(i)?i:new de(i).saturate(.5).darken(.1).hexString()}const qo=["x","y","borderWidth","radius","tension"],Go=["color","borderColor","backgroundColor"];function Zo(i){i.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),i.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),i.set("animations",{colors:{type:"color",properties:Go},numbers:{type:"number",properties:qo}}),i.describe("animations",{_fallback:"animation"}),i.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function Qo(i){i.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const es=new Map;function Jo(i,t){t=t||{};const e=i+JSON.stringify(t);let s=es.get(e);return s||(s=new Intl.NumberFormat(i,t),es.set(e,s)),s}function Fi(i,t,e){return Jo(t,e).format(i)}const bn={values(i){return E(i)?i:""+i},numeric(i,t,e){if(i===0)return"0";const s=this.chart.options.locale;let n,o=i;if(e.length>1){const c=Math.max(Math.abs(e[0].value),Math.abs(e[e.length-1].value));(c<1e-4||c>1e15)&&(n="scientific"),o=ta(i,e)}const a=pt(Math.abs(o)),r=isNaN(a)?1:Math.max(Math.min(-1*Math.floor(a),20),0),l={notation:n,minimumFractionDigits:r,maximumFractionDigits:r};return Object.assign(l,this.options.ticks.format),Fi(i,s,l)},logarithmic(i,t,e){if(i===0)return"0";const s=e[t].significand||i/Math.pow(10,Math.floor(pt(i)));return[1,2,3,5,10,15].includes(s)||t>.8*e.length?bn.numeric.call(this,i,t,e):""}};function ta(i,t){let e=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(e)>=1&&i!==Math.floor(i)&&(e=i-Math.floor(i)),e}var Qe={formatters:bn};function ea(i){i.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,e)=>e.lineWidth,tickColor:(t,e)=>e.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Qe.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),i.route("scale.ticks","color","","color"),i.route("scale.grid","color","","borderColor"),i.route("scale.border","color","","borderColor"),i.route("scale.title","color","","color"),i.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),i.describe("scales",{_fallback:"scale"}),i.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const Et=Object.create(null),pi=Object.create(null);function he(i,t){if(!t)return i;const e=t.split(".");for(let s=0,n=e.length;ss.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(s,n)=>si(n.backgroundColor),this.hoverBorderColor=(s,n)=>si(n.borderColor),this.hoverColor=(s,n)=>si(n.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(e)}set(t,e){return ni(this,t,e)}get(t){return he(this,t)}describe(t,e){return ni(pi,t,e)}override(t,e){return ni(Et,t,e)}route(t,e,s,n){const o=he(this,t),a=he(this,s),r="_"+e;Object.defineProperties(o,{[r]:{value:o[e],writable:!0},[e]:{enumerable:!0,get(){const l=this[r],c=a[n];return T(l)?Object.assign({},c,l):D(l,c)},set(l){this[r]=l}}})}apply(t){t.forEach(e=>e(this))}}var z=new ia({_scriptable:i=>!i.startsWith("on"),_indexable:i=>i!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[Zo,Qo,ea]);function sa(i){return!i||A(i.size)||A(i.family)?null:(i.style?i.style+" ":"")+(i.weight?i.weight+" ":"")+i.size+"px "+i.family}function Xe(i,t,e,s,n){let o=t[n];return o||(o=t[n]=i.measureText(n).width,e.push(n)),o>s&&(s=o),s}function na(i,t,e,s){s=s||{};let n=s.data=s.data||{},o=s.garbageCollect=s.garbageCollect||[];s.font!==t&&(n=s.data={},o=s.garbageCollect=[],s.font=t),i.save(),i.font=t;let a=0;const r=e.length;let l,c,h,d,f;for(l=0;le.length){for(l=0;l0&&i.stroke()}}function ft(i,t,e){return e=e||.5,!t||i&&i.x>t.left-e&&i.xt.top-e&&i.y0&&o.strokeColor!=="";let l,c;for(i.save(),i.font=n.string,ra(i,o),l=0;l+i||0;function xn(i,t){const e={},s=T(t),n=s?Object.keys(t):t,o=T(i)?s?a=>D(i[a],i[t[a]]):a=>i[a]:()=>i;for(const a of n)e[a]=ua(o(a));return e}function yn(i){return xn(i,{top:"y",right:"x",bottom:"y",left:"x"})}function Ft(i){return xn(i,["topLeft","topRight","bottomLeft","bottomRight"])}function $(i){const t=yn(i);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function W(i,t){i=i||{},t=t||z.font;let e=D(i.size,t.size);typeof e=="string"&&(e=parseInt(e,10));let s=D(i.style,t.style);s&&!(""+s).match(da)&&(console.warn('Invalid font style specified: "'+s+'"'),s=void 0);const n={family:D(i.family,t.family),lineHeight:fa(D(i.lineHeight,t.lineHeight),e),size:e,style:s,weight:D(i.weight,t.weight),string:""};return n.string=sa(n),n}function Pe(i,t,e,s){let n=!0,o,a,r;for(o=0,a=i.length;oe&&r===0?0:r+l;return{min:a(s,-Math.abs(o)),max:a(n,o)}}function yt(i,t){return Object.assign(Object.create(i),t)}function Ei(i,t=[""],e,s,n=()=>i[0]){const o=e||i;typeof s>"u"&&(s=Mn("_fallback",i));const a={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:i,_rootScopes:o,_fallback:s,_getTarget:n,override:r=>Ei([r,...i],t,o,s)};return new Proxy(a,{deleteProperty(r,l){return delete r[l],delete r._keys,delete i[0][l],!0},get(r,l){return kn(r,l,()=>ka(l,t,i,r))},getOwnPropertyDescriptor(r,l){return Reflect.getOwnPropertyDescriptor(r._scopes[0],l)},getPrototypeOf(){return Reflect.getPrototypeOf(i[0])},has(r,l){return ns(r).includes(l)},ownKeys(r){return ns(r)},set(r,l,c){const h=r._storage||(r._storage=n());return r[l]=h[l]=c,delete r._keys,!0}})}function Xt(i,t,e,s){const n={_cacheable:!1,_proxy:i,_context:t,_subProxy:e,_stack:new Set,_descriptors:vn(i,s),setContext:o=>Xt(i,o,e,s),override:o=>Xt(i.override(o),t,e,s)};return new Proxy(n,{deleteProperty(o,a){return delete o[a],delete i[a],!0},get(o,a,r){return kn(o,a,()=>ma(o,a,r))},getOwnPropertyDescriptor(o,a){return o._descriptors.allKeys?Reflect.has(i,a)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(i,a)},getPrototypeOf(){return Reflect.getPrototypeOf(i)},has(o,a){return Reflect.has(i,a)},ownKeys(){return Reflect.ownKeys(i)},set(o,a,r){return i[a]=r,delete o[a],!0}})}function vn(i,t={scriptable:!0,indexable:!0}){const{_scriptable:e=t.scriptable,_indexable:s=t.indexable,_allKeys:n=t.allKeys}=i;return{allKeys:n,scriptable:e,indexable:s,isScriptable:xt(e)?e:()=>e,isIndexable:xt(s)?s:()=>s}}const pa=(i,t)=>i?i+Di(t):t,zi=(i,t)=>T(t)&&i!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function kn(i,t,e){if(Object.prototype.hasOwnProperty.call(i,t))return i[t];const s=e();return i[t]=s,s}function ma(i,t,e){const{_proxy:s,_context:n,_subProxy:o,_descriptors:a}=i;let r=s[t];return xt(r)&&a.isScriptable(t)&&(r=ba(t,r,i,e)),E(r)&&r.length&&(r=_a(t,r,i,a.isIndexable)),zi(t,r)&&(r=Xt(r,n,o&&o[t],a)),r}function ba(i,t,e,s){const{_proxy:n,_context:o,_subProxy:a,_stack:r}=e;if(r.has(i))throw new Error("Recursion detected: "+Array.from(r).join("->")+"->"+i);r.add(i);let l=t(o,a||s);return r.delete(i),zi(i,l)&&(l=Bi(n._scopes,n,i,l)),l}function _a(i,t,e,s){const{_proxy:n,_context:o,_subProxy:a,_descriptors:r}=e;if(typeof o.index<"u"&&s(i))return t[o.index%t.length];if(T(t[0])){const l=t,c=n._scopes.filter(h=>h!==l);t=[];for(const h of l){const d=Bi(c,n,i,h);t.push(Xt(d,o,a&&a[i],r))}}return t}function wn(i,t,e){return xt(i)?i(t,e):i}const xa=(i,t)=>i===!0?t:typeof i=="string"?Yt(t,i):void 0;function ya(i,t,e,s,n){for(const o of t){const a=xa(e,o);if(a){i.add(a);const r=wn(a._fallback,e,n);if(typeof r<"u"&&r!==e&&r!==s)return r}else if(a===!1&&typeof s<"u"&&e!==s)return null}return!1}function Bi(i,t,e,s){const n=t._rootScopes,o=wn(t._fallback,e,s),a=[...i,...n],r=new Set;r.add(s);let l=ss(r,a,e,o||e,s);return l===null||typeof o<"u"&&o!==e&&(l=ss(r,a,o,l,s),l===null)?!1:Ei(Array.from(r),[""],n,o,()=>va(t,e,s))}function ss(i,t,e,s,n){for(;e;)e=ya(i,t,e,s,n);return e}function va(i,t,e){const s=i._getTarget();t in s||(s[t]={});const n=s[t];return E(n)&&T(e)?e:n||{}}function ka(i,t,e,s){let n;for(const o of t)if(n=Mn(pa(o,i),e),typeof n<"u")return zi(i,n)?Bi(e,s,i,n):n}function Mn(i,t){for(const e of t){if(!e)continue;const s=e[i];if(typeof s<"u")return s}}function ns(i){let t=i._keys;return t||(t=i._keys=wa(i._scopes)),t}function wa(i){const t=new Set;for(const e of i)for(const s of Object.keys(e).filter(n=>!n.startsWith("_")))t.add(s);return Array.from(t)}const Ma=Number.EPSILON||1e-14,Kt=(i,t)=>ti==="x"?"y":"x";function Sa(i,t,e,s){const n=i.skip?t:i,o=t,a=e.skip?t:e,r=gi(o,n),l=gi(a,o);let c=r/(r+l),h=l/(r+l);c=isNaN(c)?0:c,h=isNaN(h)?0:h;const d=s*c,f=s*h;return{previous:{x:o.x-d*(a.x-n.x),y:o.y-d*(a.y-n.y)},next:{x:o.x+f*(a.x-n.x),y:o.y+f*(a.y-n.y)}}}function Pa(i,t,e){const s=i.length;let n,o,a,r,l,c=Kt(i,0);for(let h=0;h!c.skip)),t.cubicInterpolationMode==="monotone")Da(i,n);else{let c=s?i[i.length-1]:i[0];for(o=0,a=i.length;oi.ownerDocument.defaultView.getComputedStyle(i,null);function La(i,t){return Je(i).getPropertyValue(t)}const Aa=["top","right","bottom","left"];function It(i,t,e){const s={};e=e?"-"+e:"";for(let n=0;n<4;n++){const o=Aa[n];s[o]=parseFloat(i[t+"-"+o+e])||0}return s.width=s.left+s.right,s.height=s.top+s.bottom,s}const Fa=(i,t,e)=>(i>0||t>0)&&(!e||!e.shadowRoot);function Ia(i,t){const e=i.touches,s=e&&e.length?e[0]:i,{offsetX:n,offsetY:o}=s;let a=!1,r,l;if(Fa(n,o,i.target))r=n,l=o;else{const c=t.getBoundingClientRect();r=s.clientX-c.left,l=s.clientY-c.top,a=!0}return{x:r,y:l,box:a}}function Ot(i,t){if("native"in i)return i;const{canvas:e,currentDevicePixelRatio:s}=t,n=Je(e),o=n.boxSizing==="border-box",a=It(n,"padding"),r=It(n,"border","width"),{x:l,y:c,box:h}=Ia(i,e),d=a.left+(h&&r.left),f=a.top+(h&&r.top);let{width:u,height:p}=t;return o&&(u-=a.width+r.width,p-=a.height+r.height),{x:Math.round((l-d)/u*e.width/s),y:Math.round((c-f)/p*e.height/s)}}function Ra(i,t,e){let s,n;if(t===void 0||e===void 0){const o=Wi(i);if(!o)t=i.clientWidth,e=i.clientHeight;else{const a=o.getBoundingClientRect(),r=Je(o),l=It(r,"border","width"),c=It(r,"padding");t=a.width-c.width-l.width,e=a.height-c.height-l.height,s=Ke(r.maxWidth,o,"clientWidth"),n=Ke(r.maxHeight,o,"clientHeight")}}return{width:t,height:e,maxWidth:s||Ue,maxHeight:n||Ue}}const De=i=>Math.round(i*10)/10;function Ea(i,t,e,s){const n=Je(i),o=It(n,"margin"),a=Ke(n.maxWidth,i,"clientWidth")||Ue,r=Ke(n.maxHeight,i,"clientHeight")||Ue,l=Ra(i,t,e);let{width:c,height:h}=l;if(n.boxSizing==="content-box"){const f=It(n,"border","width"),u=It(n,"padding");c-=u.width+f.width,h-=u.height+f.height}return c=Math.max(0,c-o.width),h=Math.max(0,s?c/s:h-o.height),c=De(Math.min(c,a,l.maxWidth)),h=De(Math.min(h,r,l.maxHeight)),c&&!h&&(h=De(c/2)),(t!==void 0||e!==void 0)&&s&&l.height&&h>l.height&&(h=l.height,c=De(Math.floor(h*s))),{width:c,height:h}}function os(i,t,e){const s=t||1,n=Math.floor(i.height*s),o=Math.floor(i.width*s);i.height=Math.floor(i.height),i.width=Math.floor(i.width);const a=i.canvas;return a.style&&(e||!a.style.height&&!a.style.width)&&(a.style.height=`${i.height}px`,a.style.width=`${i.width}px`),i.currentDevicePixelRatio!==s||a.height!==n||a.width!==o?(i.currentDevicePixelRatio=s,a.height=n,a.width=o,i.ctx.setTransform(s,0,0,s,0,0),!0):!1}const za=function(){let i=!1;try{const t={get passive(){return i=!0,!1}};Hi()&&(window.addEventListener("test",null,t),window.removeEventListener("test",null,t))}catch{}return i}();function as(i,t){const e=La(i,t),s=e&&e.match(/^(\d+)(\.\d+)?px$/);return s?+s[1]:void 0}function Tt(i,t,e,s){return{x:i.x+e*(t.x-i.x),y:i.y+e*(t.y-i.y)}}function Ba(i,t,e,s){return{x:i.x+e*(t.x-i.x),y:s==="middle"?e<.5?i.y:t.y:s==="after"?e<1?i.y:t.y:e>0?t.y:i.y}}function Ha(i,t,e,s){const n={x:i.cp2x,y:i.cp2y},o={x:t.cp1x,y:t.cp1y},a=Tt(i,n,e),r=Tt(n,o,e),l=Tt(o,t,e),c=Tt(a,r,e),h=Tt(r,l,e);return Tt(c,h,e)}const Wa=function(i,t){return{x(e){return i+i+t-e},setWidth(e){t=e},textAlign(e){return e==="center"?e:e==="right"?"left":"right"},xPlus(e,s){return e-s},leftForLtr(e,s){return e-s}}},Va=function(){return{x(i){return i},setWidth(i){},textAlign(i){return i},xPlus(i,t){return i+t},leftForLtr(i,t){return i}}};function $t(i,t,e){return i?Wa(t,e):Va()}function Pn(i,t){let e,s;(t==="ltr"||t==="rtl")&&(e=i.canvas.style,s=[e.getPropertyValue("direction"),e.getPropertyPriority("direction")],e.setProperty("direction",t,"important"),i.prevTextDirection=s)}function Cn(i,t){t!==void 0&&(delete i.prevTextDirection,i.canvas.style.setProperty("direction",t[0],t[1]))}function Dn(i){return i==="angle"?{between:hn,compare:No,normalize:et}:{between:Lt,compare:(t,e)=>t-e,normalize:t=>t}}function rs({start:i,end:t,count:e,loop:s,style:n}){return{start:i%e,end:t%e,loop:s&&(t-i+1)%e===0,style:n}}function Na(i,t,e){const{property:s,start:n,end:o}=e,{between:a,normalize:r}=Dn(s),l=t.length;let{start:c,end:h,loop:d}=i,f,u;if(d){for(c+=l,h+=l,f=0,u=l;fl(n,v,b)&&r(n,v)!==0,x=()=>r(o,b)===0||l(o,v,b),M=()=>g||y(),k=()=>!g||x();for(let w=h,P=h;w<=d;++w)_=t[w%a],!_.skip&&(b=c(_[s]),b!==v&&(g=l(b,n,o),m===null&&M()&&(m=r(b,n)===0?w:P),m!==null&&k()&&(p.push(rs({start:m,end:w,loop:f,count:a,style:u})),m=null),P=w,v=b));return m!==null&&p.push(rs({start:m,end:d,loop:f,count:a,style:u})),p}function $a(i,t){const e=[],s=i.segments;for(let n=0;nn&&i[o%t].skip;)o--;return o%=t,{start:n,end:o}}function Ua(i,t,e,s){const n=i.length,o=[];let a=t,r=i[t],l;for(l=t+1;l<=e;++l){const c=i[l%n];c.skip||c.stop?r.skip||(s=!1,o.push({start:t%n,end:(l-1)%n,loop:s}),t=a=c.stop?l:null):(a=l,r.skip&&(t=l)),r=c}return a!==null&&o.push({start:t%n,end:a%n,loop:s}),o}function Xa(i,t){const e=i.points,s=i.options.spanGaps,n=e.length;if(!n)return[];const o=!!i._loop,{start:a,end:r}=Ya(e,n,o,s);if(s===!0)return ls(i,[{start:a,end:r,loop:o}],e,t);const l=rr({chart:t,initial:e.initial,numSteps:a,currentStep:Math.min(s-e.start,a)}))}_refresh(){this._request||(this._running=!0,this._request=un.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let e=0;this._charts.forEach((s,n)=>{if(!s.running||!s.items.length)return;const o=s.items;let a=o.length-1,r=!1,l;for(;a>=0;--a)l=o[a],l._active?(l._total>s.duration&&(s.duration=l._total),l.tick(t),r=!0):(o[a]=o[o.length-1],o.pop());r&&(n.draw(),this._notify(n,s,t,"progress")),o.length||(s.running=!1,this._notify(n,s,t,"complete"),s.initial=!1),e+=o.length}),this._lastDate=t,e===0&&(this._running=!1)}_getAnims(t){const e=this._charts;let s=e.get(t);return s||(s={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,s)),s}listen(t,e,s){this._getAnims(t).listeners[e].push(s)}add(t,e){!e||!e.length||this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce((s,n)=>Math.max(s,n._duration),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!(!e||!e.running||!e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const s=e.items;let n=s.length-1;for(;n>=0;--n)s[n].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var ct=new Ga;const hs="transparent",Za={boolean(i,t,e){return e>.5?t:i},color(i,t,e){const s=ts(i||hs),n=s.valid&&ts(t||hs);return n&&n.valid?n.mix(s,e).hexString():t},number(i,t,e){return i+(t-i)*e}};class Qa{constructor(t,e,s,n){const o=e[s];n=Pe([t.to,n,o,t.from]);const a=Pe([t.from,o,n]);this._active=!0,this._fn=t.fn||Za[t.type||typeof a],this._easing=ce[t.easing]||ce.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=s,this._from=a,this._to=n,this._promises=void 0}active(){return this._active}update(t,e,s){if(this._active){this._notify(!1);const n=this._target[this._prop],o=s-this._start,a=this._duration-o;this._start=s,this._duration=Math.floor(Math.max(a,t.duration)),this._total+=o,this._loop=!!t.loop,this._to=Pe([t.to,e,n,t.from]),this._from=Pe([t.from,n,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,s=this._duration,n=this._prop,o=this._from,a=this._loop,r=this._to;let l;if(this._active=o!==r&&(a||e1?2-l:l,l=this._easing(Math.min(1,Math.max(0,l))),this._target[n]=this._fn(o,r,l)}wait(){const t=this._promises||(this._promises=[]);return new Promise((e,s)=>{t.push({res:e,rej:s})})}_notify(t){const e=t?"res":"rej",s=this._promises||[];for(let n=0;n{const o=t[n];if(!T(o))return;const a={};for(const r of e)a[r]=o[r];(E(o.properties)&&o.properties||[n]).forEach(r=>{(r===n||!s.has(r))&&s.set(r,a)})})}_animateOptions(t,e){const s=e.options,n=tr(t,s);if(!n)return[];const o=this._createAnimations(n,s);return s.$shared&&Ja(t.options.$animations,s).then(()=>{t.options=s},()=>{}),o}_createAnimations(t,e){const s=this._properties,n=[],o=t.$animations||(t.$animations={}),a=Object.keys(e),r=Date.now();let l;for(l=a.length-1;l>=0;--l){const c=a[l];if(c.charAt(0)==="$")continue;if(c==="options"){n.push(...this._animateOptions(t,e));continue}const h=e[c];let d=o[c];const f=s.get(c);if(d)if(f&&d.active()){d.update(f,h,r);continue}else d.cancel();if(!f||!f.duration){t[c]=h;continue}o[c]=d=new Qa(f,t,c,h),n.push(d)}return n}update(t,e){if(this._properties.size===0){Object.assign(t,e);return}const s=this._createAnimations(t,e);if(s.length)return ct.add(this._chart,s),!0}}function Ja(i,t){const e=[],s=Object.keys(t);for(let n=0;n0||!e&&o<0)return n.index}return null}function ps(i,t){const{chart:e,_cachedMeta:s}=i,n=e._stacks||(e._stacks={}),{iScale:o,vScale:a,index:r}=s,l=o.axis,c=a.axis,h=nr(o,a,s),d=t.length;let f;for(let u=0;ue[s].axis===t).shift()}function rr(i,t){return yt(i,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function lr(i,t,e){return yt(i,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:e,index:t,mode:"default",type:"data"})}function Qt(i,t){const e=i.controller.index,s=i.vScale&&i.vScale.axis;if(s){t=t||i._parsed;for(const n of t){const o=n._stacks;if(!o||o[s]===void 0||o[s][e]===void 0)return;delete o[s][e],o[s]._visualValues!==void 0&&o[s]._visualValues[e]!==void 0&&delete o[s]._visualValues[e]}}}const ai=i=>i==="reset"||i==="none",ms=(i,t)=>t?i:Object.assign({},i),cr=(i,t,e)=>i&&!t.hidden&&t._stacked&&{keys:Tn(e,!0),values:null};class Rt{constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=us(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&Qt(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,s=this.getDataset(),n=(d,f,u,p)=>d==="x"?f:d==="r"?p:u,o=e.xAxisID=D(s.xAxisID,oi(t,"x")),a=e.yAxisID=D(s.yAxisID,oi(t,"y")),r=e.rAxisID=D(s.rAxisID,oi(t,"r")),l=e.indexAxis,c=e.iAxisID=n(l,o,a,r),h=e.vAxisID=n(l,a,o,r);e.xScale=this.getScaleForId(o),e.yScale=this.getScaleForId(a),e.rScale=this.getScaleForId(r),e.iScale=this.getScaleForId(c),e.vScale=this.getScaleForId(h)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Zi(this._data,this),t._stacked&&Qt(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),s=this._data;if(T(e))this._data=sr(e);else if(s!==e){if(s){Zi(s,this);const n=this._cachedMeta;Qt(n),n._parsed=[]}e&&Object.isExtensible(e)&&Uo(e,this),this._syncList=[],this._data=e}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const e=this._cachedMeta,s=this.getDataset();let n=!1;this._dataCheck();const o=e._stacked;e._stacked=us(e.vScale,e),e.stack!==s.stack&&(n=!0,Qt(e),e.stack=s.stack),this._resyncElements(t),(n||o!==e._stacked)&&ps(this,e._parsed)}configure(){const t=this.chart.config,e=t.datasetScopeKeys(this._type),s=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(s,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){const{_cachedMeta:s,_data:n}=this,{iScale:o,_stacked:a}=s,r=o.axis;let l=t===0&&e===n.length?!0:s._sorted,c=t>0&&s._parsed[t-1],h,d,f;if(this._parsing===!1)s._parsed=n,s._sorted=!0,f=n;else{E(n[t])?f=this.parseArrayData(s,n,t,e):T(n[t])?f=this.parseObjectData(s,n,t,e):f=this.parsePrimitiveData(s,n,t,e);const u=()=>d[r]===null||c&&d[r]g||d=0;--f)if(!p()){this.updateRangeFromParsed(c,t,u,l);break}}return c}getAllParsedValues(t){const e=this._cachedMeta._parsed,s=[];let n,o,a;for(n=0,o=e.length;n=0&&tthis.getContext(s,n,e),g=c.resolveNamedOptions(f,u,p,d);return g.$shared&&(g.$shared=l,o[a]=Object.freeze(ms(g,l))),g}_resolveAnimations(t,e,s){const n=this.chart,o=this._cachedDataOpts,a=`animation-${e}`,r=o[a];if(r)return r;let l;if(n.options.animation!==!1){const h=this.chart.config,d=h.datasetAnimationScopeKeys(this._type,e),f=h.getOptionScopes(this.getDataset(),d);l=h.createResolver(f,this.getContext(t,s,e))}const c=new On(n,l&&l.animations);return l&&l._cacheable&&(o[a]=Object.freeze(c)),c}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||ai(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){const s=this.resolveDataElementOptions(t,e),n=this._sharedOptions,o=this.getSharedOptions(s),a=this.includeOptions(e,o)||o!==n;return this.updateSharedOptions(o,e,s),{sharedOptions:o,includeOptions:a}}updateElement(t,e,s,n){ai(n)?Object.assign(t,s):this._resolveAnimations(e,n).update(t,s)}updateSharedOptions(t,e,s){t&&!ai(e)&&this._resolveAnimations(void 0,e).update(t,s)}_setStyle(t,e,s,n){t.active=n;const o=this.getStyle(e,n);this._resolveAnimations(e,s,n).update(t,{options:!n&&this.getSharedOptions(o)||o})}removeHoverStyle(t,e,s){this._setStyle(t,s,"active",!1)}setHoverStyle(t,e,s){this._setStyle(t,s,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,s=this._cachedMeta.data;for(const[r,l,c]of this._syncList)this[r](l,c);this._syncList=[];const n=s.length,o=e.length,a=Math.min(o,n);a&&this.parse(0,a),o>n?this._insertElements(n,o-n,t):o{for(c.length+=e,r=c.length-1;r>=a;r--)c[r]=c[r-e]};for(l(o),r=t;rn-o))}return i._cache.$bar}function dr(i){const t=i.iScale,e=hr(t,i.type);let s=t._length,n,o,a,r;const l=()=>{a===32767||a===-32768||(ue(r)&&(s=Math.min(s,Math.abs(a-r)||s)),r=a)};for(n=0,o=e.length;n0?n[i-1]:null,r=iMath.abs(r)&&(l=r,c=a),t[e.axis]=c,t._custom={barStart:l,barEnd:c,start:n,end:o,min:a,max:r}}function Ln(i,t,e,s){return E(i)?gr(i,t,e,s):t[e.axis]=e.parse(i,s),t}function bs(i,t,e,s){const n=i.iScale,o=i.vScale,a=n.getLabels(),r=n===o,l=[];let c,h,d,f;for(c=e,h=e+s;c=e?1:-1)}function mr(i){let t,e,s,n,o;return i.horizontal?(t=i.base>i.x,e="left",s="right"):(t=i.basel.controller.options.grouped),o=s.options.stacked,a=[],r=l=>{const c=l.controller.getParsed(e),h=c&&c[l.vScale.axis];if(A(h)||isNaN(h))return!0};for(const l of n)if(!(e!==void 0&&r(l))&&((o===!1||a.indexOf(l.stack)===-1||o===void 0&&l.stack===void 0)&&a.push(l.stack),l.index===t))break;return a.length||a.push(void 0),a}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,e,s){const n=this._getStacks(t,s),o=e!==void 0?n.indexOf(e):-1;return o===-1?n.length-1:o}_getRuler(){const t=this.options,e=this._cachedMeta,s=e.iScale,n=[];let o,a;for(o=0,a=e.data.length;o0&&this.getParsed(e-1);for(let x=0;x=_){k.skip=!0;continue}const w=this.getParsed(x),P=A(w[u]),O=k[f]=a.getPixelForValue(w[f],x),C=k[u]=o||P?r.getBasePixel():r.getPixelForValue(l?this.applyStack(r,w,l):w[u],x);k.skip=isNaN(O)||isNaN(C)||P,k.stop=x>0&&Math.abs(w[f]-y[f])>m,g&&(k.parsed=w,k.raw=c.data[x]),d&&(k.options=h||this.resolveDataElementOptions(x,M.active?"active":n)),b||this.updateElement(M,x,k,n),y=w}}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,s=e.options&&e.options.borderWidth||0,n=t.data||[];if(!n.length)return s;const o=n[0].size(this.resolveDataElementOptions(0)),a=n[n.length-1].size(this.resolveDataElementOptions(n.length-1));return Math.max(s,o,a)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}S(Be,"id","line"),S(Be,"defaults",{datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1}),S(Be,"overrides",{scales:{_index_:{type:"category"},_value_:{type:"linear"}}});class He extends Rt{getLabelAndValue(t){const e=this._cachedMeta,s=this.chart.data.labels||[],{xScale:n,yScale:o}=e,a=this.getParsed(t),r=n.getLabelForValue(a.x),l=o.getLabelForValue(a.y);return{label:s[t]||"",value:"("+r+", "+l+")"}}update(t){const e=this._cachedMeta,{data:s=[]}=e,n=this.chart._animationsDisabled;let{start:o,count:a}=pn(e,s,n);if(this._drawStart=o,this._drawCount=a,mn(e)&&(o=0,a=s.length),this.options.showLine){this.datasetElementType||this.addElements();const{dataset:r,_dataset:l}=e;r._chart=this.chart,r._datasetIndex=this.index,r._decimated=!!l._decimated,r.points=s;const c=this.resolveDatasetElementOptions(t);c.segment=this.options.segment,this.updateElement(r,void 0,{animated:!n,options:c},t)}else this.datasetElementType&&(delete e.dataset,this.datasetElementType=!1);this.updateElements(s,o,a,t)}addElements(){const{showLine:t}=this.options;!this.datasetElementType&&t&&(this.datasetElementType=this.chart.registry.getElement("line")),super.addElements()}updateElements(t,e,s,n){const o=n==="reset",{iScale:a,vScale:r,_stacked:l,_dataset:c}=this._cachedMeta,h=this.resolveDataElementOptions(e,n),d=this.getSharedOptions(h),f=this.includeOptions(n,d),u=a.axis,p=r.axis,{spanGaps:g,segment:m}=this.options,b=Ut(g)?g:Number.POSITIVE_INFINITY,_=this.chart._animationsDisabled||o||n==="none";let v=e>0&&this.getParsed(e-1);for(let y=e;y0&&Math.abs(M[u]-v[u])>b,m&&(k.parsed=M,k.raw=c.data[y]),f&&(k.options=d||this.resolveDataElementOptions(y,x.active?"active":n)),_||this.updateElement(x,y,k,n),v=M}this.updateSharedOptions(d,n,h)}getMaxOverflow(){const t=this._cachedMeta,e=t.data||[];if(!this.options.showLine){let r=0;for(let l=e.length-1;l>=0;--l)r=Math.max(r,e[l].size(this.resolveDataElementOptions(l))/2);return r>0&&r}const s=t.dataset,n=s.options&&s.options.borderWidth||0;if(!e.length)return n;const o=e[0].size(this.resolveDataElementOptions(0)),a=e[e.length-1].size(this.resolveDataElementOptions(e.length-1));return Math.max(n,o,a)/2}}S(He,"id","scatter"),S(He,"defaults",{datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1}),S(He,"overrides",{interaction:{mode:"point"},scales:{x:{type:"linear"},y:{type:"linear"}}});function Ct(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class Vi{constructor(t){S(this,"options");this.options=t||{}}static override(t){Object.assign(Vi.prototype,t)}init(){}formats(){return Ct()}parse(){return Ct()}format(){return Ct()}add(){return Ct()}diff(){return Ct()}startOf(){return Ct()}endOf(){return Ct()}}var yr={_date:Vi};function vr(i,t,e,s){const{controller:n,data:o,_sorted:a}=i,r=n._cachedMeta.iScale;if(r&&t===r.axis&&t!=="r"&&a&&o.length){const l=r._reversePixels?$o:At;if(s){if(n._sharedOptions){const c=o[0],h=typeof c.getRange=="function"&&c.getRange(t);if(h){const d=l(o,t,e-h),f=l(o,t,e+h);return{lo:d.lo,hi:f.hi}}}}else return l(o,t,e)}return{lo:0,hi:o.length-1}}function _e(i,t,e,s,n){const o=i.getSortedVisibleDatasetMetas(),a=e[t];for(let r=0,l=o.length;r{l[a](t[e],n)&&(o.push({element:l,datasetIndex:c,index:h}),r=r||l.inRange(t.x,t.y,n))}),s&&!r?[]:o}var Sr={evaluateInteractionItems:_e,modes:{index(i,t,e,s){const n=Ot(t,i),o=e.axis||"x",a=e.includeInvisible||!1,r=e.intersect?li(i,n,o,s,a):ci(i,n,o,!1,s,a),l=[];return r.length?(i.getSortedVisibleDatasetMetas().forEach(c=>{const h=r[0].index,d=c.data[h];d&&!d.skip&&l.push({element:d,datasetIndex:c.index,index:h})}),l):[]},dataset(i,t,e,s){const n=Ot(t,i),o=e.axis||"xy",a=e.includeInvisible||!1;let r=e.intersect?li(i,n,o,s,a):ci(i,n,o,!1,s,a);if(r.length>0){const l=r[0].datasetIndex,c=i.getDatasetMeta(l).data;r=[];for(let h=0;he.pos===t)}function vs(i,t){return i.filter(e=>An.indexOf(e.pos)===-1&&e.box.axis===t)}function te(i,t){return i.sort((e,s)=>{const n=t?s:e,o=t?e:s;return n.weight===o.weight?n.index-o.index:n.weight-o.weight})}function Pr(i){const t=[];let e,s,n,o,a,r;for(e=0,s=(i||[]).length;ec.box.fullSize),!0),s=te(Jt(t,"left"),!0),n=te(Jt(t,"right")),o=te(Jt(t,"top"),!0),a=te(Jt(t,"bottom")),r=vs(t,"x"),l=vs(t,"y");return{fullSize:e,leftAndTop:s.concat(o),rightAndBottom:n.concat(l).concat(a).concat(r),chartArea:Jt(t,"chartArea"),vertical:s.concat(n).concat(l),horizontal:o.concat(a).concat(r)}}function ks(i,t,e,s){return Math.max(i[e],t[e])+Math.max(i[s],t[s])}function Fn(i,t){i.top=Math.max(i.top,t.top),i.left=Math.max(i.left,t.left),i.bottom=Math.max(i.bottom,t.bottom),i.right=Math.max(i.right,t.right)}function Tr(i,t,e,s){const{pos:n,box:o}=e,a=i.maxPadding;if(!T(n)){e.size&&(i[n]-=e.size);const d=s[e.stack]||{size:0,count:1};d.size=Math.max(d.size,e.horizontal?o.height:o.width),e.size=d.size/d.count,i[n]+=e.size}o.getPadding&&Fn(a,o.getPadding());const r=Math.max(0,t.outerWidth-ks(a,i,"left","right")),l=Math.max(0,t.outerHeight-ks(a,i,"top","bottom")),c=r!==i.w,h=l!==i.h;return i.w=r,i.h=l,e.horizontal?{same:c,other:h}:{same:h,other:c}}function Lr(i){const t=i.maxPadding;function e(s){const n=Math.max(t[s]-i[s],0);return i[s]+=n,n}i.y+=e("top"),i.x+=e("left"),e("right"),e("bottom")}function Ar(i,t){const e=t.maxPadding;function s(n){const o={left:0,top:0,right:0,bottom:0};return n.forEach(a=>{o[a]=Math.max(t[a],e[a])}),o}return s(i?["left","right"]:["top","bottom"])}function ne(i,t,e,s){const n=[];let o,a,r,l,c,h;for(o=0,a=i.length,c=0;o{typeof g.beforeLayout=="function"&&g.beforeLayout()});const h=l.reduce((g,m)=>m.box.options&&m.box.options.display===!1?g:g+1,0)||1,d=Object.freeze({outerWidth:t,outerHeight:e,padding:n,availableWidth:o,availableHeight:a,vBoxMaxWidth:o/2/h,hBoxMaxHeight:a/2}),f=Object.assign({},n);Fn(f,$(s));const u=Object.assign({maxPadding:f,w:o,h:a,x:n.left,y:n.top},n),p=Dr(l.concat(c),d);ne(r.fullSize,u,d,p),ne(l,u,d,p),ne(c,u,d,p)&&ne(l,u,d,p),Lr(u),ws(r.leftAndTop,u,d,p),u.x+=u.w,u.y+=u.h,ws(r.rightAndBottom,u,d,p),i.chartArea={left:u.left,top:u.top,right:u.left+u.w,bottom:u.top+u.h,height:u.h,width:u.w},F(r.chartArea,g=>{const m=g.box;Object.assign(m,i.chartArea),m.update(u.w,u.h,{left:0,top:0,right:0,bottom:0})})}};class In{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,s){}removeEventListener(t,e,s){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,s,n){return e=Math.max(0,e||t.width),s=s||t.height,{width:e,height:Math.max(0,n?Math.floor(e/n):s)}}isAttached(t){return!0}updateConfig(t){}}class Fr extends In{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const We="$chartjs",Ir={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},Ms=i=>i===null||i==="";function Rr(i,t){const e=i.style,s=i.getAttribute("height"),n=i.getAttribute("width");if(i[We]={initial:{height:s,width:n,style:{display:e.display,height:e.height,width:e.width}}},e.display=e.display||"block",e.boxSizing=e.boxSizing||"border-box",Ms(n)){const o=as(i,"width");o!==void 0&&(i.width=o)}if(Ms(s))if(i.style.height==="")i.height=i.width/(t||2);else{const o=as(i,"height");o!==void 0&&(i.height=o)}return i}const Rn=za?{passive:!0}:!1;function Er(i,t,e){i&&i.addEventListener(t,e,Rn)}function zr(i,t,e){i&&i.canvas&&i.canvas.removeEventListener(t,e,Rn)}function Br(i,t){const e=Ir[i.type]||i.type,{x:s,y:n}=Ot(i,t);return{type:e,chart:t,native:i,x:s!==void 0?s:null,y:n!==void 0?n:null}}function qe(i,t){for(const e of i)if(e===t||e.contains(t))return!0}function Hr(i,t,e){const s=i.canvas,n=new MutationObserver(o=>{let a=!1;for(const r of o)a=a||qe(r.addedNodes,s),a=a&&!qe(r.removedNodes,s);a&&e()});return n.observe(document,{childList:!0,subtree:!0}),n}function Wr(i,t,e){const s=i.canvas,n=new MutationObserver(o=>{let a=!1;for(const r of o)a=a||qe(r.removedNodes,s),a=a&&!qe(r.addedNodes,s);a&&e()});return n.observe(document,{childList:!0,subtree:!0}),n}const pe=new Map;let Ss=0;function En(){const i=window.devicePixelRatio;i!==Ss&&(Ss=i,pe.forEach((t,e)=>{e.currentDevicePixelRatio!==i&&t()}))}function Vr(i,t){pe.size||window.addEventListener("resize",En),pe.set(i,t)}function Nr(i){pe.delete(i),pe.size||window.removeEventListener("resize",En)}function jr(i,t,e){const s=i.canvas,n=s&&Wi(s);if(!n)return;const o=gn((r,l)=>{const c=n.clientWidth;e(r,l),c{const l=r[0],c=l.contentRect.width,h=l.contentRect.height;c===0&&h===0||o(c,h)});return a.observe(n),Vr(i,o),a}function hi(i,t,e){e&&e.disconnect(),t==="resize"&&Nr(i)}function $r(i,t,e){const s=i.canvas,n=gn(o=>{i.ctx!==null&&e(Br(o,i))},i);return Er(s,t,n),n}class Yr extends In{acquireContext(t,e){const s=t&&t.getContext&&t.getContext("2d");return s&&s.canvas===t?(Rr(t,e),s):null}releaseContext(t){const e=t.canvas;if(!e[We])return!1;const s=e[We].initial;["height","width"].forEach(o=>{const a=s[o];A(a)?e.removeAttribute(o):e.setAttribute(o,a)});const n=s.style||{};return Object.keys(n).forEach(o=>{e.style[o]=n[o]}),e.width=e.width,delete e[We],!0}addEventListener(t,e,s){this.removeEventListener(t,e);const n=t.$proxies||(t.$proxies={}),a={attach:Hr,detach:Wr,resize:jr}[e]||$r;n[e]=a(t,e,s)}removeEventListener(t,e){const s=t.$proxies||(t.$proxies={}),n=s[e];if(!n)return;({attach:hi,detach:hi,resize:hi}[e]||zr)(t,e,n),s[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,s,n){return Ea(t,e,s,n)}isAttached(t){const e=Wi(t);return!!(e&&e.isConnected)}}function Ur(i){return!Hi()||typeof OffscreenCanvas<"u"&&i instanceof OffscreenCanvas?Fr:Yr}class rt{constructor(){S(this,"x");S(this,"y");S(this,"active",!1);S(this,"options");S(this,"$animations")}tooltipPosition(t){const{x:e,y:s}=this.getProps(["x","y"],t);return{x:e,y:s}}hasValue(){return Ut(this.x)&&Ut(this.y)}getProps(t,e){const s=this.$animations;if(!e||!s)return this;const n={};return t.forEach(o=>{n[o]=s[o]&&s[o].active()?s[o]._to:this[o]}),n}}S(rt,"defaults",{}),S(rt,"defaultRoutes");function Xr(i,t){const e=i.options.ticks,s=Kr(i),n=Math.min(e.maxTicksLimit||s,s),o=e.major.enabled?Gr(t):[],a=o.length,r=o[0],l=o[a-1],c=[];if(a>n)return Zr(t,c,o,a/n),c;const h=qr(o,t,n);if(a>0){let d,f;const u=a>1?Math.round((l-r)/(a-1)):null;for(Te(t,c,h,A(u)?0:r-u,r),d=0,f=a-1;dn)return l}return Math.max(n,1)}function Gr(i){const t=[];let e,s;for(e=0,s=i.length;ei==="left"?"right":i==="right"?"left":i,Ps=(i,t,e)=>t==="top"||t==="left"?i[t]+e:i[t]-e,Cs=(i,t)=>Math.min(t||i,i);function Ds(i,t){const e=[],s=i.length/t,n=i.length;let o=0;for(;oa+r)))return l}function el(i,t){F(i,e=>{const s=e.gc,n=s.length/2;let o;if(n>t){for(o=0;os?s:e,s=n&&e>s?e:s,{min:K(e,K(s,e)),max:K(s,K(e,s))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){R(this.options.beforeUpdate,[this])}update(t,e,s){const{beginAtZero:n,grace:o,ticks:a}=this.options,r=a.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=s=Object.assign({left:0,right:0,top:0,bottom:0},s),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+s.left+s.right:this.height+s.top+s.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=ga(this,o,n),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const l=r=o||s<=1||!this.isHorizontal()){this.labelRotation=n;return}const h=this._getLabelSizes(),d=h.widest.width,f=h.highest.height,u=G(this.chart.width-d,0,this.maxWidth);r=t.offset?this.maxWidth/s:u/(s-1),d+6>r&&(r=u/(s-(t.offset?.5:1)),l=this.maxHeight-ee(t.grid)-e.padding-Os(t.title,this.chart.options.font),c=Math.sqrt(d*d+f*f),a=Oi(Math.min(Math.asin(G((h.highest.height+6)/r,-1,1)),Math.asin(G(l/c,-1,1))-Math.asin(G(f/c,-1,1)))),a=Math.max(n,Math.min(o,a))),this.labelRotation=a}afterCalculateLabelRotation(){R(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){R(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:s,title:n,grid:o}}=this,a=this._isVisible(),r=this.isHorizontal();if(a){const l=Os(n,e.options.font);if(r?(t.width=this.maxWidth,t.height=ee(o)+l):(t.height=this.maxHeight,t.width=ee(o)+l),s.display&&this.ticks.length){const{first:c,last:h,widest:d,highest:f}=this._getLabelSizes(),u=s.padding*2,p=mt(this.labelRotation),g=Math.cos(p),m=Math.sin(p);if(r){const b=s.mirror?0:m*d.width+g*f.height;t.height=Math.min(this.maxHeight,t.height+b+u)}else{const b=s.mirror?0:g*d.width+m*f.height;t.width=Math.min(this.maxWidth,t.width+b+u)}this._calculatePadding(c,h,m,g)}}this._handleMargins(),r?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,s,n){const{ticks:{align:o,padding:a},position:r}=this.options,l=this.labelRotation!==0,c=r!=="top"&&this.axis==="x";if(this.isHorizontal()){const h=this.getPixelForTick(0)-this.left,d=this.right-this.getPixelForTick(this.ticks.length-1);let f=0,u=0;l?c?(f=n*t.width,u=s*e.height):(f=s*t.height,u=n*e.width):o==="start"?u=e.width:o==="end"?f=t.width:o!=="inner"&&(f=t.width/2,u=e.width/2),this.paddingLeft=Math.max((f-h+a)*this.width/(this.width-h),0),this.paddingRight=Math.max((u-d+a)*this.width/(this.width-d),0)}else{let h=e.height/2,d=t.height/2;o==="start"?(h=0,d=t.height):o==="end"&&(h=e.height,d=0),this.paddingTop=h+a,this.paddingBottom=d+a}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){R(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return e==="top"||e==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let e,s;for(e=0,s=t.length;e({width:a[P]||0,height:r[P]||0});return{first:w(0),last:w(e-1),widest:w(M),highest:w(k),widths:a,heights:r}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return jo(this._alignToPixels?Pt(this.chart,e,0):e)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&tr*n?r/s:l/n:l*n0}_computeGridLineItems(t){const e=this.axis,s=this.chart,n=this.options,{grid:o,position:a,border:r}=n,l=o.offset,c=this.isHorizontal(),d=this.ticks.length+(l?1:0),f=ee(o),u=[],p=r.setContext(this.getContext()),g=p.display?p.width:0,m=g/2,b=function(N){return Pt(s,N,g)};let _,v,y,x,M,k,w,P,O,C,L,Y;if(a==="top")_=b(this.bottom),k=this.bottom-f,P=_-m,C=b(t.top)+m,Y=t.bottom;else if(a==="bottom")_=b(this.top),C=t.top,Y=b(t.bottom)-m,k=_+m,P=this.top+f;else if(a==="left")_=b(this.right),M=this.right-f,w=_-m,O=b(t.left)+m,L=t.right;else if(a==="right")_=b(this.left),O=t.left,L=b(t.right)-m,M=_+m,w=this.left+f;else if(e==="x"){if(a==="center")_=b((t.top+t.bottom)/2+.5);else if(T(a)){const N=Object.keys(a)[0],Z=a[N];_=b(this.chart.scales[N].getPixelForValue(Z))}C=t.top,Y=t.bottom,k=_+m,P=k+f}else if(e==="y"){if(a==="center")_=b((t.left+t.right)/2);else if(T(a)){const N=Object.keys(a)[0],Z=a[N];_=b(this.chart.scales[N].getPixelForValue(Z))}M=_-m,w=M-f,O=t.left,L=t.right}const st=D(n.ticks.maxTicksLimit,d),B=Math.max(1,Math.ceil(d/st));for(v=0;v0&&(kt-=vt/2);break}ve={left:kt,top:Gt,width:vt+Wt.width,height:qt+Wt.height,color:B.backdropColor}}m.push({label:y,font:P,textOffset:L,options:{rotation:g,color:Z,strokeColor:xe,strokeWidth:ye,textAlign:Ht,textBaseline:Y,translation:[x,M],backdrop:ve}})}return m}_getXAxisLabelAlignment(){const{position:t,ticks:e}=this.options;if(-mt(this.labelRotation))return t==="top"?"left":"right";let n="center";return e.align==="start"?n="left":e.align==="end"?n="right":e.align==="inner"&&(n="inner"),n}_getYAxisLabelAlignment(t){const{position:e,ticks:{crossAlign:s,mirror:n,padding:o}}=this.options,a=this._getLabelSizes(),r=t+o,l=a.widest.width;let c,h;return e==="left"?n?(h=this.right+o,s==="near"?c="left":s==="center"?(c="center",h+=l/2):(c="right",h+=l)):(h=this.right-r,s==="near"?c="right":s==="center"?(c="center",h-=l/2):(c="left",h=this.left)):e==="right"?n?(h=this.left+o,s==="near"?c="right":s==="center"?(c="center",h-=l/2):(c="left",h-=l)):(h=this.left+r,s==="near"?c="left":s==="center"?(c="center",h+=l/2):(c="right",h=this.right)):c="right",{textAlign:c,x:h}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,e=this.options.position;if(e==="left"||e==="right")return{top:0,left:this.left,bottom:t.height,right:this.right};if(e==="top"||e==="bottom")return{top:this.top,left:0,bottom:this.bottom,right:t.width}}drawBackground(){const{ctx:t,options:{backgroundColor:e},left:s,top:n,width:o,height:a}=this;e&&(t.save(),t.fillStyle=e,t.fillRect(s,n,o,a),t.restore())}getLineWidthForValue(t){const e=this.options.grid;if(!this._isVisible()||!e.display)return 0;const n=this.ticks.findIndex(o=>o.value===t);return n>=0?e.setContext(this.getContext(n)).lineWidth:0}drawGrid(t){const e=this.options.grid,s=this.ctx,n=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let o,a;const r=(l,c,h)=>{!h.width||!h.color||(s.save(),s.lineWidth=h.width,s.strokeStyle=h.color,s.setLineDash(h.borderDash||[]),s.lineDashOffset=h.borderDashOffset,s.beginPath(),s.moveTo(l.x,l.y),s.lineTo(c.x,c.y),s.stroke(),s.restore())};if(e.display)for(o=0,a=n.length;o{this.draw(o)}}]:[{z:s,draw:o=>{this.drawBackground(),this.drawGrid(o),this.drawTitle()}},{z:n,draw:()=>{this.drawBorder()}},{z:e,draw:o=>{this.drawLabels(o)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),s=this.axis+"AxisID",n=[];let o,a;for(o=0,a=e.length;o{const s=e.split("."),n=s.pop(),o=[i].concat(s).join("."),a=t[e].split("."),r=a.pop(),l=a.join(".");z.route(o,n,l,r)})}function ll(i){return"id"in i&&"defaults"in i}class cl{constructor(){this.controllers=new Le(Rt,"datasets",!0),this.elements=new Le(rt,"elements"),this.plugins=new Le(Object,"plugins"),this.scales=new Le(Bt,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,s){[...e].forEach(n=>{const o=s||this._getRegistryForType(n);s||o.isForType(n)||o===this.plugins&&n.id?this._exec(t,o,n):F(n,a=>{const r=s||this._getRegistryForType(a);this._exec(t,r,a)})})}_exec(t,e,s){const n=Di(t);R(s["before"+n],[],s),e[t](s),R(s["after"+n],[],s)}_getRegistryForType(t){for(let e=0;eo.filter(r=>!a.some(l=>r.plugin.id===l.plugin.id));this._notify(n(e,s),t,"stop"),this._notify(n(s,e),t,"start")}}function dl(i){const t={},e=[],s=Object.keys(ot.plugins.items);for(let o=0;o1&&Ts(i[0].toLowerCase());if(s)return s}throw new Error(`Cannot determine type of '${i}' axis. Please provide 'axis' or 'position' option.`)}function Ls(i,t,e){if(e[t+"AxisID"]===i)return{axis:t}}function _l(i,t){if(t.data&&t.data.datasets){const e=t.data.datasets.filter(s=>s.xAxisID===i||s.yAxisID===i);if(e.length)return Ls(i,"x",e[0])||Ls(i,"y",e[0])}return{}}function xl(i,t){const e=Et[i.type]||{scales:{}},s=t.scales||{},n=bi(i.type,t),o=Object.create(null);return Object.keys(s).forEach(a=>{const r=s[a];if(!T(r))return console.error(`Invalid scale configuration for scale: ${a}`);if(r._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${a}`);const l=_i(a,r,_l(a,i),z.scales[r.type]),c=ml(l,n),h=e.scales||{};o[a]=re(Object.create(null),[{axis:l},r,h[l],h[c]])}),i.data.datasets.forEach(a=>{const r=a.type||i.type,l=a.indexAxis||bi(r,t),h=(Et[r]||{}).scales||{};Object.keys(h).forEach(d=>{const f=pl(d,l),u=a[f+"AxisID"]||f;o[u]=o[u]||Object.create(null),re(o[u],[{axis:f},s[u],h[d]])})}),Object.keys(o).forEach(a=>{const r=o[a];re(r,[z.scales[r.type],z.scale])}),o}function zn(i){const t=i.options||(i.options={});t.plugins=D(t.plugins,{}),t.scales=xl(i,t)}function Bn(i){return i=i||{},i.datasets=i.datasets||[],i.labels=i.labels||[],i}function yl(i){return i=i||{},i.data=Bn(i.data),zn(i),i}const As=new Map,Hn=new Set;function Ae(i,t){let e=As.get(i);return e||(e=t(),As.set(i,e),Hn.add(e)),e}const ie=(i,t,e)=>{const s=Yt(t,e);s!==void 0&&i.add(s)};class vl{constructor(t){this._config=yl(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=Bn(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),zn(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Ae(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,e){return Ae(`${t}.transition.${e}`,()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,e){return Ae(`${t}-${e}`,()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]])}pluginScopeKeys(t){const e=t.id,s=this.type;return Ae(`${s}-plugin-${e}`,()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,e){const s=this._scopeCache;let n=s.get(t);return(!n||e)&&(n=new Map,s.set(t,n)),n}getOptionScopes(t,e,s){const{options:n,type:o}=this,a=this._cachedScopes(t,s),r=a.get(e);if(r)return r;const l=new Set;e.forEach(h=>{t&&(l.add(t),h.forEach(d=>ie(l,t,d))),h.forEach(d=>ie(l,n,d)),h.forEach(d=>ie(l,Et[o]||{},d)),h.forEach(d=>ie(l,z,d)),h.forEach(d=>ie(l,pi,d))});const c=Array.from(l);return c.length===0&&c.push(Object.create(null)),Hn.has(e)&&a.set(e,c),c}chartOptionScopes(){const{options:t,type:e}=this;return[t,Et[e]||{},z.datasets[e]||{},{type:e},z,pi]}resolveNamedOptions(t,e,s,n=[""]){const o={$shared:!0},{resolver:a,subPrefixes:r}=Fs(this._resolverCache,t,n);let l=a;if(wl(a,e)){o.$shared=!1,s=xt(s)?s():s;const c=this.createResolver(t,s,r);l=Xt(a,s,c)}for(const c of e)o[c]=l[c];return o}createResolver(t,e,s=[""],n){const{resolver:o}=Fs(this._resolverCache,t,s);return T(e)?Xt(o,e,void 0,n):o}}function Fs(i,t,e){let s=i.get(t);s||(s=new Map,i.set(t,s));const n=e.join();let o=s.get(n);return o||(o={resolver:Ei(t,e),subPrefixes:e.filter(r=>!r.toLowerCase().includes("hover"))},s.set(n,o)),o}const kl=i=>T(i)&&Object.getOwnPropertyNames(i).some(t=>xt(i[t]));function wl(i,t){const{isScriptable:e,isIndexable:s}=vn(i);for(const n of t){const o=e(n),a=s(n),r=(a||o)&&i[n];if(o&&(xt(r)||kl(r))||a&&E(r))return!0}return!1}var Ml="4.4.2";const Sl=["top","bottom","left","right","chartArea"];function Is(i,t){return i==="top"||i==="bottom"||Sl.indexOf(i)===-1&&t==="x"}function Rs(i,t){return function(e,s){return e[i]===s[i]?e[t]-s[t]:e[i]-s[i]}}function Es(i){const t=i.chart,e=t.options.animation;t.notifyPlugins("afterRender"),R(e&&e.onComplete,[i],t)}function Pl(i){const t=i.chart,e=t.options.animation;R(e&&e.onProgress,[i],t)}function Wn(i){return Hi()&&typeof i=="string"?i=document.getElementById(i):i&&i.length&&(i=i[0]),i&&i.canvas&&(i=i.canvas),i}const Ve={},zs=i=>{const t=Wn(i);return Object.values(Ve).filter(e=>e.canvas===t).pop()};function Cl(i,t,e){const s=Object.keys(i);for(const n of s){const o=+n;if(o>=t){const a=i[n];delete i[n],(e>0||o>t)&&(i[o+e]=a)}}}function Dl(i,t,e,s){return!e||i.type==="mouseout"?null:s?t:i}function Fe(i,t,e){return i.options.clip?i[e]:t[e]}function Ol(i,t){const{xScale:e,yScale:s}=i;return e&&s?{left:Fe(e,t,"left"),right:Fe(e,t,"right"),top:Fe(s,t,"top"),bottom:Fe(s,t,"bottom")}:t}class it{static register(...t){ot.add(...t),Bs()}static unregister(...t){ot.remove(...t),Bs()}constructor(t,e){const s=this.config=new vl(e),n=Wn(t),o=zs(n);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");const a=s.createResolver(s.chartOptionScopes(),this.getContext());this.platform=new(s.platform||Ur(n)),this.platform.updateConfig(s);const r=this.platform.acquireContext(n,a.aspectRatio),l=r&&r.canvas,c=l&&l.height,h=l&&l.width;if(this.id=To(),this.ctx=r,this.canvas=l,this.width=h,this.height=c,this._options=a,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new hl,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=Xo(d=>this.update(d),a.resizeDelay||0),this._dataChanges=[],Ve[this.id]=this,!r||!l){console.error("Failed to create chart: can't acquire context from the given item");return}ct.listen(this,"complete",Es),ct.listen(this,"progress",Pl),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:s,height:n,_aspectRatio:o}=this;return A(t)?e&&o?o:n?s/n:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return ot}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():os(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return is(this.canvas,this.ctx),this}stop(){return ct.stop(this),this}resize(t,e){ct.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const s=this.options,n=this.canvas,o=s.maintainAspectRatio&&this.aspectRatio,a=this.platform.getMaximumSize(n,t,e,o),r=s.devicePixelRatio||this.platform.getDevicePixelRatio(),l=this.width?"resize":"attach";this.width=a.width,this.height=a.height,this._aspectRatio=this.aspectRatio,os(this,r,!0)&&(this.notifyPlugins("resize",{size:a}),R(s.onResize,[this,a],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){const e=this.options.scales||{};F(e,(s,n)=>{s.id=n})}buildOrUpdateScales(){const t=this.options,e=t.scales,s=this.scales,n=Object.keys(s).reduce((a,r)=>(a[r]=!1,a),{});let o=[];e&&(o=o.concat(Object.keys(e).map(a=>{const r=e[a],l=_i(a,r),c=l==="r",h=l==="x";return{options:r,dposition:c?"chartArea":h?"bottom":"left",dtype:c?"radialLinear":h?"category":"linear"}}))),F(o,a=>{const r=a.options,l=r.id,c=_i(l,r),h=D(r.type,a.dtype);(r.position===void 0||Is(r.position,c)!==Is(a.dposition))&&(r.position=a.dposition),n[l]=!0;let d=null;if(l in s&&s[l].type===h)d=s[l];else{const f=ot.getScale(h);d=new f({id:l,type:h,ctx:this.ctx,chart:this}),s[d.id]=d}d.init(r,t)}),F(n,(a,r)=>{a||delete s[r]}),F(s,a=>{J.configure(this,a,a.options),J.addBox(this,a)})}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,s=t.length;if(t.sort((n,o)=>n.index-o.index),s>e){for(let n=e;ne.length&&delete this._stacks,t.forEach((s,n)=>{e.filter(o=>o===s._dataset).length===0&&this._destroyDatasetMeta(n)})}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let s,n;for(this._removeUnreferencedMetasets(),s=0,n=e.length;s{this.getDatasetMeta(e).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const s=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),n=this._animationsDisabled=!s.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const o=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let a=0;for(let c=0,h=this.data.datasets.length;c{c.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(Rs("z","_idx"));const{_active:r,_lastEvent:l}=this;l?this._eventHandler(l,!0):r.length&&this._updateHoverStyles(r,r,!0),this.render()}_updateScales(){F(this.scales,t=>{J.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),s=new Set(t.events);(!Xi(e,s)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:s,start:n,count:o}of e){const a=s==="_removeElements"?-o:o;Cl(t,n,a)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,s=o=>new Set(t.filter(a=>a[0]===o).map((a,r)=>r+","+a.splice(1).join(","))),n=s(0);for(let o=1;oo.split(",")).map(o=>({method:o[1],start:+o[2],count:+o[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;J.update(this,this.width,this.height,t);const e=this.chartArea,s=e.width<=0||e.height<=0;this._layers=[],F(this.boxes,n=>{s&&n.position==="chartArea"||(n.configure&&n.configure(),this._layers.push(...n._layers()))},this),this._layers.forEach((n,o)=>{n._idx=o}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let e=0,s=this.data.datasets.length;e=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,s=t._clip,n=!s.disabled,o=Ol(t,this.chartArea),a={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",a)!==!1&&(n&&Ii(e,{left:s.left===!1?0:o.left-s.left,right:s.right===!1?this.width:o.right+s.right,top:s.top===!1?0:o.top-s.top,bottom:s.bottom===!1?this.height:o.bottom+s.bottom}),t.controller.draw(),n&&Ri(e),a.cancelable=!1,this.notifyPlugins("afterDatasetDraw",a))}isPointInArea(t){return ft(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,s,n){const o=Sr.modes[e];return typeof o=="function"?o(this,t,s,n):[]}getDatasetMeta(t){const e=this.data.datasets[t],s=this._metasets;let n=s.filter(o=>o&&o._dataset===e).pop();return n||(n={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},s.push(n)),n}getContext(){return this.$context||(this.$context=yt(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const s=this.getDatasetMeta(t);return typeof s.hidden=="boolean"?!s.hidden:!e.hidden}setDatasetVisibility(t,e){const s=this.getDatasetMeta(t);s.hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,s){const n=s?"show":"hide",o=this.getDatasetMeta(t),a=o.controller._resolveAnimations(void 0,n);ue(e)?(o.data[e].hidden=!s,this.update()):(this.setDatasetVisibility(t,s),a.update(o,{visible:s}),this.update(r=>r.datasetIndex===t?n:void 0))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),ct.remove(this),t=0,e=this.data.datasets.length;t{e.addEventListener(this,o,a),t[o]=a},n=(o,a,r)=>{o.offsetX=a,o.offsetY=r,this._eventHandler(o)};F(this.options.events,o=>s(o,n))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,s=(l,c)=>{e.addEventListener(this,l,c),t[l]=c},n=(l,c)=>{t[l]&&(e.removeEventListener(this,l,c),delete t[l])},o=(l,c)=>{this.canvas&&this.resize(l,c)};let a;const r=()=>{n("attach",r),this.attached=!0,this.resize(),s("resize",o),s("detach",a)};a=()=>{this.attached=!1,n("resize",o),this._stop(),this._resize(0,0),s("attach",r)},e.isAttached(this.canvas)?r():a()}unbindEvents(){F(this._listeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._listeners={},F(this._responsiveListeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,e,s){const n=s?"set":"remove";let o,a,r,l;for(e==="dataset"&&(o=this.getDatasetMeta(t[0].datasetIndex),o.controller["_"+n+"DatasetHoverStyle"]()),r=0,l=t.length;r{const r=this.getDatasetMeta(o);if(!r)throw new Error("No dataset found at index "+o);return{datasetIndex:o,element:r.data[a],index:a}});!$e(s,e)&&(this._active=s,this._lastEvent=null,this._updateHoverStyles(s,e))}notifyPlugins(t,e,s){return this._plugins.notify(this,t,e,s)}isPluginEnabled(t){return this._plugins._cache.filter(e=>e.plugin.id===t).length===1}_updateHoverStyles(t,e,s){const n=this.options.hover,o=(l,c)=>l.filter(h=>!c.some(d=>h.datasetIndex===d.datasetIndex&&h.index===d.index)),a=o(e,t),r=s?t:o(t,e);a.length&&this.updateHoverStyle(a,n.mode,!1),r.length&&n.mode&&this.updateHoverStyle(r,n.mode,!0)}_eventHandler(t,e){const s={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},n=a=>(a.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",s,n)===!1)return;const o=this._handleEvent(t,e,s.inChartArea);return s.cancelable=!1,this.notifyPlugins("afterEvent",s,n),(o||s.changed)&&this.render(),this}_handleEvent(t,e,s){const{_active:n=[],options:o}=this,a=e,r=this._getActiveElements(t,n,s,a),l=Eo(t),c=Dl(t,this._lastEvent,s,l);s&&(this._lastEvent=null,R(o.onHover,[t,r,this],this),l&&R(o.onClick,[t,r,this],this));const h=!$e(r,n);return(h||e)&&(this._active=r,this._updateHoverStyles(r,n,e)),this._lastEvent=c,h}_getActiveElements(t,e,s,n){if(t.type==="mouseout")return[];if(!s)return e;const o=this.options.hover;return this.getElementsAtEventForMode(t,o.mode,o,n)}}S(it,"defaults",z),S(it,"instances",Ve),S(it,"overrides",Et),S(it,"registry",ot),S(it,"version",Ml),S(it,"getChart",zs);function Bs(){return F(it.instances,i=>i._plugins.invalidate())}function Vn(i,t,e=t){i.lineCap=D(e.borderCapStyle,t.borderCapStyle),i.setLineDash(D(e.borderDash,t.borderDash)),i.lineDashOffset=D(e.borderDashOffset,t.borderDashOffset),i.lineJoin=D(e.borderJoinStyle,t.borderJoinStyle),i.lineWidth=D(e.borderWidth,t.borderWidth),i.strokeStyle=D(e.borderColor,t.borderColor)}function Tl(i,t,e){i.lineTo(e.x,e.y)}function Ll(i){return i.stepped?oa:i.tension||i.cubicInterpolationMode==="monotone"?aa:Tl}function Nn(i,t,e={}){const s=i.length,{start:n=0,end:o=s-1}=e,{start:a,end:r}=t,l=Math.max(n,a),c=Math.min(o,r),h=nr&&o>r;return{count:s,start:l,loop:t.loop,ilen:c(a+(c?r-y:y))%o,v=()=>{g!==m&&(i.lineTo(h,m),i.lineTo(h,g),i.lineTo(h,b))};for(l&&(u=n[_(0)],i.moveTo(u.x,u.y)),f=0;f<=r;++f){if(u=n[_(f)],u.skip)continue;const y=u.x,x=u.y,M=y|0;M===p?(xm&&(m=x),h=(d*h+y)/++d):(v(),i.lineTo(y,x),p=M,d=0,g=m=x),b=x}v()}function xi(i){const t=i.options,e=t.borderDash&&t.borderDash.length;return!i._decimated&&!i._loop&&!t.tension&&t.cubicInterpolationMode!=="monotone"&&!t.stepped&&!e?Fl:Al}function Il(i){return i.stepped?Ba:i.tension||i.cubicInterpolationMode==="monotone"?Ha:Tt}function Rl(i,t,e,s){let n=t._path;n||(n=t._path=new Path2D,t.path(n,e,s)&&n.closePath()),Vn(i,t.options),i.stroke(n)}function El(i,t,e,s){const{segments:n,options:o}=t,a=xi(t);for(const r of n)Vn(i,o,r.style),i.beginPath(),a(i,t,r,{start:e,end:e+s-1})&&i.closePath(),i.stroke()}const zl=typeof Path2D=="function";function Bl(i,t,e,s){zl&&!t.options.segment?Rl(i,t,e,s):El(i,t,e,s)}class oe extends rt{constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const s=this.options;if((s.tension||s.cubicInterpolationMode==="monotone")&&!s.stepped&&!this._pointsUpdated){const n=s.spanGaps?this._loop:this._fullLoop;Ta(this._points,s,t,n,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=Xa(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,s=t.length;return s&&e[t[s-1].end]}interpolate(t,e){const s=this.options,n=t[e],o=this.points,a=$a(this,{property:e,start:n,end:n});if(!a.length)return;const r=[],l=Il(s);let c,h;for(c=0,h=a.length;ct!=="borderDash"&&t!=="fill"});function Hs(i,t,e,s){const n=i.options,{[e]:o}=i.getProps([e],s);return Math.abs(t-o){let{boxHeight:e=t,boxWidth:s=t}=i;return i.usePointStyle&&(e=Math.min(e,t),s=i.pointStyleWidth||Math.min(s,t)),{boxWidth:s,boxHeight:e,itemHeight:Math.max(t,e)}},$l=(i,t)=>i!==null&&t!==null&&i.datasetIndex===t.datasetIndex&&i.index===t.index;class Vs extends rt{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,s){this.maxWidth=t,this.maxHeight=e,this._margins=s,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=R(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter(s=>t.filter(s,this.chart.data))),t.sort&&(e=e.sort((s,n)=>t.sort(s,n,this.chart.data))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display){this.width=this.height=0;return}const s=t.labels,n=W(s.font),o=n.size,a=this._computeTitleHeight(),{boxWidth:r,itemHeight:l}=Ws(s,o);let c,h;e.font=n.string,this.isHorizontal()?(c=this.maxWidth,h=this._fitRows(a,o,r,l)+10):(h=this.maxHeight,c=this._fitCols(a,n,r,l)+10),this.width=Math.min(c,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,e,s,n){const{ctx:o,maxWidth:a,options:{labels:{padding:r}}}=this,l=this.legendHitBoxes=[],c=this.lineWidths=[0],h=n+r;let d=t;o.textAlign="left",o.textBaseline="middle";let f=-1,u=-h;return this.legendItems.forEach((p,g)=>{const m=s+e/2+o.measureText(p.text).width;(g===0||c[c.length-1]+m+2*r>a)&&(d+=h,c[c.length-(g>0?0:1)]=0,u+=h,f++),l[g]={left:0,top:u,row:f,width:m,height:n},c[c.length-1]+=m+r}),d}_fitCols(t,e,s,n){const{ctx:o,maxHeight:a,options:{labels:{padding:r}}}=this,l=this.legendHitBoxes=[],c=this.columnSizes=[],h=a-t;let d=r,f=0,u=0,p=0,g=0;return this.legendItems.forEach((m,b)=>{const{itemWidth:_,itemHeight:v}=Yl(s,e,o,m,n);b>0&&u+v+2*r>h&&(d+=f+r,c.push({width:f,height:u}),p+=f+r,g++,f=u=0),l[b]={left:p,top:u,col:g,width:_,height:v},f=Math.max(f,_),u+=v+r}),d+=f,c.push({width:f,height:u}),d}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:s,labels:{padding:n},rtl:o}}=this,a=$t(o,this.left,this.width);if(this.isHorizontal()){let r=0,l=j(s,this.left+n,this.right-this.lineWidths[r]);for(const c of e)r!==c.row&&(r=c.row,l=j(s,this.left+n,this.right-this.lineWidths[r])),c.top+=this.top+t+n,c.left=a.leftForLtr(a.x(l),c.width),l+=c.width+n}else{let r=0,l=j(s,this.top+t+n,this.bottom-this.columnSizes[r].height);for(const c of e)c.col!==r&&(r=c.col,l=j(s,this.top+t+n,this.bottom-this.columnSizes[r].height)),c.top=l,c.left+=this.left+n,c.left=a.leftForLtr(a.x(c.left),c.width),l+=c.height+n}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;Ii(t,this),this._draw(),Ri(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:s,ctx:n}=this,{align:o,labels:a}=t,r=z.color,l=$t(t.rtl,this.left,this.width),c=W(a.font),{padding:h}=a,d=c.size,f=d/2;let u;this.drawTitle(),n.textAlign=l.textAlign("left"),n.textBaseline="middle",n.lineWidth=.5,n.font=c.string;const{boxWidth:p,boxHeight:g,itemHeight:m}=Ws(a,d),b=function(M,k,w){if(isNaN(p)||p<=0||isNaN(g)||g<0)return;n.save();const P=D(w.lineWidth,1);if(n.fillStyle=D(w.fillStyle,r),n.lineCap=D(w.lineCap,"butt"),n.lineDashOffset=D(w.lineDashOffset,0),n.lineJoin=D(w.lineJoin,"miter"),n.lineWidth=P,n.strokeStyle=D(w.strokeStyle,r),n.setLineDash(D(w.lineDash,[])),a.usePointStyle){const O={radius:g*Math.SQRT2/2,pointStyle:w.pointStyle,rotation:w.rotation,borderWidth:P},C=l.xPlus(M,p/2),L=k+f;_n(n,O,C,L,a.pointStyleWidth&&p)}else{const O=k+Math.max((d-g)/2,0),C=l.leftForLtr(M,p),L=Ft(w.borderRadius);n.beginPath(),Object.values(L).some(Y=>Y!==0)?ge(n,{x:C,y:O,w:p,h:g,radius:L}):n.rect(C,O,p,g),n.fill(),P!==0&&n.stroke()}n.restore()},_=function(M,k,w){zt(n,w.text,M,k+m/2,c,{strikethrough:w.hidden,textAlign:l.textAlign(w.textAlign)})},v=this.isHorizontal(),y=this._computeTitleHeight();v?u={x:j(o,this.left+h,this.right-s[0]),y:this.top+h+y,line:0}:u={x:this.left+h,y:j(o,this.top+y+h,this.bottom-e[0].height),line:0},Pn(this.ctx,t.textDirection);const x=m+h;this.legendItems.forEach((M,k)=>{n.strokeStyle=M.fontColor,n.fillStyle=M.fontColor;const w=n.measureText(M.text).width,P=l.textAlign(M.textAlign||(M.textAlign=a.textAlign)),O=p+f+w;let C=u.x,L=u.y;l.setWidth(this.width),v?k>0&&C+O+h>this.right&&(L=u.y+=x,u.line++,C=u.x=j(o,this.left+h,this.right-s[u.line])):k>0&&L+x>this.bottom&&(C=u.x=C+e[u.line].width+h,u.line++,L=u.y=j(o,this.top+y+h,this.bottom-e[u.line].height));const Y=l.x(C);if(b(Y,L,M),C=Ko(P,C+p+f,v?C+O:this.right,t.rtl),_(l.x(C),L,M),v)u.x+=O+h;else if(typeof M.text!="string"){const st=c.lineHeight;u.y+=$n(M,st)+h}else u.y+=x}),Cn(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,s=W(e.font),n=$(e.padding);if(!e.display)return;const o=$t(t.rtl,this.left,this.width),a=this.ctx,r=e.position,l=s.size/2,c=n.top+l;let h,d=this.left,f=this.width;if(this.isHorizontal())f=Math.max(...this.lineWidths),h=this.top+c,d=j(t.align,d,this.right-f);else{const p=this.columnSizes.reduce((g,m)=>Math.max(g,m.height),0);h=c+j(t.align,this.top,this.bottom-p-t.labels.padding-this._computeTitleHeight())}const u=j(r,d,d+f);a.textAlign=o.textAlign(Li(r)),a.textBaseline="middle",a.strokeStyle=e.color,a.fillStyle=e.color,a.font=s.string,zt(a,e.text,u,h,s)}_computeTitleHeight(){const t=this.options.title,e=W(t.font),s=$(t.padding);return t.display?e.lineHeight+s.height:0}_getLegendItemAt(t,e){let s,n,o;if(Lt(t,this.left,this.right)&&Lt(e,this.top,this.bottom)){for(o=this.legendHitBoxes,s=0;so.length>a.length?o:a)),t+e.size/2+s.measureText(n).width}function Xl(i,t,e){let s=i;return typeof t.text!="string"&&(s=$n(t,e)),s}function $n(i,t){const e=i.text?i.text.length:0;return t*e}function Kl(i,t){return!!((i==="mousemove"||i==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(i==="click"||i==="mouseup"))}var ql={id:"legend",_element:Vs,start(i,t,e){const s=i.legend=new Vs({ctx:i.ctx,options:e,chart:i});J.configure(i,s,e),J.addBox(i,s)},stop(i){J.removeBox(i,i.legend),delete i.legend},beforeUpdate(i,t,e){const s=i.legend;J.configure(i,s,e),s.options=e},afterUpdate(i){const t=i.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(i,t){t.replay||i.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(i,t,e){const s=t.datasetIndex,n=e.chart;n.isDatasetVisible(s)?(n.hide(s),t.hidden=!0):(n.show(s),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:i=>i.chart.options.color,boxWidth:40,padding:10,generateLabels(i){const t=i.data.datasets,{labels:{usePointStyle:e,pointStyle:s,textAlign:n,color:o,useBorderRadius:a,borderRadius:r}}=i.legend.options;return i._getSortedDatasetMetas().map(l=>{const c=l.controller.getStyle(e?0:void 0),h=$(c.borderWidth);return{text:t[l.index].label,fillStyle:c.backgroundColor,fontColor:o,hidden:!l.visible,lineCap:c.borderCapStyle,lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:(h.width+h.height)/4,strokeStyle:c.borderColor,pointStyle:s||c.pointStyle,rotation:c.rotation,textAlign:n||c.textAlign,borderRadius:a&&(r||c.borderRadius),datasetIndex:l.index}},this)}},title:{color:i=>i.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:i=>!i.startsWith("on"),labels:{_scriptable:i=>!["generateLabels","filter","sort"].includes(i)}}};class Yn extends rt{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e){const s=this.options;if(this.left=0,this.top=0,!s.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=e;const n=E(s.text)?s.text.length:1;this._padding=$(s.padding);const o=n*W(s.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:e,left:s,bottom:n,right:o,options:a}=this,r=a.align;let l=0,c,h,d;return this.isHorizontal()?(h=j(r,s,o),d=e+t,c=o-s):(a.position==="left"?(h=s+t,d=j(r,n,e),l=H*-.5):(h=o-t,d=j(r,e,n),l=H*.5),c=n-e),{titleX:h,titleY:d,maxWidth:c,rotation:l}}draw(){const t=this.ctx,e=this.options;if(!e.display)return;const s=W(e.font),o=s.lineHeight/2+this._padding.top,{titleX:a,titleY:r,maxWidth:l,rotation:c}=this._drawArgs(o);zt(t,e.text,0,0,s,{color:e.color,maxWidth:l,rotation:c,textAlign:Li(e.align),textBaseline:"middle",translation:[a,r]})}}function Gl(i,t){const e=new Yn({ctx:i.ctx,options:t,chart:i});J.configure(i,e,t),J.addBox(i,e),i.titleBlock=e}var Zl={id:"title",_element:Yn,start(i,t,e){Gl(i,e)},stop(i){const t=i.titleBlock;J.removeBox(i,t),delete i.titleBlock},beforeUpdate(i,t,e){const s=i.titleBlock;J.configure(i,s,e),s.options=e},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const ae={average(i){if(!i.length)return!1;let t,e,s=new Set,n=0,o=0;for(t=0,e=i.length;tr+l)/s.size,y:n/o}},nearest(i,t){if(!i.length)return!1;let e=t.x,s=t.y,n=Number.POSITIVE_INFINITY,o,a,r;for(o=0,a=i.length;o-1?i.split(` -`):i}function Ql(i,t){const{element:e,datasetIndex:s,index:n}=t,o=i.getDatasetMeta(s).controller,{label:a,value:r}=o.getLabelAndValue(n);return{chart:i,label:a,parsed:o.getParsed(n),raw:i.data.datasets[s].data[n],formattedValue:r,dataset:o.getDataset(),dataIndex:n,datasetIndex:s,element:e}}function Ns(i,t){const e=i.chart.ctx,{body:s,footer:n,title:o}=i,{boxWidth:a,boxHeight:r}=t,l=W(t.bodyFont),c=W(t.titleFont),h=W(t.footerFont),d=o.length,f=n.length,u=s.length,p=$(t.padding);let g=p.height,m=0,b=s.reduce((y,x)=>y+x.before.length+x.lines.length+x.after.length,0);if(b+=i.beforeBody.length+i.afterBody.length,d&&(g+=d*c.lineHeight+(d-1)*t.titleSpacing+t.titleMarginBottom),b){const y=t.displayColors?Math.max(r,l.lineHeight):l.lineHeight;g+=u*y+(b-u)*l.lineHeight+(b-1)*t.bodySpacing}f&&(g+=t.footerMarginTop+f*h.lineHeight+(f-1)*t.footerSpacing);let _=0;const v=function(y){m=Math.max(m,e.measureText(y).width+_)};return e.save(),e.font=c.string,F(i.title,v),e.font=l.string,F(i.beforeBody.concat(i.afterBody),v),_=t.displayColors?a+2+t.boxPadding:0,F(s,y=>{F(y.before,v),F(y.lines,v),F(y.after,v)}),_=0,e.font=h.string,F(i.footer,v),e.restore(),m+=p.width,{width:m,height:g}}function Jl(i,t){const{y:e,height:s}=t;return ei.height-s/2?"bottom":"center"}function tc(i,t,e,s){const{x:n,width:o}=s,a=e.caretSize+e.caretPadding;if(i==="left"&&n+o+a>t.width||i==="right"&&n-o-a<0)return!0}function ec(i,t,e,s){const{x:n,width:o}=e,{width:a,chartArea:{left:r,right:l}}=i;let c="center";return s==="center"?c=n<=(r+l)/2?"left":"right":n<=o/2?c="left":n>=a-o/2&&(c="right"),tc(c,i,t,e)&&(c="center"),c}function js(i,t,e){const s=e.yAlign||t.yAlign||Jl(i,e);return{xAlign:e.xAlign||t.xAlign||ec(i,t,e,s),yAlign:s}}function ic(i,t){let{x:e,width:s}=i;return t==="right"?e-=s:t==="center"&&(e-=s/2),e}function sc(i,t,e){let{y:s,height:n}=i;return t==="top"?s+=e:t==="bottom"?s-=n+e:s-=n/2,s}function $s(i,t,e,s){const{caretSize:n,caretPadding:o,cornerRadius:a}=i,{xAlign:r,yAlign:l}=e,c=n+o,{topLeft:h,topRight:d,bottomLeft:f,bottomRight:u}=Ft(a);let p=ic(t,r);const g=sc(t,l,c);return l==="center"?r==="left"?p+=c:r==="right"&&(p-=c):r==="left"?p-=Math.max(h,f)+n:r==="right"&&(p+=Math.max(d,u)+n),{x:G(p,0,s.width-t.width),y:G(g,0,s.height-t.height)}}function Ie(i,t,e){const s=$(e.padding);return t==="center"?i.x+i.width/2:t==="right"?i.x+i.width-s.right:i.x+s.left}function Ys(i){return nt([],ht(i))}function nc(i,t,e){return yt(i,{tooltip:t,tooltipItems:e,type:"tooltip"})}function Us(i,t){const e=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return e?i.override(e):i}const Un={beforeTitle:lt,title(i){if(i.length>0){const t=i[0],e=t.chart.data.labels,s=e?e.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(s>0&&t.dataIndex"u"?Un[t].call(e,s):n}class yi extends rt{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const e=this.chart,s=this.options.setContext(this.getContext()),n=s.enabled&&e.options.animation&&s.animations,o=new On(this.chart,n);return n._cacheable&&(this._cachedAnimations=Object.freeze(o)),o}getContext(){return this.$context||(this.$context=nc(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,e){const{callbacks:s}=e,n=U(s,"beforeTitle",this,t),o=U(s,"title",this,t),a=U(s,"afterTitle",this,t);let r=[];return r=nt(r,ht(n)),r=nt(r,ht(o)),r=nt(r,ht(a)),r}getBeforeBody(t,e){return Ys(U(e.callbacks,"beforeBody",this,t))}getBody(t,e){const{callbacks:s}=e,n=[];return F(t,o=>{const a={before:[],lines:[],after:[]},r=Us(s,o);nt(a.before,ht(U(r,"beforeLabel",this,o))),nt(a.lines,U(r,"label",this,o)),nt(a.after,ht(U(r,"afterLabel",this,o))),n.push(a)}),n}getAfterBody(t,e){return Ys(U(e.callbacks,"afterBody",this,t))}getFooter(t,e){const{callbacks:s}=e,n=U(s,"beforeFooter",this,t),o=U(s,"footer",this,t),a=U(s,"afterFooter",this,t);let r=[];return r=nt(r,ht(n)),r=nt(r,ht(o)),r=nt(r,ht(a)),r}_createItems(t){const e=this._active,s=this.chart.data,n=[],o=[],a=[];let r=[],l,c;for(l=0,c=e.length;lt.filter(h,d,f,s))),t.itemSort&&(r=r.sort((h,d)=>t.itemSort(h,d,s))),F(r,h=>{const d=Us(t.callbacks,h);n.push(U(d,"labelColor",this,h)),o.push(U(d,"labelPointStyle",this,h)),a.push(U(d,"labelTextColor",this,h))}),this.labelColors=n,this.labelPointStyles=o,this.labelTextColors=a,this.dataPoints=r,r}update(t,e){const s=this.options.setContext(this.getContext()),n=this._active;let o,a=[];if(!n.length)this.opacity!==0&&(o={opacity:0});else{const r=ae[s.position].call(this,n,this._eventPosition);a=this._createItems(s),this.title=this.getTitle(a,s),this.beforeBody=this.getBeforeBody(a,s),this.body=this.getBody(a,s),this.afterBody=this.getAfterBody(a,s),this.footer=this.getFooter(a,s);const l=this._size=Ns(this,s),c=Object.assign({},r,l),h=js(this.chart,s,c),d=$s(s,c,h,this.chart);this.xAlign=h.xAlign,this.yAlign=h.yAlign,o={opacity:1,x:d.x,y:d.y,width:l.width,height:l.height,caretX:r.x,caretY:r.y}}this._tooltipItems=a,this.$context=void 0,o&&this._resolveAnimations().update(this,o),t&&s.external&&s.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,s,n){const o=this.getCaretPosition(t,s,n);e.lineTo(o.x1,o.y1),e.lineTo(o.x2,o.y2),e.lineTo(o.x3,o.y3)}getCaretPosition(t,e,s){const{xAlign:n,yAlign:o}=this,{caretSize:a,cornerRadius:r}=s,{topLeft:l,topRight:c,bottomLeft:h,bottomRight:d}=Ft(r),{x:f,y:u}=t,{width:p,height:g}=e;let m,b,_,v,y,x;return o==="center"?(y=u+g/2,n==="left"?(m=f,b=m-a,v=y+a,x=y-a):(m=f+p,b=m+a,v=y-a,x=y+a),_=m):(n==="left"?b=f+Math.max(l,h)+a:n==="right"?b=f+p-Math.max(c,d)-a:b=this.caretX,o==="top"?(v=u,y=v-a,m=b-a,_=b+a):(v=u+g,y=v+a,m=b+a,_=b-a),x=v),{x1:m,x2:b,x3:_,y1:v,y2:y,y3:x}}drawTitle(t,e,s){const n=this.title,o=n.length;let a,r,l;if(o){const c=$t(s.rtl,this.x,this.width);for(t.x=Ie(this,s.titleAlign,s),e.textAlign=c.textAlign(s.titleAlign),e.textBaseline="middle",a=W(s.titleFont),r=s.titleSpacing,e.fillStyle=s.titleColor,e.font=a.string,l=0;l_!==0)?(t.beginPath(),t.fillStyle=o.multiKeyBackground,ge(t,{x:g,y:p,w:c,h:l,radius:b}),t.fill(),t.stroke(),t.fillStyle=a.backgroundColor,t.beginPath(),ge(t,{x:m,y:p+1,w:c-2,h:l-2,radius:b}),t.fill()):(t.fillStyle=o.multiKeyBackground,t.fillRect(g,p,c,l),t.strokeRect(g,p,c,l),t.fillStyle=a.backgroundColor,t.fillRect(m,p+1,c-2,l-2))}t.fillStyle=this.labelTextColors[s]}drawBody(t,e,s){const{body:n}=this,{bodySpacing:o,bodyAlign:a,displayColors:r,boxHeight:l,boxWidth:c,boxPadding:h}=s,d=W(s.bodyFont);let f=d.lineHeight,u=0;const p=$t(s.rtl,this.x,this.width),g=function(w){e.fillText(w,p.x(t.x+u),t.y+f/2),t.y+=f+o},m=p.textAlign(a);let b,_,v,y,x,M,k;for(e.textAlign=a,e.textBaseline="middle",e.font=d.string,t.x=Ie(this,m,s),e.fillStyle=s.bodyColor,F(this.beforeBody,g),u=r&&m!=="right"?a==="center"?c/2+h:c+2+h:0,y=0,M=n.length;y0&&e.stroke()}_updateAnimationTarget(t){const e=this.chart,s=this.$animations,n=s&&s.x,o=s&&s.y;if(n||o){const a=ae[t.position].call(this,this._active,this._eventPosition);if(!a)return;const r=this._size=Ns(this,t),l=Object.assign({},a,this._size),c=js(e,t,l),h=$s(t,l,c,e);(n._to!==h.x||o._to!==h.y)&&(this.xAlign=c.xAlign,this.yAlign=c.yAlign,this.width=r.width,this.height=r.height,this.caretX=a.x,this.caretY=a.y,this._resolveAnimations().update(this,h))}}_willRender(){return!!this.opacity}draw(t){const e=this.options.setContext(this.getContext());let s=this.opacity;if(!s)return;this._updateAnimationTarget(e);const n={width:this.width,height:this.height},o={x:this.x,y:this.y};s=Math.abs(s)<.001?0:s;const a=$(e.padding),r=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&r&&(t.save(),t.globalAlpha=s,this.drawBackground(o,t,n,e),Pn(t,e.textDirection),o.y+=a.top,this.drawTitle(o,t,e),this.drawBody(o,t,e),this.drawFooter(o,t,e),Cn(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){const s=this._active,n=t.map(({datasetIndex:r,index:l})=>{const c=this.chart.getDatasetMeta(r);if(!c)throw new Error("Cannot find a dataset at index "+r);return{datasetIndex:r,element:c.data[l],index:l}}),o=!$e(s,n),a=this._positionChanged(n,e);(o||a)&&(this._active=n,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,s=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const n=this.options,o=this._active||[],a=this._getActiveElements(t,o,e,s),r=this._positionChanged(a,t),l=e||!$e(a,o)||r;return l&&(this._active=a,(n.enabled||n.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),l}_getActiveElements(t,e,s,n){const o=this.options;if(t.type==="mouseout")return[];if(!n)return e.filter(r=>this.chart.data.datasets[r.datasetIndex]&&this.chart.getDatasetMeta(r.datasetIndex).controller.getParsed(r.index)!==void 0);const a=this.chart.getElementsAtEventForMode(t,o.mode,o,s);return o.reverse&&a.reverse(),a}_positionChanged(t,e){const{caretX:s,caretY:n,options:o}=this,a=ae[o.position].call(this,t,e);return a!==!1&&(s!==a.x||n!==a.y)}}S(yi,"positioners",ae);var oc={id:"tooltip",_element:yi,positioners:ae,afterInit(i,t,e){e&&(i.tooltip=new yi({chart:i,options:e}))},beforeUpdate(i,t,e){i.tooltip&&i.tooltip.initialize(e)},reset(i,t,e){i.tooltip&&i.tooltip.initialize(e)},afterDraw(i){const t=i.tooltip;if(t&&t._willRender()){const e={tooltip:t};if(i.notifyPlugins("beforeTooltipDraw",{...e,cancelable:!0})===!1)return;t.draw(i.ctx),i.notifyPlugins("afterTooltipDraw",e)}},afterEvent(i,t){if(i.tooltip){const e=t.replay;i.tooltip.handleEvent(t.event,e,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(i,t)=>t.bodyFont.size,boxWidth:(i,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:Un},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:i=>i!=="filter"&&i!=="itemSort"&&i!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const ac=(i,t,e,s)=>(typeof t=="string"?(e=i.push(t)-1,s.unshift({index:e,label:t})):isNaN(t)&&(e=null),e);function rc(i,t,e,s){const n=i.indexOf(t);if(n===-1)return ac(i,t,e,s);const o=i.lastIndexOf(t);return n!==o?e:n}const lc=(i,t)=>i===null?null:G(Math.round(i),0,t);function Xs(i){const t=this.getLabels();return i>=0&&ie.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}S(vi,"id","category"),S(vi,"defaults",{ticks:{callback:Xs}});function cc(i,t){const e=[],{bounds:n,step:o,min:a,max:r,precision:l,count:c,maxTicks:h,maxDigits:d,includeBounds:f}=i,u=o||1,p=h-1,{min:g,max:m}=t,b=!A(a),_=!A(r),v=!A(c),y=(m-g)/(d+1);let x=qi((m-g)/p/u)*u,M,k,w,P;if(x<1e-14&&!b&&!_)return[{value:g},{value:m}];P=Math.ceil(m/x)-Math.floor(g/x),P>p&&(x=qi(P*x/p/u)*u),A(l)||(M=Math.pow(10,l),x=Math.ceil(x*M)/M),n==="ticks"?(k=Math.floor(g/x)*x,w=Math.ceil(m/x)*x):(k=g,w=m),b&&_&&o&&Wo((r-a)/o,x/1e3)?(P=Math.round(Math.min((r-a)/x,h)),x=(r-a)/P,k=a,w=r):v?(k=b?a:k,w=_?r:w,P=c-1,x=(w-k)/P):(P=(w-k)/x,le(P,Math.round(P),x/1e3)?P=Math.round(P):P=Math.ceil(P));const O=Math.max(Gi(x),Gi(k));M=Math.pow(10,A(l)?O:l),k=Math.round(k*M)/M,w=Math.round(w*M)/M;let C=0;for(b&&(f&&k!==a?(e.push({value:a}),kr)break;e.push({value:L})}return _&&f&&w!==r?e.length&&le(e[e.length-1].value,r,Ks(r,y,i))?e[e.length-1].value=r:e.push({value:r}):(!_||w===r)&&e.push({value:w}),e}function Ks(i,t,{horizontal:e,minRotation:s}){const n=mt(s),o=(e?Math.sin(n):Math.cos(n))||.001,a=.75*t*(""+i).length;return Math.min(t/o,a)}class Ge extends Bt{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,e){return A(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:e,maxDefined:s}=this.getUserBounds();let{min:n,max:o}=this;const a=l=>n=e?n:l,r=l=>o=s?o:l;if(t){const l=at(n),c=at(o);l<0&&c<0?r(0):l>0&&c>0&&a(0)}if(n===o){let l=o===0?1:Math.abs(o*.05);r(o+l),t||a(n-l)}this.min=n,this.max=o}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:e,stepSize:s}=t,n;return s?(n=Math.ceil(this.max/s)-Math.floor(this.min/s)+1,n>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${s} would result generating up to ${n} ticks. Limiting to 1000.`),n=1e3)):(n=this.computeTickLimit(),e=e||11),e&&(n=Math.min(e,n)),n}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,e=t.ticks;let s=this.getTickLimit();s=Math.max(2,s);const n={maxTicks:s,bounds:t.bounds,min:t.min,max:t.max,precision:e.precision,step:e.stepSize,count:e.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:e.minRotation||0,includeBounds:e.includeBounds!==!1},o=this._range||this,a=cc(n,o);return t.bounds==="ticks"&&cn(a,this,"value"),t.reverse?(a.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),a}configure(){const t=this.ticks;let e=this.min,s=this.max;if(super.configure(),this.options.offset&&t.length){const n=(s-e)/Math.max(t.length-1,1)/2;e-=n,s+=n}this._startValue=e,this._endValue=s,this._valueRange=s-e}getLabelForValue(t){return Fi(t,this.chart.options.locale,this.options.ticks.format)}}class ki extends Ge{determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=V(t)?t:0,this.max=V(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),e=t?this.width:this.height,s=mt(this.options.ticks.minRotation),n=(t?Math.sin(s):Math.cos(s))||.001,o=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,o.lineHeight/n))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}S(ki,"id","linear"),S(ki,"defaults",{ticks:{callback:Qe.formatters.numeric}});const me=i=>Math.floor(pt(i)),Dt=(i,t)=>Math.pow(10,me(i)+t);function qs(i){return i/Math.pow(10,me(i))===1}function Gs(i,t,e){const s=Math.pow(10,e),n=Math.floor(i/s);return Math.ceil(t/s)-n}function hc(i,t){const e=t-i;let s=me(e);for(;Gs(i,t,s)>10;)s++;for(;Gs(i,t,s)<10;)s--;return Math.min(s,me(i))}function dc(i,{min:t,max:e}){t=K(i.min,t);const s=[],n=me(t);let o=hc(t,e),a=o<0?Math.pow(10,Math.abs(o)):1;const r=Math.pow(10,o),l=n>o?Math.pow(10,n):0,c=Math.round((t-l)*a)/a,h=Math.floor((t-l)/r/10)*r*10;let d=Math.floor((c-h)/Math.pow(10,o)),f=K(i.min,Math.round((l+h+d*Math.pow(10,o))*a)/a);for(;f=10?d=d<15?15:20:d++,d>=20&&(o++,d=2,a=o>=0?1:a),f=Math.round((l+h+d*Math.pow(10,o))*a)/a;const u=K(i.max,f);return s.push({value:u,major:qs(u),significand:d}),s}class wi extends Bt{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,e){const s=Ge.prototype.parse.apply(this,[t,e]);if(s===0){this._zero=!0;return}return V(s)&&s>0?s:null}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=V(t)?Math.max(0,t):null,this.max=V(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!V(this._userMin)&&(this.min=t===Dt(this.min,0)?Dt(this.min,-1):Dt(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let s=this.min,n=this.max;const o=r=>s=t?s:r,a=r=>n=e?n:r;s===n&&(s<=0?(o(1),a(10)):(o(Dt(s,-1)),a(Dt(n,1)))),s<=0&&o(Dt(n,-1)),n<=0&&a(Dt(s,1)),this.min=s,this.max=n}buildTicks(){const t=this.options,e={min:this._userMin,max:this._userMax},s=dc(e,this);return t.bounds==="ticks"&&cn(s,this,"value"),t.reverse?(s.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),s}getLabelForValue(t){return t===void 0?"0":Fi(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=pt(t),this._valueRange=pt(this.max)-pt(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(pt(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const e=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+e*this._valueRange)}}S(wi,"id","logarithmic"),S(wi,"defaults",{ticks:{callback:Qe.formatters.logarithmic,major:{enabled:!0}}});function Mi(i){const t=i.ticks;if(t.display&&i.display){const e=$(t.backdropPadding);return D(t.font&&t.font.size,z.font.size)+e.height}return 0}function fc(i,t,e){return e=E(e)?e:[e],{w:na(i,t.string,e),h:e.length*t.lineHeight}}function Zs(i,t,e,s,n){return i===s||i===n?{start:t-e/2,end:t+e/2}:in?{start:t-e,end:t}:{start:t,end:t+e}}function uc(i){const t={l:i.left+i._padding.left,r:i.right-i._padding.right,t:i.top+i._padding.top,b:i.bottom-i._padding.bottom},e=Object.assign({},t),s=[],n=[],o=i._pointLabels.length,a=i.options.pointLabels,r=a.centerPointLabels?H/o:0;for(let l=0;lt.r&&(r=(s.end-t.r)/o,i.r=Math.max(i.r,t.r+r)),n.startt.b&&(l=(n.end-t.b)/a,i.b=Math.max(i.b,t.b+l))}function pc(i,t,e){const s=i.drawingArea,{extra:n,additionalAngle:o,padding:a,size:r}=e,l=i.getPointPosition(t,s+n+a,o),c=Math.round(Oi(et(l.angle+q))),h=yc(l.y,r.h,c),d=_c(c),f=xc(l.x,r.w,d);return{visible:!0,x:l.x,y:h,textAlign:d,left:f,top:h,right:f+r.w,bottom:h+r.h}}function mc(i,t){if(!t)return!0;const{left:e,top:s,right:n,bottom:o}=i;return!(ft({x:e,y:s},t)||ft({x:e,y:o},t)||ft({x:n,y:s},t)||ft({x:n,y:o},t))}function bc(i,t,e){const s=[],n=i._pointLabels.length,o=i.options,{centerPointLabels:a,display:r}=o.pointLabels,l={extra:Mi(o)/2,additionalAngle:a?H/n:0};let c;for(let h=0;h270||e<90)&&(i-=t),i}function vc(i,t,e){const{left:s,top:n,right:o,bottom:a}=e,{backdropColor:r}=t;if(!A(r)){const l=Ft(t.borderRadius),c=$(t.backdropPadding);i.fillStyle=r;const h=s-c.left,d=n-c.top,f=o-s+c.width,u=a-n+c.height;Object.values(l).some(p=>p!==0)?(i.beginPath(),ge(i,{x:h,y:d,w:f,h:u,radius:l}),i.fill()):i.fillRect(h,d,f,u)}}function kc(i,t){const{ctx:e,options:{pointLabels:s}}=i;for(let n=t-1;n>=0;n--){const o=i._pointLabelItems[n];if(!o.visible)continue;const a=s.setContext(i.getPointLabelContext(n));vc(e,a,o);const r=W(a.font),{x:l,y:c,textAlign:h}=o;zt(e,i._pointLabels[n],l,c+r.lineHeight/2,r,{color:a.color,textAlign:h,textBaseline:"middle"})}}function Xn(i,t,e,s){const{ctx:n}=i;if(e)n.arc(i.xCenter,i.yCenter,t,0,tt);else{let o=i.getPointPosition(0,t);n.moveTo(o.x,o.y);for(let a=1;a{const n=R(this.options.pointLabels.callback,[e,s],this);return n||n===0?n:""}).filter((e,s)=>this.chart.getDataVisibility(s))}fit(){const t=this.options;t.display&&t.pointLabels.display?uc(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,s,n){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((s-n)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,s,n))}getIndexAngle(t){const e=tt/(this._pointLabels.length||1),s=this.options.startAngle||0;return et(t*e+mt(s))}getDistanceFromCenterForValue(t){if(A(t))return NaN;const e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if(A(t))return NaN;const e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){const e=this._pointLabels||[];if(t>=0&&t{if(d!==0||d===0&&this.min<0){l=this.getDistanceFromCenterForValue(h.value);const f=this.getContext(d),u=n.setContext(f),p=o.setContext(f);wc(this,u,l,a,p)}}),s.display){for(t.save(),r=a-1;r>=0;r--){const h=s.setContext(this.getPointLabelContext(r)),{color:d,lineWidth:f}=h;!f||!d||(t.lineWidth=f,t.strokeStyle=d,t.setLineDash(h.borderDash),t.lineDashOffset=h.borderDashOffset,l=this.getDistanceFromCenterForValue(e.ticks.reverse?this.min:this.max),c=this.getPointPosition(r,l),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(c.x,c.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,e=this.options,s=e.ticks;if(!s.display)return;const n=this.getIndexAngle(0);let o,a;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(n),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((r,l)=>{if(l===0&&this.min>=0&&!e.reverse)return;const c=s.setContext(this.getContext(l)),h=W(c.font);if(o=this.getDistanceFromCenterForValue(this.ticks[l].value),c.showLabelBackdrop){t.font=h.string,a=t.measureText(r.label).width,t.fillStyle=c.backdropColor;const d=$(c.backdropPadding);t.fillRect(-a/2-d.left,-o-h.size/2-d.top,a+d.width,h.size+d.height)}zt(t,r.label,0,-o,h,{color:c.color,strokeColor:c.textStrokeColor,strokeWidth:c.textStrokeWidth})}),t.restore()}drawTitle(){}}S(Re,"id","radialLinear"),S(Re,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:Qe.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),S(Re,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),S(Re,"descriptors",{angleLines:{_fallback:"grid"}});const ti={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},X=Object.keys(ti);function Qs(i,t){return i-t}function Js(i,t){if(A(t))return null;const e=i._adapter,{parser:s,round:n,isoWeekday:o}=i._parseOpts;let a=t;return typeof s=="function"&&(a=s(a)),V(a)||(a=typeof s=="string"?e.parse(a,s):e.parse(a)),a===null?null:(n&&(a=n==="week"&&(Ut(o)||o===!0)?e.startOf(a,"isoWeek",o):e.startOf(a,n)),+a)}function tn(i,t,e,s){const n=X.length;for(let o=X.indexOf(i);o=X.indexOf(e);o--){const a=X[o];if(ti[a].common&&i._adapter.diff(n,s,a)>=t-1)return a}return X[e?X.indexOf(e):0]}function Pc(i){for(let t=X.indexOf(i)+1,e=X.length;t=t?e[s]:e[n];i[o]=!0}}function Cc(i,t,e,s){const n=i._adapter,o=+n.startOf(t[0].value,s),a=t[t.length-1].value;let r,l;for(r=o;r<=a;r=+n.add(r,1,s))l=e[r],l>=0&&(t[l].major=!0);return t}function sn(i,t,e){const s=[],n={},o=t.length;let a,r;for(a=0;a+t.value))}initOffsets(t=[]){let e=0,s=0,n,o;this.options.offset&&t.length&&(n=this.getDecimalForValue(t[0]),t.length===1?e=1-n:e=(this.getDecimalForValue(t[1])-n)/2,o=this.getDecimalForValue(t[t.length-1]),t.length===1?s=o:s=(o-this.getDecimalForValue(t[t.length-2]))/2);const a=t.length<3?.5:.25;e=G(e,0,a),s=G(s,0,a),this._offsets={start:e,end:s,factor:1/(e+1+s)}}_generate(){const t=this._adapter,e=this.min,s=this.max,n=this.options,o=n.time,a=o.unit||tn(o.minUnit,e,s,this._getLabelCapacity(e)),r=D(n.ticks.stepSize,1),l=a==="week"?o.isoWeekday:!1,c=Ut(l)||l===!0,h={};let d=e,f,u;if(c&&(d=+t.startOf(d,"isoWeek",l)),d=+t.startOf(d,c?"day":a),t.diff(s,e,a)>1e5*r)throw new Error(e+" and "+s+" are too far apart with stepSize of "+r+" "+a);const p=n.ticks.source==="data"&&this.getDataTimestamps();for(f=d,u=0;f+g)}getLabelForValue(t){const e=this._adapter,s=this.options.time;return s.tooltipFormat?e.format(t,s.tooltipFormat):e.format(t,s.displayFormats.datetime)}format(t,e){const n=this.options.time.displayFormats,o=this._unit,a=e||n[o];return this._adapter.format(t,a)}_tickFormatFunction(t,e,s,n){const o=this.options,a=o.ticks.callback;if(a)return R(a,[t,e,s],this);const r=o.time.displayFormats,l=this._unit,c=this._majorUnit,h=l&&r[l],d=c&&r[c],f=s[e],u=c&&d&&f&&f.major;return this._adapter.format(t,n||(u?d:h))}generateTickLabels(t){let e,s,n;for(e=0,s=t.length;e0?r:1}getDataTimestamps(){let t=this._cache.data||[],e,s;if(t.length)return t;const n=this.getMatchingVisibleMetas();if(this._normalized&&n.length)return this._cache.data=n[0].controller.getAllParsedValues(this);for(e=0,s=n.length;e=i[s].pos&&t<=i[n].pos&&({lo:s,hi:n}=At(i,"pos",t)),{pos:o,time:r}=i[s],{pos:a,time:l}=i[n]):(t>=i[s].time&&t<=i[n].time&&({lo:s,hi:n}=At(i,"time",t)),{time:o,pos:r}=i[s],{time:a,pos:l}=i[n]);const c=a-o;return c?r+(l-r)*(t-o)/c:r}class nn extends Ze{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=Ee(e,this.min),this._tableRange=Ee(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:e,max:s}=this,n=[],o=[];let a,r,l,c,h;for(a=0,r=t.length;a=e&&c<=s&&n.push(c);if(n.length<2)return[{time:e,pos:0},{time:s,pos:1}];for(a=0,r=n.length;an-o)}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const e=this.getDataTimestamps(),s=this.getLabelTimestamps();return e.length&&s.length?t=this.normalize(e.concat(s)):t=e.length?e:s,t=this._cache.all=t,t}getDecimalForValue(t){return(Ee(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const e=this._offsets,s=this.getDecimalForPixel(t)/e.factor-e.end;return Ee(this._table,s*this._tableRange+this._minPos,!0)}}S(nn,"id","timeseries"),S(nn,"defaults",Ze.defaults);const ut=i=>(no("data-v-99f7d66f"),i=i(),oo(),i),Dc={class:"insights"},Oc=ut(()=>I("h1",null,[I("span",{class:"material-symbols-rounded"},"insights"),I("span",null,"Insights")],-1)),Tc={class:"left"},Lc={class:"right"},Ac=ut(()=>I("span",{class:"label uppercase"}," short term ",-1)),Fc=ut(()=>I("span",{class:"label uppercase"}," integrated ",-1)),Ic=ut(()=>I("span",{class:"label uppercase"}," max momentary ",-1)),Rc={class:"meter"},Ec=ut(()=>I("span",{class:"label uppercase"}," L ",-1)),zc=["value"],Bc={class:"meter"},Hc=ut(()=>I("span",{class:"label uppercase"}," R ",-1)),Wc=["value"],Vc=ut(()=>I("h4",null,"Correlation",-1)),Nc={class:"meter"},jc=ut(()=>I("span",{class:"label uppercase"}," L/R ",-1)),$c=["value"],Yc=ut(()=>I("h4",null,"Stereo Field",-1)),Uc={class:"container stereo-field"},Xc={class:"inner"},Kc=Gn({__name:"Insight",setup(i){it.register(Be,ze,Ne,oe,Zl,oc,ql,je,vi,ki,wi,He);const t=Zt(),e=Zt(),s=Zt(),n=Zn(),o=Qn(),a=Zt([]),r=Zt([]),l=Array.from({length:60},()=>-1/0),c=f=>{var u,p;f.width=(u=f.parentElement)==null?void 0:u.clientWidth,f.height=(p=f.parentElement)==null?void 0:p.clientHeight,window.addEventListener("resize",()=>{var g,m;f.width=(g=f.parentElement)==null?void 0:g.clientWidth,f.height=(m=f.parentElement)==null?void 0:m.clientHeight})};Jn(()=>{c(e.value),c(t.value),c(s.value),a.value=l,r.value=l;const f=new it(t.value,{data:{labels:Array.from({length:60},(m,b)=>b),datasets:h()},options:{responsive:!0,maintainAspectRatio:!1,scales:{y:{min:-30,max:0,ticks:{font:{family:"Poppins",size:10}},title:{display:!0,text:"Loudness (LUFS)",font:{family:"Poppins"}}},x:{ticks:{display:!1},title:{display:!0,text:"Time (s)",font:{family:"Poppins"}}}},animation:{duration:0}}}),u=new it(e.value,{type:"scatter",data:{datasets:[{data:[],backgroundColor:"#00c48b",borderColor:"#00c48b",pointRadius:.5},{data:[],backgroundColor:"#00c48b99",borderColor:"#00c48bcc",pointRadius:.3},{data:[],backgroundColor:"#00c48b33",borderColor:"#00c48b99",pointRadius:.1}]},options:{responsive:!0,maintainAspectRatio:!0,aspectRatio:1,animation:!1,scales:{y:{min:-1.5,max:1.5,ticks:{callback:m=>m,font:{family:"Poppins"}},title:{display:!0,text:"Left",font:{family:"Poppins"}}},x:{min:-1.5,max:1.5,ticks:{callback:m=>m,font:{family:"Poppins"}},title:{display:!0,text:"Right",font:{family:"Poppins"}}}},plugins:{legend:{display:!1}}}}),p=new it(s.value,{data:{datasets:[{type:"line",tension:1,cubicInterpolationMode:"monotone",data:[{x:0,y:0},{x:255,y:50}],borderColor:"#00c48b"}]},options:{responsive:!0,maintainAspectRatio:!1,scales:{y:{min:0,max:255,ticks:{display:!1},title:{display:!0,text:"Gain",font:{family:"Poppins"}}},x:{min:0,max:18e3,type:"logarithmic",ticks:{callback:m=>m>=1e3?m/1e3+"k":m,font:{family:"Poppins"}},title:{display:!0,text:"Frequency (Hz)",font:{family:"Poppins"}}}},plugins:{legend:{display:!1}}}});let g=0;setInterval(()=>{if(!n.playing||(u.data.datasets[2].data=u.data.datasets[1].data,u.data.datasets[1].data=u.data.datasets[0].data,u.data.datasets[0].data=o.stereo.field,u.update(),g++%10!==0))return;const m=o.tonalBalance.data.reduce((b,_,v)=>(b.push({x:v*188,y:_}),b),[]);p.data.datasets[0].data=m,p.update(),f.data.datasets[0].data.shift(),f.data.datasets[0].data.push(o.loudness.shortterm),f.data.datasets[1].data.shift(),f.data.datasets[1].data.push(o.loudness.integrated),f.data.datasets[2].data.shift(),f.data.datasets[2].data.push([-60,o.loudness.momentary]),f.update()},100)});const h=()=>[{label:"short term",type:"line",data:l.map(f=>f),borderColor:"#c7aa19"},{label:"integrated",type:"line",data:l.map(f=>f),borderColor:"#189de4"},{label:"momentary",type:"bar",data:l.map(f=>[f,-1/0]),backgroundColor:"#e8545426"}],d=f=>Math.round(f*100)/100+" LUFS";return(f,u)=>(to(),eo(so,null,[wt(io,{src:Mt(n).song.cover,direction:"to top right"},null,8,["src"]),I("div",Dc,[Oc,I("div",Tc,[wt(Nt,{class:"relative loudness-chart p-2"},{default:Vt(()=>[I("canvas",{ref_key:"chart",ref:t},null,512)]),_:1}),wt(Nt,{class:"relative tonal-balance-chart p-2"},{default:Vt(()=>[I("canvas",{ref_key:"tonalBalanceChart",ref:s},null,512)]),_:1})]),I("div",Lc,[wt(Nt,{class:"mode"},{default:Vt(()=>[Ac,I("span",null,ei(d(Mt(o).loudness.shortterm)),1)]),_:1}),wt(Nt,{class:"mode"},{default:Vt(()=>[Fc,I("span",null,ei(d(Mt(o).loudness.integrated)),1)]),_:1}),wt(Nt,{class:"mode"},{default:Vt(()=>[Ic,I("span",null,ei(d(Mt(o).loudness.maxMomentary)),1)]),_:1}),wt(Nt,{class:"meters"},{default:Vt(()=>[I("div",Rc,[Ec,I("meter",{optimum:"0.25",low:"0.5",high:"0.75",min:"0",max:"1",value:Mt(o).stereo.left},null,8,zc)]),I("div",Bc,[Hc,I("meter",{optimum:"0.25",low:"0.5",high:"0.75",min:"0",max:"1",value:Mt(o).stereo.right},null,8,Wc)]),Vc,I("div",Nc,[jc,I("meter",{optimum:"1",low:"-0.5",high:"0",min:"-1",max:"1",value:Mt(o).stereo.correlation},null,8,$c)]),Yc,I("div",Uc,[I("div",Xc,[I("canvas",{ref_key:"stereoFieldChart",ref:e},null,512)])])]),_:1})])])],64))}});const Zc=ao(Kc,[["__scopeId","data-v-99f7d66f"]]);export{Zc as default}; diff --git a/src/ui/dist/assets/Insight-02bf27fd.js.gz b/src/ui/dist/assets/Insight-02bf27fd.js.gz deleted file mode 100644 index 0b64fab89..000000000 Binary files a/src/ui/dist/assets/Insight-02bf27fd.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Insight-BJxao_m3.css b/src/ui/dist/assets/Insight-BJxao_m3.css new file mode 100644 index 000000000..c77be61eb --- /dev/null +++ b/src/ui/dist/assets/Insight-BJxao_m3.css @@ -0,0 +1 @@ +.meters[data-v-29855a4f]{display:flex;flex-direction:column;justify-content:center;gap:1em;padding:.5em;grid-column:1/-1;overflow:hidden}.meters .stereo-field[data-v-29855a4f]{align-self:center;aspect-ratio:1;flex:1;position:relative;height:100%}.meters .stereo-field .inner[data-v-29855a4f]{position:absolute;top:0;right:0;bottom:0;left:0;aspect-ratio:1;height:100%;margin:auto}.meters h4[data-v-29855a4f]{margin-bottom:0}.meters .meter[data-v-29855a4f]{display:grid;grid-template-columns:1ch 1fr;align-items:center;gap:1em}.meters .meter .label[data-v-29855a4f]{font-size:.8em;color:var(--fg-base-dk)}.meters .meter meter[data-v-29855a4f]{width:100%}.insights[data-v-29855a4f]{display:grid;grid-template-columns:2fr 1fr;gap:1em;padding:1em;height:100%;overflow:hidden}.insights>h1[data-v-29855a4f]{grid-column:1/-1}.insights>h1 span[data-v-29855a4f]{margin-right:.5em}.left[data-v-29855a4f]{display:grid;grid-template-rows:1fr max-content;gap:1em}.left .loudness-chart[data-v-29855a4f]{width:100%;height:calc(2 * (100vh - var(--h-header) - var(--h-player) - 2.25rem - 5em) / 3)}.left .tonal-balance-chart[data-v-29855a4f]{width:100%;height:calc(1 * (100vh - var(--h-header) - var(--h-player) - 2.25rem - 5em) / 3)}.right[data-v-29855a4f]{display:grid;grid-template-columns:repeat(3,1fr);gap:1em;overflow:hidden}.right .mode[data-v-29855a4f]{padding:.5em;display:flex;flex-direction:column;align-items:center;width:100%}.right .mode .label[data-v-29855a4f]{font-size:.8em;color:var(--fg-base-dk)}meter[data-v-29855a4f]{--background: var(--bg-base);--optimum: var(--success);--sub-optimum: var(--warning);--sub-sub-optimum: var(--fail);display:block;width:100%}meter[data-v-29855a4f]::-webkit-meter-bar{background:var(--background);border:2px solid var(--border-base)}meter[data-v-29855a4f]:-moz-meter-optimum::-moz-meter-bar{background:var(--optimum)}meter[data-v-29855a4f]::-webkit-meter-optimum-value{background:var(--optimum)}meter[data-v-29855a4f]:-moz-meter-sub-optimum::-moz-meter-bar{background:var(--sub-optimum)}meter[data-v-29855a4f]::-webkit-meter-suboptimum-value{background:var(--sub-optimum)}meter[data-v-29855a4f]:-moz-meter-sub-sub-optimum::-moz-meter-bar{background:var(--sub-sub-optimum)}meter[data-v-29855a4f]::-webkit-meter-even-less-good-value{background:var(--sub-sub-optimum)} diff --git a/src/ui/dist/assets/Insight-BJxao_m3.css.gz b/src/ui/dist/assets/Insight-BJxao_m3.css.gz new file mode 100644 index 000000000..52d8fa656 Binary files /dev/null and b/src/ui/dist/assets/Insight-BJxao_m3.css.gz differ diff --git a/src/ui/dist/assets/Insight-YxgeZZYl.js b/src/ui/dist/assets/Insight-YxgeZZYl.js new file mode 100644 index 000000000..f96a92442 --- /dev/null +++ b/src/ui/dist/assets/Insight-YxgeZZYl.js @@ -0,0 +1,18 @@ +var Kn=Object.defineProperty;var qn=(i,t,e)=>t in i?Kn(i,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[t]=e;var S=(i,t,e)=>qn(i,typeof t!="symbol"?t+"":t,e);import{e as Gn,n as Zt,a7 as Zn,aL as Qn,y as Jn,o as to,c as eo,g as wt,u as Mt,a8 as io,a as I,w as Vt,C as Nt,t as ei,F as so,l as no,m as oo,_ as ao}from"./index-DnhwPdfm.js";/*! + * @kurkle/color v0.3.2 + * https://github.com/kurkle/color#readme + * (c) 2023 Jukka Kurkela + * Released under the MIT License + */function be(i){return i+.5|0}const gt=(i,t,e)=>Math.max(Math.min(i,e),t);function se(i){return gt(be(i*2.55),0,255)}function xt(i){return gt(be(i*255),0,255)}function dt(i){return gt(be(i/2.55)/100,0,1)}function Ni(i){return gt(be(i*100),0,100)}const Q={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15,a:10,b:11,c:12,d:13,e:14,f:15},ui=[..."0123456789ABCDEF"],ro=i=>ui[i&15],lo=i=>ui[(i&240)>>4]+ui[i&15],ke=i=>(i&240)>>4===(i&15),co=i=>ke(i.r)&&ke(i.g)&&ke(i.b)&&ke(i.a);function ho(i){var t=i.length,e;return i[0]==="#"&&(t===4||t===5?e={r:255&Q[i[1]]*17,g:255&Q[i[2]]*17,b:255&Q[i[3]]*17,a:t===5?Q[i[4]]*17:255}:(t===7||t===9)&&(e={r:Q[i[1]]<<4|Q[i[2]],g:Q[i[3]]<<4|Q[i[4]],b:Q[i[5]]<<4|Q[i[6]],a:t===9?Q[i[7]]<<4|Q[i[8]]:255})),e}const fo=(i,t)=>i<255?t(i):"";function uo(i){var t=co(i)?ro:lo;return i?"#"+t(i.r)+t(i.g)+t(i.b)+fo(i.a,t):void 0}const go=/^(hsla?|hwb|hsv)\(\s*([-+.e\d]+)(?:deg)?[\s,]+([-+.e\d]+)%[\s,]+([-+.e\d]+)%(?:[\s,]+([-+.e\d]+)(%)?)?\s*\)$/;function on(i,t,e){const s=t*Math.min(e,1-e),n=(o,a=(o+i/30)%12)=>e-s*Math.max(Math.min(a-3,9-a,1),-1);return[n(0),n(8),n(4)]}function po(i,t,e){const s=(n,o=(n+i/60)%6)=>e-e*t*Math.max(Math.min(o,4-o,1),0);return[s(5),s(3),s(1)]}function mo(i,t,e){const s=on(i,1,.5);let n;for(t+e>1&&(n=1/(t+e),t*=n,e*=n),n=0;n<3;n++)s[n]*=1-t-e,s[n]+=t;return s}function bo(i,t,e,s,n){return i===n?(t-e)/s+(t.5?h/(2-o-a):h/(o+a),l=bo(e,s,n,h,o),l=l*60+.5),[l|0,c||0,r]}function Pi(i,t,e,s){return(Array.isArray(t)?i(t[0],t[1],t[2]):i(t,e,s)).map(xt)}function Ci(i,t,e){return Pi(on,i,t,e)}function xo(i,t,e){return Pi(mo,i,t,e)}function _o(i,t,e){return Pi(po,i,t,e)}function an(i){return(i%360+360)%360}function yo(i){const t=go.exec(i);let e=255,s;if(!t)return;t[5]!==s&&(e=t[6]?se(+t[5]):xt(+t[5]));const n=an(+t[2]),o=+t[3]/100,a=+t[4]/100;return t[1]==="hwb"?s=xo(n,o,a):t[1]==="hsv"?s=_o(n,o,a):s=Ci(n,o,a),{r:s[0],g:s[1],b:s[2],a:e}}function vo(i,t){var e=Si(i);e[0]=an(e[0]+t),e=Ci(e),i.r=e[0],i.g=e[1],i.b=e[2]}function ko(i){if(!i)return;const t=Si(i),e=t[0],s=Ni(t[1]),n=Ni(t[2]);return i.a<255?`hsla(${e}, ${s}%, ${n}%, ${dt(i.a)})`:`hsl(${e}, ${s}%, ${n}%)`}const ji={x:"dark",Z:"light",Y:"re",X:"blu",W:"gr",V:"medium",U:"slate",A:"ee",T:"ol",S:"or",B:"ra",C:"lateg",D:"ights",R:"in",Q:"turquois",E:"hi",P:"ro",O:"al",N:"le",M:"de",L:"yello",F:"en",K:"ch",G:"arks",H:"ea",I:"ightg",J:"wh"},$i={OiceXe:"f0f8ff",antiquewEte:"faebd7",aqua:"ffff",aquamarRe:"7fffd4",azuY:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"0",blanKedOmond:"ffebcd",Xe:"ff",XeviTet:"8a2be2",bPwn:"a52a2a",burlywood:"deb887",caMtXe:"5f9ea0",KartYuse:"7fff00",KocTate:"d2691e",cSO:"ff7f50",cSnflowerXe:"6495ed",cSnsilk:"fff8dc",crimson:"dc143c",cyan:"ffff",xXe:"8b",xcyan:"8b8b",xgTMnPd:"b8860b",xWay:"a9a9a9",xgYF:"6400",xgYy:"a9a9a9",xkhaki:"bdb76b",xmagFta:"8b008b",xTivegYF:"556b2f",xSange:"ff8c00",xScEd:"9932cc",xYd:"8b0000",xsOmon:"e9967a",xsHgYF:"8fbc8f",xUXe:"483d8b",xUWay:"2f4f4f",xUgYy:"2f4f4f",xQe:"ced1",xviTet:"9400d3",dAppRk:"ff1493",dApskyXe:"bfff",dimWay:"696969",dimgYy:"696969",dodgerXe:"1e90ff",fiYbrick:"b22222",flSOwEte:"fffaf0",foYstWAn:"228b22",fuKsia:"ff00ff",gaRsbSo:"dcdcdc",ghostwEte:"f8f8ff",gTd:"ffd700",gTMnPd:"daa520",Way:"808080",gYF:"8000",gYFLw:"adff2f",gYy:"808080",honeyMw:"f0fff0",hotpRk:"ff69b4",RdianYd:"cd5c5c",Rdigo:"4b0082",ivSy:"fffff0",khaki:"f0e68c",lavFMr:"e6e6fa",lavFMrXsh:"fff0f5",lawngYF:"7cfc00",NmoncEffon:"fffacd",ZXe:"add8e6",ZcSO:"f08080",Zcyan:"e0ffff",ZgTMnPdLw:"fafad2",ZWay:"d3d3d3",ZgYF:"90ee90",ZgYy:"d3d3d3",ZpRk:"ffb6c1",ZsOmon:"ffa07a",ZsHgYF:"20b2aa",ZskyXe:"87cefa",ZUWay:"778899",ZUgYy:"778899",ZstAlXe:"b0c4de",ZLw:"ffffe0",lime:"ff00",limegYF:"32cd32",lRF:"faf0e6",magFta:"ff00ff",maPon:"800000",VaquamarRe:"66cdaa",VXe:"cd",VScEd:"ba55d3",VpurpN:"9370db",VsHgYF:"3cb371",VUXe:"7b68ee",VsprRggYF:"fa9a",VQe:"48d1cc",VviTetYd:"c71585",midnightXe:"191970",mRtcYam:"f5fffa",mistyPse:"ffe4e1",moccasR:"ffe4b5",navajowEte:"ffdead",navy:"80",Tdlace:"fdf5e6",Tive:"808000",TivedBb:"6b8e23",Sange:"ffa500",SangeYd:"ff4500",ScEd:"da70d6",pOegTMnPd:"eee8aa",pOegYF:"98fb98",pOeQe:"afeeee",pOeviTetYd:"db7093",papayawEp:"ffefd5",pHKpuff:"ffdab9",peru:"cd853f",pRk:"ffc0cb",plum:"dda0dd",powMrXe:"b0e0e6",purpN:"800080",YbeccapurpN:"663399",Yd:"ff0000",Psybrown:"bc8f8f",PyOXe:"4169e1",saddNbPwn:"8b4513",sOmon:"fa8072",sandybPwn:"f4a460",sHgYF:"2e8b57",sHshell:"fff5ee",siFna:"a0522d",silver:"c0c0c0",skyXe:"87ceeb",UXe:"6a5acd",UWay:"708090",UgYy:"708090",snow:"fffafa",sprRggYF:"ff7f",stAlXe:"4682b4",tan:"d2b48c",teO:"8080",tEstN:"d8bfd8",tomato:"ff6347",Qe:"40e0d0",viTet:"ee82ee",JHt:"f5deb3",wEte:"ffffff",wEtesmoke:"f5f5f5",Lw:"ffff00",LwgYF:"9acd32"};function wo(){const i={},t=Object.keys($i),e=Object.keys(ji);let s,n,o,a,r;for(s=0;s>16&255,o>>8&255,o&255]}return i}let we;function Mo(i){we||(we=wo(),we.transparent=[0,0,0,0]);const t=we[i.toLowerCase()];return t&&{r:t[0],g:t[1],b:t[2],a:t.length===4?t[3]:255}}const So=/^rgba?\(\s*([-+.\d]+)(%)?[\s,]+([-+.e\d]+)(%)?[\s,]+([-+.e\d]+)(%)?(?:[\s,/]+([-+.e\d]+)(%)?)?\s*\)$/;function Po(i){const t=So.exec(i);let e=255,s,n,o;if(t){if(t[7]!==s){const a=+t[7];e=t[8]?se(a):gt(a*255,0,255)}return s=+t[1],n=+t[3],o=+t[5],s=255&(t[2]?se(s):gt(s,0,255)),n=255&(t[4]?se(n):gt(n,0,255)),o=255&(t[6]?se(o):gt(o,0,255)),{r:s,g:n,b:o,a:e}}}function Co(i){return i&&(i.a<255?`rgba(${i.r}, ${i.g}, ${i.b}, ${dt(i.a)})`:`rgb(${i.r}, ${i.g}, ${i.b})`)}const ii=i=>i<=.0031308?i*12.92:Math.pow(i,1/2.4)*1.055-.055,jt=i=>i<=.04045?i/12.92:Math.pow((i+.055)/1.055,2.4);function Do(i,t,e){const s=jt(dt(i.r)),n=jt(dt(i.g)),o=jt(dt(i.b));return{r:xt(ii(s+e*(jt(dt(t.r))-s))),g:xt(ii(n+e*(jt(dt(t.g))-n))),b:xt(ii(o+e*(jt(dt(t.b))-o))),a:i.a+e*(t.a-i.a)}}function Me(i,t,e){if(i){let s=Si(i);s[t]=Math.max(0,Math.min(s[t]+s[t]*e,t===0?360:1)),s=Ci(s),i.r=s[0],i.g=s[1],i.b=s[2]}}function rn(i,t){return i&&Object.assign(t||{},i)}function Yi(i){var t={r:0,g:0,b:0,a:255};return Array.isArray(i)?i.length>=3&&(t={r:i[0],g:i[1],b:i[2],a:255},i.length>3&&(t.a=xt(i[3]))):(t=rn(i,{r:0,g:0,b:0,a:1}),t.a=xt(t.a)),t}function Oo(i){return i.charAt(0)==="r"?Po(i):yo(i)}class de{constructor(t){if(t instanceof de)return t;const e=typeof t;let s;e==="object"?s=Yi(t):e==="string"&&(s=ho(t)||Mo(t)||Oo(t)),this._rgb=s,this._valid=!!s}get valid(){return this._valid}get rgb(){var t=rn(this._rgb);return t&&(t.a=dt(t.a)),t}set rgb(t){this._rgb=Yi(t)}rgbString(){return this._valid?Co(this._rgb):void 0}hexString(){return this._valid?uo(this._rgb):void 0}hslString(){return this._valid?ko(this._rgb):void 0}mix(t,e){if(t){const s=this.rgb,n=t.rgb;let o;const a=e===o?.5:e,r=2*a-1,l=s.a-n.a,c=((r*l===-1?r:(r+l)/(1+r*l))+1)/2;o=1-c,s.r=255&c*s.r+o*n.r+.5,s.g=255&c*s.g+o*n.g+.5,s.b=255&c*s.b+o*n.b+.5,s.a=a*s.a+(1-a)*n.a,this.rgb=s}return this}interpolate(t,e){return t&&(this._rgb=Do(this._rgb,t._rgb,e)),this}clone(){return new de(this.rgb)}alpha(t){return this._rgb.a=xt(t),this}clearer(t){const e=this._rgb;return e.a*=1-t,this}greyscale(){const t=this._rgb,e=be(t.r*.3+t.g*.59+t.b*.11);return t.r=t.g=t.b=e,this}opaquer(t){const e=this._rgb;return e.a*=1+t,this}negate(){const t=this._rgb;return t.r=255-t.r,t.g=255-t.g,t.b=255-t.b,this}lighten(t){return Me(this._rgb,2,t),this}darken(t){return Me(this._rgb,2,-t),this}saturate(t){return Me(this._rgb,1,t),this}desaturate(t){return Me(this._rgb,1,-t),this}rotate(t){return vo(this._rgb,t),this}}/*! + * Chart.js v4.4.3 + * https://www.chartjs.org + * (c) 2024 Chart.js Contributors + * Released under the MIT License + */function lt(){}const To=(()=>{let i=0;return()=>i++})();function A(i){return i===null||typeof i>"u"}function E(i){if(Array.isArray&&Array.isArray(i))return!0;const t=Object.prototype.toString.call(i);return t.slice(0,7)==="[object"&&t.slice(-6)==="Array]"}function T(i){return i!==null&&Object.prototype.toString.call(i)==="[object Object]"}function V(i){return(typeof i=="number"||i instanceof Number)&&isFinite(+i)}function K(i,t){return V(i)?i:t}function D(i,t){return typeof i>"u"?t:i}const Lo=(i,t)=>typeof i=="string"&&i.endsWith("%")?parseFloat(i)/100*t:+i;function R(i,t,e){if(i&&typeof i.call=="function")return i.apply(e,t)}function F(i,t,e,s){let n,o,a;if(E(i))for(o=i.length,n=0;ni,x:i=>i.x,y:i=>i.y};function Io(i){const t=i.split("."),e=[];let s="";for(const n of t)s+=n,s.endsWith("\\")?s=s.slice(0,-1)+".":(e.push(s),s="");return e}function Ro(i){const t=Io(i);return e=>{for(const s of t){if(s==="")break;e=e&&e[s]}return e}}function Yt(i,t){return(Ui[t]||(Ui[t]=Ro(t)))(i)}function Di(i){return i.charAt(0).toUpperCase()+i.slice(1)}const ue=i=>typeof i<"u",_t=i=>typeof i=="function",Xi=(i,t)=>{if(i.size!==t.size)return!1;for(const e of i)if(!t.has(e))return!1;return!0};function Eo(i){return i.type==="mouseup"||i.type==="click"||i.type==="contextmenu"}const H=Math.PI,tt=2*H,zo=tt+H,Ue=Number.POSITIVE_INFINITY,Bo=H/180,q=H/2,St=H/4,Ki=H*2/3,pt=Math.log10,at=Math.sign;function le(i,t,e){return Math.abs(i-t)n-o).pop(),t}function Ut(i){return!isNaN(parseFloat(i))&&isFinite(i)}function Wo(i,t){const e=Math.round(i);return e-t<=i&&e+t>=i}function cn(i,t,e){let s,n,o;for(s=0,n=i.length;sl&&c=Math.min(t,e)-s&&i<=Math.max(t,e)+s}function Ti(i,t,e){e=e||(a=>i[a]1;)o=n+s>>1,e(o)?n=o:s=o;return{lo:n,hi:s}}const At=(i,t,e,s)=>Ti(i,e,s?n=>{const o=i[n][t];return oi[n][t]Ti(i,e,s=>i[s][t]>=e);function Yo(i,t,e){let s=0,n=i.length;for(;ss&&i[n-1]>e;)n--;return s>0||n{const s="_onData"+Di(e),n=i[e];Object.defineProperty(i,e,{configurable:!0,enumerable:!1,value(...o){const a=n.apply(this,o);return i._chartjs.listeners.forEach(r=>{typeof r[s]=="function"&&r[s](...o)}),a}})})}function Zi(i,t){const e=i._chartjs;if(!e)return;const s=e.listeners,n=s.indexOf(t);n!==-1&&s.splice(n,1),!(s.length>0)&&(dn.forEach(o=>{delete i[o]}),delete i._chartjs)}function fn(i){const t=new Set(i);return t.size===i.length?i:Array.from(t)}const un=function(){return typeof window>"u"?function(i){return i()}:window.requestAnimationFrame}();function gn(i,t){let e=[],s=!1;return function(...n){e=n,s||(s=!0,un.call(window,()=>{s=!1,i.apply(t,e)}))}}function Xo(i,t){let e;return function(...s){return t?(clearTimeout(e),e=setTimeout(i,t,s)):i.apply(this,s),t}}const Li=i=>i==="start"?"left":i==="end"?"right":"center",j=(i,t,e)=>i==="start"?t:i==="end"?e:(t+e)/2,Ko=(i,t,e,s)=>i===(s?"left":"right")?e:i==="center"?(t+e)/2:t;function pn(i,t,e){const s=t.length;let n=0,o=s;if(i._sorted){const{iScale:a,_parsed:r}=i,l=a.axis,{min:c,max:h,minDefined:d,maxDefined:f}=a.getUserBounds();d&&(n=G(Math.min(At(r,l,c).lo,e?s:At(t,l,a.getPixelForValue(c)).lo),0,s-1)),f?o=G(Math.max(At(r,a.axis,h,!0).hi+1,e?0:At(t,l,a.getPixelForValue(h),!0).hi+1),n,s)-n:o=s-n}return{start:n,count:o}}function mn(i){const{xScale:t,yScale:e,_scaleRanges:s}=i,n={xmin:t.min,xmax:t.max,ymin:e.min,ymax:e.max};if(!s)return i._scaleRanges=n,!0;const o=s.xmin!==t.min||s.xmax!==t.max||s.ymin!==e.min||s.ymax!==e.max;return Object.assign(s,n),o}const Se=i=>i===0||i===1,Qi=(i,t,e)=>-(Math.pow(2,10*(i-=1))*Math.sin((i-t)*tt/e)),Ji=(i,t,e)=>Math.pow(2,-10*i)*Math.sin((i-t)*tt/e)+1,ce={linear:i=>i,easeInQuad:i=>i*i,easeOutQuad:i=>-i*(i-2),easeInOutQuad:i=>(i/=.5)<1?.5*i*i:-.5*(--i*(i-2)-1),easeInCubic:i=>i*i*i,easeOutCubic:i=>(i-=1)*i*i+1,easeInOutCubic:i=>(i/=.5)<1?.5*i*i*i:.5*((i-=2)*i*i+2),easeInQuart:i=>i*i*i*i,easeOutQuart:i=>-((i-=1)*i*i*i-1),easeInOutQuart:i=>(i/=.5)<1?.5*i*i*i*i:-.5*((i-=2)*i*i*i-2),easeInQuint:i=>i*i*i*i*i,easeOutQuint:i=>(i-=1)*i*i*i*i+1,easeInOutQuint:i=>(i/=.5)<1?.5*i*i*i*i*i:.5*((i-=2)*i*i*i*i+2),easeInSine:i=>-Math.cos(i*q)+1,easeOutSine:i=>Math.sin(i*q),easeInOutSine:i=>-.5*(Math.cos(H*i)-1),easeInExpo:i=>i===0?0:Math.pow(2,10*(i-1)),easeOutExpo:i=>i===1?1:-Math.pow(2,-10*i)+1,easeInOutExpo:i=>Se(i)?i:i<.5?.5*Math.pow(2,10*(i*2-1)):.5*(-Math.pow(2,-10*(i*2-1))+2),easeInCirc:i=>i>=1?i:-(Math.sqrt(1-i*i)-1),easeOutCirc:i=>Math.sqrt(1-(i-=1)*i),easeInOutCirc:i=>(i/=.5)<1?-.5*(Math.sqrt(1-i*i)-1):.5*(Math.sqrt(1-(i-=2)*i)+1),easeInElastic:i=>Se(i)?i:Qi(i,.075,.3),easeOutElastic:i=>Se(i)?i:Ji(i,.075,.3),easeInOutElastic(i){return Se(i)?i:i<.5?.5*Qi(i*2,.1125,.45):.5+.5*Ji(i*2-1,.1125,.45)},easeInBack(i){return i*i*((1.70158+1)*i-1.70158)},easeOutBack(i){return(i-=1)*i*((1.70158+1)*i+1.70158)+1},easeInOutBack(i){let t=1.70158;return(i/=.5)<1?.5*(i*i*(((t*=1.525)+1)*i-t)):.5*((i-=2)*i*(((t*=1.525)+1)*i+t)+2)},easeInBounce:i=>1-ce.easeOutBounce(1-i),easeOutBounce(i){return i<1/2.75?7.5625*i*i:i<2/2.75?7.5625*(i-=1.5/2.75)*i+.75:i<2.5/2.75?7.5625*(i-=2.25/2.75)*i+.9375:7.5625*(i-=2.625/2.75)*i+.984375},easeInOutBounce:i=>i<.5?ce.easeInBounce(i*2)*.5:ce.easeOutBounce(i*2-1)*.5+.5};function Ai(i){if(i&&typeof i=="object"){const t=i.toString();return t==="[object CanvasPattern]"||t==="[object CanvasGradient]"}return!1}function ts(i){return Ai(i)?i:new de(i)}function si(i){return Ai(i)?i:new de(i).saturate(.5).darken(.1).hexString()}const qo=["x","y","borderWidth","radius","tension"],Go=["color","borderColor","backgroundColor"];function Zo(i){i.set("animation",{delay:void 0,duration:1e3,easing:"easeOutQuart",fn:void 0,from:void 0,loop:void 0,to:void 0,type:void 0}),i.describe("animation",{_fallback:!1,_indexable:!1,_scriptable:t=>t!=="onProgress"&&t!=="onComplete"&&t!=="fn"}),i.set("animations",{colors:{type:"color",properties:Go},numbers:{type:"number",properties:qo}}),i.describe("animations",{_fallback:"animation"}),i.set("transitions",{active:{animation:{duration:400}},resize:{animation:{duration:0}},show:{animations:{colors:{from:"transparent"},visible:{type:"boolean",duration:0}}},hide:{animations:{colors:{to:"transparent"},visible:{type:"boolean",easing:"linear",fn:t=>t|0}}}})}function Qo(i){i.set("layout",{autoPadding:!0,padding:{top:0,right:0,bottom:0,left:0}})}const es=new Map;function Jo(i,t){t=t||{};const e=i+JSON.stringify(t);let s=es.get(e);return s||(s=new Intl.NumberFormat(i,t),es.set(e,s)),s}function Fi(i,t,e){return Jo(t,e).format(i)}const bn={values(i){return E(i)?i:""+i},numeric(i,t,e){if(i===0)return"0";const s=this.chart.options.locale;let n,o=i;if(e.length>1){const c=Math.max(Math.abs(e[0].value),Math.abs(e[e.length-1].value));(c<1e-4||c>1e15)&&(n="scientific"),o=ta(i,e)}const a=pt(Math.abs(o)),r=isNaN(a)?1:Math.max(Math.min(-1*Math.floor(a),20),0),l={notation:n,minimumFractionDigits:r,maximumFractionDigits:r};return Object.assign(l,this.options.ticks.format),Fi(i,s,l)},logarithmic(i,t,e){if(i===0)return"0";const s=e[t].significand||i/Math.pow(10,Math.floor(pt(i)));return[1,2,3,5,10,15].includes(s)||t>.8*e.length?bn.numeric.call(this,i,t,e):""}};function ta(i,t){let e=t.length>3?t[2].value-t[1].value:t[1].value-t[0].value;return Math.abs(e)>=1&&i!==Math.floor(i)&&(e=i-Math.floor(i)),e}var Qe={formatters:bn};function ea(i){i.set("scale",{display:!0,offset:!1,reverse:!1,beginAtZero:!1,bounds:"ticks",clip:!0,grace:0,grid:{display:!0,lineWidth:1,drawOnChartArea:!0,drawTicks:!0,tickLength:8,tickWidth:(t,e)=>e.lineWidth,tickColor:(t,e)=>e.color,offset:!1},border:{display:!0,dash:[],dashOffset:0,width:1},title:{display:!1,text:"",padding:{top:4,bottom:4}},ticks:{minRotation:0,maxRotation:50,mirror:!1,textStrokeWidth:0,textStrokeColor:"",padding:3,display:!0,autoSkip:!0,autoSkipPadding:3,labelOffset:0,callback:Qe.formatters.values,minor:{},major:{},align:"center",crossAlign:"near",showLabelBackdrop:!1,backdropColor:"rgba(255, 255, 255, 0.75)",backdropPadding:2}}),i.route("scale.ticks","color","","color"),i.route("scale.grid","color","","borderColor"),i.route("scale.border","color","","borderColor"),i.route("scale.title","color","","color"),i.describe("scale",{_fallback:!1,_scriptable:t=>!t.startsWith("before")&&!t.startsWith("after")&&t!=="callback"&&t!=="parser",_indexable:t=>t!=="borderDash"&&t!=="tickBorderDash"&&t!=="dash"}),i.describe("scales",{_fallback:"scale"}),i.describe("scale.ticks",{_scriptable:t=>t!=="backdropPadding"&&t!=="callback",_indexable:t=>t!=="backdropPadding"})}const Et=Object.create(null),pi=Object.create(null);function he(i,t){if(!t)return i;const e=t.split(".");for(let s=0,n=e.length;ss.chart.platform.getDevicePixelRatio(),this.elements={},this.events=["mousemove","mouseout","click","touchstart","touchmove"],this.font={family:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",size:12,style:"normal",lineHeight:1.2,weight:null},this.hover={},this.hoverBackgroundColor=(s,n)=>si(n.backgroundColor),this.hoverBorderColor=(s,n)=>si(n.borderColor),this.hoverColor=(s,n)=>si(n.color),this.indexAxis="x",this.interaction={mode:"nearest",intersect:!0,includeInvisible:!1},this.maintainAspectRatio=!0,this.onHover=null,this.onClick=null,this.parsing=!0,this.plugins={},this.responsive=!0,this.scale=void 0,this.scales={},this.showLine=!0,this.drawActiveElementsOnTop=!0,this.describe(t),this.apply(e)}set(t,e){return ni(this,t,e)}get(t){return he(this,t)}describe(t,e){return ni(pi,t,e)}override(t,e){return ni(Et,t,e)}route(t,e,s,n){const o=he(this,t),a=he(this,s),r="_"+e;Object.defineProperties(o,{[r]:{value:o[e],writable:!0},[e]:{enumerable:!0,get(){const l=this[r],c=a[n];return T(l)?Object.assign({},c,l):D(l,c)},set(l){this[r]=l}}})}apply(t){t.forEach(e=>e(this))}}var z=new ia({_scriptable:i=>!i.startsWith("on"),_indexable:i=>i!=="events",hover:{_fallback:"interaction"},interaction:{_scriptable:!1,_indexable:!1}},[Zo,Qo,ea]);function sa(i){return!i||A(i.size)||A(i.family)?null:(i.style?i.style+" ":"")+(i.weight?i.weight+" ":"")+i.size+"px "+i.family}function Xe(i,t,e,s,n){let o=t[n];return o||(o=t[n]=i.measureText(n).width,e.push(n)),o>s&&(s=o),s}function na(i,t,e,s){s=s||{};let n=s.data=s.data||{},o=s.garbageCollect=s.garbageCollect||[];s.font!==t&&(n=s.data={},o=s.garbageCollect=[],s.font=t),i.save(),i.font=t;let a=0;const r=e.length;let l,c,h,d,f;for(l=0;le.length){for(l=0;l0&&i.stroke()}}function ft(i,t,e){return e=e||.5,!t||i&&i.x>t.left-e&&i.xt.top-e&&i.y0&&o.strokeColor!=="";let l,c;for(i.save(),i.font=n.string,ra(i,o),l=0;l+i||0;function _n(i,t){const e={},s=T(t),n=s?Object.keys(t):t,o=T(i)?s?a=>D(i[a],i[t[a]]):a=>i[a]:()=>i;for(const a of n)e[a]=ua(o(a));return e}function yn(i){return _n(i,{top:"y",right:"x",bottom:"y",left:"x"})}function Ft(i){return _n(i,["topLeft","topRight","bottomLeft","bottomRight"])}function $(i){const t=yn(i);return t.width=t.left+t.right,t.height=t.top+t.bottom,t}function W(i,t){i=i||{},t=t||z.font;let e=D(i.size,t.size);typeof e=="string"&&(e=parseInt(e,10));let s=D(i.style,t.style);s&&!(""+s).match(da)&&(console.warn('Invalid font style specified: "'+s+'"'),s=void 0);const n={family:D(i.family,t.family),lineHeight:fa(D(i.lineHeight,t.lineHeight),e),size:e,style:s,weight:D(i.weight,t.weight),string:""};return n.string=sa(n),n}function Pe(i,t,e,s){let n,o,a;for(n=0,o=i.length;ne&&r===0?0:r+l;return{min:a(s,-Math.abs(o)),max:a(n,o)}}function yt(i,t){return Object.assign(Object.create(i),t)}function Ei(i,t=[""],e,s,n=()=>i[0]){const o=e||i;typeof s>"u"&&(s=Mn("_fallback",i));const a={[Symbol.toStringTag]:"Object",_cacheable:!0,_scopes:i,_rootScopes:o,_fallback:s,_getTarget:n,override:r=>Ei([r,...i],t,o,s)};return new Proxy(a,{deleteProperty(r,l){return delete r[l],delete r._keys,delete i[0][l],!0},get(r,l){return kn(r,l,()=>ka(l,t,i,r))},getOwnPropertyDescriptor(r,l){return Reflect.getOwnPropertyDescriptor(r._scopes[0],l)},getPrototypeOf(){return Reflect.getPrototypeOf(i[0])},has(r,l){return ns(r).includes(l)},ownKeys(r){return ns(r)},set(r,l,c){const h=r._storage||(r._storage=n());return r[l]=h[l]=c,delete r._keys,!0}})}function Xt(i,t,e,s){const n={_cacheable:!1,_proxy:i,_context:t,_subProxy:e,_stack:new Set,_descriptors:vn(i,s),setContext:o=>Xt(i,o,e,s),override:o=>Xt(i.override(o),t,e,s)};return new Proxy(n,{deleteProperty(o,a){return delete o[a],delete i[a],!0},get(o,a,r){return kn(o,a,()=>ma(o,a,r))},getOwnPropertyDescriptor(o,a){return o._descriptors.allKeys?Reflect.has(i,a)?{enumerable:!0,configurable:!0}:void 0:Reflect.getOwnPropertyDescriptor(i,a)},getPrototypeOf(){return Reflect.getPrototypeOf(i)},has(o,a){return Reflect.has(i,a)},ownKeys(){return Reflect.ownKeys(i)},set(o,a,r){return i[a]=r,delete o[a],!0}})}function vn(i,t={scriptable:!0,indexable:!0}){const{_scriptable:e=t.scriptable,_indexable:s=t.indexable,_allKeys:n=t.allKeys}=i;return{allKeys:n,scriptable:e,indexable:s,isScriptable:_t(e)?e:()=>e,isIndexable:_t(s)?s:()=>s}}const pa=(i,t)=>i?i+Di(t):t,zi=(i,t)=>T(t)&&i!=="adapters"&&(Object.getPrototypeOf(t)===null||t.constructor===Object);function kn(i,t,e){if(Object.prototype.hasOwnProperty.call(i,t)||t==="constructor")return i[t];const s=e();return i[t]=s,s}function ma(i,t,e){const{_proxy:s,_context:n,_subProxy:o,_descriptors:a}=i;let r=s[t];return _t(r)&&a.isScriptable(t)&&(r=ba(t,r,i,e)),E(r)&&r.length&&(r=xa(t,r,i,a.isIndexable)),zi(t,r)&&(r=Xt(r,n,o&&o[t],a)),r}function ba(i,t,e,s){const{_proxy:n,_context:o,_subProxy:a,_stack:r}=e;if(r.has(i))throw new Error("Recursion detected: "+Array.from(r).join("->")+"->"+i);r.add(i);let l=t(o,a||s);return r.delete(i),zi(i,l)&&(l=Bi(n._scopes,n,i,l)),l}function xa(i,t,e,s){const{_proxy:n,_context:o,_subProxy:a,_descriptors:r}=e;if(typeof o.index<"u"&&s(i))return t[o.index%t.length];if(T(t[0])){const l=t,c=n._scopes.filter(h=>h!==l);t=[];for(const h of l){const d=Bi(c,n,i,h);t.push(Xt(d,o,a&&a[i],r))}}return t}function wn(i,t,e){return _t(i)?i(t,e):i}const _a=(i,t)=>i===!0?t:typeof i=="string"?Yt(t,i):void 0;function ya(i,t,e,s,n){for(const o of t){const a=_a(e,o);if(a){i.add(a);const r=wn(a._fallback,e,n);if(typeof r<"u"&&r!==e&&r!==s)return r}else if(a===!1&&typeof s<"u"&&e!==s)return null}return!1}function Bi(i,t,e,s){const n=t._rootScopes,o=wn(t._fallback,e,s),a=[...i,...n],r=new Set;r.add(s);let l=ss(r,a,e,o||e,s);return l===null||typeof o<"u"&&o!==e&&(l=ss(r,a,o,l,s),l===null)?!1:Ei(Array.from(r),[""],n,o,()=>va(t,e,s))}function ss(i,t,e,s,n){for(;e;)e=ya(i,t,e,s,n);return e}function va(i,t,e){const s=i._getTarget();t in s||(s[t]={});const n=s[t];return E(n)&&T(e)?e:n||{}}function ka(i,t,e,s){let n;for(const o of t)if(n=Mn(pa(o,i),e),typeof n<"u")return zi(i,n)?Bi(e,s,i,n):n}function Mn(i,t){for(const e of t){if(!e)continue;const s=e[i];if(typeof s<"u")return s}}function ns(i){let t=i._keys;return t||(t=i._keys=wa(i._scopes)),t}function wa(i){const t=new Set;for(const e of i)for(const s of Object.keys(e).filter(n=>!n.startsWith("_")))t.add(s);return Array.from(t)}const Ma=Number.EPSILON||1e-14,Kt=(i,t)=>ti==="x"?"y":"x";function Sa(i,t,e,s){const n=i.skip?t:i,o=t,a=e.skip?t:e,r=gi(o,n),l=gi(a,o);let c=r/(r+l),h=l/(r+l);c=isNaN(c)?0:c,h=isNaN(h)?0:h;const d=s*c,f=s*h;return{previous:{x:o.x-d*(a.x-n.x),y:o.y-d*(a.y-n.y)},next:{x:o.x+f*(a.x-n.x),y:o.y+f*(a.y-n.y)}}}function Pa(i,t,e){const s=i.length;let n,o,a,r,l,c=Kt(i,0);for(let h=0;h!c.skip)),t.cubicInterpolationMode==="monotone")Da(i,n);else{let c=s?i[i.length-1]:i[0];for(o=0,a=i.length;oi.ownerDocument.defaultView.getComputedStyle(i,null);function La(i,t){return Je(i).getPropertyValue(t)}const Aa=["top","right","bottom","left"];function It(i,t,e){const s={};e=e?"-"+e:"";for(let n=0;n<4;n++){const o=Aa[n];s[o]=parseFloat(i[t+"-"+o+e])||0}return s.width=s.left+s.right,s.height=s.top+s.bottom,s}const Fa=(i,t,e)=>(i>0||t>0)&&(!e||!e.shadowRoot);function Ia(i,t){const e=i.touches,s=e&&e.length?e[0]:i,{offsetX:n,offsetY:o}=s;let a=!1,r,l;if(Fa(n,o,i.target))r=n,l=o;else{const c=t.getBoundingClientRect();r=s.clientX-c.left,l=s.clientY-c.top,a=!0}return{x:r,y:l,box:a}}function Ot(i,t){if("native"in i)return i;const{canvas:e,currentDevicePixelRatio:s}=t,n=Je(e),o=n.boxSizing==="border-box",a=It(n,"padding"),r=It(n,"border","width"),{x:l,y:c,box:h}=Ia(i,e),d=a.left+(h&&r.left),f=a.top+(h&&r.top);let{width:u,height:p}=t;return o&&(u-=a.width+r.width,p-=a.height+r.height),{x:Math.round((l-d)/u*e.width/s),y:Math.round((c-f)/p*e.height/s)}}function Ra(i,t,e){let s,n;if(t===void 0||e===void 0){const o=i&&Wi(i);if(!o)t=i.clientWidth,e=i.clientHeight;else{const a=o.getBoundingClientRect(),r=Je(o),l=It(r,"border","width"),c=It(r,"padding");t=a.width-c.width-l.width,e=a.height-c.height-l.height,s=Ke(r.maxWidth,o,"clientWidth"),n=Ke(r.maxHeight,o,"clientHeight")}}return{width:t,height:e,maxWidth:s||Ue,maxHeight:n||Ue}}const De=i=>Math.round(i*10)/10;function Ea(i,t,e,s){const n=Je(i),o=It(n,"margin"),a=Ke(n.maxWidth,i,"clientWidth")||Ue,r=Ke(n.maxHeight,i,"clientHeight")||Ue,l=Ra(i,t,e);let{width:c,height:h}=l;if(n.boxSizing==="content-box"){const f=It(n,"border","width"),u=It(n,"padding");c-=u.width+f.width,h-=u.height+f.height}return c=Math.max(0,c-o.width),h=Math.max(0,s?c/s:h-o.height),c=De(Math.min(c,a,l.maxWidth)),h=De(Math.min(h,r,l.maxHeight)),c&&!h&&(h=De(c/2)),(t!==void 0||e!==void 0)&&s&&l.height&&h>l.height&&(h=l.height,c=De(Math.floor(h*s))),{width:c,height:h}}function os(i,t,e){const s=t||1,n=Math.floor(i.height*s),o=Math.floor(i.width*s);i.height=Math.floor(i.height),i.width=Math.floor(i.width);const a=i.canvas;return a.style&&(e||!a.style.height&&!a.style.width)&&(a.style.height=`${i.height}px`,a.style.width=`${i.width}px`),i.currentDevicePixelRatio!==s||a.height!==n||a.width!==o?(i.currentDevicePixelRatio=s,a.height=n,a.width=o,i.ctx.setTransform(s,0,0,s,0,0),!0):!1}const za=function(){let i=!1;try{const t={get passive(){return i=!0,!1}};Hi()&&(window.addEventListener("test",null,t),window.removeEventListener("test",null,t))}catch{}return i}();function as(i,t){const e=La(i,t),s=e&&e.match(/^(\d+)(\.\d+)?px$/);return s?+s[1]:void 0}function Tt(i,t,e,s){return{x:i.x+e*(t.x-i.x),y:i.y+e*(t.y-i.y)}}function Ba(i,t,e,s){return{x:i.x+e*(t.x-i.x),y:s==="middle"?e<.5?i.y:t.y:s==="after"?e<1?i.y:t.y:e>0?t.y:i.y}}function Ha(i,t,e,s){const n={x:i.cp2x,y:i.cp2y},o={x:t.cp1x,y:t.cp1y},a=Tt(i,n,e),r=Tt(n,o,e),l=Tt(o,t,e),c=Tt(a,r,e),h=Tt(r,l,e);return Tt(c,h,e)}const Wa=function(i,t){return{x(e){return i+i+t-e},setWidth(e){t=e},textAlign(e){return e==="center"?e:e==="right"?"left":"right"},xPlus(e,s){return e-s},leftForLtr(e,s){return e-s}}},Va=function(){return{x(i){return i},setWidth(i){},textAlign(i){return i},xPlus(i,t){return i+t},leftForLtr(i,t){return i}}};function $t(i,t,e){return i?Wa(t,e):Va()}function Pn(i,t){let e,s;(t==="ltr"||t==="rtl")&&(e=i.canvas.style,s=[e.getPropertyValue("direction"),e.getPropertyPriority("direction")],e.setProperty("direction",t,"important"),i.prevTextDirection=s)}function Cn(i,t){t!==void 0&&(delete i.prevTextDirection,i.canvas.style.setProperty("direction",t[0],t[1]))}function Dn(i){return i==="angle"?{between:hn,compare:No,normalize:et}:{between:Lt,compare:(t,e)=>t-e,normalize:t=>t}}function rs({start:i,end:t,count:e,loop:s,style:n}){return{start:i%e,end:t%e,loop:s&&(t-i+1)%e===0,style:n}}function Na(i,t,e){const{property:s,start:n,end:o}=e,{between:a,normalize:r}=Dn(s),l=t.length;let{start:c,end:h,loop:d}=i,f,u;if(d){for(c+=l,h+=l,f=0,u=l;fl(n,v,b)&&r(n,v)!==0,_=()=>r(o,b)===0||l(o,v,b),M=()=>g||y(),k=()=>!g||_();for(let w=h,P=h;w<=d;++w)x=t[w%a],!x.skip&&(b=c(x[s]),b!==v&&(g=l(b,n,o),m===null&&M()&&(m=r(b,n)===0?w:P),m!==null&&k()&&(p.push(rs({start:m,end:w,loop:f,count:a,style:u})),m=null),P=w,v=b));return m!==null&&p.push(rs({start:m,end:d,loop:f,count:a,style:u})),p}function $a(i,t){const e=[],s=i.segments;for(let n=0;nn&&i[o%t].skip;)o--;return o%=t,{start:n,end:o}}function Ua(i,t,e,s){const n=i.length,o=[];let a=t,r=i[t],l;for(l=t+1;l<=e;++l){const c=i[l%n];c.skip||c.stop?r.skip||(s=!1,o.push({start:t%n,end:(l-1)%n,loop:s}),t=a=c.stop?l:null):(a=l,r.skip&&(t=l)),r=c}return a!==null&&o.push({start:t%n,end:a%n,loop:s}),o}function Xa(i,t){const e=i.points,s=i.options.spanGaps,n=e.length;if(!n)return[];const o=!!i._loop,{start:a,end:r}=Ya(e,n,o,s);if(s===!0)return ls(i,[{start:a,end:r,loop:o}],e,t);const l=rr({chart:t,initial:e.initial,numSteps:a,currentStep:Math.min(s-e.start,a)}))}_refresh(){this._request||(this._running=!0,this._request=un.call(window,()=>{this._update(),this._request=null,this._running&&this._refresh()}))}_update(t=Date.now()){let e=0;this._charts.forEach((s,n)=>{if(!s.running||!s.items.length)return;const o=s.items;let a=o.length-1,r=!1,l;for(;a>=0;--a)l=o[a],l._active?(l._total>s.duration&&(s.duration=l._total),l.tick(t),r=!0):(o[a]=o[o.length-1],o.pop());r&&(n.draw(),this._notify(n,s,t,"progress")),o.length||(s.running=!1,this._notify(n,s,t,"complete"),s.initial=!1),e+=o.length}),this._lastDate=t,e===0&&(this._running=!1)}_getAnims(t){const e=this._charts;let s=e.get(t);return s||(s={running:!1,initial:!0,items:[],listeners:{complete:[],progress:[]}},e.set(t,s)),s}listen(t,e,s){this._getAnims(t).listeners[e].push(s)}add(t,e){!e||!e.length||this._getAnims(t).items.push(...e)}has(t){return this._getAnims(t).items.length>0}start(t){const e=this._charts.get(t);e&&(e.running=!0,e.start=Date.now(),e.duration=e.items.reduce((s,n)=>Math.max(s,n._duration),0),this._refresh())}running(t){if(!this._running)return!1;const e=this._charts.get(t);return!(!e||!e.running||!e.items.length)}stop(t){const e=this._charts.get(t);if(!e||!e.items.length)return;const s=e.items;let n=s.length-1;for(;n>=0;--n)s[n].cancel();e.items=[],this._notify(t,e,Date.now(),"complete")}remove(t){return this._charts.delete(t)}}var ct=new Ga;const hs="transparent",Za={boolean(i,t,e){return e>.5?t:i},color(i,t,e){const s=ts(i||hs),n=s.valid&&ts(t||hs);return n&&n.valid?n.mix(s,e).hexString():t},number(i,t,e){return i+(t-i)*e}};class Qa{constructor(t,e,s,n){const o=e[s];n=Pe([t.to,n,o,t.from]);const a=Pe([t.from,o,n]);this._active=!0,this._fn=t.fn||Za[t.type||typeof a],this._easing=ce[t.easing]||ce.linear,this._start=Math.floor(Date.now()+(t.delay||0)),this._duration=this._total=Math.floor(t.duration),this._loop=!!t.loop,this._target=e,this._prop=s,this._from=a,this._to=n,this._promises=void 0}active(){return this._active}update(t,e,s){if(this._active){this._notify(!1);const n=this._target[this._prop],o=s-this._start,a=this._duration-o;this._start=s,this._duration=Math.floor(Math.max(a,t.duration)),this._total+=o,this._loop=!!t.loop,this._to=Pe([t.to,e,n,t.from]),this._from=Pe([t.from,n,e])}}cancel(){this._active&&(this.tick(Date.now()),this._active=!1,this._notify(!1))}tick(t){const e=t-this._start,s=this._duration,n=this._prop,o=this._from,a=this._loop,r=this._to;let l;if(this._active=o!==r&&(a||e1?2-l:l,l=this._easing(Math.min(1,Math.max(0,l))),this._target[n]=this._fn(o,r,l)}wait(){const t=this._promises||(this._promises=[]);return new Promise((e,s)=>{t.push({res:e,rej:s})})}_notify(t){const e=t?"res":"rej",s=this._promises||[];for(let n=0;n{const o=t[n];if(!T(o))return;const a={};for(const r of e)a[r]=o[r];(E(o.properties)&&o.properties||[n]).forEach(r=>{(r===n||!s.has(r))&&s.set(r,a)})})}_animateOptions(t,e){const s=e.options,n=tr(t,s);if(!n)return[];const o=this._createAnimations(n,s);return s.$shared&&Ja(t.options.$animations,s).then(()=>{t.options=s},()=>{}),o}_createAnimations(t,e){const s=this._properties,n=[],o=t.$animations||(t.$animations={}),a=Object.keys(e),r=Date.now();let l;for(l=a.length-1;l>=0;--l){const c=a[l];if(c.charAt(0)==="$")continue;if(c==="options"){n.push(...this._animateOptions(t,e));continue}const h=e[c];let d=o[c];const f=s.get(c);if(d)if(f&&d.active()){d.update(f,h,r);continue}else d.cancel();if(!f||!f.duration){t[c]=h;continue}o[c]=d=new Qa(f,t,c,h),n.push(d)}return n}update(t,e){if(this._properties.size===0){Object.assign(t,e);return}const s=this._createAnimations(t,e);if(s.length)return ct.add(this._chart,s),!0}}function Ja(i,t){const e=[],s=Object.keys(t);for(let n=0;n0||!e&&o<0)return n.index}return null}function ps(i,t){const{chart:e,_cachedMeta:s}=i,n=e._stacks||(e._stacks={}),{iScale:o,vScale:a,index:r}=s,l=o.axis,c=a.axis,h=nr(o,a,s),d=t.length;let f;for(let u=0;ue[s].axis===t).shift()}function rr(i,t){return yt(i,{active:!1,dataset:void 0,datasetIndex:t,index:t,mode:"default",type:"dataset"})}function lr(i,t,e){return yt(i,{active:!1,dataIndex:t,parsed:void 0,raw:void 0,element:e,index:t,mode:"default",type:"data"})}function Qt(i,t){const e=i.controller.index,s=i.vScale&&i.vScale.axis;if(s){t=t||i._parsed;for(const n of t){const o=n._stacks;if(!o||o[s]===void 0||o[s][e]===void 0)return;delete o[s][e],o[s]._visualValues!==void 0&&o[s]._visualValues[e]!==void 0&&delete o[s]._visualValues[e]}}}const ai=i=>i==="reset"||i==="none",ms=(i,t)=>t?i:Object.assign({},i),cr=(i,t,e)=>i&&!t.hidden&&t._stacked&&{keys:Tn(e,!0),values:null};class Rt{constructor(t,e){this.chart=t,this._ctx=t.ctx,this.index=e,this._cachedDataOpts={},this._cachedMeta=this.getMeta(),this._type=this._cachedMeta.type,this.options=void 0,this._parsing=!1,this._data=void 0,this._objectData=void 0,this._sharedOptions=void 0,this._drawStart=void 0,this._drawCount=void 0,this.enableOptionSharing=!1,this.supportsDecimation=!1,this.$context=void 0,this._syncList=[],this.datasetElementType=new.target.datasetElementType,this.dataElementType=new.target.dataElementType,this.initialize()}initialize(){const t=this._cachedMeta;this.configure(),this.linkScales(),t._stacked=us(t.vScale,t),this.addElements(),this.options.fill&&!this.chart.isPluginEnabled("filler")&&console.warn("Tried to use the 'fill' option without the 'Filler' plugin enabled. Please import and register the 'Filler' plugin and make sure it is not disabled in the options")}updateIndex(t){this.index!==t&&Qt(this._cachedMeta),this.index=t}linkScales(){const t=this.chart,e=this._cachedMeta,s=this.getDataset(),n=(d,f,u,p)=>d==="x"?f:d==="r"?p:u,o=e.xAxisID=D(s.xAxisID,oi(t,"x")),a=e.yAxisID=D(s.yAxisID,oi(t,"y")),r=e.rAxisID=D(s.rAxisID,oi(t,"r")),l=e.indexAxis,c=e.iAxisID=n(l,o,a,r),h=e.vAxisID=n(l,a,o,r);e.xScale=this.getScaleForId(o),e.yScale=this.getScaleForId(a),e.rScale=this.getScaleForId(r),e.iScale=this.getScaleForId(c),e.vScale=this.getScaleForId(h)}getDataset(){return this.chart.data.datasets[this.index]}getMeta(){return this.chart.getDatasetMeta(this.index)}getScaleForId(t){return this.chart.scales[t]}_getOtherScale(t){const e=this._cachedMeta;return t===e.iScale?e.vScale:e.iScale}reset(){this._update("reset")}_destroy(){const t=this._cachedMeta;this._data&&Zi(this._data,this),t._stacked&&Qt(t)}_dataCheck(){const t=this.getDataset(),e=t.data||(t.data=[]),s=this._data;if(T(e)){const n=this._cachedMeta;this._data=sr(e,n)}else if(s!==e){if(s){Zi(s,this);const n=this._cachedMeta;Qt(n),n._parsed=[]}e&&Object.isExtensible(e)&&Uo(e,this),this._syncList=[],this._data=e}}addElements(){const t=this._cachedMeta;this._dataCheck(),this.datasetElementType&&(t.dataset=new this.datasetElementType)}buildOrUpdateElements(t){const e=this._cachedMeta,s=this.getDataset();let n=!1;this._dataCheck();const o=e._stacked;e._stacked=us(e.vScale,e),e.stack!==s.stack&&(n=!0,Qt(e),e.stack=s.stack),this._resyncElements(t),(n||o!==e._stacked)&&ps(this,e._parsed)}configure(){const t=this.chart.config,e=t.datasetScopeKeys(this._type),s=t.getOptionScopes(this.getDataset(),e,!0);this.options=t.createResolver(s,this.getContext()),this._parsing=this.options.parsing,this._cachedDataOpts={}}parse(t,e){const{_cachedMeta:s,_data:n}=this,{iScale:o,_stacked:a}=s,r=o.axis;let l=t===0&&e===n.length?!0:s._sorted,c=t>0&&s._parsed[t-1],h,d,f;if(this._parsing===!1)s._parsed=n,s._sorted=!0,f=n;else{E(n[t])?f=this.parseArrayData(s,n,t,e):T(n[t])?f=this.parseObjectData(s,n,t,e):f=this.parsePrimitiveData(s,n,t,e);const u=()=>d[r]===null||c&&d[r]g||d=0;--f)if(!p()){this.updateRangeFromParsed(c,t,u,l);break}}return c}getAllParsedValues(t){const e=this._cachedMeta._parsed,s=[];let n,o,a;for(n=0,o=e.length;n=0&&tthis.getContext(s,n,e),g=c.resolveNamedOptions(f,u,p,d);return g.$shared&&(g.$shared=l,o[a]=Object.freeze(ms(g,l))),g}_resolveAnimations(t,e,s){const n=this.chart,o=this._cachedDataOpts,a=`animation-${e}`,r=o[a];if(r)return r;let l;if(n.options.animation!==!1){const h=this.chart.config,d=h.datasetAnimationScopeKeys(this._type,e),f=h.getOptionScopes(this.getDataset(),d);l=h.createResolver(f,this.getContext(t,s,e))}const c=new On(n,l&&l.animations);return l&&l._cacheable&&(o[a]=Object.freeze(c)),c}getSharedOptions(t){if(t.$shared)return this._sharedOptions||(this._sharedOptions=Object.assign({},t))}includeOptions(t,e){return!e||ai(t)||this.chart._animationsDisabled}_getSharedOptions(t,e){const s=this.resolveDataElementOptions(t,e),n=this._sharedOptions,o=this.getSharedOptions(s),a=this.includeOptions(e,o)||o!==n;return this.updateSharedOptions(o,e,s),{sharedOptions:o,includeOptions:a}}updateElement(t,e,s,n){ai(n)?Object.assign(t,s):this._resolveAnimations(e,n).update(t,s)}updateSharedOptions(t,e,s){t&&!ai(e)&&this._resolveAnimations(void 0,e).update(t,s)}_setStyle(t,e,s,n){t.active=n;const o=this.getStyle(e,n);this._resolveAnimations(e,s,n).update(t,{options:!n&&this.getSharedOptions(o)||o})}removeHoverStyle(t,e,s){this._setStyle(t,s,"active",!1)}setHoverStyle(t,e,s){this._setStyle(t,s,"active",!0)}_removeDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!1)}_setDatasetHoverStyle(){const t=this._cachedMeta.dataset;t&&this._setStyle(t,void 0,"active",!0)}_resyncElements(t){const e=this._data,s=this._cachedMeta.data;for(const[r,l,c]of this._syncList)this[r](l,c);this._syncList=[];const n=s.length,o=e.length,a=Math.min(o,n);a&&this.parse(0,a),o>n?this._insertElements(n,o-n,t):o{for(c.length+=e,r=c.length-1;r>=a;r--)c[r]=c[r-e]};for(l(o),r=t;rn-o))}return i._cache.$bar}function dr(i){const t=i.iScale,e=hr(t,i.type);let s=t._length,n,o,a,r;const l=()=>{a===32767||a===-32768||(ue(r)&&(s=Math.min(s,Math.abs(a-r)||s)),r=a)};for(n=0,o=e.length;n0?n[i-1]:null,r=iMath.abs(r)&&(l=r,c=a),t[e.axis]=c,t._custom={barStart:l,barEnd:c,start:n,end:o,min:a,max:r}}function Ln(i,t,e,s){return E(i)?gr(i,t,e,s):t[e.axis]=e.parse(i,s),t}function bs(i,t,e,s){const n=i.iScale,o=i.vScale,a=n.getLabels(),r=n===o,l=[];let c,h,d,f;for(c=e,h=e+s;c=e?1:-1)}function mr(i){let t,e,s,n,o;return i.horizontal?(t=i.base>i.x,e="left",s="right"):(t=i.basel.controller.options.grouped),o=s.options.stacked,a=[],r=l=>{const c=l.controller.getParsed(e),h=c&&c[l.vScale.axis];if(A(h)||isNaN(h))return!0};for(const l of n)if(!(e!==void 0&&r(l))&&((o===!1||a.indexOf(l.stack)===-1||o===void 0&&l.stack===void 0)&&a.push(l.stack),l.index===t))break;return a.length||a.push(void 0),a}_getStackCount(t){return this._getStacks(void 0,t).length}_getStackIndex(t,e,s){const n=this._getStacks(t,s),o=e!==void 0?n.indexOf(e):-1;return o===-1?n.length-1:o}_getRuler(){const t=this.options,e=this._cachedMeta,s=e.iScale,n=[];let o,a;for(o=0,a=e.data.length;o0&&this.getParsed(e-1);for(let _=0;_=x){k.skip=!0;continue}const w=this.getParsed(_),P=A(w[u]),O=k[f]=a.getPixelForValue(w[f],_),C=k[u]=o||P?r.getBasePixel():r.getPixelForValue(l?this.applyStack(r,w,l):w[u],_);k.skip=isNaN(O)||isNaN(C)||P,k.stop=_>0&&Math.abs(w[f]-y[f])>m,g&&(k.parsed=w,k.raw=c.data[_]),d&&(k.options=h||this.resolveDataElementOptions(_,M.active?"active":n)),b||this.updateElement(M,_,k,n),y=w}}getMaxOverflow(){const t=this._cachedMeta,e=t.dataset,s=e.options&&e.options.borderWidth||0,n=t.data||[];if(!n.length)return s;const o=n[0].size(this.resolveDataElementOptions(0)),a=n[n.length-1].size(this.resolveDataElementOptions(n.length-1));return Math.max(s,o,a)/2}draw(){const t=this._cachedMeta;t.dataset.updateControlPoints(this.chart.chartArea,t.iScale.axis),super.draw()}}S(Be,"id","line"),S(Be,"defaults",{datasetElementType:"line",dataElementType:"point",showLine:!0,spanGaps:!1}),S(Be,"overrides",{scales:{_index_:{type:"category"},_value_:{type:"linear"}}});class He extends Rt{getLabelAndValue(t){const e=this._cachedMeta,s=this.chart.data.labels||[],{xScale:n,yScale:o}=e,a=this.getParsed(t),r=n.getLabelForValue(a.x),l=o.getLabelForValue(a.y);return{label:s[t]||"",value:"("+r+", "+l+")"}}update(t){const e=this._cachedMeta,{data:s=[]}=e,n=this.chart._animationsDisabled;let{start:o,count:a}=pn(e,s,n);if(this._drawStart=o,this._drawCount=a,mn(e)&&(o=0,a=s.length),this.options.showLine){this.datasetElementType||this.addElements();const{dataset:r,_dataset:l}=e;r._chart=this.chart,r._datasetIndex=this.index,r._decimated=!!l._decimated,r.points=s;const c=this.resolveDatasetElementOptions(t);c.segment=this.options.segment,this.updateElement(r,void 0,{animated:!n,options:c},t)}else this.datasetElementType&&(delete e.dataset,this.datasetElementType=!1);this.updateElements(s,o,a,t)}addElements(){const{showLine:t}=this.options;!this.datasetElementType&&t&&(this.datasetElementType=this.chart.registry.getElement("line")),super.addElements()}updateElements(t,e,s,n){const o=n==="reset",{iScale:a,vScale:r,_stacked:l,_dataset:c}=this._cachedMeta,h=this.resolveDataElementOptions(e,n),d=this.getSharedOptions(h),f=this.includeOptions(n,d),u=a.axis,p=r.axis,{spanGaps:g,segment:m}=this.options,b=Ut(g)?g:Number.POSITIVE_INFINITY,x=this.chart._animationsDisabled||o||n==="none";let v=e>0&&this.getParsed(e-1);for(let y=e;y0&&Math.abs(M[u]-v[u])>b,m&&(k.parsed=M,k.raw=c.data[y]),f&&(k.options=d||this.resolveDataElementOptions(y,_.active?"active":n)),x||this.updateElement(_,y,k,n),v=M}this.updateSharedOptions(d,n,h)}getMaxOverflow(){const t=this._cachedMeta,e=t.data||[];if(!this.options.showLine){let r=0;for(let l=e.length-1;l>=0;--l)r=Math.max(r,e[l].size(this.resolveDataElementOptions(l))/2);return r>0&&r}const s=t.dataset,n=s.options&&s.options.borderWidth||0;if(!e.length)return n;const o=e[0].size(this.resolveDataElementOptions(0)),a=e[e.length-1].size(this.resolveDataElementOptions(e.length-1));return Math.max(n,o,a)/2}}S(He,"id","scatter"),S(He,"defaults",{datasetElementType:!1,dataElementType:"point",showLine:!1,fill:!1}),S(He,"overrides",{interaction:{mode:"point"},scales:{x:{type:"linear"},y:{type:"linear"}}});function Ct(){throw new Error("This method is not implemented: Check that a complete date adapter is provided.")}class Vi{constructor(t){S(this,"options");this.options=t||{}}static override(t){Object.assign(Vi.prototype,t)}init(){}formats(){return Ct()}parse(){return Ct()}format(){return Ct()}add(){return Ct()}diff(){return Ct()}startOf(){return Ct()}endOf(){return Ct()}}var yr={_date:Vi};function vr(i,t,e,s){const{controller:n,data:o,_sorted:a}=i,r=n._cachedMeta.iScale;if(r&&t===r.axis&&t!=="r"&&a&&o.length){const l=r._reversePixels?$o:At;if(s){if(n._sharedOptions){const c=o[0],h=typeof c.getRange=="function"&&c.getRange(t);if(h){const d=l(o,t,e-h),f=l(o,t,e+h);return{lo:d.lo,hi:f.hi}}}}else return l(o,t,e)}return{lo:0,hi:o.length-1}}function xe(i,t,e,s,n){const o=i.getSortedVisibleDatasetMetas(),a=e[t];for(let r=0,l=o.length;r{l[a](t[e],n)&&(o.push({element:l,datasetIndex:c,index:h}),r=r||l.inRange(t.x,t.y,n))}),s&&!r?[]:o}var Sr={evaluateInteractionItems:xe,modes:{index(i,t,e,s){const n=Ot(t,i),o=e.axis||"x",a=e.includeInvisible||!1,r=e.intersect?li(i,n,o,s,a):ci(i,n,o,!1,s,a),l=[];return r.length?(i.getSortedVisibleDatasetMetas().forEach(c=>{const h=r[0].index,d=c.data[h];d&&!d.skip&&l.push({element:d,datasetIndex:c.index,index:h})}),l):[]},dataset(i,t,e,s){const n=Ot(t,i),o=e.axis||"xy",a=e.includeInvisible||!1;let r=e.intersect?li(i,n,o,s,a):ci(i,n,o,!1,s,a);if(r.length>0){const l=r[0].datasetIndex,c=i.getDatasetMeta(l).data;r=[];for(let h=0;he.pos===t)}function vs(i,t){return i.filter(e=>An.indexOf(e.pos)===-1&&e.box.axis===t)}function te(i,t){return i.sort((e,s)=>{const n=t?s:e,o=t?e:s;return n.weight===o.weight?n.index-o.index:n.weight-o.weight})}function Pr(i){const t=[];let e,s,n,o,a,r;for(e=0,s=(i||[]).length;ec.box.fullSize),!0),s=te(Jt(t,"left"),!0),n=te(Jt(t,"right")),o=te(Jt(t,"top"),!0),a=te(Jt(t,"bottom")),r=vs(t,"x"),l=vs(t,"y");return{fullSize:e,leftAndTop:s.concat(o),rightAndBottom:n.concat(l).concat(a).concat(r),chartArea:Jt(t,"chartArea"),vertical:s.concat(n).concat(l),horizontal:o.concat(a).concat(r)}}function ks(i,t,e,s){return Math.max(i[e],t[e])+Math.max(i[s],t[s])}function Fn(i,t){i.top=Math.max(i.top,t.top),i.left=Math.max(i.left,t.left),i.bottom=Math.max(i.bottom,t.bottom),i.right=Math.max(i.right,t.right)}function Tr(i,t,e,s){const{pos:n,box:o}=e,a=i.maxPadding;if(!T(n)){e.size&&(i[n]-=e.size);const d=s[e.stack]||{size:0,count:1};d.size=Math.max(d.size,e.horizontal?o.height:o.width),e.size=d.size/d.count,i[n]+=e.size}o.getPadding&&Fn(a,o.getPadding());const r=Math.max(0,t.outerWidth-ks(a,i,"left","right")),l=Math.max(0,t.outerHeight-ks(a,i,"top","bottom")),c=r!==i.w,h=l!==i.h;return i.w=r,i.h=l,e.horizontal?{same:c,other:h}:{same:h,other:c}}function Lr(i){const t=i.maxPadding;function e(s){const n=Math.max(t[s]-i[s],0);return i[s]+=n,n}i.y+=e("top"),i.x+=e("left"),e("right"),e("bottom")}function Ar(i,t){const e=t.maxPadding;function s(n){const o={left:0,top:0,right:0,bottom:0};return n.forEach(a=>{o[a]=Math.max(t[a],e[a])}),o}return s(i?["left","right"]:["top","bottom"])}function ne(i,t,e,s){const n=[];let o,a,r,l,c,h;for(o=0,a=i.length,c=0;o{typeof g.beforeLayout=="function"&&g.beforeLayout()});const h=l.reduce((g,m)=>m.box.options&&m.box.options.display===!1?g:g+1,0)||1,d=Object.freeze({outerWidth:t,outerHeight:e,padding:n,availableWidth:o,availableHeight:a,vBoxMaxWidth:o/2/h,hBoxMaxHeight:a/2}),f=Object.assign({},n);Fn(f,$(s));const u=Object.assign({maxPadding:f,w:o,h:a,x:n.left,y:n.top},n),p=Dr(l.concat(c),d);ne(r.fullSize,u,d,p),ne(l,u,d,p),ne(c,u,d,p)&&ne(l,u,d,p),Lr(u),ws(r.leftAndTop,u,d,p),u.x+=u.w,u.y+=u.h,ws(r.rightAndBottom,u,d,p),i.chartArea={left:u.left,top:u.top,right:u.left+u.w,bottom:u.top+u.h,height:u.h,width:u.w},F(r.chartArea,g=>{const m=g.box;Object.assign(m,i.chartArea),m.update(u.w,u.h,{left:0,top:0,right:0,bottom:0})})}};class In{acquireContext(t,e){}releaseContext(t){return!1}addEventListener(t,e,s){}removeEventListener(t,e,s){}getDevicePixelRatio(){return 1}getMaximumSize(t,e,s,n){return e=Math.max(0,e||t.width),s=s||t.height,{width:e,height:Math.max(0,n?Math.floor(e/n):s)}}isAttached(t){return!0}updateConfig(t){}}class Fr extends In{acquireContext(t){return t&&t.getContext&&t.getContext("2d")||null}updateConfig(t){t.options.animation=!1}}const We="$chartjs",Ir={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"},Ms=i=>i===null||i==="";function Rr(i,t){const e=i.style,s=i.getAttribute("height"),n=i.getAttribute("width");if(i[We]={initial:{height:s,width:n,style:{display:e.display,height:e.height,width:e.width}}},e.display=e.display||"block",e.boxSizing=e.boxSizing||"border-box",Ms(n)){const o=as(i,"width");o!==void 0&&(i.width=o)}if(Ms(s))if(i.style.height==="")i.height=i.width/(t||2);else{const o=as(i,"height");o!==void 0&&(i.height=o)}return i}const Rn=za?{passive:!0}:!1;function Er(i,t,e){i&&i.addEventListener(t,e,Rn)}function zr(i,t,e){i&&i.canvas&&i.canvas.removeEventListener(t,e,Rn)}function Br(i,t){const e=Ir[i.type]||i.type,{x:s,y:n}=Ot(i,t);return{type:e,chart:t,native:i,x:s!==void 0?s:null,y:n!==void 0?n:null}}function qe(i,t){for(const e of i)if(e===t||e.contains(t))return!0}function Hr(i,t,e){const s=i.canvas,n=new MutationObserver(o=>{let a=!1;for(const r of o)a=a||qe(r.addedNodes,s),a=a&&!qe(r.removedNodes,s);a&&e()});return n.observe(document,{childList:!0,subtree:!0}),n}function Wr(i,t,e){const s=i.canvas,n=new MutationObserver(o=>{let a=!1;for(const r of o)a=a||qe(r.removedNodes,s),a=a&&!qe(r.addedNodes,s);a&&e()});return n.observe(document,{childList:!0,subtree:!0}),n}const pe=new Map;let Ss=0;function En(){const i=window.devicePixelRatio;i!==Ss&&(Ss=i,pe.forEach((t,e)=>{e.currentDevicePixelRatio!==i&&t()}))}function Vr(i,t){pe.size||window.addEventListener("resize",En),pe.set(i,t)}function Nr(i){pe.delete(i),pe.size||window.removeEventListener("resize",En)}function jr(i,t,e){const s=i.canvas,n=s&&Wi(s);if(!n)return;const o=gn((r,l)=>{const c=n.clientWidth;e(r,l),c{const l=r[0],c=l.contentRect.width,h=l.contentRect.height;c===0&&h===0||o(c,h)});return a.observe(n),Vr(i,o),a}function hi(i,t,e){e&&e.disconnect(),t==="resize"&&Nr(i)}function $r(i,t,e){const s=i.canvas,n=gn(o=>{i.ctx!==null&&e(Br(o,i))},i);return Er(s,t,n),n}class Yr extends In{acquireContext(t,e){const s=t&&t.getContext&&t.getContext("2d");return s&&s.canvas===t?(Rr(t,e),s):null}releaseContext(t){const e=t.canvas;if(!e[We])return!1;const s=e[We].initial;["height","width"].forEach(o=>{const a=s[o];A(a)?e.removeAttribute(o):e.setAttribute(o,a)});const n=s.style||{};return Object.keys(n).forEach(o=>{e.style[o]=n[o]}),e.width=e.width,delete e[We],!0}addEventListener(t,e,s){this.removeEventListener(t,e);const n=t.$proxies||(t.$proxies={}),a={attach:Hr,detach:Wr,resize:jr}[e]||$r;n[e]=a(t,e,s)}removeEventListener(t,e){const s=t.$proxies||(t.$proxies={}),n=s[e];if(!n)return;({attach:hi,detach:hi,resize:hi}[e]||zr)(t,e,n),s[e]=void 0}getDevicePixelRatio(){return window.devicePixelRatio}getMaximumSize(t,e,s,n){return Ea(t,e,s,n)}isAttached(t){const e=t&&Wi(t);return!!(e&&e.isConnected)}}function Ur(i){return!Hi()||typeof OffscreenCanvas<"u"&&i instanceof OffscreenCanvas?Fr:Yr}class rt{constructor(){S(this,"x");S(this,"y");S(this,"active",!1);S(this,"options");S(this,"$animations")}tooltipPosition(t){const{x:e,y:s}=this.getProps(["x","y"],t);return{x:e,y:s}}hasValue(){return Ut(this.x)&&Ut(this.y)}getProps(t,e){const s=this.$animations;if(!e||!s)return this;const n={};return t.forEach(o=>{n[o]=s[o]&&s[o].active()?s[o]._to:this[o]}),n}}S(rt,"defaults",{}),S(rt,"defaultRoutes");function Xr(i,t){const e=i.options.ticks,s=Kr(i),n=Math.min(e.maxTicksLimit||s,s),o=e.major.enabled?Gr(t):[],a=o.length,r=o[0],l=o[a-1],c=[];if(a>n)return Zr(t,c,o,a/n),c;const h=qr(o,t,n);if(a>0){let d,f;const u=a>1?Math.round((l-r)/(a-1)):null;for(Te(t,c,h,A(u)?0:r-u,r),d=0,f=a-1;dn)return l}return Math.max(n,1)}function Gr(i){const t=[];let e,s;for(e=0,s=i.length;ei==="left"?"right":i==="right"?"left":i,Ps=(i,t,e)=>t==="top"||t==="left"?i[t]+e:i[t]-e,Cs=(i,t)=>Math.min(t||i,i);function Ds(i,t){const e=[],s=i.length/t,n=i.length;let o=0;for(;oa+r)))return l}function el(i,t){F(i,e=>{const s=e.gc,n=s.length/2;let o;if(n>t){for(o=0;os?s:e,s=n&&e>s?e:s,{min:K(e,K(s,e)),max:K(s,K(e,s))}}getPadding(){return{left:this.paddingLeft||0,top:this.paddingTop||0,right:this.paddingRight||0,bottom:this.paddingBottom||0}}getTicks(){return this.ticks}getLabels(){const t=this.chart.data;return this.options.labels||(this.isHorizontal()?t.xLabels:t.yLabels)||t.labels||[]}getLabelItems(t=this.chart.chartArea){return this._labelItems||(this._labelItems=this._computeLabelItems(t))}beforeLayout(){this._cache={},this._dataLimitsCached=!1}beforeUpdate(){R(this.options.beforeUpdate,[this])}update(t,e,s){const{beginAtZero:n,grace:o,ticks:a}=this.options,r=a.sampleSize;this.beforeUpdate(),this.maxWidth=t,this.maxHeight=e,this._margins=s=Object.assign({left:0,right:0,top:0,bottom:0},s),this.ticks=null,this._labelSizes=null,this._gridLineItems=null,this._labelItems=null,this.beforeSetDimensions(),this.setDimensions(),this.afterSetDimensions(),this._maxLength=this.isHorizontal()?this.width+s.left+s.right:this.height+s.top+s.bottom,this._dataLimitsCached||(this.beforeDataLimits(),this.determineDataLimits(),this.afterDataLimits(),this._range=ga(this,o,n),this._dataLimitsCached=!0),this.beforeBuildTicks(),this.ticks=this.buildTicks()||[],this.afterBuildTicks();const l=r=o||s<=1||!this.isHorizontal()){this.labelRotation=n;return}const h=this._getLabelSizes(),d=h.widest.width,f=h.highest.height,u=G(this.chart.width-d,0,this.maxWidth);r=t.offset?this.maxWidth/s:u/(s-1),d+6>r&&(r=u/(s-(t.offset?.5:1)),l=this.maxHeight-ee(t.grid)-e.padding-Os(t.title,this.chart.options.font),c=Math.sqrt(d*d+f*f),a=Oi(Math.min(Math.asin(G((h.highest.height+6)/r,-1,1)),Math.asin(G(l/c,-1,1))-Math.asin(G(f/c,-1,1)))),a=Math.max(n,Math.min(o,a))),this.labelRotation=a}afterCalculateLabelRotation(){R(this.options.afterCalculateLabelRotation,[this])}afterAutoSkip(){}beforeFit(){R(this.options.beforeFit,[this])}fit(){const t={width:0,height:0},{chart:e,options:{ticks:s,title:n,grid:o}}=this,a=this._isVisible(),r=this.isHorizontal();if(a){const l=Os(n,e.options.font);if(r?(t.width=this.maxWidth,t.height=ee(o)+l):(t.height=this.maxHeight,t.width=ee(o)+l),s.display&&this.ticks.length){const{first:c,last:h,widest:d,highest:f}=this._getLabelSizes(),u=s.padding*2,p=mt(this.labelRotation),g=Math.cos(p),m=Math.sin(p);if(r){const b=s.mirror?0:m*d.width+g*f.height;t.height=Math.min(this.maxHeight,t.height+b+u)}else{const b=s.mirror?0:g*d.width+m*f.height;t.width=Math.min(this.maxWidth,t.width+b+u)}this._calculatePadding(c,h,m,g)}}this._handleMargins(),r?(this.width=this._length=e.width-this._margins.left-this._margins.right,this.height=t.height):(this.width=t.width,this.height=this._length=e.height-this._margins.top-this._margins.bottom)}_calculatePadding(t,e,s,n){const{ticks:{align:o,padding:a},position:r}=this.options,l=this.labelRotation!==0,c=r!=="top"&&this.axis==="x";if(this.isHorizontal()){const h=this.getPixelForTick(0)-this.left,d=this.right-this.getPixelForTick(this.ticks.length-1);let f=0,u=0;l?c?(f=n*t.width,u=s*e.height):(f=s*t.height,u=n*e.width):o==="start"?u=e.width:o==="end"?f=t.width:o!=="inner"&&(f=t.width/2,u=e.width/2),this.paddingLeft=Math.max((f-h+a)*this.width/(this.width-h),0),this.paddingRight=Math.max((u-d+a)*this.width/(this.width-d),0)}else{let h=e.height/2,d=t.height/2;o==="start"?(h=0,d=t.height):o==="end"&&(h=e.height,d=0),this.paddingTop=h+a,this.paddingBottom=d+a}}_handleMargins(){this._margins&&(this._margins.left=Math.max(this.paddingLeft,this._margins.left),this._margins.top=Math.max(this.paddingTop,this._margins.top),this._margins.right=Math.max(this.paddingRight,this._margins.right),this._margins.bottom=Math.max(this.paddingBottom,this._margins.bottom))}afterFit(){R(this.options.afterFit,[this])}isHorizontal(){const{axis:t,position:e}=this.options;return e==="top"||e==="bottom"||t==="x"}isFullSize(){return this.options.fullSize}_convertTicksToLabels(t){this.beforeTickToLabelConversion(),this.generateTickLabels(t);let e,s;for(e=0,s=t.length;e({width:a[P]||0,height:r[P]||0});return{first:w(0),last:w(e-1),widest:w(M),highest:w(k),widths:a,heights:r}}getLabelForValue(t){return t}getPixelForValue(t,e){return NaN}getValueForPixel(t){}getPixelForTick(t){const e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t].value)}getPixelForDecimal(t){this._reversePixels&&(t=1-t);const e=this._startPixel+t*this._length;return jo(this._alignToPixels?Pt(this.chart,e,0):e)}getDecimalForPixel(t){const e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e}getBasePixel(){return this.getPixelForValue(this.getBaseValue())}getBaseValue(){const{min:t,max:e}=this;return t<0&&e<0?e:t>0&&e>0?t:0}getContext(t){const e=this.ticks||[];if(t>=0&&tr*n?r/s:l/n:l*n0}_computeGridLineItems(t){const e=this.axis,s=this.chart,n=this.options,{grid:o,position:a,border:r}=n,l=o.offset,c=this.isHorizontal(),d=this.ticks.length+(l?1:0),f=ee(o),u=[],p=r.setContext(this.getContext()),g=p.display?p.width:0,m=g/2,b=function(N){return Pt(s,N,g)};let x,v,y,_,M,k,w,P,O,C,L,Y;if(a==="top")x=b(this.bottom),k=this.bottom-f,P=x-m,C=b(t.top)+m,Y=t.bottom;else if(a==="bottom")x=b(this.top),C=t.top,Y=b(t.bottom)-m,k=x+m,P=this.top+f;else if(a==="left")x=b(this.right),M=this.right-f,w=x-m,O=b(t.left)+m,L=t.right;else if(a==="right")x=b(this.left),O=t.left,L=b(t.right)-m,M=x+m,w=this.left+f;else if(e==="x"){if(a==="center")x=b((t.top+t.bottom)/2+.5);else if(T(a)){const N=Object.keys(a)[0],Z=a[N];x=b(this.chart.scales[N].getPixelForValue(Z))}C=t.top,Y=t.bottom,k=x+m,P=k+f}else if(e==="y"){if(a==="center")x=b((t.left+t.right)/2);else if(T(a)){const N=Object.keys(a)[0],Z=a[N];x=b(this.chart.scales[N].getPixelForValue(Z))}M=x-m,w=M-f,O=t.left,L=t.right}const st=D(n.ticks.maxTicksLimit,d),B=Math.max(1,Math.ceil(d/st));for(v=0;v0&&(kt-=vt/2);break}ve={left:kt,top:Gt,width:vt+Wt.width,height:qt+Wt.height,color:B.backdropColor}}m.push({label:y,font:P,textOffset:L,options:{rotation:g,color:Z,strokeColor:_e,strokeWidth:ye,textAlign:Ht,textBaseline:Y,translation:[_,M],backdrop:ve}})}return m}_getXAxisLabelAlignment(){const{position:t,ticks:e}=this.options;if(-mt(this.labelRotation))return t==="top"?"left":"right";let n="center";return e.align==="start"?n="left":e.align==="end"?n="right":e.align==="inner"&&(n="inner"),n}_getYAxisLabelAlignment(t){const{position:e,ticks:{crossAlign:s,mirror:n,padding:o}}=this.options,a=this._getLabelSizes(),r=t+o,l=a.widest.width;let c,h;return e==="left"?n?(h=this.right+o,s==="near"?c="left":s==="center"?(c="center",h+=l/2):(c="right",h+=l)):(h=this.right-r,s==="near"?c="right":s==="center"?(c="center",h-=l/2):(c="left",h=this.left)):e==="right"?n?(h=this.left+o,s==="near"?c="right":s==="center"?(c="center",h-=l/2):(c="left",h-=l)):(h=this.left+r,s==="near"?c="left":s==="center"?(c="center",h+=l/2):(c="right",h=this.right)):c="right",{textAlign:c,x:h}}_computeLabelArea(){if(this.options.ticks.mirror)return;const t=this.chart,e=this.options.position;if(e==="left"||e==="right")return{top:0,left:this.left,bottom:t.height,right:this.right};if(e==="top"||e==="bottom")return{top:this.top,left:0,bottom:this.bottom,right:t.width}}drawBackground(){const{ctx:t,options:{backgroundColor:e},left:s,top:n,width:o,height:a}=this;e&&(t.save(),t.fillStyle=e,t.fillRect(s,n,o,a),t.restore())}getLineWidthForValue(t){const e=this.options.grid;if(!this._isVisible()||!e.display)return 0;const n=this.ticks.findIndex(o=>o.value===t);return n>=0?e.setContext(this.getContext(n)).lineWidth:0}drawGrid(t){const e=this.options.grid,s=this.ctx,n=this._gridLineItems||(this._gridLineItems=this._computeGridLineItems(t));let o,a;const r=(l,c,h)=>{!h.width||!h.color||(s.save(),s.lineWidth=h.width,s.strokeStyle=h.color,s.setLineDash(h.borderDash||[]),s.lineDashOffset=h.borderDashOffset,s.beginPath(),s.moveTo(l.x,l.y),s.lineTo(c.x,c.y),s.stroke(),s.restore())};if(e.display)for(o=0,a=n.length;o{this.draw(o)}}]:[{z:s,draw:o=>{this.drawBackground(),this.drawGrid(o),this.drawTitle()}},{z:n,draw:()=>{this.drawBorder()}},{z:e,draw:o=>{this.drawLabels(o)}}]}getMatchingVisibleMetas(t){const e=this.chart.getSortedVisibleDatasetMetas(),s=this.axis+"AxisID",n=[];let o,a;for(o=0,a=e.length;o{const s=e.split("."),n=s.pop(),o=[i].concat(s).join("."),a=t[e].split("."),r=a.pop(),l=a.join(".");z.route(o,n,l,r)})}function ll(i){return"id"in i&&"defaults"in i}class cl{constructor(){this.controllers=new Le(Rt,"datasets",!0),this.elements=new Le(rt,"elements"),this.plugins=new Le(Object,"plugins"),this.scales=new Le(Bt,"scales"),this._typedRegistries=[this.controllers,this.scales,this.elements]}add(...t){this._each("register",t)}remove(...t){this._each("unregister",t)}addControllers(...t){this._each("register",t,this.controllers)}addElements(...t){this._each("register",t,this.elements)}addPlugins(...t){this._each("register",t,this.plugins)}addScales(...t){this._each("register",t,this.scales)}getController(t){return this._get(t,this.controllers,"controller")}getElement(t){return this._get(t,this.elements,"element")}getPlugin(t){return this._get(t,this.plugins,"plugin")}getScale(t){return this._get(t,this.scales,"scale")}removeControllers(...t){this._each("unregister",t,this.controllers)}removeElements(...t){this._each("unregister",t,this.elements)}removePlugins(...t){this._each("unregister",t,this.plugins)}removeScales(...t){this._each("unregister",t,this.scales)}_each(t,e,s){[...e].forEach(n=>{const o=s||this._getRegistryForType(n);s||o.isForType(n)||o===this.plugins&&n.id?this._exec(t,o,n):F(n,a=>{const r=s||this._getRegistryForType(a);this._exec(t,r,a)})})}_exec(t,e,s){const n=Di(t);R(s["before"+n],[],s),e[t](s),R(s["after"+n],[],s)}_getRegistryForType(t){for(let e=0;eo.filter(r=>!a.some(l=>r.plugin.id===l.plugin.id));this._notify(n(e,s),t,"stop"),this._notify(n(s,e),t,"start")}}function dl(i){const t={},e=[],s=Object.keys(ot.plugins.items);for(let o=0;o1&&Ts(i[0].toLowerCase());if(s)return s}throw new Error(`Cannot determine type of '${i}' axis. Please provide 'axis' or 'position' option.`)}function Ls(i,t,e){if(e[t+"AxisID"]===i)return{axis:t}}function xl(i,t){if(t.data&&t.data.datasets){const e=t.data.datasets.filter(s=>s.xAxisID===i||s.yAxisID===i);if(e.length)return Ls(i,"x",e[0])||Ls(i,"y",e[0])}return{}}function _l(i,t){const e=Et[i.type]||{scales:{}},s=t.scales||{},n=bi(i.type,t),o=Object.create(null);return Object.keys(s).forEach(a=>{const r=s[a];if(!T(r))return console.error(`Invalid scale configuration for scale: ${a}`);if(r._proxy)return console.warn(`Ignoring resolver passed as options for scale: ${a}`);const l=xi(a,r,xl(a,i),z.scales[r.type]),c=ml(l,n),h=e.scales||{};o[a]=re(Object.create(null),[{axis:l},r,h[l],h[c]])}),i.data.datasets.forEach(a=>{const r=a.type||i.type,l=a.indexAxis||bi(r,t),h=(Et[r]||{}).scales||{};Object.keys(h).forEach(d=>{const f=pl(d,l),u=a[f+"AxisID"]||f;o[u]=o[u]||Object.create(null),re(o[u],[{axis:f},s[u],h[d]])})}),Object.keys(o).forEach(a=>{const r=o[a];re(r,[z.scales[r.type],z.scale])}),o}function zn(i){const t=i.options||(i.options={});t.plugins=D(t.plugins,{}),t.scales=_l(i,t)}function Bn(i){return i=i||{},i.datasets=i.datasets||[],i.labels=i.labels||[],i}function yl(i){return i=i||{},i.data=Bn(i.data),zn(i),i}const As=new Map,Hn=new Set;function Ae(i,t){let e=As.get(i);return e||(e=t(),As.set(i,e),Hn.add(e)),e}const ie=(i,t,e)=>{const s=Yt(t,e);s!==void 0&&i.add(s)};class vl{constructor(t){this._config=yl(t),this._scopeCache=new Map,this._resolverCache=new Map}get platform(){return this._config.platform}get type(){return this._config.type}set type(t){this._config.type=t}get data(){return this._config.data}set data(t){this._config.data=Bn(t)}get options(){return this._config.options}set options(t){this._config.options=t}get plugins(){return this._config.plugins}update(){const t=this._config;this.clearCache(),zn(t)}clearCache(){this._scopeCache.clear(),this._resolverCache.clear()}datasetScopeKeys(t){return Ae(t,()=>[[`datasets.${t}`,""]])}datasetAnimationScopeKeys(t,e){return Ae(`${t}.transition.${e}`,()=>[[`datasets.${t}.transitions.${e}`,`transitions.${e}`],[`datasets.${t}`,""]])}datasetElementScopeKeys(t,e){return Ae(`${t}-${e}`,()=>[[`datasets.${t}.elements.${e}`,`datasets.${t}`,`elements.${e}`,""]])}pluginScopeKeys(t){const e=t.id,s=this.type;return Ae(`${s}-plugin-${e}`,()=>[[`plugins.${e}`,...t.additionalOptionScopes||[]]])}_cachedScopes(t,e){const s=this._scopeCache;let n=s.get(t);return(!n||e)&&(n=new Map,s.set(t,n)),n}getOptionScopes(t,e,s){const{options:n,type:o}=this,a=this._cachedScopes(t,s),r=a.get(e);if(r)return r;const l=new Set;e.forEach(h=>{t&&(l.add(t),h.forEach(d=>ie(l,t,d))),h.forEach(d=>ie(l,n,d)),h.forEach(d=>ie(l,Et[o]||{},d)),h.forEach(d=>ie(l,z,d)),h.forEach(d=>ie(l,pi,d))});const c=Array.from(l);return c.length===0&&c.push(Object.create(null)),Hn.has(e)&&a.set(e,c),c}chartOptionScopes(){const{options:t,type:e}=this;return[t,Et[e]||{},z.datasets[e]||{},{type:e},z,pi]}resolveNamedOptions(t,e,s,n=[""]){const o={$shared:!0},{resolver:a,subPrefixes:r}=Fs(this._resolverCache,t,n);let l=a;if(wl(a,e)){o.$shared=!1,s=_t(s)?s():s;const c=this.createResolver(t,s,r);l=Xt(a,s,c)}for(const c of e)o[c]=l[c];return o}createResolver(t,e,s=[""],n){const{resolver:o}=Fs(this._resolverCache,t,s);return T(e)?Xt(o,e,void 0,n):o}}function Fs(i,t,e){let s=i.get(t);s||(s=new Map,i.set(t,s));const n=e.join();let o=s.get(n);return o||(o={resolver:Ei(t,e),subPrefixes:e.filter(r=>!r.toLowerCase().includes("hover"))},s.set(n,o)),o}const kl=i=>T(i)&&Object.getOwnPropertyNames(i).some(t=>_t(i[t]));function wl(i,t){const{isScriptable:e,isIndexable:s}=vn(i);for(const n of t){const o=e(n),a=s(n),r=(a||o)&&i[n];if(o&&(_t(r)||kl(r))||a&&E(r))return!0}return!1}var Ml="4.4.3";const Sl=["top","bottom","left","right","chartArea"];function Is(i,t){return i==="top"||i==="bottom"||Sl.indexOf(i)===-1&&t==="x"}function Rs(i,t){return function(e,s){return e[i]===s[i]?e[t]-s[t]:e[i]-s[i]}}function Es(i){const t=i.chart,e=t.options.animation;t.notifyPlugins("afterRender"),R(e&&e.onComplete,[i],t)}function Pl(i){const t=i.chart,e=t.options.animation;R(e&&e.onProgress,[i],t)}function Wn(i){return Hi()&&typeof i=="string"?i=document.getElementById(i):i&&i.length&&(i=i[0]),i&&i.canvas&&(i=i.canvas),i}const Ve={},zs=i=>{const t=Wn(i);return Object.values(Ve).filter(e=>e.canvas===t).pop()};function Cl(i,t,e){const s=Object.keys(i);for(const n of s){const o=+n;if(o>=t){const a=i[n];delete i[n],(e>0||o>t)&&(i[o+e]=a)}}}function Dl(i,t,e,s){return!e||i.type==="mouseout"?null:s?t:i}function Fe(i,t,e){return i.options.clip?i[e]:t[e]}function Ol(i,t){const{xScale:e,yScale:s}=i;return e&&s?{left:Fe(e,t,"left"),right:Fe(e,t,"right"),top:Fe(s,t,"top"),bottom:Fe(s,t,"bottom")}:t}class it{static register(...t){ot.add(...t),Bs()}static unregister(...t){ot.remove(...t),Bs()}constructor(t,e){const s=this.config=new vl(e),n=Wn(t),o=zs(n);if(o)throw new Error("Canvas is already in use. Chart with ID '"+o.id+"' must be destroyed before the canvas with ID '"+o.canvas.id+"' can be reused.");const a=s.createResolver(s.chartOptionScopes(),this.getContext());this.platform=new(s.platform||Ur(n)),this.platform.updateConfig(s);const r=this.platform.acquireContext(n,a.aspectRatio),l=r&&r.canvas,c=l&&l.height,h=l&&l.width;if(this.id=To(),this.ctx=r,this.canvas=l,this.width=h,this.height=c,this._options=a,this._aspectRatio=this.aspectRatio,this._layers=[],this._metasets=[],this._stacks=void 0,this.boxes=[],this.currentDevicePixelRatio=void 0,this.chartArea=void 0,this._active=[],this._lastEvent=void 0,this._listeners={},this._responsiveListeners=void 0,this._sortedMetasets=[],this.scales={},this._plugins=new hl,this.$proxies={},this._hiddenIndices={},this.attached=!1,this._animationsDisabled=void 0,this.$context=void 0,this._doResize=Xo(d=>this.update(d),a.resizeDelay||0),this._dataChanges=[],Ve[this.id]=this,!r||!l){console.error("Failed to create chart: can't acquire context from the given item");return}ct.listen(this,"complete",Es),ct.listen(this,"progress",Pl),this._initialize(),this.attached&&this.update()}get aspectRatio(){const{options:{aspectRatio:t,maintainAspectRatio:e},width:s,height:n,_aspectRatio:o}=this;return A(t)?e&&o?o:n?s/n:null:t}get data(){return this.config.data}set data(t){this.config.data=t}get options(){return this._options}set options(t){this.config.options=t}get registry(){return ot}_initialize(){return this.notifyPlugins("beforeInit"),this.options.responsive?this.resize():os(this,this.options.devicePixelRatio),this.bindEvents(),this.notifyPlugins("afterInit"),this}clear(){return is(this.canvas,this.ctx),this}stop(){return ct.stop(this),this}resize(t,e){ct.running(this)?this._resizeBeforeDraw={width:t,height:e}:this._resize(t,e)}_resize(t,e){const s=this.options,n=this.canvas,o=s.maintainAspectRatio&&this.aspectRatio,a=this.platform.getMaximumSize(n,t,e,o),r=s.devicePixelRatio||this.platform.getDevicePixelRatio(),l=this.width?"resize":"attach";this.width=a.width,this.height=a.height,this._aspectRatio=this.aspectRatio,os(this,r,!0)&&(this.notifyPlugins("resize",{size:a}),R(s.onResize,[this,a],this),this.attached&&this._doResize(l)&&this.render())}ensureScalesHaveIDs(){const e=this.options.scales||{};F(e,(s,n)=>{s.id=n})}buildOrUpdateScales(){const t=this.options,e=t.scales,s=this.scales,n=Object.keys(s).reduce((a,r)=>(a[r]=!1,a),{});let o=[];e&&(o=o.concat(Object.keys(e).map(a=>{const r=e[a],l=xi(a,r),c=l==="r",h=l==="x";return{options:r,dposition:c?"chartArea":h?"bottom":"left",dtype:c?"radialLinear":h?"category":"linear"}}))),F(o,a=>{const r=a.options,l=r.id,c=xi(l,r),h=D(r.type,a.dtype);(r.position===void 0||Is(r.position,c)!==Is(a.dposition))&&(r.position=a.dposition),n[l]=!0;let d=null;if(l in s&&s[l].type===h)d=s[l];else{const f=ot.getScale(h);d=new f({id:l,type:h,ctx:this.ctx,chart:this}),s[d.id]=d}d.init(r,t)}),F(n,(a,r)=>{a||delete s[r]}),F(s,a=>{J.configure(this,a,a.options),J.addBox(this,a)})}_updateMetasets(){const t=this._metasets,e=this.data.datasets.length,s=t.length;if(t.sort((n,o)=>n.index-o.index),s>e){for(let n=e;ne.length&&delete this._stacks,t.forEach((s,n)=>{e.filter(o=>o===s._dataset).length===0&&this._destroyDatasetMeta(n)})}buildOrUpdateControllers(){const t=[],e=this.data.datasets;let s,n;for(this._removeUnreferencedMetasets(),s=0,n=e.length;s{this.getDatasetMeta(e).controller.reset()},this)}reset(){this._resetElements(),this.notifyPlugins("reset")}update(t){const e=this.config;e.update();const s=this._options=e.createResolver(e.chartOptionScopes(),this.getContext()),n=this._animationsDisabled=!s.animation;if(this._updateScales(),this._checkEventBindings(),this._updateHiddenIndices(),this._plugins.invalidate(),this.notifyPlugins("beforeUpdate",{mode:t,cancelable:!0})===!1)return;const o=this.buildOrUpdateControllers();this.notifyPlugins("beforeElementsUpdate");let a=0;for(let c=0,h=this.data.datasets.length;c{c.reset()}),this._updateDatasets(t),this.notifyPlugins("afterUpdate",{mode:t}),this._layers.sort(Rs("z","_idx"));const{_active:r,_lastEvent:l}=this;l?this._eventHandler(l,!0):r.length&&this._updateHoverStyles(r,r,!0),this.render()}_updateScales(){F(this.scales,t=>{J.removeBox(this,t)}),this.ensureScalesHaveIDs(),this.buildOrUpdateScales()}_checkEventBindings(){const t=this.options,e=new Set(Object.keys(this._listeners)),s=new Set(t.events);(!Xi(e,s)||!!this._responsiveListeners!==t.responsive)&&(this.unbindEvents(),this.bindEvents())}_updateHiddenIndices(){const{_hiddenIndices:t}=this,e=this._getUniformDataChanges()||[];for(const{method:s,start:n,count:o}of e){const a=s==="_removeElements"?-o:o;Cl(t,n,a)}}_getUniformDataChanges(){const t=this._dataChanges;if(!t||!t.length)return;this._dataChanges=[];const e=this.data.datasets.length,s=o=>new Set(t.filter(a=>a[0]===o).map((a,r)=>r+","+a.splice(1).join(","))),n=s(0);for(let o=1;oo.split(",")).map(o=>({method:o[1],start:+o[2],count:+o[3]}))}_updateLayout(t){if(this.notifyPlugins("beforeLayout",{cancelable:!0})===!1)return;J.update(this,this.width,this.height,t);const e=this.chartArea,s=e.width<=0||e.height<=0;this._layers=[],F(this.boxes,n=>{s&&n.position==="chartArea"||(n.configure&&n.configure(),this._layers.push(...n._layers()))},this),this._layers.forEach((n,o)=>{n._idx=o}),this.notifyPlugins("afterLayout")}_updateDatasets(t){if(this.notifyPlugins("beforeDatasetsUpdate",{mode:t,cancelable:!0})!==!1){for(let e=0,s=this.data.datasets.length;e=0;--e)this._drawDataset(t[e]);this.notifyPlugins("afterDatasetsDraw")}_drawDataset(t){const e=this.ctx,s=t._clip,n=!s.disabled,o=Ol(t,this.chartArea),a={meta:t,index:t.index,cancelable:!0};this.notifyPlugins("beforeDatasetDraw",a)!==!1&&(n&&Ii(e,{left:s.left===!1?0:o.left-s.left,right:s.right===!1?this.width:o.right+s.right,top:s.top===!1?0:o.top-s.top,bottom:s.bottom===!1?this.height:o.bottom+s.bottom}),t.controller.draw(),n&&Ri(e),a.cancelable=!1,this.notifyPlugins("afterDatasetDraw",a))}isPointInArea(t){return ft(t,this.chartArea,this._minPadding)}getElementsAtEventForMode(t,e,s,n){const o=Sr.modes[e];return typeof o=="function"?o(this,t,s,n):[]}getDatasetMeta(t){const e=this.data.datasets[t],s=this._metasets;let n=s.filter(o=>o&&o._dataset===e).pop();return n||(n={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e&&e.order||0,index:t,_dataset:e,_parsed:[],_sorted:!1},s.push(n)),n}getContext(){return this.$context||(this.$context=yt(null,{chart:this,type:"chart"}))}getVisibleDatasetCount(){return this.getSortedVisibleDatasetMetas().length}isDatasetVisible(t){const e=this.data.datasets[t];if(!e)return!1;const s=this.getDatasetMeta(t);return typeof s.hidden=="boolean"?!s.hidden:!e.hidden}setDatasetVisibility(t,e){const s=this.getDatasetMeta(t);s.hidden=!e}toggleDataVisibility(t){this._hiddenIndices[t]=!this._hiddenIndices[t]}getDataVisibility(t){return!this._hiddenIndices[t]}_updateVisibility(t,e,s){const n=s?"show":"hide",o=this.getDatasetMeta(t),a=o.controller._resolveAnimations(void 0,n);ue(e)?(o.data[e].hidden=!s,this.update()):(this.setDatasetVisibility(t,s),a.update(o,{visible:s}),this.update(r=>r.datasetIndex===t?n:void 0))}hide(t,e){this._updateVisibility(t,e,!1)}show(t,e){this._updateVisibility(t,e,!0)}_destroyDatasetMeta(t){const e=this._metasets[t];e&&e.controller&&e.controller._destroy(),delete this._metasets[t]}_stop(){let t,e;for(this.stop(),ct.remove(this),t=0,e=this.data.datasets.length;t{e.addEventListener(this,o,a),t[o]=a},n=(o,a,r)=>{o.offsetX=a,o.offsetY=r,this._eventHandler(o)};F(this.options.events,o=>s(o,n))}bindResponsiveEvents(){this._responsiveListeners||(this._responsiveListeners={});const t=this._responsiveListeners,e=this.platform,s=(l,c)=>{e.addEventListener(this,l,c),t[l]=c},n=(l,c)=>{t[l]&&(e.removeEventListener(this,l,c),delete t[l])},o=(l,c)=>{this.canvas&&this.resize(l,c)};let a;const r=()=>{n("attach",r),this.attached=!0,this.resize(),s("resize",o),s("detach",a)};a=()=>{this.attached=!1,n("resize",o),this._stop(),this._resize(0,0),s("attach",r)},e.isAttached(this.canvas)?r():a()}unbindEvents(){F(this._listeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._listeners={},F(this._responsiveListeners,(t,e)=>{this.platform.removeEventListener(this,e,t)}),this._responsiveListeners=void 0}updateHoverStyle(t,e,s){const n=s?"set":"remove";let o,a,r,l;for(e==="dataset"&&(o=this.getDatasetMeta(t[0].datasetIndex),o.controller["_"+n+"DatasetHoverStyle"]()),r=0,l=t.length;r{const r=this.getDatasetMeta(o);if(!r)throw new Error("No dataset found at index "+o);return{datasetIndex:o,element:r.data[a],index:a}});!$e(s,e)&&(this._active=s,this._lastEvent=null,this._updateHoverStyles(s,e))}notifyPlugins(t,e,s){return this._plugins.notify(this,t,e,s)}isPluginEnabled(t){return this._plugins._cache.filter(e=>e.plugin.id===t).length===1}_updateHoverStyles(t,e,s){const n=this.options.hover,o=(l,c)=>l.filter(h=>!c.some(d=>h.datasetIndex===d.datasetIndex&&h.index===d.index)),a=o(e,t),r=s?t:o(t,e);a.length&&this.updateHoverStyle(a,n.mode,!1),r.length&&n.mode&&this.updateHoverStyle(r,n.mode,!0)}_eventHandler(t,e){const s={event:t,replay:e,cancelable:!0,inChartArea:this.isPointInArea(t)},n=a=>(a.options.events||this.options.events).includes(t.native.type);if(this.notifyPlugins("beforeEvent",s,n)===!1)return;const o=this._handleEvent(t,e,s.inChartArea);return s.cancelable=!1,this.notifyPlugins("afterEvent",s,n),(o||s.changed)&&this.render(),this}_handleEvent(t,e,s){const{_active:n=[],options:o}=this,a=e,r=this._getActiveElements(t,n,s,a),l=Eo(t),c=Dl(t,this._lastEvent,s,l);s&&(this._lastEvent=null,R(o.onHover,[t,r,this],this),l&&R(o.onClick,[t,r,this],this));const h=!$e(r,n);return(h||e)&&(this._active=r,this._updateHoverStyles(r,n,e)),this._lastEvent=c,h}_getActiveElements(t,e,s,n){if(t.type==="mouseout")return[];if(!s)return e;const o=this.options.hover;return this.getElementsAtEventForMode(t,o.mode,o,n)}}S(it,"defaults",z),S(it,"instances",Ve),S(it,"overrides",Et),S(it,"registry",ot),S(it,"version",Ml),S(it,"getChart",zs);function Bs(){return F(it.instances,i=>i._plugins.invalidate())}function Vn(i,t,e=t){i.lineCap=D(e.borderCapStyle,t.borderCapStyle),i.setLineDash(D(e.borderDash,t.borderDash)),i.lineDashOffset=D(e.borderDashOffset,t.borderDashOffset),i.lineJoin=D(e.borderJoinStyle,t.borderJoinStyle),i.lineWidth=D(e.borderWidth,t.borderWidth),i.strokeStyle=D(e.borderColor,t.borderColor)}function Tl(i,t,e){i.lineTo(e.x,e.y)}function Ll(i){return i.stepped?oa:i.tension||i.cubicInterpolationMode==="monotone"?aa:Tl}function Nn(i,t,e={}){const s=i.length,{start:n=0,end:o=s-1}=e,{start:a,end:r}=t,l=Math.max(n,a),c=Math.min(o,r),h=nr&&o>r;return{count:s,start:l,loop:t.loop,ilen:c(a+(c?r-y:y))%o,v=()=>{g!==m&&(i.lineTo(h,m),i.lineTo(h,g),i.lineTo(h,b))};for(l&&(u=n[x(0)],i.moveTo(u.x,u.y)),f=0;f<=r;++f){if(u=n[x(f)],u.skip)continue;const y=u.x,_=u.y,M=y|0;M===p?(_m&&(m=_),h=(d*h+y)/++d):(v(),i.lineTo(y,_),p=M,d=0,g=m=_),b=_}v()}function _i(i){const t=i.options,e=t.borderDash&&t.borderDash.length;return!i._decimated&&!i._loop&&!t.tension&&t.cubicInterpolationMode!=="monotone"&&!t.stepped&&!e?Fl:Al}function Il(i){return i.stepped?Ba:i.tension||i.cubicInterpolationMode==="monotone"?Ha:Tt}function Rl(i,t,e,s){let n=t._path;n||(n=t._path=new Path2D,t.path(n,e,s)&&n.closePath()),Vn(i,t.options),i.stroke(n)}function El(i,t,e,s){const{segments:n,options:o}=t,a=_i(t);for(const r of n)Vn(i,o,r.style),i.beginPath(),a(i,t,r,{start:e,end:e+s-1})&&i.closePath(),i.stroke()}const zl=typeof Path2D=="function";function Bl(i,t,e,s){zl&&!t.options.segment?Rl(i,t,e,s):El(i,t,e,s)}class oe extends rt{constructor(t){super(),this.animated=!0,this.options=void 0,this._chart=void 0,this._loop=void 0,this._fullLoop=void 0,this._path=void 0,this._points=void 0,this._segments=void 0,this._decimated=!1,this._pointsUpdated=!1,this._datasetIndex=void 0,t&&Object.assign(this,t)}updateControlPoints(t,e){const s=this.options;if((s.tension||s.cubicInterpolationMode==="monotone")&&!s.stepped&&!this._pointsUpdated){const n=s.spanGaps?this._loop:this._fullLoop;Ta(this._points,s,t,n,e),this._pointsUpdated=!0}}set points(t){this._points=t,delete this._segments,delete this._path,this._pointsUpdated=!1}get points(){return this._points}get segments(){return this._segments||(this._segments=Xa(this,this.options.segment))}first(){const t=this.segments,e=this.points;return t.length&&e[t[0].start]}last(){const t=this.segments,e=this.points,s=t.length;return s&&e[t[s-1].end]}interpolate(t,e){const s=this.options,n=t[e],o=this.points,a=$a(this,{property:e,start:n,end:n});if(!a.length)return;const r=[],l=Il(s);let c,h;for(c=0,h=a.length;ct!=="borderDash"&&t!=="fill"});function Hs(i,t,e,s){const n=i.options,{[e]:o}=i.getProps([e],s);return Math.abs(t-o){let{boxHeight:e=t,boxWidth:s=t}=i;return i.usePointStyle&&(e=Math.min(e,t),s=i.pointStyleWidth||Math.min(s,t)),{boxWidth:s,boxHeight:e,itemHeight:Math.max(t,e)}},$l=(i,t)=>i!==null&&t!==null&&i.datasetIndex===t.datasetIndex&&i.index===t.index;class Vs extends rt{constructor(t){super(),this._added=!1,this.legendHitBoxes=[],this._hoveredItem=null,this.doughnutMode=!1,this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this.legendItems=void 0,this.columnSizes=void 0,this.lineWidths=void 0,this.maxHeight=void 0,this.maxWidth=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.height=void 0,this.width=void 0,this._margins=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e,s){this.maxWidth=t,this.maxHeight=e,this._margins=s,this.setDimensions(),this.buildLabels(),this.fit()}setDimensions(){this.isHorizontal()?(this.width=this.maxWidth,this.left=this._margins.left,this.right=this.width):(this.height=this.maxHeight,this.top=this._margins.top,this.bottom=this.height)}buildLabels(){const t=this.options.labels||{};let e=R(t.generateLabels,[this.chart],this)||[];t.filter&&(e=e.filter(s=>t.filter(s,this.chart.data))),t.sort&&(e=e.sort((s,n)=>t.sort(s,n,this.chart.data))),this.options.reverse&&e.reverse(),this.legendItems=e}fit(){const{options:t,ctx:e}=this;if(!t.display){this.width=this.height=0;return}const s=t.labels,n=W(s.font),o=n.size,a=this._computeTitleHeight(),{boxWidth:r,itemHeight:l}=Ws(s,o);let c,h;e.font=n.string,this.isHorizontal()?(c=this.maxWidth,h=this._fitRows(a,o,r,l)+10):(h=this.maxHeight,c=this._fitCols(a,n,r,l)+10),this.width=Math.min(c,t.maxWidth||this.maxWidth),this.height=Math.min(h,t.maxHeight||this.maxHeight)}_fitRows(t,e,s,n){const{ctx:o,maxWidth:a,options:{labels:{padding:r}}}=this,l=this.legendHitBoxes=[],c=this.lineWidths=[0],h=n+r;let d=t;o.textAlign="left",o.textBaseline="middle";let f=-1,u=-h;return this.legendItems.forEach((p,g)=>{const m=s+e/2+o.measureText(p.text).width;(g===0||c[c.length-1]+m+2*r>a)&&(d+=h,c[c.length-(g>0?0:1)]=0,u+=h,f++),l[g]={left:0,top:u,row:f,width:m,height:n},c[c.length-1]+=m+r}),d}_fitCols(t,e,s,n){const{ctx:o,maxHeight:a,options:{labels:{padding:r}}}=this,l=this.legendHitBoxes=[],c=this.columnSizes=[],h=a-t;let d=r,f=0,u=0,p=0,g=0;return this.legendItems.forEach((m,b)=>{const{itemWidth:x,itemHeight:v}=Yl(s,e,o,m,n);b>0&&u+v+2*r>h&&(d+=f+r,c.push({width:f,height:u}),p+=f+r,g++,f=u=0),l[b]={left:p,top:u,col:g,width:x,height:v},f=Math.max(f,x),u+=v+r}),d+=f,c.push({width:f,height:u}),d}adjustHitBoxes(){if(!this.options.display)return;const t=this._computeTitleHeight(),{legendHitBoxes:e,options:{align:s,labels:{padding:n},rtl:o}}=this,a=$t(o,this.left,this.width);if(this.isHorizontal()){let r=0,l=j(s,this.left+n,this.right-this.lineWidths[r]);for(const c of e)r!==c.row&&(r=c.row,l=j(s,this.left+n,this.right-this.lineWidths[r])),c.top+=this.top+t+n,c.left=a.leftForLtr(a.x(l),c.width),l+=c.width+n}else{let r=0,l=j(s,this.top+t+n,this.bottom-this.columnSizes[r].height);for(const c of e)c.col!==r&&(r=c.col,l=j(s,this.top+t+n,this.bottom-this.columnSizes[r].height)),c.top=l,c.left+=this.left+n,c.left=a.leftForLtr(a.x(c.left),c.width),l+=c.height+n}}isHorizontal(){return this.options.position==="top"||this.options.position==="bottom"}draw(){if(this.options.display){const t=this.ctx;Ii(t,this),this._draw(),Ri(t)}}_draw(){const{options:t,columnSizes:e,lineWidths:s,ctx:n}=this,{align:o,labels:a}=t,r=z.color,l=$t(t.rtl,this.left,this.width),c=W(a.font),{padding:h}=a,d=c.size,f=d/2;let u;this.drawTitle(),n.textAlign=l.textAlign("left"),n.textBaseline="middle",n.lineWidth=.5,n.font=c.string;const{boxWidth:p,boxHeight:g,itemHeight:m}=Ws(a,d),b=function(M,k,w){if(isNaN(p)||p<=0||isNaN(g)||g<0)return;n.save();const P=D(w.lineWidth,1);if(n.fillStyle=D(w.fillStyle,r),n.lineCap=D(w.lineCap,"butt"),n.lineDashOffset=D(w.lineDashOffset,0),n.lineJoin=D(w.lineJoin,"miter"),n.lineWidth=P,n.strokeStyle=D(w.strokeStyle,r),n.setLineDash(D(w.lineDash,[])),a.usePointStyle){const O={radius:g*Math.SQRT2/2,pointStyle:w.pointStyle,rotation:w.rotation,borderWidth:P},C=l.xPlus(M,p/2),L=k+f;xn(n,O,C,L,a.pointStyleWidth&&p)}else{const O=k+Math.max((d-g)/2,0),C=l.leftForLtr(M,p),L=Ft(w.borderRadius);n.beginPath(),Object.values(L).some(Y=>Y!==0)?ge(n,{x:C,y:O,w:p,h:g,radius:L}):n.rect(C,O,p,g),n.fill(),P!==0&&n.stroke()}n.restore()},x=function(M,k,w){zt(n,w.text,M,k+m/2,c,{strikethrough:w.hidden,textAlign:l.textAlign(w.textAlign)})},v=this.isHorizontal(),y=this._computeTitleHeight();v?u={x:j(o,this.left+h,this.right-s[0]),y:this.top+h+y,line:0}:u={x:this.left+h,y:j(o,this.top+y+h,this.bottom-e[0].height),line:0},Pn(this.ctx,t.textDirection);const _=m+h;this.legendItems.forEach((M,k)=>{n.strokeStyle=M.fontColor,n.fillStyle=M.fontColor;const w=n.measureText(M.text).width,P=l.textAlign(M.textAlign||(M.textAlign=a.textAlign)),O=p+f+w;let C=u.x,L=u.y;l.setWidth(this.width),v?k>0&&C+O+h>this.right&&(L=u.y+=_,u.line++,C=u.x=j(o,this.left+h,this.right-s[u.line])):k>0&&L+_>this.bottom&&(C=u.x=C+e[u.line].width+h,u.line++,L=u.y=j(o,this.top+y+h,this.bottom-e[u.line].height));const Y=l.x(C);if(b(Y,L,M),C=Ko(P,C+p+f,v?C+O:this.right,t.rtl),x(l.x(C),L,M),v)u.x+=O+h;else if(typeof M.text!="string"){const st=c.lineHeight;u.y+=$n(M,st)+h}else u.y+=_}),Cn(this.ctx,t.textDirection)}drawTitle(){const t=this.options,e=t.title,s=W(e.font),n=$(e.padding);if(!e.display)return;const o=$t(t.rtl,this.left,this.width),a=this.ctx,r=e.position,l=s.size/2,c=n.top+l;let h,d=this.left,f=this.width;if(this.isHorizontal())f=Math.max(...this.lineWidths),h=this.top+c,d=j(t.align,d,this.right-f);else{const p=this.columnSizes.reduce((g,m)=>Math.max(g,m.height),0);h=c+j(t.align,this.top,this.bottom-p-t.labels.padding-this._computeTitleHeight())}const u=j(r,d,d+f);a.textAlign=o.textAlign(Li(r)),a.textBaseline="middle",a.strokeStyle=e.color,a.fillStyle=e.color,a.font=s.string,zt(a,e.text,u,h,s)}_computeTitleHeight(){const t=this.options.title,e=W(t.font),s=$(t.padding);return t.display?e.lineHeight+s.height:0}_getLegendItemAt(t,e){let s,n,o;if(Lt(t,this.left,this.right)&&Lt(e,this.top,this.bottom)){for(o=this.legendHitBoxes,s=0;so.length>a.length?o:a)),t+e.size/2+s.measureText(n).width}function Xl(i,t,e){let s=i;return typeof t.text!="string"&&(s=$n(t,e)),s}function $n(i,t){const e=i.text?i.text.length:0;return t*e}function Kl(i,t){return!!((i==="mousemove"||i==="mouseout")&&(t.onHover||t.onLeave)||t.onClick&&(i==="click"||i==="mouseup"))}var ql={id:"legend",_element:Vs,start(i,t,e){const s=i.legend=new Vs({ctx:i.ctx,options:e,chart:i});J.configure(i,s,e),J.addBox(i,s)},stop(i){J.removeBox(i,i.legend),delete i.legend},beforeUpdate(i,t,e){const s=i.legend;J.configure(i,s,e),s.options=e},afterUpdate(i){const t=i.legend;t.buildLabels(),t.adjustHitBoxes()},afterEvent(i,t){t.replay||i.legend.handleEvent(t.event)},defaults:{display:!0,position:"top",align:"center",fullSize:!0,reverse:!1,weight:1e3,onClick(i,t,e){const s=t.datasetIndex,n=e.chart;n.isDatasetVisible(s)?(n.hide(s),t.hidden=!0):(n.show(s),t.hidden=!1)},onHover:null,onLeave:null,labels:{color:i=>i.chart.options.color,boxWidth:40,padding:10,generateLabels(i){const t=i.data.datasets,{labels:{usePointStyle:e,pointStyle:s,textAlign:n,color:o,useBorderRadius:a,borderRadius:r}}=i.legend.options;return i._getSortedDatasetMetas().map(l=>{const c=l.controller.getStyle(e?0:void 0),h=$(c.borderWidth);return{text:t[l.index].label,fillStyle:c.backgroundColor,fontColor:o,hidden:!l.visible,lineCap:c.borderCapStyle,lineDash:c.borderDash,lineDashOffset:c.borderDashOffset,lineJoin:c.borderJoinStyle,lineWidth:(h.width+h.height)/4,strokeStyle:c.borderColor,pointStyle:s||c.pointStyle,rotation:c.rotation,textAlign:n||c.textAlign,borderRadius:a&&(r||c.borderRadius),datasetIndex:l.index}},this)}},title:{color:i=>i.chart.options.color,display:!1,position:"center",text:""}},descriptors:{_scriptable:i=>!i.startsWith("on"),labels:{_scriptable:i=>!["generateLabels","filter","sort"].includes(i)}}};class Yn extends rt{constructor(t){super(),this.chart=t.chart,this.options=t.options,this.ctx=t.ctx,this._padding=void 0,this.top=void 0,this.bottom=void 0,this.left=void 0,this.right=void 0,this.width=void 0,this.height=void 0,this.position=void 0,this.weight=void 0,this.fullSize=void 0}update(t,e){const s=this.options;if(this.left=0,this.top=0,!s.display){this.width=this.height=this.right=this.bottom=0;return}this.width=this.right=t,this.height=this.bottom=e;const n=E(s.text)?s.text.length:1;this._padding=$(s.padding);const o=n*W(s.font).lineHeight+this._padding.height;this.isHorizontal()?this.height=o:this.width=o}isHorizontal(){const t=this.options.position;return t==="top"||t==="bottom"}_drawArgs(t){const{top:e,left:s,bottom:n,right:o,options:a}=this,r=a.align;let l=0,c,h,d;return this.isHorizontal()?(h=j(r,s,o),d=e+t,c=o-s):(a.position==="left"?(h=s+t,d=j(r,n,e),l=H*-.5):(h=o-t,d=j(r,e,n),l=H*.5),c=n-e),{titleX:h,titleY:d,maxWidth:c,rotation:l}}draw(){const t=this.ctx,e=this.options;if(!e.display)return;const s=W(e.font),o=s.lineHeight/2+this._padding.top,{titleX:a,titleY:r,maxWidth:l,rotation:c}=this._drawArgs(o);zt(t,e.text,0,0,s,{color:e.color,maxWidth:l,rotation:c,textAlign:Li(e.align),textBaseline:"middle",translation:[a,r]})}}function Gl(i,t){const e=new Yn({ctx:i.ctx,options:t,chart:i});J.configure(i,e,t),J.addBox(i,e),i.titleBlock=e}var Zl={id:"title",_element:Yn,start(i,t,e){Gl(i,e)},stop(i){const t=i.titleBlock;J.removeBox(i,t),delete i.titleBlock},beforeUpdate(i,t,e){const s=i.titleBlock;J.configure(i,s,e),s.options=e},defaults:{align:"center",display:!1,font:{weight:"bold"},fullSize:!0,padding:10,position:"top",text:"",weight:2e3},defaultRoutes:{color:"color"},descriptors:{_scriptable:!0,_indexable:!1}};const ae={average(i){if(!i.length)return!1;let t,e,s=new Set,n=0,o=0;for(t=0,e=i.length;tr+l)/s.size,y:n/o}},nearest(i,t){if(!i.length)return!1;let e=t.x,s=t.y,n=Number.POSITIVE_INFINITY,o,a,r;for(o=0,a=i.length;o-1?i.split(` +`):i}function Ql(i,t){const{element:e,datasetIndex:s,index:n}=t,o=i.getDatasetMeta(s).controller,{label:a,value:r}=o.getLabelAndValue(n);return{chart:i,label:a,parsed:o.getParsed(n),raw:i.data.datasets[s].data[n],formattedValue:r,dataset:o.getDataset(),dataIndex:n,datasetIndex:s,element:e}}function Ns(i,t){const e=i.chart.ctx,{body:s,footer:n,title:o}=i,{boxWidth:a,boxHeight:r}=t,l=W(t.bodyFont),c=W(t.titleFont),h=W(t.footerFont),d=o.length,f=n.length,u=s.length,p=$(t.padding);let g=p.height,m=0,b=s.reduce((y,_)=>y+_.before.length+_.lines.length+_.after.length,0);if(b+=i.beforeBody.length+i.afterBody.length,d&&(g+=d*c.lineHeight+(d-1)*t.titleSpacing+t.titleMarginBottom),b){const y=t.displayColors?Math.max(r,l.lineHeight):l.lineHeight;g+=u*y+(b-u)*l.lineHeight+(b-1)*t.bodySpacing}f&&(g+=t.footerMarginTop+f*h.lineHeight+(f-1)*t.footerSpacing);let x=0;const v=function(y){m=Math.max(m,e.measureText(y).width+x)};return e.save(),e.font=c.string,F(i.title,v),e.font=l.string,F(i.beforeBody.concat(i.afterBody),v),x=t.displayColors?a+2+t.boxPadding:0,F(s,y=>{F(y.before,v),F(y.lines,v),F(y.after,v)}),x=0,e.font=h.string,F(i.footer,v),e.restore(),m+=p.width,{width:m,height:g}}function Jl(i,t){const{y:e,height:s}=t;return ei.height-s/2?"bottom":"center"}function tc(i,t,e,s){const{x:n,width:o}=s,a=e.caretSize+e.caretPadding;if(i==="left"&&n+o+a>t.width||i==="right"&&n-o-a<0)return!0}function ec(i,t,e,s){const{x:n,width:o}=e,{width:a,chartArea:{left:r,right:l}}=i;let c="center";return s==="center"?c=n<=(r+l)/2?"left":"right":n<=o/2?c="left":n>=a-o/2&&(c="right"),tc(c,i,t,e)&&(c="center"),c}function js(i,t,e){const s=e.yAlign||t.yAlign||Jl(i,e);return{xAlign:e.xAlign||t.xAlign||ec(i,t,e,s),yAlign:s}}function ic(i,t){let{x:e,width:s}=i;return t==="right"?e-=s:t==="center"&&(e-=s/2),e}function sc(i,t,e){let{y:s,height:n}=i;return t==="top"?s+=e:t==="bottom"?s-=n+e:s-=n/2,s}function $s(i,t,e,s){const{caretSize:n,caretPadding:o,cornerRadius:a}=i,{xAlign:r,yAlign:l}=e,c=n+o,{topLeft:h,topRight:d,bottomLeft:f,bottomRight:u}=Ft(a);let p=ic(t,r);const g=sc(t,l,c);return l==="center"?r==="left"?p+=c:r==="right"&&(p-=c):r==="left"?p-=Math.max(h,f)+n:r==="right"&&(p+=Math.max(d,u)+n),{x:G(p,0,s.width-t.width),y:G(g,0,s.height-t.height)}}function Ie(i,t,e){const s=$(e.padding);return t==="center"?i.x+i.width/2:t==="right"?i.x+i.width-s.right:i.x+s.left}function Ys(i){return nt([],ht(i))}function nc(i,t,e){return yt(i,{tooltip:t,tooltipItems:e,type:"tooltip"})}function Us(i,t){const e=t&&t.dataset&&t.dataset.tooltip&&t.dataset.tooltip.callbacks;return e?i.override(e):i}const Un={beforeTitle:lt,title(i){if(i.length>0){const t=i[0],e=t.chart.data.labels,s=e?e.length:0;if(this&&this.options&&this.options.mode==="dataset")return t.dataset.label||"";if(t.label)return t.label;if(s>0&&t.dataIndex"u"?Un[t].call(e,s):n}class yi extends rt{constructor(t){super(),this.opacity=0,this._active=[],this._eventPosition=void 0,this._size=void 0,this._cachedAnimations=void 0,this._tooltipItems=[],this.$animations=void 0,this.$context=void 0,this.chart=t.chart,this.options=t.options,this.dataPoints=void 0,this.title=void 0,this.beforeBody=void 0,this.body=void 0,this.afterBody=void 0,this.footer=void 0,this.xAlign=void 0,this.yAlign=void 0,this.x=void 0,this.y=void 0,this.height=void 0,this.width=void 0,this.caretX=void 0,this.caretY=void 0,this.labelColors=void 0,this.labelPointStyles=void 0,this.labelTextColors=void 0}initialize(t){this.options=t,this._cachedAnimations=void 0,this.$context=void 0}_resolveAnimations(){const t=this._cachedAnimations;if(t)return t;const e=this.chart,s=this.options.setContext(this.getContext()),n=s.enabled&&e.options.animation&&s.animations,o=new On(this.chart,n);return n._cacheable&&(this._cachedAnimations=Object.freeze(o)),o}getContext(){return this.$context||(this.$context=nc(this.chart.getContext(),this,this._tooltipItems))}getTitle(t,e){const{callbacks:s}=e,n=U(s,"beforeTitle",this,t),o=U(s,"title",this,t),a=U(s,"afterTitle",this,t);let r=[];return r=nt(r,ht(n)),r=nt(r,ht(o)),r=nt(r,ht(a)),r}getBeforeBody(t,e){return Ys(U(e.callbacks,"beforeBody",this,t))}getBody(t,e){const{callbacks:s}=e,n=[];return F(t,o=>{const a={before:[],lines:[],after:[]},r=Us(s,o);nt(a.before,ht(U(r,"beforeLabel",this,o))),nt(a.lines,U(r,"label",this,o)),nt(a.after,ht(U(r,"afterLabel",this,o))),n.push(a)}),n}getAfterBody(t,e){return Ys(U(e.callbacks,"afterBody",this,t))}getFooter(t,e){const{callbacks:s}=e,n=U(s,"beforeFooter",this,t),o=U(s,"footer",this,t),a=U(s,"afterFooter",this,t);let r=[];return r=nt(r,ht(n)),r=nt(r,ht(o)),r=nt(r,ht(a)),r}_createItems(t){const e=this._active,s=this.chart.data,n=[],o=[],a=[];let r=[],l,c;for(l=0,c=e.length;lt.filter(h,d,f,s))),t.itemSort&&(r=r.sort((h,d)=>t.itemSort(h,d,s))),F(r,h=>{const d=Us(t.callbacks,h);n.push(U(d,"labelColor",this,h)),o.push(U(d,"labelPointStyle",this,h)),a.push(U(d,"labelTextColor",this,h))}),this.labelColors=n,this.labelPointStyles=o,this.labelTextColors=a,this.dataPoints=r,r}update(t,e){const s=this.options.setContext(this.getContext()),n=this._active;let o,a=[];if(!n.length)this.opacity!==0&&(o={opacity:0});else{const r=ae[s.position].call(this,n,this._eventPosition);a=this._createItems(s),this.title=this.getTitle(a,s),this.beforeBody=this.getBeforeBody(a,s),this.body=this.getBody(a,s),this.afterBody=this.getAfterBody(a,s),this.footer=this.getFooter(a,s);const l=this._size=Ns(this,s),c=Object.assign({},r,l),h=js(this.chart,s,c),d=$s(s,c,h,this.chart);this.xAlign=h.xAlign,this.yAlign=h.yAlign,o={opacity:1,x:d.x,y:d.y,width:l.width,height:l.height,caretX:r.x,caretY:r.y}}this._tooltipItems=a,this.$context=void 0,o&&this._resolveAnimations().update(this,o),t&&s.external&&s.external.call(this,{chart:this.chart,tooltip:this,replay:e})}drawCaret(t,e,s,n){const o=this.getCaretPosition(t,s,n);e.lineTo(o.x1,o.y1),e.lineTo(o.x2,o.y2),e.lineTo(o.x3,o.y3)}getCaretPosition(t,e,s){const{xAlign:n,yAlign:o}=this,{caretSize:a,cornerRadius:r}=s,{topLeft:l,topRight:c,bottomLeft:h,bottomRight:d}=Ft(r),{x:f,y:u}=t,{width:p,height:g}=e;let m,b,x,v,y,_;return o==="center"?(y=u+g/2,n==="left"?(m=f,b=m-a,v=y+a,_=y-a):(m=f+p,b=m+a,v=y-a,_=y+a),x=m):(n==="left"?b=f+Math.max(l,h)+a:n==="right"?b=f+p-Math.max(c,d)-a:b=this.caretX,o==="top"?(v=u,y=v-a,m=b-a,x=b+a):(v=u+g,y=v+a,m=b+a,x=b-a),_=v),{x1:m,x2:b,x3:x,y1:v,y2:y,y3:_}}drawTitle(t,e,s){const n=this.title,o=n.length;let a,r,l;if(o){const c=$t(s.rtl,this.x,this.width);for(t.x=Ie(this,s.titleAlign,s),e.textAlign=c.textAlign(s.titleAlign),e.textBaseline="middle",a=W(s.titleFont),r=s.titleSpacing,e.fillStyle=s.titleColor,e.font=a.string,l=0;lx!==0)?(t.beginPath(),t.fillStyle=o.multiKeyBackground,ge(t,{x:g,y:p,w:c,h:l,radius:b}),t.fill(),t.stroke(),t.fillStyle=a.backgroundColor,t.beginPath(),ge(t,{x:m,y:p+1,w:c-2,h:l-2,radius:b}),t.fill()):(t.fillStyle=o.multiKeyBackground,t.fillRect(g,p,c,l),t.strokeRect(g,p,c,l),t.fillStyle=a.backgroundColor,t.fillRect(m,p+1,c-2,l-2))}t.fillStyle=this.labelTextColors[s]}drawBody(t,e,s){const{body:n}=this,{bodySpacing:o,bodyAlign:a,displayColors:r,boxHeight:l,boxWidth:c,boxPadding:h}=s,d=W(s.bodyFont);let f=d.lineHeight,u=0;const p=$t(s.rtl,this.x,this.width),g=function(w){e.fillText(w,p.x(t.x+u),t.y+f/2),t.y+=f+o},m=p.textAlign(a);let b,x,v,y,_,M,k;for(e.textAlign=a,e.textBaseline="middle",e.font=d.string,t.x=Ie(this,m,s),e.fillStyle=s.bodyColor,F(this.beforeBody,g),u=r&&m!=="right"?a==="center"?c/2+h:c+2+h:0,y=0,M=n.length;y0&&e.stroke()}_updateAnimationTarget(t){const e=this.chart,s=this.$animations,n=s&&s.x,o=s&&s.y;if(n||o){const a=ae[t.position].call(this,this._active,this._eventPosition);if(!a)return;const r=this._size=Ns(this,t),l=Object.assign({},a,this._size),c=js(e,t,l),h=$s(t,l,c,e);(n._to!==h.x||o._to!==h.y)&&(this.xAlign=c.xAlign,this.yAlign=c.yAlign,this.width=r.width,this.height=r.height,this.caretX=a.x,this.caretY=a.y,this._resolveAnimations().update(this,h))}}_willRender(){return!!this.opacity}draw(t){const e=this.options.setContext(this.getContext());let s=this.opacity;if(!s)return;this._updateAnimationTarget(e);const n={width:this.width,height:this.height},o={x:this.x,y:this.y};s=Math.abs(s)<.001?0:s;const a=$(e.padding),r=this.title.length||this.beforeBody.length||this.body.length||this.afterBody.length||this.footer.length;e.enabled&&r&&(t.save(),t.globalAlpha=s,this.drawBackground(o,t,n,e),Pn(t,e.textDirection),o.y+=a.top,this.drawTitle(o,t,e),this.drawBody(o,t,e),this.drawFooter(o,t,e),Cn(t,e.textDirection),t.restore())}getActiveElements(){return this._active||[]}setActiveElements(t,e){const s=this._active,n=t.map(({datasetIndex:r,index:l})=>{const c=this.chart.getDatasetMeta(r);if(!c)throw new Error("Cannot find a dataset at index "+r);return{datasetIndex:r,element:c.data[l],index:l}}),o=!$e(s,n),a=this._positionChanged(n,e);(o||a)&&(this._active=n,this._eventPosition=e,this._ignoreReplayEvents=!0,this.update(!0))}handleEvent(t,e,s=!0){if(e&&this._ignoreReplayEvents)return!1;this._ignoreReplayEvents=!1;const n=this.options,o=this._active||[],a=this._getActiveElements(t,o,e,s),r=this._positionChanged(a,t),l=e||!$e(a,o)||r;return l&&(this._active=a,(n.enabled||n.external)&&(this._eventPosition={x:t.x,y:t.y},this.update(!0,e))),l}_getActiveElements(t,e,s,n){const o=this.options;if(t.type==="mouseout")return[];if(!n)return e.filter(r=>this.chart.data.datasets[r.datasetIndex]&&this.chart.getDatasetMeta(r.datasetIndex).controller.getParsed(r.index)!==void 0);const a=this.chart.getElementsAtEventForMode(t,o.mode,o,s);return o.reverse&&a.reverse(),a}_positionChanged(t,e){const{caretX:s,caretY:n,options:o}=this,a=ae[o.position].call(this,t,e);return a!==!1&&(s!==a.x||n!==a.y)}}S(yi,"positioners",ae);var oc={id:"tooltip",_element:yi,positioners:ae,afterInit(i,t,e){e&&(i.tooltip=new yi({chart:i,options:e}))},beforeUpdate(i,t,e){i.tooltip&&i.tooltip.initialize(e)},reset(i,t,e){i.tooltip&&i.tooltip.initialize(e)},afterDraw(i){const t=i.tooltip;if(t&&t._willRender()){const e={tooltip:t};if(i.notifyPlugins("beforeTooltipDraw",{...e,cancelable:!0})===!1)return;t.draw(i.ctx),i.notifyPlugins("afterTooltipDraw",e)}},afterEvent(i,t){if(i.tooltip){const e=t.replay;i.tooltip.handleEvent(t.event,e,t.inChartArea)&&(t.changed=!0)}},defaults:{enabled:!0,external:null,position:"average",backgroundColor:"rgba(0,0,0,0.8)",titleColor:"#fff",titleFont:{weight:"bold"},titleSpacing:2,titleMarginBottom:6,titleAlign:"left",bodyColor:"#fff",bodySpacing:2,bodyFont:{},bodyAlign:"left",footerColor:"#fff",footerSpacing:2,footerMarginTop:6,footerFont:{weight:"bold"},footerAlign:"left",padding:6,caretPadding:2,caretSize:5,cornerRadius:6,boxHeight:(i,t)=>t.bodyFont.size,boxWidth:(i,t)=>t.bodyFont.size,multiKeyBackground:"#fff",displayColors:!0,boxPadding:0,borderColor:"rgba(0,0,0,0)",borderWidth:0,animation:{duration:400,easing:"easeOutQuart"},animations:{numbers:{type:"number",properties:["x","y","width","height","caretX","caretY"]},opacity:{easing:"linear",duration:200}},callbacks:Un},defaultRoutes:{bodyFont:"font",footerFont:"font",titleFont:"font"},descriptors:{_scriptable:i=>i!=="filter"&&i!=="itemSort"&&i!=="external",_indexable:!1,callbacks:{_scriptable:!1,_indexable:!1},animation:{_fallback:!1},animations:{_fallback:"animation"}},additionalOptionScopes:["interaction"]};const ac=(i,t,e,s)=>(typeof t=="string"?(e=i.push(t)-1,s.unshift({index:e,label:t})):isNaN(t)&&(e=null),e);function rc(i,t,e,s){const n=i.indexOf(t);if(n===-1)return ac(i,t,e,s);const o=i.lastIndexOf(t);return n!==o?e:n}const lc=(i,t)=>i===null?null:G(Math.round(i),0,t);function Xs(i){const t=this.getLabels();return i>=0&&ie.length-1?null:this.getPixelForValue(e[t].value)}getValueForPixel(t){return Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange)}getBasePixel(){return this.bottom}}S(vi,"id","category"),S(vi,"defaults",{ticks:{callback:Xs}});function cc(i,t){const e=[],{bounds:n,step:o,min:a,max:r,precision:l,count:c,maxTicks:h,maxDigits:d,includeBounds:f}=i,u=o||1,p=h-1,{min:g,max:m}=t,b=!A(a),x=!A(r),v=!A(c),y=(m-g)/(d+1);let _=qi((m-g)/p/u)*u,M,k,w,P;if(_<1e-14&&!b&&!x)return[{value:g},{value:m}];P=Math.ceil(m/_)-Math.floor(g/_),P>p&&(_=qi(P*_/p/u)*u),A(l)||(M=Math.pow(10,l),_=Math.ceil(_*M)/M),n==="ticks"?(k=Math.floor(g/_)*_,w=Math.ceil(m/_)*_):(k=g,w=m),b&&x&&o&&Wo((r-a)/o,_/1e3)?(P=Math.round(Math.min((r-a)/_,h)),_=(r-a)/P,k=a,w=r):v?(k=b?a:k,w=x?r:w,P=c-1,_=(w-k)/P):(P=(w-k)/_,le(P,Math.round(P),_/1e3)?P=Math.round(P):P=Math.ceil(P));const O=Math.max(Gi(_),Gi(k));M=Math.pow(10,A(l)?O:l),k=Math.round(k*M)/M,w=Math.round(w*M)/M;let C=0;for(b&&(f&&k!==a?(e.push({value:a}),kr)break;e.push({value:L})}return x&&f&&w!==r?e.length&&le(e[e.length-1].value,r,Ks(r,y,i))?e[e.length-1].value=r:e.push({value:r}):(!x||w===r)&&e.push({value:w}),e}function Ks(i,t,{horizontal:e,minRotation:s}){const n=mt(s),o=(e?Math.sin(n):Math.cos(n))||.001,a=.75*t*(""+i).length;return Math.min(t/o,a)}class Ge extends Bt{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._endValue=void 0,this._valueRange=0}parse(t,e){return A(t)||(typeof t=="number"||t instanceof Number)&&!isFinite(+t)?null:+t}handleTickRangeOptions(){const{beginAtZero:t}=this.options,{minDefined:e,maxDefined:s}=this.getUserBounds();let{min:n,max:o}=this;const a=l=>n=e?n:l,r=l=>o=s?o:l;if(t){const l=at(n),c=at(o);l<0&&c<0?r(0):l>0&&c>0&&a(0)}if(n===o){let l=o===0?1:Math.abs(o*.05);r(o+l),t||a(n-l)}this.min=n,this.max=o}getTickLimit(){const t=this.options.ticks;let{maxTicksLimit:e,stepSize:s}=t,n;return s?(n=Math.ceil(this.max/s)-Math.floor(this.min/s)+1,n>1e3&&(console.warn(`scales.${this.id}.ticks.stepSize: ${s} would result generating up to ${n} ticks. Limiting to 1000.`),n=1e3)):(n=this.computeTickLimit(),e=e||11),e&&(n=Math.min(e,n)),n}computeTickLimit(){return Number.POSITIVE_INFINITY}buildTicks(){const t=this.options,e=t.ticks;let s=this.getTickLimit();s=Math.max(2,s);const n={maxTicks:s,bounds:t.bounds,min:t.min,max:t.max,precision:e.precision,step:e.stepSize,count:e.count,maxDigits:this._maxDigits(),horizontal:this.isHorizontal(),minRotation:e.minRotation||0,includeBounds:e.includeBounds!==!1},o=this._range||this,a=cc(n,o);return t.bounds==="ticks"&&cn(a,this,"value"),t.reverse?(a.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),a}configure(){const t=this.ticks;let e=this.min,s=this.max;if(super.configure(),this.options.offset&&t.length){const n=(s-e)/Math.max(t.length-1,1)/2;e-=n,s+=n}this._startValue=e,this._endValue=s,this._valueRange=s-e}getLabelForValue(t){return Fi(t,this.chart.options.locale,this.options.ticks.format)}}class ki extends Ge{determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=V(t)?t:0,this.max=V(e)?e:1,this.handleTickRangeOptions()}computeTickLimit(){const t=this.isHorizontal(),e=t?this.width:this.height,s=mt(this.options.ticks.minRotation),n=(t?Math.sin(s):Math.cos(s))||.001,o=this._resolveTickFontOptions(0);return Math.ceil(e/Math.min(40,o.lineHeight/n))}getPixelForValue(t){return t===null?NaN:this.getPixelForDecimal((t-this._startValue)/this._valueRange)}getValueForPixel(t){return this._startValue+this.getDecimalForPixel(t)*this._valueRange}}S(ki,"id","linear"),S(ki,"defaults",{ticks:{callback:Qe.formatters.numeric}});const me=i=>Math.floor(pt(i)),Dt=(i,t)=>Math.pow(10,me(i)+t);function qs(i){return i/Math.pow(10,me(i))===1}function Gs(i,t,e){const s=Math.pow(10,e),n=Math.floor(i/s);return Math.ceil(t/s)-n}function hc(i,t){const e=t-i;let s=me(e);for(;Gs(i,t,s)>10;)s++;for(;Gs(i,t,s)<10;)s--;return Math.min(s,me(i))}function dc(i,{min:t,max:e}){t=K(i.min,t);const s=[],n=me(t);let o=hc(t,e),a=o<0?Math.pow(10,Math.abs(o)):1;const r=Math.pow(10,o),l=n>o?Math.pow(10,n):0,c=Math.round((t-l)*a)/a,h=Math.floor((t-l)/r/10)*r*10;let d=Math.floor((c-h)/Math.pow(10,o)),f=K(i.min,Math.round((l+h+d*Math.pow(10,o))*a)/a);for(;f=10?d=d<15?15:20:d++,d>=20&&(o++,d=2,a=o>=0?1:a),f=Math.round((l+h+d*Math.pow(10,o))*a)/a;const u=K(i.max,f);return s.push({value:u,major:qs(u),significand:d}),s}class wi extends Bt{constructor(t){super(t),this.start=void 0,this.end=void 0,this._startValue=void 0,this._valueRange=0}parse(t,e){const s=Ge.prototype.parse.apply(this,[t,e]);if(s===0){this._zero=!0;return}return V(s)&&s>0?s:null}determineDataLimits(){const{min:t,max:e}=this.getMinMax(!0);this.min=V(t)?Math.max(0,t):null,this.max=V(e)?Math.max(0,e):null,this.options.beginAtZero&&(this._zero=!0),this._zero&&this.min!==this._suggestedMin&&!V(this._userMin)&&(this.min=t===Dt(this.min,0)?Dt(this.min,-1):Dt(this.min,0)),this.handleTickRangeOptions()}handleTickRangeOptions(){const{minDefined:t,maxDefined:e}=this.getUserBounds();let s=this.min,n=this.max;const o=r=>s=t?s:r,a=r=>n=e?n:r;s===n&&(s<=0?(o(1),a(10)):(o(Dt(s,-1)),a(Dt(n,1)))),s<=0&&o(Dt(n,-1)),n<=0&&a(Dt(s,1)),this.min=s,this.max=n}buildTicks(){const t=this.options,e={min:this._userMin,max:this._userMax},s=dc(e,this);return t.bounds==="ticks"&&cn(s,this,"value"),t.reverse?(s.reverse(),this.start=this.max,this.end=this.min):(this.start=this.min,this.end=this.max),s}getLabelForValue(t){return t===void 0?"0":Fi(t,this.chart.options.locale,this.options.ticks.format)}configure(){const t=this.min;super.configure(),this._startValue=pt(t),this._valueRange=pt(this.max)-pt(t)}getPixelForValue(t){return(t===void 0||t===0)&&(t=this.min),t===null||isNaN(t)?NaN:this.getPixelForDecimal(t===this.min?0:(pt(t)-this._startValue)/this._valueRange)}getValueForPixel(t){const e=this.getDecimalForPixel(t);return Math.pow(10,this._startValue+e*this._valueRange)}}S(wi,"id","logarithmic"),S(wi,"defaults",{ticks:{callback:Qe.formatters.logarithmic,major:{enabled:!0}}});function Mi(i){const t=i.ticks;if(t.display&&i.display){const e=$(t.backdropPadding);return D(t.font&&t.font.size,z.font.size)+e.height}return 0}function fc(i,t,e){return e=E(e)?e:[e],{w:na(i,t.string,e),h:e.length*t.lineHeight}}function Zs(i,t,e,s,n){return i===s||i===n?{start:t-e/2,end:t+e/2}:in?{start:t-e,end:t}:{start:t,end:t+e}}function uc(i){const t={l:i.left+i._padding.left,r:i.right-i._padding.right,t:i.top+i._padding.top,b:i.bottom-i._padding.bottom},e=Object.assign({},t),s=[],n=[],o=i._pointLabels.length,a=i.options.pointLabels,r=a.centerPointLabels?H/o:0;for(let l=0;lt.r&&(r=(s.end-t.r)/o,i.r=Math.max(i.r,t.r+r)),n.startt.b&&(l=(n.end-t.b)/a,i.b=Math.max(i.b,t.b+l))}function pc(i,t,e){const s=i.drawingArea,{extra:n,additionalAngle:o,padding:a,size:r}=e,l=i.getPointPosition(t,s+n+a,o),c=Math.round(Oi(et(l.angle+q))),h=yc(l.y,r.h,c),d=xc(c),f=_c(l.x,r.w,d);return{visible:!0,x:l.x,y:h,textAlign:d,left:f,top:h,right:f+r.w,bottom:h+r.h}}function mc(i,t){if(!t)return!0;const{left:e,top:s,right:n,bottom:o}=i;return!(ft({x:e,y:s},t)||ft({x:e,y:o},t)||ft({x:n,y:s},t)||ft({x:n,y:o},t))}function bc(i,t,e){const s=[],n=i._pointLabels.length,o=i.options,{centerPointLabels:a,display:r}=o.pointLabels,l={extra:Mi(o)/2,additionalAngle:a?H/n:0};let c;for(let h=0;h270||e<90)&&(i-=t),i}function vc(i,t,e){const{left:s,top:n,right:o,bottom:a}=e,{backdropColor:r}=t;if(!A(r)){const l=Ft(t.borderRadius),c=$(t.backdropPadding);i.fillStyle=r;const h=s-c.left,d=n-c.top,f=o-s+c.width,u=a-n+c.height;Object.values(l).some(p=>p!==0)?(i.beginPath(),ge(i,{x:h,y:d,w:f,h:u,radius:l}),i.fill()):i.fillRect(h,d,f,u)}}function kc(i,t){const{ctx:e,options:{pointLabels:s}}=i;for(let n=t-1;n>=0;n--){const o=i._pointLabelItems[n];if(!o.visible)continue;const a=s.setContext(i.getPointLabelContext(n));vc(e,a,o);const r=W(a.font),{x:l,y:c,textAlign:h}=o;zt(e,i._pointLabels[n],l,c+r.lineHeight/2,r,{color:a.color,textAlign:h,textBaseline:"middle"})}}function Xn(i,t,e,s){const{ctx:n}=i;if(e)n.arc(i.xCenter,i.yCenter,t,0,tt);else{let o=i.getPointPosition(0,t);n.moveTo(o.x,o.y);for(let a=1;a{const n=R(this.options.pointLabels.callback,[e,s],this);return n||n===0?n:""}).filter((e,s)=>this.chart.getDataVisibility(s))}fit(){const t=this.options;t.display&&t.pointLabels.display?uc(this):this.setCenterPoint(0,0,0,0)}setCenterPoint(t,e,s,n){this.xCenter+=Math.floor((t-e)/2),this.yCenter+=Math.floor((s-n)/2),this.drawingArea-=Math.min(this.drawingArea/2,Math.max(t,e,s,n))}getIndexAngle(t){const e=tt/(this._pointLabels.length||1),s=this.options.startAngle||0;return et(t*e+mt(s))}getDistanceFromCenterForValue(t){if(A(t))return NaN;const e=this.drawingArea/(this.max-this.min);return this.options.reverse?(this.max-t)*e:(t-this.min)*e}getValueForDistanceFromCenter(t){if(A(t))return NaN;const e=t/(this.drawingArea/(this.max-this.min));return this.options.reverse?this.max-e:this.min+e}getPointLabelContext(t){const e=this._pointLabels||[];if(t>=0&&t{if(d!==0||d===0&&this.min<0){l=this.getDistanceFromCenterForValue(h.value);const f=this.getContext(d),u=n.setContext(f),p=o.setContext(f);wc(this,u,l,a,p)}}),s.display){for(t.save(),r=a-1;r>=0;r--){const h=s.setContext(this.getPointLabelContext(r)),{color:d,lineWidth:f}=h;!f||!d||(t.lineWidth=f,t.strokeStyle=d,t.setLineDash(h.borderDash),t.lineDashOffset=h.borderDashOffset,l=this.getDistanceFromCenterForValue(e.ticks.reverse?this.min:this.max),c=this.getPointPosition(r,l),t.beginPath(),t.moveTo(this.xCenter,this.yCenter),t.lineTo(c.x,c.y),t.stroke())}t.restore()}}drawBorder(){}drawLabels(){const t=this.ctx,e=this.options,s=e.ticks;if(!s.display)return;const n=this.getIndexAngle(0);let o,a;t.save(),t.translate(this.xCenter,this.yCenter),t.rotate(n),t.textAlign="center",t.textBaseline="middle",this.ticks.forEach((r,l)=>{if(l===0&&this.min>=0&&!e.reverse)return;const c=s.setContext(this.getContext(l)),h=W(c.font);if(o=this.getDistanceFromCenterForValue(this.ticks[l].value),c.showLabelBackdrop){t.font=h.string,a=t.measureText(r.label).width,t.fillStyle=c.backdropColor;const d=$(c.backdropPadding);t.fillRect(-a/2-d.left,-o-h.size/2-d.top,a+d.width,h.size+d.height)}zt(t,r.label,0,-o,h,{color:c.color,strokeColor:c.textStrokeColor,strokeWidth:c.textStrokeWidth})}),t.restore()}drawTitle(){}}S(Re,"id","radialLinear"),S(Re,"defaults",{display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,lineWidth:1,borderDash:[],borderDashOffset:0},grid:{circular:!1},startAngle:0,ticks:{showLabelBackdrop:!0,callback:Qe.formatters.numeric},pointLabels:{backdropColor:void 0,backdropPadding:2,display:!0,font:{size:10},callback(t){return t},padding:5,centerPointLabels:!1}}),S(Re,"defaultRoutes",{"angleLines.color":"borderColor","pointLabels.color":"color","ticks.color":"color"}),S(Re,"descriptors",{angleLines:{_fallback:"grid"}});const ti={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},X=Object.keys(ti);function Qs(i,t){return i-t}function Js(i,t){if(A(t))return null;const e=i._adapter,{parser:s,round:n,isoWeekday:o}=i._parseOpts;let a=t;return typeof s=="function"&&(a=s(a)),V(a)||(a=typeof s=="string"?e.parse(a,s):e.parse(a)),a===null?null:(n&&(a=n==="week"&&(Ut(o)||o===!0)?e.startOf(a,"isoWeek",o):e.startOf(a,n)),+a)}function tn(i,t,e,s){const n=X.length;for(let o=X.indexOf(i);o=X.indexOf(e);o--){const a=X[o];if(ti[a].common&&i._adapter.diff(n,s,a)>=t-1)return a}return X[e?X.indexOf(e):0]}function Pc(i){for(let t=X.indexOf(i)+1,e=X.length;t=t?e[s]:e[n];i[o]=!0}}function Cc(i,t,e,s){const n=i._adapter,o=+n.startOf(t[0].value,s),a=t[t.length-1].value;let r,l;for(r=o;r<=a;r=+n.add(r,1,s))l=e[r],l>=0&&(t[l].major=!0);return t}function sn(i,t,e){const s=[],n={},o=t.length;let a,r;for(a=0;a+t.value))}initOffsets(t=[]){let e=0,s=0,n,o;this.options.offset&&t.length&&(n=this.getDecimalForValue(t[0]),t.length===1?e=1-n:e=(this.getDecimalForValue(t[1])-n)/2,o=this.getDecimalForValue(t[t.length-1]),t.length===1?s=o:s=(o-this.getDecimalForValue(t[t.length-2]))/2);const a=t.length<3?.5:.25;e=G(e,0,a),s=G(s,0,a),this._offsets={start:e,end:s,factor:1/(e+1+s)}}_generate(){const t=this._adapter,e=this.min,s=this.max,n=this.options,o=n.time,a=o.unit||tn(o.minUnit,e,s,this._getLabelCapacity(e)),r=D(n.ticks.stepSize,1),l=a==="week"?o.isoWeekday:!1,c=Ut(l)||l===!0,h={};let d=e,f,u;if(c&&(d=+t.startOf(d,"isoWeek",l)),d=+t.startOf(d,c?"day":a),t.diff(s,e,a)>1e5*r)throw new Error(e+" and "+s+" are too far apart with stepSize of "+r+" "+a);const p=n.ticks.source==="data"&&this.getDataTimestamps();for(f=d,u=0;f+g)}getLabelForValue(t){const e=this._adapter,s=this.options.time;return s.tooltipFormat?e.format(t,s.tooltipFormat):e.format(t,s.displayFormats.datetime)}format(t,e){const n=this.options.time.displayFormats,o=this._unit,a=e||n[o];return this._adapter.format(t,a)}_tickFormatFunction(t,e,s,n){const o=this.options,a=o.ticks.callback;if(a)return R(a,[t,e,s],this);const r=o.time.displayFormats,l=this._unit,c=this._majorUnit,h=l&&r[l],d=c&&r[c],f=s[e],u=c&&d&&f&&f.major;return this._adapter.format(t,n||(u?d:h))}generateTickLabels(t){let e,s,n;for(e=0,s=t.length;e0?r:1}getDataTimestamps(){let t=this._cache.data||[],e,s;if(t.length)return t;const n=this.getMatchingVisibleMetas();if(this._normalized&&n.length)return this._cache.data=n[0].controller.getAllParsedValues(this);for(e=0,s=n.length;e=i[s].pos&&t<=i[n].pos&&({lo:s,hi:n}=At(i,"pos",t)),{pos:o,time:r}=i[s],{pos:a,time:l}=i[n]):(t>=i[s].time&&t<=i[n].time&&({lo:s,hi:n}=At(i,"time",t)),{time:o,pos:r}=i[s],{time:a,pos:l}=i[n]);const c=a-o;return c?r+(l-r)*(t-o)/c:r}class nn extends Ze{constructor(t){super(t),this._table=[],this._minPos=void 0,this._tableRange=void 0}initOffsets(){const t=this._getTimestampsForTable(),e=this._table=this.buildLookupTable(t);this._minPos=Ee(e,this.min),this._tableRange=Ee(e,this.max)-this._minPos,super.initOffsets(t)}buildLookupTable(t){const{min:e,max:s}=this,n=[],o=[];let a,r,l,c,h;for(a=0,r=t.length;a=e&&c<=s&&n.push(c);if(n.length<2)return[{time:e,pos:0},{time:s,pos:1}];for(a=0,r=n.length;an-o)}_getTimestampsForTable(){let t=this._cache.all||[];if(t.length)return t;const e=this.getDataTimestamps(),s=this.getLabelTimestamps();return e.length&&s.length?t=this.normalize(e.concat(s)):t=e.length?e:s,t=this._cache.all=t,t}getDecimalForValue(t){return(Ee(this._table,t)-this._minPos)/this._tableRange}getValueForPixel(t){const e=this._offsets,s=this.getDecimalForPixel(t)/e.factor-e.end;return Ee(this._table,s*this._tableRange+this._minPos,!0)}}S(nn,"id","timeseries"),S(nn,"defaults",Ze.defaults);const ut=i=>(no("data-v-29855a4f"),i=i(),oo(),i),Dc={class:"insights"},Oc=ut(()=>I("h1",null,[I("span",{class:"material-symbols-rounded"},"insights"),I("span",null,"Insights")],-1)),Tc={class:"left"},Lc={class:"right"},Ac=ut(()=>I("span",{class:"label uppercase"}," short term ",-1)),Fc=ut(()=>I("span",{class:"label uppercase"}," integrated ",-1)),Ic=ut(()=>I("span",{class:"label uppercase"}," max momentary ",-1)),Rc={class:"meter"},Ec=ut(()=>I("span",{class:"label uppercase"}," L ",-1)),zc=["value"],Bc={class:"meter"},Hc=ut(()=>I("span",{class:"label uppercase"}," R ",-1)),Wc=["value"],Vc=ut(()=>I("h4",null,"Correlation",-1)),Nc={class:"meter"},jc=ut(()=>I("span",{class:"label uppercase"}," L/R ",-1)),$c=["value"],Yc=ut(()=>I("h4",null,"Stereo Field",-1)),Uc={class:"container stereo-field"},Xc={class:"inner"},Kc=Gn({__name:"Insight",setup(i){it.register(Be,ze,Ne,oe,Zl,oc,ql,je,vi,ki,wi,He);const t=Zt(),e=Zt(),s=Zt(),n=Zn(),o=Qn(),a=Zt([]),r=Zt([]),l=Array.from({length:60},()=>-1/0),c=f=>{var u,p;f.width=(u=f.parentElement)==null?void 0:u.clientWidth,f.height=(p=f.parentElement)==null?void 0:p.clientHeight,window.addEventListener("resize",()=>{var g,m;f.width=(g=f.parentElement)==null?void 0:g.clientWidth,f.height=(m=f.parentElement)==null?void 0:m.clientHeight})};Jn(()=>{c(e.value),c(t.value),c(s.value),a.value=l,r.value=l;const f=new it(t.value,{data:{labels:Array.from({length:60},(m,b)=>b),datasets:h()},options:{responsive:!0,maintainAspectRatio:!1,scales:{y:{min:-30,max:0,ticks:{font:{family:"Poppins",size:10}},title:{display:!0,text:"Loudness (LUFS)",font:{family:"Poppins"}}},x:{ticks:{display:!1},title:{display:!0,text:"Time (s)",font:{family:"Poppins"}}}},animation:{duration:0}}}),u=new it(e.value,{type:"scatter",data:{datasets:[{data:[],backgroundColor:"#00c48b",borderColor:"#00c48b",pointRadius:.5},{data:[],backgroundColor:"#00c48b99",borderColor:"#00c48bcc",pointRadius:.3},{data:[],backgroundColor:"#00c48b33",borderColor:"#00c48b99",pointRadius:.1}]},options:{responsive:!0,maintainAspectRatio:!0,aspectRatio:1,animation:!1,scales:{y:{min:-1.5,max:1.5,ticks:{callback:m=>m,font:{family:"Poppins"}},title:{display:!0,text:"Left",font:{family:"Poppins"}}},x:{min:-1.5,max:1.5,ticks:{callback:m=>m,font:{family:"Poppins"}},title:{display:!0,text:"Right",font:{family:"Poppins"}}}},plugins:{legend:{display:!1}}}}),p=new it(s.value,{data:{datasets:[{type:"line",tension:1,cubicInterpolationMode:"monotone",data:[{x:0,y:0},{x:255,y:50}],borderColor:"#00c48b"}]},options:{responsive:!0,maintainAspectRatio:!1,scales:{y:{min:0,max:255,ticks:{display:!1},title:{display:!0,text:"Gain",font:{family:"Poppins"}}},x:{min:0,max:18e3,type:"logarithmic",ticks:{callback:m=>m>=1e3?m/1e3+"k":m,font:{family:"Poppins"}},title:{display:!0,text:"Frequency (Hz)",font:{family:"Poppins"}}}},plugins:{legend:{display:!1}}}});let g=0;setInterval(()=>{if(!n.playing||(u.data.datasets[2].data=u.data.datasets[1].data,u.data.datasets[1].data=u.data.datasets[0].data,u.data.datasets[0].data=o.stereo.field,u.update(),g++%10!==0))return;const m=o.tonalBalance.data.reduce((b,x,v)=>(b.push({x:v*188,y:x}),b),[]);p.data.datasets[0].data=m,p.update(),f.data.datasets[0].data.shift(),f.data.datasets[0].data.push(o.loudness.shortterm),f.data.datasets[1].data.shift(),f.data.datasets[1].data.push(o.loudness.integrated),f.data.datasets[2].data.shift(),f.data.datasets[2].data.push([-60,o.loudness.momentary]),f.update()},100)});const h=()=>[{label:"short term",type:"line",data:l.map(f=>f),borderColor:"#c7aa19"},{label:"integrated",type:"line",data:l.map(f=>f),borderColor:"#189de4"},{label:"momentary",type:"bar",data:l.map(f=>[f,-1/0]),backgroundColor:"#e8545426"}],d=f=>Math.round(f*100)/100+" LUFS";return(f,u)=>(to(),eo(so,null,[wt(io,{src:Mt(n).song.cover,direction:"to top right"},null,8,["src"]),I("div",Dc,[Oc,I("div",Tc,[wt(Nt,{class:"relative loudness-chart p-2"},{default:Vt(()=>[I("canvas",{ref_key:"chart",ref:t},null,512)]),_:1}),wt(Nt,{class:"relative tonal-balance-chart p-2"},{default:Vt(()=>[I("canvas",{ref_key:"tonalBalanceChart",ref:s},null,512)]),_:1})]),I("div",Lc,[wt(Nt,{class:"mode"},{default:Vt(()=>[Ac,I("span",null,ei(d(Mt(o).loudness.shortterm)),1)]),_:1}),wt(Nt,{class:"mode"},{default:Vt(()=>[Fc,I("span",null,ei(d(Mt(o).loudness.integrated)),1)]),_:1}),wt(Nt,{class:"mode"},{default:Vt(()=>[Ic,I("span",null,ei(d(Mt(o).loudness.maxMomentary)),1)]),_:1}),wt(Nt,{class:"meters"},{default:Vt(()=>[I("div",Rc,[Ec,I("meter",{optimum:"0.25",low:"0.5",high:"0.75",min:"0",max:"1",value:Mt(o).stereo.left},null,8,zc)]),I("div",Bc,[Hc,I("meter",{optimum:"0.25",low:"0.5",high:"0.75",min:"0",max:"1",value:Mt(o).stereo.right},null,8,Wc)]),Vc,I("div",Nc,[jc,I("meter",{optimum:"1",low:"-0.5",high:"0",min:"-1",max:"1",value:Mt(o).stereo.correlation},null,8,$c)]),Yc,I("div",Uc,[I("div",Xc,[I("canvas",{ref_key:"stereoFieldChart",ref:e},null,512)])])]),_:1})])])],64))}}),Zc=ao(Kc,[["__scopeId","data-v-29855a4f"]]);export{Zc as default}; diff --git a/src/ui/dist/assets/Insight-YxgeZZYl.js.gz b/src/ui/dist/assets/Insight-YxgeZZYl.js.gz new file mode 100644 index 000000000..5104332bf Binary files /dev/null and b/src/ui/dist/assets/Insight-YxgeZZYl.js.gz differ diff --git a/src/ui/dist/assets/Insight-ab13ce31.css b/src/ui/dist/assets/Insight-ab13ce31.css deleted file mode 100644 index 1f39596d6..000000000 --- a/src/ui/dist/assets/Insight-ab13ce31.css +++ /dev/null @@ -1 +0,0 @@ -.meters[data-v-99f7d66f]{display:flex;flex-direction:column;justify-content:center;gap:1em;padding:.5em;grid-column:1/-1;overflow:hidden}.meters .stereo-field[data-v-99f7d66f]{align-self:center;aspect-ratio:1;flex:1;position:relative;height:100%}.meters .stereo-field .inner[data-v-99f7d66f]{position:absolute;top:0;right:0;bottom:0;left:0;aspect-ratio:1;height:100%;margin:auto}.meters h4[data-v-99f7d66f]{margin-bottom:0}.meters .meter[data-v-99f7d66f]{display:grid;grid-template-columns:1ch 1fr;align-items:center;gap:1em}.meters .meter .label[data-v-99f7d66f]{font-size:.8em;color:var(--fg-base-dk)}.meters .meter meter[data-v-99f7d66f]{width:100%}.insights[data-v-99f7d66f]{display:grid;grid-template-columns:2fr 1fr;gap:1em;padding:1em;height:100%;overflow:hidden}.insights>h1[data-v-99f7d66f]{grid-column:1/-1}.insights>h1 span[data-v-99f7d66f]{margin-right:.5em}.left[data-v-99f7d66f]{display:grid;grid-template-rows:1fr max-content;gap:1em}.left .loudness-chart[data-v-99f7d66f]{width:100%;height:calc(2 * (100vh - var(--h-header) - var(--h-player) - 2.25rem - 5em) / 3)}.left .tonal-balance-chart[data-v-99f7d66f]{width:100%;height:calc(1 * (100vh - var(--h-header) - var(--h-player) - 2.25rem - 5em) / 3)}.right[data-v-99f7d66f]{display:grid;grid-template-columns:repeat(3,1fr);gap:1em;overflow:hidden}.right .mode[data-v-99f7d66f]{padding:.5em;display:flex;flex-direction:column;align-items:center;width:100%}.right .mode .label[data-v-99f7d66f]{font-size:.8em;color:var(--fg-base-dk)}meter[data-v-99f7d66f]{--background: var(--bg-base);--optimum: var(--success);--sub-optimum: var(--warning);--sub-sub-optimum: var(--fail);display:block;width:100%}meter[data-v-99f7d66f]::-webkit-meter-bar{background:var(--background);border:2px solid var(--border-base)}meter[data-v-99f7d66f]:-moz-meter-optimum::-moz-meter-bar{background:var(--optimum)}meter[data-v-99f7d66f]::-webkit-meter-optimum-value{background:var(--optimum)}meter[data-v-99f7d66f]:-moz-meter-sub-optimum::-moz-meter-bar{background:var(--sub-optimum)}meter[data-v-99f7d66f]::-webkit-meter-suboptimum-value{background:var(--sub-optimum)}meter[data-v-99f7d66f]:-moz-meter-sub-sub-optimum::-moz-meter-bar{background:var(--sub-sub-optimum)}meter[data-v-99f7d66f]::-webkit-meter-even-less-good-value{background:var(--sub-sub-optimum)} diff --git a/src/ui/dist/assets/Insight-ab13ce31.css.gz b/src/ui/dist/assets/Insight-ab13ce31.css.gz deleted file mode 100644 index d62db01cd..000000000 Binary files a/src/ui/dist/assets/Insight-ab13ce31.css.gz and /dev/null differ diff --git a/src/ui/dist/assets/Liked-DVwvw45D.js b/src/ui/dist/assets/Liked-DVwvw45D.js new file mode 100644 index 000000000..50971e523 --- /dev/null +++ b/src/ui/dist/assets/Liked-DVwvw45D.js @@ -0,0 +1 @@ +import{T as o}from"./Template-CN0MoJmO.js";import{i as r,o as t}from"./index-DnhwPdfm.js";import"./PlaylistEntry-B2l8v20L.js";import"./EditSong.vue_vue_type_script_setup_true_lang-C5fIPhus.js";import"./playerInPicture-Dfp9IAsf.js";import"./vuedraggable.umd-D7qFKUf_.js";import"./FactCard-D7mi8_uS.js";import"./gistClient-BQBNGijJ.js";import"./Markdown.vue_vue_type_style_index_0_lang-fjKVBP59.js";const k={__name:"Liked",setup(p){return(e,i)=>(t(),r(o,{id:"liked"}))}};export{k as default}; diff --git a/src/ui/dist/assets/Liked-cf20cd13.js b/src/ui/dist/assets/Liked-cf20cd13.js deleted file mode 100644 index cafbb12d4..000000000 --- a/src/ui/dist/assets/Liked-cf20cd13.js +++ /dev/null @@ -1 +0,0 @@ -import{T as o}from"./Template-96d3b86b.js";import{i as r,o as t}from"./index-4a15a213.js";import"./PlaylistEntry-4f48a6f3.js";import"./EditSong.vue_vue_type_script_setup_true_lang-0170f423.js";import"./playerInPicture-af203fdf.js";import"./vuedraggable.umd-c5c8aeea.js";import"./FactCard-07fe2677.js";import"./gistClient-56b8a233.js";import"./Markdown.vue_vue_type_style_index_0_lang-99c6b55d.js";const k={__name:"Liked",setup(p){return(e,i)=>(t(),r(o,{id:"liked"}))}};export{k as default}; diff --git a/src/ui/dist/assets/Markdown-d883632e.css b/src/ui/dist/assets/Markdown-BUqZ792e.css similarity index 100% rename from src/ui/dist/assets/Markdown-d883632e.css rename to src/ui/dist/assets/Markdown-BUqZ792e.css diff --git a/src/ui/dist/assets/Markdown.vue_vue_type_style_index_0_lang-99c6b55d.js.gz b/src/ui/dist/assets/Markdown.vue_vue_type_style_index_0_lang-99c6b55d.js.gz deleted file mode 100644 index a2cfef805..000000000 Binary files a/src/ui/dist/assets/Markdown.vue_vue_type_style_index_0_lang-99c6b55d.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Markdown.vue_vue_type_style_index_0_lang-99c6b55d.js b/src/ui/dist/assets/Markdown.vue_vue_type_style_index_0_lang-fjKVBP59.js similarity index 86% rename from src/ui/dist/assets/Markdown.vue_vue_type_style_index_0_lang-99c6b55d.js rename to src/ui/dist/assets/Markdown.vue_vue_type_style_index_0_lang-fjKVBP59.js index 70c85a8c7..4a5b93cc2 100644 --- a/src/ui/dist/assets/Markdown.vue_vue_type_style_index_0_lang-99c6b55d.js +++ b/src/ui/dist/assets/Markdown.vue_vue_type_style_index_0_lang-fjKVBP59.js @@ -1,6 +1,6 @@ -import{aB as Ht,aC as Zt,e as Jt,n as Wt,o as Yt,i as Qt,w as Kt,a as Xt,u as nr,a9 as tr}from"./index-4a15a213.js";var q={};const rr="Á",or="á",er="Ă",sr="ă",cr="∾",ir="∿",ar="∾̳",lr="Â",ur="â",pr="´",fr="А",hr="а",dr="Æ",mr="æ",gr="⁡",_r="𝔄",br="𝔞",kr="À",xr="à",vr="ℵ",yr="ℵ",Cr="Α",wr="α",Ar="Ā",qr="ā",Dr="⨿",Er="&",Sr="&",Fr="⩕",Lr="⩓",Tr="∧",Rr="⩜",zr="⩘",Ir="⩚",Br="∠",Nr="⦤",Mr="∠",Pr="⦨",Or="⦩",Ur="⦪",Vr="⦫",$r="⦬",Gr="⦭",jr="⦮",Hr="⦯",Zr="∡",Jr="∟",Wr="⊾",Yr="⦝",Qr="∢",Kr="Å",Xr="⍼",no="Ą",to="ą",ro="𝔸",oo="𝕒",eo="⩯",so="≈",co="⩰",io="≊",ao="≋",lo="'",uo="⁡",po="≈",fo="≊",ho="Å",mo="å",go="𝒜",_o="𝒶",bo="≔",ko="*",xo="≈",vo="≍",yo="Ã",Co="ã",wo="Ä",Ao="ä",qo="∳",Do="⨑",Eo="≌",So="϶",Fo="‵",Lo="∽",To="⋍",Ro="∖",zo="⫧",Io="⊽",Bo="⌅",No="⌆",Mo="⌅",Po="⎵",Oo="⎶",Uo="≌",Vo="Б",$o="б",Go="„",jo="∵",Ho="∵",Zo="∵",Jo="⦰",Wo="϶",Yo="ℬ",Qo="ℬ",Ko="Β",Xo="β",ne="ℶ",te="≬",re="𝔅",oe="𝔟",ee="⋂",se="◯",ce="⋃",ie="⨀",ae="⨁",le="⨂",ue="⨆",pe="★",fe="▽",he="△",de="⨄",me="⋁",ge="⋀",_e="⤍",be="⧫",ke="▪",xe="▴",ve="▾",ye="◂",Ce="▸",we="␣",Ae="▒",qe="░",De="▓",Ee="█",Se="=⃥",Fe="≡⃥",Le="⫭",Te="⌐",Re="𝔹",ze="𝕓",Ie="⊥",Be="⊥",Ne="⋈",Me="⧉",Pe="┐",Oe="╕",Ue="╖",Ve="╗",$e="┌",Ge="╒",je="╓",He="╔",Ze="─",Je="═",We="┬",Ye="╤",Qe="╥",Ke="╦",Xe="┴",ns="╧",ts="╨",rs="╩",os="⊟",es="⊞",ss="⊠",cs="┘",is="╛",as="╜",ls="╝",us="└",ps="╘",fs="╙",hs="╚",ds="│",ms="║",gs="┼",_s="╪",bs="╫",ks="╬",xs="┤",vs="╡",ys="╢",Cs="╣",ws="├",As="╞",qs="╟",Ds="╠",Es="‵",Ss="˘",Fs="˘",Ls="¦",Ts="𝒷",Rs="ℬ",zs="⁏",Is="∽",Bs="⋍",Ns="⧅",Ms="\\",Ps="⟈",Os="•",Us="•",Vs="≎",$s="⪮",Gs="≏",js="≎",Hs="≏",Zs="Ć",Js="ć",Ws="⩄",Ys="⩉",Qs="⩋",Ks="∩",Xs="⋒",nc="⩇",tc="⩀",rc="ⅅ",oc="∩︀",ec="⁁",sc="ˇ",cc="ℭ",ic="⩍",ac="Č",lc="č",uc="Ç",pc="ç",fc="Ĉ",hc="ĉ",dc="∰",mc="⩌",gc="⩐",_c="Ċ",bc="ċ",kc="¸",xc="¸",vc="⦲",yc="¢",Cc="·",wc="·",Ac="𝔠",qc="ℭ",Dc="Ч",Ec="ч",Sc="✓",Fc="✓",Lc="Χ",Tc="χ",Rc="ˆ",zc="≗",Ic="↺",Bc="↻",Nc="⊛",Mc="⊚",Pc="⊝",Oc="⊙",Uc="®",Vc="Ⓢ",$c="⊖",Gc="⊕",jc="⊗",Hc="○",Zc="⧃",Jc="≗",Wc="⨐",Yc="⫯",Qc="⧂",Kc="∲",Xc="”",ni="’",ti="♣",ri="♣",oi=":",ei="∷",si="⩴",ci="≔",ii="≔",ai=",",li="@",ui="∁",pi="∘",fi="∁",hi="ℂ",di="≅",mi="⩭",gi="≡",_i="∮",bi="∯",ki="∮",xi="𝕔",vi="ℂ",yi="∐",Ci="∐",wi="©",Ai="©",qi="℗",Di="∳",Ei="↵",Si="✗",Fi="⨯",Li="𝒞",Ti="𝒸",Ri="⫏",zi="⫑",Ii="⫐",Bi="⫒",Ni="⋯",Mi="⤸",Pi="⤵",Oi="⋞",Ui="⋟",Vi="↶",$i="⤽",Gi="⩈",ji="⩆",Hi="≍",Zi="∪",Ji="⋓",Wi="⩊",Yi="⊍",Qi="⩅",Ki="∪︀",Xi="↷",na="⤼",ta="⋞",ra="⋟",oa="⋎",ea="⋏",sa="¤",ca="↶",ia="↷",aa="⋎",la="⋏",ua="∲",pa="∱",fa="⌭",ha="†",da="‡",ma="ℸ",ga="↓",_a="↡",ba="⇓",ka="‐",xa="⫤",va="⊣",ya="⤏",Ca="˝",wa="Ď",Aa="ď",qa="Д",Da="д",Ea="‡",Sa="⇊",Fa="ⅅ",La="ⅆ",Ta="⤑",Ra="⩷",za="°",Ia="∇",Ba="Δ",Na="δ",Ma="⦱",Pa="⥿",Oa="𝔇",Ua="𝔡",Va="⥥",$a="⇃",Ga="⇂",ja="´",Ha="˙",Za="˝",Ja="`",Wa="˜",Ya="⋄",Qa="⋄",Ka="⋄",Xa="♦",nl="♦",tl="¨",rl="ⅆ",ol="ϝ",el="⋲",sl="÷",cl="÷",il="⋇",al="⋇",ll="Ђ",ul="ђ",pl="⌞",fl="⌍",hl="$",dl="𝔻",ml="𝕕",gl="¨",_l="˙",bl="⃜",kl="≐",xl="≑",vl="≐",yl="∸",Cl="∔",wl="⊡",Al="⌆",ql="∯",Dl="¨",El="⇓",Sl="⇐",Fl="⇔",Ll="⫤",Tl="⟸",Rl="⟺",zl="⟹",Il="⇒",Bl="⊨",Nl="⇑",Ml="⇕",Pl="∥",Ol="⤓",Ul="↓",Vl="↓",$l="⇓",Gl="⇵",jl="̑",Hl="⇊",Zl="⇃",Jl="⇂",Wl="⥐",Yl="⥞",Ql="⥖",Kl="↽",Xl="⥟",nu="⥗",tu="⇁",ru="↧",ou="⊤",eu="⤐",su="⌟",cu="⌌",iu="𝒟",au="𝒹",lu="Ѕ",uu="ѕ",pu="⧶",fu="Đ",hu="đ",du="⋱",mu="▿",gu="▾",_u="⇵",bu="⥯",ku="⦦",xu="Џ",vu="џ",yu="⟿",Cu="É",wu="é",Au="⩮",qu="Ě",Du="ě",Eu="Ê",Su="ê",Fu="≖",Lu="≕",Tu="Э",Ru="э",zu="⩷",Iu="Ė",Bu="ė",Nu="≑",Mu="ⅇ",Pu="≒",Ou="𝔈",Uu="𝔢",Vu="⪚",$u="È",Gu="è",ju="⪖",Hu="⪘",Zu="⪙",Ju="∈",Wu="⏧",Yu="ℓ",Qu="⪕",Ku="⪗",Xu="Ē",np="ē",tp="∅",rp="∅",op="◻",ep="∅",sp="▫",cp=" ",ip=" ",ap=" ",lp="Ŋ",up="ŋ",pp=" ",fp="Ę",hp="ę",dp="𝔼",mp="𝕖",gp="⋕",_p="⧣",bp="⩱",kp="ε",xp="Ε",vp="ε",yp="ϵ",Cp="≖",wp="≕",Ap="≂",qp="⪖",Dp="⪕",Ep="⩵",Sp="=",Fp="≂",Lp="≟",Tp="⇌",Rp="≡",zp="⩸",Ip="⧥",Bp="⥱",Np="≓",Mp="ℯ",Pp="ℰ",Op="≐",Up="⩳",Vp="≂",$p="Η",Gp="η",jp="Ð",Hp="ð",Zp="Ë",Jp="ë",Wp="€",Yp="!",Qp="∃",Kp="∃",Xp="ℰ",nf="ⅇ",tf="ⅇ",rf="≒",of="Ф",ef="ф",sf="♀",cf="ffi",af="ff",lf="ffl",uf="𝔉",pf="𝔣",ff="fi",hf="◼",df="▪",mf="fj",gf="♭",_f="fl",bf="▱",kf="ƒ",xf="𝔽",vf="𝕗",yf="∀",Cf="∀",wf="⋔",Af="⫙",qf="ℱ",Df="⨍",Ef="½",Sf="⅓",Ff="¼",Lf="⅕",Tf="⅙",Rf="⅛",zf="⅔",If="⅖",Bf="¾",Nf="⅗",Mf="⅜",Pf="⅘",Of="⅚",Uf="⅝",Vf="⅞",$f="⁄",Gf="⌢",jf="𝒻",Hf="ℱ",Zf="ǵ",Jf="Γ",Wf="γ",Yf="Ϝ",Qf="ϝ",Kf="⪆",Xf="Ğ",nh="ğ",th="Ģ",rh="Ĝ",oh="ĝ",eh="Г",sh="г",ch="Ġ",ih="ġ",ah="≥",lh="≧",uh="⪌",ph="⋛",fh="≥",hh="≧",dh="⩾",mh="⪩",gh="⩾",_h="⪀",bh="⪂",kh="⪄",xh="⋛︀",vh="⪔",yh="𝔊",Ch="𝔤",wh="≫",Ah="⋙",qh="⋙",Dh="ℷ",Eh="Ѓ",Sh="ѓ",Fh="⪥",Lh="≷",Th="⪒",Rh="⪤",zh="⪊",Ih="⪊",Bh="⪈",Nh="≩",Mh="⪈",Ph="≩",Oh="⋧",Uh="𝔾",Vh="𝕘",$h="`",Gh="≥",jh="⋛",Hh="≧",Zh="⪢",Jh="≷",Wh="⩾",Yh="≳",Qh="𝒢",Kh="ℊ",Xh="≳",nd="⪎",td="⪐",rd="⪧",od="⩺",ed=">",sd=">",cd="≫",id="⋗",ad="⦕",ld="⩼",ud="⪆",pd="⥸",fd="⋗",hd="⋛",dd="⪌",md="≷",gd="≳",_d="≩︀",bd="≩︀",kd="ˇ",xd=" ",vd="½",yd="ℋ",Cd="Ъ",wd="ъ",Ad="⥈",qd="↔",Dd="⇔",Ed="↭",Sd="^",Fd="ℏ",Ld="Ĥ",Td="ĥ",Rd="♥",zd="♥",Id="…",Bd="⊹",Nd="𝔥",Md="ℌ",Pd="ℋ",Od="⤥",Ud="⤦",Vd="⇿",$d="∻",Gd="↩",jd="↪",Hd="𝕙",Zd="ℍ",Jd="―",Wd="─",Yd="𝒽",Qd="ℋ",Kd="ℏ",Xd="Ħ",nm="ħ",tm="≎",rm="≏",om="⁃",em="‐",sm="Í",cm="í",im="⁣",am="Î",lm="î",um="И",pm="и",fm="İ",hm="Е",dm="е",mm="¡",gm="⇔",_m="𝔦",bm="ℑ",km="Ì",xm="ì",vm="ⅈ",ym="⨌",Cm="∭",wm="⧜",Am="℩",qm="IJ",Dm="ij",Em="Ī",Sm="ī",Fm="ℑ",Lm="ⅈ",Tm="ℐ",Rm="ℑ",zm="ı",Im="ℑ",Bm="⊷",Nm="Ƶ",Mm="⇒",Pm="℅",Om="∞",Um="⧝",Vm="ı",$m="⊺",Gm="∫",jm="∬",Hm="ℤ",Zm="∫",Jm="⊺",Wm="⋂",Ym="⨗",Qm="⨼",Km="⁣",Xm="⁢",ng="Ё",tg="ё",rg="Į",og="į",eg="𝕀",sg="𝕚",cg="Ι",ig="ι",ag="⨼",lg="¿",ug="𝒾",pg="ℐ",fg="∈",hg="⋵",dg="⋹",mg="⋴",gg="⋳",_g="∈",bg="⁢",kg="Ĩ",xg="ĩ",vg="І",yg="і",Cg="Ï",wg="ï",Ag="Ĵ",qg="ĵ",Dg="Й",Eg="й",Sg="𝔍",Fg="𝔧",Lg="ȷ",Tg="𝕁",Rg="𝕛",zg="𝒥",Ig="𝒿",Bg="Ј",Ng="ј",Mg="Є",Pg="є",Og="Κ",Ug="κ",Vg="ϰ",$g="Ķ",Gg="ķ",jg="К",Hg="к",Zg="𝔎",Jg="𝔨",Wg="ĸ",Yg="Х",Qg="х",Kg="Ќ",Xg="ќ",n0="𝕂",t0="𝕜",r0="𝒦",o0="𝓀",e0="⇚",s0="Ĺ",c0="ĺ",i0="⦴",a0="ℒ",l0="Λ",u0="λ",p0="⟨",f0="⟪",h0="⦑",d0="⟨",m0="⪅",g0="ℒ",_0="«",b0="⇤",k0="⤟",x0="←",v0="↞",y0="⇐",C0="⤝",w0="↩",A0="↫",q0="⤹",D0="⥳",E0="↢",S0="⤙",F0="⤛",L0="⪫",T0="⪭",R0="⪭︀",z0="⤌",I0="⤎",B0="❲",N0="{",M0="[",P0="⦋",O0="⦏",U0="⦍",V0="Ľ",$0="ľ",G0="Ļ",j0="ļ",H0="⌈",Z0="{",J0="Л",W0="л",Y0="⤶",Q0="“",K0="„",X0="⥧",n_="⥋",t_="↲",r_="≤",o_="≦",e_="⟨",s_="⇤",c_="←",i_="←",a_="⇐",l_="⇆",u_="↢",p_="⌈",f_="⟦",h_="⥡",d_="⥙",m_="⇃",g_="⌊",__="↽",b_="↼",k_="⇇",x_="↔",v_="↔",y_="⇔",C_="⇆",w_="⇋",A_="↭",q_="⥎",D_="↤",E_="⊣",S_="⥚",F_="⋋",L_="⧏",T_="⊲",R_="⊴",z_="⥑",I_="⥠",B_="⥘",N_="↿",M_="⥒",P_="↼",O_="⪋",U_="⋚",V_="≤",$_="≦",G_="⩽",j_="⪨",H_="⩽",Z_="⩿",J_="⪁",W_="⪃",Y_="⋚︀",Q_="⪓",K_="⪅",X_="⋖",nb="⋚",tb="⪋",rb="⋚",ob="≦",eb="≶",sb="≶",cb="⪡",ib="≲",ab="⩽",lb="≲",ub="⥼",pb="⌊",fb="𝔏",hb="𝔩",db="≶",mb="⪑",gb="⥢",_b="↽",bb="↼",kb="⥪",xb="▄",vb="Љ",yb="љ",Cb="⇇",wb="≪",Ab="⋘",qb="⌞",Db="⇚",Eb="⥫",Sb="◺",Fb="Ŀ",Lb="ŀ",Tb="⎰",Rb="⎰",zb="⪉",Ib="⪉",Bb="⪇",Nb="≨",Mb="⪇",Pb="≨",Ob="⋦",Ub="⟬",Vb="⇽",$b="⟦",Gb="⟵",jb="⟵",Hb="⟸",Zb="⟷",Jb="⟷",Wb="⟺",Yb="⟼",Qb="⟶",Kb="⟶",Xb="⟹",nk="↫",tk="↬",rk="⦅",ok="𝕃",ek="𝕝",sk="⨭",ck="⨴",ik="∗",ak="_",lk="↙",uk="↘",pk="◊",fk="◊",hk="⧫",dk="(",mk="⦓",gk="⇆",_k="⌟",bk="⇋",kk="⥭",xk="‎",vk="⊿",yk="‹",Ck="𝓁",wk="ℒ",Ak="↰",qk="↰",Dk="≲",Ek="⪍",Sk="⪏",Fk="[",Lk="‘",Tk="‚",Rk="Ł",zk="ł",Ik="⪦",Bk="⩹",Nk="<",Mk="<",Pk="≪",Ok="⋖",Uk="⋋",Vk="⋉",$k="⥶",Gk="⩻",jk="◃",Hk="⊴",Zk="◂",Jk="⦖",Wk="⥊",Yk="⥦",Qk="≨︀",Kk="≨︀",Xk="¯",nx="♂",tx="✠",rx="✠",ox="↦",ex="↦",sx="↧",cx="↤",ix="↥",ax="▮",lx="⨩",ux="М",px="м",fx="—",hx="∺",dx="∡",mx=" ",gx="ℳ",_x="𝔐",bx="𝔪",kx="℧",xx="µ",vx="*",yx="⫰",Cx="∣",wx="·",Ax="⊟",qx="−",Dx="∸",Ex="⨪",Sx="∓",Fx="⫛",Lx="…",Tx="∓",Rx="⊧",zx="𝕄",Ix="𝕞",Bx="∓",Nx="𝓂",Mx="ℳ",Px="∾",Ox="Μ",Ux="μ",Vx="⊸",$x="⊸",Gx="∇",jx="Ń",Hx="ń",Zx="∠⃒",Jx="≉",Wx="⩰̸",Yx="≋̸",Qx="ʼn",Kx="≉",Xx="♮",nv="ℕ",tv="♮",rv=" ",ov="≎̸",ev="≏̸",sv="⩃",cv="Ň",iv="ň",av="Ņ",lv="ņ",uv="≇",pv="⩭̸",fv="⩂",hv="Н",dv="н",mv="–",gv="⤤",_v="↗",bv="⇗",kv="↗",xv="≠",vv="≐̸",yv="​",Cv="​",wv="​",Av="​",qv="≢",Dv="⤨",Ev="≂̸",Sv="≫",Fv="≪",Lv=` -`,Tv="∄",Rv="∄",zv="𝔑",Iv="𝔫",Bv="≧̸",Nv="≱",Mv="≱",Pv="≧̸",Ov="⩾̸",Uv="⩾̸",Vv="⋙̸",$v="≵",Gv="≫⃒",jv="≯",Hv="≯",Zv="≫̸",Jv="↮",Wv="⇎",Yv="⫲",Qv="∋",Kv="⋼",Xv="⋺",ny="∋",ty="Њ",ry="њ",oy="↚",ey="⇍",sy="‥",cy="≦̸",iy="≰",ay="↚",ly="⇍",uy="↮",py="⇎",fy="≰",hy="≦̸",dy="⩽̸",my="⩽̸",gy="≮",_y="⋘̸",by="≴",ky="≪⃒",xy="≮",vy="⋪",yy="⋬",Cy="≪̸",wy="∤",Ay="⁠",qy=" ",Dy="𝕟",Ey="ℕ",Sy="⫬",Fy="¬",Ly="≢",Ty="≭",Ry="∦",zy="∉",Iy="≠",By="≂̸",Ny="∄",My="≯",Py="≱",Oy="≧̸",Uy="≫̸",Vy="≹",$y="⩾̸",Gy="≵",jy="≎̸",Hy="≏̸",Zy="∉",Jy="⋵̸",Wy="⋹̸",Yy="∉",Qy="⋷",Ky="⋶",Xy="⧏̸",nC="⋪",tC="⋬",rC="≮",oC="≰",eC="≸",sC="≪̸",cC="⩽̸",iC="≴",aC="⪢̸",lC="⪡̸",uC="∌",pC="∌",fC="⋾",hC="⋽",dC="⊀",mC="⪯̸",gC="⋠",_C="∌",bC="⧐̸",kC="⋫",xC="⋭",vC="⊏̸",yC="⋢",CC="⊐̸",wC="⋣",AC="⊂⃒",qC="⊈",DC="⊁",EC="⪰̸",SC="⋡",FC="≿̸",LC="⊃⃒",TC="⊉",RC="≁",zC="≄",IC="≇",BC="≉",NC="∤",MC="∦",PC="∦",OC="⫽⃥",UC="∂̸",VC="⨔",$C="⊀",GC="⋠",jC="⊀",HC="⪯̸",ZC="⪯̸",JC="⤳̸",WC="↛",YC="⇏",QC="↝̸",KC="↛",XC="⇏",nw="⋫",tw="⋭",rw="⊁",ow="⋡",ew="⪰̸",sw="𝒩",cw="𝓃",iw="∤",aw="∦",lw="≁",uw="≄",pw="≄",fw="∤",hw="∦",dw="⋢",mw="⋣",gw="⊄",_w="⫅̸",bw="⊈",kw="⊂⃒",xw="⊈",vw="⫅̸",yw="⊁",Cw="⪰̸",ww="⊅",Aw="⫆̸",qw="⊉",Dw="⊃⃒",Ew="⊉",Sw="⫆̸",Fw="≹",Lw="Ñ",Tw="ñ",Rw="≸",zw="⋪",Iw="⋬",Bw="⋫",Nw="⋭",Mw="Ν",Pw="ν",Ow="#",Uw="№",Vw=" ",$w="≍⃒",Gw="⊬",jw="⊭",Hw="⊮",Zw="⊯",Jw="≥⃒",Ww=">⃒",Yw="⤄",Qw="⧞",Kw="⤂",Xw="≤⃒",n1="<⃒",t1="⊴⃒",r1="⤃",o1="⊵⃒",e1="∼⃒",s1="⤣",c1="↖",i1="⇖",a1="↖",l1="⤧",u1="Ó",p1="ó",f1="⊛",h1="Ô",d1="ô",m1="⊚",g1="О",_1="о",b1="⊝",k1="Ő",x1="ő",v1="⨸",y1="⊙",C1="⦼",w1="Œ",A1="œ",q1="⦿",D1="𝔒",E1="𝔬",S1="˛",F1="Ò",L1="ò",T1="⧁",R1="⦵",z1="Ω",I1="∮",B1="↺",N1="⦾",M1="⦻",P1="‾",O1="⧀",U1="Ō",V1="ō",$1="Ω",G1="ω",j1="Ο",H1="ο",Z1="⦶",J1="⊖",W1="𝕆",Y1="𝕠",Q1="⦷",K1="“",X1="‘",nA="⦹",tA="⊕",rA="↻",oA="⩔",eA="∨",sA="⩝",cA="ℴ",iA="ℴ",aA="ª",lA="º",uA="⊶",pA="⩖",fA="⩗",hA="⩛",dA="Ⓢ",mA="𝒪",gA="ℴ",_A="Ø",bA="ø",kA="⊘",xA="Õ",vA="õ",yA="⨶",CA="⨷",wA="⊗",AA="Ö",qA="ö",DA="⌽",EA="‾",SA="⏞",FA="⎴",LA="⏜",TA="¶",RA="∥",zA="∥",IA="⫳",BA="⫽",NA="∂",MA="∂",PA="П",OA="п",UA="%",VA=".",$A="‰",GA="⊥",jA="‱",HA="𝔓",ZA="𝔭",JA="Φ",WA="φ",YA="ϕ",QA="ℳ",KA="☎",XA="Π",nq="π",tq="⋔",rq="ϖ",oq="ℏ",eq="ℎ",sq="ℏ",cq="⨣",iq="⊞",aq="⨢",lq="+",uq="∔",pq="⨥",fq="⩲",hq="±",dq="±",mq="⨦",gq="⨧",_q="±",bq="ℌ",kq="⨕",xq="𝕡",vq="ℙ",yq="£",Cq="⪷",wq="⪻",Aq="≺",qq="≼",Dq="⪷",Eq="≺",Sq="≼",Fq="≺",Lq="⪯",Tq="≼",Rq="≾",zq="⪯",Iq="⪹",Bq="⪵",Nq="⋨",Mq="⪯",Pq="⪳",Oq="≾",Uq="′",Vq="″",$q="ℙ",Gq="⪹",jq="⪵",Hq="⋨",Zq="∏",Jq="∏",Wq="⌮",Yq="⌒",Qq="⌓",Kq="∝",Xq="∝",nD="∷",tD="∝",rD="≾",oD="⊰",eD="𝒫",sD="𝓅",cD="Ψ",iD="ψ",aD=" ",lD="𝔔",uD="𝔮",pD="⨌",fD="𝕢",hD="ℚ",dD="⁗",mD="𝒬",gD="𝓆",_D="ℍ",bD="⨖",kD="?",xD="≟",vD='"',yD='"',CD="⇛",wD="∽̱",AD="Ŕ",qD="ŕ",DD="√",ED="⦳",SD="⟩",FD="⟫",LD="⦒",TD="⦥",RD="⟩",zD="»",ID="⥵",BD="⇥",ND="⤠",MD="⤳",PD="→",OD="↠",UD="⇒",VD="⤞",$D="↪",GD="↬",jD="⥅",HD="⥴",ZD="⤖",JD="↣",WD="↝",YD="⤚",QD="⤜",KD="∶",XD="ℚ",nE="⤍",tE="⤏",rE="⤐",oE="❳",eE="}",sE="]",cE="⦌",iE="⦎",aE="⦐",lE="Ř",uE="ř",pE="Ŗ",fE="ŗ",hE="⌉",dE="}",mE="Р",gE="р",_E="⤷",bE="⥩",kE="”",xE="”",vE="↳",yE="ℜ",CE="ℛ",wE="ℜ",AE="ℝ",qE="ℜ",DE="▭",EE="®",SE="®",FE="∋",LE="⇋",TE="⥯",RE="⥽",zE="⌋",IE="𝔯",BE="ℜ",NE="⥤",ME="⇁",PE="⇀",OE="⥬",UE="Ρ",VE="ρ",$E="ϱ",GE="⟩",jE="⇥",HE="→",ZE="→",JE="⇒",WE="⇄",YE="↣",QE="⌉",KE="⟧",XE="⥝",nS="⥕",tS="⇂",rS="⌋",oS="⇁",eS="⇀",sS="⇄",cS="⇌",iS="⇉",aS="↝",lS="↦",uS="⊢",pS="⥛",fS="⋌",hS="⧐",dS="⊳",mS="⊵",gS="⥏",_S="⥜",bS="⥔",kS="↾",xS="⥓",vS="⇀",yS="˚",CS="≓",wS="⇄",AS="⇌",qS="‏",DS="⎱",ES="⎱",SS="⫮",FS="⟭",LS="⇾",TS="⟧",RS="⦆",zS="𝕣",IS="ℝ",BS="⨮",NS="⨵",MS="⥰",PS=")",OS="⦔",US="⨒",VS="⇉",$S="⇛",GS="›",jS="𝓇",HS="ℛ",ZS="↱",JS="↱",WS="]",YS="’",QS="’",KS="⋌",XS="⋊",nF="▹",tF="⊵",rF="▸",oF="⧎",eF="⧴",sF="⥨",cF="℞",iF="Ś",aF="ś",lF="‚",uF="⪸",pF="Š",fF="š",hF="⪼",dF="≻",mF="≽",gF="⪰",_F="⪴",bF="Ş",kF="ş",xF="Ŝ",vF="ŝ",yF="⪺",CF="⪶",wF="⋩",AF="⨓",qF="≿",DF="С",EF="с",SF="⊡",FF="⋅",LF="⩦",TF="⤥",RF="↘",zF="⇘",IF="↘",BF="§",NF=";",MF="⤩",PF="∖",OF="∖",UF="✶",VF="𝔖",$F="𝔰",GF="⌢",jF="♯",HF="Щ",ZF="щ",JF="Ш",WF="ш",YF="↓",QF="←",KF="∣",XF="∥",nL="→",tL="↑",rL="­",oL="Σ",eL="σ",sL="ς",cL="ς",iL="∼",aL="⩪",lL="≃",uL="≃",pL="⪞",fL="⪠",hL="⪝",dL="⪟",mL="≆",gL="⨤",_L="⥲",bL="←",kL="∘",xL="∖",vL="⨳",yL="⧤",CL="∣",wL="⌣",AL="⪪",qL="⪬",DL="⪬︀",EL="Ь",SL="ь",FL="⌿",LL="⧄",TL="/",RL="𝕊",zL="𝕤",IL="♠",BL="♠",NL="∥",ML="⊓",PL="⊓︀",OL="⊔",UL="⊔︀",VL="√",$L="⊏",GL="⊑",jL="⊏",HL="⊑",ZL="⊐",JL="⊒",WL="⊐",YL="⊒",QL="□",KL="□",XL="⊓",nT="⊏",tT="⊑",rT="⊐",oT="⊒",eT="⊔",sT="▪",cT="□",iT="▪",aT="→",lT="𝒮",uT="𝓈",pT="∖",fT="⌣",hT="⋆",dT="⋆",mT="☆",gT="★",_T="ϵ",bT="ϕ",kT="¯",xT="⊂",vT="⋐",yT="⪽",CT="⫅",wT="⊆",AT="⫃",qT="⫁",DT="⫋",ET="⊊",ST="⪿",FT="⥹",LT="⊂",TT="⋐",RT="⊆",zT="⫅",IT="⊆",BT="⊊",NT="⫋",MT="⫇",PT="⫕",OT="⫓",UT="⪸",VT="≻",$T="≽",GT="≻",jT="⪰",HT="≽",ZT="≿",JT="⪰",WT="⪺",YT="⪶",QT="⋩",KT="≿",XT="∋",n2="∑",t2="∑",r2="♪",o2="¹",e2="²",s2="³",c2="⊃",i2="⋑",a2="⪾",l2="⫘",u2="⫆",p2="⊇",f2="⫄",h2="⊃",d2="⊇",m2="⟉",g2="⫗",_2="⥻",b2="⫂",k2="⫌",x2="⊋",v2="⫀",y2="⊃",C2="⋑",w2="⊇",A2="⫆",q2="⊋",D2="⫌",E2="⫈",S2="⫔",F2="⫖",L2="⤦",T2="↙",R2="⇙",z2="↙",I2="⤪",B2="ß",N2=" ",M2="⌖",P2="Τ",O2="τ",U2="⎴",V2="Ť",$2="ť",G2="Ţ",j2="ţ",H2="Т",Z2="т",J2="⃛",W2="⌕",Y2="𝔗",Q2="𝔱",K2="∴",X2="∴",nR="∴",tR="Θ",rR="θ",oR="ϑ",eR="ϑ",sR="≈",cR="∼",iR="  ",aR=" ",lR=" ",uR="≈",pR="∼",fR="Þ",hR="þ",dR="˜",mR="∼",gR="≃",_R="≅",bR="≈",kR="⨱",xR="⊠",vR="×",yR="⨰",CR="∭",wR="⤨",AR="⌶",qR="⫱",DR="⊤",ER="𝕋",SR="𝕥",FR="⫚",LR="⤩",TR="‴",RR="™",zR="™",IR="▵",BR="▿",NR="◃",MR="⊴",PR="≜",OR="▹",UR="⊵",VR="◬",$R="≜",GR="⨺",jR="⃛",HR="⨹",ZR="⧍",JR="⨻",WR="⏢",YR="𝒯",QR="𝓉",KR="Ц",XR="ц",nz="Ћ",tz="ћ",rz="Ŧ",oz="ŧ",ez="≬",sz="↞",cz="↠",iz="Ú",az="ú",lz="↑",uz="↟",pz="⇑",fz="⥉",hz="Ў",dz="ў",mz="Ŭ",gz="ŭ",_z="Û",bz="û",kz="У",xz="у",vz="⇅",yz="Ű",Cz="ű",wz="⥮",Az="⥾",qz="𝔘",Dz="𝔲",Ez="Ù",Sz="ù",Fz="⥣",Lz="↿",Tz="↾",Rz="▀",zz="⌜",Iz="⌜",Bz="⌏",Nz="◸",Mz="Ū",Pz="ū",Oz="¨",Uz="_",Vz="⏟",$z="⎵",Gz="⏝",jz="⋃",Hz="⊎",Zz="Ų",Jz="ų",Wz="𝕌",Yz="𝕦",Qz="⤒",Kz="↑",Xz="↑",nI="⇑",tI="⇅",rI="↕",oI="↕",eI="⇕",sI="⥮",cI="↿",iI="↾",aI="⊎",lI="↖",uI="↗",pI="υ",fI="ϒ",hI="ϒ",dI="Υ",mI="υ",gI="↥",_I="⊥",bI="⇈",kI="⌝",xI="⌝",vI="⌎",yI="Ů",CI="ů",wI="◹",AI="𝒰",qI="𝓊",DI="⋰",EI="Ũ",SI="ũ",FI="▵",LI="▴",TI="⇈",RI="Ü",zI="ü",II="⦧",BI="⦜",NI="ϵ",MI="ϰ",PI="∅",OI="ϕ",UI="ϖ",VI="∝",$I="↕",GI="⇕",jI="ϱ",HI="ς",ZI="⊊︀",JI="⫋︀",WI="⊋︀",YI="⫌︀",QI="ϑ",KI="⊲",XI="⊳",nB="⫨",tB="⫫",rB="⫩",oB="В",eB="в",sB="⊢",cB="⊨",iB="⊩",aB="⊫",lB="⫦",uB="⊻",pB="∨",fB="⋁",hB="≚",dB="⋮",mB="|",gB="‖",_B="|",bB="‖",kB="∣",xB="|",vB="❘",yB="≀",CB=" ",wB="𝔙",AB="𝔳",qB="⊲",DB="⊂⃒",EB="⊃⃒",SB="𝕍",FB="𝕧",LB="∝",TB="⊳",RB="𝒱",zB="𝓋",IB="⫋︀",BB="⊊︀",NB="⫌︀",MB="⊋︀",PB="⊪",OB="⦚",UB="Ŵ",VB="ŵ",$B="⩟",GB="∧",jB="⋀",HB="≙",ZB="℘",JB="𝔚",WB="𝔴",YB="𝕎",QB="𝕨",KB="℘",XB="≀",n3="≀",t3="𝒲",r3="𝓌",o3="⋂",e3="◯",s3="⋃",c3="▽",i3="𝔛",a3="𝔵",l3="⟷",u3="⟺",p3="Ξ",f3="ξ",h3="⟵",d3="⟸",m3="⟼",g3="⋻",_3="⨀",b3="𝕏",k3="𝕩",x3="⨁",v3="⨂",y3="⟶",C3="⟹",w3="𝒳",A3="𝓍",q3="⨆",D3="⨄",E3="△",S3="⋁",F3="⋀",L3="Ý",T3="ý",R3="Я",z3="я",I3="Ŷ",B3="ŷ",N3="Ы",M3="ы",P3="¥",O3="𝔜",U3="𝔶",V3="Ї",$3="ї",G3="𝕐",j3="𝕪",H3="𝒴",Z3="𝓎",J3="Ю",W3="ю",Y3="ÿ",Q3="Ÿ",K3="Ź",X3="ź",nN="Ž",tN="ž",rN="З",oN="з",eN="Ż",sN="ż",cN="ℨ",iN="​",aN="Ζ",lN="ζ",uN="𝔷",pN="ℨ",fN="Ж",hN="ж",dN="⇝",mN="𝕫",gN="ℤ",_N="𝒵",bN="𝓏",kN="‍",xN="‌",vN={Aacute:rr,aacute:or,Abreve:er,abreve:sr,ac:cr,acd:ir,acE:ar,Acirc:lr,acirc:ur,acute:pr,Acy:fr,acy:hr,AElig:dr,aelig:mr,af:gr,Afr:_r,afr:br,Agrave:kr,agrave:xr,alefsym:vr,aleph:yr,Alpha:Cr,alpha:wr,Amacr:Ar,amacr:qr,amalg:Dr,amp:Er,AMP:Sr,andand:Fr,And:Lr,and:Tr,andd:Rr,andslope:zr,andv:Ir,ang:Br,ange:Nr,angle:Mr,angmsdaa:Pr,angmsdab:Or,angmsdac:Ur,angmsdad:Vr,angmsdae:$r,angmsdaf:Gr,angmsdag:jr,angmsdah:Hr,angmsd:Zr,angrt:Jr,angrtvb:Wr,angrtvbd:Yr,angsph:Qr,angst:Kr,angzarr:Xr,Aogon:no,aogon:to,Aopf:ro,aopf:oo,apacir:eo,ap:so,apE:co,ape:io,apid:ao,apos:lo,ApplyFunction:uo,approx:po,approxeq:fo,Aring:ho,aring:mo,Ascr:go,ascr:_o,Assign:bo,ast:ko,asymp:xo,asympeq:vo,Atilde:yo,atilde:Co,Auml:wo,auml:Ao,awconint:qo,awint:Do,backcong:Eo,backepsilon:So,backprime:Fo,backsim:Lo,backsimeq:To,Backslash:Ro,Barv:zo,barvee:Io,barwed:Bo,Barwed:No,barwedge:Mo,bbrk:Po,bbrktbrk:Oo,bcong:Uo,Bcy:Vo,bcy:$o,bdquo:Go,becaus:jo,because:Ho,Because:Zo,bemptyv:Jo,bepsi:Wo,bernou:Yo,Bernoullis:Qo,Beta:Ko,beta:Xo,beth:ne,between:te,Bfr:re,bfr:oe,bigcap:ee,bigcirc:se,bigcup:ce,bigodot:ie,bigoplus:ae,bigotimes:le,bigsqcup:ue,bigstar:pe,bigtriangledown:fe,bigtriangleup:he,biguplus:de,bigvee:me,bigwedge:ge,bkarow:_e,blacklozenge:be,blacksquare:ke,blacktriangle:xe,blacktriangledown:ve,blacktriangleleft:ye,blacktriangleright:Ce,blank:we,blk12:Ae,blk14:qe,blk34:De,block:Ee,bne:Se,bnequiv:Fe,bNot:Le,bnot:Te,Bopf:Re,bopf:ze,bot:Ie,bottom:Be,bowtie:Ne,boxbox:Me,boxdl:Pe,boxdL:Oe,boxDl:Ue,boxDL:Ve,boxdr:$e,boxdR:Ge,boxDr:je,boxDR:He,boxh:Ze,boxH:Je,boxhd:We,boxHd:Ye,boxhD:Qe,boxHD:Ke,boxhu:Xe,boxHu:ns,boxhU:ts,boxHU:rs,boxminus:os,boxplus:es,boxtimes:ss,boxul:cs,boxuL:is,boxUl:as,boxUL:ls,boxur:us,boxuR:ps,boxUr:fs,boxUR:hs,boxv:ds,boxV:ms,boxvh:gs,boxvH:_s,boxVh:bs,boxVH:ks,boxvl:xs,boxvL:vs,boxVl:ys,boxVL:Cs,boxvr:ws,boxvR:As,boxVr:qs,boxVR:Ds,bprime:Es,breve:Ss,Breve:Fs,brvbar:Ls,bscr:Ts,Bscr:Rs,bsemi:zs,bsim:Is,bsime:Bs,bsolb:Ns,bsol:Ms,bsolhsub:Ps,bull:Os,bullet:Us,bump:Vs,bumpE:$s,bumpe:Gs,Bumpeq:js,bumpeq:Hs,Cacute:Zs,cacute:Js,capand:Ws,capbrcup:Ys,capcap:Qs,cap:Ks,Cap:Xs,capcup:nc,capdot:tc,CapitalDifferentialD:rc,caps:oc,caret:ec,caron:sc,Cayleys:cc,ccaps:ic,Ccaron:ac,ccaron:lc,Ccedil:uc,ccedil:pc,Ccirc:fc,ccirc:hc,Cconint:dc,ccups:mc,ccupssm:gc,Cdot:_c,cdot:bc,cedil:kc,Cedilla:xc,cemptyv:vc,cent:yc,centerdot:Cc,CenterDot:wc,cfr:Ac,Cfr:qc,CHcy:Dc,chcy:Ec,check:Sc,checkmark:Fc,Chi:Lc,chi:Tc,circ:Rc,circeq:zc,circlearrowleft:Ic,circlearrowright:Bc,circledast:Nc,circledcirc:Mc,circleddash:Pc,CircleDot:Oc,circledR:Uc,circledS:Vc,CircleMinus:$c,CirclePlus:Gc,CircleTimes:jc,cir:Hc,cirE:Zc,cire:Jc,cirfnint:Wc,cirmid:Yc,cirscir:Qc,ClockwiseContourIntegral:Kc,CloseCurlyDoubleQuote:Xc,CloseCurlyQuote:ni,clubs:ti,clubsuit:ri,colon:oi,Colon:ei,Colone:si,colone:ci,coloneq:ii,comma:ai,commat:li,comp:ui,compfn:pi,complement:fi,complexes:hi,cong:di,congdot:mi,Congruent:gi,conint:_i,Conint:bi,ContourIntegral:ki,copf:xi,Copf:vi,coprod:yi,Coproduct:Ci,copy:wi,COPY:Ai,copysr:qi,CounterClockwiseContourIntegral:Di,crarr:Ei,cross:Si,Cross:Fi,Cscr:Li,cscr:Ti,csub:Ri,csube:zi,csup:Ii,csupe:Bi,ctdot:Ni,cudarrl:Mi,cudarrr:Pi,cuepr:Oi,cuesc:Ui,cularr:Vi,cularrp:$i,cupbrcap:Gi,cupcap:ji,CupCap:Hi,cup:Zi,Cup:Ji,cupcup:Wi,cupdot:Yi,cupor:Qi,cups:Ki,curarr:Xi,curarrm:na,curlyeqprec:ta,curlyeqsucc:ra,curlyvee:oa,curlywedge:ea,curren:sa,curvearrowleft:ca,curvearrowright:ia,cuvee:aa,cuwed:la,cwconint:ua,cwint:pa,cylcty:fa,dagger:ha,Dagger:da,daleth:ma,darr:ga,Darr:_a,dArr:ba,dash:ka,Dashv:xa,dashv:va,dbkarow:ya,dblac:Ca,Dcaron:wa,dcaron:Aa,Dcy:qa,dcy:Da,ddagger:Ea,ddarr:Sa,DD:Fa,dd:La,DDotrahd:Ta,ddotseq:Ra,deg:za,Del:Ia,Delta:Ba,delta:Na,demptyv:Ma,dfisht:Pa,Dfr:Oa,dfr:Ua,dHar:Va,dharl:$a,dharr:Ga,DiacriticalAcute:ja,DiacriticalDot:Ha,DiacriticalDoubleAcute:Za,DiacriticalGrave:Ja,DiacriticalTilde:Wa,diam:Ya,diamond:Qa,Diamond:Ka,diamondsuit:Xa,diams:nl,die:tl,DifferentialD:rl,digamma:ol,disin:el,div:sl,divide:cl,divideontimes:il,divonx:al,DJcy:ll,djcy:ul,dlcorn:pl,dlcrop:fl,dollar:hl,Dopf:dl,dopf:ml,Dot:gl,dot:_l,DotDot:bl,doteq:kl,doteqdot:xl,DotEqual:vl,dotminus:yl,dotplus:Cl,dotsquare:wl,doublebarwedge:Al,DoubleContourIntegral:ql,DoubleDot:Dl,DoubleDownArrow:El,DoubleLeftArrow:Sl,DoubleLeftRightArrow:Fl,DoubleLeftTee:Ll,DoubleLongLeftArrow:Tl,DoubleLongLeftRightArrow:Rl,DoubleLongRightArrow:zl,DoubleRightArrow:Il,DoubleRightTee:Bl,DoubleUpArrow:Nl,DoubleUpDownArrow:Ml,DoubleVerticalBar:Pl,DownArrowBar:Ol,downarrow:Ul,DownArrow:Vl,Downarrow:$l,DownArrowUpArrow:Gl,DownBreve:jl,downdownarrows:Hl,downharpoonleft:Zl,downharpoonright:Jl,DownLeftRightVector:Wl,DownLeftTeeVector:Yl,DownLeftVectorBar:Ql,DownLeftVector:Kl,DownRightTeeVector:Xl,DownRightVectorBar:nu,DownRightVector:tu,DownTeeArrow:ru,DownTee:ou,drbkarow:eu,drcorn:su,drcrop:cu,Dscr:iu,dscr:au,DScy:lu,dscy:uu,dsol:pu,Dstrok:fu,dstrok:hu,dtdot:du,dtri:mu,dtrif:gu,duarr:_u,duhar:bu,dwangle:ku,DZcy:xu,dzcy:vu,dzigrarr:yu,Eacute:Cu,eacute:wu,easter:Au,Ecaron:qu,ecaron:Du,Ecirc:Eu,ecirc:Su,ecir:Fu,ecolon:Lu,Ecy:Tu,ecy:Ru,eDDot:zu,Edot:Iu,edot:Bu,eDot:Nu,ee:Mu,efDot:Pu,Efr:Ou,efr:Uu,eg:Vu,Egrave:$u,egrave:Gu,egs:ju,egsdot:Hu,el:Zu,Element:Ju,elinters:Wu,ell:Yu,els:Qu,elsdot:Ku,Emacr:Xu,emacr:np,empty:tp,emptyset:rp,EmptySmallSquare:op,emptyv:ep,EmptyVerySmallSquare:sp,emsp13:cp,emsp14:ip,emsp:ap,ENG:lp,eng:up,ensp:pp,Eogon:fp,eogon:hp,Eopf:dp,eopf:mp,epar:gp,eparsl:_p,eplus:bp,epsi:kp,Epsilon:xp,epsilon:vp,epsiv:yp,eqcirc:Cp,eqcolon:wp,eqsim:Ap,eqslantgtr:qp,eqslantless:Dp,Equal:Ep,equals:Sp,EqualTilde:Fp,equest:Lp,Equilibrium:Tp,equiv:Rp,equivDD:zp,eqvparsl:Ip,erarr:Bp,erDot:Np,escr:Mp,Escr:Pp,esdot:Op,Esim:Up,esim:Vp,Eta:$p,eta:Gp,ETH:jp,eth:Hp,Euml:Zp,euml:Jp,euro:Wp,excl:Yp,exist:Qp,Exists:Kp,expectation:Xp,exponentiale:nf,ExponentialE:tf,fallingdotseq:rf,Fcy:of,fcy:ef,female:sf,ffilig:cf,fflig:af,ffllig:lf,Ffr:uf,ffr:pf,filig:ff,FilledSmallSquare:hf,FilledVerySmallSquare:df,fjlig:mf,flat:gf,fllig:_f,fltns:bf,fnof:kf,Fopf:xf,fopf:vf,forall:yf,ForAll:Cf,fork:wf,forkv:Af,Fouriertrf:qf,fpartint:Df,frac12:Ef,frac13:Sf,frac14:Ff,frac15:Lf,frac16:Tf,frac18:Rf,frac23:zf,frac25:If,frac34:Bf,frac35:Nf,frac38:Mf,frac45:Pf,frac56:Of,frac58:Uf,frac78:Vf,frasl:$f,frown:Gf,fscr:jf,Fscr:Hf,gacute:Zf,Gamma:Jf,gamma:Wf,Gammad:Yf,gammad:Qf,gap:Kf,Gbreve:Xf,gbreve:nh,Gcedil:th,Gcirc:rh,gcirc:oh,Gcy:eh,gcy:sh,Gdot:ch,gdot:ih,ge:ah,gE:lh,gEl:uh,gel:ph,geq:fh,geqq:hh,geqslant:dh,gescc:mh,ges:gh,gesdot:_h,gesdoto:bh,gesdotol:kh,gesl:xh,gesles:vh,Gfr:yh,gfr:Ch,gg:wh,Gg:Ah,ggg:qh,gimel:Dh,GJcy:Eh,gjcy:Sh,gla:Fh,gl:Lh,glE:Th,glj:Rh,gnap:zh,gnapprox:Ih,gne:Bh,gnE:Nh,gneq:Mh,gneqq:Ph,gnsim:Oh,Gopf:Uh,gopf:Vh,grave:$h,GreaterEqual:Gh,GreaterEqualLess:jh,GreaterFullEqual:Hh,GreaterGreater:Zh,GreaterLess:Jh,GreaterSlantEqual:Wh,GreaterTilde:Yh,Gscr:Qh,gscr:Kh,gsim:Xh,gsime:nd,gsiml:td,gtcc:rd,gtcir:od,gt:ed,GT:sd,Gt:cd,gtdot:id,gtlPar:ad,gtquest:ld,gtrapprox:ud,gtrarr:pd,gtrdot:fd,gtreqless:hd,gtreqqless:dd,gtrless:md,gtrsim:gd,gvertneqq:_d,gvnE:bd,Hacek:kd,hairsp:xd,half:vd,hamilt:yd,HARDcy:Cd,hardcy:wd,harrcir:Ad,harr:qd,hArr:Dd,harrw:Ed,Hat:Sd,hbar:Fd,Hcirc:Ld,hcirc:Td,hearts:Rd,heartsuit:zd,hellip:Id,hercon:Bd,hfr:Nd,Hfr:Md,HilbertSpace:Pd,hksearow:Od,hkswarow:Ud,hoarr:Vd,homtht:$d,hookleftarrow:Gd,hookrightarrow:jd,hopf:Hd,Hopf:Zd,horbar:Jd,HorizontalLine:Wd,hscr:Yd,Hscr:Qd,hslash:Kd,Hstrok:Xd,hstrok:nm,HumpDownHump:tm,HumpEqual:rm,hybull:om,hyphen:em,Iacute:sm,iacute:cm,ic:im,Icirc:am,icirc:lm,Icy:um,icy:pm,Idot:fm,IEcy:hm,iecy:dm,iexcl:mm,iff:gm,ifr:_m,Ifr:bm,Igrave:km,igrave:xm,ii:vm,iiiint:ym,iiint:Cm,iinfin:wm,iiota:Am,IJlig:qm,ijlig:Dm,Imacr:Em,imacr:Sm,image:Fm,ImaginaryI:Lm,imagline:Tm,imagpart:Rm,imath:zm,Im,imof:Bm,imped:Nm,Implies:Mm,incare:Pm,in:"∈",infin:Om,infintie:Um,inodot:Vm,intcal:$m,int:Gm,Int:jm,integers:Hm,Integral:Zm,intercal:Jm,Intersection:Wm,intlarhk:Ym,intprod:Qm,InvisibleComma:Km,InvisibleTimes:Xm,IOcy:ng,iocy:tg,Iogon:rg,iogon:og,Iopf:eg,iopf:sg,Iota:cg,iota:ig,iprod:ag,iquest:lg,iscr:ug,Iscr:pg,isin:fg,isindot:hg,isinE:dg,isins:mg,isinsv:gg,isinv:_g,it:bg,Itilde:kg,itilde:xg,Iukcy:vg,iukcy:yg,Iuml:Cg,iuml:wg,Jcirc:Ag,jcirc:qg,Jcy:Dg,jcy:Eg,Jfr:Sg,jfr:Fg,jmath:Lg,Jopf:Tg,jopf:Rg,Jscr:zg,jscr:Ig,Jsercy:Bg,jsercy:Ng,Jukcy:Mg,jukcy:Pg,Kappa:Og,kappa:Ug,kappav:Vg,Kcedil:$g,kcedil:Gg,Kcy:jg,kcy:Hg,Kfr:Zg,kfr:Jg,kgreen:Wg,KHcy:Yg,khcy:Qg,KJcy:Kg,kjcy:Xg,Kopf:n0,kopf:t0,Kscr:r0,kscr:o0,lAarr:e0,Lacute:s0,lacute:c0,laemptyv:i0,lagran:a0,Lambda:l0,lambda:u0,lang:p0,Lang:f0,langd:h0,langle:d0,lap:m0,Laplacetrf:g0,laquo:_0,larrb:b0,larrbfs:k0,larr:x0,Larr:v0,lArr:y0,larrfs:C0,larrhk:w0,larrlp:A0,larrpl:q0,larrsim:D0,larrtl:E0,latail:S0,lAtail:F0,lat:L0,late:T0,lates:R0,lbarr:z0,lBarr:I0,lbbrk:B0,lbrace:N0,lbrack:M0,lbrke:P0,lbrksld:O0,lbrkslu:U0,Lcaron:V0,lcaron:$0,Lcedil:G0,lcedil:j0,lceil:H0,lcub:Z0,Lcy:J0,lcy:W0,ldca:Y0,ldquo:Q0,ldquor:K0,ldrdhar:X0,ldrushar:n_,ldsh:t_,le:r_,lE:o_,LeftAngleBracket:e_,LeftArrowBar:s_,leftarrow:c_,LeftArrow:i_,Leftarrow:a_,LeftArrowRightArrow:l_,leftarrowtail:u_,LeftCeiling:p_,LeftDoubleBracket:f_,LeftDownTeeVector:h_,LeftDownVectorBar:d_,LeftDownVector:m_,LeftFloor:g_,leftharpoondown:__,leftharpoonup:b_,leftleftarrows:k_,leftrightarrow:x_,LeftRightArrow:v_,Leftrightarrow:y_,leftrightarrows:C_,leftrightharpoons:w_,leftrightsquigarrow:A_,LeftRightVector:q_,LeftTeeArrow:D_,LeftTee:E_,LeftTeeVector:S_,leftthreetimes:F_,LeftTriangleBar:L_,LeftTriangle:T_,LeftTriangleEqual:R_,LeftUpDownVector:z_,LeftUpTeeVector:I_,LeftUpVectorBar:B_,LeftUpVector:N_,LeftVectorBar:M_,LeftVector:P_,lEg:O_,leg:U_,leq:V_,leqq:$_,leqslant:G_,lescc:j_,les:H_,lesdot:Z_,lesdoto:J_,lesdotor:W_,lesg:Y_,lesges:Q_,lessapprox:K_,lessdot:X_,lesseqgtr:nb,lesseqqgtr:tb,LessEqualGreater:rb,LessFullEqual:ob,LessGreater:eb,lessgtr:sb,LessLess:cb,lesssim:ib,LessSlantEqual:ab,LessTilde:lb,lfisht:ub,lfloor:pb,Lfr:fb,lfr:hb,lg:db,lgE:mb,lHar:gb,lhard:_b,lharu:bb,lharul:kb,lhblk:xb,LJcy:vb,ljcy:yb,llarr:Cb,ll:wb,Ll:Ab,llcorner:qb,Lleftarrow:Db,llhard:Eb,lltri:Sb,Lmidot:Fb,lmidot:Lb,lmoustache:Tb,lmoust:Rb,lnap:zb,lnapprox:Ib,lne:Bb,lnE:Nb,lneq:Mb,lneqq:Pb,lnsim:Ob,loang:Ub,loarr:Vb,lobrk:$b,longleftarrow:Gb,LongLeftArrow:jb,Longleftarrow:Hb,longleftrightarrow:Zb,LongLeftRightArrow:Jb,Longleftrightarrow:Wb,longmapsto:Yb,longrightarrow:Qb,LongRightArrow:Kb,Longrightarrow:Xb,looparrowleft:nk,looparrowright:tk,lopar:rk,Lopf:ok,lopf:ek,loplus:sk,lotimes:ck,lowast:ik,lowbar:ak,LowerLeftArrow:lk,LowerRightArrow:uk,loz:pk,lozenge:fk,lozf:hk,lpar:dk,lparlt:mk,lrarr:gk,lrcorner:_k,lrhar:bk,lrhard:kk,lrm:xk,lrtri:vk,lsaquo:yk,lscr:Ck,Lscr:wk,lsh:Ak,Lsh:qk,lsim:Dk,lsime:Ek,lsimg:Sk,lsqb:Fk,lsquo:Lk,lsquor:Tk,Lstrok:Rk,lstrok:zk,ltcc:Ik,ltcir:Bk,lt:Nk,LT:Mk,Lt:Pk,ltdot:Ok,lthree:Uk,ltimes:Vk,ltlarr:$k,ltquest:Gk,ltri:jk,ltrie:Hk,ltrif:Zk,ltrPar:Jk,lurdshar:Wk,luruhar:Yk,lvertneqq:Qk,lvnE:Kk,macr:Xk,male:nx,malt:tx,maltese:rx,Map:"⤅",map:ox,mapsto:ex,mapstodown:sx,mapstoleft:cx,mapstoup:ix,marker:ax,mcomma:lx,Mcy:ux,mcy:px,mdash:fx,mDDot:hx,measuredangle:dx,MediumSpace:mx,Mellintrf:gx,Mfr:_x,mfr:bx,mho:kx,micro:xx,midast:vx,midcir:yx,mid:Cx,middot:wx,minusb:Ax,minus:qx,minusd:Dx,minusdu:Ex,MinusPlus:Sx,mlcp:Fx,mldr:Lx,mnplus:Tx,models:Rx,Mopf:zx,mopf:Ix,mp:Bx,mscr:Nx,Mscr:Mx,mstpos:Px,Mu:Ox,mu:Ux,multimap:Vx,mumap:$x,nabla:Gx,Nacute:jx,nacute:Hx,nang:Zx,nap:Jx,napE:Wx,napid:Yx,napos:Qx,napprox:Kx,natural:Xx,naturals:nv,natur:tv,nbsp:rv,nbump:ov,nbumpe:ev,ncap:sv,Ncaron:cv,ncaron:iv,Ncedil:av,ncedil:lv,ncong:uv,ncongdot:pv,ncup:fv,Ncy:hv,ncy:dv,ndash:mv,nearhk:gv,nearr:_v,neArr:bv,nearrow:kv,ne:xv,nedot:vv,NegativeMediumSpace:yv,NegativeThickSpace:Cv,NegativeThinSpace:wv,NegativeVeryThinSpace:Av,nequiv:qv,nesear:Dv,nesim:Ev,NestedGreaterGreater:Sv,NestedLessLess:Fv,NewLine:Lv,nexist:Tv,nexists:Rv,Nfr:zv,nfr:Iv,ngE:Bv,nge:Nv,ngeq:Mv,ngeqq:Pv,ngeqslant:Ov,nges:Uv,nGg:Vv,ngsim:$v,nGt:Gv,ngt:jv,ngtr:Hv,nGtv:Zv,nharr:Jv,nhArr:Wv,nhpar:Yv,ni:Qv,nis:Kv,nisd:Xv,niv:ny,NJcy:ty,njcy:ry,nlarr:oy,nlArr:ey,nldr:sy,nlE:cy,nle:iy,nleftarrow:ay,nLeftarrow:ly,nleftrightarrow:uy,nLeftrightarrow:py,nleq:fy,nleqq:hy,nleqslant:dy,nles:my,nless:gy,nLl:_y,nlsim:by,nLt:ky,nlt:xy,nltri:vy,nltrie:yy,nLtv:Cy,nmid:wy,NoBreak:Ay,NonBreakingSpace:qy,nopf:Dy,Nopf:Ey,Not:Sy,not:Fy,NotCongruent:Ly,NotCupCap:Ty,NotDoubleVerticalBar:Ry,NotElement:zy,NotEqual:Iy,NotEqualTilde:By,NotExists:Ny,NotGreater:My,NotGreaterEqual:Py,NotGreaterFullEqual:Oy,NotGreaterGreater:Uy,NotGreaterLess:Vy,NotGreaterSlantEqual:$y,NotGreaterTilde:Gy,NotHumpDownHump:jy,NotHumpEqual:Hy,notin:Zy,notindot:Jy,notinE:Wy,notinva:Yy,notinvb:Qy,notinvc:Ky,NotLeftTriangleBar:Xy,NotLeftTriangle:nC,NotLeftTriangleEqual:tC,NotLess:rC,NotLessEqual:oC,NotLessGreater:eC,NotLessLess:sC,NotLessSlantEqual:cC,NotLessTilde:iC,NotNestedGreaterGreater:aC,NotNestedLessLess:lC,notni:uC,notniva:pC,notnivb:fC,notnivc:hC,NotPrecedes:dC,NotPrecedesEqual:mC,NotPrecedesSlantEqual:gC,NotReverseElement:_C,NotRightTriangleBar:bC,NotRightTriangle:kC,NotRightTriangleEqual:xC,NotSquareSubset:vC,NotSquareSubsetEqual:yC,NotSquareSuperset:CC,NotSquareSupersetEqual:wC,NotSubset:AC,NotSubsetEqual:qC,NotSucceeds:DC,NotSucceedsEqual:EC,NotSucceedsSlantEqual:SC,NotSucceedsTilde:FC,NotSuperset:LC,NotSupersetEqual:TC,NotTilde:RC,NotTildeEqual:zC,NotTildeFullEqual:IC,NotTildeTilde:BC,NotVerticalBar:NC,nparallel:MC,npar:PC,nparsl:OC,npart:UC,npolint:VC,npr:$C,nprcue:GC,nprec:jC,npreceq:HC,npre:ZC,nrarrc:JC,nrarr:WC,nrArr:YC,nrarrw:QC,nrightarrow:KC,nRightarrow:XC,nrtri:nw,nrtrie:tw,nsc:rw,nsccue:ow,nsce:ew,Nscr:sw,nscr:cw,nshortmid:iw,nshortparallel:aw,nsim:lw,nsime:uw,nsimeq:pw,nsmid:fw,nspar:hw,nsqsube:dw,nsqsupe:mw,nsub:gw,nsubE:_w,nsube:bw,nsubset:kw,nsubseteq:xw,nsubseteqq:vw,nsucc:yw,nsucceq:Cw,nsup:ww,nsupE:Aw,nsupe:qw,nsupset:Dw,nsupseteq:Ew,nsupseteqq:Sw,ntgl:Fw,Ntilde:Lw,ntilde:Tw,ntlg:Rw,ntriangleleft:zw,ntrianglelefteq:Iw,ntriangleright:Bw,ntrianglerighteq:Nw,Nu:Mw,nu:Pw,num:Ow,numero:Uw,numsp:Vw,nvap:$w,nvdash:Gw,nvDash:jw,nVdash:Hw,nVDash:Zw,nvge:Jw,nvgt:Ww,nvHarr:Yw,nvinfin:Qw,nvlArr:Kw,nvle:Xw,nvlt:n1,nvltrie:t1,nvrArr:r1,nvrtrie:o1,nvsim:e1,nwarhk:s1,nwarr:c1,nwArr:i1,nwarrow:a1,nwnear:l1,Oacute:u1,oacute:p1,oast:f1,Ocirc:h1,ocirc:d1,ocir:m1,Ocy:g1,ocy:_1,odash:b1,Odblac:k1,odblac:x1,odiv:v1,odot:y1,odsold:C1,OElig:w1,oelig:A1,ofcir:q1,Ofr:D1,ofr:E1,ogon:S1,Ograve:F1,ograve:L1,ogt:T1,ohbar:R1,ohm:z1,oint:I1,olarr:B1,olcir:N1,olcross:M1,oline:P1,olt:O1,Omacr:U1,omacr:V1,Omega:$1,omega:G1,Omicron:j1,omicron:H1,omid:Z1,ominus:J1,Oopf:W1,oopf:Y1,opar:Q1,OpenCurlyDoubleQuote:K1,OpenCurlyQuote:X1,operp:nA,oplus:tA,orarr:rA,Or:oA,or:eA,ord:sA,order:cA,orderof:iA,ordf:aA,ordm:lA,origof:uA,oror:pA,orslope:fA,orv:hA,oS:dA,Oscr:mA,oscr:gA,Oslash:_A,oslash:bA,osol:kA,Otilde:xA,otilde:vA,otimesas:yA,Otimes:CA,otimes:wA,Ouml:AA,ouml:qA,ovbar:DA,OverBar:EA,OverBrace:SA,OverBracket:FA,OverParenthesis:LA,para:TA,parallel:RA,par:zA,parsim:IA,parsl:BA,part:NA,PartialD:MA,Pcy:PA,pcy:OA,percnt:UA,period:VA,permil:$A,perp:GA,pertenk:jA,Pfr:HA,pfr:ZA,Phi:JA,phi:WA,phiv:YA,phmmat:QA,phone:KA,Pi:XA,pi:nq,pitchfork:tq,piv:rq,planck:oq,planckh:eq,plankv:sq,plusacir:cq,plusb:iq,pluscir:aq,plus:lq,plusdo:uq,plusdu:pq,pluse:fq,PlusMinus:hq,plusmn:dq,plussim:mq,plustwo:gq,pm:_q,Poincareplane:bq,pointint:kq,popf:xq,Popf:vq,pound:yq,prap:Cq,Pr:wq,pr:Aq,prcue:qq,precapprox:Dq,prec:Eq,preccurlyeq:Sq,Precedes:Fq,PrecedesEqual:Lq,PrecedesSlantEqual:Tq,PrecedesTilde:Rq,preceq:zq,precnapprox:Iq,precneqq:Bq,precnsim:Nq,pre:Mq,prE:Pq,precsim:Oq,prime:Uq,Prime:Vq,primes:$q,prnap:Gq,prnE:jq,prnsim:Hq,prod:Zq,Product:Jq,profalar:Wq,profline:Yq,profsurf:Qq,prop:Kq,Proportional:Xq,Proportion:nD,propto:tD,prsim:rD,prurel:oD,Pscr:eD,pscr:sD,Psi:cD,psi:iD,puncsp:aD,Qfr:lD,qfr:uD,qint:pD,qopf:fD,Qopf:hD,qprime:dD,Qscr:mD,qscr:gD,quaternions:_D,quatint:bD,quest:kD,questeq:xD,quot:vD,QUOT:yD,rAarr:CD,race:wD,Racute:AD,racute:qD,radic:DD,raemptyv:ED,rang:SD,Rang:FD,rangd:LD,range:TD,rangle:RD,raquo:zD,rarrap:ID,rarrb:BD,rarrbfs:ND,rarrc:MD,rarr:PD,Rarr:OD,rArr:UD,rarrfs:VD,rarrhk:$D,rarrlp:GD,rarrpl:jD,rarrsim:HD,Rarrtl:ZD,rarrtl:JD,rarrw:WD,ratail:YD,rAtail:QD,ratio:KD,rationals:XD,rbarr:nE,rBarr:tE,RBarr:rE,rbbrk:oE,rbrace:eE,rbrack:sE,rbrke:cE,rbrksld:iE,rbrkslu:aE,Rcaron:lE,rcaron:uE,Rcedil:pE,rcedil:fE,rceil:hE,rcub:dE,Rcy:mE,rcy:gE,rdca:_E,rdldhar:bE,rdquo:kE,rdquor:xE,rdsh:vE,real:yE,realine:CE,realpart:wE,reals:AE,Re:qE,rect:DE,reg:EE,REG:SE,ReverseElement:FE,ReverseEquilibrium:LE,ReverseUpEquilibrium:TE,rfisht:RE,rfloor:zE,rfr:IE,Rfr:BE,rHar:NE,rhard:ME,rharu:PE,rharul:OE,Rho:UE,rho:VE,rhov:$E,RightAngleBracket:GE,RightArrowBar:jE,rightarrow:HE,RightArrow:ZE,Rightarrow:JE,RightArrowLeftArrow:WE,rightarrowtail:YE,RightCeiling:QE,RightDoubleBracket:KE,RightDownTeeVector:XE,RightDownVectorBar:nS,RightDownVector:tS,RightFloor:rS,rightharpoondown:oS,rightharpoonup:eS,rightleftarrows:sS,rightleftharpoons:cS,rightrightarrows:iS,rightsquigarrow:aS,RightTeeArrow:lS,RightTee:uS,RightTeeVector:pS,rightthreetimes:fS,RightTriangleBar:hS,RightTriangle:dS,RightTriangleEqual:mS,RightUpDownVector:gS,RightUpTeeVector:_S,RightUpVectorBar:bS,RightUpVector:kS,RightVectorBar:xS,RightVector:vS,ring:yS,risingdotseq:CS,rlarr:wS,rlhar:AS,rlm:qS,rmoustache:DS,rmoust:ES,rnmid:SS,roang:FS,roarr:LS,robrk:TS,ropar:RS,ropf:zS,Ropf:IS,roplus:BS,rotimes:NS,RoundImplies:MS,rpar:PS,rpargt:OS,rppolint:US,rrarr:VS,Rrightarrow:$S,rsaquo:GS,rscr:jS,Rscr:HS,rsh:ZS,Rsh:JS,rsqb:WS,rsquo:YS,rsquor:QS,rthree:KS,rtimes:XS,rtri:nF,rtrie:tF,rtrif:rF,rtriltri:oF,RuleDelayed:eF,ruluhar:sF,rx:cF,Sacute:iF,sacute:aF,sbquo:lF,scap:uF,Scaron:pF,scaron:fF,Sc:hF,sc:dF,sccue:mF,sce:gF,scE:_F,Scedil:bF,scedil:kF,Scirc:xF,scirc:vF,scnap:yF,scnE:CF,scnsim:wF,scpolint:AF,scsim:qF,Scy:DF,scy:EF,sdotb:SF,sdot:FF,sdote:LF,searhk:TF,searr:RF,seArr:zF,searrow:IF,sect:BF,semi:NF,seswar:MF,setminus:PF,setmn:OF,sext:UF,Sfr:VF,sfr:$F,sfrown:GF,sharp:jF,SHCHcy:HF,shchcy:ZF,SHcy:JF,shcy:WF,ShortDownArrow:YF,ShortLeftArrow:QF,shortmid:KF,shortparallel:XF,ShortRightArrow:nL,ShortUpArrow:tL,shy:rL,Sigma:oL,sigma:eL,sigmaf:sL,sigmav:cL,sim:iL,simdot:aL,sime:lL,simeq:uL,simg:pL,simgE:fL,siml:hL,simlE:dL,simne:mL,simplus:gL,simrarr:_L,slarr:bL,SmallCircle:kL,smallsetminus:xL,smashp:vL,smeparsl:yL,smid:CL,smile:wL,smt:AL,smte:qL,smtes:DL,SOFTcy:EL,softcy:SL,solbar:FL,solb:LL,sol:TL,Sopf:RL,sopf:zL,spades:IL,spadesuit:BL,spar:NL,sqcap:ML,sqcaps:PL,sqcup:OL,sqcups:UL,Sqrt:VL,sqsub:$L,sqsube:GL,sqsubset:jL,sqsubseteq:HL,sqsup:ZL,sqsupe:JL,sqsupset:WL,sqsupseteq:YL,square:QL,Square:KL,SquareIntersection:XL,SquareSubset:nT,SquareSubsetEqual:tT,SquareSuperset:rT,SquareSupersetEqual:oT,SquareUnion:eT,squarf:sT,squ:cT,squf:iT,srarr:aT,Sscr:lT,sscr:uT,ssetmn:pT,ssmile:fT,sstarf:hT,Star:dT,star:mT,starf:gT,straightepsilon:_T,straightphi:bT,strns:kT,sub:xT,Sub:vT,subdot:yT,subE:CT,sube:wT,subedot:AT,submult:qT,subnE:DT,subne:ET,subplus:ST,subrarr:FT,subset:LT,Subset:TT,subseteq:RT,subseteqq:zT,SubsetEqual:IT,subsetneq:BT,subsetneqq:NT,subsim:MT,subsub:PT,subsup:OT,succapprox:UT,succ:VT,succcurlyeq:$T,Succeeds:GT,SucceedsEqual:jT,SucceedsSlantEqual:HT,SucceedsTilde:ZT,succeq:JT,succnapprox:WT,succneqq:YT,succnsim:QT,succsim:KT,SuchThat:XT,sum:n2,Sum:t2,sung:r2,sup1:o2,sup2:e2,sup3:s2,sup:c2,Sup:i2,supdot:a2,supdsub:l2,supE:u2,supe:p2,supedot:f2,Superset:h2,SupersetEqual:d2,suphsol:m2,suphsub:g2,suplarr:_2,supmult:b2,supnE:k2,supne:x2,supplus:v2,supset:y2,Supset:C2,supseteq:w2,supseteqq:A2,supsetneq:q2,supsetneqq:D2,supsim:E2,supsub:S2,supsup:F2,swarhk:L2,swarr:T2,swArr:R2,swarrow:z2,swnwar:I2,szlig:B2,Tab:N2,target:M2,Tau:P2,tau:O2,tbrk:U2,Tcaron:V2,tcaron:$2,Tcedil:G2,tcedil:j2,Tcy:H2,tcy:Z2,tdot:J2,telrec:W2,Tfr:Y2,tfr:Q2,there4:K2,therefore:X2,Therefore:nR,Theta:tR,theta:rR,thetasym:oR,thetav:eR,thickapprox:sR,thicksim:cR,ThickSpace:iR,ThinSpace:aR,thinsp:lR,thkap:uR,thksim:pR,THORN:fR,thorn:hR,tilde:dR,Tilde:mR,TildeEqual:gR,TildeFullEqual:_R,TildeTilde:bR,timesbar:kR,timesb:xR,times:vR,timesd:yR,tint:CR,toea:wR,topbot:AR,topcir:qR,top:DR,Topf:ER,topf:SR,topfork:FR,tosa:LR,tprime:TR,trade:RR,TRADE:zR,triangle:IR,triangledown:BR,triangleleft:NR,trianglelefteq:MR,triangleq:PR,triangleright:OR,trianglerighteq:UR,tridot:VR,trie:$R,triminus:GR,TripleDot:jR,triplus:HR,trisb:ZR,tritime:JR,trpezium:WR,Tscr:YR,tscr:QR,TScy:KR,tscy:XR,TSHcy:nz,tshcy:tz,Tstrok:rz,tstrok:oz,twixt:ez,twoheadleftarrow:sz,twoheadrightarrow:cz,Uacute:iz,uacute:az,uarr:lz,Uarr:uz,uArr:pz,Uarrocir:fz,Ubrcy:hz,ubrcy:dz,Ubreve:mz,ubreve:gz,Ucirc:_z,ucirc:bz,Ucy:kz,ucy:xz,udarr:vz,Udblac:yz,udblac:Cz,udhar:wz,ufisht:Az,Ufr:qz,ufr:Dz,Ugrave:Ez,ugrave:Sz,uHar:Fz,uharl:Lz,uharr:Tz,uhblk:Rz,ulcorn:zz,ulcorner:Iz,ulcrop:Bz,ultri:Nz,Umacr:Mz,umacr:Pz,uml:Oz,UnderBar:Uz,UnderBrace:Vz,UnderBracket:$z,UnderParenthesis:Gz,Union:jz,UnionPlus:Hz,Uogon:Zz,uogon:Jz,Uopf:Wz,uopf:Yz,UpArrowBar:Qz,uparrow:Kz,UpArrow:Xz,Uparrow:nI,UpArrowDownArrow:tI,updownarrow:rI,UpDownArrow:oI,Updownarrow:eI,UpEquilibrium:sI,upharpoonleft:cI,upharpoonright:iI,uplus:aI,UpperLeftArrow:lI,UpperRightArrow:uI,upsi:pI,Upsi:fI,upsih:hI,Upsilon:dI,upsilon:mI,UpTeeArrow:gI,UpTee:_I,upuparrows:bI,urcorn:kI,urcorner:xI,urcrop:vI,Uring:yI,uring:CI,urtri:wI,Uscr:AI,uscr:qI,utdot:DI,Utilde:EI,utilde:SI,utri:FI,utrif:LI,uuarr:TI,Uuml:RI,uuml:zI,uwangle:II,vangrt:BI,varepsilon:NI,varkappa:MI,varnothing:PI,varphi:OI,varpi:UI,varpropto:VI,varr:$I,vArr:GI,varrho:jI,varsigma:HI,varsubsetneq:ZI,varsubsetneqq:JI,varsupsetneq:WI,varsupsetneqq:YI,vartheta:QI,vartriangleleft:KI,vartriangleright:XI,vBar:nB,Vbar:tB,vBarv:rB,Vcy:oB,vcy:eB,vdash:sB,vDash:cB,Vdash:iB,VDash:aB,Vdashl:lB,veebar:uB,vee:pB,Vee:fB,veeeq:hB,vellip:dB,verbar:mB,Verbar:gB,vert:_B,Vert:bB,VerticalBar:kB,VerticalLine:xB,VerticalSeparator:vB,VerticalTilde:yB,VeryThinSpace:CB,Vfr:wB,vfr:AB,vltri:qB,vnsub:DB,vnsup:EB,Vopf:SB,vopf:FB,vprop:LB,vrtri:TB,Vscr:RB,vscr:zB,vsubnE:IB,vsubne:BB,vsupnE:NB,vsupne:MB,Vvdash:PB,vzigzag:OB,Wcirc:UB,wcirc:VB,wedbar:$B,wedge:GB,Wedge:jB,wedgeq:HB,weierp:ZB,Wfr:JB,wfr:WB,Wopf:YB,wopf:QB,wp:KB,wr:XB,wreath:n3,Wscr:t3,wscr:r3,xcap:o3,xcirc:e3,xcup:s3,xdtri:c3,Xfr:i3,xfr:a3,xharr:l3,xhArr:u3,Xi:p3,xi:f3,xlarr:h3,xlArr:d3,xmap:m3,xnis:g3,xodot:_3,Xopf:b3,xopf:k3,xoplus:x3,xotime:v3,xrarr:y3,xrArr:C3,Xscr:w3,xscr:A3,xsqcup:q3,xuplus:D3,xutri:E3,xvee:S3,xwedge:F3,Yacute:L3,yacute:T3,YAcy:R3,yacy:z3,Ycirc:I3,ycirc:B3,Ycy:N3,ycy:M3,yen:P3,Yfr:O3,yfr:U3,YIcy:V3,yicy:$3,Yopf:G3,yopf:j3,Yscr:H3,yscr:Z3,YUcy:J3,yucy:W3,yuml:Y3,Yuml:Q3,Zacute:K3,zacute:X3,Zcaron:nN,zcaron:tN,Zcy:rN,zcy:oN,Zdot:eN,zdot:sN,zeetrf:cN,ZeroWidthSpace:iN,Zeta:aN,zeta:lN,zfr:uN,Zfr:pN,ZHcy:fN,zhcy:hN,zigrarr:dN,zopf:mN,Zopf:gN,Zscr:_N,zscr:bN,zwj:kN,zwnj:xN};var At=vN,Tn=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4E\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDF55-\uDF59]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDF3C-\uDF3E]|\uD806[\uDC3B\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/,Z={},$n={};function yN(r){var n,t,o=$n[r];if(o)return o;for(o=$n[r]=[],n=0;n<128;n++)t=String.fromCharCode(n),/^[0-9a-z]$/i.test(t)?o.push(t):o.push("%"+("0"+n.toString(16).toUpperCase()).slice(-2));for(n=0;n"u"&&(t=!0),c=yN(n),o=0,e=r.length;o=55296&&s<=57343){if(s>=55296&&s<=56319&&o+1=56320&&i<=57343)){a+=encodeURIComponent(r[o]+r[o+1]),o++;continue}a+="%EF%BF%BD";continue}a+=encodeURIComponent(r[o])}return a}cn.defaultChars=";/?:@&=+$,-_.!~*'()#";cn.componentChars="-_.!~*'()";var CN=cn,Gn={};function wN(r){var n,t,o=Gn[r];if(o)return o;for(o=Gn[r]=[],n=0;n<128;n++)t=String.fromCharCode(n),o.push(t);for(n=0;n=55296&&u<=57343?p+="���":p+=String.fromCharCode(u),e+=6;continue}if((i&248)===240&&e+91114111?p+="����":(u-=65536,p+=String.fromCharCode(55296+(u>>10),56320+(u&1023))),e+=9;continue}p+="�"}return p})}an.defaultChars=";/?:@&=+$,#";an.componentChars="";var AN=an,qN=function(n){var t="";return t+=n.protocol||"",t+=n.slashes?"//":"",t+=n.auth?n.auth+"@":"",n.hostname&&n.hostname.indexOf(":")!==-1?t+="["+n.hostname+"]":t+=n.hostname||"",t+=n.port?":"+n.port:"",t+=n.pathname||"",t+=n.search||"",t+=n.hash||"",t};function en(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}var DN=/^([a-z0-9.+-]+:)/i,EN=/:[0-9]*$/,SN=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,FN=["<",">",'"',"`"," ","\r",` -`," "],LN=["{","}","|","\\","^","`"].concat(FN),TN=["'"].concat(LN),jn=["%","/","?",";","#"].concat(TN),Hn=["/","?","#"],RN=255,Zn=/^[+a-z0-9A-Z_-]{0,63}$/,zN=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,Jn={javascript:!0,"javascript:":!0},Wn={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function IN(r,n){if(r&&r instanceof en)return r;var t=new en;return t.parse(r,n),t}en.prototype.parse=function(r,n){var t,o,e,s,i,c=r;if(c=c.trim(),!n&&r.split("#").length===1){var a=SN.exec(c);if(a)return this.pathname=a[1],a[2]&&(this.search=a[2]),this}var l=DN.exec(c);if(l&&(l=l[0],e=l.toLowerCase(),this.protocol=l,c=c.substr(l.length)),(n||l||c.match(/^\/\/[^@\/]+@[^@\/]+/))&&(i=c.substr(0,2)==="//",i&&!(l&&Jn[l])&&(c=c.substr(2),this.slashes=!0)),!Jn[l]&&(i||l&&!Wn[l])){var u=-1;for(t=0;t127?k+="x":k+=v[m];if(!k.match(Zn)){var C=_.slice(0,t),w=_.slice(t+1),g=v.match(zN);g&&(C.push(g[1]),w.unshift(g[2])),w.length&&(c=w.join(".")+c),this.hostname=C.join(".");break}}}}this.hostname.length>RN&&(this.hostname=""),b&&(this.hostname=this.hostname.substr(1,this.hostname.length-2))}var E=c.indexOf("#");E!==-1&&(this.hash=c.substr(E),c=c.slice(0,E));var S=c.indexOf("?");return S!==-1&&(this.search=c.substr(S),c=c.slice(0,S)),c&&(this.pathname=c),Wn[e]&&this.hostname&&!this.pathname&&(this.pathname=""),this};en.prototype.parseHost=function(r){var n=EN.exec(r);n&&(n=n[0],n!==":"&&(this.port=n.substr(1)),r=r.substr(0,r.length-n.length)),r&&(this.hostname=r)};var BN=IN;Z.encode=CN;Z.decode=AN;Z.format=qN;Z.parse=BN;var U={},gn,Yn;function qt(){return Yn||(Yn=1,gn=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/),gn}var _n,Qn;function Dt(){return Qn||(Qn=1,_n=/[\0-\x1F\x7F-\x9F]/),_n}var bn,Kn;function NN(){return Kn||(Kn=1,bn=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/),bn}var kn,Xn;function Et(){return Xn||(Xn=1,kn=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/),kn}var nt;function MN(){return nt||(nt=1,U.Any=qt(),U.Cc=Dt(),U.Cf=NN(),U.P=Tn,U.Z=Et()),U}(function(r){function n(d){return Object.prototype.toString.call(d)}function t(d){return n(d)==="[object String]"}var o=Object.prototype.hasOwnProperty;function e(d,A){return o.call(d,A)}function s(d){var A=Array.prototype.slice.call(arguments,1);return A.forEach(function(x){if(x){if(typeof x!="object")throw new TypeError(x+"must be object");Object.keys(x).forEach(function(P){d[P]=x[P]})}}),d}function i(d,A,x){return[].concat(d.slice(0,A),x,d.slice(A+1))}function c(d){return!(d>=55296&&d<=57343||d>=64976&&d<=65007||(d&65535)===65535||(d&65535)===65534||d>=0&&d<=8||d===11||d>=14&&d<=31||d>=127&&d<=159||d>1114111)}function a(d){if(d>65535){d-=65536;var A=55296+(d>>10),x=56320+(d&1023);return String.fromCharCode(A,x)}return String.fromCharCode(d)}var l=/\\([!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~])/g,u=/&([a-z#][a-z0-9]{1,31});/gi,p=new RegExp(l.source+"|"+u.source,"gi"),f=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i,h=At;function b(d,A){var x;return e(h,A)?h[A]:A.charCodeAt(0)===35&&f.test(A)&&(x=A[1].toLowerCase()==="x"?parseInt(A.slice(2),16):parseInt(A.slice(1),10),c(x))?a(x):d}function _(d){return d.indexOf("\\")<0?d:d.replace(l,"$1")}function v(d){return d.indexOf("\\")<0&&d.indexOf("&")<0?d:d.replace(p,function(A,x,P){return x||b(A,P)})}var k=/[&<>"]/,m=/[&<>"]/g,y={"&":"&","<":"<",">":">",'"':"""};function C(d){return y[d]}function w(d){return k.test(d)?d.replace(m,C):d}var g=/[.?*+^$[\]\\(){}|-]/g;function E(d){return d.replace(g,"\\$&")}function S(d){switch(d){case 9:case 32:return!0}return!1}function M(d){if(d>=8192&&d<=8202)return!0;switch(d){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1}var D=Tn;function R(d){return D.test(d)}function G(d){switch(d){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}}function Y(d){return d=d.trim().replace(/\s+/g," "),"ẞ".toLowerCase()==="Ṿ"&&(d=d.replace(/ẞ/g,"ß")),d.toLowerCase().toUpperCase()}r.lib={},r.lib.mdurl=Z,r.lib.ucmicro=MN(),r.assign=s,r.isString=t,r.has=e,r.unescapeMd=_,r.unescapeAll=v,r.isValidEntityCode=c,r.fromCodePoint=a,r.escapeHtml=w,r.arrayReplaceAt=i,r.isSpace=S,r.isWhiteSpace=M,r.isMdAsciiPunct=G,r.isPunctChar=R,r.escapeRE=E,r.normalizeReference=Y})(q);var ln={},PN=function(n,t,o){var e,s,i,c,a=-1,l=n.posMax,u=n.pos;for(n.pos=t+1,e=1;n.pos32))return c;if(e===41){if(s===0)break;s--}i++}return t===i||s!==0||(c.str=tt(n.slice(t,i)),c.pos=i,c.ok=!0),c},UN=q.unescapeAll,VN=function(n,t,o){var e,s,i=0,c=t,a={ok:!1,pos:0,lines:0,str:""};if(c>=o||(s=n.charCodeAt(c),s!==34&&s!==39&&s!==40))return a;for(c++,s===40&&(s=41);c"+$(s.content)+""};B.code_block=function(r,n,t,o,e){var s=r[n];return""+$(r[n].content)+` +import{aA as Ht,aB as Zt,e as Jt,n as Wt,o as Yt,i as Qt,w as Kt,a as Xt,u as nr,aa as tr}from"./index-DnhwPdfm.js";var q={};const rr="Á",or="á",er="Ă",sr="ă",cr="∾",ir="∿",ar="∾̳",lr="Â",ur="â",pr="´",fr="А",hr="а",dr="Æ",mr="æ",gr="⁡",br="𝔄",_r="𝔞",kr="À",xr="à",vr="ℵ",yr="ℵ",Cr="Α",wr="α",Ar="Ā",qr="ā",Dr="⨿",Er="&",Sr="&",Fr="⩕",Lr="⩓",Tr="∧",Rr="⩜",zr="⩘",Ir="⩚",Br="∠",Nr="⦤",Mr="∠",Pr="⦨",Or="⦩",Ur="⦪",Vr="⦫",$r="⦬",Gr="⦭",jr="⦮",Hr="⦯",Zr="∡",Jr="∟",Wr="⊾",Yr="⦝",Qr="∢",Kr="Å",Xr="⍼",no="Ą",to="ą",ro="𝔸",oo="𝕒",eo="⩯",so="≈",co="⩰",io="≊",ao="≋",lo="'",uo="⁡",po="≈",fo="≊",ho="Å",mo="å",go="𝒜",bo="𝒶",_o="≔",ko="*",xo="≈",vo="≍",yo="Ã",Co="ã",wo="Ä",Ao="ä",qo="∳",Do="⨑",Eo="≌",So="϶",Fo="‵",Lo="∽",To="⋍",Ro="∖",zo="⫧",Io="⊽",Bo="⌅",No="⌆",Mo="⌅",Po="⎵",Oo="⎶",Uo="≌",Vo="Б",$o="б",Go="„",jo="∵",Ho="∵",Zo="∵",Jo="⦰",Wo="϶",Yo="ℬ",Qo="ℬ",Ko="Β",Xo="β",ne="ℶ",te="≬",re="𝔅",oe="𝔟",ee="⋂",se="◯",ce="⋃",ie="⨀",ae="⨁",le="⨂",ue="⨆",pe="★",fe="▽",he="△",de="⨄",me="⋁",ge="⋀",be="⤍",_e="⧫",ke="▪",xe="▴",ve="▾",ye="◂",Ce="▸",we="␣",Ae="▒",qe="░",De="▓",Ee="█",Se="=⃥",Fe="≡⃥",Le="⫭",Te="⌐",Re="𝔹",ze="𝕓",Ie="⊥",Be="⊥",Ne="⋈",Me="⧉",Pe="┐",Oe="╕",Ue="╖",Ve="╗",$e="┌",Ge="╒",je="╓",He="╔",Ze="─",Je="═",We="┬",Ye="╤",Qe="╥",Ke="╦",Xe="┴",ns="╧",ts="╨",rs="╩",os="⊟",es="⊞",ss="⊠",cs="┘",is="╛",as="╜",ls="╝",us="└",ps="╘",fs="╙",hs="╚",ds="│",ms="║",gs="┼",bs="╪",_s="╫",ks="╬",xs="┤",vs="╡",ys="╢",Cs="╣",ws="├",As="╞",qs="╟",Ds="╠",Es="‵",Ss="˘",Fs="˘",Ls="¦",Ts="𝒷",Rs="ℬ",zs="⁏",Is="∽",Bs="⋍",Ns="⧅",Ms="\\",Ps="⟈",Os="•",Us="•",Vs="≎",$s="⪮",Gs="≏",js="≎",Hs="≏",Zs="Ć",Js="ć",Ws="⩄",Ys="⩉",Qs="⩋",Ks="∩",Xs="⋒",nc="⩇",tc="⩀",rc="ⅅ",oc="∩︀",ec="⁁",sc="ˇ",cc="ℭ",ic="⩍",ac="Č",lc="č",uc="Ç",pc="ç",fc="Ĉ",hc="ĉ",dc="∰",mc="⩌",gc="⩐",bc="Ċ",_c="ċ",kc="¸",xc="¸",vc="⦲",yc="¢",Cc="·",wc="·",Ac="𝔠",qc="ℭ",Dc="Ч",Ec="ч",Sc="✓",Fc="✓",Lc="Χ",Tc="χ",Rc="ˆ",zc="≗",Ic="↺",Bc="↻",Nc="⊛",Mc="⊚",Pc="⊝",Oc="⊙",Uc="®",Vc="Ⓢ",$c="⊖",Gc="⊕",jc="⊗",Hc="○",Zc="⧃",Jc="≗",Wc="⨐",Yc="⫯",Qc="⧂",Kc="∲",Xc="”",ni="’",ti="♣",ri="♣",oi=":",ei="∷",si="⩴",ci="≔",ii="≔",ai=",",li="@",ui="∁",pi="∘",fi="∁",hi="ℂ",di="≅",mi="⩭",gi="≡",bi="∮",_i="∯",ki="∮",xi="𝕔",vi="ℂ",yi="∐",Ci="∐",wi="©",Ai="©",qi="℗",Di="∳",Ei="↵",Si="✗",Fi="⨯",Li="𝒞",Ti="𝒸",Ri="⫏",zi="⫑",Ii="⫐",Bi="⫒",Ni="⋯",Mi="⤸",Pi="⤵",Oi="⋞",Ui="⋟",Vi="↶",$i="⤽",Gi="⩈",ji="⩆",Hi="≍",Zi="∪",Ji="⋓",Wi="⩊",Yi="⊍",Qi="⩅",Ki="∪︀",Xi="↷",na="⤼",ta="⋞",ra="⋟",oa="⋎",ea="⋏",sa="¤",ca="↶",ia="↷",aa="⋎",la="⋏",ua="∲",pa="∱",fa="⌭",ha="†",da="‡",ma="ℸ",ga="↓",ba="↡",_a="⇓",ka="‐",xa="⫤",va="⊣",ya="⤏",Ca="˝",wa="Ď",Aa="ď",qa="Д",Da="д",Ea="‡",Sa="⇊",Fa="ⅅ",La="ⅆ",Ta="⤑",Ra="⩷",za="°",Ia="∇",Ba="Δ",Na="δ",Ma="⦱",Pa="⥿",Oa="𝔇",Ua="𝔡",Va="⥥",$a="⇃",Ga="⇂",ja="´",Ha="˙",Za="˝",Ja="`",Wa="˜",Ya="⋄",Qa="⋄",Ka="⋄",Xa="♦",nl="♦",tl="¨",rl="ⅆ",ol="ϝ",el="⋲",sl="÷",cl="÷",il="⋇",al="⋇",ll="Ђ",ul="ђ",pl="⌞",fl="⌍",hl="$",dl="𝔻",ml="𝕕",gl="¨",bl="˙",_l="⃜",kl="≐",xl="≑",vl="≐",yl="∸",Cl="∔",wl="⊡",Al="⌆",ql="∯",Dl="¨",El="⇓",Sl="⇐",Fl="⇔",Ll="⫤",Tl="⟸",Rl="⟺",zl="⟹",Il="⇒",Bl="⊨",Nl="⇑",Ml="⇕",Pl="∥",Ol="⤓",Ul="↓",Vl="↓",$l="⇓",Gl="⇵",jl="̑",Hl="⇊",Zl="⇃",Jl="⇂",Wl="⥐",Yl="⥞",Ql="⥖",Kl="↽",Xl="⥟",nu="⥗",tu="⇁",ru="↧",ou="⊤",eu="⤐",su="⌟",cu="⌌",iu="𝒟",au="𝒹",lu="Ѕ",uu="ѕ",pu="⧶",fu="Đ",hu="đ",du="⋱",mu="▿",gu="▾",bu="⇵",_u="⥯",ku="⦦",xu="Џ",vu="џ",yu="⟿",Cu="É",wu="é",Au="⩮",qu="Ě",Du="ě",Eu="Ê",Su="ê",Fu="≖",Lu="≕",Tu="Э",Ru="э",zu="⩷",Iu="Ė",Bu="ė",Nu="≑",Mu="ⅇ",Pu="≒",Ou="𝔈",Uu="𝔢",Vu="⪚",$u="È",Gu="è",ju="⪖",Hu="⪘",Zu="⪙",Ju="∈",Wu="⏧",Yu="ℓ",Qu="⪕",Ku="⪗",Xu="Ē",np="ē",tp="∅",rp="∅",op="◻",ep="∅",sp="▫",cp=" ",ip=" ",ap=" ",lp="Ŋ",up="ŋ",pp=" ",fp="Ę",hp="ę",dp="𝔼",mp="𝕖",gp="⋕",bp="⧣",_p="⩱",kp="ε",xp="Ε",vp="ε",yp="ϵ",Cp="≖",wp="≕",Ap="≂",qp="⪖",Dp="⪕",Ep="⩵",Sp="=",Fp="≂",Lp="≟",Tp="⇌",Rp="≡",zp="⩸",Ip="⧥",Bp="⥱",Np="≓",Mp="ℯ",Pp="ℰ",Op="≐",Up="⩳",Vp="≂",$p="Η",Gp="η",jp="Ð",Hp="ð",Zp="Ë",Jp="ë",Wp="€",Yp="!",Qp="∃",Kp="∃",Xp="ℰ",nf="ⅇ",tf="ⅇ",rf="≒",of="Ф",ef="ф",sf="♀",cf="ffi",af="ff",lf="ffl",uf="𝔉",pf="𝔣",ff="fi",hf="◼",df="▪",mf="fj",gf="♭",bf="fl",_f="▱",kf="ƒ",xf="𝔽",vf="𝕗",yf="∀",Cf="∀",wf="⋔",Af="⫙",qf="ℱ",Df="⨍",Ef="½",Sf="⅓",Ff="¼",Lf="⅕",Tf="⅙",Rf="⅛",zf="⅔",If="⅖",Bf="¾",Nf="⅗",Mf="⅜",Pf="⅘",Of="⅚",Uf="⅝",Vf="⅞",$f="⁄",Gf="⌢",jf="𝒻",Hf="ℱ",Zf="ǵ",Jf="Γ",Wf="γ",Yf="Ϝ",Qf="ϝ",Kf="⪆",Xf="Ğ",nh="ğ",th="Ģ",rh="Ĝ",oh="ĝ",eh="Г",sh="г",ch="Ġ",ih="ġ",ah="≥",lh="≧",uh="⪌",ph="⋛",fh="≥",hh="≧",dh="⩾",mh="⪩",gh="⩾",bh="⪀",_h="⪂",kh="⪄",xh="⋛︀",vh="⪔",yh="𝔊",Ch="𝔤",wh="≫",Ah="⋙",qh="⋙",Dh="ℷ",Eh="Ѓ",Sh="ѓ",Fh="⪥",Lh="≷",Th="⪒",Rh="⪤",zh="⪊",Ih="⪊",Bh="⪈",Nh="≩",Mh="⪈",Ph="≩",Oh="⋧",Uh="𝔾",Vh="𝕘",$h="`",Gh="≥",jh="⋛",Hh="≧",Zh="⪢",Jh="≷",Wh="⩾",Yh="≳",Qh="𝒢",Kh="ℊ",Xh="≳",nd="⪎",td="⪐",rd="⪧",od="⩺",ed=">",sd=">",cd="≫",id="⋗",ad="⦕",ld="⩼",ud="⪆",pd="⥸",fd="⋗",hd="⋛",dd="⪌",md="≷",gd="≳",bd="≩︀",_d="≩︀",kd="ˇ",xd=" ",vd="½",yd="ℋ",Cd="Ъ",wd="ъ",Ad="⥈",qd="↔",Dd="⇔",Ed="↭",Sd="^",Fd="ℏ",Ld="Ĥ",Td="ĥ",Rd="♥",zd="♥",Id="…",Bd="⊹",Nd="𝔥",Md="ℌ",Pd="ℋ",Od="⤥",Ud="⤦",Vd="⇿",$d="∻",Gd="↩",jd="↪",Hd="𝕙",Zd="ℍ",Jd="―",Wd="─",Yd="𝒽",Qd="ℋ",Kd="ℏ",Xd="Ħ",nm="ħ",tm="≎",rm="≏",om="⁃",em="‐",sm="Í",cm="í",im="⁣",am="Î",lm="î",um="И",pm="и",fm="İ",hm="Е",dm="е",mm="¡",gm="⇔",bm="𝔦",_m="ℑ",km="Ì",xm="ì",vm="ⅈ",ym="⨌",Cm="∭",wm="⧜",Am="℩",qm="IJ",Dm="ij",Em="Ī",Sm="ī",Fm="ℑ",Lm="ⅈ",Tm="ℐ",Rm="ℑ",zm="ı",Im="ℑ",Bm="⊷",Nm="Ƶ",Mm="⇒",Pm="℅",Om="∞",Um="⧝",Vm="ı",$m="⊺",Gm="∫",jm="∬",Hm="ℤ",Zm="∫",Jm="⊺",Wm="⋂",Ym="⨗",Qm="⨼",Km="⁣",Xm="⁢",ng="Ё",tg="ё",rg="Į",og="į",eg="𝕀",sg="𝕚",cg="Ι",ig="ι",ag="⨼",lg="¿",ug="𝒾",pg="ℐ",fg="∈",hg="⋵",dg="⋹",mg="⋴",gg="⋳",bg="∈",_g="⁢",kg="Ĩ",xg="ĩ",vg="І",yg="і",Cg="Ï",wg="ï",Ag="Ĵ",qg="ĵ",Dg="Й",Eg="й",Sg="𝔍",Fg="𝔧",Lg="ȷ",Tg="𝕁",Rg="𝕛",zg="𝒥",Ig="𝒿",Bg="Ј",Ng="ј",Mg="Є",Pg="є",Og="Κ",Ug="κ",Vg="ϰ",$g="Ķ",Gg="ķ",jg="К",Hg="к",Zg="𝔎",Jg="𝔨",Wg="ĸ",Yg="Х",Qg="х",Kg="Ќ",Xg="ќ",n0="𝕂",t0="𝕜",r0="𝒦",o0="𝓀",e0="⇚",s0="Ĺ",c0="ĺ",i0="⦴",a0="ℒ",l0="Λ",u0="λ",p0="⟨",f0="⟪",h0="⦑",d0="⟨",m0="⪅",g0="ℒ",b0="«",_0="⇤",k0="⤟",x0="←",v0="↞",y0="⇐",C0="⤝",w0="↩",A0="↫",q0="⤹",D0="⥳",E0="↢",S0="⤙",F0="⤛",L0="⪫",T0="⪭",R0="⪭︀",z0="⤌",I0="⤎",B0="❲",N0="{",M0="[",P0="⦋",O0="⦏",U0="⦍",V0="Ľ",$0="ľ",G0="Ļ",j0="ļ",H0="⌈",Z0="{",J0="Л",W0="л",Y0="⤶",Q0="“",K0="„",X0="⥧",nb="⥋",tb="↲",rb="≤",ob="≦",eb="⟨",sb="⇤",cb="←",ib="←",ab="⇐",lb="⇆",ub="↢",pb="⌈",fb="⟦",hb="⥡",db="⥙",mb="⇃",gb="⌊",bb="↽",_b="↼",kb="⇇",xb="↔",vb="↔",yb="⇔",Cb="⇆",wb="⇋",Ab="↭",qb="⥎",Db="↤",Eb="⊣",Sb="⥚",Fb="⋋",Lb="⧏",Tb="⊲",Rb="⊴",zb="⥑",Ib="⥠",Bb="⥘",Nb="↿",Mb="⥒",Pb="↼",Ob="⪋",Ub="⋚",Vb="≤",$b="≦",Gb="⩽",jb="⪨",Hb="⩽",Zb="⩿",Jb="⪁",Wb="⪃",Yb="⋚︀",Qb="⪓",Kb="⪅",Xb="⋖",n_="⋚",t_="⪋",r_="⋚",o_="≦",e_="≶",s_="≶",c_="⪡",i_="≲",a_="⩽",l_="≲",u_="⥼",p_="⌊",f_="𝔏",h_="𝔩",d_="≶",m_="⪑",g_="⥢",b_="↽",__="↼",k_="⥪",x_="▄",v_="Љ",y_="љ",C_="⇇",w_="≪",A_="⋘",q_="⌞",D_="⇚",E_="⥫",S_="◺",F_="Ŀ",L_="ŀ",T_="⎰",R_="⎰",z_="⪉",I_="⪉",B_="⪇",N_="≨",M_="⪇",P_="≨",O_="⋦",U_="⟬",V_="⇽",$_="⟦",G_="⟵",j_="⟵",H_="⟸",Z_="⟷",J_="⟷",W_="⟺",Y_="⟼",Q_="⟶",K_="⟶",X_="⟹",nk="↫",tk="↬",rk="⦅",ok="𝕃",ek="𝕝",sk="⨭",ck="⨴",ik="∗",ak="_",lk="↙",uk="↘",pk="◊",fk="◊",hk="⧫",dk="(",mk="⦓",gk="⇆",bk="⌟",_k="⇋",kk="⥭",xk="‎",vk="⊿",yk="‹",Ck="𝓁",wk="ℒ",Ak="↰",qk="↰",Dk="≲",Ek="⪍",Sk="⪏",Fk="[",Lk="‘",Tk="‚",Rk="Ł",zk="ł",Ik="⪦",Bk="⩹",Nk="<",Mk="<",Pk="≪",Ok="⋖",Uk="⋋",Vk="⋉",$k="⥶",Gk="⩻",jk="◃",Hk="⊴",Zk="◂",Jk="⦖",Wk="⥊",Yk="⥦",Qk="≨︀",Kk="≨︀",Xk="¯",nx="♂",tx="✠",rx="✠",ox="↦",ex="↦",sx="↧",cx="↤",ix="↥",ax="▮",lx="⨩",ux="М",px="м",fx="—",hx="∺",dx="∡",mx=" ",gx="ℳ",bx="𝔐",_x="𝔪",kx="℧",xx="µ",vx="*",yx="⫰",Cx="∣",wx="·",Ax="⊟",qx="−",Dx="∸",Ex="⨪",Sx="∓",Fx="⫛",Lx="…",Tx="∓",Rx="⊧",zx="𝕄",Ix="𝕞",Bx="∓",Nx="𝓂",Mx="ℳ",Px="∾",Ox="Μ",Ux="μ",Vx="⊸",$x="⊸",Gx="∇",jx="Ń",Hx="ń",Zx="∠⃒",Jx="≉",Wx="⩰̸",Yx="≋̸",Qx="ʼn",Kx="≉",Xx="♮",nv="ℕ",tv="♮",rv=" ",ov="≎̸",ev="≏̸",sv="⩃",cv="Ň",iv="ň",av="Ņ",lv="ņ",uv="≇",pv="⩭̸",fv="⩂",hv="Н",dv="н",mv="–",gv="⤤",bv="↗",_v="⇗",kv="↗",xv="≠",vv="≐̸",yv="​",Cv="​",wv="​",Av="​",qv="≢",Dv="⤨",Ev="≂̸",Sv="≫",Fv="≪",Lv=` +`,Tv="∄",Rv="∄",zv="𝔑",Iv="𝔫",Bv="≧̸",Nv="≱",Mv="≱",Pv="≧̸",Ov="⩾̸",Uv="⩾̸",Vv="⋙̸",$v="≵",Gv="≫⃒",jv="≯",Hv="≯",Zv="≫̸",Jv="↮",Wv="⇎",Yv="⫲",Qv="∋",Kv="⋼",Xv="⋺",ny="∋",ty="Њ",ry="њ",oy="↚",ey="⇍",sy="‥",cy="≦̸",iy="≰",ay="↚",ly="⇍",uy="↮",py="⇎",fy="≰",hy="≦̸",dy="⩽̸",my="⩽̸",gy="≮",by="⋘̸",_y="≴",ky="≪⃒",xy="≮",vy="⋪",yy="⋬",Cy="≪̸",wy="∤",Ay="⁠",qy=" ",Dy="𝕟",Ey="ℕ",Sy="⫬",Fy="¬",Ly="≢",Ty="≭",Ry="∦",zy="∉",Iy="≠",By="≂̸",Ny="∄",My="≯",Py="≱",Oy="≧̸",Uy="≫̸",Vy="≹",$y="⩾̸",Gy="≵",jy="≎̸",Hy="≏̸",Zy="∉",Jy="⋵̸",Wy="⋹̸",Yy="∉",Qy="⋷",Ky="⋶",Xy="⧏̸",nC="⋪",tC="⋬",rC="≮",oC="≰",eC="≸",sC="≪̸",cC="⩽̸",iC="≴",aC="⪢̸",lC="⪡̸",uC="∌",pC="∌",fC="⋾",hC="⋽",dC="⊀",mC="⪯̸",gC="⋠",bC="∌",_C="⧐̸",kC="⋫",xC="⋭",vC="⊏̸",yC="⋢",CC="⊐̸",wC="⋣",AC="⊂⃒",qC="⊈",DC="⊁",EC="⪰̸",SC="⋡",FC="≿̸",LC="⊃⃒",TC="⊉",RC="≁",zC="≄",IC="≇",BC="≉",NC="∤",MC="∦",PC="∦",OC="⫽⃥",UC="∂̸",VC="⨔",$C="⊀",GC="⋠",jC="⊀",HC="⪯̸",ZC="⪯̸",JC="⤳̸",WC="↛",YC="⇏",QC="↝̸",KC="↛",XC="⇏",nw="⋫",tw="⋭",rw="⊁",ow="⋡",ew="⪰̸",sw="𝒩",cw="𝓃",iw="∤",aw="∦",lw="≁",uw="≄",pw="≄",fw="∤",hw="∦",dw="⋢",mw="⋣",gw="⊄",bw="⫅̸",_w="⊈",kw="⊂⃒",xw="⊈",vw="⫅̸",yw="⊁",Cw="⪰̸",ww="⊅",Aw="⫆̸",qw="⊉",Dw="⊃⃒",Ew="⊉",Sw="⫆̸",Fw="≹",Lw="Ñ",Tw="ñ",Rw="≸",zw="⋪",Iw="⋬",Bw="⋫",Nw="⋭",Mw="Ν",Pw="ν",Ow="#",Uw="№",Vw=" ",$w="≍⃒",Gw="⊬",jw="⊭",Hw="⊮",Zw="⊯",Jw="≥⃒",Ww=">⃒",Yw="⤄",Qw="⧞",Kw="⤂",Xw="≤⃒",n1="<⃒",t1="⊴⃒",r1="⤃",o1="⊵⃒",e1="∼⃒",s1="⤣",c1="↖",i1="⇖",a1="↖",l1="⤧",u1="Ó",p1="ó",f1="⊛",h1="Ô",d1="ô",m1="⊚",g1="О",b1="о",_1="⊝",k1="Ő",x1="ő",v1="⨸",y1="⊙",C1="⦼",w1="Œ",A1="œ",q1="⦿",D1="𝔒",E1="𝔬",S1="˛",F1="Ò",L1="ò",T1="⧁",R1="⦵",z1="Ω",I1="∮",B1="↺",N1="⦾",M1="⦻",P1="‾",O1="⧀",U1="Ō",V1="ō",$1="Ω",G1="ω",j1="Ο",H1="ο",Z1="⦶",J1="⊖",W1="𝕆",Y1="𝕠",Q1="⦷",K1="“",X1="‘",nA="⦹",tA="⊕",rA="↻",oA="⩔",eA="∨",sA="⩝",cA="ℴ",iA="ℴ",aA="ª",lA="º",uA="⊶",pA="⩖",fA="⩗",hA="⩛",dA="Ⓢ",mA="𝒪",gA="ℴ",bA="Ø",_A="ø",kA="⊘",xA="Õ",vA="õ",yA="⨶",CA="⨷",wA="⊗",AA="Ö",qA="ö",DA="⌽",EA="‾",SA="⏞",FA="⎴",LA="⏜",TA="¶",RA="∥",zA="∥",IA="⫳",BA="⫽",NA="∂",MA="∂",PA="П",OA="п",UA="%",VA=".",$A="‰",GA="⊥",jA="‱",HA="𝔓",ZA="𝔭",JA="Φ",WA="φ",YA="ϕ",QA="ℳ",KA="☎",XA="Π",nq="π",tq="⋔",rq="ϖ",oq="ℏ",eq="ℎ",sq="ℏ",cq="⨣",iq="⊞",aq="⨢",lq="+",uq="∔",pq="⨥",fq="⩲",hq="±",dq="±",mq="⨦",gq="⨧",bq="±",_q="ℌ",kq="⨕",xq="𝕡",vq="ℙ",yq="£",Cq="⪷",wq="⪻",Aq="≺",qq="≼",Dq="⪷",Eq="≺",Sq="≼",Fq="≺",Lq="⪯",Tq="≼",Rq="≾",zq="⪯",Iq="⪹",Bq="⪵",Nq="⋨",Mq="⪯",Pq="⪳",Oq="≾",Uq="′",Vq="″",$q="ℙ",Gq="⪹",jq="⪵",Hq="⋨",Zq="∏",Jq="∏",Wq="⌮",Yq="⌒",Qq="⌓",Kq="∝",Xq="∝",nD="∷",tD="∝",rD="≾",oD="⊰",eD="𝒫",sD="𝓅",cD="Ψ",iD="ψ",aD=" ",lD="𝔔",uD="𝔮",pD="⨌",fD="𝕢",hD="ℚ",dD="⁗",mD="𝒬",gD="𝓆",bD="ℍ",_D="⨖",kD="?",xD="≟",vD='"',yD='"',CD="⇛",wD="∽̱",AD="Ŕ",qD="ŕ",DD="√",ED="⦳",SD="⟩",FD="⟫",LD="⦒",TD="⦥",RD="⟩",zD="»",ID="⥵",BD="⇥",ND="⤠",MD="⤳",PD="→",OD="↠",UD="⇒",VD="⤞",$D="↪",GD="↬",jD="⥅",HD="⥴",ZD="⤖",JD="↣",WD="↝",YD="⤚",QD="⤜",KD="∶",XD="ℚ",nE="⤍",tE="⤏",rE="⤐",oE="❳",eE="}",sE="]",cE="⦌",iE="⦎",aE="⦐",lE="Ř",uE="ř",pE="Ŗ",fE="ŗ",hE="⌉",dE="}",mE="Р",gE="р",bE="⤷",_E="⥩",kE="”",xE="”",vE="↳",yE="ℜ",CE="ℛ",wE="ℜ",AE="ℝ",qE="ℜ",DE="▭",EE="®",SE="®",FE="∋",LE="⇋",TE="⥯",RE="⥽",zE="⌋",IE="𝔯",BE="ℜ",NE="⥤",ME="⇁",PE="⇀",OE="⥬",UE="Ρ",VE="ρ",$E="ϱ",GE="⟩",jE="⇥",HE="→",ZE="→",JE="⇒",WE="⇄",YE="↣",QE="⌉",KE="⟧",XE="⥝",nS="⥕",tS="⇂",rS="⌋",oS="⇁",eS="⇀",sS="⇄",cS="⇌",iS="⇉",aS="↝",lS="↦",uS="⊢",pS="⥛",fS="⋌",hS="⧐",dS="⊳",mS="⊵",gS="⥏",bS="⥜",_S="⥔",kS="↾",xS="⥓",vS="⇀",yS="˚",CS="≓",wS="⇄",AS="⇌",qS="‏",DS="⎱",ES="⎱",SS="⫮",FS="⟭",LS="⇾",TS="⟧",RS="⦆",zS="𝕣",IS="ℝ",BS="⨮",NS="⨵",MS="⥰",PS=")",OS="⦔",US="⨒",VS="⇉",$S="⇛",GS="›",jS="𝓇",HS="ℛ",ZS="↱",JS="↱",WS="]",YS="’",QS="’",KS="⋌",XS="⋊",nF="▹",tF="⊵",rF="▸",oF="⧎",eF="⧴",sF="⥨",cF="℞",iF="Ś",aF="ś",lF="‚",uF="⪸",pF="Š",fF="š",hF="⪼",dF="≻",mF="≽",gF="⪰",bF="⪴",_F="Ş",kF="ş",xF="Ŝ",vF="ŝ",yF="⪺",CF="⪶",wF="⋩",AF="⨓",qF="≿",DF="С",EF="с",SF="⊡",FF="⋅",LF="⩦",TF="⤥",RF="↘",zF="⇘",IF="↘",BF="§",NF=";",MF="⤩",PF="∖",OF="∖",UF="✶",VF="𝔖",$F="𝔰",GF="⌢",jF="♯",HF="Щ",ZF="щ",JF="Ш",WF="ш",YF="↓",QF="←",KF="∣",XF="∥",nL="→",tL="↑",rL="­",oL="Σ",eL="σ",sL="ς",cL="ς",iL="∼",aL="⩪",lL="≃",uL="≃",pL="⪞",fL="⪠",hL="⪝",dL="⪟",mL="≆",gL="⨤",bL="⥲",_L="←",kL="∘",xL="∖",vL="⨳",yL="⧤",CL="∣",wL="⌣",AL="⪪",qL="⪬",DL="⪬︀",EL="Ь",SL="ь",FL="⌿",LL="⧄",TL="/",RL="𝕊",zL="𝕤",IL="♠",BL="♠",NL="∥",ML="⊓",PL="⊓︀",OL="⊔",UL="⊔︀",VL="√",$L="⊏",GL="⊑",jL="⊏",HL="⊑",ZL="⊐",JL="⊒",WL="⊐",YL="⊒",QL="□",KL="□",XL="⊓",nT="⊏",tT="⊑",rT="⊐",oT="⊒",eT="⊔",sT="▪",cT="□",iT="▪",aT="→",lT="𝒮",uT="𝓈",pT="∖",fT="⌣",hT="⋆",dT="⋆",mT="☆",gT="★",bT="ϵ",_T="ϕ",kT="¯",xT="⊂",vT="⋐",yT="⪽",CT="⫅",wT="⊆",AT="⫃",qT="⫁",DT="⫋",ET="⊊",ST="⪿",FT="⥹",LT="⊂",TT="⋐",RT="⊆",zT="⫅",IT="⊆",BT="⊊",NT="⫋",MT="⫇",PT="⫕",OT="⫓",UT="⪸",VT="≻",$T="≽",GT="≻",jT="⪰",HT="≽",ZT="≿",JT="⪰",WT="⪺",YT="⪶",QT="⋩",KT="≿",XT="∋",n2="∑",t2="∑",r2="♪",o2="¹",e2="²",s2="³",c2="⊃",i2="⋑",a2="⪾",l2="⫘",u2="⫆",p2="⊇",f2="⫄",h2="⊃",d2="⊇",m2="⟉",g2="⫗",b2="⥻",_2="⫂",k2="⫌",x2="⊋",v2="⫀",y2="⊃",C2="⋑",w2="⊇",A2="⫆",q2="⊋",D2="⫌",E2="⫈",S2="⫔",F2="⫖",L2="⤦",T2="↙",R2="⇙",z2="↙",I2="⤪",B2="ß",N2=" ",M2="⌖",P2="Τ",O2="τ",U2="⎴",V2="Ť",$2="ť",G2="Ţ",j2="ţ",H2="Т",Z2="т",J2="⃛",W2="⌕",Y2="𝔗",Q2="𝔱",K2="∴",X2="∴",nR="∴",tR="Θ",rR="θ",oR="ϑ",eR="ϑ",sR="≈",cR="∼",iR="  ",aR=" ",lR=" ",uR="≈",pR="∼",fR="Þ",hR="þ",dR="˜",mR="∼",gR="≃",bR="≅",_R="≈",kR="⨱",xR="⊠",vR="×",yR="⨰",CR="∭",wR="⤨",AR="⌶",qR="⫱",DR="⊤",ER="𝕋",SR="𝕥",FR="⫚",LR="⤩",TR="‴",RR="™",zR="™",IR="▵",BR="▿",NR="◃",MR="⊴",PR="≜",OR="▹",UR="⊵",VR="◬",$R="≜",GR="⨺",jR="⃛",HR="⨹",ZR="⧍",JR="⨻",WR="⏢",YR="𝒯",QR="𝓉",KR="Ц",XR="ц",nz="Ћ",tz="ћ",rz="Ŧ",oz="ŧ",ez="≬",sz="↞",cz="↠",iz="Ú",az="ú",lz="↑",uz="↟",pz="⇑",fz="⥉",hz="Ў",dz="ў",mz="Ŭ",gz="ŭ",bz="Û",_z="û",kz="У",xz="у",vz="⇅",yz="Ű",Cz="ű",wz="⥮",Az="⥾",qz="𝔘",Dz="𝔲",Ez="Ù",Sz="ù",Fz="⥣",Lz="↿",Tz="↾",Rz="▀",zz="⌜",Iz="⌜",Bz="⌏",Nz="◸",Mz="Ū",Pz="ū",Oz="¨",Uz="_",Vz="⏟",$z="⎵",Gz="⏝",jz="⋃",Hz="⊎",Zz="Ų",Jz="ų",Wz="𝕌",Yz="𝕦",Qz="⤒",Kz="↑",Xz="↑",nI="⇑",tI="⇅",rI="↕",oI="↕",eI="⇕",sI="⥮",cI="↿",iI="↾",aI="⊎",lI="↖",uI="↗",pI="υ",fI="ϒ",hI="ϒ",dI="Υ",mI="υ",gI="↥",bI="⊥",_I="⇈",kI="⌝",xI="⌝",vI="⌎",yI="Ů",CI="ů",wI="◹",AI="𝒰",qI="𝓊",DI="⋰",EI="Ũ",SI="ũ",FI="▵",LI="▴",TI="⇈",RI="Ü",zI="ü",II="⦧",BI="⦜",NI="ϵ",MI="ϰ",PI="∅",OI="ϕ",UI="ϖ",VI="∝",$I="↕",GI="⇕",jI="ϱ",HI="ς",ZI="⊊︀",JI="⫋︀",WI="⊋︀",YI="⫌︀",QI="ϑ",KI="⊲",XI="⊳",nB="⫨",tB="⫫",rB="⫩",oB="В",eB="в",sB="⊢",cB="⊨",iB="⊩",aB="⊫",lB="⫦",uB="⊻",pB="∨",fB="⋁",hB="≚",dB="⋮",mB="|",gB="‖",bB="|",_B="‖",kB="∣",xB="|",vB="❘",yB="≀",CB=" ",wB="𝔙",AB="𝔳",qB="⊲",DB="⊂⃒",EB="⊃⃒",SB="𝕍",FB="𝕧",LB="∝",TB="⊳",RB="𝒱",zB="𝓋",IB="⫋︀",BB="⊊︀",NB="⫌︀",MB="⊋︀",PB="⊪",OB="⦚",UB="Ŵ",VB="ŵ",$B="⩟",GB="∧",jB="⋀",HB="≙",ZB="℘",JB="𝔚",WB="𝔴",YB="𝕎",QB="𝕨",KB="℘",XB="≀",n3="≀",t3="𝒲",r3="𝓌",o3="⋂",e3="◯",s3="⋃",c3="▽",i3="𝔛",a3="𝔵",l3="⟷",u3="⟺",p3="Ξ",f3="ξ",h3="⟵",d3="⟸",m3="⟼",g3="⋻",b3="⨀",_3="𝕏",k3="𝕩",x3="⨁",v3="⨂",y3="⟶",C3="⟹",w3="𝒳",A3="𝓍",q3="⨆",D3="⨄",E3="△",S3="⋁",F3="⋀",L3="Ý",T3="ý",R3="Я",z3="я",I3="Ŷ",B3="ŷ",N3="Ы",M3="ы",P3="¥",O3="𝔜",U3="𝔶",V3="Ї",$3="ї",G3="𝕐",j3="𝕪",H3="𝒴",Z3="𝓎",J3="Ю",W3="ю",Y3="ÿ",Q3="Ÿ",K3="Ź",X3="ź",nN="Ž",tN="ž",rN="З",oN="з",eN="Ż",sN="ż",cN="ℨ",iN="​",aN="Ζ",lN="ζ",uN="𝔷",pN="ℨ",fN="Ж",hN="ж",dN="⇝",mN="𝕫",gN="ℤ",bN="𝒵",_N="𝓏",kN="‍",xN="‌",vN={Aacute:rr,aacute:or,Abreve:er,abreve:sr,ac:cr,acd:ir,acE:ar,Acirc:lr,acirc:ur,acute:pr,Acy:fr,acy:hr,AElig:dr,aelig:mr,af:gr,Afr:br,afr:_r,Agrave:kr,agrave:xr,alefsym:vr,aleph:yr,Alpha:Cr,alpha:wr,Amacr:Ar,amacr:qr,amalg:Dr,amp:Er,AMP:Sr,andand:Fr,And:Lr,and:Tr,andd:Rr,andslope:zr,andv:Ir,ang:Br,ange:Nr,angle:Mr,angmsdaa:Pr,angmsdab:Or,angmsdac:Ur,angmsdad:Vr,angmsdae:$r,angmsdaf:Gr,angmsdag:jr,angmsdah:Hr,angmsd:Zr,angrt:Jr,angrtvb:Wr,angrtvbd:Yr,angsph:Qr,angst:Kr,angzarr:Xr,Aogon:no,aogon:to,Aopf:ro,aopf:oo,apacir:eo,ap:so,apE:co,ape:io,apid:ao,apos:lo,ApplyFunction:uo,approx:po,approxeq:fo,Aring:ho,aring:mo,Ascr:go,ascr:bo,Assign:_o,ast:ko,asymp:xo,asympeq:vo,Atilde:yo,atilde:Co,Auml:wo,auml:Ao,awconint:qo,awint:Do,backcong:Eo,backepsilon:So,backprime:Fo,backsim:Lo,backsimeq:To,Backslash:Ro,Barv:zo,barvee:Io,barwed:Bo,Barwed:No,barwedge:Mo,bbrk:Po,bbrktbrk:Oo,bcong:Uo,Bcy:Vo,bcy:$o,bdquo:Go,becaus:jo,because:Ho,Because:Zo,bemptyv:Jo,bepsi:Wo,bernou:Yo,Bernoullis:Qo,Beta:Ko,beta:Xo,beth:ne,between:te,Bfr:re,bfr:oe,bigcap:ee,bigcirc:se,bigcup:ce,bigodot:ie,bigoplus:ae,bigotimes:le,bigsqcup:ue,bigstar:pe,bigtriangledown:fe,bigtriangleup:he,biguplus:de,bigvee:me,bigwedge:ge,bkarow:be,blacklozenge:_e,blacksquare:ke,blacktriangle:xe,blacktriangledown:ve,blacktriangleleft:ye,blacktriangleright:Ce,blank:we,blk12:Ae,blk14:qe,blk34:De,block:Ee,bne:Se,bnequiv:Fe,bNot:Le,bnot:Te,Bopf:Re,bopf:ze,bot:Ie,bottom:Be,bowtie:Ne,boxbox:Me,boxdl:Pe,boxdL:Oe,boxDl:Ue,boxDL:Ve,boxdr:$e,boxdR:Ge,boxDr:je,boxDR:He,boxh:Ze,boxH:Je,boxhd:We,boxHd:Ye,boxhD:Qe,boxHD:Ke,boxhu:Xe,boxHu:ns,boxhU:ts,boxHU:rs,boxminus:os,boxplus:es,boxtimes:ss,boxul:cs,boxuL:is,boxUl:as,boxUL:ls,boxur:us,boxuR:ps,boxUr:fs,boxUR:hs,boxv:ds,boxV:ms,boxvh:gs,boxvH:bs,boxVh:_s,boxVH:ks,boxvl:xs,boxvL:vs,boxVl:ys,boxVL:Cs,boxvr:ws,boxvR:As,boxVr:qs,boxVR:Ds,bprime:Es,breve:Ss,Breve:Fs,brvbar:Ls,bscr:Ts,Bscr:Rs,bsemi:zs,bsim:Is,bsime:Bs,bsolb:Ns,bsol:Ms,bsolhsub:Ps,bull:Os,bullet:Us,bump:Vs,bumpE:$s,bumpe:Gs,Bumpeq:js,bumpeq:Hs,Cacute:Zs,cacute:Js,capand:Ws,capbrcup:Ys,capcap:Qs,cap:Ks,Cap:Xs,capcup:nc,capdot:tc,CapitalDifferentialD:rc,caps:oc,caret:ec,caron:sc,Cayleys:cc,ccaps:ic,Ccaron:ac,ccaron:lc,Ccedil:uc,ccedil:pc,Ccirc:fc,ccirc:hc,Cconint:dc,ccups:mc,ccupssm:gc,Cdot:bc,cdot:_c,cedil:kc,Cedilla:xc,cemptyv:vc,cent:yc,centerdot:Cc,CenterDot:wc,cfr:Ac,Cfr:qc,CHcy:Dc,chcy:Ec,check:Sc,checkmark:Fc,Chi:Lc,chi:Tc,circ:Rc,circeq:zc,circlearrowleft:Ic,circlearrowright:Bc,circledast:Nc,circledcirc:Mc,circleddash:Pc,CircleDot:Oc,circledR:Uc,circledS:Vc,CircleMinus:$c,CirclePlus:Gc,CircleTimes:jc,cir:Hc,cirE:Zc,cire:Jc,cirfnint:Wc,cirmid:Yc,cirscir:Qc,ClockwiseContourIntegral:Kc,CloseCurlyDoubleQuote:Xc,CloseCurlyQuote:ni,clubs:ti,clubsuit:ri,colon:oi,Colon:ei,Colone:si,colone:ci,coloneq:ii,comma:ai,commat:li,comp:ui,compfn:pi,complement:fi,complexes:hi,cong:di,congdot:mi,Congruent:gi,conint:bi,Conint:_i,ContourIntegral:ki,copf:xi,Copf:vi,coprod:yi,Coproduct:Ci,copy:wi,COPY:Ai,copysr:qi,CounterClockwiseContourIntegral:Di,crarr:Ei,cross:Si,Cross:Fi,Cscr:Li,cscr:Ti,csub:Ri,csube:zi,csup:Ii,csupe:Bi,ctdot:Ni,cudarrl:Mi,cudarrr:Pi,cuepr:Oi,cuesc:Ui,cularr:Vi,cularrp:$i,cupbrcap:Gi,cupcap:ji,CupCap:Hi,cup:Zi,Cup:Ji,cupcup:Wi,cupdot:Yi,cupor:Qi,cups:Ki,curarr:Xi,curarrm:na,curlyeqprec:ta,curlyeqsucc:ra,curlyvee:oa,curlywedge:ea,curren:sa,curvearrowleft:ca,curvearrowright:ia,cuvee:aa,cuwed:la,cwconint:ua,cwint:pa,cylcty:fa,dagger:ha,Dagger:da,daleth:ma,darr:ga,Darr:ba,dArr:_a,dash:ka,Dashv:xa,dashv:va,dbkarow:ya,dblac:Ca,Dcaron:wa,dcaron:Aa,Dcy:qa,dcy:Da,ddagger:Ea,ddarr:Sa,DD:Fa,dd:La,DDotrahd:Ta,ddotseq:Ra,deg:za,Del:Ia,Delta:Ba,delta:Na,demptyv:Ma,dfisht:Pa,Dfr:Oa,dfr:Ua,dHar:Va,dharl:$a,dharr:Ga,DiacriticalAcute:ja,DiacriticalDot:Ha,DiacriticalDoubleAcute:Za,DiacriticalGrave:Ja,DiacriticalTilde:Wa,diam:Ya,diamond:Qa,Diamond:Ka,diamondsuit:Xa,diams:nl,die:tl,DifferentialD:rl,digamma:ol,disin:el,div:sl,divide:cl,divideontimes:il,divonx:al,DJcy:ll,djcy:ul,dlcorn:pl,dlcrop:fl,dollar:hl,Dopf:dl,dopf:ml,Dot:gl,dot:bl,DotDot:_l,doteq:kl,doteqdot:xl,DotEqual:vl,dotminus:yl,dotplus:Cl,dotsquare:wl,doublebarwedge:Al,DoubleContourIntegral:ql,DoubleDot:Dl,DoubleDownArrow:El,DoubleLeftArrow:Sl,DoubleLeftRightArrow:Fl,DoubleLeftTee:Ll,DoubleLongLeftArrow:Tl,DoubleLongLeftRightArrow:Rl,DoubleLongRightArrow:zl,DoubleRightArrow:Il,DoubleRightTee:Bl,DoubleUpArrow:Nl,DoubleUpDownArrow:Ml,DoubleVerticalBar:Pl,DownArrowBar:Ol,downarrow:Ul,DownArrow:Vl,Downarrow:$l,DownArrowUpArrow:Gl,DownBreve:jl,downdownarrows:Hl,downharpoonleft:Zl,downharpoonright:Jl,DownLeftRightVector:Wl,DownLeftTeeVector:Yl,DownLeftVectorBar:Ql,DownLeftVector:Kl,DownRightTeeVector:Xl,DownRightVectorBar:nu,DownRightVector:tu,DownTeeArrow:ru,DownTee:ou,drbkarow:eu,drcorn:su,drcrop:cu,Dscr:iu,dscr:au,DScy:lu,dscy:uu,dsol:pu,Dstrok:fu,dstrok:hu,dtdot:du,dtri:mu,dtrif:gu,duarr:bu,duhar:_u,dwangle:ku,DZcy:xu,dzcy:vu,dzigrarr:yu,Eacute:Cu,eacute:wu,easter:Au,Ecaron:qu,ecaron:Du,Ecirc:Eu,ecirc:Su,ecir:Fu,ecolon:Lu,Ecy:Tu,ecy:Ru,eDDot:zu,Edot:Iu,edot:Bu,eDot:Nu,ee:Mu,efDot:Pu,Efr:Ou,efr:Uu,eg:Vu,Egrave:$u,egrave:Gu,egs:ju,egsdot:Hu,el:Zu,Element:Ju,elinters:Wu,ell:Yu,els:Qu,elsdot:Ku,Emacr:Xu,emacr:np,empty:tp,emptyset:rp,EmptySmallSquare:op,emptyv:ep,EmptyVerySmallSquare:sp,emsp13:cp,emsp14:ip,emsp:ap,ENG:lp,eng:up,ensp:pp,Eogon:fp,eogon:hp,Eopf:dp,eopf:mp,epar:gp,eparsl:bp,eplus:_p,epsi:kp,Epsilon:xp,epsilon:vp,epsiv:yp,eqcirc:Cp,eqcolon:wp,eqsim:Ap,eqslantgtr:qp,eqslantless:Dp,Equal:Ep,equals:Sp,EqualTilde:Fp,equest:Lp,Equilibrium:Tp,equiv:Rp,equivDD:zp,eqvparsl:Ip,erarr:Bp,erDot:Np,escr:Mp,Escr:Pp,esdot:Op,Esim:Up,esim:Vp,Eta:$p,eta:Gp,ETH:jp,eth:Hp,Euml:Zp,euml:Jp,euro:Wp,excl:Yp,exist:Qp,Exists:Kp,expectation:Xp,exponentiale:nf,ExponentialE:tf,fallingdotseq:rf,Fcy:of,fcy:ef,female:sf,ffilig:cf,fflig:af,ffllig:lf,Ffr:uf,ffr:pf,filig:ff,FilledSmallSquare:hf,FilledVerySmallSquare:df,fjlig:mf,flat:gf,fllig:bf,fltns:_f,fnof:kf,Fopf:xf,fopf:vf,forall:yf,ForAll:Cf,fork:wf,forkv:Af,Fouriertrf:qf,fpartint:Df,frac12:Ef,frac13:Sf,frac14:Ff,frac15:Lf,frac16:Tf,frac18:Rf,frac23:zf,frac25:If,frac34:Bf,frac35:Nf,frac38:Mf,frac45:Pf,frac56:Of,frac58:Uf,frac78:Vf,frasl:$f,frown:Gf,fscr:jf,Fscr:Hf,gacute:Zf,Gamma:Jf,gamma:Wf,Gammad:Yf,gammad:Qf,gap:Kf,Gbreve:Xf,gbreve:nh,Gcedil:th,Gcirc:rh,gcirc:oh,Gcy:eh,gcy:sh,Gdot:ch,gdot:ih,ge:ah,gE:lh,gEl:uh,gel:ph,geq:fh,geqq:hh,geqslant:dh,gescc:mh,ges:gh,gesdot:bh,gesdoto:_h,gesdotol:kh,gesl:xh,gesles:vh,Gfr:yh,gfr:Ch,gg:wh,Gg:Ah,ggg:qh,gimel:Dh,GJcy:Eh,gjcy:Sh,gla:Fh,gl:Lh,glE:Th,glj:Rh,gnap:zh,gnapprox:Ih,gne:Bh,gnE:Nh,gneq:Mh,gneqq:Ph,gnsim:Oh,Gopf:Uh,gopf:Vh,grave:$h,GreaterEqual:Gh,GreaterEqualLess:jh,GreaterFullEqual:Hh,GreaterGreater:Zh,GreaterLess:Jh,GreaterSlantEqual:Wh,GreaterTilde:Yh,Gscr:Qh,gscr:Kh,gsim:Xh,gsime:nd,gsiml:td,gtcc:rd,gtcir:od,gt:ed,GT:sd,Gt:cd,gtdot:id,gtlPar:ad,gtquest:ld,gtrapprox:ud,gtrarr:pd,gtrdot:fd,gtreqless:hd,gtreqqless:dd,gtrless:md,gtrsim:gd,gvertneqq:bd,gvnE:_d,Hacek:kd,hairsp:xd,half:vd,hamilt:yd,HARDcy:Cd,hardcy:wd,harrcir:Ad,harr:qd,hArr:Dd,harrw:Ed,Hat:Sd,hbar:Fd,Hcirc:Ld,hcirc:Td,hearts:Rd,heartsuit:zd,hellip:Id,hercon:Bd,hfr:Nd,Hfr:Md,HilbertSpace:Pd,hksearow:Od,hkswarow:Ud,hoarr:Vd,homtht:$d,hookleftarrow:Gd,hookrightarrow:jd,hopf:Hd,Hopf:Zd,horbar:Jd,HorizontalLine:Wd,hscr:Yd,Hscr:Qd,hslash:Kd,Hstrok:Xd,hstrok:nm,HumpDownHump:tm,HumpEqual:rm,hybull:om,hyphen:em,Iacute:sm,iacute:cm,ic:im,Icirc:am,icirc:lm,Icy:um,icy:pm,Idot:fm,IEcy:hm,iecy:dm,iexcl:mm,iff:gm,ifr:bm,Ifr:_m,Igrave:km,igrave:xm,ii:vm,iiiint:ym,iiint:Cm,iinfin:wm,iiota:Am,IJlig:qm,ijlig:Dm,Imacr:Em,imacr:Sm,image:Fm,ImaginaryI:Lm,imagline:Tm,imagpart:Rm,imath:zm,Im,imof:Bm,imped:Nm,Implies:Mm,incare:Pm,in:"∈",infin:Om,infintie:Um,inodot:Vm,intcal:$m,int:Gm,Int:jm,integers:Hm,Integral:Zm,intercal:Jm,Intersection:Wm,intlarhk:Ym,intprod:Qm,InvisibleComma:Km,InvisibleTimes:Xm,IOcy:ng,iocy:tg,Iogon:rg,iogon:og,Iopf:eg,iopf:sg,Iota:cg,iota:ig,iprod:ag,iquest:lg,iscr:ug,Iscr:pg,isin:fg,isindot:hg,isinE:dg,isins:mg,isinsv:gg,isinv:bg,it:_g,Itilde:kg,itilde:xg,Iukcy:vg,iukcy:yg,Iuml:Cg,iuml:wg,Jcirc:Ag,jcirc:qg,Jcy:Dg,jcy:Eg,Jfr:Sg,jfr:Fg,jmath:Lg,Jopf:Tg,jopf:Rg,Jscr:zg,jscr:Ig,Jsercy:Bg,jsercy:Ng,Jukcy:Mg,jukcy:Pg,Kappa:Og,kappa:Ug,kappav:Vg,Kcedil:$g,kcedil:Gg,Kcy:jg,kcy:Hg,Kfr:Zg,kfr:Jg,kgreen:Wg,KHcy:Yg,khcy:Qg,KJcy:Kg,kjcy:Xg,Kopf:n0,kopf:t0,Kscr:r0,kscr:o0,lAarr:e0,Lacute:s0,lacute:c0,laemptyv:i0,lagran:a0,Lambda:l0,lambda:u0,lang:p0,Lang:f0,langd:h0,langle:d0,lap:m0,Laplacetrf:g0,laquo:b0,larrb:_0,larrbfs:k0,larr:x0,Larr:v0,lArr:y0,larrfs:C0,larrhk:w0,larrlp:A0,larrpl:q0,larrsim:D0,larrtl:E0,latail:S0,lAtail:F0,lat:L0,late:T0,lates:R0,lbarr:z0,lBarr:I0,lbbrk:B0,lbrace:N0,lbrack:M0,lbrke:P0,lbrksld:O0,lbrkslu:U0,Lcaron:V0,lcaron:$0,Lcedil:G0,lcedil:j0,lceil:H0,lcub:Z0,Lcy:J0,lcy:W0,ldca:Y0,ldquo:Q0,ldquor:K0,ldrdhar:X0,ldrushar:nb,ldsh:tb,le:rb,lE:ob,LeftAngleBracket:eb,LeftArrowBar:sb,leftarrow:cb,LeftArrow:ib,Leftarrow:ab,LeftArrowRightArrow:lb,leftarrowtail:ub,LeftCeiling:pb,LeftDoubleBracket:fb,LeftDownTeeVector:hb,LeftDownVectorBar:db,LeftDownVector:mb,LeftFloor:gb,leftharpoondown:bb,leftharpoonup:_b,leftleftarrows:kb,leftrightarrow:xb,LeftRightArrow:vb,Leftrightarrow:yb,leftrightarrows:Cb,leftrightharpoons:wb,leftrightsquigarrow:Ab,LeftRightVector:qb,LeftTeeArrow:Db,LeftTee:Eb,LeftTeeVector:Sb,leftthreetimes:Fb,LeftTriangleBar:Lb,LeftTriangle:Tb,LeftTriangleEqual:Rb,LeftUpDownVector:zb,LeftUpTeeVector:Ib,LeftUpVectorBar:Bb,LeftUpVector:Nb,LeftVectorBar:Mb,LeftVector:Pb,lEg:Ob,leg:Ub,leq:Vb,leqq:$b,leqslant:Gb,lescc:jb,les:Hb,lesdot:Zb,lesdoto:Jb,lesdotor:Wb,lesg:Yb,lesges:Qb,lessapprox:Kb,lessdot:Xb,lesseqgtr:n_,lesseqqgtr:t_,LessEqualGreater:r_,LessFullEqual:o_,LessGreater:e_,lessgtr:s_,LessLess:c_,lesssim:i_,LessSlantEqual:a_,LessTilde:l_,lfisht:u_,lfloor:p_,Lfr:f_,lfr:h_,lg:d_,lgE:m_,lHar:g_,lhard:b_,lharu:__,lharul:k_,lhblk:x_,LJcy:v_,ljcy:y_,llarr:C_,ll:w_,Ll:A_,llcorner:q_,Lleftarrow:D_,llhard:E_,lltri:S_,Lmidot:F_,lmidot:L_,lmoustache:T_,lmoust:R_,lnap:z_,lnapprox:I_,lne:B_,lnE:N_,lneq:M_,lneqq:P_,lnsim:O_,loang:U_,loarr:V_,lobrk:$_,longleftarrow:G_,LongLeftArrow:j_,Longleftarrow:H_,longleftrightarrow:Z_,LongLeftRightArrow:J_,Longleftrightarrow:W_,longmapsto:Y_,longrightarrow:Q_,LongRightArrow:K_,Longrightarrow:X_,looparrowleft:nk,looparrowright:tk,lopar:rk,Lopf:ok,lopf:ek,loplus:sk,lotimes:ck,lowast:ik,lowbar:ak,LowerLeftArrow:lk,LowerRightArrow:uk,loz:pk,lozenge:fk,lozf:hk,lpar:dk,lparlt:mk,lrarr:gk,lrcorner:bk,lrhar:_k,lrhard:kk,lrm:xk,lrtri:vk,lsaquo:yk,lscr:Ck,Lscr:wk,lsh:Ak,Lsh:qk,lsim:Dk,lsime:Ek,lsimg:Sk,lsqb:Fk,lsquo:Lk,lsquor:Tk,Lstrok:Rk,lstrok:zk,ltcc:Ik,ltcir:Bk,lt:Nk,LT:Mk,Lt:Pk,ltdot:Ok,lthree:Uk,ltimes:Vk,ltlarr:$k,ltquest:Gk,ltri:jk,ltrie:Hk,ltrif:Zk,ltrPar:Jk,lurdshar:Wk,luruhar:Yk,lvertneqq:Qk,lvnE:Kk,macr:Xk,male:nx,malt:tx,maltese:rx,Map:"⤅",map:ox,mapsto:ex,mapstodown:sx,mapstoleft:cx,mapstoup:ix,marker:ax,mcomma:lx,Mcy:ux,mcy:px,mdash:fx,mDDot:hx,measuredangle:dx,MediumSpace:mx,Mellintrf:gx,Mfr:bx,mfr:_x,mho:kx,micro:xx,midast:vx,midcir:yx,mid:Cx,middot:wx,minusb:Ax,minus:qx,minusd:Dx,minusdu:Ex,MinusPlus:Sx,mlcp:Fx,mldr:Lx,mnplus:Tx,models:Rx,Mopf:zx,mopf:Ix,mp:Bx,mscr:Nx,Mscr:Mx,mstpos:Px,Mu:Ox,mu:Ux,multimap:Vx,mumap:$x,nabla:Gx,Nacute:jx,nacute:Hx,nang:Zx,nap:Jx,napE:Wx,napid:Yx,napos:Qx,napprox:Kx,natural:Xx,naturals:nv,natur:tv,nbsp:rv,nbump:ov,nbumpe:ev,ncap:sv,Ncaron:cv,ncaron:iv,Ncedil:av,ncedil:lv,ncong:uv,ncongdot:pv,ncup:fv,Ncy:hv,ncy:dv,ndash:mv,nearhk:gv,nearr:bv,neArr:_v,nearrow:kv,ne:xv,nedot:vv,NegativeMediumSpace:yv,NegativeThickSpace:Cv,NegativeThinSpace:wv,NegativeVeryThinSpace:Av,nequiv:qv,nesear:Dv,nesim:Ev,NestedGreaterGreater:Sv,NestedLessLess:Fv,NewLine:Lv,nexist:Tv,nexists:Rv,Nfr:zv,nfr:Iv,ngE:Bv,nge:Nv,ngeq:Mv,ngeqq:Pv,ngeqslant:Ov,nges:Uv,nGg:Vv,ngsim:$v,nGt:Gv,ngt:jv,ngtr:Hv,nGtv:Zv,nharr:Jv,nhArr:Wv,nhpar:Yv,ni:Qv,nis:Kv,nisd:Xv,niv:ny,NJcy:ty,njcy:ry,nlarr:oy,nlArr:ey,nldr:sy,nlE:cy,nle:iy,nleftarrow:ay,nLeftarrow:ly,nleftrightarrow:uy,nLeftrightarrow:py,nleq:fy,nleqq:hy,nleqslant:dy,nles:my,nless:gy,nLl:by,nlsim:_y,nLt:ky,nlt:xy,nltri:vy,nltrie:yy,nLtv:Cy,nmid:wy,NoBreak:Ay,NonBreakingSpace:qy,nopf:Dy,Nopf:Ey,Not:Sy,not:Fy,NotCongruent:Ly,NotCupCap:Ty,NotDoubleVerticalBar:Ry,NotElement:zy,NotEqual:Iy,NotEqualTilde:By,NotExists:Ny,NotGreater:My,NotGreaterEqual:Py,NotGreaterFullEqual:Oy,NotGreaterGreater:Uy,NotGreaterLess:Vy,NotGreaterSlantEqual:$y,NotGreaterTilde:Gy,NotHumpDownHump:jy,NotHumpEqual:Hy,notin:Zy,notindot:Jy,notinE:Wy,notinva:Yy,notinvb:Qy,notinvc:Ky,NotLeftTriangleBar:Xy,NotLeftTriangle:nC,NotLeftTriangleEqual:tC,NotLess:rC,NotLessEqual:oC,NotLessGreater:eC,NotLessLess:sC,NotLessSlantEqual:cC,NotLessTilde:iC,NotNestedGreaterGreater:aC,NotNestedLessLess:lC,notni:uC,notniva:pC,notnivb:fC,notnivc:hC,NotPrecedes:dC,NotPrecedesEqual:mC,NotPrecedesSlantEqual:gC,NotReverseElement:bC,NotRightTriangleBar:_C,NotRightTriangle:kC,NotRightTriangleEqual:xC,NotSquareSubset:vC,NotSquareSubsetEqual:yC,NotSquareSuperset:CC,NotSquareSupersetEqual:wC,NotSubset:AC,NotSubsetEqual:qC,NotSucceeds:DC,NotSucceedsEqual:EC,NotSucceedsSlantEqual:SC,NotSucceedsTilde:FC,NotSuperset:LC,NotSupersetEqual:TC,NotTilde:RC,NotTildeEqual:zC,NotTildeFullEqual:IC,NotTildeTilde:BC,NotVerticalBar:NC,nparallel:MC,npar:PC,nparsl:OC,npart:UC,npolint:VC,npr:$C,nprcue:GC,nprec:jC,npreceq:HC,npre:ZC,nrarrc:JC,nrarr:WC,nrArr:YC,nrarrw:QC,nrightarrow:KC,nRightarrow:XC,nrtri:nw,nrtrie:tw,nsc:rw,nsccue:ow,nsce:ew,Nscr:sw,nscr:cw,nshortmid:iw,nshortparallel:aw,nsim:lw,nsime:uw,nsimeq:pw,nsmid:fw,nspar:hw,nsqsube:dw,nsqsupe:mw,nsub:gw,nsubE:bw,nsube:_w,nsubset:kw,nsubseteq:xw,nsubseteqq:vw,nsucc:yw,nsucceq:Cw,nsup:ww,nsupE:Aw,nsupe:qw,nsupset:Dw,nsupseteq:Ew,nsupseteqq:Sw,ntgl:Fw,Ntilde:Lw,ntilde:Tw,ntlg:Rw,ntriangleleft:zw,ntrianglelefteq:Iw,ntriangleright:Bw,ntrianglerighteq:Nw,Nu:Mw,nu:Pw,num:Ow,numero:Uw,numsp:Vw,nvap:$w,nvdash:Gw,nvDash:jw,nVdash:Hw,nVDash:Zw,nvge:Jw,nvgt:Ww,nvHarr:Yw,nvinfin:Qw,nvlArr:Kw,nvle:Xw,nvlt:n1,nvltrie:t1,nvrArr:r1,nvrtrie:o1,nvsim:e1,nwarhk:s1,nwarr:c1,nwArr:i1,nwarrow:a1,nwnear:l1,Oacute:u1,oacute:p1,oast:f1,Ocirc:h1,ocirc:d1,ocir:m1,Ocy:g1,ocy:b1,odash:_1,Odblac:k1,odblac:x1,odiv:v1,odot:y1,odsold:C1,OElig:w1,oelig:A1,ofcir:q1,Ofr:D1,ofr:E1,ogon:S1,Ograve:F1,ograve:L1,ogt:T1,ohbar:R1,ohm:z1,oint:I1,olarr:B1,olcir:N1,olcross:M1,oline:P1,olt:O1,Omacr:U1,omacr:V1,Omega:$1,omega:G1,Omicron:j1,omicron:H1,omid:Z1,ominus:J1,Oopf:W1,oopf:Y1,opar:Q1,OpenCurlyDoubleQuote:K1,OpenCurlyQuote:X1,operp:nA,oplus:tA,orarr:rA,Or:oA,or:eA,ord:sA,order:cA,orderof:iA,ordf:aA,ordm:lA,origof:uA,oror:pA,orslope:fA,orv:hA,oS:dA,Oscr:mA,oscr:gA,Oslash:bA,oslash:_A,osol:kA,Otilde:xA,otilde:vA,otimesas:yA,Otimes:CA,otimes:wA,Ouml:AA,ouml:qA,ovbar:DA,OverBar:EA,OverBrace:SA,OverBracket:FA,OverParenthesis:LA,para:TA,parallel:RA,par:zA,parsim:IA,parsl:BA,part:NA,PartialD:MA,Pcy:PA,pcy:OA,percnt:UA,period:VA,permil:$A,perp:GA,pertenk:jA,Pfr:HA,pfr:ZA,Phi:JA,phi:WA,phiv:YA,phmmat:QA,phone:KA,Pi:XA,pi:nq,pitchfork:tq,piv:rq,planck:oq,planckh:eq,plankv:sq,plusacir:cq,plusb:iq,pluscir:aq,plus:lq,plusdo:uq,plusdu:pq,pluse:fq,PlusMinus:hq,plusmn:dq,plussim:mq,plustwo:gq,pm:bq,Poincareplane:_q,pointint:kq,popf:xq,Popf:vq,pound:yq,prap:Cq,Pr:wq,pr:Aq,prcue:qq,precapprox:Dq,prec:Eq,preccurlyeq:Sq,Precedes:Fq,PrecedesEqual:Lq,PrecedesSlantEqual:Tq,PrecedesTilde:Rq,preceq:zq,precnapprox:Iq,precneqq:Bq,precnsim:Nq,pre:Mq,prE:Pq,precsim:Oq,prime:Uq,Prime:Vq,primes:$q,prnap:Gq,prnE:jq,prnsim:Hq,prod:Zq,Product:Jq,profalar:Wq,profline:Yq,profsurf:Qq,prop:Kq,Proportional:Xq,Proportion:nD,propto:tD,prsim:rD,prurel:oD,Pscr:eD,pscr:sD,Psi:cD,psi:iD,puncsp:aD,Qfr:lD,qfr:uD,qint:pD,qopf:fD,Qopf:hD,qprime:dD,Qscr:mD,qscr:gD,quaternions:bD,quatint:_D,quest:kD,questeq:xD,quot:vD,QUOT:yD,rAarr:CD,race:wD,Racute:AD,racute:qD,radic:DD,raemptyv:ED,rang:SD,Rang:FD,rangd:LD,range:TD,rangle:RD,raquo:zD,rarrap:ID,rarrb:BD,rarrbfs:ND,rarrc:MD,rarr:PD,Rarr:OD,rArr:UD,rarrfs:VD,rarrhk:$D,rarrlp:GD,rarrpl:jD,rarrsim:HD,Rarrtl:ZD,rarrtl:JD,rarrw:WD,ratail:YD,rAtail:QD,ratio:KD,rationals:XD,rbarr:nE,rBarr:tE,RBarr:rE,rbbrk:oE,rbrace:eE,rbrack:sE,rbrke:cE,rbrksld:iE,rbrkslu:aE,Rcaron:lE,rcaron:uE,Rcedil:pE,rcedil:fE,rceil:hE,rcub:dE,Rcy:mE,rcy:gE,rdca:bE,rdldhar:_E,rdquo:kE,rdquor:xE,rdsh:vE,real:yE,realine:CE,realpart:wE,reals:AE,Re:qE,rect:DE,reg:EE,REG:SE,ReverseElement:FE,ReverseEquilibrium:LE,ReverseUpEquilibrium:TE,rfisht:RE,rfloor:zE,rfr:IE,Rfr:BE,rHar:NE,rhard:ME,rharu:PE,rharul:OE,Rho:UE,rho:VE,rhov:$E,RightAngleBracket:GE,RightArrowBar:jE,rightarrow:HE,RightArrow:ZE,Rightarrow:JE,RightArrowLeftArrow:WE,rightarrowtail:YE,RightCeiling:QE,RightDoubleBracket:KE,RightDownTeeVector:XE,RightDownVectorBar:nS,RightDownVector:tS,RightFloor:rS,rightharpoondown:oS,rightharpoonup:eS,rightleftarrows:sS,rightleftharpoons:cS,rightrightarrows:iS,rightsquigarrow:aS,RightTeeArrow:lS,RightTee:uS,RightTeeVector:pS,rightthreetimes:fS,RightTriangleBar:hS,RightTriangle:dS,RightTriangleEqual:mS,RightUpDownVector:gS,RightUpTeeVector:bS,RightUpVectorBar:_S,RightUpVector:kS,RightVectorBar:xS,RightVector:vS,ring:yS,risingdotseq:CS,rlarr:wS,rlhar:AS,rlm:qS,rmoustache:DS,rmoust:ES,rnmid:SS,roang:FS,roarr:LS,robrk:TS,ropar:RS,ropf:zS,Ropf:IS,roplus:BS,rotimes:NS,RoundImplies:MS,rpar:PS,rpargt:OS,rppolint:US,rrarr:VS,Rrightarrow:$S,rsaquo:GS,rscr:jS,Rscr:HS,rsh:ZS,Rsh:JS,rsqb:WS,rsquo:YS,rsquor:QS,rthree:KS,rtimes:XS,rtri:nF,rtrie:tF,rtrif:rF,rtriltri:oF,RuleDelayed:eF,ruluhar:sF,rx:cF,Sacute:iF,sacute:aF,sbquo:lF,scap:uF,Scaron:pF,scaron:fF,Sc:hF,sc:dF,sccue:mF,sce:gF,scE:bF,Scedil:_F,scedil:kF,Scirc:xF,scirc:vF,scnap:yF,scnE:CF,scnsim:wF,scpolint:AF,scsim:qF,Scy:DF,scy:EF,sdotb:SF,sdot:FF,sdote:LF,searhk:TF,searr:RF,seArr:zF,searrow:IF,sect:BF,semi:NF,seswar:MF,setminus:PF,setmn:OF,sext:UF,Sfr:VF,sfr:$F,sfrown:GF,sharp:jF,SHCHcy:HF,shchcy:ZF,SHcy:JF,shcy:WF,ShortDownArrow:YF,ShortLeftArrow:QF,shortmid:KF,shortparallel:XF,ShortRightArrow:nL,ShortUpArrow:tL,shy:rL,Sigma:oL,sigma:eL,sigmaf:sL,sigmav:cL,sim:iL,simdot:aL,sime:lL,simeq:uL,simg:pL,simgE:fL,siml:hL,simlE:dL,simne:mL,simplus:gL,simrarr:bL,slarr:_L,SmallCircle:kL,smallsetminus:xL,smashp:vL,smeparsl:yL,smid:CL,smile:wL,smt:AL,smte:qL,smtes:DL,SOFTcy:EL,softcy:SL,solbar:FL,solb:LL,sol:TL,Sopf:RL,sopf:zL,spades:IL,spadesuit:BL,spar:NL,sqcap:ML,sqcaps:PL,sqcup:OL,sqcups:UL,Sqrt:VL,sqsub:$L,sqsube:GL,sqsubset:jL,sqsubseteq:HL,sqsup:ZL,sqsupe:JL,sqsupset:WL,sqsupseteq:YL,square:QL,Square:KL,SquareIntersection:XL,SquareSubset:nT,SquareSubsetEqual:tT,SquareSuperset:rT,SquareSupersetEqual:oT,SquareUnion:eT,squarf:sT,squ:cT,squf:iT,srarr:aT,Sscr:lT,sscr:uT,ssetmn:pT,ssmile:fT,sstarf:hT,Star:dT,star:mT,starf:gT,straightepsilon:bT,straightphi:_T,strns:kT,sub:xT,Sub:vT,subdot:yT,subE:CT,sube:wT,subedot:AT,submult:qT,subnE:DT,subne:ET,subplus:ST,subrarr:FT,subset:LT,Subset:TT,subseteq:RT,subseteqq:zT,SubsetEqual:IT,subsetneq:BT,subsetneqq:NT,subsim:MT,subsub:PT,subsup:OT,succapprox:UT,succ:VT,succcurlyeq:$T,Succeeds:GT,SucceedsEqual:jT,SucceedsSlantEqual:HT,SucceedsTilde:ZT,succeq:JT,succnapprox:WT,succneqq:YT,succnsim:QT,succsim:KT,SuchThat:XT,sum:n2,Sum:t2,sung:r2,sup1:o2,sup2:e2,sup3:s2,sup:c2,Sup:i2,supdot:a2,supdsub:l2,supE:u2,supe:p2,supedot:f2,Superset:h2,SupersetEqual:d2,suphsol:m2,suphsub:g2,suplarr:b2,supmult:_2,supnE:k2,supne:x2,supplus:v2,supset:y2,Supset:C2,supseteq:w2,supseteqq:A2,supsetneq:q2,supsetneqq:D2,supsim:E2,supsub:S2,supsup:F2,swarhk:L2,swarr:T2,swArr:R2,swarrow:z2,swnwar:I2,szlig:B2,Tab:N2,target:M2,Tau:P2,tau:O2,tbrk:U2,Tcaron:V2,tcaron:$2,Tcedil:G2,tcedil:j2,Tcy:H2,tcy:Z2,tdot:J2,telrec:W2,Tfr:Y2,tfr:Q2,there4:K2,therefore:X2,Therefore:nR,Theta:tR,theta:rR,thetasym:oR,thetav:eR,thickapprox:sR,thicksim:cR,ThickSpace:iR,ThinSpace:aR,thinsp:lR,thkap:uR,thksim:pR,THORN:fR,thorn:hR,tilde:dR,Tilde:mR,TildeEqual:gR,TildeFullEqual:bR,TildeTilde:_R,timesbar:kR,timesb:xR,times:vR,timesd:yR,tint:CR,toea:wR,topbot:AR,topcir:qR,top:DR,Topf:ER,topf:SR,topfork:FR,tosa:LR,tprime:TR,trade:RR,TRADE:zR,triangle:IR,triangledown:BR,triangleleft:NR,trianglelefteq:MR,triangleq:PR,triangleright:OR,trianglerighteq:UR,tridot:VR,trie:$R,triminus:GR,TripleDot:jR,triplus:HR,trisb:ZR,tritime:JR,trpezium:WR,Tscr:YR,tscr:QR,TScy:KR,tscy:XR,TSHcy:nz,tshcy:tz,Tstrok:rz,tstrok:oz,twixt:ez,twoheadleftarrow:sz,twoheadrightarrow:cz,Uacute:iz,uacute:az,uarr:lz,Uarr:uz,uArr:pz,Uarrocir:fz,Ubrcy:hz,ubrcy:dz,Ubreve:mz,ubreve:gz,Ucirc:bz,ucirc:_z,Ucy:kz,ucy:xz,udarr:vz,Udblac:yz,udblac:Cz,udhar:wz,ufisht:Az,Ufr:qz,ufr:Dz,Ugrave:Ez,ugrave:Sz,uHar:Fz,uharl:Lz,uharr:Tz,uhblk:Rz,ulcorn:zz,ulcorner:Iz,ulcrop:Bz,ultri:Nz,Umacr:Mz,umacr:Pz,uml:Oz,UnderBar:Uz,UnderBrace:Vz,UnderBracket:$z,UnderParenthesis:Gz,Union:jz,UnionPlus:Hz,Uogon:Zz,uogon:Jz,Uopf:Wz,uopf:Yz,UpArrowBar:Qz,uparrow:Kz,UpArrow:Xz,Uparrow:nI,UpArrowDownArrow:tI,updownarrow:rI,UpDownArrow:oI,Updownarrow:eI,UpEquilibrium:sI,upharpoonleft:cI,upharpoonright:iI,uplus:aI,UpperLeftArrow:lI,UpperRightArrow:uI,upsi:pI,Upsi:fI,upsih:hI,Upsilon:dI,upsilon:mI,UpTeeArrow:gI,UpTee:bI,upuparrows:_I,urcorn:kI,urcorner:xI,urcrop:vI,Uring:yI,uring:CI,urtri:wI,Uscr:AI,uscr:qI,utdot:DI,Utilde:EI,utilde:SI,utri:FI,utrif:LI,uuarr:TI,Uuml:RI,uuml:zI,uwangle:II,vangrt:BI,varepsilon:NI,varkappa:MI,varnothing:PI,varphi:OI,varpi:UI,varpropto:VI,varr:$I,vArr:GI,varrho:jI,varsigma:HI,varsubsetneq:ZI,varsubsetneqq:JI,varsupsetneq:WI,varsupsetneqq:YI,vartheta:QI,vartriangleleft:KI,vartriangleright:XI,vBar:nB,Vbar:tB,vBarv:rB,Vcy:oB,vcy:eB,vdash:sB,vDash:cB,Vdash:iB,VDash:aB,Vdashl:lB,veebar:uB,vee:pB,Vee:fB,veeeq:hB,vellip:dB,verbar:mB,Verbar:gB,vert:bB,Vert:_B,VerticalBar:kB,VerticalLine:xB,VerticalSeparator:vB,VerticalTilde:yB,VeryThinSpace:CB,Vfr:wB,vfr:AB,vltri:qB,vnsub:DB,vnsup:EB,Vopf:SB,vopf:FB,vprop:LB,vrtri:TB,Vscr:RB,vscr:zB,vsubnE:IB,vsubne:BB,vsupnE:NB,vsupne:MB,Vvdash:PB,vzigzag:OB,Wcirc:UB,wcirc:VB,wedbar:$B,wedge:GB,Wedge:jB,wedgeq:HB,weierp:ZB,Wfr:JB,wfr:WB,Wopf:YB,wopf:QB,wp:KB,wr:XB,wreath:n3,Wscr:t3,wscr:r3,xcap:o3,xcirc:e3,xcup:s3,xdtri:c3,Xfr:i3,xfr:a3,xharr:l3,xhArr:u3,Xi:p3,xi:f3,xlarr:h3,xlArr:d3,xmap:m3,xnis:g3,xodot:b3,Xopf:_3,xopf:k3,xoplus:x3,xotime:v3,xrarr:y3,xrArr:C3,Xscr:w3,xscr:A3,xsqcup:q3,xuplus:D3,xutri:E3,xvee:S3,xwedge:F3,Yacute:L3,yacute:T3,YAcy:R3,yacy:z3,Ycirc:I3,ycirc:B3,Ycy:N3,ycy:M3,yen:P3,Yfr:O3,yfr:U3,YIcy:V3,yicy:$3,Yopf:G3,yopf:j3,Yscr:H3,yscr:Z3,YUcy:J3,yucy:W3,yuml:Y3,Yuml:Q3,Zacute:K3,zacute:X3,Zcaron:nN,zcaron:tN,Zcy:rN,zcy:oN,Zdot:eN,zdot:sN,zeetrf:cN,ZeroWidthSpace:iN,Zeta:aN,zeta:lN,zfr:uN,Zfr:pN,ZHcy:fN,zhcy:hN,zigrarr:dN,zopf:mN,Zopf:gN,Zscr:bN,zscr:_N,zwj:kN,zwnj:xN};var At=vN,Tn=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4E\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDF55-\uDF59]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDC4B-\uDC4F\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDF3C-\uDF3E]|\uD806[\uDC3B\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDE97-\uDE9A]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD83A[\uDD5E\uDD5F]/,Z={},$n={};function yN(r){var n,t,o=$n[r];if(o)return o;for(o=$n[r]=[],n=0;n<128;n++)t=String.fromCharCode(n),/^[0-9a-z]$/i.test(t)?o.push(t):o.push("%"+("0"+n.toString(16).toUpperCase()).slice(-2));for(n=0;n"u"&&(t=!0),c=yN(n),o=0,e=r.length;o=55296&&s<=57343){if(s>=55296&&s<=56319&&o+1=56320&&i<=57343)){a+=encodeURIComponent(r[o]+r[o+1]),o++;continue}a+="%EF%BF%BD";continue}a+=encodeURIComponent(r[o])}return a}cn.defaultChars=";/?:@&=+$,-_.!~*'()#";cn.componentChars="-_.!~*'()";var CN=cn,Gn={};function wN(r){var n,t,o=Gn[r];if(o)return o;for(o=Gn[r]=[],n=0;n<128;n++)t=String.fromCharCode(n),o.push(t);for(n=0;n=55296&&u<=57343?p+="���":p+=String.fromCharCode(u),e+=6;continue}if((i&248)===240&&e+91114111?p+="����":(u-=65536,p+=String.fromCharCode(55296+(u>>10),56320+(u&1023))),e+=9;continue}p+="�"}return p})}an.defaultChars=";/?:@&=+$,#";an.componentChars="";var AN=an,qN=function(n){var t="";return t+=n.protocol||"",t+=n.slashes?"//":"",t+=n.auth?n.auth+"@":"",n.hostname&&n.hostname.indexOf(":")!==-1?t+="["+n.hostname+"]":t+=n.hostname||"",t+=n.port?":"+n.port:"",t+=n.pathname||"",t+=n.search||"",t+=n.hash||"",t};function en(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}var DN=/^([a-z0-9.+-]+:)/i,EN=/:[0-9]*$/,SN=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,FN=["<",">",'"',"`"," ","\r",` +`," "],LN=["{","}","|","\\","^","`"].concat(FN),TN=["'"].concat(LN),jn=["%","/","?",";","#"].concat(TN),Hn=["/","?","#"],RN=255,Zn=/^[+a-z0-9A-Z_-]{0,63}$/,zN=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,Jn={javascript:!0,"javascript:":!0},Wn={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function IN(r,n){if(r&&r instanceof en)return r;var t=new en;return t.parse(r,n),t}en.prototype.parse=function(r,n){var t,o,e,s,i,c=r;if(c=c.trim(),!n&&r.split("#").length===1){var a=SN.exec(c);if(a)return this.pathname=a[1],a[2]&&(this.search=a[2]),this}var l=DN.exec(c);if(l&&(l=l[0],e=l.toLowerCase(),this.protocol=l,c=c.substr(l.length)),(n||l||c.match(/^\/\/[^@\/]+@[^@\/]+/))&&(i=c.substr(0,2)==="//",i&&!(l&&Jn[l])&&(c=c.substr(2),this.slashes=!0)),!Jn[l]&&(i||l&&!Wn[l])){var u=-1;for(t=0;t127?k+="x":k+=v[m];if(!k.match(Zn)){var C=b.slice(0,t),w=b.slice(t+1),g=v.match(zN);g&&(C.push(g[1]),w.unshift(g[2])),w.length&&(c=w.join(".")+c),this.hostname=C.join(".");break}}}}this.hostname.length>RN&&(this.hostname=""),_&&(this.hostname=this.hostname.substr(1,this.hostname.length-2))}var E=c.indexOf("#");E!==-1&&(this.hash=c.substr(E),c=c.slice(0,E));var S=c.indexOf("?");return S!==-1&&(this.search=c.substr(S),c=c.slice(0,S)),c&&(this.pathname=c),Wn[e]&&this.hostname&&!this.pathname&&(this.pathname=""),this};en.prototype.parseHost=function(r){var n=EN.exec(r);n&&(n=n[0],n!==":"&&(this.port=n.substr(1)),r=r.substr(0,r.length-n.length)),r&&(this.hostname=r)};var BN=IN;Z.encode=CN;Z.decode=AN;Z.format=qN;Z.parse=BN;var U={},gn,Yn;function qt(){return Yn||(Yn=1,gn=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/),gn}var bn,Qn;function Dt(){return Qn||(Qn=1,bn=/[\0-\x1F\x7F-\x9F]/),bn}var _n,Kn;function NN(){return Kn||(Kn=1,_n=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/),_n}var kn,Xn;function Et(){return Xn||(Xn=1,kn=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/),kn}var nt;function MN(){return nt||(nt=1,U.Any=qt(),U.Cc=Dt(),U.Cf=NN(),U.P=Tn,U.Z=Et()),U}(function(r){function n(d){return Object.prototype.toString.call(d)}function t(d){return n(d)==="[object String]"}var o=Object.prototype.hasOwnProperty;function e(d,A){return o.call(d,A)}function s(d){var A=Array.prototype.slice.call(arguments,1);return A.forEach(function(x){if(x){if(typeof x!="object")throw new TypeError(x+"must be object");Object.keys(x).forEach(function(P){d[P]=x[P]})}}),d}function i(d,A,x){return[].concat(d.slice(0,A),x,d.slice(A+1))}function c(d){return!(d>=55296&&d<=57343||d>=64976&&d<=65007||(d&65535)===65535||(d&65535)===65534||d>=0&&d<=8||d===11||d>=14&&d<=31||d>=127&&d<=159||d>1114111)}function a(d){if(d>65535){d-=65536;var A=55296+(d>>10),x=56320+(d&1023);return String.fromCharCode(A,x)}return String.fromCharCode(d)}var l=/\\([!"#$%&'()*+,\-.\/:;<=>?@[\\\]^_`{|}~])/g,u=/&([a-z#][a-z0-9]{1,31});/gi,p=new RegExp(l.source+"|"+u.source,"gi"),f=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i,h=At;function _(d,A){var x;return e(h,A)?h[A]:A.charCodeAt(0)===35&&f.test(A)&&(x=A[1].toLowerCase()==="x"?parseInt(A.slice(2),16):parseInt(A.slice(1),10),c(x))?a(x):d}function b(d){return d.indexOf("\\")<0?d:d.replace(l,"$1")}function v(d){return d.indexOf("\\")<0&&d.indexOf("&")<0?d:d.replace(p,function(A,x,P){return x||_(A,P)})}var k=/[&<>"]/,m=/[&<>"]/g,y={"&":"&","<":"<",">":">",'"':"""};function C(d){return y[d]}function w(d){return k.test(d)?d.replace(m,C):d}var g=/[.?*+^$[\]\\(){}|-]/g;function E(d){return d.replace(g,"\\$&")}function S(d){switch(d){case 9:case 32:return!0}return!1}function M(d){if(d>=8192&&d<=8202)return!0;switch(d){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1}var D=Tn;function R(d){return D.test(d)}function G(d){switch(d){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}}function Y(d){return d=d.trim().replace(/\s+/g," "),"ẞ".toLowerCase()==="Ṿ"&&(d=d.replace(/ẞ/g,"ß")),d.toLowerCase().toUpperCase()}r.lib={},r.lib.mdurl=Z,r.lib.ucmicro=MN(),r.assign=s,r.isString=t,r.has=e,r.unescapeMd=b,r.unescapeAll=v,r.isValidEntityCode=c,r.fromCodePoint=a,r.escapeHtml=w,r.arrayReplaceAt=i,r.isSpace=S,r.isWhiteSpace=M,r.isMdAsciiPunct=G,r.isPunctChar=R,r.escapeRE=E,r.normalizeReference=Y})(q);var ln={},PN=function(n,t,o){var e,s,i,c,a=-1,l=n.posMax,u=n.pos;for(n.pos=t+1,e=1;n.pos32))return c;if(e===41){if(s===0)break;s--}i++}return t===i||s!==0||(c.str=tt(n.slice(t,i)),c.pos=i,c.ok=!0),c},UN=q.unescapeAll,VN=function(n,t,o){var e,s,i=0,c=t,a={ok:!1,pos:0,lines:0,str:""};if(c>=o||(s=n.charCodeAt(c),s!==34&&s!==39&&s!==40))return a;for(c++,s===40&&(s=41);c"+$(s.content)+""};B.code_block=function(r,n,t,o,e){var s=r[n];return""+$(r[n].content)+` `};B.fence=function(r,n,t,o,e){var s=r[n],i=s.info?GN(s.info).trim():"",c="",a="",l,u,p,f,h;return i&&(p=i.split(/(\s+)/g),c=p[0],a=p.slice(2).join("")),t.highlight?l=t.highlight(s.content,c,a)||$(s.content):l=$(s.content),l.indexOf(""+l+` `):"
"+l+`
@@ -13,5 +13,5 @@ import{aB as Ht,aC as Zt,e as Jt,n as Wt,o as Yt,i as Qt,w as Kt,a as Xt,u as nr `),s+=(c.nesting===-1?" `:">",s)};J.prototype.renderInline=function(r,n,t){for(var o,e="",s=this.rules,i=0,c=r.length;i\s]/i.test(r)}function XN(r){return/^<\/a\s*>/i.test(r)}var nM=function(n){var t,o,e,s,i,c,a,l,u,p,f,h,b,_,v,k,m=n.tokens,y;if(n.md.options.linkify){for(o=0,e=m.length;o=0;t--){if(c=s[t],c.type==="link_close"){for(t--;s[t].level!==c.level&&s[t].type!=="link_open";)t--;continue}if(c.type==="html_inline"&&(KN(c.content)&&b>0&&b--,XN(c.content)&&b++),!(b>0)&&c.type==="text"&&n.md.linkify.test(c.content)){for(u=c.content,y=n.md.linkify.match(u),a=[],h=c.level,f=0,y.length>0&&y[0].index===0&&t>0&&s[t-1].type==="text_special"&&(y=y.slice(1)),l=0;lf&&(i=new n.Token("text","",0),i.content=u.slice(f,p),i.level=h,a.push(i)),i=new n.Token("link_open","a",1),i.attrs=[["href",v]],i.level=h++,i.markup="linkify",i.info="auto",a.push(i),i=new n.Token("text","",0),i.content=k,i.level=h,a.push(i),i=new n.Token("link_close","a",-1),i.level=--h,i.markup="linkify",i.info="auto",a.push(i),f=y[l].lastIndex);f=0;n--)t=r[n],t.type==="text"&&!o&&(t.content=t.content.replace(rM,eM)),t.type==="link_open"&&t.info==="auto"&&o--,t.type==="link_close"&&t.info==="auto"&&o++}function cM(r){var n,t,o=0;for(n=r.length-1;n>=0;n--)t=r[n],t.type==="text"&&!o&&St.test(t.content)&&(t.content=t.content.replace(/\+-/g,"±").replace(/\.{2,}/g,"…").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---(?=[^-]|$)/mg,"$1—").replace(/(^|\s)--(?=\s|$)/mg,"$1–").replace(/(^|[^-\s])--(?=[^-\s]|$)/mg,"$1–")),t.type==="link_open"&&t.info==="auto"&&o--,t.type==="link_close"&&t.info==="auto"&&o++}var iM=function(n){var t;if(n.md.options.typographer)for(t=n.tokens.length-1;t>=0;t--)n.tokens[t].type==="inline"&&(tM.test(n.tokens[t].content)&&sM(n.tokens[t].children),St.test(n.tokens[t].content)&&cM(n.tokens[t].children))},rt=q.isWhiteSpace,ot=q.isPunctChar,et=q.isMdAsciiPunct,aM=/['"]/,st=/['"]/g,ct="’";function tn(r,n,t){return r.slice(0,n)+t+r.slice(n+1)}function lM(r,n){var t,o,e,s,i,c,a,l,u,p,f,h,b,_,v,k,m,y,C,w,g;for(C=[],t=0;t=0&&!(C[m].level<=a);m--);if(C.length=m+1,o.type==="text"){e=o.content,i=0,c=e.length;n:for(;i=0)u=e.charCodeAt(s.index-1);else for(m=t-1;m>=0&&!(r[m].type==="softbreak"||r[m].type==="hardbreak");m--)if(r[m].content){u=r[m].content.charCodeAt(r[m].content.length-1);break}if(p=32,i=48&&u<=57&&(k=v=!1),v&&k&&(v=f,k=h),!v&&!k){y&&(o.content=tn(o.content,s.index,ct));continue}if(k){for(m=C.length-1;m>=0&&(l=C[m],!(C[m].level=0;t--)n.tokens[t].type!=="inline"||!aM.test(n.tokens[t].content)||lM(n.tokens[t].children,n)},pM=function(n){var t,o,e,s,i,c,a=n.tokens;for(t=0,o=a.length;t=0&&(o=this.attrs[t][1]),o};W.prototype.attrJoin=function(n,t){var o=this.attrIndex(n);o<0?this.attrPush([n,t]):this.attrs[o][1]=this.attrs[o][1]+" "+t};var zn=W,fM=zn;function Ft(r,n,t){this.src=r,this.env=t,this.tokens=[],this.inlineMode=!1,this.md=n}Ft.prototype.Token=fM;var hM=Ft,dM=Rn,xn=[["normalize",JN],["block",WN],["inline",YN],["linkify",nM],["replacements",iM],["smartquotes",uM],["text_join",pM]];function In(){this.ruler=new dM;for(var r=0;ro||(u=t+1,n.sCount[u]=4||(c=n.bMarks[u]+n.tShift[u],c>=n.eMarks[u])||(w=n.src.charCodeAt(c++),w!==124&&w!==45&&w!==58)||c>=n.eMarks[u]||(g=n.src.charCodeAt(c++),g!==124&&g!==45&&g!==58&&!vn(g))||w===45&&vn(g))return!1;for(;c=4||(p=it(i),p.length&&p[0]===""&&p.shift(),p.length&&p[p.length-1]===""&&p.pop(),f=p.length,f===0||f!==b.length))return!1;if(e)return!0;for(m=n.parentType,n.parentType="table",C=n.md.block.ruler.getRules("blockquote"),h=n.push("table_open","table",1),h.map=v=[t,0],h=n.push("thead_open","thead",1),h.map=[t,t+1],h=n.push("tr_open","tr",1),h.map=[t,t+1],a=0;a=4)break;for(p=it(i),p.length&&p[0]===""&&p.shift(),p.length&&p[p.length-1]===""&&p.pop(),u===t+2&&(h=n.push("tbody_open","tbody",1),h.map=k=[t+2,0]),h=n.push("tr_open","tr",1),h.map=[u,u+1],a=0;a=4){e++,s=e;continue}break}return n.line=s,i=n.push("code_block","code",0),i.content=n.getLines(t,s,4+n.blkIndent,!1)+` -`,i.map=[t,n.line],!0},bM=function(n,t,o,e){var s,i,c,a,l,u,p,f=!1,h=n.bMarks[t]+n.tShift[t],b=n.eMarks[t];if(n.sCount[t]-n.blkIndent>=4||h+3>b||(s=n.src.charCodeAt(h),s!==126&&s!==96)||(l=h,h=n.skipChars(h,s),i=h-l,i<3)||(p=n.src.slice(l,h),c=n.src.slice(h,b),s===96&&c.indexOf(String.fromCharCode(s))>=0))return!1;if(e)return!0;for(a=t;a++,!(a>=o||(h=l=n.bMarks[a]+n.tShift[a],b=n.eMarks[a],h=4)&&(h=n.skipChars(h,s),!(h-l=4||n.src.charCodeAt(D)!==62)return!1;if(e)return!0;for(b=[],_=[],m=[],y=[],g=n.md.block.ruler.getRules("blockquote"),k=n.parentType,n.parentType="blockquote",f=t;f=R));f++){if(n.src.charCodeAt(D++)===62&&!S){for(a=n.sCount[f]+1,n.src.charCodeAt(D)===32?(D++,a++,s=!1,C=!0):n.src.charCodeAt(D)===9?(C=!0,(n.bsCount[f]+a)%4===3?(D++,a++,s=!1):s=!0):C=!1,h=a,b.push(n.bMarks[f]),n.bMarks[f]=D;D=R,_.push(n.bsCount[f]),n.bsCount[f]=n.sCount[f]+1+(C?1:0),m.push(n.sCount[f]),n.sCount[f]=h-a,y.push(n.tShift[f]),n.tShift[f]=D-n.bMarks[f];continue}if(u)break;for(w=!1,c=0,l=g.length;c",E.map=p=[t,0],n.md.block.tokenize(n,t,f),E=n.push("blockquote_close","blockquote",-1),E.markup=">",n.lineMax=M,n.parentType=k,p[1]=n.line,c=0;c=4||(s=n.src.charCodeAt(l++),s!==42&&s!==45&&s!==95))return!1;for(i=1;l=s||(t=r.src.charCodeAt(e++),t<48||t>57))return-1;for(;;){if(e>=s)return-1;if(t=r.src.charCodeAt(e++),t>=48&&t<=57){if(e-o>=10)return-1;continue}if(t===41||t===46)break;return-1}return e=4||n.listIndent>=0&&n.sCount[x]-n.listIndent>=4&&n.sCount[x]=n.blkIndent&&(P=!0),(D=lt(n,x))>=0){if(p=!0,G=n.bMarks[x]+n.tShift[x],k=Number(n.src.slice(G,D-1)),P&&k!==1)return!1}else if((D=at(n,x))>=0)p=!1;else return!1;if(P&&n.skipSpaces(D)>=n.eMarks[x])return!1;if(e)return!0;for(v=n.src.charCodeAt(D-1),_=n.tokens.length,p?(A=n.push("ordered_list_open","ol",1),k!==1&&(A.attrs=[["start",k]])):A=n.push("bullet_list_open","ul",1),A.map=b=[x,0],A.markup=String.fromCharCode(v),R=!1,d=n.md.block.ruler.getRules("list"),w=n.parentType,n.parentType="list";x=m?l=1:l=y-u,l>4&&(l=1),a=u+l,A=n.push("list_item_open","li",1),A.markup=String.fromCharCode(v),A.map=f=[x,0],p&&(A.info=n.src.slice(G,D-1)),S=n.tight,E=n.tShift[x],g=n.sCount[x],C=n.listIndent,n.listIndent=n.blkIndent,n.blkIndent=a,n.tight=!0,n.tShift[x]=i-n.bMarks[x],n.sCount[x]=y,i>=m&&n.isEmpty(x+1)?n.line=Math.min(n.line+2,o):n.md.block.tokenize(n,x,o,!0),(!n.tight||R)&&(Vn=!1),R=n.line-x>1&&n.isEmpty(n.line-1),n.blkIndent=n.listIndent,n.listIndent=C,n.tShift[x]=E,n.sCount[x]=g,n.tight=S,A=n.push("list_item_close","li",-1),A.markup=String.fromCharCode(v),x=n.line,f[1]=x,x>=o||n.sCount[x]=4)break;for(Y=!1,c=0,h=d.length;c=4||n.src.charCodeAt(g)!==91)return!1;for(;++g3)&&!(n.sCount[S]<0)){for(m=!1,u=0,p=y.length;u"u"&&(n.env.references={}),typeof n.env.references[f]>"u"&&(n.env.references[f]={title:C,href:l}),n.parentType=b,n.line=t+w+1),!0)},DM=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","section","source","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],un={},EM="[a-zA-Z_:][a-zA-Z0-9:._-]*",SM="[^\"'=<>`\\x00-\\x20]+",FM="'[^']*'",LM='"[^"]*"',TM="(?:"+SM+"|"+FM+"|"+LM+")",RM="(?:\\s+"+EM+"(?:\\s*=\\s*"+TM+")?)",Tt="<[A-Za-z][A-Za-z0-9\\-]*"+RM+"*\\s*\\/?>",Rt="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",zM="|",IM="<[?][\\s\\S]*?[?]>",BM="]*>",NM="",MM=new RegExp("^(?:"+Tt+"|"+Rt+"|"+zM+"|"+IM+"|"+BM+"|"+NM+")"),PM=new RegExp("^(?:"+Tt+"|"+Rt+")");un.HTML_TAG_RE=MM;un.HTML_OPEN_CLOSE_TAG_RE=PM;var OM=DM,UM=un.HTML_OPEN_CLOSE_TAG_RE,j=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,!0],[/^/,!0],[/^<\?/,/\?>/,!0],[/^/,!0],[/^/,!0],[new RegExp("^|$))","i"),/^$/,!0],[new RegExp(UM.source+"\\s*$"),/^$/,!1]],VM=function(n,t,o,e){var s,i,c,a,l=n.bMarks[t]+n.tShift[t],u=n.eMarks[t];if(n.sCount[t]-n.blkIndent>=4||!n.md.options.html||n.src.charCodeAt(l)!==60)return!1;for(a=n.src.slice(l,u),s=0;s=4||(s=n.src.charCodeAt(l),s!==35||l>=u))return!1;for(i=1,s=n.src.charCodeAt(++l);s===35&&l6||ll&&ut(n.src.charCodeAt(c-1))&&(u=c),n.line=t+1,a=n.push("heading_open","h"+String(i),1),a.markup="########".slice(0,i),a.map=[t,n.line],a=n.push("inline","",0),a.content=n.src.slice(l,u).trim(),a.map=[t,n.line],a.children=[],a=n.push("heading_close","h"+String(i),-1),a.markup="########".slice(0,i)),!0)},GM=function(n,t,o){var e,s,i,c,a,l,u,p,f,h=t+1,b,_=n.md.block.ruler.getRules("paragraph");if(n.sCount[t]-n.blkIndent>=4)return!1;for(b=n.parentType,n.parentType="paragraph";h3)){if(n.sCount[h]>=n.blkIndent&&(l=n.bMarks[h]+n.tShift[h],u=n.eMarks[h],l=u)))){p=f===61?1:2;break}if(!(n.sCount[h]<0)){for(s=!1,i=0,c=_.length;i3)&&!(n.sCount[u]<0)){for(s=!1,i=0,c=p.length;i0&&this.level++,this.tokens.push(o),o};N.prototype.isEmpty=function(n){return this.bMarks[n]+this.tShift[n]>=this.eMarks[n]};N.prototype.skipEmptyLines=function(n){for(var t=this.lineMax;nt;)if(!pn(this.src.charCodeAt(--n)))return n+1;return n};N.prototype.skipChars=function(n,t){for(var o=this.src.length;no;)if(t!==this.src.charCodeAt(--n))return n+1;return n};N.prototype.getLines=function(n,t,o,e){var s,i,c,a,l,u,p,f=n;if(n>=t)return"";for(u=new Array(t-n),s=0;fo?u[s]=new Array(i-o+1).join(" ")+this.src.slice(a,l):u[s]=this.src.slice(a,l)}return u.join("")};N.prototype.Token=zt;var HM=N,ZM=Rn,on=[["table",gM,["paragraph","reference"]],["code",_M],["fence",bM,["paragraph","reference","blockquote","list"]],["blockquote",xM,["paragraph","reference","blockquote","list"]],["hr",yM,["paragraph","reference","blockquote","list"]],["list",wM,["paragraph","reference","blockquote"]],["reference",qM],["html_block",VM,["paragraph","reference","blockquote"]],["heading",$M,["paragraph","reference","blockquote"]],["lheading",GM],["paragraph",jM]];function fn(){this.ruler=new ZM;for(var r=0;r=t||r.sCount[a]=u){r.line=t;break}for(s=r.line,e=0;e=r.line)throw new Error("block rule didn't increment state.line");break}if(!o)throw new Error("none of the block rules matched");r.tight=!l,r.isEmpty(r.line-1)&&(l=!0),a=r.line,a0||(o=n.pos,e=n.posMax,o+3>e)||n.src.charCodeAt(o)!==58||n.src.charCodeAt(o+1)!==47||n.src.charCodeAt(o+2)!==47||(s=n.pending.match(QM),!s)||(i=s[1],c=n.md.linkify.matchAtStart(n.src.slice(o-i.length)),!c)||(a=c.url,a.length<=i.length)||(a=a.replace(/\*+$/,""),l=n.md.normalizeLink(a),!n.md.validateLink(l))?!1:(t||(n.pending=n.pending.slice(0,-i.length),u=n.push("link_open","a",1),u.attrs=[["href",l]],u.markup="linkify",u.info="auto",u=n.push("text","",0),u.content=n.md.normalizeLinkText(a),u=n.push("link_close","a",-1),u.markup="linkify",u.info="auto"),n.pos+=a.length-i.length,!0)},XM=q.isSpace,nP=function(n,t){var o,e,s,i=n.pos;if(n.src.charCodeAt(i)!==10)return!1;if(o=n.pending.length-1,e=n.posMax,!t)if(o>=0&&n.pending.charCodeAt(o)===32)if(o>=1&&n.pending.charCodeAt(o-1)===32){for(s=o-1;s>=1&&n.pending.charCodeAt(s-1)===32;)s--;n.pending=n.pending.slice(0,s),n.push("hardbreak","br",0)}else n.pending=n.pending.slice(0,-1),n.push("softbreak","br",0);else n.push("softbreak","br",0);for(i++;i?@[]^_`{|}~-".split("").forEach(function(r){Bn[r.charCodeAt(0)]=1});var rP=function(n,t){var o,e,s,i,c,a=n.pos,l=n.posMax;if(n.src.charCodeAt(a)!==92||(a++,a>=l))return!1;if(o=n.src.charCodeAt(a),o===10){for(t||n.push("hardbreak","br",0),a++;a=55296&&o<=56319&&a+1=56320&&e<=57343&&(i+=n.src[a+1],a++)),s="\\"+i,t||(c=n.push("text_special","",0),o<256&&Bn[o]!==0?c.content=i:c.content=s,c.markup=s,c.info="escape"),n.pos=a+1,!0},oP=function(n,t){var o,e,s,i,c,a,l,u,p=n.pos,f=n.src.charCodeAt(p);if(f!==96)return!1;for(o=p,p++,e=n.posMax;p=0;t--)o=n[t],!(o.marker!==95&&o.marker!==42)&&o.end!==-1&&(e=n[o.end],c=t>0&&n[t-1].end===o.end+1&&n[t-1].marker===o.marker&&n[t-1].token===o.token-1&&n[o.end+1].token===e.token+1,i=String.fromCharCode(o.marker),s=r.tokens[o.token],s.type=c?"strong_open":"em_open",s.tag=c?"strong":"em",s.nesting=1,s.markup=c?i+i:i,s.content="",s=r.tokens[e.token],s.type=c?"strong_close":"em_close",s.tag=c?"strong":"em",s.nesting=-1,s.markup=c?i+i:i,s.content="",c&&(r.tokens[n[t-1].token].content="",r.tokens[n[o.end+1].token].content="",t--))}dn.postProcess=function(n){var t,o=n.tokens_meta,e=n.tokens_meta.length;for(ht(n,n.delimiters),t=0;t=_)return!1;if(v=a,l=n.md.helpers.parseLinkDestination(n.src,a,n.posMax),l.ok){for(f=n.md.normalizeLink(l.str),n.md.validateLink(f)?a=l.pos:f="",v=a;a<_&&(e=n.src.charCodeAt(a),!(!Cn(e)&&e!==10));a++);if(l=n.md.helpers.parseLinkTitle(n.src,a,n.posMax),a<_&&v!==a&&l.ok)for(h=l.str,a=l.pos;a<_&&(e=n.src.charCodeAt(a),!(!Cn(e)&&e!==10));a++);}(a>=_||n.src.charCodeAt(a)!==41)&&(k=!0),a++}if(k){if(typeof n.env.references>"u")return!1;if(a<_&&n.src.charCodeAt(a)===91?(v=a+1,a=n.md.helpers.parseLinkLabel(n,a),a>=0?s=n.src.slice(v,a++):a=i+1):a=i+1,s||(s=n.src.slice(c,i)),u=n.env.references[eP(s)],!u)return n.pos=b,!1;f=u.href,h=u.title}return t||(n.pos=c,n.posMax=i,p=n.push("link_open","a",1),p.attrs=o=[["href",f]],h&&o.push(["title",h]),n.linkLevel++,n.md.inline.tokenize(n),n.linkLevel--,p=n.push("link_close","a",-1)),n.pos=a,n.posMax=_,!0},cP=q.normalizeReference,wn=q.isSpace,iP=function(n,t){var o,e,s,i,c,a,l,u,p,f,h,b,_,v="",k=n.pos,m=n.posMax;if(n.src.charCodeAt(n.pos)!==33||n.src.charCodeAt(n.pos+1)!==91||(a=n.pos+2,c=n.md.helpers.parseLinkLabel(n,n.pos+1,!1),c<0))return!1;if(l=c+1,l=m)return!1;for(_=l,p=n.md.helpers.parseLinkDestination(n.src,l,n.posMax),p.ok&&(v=n.md.normalizeLink(p.str),n.md.validateLink(v)?l=p.pos:v=""),_=l;l=m||n.src.charCodeAt(l)!==41)return n.pos=k,!1;l++}else{if(typeof n.env.references>"u")return!1;if(l=0?i=n.src.slice(_,l++):l=c+1):l=c+1,i||(i=n.src.slice(a,c)),u=n.env.references[cP(i)],!u)return n.pos=k,!1;v=u.href,f=u.title}return t||(s=n.src.slice(a,c),n.md.inline.parse(s,n.md,n.env,b=[]),h=n.push("image","img",0),h.attrs=o=[["src",v],["alt",""]],h.children=b,h.content=s,f&&o.push(["title",f])),n.pos=l,n.posMax=m,!0},aP=/^([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/,lP=/^([a-zA-Z][a-zA-Z0-9+.\-]{1,31}):([^<>\x00-\x20]*)$/,uP=function(n,t){var o,e,s,i,c,a,l=n.pos;if(n.src.charCodeAt(l)!==60)return!1;for(c=n.pos,a=n.posMax;;){if(++l>=a||(i=n.src.charCodeAt(l),i===60))return!1;if(i===62)break}return o=n.src.slice(c+1,l),lP.test(o)?(e=n.md.normalizeLink(o),n.md.validateLink(e)?(t||(s=n.push("link_open","a",1),s.attrs=[["href",e]],s.markup="autolink",s.info="auto",s=n.push("text","",0),s.content=n.md.normalizeLinkText(o),s=n.push("link_close","a",-1),s.markup="autolink",s.info="auto"),n.pos+=o.length+2,!0):!1):aP.test(o)?(e=n.md.normalizeLink("mailto:"+o),n.md.validateLink(e)?(t||(s=n.push("link_open","a",1),s.attrs=[["href",e]],s.markup="autolink",s.info="auto",s=n.push("text","",0),s.content=n.md.normalizeLinkText(o),s=n.push("link_close","a",-1),s.markup="autolink",s.info="auto"),n.pos+=o.length+2,!0):!1):!1},pP=un.HTML_TAG_RE;function fP(r){return/^\s]/i.test(r)}function hP(r){return/^<\/a\s*>/i.test(r)}function dP(r){var n=r|32;return n>=97&&n<=122}var mP=function(n,t){var o,e,s,i,c=n.pos;return!n.md.options.html||(s=n.posMax,n.src.charCodeAt(c)!==60||c+2>=s)||(o=n.src.charCodeAt(c+1),o!==33&&o!==63&&o!==47&&!dP(o))||(e=n.src.slice(c).match(pP),!e)?!1:(t||(i=n.push("html_inline","",0),i.content=e[0],fP(i.content)&&n.linkLevel++,hP(i.content)&&n.linkLevel--),n.pos+=e[0].length,!0)},dt=At,gP=q.has,_P=q.isValidEntityCode,mt=q.fromCodePoint,bP=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,kP=/^&([a-z][a-z0-9]{1,31});/i,xP=function(n,t){var o,e,s,i,c=n.pos,a=n.posMax;if(n.src.charCodeAt(c)!==38||c+1>=a)return!1;if(o=n.src.charCodeAt(c+1),o===35){if(s=n.src.slice(c).match(bP),s)return t||(e=s[1][0].toLowerCase()==="x"?parseInt(s[1].slice(1),16):parseInt(s[1],10),i=n.push("text_special","",0),i.content=_P(e)?mt(e):mt(65533),i.markup=s[0],i.info="entity"),n.pos+=s[0].length,!0}else if(s=n.src.slice(c).match(kP),s&&gP(dt,s[1]))return t||(i=n.push("text_special","",0),i.content=dt[s[1]],i.markup=s[0],i.info="entity"),n.pos+=s[0].length,!0;return!1};function gt(r){var n,t,o,e,s,i,c,a,l={},u=r.length;if(u){var p=0,f=-2,h=[];for(n=0;ns;t-=h[t]+1)if(e=r[t],e.marker===o.marker&&e.open&&e.end<0&&(c=!1,(e.close||o.open)&&(e.length+o.length)%3===0&&(e.length%3!==0||o.length%3!==0)&&(c=!0),!c)){a=t>0&&!r[t-1].open?h[t-1]+1:0,h[n]=n-t+a,h[t]=a,o.open=!1,e.end=n,e.close=!1,i=-1,f=-2;break}i!==-1&&(l[o.marker][(o.open?3:0)+(o.length||0)%3]=i)}}}var vP=function(n){var t,o=n.tokens_meta,e=n.tokens_meta.length;for(gt(n.delimiters),t=0;t0&&e++,s[t].type==="text"&&t+10&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],e={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(o),this.tokens_meta.push(e),o};X.prototype.scanDelims=function(r,n){var t=r,o,e,s,i,c,a,l,u,p,f=!0,h=!0,b=this.posMax,_=this.src.charCodeAt(r);for(o=r>0?this.src.charCodeAt(r-1):32;t=r.pos)throw new Error("inline rule didn't increment state.pos");break}}else r.pos=r.posMax;n||r.pos++,c[o]=r.pos};nn.prototype.tokenize=function(r){for(var n,t,o,e=this.ruler.getRules(""),s=e.length,i=r.posMax,c=r.md.options.maxNesting;r.pos=r.pos)throw new Error("inline rule didn't increment state.pos");break}}if(n){if(r.pos>=i)break;continue}r.pending+=r.src[r.pos++]}r.pending&&r.pushPending()};nn.prototype.parse=function(r,n,t,o){var e,s,i,c=new this.State(r,n,t,o);for(this.tokenize(c),s=this.ruler2.getRules(""),i=s.length,e=0;e|$))",n.tpl_email_fuzzy="(^|"+t+'|"|\\(|'+n.src_ZCc+")("+n.src_email_name+"@"+n.tpl_host_fuzzy_strict+")",n.tpl_link_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+n.src_ZPCc+"))((?![$+<=>^`||])"+n.tpl_host_port_fuzzy_strict+n.src_path+")",n.tpl_link_no_ip_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+n.src_ZPCc+"))((?![$+<=>^`||])"+n.tpl_host_port_no_ip_fuzzy_strict+n.src_path+")",n}),Dn}function Fn(r){var n=Array.prototype.slice.call(arguments,1);return n.forEach(function(t){t&&Object.keys(t).forEach(function(o){r[o]=t[o]})}),r}function mn(r){return Object.prototype.toString.call(r)}function qP(r){return mn(r)==="[object String]"}function DP(r){return mn(r)==="[object Object]"}function EP(r){return mn(r)==="[object RegExp]"}function yt(r){return mn(r)==="[object Function]"}function SP(r){return r.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}var It={fuzzyLink:!0,fuzzyEmail:!0,fuzzyIP:!1};function FP(r){return Object.keys(r||{}).reduce(function(n,t){return n||It.hasOwnProperty(t)},!1)}var LP={"http:":{validate:function(r,n,t){var o=r.slice(n);return t.re.http||(t.re.http=new RegExp("^\\/\\/"+t.re.src_auth+t.re.src_host_port_strict+t.re.src_path,"i")),t.re.http.test(o)?o.match(t.re.http)[0].length:0}},"https:":"http:","ftp:":"http:","//":{validate:function(r,n,t){var o=r.slice(n);return t.re.no_http||(t.re.no_http=new RegExp("^"+t.re.src_auth+"(?:localhost|(?:(?:"+t.re.src_domain+")\\.)+"+t.re.src_domain_root+")"+t.re.src_port+t.re.src_host_terminator+t.re.src_path,"i")),t.re.no_http.test(o)?n>=3&&r[n-3]===":"||n>=3&&r[n-3]==="/"?0:o.match(t.re.no_http)[0].length:0}},"mailto:":{validate:function(r,n,t){var o=r.slice(n);return t.re.mailto||(t.re.mailto=new RegExp("^"+t.re.src_email_name+"@"+t.re.src_host_strict,"i")),t.re.mailto.test(o)?o.match(t.re.mailto)[0].length:0}}},TP="a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]",RP="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф".split("|");function zP(r){r.__index__=-1,r.__text_cache__=""}function IP(r){return function(n,t){var o=n.slice(t);return r.test(o)?o.match(r)[0].length:0}}function Ct(){return function(r,n){n.normalize(r)}}function sn(r){var n=r.re=AP()(r.__opts__),t=r.__tlds__.slice();r.onCompile(),r.__tlds_replaced__||t.push(TP),t.push(n.src_xn),n.src_tlds=t.join("|");function o(c){return c.replace("%TLDS%",n.src_tlds)}n.email_fuzzy=RegExp(o(n.tpl_email_fuzzy),"i"),n.link_fuzzy=RegExp(o(n.tpl_link_fuzzy),"i"),n.link_no_ip_fuzzy=RegExp(o(n.tpl_link_no_ip_fuzzy),"i"),n.host_fuzzy_test=RegExp(o(n.tpl_host_fuzzy_test),"i");var e=[];r.__compiled__={};function s(c,a){throw new Error('(LinkifyIt) Invalid schema "'+c+'": '+a)}Object.keys(r.__schemas__).forEach(function(c){var a=r.__schemas__[c];if(a!==null){var l={validate:null,link:null};if(r.__compiled__[c]=l,DP(a)){EP(a.validate)?l.validate=IP(a.validate):yt(a.validate)?l.validate=a.validate:s(c,a),yt(a.normalize)?l.normalize=a.normalize:a.normalize?s(c,a):l.normalize=Ct();return}if(qP(a)){e.push(c);return}s(c,a)}}),e.forEach(function(c){r.__compiled__[r.__schemas__[c]]&&(r.__compiled__[c].validate=r.__compiled__[r.__schemas__[c]].validate,r.__compiled__[c].normalize=r.__compiled__[r.__schemas__[c]].normalize)}),r.__compiled__[""]={validate:null,normalize:Ct()};var i=Object.keys(r.__compiled__).filter(function(c){return c.length>0&&r.__compiled__[c]}).map(SP).join("|");r.re.schema_test=RegExp("(^|(?!_)(?:[><|]|"+n.src_ZPCc+"))("+i+")","i"),r.re.schema_search=RegExp("(^|(?!_)(?:[><|]|"+n.src_ZPCc+"))("+i+")","ig"),r.re.schema_at_start=RegExp("^"+r.re.schema_search.source,"i"),r.re.pretest=RegExp("("+r.re.schema_test.source+")|("+r.re.host_fuzzy_test.source+")|@","i"),zP(r)}function BP(r,n){var t=r.__index__,o=r.__last_index__,e=r.__text_cache__.slice(t,o);this.schema=r.__schema__.toLowerCase(),this.index=t+n,this.lastIndex=o+n,this.raw=e,this.text=e,this.url=e}function Ln(r,n){var t=new BP(r,n);return r.__compiled__[t.schema].normalize(t,r),t}function F(r,n){if(!(this instanceof F))return new F(r,n);n||FP(r)&&(n=r,r={}),this.__opts__=Fn({},It,n),this.__index__=-1,this.__last_index__=-1,this.__schema__="",this.__text_cache__="",this.__schemas__=Fn({},LP,r),this.__compiled__={},this.__tlds__=RP,this.__tlds_replaced__=!1,this.re={},sn(this)}F.prototype.add=function(n,t){return this.__schemas__[n]=t,sn(this),this};F.prototype.set=function(n){return this.__opts__=Fn(this.__opts__,n),this};F.prototype.test=function(n){if(this.__text_cache__=n,this.__index__=-1,!n.length)return!1;var t,o,e,s,i,c,a,l,u;if(this.re.schema_test.test(n)){for(a=this.re.schema_search,a.lastIndex=0;(t=a.exec(n))!==null;)if(s=this.testSchemaAt(n,t[2],a.lastIndex),s){this.__schema__=t[2],this.__index__=t.index+t[1].length,this.__last_index__=t.index+t[0].length+s;break}}return this.__opts__.fuzzyLink&&this.__compiled__["http:"]&&(l=n.search(this.re.host_fuzzy_test),l>=0&&(this.__index__<0||l=0&&(e=n.match(this.re.email_fuzzy))!==null&&(i=e.index+e[1].length,c=e.index+e[0].length,(this.__index__<0||ithis.__last_index__)&&(this.__schema__="mailto:",this.__index__=i,this.__last_index__=c))),this.__index__>=0};F.prototype.pretest=function(n){return this.re.pretest.test(n)};F.prototype.testSchemaAt=function(n,t,o){return this.__compiled__[t.toLowerCase()]?this.__compiled__[t.toLowerCase()].validate(n,o,this):0};F.prototype.match=function(n){var t=0,o=[];this.__index__>=0&&this.__text_cache__===n&&(o.push(Ln(this,t)),t=this.__last_index__);for(var e=t?n.slice(t):n;this.test(e);)o.push(Ln(this,t)),e=e.slice(this.__last_index__),t+=this.__last_index__;return o.length?o:null};F.prototype.matchAtStart=function(n){if(this.__text_cache__=n,this.__index__=-1,!n.length)return null;var t=this.re.schema_at_start.exec(n);if(!t)return null;var o=this.testSchemaAt(n,t[2],t[0].length);return o?(this.__schema__=t[2],this.__index__=t.index+t[1].length,this.__last_index__=t.index+t[0].length+o,Ln(this,0)):null};F.prototype.tlds=function(n,t){return n=Array.isArray(n)?n:[n],t?(this.__tlds__=this.__tlds__.concat(n).sort().filter(function(o,e,s){return o!==s[e-1]}).reverse(),sn(this),this):(this.__tlds__=n.slice(),this.__tlds_replaced__=!0,sn(this),this)};F.prototype.normalize=function(n){n.schema||(n.url="http://"+n.url),n.schema==="mailto:"&&!/^mailto:/i.test(n.url)&&(n.url="mailto:"+n.url)};F.prototype.onCompile=function(){};var NP=F;const H=2147483647,z=36,Mn=1,K=26,MP=38,PP=700,Bt=72,Nt=128,Mt="-",OP=/^xn--/,UP=/[^\0-\x7F]/,VP=/[\x2E\u3002\uFF0E\uFF61]/g,$P={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},En=z-Mn,I=Math.floor,Sn=String.fromCharCode;function O(r){throw new RangeError($P[r])}function GP(r,n){const t=[];let o=r.length;for(;o--;)t[o]=n(r[o]);return t}function Pt(r,n){const t=r.split("@");let o="";t.length>1&&(o=t[0]+"@",r=t[1]),r=r.replace(VP,".");const e=r.split("."),s=GP(e,n).join(".");return o+s}function Pn(r){const n=[];let t=0;const o=r.length;for(;t=55296&&e<=56319&&tString.fromCodePoint(...r),jP=function(r){return r>=48&&r<58?26+(r-48):r>=65&&r<91?r-65:r>=97&&r<123?r-97:z},wt=function(r,n){return r+22+75*(r<26)-((n!=0)<<5)},Ut=function(r,n,t){let o=0;for(r=t?I(r/PP):r>>1,r+=I(r/n);r>En*K>>1;o+=z)r=I(r/En);return I(o+(En+1)*r/(r+MP))},On=function(r){const n=[],t=r.length;let o=0,e=Nt,s=Bt,i=r.lastIndexOf(Mt);i<0&&(i=0);for(let c=0;c=128&&O("not-basic"),n.push(r.charCodeAt(c));for(let c=i>0?i+1:0;c=t&&O("invalid-input");const f=jP(r.charCodeAt(c++));f>=z&&O("invalid-input"),f>I((H-o)/u)&&O("overflow"),o+=f*u;const h=p<=s?Mn:p>=s+K?K:p-s;if(fI(H/b)&&O("overflow"),u*=b}const l=n.length+1;s=Ut(o-a,l,a==0),I(o/l)>H-e&&O("overflow"),e+=I(o/l),o%=l,n.splice(o++,0,e)}return String.fromCodePoint(...n)},Un=function(r){const n=[];r=Pn(r);const t=r.length;let o=Nt,e=0,s=Bt;for(const a of r)a<128&&n.push(Sn(a));const i=n.length;let c=i;for(i&&n.push(Mt);c=o&&uI((H-e)/l)&&O("overflow"),e+=(a-o)*l,o=a;for(const u of r)if(uH&&O("overflow"),u===o){let p=e;for(let f=z;;f+=z){const h=f<=s?Mn:f>=s+K?K:f-s;if(p=0))try{n.hostname=Gt.toASCII(n.hostname)}catch{}return V.encode(V.format(n))}function lO(r){var n=V.parse(r,!0);if(n.hostname&&(!n.protocol||jt.indexOf(n.protocol)>=0))try{n.hostname=Gt.toUnicode(n.hostname)}catch{}return V.decode(V.format(n),V.decode.defaultChars+"%")}function L(r,n){if(!(this instanceof L))return new L(r,n);n||Q.isString(r)||(n=r||{},r="default"),this.inline=new rO,this.block=new tO,this.core=new nO,this.renderer=new XP,this.linkify=new oO,this.validateLink=iO,this.normalizeLink=aO,this.normalizeLinkText=lO,this.utils=Q,this.helpers=Q.assign({},KP),this.options={},this.configure(r),n&&this.set(n)}L.prototype.set=function(r){return Q.assign(this.options,r),this};L.prototype.configure=function(r){var n=this,t;if(Q.isString(r)&&(t=r,r=eO[t],!r))throw new Error('Wrong `markdown-it` preset "'+t+'", check name');if(!r)throw new Error("Wrong `markdown-it` preset, can't be empty");return r.options&&n.set(r.options),r.components&&Object.keys(r.components).forEach(function(o){r.components[o].rules&&n[o].ruler.enableOnly(r.components[o].rules),r.components[o].rules2&&n[o].ruler2.enableOnly(r.components[o].rules2)}),this};L.prototype.enable=function(r,n){var t=[];Array.isArray(r)||(r=[r]),["core","block","inline"].forEach(function(e){t=t.concat(this[e].ruler.enable(r,!0))},this),t=t.concat(this.inline.ruler2.enable(r,!0));var o=r.filter(function(e){return t.indexOf(e)<0});if(o.length&&!n)throw new Error("MarkdownIt. Failed to enable unknown rule(s): "+o);return this};L.prototype.disable=function(r,n){var t=[];Array.isArray(r)||(r=[r]),["core","block","inline"].forEach(function(e){t=t.concat(this[e].ruler.disable(r,!0))},this),t=t.concat(this.inline.ruler2.disable(r,!0));var o=r.filter(function(e){return t.indexOf(e)<0});if(o.length&&!n)throw new Error("MarkdownIt. Failed to disable unknown rule(s): "+o);return this};L.prototype.use=function(r){var n=[this].concat(Array.prototype.slice.call(arguments,1));return r.apply(r,n),this};L.prototype.parse=function(r,n){if(typeof r!="string")throw new Error("Input data should be a String");var t=new this.core.State(r,this,n);return this.core.process(t),t.tokens};L.prototype.render=function(r,n){return n=n||{},this.renderer.render(this.parse(r,n),this.options,n)};L.prototype.parseInline=function(r,n){var t=new this.core.State(r,this,n);return t.inlineMode=!0,this.core.process(t),t.tokens};L.prototype.renderInline=function(r,n){return n=n||{},this.renderer.render(this.parseInline(r,n),this.options,n)};var uO=L,pO=uO;const fO=Zt(pO),hO=["innerHTML"],mO=Jt({__name:"Markdown",props:{title:{type:String,required:!0},content:{type:String,required:!0}},emits:["close","update"],setup(r,{expose:n,emit:t}){const o=Wt(null),e=new fO;return n({show:()=>{o.value.show()}}),(i,c)=>(Yt(),Qt(tr,{ref_key:"modal",ref:o,name:r.title,onClose:c[0]||(c[0]=a=>i.$emit("close"))},{default:Kt(()=>[Xt("div",{class:"overflow-hidden",innerHTML:nr(e).render(r.content)},null,8,hO)]),_:1},8,["name"]))}});export{fO as M,mO as _}; +`),t=t.replace(ZN,"�"),n.src=t},WN=function(n){var t;n.inlineMode?(t=new n.Token("inline","",0),t.content=n.src,t.map=[0,1],t.children=[],n.tokens.push(t)):n.md.block.parse(n.src,n.md,n.env,n.tokens)},YN=function(n){var t=n.tokens,o,e,s;for(e=0,s=t.length;e\s]/i.test(r)}function XN(r){return/^<\/a\s*>/i.test(r)}var nM=function(n){var t,o,e,s,i,c,a,l,u,p,f,h,_,b,v,k,m=n.tokens,y;if(n.md.options.linkify){for(o=0,e=m.length;o=0;t--){if(c=s[t],c.type==="link_close"){for(t--;s[t].level!==c.level&&s[t].type!=="link_open";)t--;continue}if(c.type==="html_inline"&&(KN(c.content)&&_>0&&_--,XN(c.content)&&_++),!(_>0)&&c.type==="text"&&n.md.linkify.test(c.content)){for(u=c.content,y=n.md.linkify.match(u),a=[],h=c.level,f=0,y.length>0&&y[0].index===0&&t>0&&s[t-1].type==="text_special"&&(y=y.slice(1)),l=0;lf&&(i=new n.Token("text","",0),i.content=u.slice(f,p),i.level=h,a.push(i)),i=new n.Token("link_open","a",1),i.attrs=[["href",v]],i.level=h++,i.markup="linkify",i.info="auto",a.push(i),i=new n.Token("text","",0),i.content=k,i.level=h,a.push(i),i=new n.Token("link_close","a",-1),i.level=--h,i.markup="linkify",i.info="auto",a.push(i),f=y[l].lastIndex);f=0;n--)t=r[n],t.type==="text"&&!o&&(t.content=t.content.replace(rM,eM)),t.type==="link_open"&&t.info==="auto"&&o--,t.type==="link_close"&&t.info==="auto"&&o++}function cM(r){var n,t,o=0;for(n=r.length-1;n>=0;n--)t=r[n],t.type==="text"&&!o&&St.test(t.content)&&(t.content=t.content.replace(/\+-/g,"±").replace(/\.{2,}/g,"…").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---(?=[^-]|$)/mg,"$1—").replace(/(^|\s)--(?=\s|$)/mg,"$1–").replace(/(^|[^-\s])--(?=[^-\s]|$)/mg,"$1–")),t.type==="link_open"&&t.info==="auto"&&o--,t.type==="link_close"&&t.info==="auto"&&o++}var iM=function(n){var t;if(n.md.options.typographer)for(t=n.tokens.length-1;t>=0;t--)n.tokens[t].type==="inline"&&(tM.test(n.tokens[t].content)&&sM(n.tokens[t].children),St.test(n.tokens[t].content)&&cM(n.tokens[t].children))},rt=q.isWhiteSpace,ot=q.isPunctChar,et=q.isMdAsciiPunct,aM=/['"]/,st=/['"]/g,ct="’";function tn(r,n,t){return r.slice(0,n)+t+r.slice(n+1)}function lM(r,n){var t,o,e,s,i,c,a,l,u,p,f,h,_,b,v,k,m,y,C,w,g;for(C=[],t=0;t=0&&!(C[m].level<=a);m--);if(C.length=m+1,o.type==="text"){e=o.content,i=0,c=e.length;n:for(;i=0)u=e.charCodeAt(s.index-1);else for(m=t-1;m>=0&&!(r[m].type==="softbreak"||r[m].type==="hardbreak");m--)if(r[m].content){u=r[m].content.charCodeAt(r[m].content.length-1);break}if(p=32,i=48&&u<=57&&(k=v=!1),v&&k&&(v=f,k=h),!v&&!k){y&&(o.content=tn(o.content,s.index,ct));continue}if(k){for(m=C.length-1;m>=0&&(l=C[m],!(C[m].level=0;t--)n.tokens[t].type!=="inline"||!aM.test(n.tokens[t].content)||lM(n.tokens[t].children,n)},pM=function(n){var t,o,e,s,i,c,a=n.tokens;for(t=0,o=a.length;t=0&&(o=this.attrs[t][1]),o};W.prototype.attrJoin=function(n,t){var o=this.attrIndex(n);o<0?this.attrPush([n,t]):this.attrs[o][1]=this.attrs[o][1]+" "+t};var zn=W,fM=zn;function Ft(r,n,t){this.src=r,this.env=t,this.tokens=[],this.inlineMode=!1,this.md=n}Ft.prototype.Token=fM;var hM=Ft,dM=Rn,xn=[["normalize",JN],["block",WN],["inline",YN],["linkify",nM],["replacements",iM],["smartquotes",uM],["text_join",pM]];function In(){this.ruler=new dM;for(var r=0;ro||(u=t+1,n.sCount[u]=4||(c=n.bMarks[u]+n.tShift[u],c>=n.eMarks[u])||(w=n.src.charCodeAt(c++),w!==124&&w!==45&&w!==58)||c>=n.eMarks[u]||(g=n.src.charCodeAt(c++),g!==124&&g!==45&&g!==58&&!vn(g))||w===45&&vn(g))return!1;for(;c=4||(p=it(i),p.length&&p[0]===""&&p.shift(),p.length&&p[p.length-1]===""&&p.pop(),f=p.length,f===0||f!==_.length))return!1;if(e)return!0;for(m=n.parentType,n.parentType="table",C=n.md.block.ruler.getRules("blockquote"),h=n.push("table_open","table",1),h.map=v=[t,0],h=n.push("thead_open","thead",1),h.map=[t,t+1],h=n.push("tr_open","tr",1),h.map=[t,t+1],a=0;a=4)break;for(p=it(i),p.length&&p[0]===""&&p.shift(),p.length&&p[p.length-1]===""&&p.pop(),u===t+2&&(h=n.push("tbody_open","tbody",1),h.map=k=[t+2,0]),h=n.push("tr_open","tr",1),h.map=[u,u+1],a=0;a=4){e++,s=e;continue}break}return n.line=s,i=n.push("code_block","code",0),i.content=n.getLines(t,s,4+n.blkIndent,!1)+` +`,i.map=[t,n.line],!0},_M=function(n,t,o,e){var s,i,c,a,l,u,p,f=!1,h=n.bMarks[t]+n.tShift[t],_=n.eMarks[t];if(n.sCount[t]-n.blkIndent>=4||h+3>_||(s=n.src.charCodeAt(h),s!==126&&s!==96)||(l=h,h=n.skipChars(h,s),i=h-l,i<3)||(p=n.src.slice(l,h),c=n.src.slice(h,_),s===96&&c.indexOf(String.fromCharCode(s))>=0))return!1;if(e)return!0;for(a=t;a++,!(a>=o||(h=l=n.bMarks[a]+n.tShift[a],_=n.eMarks[a],h<_&&n.sCount[a]=4)&&(h=n.skipChars(h,s),!(h-l=4||n.src.charCodeAt(D)!==62)return!1;if(e)return!0;for(_=[],b=[],m=[],y=[],g=n.md.block.ruler.getRules("blockquote"),k=n.parentType,n.parentType="blockquote",f=t;f=R));f++){if(n.src.charCodeAt(D++)===62&&!S){for(a=n.sCount[f]+1,n.src.charCodeAt(D)===32?(D++,a++,s=!1,C=!0):n.src.charCodeAt(D)===9?(C=!0,(n.bsCount[f]+a)%4===3?(D++,a++,s=!1):s=!0):C=!1,h=a,_.push(n.bMarks[f]),n.bMarks[f]=D;D=R,b.push(n.bsCount[f]),n.bsCount[f]=n.sCount[f]+1+(C?1:0),m.push(n.sCount[f]),n.sCount[f]=h-a,y.push(n.tShift[f]),n.tShift[f]=D-n.bMarks[f];continue}if(u)break;for(w=!1,c=0,l=g.length;c",E.map=p=[t,0],n.md.block.tokenize(n,t,f),E=n.push("blockquote_close","blockquote",-1),E.markup=">",n.lineMax=M,n.parentType=k,p[1]=n.line,c=0;c=4||(s=n.src.charCodeAt(l++),s!==42&&s!==45&&s!==95))return!1;for(i=1;l=s||(t=r.src.charCodeAt(e++),t<48||t>57))return-1;for(;;){if(e>=s)return-1;if(t=r.src.charCodeAt(e++),t>=48&&t<=57){if(e-o>=10)return-1;continue}if(t===41||t===46)break;return-1}return e=4||n.listIndent>=0&&n.sCount[x]-n.listIndent>=4&&n.sCount[x]=n.blkIndent&&(P=!0),(D=lt(n,x))>=0){if(p=!0,G=n.bMarks[x]+n.tShift[x],k=Number(n.src.slice(G,D-1)),P&&k!==1)return!1}else if((D=at(n,x))>=0)p=!1;else return!1;if(P&&n.skipSpaces(D)>=n.eMarks[x])return!1;if(e)return!0;for(v=n.src.charCodeAt(D-1),b=n.tokens.length,p?(A=n.push("ordered_list_open","ol",1),k!==1&&(A.attrs=[["start",k]])):A=n.push("bullet_list_open","ul",1),A.map=_=[x,0],A.markup=String.fromCharCode(v),R=!1,d=n.md.block.ruler.getRules("list"),w=n.parentType,n.parentType="list";x=m?l=1:l=y-u,l>4&&(l=1),a=u+l,A=n.push("list_item_open","li",1),A.markup=String.fromCharCode(v),A.map=f=[x,0],p&&(A.info=n.src.slice(G,D-1)),S=n.tight,E=n.tShift[x],g=n.sCount[x],C=n.listIndent,n.listIndent=n.blkIndent,n.blkIndent=a,n.tight=!0,n.tShift[x]=i-n.bMarks[x],n.sCount[x]=y,i>=m&&n.isEmpty(x+1)?n.line=Math.min(n.line+2,o):n.md.block.tokenize(n,x,o,!0),(!n.tight||R)&&(Vn=!1),R=n.line-x>1&&n.isEmpty(n.line-1),n.blkIndent=n.listIndent,n.listIndent=C,n.tShift[x]=E,n.sCount[x]=g,n.tight=S,A=n.push("list_item_close","li",-1),A.markup=String.fromCharCode(v),x=n.line,f[1]=x,x>=o||n.sCount[x]=4)break;for(Y=!1,c=0,h=d.length;c=4||n.src.charCodeAt(g)!==91)return!1;for(;++g3)&&!(n.sCount[S]<0)){for(m=!1,u=0,p=y.length;u"u"&&(n.env.references={}),typeof n.env.references[f]>"u"&&(n.env.references[f]={title:C,href:l}),n.parentType=_,n.line=t+w+1),!0)},DM=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","section","source","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],un={},EM="[a-zA-Z_:][a-zA-Z0-9:._-]*",SM="[^\"'=<>`\\x00-\\x20]+",FM="'[^']*'",LM='"[^"]*"',TM="(?:"+SM+"|"+FM+"|"+LM+")",RM="(?:\\s+"+EM+"(?:\\s*=\\s*"+TM+")?)",Tt="<[A-Za-z][A-Za-z0-9\\-]*"+RM+"*\\s*\\/?>",Rt="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",zM="|",IM="<[?][\\s\\S]*?[?]>",BM="]*>",NM="",MM=new RegExp("^(?:"+Tt+"|"+Rt+"|"+zM+"|"+IM+"|"+BM+"|"+NM+")"),PM=new RegExp("^(?:"+Tt+"|"+Rt+")");un.HTML_TAG_RE=MM;un.HTML_OPEN_CLOSE_TAG_RE=PM;var OM=DM,UM=un.HTML_OPEN_CLOSE_TAG_RE,j=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,!0],[/^/,!0],[/^<\?/,/\?>/,!0],[/^/,!0],[/^/,!0],[new RegExp("^|$))","i"),/^$/,!0],[new RegExp(UM.source+"\\s*$"),/^$/,!1]],VM=function(n,t,o,e){var s,i,c,a,l=n.bMarks[t]+n.tShift[t],u=n.eMarks[t];if(n.sCount[t]-n.blkIndent>=4||!n.md.options.html||n.src.charCodeAt(l)!==60)return!1;for(a=n.src.slice(l,u),s=0;s=4||(s=n.src.charCodeAt(l),s!==35||l>=u))return!1;for(i=1,s=n.src.charCodeAt(++l);s===35&&l6||ll&&ut(n.src.charCodeAt(c-1))&&(u=c),n.line=t+1,a=n.push("heading_open","h"+String(i),1),a.markup="########".slice(0,i),a.map=[t,n.line],a=n.push("inline","",0),a.content=n.src.slice(l,u).trim(),a.map=[t,n.line],a.children=[],a=n.push("heading_close","h"+String(i),-1),a.markup="########".slice(0,i)),!0)},GM=function(n,t,o){var e,s,i,c,a,l,u,p,f,h=t+1,_,b=n.md.block.ruler.getRules("paragraph");if(n.sCount[t]-n.blkIndent>=4)return!1;for(_=n.parentType,n.parentType="paragraph";h3)){if(n.sCount[h]>=n.blkIndent&&(l=n.bMarks[h]+n.tShift[h],u=n.eMarks[h],l=u)))){p=f===61?1:2;break}if(!(n.sCount[h]<0)){for(s=!1,i=0,c=b.length;i3)&&!(n.sCount[u]<0)){for(s=!1,i=0,c=p.length;i0&&this.level++,this.tokens.push(o),o};N.prototype.isEmpty=function(n){return this.bMarks[n]+this.tShift[n]>=this.eMarks[n]};N.prototype.skipEmptyLines=function(n){for(var t=this.lineMax;nt;)if(!pn(this.src.charCodeAt(--n)))return n+1;return n};N.prototype.skipChars=function(n,t){for(var o=this.src.length;no;)if(t!==this.src.charCodeAt(--n))return n+1;return n};N.prototype.getLines=function(n,t,o,e){var s,i,c,a,l,u,p,f=n;if(n>=t)return"";for(u=new Array(t-n),s=0;fo?u[s]=new Array(i-o+1).join(" ")+this.src.slice(a,l):u[s]=this.src.slice(a,l)}return u.join("")};N.prototype.Token=zt;var HM=N,ZM=Rn,on=[["table",gM,["paragraph","reference"]],["code",bM],["fence",_M,["paragraph","reference","blockquote","list"]],["blockquote",xM,["paragraph","reference","blockquote","list"]],["hr",yM,["paragraph","reference","blockquote","list"]],["list",wM,["paragraph","reference","blockquote"]],["reference",qM],["html_block",VM,["paragraph","reference","blockquote"]],["heading",$M,["paragraph","reference","blockquote"]],["lheading",GM],["paragraph",jM]];function fn(){this.ruler=new ZM;for(var r=0;r=t||r.sCount[a]=u){r.line=t;break}for(s=r.line,e=0;e=r.line)throw new Error("block rule didn't increment state.line");break}if(!o)throw new Error("none of the block rules matched");r.tight=!l,r.isEmpty(r.line-1)&&(l=!0),a=r.line,a0||(o=n.pos,e=n.posMax,o+3>e)||n.src.charCodeAt(o)!==58||n.src.charCodeAt(o+1)!==47||n.src.charCodeAt(o+2)!==47||(s=n.pending.match(QM),!s)||(i=s[1],c=n.md.linkify.matchAtStart(n.src.slice(o-i.length)),!c)||(a=c.url,a.length<=i.length)||(a=a.replace(/\*+$/,""),l=n.md.normalizeLink(a),!n.md.validateLink(l))?!1:(t||(n.pending=n.pending.slice(0,-i.length),u=n.push("link_open","a",1),u.attrs=[["href",l]],u.markup="linkify",u.info="auto",u=n.push("text","",0),u.content=n.md.normalizeLinkText(a),u=n.push("link_close","a",-1),u.markup="linkify",u.info="auto"),n.pos+=a.length-i.length,!0)},XM=q.isSpace,nP=function(n,t){var o,e,s,i=n.pos;if(n.src.charCodeAt(i)!==10)return!1;if(o=n.pending.length-1,e=n.posMax,!t)if(o>=0&&n.pending.charCodeAt(o)===32)if(o>=1&&n.pending.charCodeAt(o-1)===32){for(s=o-1;s>=1&&n.pending.charCodeAt(s-1)===32;)s--;n.pending=n.pending.slice(0,s),n.push("hardbreak","br",0)}else n.pending=n.pending.slice(0,-1),n.push("softbreak","br",0);else n.push("softbreak","br",0);for(i++;i?@[]^_`{|}~-".split("").forEach(function(r){Bn[r.charCodeAt(0)]=1});var rP=function(n,t){var o,e,s,i,c,a=n.pos,l=n.posMax;if(n.src.charCodeAt(a)!==92||(a++,a>=l))return!1;if(o=n.src.charCodeAt(a),o===10){for(t||n.push("hardbreak","br",0),a++;a=55296&&o<=56319&&a+1=56320&&e<=57343&&(i+=n.src[a+1],a++)),s="\\"+i,t||(c=n.push("text_special","",0),o<256&&Bn[o]!==0?c.content=i:c.content=s,c.markup=s,c.info="escape"),n.pos=a+1,!0},oP=function(n,t){var o,e,s,i,c,a,l,u,p=n.pos,f=n.src.charCodeAt(p);if(f!==96)return!1;for(o=p,p++,e=n.posMax;p=0;t--)o=n[t],!(o.marker!==95&&o.marker!==42)&&o.end!==-1&&(e=n[o.end],c=t>0&&n[t-1].end===o.end+1&&n[t-1].marker===o.marker&&n[t-1].token===o.token-1&&n[o.end+1].token===e.token+1,i=String.fromCharCode(o.marker),s=r.tokens[o.token],s.type=c?"strong_open":"em_open",s.tag=c?"strong":"em",s.nesting=1,s.markup=c?i+i:i,s.content="",s=r.tokens[e.token],s.type=c?"strong_close":"em_close",s.tag=c?"strong":"em",s.nesting=-1,s.markup=c?i+i:i,s.content="",c&&(r.tokens[n[t-1].token].content="",r.tokens[n[o.end+1].token].content="",t--))}dn.postProcess=function(n){var t,o=n.tokens_meta,e=n.tokens_meta.length;for(ht(n,n.delimiters),t=0;t=b)return!1;if(v=a,l=n.md.helpers.parseLinkDestination(n.src,a,n.posMax),l.ok){for(f=n.md.normalizeLink(l.str),n.md.validateLink(f)?a=l.pos:f="",v=a;a=b||n.src.charCodeAt(a)!==41)&&(k=!0),a++}if(k){if(typeof n.env.references>"u")return!1;if(a=0?s=n.src.slice(v,a++):a=i+1):a=i+1,s||(s=n.src.slice(c,i)),u=n.env.references[eP(s)],!u)return n.pos=_,!1;f=u.href,h=u.title}return t||(n.pos=c,n.posMax=i,p=n.push("link_open","a",1),p.attrs=o=[["href",f]],h&&o.push(["title",h]),n.linkLevel++,n.md.inline.tokenize(n),n.linkLevel--,p=n.push("link_close","a",-1)),n.pos=a,n.posMax=b,!0},cP=q.normalizeReference,wn=q.isSpace,iP=function(n,t){var o,e,s,i,c,a,l,u,p,f,h,_,b,v="",k=n.pos,m=n.posMax;if(n.src.charCodeAt(n.pos)!==33||n.src.charCodeAt(n.pos+1)!==91||(a=n.pos+2,c=n.md.helpers.parseLinkLabel(n,n.pos+1,!1),c<0))return!1;if(l=c+1,l=m)return!1;for(b=l,p=n.md.helpers.parseLinkDestination(n.src,l,n.posMax),p.ok&&(v=n.md.normalizeLink(p.str),n.md.validateLink(v)?l=p.pos:v=""),b=l;l=m||n.src.charCodeAt(l)!==41)return n.pos=k,!1;l++}else{if(typeof n.env.references>"u")return!1;if(l=0?i=n.src.slice(b,l++):l=c+1):l=c+1,i||(i=n.src.slice(a,c)),u=n.env.references[cP(i)],!u)return n.pos=k,!1;v=u.href,f=u.title}return t||(s=n.src.slice(a,c),n.md.inline.parse(s,n.md,n.env,_=[]),h=n.push("image","img",0),h.attrs=o=[["src",v],["alt",""]],h.children=_,h.content=s,f&&o.push(["title",f])),n.pos=l,n.posMax=m,!0},aP=/^([a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/,lP=/^([a-zA-Z][a-zA-Z0-9+.\-]{1,31}):([^<>\x00-\x20]*)$/,uP=function(n,t){var o,e,s,i,c,a,l=n.pos;if(n.src.charCodeAt(l)!==60)return!1;for(c=n.pos,a=n.posMax;;){if(++l>=a||(i=n.src.charCodeAt(l),i===60))return!1;if(i===62)break}return o=n.src.slice(c+1,l),lP.test(o)?(e=n.md.normalizeLink(o),n.md.validateLink(e)?(t||(s=n.push("link_open","a",1),s.attrs=[["href",e]],s.markup="autolink",s.info="auto",s=n.push("text","",0),s.content=n.md.normalizeLinkText(o),s=n.push("link_close","a",-1),s.markup="autolink",s.info="auto"),n.pos+=o.length+2,!0):!1):aP.test(o)?(e=n.md.normalizeLink("mailto:"+o),n.md.validateLink(e)?(t||(s=n.push("link_open","a",1),s.attrs=[["href",e]],s.markup="autolink",s.info="auto",s=n.push("text","",0),s.content=n.md.normalizeLinkText(o),s=n.push("link_close","a",-1),s.markup="autolink",s.info="auto"),n.pos+=o.length+2,!0):!1):!1},pP=un.HTML_TAG_RE;function fP(r){return/^\s]/i.test(r)}function hP(r){return/^<\/a\s*>/i.test(r)}function dP(r){var n=r|32;return n>=97&&n<=122}var mP=function(n,t){var o,e,s,i,c=n.pos;return!n.md.options.html||(s=n.posMax,n.src.charCodeAt(c)!==60||c+2>=s)||(o=n.src.charCodeAt(c+1),o!==33&&o!==63&&o!==47&&!dP(o))||(e=n.src.slice(c).match(pP),!e)?!1:(t||(i=n.push("html_inline","",0),i.content=e[0],fP(i.content)&&n.linkLevel++,hP(i.content)&&n.linkLevel--),n.pos+=e[0].length,!0)},dt=At,gP=q.has,bP=q.isValidEntityCode,mt=q.fromCodePoint,_P=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,kP=/^&([a-z][a-z0-9]{1,31});/i,xP=function(n,t){var o,e,s,i,c=n.pos,a=n.posMax;if(n.src.charCodeAt(c)!==38||c+1>=a)return!1;if(o=n.src.charCodeAt(c+1),o===35){if(s=n.src.slice(c).match(_P),s)return t||(e=s[1][0].toLowerCase()==="x"?parseInt(s[1].slice(1),16):parseInt(s[1],10),i=n.push("text_special","",0),i.content=bP(e)?mt(e):mt(65533),i.markup=s[0],i.info="entity"),n.pos+=s[0].length,!0}else if(s=n.src.slice(c).match(kP),s&&gP(dt,s[1]))return t||(i=n.push("text_special","",0),i.content=dt[s[1]],i.markup=s[0],i.info="entity"),n.pos+=s[0].length,!0;return!1};function gt(r){var n,t,o,e,s,i,c,a,l={},u=r.length;if(u){var p=0,f=-2,h=[];for(n=0;ns;t-=h[t]+1)if(e=r[t],e.marker===o.marker&&e.open&&e.end<0&&(c=!1,(e.close||o.open)&&(e.length+o.length)%3===0&&(e.length%3!==0||o.length%3!==0)&&(c=!0),!c)){a=t>0&&!r[t-1].open?h[t-1]+1:0,h[n]=n-t+a,h[t]=a,o.open=!1,e.end=n,e.close=!1,i=-1,f=-2;break}i!==-1&&(l[o.marker][(o.open?3:0)+(o.length||0)%3]=i)}}}var vP=function(n){var t,o=n.tokens_meta,e=n.tokens_meta.length;for(gt(n.delimiters),t=0;t0&&e++,s[t].type==="text"&&t+10&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],e={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(o),this.tokens_meta.push(e),o};X.prototype.scanDelims=function(r,n){var t=r,o,e,s,i,c,a,l,u,p,f=!0,h=!0,_=this.posMax,b=this.src.charCodeAt(r);for(o=r>0?this.src.charCodeAt(r-1):32;t<_&&this.src.charCodeAt(t)===b;)t++;return s=t-r,e=t<_?this.src.charCodeAt(t):32,l=kt(o)||_t(String.fromCharCode(o)),p=kt(e)||_t(String.fromCharCode(e)),a=bt(o),u=bt(e),u?f=!1:p&&(a||l||(f=!1)),a?h=!1:l&&(u||p||(h=!1)),n?(i=f,c=h):(i=f&&(!h||l),c=h&&(!f||p)),{can_open:i,can_close:c,length:s}};X.prototype.Token=Nn;var CP=X,xt=Rn,An=[["text",YM],["linkify",KM],["newline",nP],["escape",rP],["backticks",oP],["strikethrough",hn.tokenize],["emphasis",dn.tokenize],["link",sP],["image",iP],["autolink",uP],["html_inline",mP],["entity",xP]],qn=[["balance_pairs",vP],["strikethrough",hn.postProcess],["emphasis",dn.postProcess],["fragments_join",yP]];function nn(){var r;for(this.ruler=new xt,r=0;r=r.pos)throw new Error("inline rule didn't increment state.pos");break}}else r.pos=r.posMax;n||r.pos++,c[o]=r.pos};nn.prototype.tokenize=function(r){for(var n,t,o,e=this.ruler.getRules(""),s=e.length,i=r.posMax,c=r.md.options.maxNesting;r.pos=r.pos)throw new Error("inline rule didn't increment state.pos");break}}if(n){if(r.pos>=i)break;continue}r.pending+=r.src[r.pos++]}r.pending&&r.pushPending()};nn.prototype.parse=function(r,n,t,o){var e,s,i,c=new this.State(r,n,t,o);for(this.tokenize(c),s=this.ruler2.getRules(""),i=s.length,e=0;e|$))",n.tpl_email_fuzzy="(^|"+t+'|"|\\(|'+n.src_ZCc+")("+n.src_email_name+"@"+n.tpl_host_fuzzy_strict+")",n.tpl_link_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+n.src_ZPCc+"))((?![$+<=>^`||])"+n.tpl_host_port_fuzzy_strict+n.src_path+")",n.tpl_link_no_ip_fuzzy="(^|(?![.:/\\-_@])(?:[$+<=>^`||]|"+n.src_ZPCc+"))((?![$+<=>^`||])"+n.tpl_host_port_no_ip_fuzzy_strict+n.src_path+")",n}),Dn}function Fn(r){var n=Array.prototype.slice.call(arguments,1);return n.forEach(function(t){t&&Object.keys(t).forEach(function(o){r[o]=t[o]})}),r}function mn(r){return Object.prototype.toString.call(r)}function qP(r){return mn(r)==="[object String]"}function DP(r){return mn(r)==="[object Object]"}function EP(r){return mn(r)==="[object RegExp]"}function yt(r){return mn(r)==="[object Function]"}function SP(r){return r.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}var It={fuzzyLink:!0,fuzzyEmail:!0,fuzzyIP:!1};function FP(r){return Object.keys(r||{}).reduce(function(n,t){return n||It.hasOwnProperty(t)},!1)}var LP={"http:":{validate:function(r,n,t){var o=r.slice(n);return t.re.http||(t.re.http=new RegExp("^\\/\\/"+t.re.src_auth+t.re.src_host_port_strict+t.re.src_path,"i")),t.re.http.test(o)?o.match(t.re.http)[0].length:0}},"https:":"http:","ftp:":"http:","//":{validate:function(r,n,t){var o=r.slice(n);return t.re.no_http||(t.re.no_http=new RegExp("^"+t.re.src_auth+"(?:localhost|(?:(?:"+t.re.src_domain+")\\.)+"+t.re.src_domain_root+")"+t.re.src_port+t.re.src_host_terminator+t.re.src_path,"i")),t.re.no_http.test(o)?n>=3&&r[n-3]===":"||n>=3&&r[n-3]==="/"?0:o.match(t.re.no_http)[0].length:0}},"mailto:":{validate:function(r,n,t){var o=r.slice(n);return t.re.mailto||(t.re.mailto=new RegExp("^"+t.re.src_email_name+"@"+t.re.src_host_strict,"i")),t.re.mailto.test(o)?o.match(t.re.mailto)[0].length:0}}},TP="a[cdefgilmnoqrstuwxz]|b[abdefghijmnorstvwyz]|c[acdfghiklmnoruvwxyz]|d[ejkmoz]|e[cegrstu]|f[ijkmor]|g[abdefghilmnpqrstuwy]|h[kmnrtu]|i[delmnoqrst]|j[emop]|k[eghimnprwyz]|l[abcikrstuvy]|m[acdeghklmnopqrstuvwxyz]|n[acefgilopruz]|om|p[aefghklmnrstwy]|qa|r[eosuw]|s[abcdeghijklmnortuvxyz]|t[cdfghjklmnortvwz]|u[agksyz]|v[aceginu]|w[fs]|y[et]|z[amw]",RP="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф".split("|");function zP(r){r.__index__=-1,r.__text_cache__=""}function IP(r){return function(n,t){var o=n.slice(t);return r.test(o)?o.match(r)[0].length:0}}function Ct(){return function(r,n){n.normalize(r)}}function sn(r){var n=r.re=AP()(r.__opts__),t=r.__tlds__.slice();r.onCompile(),r.__tlds_replaced__||t.push(TP),t.push(n.src_xn),n.src_tlds=t.join("|");function o(c){return c.replace("%TLDS%",n.src_tlds)}n.email_fuzzy=RegExp(o(n.tpl_email_fuzzy),"i"),n.link_fuzzy=RegExp(o(n.tpl_link_fuzzy),"i"),n.link_no_ip_fuzzy=RegExp(o(n.tpl_link_no_ip_fuzzy),"i"),n.host_fuzzy_test=RegExp(o(n.tpl_host_fuzzy_test),"i");var e=[];r.__compiled__={};function s(c,a){throw new Error('(LinkifyIt) Invalid schema "'+c+'": '+a)}Object.keys(r.__schemas__).forEach(function(c){var a=r.__schemas__[c];if(a!==null){var l={validate:null,link:null};if(r.__compiled__[c]=l,DP(a)){EP(a.validate)?l.validate=IP(a.validate):yt(a.validate)?l.validate=a.validate:s(c,a),yt(a.normalize)?l.normalize=a.normalize:a.normalize?s(c,a):l.normalize=Ct();return}if(qP(a)){e.push(c);return}s(c,a)}}),e.forEach(function(c){r.__compiled__[r.__schemas__[c]]&&(r.__compiled__[c].validate=r.__compiled__[r.__schemas__[c]].validate,r.__compiled__[c].normalize=r.__compiled__[r.__schemas__[c]].normalize)}),r.__compiled__[""]={validate:null,normalize:Ct()};var i=Object.keys(r.__compiled__).filter(function(c){return c.length>0&&r.__compiled__[c]}).map(SP).join("|");r.re.schema_test=RegExp("(^|(?!_)(?:[><|]|"+n.src_ZPCc+"))("+i+")","i"),r.re.schema_search=RegExp("(^|(?!_)(?:[><|]|"+n.src_ZPCc+"))("+i+")","ig"),r.re.schema_at_start=RegExp("^"+r.re.schema_search.source,"i"),r.re.pretest=RegExp("("+r.re.schema_test.source+")|("+r.re.host_fuzzy_test.source+")|@","i"),zP(r)}function BP(r,n){var t=r.__index__,o=r.__last_index__,e=r.__text_cache__.slice(t,o);this.schema=r.__schema__.toLowerCase(),this.index=t+n,this.lastIndex=o+n,this.raw=e,this.text=e,this.url=e}function Ln(r,n){var t=new BP(r,n);return r.__compiled__[t.schema].normalize(t,r),t}function F(r,n){if(!(this instanceof F))return new F(r,n);n||FP(r)&&(n=r,r={}),this.__opts__=Fn({},It,n),this.__index__=-1,this.__last_index__=-1,this.__schema__="",this.__text_cache__="",this.__schemas__=Fn({},LP,r),this.__compiled__={},this.__tlds__=RP,this.__tlds_replaced__=!1,this.re={},sn(this)}F.prototype.add=function(n,t){return this.__schemas__[n]=t,sn(this),this};F.prototype.set=function(n){return this.__opts__=Fn(this.__opts__,n),this};F.prototype.test=function(n){if(this.__text_cache__=n,this.__index__=-1,!n.length)return!1;var t,o,e,s,i,c,a,l,u;if(this.re.schema_test.test(n)){for(a=this.re.schema_search,a.lastIndex=0;(t=a.exec(n))!==null;)if(s=this.testSchemaAt(n,t[2],a.lastIndex),s){this.__schema__=t[2],this.__index__=t.index+t[1].length,this.__last_index__=t.index+t[0].length+s;break}}return this.__opts__.fuzzyLink&&this.__compiled__["http:"]&&(l=n.search(this.re.host_fuzzy_test),l>=0&&(this.__index__<0||l=0&&(e=n.match(this.re.email_fuzzy))!==null&&(i=e.index+e[1].length,c=e.index+e[0].length,(this.__index__<0||ithis.__last_index__)&&(this.__schema__="mailto:",this.__index__=i,this.__last_index__=c))),this.__index__>=0};F.prototype.pretest=function(n){return this.re.pretest.test(n)};F.prototype.testSchemaAt=function(n,t,o){return this.__compiled__[t.toLowerCase()]?this.__compiled__[t.toLowerCase()].validate(n,o,this):0};F.prototype.match=function(n){var t=0,o=[];this.__index__>=0&&this.__text_cache__===n&&(o.push(Ln(this,t)),t=this.__last_index__);for(var e=t?n.slice(t):n;this.test(e);)o.push(Ln(this,t)),e=e.slice(this.__last_index__),t+=this.__last_index__;return o.length?o:null};F.prototype.matchAtStart=function(n){if(this.__text_cache__=n,this.__index__=-1,!n.length)return null;var t=this.re.schema_at_start.exec(n);if(!t)return null;var o=this.testSchemaAt(n,t[2],t[0].length);return o?(this.__schema__=t[2],this.__index__=t.index+t[1].length,this.__last_index__=t.index+t[0].length+o,Ln(this,0)):null};F.prototype.tlds=function(n,t){return n=Array.isArray(n)?n:[n],t?(this.__tlds__=this.__tlds__.concat(n).sort().filter(function(o,e,s){return o!==s[e-1]}).reverse(),sn(this),this):(this.__tlds__=n.slice(),this.__tlds_replaced__=!0,sn(this),this)};F.prototype.normalize=function(n){n.schema||(n.url="http://"+n.url),n.schema==="mailto:"&&!/^mailto:/i.test(n.url)&&(n.url="mailto:"+n.url)};F.prototype.onCompile=function(){};var NP=F;const H=2147483647,z=36,Mn=1,K=26,MP=38,PP=700,Bt=72,Nt=128,Mt="-",OP=/^xn--/,UP=/[^\0-\x7F]/,VP=/[\x2E\u3002\uFF0E\uFF61]/g,$P={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},En=z-Mn,I=Math.floor,Sn=String.fromCharCode;function O(r){throw new RangeError($P[r])}function GP(r,n){const t=[];let o=r.length;for(;o--;)t[o]=n(r[o]);return t}function Pt(r,n){const t=r.split("@");let o="";t.length>1&&(o=t[0]+"@",r=t[1]),r=r.replace(VP,".");const e=r.split("."),s=GP(e,n).join(".");return o+s}function Pn(r){const n=[];let t=0;const o=r.length;for(;t=55296&&e<=56319&&tString.fromCodePoint(...r),jP=function(r){return r>=48&&r<58?26+(r-48):r>=65&&r<91?r-65:r>=97&&r<123?r-97:z},wt=function(r,n){return r+22+75*(r<26)-((n!=0)<<5)},Ut=function(r,n,t){let o=0;for(r=t?I(r/PP):r>>1,r+=I(r/n);r>En*K>>1;o+=z)r=I(r/En);return I(o+(En+1)*r/(r+MP))},On=function(r){const n=[],t=r.length;let o=0,e=Nt,s=Bt,i=r.lastIndexOf(Mt);i<0&&(i=0);for(let c=0;c=128&&O("not-basic"),n.push(r.charCodeAt(c));for(let c=i>0?i+1:0;c=t&&O("invalid-input");const f=jP(r.charCodeAt(c++));f>=z&&O("invalid-input"),f>I((H-o)/u)&&O("overflow"),o+=f*u;const h=p<=s?Mn:p>=s+K?K:p-s;if(fI(H/_)&&O("overflow"),u*=_}const l=n.length+1;s=Ut(o-a,l,a==0),I(o/l)>H-e&&O("overflow"),e+=I(o/l),o%=l,n.splice(o++,0,e)}return String.fromCodePoint(...n)},Un=function(r){const n=[];r=Pn(r);const t=r.length;let o=Nt,e=0,s=Bt;for(const a of r)a<128&&n.push(Sn(a));const i=n.length;let c=i;for(i&&n.push(Mt);c=o&&uI((H-e)/l)&&O("overflow"),e+=(a-o)*l,o=a;for(const u of r)if(uH&&O("overflow"),u===o){let p=e;for(let f=z;;f+=z){const h=f<=s?Mn:f>=s+K?K:f-s;if(p=0))try{n.hostname=Gt.toASCII(n.hostname)}catch{}return V.encode(V.format(n))}function lO(r){var n=V.parse(r,!0);if(n.hostname&&(!n.protocol||jt.indexOf(n.protocol)>=0))try{n.hostname=Gt.toUnicode(n.hostname)}catch{}return V.decode(V.format(n),V.decode.defaultChars+"%")}function L(r,n){if(!(this instanceof L))return new L(r,n);n||Q.isString(r)||(n=r||{},r="default"),this.inline=new rO,this.block=new tO,this.core=new nO,this.renderer=new XP,this.linkify=new oO,this.validateLink=iO,this.normalizeLink=aO,this.normalizeLinkText=lO,this.utils=Q,this.helpers=Q.assign({},KP),this.options={},this.configure(r),n&&this.set(n)}L.prototype.set=function(r){return Q.assign(this.options,r),this};L.prototype.configure=function(r){var n=this,t;if(Q.isString(r)&&(t=r,r=eO[t],!r))throw new Error('Wrong `markdown-it` preset "'+t+'", check name');if(!r)throw new Error("Wrong `markdown-it` preset, can't be empty");return r.options&&n.set(r.options),r.components&&Object.keys(r.components).forEach(function(o){r.components[o].rules&&n[o].ruler.enableOnly(r.components[o].rules),r.components[o].rules2&&n[o].ruler2.enableOnly(r.components[o].rules2)}),this};L.prototype.enable=function(r,n){var t=[];Array.isArray(r)||(r=[r]),["core","block","inline"].forEach(function(e){t=t.concat(this[e].ruler.enable(r,!0))},this),t=t.concat(this.inline.ruler2.enable(r,!0));var o=r.filter(function(e){return t.indexOf(e)<0});if(o.length&&!n)throw new Error("MarkdownIt. Failed to enable unknown rule(s): "+o);return this};L.prototype.disable=function(r,n){var t=[];Array.isArray(r)||(r=[r]),["core","block","inline"].forEach(function(e){t=t.concat(this[e].ruler.disable(r,!0))},this),t=t.concat(this.inline.ruler2.disable(r,!0));var o=r.filter(function(e){return t.indexOf(e)<0});if(o.length&&!n)throw new Error("MarkdownIt. Failed to disable unknown rule(s): "+o);return this};L.prototype.use=function(r){var n=[this].concat(Array.prototype.slice.call(arguments,1));return r.apply(r,n),this};L.prototype.parse=function(r,n){if(typeof r!="string")throw new Error("Input data should be a String");var t=new this.core.State(r,this,n);return this.core.process(t),t.tokens};L.prototype.render=function(r,n){return n=n||{},this.renderer.render(this.parse(r,n),this.options,n)};L.prototype.parseInline=function(r,n){var t=new this.core.State(r,this,n);return t.inlineMode=!0,this.core.process(t),t.tokens};L.prototype.renderInline=function(r,n){return n=n||{},this.renderer.render(this.parseInline(r,n),this.options,n)};var uO=L,pO=uO;const fO=Zt(pO),hO=["innerHTML"],mO=Jt({__name:"Markdown",props:{title:{type:String,required:!0},content:{type:String,required:!0}},emits:["close","update"],setup(r,{expose:n,emit:t}){const o=Wt(null),e=new fO;return n({show:()=>{o.value.show()}}),(i,c)=>(Yt(),Qt(tr,{ref_key:"modal",ref:o,name:r.title,onClose:c[0]||(c[0]=a=>i.$emit("close"))},{default:Kt(()=>[Xt("div",{class:"overflow-hidden",innerHTML:nr(e).render(r.content)},null,8,hO)]),_:1},8,["name"]))}});export{fO as M,mO as _}; diff --git a/src/ui/dist/assets/Markdown.vue_vue_type_style_index_0_lang-fjKVBP59.js.gz b/src/ui/dist/assets/Markdown.vue_vue_type_style_index_0_lang-fjKVBP59.js.gz new file mode 100644 index 000000000..f82f299d9 Binary files /dev/null and b/src/ui/dist/assets/Markdown.vue_vue_type_style_index_0_lang-fjKVBP59.js.gz differ diff --git a/src/ui/dist/assets/News-eb982e2f.css b/src/ui/dist/assets/News-BoNOrken.css similarity index 66% rename from src/ui/dist/assets/News-eb982e2f.css rename to src/ui/dist/assets/News-BoNOrken.css index 022ae1329..f232426d5 100644 --- a/src/ui/dist/assets/News-eb982e2f.css +++ b/src/ui/dist/assets/News-BoNOrken.css @@ -1 +1 @@ -p.note[data-v-95eced2f]{font-size:.8em}.wrapper[data-v-95eced2f]{display:flex;flex-direction:column;justify-content:flex-end;height:100%}img[data-v-95eced2f]{border-radius:12px;margin-bottom:20px}h4[data-v-95eced2f]{margin:0;font-size:1em}p[data-v-95eced2f]{margin:0;color:var(--fg-base-dk);font-size:.9em;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.small[data-v-95eced2f]{font-size:.6em;margin:auto auto 0 0}p.newsSummary a,p.newsSummary a:hover{color:var(--fg-base-dk)}font{display:none}.padding-20[data-v-a520cb40]{padding:20px}.fillPage[data-v-a520cb40]{display:flex;flex-direction:column;justify-content:center;align-items:center;height:calc(100vh - var(--h-header) - var(--h-player) - 200px)} +p.note[data-v-ad954c34]{font-size:.8em}.wrapper[data-v-ad954c34]{display:flex;flex-direction:column;justify-content:flex-end;height:100%}img[data-v-ad954c34]{border-radius:12px;margin-bottom:20px}h4[data-v-ad954c34]{margin:0;font-size:1em}p[data-v-ad954c34]{margin:0;color:var(--fg-base-dk);font-size:.9em;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.small[data-v-ad954c34]{font-size:.6em;margin:auto auto 0 0}p.newsSummary a,p.newsSummary a:hover{color:var(--fg-base-dk)}font{display:none}.padding-20[data-v-a520cb40]{padding:20px}.fillPage[data-v-a520cb40]{display:flex;flex-direction:column;justify-content:center;align-items:center;height:calc(100vh - var(--h-header) - var(--h-player) - 200px)} diff --git a/src/ui/dist/assets/News-DSmShJDZ.js b/src/ui/dist/assets/News-DSmShJDZ.js new file mode 100644 index 000000000..617154d91 --- /dev/null +++ b/src/ui/dist/assets/News-DSmShJDZ.js @@ -0,0 +1 @@ +import{F as T}from"./FullShelf-DRbcKza6.js";import{_ as f,C as $,f as c,o as n,i as _,w,c as o,d as S,a as r,t as h,L as k,g as N,F as p,h as g,l as v,m as M}from"./index-DnhwPdfm.js";const I={name:"NewsItemBig",components:{Card:$},methods:{redirect(){this.$router.push(this.href)}},computed:{updatedTimestamp(){const e=new Date(this.updated),s=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],t=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];return`${s[e.getUTCDay()]} ${e.getUTCDate()} ${t[e.getUTCMonth()]} ${e.getUTCFullYear()} ${e.getUTCHours()}.${e.getUTCMinutes()} GMT`}},props:{image:String,title:String,summary:String,href:String,updated:String,source:String}},F=["src"],L=["innerHTML"],x={class:"small"};function B(e,s,t,i,u,d){const l=c("Card");return n(),_(l,{class:"p-4 col-span-2 cursor-pointer","with-hover":"",onClick:d.redirect},{default:w(()=>[t.image?(n(),o("img",{key:0,src:t.image},null,8,F)):S("",!0),r("h4",null,h(t.title),1),r("p",{class:"newsSummary",innerHTML:t.summary},null,8,L),r("p",x,h(`${d.updatedTimestamp}, ${t.source}`),1)]),_:1},8,["onClick"])}const D=f(I,[["render",B],["__scopeId","data-v-ad954c34"]]),U={components:{Loader:k,FullShelf:T,NewsItemBig:D},name:"News",data(){return{news:[]}},mounted(){fetch("/api/news/articles").then(e=>e.json()).then(e=>{this.news.length=0;for(const s of e){const t=this.news.findIndex(i=>i.source==s.source);t>=0?this.news[t].items.push(s):this.news.push({source:s.source,items:[s]})}})}},b=e=>(v("data-v-a520cb40"),e=e(),M(),e),H={class:"padding-20"},A={class:"news"},J=b(()=>r("h1",null,"News",-1)),V={key:0,class:"fillPage"};function O(e,s,t,i,u,d){const l=c("Loader"),C=c("news-item-big"),y=c("full-shelf");return n(),o("div",H,[r("div",A,[J,u.news.length?S("",!0):(n(),o("div",V,[N(l)])),(n(!0),o(p,null,g(u.news,m=>(n(),_(y,{key:m.source,heading:m.source,class:"mt-10"},{default:w(()=>[(n(!0),o(p,null,g(m.items,a=>(n(),_(C,{key:a.url,href:a.link,image:a.image,source:a.source,summary:a.summary,title:a.title,updated:a.updated},null,8,["href","image","source","summary","title","updated"]))),128))]),_:2},1032,["heading"]))),128))])])}const E=f(U,[["render",O],["__scopeId","data-v-a520cb40"]]);export{E as default}; diff --git a/src/ui/dist/assets/News-DSmShJDZ.js.gz b/src/ui/dist/assets/News-DSmShJDZ.js.gz new file mode 100644 index 000000000..1e23c41cd Binary files /dev/null and b/src/ui/dist/assets/News-DSmShJDZ.js.gz differ diff --git a/src/ui/dist/assets/News-a755b729.js b/src/ui/dist/assets/News-a755b729.js deleted file mode 100644 index 29a213b11..000000000 --- a/src/ui/dist/assets/News-a755b729.js +++ /dev/null @@ -1 +0,0 @@ -import{F as C}from"./FullShelf-b2b7ffe5.js";import{_ as f,C as T,f as r,o as n,i as m,w,c as o,d as y,a as c,t as p,L as N,g as $,F as h,h as g,l as k,m as I}from"./index-4a15a213.js";const x={name:"NewsItemBig",components:{Card:T},methods:{redirect(){this.$router.push(this.href)}},computed:{updatedTimestamp(){const e=new Date(this.updated),s=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],t=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];return`${s[e.getUTCDay()]} ${e.getUTCDate()} ${t[e.getUTCMonth()]} ${e.getUTCFullYear()} ${e.getUTCHours()}.${e.getUTCMinutes()} GMT`}},props:{image:String,title:String,summary:String,href:String,updated:String,source:String}},M=["src"],B=["innerHTML"],F={class:"small"};function L(e,s,t,i,u,_){const d=r("Card");return n(),m(d,{class:"p-4 col-span-2 cursor-pointer","with-hover":"",onClick:_.redirect},{default:w(()=>[t.image?(n(),o("img",{key:0,src:t.image},null,8,M)):y("",!0),c("h4",null,p(t.title),1),c("p",{class:"newsSummary",innerHTML:t.summary},null,8,B),c("p",F,p(`${_.updatedTimestamp}, ${t.source}`),1)]),_:1},8,["onClick"])}const b=f(x,[["render",L],["__scopeId","data-v-95eced2f"]]);const D={components:{Loader:N,FullShelf:C,NewsItemBig:b},name:"News",data(){return{news:[]}},mounted(){fetch("/api/news/articles").then(e=>e.json()).then(e=>{this.news.length=0;for(const s of e){const t=this.news.findIndex(i=>i.source==s.source);t>=0?this.news[t].items.push(s):this.news.push({source:s.source,items:[s]})}})}},U=e=>(k("data-v-a520cb40"),e=e(),I(),e),H={class:"padding-20"},A={class:"news"},J=U(()=>c("h1",null,"News",-1)),V={key:0,class:"fillPage"};function O(e,s,t,i,u,_){const d=r("Loader"),S=r("news-item-big"),v=r("full-shelf");return n(),o("div",H,[c("div",A,[J,u.news.length?y("",!0):(n(),o("div",V,[$(d)])),(n(!0),o(h,null,g(u.news,l=>(n(),m(v,{key:l.source,heading:l.source,class:"mt-10"},{default:w(()=>[(n(!0),o(h,null,g(l.items,a=>(n(),m(S,{key:a.url,href:a.link,image:a.image,source:a.source,summary:a.summary,title:a.title,updated:a.updated},null,8,["href","image","source","summary","title","updated"]))),128))]),_:2},1032,["heading"]))),128))])])}const E=f(D,[["render",O],["__scopeId","data-v-a520cb40"]]);export{E as default}; diff --git a/src/ui/dist/assets/News-a755b729.js.gz b/src/ui/dist/assets/News-a755b729.js.gz deleted file mode 100644 index efd941532..000000000 Binary files a/src/ui/dist/assets/News-a755b729.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/NewsArticle-2facc133.css.gz b/src/ui/dist/assets/NewsArticle-2facc133.css.gz deleted file mode 100644 index 253ac479b..000000000 Binary files a/src/ui/dist/assets/NewsArticle-2facc133.css.gz and /dev/null differ diff --git a/src/ui/dist/assets/NewsArticle-6976bfba.js b/src/ui/dist/assets/NewsArticle-6976bfba.js deleted file mode 100644 index 611a71393..000000000 --- a/src/ui/dist/assets/NewsArticle-6976bfba.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as f,L as m,i as d,c,a as i,t as o,b as y,d as u,O as w,f as p,o as n}from"./index-4a15a213.js";import{E as k}from"./Error-e5e93467.js";const L={name:"NewsArticle",components:{Loader:m,Error:k},data(){return{error:"",article:{},fullWidth:!1}},methods:{updateData(){fetch(`/api/news/articles/${this.$route.params.url}`).then(async s=>{if(s.status==404){this.error="This wouldn't have happened if you had clicked on the links we provided!
ヽ(ಠ_ಠ)ノ",setTimeout(this.updateData,1e3);return}if(s.status==400){window.open(await s.text()),this.$router.push("/news");return}if(s.status==200){if(this.article=await s.json(),this.article.headline==="N/A"){window.open(this.article.href),this.$router.push("/news");return}let t=this.article.body.split(" ").filter(e=>e.includes('href="/'));t=t.map(e=>e.split('href="')[1].split('"')[0]);const h=this.article.href.split("/")[2],l=t.map(e=>"https://"+h+e);for(const e in t){let a=l[e];fetch("/api/news/articles",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:l[e]})}).then(async r=>{r.status==200?a=await r.text():console.error(await r.text()),this.article.body=this.article.body.replaceAll(t[e],a)})}return}this.error=s.statusText})}},mounted(){this.updateData()}},b={key:2,class:"padding-20 newsArticle"},v=["innerHTML"],g={class:"leading-tight headline"},x=["innerHTML"],T={key:0,class:"date"},N=["href"],A={key:1,class:"my-4"},H=["innerHTML"];function M(s,t,h,l,e,a){const r=p("Error"),_=p("Loader");return e.error?(n(),d(r,{key:0,msg:e.error},null,8,["msg"])):e.article.headline?(n(),c("div",b,[i("span",{class:"toggleWidth material-icons-round",onClick:t[0]||(t[0]=W=>e.fullWidth=!e.fullWidth)},o(e.fullWidth?"close_fullscreen":"open_in_full"),1),i("div",{class:w([{slim:!e.fullWidth},"wrapper"])},[i("h6",{class:"accentLink topic",innerHTML:e.article.topic},null,8,v),i("h1",g,o(e.article.headline),1),i("h4",{class:"standfirst",innerHTML:e.article.standfirst},null,8,x),e.article.date?(n(),c("h6",T,[y(o(e.article.date)+", ",1),i("a",{href:e.article.href},o(e.article.href),9,N)])):u("",!0),e.article.body?(n(),c("hr",A)):u("",!0),i("div",{class:"body leading-relaxed text-md",innerHTML:e.article.body},null,8,H)],2)])):(n(),d(_,{key:1}))}const B=f(L,[["render",M],["__scopeId","data-v-32bc12c0"]]);export{B as default}; diff --git a/src/ui/dist/assets/NewsArticle-6976bfba.js.gz b/src/ui/dist/assets/NewsArticle-6976bfba.js.gz deleted file mode 100644 index cd57bdb96..000000000 Binary files a/src/ui/dist/assets/NewsArticle-6976bfba.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/NewsArticle-BVMg12On.js b/src/ui/dist/assets/NewsArticle-BVMg12On.js new file mode 100644 index 000000000..642328192 --- /dev/null +++ b/src/ui/dist/assets/NewsArticle-BVMg12On.js @@ -0,0 +1 @@ +import{_,L as m,i as d,c,a as i,t as o,b as y,d as p,Q as w,f as u,o as n}from"./index-DnhwPdfm.js";import{E as k}from"./Error-hTSpQMK3.js";const L={name:"NewsArticle",components:{Loader:m,Error:k},data(){return{error:"",article:{},fullWidth:!1}},methods:{updateData(){fetch(`/api/news/articles/${this.$route.params.url}`).then(async s=>{if(s.status==404){this.error="This wouldn't have happened if you had clicked on the links we provided!
ヽ(ಠ_ಠ)ノ",setTimeout(this.updateData,1e3);return}if(s.status==400){window.open(await s.text()),this.$router.push("/news");return}if(s.status==200){if(this.article=await s.json(),this.article.headline==="N/A"){window.open(this.article.href),this.$router.push("/news");return}let t=this.article.body.split(" ").filter(e=>e.includes('href="/'));t=t.map(e=>e.split('href="')[1].split('"')[0]);const h=this.article.href.split("/")[2],l=t.map(e=>"https://"+h+e);for(const e in t){let a=l[e];fetch("/api/news/articles",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({url:l[e]})}).then(async r=>{r.status==200?a=await r.text():console.error(await r.text()),this.article.body=this.article.body.replaceAll(t[e],a)})}return}this.error=s.statusText})}},mounted(){this.updateData()}},b={key:2,class:"padding-20 newsArticle"},T=["innerHTML"],g={class:"leading-tight headline"},x=["innerHTML"],v={key:0,class:"date"},N=["href"],H={key:1,class:"my-4"},M=["innerHTML"];function W(s,t,h,l,e,a){const r=u("Error"),f=u("Loader");return e.error?(n(),d(r,{key:0,msg:e.error},null,8,["msg"])):e.article.headline?(n(),c("div",b,[i("span",{class:"toggleWidth material-icons-round",onClick:t[0]||(t[0]=A=>e.fullWidth=!e.fullWidth)},o(e.fullWidth?"close_fullscreen":"open_in_full"),1),i("div",{class:w([{slim:!e.fullWidth},"wrapper"])},[i("h6",{class:"accentLink topic",innerHTML:e.article.topic},null,8,T),i("h1",g,o(e.article.headline),1),i("h4",{class:"standfirst",innerHTML:e.article.standfirst},null,8,x),e.article.date?(n(),c("h6",v,[y(o(e.article.date)+", ",1),i("a",{href:e.article.href},o(e.article.href),9,N)])):p("",!0),e.article.body?(n(),c("hr",H)):p("",!0),i("div",{class:"body leading-relaxed text-md",innerHTML:e.article.body},null,8,M)],2)])):(n(),d(f,{key:1}))}const B=_(L,[["render",W],["__scopeId","data-v-32bc12c0"]]);export{B as default}; diff --git a/src/ui/dist/assets/NewsArticle-BVMg12On.js.gz b/src/ui/dist/assets/NewsArticle-BVMg12On.js.gz new file mode 100644 index 000000000..4093da959 Binary files /dev/null and b/src/ui/dist/assets/NewsArticle-BVMg12On.js.gz differ diff --git a/src/ui/dist/assets/NewsArticle-2facc133.css b/src/ui/dist/assets/NewsArticle-usse9HTo.css similarity index 96% rename from src/ui/dist/assets/NewsArticle-2facc133.css rename to src/ui/dist/assets/NewsArticle-usse9HTo.css index e1e1a4472..cf679937a 100644 --- a/src/ui/dist/assets/NewsArticle-2facc133.css +++ b/src/ui/dist/assets/NewsArticle-usse9HTo.css @@ -1 +1 @@ -.padding-20[data-v-32bc12c0]{padding:20px}.toggleWidth[data-v-32bc12c0]{position:absolute;right:20px;top:calc(var(--h-header) + 20px)}.toggleWidth[data-v-32bc12c0]:hover{cursor:pointer}.newsArticle[data-v-32bc12c0]{display:flex;flex-direction:column;justify-content:center;align-items:center;width:calc(100% - 40px)}.newsArticle .wrapper[data-v-32bc12c0]{width:100%}.newsArticle .wrapper.slim[data-v-32bc12c0]{max-width:600px}div.body[data-v-32bc12c0]{display:flex;flex-direction:column}.date[data-v-32bc12c0]{font-size:.7em;margin:0;font-weight:400;color:var(--fg-base-dk)}.date *[data-v-32bc12c0]{color:var(--fg-base-dk)}.headline[data-v-32bc12c0]{font-size:3em;margin:10px 0;font-weight:900}.standfirst[data-v-32bc12c0]{margin:10px 0;font-weight:700;font-size:1.7em}.topic[data-v-32bc12c0]{margin:10px 0;font-size:1.4em}h4.standfirst img,div.newsArticle div.body img,div.newsArticle div.body amp-img{max-width:100%;height:auto;border-radius:10px}div.newsArticle a{color:var(--fg-base)}div.newsArticle .accentLink,div.newsArticle .accentLink *{color:var(--fg-secondary);text-decoration:none}figure{max-width:50%;margin:0;color:var(--fg-base-dk)!important;font-size:.8em}figure svg{fill:var(--fg-base-dk)!important;margin-right:5px}div.article-body-viewer-selector{display:flex;flex-direction:column}.related{background:var(--bg-base-lt);padding:20px;border-radius:10px;border:var(--border-container)}.related li{list-style-type:none;margin:0}.related ul{margin:20px 0 0;display:flex;flex-direction:column;list-style:inside;padding:0}.related ul a{margin-left:0;display:flex;flex-direction:row;justify-content:flex-start}.related ul a span:not(:last-child){margin-right:20px}p:not(:last-child){margin-bottom:1em}svg.logo-stamp{width:20px;height:20px;margin-right:10px}div.newsletter-component,form{display:none}iframe{position:inherit!important} +.padding-20[data-v-32bc12c0]{padding:20px}.toggleWidth[data-v-32bc12c0]{position:absolute;right:20px;top:calc(var(--h-header) + 20px)}.toggleWidth[data-v-32bc12c0]:hover{cursor:pointer}.newsArticle[data-v-32bc12c0]{display:flex;flex-direction:column;justify-content:center;align-items:center;width:calc(100% - 40px)}.newsArticle .wrapper[data-v-32bc12c0]{width:100%}.newsArticle .wrapper.slim[data-v-32bc12c0]{max-width:600px}div.body[data-v-32bc12c0]{display:flex;flex-direction:column}.date[data-v-32bc12c0]{font-size:.7em;margin:0;font-weight:400;color:var(--fg-base-dk)}.date[data-v-32bc12c0] *{color:var(--fg-base-dk)}.headline[data-v-32bc12c0]{font-size:3em;margin:10px 0;font-weight:900}.standfirst[data-v-32bc12c0]{margin:10px 0;font-weight:700;font-size:1.7em}.topic[data-v-32bc12c0]{margin:10px 0;font-size:1.4em}h4.standfirst img,div.newsArticle div.body img,div.newsArticle div.body amp-img{max-width:100%;height:auto;border-radius:10px}div.newsArticle a{color:var(--fg-base)}div.newsArticle .accentLink,div.newsArticle .accentLink *{color:var(--fg-secondary);text-decoration:none}figure{max-width:50%;margin:0;color:var(--fg-base-dk)!important;font-size:.8em}figure svg{fill:var(--fg-base-dk)!important;margin-right:5px}div.article-body-viewer-selector{display:flex;flex-direction:column}.related{background:var(--bg-base-lt);padding:20px;border-radius:10px;border:var(--border-container)}.related li{list-style-type:none;margin:0}.related ul{margin:20px 0 0;display:flex;flex-direction:column;list-style:inside;padding:0}.related ul a{margin-left:0;display:flex;flex-direction:row;justify-content:flex-start}.related ul a span:not(:last-child){margin-right:20px}p:not(:last-child){margin-bottom:1em}svg.logo-stamp{width:20px;height:20px;margin-right:10px}div.newsletter-component,form{display:none}iframe{position:inherit!important} diff --git a/src/ui/dist/assets/NewsArticle-usse9HTo.css.gz b/src/ui/dist/assets/NewsArticle-usse9HTo.css.gz new file mode 100644 index 000000000..e2391b2f8 Binary files /dev/null and b/src/ui/dist/assets/NewsArticle-usse9HTo.css.gz differ diff --git a/src/ui/dist/assets/Normal-9226385f.js b/src/ui/dist/assets/Normal-9226385f.js deleted file mode 100644 index 33ace54f7..000000000 --- a/src/ui/dist/assets/Normal-9226385f.js +++ /dev/null @@ -1 +0,0 @@ -import{e as i,B as n,j as p,D as m,o as c,i as l}from"./index-4a15a213.js";import{T as d}from"./Template-96d3b86b.js";import"./PlaylistEntry-4f48a6f3.js";import"./EditSong.vue_vue_type_script_setup_true_lang-0170f423.js";import"./playerInPicture-af203fdf.js";import"./vuedraggable.umd-c5c8aeea.js";import"./FactCard-07fe2677.js";import"./gistClient-56b8a233.js";import"./Markdown.vue_vue_type_style_index_0_lang-99c6b55d.js";const N=i({__name:"Normal",setup(u){const e=n(),r=p(),t=m(()=>e.params.id),s=async(a,o)=>{await fetch(`/api/playlists/${t.value}/tracks`,{method:"PUT",body:JSON.stringify({songOldIndex:a,songNewIndex:o})}),await r.fetchPlaylists()};return(a,o)=>(c(),l(d,{id:t.value,onRearrange:s},null,8,["id"]))}});export{N as default}; diff --git a/src/ui/dist/assets/Normal-kIql2dwO.js b/src/ui/dist/assets/Normal-kIql2dwO.js new file mode 100644 index 000000000..b495d3f6e --- /dev/null +++ b/src/ui/dist/assets/Normal-kIql2dwO.js @@ -0,0 +1 @@ +import{e as i,B as n,j as p,D as m,o as c,i as l}from"./index-DnhwPdfm.js";import{T as d}from"./Template-CN0MoJmO.js";import"./PlaylistEntry-B2l8v20L.js";import"./EditSong.vue_vue_type_script_setup_true_lang-C5fIPhus.js";import"./playerInPicture-Dfp9IAsf.js";import"./vuedraggable.umd-D7qFKUf_.js";import"./FactCard-D7mi8_uS.js";import"./gistClient-BQBNGijJ.js";import"./Markdown.vue_vue_type_style_index_0_lang-fjKVBP59.js";const N=i({__name:"Normal",setup(u){const e=n(),r=p(),t=m(()=>e.params.id),s=async(a,o)=>{await fetch(`/api/playlists/${t.value}/tracks`,{method:"PUT",body:JSON.stringify({songOldIndex:a,songNewIndex:o})}),await r.fetchPlaylists()};return(a,o)=>(c(),l(d,{id:t.value,onRearrange:s},null,8,["id"]))}});export{N as default}; diff --git a/src/ui/dist/assets/Playlist.vue_vue_type_script_setup_true_lang-1d932c09.js.gz b/src/ui/dist/assets/Playlist.vue_vue_type_script_setup_true_lang-1d932c09.js.gz deleted file mode 100644 index 29f7dba4f..000000000 Binary files a/src/ui/dist/assets/Playlist.vue_vue_type_script_setup_true_lang-1d932c09.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Playlist.vue_vue_type_script_setup_true_lang-1d932c09.js b/src/ui/dist/assets/Playlist.vue_vue_type_script_setup_true_lang-D7rgrOmb.js similarity index 83% rename from src/ui/dist/assets/Playlist.vue_vue_type_script_setup_true_lang-1d932c09.js rename to src/ui/dist/assets/Playlist.vue_vue_type_script_setup_true_lang-D7rgrOmb.js index 2af5d2553..e05c1e3c9 100644 --- a/src/ui/dist/assets/Playlist.vue_vue_type_script_setup_true_lang-1d932c09.js +++ b/src/ui/dist/assets/Playlist.vue_vue_type_script_setup_true_lang-D7rgrOmb.js @@ -1 +1 @@ -import{e as b,n as r,y as x,E as n,o as d,c as q,g as c,P as B,w as C,i as P,u as p,N as w,d as Q}from"./index-4a15a213.js";import{P as E}from"./PlaylistEntry-4f48a6f3.js";import{d as y}from"./vuedraggable.umd-c5c8aeea.js";const T=b({__name:"Playlist",props:{playlist:{type:Object,required:!1},useQueue:{type:Boolean,required:!1,default:!1},draggable:{type:Boolean,required:!1,default:!1}},emits:["rearrange"],setup(u,{expose:f,emit:m}){const i=r(null),s=u,t=r(-1),o=r([]);x(()=>{o.value=s.useQueue?s.playlist.queue:s.playlist.songs}),n(()=>s.playlist,a=>{o.value=s.useQueue?a.queue:a.songs}),n(()=>s.useQueue,()=>{o.value=s.useQueue?s.playlist.queue:s.playlist.songs}),f({scrollToSong:a=>{var l;const e=(l=document.getElementById(`bplayer-entry-${a}`))==null?void 0:l.offsetTop;e>=150&&(i.value.scrollTop=e-150)}});const g=m,v=a=>{const e=a.moved;e&&g("rearrange",e.oldIndex,e.newIndex)};return(a,e)=>u.playlist?(d(),q("div",{key:0,ref_key:"playlistScroll",ref:i,class:"playlist"},[c(B),c(p(y),{modelValue:o.value,"onUpdate:modelValue":e[0]||(e[0]=l=>o.value=l),disabled:!p(y),"item-key":"id",onChange:v,onDragover:e[1]||(e[1]=w(()=>{},["stop"]))},{item:C(({element:l,index:k})=>[(d(),P(E,{id:"bplayer-entry-"+l.id,key:l.source,index:k,selected:t.value==l.id,song:l,"with-cover":"",onClick:I=>t.value==l.id?t.value=-1:t.value=l.id},null,8,["id","index","selected","song","onClick"]))]),_:1},8,["modelValue","disabled"])],512)):Q("",!0)}});export{T as _}; +import{e as b,n as r,y as x,E as n,o as d,c as q,g as c,P as B,w as C,i as P,u as p,O as w,d as Q}from"./index-DnhwPdfm.js";import{P as E}from"./PlaylistEntry-B2l8v20L.js";import{d as y}from"./vuedraggable.umd-D7qFKUf_.js";const _=b({__name:"Playlist",props:{playlist:{type:Object,required:!1},useQueue:{type:Boolean,required:!1,default:!1},draggable:{type:Boolean,required:!1,default:!1}},emits:["rearrange"],setup(u,{expose:f,emit:m}){const i=r(null),s=u,t=r(-1),o=r([]);x(()=>{o.value=s.useQueue?s.playlist.queue:s.playlist.songs}),n(()=>s.playlist,a=>{o.value=s.useQueue?a.queue:a.songs}),n(()=>s.useQueue,()=>{o.value=s.useQueue?s.playlist.queue:s.playlist.songs}),f({scrollToSong:a=>{var l;const e=(l=document.getElementById(`bplayer-entry-${a}`))==null?void 0:l.offsetTop;e>=150&&(i.value.scrollTop=e-150)}});const g=m,v=a=>{const e=a.moved;e&&g("rearrange",e.oldIndex,e.newIndex)};return(a,e)=>u.playlist?(d(),q("div",{key:0,ref_key:"playlistScroll",ref:i,class:"playlist"},[c(B),c(p(y),{modelValue:o.value,"onUpdate:modelValue":e[0]||(e[0]=l=>o.value=l),disabled:!p(y),"item-key":"id",onChange:v,onDragover:e[1]||(e[1]=w(()=>{},["stop"]))},{item:C(({element:l,index:k})=>[(d(),P(E,{id:"bplayer-entry-"+l.id,key:l.source,index:k,selected:t.value==l.id,song:l,"with-cover":"",onClick:I=>t.value==l.id?t.value=-1:t.value=l.id},null,8,["id","index","selected","song","onClick"]))]),_:1},8,["modelValue","disabled"])],512)):Q("",!0)}});export{_}; diff --git a/src/ui/dist/assets/Playlist.vue_vue_type_script_setup_true_lang-D7rgrOmb.js.gz b/src/ui/dist/assets/Playlist.vue_vue_type_script_setup_true_lang-D7rgrOmb.js.gz new file mode 100644 index 000000000..13d9a36e8 Binary files /dev/null and b/src/ui/dist/assets/Playlist.vue_vue_type_script_setup_true_lang-D7rgrOmb.js.gz differ diff --git a/src/ui/dist/assets/PlaylistCard-03dfa529.css b/src/ui/dist/assets/PlaylistCard-03dfa529.css deleted file mode 100644 index ffad2886f..000000000 --- a/src/ui/dist/assets/PlaylistCard-03dfa529.css +++ /dev/null @@ -1 +0,0 @@ -.home-playlist[data-v-42da2a88]{background:var(--bg-base-lt);border-radius:20px;display:flex;flex-direction:column;padding:20px;flex:1;max-width:200px;height:calc(100% - 20px);margin:10px}.home-playlist .play[data-v-42da2a88]{position:absolute;bottom:-1rem;right:-1rem;font-size:2.5rem;color:var(--fg-base);background:var(--bg-base-lt);border-radius:1000vmax;padding:.5rem}.home-playlist .play[data-v-42da2a88]:hover{color:var(--fg-secondary)!important}.home-playlist[data-v-42da2a88]:hover{cursor:pointer;background:var(--bg-hover-dk)}.home-playlist:hover .play[data-v-42da2a88]{background:var(--bg-hover-dk)}.home-playlist .cover[data-v-42da2a88]{border-radius:12px;width:100%;background-clip:padding-box}.home-playlist h2[data-v-42da2a88]{font-size:1em;margin-bottom:0;color:var(--fg-base)}div.title[data-v-42da2a88]{display:flex;flex-direction:row;align-items:center;margin-top:1rem;margin-bottom:.25rem;gap:.5em}div.title h4[data-v-42da2a88]{margin:0}div.title span[data-v-42da2a88]{color:var(--fg-secondary)} diff --git a/src/ui/dist/assets/PlaylistCard-915b2cc1.js.gz b/src/ui/dist/assets/PlaylistCard-915b2cc1.js.gz deleted file mode 100644 index e4403c37f..000000000 Binary files a/src/ui/dist/assets/PlaylistCard-915b2cc1.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/PlaylistCard-915b2cc1.js b/src/ui/dist/assets/PlaylistCard-CMjdNIlB.js similarity index 59% rename from src/ui/dist/assets/PlaylistCard-915b2cc1.js rename to src/ui/dist/assets/PlaylistCard-CMjdNIlB.js index c1b9477cb..051bd1ec2 100644 --- a/src/ui/dist/assets/PlaylistCard-915b2cc1.js +++ b/src/ui/dist/assets/PlaylistCard-CMjdNIlB.js @@ -1 +1 @@ -import{e as g,j as I,n as y,o as f,i as h,w,g as d,u as O,aq as $,aN as j,v as A,aO as D,a9 as N,a as u,ab as x,x as B,a6 as q,D as T,f as V,d as S,H as E,N as M,t as v,c as F,C as H,_ as W}from"./index-4a15a213.js";import{p as b}from"./playerInPicture-af203fdf.js";const z=u("br",null,null,-1),G=g({__name:"ImportSpotifyPlaylist",props:{playlist:{type:Object,required:!0}},setup(a,{expose:o}){const i=I(),e=a,n=y([{name:"playlist",type:"dropdown",required:!0,value:null,options:i.playlistsAsDropdown}]),r=y(null),c=y(null),s=y([]),p=async()=>{if(r.value.load(),s.value.length==0){const t=e.playlist.id==="liked"?"/api/spotify/tracks":`/api/spotify/playlists/${e.playlist.id}`,l=await fetch(t);s.value=await l.json()}r.value.show()},m=()=>{b("Spotify Playlist",e.playlist.name,e.playlist.href)},_=async t=>{if(t==="new"){const l=await B("classic",e.playlist.name,e.playlist.description,e.playlist.cover);return n.value[0].options=i.playlistsAsDropdown,n.value[0].value=l,l}return t},P=async(t,l=null)=>{s.value[t].added||(l??(l=c.value.toObject().playlist),l=await _(l),await x(l,s.value[t]),s.value[t].added=!0)},C=async()=>{let t=c.value.toObject().playlist;t=await _(t),s.value.forEach((l,k)=>{P(k,t)})};return o({show:p}),(t,l)=>(f(),h(N,{ref_key:"modal",ref:r,submit:{label:"Add All",icon:"add"},name:"Import Playlist",onClose:l[0]||(l[0]=k=>t.$emit("close")),onSubmit:C},{default:w(()=>[d(j,{cover:a.playlist.cover,icons:[{name:"share",onClick:()=>O($)(a.playlist.href)},{name:"play_arrow",onClick:m}],title:a.playlist.name},null,8,["cover","icons","title"]),d(A,{ref_key:"form",ref:c,options:n.value},null,8,["options"]),z,d(D,{songs:s.value,onAdd:P},null,8,["songs"])]),_:1},512))}}),J={class:"relative"},K={class:"title"},L={key:0,class:"material-symbols-rounded"},Q=g({__name:"PlaylistCard",props:{playlist:{type:Object,required:!0},isSpotify:{type:Boolean,default:!1}},setup(a){const o=a,i=q(),e=y(),n=T(()=>i.playlistPlayOrPauseIcon(o.playlist.id)),r=()=>{if(o.isSpotify){b(o.playlist.name,"Spotify",o.playlist.href);return}i.playlistId==o.playlist.id?i.playPause():i.loadPlaylist(o.playlist.id)},c=s=>{var p;console.log(o.isSpotify),o.isSpotify&&(s.preventDefault(),s.stopPropagation(),(p=e.value)==null||p.show(),console.log("showing",e.value))};return(s,p)=>{const m=V("router-link");return f(),h(m,{to:a.playlist.href,class:"no-underline"},{default:w(()=>[a.isSpotify?(f(),h(G,{key:0,ref_key:"importSpotify",ref:e,playlist:a.playlist},null,8,["playlist"])):S("",!0),d(H,{class:"home-playlist drop-shadow-md","with-hover":"",onClick:c},{default:w(()=>[u("div",J,[d(E,{src:a.playlist.cover,type:"playlist",name:a.playlist.name},null,8,["src","name"]),u("span",{class:"material-symbols-rounded ms-fill play",onClick:M(r,["stop","prevent"])},v(n.value),1)]),u("div",K,[a.playlist.type!="classic"?(f(),F("span",L,v(a.playlist.type=="smart"?"neurology":"bolt"),1)):S("",!0),u("h4",null,v(a.playlist.name),1)])]),_:1})]),_:1},8,["to"])}}});const X=W(Q,[["__scopeId","data-v-42da2a88"]]);export{X as P}; +import{e as _,j as O,n as y,o as f,i as h,w,g as d,u as I,ar as $,aO as j,v as A,aP as D,aa as B,a as u,ac as x,x as N,a7 as q,D as T,f as V,d as g,H as E,O as M,t as v,c as F,C as H,_ as W}from"./index-DnhwPdfm.js";import{p as b}from"./playerInPicture-Dfp9IAsf.js";const z=u("br",null,null,-1),G=_({__name:"ImportSpotifyPlaylist",props:{playlist:{type:Object,required:!0}},setup(a,{expose:o}){const i=O(),e=a,n=y([{name:"playlist",type:"dropdown",required:!0,value:null,options:i.playlistsAsDropdown}]),r=y(null),c=y(null),s=y([]),p=async()=>{if(r.value.load(),s.value.length==0){const t=e.playlist.id==="liked"?"/api/spotify/tracks":`/api/spotify/playlists/${e.playlist.id}`,l=await fetch(t);s.value=await l.json()}r.value.show()},m=()=>{b("Spotify Playlist",e.playlist.name,e.playlist.href)},P=async t=>{if(t==="new"){const l=await N("classic",e.playlist.name,e.playlist.description,e.playlist.cover);return n.value[0].options=i.playlistsAsDropdown,n.value[0].value=l,l}return t},k=async(t,l=null)=>{s.value[t].added||(l??(l=c.value.toObject().playlist),l=await P(l),await x(l,s.value[t]),s.value[t].added=!0)},C=async()=>{let t=c.value.toObject().playlist;t=await P(t),s.value.forEach((l,S)=>{k(S,t)})};return o({show:p}),(t,l)=>(f(),h(B,{ref_key:"modal",ref:r,submit:{label:"Add All",icon:"add"},name:"Import Playlist",onClose:l[0]||(l[0]=S=>t.$emit("close")),onSubmit:C},{default:w(()=>[d(j,{cover:a.playlist.cover,icons:[{name:"share",onClick:()=>I($)(a.playlist.href)},{name:"play_arrow",onClick:m}],title:a.playlist.name},null,8,["cover","icons","title"]),d(A,{ref_key:"form",ref:c,options:n.value},null,8,["options"]),z,d(D,{songs:s.value,onAdd:k},null,8,["songs"])]),_:1},512))}}),J={class:"relative"},K={class:"title"},L={key:0,class:"material-symbols-rounded"},Q=_({__name:"PlaylistCard",props:{playlist:{type:Object,required:!0},isSpotify:{type:Boolean,default:!1}},setup(a){const o=a,i=q(),e=y(),n=T(()=>i.playlistPlayOrPauseIcon(o.playlist.id)),r=()=>{if(o.isSpotify){b(o.playlist.name,"Spotify",o.playlist.href);return}i.playlistId==o.playlist.id?i.playPause():i.loadPlaylist(o.playlist.id)},c=s=>{var p;console.log(o.isSpotify),o.isSpotify&&(s.preventDefault(),s.stopPropagation(),(p=e.value)==null||p.show(),console.log("showing",e.value))};return(s,p)=>{const m=V("router-link");return f(),h(m,{to:a.playlist.href,class:"no-underline"},{default:w(()=>[a.isSpotify?(f(),h(G,{key:0,ref_key:"importSpotify",ref:e,playlist:a.playlist},null,8,["playlist"])):g("",!0),d(H,{class:"home-playlist drop-shadow-md","with-hover":"",onClick:c},{default:w(()=>[u("div",J,[d(E,{src:a.playlist.cover,type:"playlist",name:a.playlist.name},null,8,["src","name"]),u("span",{class:"material-symbols-rounded ms-fill play",onClick:M(r,["stop","prevent"])},v(n.value),1)]),u("div",K,[a.playlist.type!="classic"?(f(),F("span",L,v(a.playlist.type=="smart"?"neurology":"bolt"),1)):g("",!0),u("h4",null,v(a.playlist.name),1)])]),_:1})]),_:1},8,["to"])}}}),X=W(Q,[["__scopeId","data-v-d1d701cc"]]);export{X as P}; diff --git a/src/ui/dist/assets/PlaylistCard-CMjdNIlB.js.gz b/src/ui/dist/assets/PlaylistCard-CMjdNIlB.js.gz new file mode 100644 index 000000000..671999038 Binary files /dev/null and b/src/ui/dist/assets/PlaylistCard-CMjdNIlB.js.gz differ diff --git a/src/ui/dist/assets/PlaylistCard-cgcHOGv5.css b/src/ui/dist/assets/PlaylistCard-cgcHOGv5.css new file mode 100644 index 000000000..a9e0ce4a1 --- /dev/null +++ b/src/ui/dist/assets/PlaylistCard-cgcHOGv5.css @@ -0,0 +1 @@ +.home-playlist[data-v-d1d701cc]{background:var(--bg-base-lt);border-radius:20px;display:flex;flex-direction:column;padding:20px;flex:1;max-width:200px;height:calc(100% - 20px);margin:10px}.home-playlist .play[data-v-d1d701cc]{position:absolute;bottom:-1rem;right:-1rem;font-size:2.5rem;color:var(--fg-base);background:var(--bg-base-lt);border-radius:1000vmax;padding:.5rem}.home-playlist .play[data-v-d1d701cc]:hover{color:var(--fg-secondary)!important}.home-playlist[data-v-d1d701cc]:hover{cursor:pointer;background:var(--bg-hover-dk)}.home-playlist:hover .play[data-v-d1d701cc]{background:var(--bg-hover-dk)}.home-playlist .cover[data-v-d1d701cc]{border-radius:12px;width:100%;background-clip:padding-box}.home-playlist h2[data-v-d1d701cc]{font-size:1em;margin-bottom:0;color:var(--fg-base)}div.title[data-v-d1d701cc]{display:flex;flex-direction:row;align-items:center;margin-top:1rem;margin-bottom:.25rem;gap:.5em}div.title h4[data-v-d1d701cc]{margin:0}div.title span[data-v-d1d701cc]{color:var(--fg-secondary)} diff --git a/src/ui/dist/assets/PlaylistEntry-4f48a6f3.js b/src/ui/dist/assets/PlaylistEntry-4f48a6f3.js deleted file mode 100644 index 4029d2459..000000000 --- a/src/ui/dist/assets/PlaylistEntry-4f48a6f3.js +++ /dev/null @@ -1 +0,0 @@ -import{e as H,j as W,D as w,n as B,f as h,ac as X,a2 as G,o as r,c as v,r as J,g as t,w as o,b as u,F as L,h as T,i as I,t as S,u as g,cL as Z,cM as ee,cN as te,d as N,aj as se,cO as oe,a as d,ab as ne,ar as ae,x as le,aF as ie,cP as de,ae as ue,aI as re,a6 as ce,cQ as me,O as j,H as ye,M as V,A as fe,K as ve,cR as ge,ai as pe,cS as _e,_ as xe}from"./index-4a15a213.js";import{_ as he}from"./EditSong.vue_vue_type_script_setup_true_lang-0170f423.js";import{p as we}from"./playerInPicture-af203fdf.js";const be=d("span",{class:"material-symbols-rounded"},"preview",-1),ke=d("span",{class:"material-symbols-rounded"},"search",-1),Se=d("span",{class:"material-symbols-rounded"},"queue_music",-1),$e=d("span",{class:"material-symbols-rounded"}," play_arrow ",-1),Ce=d("span",{class:"material-symbols-rounded"}," add_to_queue ",-1),qe=d("span",{class:"material-symbols-rounded"}," queue_play_next ",-1),Pe=d("span",{class:"material-symbols-rounded"},"delete",-1),Me=d("span",{class:"material-symbols-rounded"},"playlist_add",-1),Ae=d("span",{class:"material-symbols-rounded"},"edit",-1),De=d("span",{class:"material-symbols-rounded"},"file_download",-1),Ie=d("span",{class:"material-symbols-rounded"},"replay",-1),Ne=d("span",{class:"material-symbols-rounded"},"share",-1),Be=H({__name:"SongContext",props:{song:{type:Object,required:!0},playlistId:{type:String,required:!1,default:""}},emits:["update","edit"],setup(s,{expose:F,emit:E}){const i=W(),$=w(()=>i.playlists.filter(n=>n.type==="classic")),e=s,p=E,y=()=>{we(e.song.artist,e.song.title,e.song.source)},C=w(()=>{var n;return((n=i.playlists.find(a=>a.id===e.playlistId))==null?void 0:n.type)!=="classic"}),f=async n=>{var a;await ne(n,e.song),ae.addSuccess(e.song.title,`Added to ${(a=$.value.find(l=>l.id==n))==null?void 0:a.name}`,3e3),p("update")},q=async()=>{const n=await le("classic",e.song.title,e.song.artist,e.song.cover);await f(n),p("update")},P=async()=>{await ie(e.playlistId,e.song.id),p("update")},M=B(null),_=B(null),O=()=>{_.value.visible?A():m()},A=()=>{_.value.hide()},m=()=>{const n=M.value.getBoundingClientRect(),a={top:n.height+n.top+window.scrollY,left:n.width+n.left+window.scrollX};_.value.show(a)};F({show:m,toggle:O,hide:A});const b=w(()=>({Soundcloud:`https://soundcloud.com/search?q=${e.song.artist} ${e.song.title}`,Audius:`https://audius.co/search/${e.song.artist} ${e.song.title}`,"Youtube Music":`https://music.youtube.com/search?q=${e.song.artist} ${e.song.title}`,Spotify:`https://open.spotify.com/search/${e.song.artist} ${e.song.title}`})),k=()=>{p("edit")},R=n=>{window.open(b.value[n]),k()},U=()=>{const n=de(e.song);ue(n,`${e.song.artist} - ${e.song.title}`)};return(n,a)=>{const l=h("v-contextmenu-item"),D=h("v-contextmenu-submenu"),x=h("v-contextmenu-divider"),Y=h("v-context-menu-divider"),z=h("v-contextmenu"),K=X("contextmenu");return G((r(),v("div",{ref_key:"box",ref:M},[J(n.$slots,"default"),t(z,{ref_key:"contextmenu",ref:_},{default:o(()=>[t(l,{onClick:y},{default:o(()=>[be,u(" Preview ")]),_:1}),t(l,null,{default:o(()=>[ke,t(D,{title:"Find source"},{default:o(()=>[(r(!0),v(L,null,T(Object.keys(b.value),c=>(r(),I(l,{key:c,onClick:Q=>R(c)},{default:o(()=>[u(S(c),1)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1}),t(x),t(l,null,{default:o(()=>[Se,t(D,{title:"Add to queue"},{default:o(()=>[t(l,{onClick:a[0]||(a[0]=()=>g(Z)(e.song.id))},{default:o(()=>[$e,u(" Play Now ")]),_:1}),t(l,{onClick:a[1]||(a[1]=()=>g(ee)(e.song.id))},{default:o(()=>[Ce,u(" Play Next ")]),_:1}),t(l,{onClick:a[2]||(a[2]=()=>g(te)(e.song.id))},{default:o(()=>[qe,u(" Play Last ")]),_:1})]),_:1})]),_:1}),t(x),t(Y),C.value?N("",!0):(r(),I(l,{key:0,onClick:P},{default:o(()=>[Pe,u(" Remove from this playlist ")]),_:1})),t(l,null,{default:o(()=>[Me,t(D,{title:"Add to playlist"},{default:o(()=>[t(l,{onClick:q},{default:o(()=>[u(" Add to new playlist ")]),_:1}),t(x),(r(!0),v(L,null,T($.value,c=>(r(),I(l,{key:c.id,onClick:Q=>f(c.id)},{default:o(()=>[u(S(c.name),1)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1}),t(x),t(l,{onClick:k},{default:o(()=>[Ae,u(" Edit ")]),_:1}),t(x),t(l,{onClick:a[3]||(a[3]=c=>g(se)(s.song.id))},{default:o(()=>[De,u(" Download ")]),_:1}),t(l,{onClick:a[4]||(a[4]=c=>g(oe)(s.song.id))},{default:o(()=>[Ie,u(" Uncache ")]),_:1}),t(x),t(l,null,{default:o(()=>[Ne,t(D,{title:"Export..."},{default:o(()=>[t(l,{onClick:a[5]||(a[5]=c=>U())},{default:o(()=>[u(" to file ")]),_:1})]),_:1})]),_:1})]),_:1},512)])),[[K,void 0,"contextmenu"]])}}}),Fe={key:0,class:"index text-right downloading"},Ee={key:2,class:"cover"},Oe={class:"artist-title"},je={class:"title"},Le={class:"artist"},Te={key:3,class:"album"},Ve={class:"duration text-center"},He=H({__name:"PlaylistEntry",props:{song:{type:Object,required:!0},index:{type:Number,required:!0},withCover:{type:Boolean,required:!1,default:!1},withAlbum:{type:Boolean,required:!1,default:!1},withMore:{type:Boolean,required:!1,default:!1},selected:{type:Boolean,required:!1,default:!1},playlistId:{type:String,required:!1,default:null},artist:{type:String,required:!1,default:null},album:{type:String,required:!1,default:null}},emits:["update"],setup(s,{emit:F}){const E=re(),i=s,$=F,e=ce(),p=w(()=>i.song.id==e.song.id),y=B(!1),C=()=>{i.song.favourite=!i.song.favourite,_e(i.song.id,i.song.favourite)},f=w(()=>i.playlistId==null?e.playlist.id:i.playlistId),q=async()=>{if(f.value=="track"){e.loadPlaylist("track",i.song.id);return}if(f.value=="artist"){await e.loadPlaylist("artist",i.artist),e.loadSong(null,i.index);return}if(f.value=="album"){await e.loadPlaylist("album",i.album),e.loadSong(null,i.index);return}e.loadSong(f.value,i.index)},P=B(null),M=()=>{P.value.show()},_=()=>{$("update")},O=w(()=>E.isSongDownloading(i.song.id));return(A,m)=>{const b=h("router-link");return r(),I(Be,{ref:"ctxMenu",liked:s.song.favourite,playlistId:f.value,song:s.song,onEdit:M,onLike:C,onUpdate:_},{default:o(()=>[t(he,{ref_key:"updatePopup",ref:P,song:s.song,onUpdate:m[0]||(m[0]=k=>A.$emit("update"))},null,8,["song"]),d("div",{class:j([{playing:p.value,selected:s.selected,hovering:y.value,withCover:s.withCover,withAlbum:s.withAlbum,withMore:s.withMore},"playlist-entry"]),onDblclick:q,onMouseenter:m[1]||(m[1]=k=>y.value=!0),onMouseleave:m[2]||(m[2]=k=>y.value=!1)},[O.value?(r(),v("div",Fe,[t(me)])):(r(),v("div",{key:1,class:j([{"material-symbols-rounded":y.value},"index text-right"]),onClick:q},S(y.value?"play_arrow":s.index+1),3)),s.withCover?(r(),v("div",Ee,[t(ye,{src:s.song.cover,type:"track"},null,8,["src"])])):N("",!0),d("div",Oe,[d("span",je,[t(b,{to:`/track/${g(fe)(s.song.id)}`,class:"linkOnHover"},{default:o(()=>[t(V,{text:s.song.title},null,8,["text"])]),_:1},8,["to"])]),d("span",Le,[t(ve,{artist:s.song.artist,class:"text-muted text-xs"},null,8,["artist"])])]),s.withAlbum&&!g(ge)?(r(),v("div",Te,[t(b,{to:s.song.album.href,class:"linkOnHover"},{default:o(()=>[t(V,{text:s.song.album.name},null,8,["text"])]),_:1},8,["to"])])):N("",!0),s.selected||y.value||s.song.favourite?(r(),v("div",{key:4,class:j([{favourite:s.song.favourite},"favourite-icon icon text-right material-symbols-rounded"]),onClick:C},S(s.song.favourite?"favorite":"heart_plus"),3)):N("",!0),d("div",Ve,S(g(pe)(s.song.duration)),1)],34)]),_:1},8,["liked","playlistId","song"])}}});const ze=xe(He,[["__scopeId","data-v-67cfb148"]]);export{ze as P}; diff --git a/src/ui/dist/assets/PlaylistEntry-4f48a6f3.js.gz b/src/ui/dist/assets/PlaylistEntry-4f48a6f3.js.gz deleted file mode 100644 index 6a4b582c3..000000000 Binary files a/src/ui/dist/assets/PlaylistEntry-4f48a6f3.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/PlaylistEntry-B2l8v20L.js b/src/ui/dist/assets/PlaylistEntry-B2l8v20L.js new file mode 100644 index 000000000..cdbf7d2be --- /dev/null +++ b/src/ui/dist/assets/PlaylistEntry-B2l8v20L.js @@ -0,0 +1 @@ +import{e as U,j as W,D as k,n as B,f as x,ad as X,a3 as G,o as r,c as g,r as J,g as t,w as o,b as u,F as j,h as H,i as M,t as C,u as p,cN as Z,cO as ee,cP as te,d as I,ak as se,cQ as oe,a as d,ac as ne,N as ae,x as le,aE as ie,cR as de,af as ue,aH as re,a7 as ce,cS as me,Q as T,H as fe,M as L,A as ve,K as ye,cT as ge,aj as pe,cU as _e,_ as he}from"./index-DnhwPdfm.js";import{_ as we}from"./EditSong.vue_vue_type_script_setup_true_lang-C5fIPhus.js";import{p as xe}from"./playerInPicture-Dfp9IAsf.js";const ke=d("span",{class:"material-symbols-rounded"},"preview",-1),be=d("span",{class:"material-symbols-rounded"},"search",-1),Se=d("span",{class:"material-symbols-rounded"},"queue_music",-1),$e=d("span",{class:"material-symbols-rounded"}," play_arrow ",-1),Ce=d("span",{class:"material-symbols-rounded"}," add_to_queue ",-1),qe=d("span",{class:"material-symbols-rounded"}," queue_play_next ",-1),Pe=d("span",{class:"material-symbols-rounded"},"delete",-1),Ne=d("span",{class:"material-symbols-rounded"},"playlist_add",-1),Ae=d("span",{class:"material-symbols-rounded"},"edit",-1),De=d("span",{class:"material-symbols-rounded"},"file_download",-1),Me=d("span",{class:"material-symbols-rounded"},"replay",-1),Ie=d("span",{class:"material-symbols-rounded"},"share",-1),Be=U({__name:"SongContext",props:{song:{type:Object,required:!0},playlistId:{type:String,required:!1,default:""}},emits:["update","edit"],setup(s,{expose:E,emit:F}){const i=W(),b=k(()=>i.playlists.filter(n=>n.type==="classic")),e=s,_=F,f=()=>{xe(e.song.artist,e.song.title,e.song.source)},q=k(()=>{var n;return((n=i.playlists.find(a=>a.id===e.playlistId))==null?void 0:n.type)!=="classic"}),v=async n=>{var a,l;await ne(n,e.song),ae.addSuccess(e.song.title,`Added to ${(a=b.value.find(y=>y.id==n))==null?void 0:a.name}`,3e3,void 0,(l=b.value.find(y=>y.id==n))==null?void 0:l.href),_("update")},P=async()=>{const n=await le("classic",e.song.title,e.song.artist,e.song.cover);await v(n),_("update")},N=async()=>{await ie(e.playlistId,e.song.id),_("update")},A=B(null),h=B(null),O=()=>{h.value.visible?D():m()},D=()=>{h.value.hide()},m=()=>{const n=A.value.getBoundingClientRect(),a={top:n.height+n.top+window.scrollY,left:n.width+n.left+window.scrollX};h.value.show(a)};E({show:m,toggle:O,hide:D});const S=k(()=>({Soundcloud:`https://soundcloud.com/search?q=${e.song.artist} ${e.song.title}`,Audius:`https://audius.co/search/${e.song.artist} ${e.song.title}`,"Youtube Music":`https://music.youtube.com/search?q=${e.song.artist} ${e.song.title}`,Spotify:`https://open.spotify.com/search/${e.song.artist} ${e.song.title}`})),$=()=>{_("edit")},V=n=>{window.open(S.value[n]),$()},R=()=>{const n=de(e.song);ue(n,`${e.song.artist} - ${e.song.title}`)};return(n,a)=>{const l=x("v-contextmenu-item"),y=x("v-contextmenu-submenu"),w=x("v-contextmenu-divider"),Q=x("v-context-menu-divider"),Y=x("v-contextmenu"),z=X("contextmenu");return G((r(),g("div",{ref_key:"box",ref:A},[J(n.$slots,"default"),t(Y,{ref_key:"contextmenu",ref:h},{default:o(()=>[t(l,{onClick:f},{default:o(()=>[ke,u(" Preview ")]),_:1}),t(l,null,{default:o(()=>[be,t(y,{title:"Find source"},{default:o(()=>[(r(!0),g(j,null,H(Object.keys(S.value),c=>(r(),M(l,{key:c,onClick:K=>V(c)},{default:o(()=>[u(C(c),1)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1}),t(w),t(l,null,{default:o(()=>[Se,t(y,{title:"Add to queue"},{default:o(()=>[t(l,{onClick:a[0]||(a[0]=()=>p(Z)(e.song.id))},{default:o(()=>[$e,u(" Play Now ")]),_:1}),t(l,{onClick:a[1]||(a[1]=()=>p(ee)(e.song.id))},{default:o(()=>[Ce,u(" Play Next ")]),_:1}),t(l,{onClick:a[2]||(a[2]=()=>p(te)(e.song.id))},{default:o(()=>[qe,u(" Play Last ")]),_:1})]),_:1})]),_:1}),t(w),t(Q),q.value?I("",!0):(r(),M(l,{key:0,onClick:N},{default:o(()=>[Pe,u(" Remove from this playlist ")]),_:1})),t(l,null,{default:o(()=>[Ne,t(y,{title:"Add to playlist"},{default:o(()=>[t(l,{onClick:P},{default:o(()=>[u(" Add to new playlist ")]),_:1}),t(w),(r(!0),g(j,null,H(b.value,c=>(r(),M(l,{key:c.id,onClick:K=>v(c.id)},{default:o(()=>[u(C(c.name),1)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1}),t(w),t(l,{onClick:$},{default:o(()=>[Ae,u(" Edit ")]),_:1}),t(w),t(l,{onClick:a[3]||(a[3]=c=>p(se)(s.song.id))},{default:o(()=>[De,u(" Download ")]),_:1}),t(l,{onClick:a[4]||(a[4]=c=>p(oe)(s.song.id))},{default:o(()=>[Me,u(" Uncache ")]),_:1}),t(w),t(l,null,{default:o(()=>[Ie,t(y,{title:"Export..."},{default:o(()=>[t(l,{onClick:a[5]||(a[5]=c=>R())},{default:o(()=>[u(" to file ")]),_:1})]),_:1})]),_:1})]),_:1},512)])),[[z,void 0,"contextmenu"]])}}}),Ee={key:0,class:"index text-right downloading"},Fe={key:2,class:"cover"},Oe={class:"artist-title"},Te={class:"title"},je={class:"artist"},He={key:3,class:"album"},Le={class:"duration text-center"},Ue=U({__name:"PlaylistEntry",props:{song:{type:Object,required:!0},index:{type:Number,required:!0},withCover:{type:Boolean,required:!1,default:!1},withAlbum:{type:Boolean,required:!1,default:!1},withMore:{type:Boolean,required:!1,default:!1},selected:{type:Boolean,required:!1,default:!1},playlistId:{type:String,required:!1,default:null},artist:{type:String,required:!1,default:null},album:{type:String,required:!1,default:null}},emits:["update"],setup(s,{emit:E}){const F=re(),i=s,b=E,e=ce(),_=k(()=>i.song.id==e.song.id),f=B(!1),q=()=>{i.song.favourite=!i.song.favourite,_e(i.song.id,i.song.favourite)},v=k(()=>i.playlistId==null?e.playlist.id:i.playlistId),P=async()=>{if(v.value=="track"){e.loadPlaylist("track",i.song.id);return}if(v.value=="artist"){await e.loadPlaylist("artist",i.artist),e.loadSong(null,i.index);return}if(v.value=="album"){await e.loadPlaylist("album",i.album),e.loadSong(null,i.index);return}e.loadSong(v.value,i.index)},N=B(null),A=()=>{N.value.show()},h=()=>{b("update")},O=k(()=>F.isSongDownloading(i.song.id));return(D,m)=>{const S=x("router-link");return r(),M(Be,{ref:"ctxMenu",liked:s.song.favourite,playlistId:v.value,song:s.song,onEdit:A,onLike:q,onUpdate:h},{default:o(()=>[t(we,{ref_key:"updatePopup",ref:N,song:s.song,onUpdate:m[0]||(m[0]=$=>D.$emit("update"))},null,8,["song"]),d("div",{class:T([{playing:_.value,selected:s.selected,hovering:f.value,withCover:s.withCover,withAlbum:s.withAlbum,withMore:s.withMore},"playlist-entry"]),onDblclick:P,onMouseenter:m[1]||(m[1]=$=>f.value=!0),onMouseleave:m[2]||(m[2]=$=>f.value=!1)},[O.value?(r(),g("div",Ee,[t(me)])):(r(),g("div",{key:1,class:T([{"material-symbols-rounded":f.value},"index text-right"]),onClick:P},C(f.value?"play_arrow":s.index+1),3)),s.withCover?(r(),g("div",Fe,[t(fe,{src:s.song.cover,type:"track"},null,8,["src"])])):I("",!0),d("div",Oe,[d("span",Te,[t(S,{to:`/track/${p(ve)(s.song.id)}`,class:"linkOnHover"},{default:o(()=>[t(L,{text:s.song.title},null,8,["text"])]),_:1},8,["to"])]),d("span",je,[t(ye,{artist:s.song.artist,class:"text-muted text-xs"},null,8,["artist"])])]),s.withAlbum&&!p(ge)?(r(),g("div",He,[t(S,{to:s.song.album.href,class:"linkOnHover"},{default:o(()=>[t(L,{text:s.song.album.name},null,8,["text"])]),_:1},8,["to"])])):I("",!0),s.selected||f.value||s.song.favourite?(r(),g("div",{key:4,class:T([{favourite:s.song.favourite},"favourite-icon icon text-right material-symbols-rounded"]),onClick:q},C(s.song.favourite?"favorite":"heart_plus"),3)):I("",!0),d("div",Le,C(p(pe)(s.song.duration)),1)],34)]),_:1},8,["liked","playlistId","song"])}}}),Ye=he(Ue,[["__scopeId","data-v-67cfb148"]]);export{Ye as P}; diff --git a/src/ui/dist/assets/PlaylistEntry-B2l8v20L.js.gz b/src/ui/dist/assets/PlaylistEntry-B2l8v20L.js.gz new file mode 100644 index 000000000..17dc650ee Binary files /dev/null and b/src/ui/dist/assets/PlaylistEntry-B2l8v20L.js.gz differ diff --git a/src/ui/dist/assets/PlaylistEntry-7f3947eb.css b/src/ui/dist/assets/PlaylistEntry-D6o1lH9d.css similarity index 100% rename from src/ui/dist/assets/PlaylistEntry-7f3947eb.css rename to src/ui/dist/assets/PlaylistEntry-D6o1lH9d.css diff --git a/src/ui/dist/assets/PlaylistEntry-7f3947eb.css.gz b/src/ui/dist/assets/PlaylistEntry-D6o1lH9d.css.gz similarity index 100% rename from src/ui/dist/assets/PlaylistEntry-7f3947eb.css.gz rename to src/ui/dist/assets/PlaylistEntry-D6o1lH9d.css.gz diff --git a/src/ui/dist/assets/Sports-47b2f775.js b/src/ui/dist/assets/Sports-47b2f775.js deleted file mode 100644 index b8b01d28f..000000000 --- a/src/ui/dist/assets/Sports-47b2f775.js +++ /dev/null @@ -1 +0,0 @@ -import{F as C}from"./FullShelf-b2b7ffe5.js";import{_ as k,C as D,f as v,o as p,i as w,w as M,a as r,t as _,O as A,Z as F,ar as N,c as m,g as b,F as S,h as y,d as O,l as V,m as B}from"./index-4a15a213.js";const j={name:"FootballItem",components:{Card:D},methods:{redirect(){window.open(this.oref)},remove(e){e.stopPropagation(),this.$emit("remove")}},props:{result:String,date:String,competition:String,href:String,oref:String,team1:String,team2:String,progress:String}},H={class:"wrapper topalign"},L={class:"wrapper"},J=["innerHTML"],P=["innerHTML"],U=["innerHTML"],W={class:"wrapper bottomalign"},$={class:"small"};function E(e,s,t,c,n,o){const h=v("Card");return p(),w(h,{class:"itemBig","with-hover":""},{default:M(()=>{var u;return[r("div",{class:"item",onClick:s[1]||(s[1]=(...i)=>o.redirect&&o.redirect(...i))},[r("div",H,[r("p",null,_(t.competition),1),r("p",{class:A([{accent:(u=t.progress)==null?void 0:u.includes("'")},"right progress"])},_(t.progress),3)]),r("div",L,[r("p",{class:"team",innerHTML:t.team1},null,8,J),r("h4",{class:"result",innerHTML:t.result},null,8,P),r("p",{class:"team",innerHTML:t.team2},null,8,U)]),r("div",W,[r("p",$,_(t.date)+", "+_(t.href),1),r("span",{class:"deleteIcon small material-icons-round",onClick:s[0]||(s[0]=(...i)=>o.remove&&o.remove(...i))},"clear")])])]}),_:1})}const K=k(j,[["render",E],["__scopeId","data-v-b3cf3eea"]]);const R={components:{TextInputWithIcon:F,FullShelf:C,FootballItem:K},name:"Sports",data(){return{sports:[],watchMatches:[],sourceToAdd:"",supportedSources:["https://onefootball.com/en/team/","https://onefootball.com/en/match/","https://onefootball.com/en/competition/","https://www.cev.eu/match-centres/","https://championsleague.cev.eu/en/match-centres/","https://www.cev.eu/calendar/","https://cev-nex.tk/#/match/","https://cevnex.tk/#/match/"]}},mounted(){this.watchMatches=JSON.parse(window.localStorage.getItem("sports.watchMatches"))||[],this.updateMatches()},computed:{volleyMatches(){return this.watchMatches.filter(e=>e.includes("cev")).map(e=>{let s=e;return e.includes("nex.tk")&&(s=e.split("/match/")[1]),{src:s,ref:e}})},notVolleyMatches(){return this.watchMatches.filter(e=>!e.includes("cev"))}},methods:{removeSource(e,s,t){this.watchMatches.splice(this.watchMatches.indexOf(e),1),this.sports[s].items.splice(t,1),window.localStorage.setItem("sports.watchMatches",JSON.stringify(this.watchMatches))},removeSourceD(e){this.watchMatches.splice(this.watchMatches.indexOf(e),1),window.localStorage.setItem("sports.watchMatches",JSON.stringify(this.watchMatches))},tryAddSource(){for(const e of this.supportedSources)if(this.sourceToAdd.startsWith(e)){this.addSource();return}N.addError("unsupported source")},addSource(){this.watchMatches.push(this.sourceToAdd),window.localStorage.setItem("sports.watchMatches",JSON.stringify(this.watchMatches)),this.sourceToAdd=""},updateMatches(){(this.$route.path=="/sports"||this.$route.path=="/sports/")&&(fetch("/api/sports",{method:"POST",body:JSON.stringify({urls:this.notVolleyMatches})}).then(e=>e.json()).then(e=>{this.sports=[];for(const s of e){const t=this.sports.findIndex(c=>c.sport==s.sport);t>=0?this.sports[t].items.push(s):this.sports.push({sport:s.sport,icon:s.sportIcon,items:[s]})}for(const s of this.sports)s.items.sort((t,c)=>{if(t.progress=t.progress.replace("Half time","45'"),c.progress=c.progress.replace("Half time","45'"),(t.progress.includes("Pens")||t.progress.includes("N/A"))&&(t.progress="Full time"),(c.progress.includes("Pens")||c.progress.includes("N/A"))&&(c.progress="Full time"),t.progress.includes("'")&&!c.progress.includes("'"))return-1;if(!t.progress.includes("'")&&c.progress.includes("'"))return 1;if(t.progress.includes("'")&&c.progress.includes("'")){const g=Number(t.progress.replace("'","").replace("+","")),x=Number(c.progress.replace("'","").replace("+",""));return gg.toISOString().split("T")[0];n=n.replace("Today",a(i)).split("/").reverse().join("-"),n=n.replace("Tomorrow",a(l)).split("/").reverse().join("-"),n=n.replace("Yesterday",a(d)).split("/").reverse().join("-"),o=o.replace("Today",a(i)).split("/").reverse().join("-"),o=o.replace("Tomorrow",a(l)).split("/").reverse().join("-"),o=o.replace("Yesterday",a(d)).split("/").reverse().join("-");let f=new Date(`${n}T${h}`.replace(" ","")),I=new Date(`${o}T${u}`.replace(" ",""));return f>I?-1:f==I?0:1})}),setTimeout(this.updateMatches,1e3*45))}}},T=e=>(V("data-v-e7921c74"),e=e(),B(),e),Y={class:"news"},z=T(()=>r("div",{class:"padding-20"},[r("h1",null,"Sports")],-1)),Z=T(()=>r("hr",null,null,-1)),q={class:"padding-20"},G={class:"small"},Q={class:"addWrapper"},X=T(()=>r("hr",null,null,-1)),ee=["src"],te=["onClick"];function se(e,s,t,c,n,o){const h=v("TextInputWithIcon"),u=v("football-item"),i=v("full-shelf");return p(),m("div",Y,[z,Z,r("div",q,[r("p",G," Supported urls: "+_(n.supportedSources.join("*, ")),1),r("div",Q,[b(h,{modelValue:n.sourceToAdd,"onUpdate:modelValue":s[0]||(s[0]=l=>n.sourceToAdd=l),icon:"link",onKeyup:e.enterText},null,8,["modelValue","onKeyup"]),r("span",{id:"addToPlaylist",class:"material-icons-outlined",onClick:s[1]||(s[1]=(...l)=>o.tryAddSource&&o.tryAddSource(...l))},"add_circle")]),X,(p(!0),m(S,null,y(n.sports,(l,d)=>(p(),w(i,{key:l.sport,heading:l.sport,icon:l.icon},{default:M(()=>[(p(!0),m(S,null,y(l.items,(a,f)=>(p(),w(u,{key:a.href,competition:a.competition,date:a.date,href:a.href,oref:a.oref,progress:a.progress,result:a.result,team1:a.team1,team2:a.team2,onRemove:()=>o.removeSource(a.sref,d,f)},null,8,["competition","date","href","oref","progress","result","team1","team2","onRemove"]))),128))]),_:2},1032,["heading","icon"]))),128)),o.volleyMatches.length?(p(),w(i,{key:0,heading:"Volleyball",icon:"sports_volleyball"},{default:M(()=>[(p(!0),m(S,null,y(o.volleyMatches,(l,d)=>(p(),m("div",{key:d,class:"wrapIframe"},[r("iframe",{src:`https://cev-nex.tk/#/embed?match=${l.src}`},null,8,ee),r("span",{class:"deleteIcon small material-symbols-rounded",onClick:()=>o.removeSourceD(l.ref)},"clear",8,te)]))),128))]),_:1})):O("",!0)])])}const ae=k(R,[["render",se],["__scopeId","data-v-e7921c74"]]);export{ae as default}; diff --git a/src/ui/dist/assets/Sports-47b2f775.js.gz b/src/ui/dist/assets/Sports-47b2f775.js.gz deleted file mode 100644 index 0b42a90e0..000000000 Binary files a/src/ui/dist/assets/Sports-47b2f775.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Sports-X8cpF4Tf.js b/src/ui/dist/assets/Sports-X8cpF4Tf.js new file mode 100644 index 000000000..5a08bc27e --- /dev/null +++ b/src/ui/dist/assets/Sports-X8cpF4Tf.js @@ -0,0 +1 @@ +import{F as D}from"./FullShelf-DRbcKza6.js";import{_ as C,C as x,f as w,o as p,i as v,w as M,a as r,t as f,Q as A,$ as N,N as F,c as m,g as V,F as S,h as y,d as B,l as O,m as j}from"./index-DnhwPdfm.js";const H={name:"FootballItem",components:{Card:x},methods:{redirect(){window.open(this.oref)},remove(e){e.stopPropagation(),this.$emit("remove")}},props:{result:String,date:String,competition:String,href:String,oref:String,team1:String,team2:String,progress:String}},L={class:"wrapper topalign"},b={class:"wrapper"},J=["innerHTML"],P=["innerHTML"],U=["innerHTML"],W={class:"wrapper bottomalign"},$={class:"small"};function E(e,s,t,c,n,o){const u=w("Card");return p(),v(u,{class:"itemBig","with-hover":""},{default:M(()=>{var h;return[r("div",{class:"item",onClick:s[1]||(s[1]=(...i)=>o.redirect&&o.redirect(...i))},[r("div",L,[r("p",null,f(t.competition),1),r("p",{class:A([{accent:(h=t.progress)==null?void 0:h.includes("'")},"right progress"])},f(t.progress),3)]),r("div",b,[r("p",{class:"team",innerHTML:t.team1},null,8,J),r("h4",{class:"result",innerHTML:t.result},null,8,P),r("p",{class:"team",innerHTML:t.team2},null,8,U)]),r("div",W,[r("p",$,f(t.date)+", "+f(t.href),1),r("span",{class:"deleteIcon small material-icons-round",onClick:s[0]||(s[0]=(...i)=>o.remove&&o.remove(...i))},"clear")])])]}),_:1})}const K=C(H,[["render",E],["__scopeId","data-v-51368764"]]),R={components:{TextInputWithIcon:N,FullShelf:D,FootballItem:K},name:"Sports",data(){return{sports:[],watchMatches:[],sourceToAdd:"",supportedSources:["https://onefootball.com/en/team/","https://onefootball.com/en/match/","https://onefootball.com/en/competition/","https://www.cev.eu/match-centres/","https://championsleague.cev.eu/en/match-centres/","https://www.cev.eu/calendar/","https://cev-nex.tk/#/match/","https://cevnex.tk/#/match/"]}},mounted(){this.watchMatches=JSON.parse(window.localStorage.getItem("sports.watchMatches"))||[],this.updateMatches()},computed:{volleyMatches(){return this.watchMatches.filter(e=>e.includes("cev")).map(e=>{let s=e;return e.includes("nex.tk")&&(s=e.split("/match/")[1]),{src:s,ref:e}})},notVolleyMatches(){return this.watchMatches.filter(e=>!e.includes("cev"))}},methods:{removeSource(e,s,t){this.watchMatches.splice(this.watchMatches.indexOf(e),1),this.sports[s].items.splice(t,1),window.localStorage.setItem("sports.watchMatches",JSON.stringify(this.watchMatches))},removeSourceD(e){this.watchMatches.splice(this.watchMatches.indexOf(e),1),window.localStorage.setItem("sports.watchMatches",JSON.stringify(this.watchMatches))},tryAddSource(){for(const e of this.supportedSources)if(this.sourceToAdd.startsWith(e)){this.addSource();return}F.addError("unsupported source")},addSource(){this.watchMatches.push(this.sourceToAdd),window.localStorage.setItem("sports.watchMatches",JSON.stringify(this.watchMatches)),this.sourceToAdd=""},updateMatches(){(this.$route.path=="/sports"||this.$route.path=="/sports/")&&(fetch("/api/sports",{method:"POST",body:JSON.stringify({urls:this.notVolleyMatches})}).then(e=>e.json()).then(e=>{this.sports=[];for(const s of e){const t=this.sports.findIndex(c=>c.sport==s.sport);t>=0?this.sports[t].items.push(s):this.sports.push({sport:s.sport,icon:s.sportIcon,items:[s]})}for(const s of this.sports)s.items.sort((t,c)=>{if(t.progress=t.progress.replace("Half time","45'"),c.progress=c.progress.replace("Half time","45'"),(t.progress.includes("Pens")||t.progress.includes("N/A"))&&(t.progress="Full time"),(c.progress.includes("Pens")||c.progress.includes("N/A"))&&(c.progress="Full time"),t.progress.includes("'")&&!c.progress.includes("'"))return-1;if(!t.progress.includes("'")&&c.progress.includes("'"))return 1;if(t.progress.includes("'")&&c.progress.includes("'")){const _=Number(t.progress.replace("'","").replace("+","")),k=Number(c.progress.replace("'","").replace("+",""));return __.toISOString().split("T")[0];n=n.replace("Today",a(i)).split("/").reverse().join("-"),n=n.replace("Tomorrow",a(l)).split("/").reverse().join("-"),n=n.replace("Yesterday",a(d)).split("/").reverse().join("-"),o=o.replace("Today",a(i)).split("/").reverse().join("-"),o=o.replace("Tomorrow",a(l)).split("/").reverse().join("-"),o=o.replace("Yesterday",a(d)).split("/").reverse().join("-");let g=new Date(`${n}T${u}`.replace(" ","")),I=new Date(`${o}T${h}`.replace(" ",""));return g>I?-1:g==I?0:1})}),setTimeout(this.updateMatches,1e3*45))}}},T=e=>(O("data-v-e7921c74"),e=e(),j(),e),Y={class:"news"},z=T(()=>r("div",{class:"padding-20"},[r("h1",null,"Sports")],-1)),Q=T(()=>r("hr",null,null,-1)),q={class:"padding-20"},G={class:"small"},X={class:"addWrapper"},Z=T(()=>r("hr",null,null,-1)),ee=["src"],te=["onClick"];function se(e,s,t,c,n,o){const u=w("TextInputWithIcon"),h=w("football-item"),i=w("full-shelf");return p(),m("div",Y,[z,Q,r("div",q,[r("p",G," Supported urls: "+f(n.supportedSources.join("*, ")),1),r("div",X,[V(u,{modelValue:n.sourceToAdd,"onUpdate:modelValue":s[0]||(s[0]=l=>n.sourceToAdd=l),icon:"link",onKeyup:e.enterText},null,8,["modelValue","onKeyup"]),r("span",{id:"addToPlaylist",class:"material-icons-outlined",onClick:s[1]||(s[1]=(...l)=>o.tryAddSource&&o.tryAddSource(...l))},"add_circle")]),Z,(p(!0),m(S,null,y(n.sports,(l,d)=>(p(),v(i,{key:l.sport,heading:l.sport,icon:l.icon},{default:M(()=>[(p(!0),m(S,null,y(l.items,(a,g)=>(p(),v(h,{key:a.href,competition:a.competition,date:a.date,href:a.href,oref:a.oref,progress:a.progress,result:a.result,team1:a.team1,team2:a.team2,onRemove:()=>o.removeSource(a.sref,d,g)},null,8,["competition","date","href","oref","progress","result","team1","team2","onRemove"]))),128))]),_:2},1032,["heading","icon"]))),128)),o.volleyMatches.length?(p(),v(i,{key:0,heading:"Volleyball",icon:"sports_volleyball"},{default:M(()=>[(p(!0),m(S,null,y(o.volleyMatches,(l,d)=>(p(),m("div",{key:d,class:"wrapIframe"},[r("iframe",{src:`https://cev-nex.tk/#/embed?match=${l.src}`},null,8,ee),r("span",{class:"deleteIcon small material-symbols-rounded",onClick:()=>o.removeSourceD(l.ref)},"clear",8,te)]))),128))]),_:1})):B("",!0)])])}const ae=C(R,[["render",se],["__scopeId","data-v-e7921c74"]]);export{ae as default}; diff --git a/src/ui/dist/assets/Sports-X8cpF4Tf.js.gz b/src/ui/dist/assets/Sports-X8cpF4Tf.js.gz new file mode 100644 index 000000000..8b085a47f Binary files /dev/null and b/src/ui/dist/assets/Sports-X8cpF4Tf.js.gz differ diff --git a/src/ui/dist/assets/Sports-ad2591fa.css b/src/ui/dist/assets/Sports-_g5alLYh.css similarity index 71% rename from src/ui/dist/assets/Sports-ad2591fa.css rename to src/ui/dist/assets/Sports-_g5alLYh.css index 69a311f38..70cd490a3 100644 --- a/src/ui/dist/assets/Sports-ad2591fa.css +++ b/src/ui/dist/assets/Sports-_g5alLYh.css @@ -1 +1 @@ -p.note[data-v-b3cf3eea]{font-size:.8em}.itemBig[data-v-b3cf3eea]{grid-column:span 2;background:var(--bg-base-lt);border-radius:20px;min-height:15vh;margin:10px}.item[data-v-b3cf3eea]{display:flex;flex-direction:column;padding:20px;min-height:calc(100% - 40px)}.wrapper[data-v-b3cf3eea]{display:flex;flex-direction:row;justify-content:space-between;align-items:center;flex-grow:1;margin-bottom:20px}.topalign[data-v-b3cf3eea]{align-items:flex-start;flex-grow:0}.bottomalign[data-v-b3cf3eea]{align-items:flex-end;flex-grow:0;margin-bottom:0}.team[data-v-b3cf3eea]{display:flex;flex-direction:row;flex:1}.itemBig[data-v-b3cf3eea]:hover{cursor:pointer}img[data-v-b3cf3eea]{border-radius:2px;margin-bottom:20px}h4[data-v-b3cf3eea]{margin:0;font-size:1em;min-width:110px;text-align:center}p[data-v-b3cf3eea]{margin:0;color:var(--fg-base-dk);font-size:.9em}.small[data-v-b3cf3eea]{font-size:.6em;margin:auto auto 0 0;display:inline-block;max-width:calc(100% - 40px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:top}p.right[data-v-b3cf3eea]{text-align:right}p.progress[data-v-b3cf3eea]{min-width:60px}.deleteIcon[data-v-b3cf3eea]{font-size:1em;margin:0 0 0 10px}a.match-score-team{display:flex;flex-direction:row;text-decoration:none;justify-content:space-between;align-items:center}span.match-score-team__name{text-decoration:none;font-size:1em}a.match-score-team.match-score-team--home{flex-direction:row-reverse}of-match-score-team{width:100%}span.match-score-team__name--away{text-align:right}img.teamlogo{width:29px;height:auto}p.accent{color:var(--fg-secondary)}p.muted{color:var(--fg-base-dk)}p.additional-result{margin:0;font-size:.8em;max-width:105px}p.smaller{font-size:.6em}p.team a,p.team a:hover{color:var(--fg-base-dk)}.padding-20[data-v-e7921c74]{padding:20px}h1[data-v-e7921c74]{margin-left:10px}#addToPlaylist[data-v-e7921c74]{cursor:pointer;font-size:60px;width:70px;line-height:70px;text-align:center;align-items:center;vertical-align:middle}#addToPlaylist[data-v-e7921c74]:hover{cursor:pointer;font-size:62px}input[data-v-e7921c74]{margin-left:10px;margin-bottom:20px;border-radius:40px;border:none;padding:10px;font-family:var(--font-family);width:20vw;color:var(--font-contrast);background-color:var(--font-colour)}input[data-v-e7921c74]:focus{outline:none}.addWrapper[data-v-e7921c74]{display:flex;flex-direction:row;align-items:center;margin-bottom:1em}p.small[data-v-e7921c74]{color:var(--font-darker);font-size:.8em;margin:0 10px}p.small a[data-v-e7921c74]{color:var(--font-darker)}p.small a[data-v-e7921c74]:hover{color:var(--font-colour)}iframe[data-v-e7921c74]{border:none;width:calc(100% - 20px);margin:10px;border-radius:20px}.wrapIframe[data-v-e7921c74]{grid-column:span 2;position:relative}.wrapIframe .deleteIcon[data-v-e7921c74]{position:absolute;bottom:30px;right:30px}.wrapIframe .deleteIcon[data-v-e7921c74]:hover{cursor:pointer}.wrapIframe iframe[data-v-e7921c74]{border:var(--border-container)} +p.note[data-v-51368764]{font-size:.8em}.itemBig[data-v-51368764]{grid-column:span 2;background:var(--bg-base-lt);border-radius:20px;min-height:15vh;margin:10px}.item[data-v-51368764]{display:flex;flex-direction:column;padding:20px;min-height:calc(100% - 40px)}.wrapper[data-v-51368764]{display:flex;flex-direction:row;justify-content:space-between;align-items:center;flex-grow:1;margin-bottom:20px}.topalign[data-v-51368764]{align-items:flex-start;flex-grow:0}.bottomalign[data-v-51368764]{align-items:flex-end;flex-grow:0;margin-bottom:0}.team[data-v-51368764]{display:flex;flex-direction:row;flex:1}.itemBig[data-v-51368764]:hover{cursor:pointer}img[data-v-51368764]{border-radius:2px;margin-bottom:20px}h4[data-v-51368764]{margin:0;font-size:1em;min-width:110px;text-align:center}p[data-v-51368764]{margin:0;color:var(--fg-base-dk);font-size:.9em}.small[data-v-51368764]{font-size:.6em;margin:auto auto 0 0;display:inline-block;max-width:calc(100% - 40px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:top}p.right[data-v-51368764]{text-align:right}p.progress[data-v-51368764]{min-width:60px}.deleteIcon[data-v-51368764]{font-size:1em;margin:0 0 0 10px}a.match-score-team{display:flex;flex-direction:row;text-decoration:none;justify-content:space-between;align-items:center}span.match-score-team__name{text-decoration:none;font-size:1em}a.match-score-team.match-score-team--home{flex-direction:row-reverse}of-match-score-team{width:100%}span.match-score-team__name--away{text-align:right}img.teamlogo{width:29px;height:auto}p.accent{color:var(--fg-secondary)}p.muted{color:var(--fg-base-dk)}p.additional-result{margin:0;font-size:.8em;max-width:105px}p.smaller{font-size:.6em}p.team a,p.team a:hover{color:var(--fg-base-dk)}.padding-20[data-v-e7921c74]{padding:20px}h1[data-v-e7921c74]{margin-left:10px}#addToPlaylist[data-v-e7921c74]{cursor:pointer;font-size:60px;width:70px;line-height:70px;text-align:center;align-items:center;vertical-align:middle}#addToPlaylist[data-v-e7921c74]:hover{cursor:pointer;font-size:62px}input[data-v-e7921c74]{margin-left:10px;margin-bottom:20px;border-radius:40px;border:none;padding:10px;font-family:var(--font-family);width:20vw;color:var(--font-contrast);background-color:var(--font-colour)}input[data-v-e7921c74]:focus{outline:none}.addWrapper[data-v-e7921c74]{display:flex;flex-direction:row;align-items:center;margin-bottom:1em}p.small[data-v-e7921c74]{color:var(--font-darker);font-size:.8em;margin:0 10px}p.small a[data-v-e7921c74]{color:var(--font-darker)}p.small a[data-v-e7921c74]:hover{color:var(--font-colour)}iframe[data-v-e7921c74]{border:none;width:calc(100% - 20px);margin:10px;border-radius:20px}.wrapIframe[data-v-e7921c74]{grid-column:span 2;position:relative}.wrapIframe .deleteIcon[data-v-e7921c74]{position:absolute;bottom:30px;right:30px}.wrapIframe .deleteIcon[data-v-e7921c74]:hover{cursor:pointer}.wrapIframe iframe[data-v-e7921c74]{border:var(--border-container)} diff --git a/src/ui/dist/assets/Sports-_g5alLYh.css.gz b/src/ui/dist/assets/Sports-_g5alLYh.css.gz new file mode 100644 index 000000000..e1cb61014 Binary files /dev/null and b/src/ui/dist/assets/Sports-_g5alLYh.css.gz differ diff --git a/src/ui/dist/assets/Sports-ad2591fa.css.gz b/src/ui/dist/assets/Sports-ad2591fa.css.gz deleted file mode 100644 index 5b782bd5a..000000000 Binary files a/src/ui/dist/assets/Sports-ad2591fa.css.gz and /dev/null differ diff --git a/src/ui/dist/assets/Template-96d3b86b.js b/src/ui/dist/assets/Template-96d3b86b.js deleted file mode 100644 index 52d575dd0..000000000 --- a/src/ui/dist/assets/Template-96d3b86b.js +++ /dev/null @@ -1 +0,0 @@ -import{e as H,n as g,E as L,D as q,y as ee,a1 as be,o as m,c as b,r as ue,a2 as W,a3 as ke,N as j,a4 as le,O as K,Q as de,_ as G,a as p,t as F,d as S,F as Y,h as ae,b as N,i as A,a5 as $e,a6 as ce,a7 as pe,g as w,P as ve,z as Ce,B as Pe,a8 as Se,w as V,v as Ve,a9 as me,A as Ie,aa as Me,ab as Te,u as E,I as se,j as te,q as ye,f as Q,ac as fe,a0 as Fe,ad as oe,ae as Oe,H as qe,C as ne,Z as Ae,Y as De,af as ie,l as _e,m as he,ag as Ue}from"./index-4a15a213.js";import{P as Be}from"./PlaylistEntry-4f48a6f3.js";import{d as Ee}from"./vuedraggable.umd-c5c8aeea.js";import{F as Z}from"./FactCard-07fe2677.js";import{G as He}from"./gistClient-56b8a233.js";import{M as Ne,_ as Le}from"./Markdown.vue_vue_type_style_index_0_lang-99c6b55d.js";const Re=t=>{const{search:f,artist:a,title:n,album:e,order:y,sort:i}=t;return(f==null?void 0:f.length)||(a==null?void 0:a.length)||(n==null?void 0:n.length)||(e==null?void 0:e.length)||y!="asc"||i!="index"},je=(t,f)=>{const{search:a,artist:n,title:e,album:y,sort:i}=f;return t.map(_=>{const o=a!=null&&a.length?_.title.toLowerCase().includes(a.toLowerCase())||_.artist.toLowerCase().includes(a.toLowerCase()):!0,h=n!=null&&n.length?n.includes(_.artist):!0,d=e!=null&&e.length?e.includes(_.title):!0,l=y!=null&&y.length?y.includes(_.album.name):!0;return{..._,show:o&&h&&d&&l,index:t.indexOf(_)}}).sort((_,o)=>{const h=_[i],d=o[i];return hd?1:0})},ze=t=>t.map(f=>({label:f.title,value:f.title})),Ge=t=>t.map(f=>({label:f.album.name,value:f.album.name})),Ye=t=>{const f=new Set;for(const a of t)for(const n of a.artist.split(", "))f.add(n);return Array.from(f).sort().map(a=>({label:a,value:a}))},We=["placeholder"],Ke=H({__name:"EditableText",props:{modelValue:{type:String,required:!0},locked:{type:Boolean,default:!1},noOutline:{type:Boolean,default:!1},placeholder:{type:String,default:"Click to edit"}},emits:["update:modelValue","change"],setup(t,{emit:f}){const a=t,n=g(a.modelValue);L(()=>a.modelValue,l=>n.value=l);const e=g(!1),y=f,i=g(null),_=()=>{a.locked||(e.value=!0,de(()=>{i.value&&i.value.focus()}))},o=q(()=>a.locked?!0:e.value?!1:n.value),h=l=>{n.value=l,y("change",l),y("update:modelValue",l)},d=()=>{i.value&&(i.value.style.height="auto",i.value.style.height=i.value.scrollHeight+"px")};return ee(()=>d()),be(()=>{e.value&&d()}),(l,s)=>(m(),b("div",{class:K(["editable-text",{outlined:!t.noOutline&&e.value}]),onDblclick:j(_,["stop"])},[o.value?ue(l.$slots,"default",{key:0},void 0,!0):W((m(),b("textarea",{key:1,ref_key:"area",ref:i,rows:"1","onUpdate:modelValue":s[0]||(s[0]=r=>n.value=r),onChange:s[1]||(s[1]=r=>h(r.target.value)),onInput:s[2]||(s[2]=r=>d()),onClick:s[3]||(s[3]=j(r=>e.value=!0,["stop"])),onKeydown:[s[4]||(s[4]=le(r=>e.value=!1,["enter"])),s[5]||(s[5]=le(r=>e.value=!1,["esc"]))],onBlur:s[6]||(s[6]=r=>e.value=!1),placeholder:t.placeholder},null,40,We)),[[ke,n.value]])],34))}});const re=G(Ke,[["__scopeId","data-v-f05f8e35"]]),Xe={class:"flex flex-row gap-2 items-center overflow-hidden"},Qe={key:0,class:"material-symbols-rounded ms-wght-200"},Ze={class:"selected-labels"},Je=["onClick"],et={class:"material-symbols-rounded"},tt=["onClick"],lt={class:"material-symbols-rounded"},at={key:0,class:"material-symbols-rounded"},st=H({__name:"MultiSelect",props:{modelValue:{type:Array,required:!0},options:{type:Array,required:!0},icon:{type:String,required:!1}},emits:["update:modelValue"],setup(t,{emit:f}){const a=t,n=g(a.modelValue),e=g(!1),y=f;L(a,d=>{n.value=d.modelValue},{deep:!0});const i=d=>{n.value.includes(d)?n.value=n.value.filter(l=>l!=d):n.value.push(d),y("update:modelValue",n.value),e.value=!1},_=q(()=>{const d=[];for(const l of n.value){const s=a.options.find(r=>r.value==l);s&&d.push(s.label)}return d}),o=g(null),h=g(null);return L(e,d=>{de(()=>{if(d){const l=o.value.getBoundingClientRect(),s=h.value.getBoundingClientRect(),r=s.top,c=s.bottom,v=window.innerHeight-c,k=s.width;o.value.style.width=k+"px",o.value.style.left=s.left+"px",v>l.height?(o.value.style.top=c+"px",o.value.style.bottom="auto"):(o.value.style.top="auto",o.value.style.bottom=r-l.height+"px")}})}),window.addEventListener("click",()=>{e.value=!1}),(d,l)=>(m(),b("div",{ref_key:"container",ref:h,class:"dropdown"},[p("div",{class:K([{expanded:e.value},"dropdown__selected"]),onClick:l[0]||(l[0]=j(s=>e.value=!e.value,["stop"]))},[p("div",Xe,[t.icon?(m(),b("span",Qe,F(t.icon),1)):S("",!0),p("div",Ze,[(m(!0),b(Y,null,ae(_.value,s=>(m(),b("span",{key:s,class:"selected-label"},[N(F(s)+" ",1),p("i",{class:"material-symbols-rounded",onClick:r=>i(s)}," close ",8,Je)]))),128))])]),p("i",et,F(e.value?"expand_less":"expand_more"),1)],2),(m(),A($e,{to:"#dropdown-target"},[e.value?(m(),b("div",{key:0,ref_key:"trueDropdown",ref:o,class:"dropdown__options"},[(m(!0),b(Y,null,ae(t.options,s=>(m(),b("div",{key:s.value,class:"dropdown__option",onClick:j(r=>i(s.value),["stop"])},[p("span",lt,F(s.icon),1),p("span",null,F(s.label),1),n.value.includes(s.value)?(m(),b("span",at,"check")):S("",!0)],8,tt))),128))],512)):S("",!0)]))],512))}});const J=G(st,[["__scopeId","data-v-65a2fc08"]]),ot={class:"upperWrapper"},nt={class:"font-black"},it={class:"padding-20 darkback"},rt=H({__name:"FixedPlaylistHeader",props:{accentColour:{type:String},playlist:{type:Object,required:!0}},setup(t){const f=ce(),a=t,n=q(()=>f.playlistPlayOrPauseIcon(a.playlist.id));return(e,y)=>(m(),b("div",{class:"fixedPlaylistHeader",style:Ce({"--colour":t.accentColour})},[t.playlist.cover?(m(),A(pe,{key:0,src:t.playlist.cover},null,8,["src"])):S("",!0),p("div",ot,[p("span",{id:"loadPlaylist",class:"material-symbols-rounded hideIfMobile ms-fill",onClick:y[0]||(y[0]=i=>this.$emit("loadPlaylist"))},F(n.value),1),p("h3",nt,F(t.playlist.name),1)]),p("div",it,[w(ve,{class:"fixedHeader hideIfMobile","with-album":"","with-more":""})])],4))}});const ut=G(rt,[["__scopeId","data-v-88f85c6b"]]),dt=H({__name:"AddNewSong",emits:["update","close"],setup(t,{expose:f,emit:a}){const n=Pe(),e=a,y={title:"",artist:"",artists:[],album:"",cover:"",source:"",href:""},i=async(r,c)=>{const v=Ie(String(new Date().getTime())),k=new FormData,U="."+c.name.split(".").pop();var P=c.slice(0,c.size,c.type),$=new File([P],v+U,{type:c.type});return k.append("file",$),await(await fetch(r,{method:"POST",body:k})).text()},_=g(null),o=g([{name:"source",type:"upload",accept:"audio/mp3",required:!0,onUpload:r=>{i("/api/config/tracks",r).then(c=>o.value.find(v=>v.name=="source").value=c)},onChange:async r=>{const c=await Se(r);o.value.find(v=>v.name==="title").value=c.title,o.value.find(v=>v.name==="artist").value=c.artist,o.value.find(v=>v.name==="album").value=c.album,o.value.find(v=>v.name==="cover").value=c.cover,o.value.find(v=>v.name==="source").value=c.source,_.value=c.track.metadata},value:y.source},{name:"title",type:"text",icon:"title",required:!0,value:y.title},{name:"artist",type:"text",icon:"person",required:!0,value:y.artist},{name:"album",type:"text",icon:"album",value:y.album},{name:"cover",type:"upload",accept:"image/*",imagePreview:!0,value:y.cover,onUpload:r=>{i("/api/config/images",r).then(c=>o.value.find(v=>v.name=="cover").value=c)}}]),h=g(null),d=g(null),l=async()=>{if(h.value.show(),!navigator.clipboard)return;const r=await navigator.clipboard.readText();if(!Me(r))return;const c=o.value.find(v=>v.name==="source");c.value=r,c.onChange(r)},s=async r=>{const c=n.params.id;await Te(c,{...d.value.toObject(),metadata:_.value}),e("update")};return f({show:l,options:o}),(r,c)=>(m(),A(me,{ref_key:"modal",ref:h,submit:{label:"Add",icon:"add"},name:"Add Song",onClose:c[0]||(c[0]=v=>r.$emit("close")),onSubmit:s},{default:V(()=>[w(Ve,{ref_key:"form",ref:d,options:o.value},null,8,["options"])]),_:1},512))}}),ct=["innerHTML"],pt={class:"buttons w-full justify-end flex gap-2"},vt=H({__name:"Confirmation",props:{title:{type:String,required:!0},question:{type:String,required:!0},closeOnNo:{type:Boolean,required:!1,default:!0}},emits:["close","update","yes","no"],setup(t,{expose:f,emit:a}){const n=t,e=a,y=g(null),i=new Ne;f({show:()=>{y.value.show()}});const o=()=>{n.closeOnNo&&y.value.hide(),e("no")};return(h,d)=>(m(),A(me,{ref_key:"modal",ref:y,name:t.title,onClose:d[1]||(d[1]=l=>h.$emit("close"))},{default:V(()=>[p("div",{class:"overflow-hidden",innerHTML:E(i).render(t.question)},null,8,ct),p("div",pt,[w(se,{type:"success",icon:"check",label:"Yes",onClick:d[0]||(d[0]=l=>h.$emit("yes"))}),w(se,{type:"danger",icon:"close",label:"No",onClick:o})])]),_:1},8,["name"]))}});const mt=p("span",{class:"material-symbols-rounded"},"edit",-1),yt=p("span",{class:"material-symbols-rounded"},"delete",-1),ft=p("span",{class:"material-symbols-rounded"},"share",-1),_t=H({__name:"PlaylistContext",props:{playlist:{type:Object,required:!0},canEdit:{type:Boolean,required:!1,default:!1}},setup(t,{expose:f}){const a=t,n=te(),e=ye(),y=g(null),i=g(null),_=g(""),o=g(null),h=g(null),d=g(""),l=g(""),s=($=null)=>{i.value.visible?r():c($)},r=()=>{i.value.hide()},c=($=null)=>{const T=y.value.getBoundingClientRect();if($){i.value.show({top:$.clientY,left:$.clientX});return}const I={top:T.height+T.top+window.scrollY,left:T.width+T.left+window.scrollX};i.value.show(I)};f({show:c,toggle:s,hide:r});const v=()=>{e.push(`/playlist/${a.playlist.id}/edit`)},k=async()=>{await Fe(a.playlist.id),await n.fetchPlaylists(),e.push("/")},U=async()=>{const $=await oe(a.playlist);Oe($,a.playlist.name)},P=async()=>{const $=await oe(a.playlist),T=`${a.playlist.name}.one.playlist`,I=await He.save({[T]:$},a.playlist.name,!0),R=I.files[T].raw_url,C=I.id,u=I.owner.login,D=R.split("/raw/")[1].split("/")[0],O=`gist:${u}:${C}:${D}`,M=btoa(O);_.value=`http://localhost:1234/import/${M}`,l.value=`Share this URL to import this playlist on another device: [${_.value}](${_.value})`,d.value="Share "+a.playlist.name,o.value.show()};return ee(()=>{document.addEventListener("click",r)}),($,T)=>{const I=Q("v-contextmenu-item"),z=Q("v-contextmenu-submenu"),R=Q("v-contextmenu"),C=fe("contextmenu");return W((m(),b("div",{ref_key:"box",ref:y},[ue($.$slots,"default"),w(Le,{ref_key:"markdownRef",ref:o,title:d.value,content:l.value,onClose:r},null,8,["title","content"]),w(vt,{ref_key:"confirmation",ref:h,title:"Delete Playlist",question:"Are you sure you want to delete this playlist?",onYes:k,onNo:r,"close-on-no":""},null,512),w(R,{ref_key:"contextmenu",ref:i},{default:V(()=>[t.canEdit?(m(),A(I,{key:0,onClick:v},{default:V(()=>[mt,N(" Edit ")]),_:1})):S("",!0),w(I,{onClick:T[0]||(T[0]=u=>h.value.show())},{default:V(()=>[yt,N(" Delete ")]),_:1}),w(I,null,{default:V(()=>[ft,w(z,{title:"Export..."},{default:V(()=>[w(I,{onClick:U},{default:V(()=>[N(" to file ")]),_:1}),w(I,{onClick:P},{default:V(()=>[N(" to GitHub Gists ")]),_:1})]),_:1})]),_:1})]),_:1},512)])),[[C,void 0,"contextmenu"]])}}}),ge=t=>(_e("data-v-9965483f"),t=t(),he(),t),ht={class:"upper relative"},gt={class:"track__info__details"},xt={class:"trac__info__details__normal"},wt={key:0,class:"flex flex-row items-center gap-2 playlist-type"},bt={class:"material-symbols-rounded"},kt={class:"flex flew-row items-center"},$t={class:"font-black text-5xl ml-4 w-full flex-1"},Ct={class:"text-muted"},Pt={class:"features flex flex-row gap-4 pt-4 pb-2 overflow-x-auto"},St=ge(()=>p("span",{class:"text-muted"},"Add a song",-1)),Vt=ge(()=>p("span",{class:"text-muted"},"More...",-1)),It={key:0,class:"filters mt-4"},Mt=H({__name:"PlaylistMeta",props:{playlist:{type:Object,required:!1},coverIcon:{type:String,required:!0}},setup(t,{expose:f}){var z,R;const a=t,n=g(),e=q(()=>a.playlist),y=g(!0);ye();const i=ce(),_=te(),o=g(((z=e.value)==null?void 0:z.name.trim())??""),h=g(((R=e.value)==null?void 0:R.description.trim())??""),d=()=>({sort:"index",order:"asc",search:"",title:[],artist:[],album:[]}),l=g(null),s=()=>{l.value={...d()}};s(),f({songFilters:l}),L(()=>e.value,()=>{var C,u;o.value=((C=e.value)==null?void 0:C.name.trim())??"",h.value=((u=e.value)==null?void 0:u.description.trim())??"",s()}),L([o,h],()=>{var u,D;if(o.value===((u=e.value)==null?void 0:u.name)&&h.value===((D=e.value)==null?void 0:D.description))return;const C={...e.value,name:o.value,description:h.value};ie(C),_.fetchPlaylists(e.value.id)});const r=(C,u)=>{y.value=C},c=q(()=>e.value.type==="classic"),v=q(()=>["smart"].includes(e.value.type)),k=[{value:"title",label:"Title",icon:"title"},{value:"artist",label:"Artist",icon:"person"},{value:"album",label:"Album",icon:"album"},{value:"duration",label:"Duration",icon:"timer"},{value:"index",label:"Added",icon:"date_range"}],U=q(()=>{let C=0,u=!1;if(!e.value.songs.length)return"N/A";for(const B of e.value.songs){u=u||B.duration<=0;const X=B.duration<=0?3*60:B.duration;C+=X}const D=C,O=Math.floor(D/60),M=Math.floor(O/60),x=u?"about ":"";return M?x+`${M} hr ${O-M*60} min`:O?x+`${O} min ${D-O*60} sec`:x+C+" sec"}),P=g(null),$=async C=>{const D=await(async(O,M)=>{const x=new FormData,B="."+M.name.split(".").pop();var X=M.slice(0,M.size,M.type),we=new File([X],a.playlist.name+B,{type:M.type});return x.append("file",we),await(await fetch(O,{method:"POST",body:x})).text()})("/api/config/images",P.value.files[0]);ie({...e.value,cover:D})},T=q(()=>i.playlistPlayOrPauseIcon(e.value.id)),I=()=>{i.playlistId===e.value.id?i.playPause():i.loadPlaylist(e.value.id)};return(C,u)=>{const D=fe("observe-visibility");return m(),A(_t,{ref_key:"contextmenu",ref:n,playlist:e.value,"can-edit":v.value},{default:V(()=>{var O,M;return[e.value?(m(),A(ut,{key:0,ref:"fixedHeading",class:K({hidden:y.value}),playlist:e.value,onLoadPlaylist:I},null,8,["class","playlist"])):S("",!0),w(dt,{ref:"addSongPopup",onUpdate:u[0]||(u[0]=x=>E(_).fetchPlaylists())},null,512),W((m(),b("div",ht,[w(qe,{placeholder:t.coverIcon,src:e.value.cover,class:"cover rounded-xl",type:"playlist",name:e.value.name,onClick:u[1]||(u[1]=x=>{var B;return(B=P.value)==null?void 0:B.click()})},null,8,["placeholder","src","name"]),v.value?S("",!0):(m(),b("input",{key:0,ref_key:"imgUpload",ref:P,type:"file",accept:"image/*",class:"hidden",onChange:$},null,544)),p("div",gt,[p("div",xt,[e.value.type!="classic"?(m(),b("div",wt,[p("span",bt,F(e.value.type=="smart"?"neurology":"bolt"),1),p("span",null,F(e.value.type)+" Playlist",1)])):S("",!0),p("div",kt,[p("span",{class:"text-5xl cursor-pointer material-symbols-rounded ms-fill my-auto",onClick:I},F(T.value),1),p("h1",$t,[w(re,{modelValue:o.value,"onUpdate:modelValue":u[2]||(u[2]=x=>o.value=x)},{default:V(()=>[N(F(e.value.name),1)]),_:1},8,["modelValue"])])]),p("p",Ct,[w(re,{modelValue:h.value,"onUpdate:modelValue":u[3]||(u[3]=x=>h.value=x),placeholder:"No description"},{default:V(()=>[N(F(e.value.description),1)]),_:1},8,["modelValue"])])]),p("div",Pt,[w(Z,{"primary-text":(O=e.value.songs)==null?void 0:O.length,"secondary-text":((M=e.value.songs)==null?void 0:M.length)===1?"Song":"Songs",class:"w-full"},null,8,["primary-text","secondary-text"]),w(Z,{"primary-text":U.value,class:"w-full","secondary-text":"Total Duration"},null,8,["primary-text"]),e.value.plays?(m(),A(Z,{key:0,"primary-text":e.value.plays,class:"w-full","secondary-text":"Plays"},null,8,["primary-text"])):S("",!0),c.value?(m(),A(ne,{key:1,class:"p-4 w-1/2 flex flex-col items-center justify-center"},{default:V(()=>[p("span",{id:"addToPlaylist",class:"material-symbols-rounded ms-fill",onClick:u[4]||(u[4]=x=>C.$refs.addSongPopup.show())}," add_circle "),St]),_:1})):S("",!0),e.value.type!="special"?(m(),A(ne,{key:2,class:"p-4 w-1/2 flex flex-col items-center justify-center"},{default:V(()=>[p("span",{id:"addToPlaylist",class:"material-symbols-rounded ms-fill",onClick:u[5]||(u[5]=j(x=>n.value.toggle(x),["prevent","stop"]))}," more_horiz "),Vt]),_:1})):S("",!0)]),e.value.songs?(m(),b("div",It,[w(Ae,{modelValue:l.value.search,"onUpdate:modelValue":u[6]||(u[6]=x=>l.value.search=x),icon:"search",placeholder:"Search"},null,8,["modelValue"]),w(J,{modelValue:l.value.title,"onUpdate:modelValue":u[7]||(u[7]=x=>l.value.title=x),options:E(ze)(e.value.songs),class:"multiselect",icon:"title",placeholder:"Title"},null,8,["modelValue","options"]),w(J,{modelValue:l.value.artist,"onUpdate:modelValue":u[8]||(u[8]=x=>l.value.artist=x),options:E(Ye)(e.value.songs),class:"multiselect",icon:"person",placeholder:"Artist"},null,8,["modelValue","options"]),w(J,{modelValue:l.value.album,"onUpdate:modelValue":u[9]||(u[9]=x=>l.value.album=x),options:E(Ge)(e.value.songs),class:"multiselect",icon:"album",placeholder:"Album"},null,8,["modelValue","options"]),w(De,{modelValue:l.value.sort,"onUpdate:modelValue":u[10]||(u[10]=x=>l.value.sort=x),options:k,icon:"filter_list"},null,8,["modelValue"]),p("span",{class:"cursor-pointer material-symbols-rounded ms-wght-100 text-5xl",onClick:u[11]||(u[11]=x=>l.value.order=l.value.order=="asc"?"desc":"asc")},F(l.value.order=="asc"?"arrow_drop_up":"arrow_drop_down"),1),p("span",{class:"cursor-pointer material-symbols-rounded ms-wght-300 text-3xl mr-2",onClick:s}," delete_sweep ")])):S("",!0)])])),[[D,r]])]}),_:1},8,["playlist","can-edit"])}}});const Tt=G(Mt,[["__scopeId","data-v-9965483f"]]),xe=t=>(_e("data-v-dfe44d69"),t=t(),he(),t),Ft={class:"playlist relative p-4"},Ot={key:0,class:"fill-page"},qt=xe(()=>p("h2",{class:"text-2xl text-center error"},"Playlist not found",-1)),At=[qt],Dt={key:1,class:"wrap"},Ut={class:"track__data"},Bt=xe(()=>p("hr",{class:"mb-4"},null,-1)),Et={key:1,class:"items"},Ht={key:2,class:"text-muted italic text-sm text-center mt-10"},Nt=H({__name:"Template",props:{id:{type:String,required:!0},coverIcon:{type:String,required:!1}},emits:["rearrange"],setup(t,{emit:f}){var c;const a=t,n=te(),e=q(()=>n.getPlaylistById(a.id)),y=g(),i=g(((c=e.value)==null?void 0:c.songs)??[]),_=g(null),o=q(()=>{var v;return((v=y.value)==null?void 0:v.songFilters)??{}});L([o,e],()=>{e.value&&h()},{deep:!0});const h=()=>{var v;i.value=je(((v=e.value)==null?void 0:v.songs)??[],o.value)};ee(()=>{h()}),L(e,()=>{h()});const d=q(()=>e.value.type==="classic"&&document.body.clientWidth>950),l=q(()=>e.value.type==="classic"),s=f,r=v=>{const k=v.moved;k&&s("rearrange",k.oldIndex,k.newIndex)};return(v,k)=>{var U;return m(),b(Y,null,[(U=e.value)!=null&&U.cover?(m(),A(pe,{key:0,placeholder:t.coverIcon,src:e.value.cover},null,8,["placeholder","src"])):S("",!0),p("div",Ft,[e.value?(m(),b("div",Dt,[p("div",Ut,[w(Tt,{ref_key:"playlistMeta",ref:y,playlist:e.value,coverIcon:t.coverIcon},null,8,["playlist","coverIcon"]),i.value.length?(m(),b(Y,{key:0},[w(ve,{class:"hideIfMobile mt-8","with-album":"","with-more":""}),Bt],64)):S("",!0),i.value.length?(m(),b("div",Et,[i.value.length?(m(),A(E(Ee),{key:t.id,modelValue:i.value,"onUpdate:modelValue":k[1]||(k[1]=P=>i.value=P),class:K([o.value.order=="asc"?"flex-col":"flex-col-reverse","flex"]),disabled:E(Re)(o.value)||!d.value,"item-key":"id",onChange:r,onDragover:k[2]||(k[2]=j(()=>{},["stop"]))},{item:V(({element:P})=>[W(w(Be,{index:e.value.songs.findIndex($=>$.source==P.source),"playlist-id":t.id,selected:_.value==P.id,song:P,"with-album":"","with-cover":"","with-more":"",onClick:$=>_.value==P.id?_.value=-1:_.value=P.id,onUpdate:k[0]||(k[0]=$=>E(n).fetchPlaylists())},null,8,["index","playlist-id","selected","song","onClick"]),[[Ue,P.show]])]),_:1},8,["modelValue","class","disabled"])):S("",!0)])):l.value?(m(),b("p",Ht," No songs. Add some! ")):S("",!0)])])):(m(),b("div",Ot,At))])],64)}}});const Kt=G(Nt,[["__scopeId","data-v-dfe44d69"]]);export{Kt as T}; diff --git a/src/ui/dist/assets/Template-96d3b86b.js.gz b/src/ui/dist/assets/Template-96d3b86b.js.gz deleted file mode 100644 index efe94ef56..000000000 Binary files a/src/ui/dist/assets/Template-96d3b86b.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Template-CN0MoJmO.js b/src/ui/dist/assets/Template-CN0MoJmO.js new file mode 100644 index 000000000..6a988e175 --- /dev/null +++ b/src/ui/dist/assets/Template-CN0MoJmO.js @@ -0,0 +1 @@ +import{e as H,n as g,E as N,D as F,y as ee,a2 as be,o as m,c as b,r as ue,a3 as Y,a4 as ke,O as j,a5 as le,Q as K,R as ce,_ as G,a as p,t as O,d as S,F as W,h as ae,b as L,i as A,a6 as $e,a7 as de,a8 as pe,g as x,P as ve,z as Ce,B as Pe,a9 as Se,w as V,v as Ve,aa as me,A as Ie,ab as Me,ac as Te,u as E,I as se,j as te,q as ye,f as Q,ad as fe,a1 as Oe,ae as oe,af as qe,H as Fe,C as ne,$ as Ae,Z as De,ag as ie,l as he,m as _e,ah as Ue}from"./index-DnhwPdfm.js";import{P as Be}from"./PlaylistEntry-B2l8v20L.js";import{d as Ee}from"./vuedraggable.umd-D7qFKUf_.js";import{F as Z}from"./FactCard-D7mi8_uS.js";import{G as He}from"./gistClient-BQBNGijJ.js";import{M as Le,_ as Ne}from"./Markdown.vue_vue_type_style_index_0_lang-fjKVBP59.js";const Re=t=>{const{search:f,artist:a,title:n,album:e,order:y,sort:i}=t;return(f==null?void 0:f.length)||(a==null?void 0:a.length)||(n==null?void 0:n.length)||(e==null?void 0:e.length)||y!="asc"||i!="index"},je=(t,f)=>{const{search:a,artist:n,title:e,album:y,sort:i}=f;return t.map(h=>{const s=a!=null&&a.length?h.title.toLowerCase().includes(a.toLowerCase())||h.artist.toLowerCase().includes(a.toLowerCase()):!0,_=n!=null&&n.length?n.includes(h.artist):!0,c=e!=null&&e.length?e.includes(h.title):!0,l=y!=null&&y.length?y.includes(h.album.name):!0;return{...h,show:s&&_&&c&&l,index:t.indexOf(h)}}).sort((h,s)=>{const _=h[i],c=s[i];return _c?1:0})},ze=t=>t.map(f=>({label:f.title,value:f.title})),Ge=t=>t.map(f=>({label:f.album.name,value:f.album.name})),We=t=>{const f=new Set;for(const a of t)for(const n of a.artist.split(", "))f.add(n);return Array.from(f).sort().map(a=>({label:a,value:a}))},Ye=["placeholder"],Ke=H({__name:"EditableText",props:{modelValue:{type:String,required:!0},locked:{type:Boolean,default:!1},noOutline:{type:Boolean,default:!1},placeholder:{type:String,default:"Click to edit"}},emits:["update:modelValue","change"],setup(t,{emit:f}){const a=t,n=g(a.modelValue);N(()=>a.modelValue,l=>n.value=l);const e=g(!1),y=f,i=g(null),h=()=>{a.locked||(e.value=!0,ce(()=>{i.value&&i.value.focus()}))},s=F(()=>a.locked?!0:e.value?!1:n.value),_=l=>{n.value=l,y("change",l),y("update:modelValue",l)},c=()=>{i.value&&(i.value.style.height="auto",i.value.style.height=i.value.scrollHeight+"px")};return ee(()=>c()),be(()=>{e.value&&c()}),(l,o)=>(m(),b("div",{class:K(["editable-text",{outlined:!t.noOutline&&e.value}]),onDblclick:j(h,["stop"])},[s.value?ue(l.$slots,"default",{key:0},void 0,!0):Y((m(),b("textarea",{key:1,ref_key:"area",ref:i,rows:"1","onUpdate:modelValue":o[0]||(o[0]=r=>n.value=r),onChange:o[1]||(o[1]=r=>_(r.target.value)),onInput:o[2]||(o[2]=r=>c()),onClick:o[3]||(o[3]=j(r=>e.value=!0,["stop"])),onKeydown:[o[4]||(o[4]=le(r=>e.value=!1,["enter"])),o[5]||(o[5]=le(r=>e.value=!1,["esc"]))],onBlur:o[6]||(o[6]=r=>e.value=!1),placeholder:t.placeholder},null,40,Ye)),[[ke,n.value]])],34))}}),re=G(Ke,[["__scopeId","data-v-f05f8e35"]]),Xe={class:"flex flex-row gap-2 items-center overflow-hidden"},Qe={key:0,class:"material-symbols-rounded ms-wght-200"},Ze={class:"selected-labels"},Je=["onClick"],et={class:"material-symbols-rounded"},tt=["onClick"],lt={class:"material-symbols-rounded"},at={key:0,class:"material-symbols-rounded"},st=H({__name:"MultiSelect",props:{modelValue:{type:Array,required:!0},options:{type:Array,required:!0},icon:{type:String,required:!1}},emits:["update:modelValue"],setup(t,{emit:f}){const a=t,n=g(a.modelValue),e=g(!1),y=f;N(a,c=>{n.value=c.modelValue},{deep:!0});const i=c=>{n.value.includes(c)?n.value=n.value.filter(l=>l!=c):n.value.push(c),y("update:modelValue",n.value),e.value=!1},h=F(()=>{const c=[];for(const l of n.value){const o=a.options.find(r=>r.value==l);o&&c.push(o.label)}return c}),s=g(null),_=g(null);return N(e,c=>{ce(()=>{if(c){const l=s.value.getBoundingClientRect(),o=_.value.getBoundingClientRect(),r=o.top,d=o.bottom,v=window.innerHeight-d,k=o.width;s.value.style.width=k+"px",s.value.style.left=o.left+"px",v>l.height?(s.value.style.top=d+"px",s.value.style.bottom="auto"):(s.value.style.top="auto",s.value.style.bottom=r-l.height+"px")}})}),window.addEventListener("click",()=>{e.value=!1}),(c,l)=>(m(),b("div",{ref_key:"container",ref:_,class:"dropdown"},[p("div",{class:K([{expanded:e.value},"dropdown__selected"]),onClick:l[0]||(l[0]=j(o=>e.value=!e.value,["stop"]))},[p("div",Xe,[t.icon?(m(),b("span",Qe,O(t.icon),1)):S("",!0),p("div",Ze,[(m(!0),b(W,null,ae(h.value,o=>(m(),b("span",{key:o,class:"selected-label"},[L(O(o)+" ",1),p("i",{class:"material-symbols-rounded",onClick:r=>i(o)}," close ",8,Je)]))),128))])]),p("i",et,O(e.value?"expand_less":"expand_more"),1)],2),(m(),A($e,{to:"#dropdown-target"},[e.value?(m(),b("div",{key:0,ref_key:"trueDropdown",ref:s,class:"dropdown__options"},[(m(!0),b(W,null,ae(t.options,o=>(m(),b("div",{key:o.value,class:"dropdown__option",onClick:j(r=>i(o.value),["stop"])},[p("span",lt,O(o.icon),1),p("span",null,O(o.label),1),n.value.includes(o.value)?(m(),b("span",at,"check")):S("",!0)],8,tt))),128))],512)):S("",!0)]))],512))}}),J=G(st,[["__scopeId","data-v-8ec711b9"]]),ot={class:"upperWrapper"},nt={class:"font-black"},it={class:"padding-20 darkback"},rt=H({__name:"FixedPlaylistHeader",props:{accentColour:{type:String},playlist:{type:Object,required:!0}},setup(t){const f=de(),a=t,n=F(()=>f.playlistPlayOrPauseIcon(a.playlist.id));return(e,y)=>(m(),b("div",{class:"fixedPlaylistHeader",style:Ce({"--colour":t.accentColour})},[t.playlist.cover?(m(),A(pe,{key:0,src:t.playlist.cover},null,8,["src"])):S("",!0),p("div",ot,[p("span",{id:"loadPlaylist",class:"material-symbols-rounded hideIfMobile ms-fill",onClick:y[0]||(y[0]=i=>this.$emit("loadPlaylist"))},O(n.value),1),p("h3",nt,O(t.playlist.name),1)]),p("div",it,[x(ve,{class:"fixedHeader hideIfMobile","with-album":"","with-more":""})])],4))}}),ut=G(rt,[["__scopeId","data-v-34ec84ab"]]),ct=H({__name:"AddNewSong",emits:["update","close"],setup(t,{expose:f,emit:a}){const n=Pe(),e=a,y={title:"",artist:"",artists:[],album:"",cover:"",source:"",href:""},i=async(r,d)=>{const v=Ie(String(new Date().getTime())),k=new FormData,U="."+d.name.split(".").pop();var P=d.slice(0,d.size,d.type),$=new File([P],v+U,{type:d.type});return k.append("file",$),await(await fetch(r,{method:"POST",body:k})).text()},h=g(null),s=g([{name:"source",type:"upload",accept:"audio/mp3",required:!0,onUpload:r=>{i("/api/config/tracks",r).then(d=>s.value.find(v=>v.name=="source").value=d)},onChange:async r=>{const d=await Se(r);s.value.find(v=>v.name==="title").value=d.title,s.value.find(v=>v.name==="artist").value=d.artist,s.value.find(v=>v.name==="album").value=d.album,s.value.find(v=>v.name==="cover").value=d.cover,s.value.find(v=>v.name==="source").value=d.source,h.value=d.track.metadata},value:y.source},{name:"title",type:"text",icon:"title",required:!0,value:y.title},{name:"artist",type:"text",icon:"person",required:!0,value:y.artist},{name:"album",type:"text",icon:"album",value:y.album},{name:"cover",type:"upload",accept:"image/*",imagePreview:!0,value:y.cover,onUpload:r=>{i("/api/config/images",r).then(d=>s.value.find(v=>v.name=="cover").value=d)}}]),_=g(null),c=g(null),l=async()=>{if(_.value.show(),!navigator.clipboard)return;const r=await navigator.clipboard.readText();if(!Me(r))return;const d=s.value.find(v=>v.name==="source");d.value=r,d.onChange(r)},o=async r=>{const d=n.params.id;await Te(d,{...c.value.toObject(),metadata:h.value}),e("update")};return f({show:l,options:s}),(r,d)=>(m(),A(me,{ref_key:"modal",ref:_,submit:{label:"Add",icon:"add"},name:"Add Song",onClose:d[0]||(d[0]=v=>r.$emit("close")),onSubmit:o},{default:V(()=>[x(Ve,{ref_key:"form",ref:c,options:s.value},null,8,["options"])]),_:1},512))}}),dt=["innerHTML"],pt={class:"buttons w-full justify-end flex gap-2"},vt=H({__name:"Confirmation",props:{title:{type:String,required:!0},question:{type:String,required:!0},closeOnNo:{type:Boolean,required:!1,default:!0}},emits:["close","update","yes","no"],setup(t,{expose:f,emit:a}){const n=t,e=a,y=g(null),i=new Le;f({show:()=>{y.value.show()}});const s=()=>{n.closeOnNo&&y.value.hide(),e("no")};return(_,c)=>(m(),A(me,{ref_key:"modal",ref:y,name:t.title,onClose:c[1]||(c[1]=l=>_.$emit("close"))},{default:V(()=>[p("div",{class:"overflow-hidden",innerHTML:E(i).render(t.question)},null,8,dt),p("div",pt,[x(se,{type:"success",icon:"check",label:"Yes",onClick:c[0]||(c[0]=l=>_.$emit("yes"))}),x(se,{type:"danger",icon:"close",label:"No",onClick:s})])]),_:1},8,["name"]))}}),mt=p("span",{class:"material-symbols-rounded"},"edit",-1),yt=p("span",{class:"material-symbols-rounded"},"delete",-1),ft=p("span",{class:"material-symbols-rounded"},"share",-1),ht=H({__name:"PlaylistContext",props:{playlist:{type:Object,required:!0},canEdit:{type:Boolean,required:!1,default:!1}},setup(t,{expose:f}){const a=t,n=te(),e=ye(),y=g(null),i=g(null),h=g(""),s=g(null),_=g(null),c=g(""),l=g(""),o=($=null)=>{i.value.visible?r():d($)},r=()=>{i.value.hide()},d=($=null)=>{const T=y.value.getBoundingClientRect();if($){i.value.show({top:$.clientY,left:$.clientX});return}const I={top:T.height+T.top+window.scrollY,left:T.width+T.left+window.scrollX};i.value.show(I)};f({show:d,toggle:o,hide:r});const v=()=>{e.push(`/playlist/${a.playlist.id}/edit`)},k=async()=>{await Oe(a.playlist.id),await n.fetchPlaylists(),e.push("/")},U=async()=>{const $=await oe(a.playlist);qe($,a.playlist.name)},P=async()=>{const $=await oe(a.playlist),T=`${a.playlist.name}.one.playlist`,I=await He.save({[T]:$},a.playlist.name,!0),R=I.files[T].raw_url,C=I.id,u=I.owner.login,D=R.split("/raw/")[1].split("/")[0],q=`gist:${u}:${C}:${D}`,M=btoa(q);h.value=`http://localhost:1234/import/${M}`,l.value=`Share this URL to import this playlist on another device: [${h.value}](${h.value})`,c.value="Share "+a.playlist.name,s.value.show()};return ee(()=>{document.addEventListener("click",r)}),($,T)=>{const I=Q("v-contextmenu-item"),z=Q("v-contextmenu-submenu"),R=Q("v-contextmenu"),C=fe("contextmenu");return Y((m(),b("div",{ref_key:"box",ref:y},[ue($.$slots,"default"),x(Ne,{ref_key:"markdownRef",ref:s,title:c.value,content:l.value,onClose:r},null,8,["title","content"]),x(vt,{ref_key:"confirmation",ref:_,title:"Delete Playlist",question:"Are you sure you want to delete this playlist?",onYes:k,onNo:r,"close-on-no":""},null,512),x(R,{ref_key:"contextmenu",ref:i},{default:V(()=>[t.canEdit?(m(),A(I,{key:0,onClick:v},{default:V(()=>[mt,L(" Edit ")]),_:1})):S("",!0),x(I,{onClick:T[0]||(T[0]=u=>_.value.show())},{default:V(()=>[yt,L(" Delete ")]),_:1}),x(I,null,{default:V(()=>[ft,x(z,{title:"Export..."},{default:V(()=>[x(I,{onClick:U},{default:V(()=>[L(" to file ")]),_:1}),x(I,{onClick:P},{default:V(()=>[L(" to GitHub Gists ")]),_:1})]),_:1})]),_:1})]),_:1},512)])),[[C,void 0,"contextmenu"]])}}}),ge=t=>(he("data-v-b4875daf"),t=t(),_e(),t),_t={class:"upper relative"},gt={class:"track__info__details"},wt={class:"trac__info__details__normal"},xt={key:0,class:"flex flex-row items-center gap-2 playlist-type"},bt={class:"material-symbols-rounded"},kt={class:"flex flew-row items-center"},$t={class:"font-black text-5xl ml-4 w-full flex-1"},Ct={class:"text-muted"},Pt={class:"features flex flex-row gap-4 pt-4 pb-2 overflow-x-auto"},St=ge(()=>p("span",{class:"text-muted"},"Add a song",-1)),Vt=ge(()=>p("span",{class:"text-muted"},"More...",-1)),It={key:0,class:"filters relative overflow-clip"},Mt=H({__name:"PlaylistMeta",props:{playlist:{type:Object,required:!1},coverIcon:{type:String,required:!0}},setup(t,{expose:f}){var z,R;const a=t,n=g(),e=F(()=>a.playlist),y=g(!0);ye();const i=de(),h=te(),s=g(((z=e.value)==null?void 0:z.name.trim())??""),_=g(((R=e.value)==null?void 0:R.description.trim())??""),c=()=>({sort:"index",order:"asc",search:"",title:[],artist:[],album:[]}),l=g(null),o=()=>{l.value={...c()}};o(),f({songFilters:l}),N(()=>e.value,()=>{var C,u;s.value=((C=e.value)==null?void 0:C.name.trim())??"",_.value=((u=e.value)==null?void 0:u.description.trim())??""}),N([s,_],()=>{var u,D;if(s.value===((u=e.value)==null?void 0:u.name)&&_.value===((D=e.value)==null?void 0:D.description))return;const C={...e.value,name:s.value,description:_.value};ie(C),h.fetchPlaylists(e.value.id)});const r=(C,u)=>{y.value=C},d=F(()=>e.value.type==="classic"),v=F(()=>["smart"].includes(e.value.type)),k=[{value:"title",label:"Title",icon:"title"},{value:"artist",label:"Artist",icon:"person"},{value:"album",label:"Album",icon:"album"},{value:"duration",label:"Duration",icon:"timer"},{value:"index",label:"Added",icon:"date_range"}],U=F(()=>{let C=0,u=!1;if(!e.value.songs.length)return"N/A";for(const B of e.value.songs){u=u||B.duration<=0;const X=B.duration<=0?3*60:B.duration;C+=X}const D=C,q=Math.floor(D/60),M=Math.floor(q/60),w=u?"about ":"";return M?w+`${M} hr ${q-M*60} min`:q?w+`${q} min ${D-q*60} sec`:w+C+" sec"}),P=g(null),$=async C=>{const D=await(async(q,M)=>{const w=new FormData,B="."+M.name.split(".").pop();var X=M.slice(0,M.size,M.type),xe=new File([X],a.playlist.name+B,{type:M.type});return w.append("file",xe),await(await fetch(q,{method:"POST",body:w})).text()})("/api/config/images",P.value.files[0]);ie({...e.value,cover:D})},T=F(()=>i.playlistPlayOrPauseIcon(e.value.id)),I=()=>{i.playlistId===e.value.id?i.playPause():i.loadPlaylist(e.value.id)};return(C,u)=>{const D=fe("observe-visibility");return m(),A(ht,{ref_key:"contextmenu",ref:n,playlist:e.value,"can-edit":v.value},{default:V(()=>{var q,M;return[e.value?(m(),A(ut,{key:0,ref:"fixedHeading",class:K({hidden:y.value}),playlist:e.value,onLoadPlaylist:I},null,8,["class","playlist"])):S("",!0),x(ct,{ref:"addSongPopup",onUpdate:u[0]||(u[0]=w=>E(h).fetchPlaylists())},null,512),Y((m(),b("div",_t,[x(Fe,{placeholder:t.coverIcon,src:e.value.cover,class:"cover rounded-xl",type:"playlist",name:e.value.name,onClick:u[1]||(u[1]=w=>{var B;return(B=P.value)==null?void 0:B.click()})},null,8,["placeholder","src","name"]),v.value?S("",!0):(m(),b("input",{key:0,ref_key:"imgUpload",ref:P,type:"file",accept:"image/*",class:"hidden",onChange:$},null,544)),p("div",gt,[p("div",wt,[e.value.type!="classic"?(m(),b("div",xt,[p("span",bt,O(e.value.type=="smart"?"neurology":"bolt"),1),p("span",null,O(e.value.type)+" Playlist",1)])):S("",!0),p("div",kt,[p("span",{class:"text-5xl cursor-pointer material-symbols-rounded ms-fill my-auto",onClick:I},O(T.value),1),p("h1",$t,[x(re,{modelValue:s.value,"onUpdate:modelValue":u[2]||(u[2]=w=>s.value=w)},{default:V(()=>[L(O(e.value.name),1)]),_:1},8,["modelValue"])])]),p("p",Ct,[x(re,{modelValue:_.value,"onUpdate:modelValue":u[3]||(u[3]=w=>_.value=w),placeholder:"No description"},{default:V(()=>[L(O(e.value.description),1)]),_:1},8,["modelValue"])])]),p("div",Pt,[x(Z,{"primary-text":(q=e.value.songs)==null?void 0:q.length,"secondary-text":((M=e.value.songs)==null?void 0:M.length)===1?"Song":"Songs",class:"w-full"},null,8,["primary-text","secondary-text"]),x(Z,{"primary-text":U.value,class:"w-full","secondary-text":"Total Duration"},null,8,["primary-text"]),e.value.plays?(m(),A(Z,{key:0,"primary-text":e.value.plays,class:"w-full","secondary-text":"Plays"},null,8,["primary-text"])):S("",!0),d.value?(m(),A(ne,{key:1,class:"p-4 w-1/2 flex flex-col items-center justify-center"},{default:V(()=>[p("span",{id:"addToPlaylist",class:"material-symbols-rounded ms-fill",onClick:u[4]||(u[4]=w=>C.$refs.addSongPopup.show())}," add_circle "),St]),_:1})):S("",!0),e.value.type!="special"?(m(),A(ne,{key:2,class:"p-4 w-1/2 flex flex-col items-center justify-center"},{default:V(()=>[p("span",{id:"addToPlaylist",class:"material-symbols-rounded ms-fill",onClick:u[5]||(u[5]=j(w=>n.value.toggle(w),["prevent","stop"]))}," more_horiz "),Vt]),_:1})):S("",!0)]),e.value.songs?(m(),b("div",It,[x(Ae,{modelValue:l.value.search,"onUpdate:modelValue":u[6]||(u[6]=w=>l.value.search=w),icon:"search",placeholder:"Search"},null,8,["modelValue"]),x(J,{modelValue:l.value.title,"onUpdate:modelValue":u[7]||(u[7]=w=>l.value.title=w),options:E(ze)(e.value.songs),class:"multiselect",icon:"title",placeholder:"Title"},null,8,["modelValue","options"]),x(J,{modelValue:l.value.artist,"onUpdate:modelValue":u[8]||(u[8]=w=>l.value.artist=w),options:E(We)(e.value.songs),class:"multiselect",icon:"person",placeholder:"Artist"},null,8,["modelValue","options"]),x(J,{modelValue:l.value.album,"onUpdate:modelValue":u[9]||(u[9]=w=>l.value.album=w),options:E(Ge)(e.value.songs),class:"multiselect",icon:"album",placeholder:"Album"},null,8,["modelValue","options"]),x(De,{modelValue:l.value.sort,"onUpdate:modelValue":u[10]||(u[10]=w=>l.value.sort=w),options:k,icon:"filter_list"},null,8,["modelValue"]),p("span",{class:"cursor-pointer material-symbols-rounded ms-wght-100 text-5xl",onClick:u[11]||(u[11]=w=>l.value.order=l.value.order=="asc"?"desc":"asc")},O(l.value.order=="asc"?"arrow_drop_up":"arrow_drop_down"),1),p("span",{class:"cursor-pointer material-symbols-rounded ms-wght-300 text-3xl mr-2",onClick:o}," delete_sweep ")])):S("",!0)])])),[[D,r]])]}),_:1},8,["playlist","can-edit"])}}}),Tt=G(Mt,[["__scopeId","data-v-b4875daf"]]),we=t=>(he("data-v-8e9c3532"),t=t(),_e(),t),Ot={class:"playlist relative p-4"},qt={key:0,class:"fill-page"},Ft=we(()=>p("h2",{class:"text-2xl text-center error"},"Playlist not found",-1)),At=[Ft],Dt={key:1,class:"wrap"},Ut={class:"track__data"},Bt=we(()=>p("hr",{class:"mb-4"},null,-1)),Et={key:1,class:"items"},Ht={key:2,class:"text-muted italic text-sm text-center mt-10"},Lt=H({__name:"Template",props:{id:{type:String,required:!0},coverIcon:{type:String,required:!1}},emits:["rearrange"],setup(t,{emit:f}){var d;const a=t,n=te(),e=F(()=>n.getPlaylistById(a.id)),y=g(),i=g(((d=e.value)==null?void 0:d.songs)??[]),h=g(null),s=F(()=>{var v;return((v=y.value)==null?void 0:v.songFilters)??{}});N([s,e],()=>{e.value&&_()},{deep:!0});const _=()=>{var v;i.value=je(((v=e.value)==null?void 0:v.songs)??[],s.value)};ee(()=>{_()}),N(e,()=>{_()});const c=F(()=>e.value.type==="classic"&&document.body.clientWidth>950),l=F(()=>e.value.type==="classic"),o=f,r=v=>{const k=v.moved;k&&o("rearrange",k.oldIndex,k.newIndex)};return(v,k)=>{var U;return m(),b(W,null,[(U=e.value)!=null&&U.cover?(m(),A(pe,{key:0,placeholder:t.coverIcon,src:e.value.cover},null,8,["placeholder","src"])):S("",!0),p("div",Ot,[e.value?(m(),b("div",Dt,[p("div",Ut,[x(Tt,{ref_key:"playlistMeta",ref:y,playlist:e.value,coverIcon:t.coverIcon},null,8,["playlist","coverIcon"]),i.value.length?(m(),b(W,{key:0},[x(ve,{class:"hideIfMobile mt-8","with-album":"","with-more":""}),Bt],64)):S("",!0),i.value.length?(m(),b("div",Et,[i.value.length?(m(),A(E(Ee),{key:t.id,modelValue:i.value,"onUpdate:modelValue":k[1]||(k[1]=P=>i.value=P),class:K([s.value.order=="asc"?"flex-col":"flex-col-reverse","flex"]),disabled:E(Re)(s.value)||!c.value,"item-key":"id",onChange:r,onDragover:k[2]||(k[2]=j(()=>{},["stop"]))},{item:V(({element:P})=>[Y(x(Be,{index:e.value.songs.findIndex($=>$.source==P.source),"playlist-id":t.id,selected:h.value==P.id,song:P,"with-album":"","with-cover":"","with-more":"",onClick:$=>h.value==P.id?h.value=-1:h.value=P.id,onUpdate:k[0]||(k[0]=$=>E(n).fetchPlaylists())},null,8,["index","playlist-id","selected","song","onClick"]),[[Ue,P.show]])]),_:1},8,["modelValue","class","disabled"])):S("",!0)])):l.value?(m(),b("p",Ht," No songs. Add some! ")):S("",!0)])])):(m(),b("div",qt,At))])],64)}}}),Kt=G(Lt,[["__scopeId","data-v-8e9c3532"]]);export{Kt as T}; diff --git a/src/ui/dist/assets/Template-CN0MoJmO.js.gz b/src/ui/dist/assets/Template-CN0MoJmO.js.gz new file mode 100644 index 000000000..9d33faa61 Binary files /dev/null and b/src/ui/dist/assets/Template-CN0MoJmO.js.gz differ diff --git a/src/ui/dist/assets/Template-CUtHidNi.css b/src/ui/dist/assets/Template-CUtHidNi.css new file mode 100644 index 000000000..226f4298d --- /dev/null +++ b/src/ui/dist/assets/Template-CUtHidNi.css @@ -0,0 +1 @@ +.editable-text.outlined[data-v-f05f8e35]{border:var(--border-container);border-radius:.5em}.h1 textarea[data-v-f05f8e35]{font-size:inherit;margin-block-start:0;margin-block-end:0}textarea[data-v-f05f8e35],.textarea[data-v-f05f8e35]{width:100%;border:none;background:none;font-size:inherit;font-weight:900;font-family:inherit;color:inherit;outline:none;color:var(--fg-base);resize:none;margin:0;padding:0;box-sizing:border-box}textarea[data-v-f05f8e35]:placeholder,.textarea[data-v-f05f8e35]:placeholder{color:var(--fg-base-dk);font-weight:400;font-style:italic}.dropdown[data-v-8ec711b9]{display:inline-block;width:100%}.dropdown__selected[data-v-8ec711b9]{background:var(--bg-base-lt);border-radius:.75em;color:var(--font-colour);padding:0 10px;width:auto;height:46px;flex-grow:1;font-family:var(--ff-base);cursor:pointer;display:flex;flex-direction:row;align-items:center;justify-content:space-between;overflow-x:hidden;border:var(--border-container)}.dropdown__selected.expanded[data-v-8ec711b9]{border-radius:.75em .75em 0 0}.dropdown__selected[data-v-8ec711b9]:focus-within,.dropdown__selected[data-v-8ec711b9]:hover{border-color:var(--fg-base);color:var(--fg-base)}.dropdown__options[data-v-8ec711b9]{position:absolute;z-index:999;max-height:20rem;max-width:100%;overflow-y:auto;background:var(--bg-base);border-radius:0 0 1em 1em;filter:var(--drop-shadow);border:var(--border-container);top:0;left:0}.dropdown__options .dropdown__option[data-v-8ec711b9]{padding:.5rem;cursor:pointer;transition:all .2s ease-in-out;display:grid;grid-template-columns:35px 1fr 20px}.dropdown__options .dropdown__option[data-v-8ec711b9]:hover{background:var(--bg-hover)}.dropdown .selected-label[data-v-8ec711b9]{display:flex;flex-direction:row;align-items:center;text-overflow:ellipsis;white-space:nowrap;gap:.5rem;background:var(--bg-base-dk);border-radius:1000vmax;padding:4px .5rem}.dropdown .selected-labels[data-v-8ec711b9]{display:flex;flex-direction:row;align-items:center;gap:.5rem;flex-wrap:nowrap;overflow-x:auto}.padding-20[data-v-34ec84ab]{padding-left:20px;padding-right:20px}.darkback[data-v-34ec84ab]{padding-top:10px;padding-bottom:10px}.fixedHeader[data-v-34ec84ab]{margin-right:var(--w-scrollbar)}.upperWrapper[data-v-34ec84ab]{padding:10px;display:flex;flex-direction:row}@media screen and (max-width: 950px){.upperWrapper[data-v-34ec84ab]{justify-content:center}}#loadPlaylist[data-v-34ec84ab]{font-size:2.5em;line-height:35px;width:42px;vertical-align:middle;cursor:pointer}h3[data-v-34ec84ab]{font-size:1.4em;display:inline;margin:0 0 0 10px}@media screen and (max-width: 950px){h3[data-v-34ec84ab]{font-size:1em}}@keyframes slideDown-34ec84ab{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.fixedPlaylistHeader[data-v-34ec84ab]{position:fixed;top:var(--h-header);left:calc(var(--w-sidebar) + 40px);right:-3px;padding-right:3px;border:var(--border-container);border-top:none;-webkit-backdrop-filter:blur(100px);backdrop-filter:blur(100px);animation:slideDown-34ec84ab .3s ease-in-out;z-index:100;overflow:clip;border-radius:0 0 20px 20px}@media screen and (max-width: 950px){.fixedPlaylistHeader[data-v-34ec84ab]{left:0;height:45px}}.modal p{text-overflow:ellipsis}.filters[data-v-b4875daf]{background:var(--bg-base-dk);display:flex;flex-direction:row;flex-wrap:nowrap;gap:.5rem;padding:.5rem;border-radius:1em;align-items:center;border:var(--border-container)}.filters .multiselect[data-v-b4875daf]{overflow-x:hidden}@media screen and (max-width: 1000px){.filters[data-v-b4875daf]{display:none}}.playlist-type[data-v-b4875daf]{color:var(--fg-secondary);font-size:.8em;text-transform:uppercase;font-weight:900}.features div.w-full[data-v-b4875daf]{min-width:150px}.features div.w-1\/2[data-v-b4875daf]{min-width:100px}@media screen and (max-width: 1000px){.features[data-v-b4875daf]{flex-wrap:wrap}.features>div[data-v-b4875daf]{min-width:80px;flex:1}}.upper[data-v-b4875daf]{display:flex;align-items:center;gap:2rem}.upper .cover[data-v-b4875daf]{aspect-ratio:1/1;position:relative;z-index:1;max-height:25vw;min-height:10vw;animation:size-b4875daf;animation-timeline:scroll()}@keyframes size-b4875daf{to{max-height:40px}}.upper .track__info__details[data-v-b4875daf]{overflow:auto;flex:1;margin-top:auto}@media (max-width: 1000px){.upper[data-v-b4875daf]{display:flex;flex-direction:column;align-items:center}.upper .cover[data-v-b4875daf]{min-width:20vw}}.wrap[data-v-b4875daf]{grid-template-columns:1fr;display:grid;align-items:start}#loadPlaylist[data-v-b4875daf],#addToPlaylist[data-v-b4875daf]{font-size:3rem;border-radius:1000vmax;width:70px;line-height:70px;text-align:center;vertical-align:middle;cursor:pointer;margin-bottom:1.25rem;transition:all .2s ease-in-out}#loadPlaylist[data-v-b4875daf]:hover,#addToPlaylist[data-v-b4875daf]:hover{background:var(--bg-hover-lt);color:var(--fg-secondary);transition:none}.card p[data-v-b4875daf],.card h2[data-v-b4875daf]{text-align:center}.playlist[data-v-8e9c3532]{height:100%}.playlist h2.error[data-v-8e9c3532]{color:var(--fail)} diff --git a/src/ui/dist/assets/Template-CUtHidNi.css.gz b/src/ui/dist/assets/Template-CUtHidNi.css.gz new file mode 100644 index 000000000..69cbe4e1c Binary files /dev/null and b/src/ui/dist/assets/Template-CUtHidNi.css.gz differ diff --git a/src/ui/dist/assets/Template-b827c26f.css b/src/ui/dist/assets/Template-b827c26f.css deleted file mode 100644 index 8023b904c..000000000 --- a/src/ui/dist/assets/Template-b827c26f.css +++ /dev/null @@ -1 +0,0 @@ -.editable-text.outlined[data-v-f05f8e35]{border:var(--border-container);border-radius:.5em}.h1 textarea[data-v-f05f8e35]{font-size:inherit;margin-block-start:0;margin-block-end:0}textarea[data-v-f05f8e35],.textarea[data-v-f05f8e35]{width:100%;border:none;background:none;font-size:inherit;font-weight:900;font-family:inherit;color:inherit;outline:none;color:var(--fg-base);resize:none;margin:0;padding:0;box-sizing:border-box}textarea[data-v-f05f8e35]:placeholder,.textarea[data-v-f05f8e35]:placeholder{color:var(--fg-base-dk);font-weight:400;font-style:italic}.dropdown[data-v-65a2fc08]{display:inline-block;width:100%}.dropdown__selected[data-v-65a2fc08]{background:var(--bg-base-lt);border-radius:1000vmax;color:var(--font-colour);padding:0 10px;width:auto;height:46px;flex-grow:1;font-family:var(--ff-base);cursor:pointer;display:flex;flex-direction:row;align-items:center;justify-content:space-between;overflow-x:hidden;border:var(--border-container)}.dropdown__selected.expanded[data-v-65a2fc08]{border-radius:1em 1em 0 0}.dropdown__selected[data-v-65a2fc08]:focus-within,.dropdown__selected[data-v-65a2fc08]:hover{border-color:var(--fg-base);color:var(--fg-base)}.dropdown__options[data-v-65a2fc08]{position:absolute;z-index:999;max-height:20rem;max-width:100%;overflow-y:auto;background:var(--bg-base);border-radius:0 0 1em 1em;filter:var(--drop-shadow);border:var(--border-container);top:0;left:0}.dropdown__options .dropdown__option[data-v-65a2fc08]{padding:.5rem;cursor:pointer;transition:all .2s ease-in-out;display:grid;grid-template-columns:35px 1fr 20px}.dropdown__options .dropdown__option[data-v-65a2fc08]:hover{background:var(--bg-hover)}.dropdown .selected-label[data-v-65a2fc08]{display:flex;flex-direction:row;align-items:center;text-overflow:ellipsis;white-space:nowrap;gap:.5rem;background:var(--bg-base-dk);border-radius:1000vmax;padding:4px .5rem}.dropdown .selected-labels[data-v-65a2fc08]{display:flex;flex-direction:row;align-items:center;gap:.5rem;flex-wrap:nowrap;overflow-x:auto}.padding-20[data-v-88f85c6b]{padding-left:20px;padding-right:20px}.darkback[data-v-88f85c6b]{padding-top:10px;padding-bottom:10px}.fixedHeader[data-v-88f85c6b]{margin-right:var(--w-scrollbar)}.upperWrapper[data-v-88f85c6b]{padding:10px;display:flex;flex-direction:row}@media screen and (max-width: 950px){.upperWrapper[data-v-88f85c6b]{justify-content:center}}#loadPlaylist[data-v-88f85c6b]{font-size:2.5em;line-height:35px;width:42px;vertical-align:middle;cursor:pointer}h3[data-v-88f85c6b]{font-size:1.4em;display:inline;margin:0 0 0 10px}@media screen and (max-width: 950px){h3[data-v-88f85c6b]{font-size:1em}}@keyframes slideDown-88f85c6b{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.fixedPlaylistHeader[data-v-88f85c6b]{position:fixed;top:var(--h-header);left:calc(var(--w-sidebar) + 40px);right:-3px;padding-right:3px;border:var(--border-container);border-top:none;-webkit-backdrop-filter:blur(100px);backdrop-filter:blur(100px);animation:slideDown-88f85c6b .3s ease-in-out;z-index:100;overflow:clip;border-radius:0 0 20px 20px}@media screen and (max-width: 950px){.fixedPlaylistHeader[data-v-88f85c6b]{left:0;height:45px}}.modal p{text-overflow:ellipsis}.filters[data-v-9965483f]{background:var(--bg-base-dk);display:flex;flex-direction:row;flex-wrap:nowrap;gap:.5rem;padding:.5rem;border-radius:1000em;align-items:center;border:var(--border-container)}.filters .multiselect[data-v-9965483f]{overflow-x:hidden}@media screen and (max-width: 1000px){.filters[data-v-9965483f]{display:none}}.playlist-type[data-v-9965483f]{color:var(--fg-secondary);font-size:.8em;text-transform:uppercase;font-weight:900}.features div.w-full[data-v-9965483f]{min-width:150px}.features div.w-1\/2[data-v-9965483f]{min-width:100px}@media screen and (max-width: 1000px){.features[data-v-9965483f]{flex-wrap:wrap}.features>div[data-v-9965483f]{min-width:80px;flex:1}}.upper[data-v-9965483f]{display:flex;align-items:center;gap:2rem}.upper .cover[data-v-9965483f]{aspect-ratio:1/1;position:relative;z-index:1;max-height:25vw;min-height:10vw;animation:size-9965483f;animation-timeline:scroll()}@keyframes size-9965483f{to{max-height:40px}}.upper .track__info__details[data-v-9965483f]{overflow:auto;flex:1;margin-top:auto}@media (max-width: 1000px){.upper[data-v-9965483f]{display:flex;flex-direction:column;align-items:center}.upper .cover[data-v-9965483f]{min-width:20vw}}.wrap[data-v-9965483f]{grid-template-columns:1fr;display:grid;align-items:start}#loadPlaylist[data-v-9965483f],#addToPlaylist[data-v-9965483f]{font-size:3rem;border-radius:1000vmax;width:70px;line-height:70px;text-align:center;vertical-align:middle;cursor:pointer;margin-bottom:1.25rem;transition:all .2s ease-in-out}#loadPlaylist[data-v-9965483f]:hover,#addToPlaylist[data-v-9965483f]:hover{background:var(--bg-hover-lt);color:var(--fg-secondary);transition:none}.card p[data-v-9965483f],.card h2[data-v-9965483f]{text-align:center}.playlist[data-v-dfe44d69]{height:100%}.playlist h2.error[data-v-dfe44d69]{color:var(--fail)} diff --git a/src/ui/dist/assets/Template-b827c26f.css.gz b/src/ui/dist/assets/Template-b827c26f.css.gz deleted file mode 100644 index 7adcbe6fd..000000000 Binary files a/src/ui/dist/assets/Template-b827c26f.css.gz and /dev/null differ diff --git a/src/ui/dist/assets/Track-77a6581d.js b/src/ui/dist/assets/Track-77a6581d.js deleted file mode 100644 index 042c6f3b0..000000000 --- a/src/ui/dist/assets/Track-77a6581d.js +++ /dev/null @@ -1 +0,0 @@ -import{e as U,n as m,E as B,y as j,o as a,c as _,_ as M,i as n,w as P,a as s,t as f,d as r,C as I,B as O,a6 as R,D as A,f as K,a7 as W,g as y,H as Z,O as T,K as G,b as q,u as k,F as $,ah as J,ai as Q,aj as X,ak as Y,Z as ee,h as D,al as ae,am as te,an as se,ao as le,ap as E,aq as oe,L as ne,l as ue,m as re}from"./index-4a15a213.js";import{F as b}from"./FactCard-07fe2677.js";import{_ as ie}from"./EditSong.vue_vue_type_script_setup_true_lang-0170f423.js";import{s as de}from"./spotify-2bf3aeb7.js";const ce=["aria-valuemax","aria-valuenow"],pe=U({__name:"ProgressCircle",props:{max:{type:Number,required:!1,default:100},modelValue:{type:Number,required:!1,default:0},displayValue:{type:String,required:!0}},setup(u){const v=u,i=m(null),w=()=>{if(i.value){const d=v.modelValue/v.max*100;i.value.style.setProperty("--progress",`${d}%`),i.value.innerHTML=v.displayValue}};B(v,w,{deep:!0});const l=()=>{i.value&&(i.value.style.height=i.value.offsetWidth+"px")};return j(()=>{l(),w()}),window.addEventListener("resize",l),(d,x)=>(a(),_("div",{ref_key:"radialProgress",ref:i,"aria-valuemax":u.max,"aria-valuenow":u.modelValue,"aria-valuemin":"0",class:"radialProgress",role:"progressbar"},null,8,ce))}});const L=M(pe,[["__scopeId","data-v-6e1a8d6b"]]),_e={class:"material-symbols-rounded ms-fill"},ve={key:0,class:"text-muted"},me=U({__name:"ButtonCard",props:{icon:{type:String,required:!0},label:{type:String,required:!1}},setup(u){return(v,i)=>(a(),n(I,{class:"p-4 flex flex-col w-full items-center justify-center"},{default:P(()=>[s("span",_e,f(u.icon),1),u.label?(a(),_("span",ve,f(u.label),1)):r("",!0)]),_:1}))}});const N=M(me,[["__scopeId","data-v-98bfdf17"]]),H=u=>(ue("data-v-4d592b47"),u=u(),re(),u),fe={class:"track p-4"},ye={key:2},xe={class:"track__data"},he={class:"upper"},ke={class:"trac__info__details__normal"},ge={class:"text-secondary my-0 text-2xl font-bold"},be={class:"text-muted text-base ml-4 font-light"},we={class:"flex flew-row items-center"},Ce={class:"font-black text-5xl ml-4"},Ve={key:0,class:"features flex flex-row gap-4 pt-4 pb-2 overflow-x-auto"},$e={class:"spotify-infos mt-4"},Pe={class:"meta items-center"},Se={class:"text-muted"},Be={key:0,class:"material-symbols-rounded ms-fill"},Ie={class:"flex flex-row align-items"},Ue=H(()=>s("span",{class:"material-symbols-rounded ms-fill mr-2"},"local_fire_department",-1)),Me={class:"font-bold"},Te={class:"relative w-full mt-4"},qe={class:"spotify__features__circles"},De={class:"text-muted mb-0 text-center text-sm capitalize flex justify-center"},Ee={class:"material-symbols-rounded mr-2"},Le=H(()=>s("h2",{class:"!text-left"},"Similar Songs",-1)),Ne=U({__name:"Track",setup(u){const v=O(),i=R(),w=A(()=>v.params.hash),l=m(null),d=m(null),x=m("url"),e=m(null),C=m([]),S=m([]),g=m(!1),z={acousticness:"piano",danceability:"nightlife",energy:"electric_bolt",happiness:"mood",instrumentalness:"mic_off",liveness:"groups_2",speechiness:"mic",loudness:"volume_up"},V=async(c=null)=>{var o;l.value=null,e.value=null,C.value=[],l.value=await te(w.value),window.document.title=`${l.value.title} - reAudioPlayer One`,e.value=await se(l.value.id,!!c,c),d.value=`https://open.spotify.com/track/${e.value.spotify.id}`,x.value="link",g.value=((o=e.value.spotify.id)==null?void 0:o.length)==22,C.value=await le(l.value.id),S.value=[];for(let[p,t]of Object.entries(e.value.spotify.features))["key","mode","tempo","duration_ms","time_signature"].includes(p)||typeof t=="number"&&(p=p.replaceAll("_"," "),p=p.replace("valence","happiness"),p==="loudness"&&(t=60+t),S.value.push({key:p,value:t,icon:z[p]}))};j(V),B(v,()=>V(),{deep:!0}),B(d,()=>{var c,o;if(((o=(c=e.value)==null?void 0:c.spotify)==null?void 0:o.id)==E(d.value,"track")){x.value="link";return}x.value="save"});const F=()=>{if(x.value==="save"){const c=E(d.value,"track");if(!c)return;V(c);return}oe(d.value)};return(c,o)=>{const p=K("RouterLink");return a(),_($,null,[l.value?(a(),n(W,{key:0,src:l.value.cover,class:"-z-10"},null,8,["src"])):r("",!0),s("div",fe,[l.value?(a(),n(ie,{key:0,ref:"updatePopup",song:l.value,onUpdate:o[0]||(o[0]=()=>V())},null,8,["song"])):r("",!0),l.value?(a(),_("div",ye,[s("div",xe,[s("div",he,[y(Z,{src:l.value.cover,class:"max-w-sm rounded-xl"},null,8,["src"]),s("div",{class:T([{"justify-end":e.value,"justify-center":!e.value},"track__info__details flex flex-col"])},[s("div",ke,[s("h3",ge,[y(G,{artist:l.value.artist,class:"inline"},null,8,["artist"]),s("span",be,[y(p,{to:l.value.album.href,class:"linkOnHover"},{default:P(()=>[q(f(l.value.album.name),1)]),_:1},8,["to"])])]),s("div",we,[s("span",{class:"text-5xl cursor-pointer material-symbols-rounded ms-fill my-auto",onClick:o[1]||(o[1]=t=>k(i).loadPlaylist("track",l.value.id))}," play_circle "),s("h1",Ce,f(l.value.title),1)])]),e.value&&e.value.spotify.features?(a(),_($,{key:0},[e.value&&e.value.spotify.features?(a(),_("div",Ve,[e.value?(a(),n(b,{key:0,"primary-text":e.value.spotify.features.key+" "+e.value.spotify.features.mode,class:"w-full","secondary-text":"Key"},null,8,["primary-text"])):r("",!0),e.value?(a(),n(b,{key:1,"primary-text":k(J)(e.value),class:"w-full","secondary-text":"Camelot"},null,8,["primary-text"])):r("",!0),e.value?(a(),n(b,{key:2,"primary-text":Math.round(e.value.spotify.features.tempo),class:"w-full","secondary-text":"BPM"},null,8,["primary-text"])):r("",!0),y(b,{"primary-text":k(Q)(l.value.duration),class:"w-full","secondary-text":"Duration"},null,8,["primary-text"]),e.value?(a(),n(b,{key:3,"primary-text":e.value.plays,class:"w-full","secondary-text":"Plays"},null,8,["primary-text"])):r("",!0),y(N,{icon:"edit",label:"Edit",onClick:o[2]||(o[2]=t=>c.$refs.updatePopup.show())}),y(N,{icon:"download",label:"Download",onClick:o[3]||(o[3]=t=>k(X)(l.value.id))})])):r("",!0),s("div",$e,[s("div",Pe,[s("span",Se,f(k(Y)(e.value.spotify.releaseDate)),1),e.value.spotify.explicit?(a(),_("span",Be,"explicit")):r("",!0),s("span",Ie,[Ue,s("span",Me,f(e.value.spotify.popularity),1)])]),y(k(de),{class:T([{enabled:g.value},"spotify-enable"]),onClick:o[4]||(o[4]=t=>g.value=!g.value)},null,8,["class"]),g.value?(a(),n(ee,{key:0,modelValue:d.value,"onUpdate:modelValue":o[5]||(o[5]=t=>d.value=t),icon:x.value,onClick:F},null,8,["modelValue","icon"])):r("",!0)])],64)):r("",!0)],2)])]),s("div",Te,[s("div",qe,[(a(!0),_($,null,D(S.value,t=>(a(),n(I,{class:"p-2"},{default:P(()=>[t.key==="loudness"?(a(),n(L,{key:0,modelValue:t.value,"onUpdate:modelValue":h=>t.value=h,"display-value":Math.round(-60+t.value)+"dB",class:"circle",max:60},null,8,["modelValue","onUpdate:modelValue","display-value"])):(a(),n(L,{key:1,modelValue:t.value,"onUpdate:modelValue":h=>t.value=h,"display-value":Math.round(t.value*100)+"%",class:"circle",max:1},null,8,["modelValue","onUpdate:modelValue","display-value"])),s("p",De,[s("span",Ee,f(t.icon),1),q(" "+f(t.key),1)])]),_:2},1024))),256))])]),C.value.length?(a(),n(I,{key:0,class:"p-4 mt-4"},{default:P(()=>[Le,(a(!0),_($,null,D(C.value,(t,h)=>(a(),n(ae,{key:h,index:h,song:t,"can-import":"","cannot-add":"","with-album":"","with-cover":""},null,8,["index","song"]))),128))]),_:1})):r("",!0)])):(a(),n(ne,{key:1}))])],64)}}});const Oe=M(Ne,[["__scopeId","data-v-4d592b47"]]);export{Oe as default}; diff --git a/src/ui/dist/assets/Track-77a6581d.js.gz b/src/ui/dist/assets/Track-77a6581d.js.gz deleted file mode 100644 index d7815288e..000000000 Binary files a/src/ui/dist/assets/Track-77a6581d.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Track-D-ZYH2RL.js b/src/ui/dist/assets/Track-D-ZYH2RL.js new file mode 100644 index 000000000..6c7f6bc29 --- /dev/null +++ b/src/ui/dist/assets/Track-D-ZYH2RL.js @@ -0,0 +1 @@ +import{e as U,n as f,E as B,y as T,o as a,c as m,_ as M,i as n,w as S,a as s,t as y,d as r,C as I,B as R,a7 as A,D as K,f as O,a8 as W,g as _,H as Q,Q as q,K as G,b as D,u as k,F as $,ai as J,aj as X,ak as Y,al as Z,$ as ee,h as E,am as ae,an as te,ao as se,ap as le,aq as L,ar as oe,L as ne,l as ue,m as re}from"./index-DnhwPdfm.js";import{F as b}from"./FactCard-D7mi8_uS.js";import{_ as ie}from"./EditSong.vue_vue_type_script_setup_true_lang-C5fIPhus.js";import{s as de}from"./spotify-BVNWZn3O.js";const ce=["aria-valuemax","aria-valuenow"],pe=U({__name:"ProgressCircle",props:{max:{type:Number,required:!1,default:100},modelValue:{type:Number,required:!1,default:0},displayValue:{type:String,required:!0}},setup(u){const v=u,i=f(null),w=()=>{if(i.value){const d=v.modelValue/v.max*100;i.value.style.setProperty("--progress",`${d}%`),i.value.innerHTML=v.displayValue}};B(v,w,{deep:!0});const l=()=>{i.value&&(i.value.style.height=i.value.offsetWidth+"px")};return T(()=>{l(),w()}),window.addEventListener("resize",l),(d,x)=>(a(),m("div",{ref_key:"radialProgress",ref:i,"aria-valuemax":u.max,"aria-valuenow":u.modelValue,"aria-valuemin":"0",class:"radialProgress",role:"progressbar"},null,8,ce))}}),N=M(pe,[["__scopeId","data-v-6e1a8d6b"]]),me={class:"material-symbols-rounded ms-fill"},ve={key:0,class:"text-muted"},fe=U({__name:"ButtonCard",props:{icon:{type:String,required:!0},label:{type:String,required:!1}},setup(u){return(v,i)=>(a(),n(I,{class:"p-4 flex flex-col w-full items-center justify-center"},{default:S(()=>[s("span",me,y(u.icon),1),u.label?(a(),m("span",ve,y(u.label),1)):r("",!0)]),_:1}))}}),j=M(fe,[["__scopeId","data-v-98bfdf17"]]),H=u=>(ue("data-v-4d592b47"),u=u(),re(),u),ye={class:"track p-4"},_e={key:2},xe={class:"track__data"},he={class:"upper"},ke={class:"trac__info__details__normal"},ge={class:"text-secondary my-0 text-2xl font-bold"},be={class:"text-muted text-base ml-4 font-light"},we={class:"flex flew-row items-center"},Ce={class:"font-black text-5xl ml-4"},Ve={key:0,class:"features flex flex-row gap-4 pt-4 pb-2 overflow-x-auto"},$e={class:"spotify-infos mt-4"},Se={class:"meta items-center"},Pe={class:"text-muted"},Be={key:0,class:"material-symbols-rounded ms-fill"},Ie={class:"flex flex-row align-items"},Ue=H(()=>s("span",{class:"material-symbols-rounded ms-fill mr-2"},"local_fire_department",-1)),Me={class:"font-bold"},qe={class:"relative w-full mt-4"},De={class:"spotify__features__circles"},Ee={class:"text-muted mb-0 text-center text-sm capitalize flex justify-center"},Le={class:"material-symbols-rounded mr-2"},Ne=H(()=>s("h2",{class:"!text-left"},"Similar Songs",-1)),je=U({__name:"Track",setup(u){const v=R(),i=A(),w=K(()=>v.params.hash),l=f(null),d=f(null),x=f("url"),e=f(null),C=f([]),P=f([]),g=f(!1),z={acousticness:"piano",danceability:"nightlife",energy:"electric_bolt",happiness:"mood",instrumentalness:"mic_off",liveness:"groups_2",speechiness:"mic",loudness:"volume_up"},V=async(c=null)=>{var o;l.value=null,e.value=null,C.value=[],l.value=await te(w.value),window.document.title=`${l.value.title} - reAudioPlayer One`,e.value=await se(l.value.id,!!c,c),d.value=`https://open.spotify.com/track/${e.value.spotify.id}`,x.value="link",g.value=((o=e.value.spotify.id)==null?void 0:o.length)==22,C.value=await le(l.value.id),P.value=[];for(let[p,t]of Object.entries(e.value.spotify.features))["key","mode","tempo","duration_ms","time_signature"].includes(p)||typeof t=="number"&&(p=p.replaceAll("_"," "),p=p.replace("valence","happiness"),p==="loudness"&&(t=60+t),P.value.push({key:p,value:t,icon:z[p]}))};T(V),B(v,()=>V(),{deep:!0}),B(d,()=>{var c,o;if(((o=(c=e.value)==null?void 0:c.spotify)==null?void 0:o.id)==L(d.value,"track")){x.value="link";return}x.value="save"});const F=()=>{if(x.value==="save"){const c=L(d.value,"track");if(!c)return;V(c);return}oe(d.value)};return(c,o)=>{const p=O("RouterLink");return a(),m($,null,[l.value?(a(),n(W,{key:0,src:l.value.cover,class:"-z-10"},null,8,["src"])):r("",!0),s("div",ye,[l.value?(a(),n(ie,{key:0,ref:"updatePopup",song:l.value,onUpdate:o[0]||(o[0]=()=>V())},null,8,["song"])):r("",!0),l.value?(a(),m("div",_e,[s("div",xe,[s("div",he,[_(Q,{src:l.value.cover,class:"max-w-sm rounded-xl"},null,8,["src"]),s("div",{class:q([{"justify-end":e.value,"justify-center":!e.value},"track__info__details flex flex-col"])},[s("div",ke,[s("h3",ge,[_(G,{artist:l.value.artist,class:"inline"},null,8,["artist"]),s("span",be,[_(p,{to:l.value.album.href,class:"linkOnHover"},{default:S(()=>[D(y(l.value.album.name),1)]),_:1},8,["to"])])]),s("div",we,[s("span",{class:"text-5xl cursor-pointer material-symbols-rounded ms-fill my-auto",onClick:o[1]||(o[1]=t=>k(i).loadPlaylist("track",l.value.id))}," play_circle "),s("h1",Ce,y(l.value.title),1)])]),e.value&&e.value.spotify.features?(a(),m($,{key:0},[e.value&&e.value.spotify.features?(a(),m("div",Ve,[e.value?(a(),n(b,{key:0,"primary-text":e.value.spotify.features.key+" "+e.value.spotify.features.mode,class:"w-full","secondary-text":"Key"},null,8,["primary-text"])):r("",!0),e.value?(a(),n(b,{key:1,"primary-text":k(J)(e.value),class:"w-full","secondary-text":"Camelot"},null,8,["primary-text"])):r("",!0),e.value?(a(),n(b,{key:2,"primary-text":Math.round(e.value.spotify.features.tempo),class:"w-full","secondary-text":"BPM"},null,8,["primary-text"])):r("",!0),_(b,{"primary-text":k(X)(l.value.duration),class:"w-full","secondary-text":"Duration"},null,8,["primary-text"]),e.value?(a(),n(b,{key:3,"primary-text":e.value.plays,class:"w-full","secondary-text":"Plays"},null,8,["primary-text"])):r("",!0),_(j,{icon:"edit",label:"Edit",onClick:o[2]||(o[2]=t=>c.$refs.updatePopup.show())}),_(j,{icon:"download",label:"Download",onClick:o[3]||(o[3]=t=>k(Y)(l.value.id))})])):r("",!0),s("div",$e,[s("div",Se,[s("span",Pe,y(k(Z)(e.value.spotify.releaseDate)),1),e.value.spotify.explicit?(a(),m("span",Be,"explicit")):r("",!0),s("span",Ie,[Ue,s("span",Me,y(e.value.spotify.popularity),1)])]),_(k(de),{class:q([{enabled:g.value},"spotify-enable"]),onClick:o[4]||(o[4]=t=>g.value=!g.value)},null,8,["class"]),g.value?(a(),n(ee,{key:0,modelValue:d.value,"onUpdate:modelValue":o[5]||(o[5]=t=>d.value=t),icon:x.value,onClick:F},null,8,["modelValue","icon"])):r("",!0)])],64)):r("",!0)],2)])]),s("div",qe,[s("div",De,[(a(!0),m($,null,E(P.value,t=>(a(),n(I,{class:"p-2"},{default:S(()=>[t.key==="loudness"?(a(),n(N,{key:0,modelValue:t.value,"onUpdate:modelValue":h=>t.value=h,"display-value":Math.round(-60+t.value)+"dB",class:"circle",max:60},null,8,["modelValue","onUpdate:modelValue","display-value"])):(a(),n(N,{key:1,modelValue:t.value,"onUpdate:modelValue":h=>t.value=h,"display-value":Math.round(t.value*100)+"%",class:"circle",max:1},null,8,["modelValue","onUpdate:modelValue","display-value"])),s("p",Ee,[s("span",Le,y(t.icon),1),D(" "+y(t.key),1)])]),_:2},1024))),256))])]),C.value.length?(a(),n(I,{key:0,class:"p-4 mt-4"},{default:S(()=>[Ne,(a(!0),m($,null,E(C.value,(t,h)=>(a(),n(ae,{key:h,index:h,song:t,"can-import":"","cannot-add":"","with-album":"","with-cover":""},null,8,["index","song"]))),128))]),_:1})):r("",!0)])):(a(),n(ne,{key:1}))])],64)}}}),Re=M(je,[["__scopeId","data-v-4d592b47"]]);export{Re as default}; diff --git a/src/ui/dist/assets/Track-D-ZYH2RL.js.gz b/src/ui/dist/assets/Track-D-ZYH2RL.js.gz new file mode 100644 index 000000000..15538c167 Binary files /dev/null and b/src/ui/dist/assets/Track-D-ZYH2RL.js.gz differ diff --git a/src/ui/dist/assets/Track-c081b8b5.css b/src/ui/dist/assets/Track-DHk9ReWZ.css similarity index 94% rename from src/ui/dist/assets/Track-c081b8b5.css rename to src/ui/dist/assets/Track-DHk9ReWZ.css index 8f0250f5e..127ab88dc 100644 --- a/src/ui/dist/assets/Track-c081b8b5.css +++ b/src/ui/dist/assets/Track-DHk9ReWZ.css @@ -1 +1 @@ -.radialProgress[data-v-6e1a8d6b]{--holesize: 55%;--progress: 20%;min-width:2px;min-height:2px;display:grid;align-items:center;justify-items:center;place-items:center;position:relative}.radialProgress[data-v-6e1a8d6b]:before{content:"";position:absolute;top:0;bottom:0;left:0;right:0;border-radius:50%;background:conic-gradient(var(--fg-secondary),var(--fg-secondary),var(--fg-secondary) var(--progress),var(--fg-base-dk) var(--progress) 100%);-webkit-mask-image:radial-gradient(transparent var(--holesize),black calc(var(--holesize) + .5px));mask-image:radial-gradient(transparent var(--holesize),black calc(var(--holesize) + .5px))}span.material-symbols-rounded[data-v-98bfdf17]{font-size:3rem;border-radius:1000vmax;width:70px;line-height:70px;text-align:center;vertical-align:middle;cursor:pointer;margin-bottom:1.25rem;transition:all .2s ease-in-out}span.material-symbols-rounded[data-v-98bfdf17]:hover{background:var(--bg-hover-lt);color:var(--fg-secondary);transition:none}.track__data .spotify-enable{width:24px;height:24px;cursor:pointer}.track__data .spotify-enable path{fill:var(--fg-base)!important}.track__data .spotify-enable.enabled path{fill:var(--fg-secondary)!important}.track__data .upper[data-v-4d592b47]{display:grid;grid-template-columns:fit-content(100%) minmax(500px,1fr);gap:2rem}.track__data .upper .cover[data-v-4d592b47]{min-width:384px;aspect-ratio:1/1}@media (max-width: 1000px){.track__data .upper[data-v-4d592b47]{grid-template-columns:1fr;justify-items:center;overflow:hidden}.track__data .upper .cover[data-v-4d592b47]{min-width:20vw}.track__data .upper .track__info__details[data-v-4d592b47]{overflow:auto;width:100%}}.spotify-infos[data-v-4d592b47]{display:grid;grid-template-columns:fit-content(100%) 24px 1fr;gap:1rem;align-items:center;height:46px}.spotify-infos .meta[data-v-4d592b47]{display:grid;grid-template-columns:repeat(3,fit-content(100%))}.spotify-infos .meta>*[data-v-4d592b47]:not(:last-child){margin-right:1rem}.features div[data-v-4d592b47]{min-width:150px}.card p[data-v-4d592b47],.card h2[data-v-4d592b47]{text-align:center}.spotify__features__circles[data-v-4d592b47]{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:flex-end;gap:1rem}.spotify__features__circles div[data-v-4d592b47]{min-width:100px;flex:1}.spotify__features__circles .circle[data-v-4d592b47]{width:50%;margin-left:auto;margin-right:auto}.spotify__features__circles p[data-v-4d592b47]{text-align:center} +.radialProgress[data-v-6e1a8d6b]{--holesize: 55%;--progress: 20%;min-width:2px;min-height:2px;display:grid;align-items:center;justify-items:center;place-items:center;position:relative}.radialProgress[data-v-6e1a8d6b]:before{content:"";position:absolute;top:0;bottom:0;left:0;right:0;border-radius:50%;background:conic-gradient(var(--fg-secondary),var(--fg-secondary),var(--fg-secondary) var(--progress),var(--fg-base-dk) var(--progress) 100%);-webkit-mask-image:radial-gradient(transparent var(--holesize),black calc(var(--holesize) + .5px));mask-image:radial-gradient(transparent var(--holesize),black calc(var(--holesize) + .5px))}span.material-symbols-rounded[data-v-98bfdf17]{font-size:3rem;border-radius:1000vmax;width:70px;line-height:70px;text-align:center;vertical-align:middle;cursor:pointer;margin-bottom:1.25rem;transition:all .2s ease-in-out}span.material-symbols-rounded[data-v-98bfdf17]:hover{background:var(--bg-hover-lt);color:var(--fg-secondary);transition:none}.track__data .spotify-enable{width:24px;height:24px;cursor:pointer}.track__data .spotify-enable path{fill:var(--fg-base)!important}.track__data .spotify-enable.enabled path{fill:var(--fg-secondary)!important}.track__data .upper[data-v-4d592b47]{display:grid;grid-template-columns:fit-content(100%) minmax(500px,1fr);gap:2rem}.track__data .upper .cover[data-v-4d592b47]{min-width:384px;aspect-ratio:1/1}@media (max-width: 1000px){.track__data .upper[data-v-4d592b47]{grid-template-columns:1fr;justify-items:center;overflow:hidden}.track__data .upper .cover[data-v-4d592b47]{min-width:20vw}.track__data .upper .track__info__details[data-v-4d592b47]{overflow:auto;width:100%}}.spotify-infos[data-v-4d592b47]{display:grid;grid-template-columns:fit-content(100%) 24px 1fr;gap:1rem;align-items:center;height:46px}.spotify-infos .meta[data-v-4d592b47]{display:grid;grid-template-columns:repeat(3,fit-content(100%))}.spotify-infos .meta[data-v-4d592b47]>*:not(:last-child){margin-right:1rem}.features div[data-v-4d592b47]{min-width:150px}.card p[data-v-4d592b47],.card h2[data-v-4d592b47]{text-align:center}.spotify__features__circles[data-v-4d592b47]{display:flex;flex-wrap:wrap;flex-direction:row;justify-content:flex-end;gap:1rem}.spotify__features__circles div[data-v-4d592b47]{min-width:100px;flex:1}.spotify__features__circles .circle[data-v-4d592b47]{width:50%;margin-left:auto;margin-right:auto}.spotify__features__circles p[data-v-4d592b47]{text-align:center} diff --git a/src/ui/dist/assets/Track-DHk9ReWZ.css.gz b/src/ui/dist/assets/Track-DHk9ReWZ.css.gz new file mode 100644 index 000000000..6a1953949 Binary files /dev/null and b/src/ui/dist/assets/Track-DHk9ReWZ.css.gz differ diff --git a/src/ui/dist/assets/Track-c081b8b5.css.gz b/src/ui/dist/assets/Track-c081b8b5.css.gz deleted file mode 100644 index e24728ac0..000000000 Binary files a/src/ui/dist/assets/Track-c081b8b5.css.gz and /dev/null differ diff --git a/src/ui/dist/assets/TrackCompact-28e1b8fb.js b/src/ui/dist/assets/TrackCompact-28e1b8fb.js deleted file mode 100644 index 07ea15ea7..000000000 --- a/src/ui/dist/assets/TrackCompact-28e1b8fb.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as T,q as B,A as D,n,E as H,D as N,az as i,f as z,o as r,c as b,i as d,J as A,d as p,aA as E,g as l,w as u,a,z as M,u as _,M as S,t as O,C as R,l as V,m as q}from"./index-4a15a213.js";const J=e=>(V("data-v-d34b4deb"),e=e(),q(),e),P={class:"home-track-compact-wrapper"},j=["src"],F=J(()=>a("div",{class:"play"},[a("span",{class:"material-symbols-rounded"},"play_arrow")],-1)),G={class:"info"},K={class:"title"},L=["href"],Q={class:"artist"},U={__name:"TrackCompact",props:{title:String,artist:String,cover:String,id:Number,href:String},emits:["play"],setup(e,{emit:C}){const t=e,w=C,x=B(),m=`/track/${D(String(t.id))}`,f=n(null),h=n(null),I=c=>{c.stopPropagation(),w("play")},$=()=>{var c,o;if(!((c=t==null?void 0:t.href)!=null&&c.includes("spotify.com"))){x.push(m);return}if((o=t==null?void 0:t.href)!=null&&o.includes("spotify.com/album/")){h.value.show();return}f.value.show()},s=n(t.cover);H(()=>t.cover,()=>{s.value=t.cover});const v=N(()=>i(s.value));return(c,o)=>{var y,g;const k=z("router-link");return r(),b("div",P,[(y=e.href)!=null&&y.includes("spotify.com/album/")?(r(),d(A,{key:0,ref_key:"addRelease",ref:h,album:{cover:v.value,name:e.title,artist:e.artist,id:e.href.replace("https://open.spotify.com/album/",""),href:e.href,releaseDate:null}},null,8,["album"])):p("",!0),(g=e.href)!=null&&g.includes("spotify.com/track/")?(r(),d(E,{key:1,ref_key:"addSong",ref:f,song:{cover:v.value,title:e.title,artist:e.artist,id:e.href.replace("https://open.spotify.com/track/",""),href:e.href,releaseDate:null}},null,8,["song"])):p("",!0),l(R,{class:"home-track-compact","with-hover":"",onClick:$},{default:u(()=>[a("div",{style:M({backgroundImage:`url(${_(i)(s.value)})`}),class:"cover",onClick:I},[a("img",{src:_(i)(s.value),class:"hidden",onError:o[0]||(o[0]=X=>s.value=null)},null,40,j),F],4),a("div",G,[a("span",K,[e.href?(r(),b("a",{key:1,href:e.href,class:"linkOnHover"},[l(S,{text:e.title},null,8,["text"])],8,L)):(r(),d(k,{key:0,to:m,class:"linkOnHover"},{default:u(()=>[l(S,{text:e.title},null,8,["text"])]),_:1}))]),l(k,{to:`/search/artist:${e.artist}`,class:"linkOnHover"},{default:u(()=>[a("span",Q,O(e.artist),1)]),_:1},8,["to"])])]),_:1})])}}},Z=T(U,[["__scopeId","data-v-d34b4deb"]]);export{Z as T}; diff --git a/src/ui/dist/assets/TrackCompact-28e1b8fb.js.gz b/src/ui/dist/assets/TrackCompact-28e1b8fb.js.gz deleted file mode 100644 index 5fd8054ce..000000000 Binary files a/src/ui/dist/assets/TrackCompact-28e1b8fb.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/TrackCompact-79c8b159.css b/src/ui/dist/assets/TrackCompact-79c8b159.css deleted file mode 100644 index 586fdf70e..000000000 --- a/src/ui/dist/assets/TrackCompact-79c8b159.css +++ /dev/null @@ -1 +0,0 @@ -.home-track-compact-wrapper[data-v-d34b4deb]{flex:1;min-width:calc(100% - 60px)}.home-track-compact[data-v-d34b4deb]{background:var(--bg-base-lt);border-radius:20px;display:flex;flex-direction:row;padding:20px;margin:10px;align-items:center}.home-track-compact[data-v-d34b4deb]:hover{cursor:pointer;background:var(--bg-hover-dk)}.home-track-compact .cover[data-v-d34b4deb]{border-radius:12px;width:50px;height:50px;position:relative;background-size:cover}.home-track-compact .cover .play[data-v-d34b4deb]{display:none}.home-track-compact .cover[data-v-d34b4deb]:hover{cursor:pointer}.home-track-compact .cover:hover .play[data-v-d34b4deb]{display:flex;flex-direction:column;justify-content:center;align-items:center;position:absolute;width:100%;height:100%;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.home-track-compact .cover:hover .play span[data-v-d34b4deb]{font-size:2em;font-variation-settings:"FILL" 1}.home-track-compact .info[data-v-d34b4deb]{display:flex;flex-direction:column;flex:1;margin-left:10px;align-items:flex-start}.home-track-compact .info span[data-v-d34b4deb]{margin:0;font-size:.8em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:100%;position:relative}.home-track-compact .info span.artist[data-v-d34b4deb]{color:var(--fg-base-dk)} diff --git a/src/ui/dist/assets/TrackCompact-79c8b159.css.gz b/src/ui/dist/assets/TrackCompact-79c8b159.css.gz deleted file mode 100644 index 58c48d621..000000000 Binary files a/src/ui/dist/assets/TrackCompact-79c8b159.css.gz and /dev/null differ diff --git a/src/ui/dist/assets/TrackCompact-BEkVSTOB.css b/src/ui/dist/assets/TrackCompact-BEkVSTOB.css new file mode 100644 index 000000000..15c758a86 --- /dev/null +++ b/src/ui/dist/assets/TrackCompact-BEkVSTOB.css @@ -0,0 +1 @@ +.home-track-compact-wrapper[data-v-4c18b720]{flex:1;min-width:calc(100% - 60px)}.home-track-compact[data-v-4c18b720]{background:var(--bg-base-lt);border-radius:20px;display:flex;flex-direction:row;padding:20px;margin:10px;align-items:center}.home-track-compact[data-v-4c18b720]:hover{cursor:pointer;background:var(--bg-hover-dk)}.home-track-compact .cover[data-v-4c18b720]{border-radius:12px;width:50px;height:50px;position:relative;background-size:cover}.home-track-compact .cover .play[data-v-4c18b720]{display:none}.home-track-compact .cover[data-v-4c18b720]:hover{cursor:pointer}.home-track-compact .cover:hover .play[data-v-4c18b720]{display:flex;flex-direction:column;justify-content:center;align-items:center;position:absolute;width:100%;height:100%;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.home-track-compact .cover:hover .play span[data-v-4c18b720]{font-size:2em;font-variation-settings:"FILL" 1}.home-track-compact .info[data-v-4c18b720]{display:flex;flex-direction:column;flex:1;margin-left:10px;align-items:flex-start}.home-track-compact .info span[data-v-4c18b720]{margin:0;font-size:.8em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:100%;position:relative}.home-track-compact .info span.artist[data-v-4c18b720]{color:var(--fg-base-dk)} diff --git a/src/ui/dist/assets/TrackCompact-BEkVSTOB.css.gz b/src/ui/dist/assets/TrackCompact-BEkVSTOB.css.gz new file mode 100644 index 000000000..c856f2850 Binary files /dev/null and b/src/ui/dist/assets/TrackCompact-BEkVSTOB.css.gz differ diff --git a/src/ui/dist/assets/TrackCompact-sXOejxe1.js b/src/ui/dist/assets/TrackCompact-sXOejxe1.js new file mode 100644 index 000000000..d8d319464 --- /dev/null +++ b/src/ui/dist/assets/TrackCompact-sXOejxe1.js @@ -0,0 +1 @@ +import{_ as B,q as D,A as H,n,E as N,D as T,ay as i,f as z,o as r,c as S,i as u,J as E,d as p,az as M,g as l,w as d,a,z as O,u as b,M as C,t as R,C as V,l as q,m as A}from"./index-DnhwPdfm.js";const J=e=>(q("data-v-4c18b720"),e=e(),A(),e),P={class:"home-track-compact-wrapper"},j=["src"],F=J(()=>a("div",{class:"play"},[a("span",{class:"material-symbols-rounded"},"play_arrow")],-1)),G={class:"info"},K={class:"title"},L=["href"],Q={class:"artist"},U={__name:"TrackCompact",props:{title:String,artist:String,cover:String,id:Number,href:String},emits:["play"],setup(e,{emit:w}){const t=e,x=w,I=D(),f=`/track/${H(String(t.id))}`,m=n(null),h=n(null),$=c=>{c.stopPropagation(),x("play")},_=()=>{var c,o;if(!((c=t==null?void 0:t.href)!=null&&c.includes("spotify.com"))){I.push(f);return}if((o=t==null?void 0:t.href)!=null&&o.includes("spotify.com/album/")){h.value.show();return}m.value.show()},s=n(t.cover);N(()=>t.cover,()=>{s.value=t.cover});const v=T(()=>i(s.value));return(c,o)=>{var y,g;const k=z("router-link");return r(),S("div",P,[(y=e.href)!=null&&y.includes("spotify.com/album/")?(r(),u(E,{key:0,ref_key:"addRelease",ref:h,album:{cover:v.value,name:e.title,artist:e.artist,id:e.href.replace("https://open.spotify.com/album/",""),href:e.href,releaseDate:null}},null,8,["album"])):p("",!0),(g=e.href)!=null&&g.includes("spotify.com/track/")?(r(),u(M,{key:1,ref_key:"addSong",ref:m,song:{cover:v.value,title:e.title,artist:e.artist,id:e.href.replace("https://open.spotify.com/track/",""),href:e.href,releaseDate:null}},null,8,["song"])):p("",!0),l(V,{class:"home-track-compact","with-hover":"",onClick:_},{default:d(()=>[a("div",{style:O({backgroundImage:`url(${b(i)(s.value)})`}),class:"cover",onClick:$},[a("img",{src:b(i)(s.value),class:"hidden",onError:o[0]||(o[0]=X=>s.value=null)},null,40,j),F],4),a("div",G,[a("span",K,[e.href?(r(),S("a",{key:1,href:e.href,class:"linkOnHover"},[l(C,{text:e.title},null,8,["text"])],8,L)):(r(),u(k,{key:0,to:f,class:"linkOnHover"},{default:d(()=>[l(C,{text:e.title},null,8,["text"])]),_:1}))]),l(k,{to:`/search/artist:${e.artist}`,class:"linkOnHover"},{default:d(()=>[a("span",Q,R(e.artist),1)]),_:1},8,["to"])])]),_:1})])}}},Z=B(U,[["__scopeId","data-v-4c18b720"]]);export{Z as T}; diff --git a/src/ui/dist/assets/TrackCompact-sXOejxe1.js.gz b/src/ui/dist/assets/TrackCompact-sXOejxe1.js.gz new file mode 100644 index 000000000..c4e231f52 Binary files /dev/null and b/src/ui/dist/assets/TrackCompact-sXOejxe1.js.gz differ diff --git a/src/ui/dist/assets/Welcome-5b21c29e.css.gz b/src/ui/dist/assets/Welcome-5b21c29e.css.gz deleted file mode 100644 index 30c83b263..000000000 Binary files a/src/ui/dist/assets/Welcome-5b21c29e.css.gz and /dev/null differ diff --git a/src/ui/dist/assets/Welcome-9f07aa8e.js b/src/ui/dist/assets/Welcome-9f07aa8e.js deleted file mode 100644 index f6a5dae45..000000000 --- a/src/ui/dist/assets/Welcome-9f07aa8e.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as p,aw as r,o as i,c,a as e,O as v,aK as C,s as g,aL as S,F as T,h as k,b as u,a2 as h,a3 as _,d as w,f as b,i as I,l as R,m as x}from"./index-4a15a213.js";const A={name:"ThemeSmall",props:{name:String},methods:{selected(){return r.getCurrentTheme()==this.name},select(){r.setTheme(this.name),this.$emit("selected")}}},E=["src"];function B(n,s,m,f,o,l){return i(),c("div",{onClick:s[0]||(s[0]=(...a)=>l.select&&l.select(...a)),class:"wrapper"},[e("img",{src:`/assets/img/themes/${this.name}.svg`,class:v({selected:l.selected()})},null,10,E)])}const N=p(A,[["render",B],["__scopeId","data-v-321833b6"]]);const O={components:{ThemeSmall:N},methods:{updateThemes(){this.mode++},redirect(n){r.open(n)},finalRedirectRestricted(){this.spotifyClientId||this.spotifyClientSecret||fetch("/api/config/spotify",{method:"POST",body:JSON.stringify({id:"restricted",secret:"restricted"})}).then(n=>{n.status==200&&(setTimeout(()=>fetch("/api/releases"),1e3),this.mode++,setTimeout(()=>{this.$router.push("/")},6*1e3))})},async finalRedirect(){!this.spotifyClientId||!this.spotifyClientSecret||(await C(this.spotifyClientId,this.spotifyClientSecret),setTimeout(()=>fetch("/api/releases"),1e3),setTimeout(()=>fetch("/api/news/articles"),1e3),this.mode++,setTimeout(async()=>{await g(),this.$router.push("/")},6*1e3))}},data(){setInterval(()=>{if(this.mode<3){this.mode++;return}},7*1e3);const n=["dynamic","dark","light"],s=r.getCurrentTheme();return{mode:0,themes:n,themeSelected:s,spotifyClientId:"",spotifyClientSecret:""}},async mounted(){await S()||this.$router.push("/")}},t=n=>(R("data-v-9aa97202"),n=n(),x(),n),V={class:"welcome bouncy centred-column"},Y={key:0,class:"first centred-column"},L=t(()=>e("p",null,"Welcome to",-1)),D=t(()=>e("h1",null,"reAudioPlayer ONE",-1)),F=[L,D],P={key:1,class:"first centred-column"},U=t(()=>e("p",null,"The free audio player with the most extensive catalogue",-1)),W=t(()=>e("h1",null,"ARE YOU READY?",-1)),H=[U,W],M={key:2,class:"first centred-column"},z=t(()=>e("h1",null,"Almost There",-1)),G=t(()=>e("p",null,"After a few configurations you're ready to go",-1)),J=[z,G],K={key:3,class:"permanent centred-column"},j=t(()=>e("h1",null,"Pick a Theme",-1)),q=t(()=>e("p",null,"You'll be able to change the theme at any point later on",-1)),Q=t(()=>e("br",null,null,-1)),X={class:"centred-column appear-delayed"},Z={key:4,class:"permanent centred-column"},$=t(()=>e("h1",null,"Let's integrate Spotify then!",-1)),ee=t(()=>e("p",null,"You'll be able to change the tokens at any point later on",-1)),te=t(()=>e("br",null,null,-1)),se={class:"centred-column appear-delayed"},oe=t(()=>e("p",null,"2) Create An App",-1)),ne=t(()=>e("p",null,"3) Enter any name and any description",-1)),ie=t(()=>e("p",null,[u("4) Edit the settings: set the redirect url to "),e("a",{href:"http://reap.ml/"},"http://reap.ml/")],-1)),le=t(()=>e("p",null,"5) Copy and enter the client id and secret into the corresponding input field",-1)),ce=t(()=>e("br",null,null,-1)),de={class:"wrapTogether"},re=t(()=>e("p",null,"Client ID: ",-1)),ae={class:"wrapTogether"},he=t(()=>e("p",null,"Client Secret: ",-1)),_e={class:"wrapTogether spaceBetween"},pe={key:5,class:"centred-column"},ue=t(()=>e("h1",null,"ALRIGHT!",-1)),me=t(()=>e("p",null,"You're ready to go",-1)),fe=[ue,me];function ye(n,s,m,f,o,l){const a=b("theme-small");return i(),c("div",V,[o.mode==0?(i(),c("div",Y,F)):o.mode==1?(i(),c("div",P,H)):o.mode==2?(i(),c("div",M,J)):o.mode==3?(i(),c("div",K,[j,q,Q,e("div",X,[(i(),c("div",{class:"themes",key:o.themeSelected},[(i(!0),c(T,null,k(o.themes,(d,y)=>(i(),I(a,{onSelected:l.updateThemes,key:y,name:d},null,8,["onSelected","name"]))),128))]))])])):o.mode==4?(i(),c("div",Z,[$,ee,te,e("div",se,[e("p",null,[u("1) Head over to the "),e("a",{onClick:s[0]||(s[0]=()=>l.redirect("https://developer.spotify.com/dashboard/applications"))},"spotify developer dashboard")]),oe,ne,ie,le,ce,e("div",de,[re,h(e("input",{type:"text","onUpdate:modelValue":s[1]||(s[1]=d=>o.spotifyClientId=d)},null,512),[[_,o.spotifyClientId]])]),e("div",ae,[he,h(e("input",{type:"text","onUpdate:modelValue":s[2]||(s[2]=d=>o.spotifyClientSecret=d)},null,512),[[_,o.spotifyClientSecret]])]),e("div",_e,[e("button",{onClick:s[3]||(s[3]=(...d)=>l.finalRedirect&&l.finalRedirect(...d))},"continue"),e("button",{onClick:s[4]||(s[4]=(...d)=>l.finalRedirectRestricted&&l.finalRedirectRestricted(...d)),class:"restrictedMode"},"enter restricted mode")])])])):o.mode==5?(i(),c("div",pe,fe)):w("",!0)])}const Ce=p(O,[["render",ye],["__scopeId","data-v-9aa97202"]]);export{Ce as default}; diff --git a/src/ui/dist/assets/Welcome-9f07aa8e.js.gz b/src/ui/dist/assets/Welcome-9f07aa8e.js.gz deleted file mode 100644 index ac2b009d1..000000000 Binary files a/src/ui/dist/assets/Welcome-9f07aa8e.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/Welcome-5b21c29e.css b/src/ui/dist/assets/Welcome-C-n9EV-1.css similarity index 97% rename from src/ui/dist/assets/Welcome-5b21c29e.css rename to src/ui/dist/assets/Welcome-C-n9EV-1.css index 8dafd89ab..07b068e51 100644 --- a/src/ui/dist/assets/Welcome-5b21c29e.css +++ b/src/ui/dist/assets/Welcome-C-n9EV-1.css @@ -1 +1 @@ -.wrapper[data-v-321833b6]{padding:20px}.wrapper[data-v-321833b6]:hover{cursor:pointer}img[data-v-321833b6]{width:100%;border-radius:8px}img.selected[data-v-321833b6]{border:2px solid var(--accent)}h1[data-v-9aa97202]{padding:.4em 0}button[data-v-9aa97202]{color:var(--fg-contrast);background-color:var(--bg-contrast);border:none;border-radius:20px;text-transform:uppercase;letter-spacing:1px;padding:10px 20px;font-family:var(--ff-base);font-weight:700}button[data-v-9aa97202]:hover{cursor:pointer}.restrictedMode[data-v-9aa97202]{color:#fff;background-color:#c73c3c}input[data-v-9aa97202]{margin-left:10px;margin-bottom:20px;width:20vw!important}.wrapTogether[data-v-9aa97202]{display:flex;flex-direction:row}.spaceBetween[data-v-9aa97202]{justify-content:space-between;width:60%}input[data-v-9aa97202]:focus{outline:none}a[data-v-9aa97202]{color:var(--fg-base);text-decoration:underline}a[data-v-9aa97202]:hover{cursor:pointer;color:var(--fg-secondary)}.themes[data-v-9aa97202]{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center}.themes>*[data-v-9aa97202]{width:12vw}.welcome[data-v-9aa97202]{position:fixed;top:0;left:0;background:var(--bg-base);width:100vw;height:100vh;color:var(--fg-base);z-index:50}.centred-column[data-v-9aa97202]{display:flex;flex-direction:column;justify-content:center;align-items:center}.bouncy h1[data-v-9aa97202]{animation-name:cd-bounce-right-9aa97202;font-size:4em;margin:0}.bouncy p[data-v-9aa97202]{font-size:1.1em;margin:0;animation-name:cd-bounce-left-9aa97202}.appear-later[data-v-9aa97202]{animation-name:appear-later;animation-duration:2s}.bouncy p[data-v-9aa97202],.bouncy h1[data-v-9aa97202]{animation-duration:6s;animation-timing-function:ease-out;animation-fill-mode:forwards}.bouncy .permanent h1[data-v-9aa97202]{animation-name:bounce-right-perm-9aa97202;animation-duration:1.5s}.bouncy .permanent p[data-v-9aa97202]{animation-name:bounce-left-perm-9aa97202;animation-duration:1.5s}.appear-delayed[data-v-9aa97202]{animation-name:delayed-9aa97202;animation-duration:3s;animation-delay:1.5s;height:0;overflow:hidden;animation-fill-mode:forwards}@keyframes delayed-9aa97202{0%{height:0}to{height:100%}}@keyframes bounce-right-perm-9aa97202{0%{opacity:.2;transform:translate(-200px)}40%{opacity:.7;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@keyframes bounce-left-perm-9aa97202{0%{opacity:.2;transform:translate(200px)}40%{opacity:.7;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes cd-bounce-right-9aa97202{0%{opacity:.2;transform:translate(-200px)}10%{opacity:.7;transform:translate(10px)}25%{opacity:1;transform:translate(0)}75%{opacity:1;transform:translate(0)}to{opacity:0}}@keyframes cd-bounce-left-9aa97202{0%{opacity:.2;transform:translate(200px)}10%{opacity:.7;transform:translate(-10px)}25%{opacity:1;transform:translate(0)}75%{opacity:1;transform:translate(0)}to{opacity:0}} +.wrapper[data-v-321833b6]{padding:20px}.wrapper[data-v-321833b6]:hover{cursor:pointer}img[data-v-321833b6]{width:100%;border-radius:8px}img.selected[data-v-321833b6]{border:2px solid var(--accent)}h1[data-v-9aa97202]{padding:.4em 0}button[data-v-9aa97202]{color:var(--fg-contrast);background-color:var(--bg-contrast);border:none;border-radius:20px;text-transform:uppercase;letter-spacing:1px;padding:10px 20px;font-family:var(--ff-base);font-weight:700}button[data-v-9aa97202]:hover{cursor:pointer}.restrictedMode[data-v-9aa97202]{color:#fff;background-color:#c73c3c}input[data-v-9aa97202]{margin-left:10px;margin-bottom:20px;width:20vw!important}.wrapTogether[data-v-9aa97202]{display:flex;flex-direction:row}.spaceBetween[data-v-9aa97202]{justify-content:space-between;width:60%}input[data-v-9aa97202]:focus{outline:none}a[data-v-9aa97202]{color:var(--fg-base);text-decoration:underline}a[data-v-9aa97202]:hover{cursor:pointer;color:var(--fg-secondary)}.themes[data-v-9aa97202]{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center}.themes[data-v-9aa97202]>*{width:12vw}.welcome[data-v-9aa97202]{position:fixed;top:0;left:0;background:var(--bg-base);width:100vw;height:100vh;color:var(--fg-base);z-index:50}.centred-column[data-v-9aa97202]{display:flex;flex-direction:column;justify-content:center;align-items:center}.bouncy h1[data-v-9aa97202]{animation-name:cd-bounce-right-9aa97202;font-size:4em;margin:0}.bouncy p[data-v-9aa97202]{font-size:1.1em;margin:0;animation-name:cd-bounce-left-9aa97202}.appear-later[data-v-9aa97202]{animation-name:appear-later;animation-duration:2s}.bouncy p[data-v-9aa97202],.bouncy h1[data-v-9aa97202]{animation-duration:6s;animation-timing-function:ease-out;animation-fill-mode:forwards}.bouncy .permanent h1[data-v-9aa97202]{animation-name:bounce-right-perm-9aa97202;animation-duration:1.5s}.bouncy .permanent p[data-v-9aa97202]{animation-name:bounce-left-perm-9aa97202;animation-duration:1.5s}.appear-delayed[data-v-9aa97202]{animation-name:delayed-9aa97202;animation-duration:3s;animation-delay:1.5s;height:0;overflow:hidden;animation-fill-mode:forwards}@keyframes delayed-9aa97202{0%{height:0}to{height:100%}}@keyframes bounce-right-perm-9aa97202{0%{opacity:.2;transform:translate(-200px)}40%{opacity:.7;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@keyframes bounce-left-perm-9aa97202{0%{opacity:.2;transform:translate(200px)}40%{opacity:.7;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes cd-bounce-right-9aa97202{0%{opacity:.2;transform:translate(-200px)}10%{opacity:.7;transform:translate(10px)}25%{opacity:1;transform:translate(0)}75%{opacity:1;transform:translate(0)}to{opacity:0}}@keyframes cd-bounce-left-9aa97202{0%{opacity:.2;transform:translate(200px)}10%{opacity:.7;transform:translate(-10px)}25%{opacity:1;transform:translate(0)}75%{opacity:1;transform:translate(0)}to{opacity:0}} diff --git a/src/ui/dist/assets/Welcome-C-n9EV-1.css.gz b/src/ui/dist/assets/Welcome-C-n9EV-1.css.gz new file mode 100644 index 000000000..298fd1495 Binary files /dev/null and b/src/ui/dist/assets/Welcome-C-n9EV-1.css.gz differ diff --git a/src/ui/dist/assets/Welcome-wHgE9bOY.js b/src/ui/dist/assets/Welcome-wHgE9bOY.js new file mode 100644 index 000000000..aa0da2425 --- /dev/null +++ b/src/ui/dist/assets/Welcome-wHgE9bOY.js @@ -0,0 +1 @@ +import{_ as u,aw as d,o as i,c,a as e,Q as v,aJ as C,s as g,aK as S,F as T,h as k,b as m,a3 as h,a4 as p,d as w,f as b,i as I,l as R,m as x}from"./index-DnhwPdfm.js";const A={name:"ThemeSmall",props:{name:String},methods:{selected(){return d.getCurrentTheme()==this.name},select(){d.setTheme(this.name),this.$emit("selected")}}},E=["src"];function B(n,s,_,f,o,l){return i(),c("div",{onClick:s[0]||(s[0]=(...a)=>l.select&&l.select(...a)),class:"wrapper"},[e("img",{src:`/assets/img/themes/${this.name}.svg`,class:v({selected:l.selected()})},null,10,E)])}const N=u(A,[["render",B],["__scopeId","data-v-321833b6"]]),V={components:{ThemeSmall:N},methods:{updateThemes(){this.mode++},redirect(n){d.open(n)},finalRedirectRestricted(){this.spotifyClientId||this.spotifyClientSecret||fetch("/api/config/spotify",{method:"POST",body:JSON.stringify({id:"restricted",secret:"restricted"})}).then(n=>{n.status==200&&(setTimeout(()=>fetch("/api/releases"),1e3),this.mode++,setTimeout(()=>{this.$router.push("/")},6*1e3))})},async finalRedirect(){!this.spotifyClientId||!this.spotifyClientSecret||(await C(this.spotifyClientId,this.spotifyClientSecret),setTimeout(()=>fetch("/api/releases"),1e3),setTimeout(()=>fetch("/api/news/articles"),1e3),this.mode++,setTimeout(async()=>{await g(),this.$router.push("/")},6*1e3))}},data(){setInterval(()=>{if(this.mode<3){this.mode++;return}},7*1e3);const n=["dynamic","dark","light"],s=d.getCurrentTheme();return{mode:0,themes:n,themeSelected:s,spotifyClientId:"",spotifyClientSecret:""}},async mounted(){await S()||this.$router.push("/")}},t=n=>(R("data-v-9aa97202"),n=n(),x(),n),Y={class:"welcome bouncy centred-column"},O={key:0,class:"first centred-column"},D=t(()=>e("p",null,"Welcome to",-1)),F=t(()=>e("h1",null,"reAudioPlayer ONE",-1)),L=[D,F],P={key:1,class:"first centred-column"},U=t(()=>e("p",null,"The free audio player with the most extensive catalogue",-1)),H=t(()=>e("h1",null,"ARE YOU READY?",-1)),J=[U,H],M={key:2,class:"first centred-column"},W=t(()=>e("h1",null,"Almost There",-1)),z=t(()=>e("p",null,"After a few configurations you're ready to go",-1)),G=[W,z],K={key:3,class:"permanent centred-column"},Q=t(()=>e("h1",null,"Pick a Theme",-1)),j=t(()=>e("p",null,"You'll be able to change the theme at any point later on",-1)),q=t(()=>e("br",null,null,-1)),X={class:"centred-column appear-delayed"},Z={key:4,class:"permanent centred-column"},$=t(()=>e("h1",null,"Let's integrate Spotify then!",-1)),ee=t(()=>e("p",null,"You'll be able to change the tokens at any point later on",-1)),te=t(()=>e("br",null,null,-1)),se={class:"centred-column appear-delayed"},oe=t(()=>e("p",null,"2) Create An App",-1)),ne=t(()=>e("p",null,"3) Enter any name and any description",-1)),ie=t(()=>e("p",null,[m("4) Edit the settings: set the redirect url to "),e("a",{href:"http://reap.ml/"},"http://reap.ml/")],-1)),le=t(()=>e("p",null,"5) Copy and enter the client id and secret into the corresponding input field",-1)),ce=t(()=>e("br",null,null,-1)),re={class:"wrapTogether"},de=t(()=>e("p",null,"Client ID: ",-1)),ae={class:"wrapTogether"},he=t(()=>e("p",null,"Client Secret: ",-1)),pe={class:"wrapTogether spaceBetween"},ue={key:5,class:"centred-column"},me=t(()=>e("h1",null,"ALRIGHT!",-1)),_e=t(()=>e("p",null,"You're ready to go",-1)),fe=[me,_e];function ye(n,s,_,f,o,l){const a=b("theme-small");return i(),c("div",Y,[o.mode==0?(i(),c("div",O,L)):o.mode==1?(i(),c("div",P,J)):o.mode==2?(i(),c("div",M,G)):o.mode==3?(i(),c("div",K,[Q,j,q,e("div",X,[(i(),c("div",{class:"themes",key:o.themeSelected},[(i(!0),c(T,null,k(o.themes,(r,y)=>(i(),I(a,{onSelected:l.updateThemes,key:y,name:r},null,8,["onSelected","name"]))),128))]))])])):o.mode==4?(i(),c("div",Z,[$,ee,te,e("div",se,[e("p",null,[m("1) Head over to the "),e("a",{onClick:s[0]||(s[0]=()=>l.redirect("https://developer.spotify.com/dashboard/applications"))},"spotify developer dashboard")]),oe,ne,ie,le,ce,e("div",re,[de,h(e("input",{type:"text","onUpdate:modelValue":s[1]||(s[1]=r=>o.spotifyClientId=r)},null,512),[[p,o.spotifyClientId]])]),e("div",ae,[he,h(e("input",{type:"text","onUpdate:modelValue":s[2]||(s[2]=r=>o.spotifyClientSecret=r)},null,512),[[p,o.spotifyClientSecret]])]),e("div",pe,[e("button",{onClick:s[3]||(s[3]=(...r)=>l.finalRedirect&&l.finalRedirect(...r))},"continue"),e("button",{onClick:s[4]||(s[4]=(...r)=>l.finalRedirectRestricted&&l.finalRedirectRestricted(...r)),class:"restrictedMode"},"enter restricted mode")])])])):o.mode==5?(i(),c("div",ue,fe)):w("",!0)])}const Ce=u(V,[["render",ye],["__scopeId","data-v-9aa97202"]]);export{Ce as default}; diff --git a/src/ui/dist/assets/Welcome-wHgE9bOY.js.gz b/src/ui/dist/assets/Welcome-wHgE9bOY.js.gz new file mode 100644 index 000000000..479573178 Binary files /dev/null and b/src/ui/dist/assets/Welcome-wHgE9bOY.js.gz differ diff --git a/src/ui/dist/assets/gistClient-56b8a233.js.gz b/src/ui/dist/assets/gistClient-56b8a233.js.gz deleted file mode 100644 index fba520d6c..000000000 Binary files a/src/ui/dist/assets/gistClient-56b8a233.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/gistClient-56b8a233.js b/src/ui/dist/assets/gistClient-BQBNGijJ.js similarity index 84% rename from src/ui/dist/assets/gistClient-56b8a233.js rename to src/ui/dist/assets/gistClient-BQBNGijJ.js index d5a1b9126..e38ab5cc3 100644 --- a/src/ui/dist/assets/gistClient-56b8a233.js +++ b/src/ui/dist/assets/gistClient-BQBNGijJ.js @@ -1,4 +1,4 @@ -import{at as w,ar as d}from"./index-4a15a213.js";const r=async(t=null)=>{const a=await w(),n=t??a.github.githubPat;if(!n)throw new Error("No GitHub PAT found");return{Authorization:"Bearer "+n}},y=(t,a="reAudioPlayer One",n="Fully managed with reAudioPlayer One",e=!1)=>{const s={public:e,description:n,files:{[`_${a}.md`]:{content:`# reAudioPlayer One +import{at as w,N as d}from"./index-DnhwPdfm.js";const r=async(t=null)=>{const a=await w(),n=t??a.github.githubPat;if(!n)throw new Error("No GitHub PAT found");return{Authorization:"Bearer "+n}},y=(t,a="reAudioPlayer One",n="Fully managed with reAudioPlayer One",e=!1)=>{const s={public:e,description:n,files:{[`_${a}.md`]:{content:`# reAudioPlayer One This gist was created with reAudioPlayer One diff --git a/src/ui/dist/assets/gistClient-BQBNGijJ.js.gz b/src/ui/dist/assets/gistClient-BQBNGijJ.js.gz new file mode 100644 index 000000000..713a0b917 Binary files /dev/null and b/src/ui/dist/assets/gistClient-BQBNGijJ.js.gz differ diff --git a/src/ui/dist/assets/index-0388f272.js b/src/ui/dist/assets/index-0388f272.js deleted file mode 100644 index e35a6c475..000000000 --- a/src/ui/dist/assets/index-0388f272.js +++ /dev/null @@ -1 +0,0 @@ -import{e as N,B as P,n as m,D as o,S as T,T as j,y as q,E as A,o as s,c as a,g as B,L,a as n,t as I,F as c,G as d,d as _,h as y,i as f,l as O,m as V,_ as D}from"./index-4a15a213.js";const i=v=>(O("data-v-28db7468"),v=v(),V(),v),F={class:"search"},$={key:0,class:"fill-page"},G={key:1,class:"fill-page"},J=i(()=>n("h1",null,"Something went wrong",-1)),M={class:"top flex gap-8"},Y={class:"top min-w-max"},z=i(()=>n("h2",null,"Top Result",-1)),H={key:0,class:"list songs flex-1"},K={class:"flex justify-between items-center"},Q=i(()=>n("h2",null,"Songs",-1)),U={class:"flex flex-wrap flexibleSearchResults"},W={key:0,class:"list flex-1 min-w-[40vw] artists"},X=i(()=>n("h2",null,"Artists",-1)),Z={key:1,class:"list flex-1 min-w-[40vw] playlists"},ee=i(()=>n("h2",null,"Playlists",-1)),te={key:2,class:"list flex-1 min-w-[40vw] albums"},se=i(()=>n("h2",null,"Albums",-1)),le=N({__name:"index",setup(v){const R=P(),g=m(!0),p=m(null),h=m(!1),u=m(null),C=o(()=>{var e,t;return(t=(e=u.value)==null?void 0:e.items)==null?void 0:t[0]}),r=o(()=>{var e,t;return(t=(e=u.value)==null?void 0:e.items)==null?void 0:t.filter(l=>l.type==="song")}),x=o(()=>{var e,t;return(t=(e=u.value)==null?void 0:e.items)==null?void 0:t.filter(l=>l.type==="artist")}),w=o(()=>{var e,t;return(t=(e=u.value)==null?void 0:e.items)==null?void 0:t.filter(l=>l.type==="playlist")}),S=o(()=>{var e,t;return(t=(e=u.value)==null?void 0:e.items)==null?void 0:t.filter(l=>l.type==="album")}),k=o(()=>R.params.query),E=o(()=>[...T,...j]),b=async()=>{g.value=!0,p.value=null;const e=await fetch("/api/search",{method:"POST",body:JSON.stringify({query:k.value,scope:E.value})});if(g.value=!1,!e.ok){p.value=await e.text();return}const t=await e.json();u.value=t};return q(b),A(k,b),(e,t)=>(s(),a("div",F,[g.value?(s(),a("div",$,[B(L)])):p.value?(s(),a("div",G,[J,n("p",null,I(p.value),1)])):(s(),a(c,{key:2},[n("div",M,[n("div",Y,[z,B(d,{item:C.value,large:""},null,8,["item"])]),r.value.length?(s(),a("div",H,[n("div",K,[Q,r.value.length>4?(s(),a("span",{key:0,class:"more cursor-pointer text-muted hover:text-primary text-sm uppercase",onClick:t[0]||(t[0]=l=>h.value=!h.value)},I(h.value?"Show less":`Show all ${r.value.length} songs`),1)):_("",!0)]),(s(!0),a(c,null,y(h.value?r.value:r.value.slice(0,4),l=>(s(),f(d,{item:l},null,8,["item"]))),256))])):_("",!0)]),n("div",U,[x.value.length?(s(),a("div",W,[X,(s(!0),a(c,null,y(x.value,l=>(s(),f(d,{item:l},null,8,["item"]))),256))])):_("",!0),w.value.length?(s(),a("div",Z,[ee,(s(!0),a(c,null,y(w.value,l=>(s(),f(d,{item:l},null,8,["item"]))),256))])):_("",!0),S.value.length?(s(),a("div",te,[se,(s(!0),a(c,null,y(S.value,l=>(s(),f(d,{item:l},null,8,["item"]))),256))])):_("",!0)])],64))]))}});const ne=D(le,[["__scopeId","data-v-28db7468"]]);export{ne as default}; diff --git a/src/ui/dist/assets/index-0388f272.js.gz b/src/ui/dist/assets/index-0388f272.js.gz deleted file mode 100644 index 2abc60611..000000000 Binary files a/src/ui/dist/assets/index-0388f272.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/index-06802400.css b/src/ui/dist/assets/index-06802400.css deleted file mode 100644 index bbbacbada..000000000 --- a/src/ui/dist/assets/index-06802400.css +++ /dev/null @@ -1 +0,0 @@ -.wrapper[data-v-a26d5560]{display:flex;flex-direction:row;margin-bottom:20px}.link[data-v-a26d5560]{text-decoration:none}.collection[data-v-a26d5560]{padding:.5em 1em;border-radius:1000vmax;font-weight:700;color:var(--fg-base);margin-right:10px;font-size:.85em;border:var(--border-container);transition:all .2s ease-in-out}.collection[data-v-a26d5560]:hover{background:var(--bg-hover-dk);border-color:var(--fg-secondary)}.router-link-active div.collection[data-v-a26d5560]{background:var(--fg-secondary);color:var(--fg-contrast)}p.note[data-v-19795e3d]{font-size:.7em}div.title[data-v-19795e3d]{display:flex;flex-direction:row;align-items:center;margin-top:1rem;margin-bottom:.25rem;gap:.5em}div.title h4[data-v-19795e3d]{margin-top:0}div.title span[data-v-19795e3d]{color:var(--fg-secondary)}.wrapper[data-v-19795e3d]{background:var(--bg-base-lt);border-radius:20px;min-height:10vh;margin:10px}.wrapper[data-v-19795e3d]:hover{cursor:pointer;background:var(--bg-hover-dk)}.item[data-v-19795e3d]{padding:20px;height:100%;display:flex;flex-direction:column;justify-content:space-between}@media screen and (max-width: 950px){.item[data-v-19795e3d]{display:flex;flex-direction:row;align-items:center;height:100%;justify-content:flex-start}}img[data-v-19795e3d]{width:100%;border-radius:12px}@media screen and (max-width: 950px){img[data-v-19795e3d]{width:20%}}h4[data-v-19795e3d]{margin-bottom:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}@media screen and (max-width: 950px){h4[data-v-19795e3d]{margin-left:20px;margin-top:0}}p[data-v-19795e3d]{margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.padding-20[data-v-d9f5e245]{padding:20px}.releases[data-v-a22e8b2e]{display:grid;grid-template-columns:2fr 1fr;align-items:center;overflow-y:hidden;height:100%}.entry[data-v-a22e8b2e]{display:grid;grid-template-columns:50px 1fr 10ch 20px 20px 20px;gap:.5em;padding:.5em;border-radius:1em;cursor:pointer;align-items:center}.entry[data-v-a22e8b2e]:hover{background:var(--bg-hover)}h5[data-v-a22e8b2e]{text-transform:none;font-weight:700;font-size:.85em;color:var(--fg-base);padding:.25em .5em;border-radius:.5em}h5[data-v-a22e8b2e]:hover{background:var(--bg-hover-dk)}h5.selected[data-v-a22e8b2e]{background:var(--bg-hover)}.current[data-v-a22e8b2e]{display:flex;flex-direction:column;align-items:center;gap:1em}.queue[data-v-a22e8b2e]{height:calc(100% - 150px);overflow:hidden}.queue>.entries[data-v-a22e8b2e]{padding:.5em}.current .cover[data-v-a22e8b2e]{max-width:min(50vh,500px)}.followButton[data-v-8fde1a37]{color:var(--fg-base);background:none;border:1px solid var(--border-base);border-radius:2px;font-family:var(--ff-base);text-transform:uppercase;margin-top:5px;padding:5px 10px;font-weight:700;letter-spacing:1px}.followButton[data-v-8fde1a37]:hover{cursor:pointer}p.note[data-v-8fde1a37]{font-size:.7em}.wrapper[data-v-8fde1a37]{background:var(--bg-base-lt);border-radius:20px;min-height:10vh;margin:10px;padding:20px;position:relative;text-decoration:none!important;height:calc(100% - 20px)}.wrapper[data-v-8fde1a37]:hover{cursor:pointer;background:var(--bg-hover-dk)}.item[data-v-8fde1a37]{height:100%;display:flex;flex-direction:column;justify-content:space-between}.item span.material-symbols-rounded[data-v-8fde1a37]:hover{color:var(--fg-base)}img[data-v-8fde1a37]{width:100%;border-radius:12px;margin-bottom:1em}h4[data-v-8fde1a37]{margin:0}p[data-v-8fde1a37]{margin:0;color:var(--fg-base-dk);font-size:.8em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.artists[data-v-16f47b6f]{display:flex;flex-direction:column;gap:1em}main.collection{position:relative;overflow:hidden}main.collection>div{overflow:auto;height:100%;padding-right:10px}.header[data-v-433b7137]{position:sticky;top:0;z-index:100;width:100%;background-color:var(--bg-base);padding-bottom:1em}.parent[data-v-433b7137]{display:grid;grid-template-rows:auto 1fr;margin:10px 0 0 10px;height:calc(100% - 10px);overflow:auto;position:relative} diff --git a/src/ui/dist/assets/index-06802400.css.gz b/src/ui/dist/assets/index-06802400.css.gz deleted file mode 100644 index 32b5e1ffc..000000000 Binary files a/src/ui/dist/assets/index-06802400.css.gz and /dev/null differ diff --git a/src/ui/dist/assets/index-0ded4f06.css b/src/ui/dist/assets/index-0ded4f06.css deleted file mode 100644 index 05f9d38bf..000000000 --- a/src/ui/dist/assets/index-0ded4f06.css +++ /dev/null @@ -1 +0,0 @@ -span.icon[data-v-3f16aa97]{transform:translateY(3px);margin-left:20px}.header[data-v-3f16aa97]{margin:10px 10px 0;display:flex;flex-direction:row;justify-content:space-between}.header>h2[data-v-3f16aa97]{align-self:flex-start;margin-top:0;margin-bottom:10px}.header>h5[data-v-3f16aa97]{text-transform:uppercase;align-self:center;margin:0}.header>h5[data-v-3f16aa97]:hover{cursor:pointer}.items[data-v-3f16aa97]{display:flex;max-width:100%;flex-direction:row;flex-wrap:wrap}.home[data-v-7d09d2f9]{padding:20px;display:flex;flex-direction:row}.home .main[data-v-7d09d2f9]{flex:2;flex-shrink:0}.home .side[data-v-7d09d2f9]{flex:1;flex-shrink:0;margin-left:20px}.onboarding .spotify{width:30px;height:30px}.onboarding .spotify path{fill:var(--fg-base)}.spotify-playlists[data-v-2c465748]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))} diff --git a/src/ui/dist/assets/index-1ea7a167.js b/src/ui/dist/assets/index-1ea7a167.js deleted file mode 100644 index 7340848c1..000000000 --- a/src/ui/dist/assets/index-1ea7a167.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as S,o as n,c as a,a as t,b as I,t as x,d as p,r as N,e as F,f as T,g as i,w as d,F as h,h as m,i as _,P as w,u as $,p as q,j as H,k,l as D,m as j,n as f,q as B,s as M,v as R,I as V,C as O,x as G,y as L}from"./index-4a15a213.js";import{P as E}from"./PlaylistCard-915b2cc1.js";import{T as b}from"./TrackCompact-28e1b8fb.js";import{P as C}from"./PlaylistEntry-4f48a6f3.js";import{s as J}from"./spotify-2bf3aeb7.js";import"./playerInPicture-af203fdf.js";import"./EditSong.vue_vue_type_script_setup_true_lang-0170f423.js";const W={name:"FlexShelf",props:{heading:String,icon:String}},z={class:"shelf"},A={class:"header"},K={key:0},Q={key:0,class:"icon material-symbols-round"},U={class:"items"};function X(e,l,r,c,s,o){return n(),a("div",z,[t("div",A,[r.heading||r.icon?(n(),a("h2",K,[I(x(r.heading),1),r.icon?(n(),a("span",Q,x(r.icon),1)):p("",!0)])):p("",!0)]),t("div",U,[N(e.$slots,"default",{},void 0,!0)])])}const y=S(W,[["render",X],["__scopeId","data-v-3f16aa97"]]),u=e=>(D("data-v-7d09d2f9"),e=e(),j(),e),Y={class:"home"},Z={class:"main"},ee={key:0,class:"playlists"},te=u(()=>t("span",{class:"material-symbols-rounded ms-fill"}," library_music ",-1)),se=u(()=>t("span",{class:"hover:underline"}," Playlists ",-1)),le={key:1,class:"breaking"},ne=u(()=>t("span",{class:"material-symbols-rounded ms-fill"}," trending_up ",-1)),oe=u(()=>t("span",{class:"hover:underline"}," Breaking Songs ",-1)),ae={key:2,class:"liked"},ie=u(()=>t("span",{class:"material-symbols-rounded ms-fill"}," favorite ",-1)),re=u(()=>t("span",{class:"hover:underline"}," Liked Songs ",-1)),ce={class:"side"},de={key:0,class:"releases"},ue=u(()=>t("span",{class:"material-symbols-rounded ms-fill"}," radar ",-1)),_e=u(()=>t("span",{class:"hover:underline"}," Out now ",-1)),pe={key:1,class:"disovery"},he=u(()=>t("span",{class:"material-symbols-rounded ms-fill"}," explore ",-1)),me=u(()=>t("span",{class:"hover:underline"}," Discover ",-1)),ye={key:2,class:"recommendations"},fe=u(()=>t("h2",{class:"flex items-center gap-2"},[t("span",{class:"material-symbols-rounded ms-fill"}," recommend "),I(" Suggested ")],-1)),ve={name:"Home",data(){const e=new Date;return{greeting:e.getHours()<12?"Good morning":e.getHours()<18?"Good afternoon":"Good evening",releases:[],picks:[],songs:[],recommendations:[],data:H()}},mounted(){fetch("/api/releases").then(e=>e.json()).then(e=>{this.releases=e.slice(0,3)}),this.pick()},computed:{playlists(){return this.data.playlists},liked(){return k("liked").songs.slice(0,3)},breaking(){return k("breaking").songs.slice(0,3)}},methods:{playDiscover(e){fetch("/api/player/load",{method:"POST",body:JSON.stringify({id:e.id,type:"track"})})},playRecommendation(e){const l=new CustomEvent("player.play",{detail:{artist:e.artist,title:e.title,source:e.source||e.url||e.href}});window.dispatchEvent(l)},async pick(){if(!this.data.playlists.length){setTimeout(()=>this.pick(),2e3);return}if(this.songs=this.playlists.map(e=>{var l;return((l=k(e.id))==null?void 0:l.songs)||[]}).flat(),!(this.songs.length<3)){for(let e=0;e<3;e++)this.picks.push(this.songs[Math.floor(Math.random()*this.songs.length)]);fetch("/api/spotify/recommendations",{method:"POST",body:JSON.stringify({query:`${this.picks[0].artist} ${this.picks[0].title}`})}).then(e=>e.json()).then(e=>{this.recommendations=e.slice(0,3)})}}}},ge=F({...ve,setup(e){return(l,r)=>{const c=T("router-link");return n(),a("div",Y,[t("div",Z,[l.playlists.length?(n(),a("div",ee,[t("h2",null,[i(c,{class:"linkOnHover flex items-center gap-2 !no-underline",to:"/collection/playlists"},{default:d(()=>[te,se]),_:1})]),i(y,null,{default:d(()=>[(n(!0),a(h,null,m(l.playlists,s=>(n(),_(E,{playlist:s},null,8,["playlist"]))),256))]),_:1})])):p("",!0),l.breaking.length?(n(),a("div",le,[t("h2",null,[i(c,{class:"linkOnHover flex items-center gap-2 !no-underline",to:"/collection/tracks/breaking"},{default:d(()=>[ne,oe]),_:1})]),i(w),(n(!0),a(h,null,m(l.breaking,(s,o)=>(n(),_(C,{key:o,index:o,"playlist-id":"breaking",song:s,"with-cover":""},null,8,["index","song"]))),128))])):p("",!0),l.liked.length?(n(),a("div",ae,[t("h2",null,[i(c,{class:"linkOnHover flex items-center gap-2 !no-underline",to:"/collection/tracks"},{default:d(()=>[ie,re]),_:1})]),i(w),(n(!0),a(h,null,m(l.liked,(s,o)=>(n(),_(C,{key:o,index:o,"playlist-id":"liked",song:s,"with-cover":""},null,8,["index","song"]))),128))])):p("",!0)]),t("div",ce,[l.releases.length?(n(),a("div",de,[t("h2",null,[i(c,{class:"linkOnHover flex items-center gap-2 !no-underline",to:"/collection/releases"},{default:d(()=>[ue,_e]),_:1})]),i(y,null,{default:d(()=>[(n(!0),a(h,null,m(l.releases,(s,o)=>(n(),_(b,{key:o,artist:s.artist,cover:s.cover,href:s.url,title:s.title,onPlay:()=>l.playRecommendation(s)},null,8,["artist","cover","href","title","onPlay"]))),128))]),_:1})])):p("",!0),l.picks.length?(n(),a("div",pe,[t("h2",null,[i(c,{class:"linkOnHover flex items-center gap-2 !no-underline",to:"/discover"},{default:d(()=>[he,me]),_:1})]),i(y,null,{default:d(()=>[(n(!0),a(h,null,m(l.picks,(s,o)=>(n(),_(b,{id:s.id,key:o,artist:s.artist,cover:$(q)(s.cover),href:s.href,title:s.title,onPlay:()=>l.playDiscover(s)},null,8,["id","artist","cover","href","title","onPlay"]))),128))]),_:1})])):p("",!0),l.recommendations.length?(n(),a("div",ye,[fe,i(y,null,{default:d(()=>[(n(!0),a(h,null,m(l.recommendations,(s,o)=>(n(),_(b,{key:o,artist:s.artist,cover:s.cover,href:s.href,title:s.title,onPlay:()=>l.playRecommendation(s)},null,8,["artist","cover","href","title","onPlay"]))),128))]),_:1})])):p("",!0)])])}}});const ke=S(ge,[["__scopeId","data-v-7d09d2f9"]]),v=e=>(D("data-v-2c465748"),e=e(),j(),e),be={class:"onboarding p-4"},Se=v(()=>t("h1",null,"So nice to meet you!",-1)),$e=v(()=>t("p",null,"Let's get you set up",-1)),Pe={class:"grid grid-cols-2 gap-4 mt-8"},xe=v(()=>t("div",{class:"flex flex-row items-center"},[t("span",{class:"material-symbols-rounded ms-wght-700 text-4xl mr-4"},"add"),t("h2",null,"Create your first playlist")],-1)),we={class:"flex flex-row justify-end w-full"},Oe={class:"flex flex-row items-center"},Ce=v(()=>t("h2",null,"Import from Spotify",-1)),Ie={class:"spotify-playlists"},Fe=F({__name:"Onboarding",setup(e){const l=f([]),r=f(!1),c=f(null);B(),M().then(o=>{r.value=o}),fetch("/api/spotify/playlists").then(o=>o.json()).then(o=>{l.value=o});const s={fields:[{name:"name",placeholder:"Playlist name",icon:"title",type:"text",required:!0},{name:"description",placeholder:"Playlist description",icon:"description",type:"text",required:!1}],submit:{label:"Create",action:async()=>{const o=c.value.toObject();await G(o.name,o.description)}}};return(o,P)=>(n(),a("div",be,[Se,$e,t("div",Pe,[i(O,{class:"p-4"},{default:d(()=>[xe,i(R,{ref_key:"createForm",ref:c,options:s.fields},null,8,["options"]),t("div",we,[i(V,{onClick:P[0]||(P[0]=g=>s.submit.action()),icon:"add",label:s.submit.label},null,8,["label"])])]),_:1}),l.value.length?(n(),_(O,{key:0,class:"p-4"},{default:d(()=>[t("div",Oe,[i($(J),{class:"spotify mr-4"}),Ce]),t("div",Ie,[(n(!0),a(h,null,m(l.value,g=>(n(),_(E,{playlist:{...g,type:"classic",plays:0,href:`https://open.spotify.com/playlist/${g.id}`},"is-spotify":""},null,8,["playlist"]))),256))])]),_:1})):p("",!0)])]))}});const He=S(Fe,[["__scopeId","data-v-2c465748"]]),Me={__name:"index",setup(e){const l=H(),r=f(!1),c=B();return L(()=>{document.body.clientWidth<768&&(r.value=!0,c.push("/collection/playlist"))}),(s,o)=>$(l).notEmpty||r.value?(n(),_(ke,{key:0})):(n(),_(He,{key:1}))}};export{Me as default}; diff --git a/src/ui/dist/assets/index-1ea7a167.js.gz b/src/ui/dist/assets/index-1ea7a167.js.gz deleted file mode 100644 index d559bbe51..000000000 Binary files a/src/ui/dist/assets/index-1ea7a167.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/index-26fd52a1.js b/src/ui/dist/assets/index-26fd52a1.js deleted file mode 100644 index 818535920..000000000 --- a/src/ui/dist/assets/index-26fd52a1.js +++ /dev/null @@ -1 +0,0 @@ -import{e as S,o,c as _,t as b,O as T,_ as V,n as y,y as Q,D,i as k,d as C,a as t,b as N,F as x,l as B,m as U,a6 as X,g as m,I as $,h as I,w as G,H as ee,M as q,u as f,C as R,as as te,at as M,au as F,av as Y,aw as J,ax as E,E as j,a2 as ae,ay as le,Z as se,ar as oe,B as ne,q as ie,R as re}from"./index-4a15a213.js";import{_ as ce}from"./Markdown.vue_vue_type_style_index_0_lang-99c6b55d.js";import{T as W}from"./TrackCompact-28e1b8fb.js";import{G as ue}from"./gistClient-56b8a233.js";const de=S({__name:"TabButton",props:{name:{type:String,required:!0},active:{type:Boolean,default:!1}},setup(l){return(e,s)=>(o(),_("button",{class:T(["btn",{active:l.active}])},b(l.name),3))}});const pe=V(de,[["__scopeId","data-v-3f038910"]]),_e="0.11.49",z=l=>(B("data-v-823f6937"),l=l(),U(),l),me={class:"flex flex-col"},ve={key:0,class:"text-sm flex items-center gap-2 latest"},he=z(()=>t("span",{class:"material-symbols-rounded"},"check",-1)),ye={key:1,class:"text-sm flex items-center gap-2 update"},fe=z(()=>t("span",{class:"material-symbols-rounded"},"update",-1)),H="1.0.0",be=S({__name:"About",setup(l){const e=y(""),s=y("");Q(async()=>{const i=await(await fetch("https://api.github.com/repos/reAudioPlayer/one/releases/latest")).json();e.value=i.tag_name,s.value=i.body});const p=D(()=>e.value===H),n=D(()=>_e.split(".").pop()),d=y(null);return(a,i)=>(o(),_("div",me,[s.value?(o(),k(ce,{key:0,content:s.value,title:"What's new in "+e.value,ref_key:"changelog",ref:d,onClose:i[0]||(i[0]=()=>s.value="")},null,8,["content","title"])):C("",!0),t("span",null,[t("strong",null,"v"+b(H)),N(" (Build "+b(n.value)+") ",1)]),e.value?(o(),_(x,{key:1},[p.value?(o(),_("span",ve,[he,N(" You're on the latest version "),t("a",{class:"cursor-pointer",onClick:i[1]||(i[1]=h=>{var c;return(c=d.value)==null?void 0:c.show()})}," What's changed? ")])):(o(),_("span",ye,[fe,N(" Update available: "+b(e.value)+" ",1),t("a",{class:"cursor-pointer",onClick:i[2]||(i[2]=h=>{var c;return(c=d.value)==null?void 0:c.show()})}," What's changed? ")]))],64)):C("",!0)]))}});const ge=V(be,[["__scopeId","data-v-823f6937"]]);const O=l=>(B("data-v-9bd09bb6"),l=l(),U(),l),ke={class:"wrap"},we=O(()=>t("h3",null,"Browser Data",-1)),xe=O(()=>t("h3",null,"Import / Export",-1)),$e={class:"flex gap-4 mb-4"},Se={class:"covers mb-2"},Ce=O(()=>t("h3",null,"Local covers",-1)),Ve={key:0,class:"items gap-4"},Pe={class:"flex justify-between w-full mb-4"},Ie={class:"overflow-hidden"},Ae=["onClick"],De={key:1,class:"text-muted italic"},Ne={class:"tracks"},Te=O(()=>t("h3",null,"Local tracks",-1)),Be={key:0,class:"items gap-4"},Ue={class:"flex justify-between w-full mb-4"},Ee={class:"overflow-hidden"},Oe=["onClick"],Le={class:"flex justify-center w-full mb-4"},Ge=["src"],Re={key:1,class:"text-muted italic"},je={__name:"LocalData",setup(l){const e=y([]),s=y([]),p=X(),n=()=>{fetch("/api/config/images").then(c=>c.json()).then(c=>e.value=c),fetch("/api/config/tracks").then(c=>c.json()).then(c=>s.value=c)},d=async c=>{await fetch("/api/config/images",{method:"DELETE",body:JSON.stringify({name:c})}),n()},a=async c=>{fetch("/api/config/tracks",{method:"DELETE",body:JSON.stringify({name:c})}),n()},i=c=>{p.loadPlaylist("track",c)};n();const h=()=>{localStorage.clear(),sessionStorage.clear(),window.location.reload()};return(c,w)=>(o(),_("div",ke,[we,m($,{class:"mb-4",icon:"delete",label:"Clean browser settings",onClick:h}),xe,t("div",$e,[m($,{icon:"backup",label:"Back up / Export",onClick:w[0]||(w[0]=v=>c.$router.push("/export"))}),m($,{icon:"cloud_download",label:"Import",onClick:w[1]||(w[1]=v=>c.$router.push("/import"))})]),t("div",Se,[Ce,e.value.length?(o(),_("div",Ve,[(o(!0),_(x,null,I(e.value,(v,P)=>(o(),k(R,{key:P,class:"cover-wrapper p-4"},{default:G(()=>[m(ee,{src:v.name,class:"rounded-xl mb-4"},null,8,["src"]),t("div",Pe,[t("p",Ie,[m(q,{text:v.name},null,8,["text"])]),t("span",{class:"ml-2 material-symbols-rounded cursor-pointer",onClick:r=>d(v.name)},"delete",8,Ae)]),(o(!0),_(x,null,I(v.songs,(r,u)=>(o(),k(f(W),{id:r.id,key:u,artist:r.artist,cover:r.cover,title:r.title,onPlay:g=>i(r.id)},null,8,["id","artist","cover","title","onPlay"]))),128))]),_:2},1024))),128))])):(o(),_("span",De,"No local covers"))]),t("div",Ne,[Te,s.value.length?(o(),_("div",Be,[(o(!0),_(x,null,I(s.value,(v,P)=>(o(),k(R,{key:P,class:"track p-4"},{default:G(()=>[t("div",Ue,[t("p",Ee,[m(q,{text:v.name},null,8,["text"])]),t("span",{class:"material-symbols-rounded cursor-pointer",onClick:r=>a(v.name)},"delete",8,Oe)]),t("div",Le,[t("audio",{src:"/api/"+v.name.replace("local:","/src/tracks/"),controls:""},null,8,Ge)]),(o(!0),_(x,null,I(v.songs,(r,u)=>(o(),k(f(W),{id:r.id,key:u,artist:r.artist,cover:r.cover,title:r.title,onPlay:g=>i(r.id)},null,8,["id","artist","cover","title","onPlay"]))),128))]),_:2},1024))),128))])):(o(),_("span",Re,"No local tracks"))])]))}},qe=V(je,[["__scopeId","data-v-9bd09bb6"]]),Je={class:"markdown-body"},We=te("

By default, reAudioPlayer does not share any data with third parties.

Optionally, when entering your Spotify credentials, reAudioPlayer can access your Spotify data to offer the following features:

  • Display your Spotify playlists and offer importing them
  • Search songs on Spotify without leaving reAudioPlayer and adding them to your playlists
  • Display song information (BPM, key, etc.) from Spotify
  • Search artists on Spotify without leaving reAudioPlayer to display their information and follow them on Spotify
  • Display artist information (genres, popularity, etc.) from Spotify
  • Provide the release radar

Optionally, when entering your GitHub credentials, reAudioPlayer can access your GitHub data to offer the following features:

  • Storing your library in a GitHub Gist
  • Importing your library from a GitHub Gist

All data stays between your device and Spotify or Github, respectively.

Depending on the cache policy, reAudioPlayer stores songs locally to improve performance and reduce network traffic. The browser additionally stores the following user preferences in local storage:

  • Theme
  • Selected audio player
  • Volume
  • Repeat mode
  • Picture in Picture mode
  • pre-rendered placeholder images

You can manage your local data, that you manually uploaded to reAudioPlayer, in section “Local Data”. None of this data left or will leave your device.

",9),He=[We],Me={__name:"Privacy",setup(l,{expose:e}){return e({frontmatter:{}}),(p,n)=>(o(),_("div",Je,He))}},Fe={class:"material-symbols-rounded ms-wght-300 cursor-pointer"},Ye={class:"checkbox__label"},ze={class:"checkbox__label__title"},Ke={class:"checkbox__label__sublabel italic"},Ze=S({__name:"Checkbox",props:{modelValue:{type:Boolean,required:!0},label:{type:String,required:!1,default:""},disabled:{type:Boolean,required:!1,default:!1},sublabel:{type:String,required:!1,default:""}},emits:["update:modelValue"],setup(l,{emit:e}){const s=l,p=e,n=a=>p("update:modelValue",a),d=()=>{s.disabled||n(!s.modelValue)};return(a,i)=>(o(),_("div",{class:T([{"opacity-50":l.disabled},"checkbox"]),onClick:d},[t("span",Fe,b(l.modelValue?"check_box":"check_box_outline_blank"),1),t("div",Ye,[t("div",ze,b(l.label),1),t("div",Ke,b(l.sublabel),1)])],2))}});const A=V(Ze,[["__scopeId","data-v-be9fa887"]]),Qe={class:"relative"},Xe=S({__name:"Cache",setup(l){const e=y(null),s=y("");M().then(d=>{e.value=d,s.value=JSON.stringify(d)});const p=D(()=>e.value?JSON.stringify(e.value)!==s.value:!1),n=async()=>{p.value&&(await Y(e.value),s.value=JSON.stringify(e.value))};return(d,a)=>(o(),_("div",Qe,[e.value?(o(),k(A,{key:0,modelValue:e.value.cache.preserve,"onUpdate:modelValue":a[0]||(a[0]=i=>e.value.cache.preserve=i),label:"Preserve cache"},null,8,["modelValue"])):C("",!0),e.value?(o(),k(A,{key:1,modelValue:e.value.cache.preserveInSession,"onUpdate:modelValue":a[1]||(a[1]=i=>e.value.cache.preserveInSession=i),disabled:e.value.cache.preserve,label:"Preserve cache in session"},null,8,["modelValue","disabled"])):C("",!0),e.value?(o(),k(F,{key:2,modelValue:e.value.cache.strategy,"onUpdate:modelValue":a[2]||(a[2]=i=>e.value.cache.strategy=i),options:[{value:"all",label:"All Songs"},{value:"playlist",label:"Current Playlist"},{value:"currentNext",label:"Current + Next Song "},{value:"current",label:"Current Song Only"}],icon:"cached"},null,8,["modelValue"])):C("",!0),m($,{disabled:!e.value||!p.value,class:"ml-auto mt-4",icon:"save",label:"Save",onClick:n},null,8,["disabled"])]))}});const et={name:"Theme",props:{name:String},methods:{selected(){return J.getCurrentTheme()==this.name},select(){J.setTheme(this.name),this.$emit("selected")}}},tt=["src"];function at(l,e,s,p,n,d){return o(),_("div",{onClick:e[0]||(e[0]=(...a)=>d.select&&d.select(...a)),class:"wrapper"},[t("p",{class:T(["mb-4",{selected:d.selected()}])},b(s.name),3),t("img",{src:`/assets/img/themes/${this.name}.svg`,class:T({selected:d.selected()})},null,10,tt)])}const lt=V(et,[["render",at],["__scopeId","data-v-74855c2d"]]),K=l=>(B("data-v-5cc6477c"),l=l(),U(),l),st=K(()=>t("h3",{class:"mt-[10px]"},"Theme",-1)),ot={class:"themes"},nt=K(()=>t("h3",{class:"mt-[10px]"},"Sidebar",-1)),it=S({__name:"Appearance",setup(l){const e=E(),s=["dynamic","light","dark"];return(p,n)=>(o(),_(x,null,[st,m(A,{modelValue:f(e).ambient,"onUpdate:modelValue":n[0]||(n[0]=d=>f(e).ambient=d),disabled:!f(e).themeSupportsAmbient,label:"Ambient"},null,8,["modelValue","disabled"]),t("div",ot,[(o(),_(x,null,I(s,(d,a)=>m(lt,{key:a,name:d},null,8,["name"])),64))]),nt,m(A,{modelValue:f(e).sidebar.news,"onUpdate:modelValue":n[1]||(n[1]=d=>f(e).sidebar.news=d),label:"Show 'News' Tab"},null,8,["modelValue"]),m(A,{modelValue:f(e).sidebar.sports,"onUpdate:modelValue":n[2]||(n[2]=d=>f(e).sidebar.sports=d),label:"Show 'Sports' Tab"},null,8,["modelValue"])],64))}});const rt=V(it,[["__scopeId","data-v-5cc6477c"]]),ct={class:"relative"},ut=S({__name:"Player",setup(l){const e=E();return(s,p)=>(o(),_("div",ct,[m(A,{modelValue:f(e).player.pictureInPicture,"onUpdate:modelValue":p[0]||(p[0]=n=>f(e).player.pictureInPicture=n),label:"Support Picture in Picture",sublabel:"this will slightly reduce performance"},null,8,["modelValue"]),m(F,{modelValue:f(e).player.type,"onUpdate:modelValue":p[1]||(p[1]=n=>f(e).player.type=n),options:[{value:"web",label:"Native player",icon:"horizontal_rule"},{value:"web/wave",label:"Wave player",icon:"graphic_eq"}],icon:"music_note"},null,8,["modelValue"])]))}});const dt={key:0,class:"material-symbols-rounded"},pt=["disabled","placeholder","type"],_t={__name:"PasswordInputWithIcon",props:{icon:String,placeholder:String,modelValue:String,disabled:Boolean},emits:["update:modelValue","change","submit"],setup(l,{emit:e}){const s=l,p=y(s.modelValue);j(()=>s.modelValue,h=>{p.value=h});const n=e,d=()=>{n("update:modelValue",p.value),n("change",p.value)},a=h=>{h.key==="Enter"&&n("submit",p)},i=y(!1);return(h,c)=>(o(),_("div",{class:T([{disabled:l.disabled},"text-input-with-icon rounded-3xl flex items-center px-4"])},[l.icon?(o(),_("span",dt,b(l.icon),1)):C("",!0),ae(t("input",{"onUpdate:modelValue":c[0]||(c[0]=w=>p.value=w),disabled:l.disabled,placeholder:l.placeholder,type:i.value?"text":"password",onInput:d,onKeyup:a},null,40,pt),[[le,p.value]]),t("span",{class:"material-symbols-rounded cursor-pointer",onClick:c[1]||(c[1]=w=>i.value=!i.value)},b(i.value?"visibility":"visibility_off"),1)],2))}},L=V(_t,[["__scopeId","data-v-5e026540"]]),Z="reAudioPlayer One",mt=`https://audius.co/oauth/auth?scope=read&app_name=${Z}&redirect_uri=`,vt="/audius/callback",ht=()=>{const l=encodeURIComponent(`${window.location.origin}${vt}`),e=`${mt}${l}`;window.open(e,Z,"width=500,height=800")},yt=t("summary",{class:"cursor-pointer"},"How to",-1),ft=t("p",null,[N(" 1) Head over to the "),t("a",{href:"https://developer.spotify.com/dashboard/applications",target:"_blank"},"spotify developer dashboard")],-1),bt=t("p",null,"2) Create An App",-1),gt=t("p",null,"3) Enter any name and any description",-1),kt=t("p",null," 5) Copy and enter the client id and secret into the corresponding input field ",-1),wt=t("hr",{class:"my-4"},null,-1),xt=t("h5",null,"Client ID:",-1),$t=t("h5",{class:"mt-4"},"Client Secret:",-1),St=t("h3",{class:"mt-[10px]"},"Github",-1),Ct=t("h5",{class:"mt-4"},"PAT:",-1),Vt=t("h5",{class:"mt-4"},"Gist ID:",-1),Pt={class:"flex gap-4 justify-end mt-4"},It=t("h3",{class:"mt-[10px]"},"Audius",-1),At=S({__name:"Integration",setup(l){const e=y(!1),s=y({id:"",secret:""}),p=D(()=>e.value?Object.values(s.value).some(r=>r==="")?!1:s.value.id!==n.value.id||s.value.secret!==n.value.secret||e.value!==n.value.enabled:n.value.enabled),n=y({id:"",secret:"",enabled:!1});fetch("/api/config/spotify").then(async r=>{let u={id:"",secret:"",enabled:!1};if(r.status==200)u=await r.json();else if([204,401].includes(r.status))u={id:"restricted",secret:"restricted",enabled:!1};else throw new Error("Failed to fetch spotify config");n.value=u,n.value.enabled=![u.id,u.secret].includes("restricted"),e.value=n.value.enabled,s.value.id=u.id.replace("restricted",""),s.value.secret=u.secret.replace("restricted","")});const d=async()=>{if(!p.value)return;let r=s.value.id,u=s.value.secret;e.value||(u=r="restricted"),(await fetch("/api/config/spotify",{method:"POST",body:JSON.stringify({id:r,secret:u})})).ok&&(n.value={id:r,secret:u,enabled:e.value})},a=y(null),i=y("");M().then(r=>{a.value=r,i.value=JSON.stringify(r)});const h=D(()=>a.value?JSON.stringify(a.value)!==i.value:!1),c=async()=>{h.value&&(await Y(a.value),i.value=JSON.stringify(a.value))},v=`http://${window.location.host}/api/spotify/callback`,P=async()=>{var r,u;(u=(r=a.value)==null?void 0:r.github)!=null&&u.githubPat&&(a.value.github.gistId||(a.value.github.gistId=await ue.search(a.value.github.githubPat),a.value.github.gistId||oe.addError("Failed to find gist","You can start syncing directly in 'Local Data' (a Gist will be created for you) or enter the gist id manually")))};return j(()=>{var r,u;return(u=(r=a.value)==null?void 0:r.github)==null?void 0:u.githubPat},P),(r,u)=>(o(),_(x,null,[m(A,{modelValue:e.value,"onUpdate:modelValue":u[0]||(u[0]=g=>e.value=g),class:"h3 mb-2",label:"Spotify"},null,8,["modelValue"]),t("details",null,[yt,ft,bt,gt,t("p",null,[N(" 4) Edit the settings: set the redirect url to "),t("a",{href:v},b(v))]),kt]),wt,xt,m(L,{modelValue:s.value.id,"onUpdate:modelValue":u[1]||(u[1]=g=>s.value.id=g),disabled:!e.value,icon:"token"},null,8,["modelValue","disabled"]),$t,m(L,{modelValue:s.value.secret,"onUpdate:modelValue":u[2]||(u[2]=g=>s.value.secret=g),disabled:!e.value,icon:"lock"},null,8,["modelValue","disabled"]),m($,{disabled:!p.value,class:"ml-auto mt-4",icon:"save",label:"Save",onClick:d},null,8,["disabled"]),St,Ct,a.value?(o(),k(L,{key:0,modelValue:a.value.github.githubPat,"onUpdate:modelValue":u[3]||(u[3]=g=>a.value.github.githubPat=g),icon:"lock"},null,8,["modelValue"])):C("",!0),Vt,a.value?(o(),k(se,{key:1,modelValue:a.value.github.gistId,"onUpdate:modelValue":u[4]||(u[4]=g=>a.value.github.gistId=g),icon:"numbers"},null,8,["modelValue"])):C("",!0),t("div",Pt,[m($,{disabled:!a.value||!a.value.github.githubPat||!!a.value.github.gistId,icon:"search",label:"Search",onClick:P},null,8,["disabled"]),m($,{disabled:!a.value||!h.value,icon:"save",label:"Save",onClick:c},null,8,["disabled"])]),It,m($,{icon:"link",label:"Connect",onClick:f(ht)},null,8,["onClick"])],64))}}),Dt={class:"flex items-center gap-2"},Nt=S({__name:"Developer",setup(l){E();const e=()=>{fetch("/api/system/kill")},s=()=>{fetch("/api/system/restart/nginx")};return(p,n)=>(o(),_("div",Dt,[m($,{icon:"refresh",label:"Restart",onClick:e,type:"danger"}),m($,{icon:"refresh",label:"Restart Nginx",onClick:s})]))}}),Tt=l=>(B("data-v-2a5c5e34"),l=l(),U(),l),Bt={class:"p-[10px] preferences"},Ut=Tt(()=>t("h1",{class:"w-full"},"Preferences",-1)),Et={class:"wrapper"},Ot={class:"sections flex flex-col"},Lt={class:"section p-2"},Gt={class:"h5 text-sm"},Rt=S({__name:"index",setup(l){const e=E(),s={About:ge,Privacy:Me,"Local Data":qe,Integrations:At,"Cache Policy":Xe,Appearance:rt,Player:ut,Developer:Nt},p=D(()=>{const h=[{name:"General",items:["About"]},{name:"My Data",items:["Privacy","Local Data","Integrations"]},{name:"Player",items:["Player","Cache Policy"]},{name:"Appearance",items:["Appearance"]}];return e.mode.dev&&h.push({name:"Developer",items:["Developer"]}),h}),n=ne(),d=ie();let a=n.query.tab;const i=y("About");return Object.keys(s).includes(a)&&(i.value=a),j(i,h=>{const c={tab:h};d.replace({query:c})}),(h,c)=>(o(),_("div",Bt,[Ut,t("div",Et,[t("div",Ot,[(o(!0),_(x,null,I(p.value,w=>(o(),_("div",Lt,[t("span",Gt,b(w.name),1),(o(!0),_(x,null,I(w.items,v=>(o(),k(pe,{key:v,name:v,active:i.value===v,onClick:P=>i.value=v},null,8,["name","active","onClick"]))),128))]))),256))]),m(R,{class:"content h-max p-4 pt-0"},{default:G(()=>[t("h2",null,b(i.value),1),(o(),k(re(s[i.value])))]),_:1})])]))}});const Ht=V(Rt,[["__scopeId","data-v-2a5c5e34"]]);export{Ht as default}; diff --git a/src/ui/dist/assets/index-26fd52a1.js.gz b/src/ui/dist/assets/index-26fd52a1.js.gz deleted file mode 100644 index 0fbf154e5..000000000 Binary files a/src/ui/dist/assets/index-26fd52a1.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/index-2f9f0259.css b/src/ui/dist/assets/index-2f9f0259.css deleted file mode 100644 index 37a2dc72f..000000000 --- a/src/ui/dist/assets/index-2f9f0259.css +++ /dev/null @@ -1 +0,0 @@ -.search[data-v-28db7468]{padding:20px;height:calc(100% - 40px)}input[data-v-28db7468]{margin-left:10px;margin-bottom:20px;width:20vw!important} diff --git a/src/ui/dist/assets/index-4a15a213.js b/src/ui/dist/assets/index-4a15a213.js deleted file mode 100644 index 04bfec397..000000000 --- a/src/ui/dist/assets/index-4a15a213.js +++ /dev/null @@ -1,58 +0,0 @@ -var BA=Object.defineProperty;var VA=(e,t,r)=>t in e?BA(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var ki=(e,t,r)=>(VA(e,typeof t!="symbol"?t+"":t,r),r);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))s(o);new MutationObserver(o=>{for(const l of o)if(l.type==="childList")for(const u of l.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&s(u)}).observe(document,{childList:!0,subtree:!0});function r(o){const l={};return o.integrity&&(l.integrity=o.integrity),o.referrerPolicy&&(l.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?l.credentials="include":o.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function s(o){if(o.ep)return;o.ep=!0;const l=r(o);fetch(o.href,l)}})();/** -* @vue/shared v3.4.21 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function Oa(e,t){const r=new Set(e.split(","));return t?s=>r.has(s.toLowerCase()):s=>r.has(s)}const ct={},Mi=[],zt=()=>{},WA=()=>!1,Zs=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),ec=e=>e.startsWith("onUpdate:"),_t=Object.assign,tc=(e,t)=>{const r=e.indexOf(t);r>-1&&e.splice(r,1)},FA=Object.prototype.hasOwnProperty,rt=(e,t)=>FA.call(e,t),Se=Array.isArray,Li=e=>Ji(e)==="[object Map]",ui=e=>Ji(e)==="[object Set]",fh=e=>Ji(e)==="[object Date]",HA=e=>Ji(e)==="[object RegExp]",Ne=e=>typeof e=="function",bt=e=>typeof e=="string",Nr=e=>typeof e=="symbol",dt=e=>e!==null&&typeof e=="object",nc=e=>(dt(e)||Ne(e))&&Ne(e.then)&&Ne(e.catch),Vp=Object.prototype.toString,Ji=e=>Vp.call(e),UA=e=>Ji(e).slice(8,-1),Wp=e=>Ji(e)==="[object Object]",rc=e=>bt(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,$i=Oa(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Ra=e=>{const t=Object.create(null);return r=>t[r]||(t[r]=e(r))},qA=/-(\w)/g,sn=Ra(e=>e.replace(qA,(t,r)=>r?r.toUpperCase():"")),jA=/\B([A-Z])/g,vn=Ra(e=>e.replace(jA,"-$1").toLowerCase()),Ta=Ra(e=>e.charAt(0).toUpperCase()+e.slice(1)),la=Ra(e=>e?`on${Ta(e)}`:""),Ln=(e,t)=>!Object.is(e,t),Di=(e,t)=>{for(let r=0;r{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:r})},Bs=e=>{const t=parseFloat(e);return isNaN(t)?e:t},ma=e=>{const t=bt(e)?Number(e):NaN;return isNaN(t)?e:t};let dh;const Fp=()=>dh||(dh=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}),KA="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error",GA=Oa(KA);function Fr(e){if(Se(e)){const t={};for(let r=0;r{if(r){const s=r.split(YA);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Je(e){let t="";if(bt(e))t=e;else if(Se(e))for(let r=0;rBr(r,t))}const De=e=>bt(e)?e:e==null?"":Se(e)||dt(e)&&(e.toString===Vp||!Ne(e.toString))?JSON.stringify(e,Up,2):String(e),Up=(e,t)=>t&&t.__v_isRef?Up(e,t.value):Li(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((r,[s,o],l)=>(r[lu(s,l)+" =>"]=o,r),{})}:ui(t)?{[`Set(${t.size})`]:[...t.values()].map(r=>lu(r))}:Nr(t)?lu(t):dt(t)&&!Se(t)&&!Wp(t)?String(t):t,lu=(e,t="")=>{var r;return Nr(e)?`Symbol(${(r=e.description)!=null?r:t})`:e};/** -* @vue/reactivity v3.4.21 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let mn;class qp{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=mn,!t&&mn&&(this.index=(mn.scopes||(mn.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const r=mn;try{return mn=this,t()}finally{mn=r}}}on(){mn=this}off(){mn=this.parent}stop(t){if(this._active){let r,s;for(r=0,s=this.effects.length;r=4))break}this._dirtyLevel===1&&(this._dirtyLevel=0),fi()}return this._dirtyLevel>=4}set dirty(t){this._dirtyLevel=t?4:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=Mr,r=ri;try{return Mr=!0,ri=this,this._runnings++,hh(this),this.fn()}finally{ph(this),this._runnings--,ri=r,Mr=t}}stop(){var t;this.active&&(hh(this),ph(this),(t=this.onStop)==null||t.call(this),this.active=!1)}}function nx(e){return e.value}function hh(e){e._trackId++,e._depsLength=0}function ph(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{r.dirty&&r.run()});t&&(_t(r,t),t.scope&&Kp(r,t.scope)),(!t||!t.lazy)&&r.run();const s=r.run.bind(r);return s.effect=r,s}function zT(e){e.effect.stop()}let Mr=!0,Cu=0;const Yp=[];function ci(){Yp.push(Mr),Mr=!1}function fi(){const e=Yp.pop();Mr=e===void 0?!0:e}function ic(){Cu++}function sc(){for(Cu--;!Cu&&Eu.length;)Eu.shift()()}function Zp(e,t,r){if(t.get(e)!==e._trackId){t.set(e,e._trackId);const s=e.deps[e._depsLength];s!==t?(s&&zp(s,e),e.deps[e._depsLength++]=t):e._depsLength++}}const Eu=[];function Jp(e,t,r){ic();for(const s of e.keys()){let o;s._dirtyLevel{const r=new Map;return r.cleanup=e,r.computed=t,r},ga=new WeakMap,ii=Symbol(""),Su=Symbol("");function an(e,t,r){if(Mr&&ri){let s=ga.get(e);s||ga.set(e,s=new Map);let o=s.get(r);o||s.set(r,o=Xp(()=>s.delete(r))),Zp(ri,o)}}function ar(e,t,r,s,o,l){const u=ga.get(e);if(!u)return;let c=[];if(t==="clear")c=[...u.values()];else if(r==="length"&&Se(e)){const f=Number(s);u.forEach((p,h)=>{(h==="length"||!Nr(h)&&h>=f)&&c.push(p)})}else switch(r!==void 0&&c.push(u.get(r)),t){case"add":Se(e)?rc(r)&&c.push(u.get("length")):(c.push(u.get(ii)),Li(e)&&c.push(u.get(Su)));break;case"delete":Se(e)||(c.push(u.get(ii)),Li(e)&&c.push(u.get(Su)));break;case"set":Li(e)&&c.push(u.get(ii));break}ic();for(const f of c)f&&Jp(f,4);sc()}function rx(e,t){var r;return(r=ga.get(e))==null?void 0:r.get(t)}const ix=Oa("__proto__,__v_isRef,__isVue"),Qp=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(Nr)),mh=sx();function sx(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...r){const s=nt(this);for(let l=0,u=this.length;l{e[t]=function(...r){ci(),ic();const s=nt(this)[t].apply(this,r);return sc(),fi(),s}}),e}function ox(e){const t=nt(this);return an(t,"has",e),t.hasOwnProperty(e)}class em{constructor(t=!1,r=!1){this._isReadonly=t,this._isShallow=r}get(t,r,s){const o=this._isReadonly,l=this._isShallow;if(r==="__v_isReactive")return!o;if(r==="__v_isReadonly")return o;if(r==="__v_isShallow")return l;if(r==="__v_raw")return s===(o?l?om:sm:l?im:rm).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const u=Se(t);if(!o){if(u&&rt(mh,r))return Reflect.get(mh,r,s);if(r==="hasOwnProperty")return ox}const c=Reflect.get(t,r,s);return(Nr(r)?Qp.has(r):ix(r))||(o||an(t,"get",r),l)?c:Pt(c)?u&&rc(r)?c:c.value:dt(c)?o?lm(c):Xi(c):c}}class tm extends em{constructor(t=!1){super(!1,t)}set(t,r,s,o){let l=t[r];if(!this._isShallow){const f=Hi(l);if(!va(s)&&!Hi(s)&&(l=nt(l),s=nt(s)),!Se(t)&&Pt(l)&&!Pt(s))return f?!1:(l.value=s,!0)}const u=Se(t)&&rc(r)?Number(r)e,Ma=e=>Reflect.getPrototypeOf(e);function zo(e,t,r=!1,s=!1){e=e.__v_raw;const o=nt(e),l=nt(t);r||(Ln(t,l)&&an(o,"get",t),an(o,"get",l));const{has:u}=Ma(o),c=s?oc:r?ac:Ws;if(u.call(o,t))return c(e.get(t));if(u.call(o,l))return c(e.get(l));e!==o&&e.get(t)}function Yo(e,t=!1){const r=this.__v_raw,s=nt(r),o=nt(e);return t||(Ln(e,o)&&an(s,"has",e),an(s,"has",o)),e===o?r.has(e):r.has(e)||r.has(o)}function Zo(e,t=!1){return e=e.__v_raw,!t&&an(nt(e),"iterate",ii),Reflect.get(e,"size",e)}function gh(e){e=nt(e);const t=nt(this);return Ma(t).has.call(t,e)||(t.add(e),ar(t,"add",e,e)),this}function vh(e,t){t=nt(t);const r=nt(this),{has:s,get:o}=Ma(r);let l=s.call(r,e);l||(e=nt(e),l=s.call(r,e));const u=o.call(r,e);return r.set(e,t),l?Ln(t,u)&&ar(r,"set",e,t):ar(r,"add",e,t),this}function yh(e){const t=nt(this),{has:r,get:s}=Ma(t);let o=r.call(t,e);o||(e=nt(e),o=r.call(t,e)),s&&s.call(t,e);const l=t.delete(e);return o&&ar(t,"delete",e,void 0),l}function _h(){const e=nt(this),t=e.size!==0,r=e.clear();return t&&ar(e,"clear",void 0,void 0),r}function Jo(e,t){return function(s,o){const l=this,u=l.__v_raw,c=nt(u),f=t?oc:e?ac:Ws;return!e&&an(c,"iterate",ii),u.forEach((p,h)=>s.call(o,f(p),f(h),l))}}function Xo(e,t,r){return function(...s){const o=this.__v_raw,l=nt(o),u=Li(l),c=e==="entries"||e===Symbol.iterator&&u,f=e==="keys"&&u,p=o[e](...s),h=r?oc:t?ac:Ws;return!t&&an(l,"iterate",f?Su:ii),{next(){const{value:m,done:g}=p.next();return g?{value:m,done:g}:{value:c?[h(m[0]),h(m[1])]:h(m),done:g}},[Symbol.iterator](){return this}}}}function wr(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function fx(){const e={get(l){return zo(this,l)},get size(){return Zo(this)},has:Yo,add:gh,set:vh,delete:yh,clear:_h,forEach:Jo(!1,!1)},t={get(l){return zo(this,l,!1,!0)},get size(){return Zo(this)},has:Yo,add:gh,set:vh,delete:yh,clear:_h,forEach:Jo(!1,!0)},r={get(l){return zo(this,l,!0)},get size(){return Zo(this,!0)},has(l){return Yo.call(this,l,!0)},add:wr("add"),set:wr("set"),delete:wr("delete"),clear:wr("clear"),forEach:Jo(!0,!1)},s={get(l){return zo(this,l,!0,!0)},get size(){return Zo(this,!0)},has(l){return Yo.call(this,l,!0)},add:wr("add"),set:wr("set"),delete:wr("delete"),clear:wr("clear"),forEach:Jo(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(l=>{e[l]=Xo(l,!1,!1),r[l]=Xo(l,!0,!1),t[l]=Xo(l,!1,!0),s[l]=Xo(l,!0,!0)}),[e,r,t,s]}const[dx,hx,px,mx]=fx();function La(e,t){const r=t?e?mx:px:e?hx:dx;return(s,o,l)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?s:Reflect.get(rt(r,o)&&o in s?r:s,o,l)}const gx={get:La(!1,!1)},vx={get:La(!1,!0)},yx={get:La(!0,!1)},_x={get:La(!0,!0)},rm=new WeakMap,im=new WeakMap,sm=new WeakMap,om=new WeakMap;function bx(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function wx(e){return e.__v_skip||!Object.isExtensible(e)?0:bx(UA(e))}function Xi(e){return Hi(e)?e:$a(e,!1,ax,gx,rm)}function am(e){return $a(e,!1,ux,vx,im)}function lm(e){return $a(e,!0,lx,yx,sm)}function YT(e){return $a(e,!0,cx,_x,om)}function $a(e,t,r,s,o){if(!dt(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const l=o.get(e);if(l)return l;const u=wx(e);if(u===0)return e;const c=new Proxy(e,u===2?s:r);return o.set(e,c),c}function Lr(e){return Hi(e)?Lr(e.__v_raw):!!(e&&e.__v_isReactive)}function Hi(e){return!!(e&&e.__v_isReadonly)}function va(e){return!!(e&&e.__v_isShallow)}function um(e){return Lr(e)||Hi(e)}function nt(e){const t=e&&e.__v_raw;return t?nt(t):e}function Da(e){return Object.isExtensible(e)&&pa(e,"__v_skip",!0),e}const Ws=e=>dt(e)?Xi(e):e,ac=e=>dt(e)?lm(e):e;class cm{constructor(t,r,s,o){this.getter=t,this._setter=r,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new Vs(()=>t(this._value),()=>Ni(this,this.effect._dirtyLevel===2?2:3)),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=s}get value(){const t=nt(this);return(!t._cacheable||t.effect.dirty)&&Ln(t._value,t._value=t.effect.run())&&Ni(t,4),lc(t),t.effect._dirtyLevel>=2&&Ni(t,2),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function Ax(e,t,r=!1){let s,o;const l=Ne(e);return l?(s=e,o=zt):(s=e.get,o=e.set),new cm(s,o,l||!o,r)}function lc(e){var t;Mr&&ri&&(e=nt(e),Zp(ri,(t=e.dep)!=null?t:e.dep=Xp(()=>e.dep=void 0,e instanceof cm?e:void 0)))}function Ni(e,t=4,r){e=nt(e);const s=e.dep;s&&Jp(s,t)}function Pt(e){return!!(e&&e.__v_isRef===!0)}function Pe(e){return fm(e,!1)}function xx(e){return fm(e,!0)}function fm(e,t){return Pt(e)?e:new Px(e,t)}class Px{constructor(t,r){this.__v_isShallow=r,this.dep=void 0,this.__v_isRef=!0,this._rawValue=r?t:nt(t),this._value=r?t:Ws(t)}get value(){return lc(this),this._value}set value(t){const r=this.__v_isShallow||va(t)||Hi(t);t=r?t:nt(t),Ln(t,this._rawValue)&&(this._rawValue=t,this._value=r?t:Ws(t),Ni(this,4))}}function ZT(e){Ni(e,4)}function oe(e){return Pt(e)?e.value:e}function JT(e){return Ne(e)?e():oe(e)}const Cx={get:(e,t,r)=>oe(Reflect.get(e,t,r)),set:(e,t,r,s)=>{const o=e[t];return Pt(o)&&!Pt(r)?(o.value=r,!0):Reflect.set(e,t,r,s)}};function dm(e){return Lr(e)?e:new Proxy(e,Cx)}class Ex{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:r,set:s}=t(()=>lc(this),()=>Ni(this));this._get=r,this._set=s}get value(){return this._get()}set value(t){this._set(t)}}function Sx(e){return new Ex(e)}function kx(e){const t=Se(e)?new Array(e.length):{};for(const r in e)t[r]=hm(e,r);return t}class Ox{constructor(t,r,s){this._object=t,this._key=r,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return rx(nt(this._object),this._key)}}class Rx{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function XT(e,t,r){return Pt(e)?e:Ne(e)?new Rx(e):dt(e)&&arguments.length>1?hm(e,t,r):Pe(e)}function hm(e,t,r){const s=e[t];return Pt(s)?s:new Ox(e,t,r)}const QT={GET:"get",HAS:"has",ITERATE:"iterate"},e3={SET:"set",ADD:"add",DELETE:"delete",CLEAR:"clear"};/** -* @vue/runtime-core v3.4.21 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function t3(e,t){}const n3={SETUP_FUNCTION:0,0:"SETUP_FUNCTION",RENDER_FUNCTION:1,1:"RENDER_FUNCTION",WATCH_GETTER:2,2:"WATCH_GETTER",WATCH_CALLBACK:3,3:"WATCH_CALLBACK",WATCH_CLEANUP:4,4:"WATCH_CLEANUP",NATIVE_EVENT_HANDLER:5,5:"NATIVE_EVENT_HANDLER",COMPONENT_EVENT_HANDLER:6,6:"COMPONENT_EVENT_HANDLER",VNODE_HOOK:7,7:"VNODE_HOOK",DIRECTIVE_HOOK:8,8:"DIRECTIVE_HOOK",TRANSITION_HOOK:9,9:"TRANSITION_HOOK",APP_ERROR_HANDLER:10,10:"APP_ERROR_HANDLER",APP_WARN_HANDLER:11,11:"APP_WARN_HANDLER",FUNCTION_REF:12,12:"FUNCTION_REF",ASYNC_COMPONENT_LOADER:13,13:"ASYNC_COMPONENT_LOADER",SCHEDULER:14,14:"SCHEDULER"},Tx={sp:"serverPrefetch hook",bc:"beforeCreate hook",c:"created hook",bm:"beforeMount hook",m:"mounted hook",bu:"beforeUpdate hook",u:"updated",bum:"beforeUnmount hook",um:"unmounted hook",a:"activated hook",da:"deactivated hook",ec:"errorCaptured hook",rtc:"renderTracked hook",rtg:"renderTriggered hook",0:"setup function",1:"render function",2:"watcher getter",3:"watcher callback",4:"watcher cleanup function",5:"native event handler",6:"component event handler",7:"vnode hook",8:"directive hook",9:"transition hook",10:"app errorHandler",11:"app warnHandler",12:"ref function",13:"async component loader",14:"scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core ."};function $r(e,t,r,s){try{return s?e(...s):e()}catch(o){Qi(o,t,r)}}function Sn(e,t,r,s){if(Ne(e)){const l=$r(e,t,r,s);return l&&nc(l)&&l.catch(u=>{Qi(u,t,r)}),l}const o=[];for(let l=0;l>>1,o=Ht[s],l=Hs(o);lUn&&Ht.splice(t,1)}function Ou(e){Se(e)?Bi.push(...e):(!Sr||!Sr.includes(e,e.allowRecurse?ti+1:ti))&&Bi.push(e),mm()}function bh(e,t,r=Fs?Un+1:0){for(;rHs(r)-Hs(s));if(Bi.length=0,Sr){Sr.push(...t);return}for(Sr=t,ti=0;tie.id==null?1/0:e.id,$x=(e,t)=>{const r=Hs(e)-Hs(t);if(r===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return r};function gm(e){ku=!1,Fs=!0,Ht.sort($x);const t=zt;try{for(Un=0;UnRi.emit(o,...l)),Qo=[]):typeof window<"u"&&window.HTMLElement&&!((s=(r=window.navigator)==null?void 0:r.userAgent)!=null&&s.includes("jsdom"))?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(l=>{vm(l,t)}),setTimeout(()=>{Ri||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,Qo=[])},3e3)):Qo=[]}function Dx(e,t,...r){if(e.isUnmounted)return;const s=e.vnode.props||ct;let o=r;const l=t.startsWith("update:"),u=l&&t.slice(7);if(u&&u in s){const h=`${u==="modelValue"?"model":u}Modifiers`,{number:m,trim:g}=s[h]||ct;g&&(o=r.map(y=>bt(y)?y.trim():y)),m&&(o=r.map(Bs))}let c,f=s[c=la(t)]||s[c=la(sn(t))];!f&&l&&(f=s[c=la(vn(t))]),f&&Sn(f,e,6,o);const p=s[c+"Once"];if(p){if(!e.emitted)e.emitted={};else if(e.emitted[c])return;e.emitted[c]=!0,Sn(p,e,6,o)}}function ym(e,t,r=!1){const s=t.emitsCache,o=s.get(e);if(o!==void 0)return o;const l=e.emits;let u={},c=!1;if(!Ne(e)){const f=p=>{const h=ym(p,t,!0);h&&(c=!0,_t(u,h))};!r&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}return!l&&!c?(dt(e)&&s.set(e,null),null):(Se(l)?l.forEach(f=>u[f]=null):_t(u,l),dt(e)&&s.set(e,u),u)}function Ba(e,t){return!e||!Zs(t)?!1:(t=t.slice(2).replace(/Once$/,""),rt(e,t[0].toLowerCase()+t.slice(1))||rt(e,vn(t))||rt(e,t))}let kt=null,Va=null;function Us(e){const t=kt;return kt=e,Va=e&&e.type.__scopeId||null,t}function es(e){Va=e}function ts(){Va=null}const r3=e=>St;function St(e,t=kt,r){if(!t||e._n)return e;const s=(...o)=>{s._d&&Lh(-1);const l=Us(t);let u;try{u=e(...o)}finally{Us(l),s._d&&Lh(1)}return u};return s._n=!0,s._c=!0,s._d=!0,s}function ua(e){const{type:t,vnode:r,proxy:s,withProxy:o,props:l,propsOptions:[u],slots:c,attrs:f,emit:p,render:h,renderCache:m,data:g,setupState:y,ctx:S,inheritAttrs:x}=e;let T,V;const B=Us(e);try{if(r.shapeFlag&4){const k=o||s,R=k;T=gn(h.call(R,k,m,l,y,g,S)),V=f}else{const k=t;T=gn(k.length>1?k(l,{attrs:f,slots:c,emit:p}):k(l,null)),V=t.props?f:Bx(f)}}catch(k){Is.length=0,Qi(k,e,1),T=pe(Zt)}let P=T;if(V&&x!==!1){const k=Object.keys(V),{shapeFlag:R}=P;k.length&&R&7&&(u&&k.some(ec)&&(V=Vx(V,u)),P=ur(P,V))}return r.dirs&&(P=ur(P),P.dirs=P.dirs?P.dirs.concat(r.dirs):r.dirs),r.transition&&(P.transition=r.transition),T=P,Us(B),T}function Nx(e,t=!0){let r;for(let s=0;s{let t;for(const r in e)(r==="class"||r==="style"||Zs(r))&&((t||(t={}))[r]=e[r]);return t},Vx=(e,t)=>{const r={};for(const s in e)(!ec(s)||!(s.slice(9)in t))&&(r[s]=e[s]);return r};function Wx(e,t,r){const{props:s,children:o,component:l}=e,{props:u,children:c,patchFlag:f}=t,p=l.emitsOptions;if(t.dirs||t.transition)return!0;if(r&&f>=0){if(f&1024)return!0;if(f&16)return s?wh(s,u,p):!!u;if(f&8){const h=t.dynamicProps;for(let m=0;me.__isSuspense;let Ru=0;const Ux={name:"Suspense",__isSuspense:!0,process(e,t,r,s,o,l,u,c,f,p){if(e==null)qx(t,r,s,o,l,u,c,f,p);else{if(l&&l.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}jx(e,t,r,s,o,u,c,f,p)}},hydrate:Kx,create:hc,normalize:Gx},s3=Ux;function qs(e,t){const r=e.props&&e.props[t];Ne(r)&&r()}function qx(e,t,r,s,o,l,u,c,f){const{p,o:{createElement:h}}=f,m=h("div"),g=e.suspense=hc(e,o,s,t,m,r,l,u,c,f);p(null,g.pendingBranch=e.ssContent,m,null,s,g,l,u),g.deps>0?(qs(e,"onPending"),qs(e,"onFallback"),p(null,e.ssFallback,t,r,s,null,l,u),Vi(g,e.ssFallback)):g.resolve(!1,!0)}function jx(e,t,r,s,o,l,u,c,{p:f,um:p,o:{createElement:h}}){const m=t.suspense=e.suspense;m.vnode=t,t.el=e.el;const g=t.ssContent,y=t.ssFallback,{activeBranch:S,pendingBranch:x,isInFallback:T,isHydrating:V}=m;if(x)m.pendingBranch=g,Mn(g,x)?(f(x,g,m.hiddenContainer,null,o,m,l,u,c),m.deps<=0?m.resolve():T&&(V||(f(S,y,r,s,o,null,l,u,c),Vi(m,y)))):(m.pendingId=Ru++,V?(m.isHydrating=!1,m.activeBranch=x):p(x,o,m),m.deps=0,m.effects.length=0,m.hiddenContainer=h("div"),T?(f(null,g,m.hiddenContainer,null,o,m,l,u,c),m.deps<=0?m.resolve():(f(S,y,r,s,o,null,l,u,c),Vi(m,y))):S&&Mn(g,S)?(f(S,g,r,s,o,m,l,u,c),m.resolve(!0)):(f(null,g,m.hiddenContainer,null,o,m,l,u,c),m.deps<=0&&m.resolve()));else if(S&&Mn(g,S))f(S,g,r,s,o,m,l,u,c),Vi(m,g);else if(qs(t,"onPending"),m.pendingBranch=g,g.shapeFlag&512?m.pendingId=g.component.suspenseId:m.pendingId=Ru++,f(null,g,m.hiddenContainer,null,o,m,l,u,c),m.deps<=0)m.resolve();else{const{timeout:B,pendingId:P}=m;B>0?setTimeout(()=>{m.pendingId===P&&m.fallback(y)},B):B===0&&m.fallback(y)}}function hc(e,t,r,s,o,l,u,c,f,p,h=!1){const{p:m,m:g,um:y,n:S,o:{parentNode:x,remove:T}}=p;let V;const B=zx(e);B&&t!=null&&t.pendingBranch&&(V=t.pendingId,t.deps++);const P=e.props?ma(e.props.timeout):void 0,k=l,R={vnode:e,parent:t,parentComponent:r,namespace:u,container:s,hiddenContainer:o,deps:0,pendingId:Ru++,timeout:typeof P=="number"?P:-1,activeBranch:null,pendingBranch:null,isInFallback:!h,isHydrating:h,isUnmounted:!1,effects:[],resolve(M=!1,q=!1){const{vnode:W,activeBranch:j,pendingBranch:U,pendingId:G,effects:K,parentComponent:H,container:E}=R;let I=!1;R.isHydrating?R.isHydrating=!1:M||(I=j&&U.transition&&U.transition.mode==="out-in",I&&(j.transition.afterLeave=()=>{G===R.pendingId&&(g(U,E,l===k?S(j):l,0),Ou(K))}),j&&(x(j.el)!==R.hiddenContainer&&(l=S(j)),y(j,H,R,!0)),I||g(U,E,l,0)),Vi(R,U),R.pendingBranch=null,R.isInFallback=!1;let D=R.parent,A=!1;for(;D;){if(D.pendingBranch){D.effects.push(...K),A=!0;break}D=D.parent}!A&&!I&&Ou(K),R.effects=[],B&&t&&t.pendingBranch&&V===t.pendingId&&(t.deps--,t.deps===0&&!q&&t.resolve()),qs(W,"onResolve")},fallback(M){if(!R.pendingBranch)return;const{vnode:q,activeBranch:W,parentComponent:j,container:U,namespace:G}=R;qs(q,"onFallback");const K=S(W),H=()=>{R.isInFallback&&(m(null,M,U,K,j,null,G,c,f),Vi(R,M))},E=M.transition&&M.transition.mode==="out-in";E&&(W.transition.afterLeave=H),R.isInFallback=!0,y(W,j,null,!0),E||H()},move(M,q,W){R.activeBranch&&g(R.activeBranch,M,q,W),R.container=M},next(){return R.activeBranch&&S(R.activeBranch)},registerDep(M,q){const W=!!R.pendingBranch;W&&R.deps++;const j=M.vnode.el;M.asyncDep.catch(U=>{Qi(U,M,0)}).then(U=>{if(M.isUnmounted||R.isUnmounted||R.pendingId!==M.suspenseId)return;M.asyncResolved=!0;const{vnode:G}=M;Vu(M,U,!1),j&&(G.el=j);const K=!j&&M.subTree.el;q(M,G,x(j||M.subTree.el),j?null:S(M.subTree),R,u,f),K&&T(K),cc(M,G.el),W&&--R.deps===0&&R.resolve()})},unmount(M,q){R.isUnmounted=!0,R.activeBranch&&y(R.activeBranch,r,M,q),R.pendingBranch&&y(R.pendingBranch,r,M,q)}};return R}function Kx(e,t,r,s,o,l,u,c,f){const p=t.suspense=hc(t,s,r,e.parentNode,document.createElement("div"),null,o,l,u,c,!0),h=f(e,p.pendingBranch=t.ssContent,r,p,l,u);return p.deps===0&&p.resolve(!1,!0),h}function Gx(e){const{shapeFlag:t,children:r}=e,s=t&32;e.ssContent=xh(s?r.default:r),e.ssFallback=s?xh(r.fallback):pe(Zt)}function xh(e){let t;if(Ne(e)){const r=oi&&e._c;r&&(e._d=!1,re()),e=e(),r&&(e._d=!0,t=rn,Wm())}return Se(e)&&(e=Nx(e)),e=gn(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(r=>r!==e)),e}function wm(e,t){t&&t.pendingBranch?Se(e)?t.effects.push(...e):t.effects.push(e):Ou(e)}function Vi(e,t){e.activeBranch=t;const{vnode:r,parentComponent:s}=e;let o=t.el;for(;!o&&t.component;)t=t.component.subTree,o=t.el;r.el=o,s&&s.subTree===r&&(s.vnode.el=o,cc(s,o))}function zx(e){var t;return((t=e.props)==null?void 0:t.suspensible)!=null&&e.props.suspensible!==!1}const Yx=Symbol.for("v-scx"),Zx=()=>on(Yx);function o3(e,t){return Js(e,null,t)}function Jx(e,t){return Js(e,null,{flush:"post"})}function Xx(e,t){return Js(e,null,{flush:"sync"})}const ea={};function st(e,t,r){return Js(e,t,r)}function Js(e,t,{immediate:r,deep:s,flush:o,once:l,onTrack:u,onTrigger:c}=ct){if(t&&l){const M=t;t=(...q)=>{M(...q),R()}}const f=Tt,p=M=>s===!0?M:ni(M,s===!1?1:void 0);let h,m=!1,g=!1;if(Pt(e)?(h=()=>e.value,m=va(e)):Lr(e)?(h=()=>p(e),m=!0):Se(e)?(g=!0,m=e.some(M=>Lr(M)||va(M)),h=()=>e.map(M=>{if(Pt(M))return M.value;if(Lr(M))return p(M);if(Ne(M))return $r(M,f,2)})):Ne(e)?t?h=()=>$r(e,f,2):h=()=>(y&&y(),Sn(e,f,3,[S])):h=zt,t&&s){const M=h;h=()=>ni(M())}let y,S=M=>{y=P.onStop=()=>{$r(M,f,4),y=P.onStop=void 0}},x;if(eo)if(S=zt,t?r&&Sn(t,f,3,[h(),g?[]:void 0,S]):h(),o==="sync"){const M=Zx();x=M.__watcherHandles||(M.__watcherHandles=[])}else return zt;let T=g?new Array(e.length).fill(ea):ea;const V=()=>{if(!(!P.active||!P.dirty))if(t){const M=P.run();(s||m||(g?M.some((q,W)=>Ln(q,T[W])):Ln(M,T)))&&(y&&y(),Sn(t,f,3,[M,T===ea?void 0:g&&T[0]===ea?[]:T,S]),T=M)}else P.run()};V.allowRecurse=!!t;let B;o==="sync"?B=V:o==="post"?B=()=>Nt(V,f&&f.suspense):(V.pre=!0,f&&(V.id=f.uid),B=()=>Na(V));const P=new Vs(h,zt,B),k=Gp(),R=()=>{P.stop(),k&&tc(k.effects,P)};return t?r?V():T=P.run():o==="post"?Nt(P.run.bind(P),f&&f.suspense):P.run(),x&&x.push(R),R}function Qx(e,t,r){const s=this.proxy,o=bt(e)?e.includes(".")?Am(s,e):()=>s[e]:e.bind(s,s);let l;Ne(t)?l=t:(l=t.handler,r=t);const u=ai(this),c=Js(o,l.bind(s),r);return u(),c}function Am(e,t){const r=t.split(".");return()=>{let s=e;for(let o=0;o0){if(r>=t)return e;r++}if(s=s||new Set,s.has(e))return e;if(s.add(e),Pt(e))ni(e.value,t,r,s);else if(Se(e))for(let o=0;o{ni(o,t,r,s)});else if(Wp(e))for(const o in e)ni(e[o],t,r,s);return e}function js(e,t){if(kt===null)return e;const r=qa(kt)||kt.proxy,s=e.dirs||(e.dirs=[]);for(let o=0;o{e.isMounted=!0}),Fa(()=>{e.isUnmounting=!0}),e}const En=[Function,Array],Pm={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:En,onEnter:En,onAfterEnter:En,onEnterCancelled:En,onBeforeLeave:En,onLeave:En,onAfterLeave:En,onLeaveCancelled:En,onBeforeAppear:En,onAppear:En,onAfterAppear:En,onAppearCancelled:En},eP={name:"BaseTransition",props:Pm,setup(e,{slots:t}){const r=Hr(),s=xm();return()=>{const o=t.default&&pc(t.default(),!0);if(!o||!o.length)return;let l=o[0];if(o.length>1){for(const g of o)if(g.type!==Zt){l=g;break}}const u=nt(e),{mode:c}=u;if(s.isLeaving)return uu(l);const f=Ph(l);if(!f)return uu(l);const p=Ks(f,u,s,r);qi(f,p);const h=r.subTree,m=h&&Ph(h);if(m&&m.type!==Zt&&!Mn(f,m)){const g=Ks(m,u,s,r);if(qi(m,g),c==="out-in")return s.isLeaving=!0,g.afterLeave=()=>{s.isLeaving=!1,r.update.active!==!1&&(r.effect.dirty=!0,r.update())},uu(l);c==="in-out"&&f.type!==Zt&&(g.delayLeave=(y,S,x)=>{const T=Cm(s,m);T[String(m.key)]=m,y[kr]=()=>{S(),y[kr]=void 0,delete p.delayedLeave},p.delayedLeave=x})}return l}}},tP=eP;function Cm(e,t){const{leavingVNodes:r}=e;let s=r.get(t.type);return s||(s=Object.create(null),r.set(t.type,s)),s}function Ks(e,t,r,s){const{appear:o,mode:l,persisted:u=!1,onBeforeEnter:c,onEnter:f,onAfterEnter:p,onEnterCancelled:h,onBeforeLeave:m,onLeave:g,onAfterLeave:y,onLeaveCancelled:S,onBeforeAppear:x,onAppear:T,onAfterAppear:V,onAppearCancelled:B}=t,P=String(e.key),k=Cm(r,e),R=(W,j)=>{W&&Sn(W,s,9,j)},M=(W,j)=>{const U=j[1];R(W,j),Se(W)?W.every(G=>G.length<=1)&&U():W.length<=1&&U()},q={mode:l,persisted:u,beforeEnter(W){let j=c;if(!r.isMounted)if(o)j=x||c;else return;W[kr]&&W[kr](!0);const U=k[P];U&&Mn(e,U)&&U.el[kr]&&U.el[kr](),R(j,[W])},enter(W){let j=f,U=p,G=h;if(!r.isMounted)if(o)j=T||f,U=V||p,G=B||h;else return;let K=!1;const H=W[ta]=E=>{K||(K=!0,E?R(G,[W]):R(U,[W]),q.delayedLeave&&q.delayedLeave(),W[ta]=void 0)};j?M(j,[W,H]):H()},leave(W,j){const U=String(e.key);if(W[ta]&&W[ta](!0),r.isUnmounting)return j();R(m,[W]);let G=!1;const K=W[kr]=H=>{G||(G=!0,j(),H?R(S,[W]):R(y,[W]),W[kr]=void 0,k[U]===e&&delete k[U])};k[U]=e,g?M(g,[W,K]):K()},clone(W){return Ks(W,t,r,s)}};return q}function uu(e){if(Xs(e))return e=ur(e),e.children=null,e}function Ph(e){return Xs(e)?e.children?e.children[0]:void 0:e}function qi(e,t){e.shapeFlag&6&&e.component?qi(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function pc(e,t=!1,r){let s=[],o=0;for(let l=0;l1)for(let l=0;l_t({name:e.name},t,{setup:e}))():e}const si=e=>!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function a3(e){Ne(e)&&(e={loader:e});const{loader:t,loadingComponent:r,errorComponent:s,delay:o=200,timeout:l,suspensible:u=!0,onError:c}=e;let f=null,p,h=0;const m=()=>(h++,f=null,g()),g=()=>{let y;return f||(y=f=t().catch(S=>{if(S=S instanceof Error?S:new Error(String(S)),c)return new Promise((x,T)=>{c(S,()=>x(m()),()=>T(S),h+1)});throw S}).then(S=>y!==f&&f?f:(S&&(S.__esModule||S[Symbol.toStringTag]==="Module")&&(S=S.default),p=S,S)))};return Ge({name:"AsyncComponentWrapper",__asyncLoader:g,get __asyncResolved(){return p},setup(){const y=Tt;if(p)return()=>cu(p,y);const S=B=>{f=null,Qi(B,y,13,!s)};if(u&&y.suspense||eo)return g().then(B=>()=>cu(B,y)).catch(B=>(S(B),()=>s?pe(s,{error:B}):null));const x=Pe(!1),T=Pe(),V=Pe(!!o);return o&&setTimeout(()=>{V.value=!1},o),l!=null&&setTimeout(()=>{if(!x.value&&!T.value){const B=new Error(`Async component timed out after ${l}ms.`);S(B),T.value=B}},l),g().then(()=>{x.value=!0,y.parent&&Xs(y.parent.vnode)&&(y.parent.effect.dirty=!0,Na(y.parent.update))}).catch(B=>{S(B),T.value=B}),()=>{if(x.value&&p)return cu(p,y);if(T.value&&s)return pe(s,{error:T.value});if(r&&!V.value)return pe(r)}}})}function cu(e,t){const{ref:r,props:s,children:o,ce:l}=t.vnode,u=pe(e,s,o);return u.ref=r,u.ce=l,delete t.vnode.ce,u}const Xs=e=>e.type.__isKeepAlive,nP={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const r=Hr(),s=r.ctx;if(!s.renderer)return()=>{const B=t.default&&t.default();return B&&B.length===1?B[0]:B};const o=new Map,l=new Set;let u=null;const c=r.suspense,{renderer:{p:f,m:p,um:h,o:{createElement:m}}}=s,g=m("div");s.activate=(B,P,k,R,M)=>{const q=B.component;p(B,P,k,0,c),f(q.vnode,B,P,k,q,c,R,B.slotScopeIds,M),Nt(()=>{q.isDeactivated=!1,q.a&&Di(q.a);const W=B.props&&B.props.onVnodeMounted;W&&nn(W,q.parent,B)},c)},s.deactivate=B=>{const P=B.component;p(B,g,null,1,c),Nt(()=>{P.da&&Di(P.da);const k=B.props&&B.props.onVnodeUnmounted;k&&nn(k,P.parent,B),P.isDeactivated=!0},c)};function y(B){fu(B),h(B,r,c,!0)}function S(B){o.forEach((P,k)=>{const R=Fu(P.type);R&&(!B||!B(R))&&x(k)})}function x(B){const P=o.get(B);!u||!Mn(P,u)?y(P):u&&fu(u),o.delete(B),l.delete(B)}st(()=>[e.include,e.exclude],([B,P])=>{B&&S(k=>Ps(B,k)),P&&S(k=>!Ps(P,k))},{flush:"post",deep:!0});let T=null;const V=()=>{T!=null&&o.set(T,du(r.subTree))};return Vt(V),mc(V),Fa(()=>{o.forEach(B=>{const{subTree:P,suspense:k}=r,R=du(P);if(B.type===R.type&&B.key===R.key){fu(R);const M=R.component.da;M&&Nt(M,k);return}y(B)})}),()=>{if(T=null,!t.default)return null;const B=t.default(),P=B[0];if(B.length>1)return u=null,B;if(!Vr(P)||!(P.shapeFlag&4)&&!(P.shapeFlag&128))return u=null,P;let k=du(P);const R=k.type,M=Fu(si(k)?k.type.__asyncResolved||{}:R),{include:q,exclude:W,max:j}=e;if(q&&(!M||!Ps(q,M))||W&&M&&Ps(W,M))return u=k,P;const U=k.key==null?R:k.key,G=o.get(U);return k.el&&(k=ur(k),P.shapeFlag&128&&(P.ssContent=k)),T=U,G?(k.el=G.el,k.component=G.component,k.transition&&qi(k,k.transition),k.shapeFlag|=512,l.delete(U),l.add(U)):(l.add(U),j&&l.size>parseInt(j,10)&&x(l.values().next().value)),k.shapeFlag|=256,u=k,bm(P.type)?P:k}}},l3=nP;function Ps(e,t){return Se(e)?e.some(r=>Ps(r,t)):bt(e)?e.split(",").includes(t):HA(e)?e.test(t):!1}function rP(e,t){Em(e,"a",t)}function iP(e,t){Em(e,"da",t)}function Em(e,t,r=Tt){const s=e.__wdc||(e.__wdc=()=>{let o=r;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(Wa(t,s,r),r){let o=r.parent;for(;o&&o.parent;)Xs(o.parent.vnode)&&sP(s,t,r,o),o=o.parent}}function sP(e,t,r,s){const o=Wa(t,e,s,!0);gc(()=>{tc(s[t],o)},r)}function fu(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function du(e){return e.shapeFlag&128?e.ssContent:e}function Wa(e,t,r=Tt,s=!1){if(r){const o=r[e]||(r[e]=[]),l=t.__weh||(t.__weh=(...u)=>{if(r.isUnmounted)return;ci();const c=ai(r),f=Sn(t,r,e,u);return c(),fi(),f});return s?o.unshift(l):o.push(l),l}}const cr=e=>(t,r=Tt)=>(!eo||e==="sp")&&Wa(e,(...s)=>t(...s),r),oP=cr("bm"),Vt=cr("m"),aP=cr("bu"),mc=cr("u"),Fa=cr("bum"),gc=cr("um"),lP=cr("sp"),uP=cr("rtg"),cP=cr("rtc");function fP(e,t=Tt){Wa("ec",e,t)}function fr(e,t,r,s){let o;const l=r&&r[s];if(Se(e)||bt(e)){o=new Array(e.length);for(let u=0,c=e.length;ut(u,c,void 0,l&&l[c]));else{const u=Object.keys(e);o=new Array(u.length);for(let c=0,f=u.length;c{const l=s.fn(...o);return l&&(l.key=s.key),l}:s.fn)}return e}function ji(e,t,r={},s,o){if(kt.isCE||kt.parent&&si(kt.parent)&&kt.parent.isCE)return t!=="default"&&(r.name=t),pe("slot",r,s&&s());let l=e[t];l&&l._c&&(l._d=!1),re();const u=l&&Sm(l(r)),c=Ye(tt,{key:r.key||u&&u.key||`_${t}`},u||(s?s():[]),u&&e._===1?64:-2);return!o&&c.scopeId&&(c.slotScopeIds=[c.scopeId+"-s"]),l&&l._c&&(l._d=!0),c}function Sm(e){return e.some(t=>Vr(t)?!(t.type===Zt||t.type===tt&&!Sm(t.children)):!0)?e:null}function c3(e,t){const r={};for(const s in e)r[t&&/[A-Z]/.test(s)?`on:${s}`:la(s)]=e[s];return r}const Tu=e=>e?qm(e)?qa(e)||e.proxy:Tu(e.parent):null,Rs=_t(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Tu(e.parent),$root:e=>Tu(e.root),$emit:e=>e.emit,$options:e=>vc(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,Na(e.update)}),$nextTick:e=>e.n||(e.n=Kn.bind(e.proxy)),$watch:e=>Qx.bind(e)}),hu=(e,t)=>e!==ct&&!e.__isScriptSetup&&rt(e,t),Iu={get({_:e},t){const{ctx:r,setupState:s,data:o,props:l,accessCache:u,type:c,appContext:f}=e;let p;if(t[0]!=="$"){const y=u[t];if(y!==void 0)switch(y){case 1:return s[t];case 2:return o[t];case 4:return r[t];case 3:return l[t]}else{if(hu(s,t))return u[t]=1,s[t];if(o!==ct&&rt(o,t))return u[t]=2,o[t];if((p=e.propsOptions[0])&&rt(p,t))return u[t]=3,l[t];if(r!==ct&&rt(r,t))return u[t]=4,r[t];Mu&&(u[t]=0)}}const h=Rs[t];let m,g;if(h)return t==="$attrs"&&an(e,"get",t),h(e);if((m=c.__cssModules)&&(m=m[t]))return m;if(r!==ct&&rt(r,t))return u[t]=4,r[t];if(g=f.config.globalProperties,rt(g,t))return g[t]},set({_:e},t,r){const{data:s,setupState:o,ctx:l}=e;return hu(o,t)?(o[t]=r,!0):s!==ct&&rt(s,t)?(s[t]=r,!0):rt(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(l[t]=r,!0)},has({_:{data:e,setupState:t,accessCache:r,ctx:s,appContext:o,propsOptions:l}},u){let c;return!!r[u]||e!==ct&&rt(e,u)||hu(t,u)||(c=l[0])&&rt(c,u)||rt(s,u)||rt(Rs,u)||rt(o.config.globalProperties,u)},defineProperty(e,t,r){return r.get!=null?e._.accessCache[t]=0:rt(r,"value")&&this.set(e,t,r.value,null),Reflect.defineProperty(e,t,r)}},dP=_t({},Iu,{get(e,t){if(t!==Symbol.unscopables)return Iu.get(e,t,e)},has(e,t){return t[0]!=="_"&&!GA(t)}});function f3(){return null}function d3(){return null}function h3(e){}function p3(e){}function m3(){return null}function g3(){}function v3(e,t){return null}function y3(){return km().slots}function _3(){return km().attrs}function km(){const e=Hr();return e.setupContext||(e.setupContext=Gm(e))}function Gs(e){return Se(e)?e.reduce((t,r)=>(t[r]=null,t),{}):e}function b3(e,t){const r=Gs(e);for(const s in t){if(s.startsWith("__skip"))continue;let o=r[s];o?Se(o)||Ne(o)?o=r[s]={type:o,default:t[s]}:o.default=t[s]:o===null&&(o=r[s]={default:t[s]}),o&&t[`__skip_${s}`]&&(o.skipFactory=!0)}return r}function w3(e,t){return!e||!t?e||t:Se(e)&&Se(t)?e.concat(t):_t({},Gs(e),Gs(t))}function A3(e,t){const r={};for(const s in e)t.includes(s)||Object.defineProperty(r,s,{enumerable:!0,get:()=>e[s]});return r}function x3(e){const t=Hr();let r=e();return Bu(),nc(r)&&(r=r.catch(s=>{throw ai(t),s})),[r,()=>ai(t)]}let Mu=!0;function hP(e){const t=vc(e),r=e.proxy,s=e.ctx;Mu=!1,t.beforeCreate&&Ch(t.beforeCreate,e,"bc");const{data:o,computed:l,methods:u,watch:c,provide:f,inject:p,created:h,beforeMount:m,mounted:g,beforeUpdate:y,updated:S,activated:x,deactivated:T,beforeDestroy:V,beforeUnmount:B,destroyed:P,unmounted:k,render:R,renderTracked:M,renderTriggered:q,errorCaptured:W,serverPrefetch:j,expose:U,inheritAttrs:G,components:K,directives:H,filters:E}=t;if(p&&pP(p,s,null),u)for(const A in u){const _=u[A];Ne(_)&&(s[A]=_.bind(r))}if(o){const A=o.call(r,r);dt(A)&&(e.data=Xi(A))}if(Mu=!0,l)for(const A in l){const _=l[A],Y=Ne(_)?_.bind(r,r):Ne(_.get)?_.get.bind(r,r):zt,N=!Ne(_)&&Ne(_.set)?_.set.bind(r):zt,b=Ve({get:Y,set:N});Object.defineProperty(s,A,{enumerable:!0,configurable:!0,get:()=>b.value,set:Q=>b.value=Q})}if(c)for(const A in c)Om(c[A],s,r,A);if(f){const A=Ne(f)?f.call(r):f;Reflect.ownKeys(A).forEach(_=>{Ir(_,A[_])})}h&&Ch(h,e,"c");function D(A,_){Se(_)?_.forEach(Y=>A(Y.bind(r))):_&&A(_.bind(r))}if(D(oP,m),D(Vt,g),D(aP,y),D(mc,S),D(rP,x),D(iP,T),D(fP,W),D(cP,M),D(uP,q),D(Fa,B),D(gc,k),D(lP,j),Se(U))if(U.length){const A=e.exposed||(e.exposed={});U.forEach(_=>{Object.defineProperty(A,_,{get:()=>r[_],set:Y=>r[_]=Y})})}else e.exposed||(e.exposed={});R&&e.render===zt&&(e.render=R),G!=null&&(e.inheritAttrs=G),K&&(e.components=K),H&&(e.directives=H)}function pP(e,t,r=zt){Se(e)&&(e=Lu(e));for(const s in e){const o=e[s];let l;dt(o)?"default"in o?l=on(o.from||s,o.default,!0):l=on(o.from||s):l=on(o),Pt(l)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>l.value,set:u=>l.value=u}):t[s]=l}}function Ch(e,t,r){Sn(Se(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,r)}function Om(e,t,r,s){const o=s.includes(".")?Am(r,s):()=>r[s];if(bt(e)){const l=t[e];Ne(l)&&st(o,l)}else if(Ne(e))st(o,e.bind(r));else if(dt(e))if(Se(e))e.forEach(l=>Om(l,t,r,s));else{const l=Ne(e.handler)?e.handler.bind(r):t[e.handler];Ne(l)&&st(o,l,e)}}function vc(e){const t=e.type,{mixins:r,extends:s}=t,{mixins:o,optionsCache:l,config:{optionMergeStrategies:u}}=e.appContext,c=l.get(t);let f;return c?f=c:!o.length&&!r&&!s?f=t:(f={},o.length&&o.forEach(p=>_a(f,p,u,!0)),_a(f,t,u)),dt(t)&&l.set(t,f),f}function _a(e,t,r,s=!1){const{mixins:o,extends:l}=t;l&&_a(e,l,r,!0),o&&o.forEach(u=>_a(e,u,r,!0));for(const u in t)if(!(s&&u==="expose")){const c=mP[u]||r&&r[u];e[u]=c?c(e[u],t[u]):t[u]}return e}const mP={data:Eh,props:Sh,emits:Sh,methods:Cs,computed:Cs,beforeCreate:Gt,created:Gt,beforeMount:Gt,mounted:Gt,beforeUpdate:Gt,updated:Gt,beforeDestroy:Gt,beforeUnmount:Gt,destroyed:Gt,unmounted:Gt,activated:Gt,deactivated:Gt,errorCaptured:Gt,serverPrefetch:Gt,components:Cs,directives:Cs,watch:vP,provide:Eh,inject:gP};function Eh(e,t){return t?e?function(){return _t(Ne(e)?e.call(this,this):e,Ne(t)?t.call(this,this):t)}:t:e}function gP(e,t){return Cs(Lu(e),Lu(t))}function Lu(e){if(Se(e)){const t={};for(let r=0;r1)return r&&Ne(t)?t.call(s&&s.proxy):t}}function bP(){return!!(Tt||kt||Wi)}function wP(e,t,r,s=!1){const o={},l={};pa(l,Ha,1),e.propsDefaults=Object.create(null),Tm(e,t,o,l);for(const u in e.propsOptions[0])u in o||(o[u]=void 0);r?e.props=s?o:am(o):e.type.props?e.props=o:e.props=l,e.attrs=l}function AP(e,t,r,s){const{props:o,attrs:l,vnode:{patchFlag:u}}=e,c=nt(o),[f]=e.propsOptions;let p=!1;if((s||u>0)&&!(u&16)){if(u&8){const h=e.vnode.dynamicProps;for(let m=0;m{f=!0;const[g,y]=Im(m,t,!0);_t(u,g),y&&c.push(...y)};!r&&t.mixins.length&&t.mixins.forEach(h),e.extends&&h(e.extends),e.mixins&&e.mixins.forEach(h)}if(!l&&!f)return dt(e)&&s.set(e,Mi),Mi;if(Se(l))for(let h=0;h-1,y[1]=x<0||S-1||rt(y,"default"))&&c.push(m)}}}const p=[u,c];return dt(e)&&s.set(e,p),p}function kh(e){return e[0]!=="$"&&!$i(e)}function Oh(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function Rh(e,t){return Oh(e)===Oh(t)}function Th(e,t){return Se(t)?t.findIndex(r=>Rh(r,e)):Ne(t)&&Rh(t,e)?0:-1}const Mm=e=>e[0]==="_"||e==="$stable",yc=e=>Se(e)?e.map(gn):[gn(e)],xP=(e,t,r)=>{if(t._n)return t;const s=St((...o)=>yc(t(...o)),r);return s._c=!1,s},Lm=(e,t,r)=>{const s=e._ctx;for(const o in e){if(Mm(o))continue;const l=e[o];if(Ne(l))t[o]=xP(o,l,s);else if(l!=null){const u=yc(l);t[o]=()=>u}}},$m=(e,t)=>{const r=yc(t);e.slots.default=()=>r},PP=(e,t)=>{if(e.vnode.shapeFlag&32){const r=t._;r?(e.slots=nt(t),pa(t,"_",r)):Lm(t,e.slots={})}else e.slots={},t&&$m(e,t);pa(e.slots,Ha,1)},CP=(e,t,r)=>{const{vnode:s,slots:o}=e;let l=!0,u=ct;if(s.shapeFlag&32){const c=t._;c?r&&c===1?l=!1:(_t(o,t),!r&&c===1&&delete o._):(l=!t.$stable,Lm(t,o)),u=t}else t&&($m(e,t),u={default:1});if(l)for(const c in o)!Mm(c)&&u[c]==null&&delete o[c]};function ba(e,t,r,s,o=!1){if(Se(e)){e.forEach((g,y)=>ba(g,t&&(Se(t)?t[y]:t),r,s,o));return}if(si(s)&&!o)return;const l=s.shapeFlag&4?qa(s.component)||s.component.proxy:s.el,u=o?null:l,{i:c,r:f}=e,p=t&&t.r,h=c.refs===ct?c.refs={}:c.refs,m=c.setupState;if(p!=null&&p!==f&&(bt(p)?(h[p]=null,rt(m,p)&&(m[p]=null)):Pt(p)&&(p.value=null)),Ne(f))$r(f,c,12,[u,h]);else{const g=bt(f),y=Pt(f);if(g||y){const S=()=>{if(e.f){const x=g?rt(m,f)?m[f]:h[f]:f.value;o?Se(x)&&tc(x,l):Se(x)?x.includes(l)||x.push(l):g?(h[f]=[l],rt(m,f)&&(m[f]=h[f])):(f.value=[l],e.k&&(h[e.k]=f.value))}else g?(h[f]=u,rt(m,f)&&(m[f]=u)):y&&(f.value=u,e.k&&(h[e.k]=u))};u?(S.id=-1,Nt(S,r)):S()}}}let Ar=!1;const EP=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",SP=e=>e.namespaceURI.includes("MathML"),na=e=>{if(EP(e))return"svg";if(SP(e))return"mathml"},ra=e=>e.nodeType===8;function kP(e){const{mt:t,p:r,o:{patchProp:s,createText:o,nextSibling:l,parentNode:u,remove:c,insert:f,createComment:p}}=e,h=(P,k)=>{if(!k.hasChildNodes()){r(null,P,k),ya(),k._vnode=P;return}Ar=!1,m(k.firstChild,P,null,null,null),ya(),k._vnode=P,Ar&&console.error("Hydration completed but contains mismatches.")},m=(P,k,R,M,q,W=!1)=>{const j=ra(P)&&P.data==="[",U=()=>x(P,k,R,M,q,j),{type:G,ref:K,shapeFlag:H,patchFlag:E}=k;let I=P.nodeType;k.el=P,E===-2&&(W=!1,k.dynamicChildren=null);let D=null;switch(G){case Ki:I!==3?k.children===""?(f(k.el=o(""),u(P),P),D=P):D=U():(P.data!==k.children&&(Ar=!0,P.data=k.children),D=l(P));break;case Zt:B(P)?(D=l(P),V(k.el=P.content.firstChild,P,R)):I!==8||j?D=U():D=l(P);break;case Fi:if(j&&(P=l(P),I=P.nodeType),I===1||I===3){D=P;const A=!k.children.length;for(let _=0;_{W=W||!!k.dynamicChildren;const{type:j,props:U,patchFlag:G,shapeFlag:K,dirs:H,transition:E}=k,I=j==="input"||j==="option";if(I||G!==-1){H&&Fn(k,null,R,"created");let D=!1;if(B(P)){D=Nm(M,E)&&R&&R.vnode.props&&R.vnode.props.appear;const _=P.content.firstChild;D&&E.beforeEnter(_),V(_,P,R),k.el=P=_}if(K&16&&!(U&&(U.innerHTML||U.textContent))){let _=y(P.firstChild,k,P,R,M,q,W);for(;_;){Ar=!0;const Y=_;_=_.nextSibling,c(Y)}}else K&8&&P.textContent!==k.children&&(Ar=!0,P.textContent=k.children);if(U)if(I||!W||G&48)for(const _ in U)(I&&(_.endsWith("value")||_==="indeterminate")||Zs(_)&&!$i(_)||_[0]===".")&&s(P,_,null,U[_],void 0,void 0,R);else U.onClick&&s(P,"onClick",null,U.onClick,void 0,void 0,R);let A;(A=U&&U.onVnodeBeforeMount)&&nn(A,R,k),H&&Fn(k,null,R,"beforeMount"),((A=U&&U.onVnodeMounted)||H||D)&&wm(()=>{A&&nn(A,R,k),D&&E.enter(P),H&&Fn(k,null,R,"mounted")},M)}return P.nextSibling},y=(P,k,R,M,q,W,j)=>{j=j||!!k.dynamicChildren;const U=k.children,G=U.length;for(let K=0;K{const{slotScopeIds:j}=k;j&&(q=q?q.concat(j):j);const U=u(P),G=y(l(P),k,U,R,M,q,W);return G&&ra(G)&&G.data==="]"?l(k.anchor=G):(Ar=!0,f(k.anchor=p("]"),U,G),G)},x=(P,k,R,M,q,W)=>{if(Ar=!0,k.el=null,W){const G=T(P);for(;;){const K=l(P);if(K&&K!==G)c(K);else break}}const j=l(P),U=u(P);return c(P),r(null,k,U,j,R,M,na(U),q),j},T=(P,k="[",R="]")=>{let M=0;for(;P;)if(P=l(P),P&&ra(P)&&(P.data===k&&M++,P.data===R)){if(M===0)return l(P);M--}return P},V=(P,k,R)=>{const M=k.parentNode;M&&M.replaceChild(P,k);let q=R;for(;q;)q.vnode.el===k&&(q.vnode.el=q.subTree.el=P),q=q.parent},B=P=>P.nodeType===1&&P.tagName.toLowerCase()==="template";return[h,m]}const Nt=wm;function OP(e){return Dm(e)}function RP(e){return Dm(e,kP)}function Dm(e,t){const r=Fp();r.__VUE__=!0;const{insert:s,remove:o,patchProp:l,createElement:u,createText:c,createComment:f,setText:p,setElementText:h,parentNode:m,nextSibling:g,setScopeId:y=zt,insertStaticContent:S}=e,x=(O,L,J,ue=null,ne=null,ve=null,be=void 0,me=null,ge=!!L.dynamicChildren)=>{if(O===L)return;O&&!Mn(O,L)&&(ue=X(O),Q(O,ne,ve,!0),O=null),L.patchFlag===-2&&(ge=!1,L.dynamicChildren=null);const{type:ce,ref:xe,shapeFlag:Ie}=L;switch(ce){case Ki:T(O,L,J,ue);break;case Zt:V(O,L,J,ue);break;case Fi:O==null&&B(L,J,ue,be);break;case tt:K(O,L,J,ue,ne,ve,be,me,ge);break;default:Ie&1?R(O,L,J,ue,ne,ve,be,me,ge):Ie&6?H(O,L,J,ue,ne,ve,be,me,ge):(Ie&64||Ie&128)&&ce.process(O,L,J,ue,ne,ve,be,me,ge,Ae)}xe!=null&&ne&&ba(xe,O&&O.ref,ve,L||O,!L)},T=(O,L,J,ue)=>{if(O==null)s(L.el=c(L.children),J,ue);else{const ne=L.el=O.el;L.children!==O.children&&p(ne,L.children)}},V=(O,L,J,ue)=>{O==null?s(L.el=f(L.children||""),J,ue):L.el=O.el},B=(O,L,J,ue)=>{[O.el,O.anchor]=S(O.children,L,J,ue,O.el,O.anchor)},P=({el:O,anchor:L},J,ue)=>{let ne;for(;O&&O!==L;)ne=g(O),s(O,J,ue),O=ne;s(L,J,ue)},k=({el:O,anchor:L})=>{let J;for(;O&&O!==L;)J=g(O),o(O),O=J;o(L)},R=(O,L,J,ue,ne,ve,be,me,ge)=>{L.type==="svg"?be="svg":L.type==="math"&&(be="mathml"),O==null?M(L,J,ue,ne,ve,be,me,ge):j(O,L,ne,ve,be,me,ge)},M=(O,L,J,ue,ne,ve,be,me)=>{let ge,ce;const{props:xe,shapeFlag:Ie,transition:Re,dirs:We}=O;if(ge=O.el=u(O.type,ve,xe&&xe.is,xe),Ie&8?h(ge,O.children):Ie&16&&W(O.children,ge,null,ue,ne,pu(O,ve),be,me),We&&Fn(O,null,ue,"created"),q(ge,O,O.scopeId,be,ue),xe){for(const Qe in xe)Qe!=="value"&&!$i(Qe)&&l(ge,Qe,null,xe[Qe],ve,O.children,ue,ne,ke);"value"in xe&&l(ge,"value",null,xe.value,ve),(ce=xe.onVnodeBeforeMount)&&nn(ce,ue,O)}We&&Fn(O,null,ue,"beforeMount");const Ue=Nm(ne,Re);Ue&&Re.beforeEnter(ge),s(ge,L,J),((ce=xe&&xe.onVnodeMounted)||Ue||We)&&Nt(()=>{ce&&nn(ce,ue,O),Ue&&Re.enter(ge),We&&Fn(O,null,ue,"mounted")},ne)},q=(O,L,J,ue,ne)=>{if(J&&y(O,J),ue)for(let ve=0;ve{for(let ce=ge;ce{const me=L.el=O.el;let{patchFlag:ge,dynamicChildren:ce,dirs:xe}=L;ge|=O.patchFlag&16;const Ie=O.props||ct,Re=L.props||ct;let We;if(J&&Qr(J,!1),(We=Re.onVnodeBeforeUpdate)&&nn(We,J,L,O),xe&&Fn(L,O,J,"beforeUpdate"),J&&Qr(J,!0),ce?U(O.dynamicChildren,ce,me,J,ue,pu(L,ne),ve):be||_(O,L,me,null,J,ue,pu(L,ne),ve,!1),ge>0){if(ge&16)G(me,L,Ie,Re,J,ue,ne);else if(ge&2&&Ie.class!==Re.class&&l(me,"class",null,Re.class,ne),ge&4&&l(me,"style",Ie.style,Re.style,ne),ge&8){const Ue=L.dynamicProps;for(let Qe=0;Qe{We&&nn(We,J,L,O),xe&&Fn(L,O,J,"updated")},ue)},U=(O,L,J,ue,ne,ve,be)=>{for(let me=0;me{if(J!==ue){if(J!==ct)for(const me in J)!$i(me)&&!(me in ue)&&l(O,me,J[me],null,be,L.children,ne,ve,ke);for(const me in ue){if($i(me))continue;const ge=ue[me],ce=J[me];ge!==ce&&me!=="value"&&l(O,me,ce,ge,be,L.children,ne,ve,ke)}"value"in ue&&l(O,"value",J.value,ue.value,be)}},K=(O,L,J,ue,ne,ve,be,me,ge)=>{const ce=L.el=O?O.el:c(""),xe=L.anchor=O?O.anchor:c("");let{patchFlag:Ie,dynamicChildren:Re,slotScopeIds:We}=L;We&&(me=me?me.concat(We):We),O==null?(s(ce,J,ue),s(xe,J,ue),W(L.children||[],J,xe,ne,ve,be,me,ge)):Ie>0&&Ie&64&&Re&&O.dynamicChildren?(U(O.dynamicChildren,Re,J,ne,ve,be,me),(L.key!=null||ne&&L===ne.subTree)&&_c(O,L,!0)):_(O,L,J,xe,ne,ve,be,me,ge)},H=(O,L,J,ue,ne,ve,be,me,ge)=>{L.slotScopeIds=me,O==null?L.shapeFlag&512?ne.ctx.activate(L,J,ue,be,ge):E(L,J,ue,ne,ve,be,ge):I(O,L,ge)},E=(O,L,J,ue,ne,ve,be)=>{const me=O.component=Um(O,ue,ne);if(Xs(O)&&(me.ctx.renderer=Ae),jm(me),me.asyncDep){if(ne&&ne.registerDep(me,D),!O.el){const ge=me.subTree=pe(Zt);V(null,ge,L,J)}}else D(me,O,L,J,ne,ve,be)},I=(O,L,J)=>{const ue=L.component=O.component;if(Wx(O,L,J))if(ue.asyncDep&&!ue.asyncResolved){A(ue,L,J);return}else ue.next=L,Lx(ue.update),ue.effect.dirty=!0,ue.update();else L.el=O.el,ue.vnode=L},D=(O,L,J,ue,ne,ve,be)=>{const me=()=>{if(O.isMounted){let{next:xe,bu:Ie,u:Re,parent:We,vnode:Ue}=O;{const Dn=Bm(O);if(Dn){xe&&(xe.el=Ue.el,A(O,xe,be)),Dn.asyncDep.then(()=>{O.isUnmounted||me()});return}}let Qe=xe,ft;Qr(O,!1),xe?(xe.el=Ue.el,A(O,xe,be)):xe=Ue,Ie&&Di(Ie),(ft=xe.props&&xe.props.onVnodeBeforeUpdate)&&nn(ft,We,xe,Ue),Qr(O,!0);const At=ua(O),Ut=O.subTree;O.subTree=At,x(Ut,At,m(Ut.el),X(Ut),O,ne,ve),xe.el=At.el,Qe===null&&cc(O,At.el),Re&&Nt(Re,ne),(ft=xe.props&&xe.props.onVnodeUpdated)&&Nt(()=>nn(ft,We,xe,Ue),ne)}else{let xe;const{el:Ie,props:Re}=L,{bm:We,m:Ue,parent:Qe}=O,ft=si(L);if(Qr(O,!1),We&&Di(We),!ft&&(xe=Re&&Re.onVnodeBeforeMount)&&nn(xe,Qe,L),Qr(O,!0),Ie&&je){const At=()=>{O.subTree=ua(O),je(Ie,O.subTree,O,ne,null)};ft?L.type.__asyncLoader().then(()=>!O.isUnmounted&&At()):At()}else{const At=O.subTree=ua(O);x(null,At,J,ue,O,ne,ve),L.el=At.el}if(Ue&&Nt(Ue,ne),!ft&&(xe=Re&&Re.onVnodeMounted)){const At=L;Nt(()=>nn(xe,Qe,At),ne)}(L.shapeFlag&256||Qe&&si(Qe.vnode)&&Qe.vnode.shapeFlag&256)&&O.a&&Nt(O.a,ne),O.isMounted=!0,L=J=ue=null}},ge=O.effect=new Vs(me,zt,()=>Na(ce),O.scope),ce=O.update=()=>{ge.dirty&&ge.run()};ce.id=O.uid,Qr(O,!0),ce()},A=(O,L,J)=>{L.component=O;const ue=O.vnode.props;O.vnode=L,O.next=null,AP(O,L.props,ue,J),CP(O,L.children,J),ci(),bh(O),fi()},_=(O,L,J,ue,ne,ve,be,me,ge=!1)=>{const ce=O&&O.children,xe=O?O.shapeFlag:0,Ie=L.children,{patchFlag:Re,shapeFlag:We}=L;if(Re>0){if(Re&128){N(ce,Ie,J,ue,ne,ve,be,me,ge);return}else if(Re&256){Y(ce,Ie,J,ue,ne,ve,be,me,ge);return}}We&8?(xe&16&&ke(ce,ne,ve),Ie!==ce&&h(J,Ie)):xe&16?We&16?N(ce,Ie,J,ue,ne,ve,be,me,ge):ke(ce,ne,ve,!0):(xe&8&&h(J,""),We&16&&W(Ie,J,ue,ne,ve,be,me,ge))},Y=(O,L,J,ue,ne,ve,be,me,ge)=>{O=O||Mi,L=L||Mi;const ce=O.length,xe=L.length,Ie=Math.min(ce,xe);let Re;for(Re=0;Rexe?ke(O,ne,ve,!0,!1,Ie):W(L,J,ue,ne,ve,be,me,ge,Ie)},N=(O,L,J,ue,ne,ve,be,me,ge)=>{let ce=0;const xe=L.length;let Ie=O.length-1,Re=xe-1;for(;ce<=Ie&&ce<=Re;){const We=O[ce],Ue=L[ce]=ge?Or(L[ce]):gn(L[ce]);if(Mn(We,Ue))x(We,Ue,J,null,ne,ve,be,me,ge);else break;ce++}for(;ce<=Ie&&ce<=Re;){const We=O[Ie],Ue=L[Re]=ge?Or(L[Re]):gn(L[Re]);if(Mn(We,Ue))x(We,Ue,J,null,ne,ve,be,me,ge);else break;Ie--,Re--}if(ce>Ie){if(ce<=Re){const We=Re+1,Ue=WeRe)for(;ce<=Ie;)Q(O[ce],ne,ve,!0),ce++;else{const We=ce,Ue=ce,Qe=new Map;for(ce=Ue;ce<=Re;ce++){const Lt=L[ce]=ge?Or(L[ce]):gn(L[ce]);Lt.key!=null&&Qe.set(Lt.key,ce)}let ft,At=0;const Ut=Re-Ue+1;let Dn=!1,di=0;const Gn=new Array(Ut);for(ce=0;ce=Ut){Q(Lt,ne,ve,!0);continue}let Jt;if(Lt.key!=null)Jt=Qe.get(Lt.key);else for(ft=Ue;ft<=Re;ft++)if(Gn[ft-Ue]===0&&Mn(Lt,L[ft])){Jt=ft;break}Jt===void 0?Q(Lt,ne,ve,!0):(Gn[Jt-Ue]=ce+1,Jt>=di?di=Jt:Dn=!0,x(Lt,L[Jt],J,null,ne,ve,be,me,ge),At++)}const hi=Dn?TP(Gn):Mi;for(ft=hi.length-1,ce=Ut-1;ce>=0;ce--){const Lt=Ue+ce,Jt=L[Lt],io=Lt+1{const{el:ve,type:be,transition:me,children:ge,shapeFlag:ce}=O;if(ce&6){b(O.component.subTree,L,J,ue);return}if(ce&128){O.suspense.move(L,J,ue);return}if(ce&64){be.move(O,L,J,Ae);return}if(be===tt){s(ve,L,J);for(let Ie=0;Ieme.enter(ve),ne);else{const{leave:Ie,delayLeave:Re,afterLeave:We}=me,Ue=()=>s(ve,L,J),Qe=()=>{Ie(ve,()=>{Ue(),We&&We()})};Re?Re(ve,Ue,Qe):Qe()}else s(ve,L,J)},Q=(O,L,J,ue=!1,ne=!1)=>{const{type:ve,props:be,ref:me,children:ge,dynamicChildren:ce,shapeFlag:xe,patchFlag:Ie,dirs:Re}=O;if(me!=null&&ba(me,null,J,O,!0),xe&256){L.ctx.deactivate(O);return}const We=xe&1&&Re,Ue=!si(O);let Qe;if(Ue&&(Qe=be&&be.onVnodeBeforeUnmount)&&nn(Qe,L,O),xe&6)_e(O.component,J,ue);else{if(xe&128){O.suspense.unmount(J,ue);return}We&&Fn(O,null,L,"beforeUnmount"),xe&64?O.type.remove(O,L,J,ne,Ae,ue):ce&&(ve!==tt||Ie>0&&Ie&64)?ke(ce,L,J,!1,!0):(ve===tt&&Ie&384||!ne&&xe&16)&&ke(ge,L,J),ue&&de(O)}(Ue&&(Qe=be&&be.onVnodeUnmounted)||We)&&Nt(()=>{Qe&&nn(Qe,L,O),We&&Fn(O,null,L,"unmounted")},J)},de=O=>{const{type:L,el:J,anchor:ue,transition:ne}=O;if(L===tt){Ce(J,ue);return}if(L===Fi){k(O);return}const ve=()=>{o(J),ne&&!ne.persisted&&ne.afterLeave&&ne.afterLeave()};if(O.shapeFlag&1&&ne&&!ne.persisted){const{leave:be,delayLeave:me}=ne,ge=()=>be(J,ve);me?me(O.el,ve,ge):ge()}else ve()},Ce=(O,L)=>{let J;for(;O!==L;)J=g(O),o(O),O=J;o(L)},_e=(O,L,J)=>{const{bum:ue,scope:ne,update:ve,subTree:be,um:me}=O;ue&&Di(ue),ne.stop(),ve&&(ve.active=!1,Q(be,O,L,J)),me&&Nt(me,L),Nt(()=>{O.isUnmounted=!0},L),L&&L.pendingBranch&&!L.isUnmounted&&O.asyncDep&&!O.asyncResolved&&O.suspenseId===L.pendingId&&(L.deps--,L.deps===0&&L.resolve())},ke=(O,L,J,ue=!1,ne=!1,ve=0)=>{for(let be=ve;beO.shapeFlag&6?X(O.component.subTree):O.shapeFlag&128?O.suspense.next():g(O.anchor||O.el);let se=!1;const he=(O,L,J)=>{O==null?L._vnode&&Q(L._vnode,null,null,!0):x(L._vnode||null,O,L,null,null,null,J),se||(se=!0,bh(),ya(),se=!1),L._vnode=O},Ae={p:x,um:Q,m:b,r:de,mt:E,mc:W,pc:_,pbc:U,n:X,o:e};let Oe,je;return t&&([Oe,je]=t(Ae)),{render:he,hydrate:Oe,createApp:_P(he,Oe)}}function pu({type:e,props:t},r){return r==="svg"&&e==="foreignObject"||r==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:r}function Qr({effect:e,update:t},r){e.allowRecurse=t.allowRecurse=r}function Nm(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function _c(e,t,r=!1){const s=e.children,o=t.children;if(Se(s)&&Se(o))for(let l=0;l>1,e[r[c]]0&&(t[s]=r[l-1]),r[l]=s)}}for(l=r.length,u=r[l-1];l-- >0;)r[l]=u,u=t[u];return r}function Bm(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Bm(t)}const IP=e=>e.__isTeleport,Ts=e=>e&&(e.disabled||e.disabled===""),Ih=e=>typeof SVGElement<"u"&&e instanceof SVGElement,Mh=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Du=(e,t)=>{const r=e&&e.to;return bt(r)?t?t(r):null:r},MP={name:"Teleport",__isTeleport:!0,process(e,t,r,s,o,l,u,c,f,p){const{mc:h,pc:m,pbc:g,o:{insert:y,querySelector:S,createText:x,createComment:T}}=p,V=Ts(t.props);let{shapeFlag:B,children:P,dynamicChildren:k}=t;if(e==null){const R=t.el=x(""),M=t.anchor=x("");y(R,r,s),y(M,r,s);const q=t.target=Du(t.props,S),W=t.targetAnchor=x("");q&&(y(W,q),u==="svg"||Ih(q)?u="svg":(u==="mathml"||Mh(q))&&(u="mathml"));const j=(U,G)=>{B&16&&h(P,U,G,o,l,u,c,f)};V?j(r,M):q&&j(q,W)}else{t.el=e.el;const R=t.anchor=e.anchor,M=t.target=e.target,q=t.targetAnchor=e.targetAnchor,W=Ts(e.props),j=W?r:M,U=W?R:q;if(u==="svg"||Ih(M)?u="svg":(u==="mathml"||Mh(M))&&(u="mathml"),k?(g(e.dynamicChildren,k,j,o,l,u,c),_c(e,t,!0)):f||m(e,t,j,U,o,l,u,c,!1),V)W?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):ia(t,r,R,p,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const G=t.target=Du(t.props,S);G&&ia(t,G,null,p,0)}else W&&ia(t,M,q,p,1)}Vm(t)},remove(e,t,r,s,{um:o,o:{remove:l}},u){const{shapeFlag:c,children:f,anchor:p,targetAnchor:h,target:m,props:g}=e;if(m&&l(h),u&&l(p),c&16){const y=u||!Ts(g);for(let S=0;S0?rn||Mi:null,Wm(),oi>0&&rn&&rn.push(e),e}function ye(e,t,r,s,o,l){return Fm(te(e,t,r,s,o,l,!0))}function Ye(e,t,r,s,o){return Fm(pe(e,t,r,s,o,!0))}function Vr(e){return e?e.__v_isVNode===!0:!1}function Mn(e,t){return e.type===t.type&&e.key===t.key}function P3(e){}const Ha="__vInternal",Hm=({key:e})=>e??null,ca=({ref:e,ref_key:t,ref_for:r})=>(typeof e=="number"&&(e=""+e),e!=null?bt(e)||Pt(e)||Ne(e)?{i:kt,r:e,k:t,f:!!r}:e:null);function te(e,t=null,r=null,s=0,o=null,l=e===tt?0:1,u=!1,c=!1){const f={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Hm(t),ref:t&&ca(t),scopeId:Va,slotScopeIds:null,children:r,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:l,patchFlag:s,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:kt};return c?(bc(f,r),l&128&&e.normalize(f)):r&&(f.shapeFlag|=bt(r)?8:16),oi>0&&!u&&rn&&(f.patchFlag>0||l&6)&&f.patchFlag!==32&&rn.push(f),f}const pe=$P;function $P(e,t=null,r=null,s=0,o=null,l=!1){if((!e||e===_m)&&(e=Zt),Vr(e)){const c=ur(e,t,!0);return r&&bc(c,r),oi>0&&!l&&rn&&(c.shapeFlag&6?rn[rn.indexOf(e)]=c:rn.push(c)),c.patchFlag|=-2,c}if(UP(e)&&(e=e.__vccOpts),t){t=DP(t);let{class:c,style:f}=t;c&&!bt(c)&&(t.class=Je(c)),dt(f)&&(um(f)&&!Se(f)&&(f=_t({},f)),t.style=Fr(f))}const u=bt(e)?1:bm(e)?128:IP(e)?64:dt(e)?4:Ne(e)?2:0;return te(e,t,r,s,o,u,l,!0)}function DP(e){return e?um(e)||Ha in e?_t({},e):e:null}function ur(e,t,r=!1){const{props:s,ref:o,patchFlag:l,children:u}=e,c=t?BP(s||{},t):s;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&Hm(c),ref:t&&t.ref?r&&o?Se(o)?o.concat(ca(t)):[o,ca(t)]:ca(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:u,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==tt?l===-1?16:l|16:l,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&ur(e.ssContent),ssFallback:e.ssFallback&&ur(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function Ua(e=" ",t=0){return pe(Ki,null,e,t)}function NP(e,t){const r=pe(Fi,null,e);return r.staticCount=t,r}function Be(e="",t=!1){return t?(re(),Ye(Zt,null,e)):pe(Zt,null,e)}function gn(e){return e==null||typeof e=="boolean"?pe(Zt):Se(e)?pe(tt,null,e.slice()):typeof e=="object"?Or(e):pe(Ki,null,String(e))}function Or(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:ur(e)}function bc(e,t){let r=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(Se(t))r=16;else if(typeof t=="object")if(s&65){const o=t.default;o&&(o._c&&(o._d=!1),bc(e,o()),o._c&&(o._d=!0));return}else{r=32;const o=t._;!o&&!(Ha in t)?t._ctx=kt:o===3&&kt&&(kt.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else Ne(t)?(t={default:t,_ctx:kt},r=32):(t=String(t),s&64?(r=16,t=[Ua(t)]):r=8);e.children=t,e.shapeFlag|=r}function BP(...e){const t={};for(let r=0;rTt||kt;let wa,Nu;{const e=Fp(),t=(r,s)=>{let o;return(o=e[r])||(o=e[r]=[]),o.push(s),l=>{o.length>1?o.forEach(u=>u(l)):o[0](l)}};wa=t("__VUE_INSTANCE_SETTERS__",r=>Tt=r),Nu=t("__VUE_SSR_SETTERS__",r=>eo=r)}const ai=e=>{const t=Tt;return wa(e),e.scope.on(),()=>{e.scope.off(),wa(t)}},Bu=()=>{Tt&&Tt.scope.off(),wa(null)};function qm(e){return e.vnode.shapeFlag&4}let eo=!1;function jm(e,t=!1){t&&Nu(t);const{props:r,children:s}=e.vnode,o=qm(e);wP(e,r,o,t),PP(e,s);const l=o?FP(e,t):void 0;return t&&Nu(!1),l}function FP(e,t){const r=e.type;e.accessCache=Object.create(null),e.proxy=Da(new Proxy(e.ctx,Iu));const{setup:s}=r;if(s){const o=e.setupContext=s.length>1?Gm(e):null,l=ai(e);ci();const u=$r(s,e,0,[e.props,o]);if(fi(),l(),nc(u)){if(u.then(Bu,Bu),t)return u.then(c=>{Vu(e,c,t)}).catch(c=>{Qi(c,e,0)});e.asyncDep=u}else Vu(e,u,t)}else Km(e,t)}function Vu(e,t,r){Ne(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:dt(t)&&(e.setupState=dm(t)),Km(e,r)}let Aa,Wu;function C3(e){Aa=e,Wu=t=>{t.render._rc&&(t.withProxy=new Proxy(t.ctx,dP))}}const E3=()=>!Aa;function Km(e,t,r){const s=e.type;if(!e.render){if(!t&&Aa&&!s.render){const o=s.template||vc(e).template;if(o){const{isCustomElement:l,compilerOptions:u}=e.appContext.config,{delimiters:c,compilerOptions:f}=s,p=_t(_t({isCustomElement:l,delimiters:c},u),f);s.render=Aa(o,p)}}e.render=s.render||zt,Wu&&Wu(e)}{const o=ai(e);ci();try{hP(e)}finally{fi(),o()}}}function HP(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,r){return an(e,"get","$attrs"),t[r]}}))}function Gm(e){const t=r=>{e.exposed=r||{}};return{get attrs(){return HP(e)},slots:e.slots,emit:e.emit,expose:t}}function qa(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(dm(Da(e.exposed)),{get(t,r){if(r in t)return t[r];if(r in Rs)return Rs[r](e)},has(t,r){return r in t||r in Rs}}))}function Fu(e,t=!0){return Ne(e)?e.displayName||e.name:e.name||t&&e.__name}function UP(e){return Ne(e)&&"__vccOpts"in e}const Ve=(e,t)=>Ax(e,t,eo);function S3(e,t,r=ct){const s=Hr(),o=sn(t),l=vn(t),u=Sx((f,p)=>{let h;return Xx(()=>{const m=e[t];Ln(h,m)&&(h=m,p())}),{get(){return f(),r.get?r.get(h):h},set(m){const g=s.vnode.props;!(g&&(t in g||o in g||l in g)&&(`onUpdate:${t}`in g||`onUpdate:${o}`in g||`onUpdate:${l}`in g))&&Ln(m,h)&&(h=m,p()),s.emit(`update:${t}`,r.set?r.set(m):m)}}}),c=t==="modelValue"?"modelModifiers":`${t}Modifiers`;return u[Symbol.iterator]=()=>{let f=0;return{next(){return f<2?{value:f++?e[c]||{}:u,done:!1}:{done:!0}}}},u}function wc(e,t,r){const s=arguments.length;return s===2?dt(t)&&!Se(t)?Vr(t)?pe(e,null,[t]):pe(e,t):pe(e,null,t):(s>3?r=Array.prototype.slice.call(arguments,2):s===3&&Vr(r)&&(r=[r]),pe(e,t,r))}function k3(){}function O3(e,t,r,s){const o=r[s];if(o&&qP(o,e))return o;const l=t();return l.memo=e.slice(),r[s]=l}function qP(e,t){const r=e.memo;if(r.length!=t.length)return!1;for(let s=0;s0&&rn&&rn.push(e),!0}const jP="3.4.21",R3=zt,T3=Tx,I3=Ri,M3=vm,KP={createComponentInstance:Um,setupComponent:jm,renderComponentRoot:ua,setCurrentRenderingInstance:Us,isVNode:Vr,normalizeVNode:gn},L3=KP,$3=null,D3=null,N3=null;/** -* @vue/runtime-dom v3.4.21 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/const GP="http://www.w3.org/2000/svg",zP="http://www.w3.org/1998/Math/MathML",Rr=typeof document<"u"?document:null,$h=Rr&&Rr.createElement("template"),YP={insert:(e,t,r)=>{t.insertBefore(e,r||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,r,s)=>{const o=t==="svg"?Rr.createElementNS(GP,e):t==="mathml"?Rr.createElementNS(zP,e):Rr.createElement(e,r?{is:r}:void 0);return e==="select"&&s&&s.multiple!=null&&o.setAttribute("multiple",s.multiple),o},createText:e=>Rr.createTextNode(e),createComment:e=>Rr.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Rr.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,r,s,o,l){const u=r?r.previousSibling:t.lastChild;if(o&&(o===l||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),r),!(o===l||!(o=o.nextSibling)););else{$h.innerHTML=s==="svg"?`${e}`:s==="mathml"?`${e}`:e;const c=$h.content;if(s==="svg"||s==="mathml"){const f=c.firstChild;for(;f.firstChild;)c.appendChild(f.firstChild);c.removeChild(f)}t.insertBefore(c,r)}return[u?u.nextSibling:t.firstChild,r?r.previousSibling:t.lastChild]}},xr="transition",vs="animation",Gi=Symbol("_vtc"),zm=(e,{slots:t})=>wc(tP,Zm(e),t);zm.displayName="Transition";const Ym={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},ZP=zm.props=_t({},Pm,Ym),ei=(e,t=[])=>{Se(e)?e.forEach(r=>r(...t)):e&&e(...t)},Dh=e=>e?Se(e)?e.some(t=>t.length>1):e.length>1:!1;function Zm(e){const t={};for(const K in e)K in Ym||(t[K]=e[K]);if(e.css===!1)return t;const{name:r="v",type:s,duration:o,enterFromClass:l=`${r}-enter-from`,enterActiveClass:u=`${r}-enter-active`,enterToClass:c=`${r}-enter-to`,appearFromClass:f=l,appearActiveClass:p=u,appearToClass:h=c,leaveFromClass:m=`${r}-leave-from`,leaveActiveClass:g=`${r}-leave-active`,leaveToClass:y=`${r}-leave-to`}=e,S=JP(o),x=S&&S[0],T=S&&S[1],{onBeforeEnter:V,onEnter:B,onEnterCancelled:P,onLeave:k,onLeaveCancelled:R,onBeforeAppear:M=V,onAppear:q=B,onAppearCancelled:W=P}=t,j=(K,H,E)=>{Cr(K,H?h:c),Cr(K,H?p:u),E&&E()},U=(K,H)=>{K._isLeaving=!1,Cr(K,m),Cr(K,y),Cr(K,g),H&&H()},G=K=>(H,E)=>{const I=K?q:B,D=()=>j(H,K,E);ei(I,[H,D]),Nh(()=>{Cr(H,K?f:l),ir(H,K?h:c),Dh(I)||Bh(H,s,x,D)})};return _t(t,{onBeforeEnter(K){ei(V,[K]),ir(K,l),ir(K,u)},onBeforeAppear(K){ei(M,[K]),ir(K,f),ir(K,p)},onEnter:G(!1),onAppear:G(!0),onLeave(K,H){K._isLeaving=!0;const E=()=>U(K,H);ir(K,m),Xm(),ir(K,g),Nh(()=>{K._isLeaving&&(Cr(K,m),ir(K,y),Dh(k)||Bh(K,s,T,E))}),ei(k,[K,E])},onEnterCancelled(K){j(K,!1),ei(P,[K])},onAppearCancelled(K){j(K,!0),ei(W,[K])},onLeaveCancelled(K){U(K),ei(R,[K])}})}function JP(e){if(e==null)return null;if(dt(e))return[mu(e.enter),mu(e.leave)];{const t=mu(e);return[t,t]}}function mu(e){return ma(e)}function ir(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.add(r)),(e[Gi]||(e[Gi]=new Set)).add(t)}function Cr(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const r=e[Gi];r&&(r.delete(t),r.size||(e[Gi]=void 0))}function Nh(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let XP=0;function Bh(e,t,r,s){const o=e._endId=++XP,l=()=>{o===e._endId&&s()};if(r)return setTimeout(l,r);const{type:u,timeout:c,propCount:f}=Jm(e,t);if(!u)return s();const p=u+"end";let h=0;const m=()=>{e.removeEventListener(p,g),l()},g=y=>{y.target===e&&++h>=f&&m()};setTimeout(()=>{h(r[S]||"").split(", "),o=s(`${xr}Delay`),l=s(`${xr}Duration`),u=Vh(o,l),c=s(`${vs}Delay`),f=s(`${vs}Duration`),p=Vh(c,f);let h=null,m=0,g=0;t===xr?u>0&&(h=xr,m=u,g=l.length):t===vs?p>0&&(h=vs,m=p,g=f.length):(m=Math.max(u,p),h=m>0?u>p?xr:vs:null,g=h?h===xr?l.length:f.length:0);const y=h===xr&&/\b(transform|all)(,|$)/.test(s(`${xr}Property`).toString());return{type:h,timeout:m,propCount:g,hasTransform:y}}function Vh(e,t){for(;e.lengthWh(r)+Wh(e[s])))}function Wh(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function Xm(){return document.body.offsetHeight}function QP(e,t,r){const s=e[Gi];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):r?e.setAttribute("class",t):e.className=t}const xa=Symbol("_vod"),Qm=Symbol("_vsh"),Pa={beforeMount(e,{value:t},{transition:r}){e[xa]=e.style.display==="none"?"":e.style.display,r&&t?r.beforeEnter(e):ys(e,t)},mounted(e,{value:t},{transition:r}){r&&t&&r.enter(e)},updated(e,{value:t,oldValue:r},{transition:s}){!t!=!r&&(s?t?(s.beforeEnter(e),ys(e,!0),s.enter(e)):s.leave(e,()=>{ys(e,!1)}):ys(e,t))},beforeUnmount(e,{value:t}){ys(e,t)}};function ys(e,t){e.style.display=t?e[xa]:"none",e[Qm]=!t}function eC(){Pa.getSSRProps=({value:e})=>{if(!e)return{style:{display:"none"}}}}const eg=Symbol("");function B3(e){const t=Hr();if(!t)return;const r=t.ut=(o=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(l=>Uu(l,o))},s=()=>{const o=e(t.proxy);Hu(t.subTree,o),r(o)};Jx(s),Vt(()=>{const o=new MutationObserver(s);o.observe(t.subTree.el.parentNode,{childList:!0}),gc(()=>o.disconnect())})}function Hu(e,t){if(e.shapeFlag&128){const r=e.suspense;e=r.activeBranch,r.pendingBranch&&!r.isHydrating&&r.effects.push(()=>{Hu(r.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)Uu(e.el,t);else if(e.type===tt)e.children.forEach(r=>Hu(r,t));else if(e.type===Fi){let{el:r,anchor:s}=e;for(;r&&(Uu(r,t),r!==s);)r=r.nextSibling}}function Uu(e,t){if(e.nodeType===1){const r=e.style;let s="";for(const o in t)r.setProperty(`--${o}`,t[o]),s+=`--${o}: ${t[o]};`;r[eg]=s}}const tC=/(^|;)\s*display\s*:/;function nC(e,t,r){const s=e.style,o=bt(r);let l=!1;if(r&&!o){if(t)if(bt(t))for(const u of t.split(";")){const c=u.slice(0,u.indexOf(":")).trim();r[c]==null&&fa(s,c,"")}else for(const u in t)r[u]==null&&fa(s,u,"");for(const u in r)u==="display"&&(l=!0),fa(s,u,r[u])}else if(o){if(t!==r){const u=s[eg];u&&(r+=";"+u),s.cssText=r,l=tC.test(r)}}else t&&e.removeAttribute("style");xa in e&&(e[xa]=l?s.display:"",e[Qm]&&(s.display="none"))}const Fh=/\s*!important$/;function fa(e,t,r){if(Se(r))r.forEach(s=>fa(e,t,s));else if(r==null&&(r=""),t.startsWith("--"))e.setProperty(t,r);else{const s=rC(e,t);Fh.test(r)?e.setProperty(vn(s),r.replace(Fh,""),"important"):e[s]=r}}const Hh=["Webkit","Moz","ms"],gu={};function rC(e,t){const r=gu[t];if(r)return r;let s=sn(t);if(s!=="filter"&&s in e)return gu[t]=s;s=Ta(s);for(let o=0;ovu||(uC.then(()=>vu=0),vu=Date.now());function fC(e,t){const r=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=r.attached)return;Sn(dC(s,r.value),t,5,[s])};return r.value=e,r.attached=cC(),r}function dC(e,t){if(Se(t)){const r=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{r.call(e),e._stopped=!0},t.map(s=>o=>!o._stopped&&s&&s(o))}else return t}const Kh=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,hC=(e,t,r,s,o,l,u,c,f)=>{const p=o==="svg";t==="class"?QP(e,s,p):t==="style"?nC(e,r,s):Zs(t)?ec(t)||aC(e,t,r,s,u):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):pC(e,t,s,p))?sC(e,t,s,l,u,c,f):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),iC(e,t,s,p))};function pC(e,t,r,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Kh(t)&&Ne(r));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return Kh(t)&&bt(r)?!1:t in e}/*! #__NO_SIDE_EFFECTS__ */function mC(e,t){const r=Ge(e);class s extends Ac{constructor(l){super(r,l,t)}}return s.def=r,s}/*! #__NO_SIDE_EFFECTS__ */const V3=e=>mC(e,kC),gC=typeof HTMLElement<"u"?HTMLElement:class{};class Ac extends gC{constructor(t,r={},s){super(),this._def=t,this._props=r,this._instance=null,this._connected=!1,this._resolved=!1,this._numberProps=null,this._ob=null,this.shadowRoot&&s?s(this._createVNode(),this.shadowRoot):(this.attachShadow({mode:"open"}),this._def.__asyncLoader||this._resolveProps(this._def))}connectedCallback(){this._connected=!0,this._instance||(this._resolved?this._update():this._resolveDef())}disconnectedCallback(){this._connected=!1,this._ob&&(this._ob.disconnect(),this._ob=null),Kn(()=>{this._connected||(Xh(null,this.shadowRoot),this._instance=null)})}_resolveDef(){this._resolved=!0;for(let s=0;s{for(const o of s)this._setAttr(o.attributeName)}),this._ob.observe(this,{attributes:!0});const t=(s,o=!1)=>{const{props:l,styles:u}=s;let c;if(l&&!Se(l))for(const f in l){const p=l[f];(p===Number||p&&p.type===Number)&&(f in this._props&&(this._props[f]=ma(this._props[f])),(c||(c=Object.create(null)))[sn(f)]=!0)}this._numberProps=c,o&&this._resolveProps(s),this._applyStyles(u),this._update()},r=this._def.__asyncLoader;r?r().then(s=>t(s,!0)):t(this._def)}_resolveProps(t){const{props:r}=t,s=Se(r)?r:Object.keys(r||{});for(const o of Object.keys(this))o[0]!=="_"&&s.includes(o)&&this._setProp(o,this[o],!0,!1);for(const o of s.map(sn))Object.defineProperty(this,o,{get(){return this._getProp(o)},set(l){this._setProp(o,l)}})}_setAttr(t){let r=this.getAttribute(t);const s=sn(t);this._numberProps&&this._numberProps[s]&&(r=ma(r)),this._setProp(s,r,!1)}_getProp(t){return this._props[t]}_setProp(t,r,s=!0,o=!0){r!==this._props[t]&&(this._props[t]=r,o&&this._instance&&this._update(),s&&(r===!0?this.setAttribute(vn(t),""):typeof r=="string"||typeof r=="number"?this.setAttribute(vn(t),r+""):r||this.removeAttribute(vn(t))))}_update(){Xh(this._createVNode(),this.shadowRoot)}_createVNode(){const t=pe(this._def,_t({},this._props));return this._instance||(t.ce=r=>{this._instance=r,r.isCE=!0;const s=(l,u)=>{this.dispatchEvent(new CustomEvent(l,{detail:u}))};r.emit=(l,...u)=>{s(l,u),vn(l)!==l&&s(vn(l),u)};let o=this;for(;o=o&&(o.parentNode||o.host);)if(o instanceof Ac){r.parent=o._instance,r.provides=o._instance.provides;break}}),t}_applyStyles(t){t&&t.forEach(r=>{const s=document.createElement("style");s.textContent=r,this.shadowRoot.appendChild(s)})}}function W3(e="$style"){{const t=Hr();if(!t)return ct;const r=t.type.__cssModules;if(!r)return ct;const s=r[e];return s||ct}}const tg=new WeakMap,ng=new WeakMap,Ca=Symbol("_moveCb"),Gh=Symbol("_enterCb"),rg={name:"TransitionGroup",props:_t({},ZP,{tag:String,moveClass:String}),setup(e,{slots:t}){const r=Hr(),s=xm();let o,l;return mc(()=>{if(!o.length)return;const u=e.moveClass||`${e.name||"v"}-move`;if(!wC(o[0].el,r.vnode.el,u))return;o.forEach(yC),o.forEach(_C);const c=o.filter(bC);Xm(),c.forEach(f=>{const p=f.el,h=p.style;ir(p,u),h.transform=h.webkitTransform=h.transitionDuration="";const m=p[Ca]=g=>{g&&g.target!==p||(!g||/transform$/.test(g.propertyName))&&(p.removeEventListener("transitionend",m),p[Ca]=null,Cr(p,u))};p.addEventListener("transitionend",m)})}),()=>{const u=nt(e),c=Zm(u);let f=u.tag||tt;o=l,l=t.default?pc(t.default()):[];for(let p=0;pdelete e.mode;rg.props;const F3=rg;function yC(e){const t=e.el;t[Ca]&&t[Ca](),t[Gh]&&t[Gh]()}function _C(e){ng.set(e,e.el.getBoundingClientRect())}function bC(e){const t=tg.get(e),r=ng.get(e),s=t.left-r.left,o=t.top-r.top;if(s||o){const l=e.el.style;return l.transform=l.webkitTransform=`translate(${s}px,${o}px)`,l.transitionDuration="0s",e}}function wC(e,t,r){const s=e.cloneNode(),o=e[Gi];o&&o.forEach(c=>{c.split(/\s+/).forEach(f=>f&&s.classList.remove(f))}),r.split(/\s+/).forEach(c=>c&&s.classList.add(c)),s.style.display="none";const l=t.nodeType===1?t:t.parentNode;l.appendChild(s);const{hasTransform:u}=Jm(s);return l.removeChild(s),u}const Wr=e=>{const t=e.props["onUpdate:modelValue"]||!1;return Se(t)?r=>Di(t,r):t};function AC(e){e.target.composing=!0}function zh(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const kn=Symbol("_assign"),qu={created(e,{modifiers:{lazy:t,trim:r,number:s}},o){e[kn]=Wr(o);const l=s||o.props&&o.props.type==="number";or(e,t?"change":"input",u=>{if(u.target.composing)return;let c=e.value;r&&(c=c.trim()),l&&(c=Bs(c)),e[kn](c)}),r&&or(e,"change",()=>{e.value=e.value.trim()}),t||(or(e,"compositionstart",AC),or(e,"compositionend",zh),or(e,"change",zh))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,modifiers:{lazy:r,trim:s,number:o}},l){if(e[kn]=Wr(l),e.composing)return;const u=o||e.type==="number"?Bs(e.value):e.value,c=t??"";u!==c&&(document.activeElement===e&&e.type!=="range"&&(r||s&&e.value.trim()===c)||(e.value=c))}},ig={deep:!0,created(e,t,r){e[kn]=Wr(r),or(e,"change",()=>{const s=e._modelValue,o=zi(e),l=e.checked,u=e[kn];if(Se(s)){const c=Ia(s,o),f=c!==-1;if(l&&!f)u(s.concat(o));else if(!l&&f){const p=[...s];p.splice(c,1),u(p)}}else if(ui(s)){const c=new Set(s);l?c.add(o):c.delete(o),u(c)}else u(og(e,l))})},mounted:Yh,beforeUpdate(e,t,r){e[kn]=Wr(r),Yh(e,t,r)}};function Yh(e,{value:t,oldValue:r},s){e._modelValue=t,Se(t)?e.checked=Ia(t,s.props.value)>-1:ui(t)?e.checked=t.has(s.props.value):t!==r&&(e.checked=Br(t,og(e,!0)))}const sg={created(e,{value:t},r){e.checked=Br(t,r.props.value),e[kn]=Wr(r),or(e,"change",()=>{e[kn](zi(e))})},beforeUpdate(e,{value:t,oldValue:r},s){e[kn]=Wr(s),t!==r&&(e.checked=Br(t,s.props.value))}},xC={deep:!0,created(e,{value:t,modifiers:{number:r}},s){const o=ui(t);or(e,"change",()=>{const l=Array.prototype.filter.call(e.options,u=>u.selected).map(u=>r?Bs(zi(u)):zi(u));e[kn](e.multiple?o?new Set(l):l:l[0]),e._assigning=!0,Kn(()=>{e._assigning=!1})}),e[kn]=Wr(s)},mounted(e,{value:t,modifiers:{number:r}}){Zh(e,t,r)},beforeUpdate(e,t,r){e[kn]=Wr(r)},updated(e,{value:t,modifiers:{number:r}}){e._assigning||Zh(e,t,r)}};function Zh(e,t,r){const s=e.multiple,o=Se(t);if(!(s&&!o&&!ui(t))){for(let l=0,u=e.options.length;l-1}else c.selected=t.has(f);else if(Br(zi(c),t)){e.selectedIndex!==l&&(e.selectedIndex=l);return}}!s&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function zi(e){return"_value"in e?e._value:e.value}function og(e,t){const r=t?"_trueValue":"_falseValue";return r in e?e[r]:t}const xc={created(e,t,r){sa(e,t,r,null,"created")},mounted(e,t,r){sa(e,t,r,null,"mounted")},beforeUpdate(e,t,r,s){sa(e,t,r,s,"beforeUpdate")},updated(e,t,r,s){sa(e,t,r,s,"updated")}};function ag(e,t){switch(e){case"SELECT":return xC;case"TEXTAREA":return qu;default:switch(t){case"checkbox":return ig;case"radio":return sg;default:return qu}}}function sa(e,t,r,s,o){const u=ag(e.tagName,r.props&&r.props.type)[o];u&&u(e,t,r,s)}function PC(){qu.getSSRProps=({value:e})=>({value:e}),sg.getSSRProps=({value:e},t)=>{if(t.props&&Br(t.props.value,e))return{checked:!0}},ig.getSSRProps=({value:e},t)=>{if(Se(e)){if(t.props&&Ia(e,t.props.value)>-1)return{checked:!0}}else if(ui(e)){if(t.props&&e.has(t.props.value))return{checked:!0}}else if(e)return{checked:!0}},xc.getSSRProps=(e,t)=>{if(typeof t.type!="string")return;const r=ag(t.type.toUpperCase(),t.props&&t.props.type);if(r.getSSRProps)return r.getSSRProps(e,t)}}const CC=["ctrl","shift","alt","meta"],EC={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>CC.some(r=>e[`${r}Key`]&&!t.includes(r))},Bt=(e,t)=>{const r=e._withMods||(e._withMods={}),s=t.join(".");return r[s]||(r[s]=(o,...l)=>{for(let u=0;u{const r=e._withKeys||(e._withKeys={}),s=t.join(".");return r[s]||(r[s]=o=>{if(!("key"in o))return;const l=vn(o.key);if(t.some(u=>u===l||SC[u]===l))return e(o)})},lg=_t({patchProp:hC},YP);let Ms,Jh=!1;function ug(){return Ms||(Ms=OP(lg))}function cg(){return Ms=Jh?Ms:RP(lg),Jh=!0,Ms}const Xh=(...e)=>{ug().render(...e)},kC=(...e)=>{cg().hydrate(...e)},OC=(...e)=>{const t=ug().createApp(...e),{mount:r}=t;return t.mount=s=>{const o=dg(s);if(!o)return;const l=t._component;!Ne(l)&&!l.render&&!l.template&&(l.template=o.innerHTML),o.innerHTML="";const u=r(o,!1,fg(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),u},t},U3=(...e)=>{const t=cg().createApp(...e),{mount:r}=t;return t.mount=s=>{const o=dg(s);if(o)return r(o,!0,fg(o))},t};function fg(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function dg(e){return bt(e)?document.querySelector(e):e}let Qh=!1;const q3=()=>{Qh||(Qh=!0,PC(),eC())};const at=(e,t)=>{const r=e.__vccOpts||e;for(const[s,o]of t)r[s]=o;return r},RC={name:"Marquee",mounted(){this.update(),window.addEventListener("resize",this.update)},data(){return{isMarquee:!1}},methods:{isTruncated(e){return e?e.scrollWidth>e.clientWidth:!1},update(){this.isMarquee=!1,setTimeout(()=>{this.isMarquee=this.isTruncated(this.$refs.marquee)},10)}},props:{text:String},watch:{text(){this.update()}}},TC={key:0,class:"replacer"},IC={key:0,class:"overlay"};function MC(e,t,r,s,o,l){return re(),ye("div",{class:Je([{marquee:o.isMarquee},"marqueeWrapper"])},[te("span",{ref:"marquee",class:Je({marquee:o.isMarquee})},[Ua(De(r.text)+" ",1),o.isMarquee?(re(),ye("span",TC,De(r.text),1)):Be("",!0)],2),o.isMarquee?(re(),ye("div",IC)):Be("",!0)],2)}const sr=at(RC,[["render",MC],["__scopeId","data-v-625a8655"]]);var LC=!1;/*! - * pinia v2.1.7 - * (c) 2023 Eduardo San Martin Morote - * @license MIT - */let hg;const ja=e=>hg=e,pg=Symbol();function ju(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Ls;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Ls||(Ls={}));function $C(){const e=jp(!0),t=e.run(()=>Pe({}));let r=[],s=[];const o=Da({install(l){ja(o),o._a=l,l.provide(pg,o),l.config.globalProperties.$pinia=o,s.forEach(u=>r.push(u)),s=[]},use(l){return!this._a&&!LC?s.push(l):r.push(l),this},_p:r,_a:null,_e:e,_s:new Map,state:t});return o}const mg=()=>{};function ep(e,t,r,s=mg){e.push(t);const o=()=>{const l=e.indexOf(t);l>-1&&(e.splice(l,1),s())};return!r&&Gp()&&tx(o),o}function Oi(e,...t){e.slice().forEach(r=>{r(...t)})}const DC=e=>e();function Ku(e,t){e instanceof Map&&t instanceof Map&&t.forEach((r,s)=>e.set(s,r)),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const r in t){if(!t.hasOwnProperty(r))continue;const s=t[r],o=e[r];ju(o)&&ju(s)&&e.hasOwnProperty(r)&&!Pt(s)&&!Lr(s)?e[r]=Ku(o,s):e[r]=s}return e}const NC=Symbol();function BC(e){return!ju(e)||!e.hasOwnProperty(NC)}const{assign:Er}=Object;function VC(e){return!!(Pt(e)&&e.effect)}function WC(e,t,r,s){const{state:o,actions:l,getters:u}=t,c=r.state.value[e];let f;function p(){c||(r.state.value[e]=o?o():{});const h=kx(r.state.value[e]);return Er(h,l,Object.keys(u||{}).reduce((m,g)=>(m[g]=Da(Ve(()=>{ja(r);const y=r._s.get(e);return u[g].call(y,y)})),m),{}))}return f=gg(e,p,t,r,s,!0),f}function gg(e,t,r={},s,o,l){let u;const c=Er({actions:{}},r),f={deep:!0};let p,h,m=[],g=[],y;const S=s.state.value[e];!l&&!S&&(s.state.value[e]={}),Pe({});let x;function T(W){let j;p=h=!1,typeof W=="function"?(W(s.state.value[e]),j={type:Ls.patchFunction,storeId:e,events:y}):(Ku(s.state.value[e],W),j={type:Ls.patchObject,payload:W,storeId:e,events:y});const U=x=Symbol();Kn().then(()=>{x===U&&(p=!0)}),h=!0,Oi(m,j,s.state.value[e])}const V=l?function(){const{state:j}=r,U=j?j():{};this.$patch(G=>{Er(G,U)})}:mg;function B(){u.stop(),m=[],g=[],s._s.delete(e)}function P(W,j){return function(){ja(s);const U=Array.from(arguments),G=[],K=[];function H(D){G.push(D)}function E(D){K.push(D)}Oi(g,{args:U,name:W,store:R,after:H,onError:E});let I;try{I=j.apply(this&&this.$id===e?this:R,U)}catch(D){throw Oi(K,D),D}return I instanceof Promise?I.then(D=>(Oi(G,D),D)).catch(D=>(Oi(K,D),Promise.reject(D))):(Oi(G,I),I)}}const k={_p:s,$id:e,$onAction:ep.bind(null,g),$patch:T,$reset:V,$subscribe(W,j={}){const U=ep(m,W,j.detached,()=>G()),G=u.run(()=>st(()=>s.state.value[e],K=>{(j.flush==="sync"?h:p)&&W({storeId:e,type:Ls.direct,events:y},K)},Er({},f,j)));return U},$dispose:B},R=Xi(k);s._s.set(e,R);const q=(s._a&&s._a.runWithContext||DC)(()=>s._e.run(()=>(u=jp()).run(t)));for(const W in q){const j=q[W];if(Pt(j)&&!VC(j)||Lr(j))l||(S&&BC(j)&&(Pt(j)?j.value=S[W]:Ku(j,S[W])),s.state.value[e][W]=j);else if(typeof j=="function"){const U=P(W,j);q[W]=U,c.actions[W]=j}}return Er(R,q),Er(nt(R),q),Object.defineProperty(R,"$state",{get:()=>s.state.value[e],set:W=>{T(j=>{Er(j,W)})}}),s._p.forEach(W=>{Er(R,u.run(()=>W({store:R,app:s._a,pinia:s,options:c})))}),S&&l&&r.hydrate&&r.hydrate(R.$state,S),p=!0,h=!0,R}function to(e,t,r){let s,o;const l=typeof t=="function";typeof e=="string"?(s=e,o=l?r:t):(o=e,s=e.id);function u(c,f){const p=bP();return c=c||(p?on(pg,null):null),c&&ja(c),c=hg,c._s.has(s)||(l?gg(s,t,o,c):WC(s,o,c)),c._s.get(s)}return u.$id=s,u}const FC=e=>[...new Set(e)],HC=(e,t)=>e.filter(r=>!t.includes(r)),UC=(e,t)=>e.filter(r=>t.includes(r)),qC=e=>typeof e=="bigint"||!Number.isNaN(Number(e))&&Math.floor(Number(e))===e,jC=e=>typeof e=="bigint"||e>=0&&Number.isSafeInteger(e);function _s(e,t){if(t.length===0)return e;let r;const s=[...e];for(let o=s.length-1,l=0,u=0;o>0;o--,l++){l%=t.length,u+=r=t[l].codePointAt(0);const c=(r+l+u)%o,f=s[o],p=s[c];s[c]=f,s[o]=p}return s}const KC=(e,t)=>{const r=[];let s=e;if(typeof s=="bigint"){const o=BigInt(t.length);do r.unshift(t[Number(s%o)]),s/=o;while(s>BigInt(0))}else do r.unshift(t[s%t.length]),s=Math.floor(s/t.length);while(s>0);return r},GC=(e,t)=>e.reduce((r,s)=>{const o=t.indexOf(s);if(o===-1)throw new Error(`The provided ID (${e.join("")}) is invalid, as it contains characters that do not exist in the alphabet (${t.join("")})`);if(typeof r=="bigint")return r*BigInt(t.length)+BigInt(o);const l=r*t.length+o;if(Number.isSafeInteger(l))return l;if(typeof BigInt=="function")return BigInt(r)*BigInt(t.length)+BigInt(o);throw new Error("Unable to decode the provided string, due to lack of support for BigInt numbers in the current environment")},0),zC=/^\+?\d+$/,YC=e=>zC.test(e)?Number.parseInt(e,10):Number.NaN,ZC=(e,t,r)=>Array.from({length:Math.ceil(e.length/t)},(s,o)=>r(e.slice(o*t,(o+1)*t))),tp=e=>new RegExp(e.map(t=>vg(t)).sort((t,r)=>r.length-t.length).join("|")),JC=e=>new RegExp(`^[${e.map(t=>vg(t)).sort((t,r)=>r.length-t.length).join("")}]+$`),vg=e=>e.replace(/[\s#$()*+,.?[\\\]^{|}-]/g,"\\$&"),np=16,rp=3.5,XC=12,ip=16,QC=12,sp=100;class yg{constructor(t="",r=0,s="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890",o="cfhistuCFHISTU"){if(this.minLength=r,typeof r!="number")throw new TypeError(`Hashids: Provided 'minLength' has to be a number (is ${typeof r})`);if(typeof t!="string")throw new TypeError(`Hashids: Provided 'salt' has to be a string (is ${typeof t})`);if(typeof s!="string")throw new TypeError(`Hashids: Provided alphabet has to be a string (is ${typeof s})`);const l=Array.from(t),u=Array.from(s),c=Array.from(o);this.salt=l;const f=FC(u);if(f.lengthrp)&&(h=Math.ceil(this.alphabet.length/rp),h>this.seps.length&&(m=h-this.seps.length,this.seps.push(...this.alphabet.slice(0,m)),this.alphabet=this.alphabet.slice(m))),this.alphabet=_s(this.alphabet,l);const g=Math.ceil(this.alphabet.length/XC);this.alphabet.length<3?(this.guards=this.seps.slice(0,g),this.seps=this.seps.slice(g)):(this.guards=this.alphabet.slice(0,g),this.alphabet=this.alphabet.slice(g)),this.guardsRegExp=tp(this.guards),this.sepsRegExp=tp(this.seps),this.allowedCharsRegExp=JC([...this.alphabet,...this.guards,...this.seps])}encode(t,...r){const s="";let o=Array.isArray(t)?t:[...t!=null?[t]:[],...r];return o.length===0||(o.every(qC)||(o=o.map(l=>typeof l=="bigint"||typeof l=="number"?l:YC(String(l)))),!o.every(jC))?s:this._encode(o).join("")}decode(t){return!t||typeof t!="string"||t.length===0?[]:this._decode(t)}encodeHex(t){let r=t;switch(typeof r){case"bigint":r=r.toString(ip);break;case"string":if(!/^[\dA-Fa-f]+$/.test(r))return"";break;default:throw new Error(`Hashids: The provided value is neither a string, nor a BigInt (got: ${typeof r})`)}const s=ZC(r,QC,o=>Number.parseInt(`1${o}`,16));return this.encode(s)}decodeHex(t){return this.decode(t).map(r=>r.toString(ip).slice(1)).join("")}isValidId(t){return this.allowedCharsRegExp.test(t)}_encode(t){let{alphabet:r}=this;const s=t.reduce((p,h,m)=>p+(typeof h=="bigint"?Number(h%BigInt(m+sp)):h%(m+sp)),0);let o=[r[s%r.length]];const l=[...o],{seps:u}=this,{guards:c}=this;if(t.forEach((p,h)=>{const m=l.concat(this.salt,r);r=_s(r,m);const g=KC(p,r);if(o.push(...g),h+10){const h=p/2;o=o.slice(h,h+this.minLength)}}return o}_decode(t){if(!this.isValidId(t))throw new Error(`The provided ID (${t}) is invalid, as it contains characters that do not exist in the alphabet (${this.guards.join("")}${this.seps.join("")}${this.alphabet.join("")})`);const r=t.split(this.guardsRegExp),s=r.length===3||r.length===2?1:0,o=r[s];if(o.length===0)return[];const l=o[Symbol.iterator]().next().value,u=o.slice(l.length).split(this.sepsRegExp);let c=this.alphabet;const f=[];for(const p of u){const h=[l,...this.salt,...c],m=_s(c,h.slice(0,c.length));f.push(GC(Array.from(p),m)),c=m}return this._encode(f).join("")!==t?[]:f}}new yg("reapOne.playlist",22);const _g=new yg("reapOne.track",22),op=e=>_g.encode(String(e)),eE=e=>{const t=_g.decode(e);return Number(t[0])},Gu=(e,t)=>String(e).padStart(t,"0"),Ea=e=>e?e.startsWith("local:")?e.replace("local:","/src/covers/"):e:null,tE=e=>e?e.startsWith("local:")?e.replace("local:","/src/covers/"):e:null,bg=(e,t="track")=>(t=="playlist"?tE:Ea)(e),nE=e=>e.replace(/\w\S*/g,t=>t.charAt(0).toUpperCase()+t.substring(1).toLowerCase()),Pc=e=>window.open(e,"_blank"),zu=Ve(()=>window.innerWidth<768),j3=e=>/^(https?:\/\/)?((([a-z\d]([a-z\d-]*[a-z\d])*)\.)+[a-z]{2,}|((\d{1,3}\.){3}\d{1,3}))(\:\d+)?(\/[-a-z\d%_.~+]*)*(\?[;&a-z\d%_.~+=-]*)?(\#[-a-z\d_]*)?$/i.test(e),K3=e=>{const{key:t,mode:r}=e.spotify.features,s=["B","F#","C#","G#","D#","A#","F","C","G","D","A","E"],o=["A","D#","A#","F","C","G","D","A","E","B","F#","C#"];return`${(r=="Major"?s:o).indexOf(t)+1}${r=="Major"?"B":"A"}`},G3=(e,t=null)=>{t||(e.includes("track")&&(t="track"),e.includes("album")&&(t="album"),e.includes("playlist")&&(t="playlist"));const r=new RegExp(`https://open.spotify.com/${t}/([a-zA-Z0-9]+)`),s=e.match(r);return s?s[1]:null},z3=e=>new Date(e).toLocaleDateString("en-GB",{year:"numeric",month:"short",day:"numeric"}),Y3=e=>{if(e<=0)return"N/A";const t=Math.floor(e/60),r=Gu(Math.floor(e%60),2);return`${t}:${r}`},Z3=e=>{const t=["B","KB","MB","GB","TB"];let r=0;for(;e>1e3&&r{await Yt().fetchPlaylists()},rE=e=>Yt().getPlaylistById(e),iE=async e=>{await fetch(`/api/playlists/${e.id}`,{method:"POST",body:JSON.stringify({name:e.name,description:e.description,cover:e.cover})}),await no()},sE=async()=>await(await fetch("/api/playlists")).json(),oE=async e=>await(await fetch(`/api/playlists/${e}`)).json(),J3=e=>rE(e),X3=async e=>(await fetch(`/api/playlists/${e}`,{method:"DELETE"})).ok?(await no(),!0):!1,Cc=async(e="classic")=>{const r=await(await fetch(`/api/playlists/new?type=${e}`)).text();return await no(),r},Ec=async(e="classic",t,r="",s="")=>{const l=(await Cc(e)).split("/").pop();return await iE({id:l,name:t,description:r,cover:s,plays:0,type:e}),l},Q3=async(e,t)=>{await fetch(`/api/playlists/${e}/tracks`,{method:"DELETE",body:JSON.stringify({songId:t})}),await no()},eI=async e=>await(await fetch("/api/playlists/smart/peek",{method:"POST",body:JSON.stringify(e)})).json(),aE=async e=>await(await fetch(`/api/playlists/smart/${e}`)).json(),lE=async(e,t)=>{await fetch(`/api/playlists/smart/${e}`,{method:"PUT",body:JSON.stringify({definition:t})}),await no()},Yt=to({id:"data",state:()=>({playlists:[]}),getters:{notEmpty(){return!this.empty},empty(){return this.playlists.length===0},playlistsAsDropdown(e=!0){const t=this.playlists.filter(r=>r.type==="classic").map(r=>({value:r.id,label:r.name}));return e&&t.push({value:"new",label:"(new playlist)"}),t},getPlaylistById(){return e=>this.playlists.find(t=>t.id===e)}},actions:{setPlaylists(e){this.playlists=e},initialise(){this.fetchPlaylists()},async fetchPlaylists(...e){if(e){console.log("fetching playlists",e);for(const r of e){const s=this.playlists.findIndex(o=>o.id===r);if(s===-1)return;this.playlists[s]=await oE(r)}}const t=await sE();this.setPlaylists(t)}}}),uE=class{constructor(){ki(this,"ws",null);ki(this,"connections",Pe([]));ki(this,"player",null);ki(this,"me",null);ki(this,"sendInfoTask",null);this.connect()}connect(){console.log("[sharedPlayer] attempting reconnect");const e=window.location.hostname,t=window.location.port=="5173"?1234:window.location.port;this.ws=new WebSocket(`ws://${e}:${t}/player/ws`);const r=It();this.sendInfoTask&&clearInterval(this.sendInfoTask),this.sendInfoTask=window.setInterval(()=>this.sendInfo(),300),this.ws.onclose=()=>{console.log("[sharedPlayer] ws disconnected"),setTimeout(()=>this.connect(),1e3)},this.ws.onopen=()=>{console.log("[sharedPlayer] ws connected")};const s=o=>{if(typeof o=="string")switch(o){case"play":r.play();break;case"pause":r.pause();break}if(typeof o=="object")switch(o.command){case"seek":r.seek(o.time);break;case"set volume":r.setVolume(o.volume);break;case"set repeat":r.setRepeat(o.repeat);break;case"set mute":r.setMute(o.mute);break}};this.ws.onmessage=o=>{switch(o=JSON.parse(o.data),o.type){case"info":if(typeof o.data=="boolean")return;r.playing=o.data.playing,r.progress=o.data.progress,r.volume=o.data.volume,r.repeat=o.data.repeat;break;case"new client":console.log("new client",o.data);break;case"client disconnected":break;case"player disconnected":break;case"connections":this.updateConnections(o.data);break;case"command":s(o.data);break}}}sendInfo(){var r,s;if(((s=(r=this.me)==null?void 0:r.type)==null?void 0:s.toLowerCase())!=="player")return;const e=It(),t={playing:e.playing,progress:e.progress,volume:e.volume,repeat:e.repeat};this.send("info",t)}updateConnections(e){this.connections.value=e,this.me=e.find(t=>t.friendlyName.includes("(You)"))}send(e,t){var r;(r=this.ws)==null||r.send(JSON.stringify({type:e,data:t}))}sendCommand(e){this.send("command",e)}setPlayer(e){this.send("set player",e.id)}makeMePlayer(){this.send("type","Player")}play(){this.sendCommand("play")}pause(){this.sendCommand("pause")}seek(e){this.sendCommand({command:"seek",time:e})}setVolume(e){this.sendCommand({command:"set volume",volume:e})}setRepeat(e){this.sendCommand({command:"set repeat",repeat:e})}setMute(e){this.sendCommand({command:"set mute",mute:e})}},wg=()=>{fetch("/api/player/next")},cE=()=>{fetch("/api/player/previous")},fE=e=>{fetch("/api/player/shuffle",{method:"POST",body:JSON.stringify(e)})},dE=()=>fetch("/api/player/shuffle").then(e=>e.json()),hE=async e=>{const t=It();await fetch("/api/player/queue",{method:"PUT",body:JSON.stringify({id:e,at:t.queue.findIndex(r=>r.id==t.song.id)+1})})},tI=async e=>{const t=It();await fetch("/api/player/queue",{method:"PUT",body:JSON.stringify({id:e,at:t.queue.length})})},nI=async e=>{await hE(e),wg()},Sc=to({id:"downloader",state:()=>({ws:null,states:{},onDownload:[]}),getters:{empty(){return Object.keys(this.states).length===0}},actions:{_fireDownload(e){this.onDownload.forEach(t=>t(e))},initialise(){const e=()=>{console.log("[downloader] attempting reconnect");const t=window.location.hostname,r=window.location.port==="5173"?1234:window.location.port;this.ws=new WebSocket(`ws://${t}:${r}/download/ws`),this.ws.onclose=()=>{console.log("[downloader] ws closed"),setTimeout(()=>e(),1e3)},this.ws.onopen=()=>{console.log("[downloader] ws connected")},this.ws.onmessage=s=>{const o=JSON.parse(s.data);if(!o.action){if(o.status=="finished"){this.states[o.songId]={...this.states[o.songId],...o};return}this.states[o.songId]=o}}};e()},send(e){var t;(t=this.ws)==null||t.send(JSON.stringify(e))},downloadFromDb(e){this.send({action:"download",source:"db",songId:e}),this.states[e]={songId:e,status:"pending"},this._fireDownload(e)},downloadOther(e){this.send({action:"download",source:"other",...e}),this.states[e.id]={songId:e.id,status:"pending"},this._fireDownload(e.id)},download(e){window.open(`/api/tracks/${e}/download`,"_blank","noopener noreferrer"),this.states[e].status="downloaded"},isSongDownloading(e){const t=this.states[e];return t!=null&&t.internal?t.status==="downloading":!1}}}),ro=async()=>{await Yt().fetchPlaylists()},rI=async e=>{await fetch(`/api/tracks/${e.id}`,{method:"PUT",body:JSON.stringify({source:e.source,title:e.title,artist:e.artist,album:e.album,cover:e.cover})}),await ro()},iI=async(e,t,r)=>{await fetch(`/api/tracks/${e}`,{method:"PUT",body:JSON.stringify({[t]:r})}),await ro()},sI=async e=>await(await fetch("/api/browse/track",{method:"POST",body:JSON.stringify({url:e})})).json(),Ag=e=>({source:e.source,title:e.title,artist:e.artist,album:e.album,cover:e.cover,spotify:e.metadata?JSON.stringify(e.metadata.spotify):""}),xg=async(e,t)=>{e==="new"&&(e=await Cc()),await fetch(`/api/playlists/${e}/tracks`,{method:"POST",body:JSON.stringify(Ag(t))}),await ro()},Pg=async(e,t)=>{e==="new"&&(e=await Cc()),await fetch(`/api/playlists/${e}/tracks`,{method:"POST",body:JSON.stringify(t.map(r=>Ag(r)))}),await ro()},oI=async(e,t=!0)=>{await fetch(`/api/tracks/${e}`,{method:"PUT",body:JSON.stringify({favourite:t})}),await ro()},aI=e=>{Sc().downloadFromDb(e)},pE=async e=>await(await fetch(`/api/tracks/${e}`)).json(),lI=async e=>{const t=eE(e);return await pE(t)},mE=async(e,t=!1,r=null)=>{const s={id:e};return t&&(s.forceFetch=!0),r&&(s.spotifyId=r),await(await fetch("/api/spotify/meta",{method:"POST",body:JSON.stringify(s)})).json()},uI=async e=>await(await fetch(`/api/spotify/recommendations/${e}`)).json(),cI=async e=>{await fetch(`/api/player/stream/${e}`,{method:"DELETE"})},gE=async e=>({error:"Lyrics temporarily not supported.",lyrics:[]}),vE=async(e=!1)=>{var o,l;const r=It().song;let s=(o=r.metadata.spotify)==null?void 0:o.id;return!s&&e&&(s=(l=(await mE(r.id)).spotify)==null?void 0:l.id),s?await gE():{error:"Spotify equivalent unknown."}},It=to({id:"player",state:()=>({playing:!1,progress:0,ready:!1,muted:!1,shuffle:!1,song:{title:null,artist:null,album:null,cover:Ea(null),source:null,duration:null,favourite:!1,id:-1,metadata:{plays:0,spotify:{id:null}}},playlistId:null,lyrics:null,volume:50,repeat:"repeat",sharedPlayer:null,player:null,queue:[]}),actions:{playPause(){this.playing?this.pause():this.play()},toggleRepeat(){var e;switch(this.repeat){case"repeat":this.repeat="repeat_on";break;case"repeat_on":this.repeat="repeat_one_on";break;case"repeat_one_on":this.repeat="repeat";break}localStorage.setItem("reap.repeat",this.repeat),(e=this.player)==null||e.setRepeat(this.repeat)},setRepeat(e){this.repeat=e},setMute(e){var t;this.muted=e,(t=this.player)==null||t.setMute(e)},toggleMute(){this.setMute(!this.muted)},setShuffle(e){this.shuffle=e,fE(e),Yt().fetchPlaylists()},toggleShuffle(){this.setShuffle(!this.shuffle)},onSongEnded(){if(this.repeat==="repeat_one_on")this.play();else{if(this.repeat==="repeat"&&this.playlist.index.value===this.playlist.songs.length-1)return;this.next()}},play(){this.player.play()},pause(){this.player.pause()},next(){wg()},previous(){cE()},setPlayer(e){e&&this.player!==e&&(this.player=e)},setQueue(e){this.queue=e.queue},async setSong(e){e.id!=this.song.id&&(this.song=e,this.song.cover=Ea(e.cover),this.progress=0,this.lyrics=null,this.lyrics=await vE(!0))},setReady(e){this.ready!==e&&(this.ready=e,e?Yt().initialise():(this.$reset(),Yt().$reset()))},setDuration(e){this.song.duration=e,fetch(`/api/tracks/${this.song.id}`,{method:"PUT",body:JSON.stringify({duration:e})})},setPlaying(e){this.playing=e},seek(e){this.player.seek(e)},seekPercent(e){this.seek(this.durationSeconds*e/100)},setProgress(e){this.progress=Math.round(e)},setFavourite(e){this.song.favourite=e,fetch(`/api/tracks/${this.song.id}`,{method:"PUT",body:JSON.stringify({favourite:e})})},setPlaylist(e){this.playlistId=e},setVolume(e){var t;e!=this.volume&&(this.volume=e,localStorage.setItem("reap.volume",e),this.player.setVolume&&((t=this.player)==null||t.setVolume(e)))},toggleFavourite(){this.setFavourite(!this.song.favourite)},async initialise(){this.volume=localStorage.getItem("reap.volume")||50,this.repeat=localStorage.getItem("reap.repeat")||"repeat_on",this.sharedPlayer=new uE,this.shuffle=await dE()},async loadPlaylist(e,t=null){const r={type:"playlist",id:e};["track","album"].includes(e)&&(r.type=e,r.id=t),e==="artist"&&(r.type=e,r.name=t,delete r.id),await fetch("/api/player/load",{method:"POST",body:JSON.stringify(r)})},loadSong(e,t){const r={index:t};e==="track"?r.type=e:r.playlist=e,fetch("/api/player/at",{method:"POST",body:JSON.stringify(r)})},rearrangeQueue(e,t){fetch(`/api/player/queue/${e}/${t}`,{method:"PUT"})},playlistPlayOrPauseIcon(e){return this.playlistId===e&&this.playing?"pause_circle":"play_circle"}},getters:{playlist(e){return Yt().playlists.find(t=>t.id===e.playlistId)},hasLyrics(e){var t;return(t=e.lyrics)==null?void 0:t.lyrics},durationSeconds(e){return e.song.duration},displayDuration(e){const t=e.song.duration;return isNaN(t)?"0:00":`${Math.floor(t/60)}:${Gu(Math.floor(t%60),2)}`},stream(e){return`/api/player/stream/${e.song.id}`},cover(e){return e.song.cover},progressPercent(e){return e.progress/this.durationSeconds*1e3},displayProgress(e){const t=e.progress;return isNaN(t)?"0:00":`${Math.floor(t/60)}:${Gu(Math.floor(t%60),2)}`},loaded(e){return e.song.id!=-1},shuffleIcon(e){return e.shuffle?"shuffle_on":"shuffle"},muteIcon(e){return e.muted?"volume_off":e.volume>50?"volume_up":e.volume>0?"volume_down":"volume_mute"}}});const yE=(e,t,r)=>{const s=new CustomEvent("player.play",{detail:{title:e,artist:t,source:r}});window.dispatchEvent(s)},_E={components:{Marquee:sr},name:"PlayerInPicture",props:{expandCover:Boolean},watch:{disabled(){this.disabled||this.$nextTick(()=>{this.$refs.player.addEventListener("mousedown",this.mouseDown,!1),window.addEventListener("mouseup",this.mouseUp,!1)})}},methods:{mouseDown(e){const t=this.$refs.player,r=document.getElementById("appRoot");e=e||window.event;var s=e.clientX,o=e.clientY,l=t.offsetTop,u=t.offsetLeft,c=parseInt(t.offsetWidth),f=parseInt(t.offsetHeight),p=parseInt(r.offsetWidth)-8,h=parseInt(r.offsetHeight)-8;r.style.cursor="move";var m=s-u,g=o-l;document.onmousemove=y=>{y=y||window.event,y.preventDefault(),y.stopPropagation();var S=y.clientX,x=y.clientY,T=S-m,V=x-g;T<8&&(T=8),V<8&&(V=8),T+c>p&&(T=p-c),V+f>h&&(V=h-f),this.divMove(t,T,V)}},mouseUp(){document.getElementById("appRoot").style.cursor="default",document.onmousemove=function(){}},divMove(e,t,r){e.style.bottom="auto",e.style.right="auto",e.style.left=t+"px",e.style.top=r+"px"}},data(){const e=It();return window.addEventListener("player.play",t=>{const r=t.detail,s=r.source;if(this.name=`${r.artist} - ${r.title}`,e.pause(),s.includes("youtu")){var o=/youtu(?:.*\/v\/|.*v\=|\.be\/)([A-Za-z0-9_\-]{11})/;const l=s.match(o);if(l!=null&&l[1]){this.el=``,this.minimised=!1,this.disabled=!1;return}}if(s.includes("audius")){var o=/audius.co\/([A-Za-z0-9]+)\/([A-Za-z0-9\-]+)/;const u=s.match(o);if(u!=null&&u[1]&&(u!=null&&u[2])){fetch(`https://blockdaemon-audius-discovery-01.bdnodes.net/v1/full/tracks?handle=${u[1]}&slug=${u[2]}`).then(c=>c.json()).then(c=>{const f=c.data.id;this.el=``}),this.minimised=!1,this.disabled=!1;return}}if(s.includes("spotify")){var o=/spotify(?:.*\/(album|track|playlist)\/)([A-Za-z0-9_\-]{22})/;const u=s.match(o);if(u!=null&&u[1]){this.el=``,this.minimised=!1,this.disabled=!1;return}}s.includes("soundcloud")&&(fetch(`https://soundcloud.com/oembed?url=${s}&format=json`).then(l=>l.json()).then(l=>{this.el=l.html.replace('height="400"','height="70"').replace("&show_artwork=true","&show_artwork=true&auto_play=true").replace("o.minimised=!o.minimised)},De(o.minimised?"zoom_out_map":"zoom_in_map"),1),te("span",{class:"material-symbols-rounded ms-wght-500",onClick:t[1]||(t[1]=c=>o.disabled=!o.disabled)},"close")])],2),te("div",{class:Je([{minimised:o.minimised},"frame"]),innerHTML:o.el},null,10,xE)],512))}const CE=at(_E,[["render",PE]]),EE={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 809.48 395.8"},SE=te("path",{d:"M80.09 254.67c-4.84 0-9.04-1.72-12.6-5.16-3.57-3.43-5.35-7.7-5.35-12.79V79.04c0-4.84 1.78-8.97 5.35-12.41 3.56-3.44 7.76-5.16 12.6-5.16s8.97 1.72 12.41 5.16c3.43 3.43 5.15 7.57 5.15 12.41v157.68c0 5.09-1.72 9.36-5.15 12.79-3.44 3.44-7.58 5.16-12.41 5.16Zm70.63 61.47c-4.84 0-8.97-1.78-12.41-5.34-3.44-3.57-5.16-7.77-5.16-12.6V17.57c0-4.58 1.72-8.66 5.16-12.22 3.43-3.56 7.57-5.34 12.41-5.34s9.04 1.78 12.6 5.34c3.56 3.57 5.34 7.64 5.34 12.22V298.2c0 4.83-1.78 9.03-5.34 12.6-3.56 3.56-7.76 5.34-12.6 5.34ZM17.38 193.2c-4.79 0-8.88-1.7-12.27-5.1-3.4-3.4-5.1-7.61-5.1-12.65v-35.13c0-4.79 1.7-8.88 5.1-12.27 3.4-3.4 7.49-5.1 12.27-5.1s9 1.7 12.66 5.1c3.65 3.4 5.48 7.49 5.48 12.27v35.33c0 3.92-1.25 7.85-3.85 10.77-4.01 4.51-8.78 6.77-14.28 6.77Zm195.29 60.46c-4.78 0-8.87-1.7-12.28-5.11-3.4-3.4-5.1-7.62-5.1-12.66V79.86c0-4.79 1.7-8.88 5.1-12.28 3.4-3.4 7.5-5.11 12.28-5.11s9.01 1.7 12.66 5.11c3.65 3.4 5.48 7.49 5.48 12.28V235.9c0 5.04-1.76 9.26-5.29 12.66-3.52 3.4-7.81 5.11-12.85 5.11Zm62.52-60.46c-4.78 0-8.94-1.7-12.46-5.1-3.52-3.4-5.29-7.61-5.29-12.65v-35.13c0-4.79 1.76-8.88 5.29-12.27 3.53-3.4 7.68-5.1 12.46-5.1s8.94 1.7 12.46 5.1c3.53 3.4 5.29 7.49 5.29 12.27v35.13c0 5.03-1.76 9.25-5.29 12.65-3.52 3.4-7.68 5.1-12.46 5.1ZM436.15 266.18c-10.94-6.13-19.61-14.63-26-25.51-6.39-10.88-9.59-23.17-9.59-36.88s3.2-26 9.59-36.88c6.39-10.88 15.06-19.34 26-25.41 10.94-6.06 22.94-9.1 35.99-9.1s25.21 3.03 36.09 9.1c10.88 6.06 19.48 14.53 25.8 25.41 6.33 10.88 9.49 23.17 9.49 36.88s-3.16 26-9.49 36.88-14.96 19.38-25.9 25.51c-10.94 6.13-22.94 9.19-35.99 9.19s-25.05-3.06-35.99-9.19Zm59.42-36.48c5.73-6.46 8.6-15.09 8.6-25.9s-2.87-19.8-8.6-26.2c-5.73-6.39-13.54-9.59-23.43-9.59s-17.87 3.2-23.53 9.59c-5.67 6.4-8.5 15.13-8.5 26.2s2.83 19.61 8.5 26c5.67 6.4 13.51 9.59 23.53 9.59s17.7-3.23 23.43-9.69ZM690.05 273.99h-38.76l-51.61-77.91v77.91h-38.76V134.58h38.76l51.61 78.9v-78.9h38.76v139.41ZM750.95 165.63v22.74h44.49v29.46h-44.49v25.11h50.42v31.04h-89.18v-139.4h89.18v31.04h-50.42ZM414.68 76.05c1.71-1 3.8-1.5 6.27-1.5v5.43h-1.39c-5.89 0-8.84 3.2-8.84 9.59v17.21h-5.25V75.13h5.25v5.14c.92-1.81 2.24-3.21 3.96-4.22ZM455.71 92.91h-25.29c.19 3.12 1.26 5.55 3.21 7.31 1.94 1.75 4.3 2.63 7.07 2.63 2.27 0 4.17-.53 5.69-1.59 1.52-1.06 2.59-2.47 3.21-4.24h5.66c-.85 3.04-2.54 5.52-5.08 7.42s-5.7 2.86-9.47 2.86c-3 0-5.69-.67-8.06-2.02s-4.23-3.26-5.57-5.75c-1.35-2.48-2.02-5.36-2.02-8.63s.65-6.14 1.96-8.6 3.15-4.36 5.52-5.69 5.09-1.99 8.17-1.99 5.66.65 7.97 1.96c2.31 1.31 4.09 3.11 5.34 5.4 1.25 2.29 1.88 4.88 1.88 7.77 0 1-.06 2.06-.17 3.18Zm-6.58-9.44a8.686 8.686 0 0 0-3.61-3.29c-1.52-.75-3.21-1.13-5.05-1.13-2.66 0-4.92.85-6.79 2.54s-2.94 4.04-3.21 7.05h19.98c0-2-.44-3.72-1.33-5.17ZM486.61 97.82h-17.56l-3.23 8.95h-5.54l14.55-40.02h6.06l14.5 40.02h-5.54l-3.23-8.95Zm-1.5-4.27-7.28-20.33-7.28 20.33h14.55ZM529.81 75.13v31.65h-5.25v-4.68c-1 1.62-2.4 2.88-4.19 3.78-1.79.9-3.76 1.36-5.92 1.36-2.46 0-4.68-.51-6.64-1.53s-3.51-2.55-4.65-4.59c-1.14-2.04-1.7-4.52-1.7-7.45V75.13h5.2v17.85c0 3.12.79 5.52 2.37 7.19 1.58 1.67 3.73 2.51 6.47 2.51s5.02-.87 6.64-2.6 2.43-4.25 2.43-7.57V75.13h5.25ZM538.7 82.32c1.31-2.44 3.11-4.34 5.4-5.69 2.29-1.35 4.86-2.02 7.71-2.02 2.46 0 4.75.57 6.87 1.7 2.12 1.14 3.73 2.63 4.85 4.48V64.04h5.31v42.74h-5.31v-5.95c-1.04 1.89-2.58 3.44-4.62 4.65s-4.43 1.82-7.16 1.82-5.36-.69-7.65-2.08c-2.29-1.39-4.09-3.33-5.4-5.83-1.31-2.5-1.96-5.35-1.96-8.55s.65-6.07 1.96-8.52Zm23.39 2.34c-.96-1.77-2.26-3.13-3.9-4.07-1.64-.94-3.44-1.42-5.4-1.42s-3.75.46-5.37 1.39-2.91 2.27-3.87 4.04-1.44 3.85-1.44 6.24.48 4.53 1.44 6.32 2.25 3.16 3.87 4.1c1.62.94 3.41 1.42 5.37 1.42s3.76-.47 5.4-1.42c1.64-.94 2.94-2.31 3.9-4.1.96-1.79 1.44-3.88 1.44-6.27s-.48-4.47-1.44-6.24ZM577.91 68.95c-.69-.69-1.04-1.54-1.04-2.54s.35-1.85 1.04-2.54 1.54-1.04 2.54-1.04 1.78.35 2.45 1.04 1.01 1.54 1.01 2.54-.34 1.85-1.01 2.54-1.49 1.04-2.45 1.04-1.85-.35-2.54-1.04Zm5.08 6.18v31.65h-5.25V75.13h5.25ZM597.69 105.27c-2.41-1.35-4.29-3.26-5.66-5.75-1.37-2.48-2.05-5.36-2.05-8.63s.7-6.09 2.11-8.58 3.32-4.39 5.75-5.72 5.14-1.99 8.14-1.99 5.72.66 8.14 1.99 4.34 3.23 5.75 5.69c1.41 2.46 2.11 5.33 2.11 8.6s-.72 6.15-2.17 8.63c-1.44 2.48-3.4 4.4-5.86 5.75-2.46 1.35-5.2 2.02-8.2 2.02s-5.65-.67-8.06-2.02Zm13.37-3.93c1.65-.89 2.99-2.21 4.01-3.98 1.02-1.77 1.53-3.93 1.53-6.47s-.5-4.7-1.5-6.47c-1-1.77-2.31-3.09-3.93-3.96-1.62-.87-3.37-1.3-5.25-1.3s-3.69.43-5.28 1.3c-1.6.87-2.88 2.19-3.84 3.96s-1.44 3.93-1.44 6.47.47 4.76 1.41 6.53c.94 1.77 2.2 3.09 3.78 3.96 1.58.87 3.31 1.3 5.2 1.3s3.66-.44 5.31-1.33ZM652.38 86.65c-2.29 2.21-5.79 3.32-10.48 3.32h-7.74v16.81h-5.25V66.53h12.99c4.54 0 8 1.1 10.37 3.29 2.37 2.19 3.55 5.02 3.55 8.49s-1.15 6.13-3.44 8.35Zm-4.01-2.92c1.39-1.27 2.08-3.08 2.08-5.43 0-4.97-2.85-7.45-8.55-7.45h-7.74v14.78h7.74c2.93 0 5.08-.64 6.47-1.91ZM667.6 64.04v42.74h-5.25V64.04h5.25ZM676.55 82.32c1.31-2.44 3.11-4.34 5.4-5.69 2.29-1.35 4.84-2.02 7.65-2.02s5.18.6 7.22 1.79 3.56 2.7 4.56 4.5v-5.78h5.31v31.65h-5.31v-5.89c-1.04 1.85-2.59 3.38-4.65 4.59-2.06 1.21-4.46 1.82-7.19 1.82s-5.35-.69-7.62-2.08c-2.27-1.39-4.06-3.33-5.37-5.83-1.31-2.5-1.96-5.35-1.96-8.55s.65-6.07 1.96-8.52Zm23.39 2.34c-.96-1.77-2.26-3.13-3.9-4.07-1.64-.94-3.44-1.42-5.4-1.42s-3.75.46-5.37 1.39-2.91 2.27-3.87 4.04-1.44 3.85-1.44 6.24.48 4.53 1.44 6.32 2.25 3.16 3.87 4.1c1.62.94 3.41 1.42 5.37 1.42s3.76-.47 5.4-1.42c1.64-.94 2.94-2.31 3.9-4.1.96-1.79 1.44-3.88 1.44-6.27s-.48-4.47-1.44-6.24ZM742.85 75.13l-19.06 46.55h-5.43l6.24-15.25-12.76-31.3h5.83l9.93 25.64 9.82-25.64h5.43ZM776.8 92.91h-25.29c.19 3.12 1.26 5.55 3.21 7.31 1.94 1.75 4.3 2.63 7.07 2.63 2.27 0 4.17-.53 5.69-1.59 1.52-1.06 2.59-2.47 3.21-4.24h5.66c-.85 3.04-2.54 5.52-5.08 7.42s-5.7 2.86-9.47 2.86c-3 0-5.69-.67-8.06-2.02s-4.23-3.26-5.57-5.75c-1.35-2.48-2.02-5.36-2.02-8.63s.65-6.14 1.96-8.6 3.15-4.36 5.51-5.69 5.09-1.99 8.17-1.99 5.66.65 7.97 1.96c2.31 1.31 4.09 3.11 5.34 5.4 1.25 2.29 1.88 4.88 1.88 7.77 0 1-.06 2.06-.17 3.18Zm-6.58-9.44a8.686 8.686 0 0 0-3.61-3.29c-1.52-.75-3.21-1.13-5.05-1.13-2.66 0-4.92.85-6.79 2.54s-2.94 4.04-3.21 7.05h19.98c0-2-.44-3.72-1.33-5.17ZM793.12 76.05c1.71-1 3.8-1.5 6.27-1.5v5.43H798c-5.89 0-8.84 3.2-8.84 9.59v17.21h-5.25V75.13h5.25v5.14c.92-1.81 2.24-3.21 3.96-4.22Z"},null,-1),kE=[SE];function OE(e,t){return re(),ye("svg",EE,[...kE])}const RE={render:OE},TE=2,ap=window.localStorage.getItem("renderedIcons"),yu=ap?new Map(JSON.parse(ap)):new Map,$s=async(e,t,r=500)=>e||await kc(t,r),IE="/assets/img/bg-1024x1024.png",kc=async(e,t=512)=>{await document.fonts.ready;const r=`${TE}-${e}-${t}`;if(yu.has(r))return yu.get(r);const s=document.createElement("canvas"),o=s.getContext("2d");s.style.position="fixed",s.style.top="0",s.style.left="0",s.style.opacity="0",document.body.appendChild(s),s.height=t,s.width=t,s.style.height=t+"px",s.style.width=t+"px";const l=new Image;return l.src=IE,await new Promise(u=>{l.onload=()=>{o.drawImage(l,0,0,s.width,s.height),o.fillStyle="white",o.font="900 50px 'Poppins'",o.textAlign="center",o.shadowColor="rgba(0, 0, 0, 0.7)",o.shadowBlur=50,o.fillText(e,s.width/2,s.height/2+72/2,s.width),o.fillStyle="white",o.fillRect(0,0,s.width,14),o.fillStyle="black",o.font="400 italic 8px 'Poppins'",o.textAlign="left",o.fillText(" reAudioPlayer ".repeat(100),2,8+2);const c=20;o.fillStyle="white",o.font="600 10px 'Poppins'",o.textAlign="left",o.fillText((e==null?void 0:e.toUpperCase())??e,c,s.height-35+8+2);const f=o.measureText(e).width+c+16;o.fillStyle="white",o.fillRect(f,s.height-30,s.width-f-c,2);const p=s.toDataURL();yu.set(r,p),u(p)}})};/*! Fast Average Color | © 2023 Denis Seleznev | MIT License | https://github.com/fast-average-color/fast-average-color */function ME(e){var t=e.toString(16);return t.length===1?"0"+t:t}function lp(e){return"#"+e.map(ME).join("")}function LE(e){var t=(e[0]*299+e[1]*587+e[2]*114)/1e3;return t<128}function $E(e){return e?DE(e)?e:[e]:[]}function DE(e){return Array.isArray(e[0])}function Oc(e,t,r){for(var s=0;s=t-r&&e<=t+r}function WE(e,t,r){var s=r[0],o=r[1],l=r[2],u=r[3],c=r[4],f=e[t+3],p=oa(f,u,c);return u?!!(!f&&p||oa(e[t],s,c)&&oa(e[t+1],o,c)&&oa(e[t+2],l,c)&&p):p}var FE=24;function HE(e,t,r){for(var s={},o=r.dominantDivider||FE,l=r.ignoredColor,u=r.step,c=[0,0,0,0,0],f=0;fl?(f=o/l,u=Yu,c=Math.round(u/f)):(f=l/o,c=Yu,u=Math.round(c/f)),(u>o||c>l||u"u";function QE(){return XE?Eg?new OffscreenCanvas(1,1):null:document.createElement("canvas")}var eS="FastAverageColor: ";function Wn(e){return Error(eS+e)}function bs(e,t){t||console.error(e)}var tS=function(){function e(){this.canvas=null,this.ctx=null}return e.prototype.getColorAsync=function(t,r){if(!t)return Promise.reject(Wn("call .getColorAsync() without resource"));if(typeof t=="string"){if(typeof Image>"u")return Promise.reject(Wn("resource as string is not supported in this environment"));var s=new Image;return s.crossOrigin=r&&r.crossOrigin||"",s.src=t,this.bindImageEvents(s,r)}else{if(Cg(t)&&!t.complete)return this.bindImageEvents(t,r);var o=this.getColor(t,r);return o.error?Promise.reject(o.error):Promise.resolve(o)}},e.prototype.getColor=function(t,r){r=r||{};var s=up(r);if(!t){var o=Wn("call .getColor() without resource");return bs(o,r.silent),this.prepareResult(s,o)}var l=KE(t),u=JE(l,r);if(!u.srcWidth||!u.srcHeight||!u.destWidth||!u.destHeight){var o=Wn('incorrect sizes for resource "'.concat(fp(t),'"'));return bs(o,r.silent),this.prepareResult(s,o)}if(!this.canvas&&(this.canvas=QE(),!this.canvas)){var o=Wn("OffscreenCanvas is not supported in this browser");return bs(o,r.silent),this.prepareResult(s,o)}if(!this.ctx){if(this.ctx=this.canvas.getContext("2d",{willReadFrequently:!0}),!this.ctx){var o=Wn("Canvas Context 2D is not supported in this browser");return bs(o,r.silent),this.prepareResult(s)}this.ctx.imageSmoothingEnabled=!1}this.canvas.width=u.destWidth,this.canvas.height=u.destHeight;try{this.ctx.clearRect(0,0,u.destWidth,u.destHeight),this.ctx.drawImage(t,u.srcLeft,u.srcTop,u.srcWidth,u.srcHeight,0,0,u.destWidth,u.destHeight);var c=this.ctx.getImageData(0,0,u.destWidth,u.destHeight).data;return this.prepareResult(this.getColorFromArray4(c,r))}catch(f){var o=Wn("security error (CORS) for resource ".concat(fp(t),`. -Details: https://developer.mozilla.org/en/docs/Web/HTML/CORS_enabled_image`));return bs(o,r.silent),!r.silent&&console.error(f),this.prepareResult(s,o)}},e.prototype.getColorFromArray4=function(t,r){r=r||{};var s=4,o=t.length,l=up(r);if(o{localStorage.setItem(Sg,JSON.stringify({sidebar:e.sidebar,player:e.player,theme:e.theme,ambient:e.ambient}))},rS={sidebar:{sports:!1,news:!1,collapsed:!1},player:{expandedCover:!1,pictureInPicture:!1,type:"web"},theme:nS,ambient:!0},Ss=()=>JSON.parse(localStorage.getItem(Sg)||JSON.stringify(rS)),iS=()=>{const e=Ss();console.log("migrateSettings",e);const t=localStorage.getItem("sidebar.showSportsTab"),r=localStorage.getItem("sidebar.showNewsTab"),s=localStorage.getItem("player.inBrowser"),o=localStorage.getItem("player.collapsedSidebar"),l=localStorage.getItem("player.exapndCover"),u=localStorage.getItem("theme");t&&(e.sidebar.sports=t==="true",localStorage.removeItem("sidebar.showSportsTab")),r&&(e.sidebar.news=r==="true",localStorage.removeItem("sidebar.showNewsTab")),s&&localStorage.removeItem("player.inBrowser"),o&&(e.sidebar.collapsed=o==="true",localStorage.removeItem("player.collapsedSidebar")),l&&(e.player.expandedCover=l==="true",localStorage.removeItem("player.exapndCover")),u&&(e.theme=u,localStorage.removeItem("theme")),kg(e)},sS="production",Ur=to("settings",()=>{iS();const e=Pe(Ss().player),t=Pe(Ss().sidebar),r=Pe(Ss().theme),s=Pe(Ss().ambient),o=Pe(sS),l=()=>{kg({player:e.value,sidebar:t.value,theme:r.value,ambient:s.value})};st(()=>e,l,{deep:!0}),st(()=>t,l,{deep:!0}),st(()=>r,l,{deep:!0}),st(()=>s,l,{deep:!0});const u=Ve(()=>window.getCurrentThemeProperty&&window.getCurrentThemeProperty("supportsAmbient"));return{player:e,sidebar:t,theme:r,ambient:s,themeSupportsAmbient:u,mode:{mode:o,dev:Ve(()=>o.value==="development"),prod:Ve(()=>o.value==="production"),toggle:()=>{o.value==="development"?o.value="production":o.value="development"}}}}),ks=new tS,Os=(e,t)=>{const r=e.hex,s=Math.round(t*255).toString(16);return r+s},oS=async(e,t,r=.25)=>{if(!Ur().ambient)return;var o=e.width/100,l=e.height/100,u=e.naturalWidth,c=e.naturalHeight;const f=await Promise.all([ks.getColorAsync(t,{height:l}),ks.getColorAsync(t,{left:u-o,width:o}),ks.getColorAsync(t,{width:o}),ks.getColorAsync(t,{top:c-l,height:l})]);o*=40,l*=40;var p=Os(f[0],r),h=Os(f[1],r),m=Os(f[2],r),g=Os(f[3],r);const y=" 10px",S=` ${o}px `,x=o+"px",T=l+"px";e.style.boxShadow=["0 -".concat(T," ").concat(S," ").concat(y," ").concat(p),"".concat(x," 0 ").concat(S," ").concat(y," ").concat(h),"0 ".concat(T," ").concat(S," ").concat(y," ").concat(m),"-".concat(x," 0 ").concat(S," ").concat(y," ").concat(g)].join(", ")},aS=async(e,t,r="to top right",s=.2)=>{if(!Ur().ambient)return;const l=await ks.getColorAsync(t),u=Os(l,s),c=`linear-gradient(${r}, ${u}, transparent)`;e.style.background=c},lS={dark:!1,dynamic:!0},uS={dark:!0,dynamic:!1},li={"fg-secondary":{dark:"#1ed760",dynamic:"#00c48b",light:"#18a74b"},"fg-secondary-dk":{dark:"#217e41",dynamic:"#00c48b",light:"#80dda0"},"bg-contrast":{dark:"white",dynamic:"whitesmoke",light:"#181c2f"},"fg-contrast":{dark:"#121212",dynamic:"#1e1e1e",light:"white"},"fg-base":{dark:"white",dynamic:"whitesmoke",light:"#181c2f"},"fg-base-dk":{dark:"#a7a7a7",dynamic:"#c2bebe",light:"#8b8c91"},"fg-base-dkr":{dark:"#999",light:"#8b8c91",dynamic:"#999"},"bg-hover-ltr":{dark:"#242424"},"bg-hover-lt":{dark:"hsla(0,0%,100%,0.04)",light:"#b3b3b31f"},"bg-hover":{dark:"hsla(0,0%,100%,0.3)",dynamic:"#00c48b82",light:"#7c828f5e"},"bg-hover-dk":{dark:"#2a2a2a",dynamic:"#00c48b42",light:"#E3E7EB"},"bg-gradient":{dark:"linear-gradient(to left bottom, #1ed760, #217e41)",dynamic:"linear-gradient(to left bottom, #00a53c, #00297f)",light:"linear-gradient(to left bottom, #18a74b, #80dda0)"},"bg-gradient-placeholder":{dark:"linear-gradient(to left bottom, #00a53c, #00297f)"},"bg-base":{dark:"#121212",light:"white"},"bg-base-lt":{dark:"#181818",dynamic:"linear-gradient(to right bottom, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.3))",light:"#f3f7fb"},"bg-base-dk":{dark:"black",dynamic:"linear-gradient(to right bottom, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.3))",light:"#f3f7fb"},"bg-input":{dark:"var(--background-light)",light:"var(--background)"},"bg-fixedPlaylistHeader":{dark:"var(--bg-base-lt)",dynamic:"#374148"},"border-fixedPlaylistHeader":{dark:"#303030",dynamic:"none",light:"#D0D0D0"},"border-base":{dark:"hsla(0,0%,100%,0.1)",light:"#E3E7EB"},"border-container":{dark:"1px solid var(--border-base)",light:"1px solid var(--border-base)",dynamic:"1px solid transparent"},"ff-base":{dark:"Poppins, sans-serif"},"h-playlistEntry":{dark:"64px"},"h-player":{dark:"88px"},"h-player-mobile":{dark:"64px"},"h-header":{dark:"64px"},coverAsBackground:lS,supportsAmbient:uS},Ka=()=>Ur();window.getThemes=()=>{window.themes=[];for(const e of Object.keys(li))for(const t of Object.keys(li[e]))window.themes.includes(t)||window.themes.push(t);return window.themes};window.getCurrentTheme=()=>Ka().theme;window.setTheme=e=>{if(window.getThemes().includes(e)){Ka().theme=e;for(const t of Object.keys(li)){const r=li[t];t!="coverAsBackground"&&document.documentElement.style.setProperty(`--${t}`,r[e]??r.dark)}}};window.restoreTheme=()=>window.setTheme(Ka().theme||"dynamic");window.getCurrentThemeProperty=e=>{const t=li[e];return t[Ka().theme]??t.dark};const Og=window,cS=["alt","src"],Dr=Ge({__name:"Cover",props:{src:{type:String,required:!0},type:{type:String,required:!1,default:"track"},placeholder:{type:String,required:!1},withAmbient:{type:Boolean,required:!1,default:!1},ambientOpacity:{type:Number,required:!1,default:.2},name:{type:String,required:!1}},setup(e){const t=e,r=Pe(null),s=Pe(null),o=async()=>{if(console.error("Failed to load cover",t.src),s.value=await kc(t.name),!r.value){setTimeout(()=>{o()},100);return}},l=()=>{r.value=bg(t.src,t.type),r.value||o()};st(()=>t.src,l),l();const u=Pe(null),c=async()=>{if(!t.withAmbient||!u.value||!Og.getCurrentThemeProperty("supportsAmbient"))return;const f=await $s(r.value,t.name);oS(u.value,f,t.ambientOpacity)};return st(()=>t.src,async()=>{s.value=await $s(r.value,t.name)}),Vt(async()=>{s.value=await $s(r.value,t.name)}),(f,p)=>(re(),ye("img",{ref_key:"element",ref:u,alt:t.type,src:s.value,class:"cover rounded-md",onError:o,onLoad:c,lazy:""},null,40,cS))}});const fS={name:"NavEntry",components:{Cover:Dr},props:{icon:String,img:String,name:String,href:String,hasChildSites:Boolean,parentHref:String,minimised:Boolean},computed:{showImg(){return this.img?!0:/^\/playlist\/\w{22}$/.exec(this.href)},active(){return this.hasChildSites?this.$route.path.includes(this.href)?!0:this.parentHref&&this.$route.path.includes(this.parentHref):!1}}},dS={key:0,class:"material-icons-round icon"},hS={key:2,class:"name hideIfMobile"};function pS(e,t,r,s,o,l){const u=Ui("Cover"),c=Ui("router-link");return re(),Ye(c,{to:r.href,class:"link"},{default:St(()=>[te("div",{class:Je([{active:l.active,img:l.showImg},"navEntry"])},[r.icon?(re(),ye("span",dS,De(r.icon),1)):Be("",!0),l.showImg?(re(),Ye(u,{key:1,src:r.img,class:"icon",type:"playlist",name:r.name},null,8,["src","name"])):Be("",!0),r.minimised?Be("",!0):(re(),ye("span",hS,De(r.name),1))],2)]),_:1},8,["to"])}const Hn=at(fS,[["render",pS],["__scopeId","data-v-fd7253f1"]]),mS="modulepreload",gS=function(e){return"/"+e},dp={},pt=function(t,r,s){if(!r||r.length===0)return t();const o=document.getElementsByTagName("link");return Promise.all(r.map(l=>{if(l=gS(l),l in dp)return;dp[l]=!0;const u=l.endsWith(".css"),c=u?'[rel="stylesheet"]':"";if(!!s)for(let h=o.length-1;h>=0;h--){const m=o[h];if(m.href===l&&(!u||m.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${l}"]${c}`))return;const p=document.createElement("link");if(p.rel=u?"stylesheet":mS,u||(p.as="script",p.crossOrigin=""),p.href=l,document.head.appendChild(p),u)return new Promise((h,m)=>{p.addEventListener("load",h),p.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${l}`)))})})).then(()=>t()).catch(l=>{const u=new Event("vite:preloadError",{cancelable:!0});if(u.payload=l,window.dispatchEvent(u),!u.defaultPrevented)throw l})};/*! - * vue-router v4.3.0 - * (c) 2024 Eduardo San Martin Morote - * @license MIT - */const Ti=typeof document<"u";function vS(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const ut=Object.assign;function _u(e,t){const r={};for(const s in t){const o=t[s];r[s]=$n(o)?o.map(e):e(o)}return r}const Ds=()=>{},$n=Array.isArray,Rg=/#/g,yS=/&/g,_S=/\//g,bS=/=/g,wS=/\?/g,Tg=/\+/g,AS=/%5B/g,xS=/%5D/g,Ig=/%5E/g,PS=/%60/g,Mg=/%7B/g,CS=/%7C/g,Lg=/%7D/g,ES=/%20/g;function Rc(e){return encodeURI(""+e).replace(CS,"|").replace(AS,"[").replace(xS,"]")}function SS(e){return Rc(e).replace(Mg,"{").replace(Lg,"}").replace(Ig,"^")}function Zu(e){return Rc(e).replace(Tg,"%2B").replace(ES,"+").replace(Rg,"%23").replace(yS,"%26").replace(PS,"`").replace(Mg,"{").replace(Lg,"}").replace(Ig,"^")}function kS(e){return Zu(e).replace(bS,"%3D")}function OS(e){return Rc(e).replace(Rg,"%23").replace(wS,"%3F")}function RS(e){return e==null?"":OS(e).replace(_S,"%2F")}function zs(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const TS=/\/$/,IS=e=>e.replace(TS,"");function bu(e,t,r="/"){let s,o={},l="",u="";const c=t.indexOf("#");let f=t.indexOf("?");return c=0&&(f=-1),f>-1&&(s=t.slice(0,f),l=t.slice(f+1,c>-1?c:t.length),o=e(l)),c>-1&&(s=s||t.slice(0,c),u=t.slice(c,t.length)),s=DS(s??t,r),{fullPath:s+(l&&"?")+l+u,path:s,query:o,hash:zs(u)}}function MS(e,t){const r=t.query?e(t.query):"";return t.path+(r&&"?")+r+(t.hash||"")}function hp(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function LS(e,t,r){const s=t.matched.length-1,o=r.matched.length-1;return s>-1&&s===o&&Yi(t.matched[s],r.matched[o])&&$g(t.params,r.params)&&e(t.query)===e(r.query)&&t.hash===r.hash}function Yi(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function $g(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const r in e)if(!$S(e[r],t[r]))return!1;return!0}function $S(e,t){return $n(e)?pp(e,t):$n(t)?pp(t,e):e===t}function pp(e,t){return $n(t)?e.length===t.length&&e.every((r,s)=>r===t[s]):e.length===1&&e[0]===t}function DS(e,t){if(e.startsWith("/"))return e;if(!e)return t;const r=t.split("/"),s=e.split("/"),o=s[s.length-1];(o===".."||o===".")&&s.push("");let l=r.length-1,u,c;for(u=0;u1&&l--;else break;return r.slice(0,l).join("/")+"/"+s.slice(u).join("/")}var Ys;(function(e){e.pop="pop",e.push="push"})(Ys||(Ys={}));var Ns;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Ns||(Ns={}));function NS(e){if(!e)if(Ti){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),IS(e)}const BS=/^[^#]+#/;function VS(e,t){return e.replace(BS,"#")+t}function WS(e,t){const r=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-r.left-(t.left||0),top:s.top-r.top-(t.top||0)}}const Ga=()=>({left:window.scrollX,top:window.scrollY});function FS(e){let t;if("el"in e){const r=e.el,s=typeof r=="string"&&r.startsWith("#"),o=typeof r=="string"?s?document.getElementById(r.slice(1)):document.querySelector(r):r;if(!o)return;t=WS(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function mp(e,t){return(history.state?history.state.position-t:-1)+e}const Ju=new Map;function HS(e,t){Ju.set(e,t)}function US(e){const t=Ju.get(e);return Ju.delete(e),t}let qS=()=>location.protocol+"//"+location.host;function Dg(e,t){const{pathname:r,search:s,hash:o}=t,l=e.indexOf("#");if(l>-1){let c=o.includes(e.slice(l))?e.slice(l).length:1,f=o.slice(c);return f[0]!=="/"&&(f="/"+f),hp(f,"")}return hp(r,e)+s+o}function jS(e,t,r,s){let o=[],l=[],u=null;const c=({state:g})=>{const y=Dg(e,location),S=r.value,x=t.value;let T=0;if(g){if(r.value=y,t.value=g,u&&u===S){u=null;return}T=x?g.position-x.position:0}else s(y);o.forEach(V=>{V(r.value,S,{delta:T,type:Ys.pop,direction:T?T>0?Ns.forward:Ns.back:Ns.unknown})})};function f(){u=r.value}function p(g){o.push(g);const y=()=>{const S=o.indexOf(g);S>-1&&o.splice(S,1)};return l.push(y),y}function h(){const{history:g}=window;g.state&&g.replaceState(ut({},g.state,{scroll:Ga()}),"")}function m(){for(const g of l)g();l=[],window.removeEventListener("popstate",c),window.removeEventListener("beforeunload",h)}return window.addEventListener("popstate",c),window.addEventListener("beforeunload",h,{passive:!0}),{pauseListeners:f,listen:p,destroy:m}}function gp(e,t,r,s=!1,o=!1){return{back:e,current:t,forward:r,replaced:s,position:window.history.length,scroll:o?Ga():null}}function KS(e){const{history:t,location:r}=window,s={value:Dg(e,r)},o={value:t.state};o.value||l(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function l(f,p,h){const m=e.indexOf("#"),g=m>-1?(r.host&&document.querySelector("base")?e:e.slice(m))+f:qS()+e+f;try{t[h?"replaceState":"pushState"](p,"",g),o.value=p}catch(y){console.error(y),r[h?"replace":"assign"](g)}}function u(f,p){const h=ut({},t.state,gp(o.value.back,f,o.value.forward,!0),p,{position:o.value.position});l(f,h,!0),s.value=f}function c(f,p){const h=ut({},o.value,t.state,{forward:f,scroll:Ga()});l(h.current,h,!0);const m=ut({},gp(s.value,f,null),{position:h.position+1},p);l(f,m,!1),s.value=f}return{location:s,state:o,push:c,replace:u}}function GS(e){e=NS(e);const t=KS(e),r=jS(e,t.state,t.location,t.replace);function s(l,u=!0){u||r.pauseListeners(),history.go(l)}const o=ut({location:"",base:e,go:s,createHref:VS.bind(null,e)},t,r);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function zS(e){return typeof e=="string"||e&&typeof e=="object"}function Ng(e){return typeof e=="string"||typeof e=="symbol"}const Pr={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},Bg=Symbol("");var vp;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(vp||(vp={}));function Zi(e,t){return ut(new Error,{type:e,[Bg]:!0},t)}function rr(e,t){return e instanceof Error&&Bg in e&&(t==null||!!(e.type&t))}const yp="[^/]+?",YS={sensitive:!1,strict:!1,start:!0,end:!0},ZS=/[.+*?^${}()[\]/\\]/g;function JS(e,t){const r=ut({},YS,t),s=[];let o=r.start?"^":"";const l=[];for(const p of e){const h=p.length?[]:[90];r.strict&&!p.length&&(o+="/");for(let m=0;mt.length?t.length===1&&t[0]===40+40?1:-1:0}function QS(e,t){let r=0;const s=e.score,o=t.score;for(;r0&&t[t.length-1]<0}const ek={type:0,value:""},tk=/[a-zA-Z0-9_]/;function nk(e){if(!e)return[[]];if(e==="/")return[[ek]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(y){throw new Error(`ERR (${r})/"${p}": ${y}`)}let r=0,s=r;const o=[];let l;function u(){l&&o.push(l),l=[]}let c=0,f,p="",h="";function m(){p&&(r===0?l.push({type:0,value:p}):r===1||r===2||r===3?(l.length>1&&(f==="*"||f==="+")&&t(`A repeatable param (${p}) must be alone in its segment. eg: '/:ids+.`),l.push({type:1,value:p,regexp:h,repeatable:f==="*"||f==="+",optional:f==="*"||f==="?"})):t("Invalid state to consume buffer"),p="")}function g(){p+=f}for(;c{u(B)}:Ds}function u(h){if(Ng(h)){const m=s.get(h);m&&(s.delete(h),r.splice(r.indexOf(m),1),m.children.forEach(u),m.alias.forEach(u))}else{const m=r.indexOf(h);m>-1&&(r.splice(m,1),h.record.name&&s.delete(h.record.name),h.children.forEach(u),h.alias.forEach(u))}}function c(){return r}function f(h){let m=0;for(;m=0&&(h.record.path!==r[m].record.path||!Vg(h,r[m]));)m++;r.splice(m,0,h),h.record.name&&!wp(h)&&s.set(h.record.name,h)}function p(h,m){let g,y={},S,x;if("name"in h&&h.name){if(g=s.get(h.name),!g)throw Zi(1,{location:h});x=g.record.name,y=ut(bp(m.params,g.keys.filter(B=>!B.optional).concat(g.parent?g.parent.keys.filter(B=>B.optional):[]).map(B=>B.name)),h.params&&bp(h.params,g.keys.map(B=>B.name))),S=g.stringify(y)}else if(h.path!=null)S=h.path,g=r.find(B=>B.re.test(S)),g&&(y=g.parse(S),x=g.record.name);else{if(g=m.name?s.get(m.name):r.find(B=>B.re.test(m.path)),!g)throw Zi(1,{location:h,currentLocation:m});x=g.record.name,y=ut({},m.params,h.params),S=g.stringify(y)}const T=[];let V=g;for(;V;)T.unshift(V.record),V=V.parent;return{name:x,path:S,params:y,matched:T,meta:ak(T)}}return e.forEach(h=>l(h)),{addRoute:l,resolve:p,removeRoute:u,getRoutes:c,getRecordMatcher:o}}function bp(e,t){const r={};for(const s of t)s in e&&(r[s]=e[s]);return r}function sk(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:ok(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function ok(e){const t={},r=e.props||!1;if("component"in e)t.default=r;else for(const s in e.components)t[s]=typeof r=="object"?r[s]:r;return t}function wp(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function ak(e){return e.reduce((t,r)=>ut(t,r.meta),{})}function Ap(e,t){const r={};for(const s in e)r[s]=s in t?t[s]:e[s];return r}function Vg(e,t){return t.children.some(r=>r===e||Vg(e,r))}function lk(e){const t={};if(e===""||e==="?")return t;const s=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;ol&&Zu(l)):[s&&Zu(s)]).forEach(l=>{l!==void 0&&(t+=(t.length?"&":"")+r,l!=null&&(t+="="+l))})}return t}function uk(e){const t={};for(const r in e){const s=e[r];s!==void 0&&(t[r]=$n(s)?s.map(o=>o==null?null:""+o):s==null?s:""+s)}return t}const ck=Symbol(""),Pp=Symbol(""),za=Symbol(""),Tc=Symbol(""),Xu=Symbol("");function ws(){let e=[];function t(s){return e.push(s),()=>{const o=e.indexOf(s);o>-1&&e.splice(o,1)}}function r(){e=[]}return{add:t,list:()=>e.slice(),reset:r}}function Tr(e,t,r,s,o,l=u=>u()){const u=s&&(s.enterCallbacks[o]=s.enterCallbacks[o]||[]);return()=>new Promise((c,f)=>{const p=g=>{g===!1?f(Zi(4,{from:r,to:t})):g instanceof Error?f(g):zS(g)?f(Zi(2,{from:t,to:g})):(u&&s.enterCallbacks[o]===u&&typeof g=="function"&&u.push(g),c())},h=l(()=>e.call(s&&s.instances[o],t,r,p));let m=Promise.resolve(h);e.length<3&&(m=m.then(p)),m.catch(g=>f(g))})}function wu(e,t,r,s,o=l=>l()){const l=[];for(const u of e)for(const c in u.components){let f=u.components[c];if(!(t!=="beforeRouteEnter"&&!u.instances[c]))if(fk(f)){const h=(f.__vccOpts||f)[t];h&&l.push(Tr(h,r,s,u,c,o))}else{let p=f();l.push(()=>p.then(h=>{if(!h)return Promise.reject(new Error(`Couldn't resolve component "${c}" at "${u.path}"`));const m=vS(h)?h.default:h;u.components[c]=m;const y=(m.__vccOpts||m)[t];return y&&Tr(y,r,s,u,c,o)()}))}}return l}function fk(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Cp(e){const t=on(za),r=on(Tc),s=Ve(()=>t.resolve(oe(e.to))),o=Ve(()=>{const{matched:f}=s.value,{length:p}=f,h=f[p-1],m=r.matched;if(!h||!m.length)return-1;const g=m.findIndex(Yi.bind(null,h));if(g>-1)return g;const y=Ep(f[p-2]);return p>1&&Ep(h)===y&&m[m.length-1].path!==y?m.findIndex(Yi.bind(null,f[p-2])):g}),l=Ve(()=>o.value>-1&&mk(r.params,s.value.params)),u=Ve(()=>o.value>-1&&o.value===r.matched.length-1&&$g(r.params,s.value.params));function c(f={}){return pk(f)?t[oe(e.replace)?"replace":"push"](oe(e.to)).catch(Ds):Promise.resolve()}return{route:s,href:Ve(()=>s.value.href),isActive:l,isExactActive:u,navigate:c}}const dk=Ge({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Cp,setup(e,{slots:t}){const r=Xi(Cp(e)),{options:s}=on(za),o=Ve(()=>({[Sp(e.activeClass,s.linkActiveClass,"router-link-active")]:r.isActive,[Sp(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:r.isExactActive}));return()=>{const l=t.default&&t.default(r);return e.custom?l:wc("a",{"aria-current":r.isExactActive?e.ariaCurrentValue:null,href:r.href,onClick:r.navigate,class:o.value},l)}}}),hk=dk;function pk(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function mk(e,t){for(const r in t){const s=t[r],o=e[r];if(typeof s=="string"){if(s!==o)return!1}else if(!$n(o)||o.length!==s.length||s.some((l,u)=>l!==o[u]))return!1}return!0}function Ep(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const Sp=(e,t,r)=>e??t??r,gk=Ge({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:r}){const s=on(Xu),o=Ve(()=>e.route||s.value),l=on(Pp,0),u=Ve(()=>{let p=oe(l);const{matched:h}=o.value;let m;for(;(m=h[p])&&!m.components;)p++;return p}),c=Ve(()=>o.value.matched[u.value]);Ir(Pp,Ve(()=>u.value+1)),Ir(ck,c),Ir(Xu,o);const f=Pe();return st(()=>[f.value,c.value,e.name],([p,h,m],[g,y,S])=>{h&&(h.instances[m]=p,y&&y!==h&&p&&p===g&&(h.leaveGuards.size||(h.leaveGuards=y.leaveGuards),h.updateGuards.size||(h.updateGuards=y.updateGuards))),p&&h&&(!y||!Yi(h,y)||!g)&&(h.enterCallbacks[m]||[]).forEach(x=>x(p))},{flush:"post"}),()=>{const p=o.value,h=e.name,m=c.value,g=m&&m.components[h];if(!g)return kp(r.default,{Component:g,route:p});const y=m.props[h],S=y?y===!0?p.params:typeof y=="function"?y(p):y:null,T=wc(g,ut({},S,t,{onVnodeUnmounted:V=>{V.component.isUnmounted&&(m.instances[h]=null)},ref:f}));return kp(r.default,{Component:T,route:p})||T}}});function kp(e,t){if(!e)return null;const r=e(t);return r.length===1?r[0]:r}const vk=gk;function yk(e){const t=ik(e.routes,e),r=e.parseQuery||lk,s=e.stringifyQuery||xp,o=e.history,l=ws(),u=ws(),c=ws(),f=xx(Pr);let p=Pr;Ti&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const h=_u.bind(null,X=>""+X),m=_u.bind(null,RS),g=_u.bind(null,zs);function y(X,se){let he,Ae;return Ng(X)?(he=t.getRecordMatcher(X),Ae=se):Ae=X,t.addRoute(Ae,he)}function S(X){const se=t.getRecordMatcher(X);se&&t.removeRoute(se)}function x(){return t.getRoutes().map(X=>X.record)}function T(X){return!!t.getRecordMatcher(X)}function V(X,se){if(se=ut({},se||f.value),typeof X=="string"){const L=bu(r,X,se.path),J=t.resolve({path:L.path},se),ue=o.createHref(L.fullPath);return ut(L,J,{params:g(J.params),hash:zs(L.hash),redirectedFrom:void 0,href:ue})}let he;if(X.path!=null)he=ut({},X,{path:bu(r,X.path,se.path).path});else{const L=ut({},X.params);for(const J in L)L[J]==null&&delete L[J];he=ut({},X,{params:m(L)}),se.params=m(se.params)}const Ae=t.resolve(he,se),Oe=X.hash||"";Ae.params=h(g(Ae.params));const je=MS(s,ut({},X,{hash:SS(Oe),path:Ae.path})),O=o.createHref(je);return ut({fullPath:je,hash:Oe,query:s===xp?uk(X.query):X.query||{}},Ae,{redirectedFrom:void 0,href:O})}function B(X){return typeof X=="string"?bu(r,X,f.value.path):ut({},X)}function P(X,se){if(p!==X)return Zi(8,{from:se,to:X})}function k(X){return q(X)}function R(X){return k(ut(B(X),{replace:!0}))}function M(X){const se=X.matched[X.matched.length-1];if(se&&se.redirect){const{redirect:he}=se;let Ae=typeof he=="function"?he(X):he;return typeof Ae=="string"&&(Ae=Ae.includes("?")||Ae.includes("#")?Ae=B(Ae):{path:Ae},Ae.params={}),ut({query:X.query,hash:X.hash,params:Ae.path!=null?{}:X.params},Ae)}}function q(X,se){const he=p=V(X),Ae=f.value,Oe=X.state,je=X.force,O=X.replace===!0,L=M(he);if(L)return q(ut(B(L),{state:typeof L=="object"?ut({},Oe,L.state):Oe,force:je,replace:O}),se||he);const J=he;J.redirectedFrom=se;let ue;return!je&&LS(s,Ae,he)&&(ue=Zi(16,{to:J,from:Ae}),b(Ae,Ae,!0,!1)),(ue?Promise.resolve(ue):U(J,Ae)).catch(ne=>rr(ne)?rr(ne,2)?ne:N(ne):_(ne,J,Ae)).then(ne=>{if(ne){if(rr(ne,2))return q(ut({replace:O},B(ne.to),{state:typeof ne.to=="object"?ut({},Oe,ne.to.state):Oe,force:je}),se||J)}else ne=K(J,Ae,!0,O,Oe);return G(J,Ae,ne),ne})}function W(X,se){const he=P(X,se);return he?Promise.reject(he):Promise.resolve()}function j(X){const se=Ce.values().next().value;return se&&typeof se.runWithContext=="function"?se.runWithContext(X):X()}function U(X,se){let he;const[Ae,Oe,je]=_k(X,se);he=wu(Ae.reverse(),"beforeRouteLeave",X,se);for(const L of Ae)L.leaveGuards.forEach(J=>{he.push(Tr(J,X,se))});const O=W.bind(null,X,se);return he.push(O),ke(he).then(()=>{he=[];for(const L of l.list())he.push(Tr(L,X,se));return he.push(O),ke(he)}).then(()=>{he=wu(Oe,"beforeRouteUpdate",X,se);for(const L of Oe)L.updateGuards.forEach(J=>{he.push(Tr(J,X,se))});return he.push(O),ke(he)}).then(()=>{he=[];for(const L of je)if(L.beforeEnter)if($n(L.beforeEnter))for(const J of L.beforeEnter)he.push(Tr(J,X,se));else he.push(Tr(L.beforeEnter,X,se));return he.push(O),ke(he)}).then(()=>(X.matched.forEach(L=>L.enterCallbacks={}),he=wu(je,"beforeRouteEnter",X,se,j),he.push(O),ke(he))).then(()=>{he=[];for(const L of u.list())he.push(Tr(L,X,se));return he.push(O),ke(he)}).catch(L=>rr(L,8)?L:Promise.reject(L))}function G(X,se,he){c.list().forEach(Ae=>j(()=>Ae(X,se,he)))}function K(X,se,he,Ae,Oe){const je=P(X,se);if(je)return je;const O=se===Pr,L=Ti?history.state:{};he&&(Ae||O?o.replace(X.fullPath,ut({scroll:O&&L&&L.scroll},Oe)):o.push(X.fullPath,Oe)),f.value=X,b(X,se,he,O),N()}let H;function E(){H||(H=o.listen((X,se,he)=>{if(!_e.listening)return;const Ae=V(X),Oe=M(Ae);if(Oe){q(ut(Oe,{replace:!0}),Ae).catch(Ds);return}p=Ae;const je=f.value;Ti&&HS(mp(je.fullPath,he.delta),Ga()),U(Ae,je).catch(O=>rr(O,12)?O:rr(O,2)?(q(O.to,Ae).then(L=>{rr(L,20)&&!he.delta&&he.type===Ys.pop&&o.go(-1,!1)}).catch(Ds),Promise.reject()):(he.delta&&o.go(-he.delta,!1),_(O,Ae,je))).then(O=>{O=O||K(Ae,je,!1),O&&(he.delta&&!rr(O,8)?o.go(-he.delta,!1):he.type===Ys.pop&&rr(O,20)&&o.go(-1,!1)),G(Ae,je,O)}).catch(Ds)}))}let I=ws(),D=ws(),A;function _(X,se,he){N(X);const Ae=D.list();return Ae.length?Ae.forEach(Oe=>Oe(X,se,he)):console.error(X),Promise.reject(X)}function Y(){return A&&f.value!==Pr?Promise.resolve():new Promise((X,se)=>{I.add([X,se])})}function N(X){return A||(A=!X,E(),I.list().forEach(([se,he])=>X?he(X):se()),I.reset()),X}function b(X,se,he,Ae){const{scrollBehavior:Oe}=e;if(!Ti||!Oe)return Promise.resolve();const je=!he&&US(mp(X.fullPath,0))||(Ae||!he)&&history.state&&history.state.scroll||null;return Kn().then(()=>Oe(X,se,je)).then(O=>O&&FS(O)).catch(O=>_(O,X,se))}const Q=X=>o.go(X);let de;const Ce=new Set,_e={currentRoute:f,listening:!0,addRoute:y,removeRoute:S,hasRoute:T,getRoutes:x,resolve:V,options:e,push:k,replace:R,go:Q,back:()=>Q(-1),forward:()=>Q(1),beforeEach:l.add,beforeResolve:u.add,afterEach:c.add,onError:D.add,isReady:Y,install(X){const se=this;X.component("RouterLink",hk),X.component("RouterView",vk),X.config.globalProperties.$router=se,Object.defineProperty(X.config.globalProperties,"$route",{enumerable:!0,get:()=>oe(f)}),Ti&&!de&&f.value===Pr&&(de=!0,k(o.location).catch(Oe=>{}));const he={};for(const Oe in Pr)Object.defineProperty(he,Oe,{get:()=>f.value[Oe],enumerable:!0});X.provide(za,se),X.provide(Tc,am(he)),X.provide(Xu,f);const Ae=X.unmount;Ce.add(X),X.unmount=function(){Ce.delete(X),Ce.size<1&&(p=Pr,H&&H(),H=null,f.value=Pr,de=!1,A=!1),Ae()}}};function ke(X){return X.reduce((se,he)=>se.then(()=>j(he)),Promise.resolve())}return _e}function _k(e,t){const r=[],s=[],o=[],l=Math.max(t.matched.length,e.matched.length);for(let u=0;uYi(p,c))?s.push(c):r.push(c));const f=e.matched[u];f&&(t.matched.find(p=>Yi(p,f))||o.push(f))}return[r,s,o]}function bk(){return on(za)}function Ic(){return on(Tc)}const wk=[{path:"/",component:()=>pt(()=>import("./index-1ea7a167.js"),["assets/index-1ea7a167.js","assets/PlaylistCard-915b2cc1.js","assets/playerInPicture-af203fdf.js","assets/PlaylistCard-03dfa529.css","assets/TrackCompact-28e1b8fb.js","assets/TrackCompact-79c8b159.css","assets/PlaylistEntry-4f48a6f3.js","assets/EditSong.vue_vue_type_script_setup_true_lang-0170f423.js","assets/PlaylistEntry-7f3947eb.css","assets/spotify-2bf3aeb7.js","assets/index-0ded4f06.css"])},{path:"/discover",component:()=>pt(()=>import("./Explore-0f64f4c4.js"),["assets/Explore-0f64f4c4.js","assets/Explore-d8c77810.css"]),meta:{title:"Discover - reAudioPlayer One"}},{path:"/audius/callback",redirect:e=>(window.location.href=window.location.origin+"/api/audius/callback"+e.hash.replace("#","?"),null)},{name:"Search",path:"/search/:query",component:()=>pt(()=>import("./index-0388f272.js"),["assets/index-0388f272.js","assets/index-2f9f0259.css"]),meta:{title:"Search - reAudioPlayer One"}},{path:"/collection/albums",component:()=>pt(()=>import("./index-faf92038.js"),["assets/index-faf92038.js","assets/FullShelf-b2b7ffe5.js","assets/FullShelf-62d1d109.css","assets/Error-e5e93467.js","assets/Error-f18c7956.css","assets/PlaylistCard-915b2cc1.js","assets/playerInPicture-af203fdf.js","assets/PlaylistCard-03dfa529.css","assets/index-06802400.css"]),meta:{title:"Your Library - reAudioPlayer One"}},{path:"/collection/artists",component:()=>pt(()=>import("./index-faf92038.js"),["assets/index-faf92038.js","assets/FullShelf-b2b7ffe5.js","assets/FullShelf-62d1d109.css","assets/Error-e5e93467.js","assets/Error-f18c7956.css","assets/PlaylistCard-915b2cc1.js","assets/playerInPicture-af203fdf.js","assets/PlaylistCard-03dfa529.css","assets/index-06802400.css"]),meta:{title:"Your Library - reAudioPlayer One"}},{path:"/collection/playlists",component:()=>pt(()=>import("./index-faf92038.js"),["assets/index-faf92038.js","assets/FullShelf-b2b7ffe5.js","assets/FullShelf-62d1d109.css","assets/Error-e5e93467.js","assets/Error-f18c7956.css","assets/PlaylistCard-915b2cc1.js","assets/playerInPicture-af203fdf.js","assets/PlaylistCard-03dfa529.css","assets/index-06802400.css"]),meta:{title:"Your Library - reAudioPlayer One"}},{path:"/collection/releases",component:()=>pt(()=>import("./index-faf92038.js"),["assets/index-faf92038.js","assets/FullShelf-b2b7ffe5.js","assets/FullShelf-62d1d109.css","assets/Error-e5e93467.js","assets/Error-f18c7956.css","assets/PlaylistCard-915b2cc1.js","assets/playerInPicture-af203fdf.js","assets/PlaylistCard-03dfa529.css","assets/index-06802400.css"]),meta:{title:"Releases - reAudioPlayer One"}},{path:"/collection/tracks",component:()=>pt(()=>import("./Liked-cf20cd13.js"),["assets/Liked-cf20cd13.js","assets/Template-96d3b86b.js","assets/PlaylistEntry-4f48a6f3.js","assets/EditSong.vue_vue_type_script_setup_true_lang-0170f423.js","assets/playerInPicture-af203fdf.js","assets/PlaylistEntry-7f3947eb.css","assets/vuedraggable.umd-c5c8aeea.js","assets/FactCard-07fe2677.js","assets/FactCard-3c5d1fcf.css","assets/gistClient-56b8a233.js","assets/Markdown.vue_vue_type_style_index_0_lang-99c6b55d.js","assets/Markdown-d883632e.css","assets/Template-b827c26f.css"]),meta:{title:"Liked Songs - reAudioPlayer One"}},{path:"/collection/tracks/breaking",component:()=>pt(()=>import("./Breaking-bca7f1ee.js"),["assets/Breaking-bca7f1ee.js","assets/Template-96d3b86b.js","assets/PlaylistEntry-4f48a6f3.js","assets/EditSong.vue_vue_type_script_setup_true_lang-0170f423.js","assets/playerInPicture-af203fdf.js","assets/PlaylistEntry-7f3947eb.css","assets/vuedraggable.umd-c5c8aeea.js","assets/FactCard-07fe2677.js","assets/FactCard-3c5d1fcf.css","assets/gistClient-56b8a233.js","assets/Markdown.vue_vue_type_style_index_0_lang-99c6b55d.js","assets/Markdown-d883632e.css","assets/Template-b827c26f.css"]),meta:{title:"Breaking Songs - reAudioPlayer One"}},{path:"/playlist/create",component:()=>pt(()=>import("./Create-5e460494.js"),["assets/Create-5e460494.js","assets/Create-8ab3526b.css"]),meta:{title:"Create Playlist - reAudioPlayer One"}},{path:"/playlist/:id/edit",component:()=>pt(()=>import("./Editor-2ef03efe.js"),["assets/Editor-2ef03efe.js","assets/Playlist.vue_vue_type_script_setup_true_lang-1d932c09.js","assets/PlaylistEntry-4f48a6f3.js","assets/EditSong.vue_vue_type_script_setup_true_lang-0170f423.js","assets/playerInPicture-af203fdf.js","assets/PlaylistEntry-7f3947eb.css","assets/vuedraggable.umd-c5c8aeea.js","assets/Editor-133a20fa.css"]),meta:{title:"Smart Playlist Editor - reAudioPlayer One"}},{path:"/playlist/:id",component:()=>pt(()=>import("./Normal-9226385f.js"),["assets/Normal-9226385f.js","assets/Template-96d3b86b.js","assets/PlaylistEntry-4f48a6f3.js","assets/EditSong.vue_vue_type_script_setup_true_lang-0170f423.js","assets/playerInPicture-af203fdf.js","assets/PlaylistEntry-7f3947eb.css","assets/vuedraggable.umd-c5c8aeea.js","assets/FactCard-07fe2677.js","assets/FactCard-3c5d1fcf.css","assets/gistClient-56b8a233.js","assets/Markdown.vue_vue_type_style_index_0_lang-99c6b55d.js","assets/Markdown-d883632e.css","assets/Template-b827c26f.css"]),meta:{title:"Playlist - reAudioPlayer One"}},{path:"/track/:hash",component:()=>pt(()=>import("./Track-77a6581d.js"),["assets/Track-77a6581d.js","assets/FactCard-07fe2677.js","assets/FactCard-3c5d1fcf.css","assets/EditSong.vue_vue_type_script_setup_true_lang-0170f423.js","assets/spotify-2bf3aeb7.js","assets/Track-c081b8b5.css"]),meta:{title:"Track - reAudioPlayer One"}},{path:"/artist/:name",component:()=>pt(()=>import("./Artist-d789cf52.js"),["assets/Artist-d789cf52.js","assets/FactCard-07fe2677.js","assets/FactCard-3c5d1fcf.css","assets/PlaylistEntry-4f48a6f3.js","assets/EditSong.vue_vue_type_script_setup_true_lang-0170f423.js","assets/playerInPicture-af203fdf.js","assets/PlaylistEntry-7f3947eb.css","assets/spotify-2bf3aeb7.js","assets/Artist-c9fc4a3d.css"]),meta:{title:"Artist - reAudioPlayer One"}},{path:"/album/:hash",component:()=>pt(()=>import("./Album-1148dcd6.js"),["assets/Album-1148dcd6.js","assets/PlaylistEntry-4f48a6f3.js","assets/EditSong.vue_vue_type_script_setup_true_lang-0170f423.js","assets/playerInPicture-af203fdf.js","assets/PlaylistEntry-7f3947eb.css","assets/Album-8d95da06.css"]),meta:{title:"Album - reAudioPlayer One"}},{path:"/preferences",component:()=>pt(()=>import("./index-26fd52a1.js"),["assets/index-26fd52a1.js","assets/Markdown.vue_vue_type_style_index_0_lang-99c6b55d.js","assets/Markdown-d883632e.css","assets/TrackCompact-28e1b8fb.js","assets/TrackCompact-79c8b159.css","assets/gistClient-56b8a233.js","assets/index-d4cfeb9f.css"]),meta:{title:"Preferences - reAudioPlayer One"}},{path:"/import",component:()=>pt(()=>import("./Import-2ae5cf6c.js"),["assets/Import-2ae5cf6c.js","assets/gistClient-56b8a233.js","assets/Import-15b3ffd5.css"]),meta:{title:"Import - reAudioPlayer One"}},{path:"/import/:id",component:()=>pt(()=>import("./ImportLink-33e77c3a.js"),["assets/ImportLink-33e77c3a.js","assets/ImportLink-fa9af2ae.css"]),meta:{title:"Import - reAudioPlayer One"}},{path:"/export",component:()=>pt(()=>import("./Export-b9da4cc1.js"),["assets/Export-b9da4cc1.js","assets/gistClient-56b8a233.js","assets/Export-a03f6dd4.css"]),meta:{title:"Export - reAudioPlayer One"}},{path:"/sing-along",component:()=>pt(()=>import("./index-7c86ad75.js"),["assets/index-7c86ad75.js","assets/index-fd630165.css"]),meta:{title:"Sing Along - reAudioPlayer One"}},{path:"/download",component:()=>pt(()=>import("./index-da602f8b.js"),["assets/index-da602f8b.js","assets/index-fd8d909d.css"]),meta:{title:"Download - reAudioPlayer One"}},{path:"/welcome",component:()=>pt(()=>import("./Welcome-9f07aa8e.js"),["assets/Welcome-9f07aa8e.js","assets/Welcome-5b21c29e.css"]),meta:{title:"Welcome to reAudioPlayer One"}},{path:"/news",component:()=>pt(()=>import("./News-a755b729.js"),["assets/News-a755b729.js","assets/FullShelf-b2b7ffe5.js","assets/FullShelf-62d1d109.css","assets/News-eb982e2f.css"]),meta:{title:"News - reAudioPlayer One"}},{path:"/sports",component:()=>pt(()=>import("./Sports-47b2f775.js"),["assets/Sports-47b2f775.js","assets/FullShelf-b2b7ffe5.js","assets/FullShelf-62d1d109.css","assets/Sports-ad2591fa.css"]),meta:{title:"Sports - reAudioPlayer One"}},{path:"/news/:url",component:()=>pt(()=>import("./NewsArticle-6976bfba.js"),["assets/NewsArticle-6976bfba.js","assets/Error-e5e93467.js","assets/Error-f18c7956.css","assets/NewsArticle-2facc133.css"]),meta:{title:"News - reAudioPlayer One"}},{path:"/player/insights",component:()=>pt(()=>import("./Insight-02bf27fd.js"),["assets/Insight-02bf27fd.js","assets/Insight-ab13ce31.css"]),meta:{title:"Insights - reAudioPlayer One"}},{path:"/player",component:()=>pt(()=>import("./BigPlayer-87137347.js"),["assets/BigPlayer-87137347.js","assets/Playlist.vue_vue_type_script_setup_true_lang-1d932c09.js","assets/PlaylistEntry-4f48a6f3.js","assets/EditSong.vue_vue_type_script_setup_true_lang-0170f423.js","assets/playerInPicture-af203fdf.js","assets/PlaylistEntry-7f3947eb.css","assets/vuedraggable.umd-c5c8aeea.js","assets/PlaylistCard-915b2cc1.js","assets/PlaylistCard-03dfa529.css","assets/BigPlayer-199abb6d.css"]),meta:{title:"reAudioPlayer One"}}],Ii=yk({history:GS(),routes:wk}),Ak=["placeholder","type"],xk=Ge({__name:"TextInputWithIcon",props:{icon:String,placeholder:String,modelValue:{type:String,required:!1,default:""},type:{type:String,required:!1,default:"text"},onClick:{type:Function,required:!1},expanded:{type:Boolean,required:!1,default:!1},onKeyUp:{type:Function,required:!1}},emits:["update:modelValue","change","submit","focusout"],setup(e,{expose:t,emit:r}){const s=e,o=Pe(s.modelValue);st(()=>s.modelValue,p=>{o.value=p});const l=r,u=()=>{l("update:modelValue",o.value),l("change",o.value)},c=p=>{s.onKeyUp&&s.onKeyUp(p)||p.key==="Enter"&&l("submit",o)},f=Pe();return t({focus:()=>{f.value.focus()}}),(p,h)=>(re(),ye("div",{class:Je(["text-input-with-icon rounded-3xl flex items-center px-4",{expanded:e.expanded}])},[te("span",{class:Je([{"cursor-pointer":e.onClick},"material-symbols-rounded ms-wght-200"]),onClick:h[0]||(h[0]=(...m)=>e.onClick&&e.onClick(...m))},De(e.icon),3),js(te("input",{"onUpdate:modelValue":h[1]||(h[1]=m=>o.value=m),placeholder:e.placeholder,type:e.type,onInput:u,onKeyup:c,onFocusout:h[2]||(h[2]=m=>p.$emit("focusout")),ref_key:"element",ref:f},null,40,Ak),[[xc,o.value]])],2))}});const Qu=at(xk,[["__scopeId","data-v-4b2cd9f3"]]);var As=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Pk(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function fI(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function s(){return this instanceof s?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(s){var o=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(r,s,o.get?o:{enumerable:!0,get:function(){return e[s]}})}),r}var Sa={exports:{}};/** - * @license - * Lodash - * Copyright OpenJS Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */Sa.exports;(function(e,t){(function(){var r,s="4.17.21",o=200,l="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",u="Expected a function",c="Invalid `variable` option passed into `_.template`",f="__lodash_hash_undefined__",p=500,h="__lodash_placeholder__",m=1,g=2,y=4,S=1,x=2,T=1,V=2,B=4,P=8,k=16,R=32,M=64,q=128,W=256,j=512,U=30,G="...",K=800,H=16,E=1,I=2,D=3,A=1/0,_=9007199254740991,Y=17976931348623157e292,N=0/0,b=4294967295,Q=b-1,de=b>>>1,Ce=[["ary",q],["bind",T],["bindKey",V],["curry",P],["curryRight",k],["flip",j],["partial",R],["partialRight",M],["rearg",W]],_e="[object Arguments]",ke="[object Array]",X="[object AsyncFunction]",se="[object Boolean]",he="[object Date]",Ae="[object DOMException]",Oe="[object Error]",je="[object Function]",O="[object GeneratorFunction]",L="[object Map]",J="[object Number]",ue="[object Null]",ne="[object Object]",ve="[object Promise]",be="[object Proxy]",me="[object RegExp]",ge="[object Set]",ce="[object String]",xe="[object Symbol]",Ie="[object Undefined]",Re="[object WeakMap]",We="[object WeakSet]",Ue="[object ArrayBuffer]",Qe="[object DataView]",ft="[object Float32Array]",At="[object Float64Array]",Ut="[object Int8Array]",Dn="[object Int16Array]",di="[object Int32Array]",Gn="[object Uint8Array]",hi="[object Uint8ClampedArray]",Lt="[object Uint16Array]",Jt="[object Uint32Array]",io=/\b__p \+= '';/g,ov=/\b(__p \+=) '' \+/g,av=/(__e\(.*?\)|\b__t\)) \+\n'';/g,$c=/&(?:amp|lt|gt|quot|#39);/g,Dc=/[&<>"']/g,lv=RegExp($c.source),uv=RegExp(Dc.source),cv=/<%-([\s\S]+?)%>/g,fv=/<%([\s\S]+?)%>/g,Nc=/<%=([\s\S]+?)%>/g,dv=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,hv=/^\w*$/,pv=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Za=/[\\^$.*+?()[\]{}|]/g,mv=RegExp(Za.source),Ja=/^\s+/,gv=/\s/,vv=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,yv=/\{\n\/\* \[wrapped with (.+)\] \*/,_v=/,? & /,bv=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,wv=/[()=,{}\[\]\/\s]/,Av=/\\(\\)?/g,xv=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Bc=/\w*$/,Pv=/^[-+]0x[0-9a-f]+$/i,Cv=/^0b[01]+$/i,Ev=/^\[object .+?Constructor\]$/,Sv=/^0o[0-7]+$/i,kv=/^(?:0|[1-9]\d*)$/,Ov=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,so=/($^)/,Rv=/['\n\r\u2028\u2029\\]/g,oo="\\ud800-\\udfff",Tv="\\u0300-\\u036f",Iv="\\ufe20-\\ufe2f",Mv="\\u20d0-\\u20ff",Vc=Tv+Iv+Mv,Wc="\\u2700-\\u27bf",Fc="a-z\\xdf-\\xf6\\xf8-\\xff",Lv="\\xac\\xb1\\xd7\\xf7",$v="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Dv="\\u2000-\\u206f",Nv=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Hc="A-Z\\xc0-\\xd6\\xd8-\\xde",Uc="\\ufe0e\\ufe0f",qc=Lv+$v+Dv+Nv,Xa="['’]",Bv="["+oo+"]",jc="["+qc+"]",ao="["+Vc+"]",Kc="\\d+",Vv="["+Wc+"]",Gc="["+Fc+"]",zc="[^"+oo+qc+Kc+Wc+Fc+Hc+"]",Qa="\\ud83c[\\udffb-\\udfff]",Wv="(?:"+ao+"|"+Qa+")",Yc="[^"+oo+"]",el="(?:\\ud83c[\\udde6-\\uddff]){2}",tl="[\\ud800-\\udbff][\\udc00-\\udfff]",pi="["+Hc+"]",Zc="\\u200d",Jc="(?:"+Gc+"|"+zc+")",Fv="(?:"+pi+"|"+zc+")",Xc="(?:"+Xa+"(?:d|ll|m|re|s|t|ve))?",Qc="(?:"+Xa+"(?:D|LL|M|RE|S|T|VE))?",ef=Wv+"?",tf="["+Uc+"]?",Hv="(?:"+Zc+"(?:"+[Yc,el,tl].join("|")+")"+tf+ef+")*",Uv="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",qv="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",nf=tf+ef+Hv,jv="(?:"+[Vv,el,tl].join("|")+")"+nf,Kv="(?:"+[Yc+ao+"?",ao,el,tl,Bv].join("|")+")",Gv=RegExp(Xa,"g"),zv=RegExp(ao,"g"),nl=RegExp(Qa+"(?="+Qa+")|"+Kv+nf,"g"),Yv=RegExp([pi+"?"+Gc+"+"+Xc+"(?="+[jc,pi,"$"].join("|")+")",Fv+"+"+Qc+"(?="+[jc,pi+Jc,"$"].join("|")+")",pi+"?"+Jc+"+"+Xc,pi+"+"+Qc,qv,Uv,Kc,jv].join("|"),"g"),Zv=RegExp("["+Zc+oo+Vc+Uc+"]"),Jv=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Xv=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Qv=-1,gt={};gt[ft]=gt[At]=gt[Ut]=gt[Dn]=gt[di]=gt[Gn]=gt[hi]=gt[Lt]=gt[Jt]=!0,gt[_e]=gt[ke]=gt[Ue]=gt[se]=gt[Qe]=gt[he]=gt[Oe]=gt[je]=gt[L]=gt[J]=gt[ne]=gt[me]=gt[ge]=gt[ce]=gt[Re]=!1;var mt={};mt[_e]=mt[ke]=mt[Ue]=mt[Qe]=mt[se]=mt[he]=mt[ft]=mt[At]=mt[Ut]=mt[Dn]=mt[di]=mt[L]=mt[J]=mt[ne]=mt[me]=mt[ge]=mt[ce]=mt[xe]=mt[Gn]=mt[hi]=mt[Lt]=mt[Jt]=!0,mt[Oe]=mt[je]=mt[Re]=!1;var ey={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},ty={"&":"&","<":"<",">":">",'"':""","'":"'"},ny={"&":"&","<":"<",">":">",""":'"',"'":"'"},ry={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},iy=parseFloat,sy=parseInt,rf=typeof As=="object"&&As&&As.Object===Object&&As,oy=typeof self=="object"&&self&&self.Object===Object&&self,$t=rf||oy||Function("return this")(),rl=t&&!t.nodeType&&t,qr=rl&&!0&&e&&!e.nodeType&&e,sf=qr&&qr.exports===rl,il=sf&&rf.process,yn=function(){try{var z=qr&&qr.require&&qr.require("util").types;return z||il&&il.binding&&il.binding("util")}catch{}}(),of=yn&&yn.isArrayBuffer,af=yn&&yn.isDate,lf=yn&&yn.isMap,uf=yn&&yn.isRegExp,cf=yn&&yn.isSet,ff=yn&&yn.isTypedArray;function ln(z,ie,ee){switch(ee.length){case 0:return z.call(ie);case 1:return z.call(ie,ee[0]);case 2:return z.call(ie,ee[0],ee[1]);case 3:return z.call(ie,ee[0],ee[1],ee[2])}return z.apply(ie,ee)}function ay(z,ie,ee,Ee){for(var Fe=-1,it=z==null?0:z.length;++Fe-1}function sl(z,ie,ee){for(var Ee=-1,Fe=z==null?0:z.length;++Ee-1;);return ee}function _f(z,ie){for(var ee=z.length;ee--&&mi(ie,z[ee],0)>-1;);return ee}function gy(z,ie){for(var ee=z.length,Ee=0;ee--;)z[ee]===ie&&++Ee;return Ee}var vy=ul(ey),yy=ul(ty);function _y(z){return"\\"+ry[z]}function by(z,ie){return z==null?r:z[ie]}function gi(z){return Zv.test(z)}function wy(z){return Jv.test(z)}function Ay(z){for(var ie,ee=[];!(ie=z.next()).done;)ee.push(ie.value);return ee}function hl(z){var ie=-1,ee=Array(z.size);return z.forEach(function(Ee,Fe){ee[++ie]=[Fe,Ee]}),ee}function bf(z,ie){return function(ee){return z(ie(ee))}}function pr(z,ie){for(var ee=-1,Ee=z.length,Fe=0,it=[];++ee-1}function u_(n,i){var a=this.__data__,d=Eo(a,n);return d<0?(++this.size,a.push([n,i])):a[d][1]=i,this}zn.prototype.clear=s_,zn.prototype.delete=o_,zn.prototype.get=a_,zn.prototype.has=l_,zn.prototype.set=u_;function Yn(n){var i=-1,a=n==null?0:n.length;for(this.clear();++i=i?n:i)),n}function An(n,i,a,d,v,C){var $,F=i&m,Z=i&g,ae=i&y;if(a&&($=v?a(n,d,v,C):a(n)),$!==r)return $;if(!wt(n))return n;var le=He(n);if(le){if($=hb(n),!F)return Xt(n,$)}else{var fe=Ft(n),we=fe==je||fe==O;if(br(n))return nd(n,F);if(fe==ne||fe==_e||we&&!v){if($=Z||we?{}:wd(n),!F)return Z?nb(n,C_($,n)):tb(n,If($,n))}else{if(!mt[fe])return v?n:{};$=pb(n,fe,F)}}C||(C=new Rn);var Te=C.get(n);if(Te)return Te;C.set(n,$),Zd(n)?n.forEach(function($e){$.add(An($e,i,a,$e,n,C))}):zd(n)&&n.forEach(function($e,Ze){$.set(Ze,An($e,i,a,Ze,n,C))});var Le=ae?Z?Vl:Bl:Z?en:Mt,Ke=le?r:Le(n);return _n(Ke||n,function($e,Ze){Ke&&(Ze=$e,$e=n[Ze]),ls($,Ze,An($e,i,a,Ze,n,C))}),$}function E_(n){var i=Mt(n);return function(a){return Mf(a,n,i)}}function Mf(n,i,a){var d=a.length;if(n==null)return!d;for(n=ht(n);d--;){var v=a[d],C=i[v],$=n[v];if($===r&&!(v in n)||!C($))return!1}return!0}function Lf(n,i,a){if(typeof n!="function")throw new bn(u);return ms(function(){n.apply(r,a)},i)}function us(n,i,a,d){var v=-1,C=lo,$=!0,F=n.length,Z=[],ae=i.length;if(!F)return Z;a&&(i=vt(i,un(a))),d?(C=sl,$=!1):i.length>=o&&(C=ns,$=!1,i=new Gr(i));e:for(;++vv?0:v+a),d=d===r||d>v?v:qe(d),d<0&&(d+=v),d=a>d?0:Xd(d);a0&&a(F)?i>1?Dt(F,i-1,a,d,v):hr(v,F):d||(v[v.length]=F)}return v}var bl=ld(),Nf=ld(!0);function Nn(n,i){return n&&bl(n,i,Mt)}function wl(n,i){return n&&Nf(n,i,Mt)}function ko(n,i){return dr(i,function(a){return er(n[a])})}function Yr(n,i){i=yr(i,n);for(var a=0,d=i.length;n!=null&&ai}function O_(n,i){return n!=null&<.call(n,i)}function R_(n,i){return n!=null&&i in ht(n)}function T_(n,i,a){return n>=Wt(i,a)&&n=120&&le.length>=120)?new Gr($&&le):r}le=n[0];var fe=-1,we=F[0];e:for(;++fe-1;)F!==n&&_o.call(F,Z,1),_o.call(n,Z,1);return n}function zf(n,i){for(var a=n?i.length:0,d=a-1;a--;){var v=i[a];if(a==d||v!==C){var C=v;Qn(v)?_o.call(n,v,1):Tl(n,v)}}return n}function kl(n,i){return n+Ao(kf()*(i-n+1))}function q_(n,i,a,d){for(var v=-1,C=Rt(wo((i-n)/(a||1)),0),$=ee(C);C--;)$[d?C:++v]=n,n+=a;return $}function Ol(n,i){var a="";if(!n||i<1||i>_)return a;do i%2&&(a+=n),i=Ao(i/2),i&&(n+=n);while(i);return a}function ze(n,i){return Kl(Pd(n,i,tn),n+"")}function j_(n){return Tf(Si(n))}function K_(n,i){var a=Si(n);return Vo(a,zr(i,0,a.length))}function ds(n,i,a,d){if(!wt(n))return n;i=yr(i,n);for(var v=-1,C=i.length,$=C-1,F=n;F!=null&&++vv?0:v+i),a=a>v?v:a,a<0&&(a+=v),v=i>a?0:a-i>>>0,i>>>=0;for(var C=ee(v);++d>>1,$=n[C];$!==null&&!fn($)&&(a?$<=i:$=o){var ae=i?null:ob(n);if(ae)return co(ae);$=!1,v=ns,Z=new Gr}else Z=i?[]:F;e:for(;++d=d?n:xn(n,i,a)}var td=Ny||function(n){return $t.clearTimeout(n)};function nd(n,i){if(i)return n.slice();var a=n.length,d=xf?xf(a):new n.constructor(a);return n.copy(d),d}function $l(n){var i=new n.constructor(n.byteLength);return new vo(i).set(new vo(n)),i}function J_(n,i){var a=i?$l(n.buffer):n.buffer;return new n.constructor(a,n.byteOffset,n.byteLength)}function X_(n){var i=new n.constructor(n.source,Bc.exec(n));return i.lastIndex=n.lastIndex,i}function Q_(n){return as?ht(as.call(n)):{}}function rd(n,i){var a=i?$l(n.buffer):n.buffer;return new n.constructor(a,n.byteOffset,n.length)}function id(n,i){if(n!==i){var a=n!==r,d=n===null,v=n===n,C=fn(n),$=i!==r,F=i===null,Z=i===i,ae=fn(i);if(!F&&!ae&&!C&&n>i||C&&$&&Z&&!F&&!ae||d&&$&&Z||!a&&Z||!v)return 1;if(!d&&!C&&!ae&&n=F)return Z;var ae=a[d];return Z*(ae=="desc"?-1:1)}}return n.index-i.index}function sd(n,i,a,d){for(var v=-1,C=n.length,$=a.length,F=-1,Z=i.length,ae=Rt(C-$,0),le=ee(Z+ae),fe=!d;++F1?a[v-1]:r,$=v>2?a[2]:r;for(C=n.length>3&&typeof C=="function"?(v--,C):r,$&&jt(a[0],a[1],$)&&(C=v<3?r:C,v=1),i=ht(i);++d-1?v[C?i[$]:$]:r}}function fd(n){return Xn(function(i){var a=i.length,d=a,v=wn.prototype.thru;for(n&&i.reverse();d--;){var C=i[d];if(typeof C!="function")throw new bn(u);if(v&&!$&&No(C)=="wrapper")var $=new wn([],!0)}for(d=$?d:a;++d1&&et.reverse(),le&&ZF))return!1;var ae=C.get(n),le=C.get(i);if(ae&&le)return ae==i&&le==n;var fe=-1,we=!0,Te=a&x?new Gr:r;for(C.set(n,i),C.set(i,n);++fe1?"& ":"")+i[d],i=i.join(a>2?", ":" "),n.replace(vv,`{ -/* [wrapped with `+i+`] */ -`)}function gb(n){return He(n)||Xr(n)||!!(Ef&&n&&n[Ef])}function Qn(n,i){var a=typeof n;return i=i??_,!!i&&(a=="number"||a!="symbol"&&kv.test(n))&&n>-1&&n%1==0&&n0){if(++i>=K)return arguments[0]}else i=0;return n.apply(r,arguments)}}function Vo(n,i){var a=-1,d=n.length,v=d-1;for(i=i===r?d:i;++a1?n[i-1]:r;return a=typeof a=="function"?(n.pop(),a):r,Dd(n,a)});function Nd(n){var i=w(n);return i.__chain__=!0,i}function S0(n,i){return i(n),n}function Wo(n,i){return i(n)}var k0=Xn(function(n){var i=n.length,a=i?n[0]:0,d=this.__wrapped__,v=function(C){return _l(C,n)};return i>1||this.__actions__.length||!(d instanceof Xe)||!Qn(a)?this.thru(v):(d=d.slice(a,+a+(i?1:0)),d.__actions__.push({func:Wo,args:[v],thisArg:r}),new wn(d,this.__chain__).thru(function(C){return i&&!C.length&&C.push(r),C}))});function O0(){return Nd(this)}function R0(){return new wn(this.value(),this.__chain__)}function T0(){this.__values__===r&&(this.__values__=Jd(this.value()));var n=this.__index__>=this.__values__.length,i=n?r:this.__values__[this.__index__++];return{done:n,value:i}}function I0(){return this}function M0(n){for(var i,a=this;a instanceof Co;){var d=Rd(a);d.__index__=0,d.__values__=r,i?v.__wrapped__=d:i=d;var v=d;a=a.__wrapped__}return v.__wrapped__=n,i}function L0(){var n=this.__wrapped__;if(n instanceof Xe){var i=n;return this.__actions__.length&&(i=new Xe(this)),i=i.reverse(),i.__actions__.push({func:Wo,args:[Gl],thisArg:r}),new wn(i,this.__chain__)}return this.thru(Gl)}function $0(){return Qf(this.__wrapped__,this.__actions__)}var D0=Io(function(n,i,a){lt.call(n,a)?++n[a]:Zn(n,a,1)});function N0(n,i,a){var d=He(n)?df:S_;return a&&jt(n,i,a)&&(i=r),d(n,Me(i,3))}function B0(n,i){var a=He(n)?dr:Df;return a(n,Me(i,3))}var V0=cd(Td),W0=cd(Id);function F0(n,i){return Dt(Fo(n,i),1)}function H0(n,i){return Dt(Fo(n,i),A)}function U0(n,i,a){return a=a===r?1:qe(a),Dt(Fo(n,i),a)}function Bd(n,i){var a=He(n)?_n:gr;return a(n,Me(i,3))}function Vd(n,i){var a=He(n)?ly:$f;return a(n,Me(i,3))}var q0=Io(function(n,i,a){lt.call(n,a)?n[a].push(i):Zn(n,a,[i])});function j0(n,i,a,d){n=Qt(n)?n:Si(n),a=a&&!d?qe(a):0;var v=n.length;return a<0&&(a=Rt(v+a,0)),Ko(n)?a<=v&&n.indexOf(i,a)>-1:!!v&&mi(n,i,a)>-1}var K0=ze(function(n,i,a){var d=-1,v=typeof i=="function",C=Qt(n)?ee(n.length):[];return gr(n,function($){C[++d]=v?ln(i,$,a):cs($,i,a)}),C}),G0=Io(function(n,i,a){Zn(n,a,i)});function Fo(n,i){var a=He(n)?vt:Hf;return a(n,Me(i,3))}function z0(n,i,a,d){return n==null?[]:(He(i)||(i=i==null?[]:[i]),a=d?r:a,He(a)||(a=a==null?[]:[a]),Kf(n,i,a))}var Y0=Io(function(n,i,a){n[a?0:1].push(i)},function(){return[[],[]]});function Z0(n,i,a){var d=He(n)?ol:gf,v=arguments.length<3;return d(n,Me(i,4),a,v,gr)}function J0(n,i,a){var d=He(n)?uy:gf,v=arguments.length<3;return d(n,Me(i,4),a,v,$f)}function X0(n,i){var a=He(n)?dr:Df;return a(n,qo(Me(i,3)))}function Q0(n){var i=He(n)?Tf:j_;return i(n)}function ew(n,i,a){(a?jt(n,i,a):i===r)?i=1:i=qe(i);var d=He(n)?A_:K_;return d(n,i)}function tw(n){var i=He(n)?x_:z_;return i(n)}function nw(n){if(n==null)return 0;if(Qt(n))return Ko(n)?vi(n):n.length;var i=Ft(n);return i==L||i==ge?n.size:Cl(n).length}function rw(n,i,a){var d=He(n)?al:Y_;return a&&jt(n,i,a)&&(i=r),d(n,Me(i,3))}var iw=ze(function(n,i){if(n==null)return[];var a=i.length;return a>1&&jt(n,i[0],i[1])?i=[]:a>2&&jt(i[0],i[1],i[2])&&(i=[i[0]]),Kf(n,Dt(i,1),[])}),Ho=By||function(){return $t.Date.now()};function sw(n,i){if(typeof i!="function")throw new bn(u);return n=qe(n),function(){if(--n<1)return i.apply(this,arguments)}}function Wd(n,i,a){return i=a?r:i,i=n&&i==null?n.length:i,Jn(n,q,r,r,r,r,i)}function Fd(n,i){var a;if(typeof i!="function")throw new bn(u);return n=qe(n),function(){return--n>0&&(a=i.apply(this,arguments)),n<=1&&(i=r),a}}var Yl=ze(function(n,i,a){var d=T;if(a.length){var v=pr(a,Ci(Yl));d|=R}return Jn(n,d,i,a,v)}),Hd=ze(function(n,i,a){var d=T|V;if(a.length){var v=pr(a,Ci(Hd));d|=R}return Jn(i,d,n,a,v)});function Ud(n,i,a){i=a?r:i;var d=Jn(n,P,r,r,r,r,r,i);return d.placeholder=Ud.placeholder,d}function qd(n,i,a){i=a?r:i;var d=Jn(n,k,r,r,r,r,r,i);return d.placeholder=qd.placeholder,d}function jd(n,i,a){var d,v,C,$,F,Z,ae=0,le=!1,fe=!1,we=!0;if(typeof n!="function")throw new bn(u);i=Cn(i)||0,wt(a)&&(le=!!a.leading,fe="maxWait"in a,C=fe?Rt(Cn(a.maxWait)||0,i):C,we="trailing"in a?!!a.trailing:we);function Te(Et){var In=d,nr=v;return d=v=r,ae=Et,$=n.apply(nr,In),$}function Le(Et){return ae=Et,F=ms(Ze,i),le?Te(Et):$}function Ke(Et){var In=Et-Z,nr=Et-ae,ch=i-In;return fe?Wt(ch,C-nr):ch}function $e(Et){var In=Et-Z,nr=Et-ae;return Z===r||In>=i||In<0||fe&&nr>=C}function Ze(){var Et=Ho();if($e(Et))return et(Et);F=ms(Ze,Ke(Et))}function et(Et){return F=r,we&&d?Te(Et):(d=v=r,$)}function dn(){F!==r&&td(F),ae=0,d=Z=v=F=r}function Kt(){return F===r?$:et(Ho())}function hn(){var Et=Ho(),In=$e(Et);if(d=arguments,v=this,Z=Et,In){if(F===r)return Le(Z);if(fe)return td(F),F=ms(Ze,i),Te(Z)}return F===r&&(F=ms(Ze,i)),$}return hn.cancel=dn,hn.flush=Kt,hn}var ow=ze(function(n,i){return Lf(n,1,i)}),aw=ze(function(n,i,a){return Lf(n,Cn(i)||0,a)});function lw(n){return Jn(n,j)}function Uo(n,i){if(typeof n!="function"||i!=null&&typeof i!="function")throw new bn(u);var a=function(){var d=arguments,v=i?i.apply(this,d):d[0],C=a.cache;if(C.has(v))return C.get(v);var $=n.apply(this,d);return a.cache=C.set(v,$)||C,$};return a.cache=new(Uo.Cache||Yn),a}Uo.Cache=Yn;function qo(n){if(typeof n!="function")throw new bn(u);return function(){var i=arguments;switch(i.length){case 0:return!n.call(this);case 1:return!n.call(this,i[0]);case 2:return!n.call(this,i[0],i[1]);case 3:return!n.call(this,i[0],i[1],i[2])}return!n.apply(this,i)}}function uw(n){return Fd(2,n)}var cw=Z_(function(n,i){i=i.length==1&&He(i[0])?vt(i[0],un(Me())):vt(Dt(i,1),un(Me()));var a=i.length;return ze(function(d){for(var v=-1,C=Wt(d.length,a);++v=i}),Xr=Vf(function(){return arguments}())?Vf:function(n){return xt(n)&<.call(n,"callee")&&!Cf.call(n,"callee")},He=ee.isArray,Cw=of?un(of):M_;function Qt(n){return n!=null&&jo(n.length)&&!er(n)}function Ct(n){return xt(n)&&Qt(n)}function Ew(n){return n===!0||n===!1||xt(n)&&qt(n)==se}var br=Wy||au,Sw=af?un(af):L_;function kw(n){return xt(n)&&n.nodeType===1&&!gs(n)}function Ow(n){if(n==null)return!0;if(Qt(n)&&(He(n)||typeof n=="string"||typeof n.splice=="function"||br(n)||Ei(n)||Xr(n)))return!n.length;var i=Ft(n);if(i==L||i==ge)return!n.size;if(ps(n))return!Cl(n).length;for(var a in n)if(lt.call(n,a))return!1;return!0}function Rw(n,i){return fs(n,i)}function Tw(n,i,a){a=typeof a=="function"?a:r;var d=a?a(n,i):r;return d===r?fs(n,i,r,a):!!d}function Jl(n){if(!xt(n))return!1;var i=qt(n);return i==Oe||i==Ae||typeof n.message=="string"&&typeof n.name=="string"&&!gs(n)}function Iw(n){return typeof n=="number"&&Sf(n)}function er(n){if(!wt(n))return!1;var i=qt(n);return i==je||i==O||i==X||i==be}function Gd(n){return typeof n=="number"&&n==qe(n)}function jo(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=_}function wt(n){var i=typeof n;return n!=null&&(i=="object"||i=="function")}function xt(n){return n!=null&&typeof n=="object"}var zd=lf?un(lf):D_;function Mw(n,i){return n===i||Pl(n,i,Fl(i))}function Lw(n,i,a){return a=typeof a=="function"?a:r,Pl(n,i,Fl(i),a)}function $w(n){return Yd(n)&&n!=+n}function Dw(n){if(_b(n))throw new Fe(l);return Wf(n)}function Nw(n){return n===null}function Bw(n){return n==null}function Yd(n){return typeof n=="number"||xt(n)&&qt(n)==J}function gs(n){if(!xt(n)||qt(n)!=ne)return!1;var i=yo(n);if(i===null)return!0;var a=lt.call(i,"constructor")&&i.constructor;return typeof a=="function"&&a instanceof a&&po.call(a)==Ly}var Xl=uf?un(uf):N_;function Vw(n){return Gd(n)&&n>=-_&&n<=_}var Zd=cf?un(cf):B_;function Ko(n){return typeof n=="string"||!He(n)&&xt(n)&&qt(n)==ce}function fn(n){return typeof n=="symbol"||xt(n)&&qt(n)==xe}var Ei=ff?un(ff):V_;function Ww(n){return n===r}function Fw(n){return xt(n)&&Ft(n)==Re}function Hw(n){return xt(n)&&qt(n)==We}var Uw=Do(El),qw=Do(function(n,i){return n<=i});function Jd(n){if(!n)return[];if(Qt(n))return Ko(n)?On(n):Xt(n);if(rs&&n[rs])return Ay(n[rs]());var i=Ft(n),a=i==L?hl:i==ge?co:Si;return a(n)}function tr(n){if(!n)return n===0?n:0;if(n=Cn(n),n===A||n===-A){var i=n<0?-1:1;return i*Y}return n===n?n:0}function qe(n){var i=tr(n),a=i%1;return i===i?a?i-a:i:0}function Xd(n){return n?zr(qe(n),0,b):0}function Cn(n){if(typeof n=="number")return n;if(fn(n))return N;if(wt(n)){var i=typeof n.valueOf=="function"?n.valueOf():n;n=wt(i)?i+"":i}if(typeof n!="string")return n===0?n:+n;n=vf(n);var a=Cv.test(n);return a||Sv.test(n)?sy(n.slice(2),a?2:8):Pv.test(n)?N:+n}function Qd(n){return Bn(n,en(n))}function jw(n){return n?zr(qe(n),-_,_):n===0?n:0}function ot(n){return n==null?"":cn(n)}var Kw=xi(function(n,i){if(ps(i)||Qt(i)){Bn(i,Mt(i),n);return}for(var a in i)lt.call(i,a)&&ls(n,a,i[a])}),eh=xi(function(n,i){Bn(i,en(i),n)}),Go=xi(function(n,i,a,d){Bn(i,en(i),n,d)}),Gw=xi(function(n,i,a,d){Bn(i,Mt(i),n,d)}),zw=Xn(_l);function Yw(n,i){var a=Ai(n);return i==null?a:If(a,i)}var Zw=ze(function(n,i){n=ht(n);var a=-1,d=i.length,v=d>2?i[2]:r;for(v&&jt(i[0],i[1],v)&&(d=1);++a1),C}),Bn(n,Vl(n),a),d&&(a=An(a,m|g|y,ab));for(var v=i.length;v--;)Tl(a,i[v]);return a});function p1(n,i){return nh(n,qo(Me(i)))}var m1=Xn(function(n,i){return n==null?{}:H_(n,i)});function nh(n,i){if(n==null)return{};var a=vt(Vl(n),function(d){return[d]});return i=Me(i),Gf(n,a,function(d,v){return i(d,v[0])})}function g1(n,i,a){i=yr(i,n);var d=-1,v=i.length;for(v||(v=1,n=r);++di){var d=n;n=i,i=d}if(a||n%1||i%1){var v=kf();return Wt(n+v*(i-n+iy("1e-"+((v+"").length-1))),i)}return kl(n,i)}var S1=Pi(function(n,i,a){return i=i.toLowerCase(),n+(a?sh(i):i)});function sh(n){return tu(ot(n).toLowerCase())}function oh(n){return n=ot(n),n&&n.replace(Ov,vy).replace(zv,"")}function k1(n,i,a){n=ot(n),i=cn(i);var d=n.length;a=a===r?d:zr(qe(a),0,d);var v=a;return a-=i.length,a>=0&&n.slice(a,v)==i}function O1(n){return n=ot(n),n&&uv.test(n)?n.replace(Dc,yy):n}function R1(n){return n=ot(n),n&&mv.test(n)?n.replace(Za,"\\$&"):n}var T1=Pi(function(n,i,a){return n+(a?"-":"")+i.toLowerCase()}),I1=Pi(function(n,i,a){return n+(a?" ":"")+i.toLowerCase()}),M1=ud("toLowerCase");function L1(n,i,a){n=ot(n),i=qe(i);var d=i?vi(n):0;if(!i||d>=i)return n;var v=(i-d)/2;return $o(Ao(v),a)+n+$o(wo(v),a)}function $1(n,i,a){n=ot(n),i=qe(i);var d=i?vi(n):0;return i&&d>>0,a?(n=ot(n),n&&(typeof i=="string"||i!=null&&!Xl(i))&&(i=cn(i),!i&&gi(n))?_r(On(n),0,a):n.split(i,a)):[]}var H1=Pi(function(n,i,a){return n+(a?" ":"")+tu(i)});function U1(n,i,a){return n=ot(n),a=a==null?0:zr(qe(a),0,n.length),i=cn(i),n.slice(a,a+i.length)==i}function q1(n,i,a){var d=w.templateSettings;a&&jt(n,i,a)&&(i=r),n=ot(n),i=Go({},i,d,gd);var v=Go({},i.imports,d.imports,gd),C=Mt(v),$=dl(v,C),F,Z,ae=0,le=i.interpolate||so,fe="__p += '",we=pl((i.escape||so).source+"|"+le.source+"|"+(le===Nc?xv:so).source+"|"+(i.evaluate||so).source+"|$","g"),Te="//# sourceURL="+(lt.call(i,"sourceURL")?(i.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Qv+"]")+` -`;n.replace(we,function($e,Ze,et,dn,Kt,hn){return et||(et=dn),fe+=n.slice(ae,hn).replace(Rv,_y),Ze&&(F=!0,fe+=`' + -__e(`+Ze+`) + -'`),Kt&&(Z=!0,fe+=`'; -`+Kt+`; -__p += '`),et&&(fe+=`' + -((__t = (`+et+`)) == null ? '' : __t) + -'`),ae=hn+$e.length,$e}),fe+=`'; -`;var Le=lt.call(i,"variable")&&i.variable;if(!Le)fe=`with (obj) { -`+fe+` -} -`;else if(wv.test(Le))throw new Fe(c);fe=(Z?fe.replace(io,""):fe).replace(ov,"$1").replace(av,"$1;"),fe="function("+(Le||"obj")+`) { -`+(Le?"":`obj || (obj = {}); -`)+"var __t, __p = ''"+(F?", __e = _.escape":"")+(Z?`, __j = Array.prototype.join; -function print() { __p += __j.call(arguments, '') } -`:`; -`)+fe+`return __p -}`;var Ke=lh(function(){return it(C,Te+"return "+fe).apply(r,$)});if(Ke.source=fe,Jl(Ke))throw Ke;return Ke}function j1(n){return ot(n).toLowerCase()}function K1(n){return ot(n).toUpperCase()}function G1(n,i,a){if(n=ot(n),n&&(a||i===r))return vf(n);if(!n||!(i=cn(i)))return n;var d=On(n),v=On(i),C=yf(d,v),$=_f(d,v)+1;return _r(d,C,$).join("")}function z1(n,i,a){if(n=ot(n),n&&(a||i===r))return n.slice(0,wf(n)+1);if(!n||!(i=cn(i)))return n;var d=On(n),v=_f(d,On(i))+1;return _r(d,0,v).join("")}function Y1(n,i,a){if(n=ot(n),n&&(a||i===r))return n.replace(Ja,"");if(!n||!(i=cn(i)))return n;var d=On(n),v=yf(d,On(i));return _r(d,v).join("")}function Z1(n,i){var a=U,d=G;if(wt(i)){var v="separator"in i?i.separator:v;a="length"in i?qe(i.length):a,d="omission"in i?cn(i.omission):d}n=ot(n);var C=n.length;if(gi(n)){var $=On(n);C=$.length}if(a>=C)return n;var F=a-vi(d);if(F<1)return d;var Z=$?_r($,0,F).join(""):n.slice(0,F);if(v===r)return Z+d;if($&&(F+=Z.length-F),Xl(v)){if(n.slice(F).search(v)){var ae,le=Z;for(v.global||(v=pl(v.source,ot(Bc.exec(v))+"g")),v.lastIndex=0;ae=v.exec(le);)var fe=ae.index;Z=Z.slice(0,fe===r?F:fe)}}else if(n.indexOf(cn(v),F)!=F){var we=Z.lastIndexOf(v);we>-1&&(Z=Z.slice(0,we))}return Z+d}function J1(n){return n=ot(n),n&&lv.test(n)?n.replace($c,Ey):n}var X1=Pi(function(n,i,a){return n+(a?" ":"")+i.toUpperCase()}),tu=ud("toUpperCase");function ah(n,i,a){return n=ot(n),i=a?r:i,i===r?wy(n)?Oy(n):dy(n):n.match(i)||[]}var lh=ze(function(n,i){try{return ln(n,r,i)}catch(a){return Jl(a)?a:new Fe(a)}}),Q1=Xn(function(n,i){return _n(i,function(a){a=Vn(a),Zn(n,a,Yl(n[a],n))}),n});function eA(n){var i=n==null?0:n.length,a=Me();return n=i?vt(n,function(d){if(typeof d[1]!="function")throw new bn(u);return[a(d[0]),d[1]]}):[],ze(function(d){for(var v=-1;++v_)return[];var a=b,d=Wt(n,b);i=Me(i),n-=b;for(var v=fl(d,i);++a0||i<0)?new Xe(a):(n<0?a=a.takeRight(-n):n&&(a=a.drop(n)),i!==r&&(i=qe(i),a=i<0?a.dropRight(-i):a.take(i-n)),a)},Xe.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},Xe.prototype.toArray=function(){return this.take(b)},Nn(Xe.prototype,function(n,i){var a=/^(?:filter|find|map|reject)|While$/.test(i),d=/^(?:head|last)$/.test(i),v=w[d?"take"+(i=="last"?"Right":""):i],C=d||/^find/.test(i);v&&(w.prototype[i]=function(){var $=this.__wrapped__,F=d?[1]:arguments,Z=$ instanceof Xe,ae=F[0],le=Z||He($),fe=function(Ze){var et=v.apply(w,hr([Ze],F));return d&&we?et[0]:et};le&&a&&typeof ae=="function"&&ae.length!=1&&(Z=le=!1);var we=this.__chain__,Te=!!this.__actions__.length,Le=C&&!we,Ke=Z&&!Te;if(!C&&le){$=Ke?$:new Xe(this);var $e=n.apply($,F);return $e.__actions__.push({func:Wo,args:[fe],thisArg:r}),new wn($e,we)}return Le&&Ke?n.apply(this,F):($e=this.thru(fe),Le?d?$e.value()[0]:$e.value():$e)})}),_n(["pop","push","shift","sort","splice","unshift"],function(n){var i=fo[n],a=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",d=/^(?:pop|shift)$/.test(n);w.prototype[n]=function(){var v=arguments;if(d&&!this.__chain__){var C=this.value();return i.apply(He(C)?C:[],v)}return this[a](function($){return i.apply(He($)?$:[],v)})}}),Nn(Xe.prototype,function(n,i){var a=w[i];if(a){var d=a.name+"";lt.call(wi,d)||(wi[d]=[]),wi[d].push({name:i,func:a})}}),wi[Mo(r,V).name]=[{name:"wrapper",func:r}],Xe.prototype.clone=Jy,Xe.prototype.reverse=Xy,Xe.prototype.value=Qy,w.prototype.at=k0,w.prototype.chain=O0,w.prototype.commit=R0,w.prototype.next=T0,w.prototype.plant=M0,w.prototype.reverse=L0,w.prototype.toJSON=w.prototype.valueOf=w.prototype.value=$0,w.prototype.first=w.prototype.head,rs&&(w.prototype[rs]=I0),w},yi=Ry();qr?((qr.exports=yi)._=yi,rl._=yi):$t._=yi}).call(As)})(Sa,Sa.exports);var Ck=Sa.exports;const Ek={class:"flex flex-col"},Sk=Ge({__name:"InputWithAutoComplete",props:{icon:String,placeholder:String,modelValue:String,onClick:{type:Function,required:!1},suggest:{type:Function,required:!0},clickSuggest:{type:Function,required:!1}},emits:["update:modelValue","change","submit"],setup(e,{expose:t,emit:r}){const s=Pe(-1),o=T=>T.key==="ArrowDown"?(s.value++,s.value>=g.value.length&&(s.value=-1),!0):T.key==="ArrowUp"?(s.value===-1&&(s.value=g.value.length),s.value--,s.value<0&&(s.value=-1),!0):T.key==="Enter"&&s.value>=0?(c.clickSuggest(g.value[s.value],T.shiftKey),s.value=-1,g.value=[],!0):!1,l=()=>{g.value=[],S("submit",f.value)},u=()=>{var T,V;(V=(T=h.value)==null?void 0:T.querySelector("input"))==null||V.blur()};document.addEventListener("click",T=>{var V;(V=h.value)!=null&&V.contains(T.target)||(g.value=[],s.value=-1)}),document.addEventListener("keydown",T=>{T.key==="Escape"&&(g.value=[],s.value=-1,u())});const c=e,f=Pe(c.modelValue),p=Pe(null);st(()=>c.modelValue,T=>{f.value=T});const h=Pe(null),m=Ve(()=>{var T,V;return{top:h.value.offsetTop+h.value.offsetHeight+"px",left:((T=h.value)==null?void 0:T.offsetLeft)+"px",width:((V=h.value)==null?void 0:V.offsetWidth)+"px"}}),g=Pe([]),y=Ck.debounce(async()=>{g.value=(await c.suggest(f.value)).slice(0,5)},300),S=r,x=()=>{S("update:modelValue",f.value),S("change",f.value),y()};return t({focus:()=>{var T;(T=p.value)==null||T.focus()},blur:u}),(T,V)=>(re(),ye(tt,null,[te("div",{ref_key:"inputElement",ref:h,class:"input-with-autocomplete"},[pe(Qu,{modelValue:f.value,"onUpdate:modelValue":V[0]||(V[0]=B=>f.value=B),icon:e.icon,placeholder:e.placeholder,onChange:x,onSubmit:l,onKeyUp:o,expanded:g.value.length>0,ref_key:"input",ref:p},null,8,["modelValue","icon","placeholder","expanded"])],512),g.value.length>0?(re(),Ye(Qs,{key:0,to:"#autocomplete-target"},[te("div",{class:"suggestions absolute w-full z-10",style:Fr(m.value),onClick:V[1]||(V[1]=Bt(B=>g.value=[],["stop"]))},[te("div",Ek,[(re(!0),ye(tt,null,fr(g.value,(B,P)=>ji(T.$slots,"default",{selected:P===s.value,value:B},void 0,!0)),256))])],4)])):Be("",!0)],64))}});const kk=at(Sk,[["__scopeId","data-v-9be27f78"]]);const Ok={},Rk={class:"loader"},Tk=NP('
',1),Ik=[Tk];function Mk(e,t){return re(),ye("div",Rk,Ik)}const Wg=at(Ok,[["render",Mk],["__scopeId","data-v-cf68f823"]]),Lk={key:1},$k=Ge({__name:"IconButton",props:{icon:{type:String,required:!1},label:{type:String,required:!0},disabled:{type:Boolean,required:!1,default:!1},type:{type:String,required:!1,default:"negative"}},setup(e){return(t,r)=>(re(),ye("button",{class:Je([(e.disabled?"disabled ":"")+e.type,"flex items-center justify-center h-12 p-4 mt-4 rounded-full"])},[e.icon?(re(),ye("span",{key:0,class:Je([{"mr-2":e.label},"material-symbols-rounded"])},De(e.icon),3)):Be("",!0),e.label?(re(),ye("span",Lk,De(e.label),1)):Be("",!0)],2))}});const Op=at($k,[["__scopeId","data-v-b68d33f1"]]),Dk=e=>(es("data-v-e243c458"),e=e(),ts(),e),Nk={class:"header bg-secondary rounded-t-2xl p-3"},Bk={class:"title font-black"},Vk=Dk(()=>te("span",{class:"title material-icons-round"}," close ",-1)),Wk=[Vk],Fk={key:1},Hk={class:"p-4 error"},Uk={key:2,class:"p-4 pt-0 flex flex-col overflow-x-hidden overflow-y-auto"},qk={key:0,class:"confirm"},jk=Ge({__name:"Template",props:{name:{type:String,required:!0},submit:{type:Object,required:!1},secondary:{type:Object,required:!1,default:null}},emits:["submit","close","secondary"],setup(e,{expose:t,emit:r}){const s=e,o=Pe(!1),l=Pe(!1),u=Pe(""),c=()=>l.value=!1,f=()=>{o.value=!1,l.value=!0},p=()=>{o.value=!0,l.value=!0},h=async(x,T)=>{p();const V=await window.fetch(x,T);return f(),V.ok?V:(u.value=await V.text(),null)},m=r,g=()=>{c(),m("close")},y=()=>{m("submit"),g()},S=()=>{m("secondary"),g()};return t({show:f,hide:c,load:p,fetch:h}),(x,T)=>l.value?(re(),Ye(Qs,{key:0,to:"#popup-target"},[te("div",{class:"modal",onClick:T[1]||(T[1]=Bt(V=>l.value=!1,["stop"])),onContextmenu:T[2]||(T[2]=Bt(()=>{},["stop"])),onDrag:T[3]||(T[3]=Bt(()=>{},["stop"]))},[te("div",{class:"modal-content",onClick:T[0]||(T[0]=Bt(()=>{},["stop"]))},[te("div",Nk,[te("h3",Bk,De(e.name),1),te("button",{class:"modal-close",onClick:g},Wk)]),o.value?(re(),Ye(Wg,{key:0})):u.value?(re(),ye("div",Fk,[te("p",Hk,De(u.value),1)])):(re(),ye("div",Uk,[ji(x.$slots,"default",{},void 0,!0),s.submit||s.secondary?(re(),ye("div",qk,[s.secondary?(re(),Ye(Op,{key:0,icon:s.secondary.icon,label:s.secondary.label,type:s.secondary.type,onClick:S},null,8,["icon","label","type"])):Be("",!0),s.submit?(re(),Ye(Op,{key:1,icon:s.submit.icon,label:s.submit.label,type:s.submit.type,onClick:y},null,8,["icon","label","type"])):Be("",!0)])):Be("",!0)]))])],32)])):Be("",!0)}});const Fg=at(jk,[["__scopeId","data-v-e243c458"]]),Kk={class:"flex flex-row gap-2"},Gk={key:0,class:"material-symbols-rounded ms-wght-200"},zk={class:"material-symbols-rounded"},Yk=["onClick"],Zk={class:"material-symbols-rounded"},Jk={key:0,class:"material-symbols-rounded"},Xk=Ge({__name:"Dropdown",props:{modelValue:{type:String,required:!0},options:{type:Array,required:!0},icon:{type:String,required:!1}},emits:["update:modelValue"],setup(e,{emit:t}){const r=e,s=Pe(r.modelValue),o=Pe(!1),l=t;st(r,h=>{s.value=h.modelValue},{deep:!0});const u=h=>{s.value=h,l("update:modelValue",h),o.value=!1},c=Ve(()=>{const h=r.options.find(m=>m.value==s.value);return h?h.label:""}),f=Pe(null),p=Pe(null);return st(o,h=>{Kn(()=>{if(h){const m=f.value.getBoundingClientRect(),g=p.value.getBoundingClientRect(),y=g.top,S=g.bottom,x=window.innerHeight-S,T=g.width;f.value.style.width=T+"px",f.value.style.left=g.left+"px",x>m.height?(f.value.style.top=S+"px",f.value.style.bottom="auto"):(f.value.style.top="auto",f.value.style.bottom=y-m.height+"px")}})}),window.addEventListener("click",()=>{o.value=!1}),(h,m)=>(re(),ye("div",{ref_key:"container",ref:p,class:"dropdown"},[te("div",{class:Je([{expanded:o.value},"dropdown__selected"]),onClick:m[0]||(m[0]=Bt(g=>o.value=!o.value,["stop"]))},[te("div",Kk,[e.icon?(re(),ye("span",Gk,De(e.icon),1)):Be("",!0),te("span",null,De(c.value),1)]),te("i",zk,De(o.value?"expand_less":"expand_more"),1)],2),(re(),Ye(Qs,{to:"#dropdown-target"},[o.value?(re(),ye("div",{key:0,ref_key:"trueDropdown",ref:f,class:"dropdown__options"},[(re(!0),ye(tt,null,fr(e.options,g=>(re(),ye("div",{key:g.value,class:"dropdown__option",onClick:Bt(y=>u(g.value),["stop"])},[te("span",Zk,De(g.icon),1),te("span",null,De(g.label),1),s.value==g.value?(re(),ye("span",Jk,"check")):Be("",!0)],8,Yk))),128))],512)):Be("",!0)]))],512))}});const Qk=at(Xk,[["__scopeId","data-v-186027d9"]]),e2={class:"form"},t2={class:"content"},n2=["onClick"],r2=["accept","onChange"],i2={key:0,class:"imagePreview"},s2=["onUpdate:modelValue","type","onChange"],o2=Ge({__name:"Form",props:{options:{type:Array,required:!0}},setup(e,{expose:t}){const r=e;return t({toObject:()=>{const o={};return r.options.forEach(l=>{o[l.name]=l.value}),o}}),(o,l)=>(re(),ye("div",e2,[(re(!0),ye(tt,null,fr(e.options,u=>(re(),ye("div",{key:u.name,class:"option"},[te("h4",null,De(oe(nE)(u.name)),1),te("div",t2,[u.type=="upload"?(re(),ye(tt,{key:0},[te("span",{class:"material-symbols-rounded icon-button",onClick:()=>{var c,f;return(f=(c=o.$refs["upload-"+u.name])==null?void 0:c[0])==null?void 0:f.click()}}," file_upload ",8,n2),te("input",{ref_for:!0,ref:"upload-"+u.name,accept:u.accept,style:{display:"none"},type:"file",onChange:c=>u==null?void 0:u.onUpload(c.target.files[0])},null,40,r2),pe(Qu,{ref_for:!0,ref:"cover",modelValue:u.value,"onUpdate:modelValue":c=>u.value=c,icon:u.icon,class:"addSong cover",type:"text",onChange:c=>u==null?void 0:u.onChange(u.value)},null,8,["modelValue","onUpdate:modelValue","icon","onChange"]),u.imagePreview?(re(),ye("div",i2,[pe(Dr,{src:oe(Ea)(u.value),class:"cover",onClick:c=>oe(Pc)(u.value)},null,8,["src","onClick"])])):Be("",!0)],64)):u.type=="dropdown"?(re(),Ye(Qk,{key:1,modelValue:u.value,"onUpdate:modelValue":c=>u.value=c,icon:u.icon,options:u.options},null,8,["modelValue","onUpdate:modelValue","icon","options"])):u.type=="text"?(re(),Ye(Qu,{key:2,modelValue:u.value,"onUpdate:modelValue":c=>u.value=c,icon:u.icon,placeholder:u.placeholder,required:u.required,type:u.type,onChange:c=>u.onChange?u==null?void 0:u.onChange(u.value):null},null,8,["modelValue","onUpdate:modelValue","icon","placeholder","required","type","onChange"])):js((re(),ye("input",{key:3,"onUpdate:modelValue":c=>u.value=c,type:u.type,onChange:c=>u.onChange?u==null?void 0:u.onChange(u.value):null},null,40,s2)),[[xc,u.value]])])]))),128))]))}});const Hg=at(o2,[["__scopeId","data-v-76afa11c"]]),a2={class:"padding-20 playlisteditor"},l2={class:"details"},u2={class:"detailswrapper"},c2=["onClick"],f2=Ge({__name:"TrackInfo",props:{title:{type:String,required:!0},subtitle:{type:String,default:""},cover:{type:String,required:!0},icons:{type:Array,required:!0}},setup(e){return(t,r)=>(re(),ye("div",a2,[pe(Dr,{type:"playlist",name:e.title,src:e.cover,class:"cover"},null,8,["name","src"]),te("div",l2,[te("div",u2,[(re(!0),ye(tt,null,fr(e.icons,(s,o)=>(re(),ye("span",{key:o,class:"material-icons-round",onClick:s.onClick},De(s.name),9,c2))),128))]),te("h1",null,De(e.title),1),te("h6",null,De(e.subtitle),1)])]))}});const Ug=at(f2,[["__scopeId","data-v-3c71f9f3"]]),xs=e=>{const t=new CustomEvent("notification.add",{detail:e});window.dispatchEvent(t)},lr={addSuccess(e,t,r){const s=Math.random().toString(36).substring(7);return xs({id:s,message:e,details:t,type:"success",timeout:r}),s},addError(e,t,r){const s=Math.random().toString(36).substring(7);return xs({id:s,message:e,details:t,type:"error",timeout:r}),s},addInfo(e,t,r){const s=Math.random().toString(36).substring(7);return xs({id:s,message:e,details:t,type:"info",timeout:r}),s},addWarning(e,t,r){const s=Math.random().toString(36).substring(7);return xs({id:s,message:e,details:t,type:"warning",timeout:r}),s},addYesNo(e,t,r,s,o,l){const u=Math.random().toString(36).substring(7);return xs({id:u,message:e,details:t,type:"yes-no",timeout:r,onYes:s,onNo:o,onTimeout:l}),u},remove(e){const t=new CustomEvent("notification.remove",{detail:e});window.dispatchEvent(t)},clear(){const e=new CustomEvent("notification.clear");window.dispatchEvent(e)}},qg=Ge({__name:"ImportSpotifySong",props:{song:{type:Object,required:!0}},setup(e,{expose:t}){const r=Yt(),s=e,o=Pe([{name:"playlist",type:"dropdown",icon:"playlist_add",required:!0,value:null,options:r.playlistsAsDropdown}]),l=Pe(null),u=Pe(null),c=Pe(null),f=async()=>{if(c.value){l.value.show();return}const g=await l.value.fetch("/api/browse/track",{method:"POST",body:JSON.stringify({url:s.song.href??s.song.url})});g&&(l.value.load(),c.value=await g.json(),l.value.show())},p=()=>{const g=new CustomEvent("player.play",{detail:{artist:s.song.artist,title:s.song.title,source:s.song.href}});window.dispatchEvent(g)},h=async g=>{if(g==="new"){const y=await Ec("classic",s.song.title,s.song.artist,s.song.cover);return o.value[0].options=r.playlistsAsDropdown,o.value[0].value=y,y}return g},m=async(g,y=null)=>{var S;y??(y=u.value.toObject().playlist),y=await h(y),await xg(y,c.value),s.song.added=!0,lr.addSuccess(c.value.title,`Added to ${(S=r.playlists.find(x=>x.id==y))==null?void 0:S.name}`,3e3)};return t({show:f}),(g,y)=>(re(),Ye(Fg,{ref_key:"modal",ref:l,submit:{label:"Add",icon:"add"},name:"Import Song",onClose:y[0]||(y[0]=S=>g.$emit("close")),onSubmit:m},{default:St(()=>[pe(Ug,{cover:e.song.cover,icons:[{name:"share",onClick:()=>oe(Pc)(e.song.href)},{name:"play_arrow",onClick:p}],title:e.song.title},null,8,["cover","icons","title"]),pe(Hg,{ref_key:"form",ref:u,options:o.value},null,8,["options"])]),_:1},512))}}),Mc=e=>(es("data-v-f8e4524a"),e=e(),ts(),e),d2=Mc(()=>te("div",{class:"index text-right"},"#",-1)),h2=Mc(()=>te("div",{class:"artist-title"}," title ",-1)),p2={key:0,class:"album"},m2={key:1,class:"duration"},g2=Mc(()=>te("span",{class:"material-symbols-rounded"},"schedule",-1)),v2=[g2],y2=Ge({__name:"PlaylistHeader",props:{withAlbum:{type:Boolean,required:!1,default:!1},withMore:{type:Boolean,required:!1,default:!1},withoutDuration:{type:Boolean,required:!1,default:!1}},setup(e){return(t,r)=>(re(),ye("div",{class:Je([{withAlbum:e.withAlbum,withMore:e.withMore},"playlist-header"])},[d2,h2,e.withAlbum?(re(),ye("div",p2," album ")):Be("",!0),e.withoutDuration?Be("",!0):(re(),ye("div",m2,v2))],2))}});const _2=at(y2,[["__scopeId","data-v-f8e4524a"]]);const b2={name:"Marquee",mounted(){this.update(),window.addEventListener("resize",this.update)},data(){return{isMarquee:!1}},methods:{isTruncated(e){return(e==null?void 0:e.scrollWidth)>(e==null?void 0:e.clientWidth)},update(){this.isMarquee=!1,setTimeout(()=>{this.isMarquee=this.isTruncated(this.$refs.marquee)},10)}}},w2={key:0,class:"replacer"},A2={key:0,class:"overlay"};function x2(e,t,r,s,o,l){return re(),ye("div",{class:Je([{marquee:o.isMarquee},"marqueeWrapper"])},[te("span",{ref:"marquee",class:Je({marquee:o.isMarquee})},[ji(e.$slots,"default",{},void 0,!0),o.isMarquee?(re(),ye("span",w2,[ji(e.$slots,"default",{},void 0,!0)])):Be("",!0)],2),o.isMarquee?(re(),ye("div",A2)):Be("",!0)],2)}const P2=at(b2,[["render",x2],["__scopeId","data-v-ad7138e8"]]),C2={class:"artist"},E2=Ge({__name:"ArtistMarquee",props:{artist:{type:String,required:!0}},setup(e){const t=e,r=Ve(()=>t.artist.split(", "));return(s,o)=>{const l=Ui("router-link");return re(),Ye(P2,null,{default:St(()=>[(re(!0),ye(tt,null,fr(r.value,u=>(re(),ye("span",C2,[pe(l,{to:"/artist/"+u},{default:St(()=>[Ua(De(u),1)]),_:2},1032,["to"])]))),256))]),_:1})}}});const jg=at(E2,[["__scopeId","data-v-156468cf"]]),S2={key:0,class:"cover"},k2={class:"artist-title"},O2={class:"title"},R2={class:"artist"},T2={key:1,class:"album"},I2=Ge({__name:"ExternalEntry",props:{song:{type:Object,required:!0},index:{type:Number,required:!0},withCover:{type:Boolean,required:!1,default:!1},withAlbum:{type:Boolean,required:!1,default:!1},selected:{type:Boolean,required:!1,default:!1},playlistId:{type:Number,required:!1,default:null},canImport:{type:Boolean,required:!1,default:!1}},emits:["update","add"],setup(e,{emit:t}){const r=e,s=t,o=It(),l=Ve(()=>r.song.id==o.song.id),u=Pe(!1);Ve(()=>r.playlistId==null?o.playlist.id:r.playlistId);const c=()=>{yE(r.song.title,r.song.artist,r.song.source||r.song.href)},f=Pe(null),p=()=>{r.canImport?f.value.show():s("add")};return(h,m)=>(re(),ye(tt,null,[e.canImport?(re(),Ye(qg,{key:0,ref_key:"updatePopup",ref:f,song:e.song},null,8,["song"])):Be("",!0),te("div",{class:Je([{playing:l.value,selected:e.selected,hovering:u.value,withCover:e.withCover,withAlbum:e.withAlbum},"playlist-entry"]),onDblclick:c,onMouseenter:m[0]||(m[0]=g=>u.value=!0),onMouseleave:m[1]||(m[1]=g=>u.value=!1)},[te("div",{class:Je([{"material-symbols-rounded":u.value},"index text-right"]),onClick:c},De(u.value?"play_arrow":e.index+1),3),e.withCover?(re(),ye("div",S2,[pe(Dr,{src:e.song.cover,type:"track"},null,8,["src"])])):Be("",!0),te("div",k2,[te("span",O2,[(re(),Ye(Hx(e.song.href.startsWith("http")?"a":"router-link"),{href:e.song.href,to:e.song.href,class:"linkOnHover"},{default:St(()=>[pe(sr,{text:e.song.title},null,8,["text"])]),_:1},8,["href","to"]))]),te("span",R2,[pe(jg,{artist:e.song.artist,class:"text-muted text-xs"},null,8,["artist"])])]),e.withAlbum&&!oe(zu)?(re(),ye("div",T2,[pe(sr,{text:e.song.album},null,8,["text"])])):Be("",!0),te("div",{class:"icon text-left material-symbols-rounded",onClick:Bt(p,["stop"])},De(e.song.added?"done":"add"),1)],34)],64))}});const M2=at(I2,[["__scopeId","data-v-7207e9cd"]]),L2=e=>(es("data-v-a918d839"),e=e(),ts(),e),$2={class:"playlist"},D2=L2(()=>te("hr",null,null,-1)),N2={class:"entries"},B2=Ge({__name:"Playlist",props:{songs:{type:Array,required:!0},noCover:{type:Boolean,default:!1}},setup(e){return(t,r)=>(re(),ye("div",$2,[pe(_2,{"without-duration":""}),D2,te("div",N2,[(re(!0),ye(tt,null,fr(e.songs,(s,o)=>(re(),Ye(M2,{key:s.source,added:s.added,index:o,song:s,title:s.title,"with-cover":!e.noCover,onAdd:l=>t.$emit("add",o)},null,8,["added","index","song","title","with-cover","onAdd"]))),128))])]))}});const V2=at(B2,[["__scopeId","data-v-a918d839"]]),W2=te("br",null,null,-1),F2=Ge({__name:"ImportSpotifyAlbum",props:{album:{type:Object,required:!0}},setup(e,{expose:t}){const r=Yt(),s=e,o=Pe([{name:"playlist",type:"dropdown",icon:"playlist_add",required:!0,value:null,options:r.playlistsAsDropdown}]),l=Pe(null),u=Pe(null),c=Pe([]);let f=null;const p=async()=>{if(c.value.length>0&&f===s.album.id){l.value.show();return}const S=await l.value.fetch(`/api/spotify/albums/${s.album.id}`);if(f=s.album.id,!S){lr.addError("Failed to fetch album from Spotify",S.text,3e3);return}c.value=await S.json()},h=()=>{const S=new CustomEvent("player.play",{detail:{artist:s.album.artist,title:s.album.title,source:s.album.href}});window.dispatchEvent(S)},m=async S=>{if(S==="new"){const x=await Ec("classic",s.album.title,`${s.album.releaseDate}, ${s.album.artist}`,s.album.cover);return o.value[0].options=r.playlistsAsDropdown,o.value[0].value=x,x}return S},g=async(S,x=null)=>{c.value[S].added||(x??(x=u.value.toObject().playlist),x=await m(x),await xg(x,c.value[S]),c.value[S].added=!0)},y=async()=>{let S=u.value.toObject().playlist;S=await m(S),c.value.forEach((x,T)=>{g(T,S)}),lr.addSuccess(s.album.title,`Added ${c.value.length} songs to ${r.playlists[S].name}`,3e3)};return t({show:p}),(S,x)=>(re(),Ye(Fg,{ref_key:"modal",ref:l,submit:{label:"Add All",icon:"add"},name:"Import Album",onClose:x[0]||(x[0]=T=>S.$emit("close")),onSubmit:y},{default:St(()=>[pe(Ug,{cover:e.album.cover,icons:[{name:"share",onClick:()=>oe(Pc)(e.album.href)},{name:"play_arrow",onClick:h}],subtitle:e.album.artist,title:e.album.title},null,8,["cover","icons","subtitle","title"]),pe(Hg,{ref_key:"form",ref:u,options:o.value},null,8,["options"]),W2,pe(V2,{songs:c.value,noCover:"",onAdd:g},null,8,["songs"])]),_:1},512))}}),H2={class:"info"},U2={class:"flex flex-col flex-1"},q2={class:"name"},j2={key:0,class:"text-muted text-sm"},K2={class:"aux flex items-center text-muted text-sm gap-2"},G2={class:"tag"},z2={class:"material-symbols-rounded tag"},Y2=["name"],Z2=Ge({__name:"SearchResultItem",props:{item:{type:Object,required:!0},large:{type:Boolean,default:!1},noHover:{type:Boolean,default:!1}},setup(e){const t=bk(),r=e,s=Ve(()=>{var x,T,V,B;return((T=(x=r.item)==null?void 0:x.item)==null?void 0:T.cover)??((B=(V=r.item)==null?void 0:V.item)==null?void 0:B.image)}),o=Ve(()=>{var x,T,V,B;return((T=(x=r.item)==null?void 0:x.item)==null?void 0:T.name)??((B=(V=r.item)==null?void 0:V.item)==null?void 0:B.title)}),l=Ve(()=>{var x,T,V,B,P;return((T=(x=r.item)==null?void 0:x.item)==null?void 0:T.artist)??((P=(B=(V=r.item)==null?void 0:V.item)==null?void 0:B.artists)==null?void 0:P.join(", "))}),u=Ve(()=>{var x;return(x=r.item)==null?void 0:x.type}),c=Ve(()=>({song:"music_note",album:"album",artist:"person",playlist:"queue_music",command:"code"})[u.value??"song"]),f=Ve(()=>{var x;return Math.round(((x=r.item)==null?void 0:x.confidence)*1e3)/10}),p=Ve(()=>{var x;return((x=r.item)==null?void 0:x.scope)==="local"}),h=Ve(()=>{var x;return((x=r.item)==null?void 0:x.scope)==="spotify"}),m=Ve(()=>{var x;return((x=r.item)==null?void 0:x.scope)==="audius"}),g=Pe(),y=Pe(),S=()=>{u.value==="artist"?t.push(`/artist/${r.item.item.name}`):u.value==="playlist"||u.value==="album"?t.push(r.item.item.href):p.value?u.value==="song"&&t.push(r.item.item.href):h.value?u.value==="song"?g.value.show():u.value==="album"&&y.value.show():m.value&&u.value==="song"&&g.value.show()};return(x,T)=>(re(),ye(tt,null,[u.value==="song"&&(h.value||m.value)?(re(),Ye(qg,{key:0,ref_key:"importSpotifySong",ref:g,song:r.item.item},null,8,["song"])):Be("",!0),u.value==="album"&&h.value?(re(),Ye(F2,{key:1,ref_key:"importSpotifyAlbum",ref:y,album:r.item.item},null,8,["album"])):Be("",!0),te("div",{class:Je(["item",{large:e.large,noHover:e.noHover}]),onClick:S},[pe(Dr,{src:s.value,placeholder:c.value,"with-ambient":""},null,8,["src","placeholder"]),te("div",H2,[te("div",U2,[te("span",q2,De(o.value),1),l.value?(re(),ye("span",j2,De(l.value),1)):Be("",!0)]),te("div",K2,[te("span",G2,De(f.value)+"% ",1),te("span",z2,De(c.value),1),p.value?Be("",!0):(re(),ye("span",{key:0,name:e.item.scope,class:"uppercase tag"},De(e.item.scope),9,Y2))])])],2)],64))}});const J2=at(Z2,[["__scopeId","data-v-dce39d80"]]),dI=["local","spotify","audius"],X2=["song","artist","album","playlist"],Q2={class:"header hideIfMobile grid grid-cols-3 justify-between drop-shadow-md"},eO={class:"search flex flex-row"},tO=["onClick"],nO={class:"mr-2 flex flex-row gap-2"},rO=Ge({__name:"Header",setup(e){const t=Pe(null),r=Pe(!1),s=Yt(),o=It(),l=Ve(()=>{if(!t.value)return{};const y=`calc(${t.value.offsetTop}px + 10px)`,S=`calc(${t.value.offsetLeft}px + 10px)`;return{top:y,left:S}});Sc().onDownload.push(y=>{r.value=!0,setTimeout(()=>{r.value=!1},500)});const c=(y,S=!1)=>{var x,T;if(S){if(y.type==="song"){o.loadPlaylist("track",y.item.id),(x=m.value)==null||x.blur();return}if(y.type==="playlist"){o.loadPlaylist(y.item.id),(T=m.value)==null||T.blur();return}}if(y.type==="artist"){Ii.push(`/artist/${y.item.name}`);return}Ii.push(y.item.href)},f=()=>{const y=s.playlists.flatMap(x=>x.songs);return y[Math.floor(Math.random()*y.length)]},p=async y=>{if(!y.length)return[];if(y==="/rand"){const T=f();return T?[{type:"command",confidence:1,scope:"local",item:T}]:[]}return["/create","/new"].includes(y)?[{type:"command",confidence:.5,scope:"local",item:{name:"Create classic playlist",href:"/playlist/create?type=classic"}},{type:"command",confidence:.5,scope:"local",item:{name:"Create smart playlist",href:"/playlist/create?type=smart"}}]:(await(await fetch("/api/search",{method:"POST",body:JSON.stringify({query:y,scope:["local",...X2]})})).json()).items};let h=Pe("");const m=Pe(null);Vt(()=>{h.value=String(Ii.currentRoute.value.params.query||""),Ii.afterEach(y=>{h.value=String(y.params.query||"")}),window.addEventListener("keydown",y=>{var S;y.ctrlKey&&y.key==="k"&&(y.preventDefault(),(S=m.value)==null||S.focus())})});let g=()=>{Ii.push({name:"Search",params:{query:h.value}})};return(y,S)=>(re(),ye("div",Q2,[pe(oe(RE),{class:"hideIfMobile logo",onClick:S[0]||(S[0]=x=>y.$router.push("/"))}),te("div",eO,[pe(Hn,{class:"sm:ml-0 mr-2",href:"/",icon:"home",minimised:"",name:"Home"}),pe(kk,{modelValue:oe(h),"onUpdate:modelValue":S[1]||(S[1]=x=>Pt(h)?h.value=x:h=x),class:"md:!w-96",icon:"search",placeholder:"Search...",onSubmit:oe(g),clickSuggest:c,suggest:p,ref_key:"search",ref:m},{default:St(({value:x,selected:T})=>[te("div",{class:Je(["suggestion",{selected:T}]),onClick:V=>c(x)},[pe(J2,{item:x},null,8,["item"])],10,tO)]),_:1},8,["modelValue","onSubmit"])]),te("div",nO,[te("div",{class:"download",ref_key:"downloadIcon",ref:t},[pe(Hn,{href:"/download",icon:"download",minimised:"",name:"Download"}),(re(),Ye(Qs,{to:"#popup-target"},[r.value?(re(),ye("span",{key:0,class:"download-anim absolute top-0 left-0 z-[1000] material-symbols-rounded",style:Fr(l.value)},"download",4)):Be("",!0)]))],512),pe(Hn,{href:"/preferences",icon:"settings",minimised:"",name:"Preferences"})])]))}});const iO=at(rO,[["__scopeId","data-v-a167d211"]]),sO={viewBox:"0 0 410 300",xmlns:"http://www.w3.org/2000/svg","xml:space":"preserve",style:{"fill-rule":"evenodd","clip-rule":"evenodd","stroke-linejoin":"round","stroke-miterlimit":"2"}},oO=te("text",{x:"398.231",y:"338.034",style:{"font-family":"'Poppins-ExtraBold','Poppins'","font-weight":"800","font-size":"197.74px"},transform:"translate(-399.969 -83.145)"},"ONE",-1),aO=te("text",{x:"405.025",y:"170.82",style:{"font-family":"'Poppins-Regular','Poppins'","font-size":"57.751px"},transform:"translate(-399.969 -83.145)"},"reAudioPlayer",-1),lO=[oO,aO];function uO(e,t){return re(),ye("svg",sO,[...lO])}const cO={render:uO},fO={class:"startup"},dO={class:"wrap"},hO={class:"logo"},pO=Ge({__name:"Startup",setup(e){return Vt(()=>{lr.clear()}),(t,r)=>(re(),ye("div",fO,[te("div",dO,[te("div",hO,[pe(Wg),pe(oe(cO))])])]))}});const mO=at(pO,[["__scopeId","data-v-fc875b55"]]),jn=document.createElement("video");jn.style.position="absolute";jn.style.top="0";jn.style.left="0";jn.style.width="500px";jn.style.height="500px";jn.style.zIndex="-1000";document.body.appendChild(jn);const qn=Pe("error"),aa=async()=>{if(qn.value=="error"||qn.value=="loading")return!1;await jn.requestPictureInPicture()},Kg=()=>{const e=It(),t=Ur();let r;const s=async o=>{if(!t.player.pictureInPicture||e.song.id<0)return!1;r==null||r.terminate(),r=new Worker("/assets/ffmpeg/ffmpeg-worker-mp4.js"),qn.value="loading",console.log("loading new cover",o);const u=await(await fetch(o)).blob(),c=URL.createObjectURL(u);jn.src="";const f="t.jpg",p=[],h=new Image;h.src=c,h.style.width="100%",h.style.height="100%",h.onload=()=>{const S=document.createElement("canvas");S.width=h.width,S.height=h.height,S.getContext("2d").drawImage(h,0,0);const T=S.toDataURL("image/jpeg",1),V=m(T);p.push({name:f,data:V}),console.log("loaded image",p),requestAnimationFrame(g)};function m(S){var x=S.replace(/^data[^,]+,/,""),T=window.atob(x),V=T.length,B=new Uint8Array(new ArrayBuffer(V));for(let P=0;P{jn.src=webkitURL.createObjectURL(S)}};return st(()=>t.player.pictureInPicture,async o=>{console.log("pictureInPicture enabled",o),o?(Kg(),o=!0,qn.value="error",await s(e.song.cover)):(r==null||r.terminate(),o=!1,qn.value="error")}),t.player.pictureInPicture?(st(()=>e.song.cover,s),!0):!1},gO=Ge({__name:"Card",props:{withHover:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){return(t,r)=>(re(),ye("div",{class:Je([{withHover:e.withHover,disabled:e.disabled},"card"])},[ji(t.$slots,"default",{},void 0,!0)],2))}});const Gg=at(gO,[["__scopeId","data-v-04b9eb92"]]),vO={class:"message"},yO={key:0,class:"details"},_O=Ge({__name:"ClosableNotification",props:{notification:{type:Object,required:!0}},emits:["remove"],setup(e,{emit:t}){const r=t,s=o=>{r("remove",o)};return(o,l)=>(re(),Ye(Gg,{class:Je([e.notification.type,"notification"])},{default:St(()=>[te("div",vO,[te("h4",null,De(e.notification.message),1),e.notification.details?(re(),ye("span",yO,De(e.notification.details),1)):Be("",!0)]),te("span",{class:"material-symbols-rounded close",onClick:l[0]||(l[0]=u=>s(e.notification.id))}," close ")]),_:1},8,["class"]))}});const bO=at(_O,[["__scopeId","data-v-922cc95e"]]),zg=e=>(es("data-v-0dd250f2"),e=e(),ts(),e),wO={class:"message"},AO={key:0,class:"details"},xO=zg(()=>te("span",{class:"material-symbols-rounded"}," check ",-1)),PO=[xO],CO=zg(()=>te("span",{class:"material-symbols-rounded"}," close ",-1)),EO=[CO],SO=Ge({__name:"YesNoNotification",props:{notification:{type:Object,required:!0}},emits:["remove"],setup(e,{emit:t}){const r=e,s=t,o=()=>{s("remove",r.notification.id),r.notification.onNo&&r.notification.onNo()},l=()=>{s("remove",r.notification.id),r.notification.onYes&&r.notification.onYes()};return(u,c)=>(re(),Ye(Gg,{class:"notification"},{default:St(()=>[te("div",wO,[te("h4",null,De(e.notification.message),1),e.notification.details?(re(),ye("span",AO,De(e.notification.details),1)):Be("",!0)]),te("div",{class:"yes-no"},[te("div",{class:"yes option",onClick:l},PO),te("div",{class:"no option",onClick:o},EO)])]),_:1}))}});const kO=at(SO,[["__scopeId","data-v-0dd250f2"]]),OO={class:"notifications"},RO=Ge({__name:"NotificationHandler",setup(e){const t=["success","error","info","warning"],r=Pe([]),s=u=>{r.value.push(u),u.timeout&&setTimeout(()=>{var c;(c=u.onTimeout)==null||c.call(u),o(u.id)},u.timeout)},o=u=>{r.value=r.value.filter(c=>c.id!=u)},l=()=>{r.value=[]};return window.addEventListener("notification.add",u=>{const c=u.detail;s(c)}),window.addEventListener("notification.remove",u=>{const c=u.detail;o(c)}),window.addEventListener("notification.clear",()=>{l()}),(u,c)=>(re(),ye("div",OO,[(re(!0),ye(tt,null,fr(r.value,f=>(re(),ye(tt,{key:f.id},[t.includes(f.type)?(re(),Ye(bO,{key:0,notification:f,onRemove:o},null,8,["notification"])):f.type=="yes-no"?(re(),Ye(kO,{key:1,notification:f,onRemove:o},null,8,["notification"])):Be("",!0)],64))),128))]))}});const TO=at(RO,[["__scopeId","data-v-d6b475e7"]]);const Yg=()=>{console.log("attempting reconnect");const e=window.location.hostname,t=window.location.port==5173?1234:window.location.port,r=new WebSocket(`ws://${e}:${t}/ws`);r.onclose=()=>{console.log("[main] ws closed"),It().setReady(!1),setTimeout(()=>Yg(),1e3)},r.onopen=()=>{console.log("[main] ws connected"),It().setReady(!0)},r.onmessage=s=>{const o=It(),l=JSON.parse(s.data);l.path=="player.song"&&o.setSong(l.data),l.path=="player.playlist"&&o.setPlaylist(l.data),l.path=="player.queue"&&o.setQueue(l.data)}};function IO(e){const t=3.999843853973347,r=1681.974450955533,s=.7071752369554196,o=Math.tan(Math.PI*r/e),l=Math.pow(10,t/20),u=Math.pow(l,.4996667741545416),c=1+o/s+o*o,f=2*(o*o-1)/c,p=(1-o/s+o*o)/c,h=(l+u*o/s+o*o)/c,m=2*(o*o-l)/c,g=(l-u*o/s+o*o)/c;return{numerators:[h,m,g],denominators:[1,f,p]}}function MO(e){const t=38.13547087602444,r=.5003270373238773,s=Math.tan(Math.PI*t/e),o=2*(s*s-1)/(1+s/r+s*s),l=(1-s/r+s*s)/(1+s/r+s*s);return{numerators:[1,-2,1],denominators:[1,o,l]}}function LO(e){if("createIIRFilter"in e){const t=IO(e.sampleRate);return e.createIIRFilter(t.numerators,t.denominators)}else{const t=e.createBiquadFilter();return t.type="highshelf",t.frequency.value=1500,t.gain.value=4,t}}function $O(e){if("createIIRFilter"in e){const t=MO(e.sampleRate);return e.createIIRFilter(t.numerators,t.denominators)}else{const t=e.createBiquadFilter();return t.type="highpass",t.frequency.value=38,t.Q.value=-6,t}}var DO={on:function(e,t){(this._listeners[e]=this._listeners[e]||[]).push(t)},off:function(e,t){if(!e){this._listeners={};return}t?this._listeners[e]=(this._listeners[e]||[]).filter(r=>r!==t):delete this._listeners[e]},trigger:function(e,t){(this._listeners[e]||[]).forEach(r=>{r({type:e,data:t})})}};class NO{constructor(t,r,s){this.source=t.source,this.context=this.source.context,this.name=r,this.uri=s,this.node.then(o=>{o.port.onmessage=function(l){t.trigger(l.data.type,l.data)}})}get node(){return this._node?this._node:(this._node=new Promise((t,r)=>this.context.audioWorklet.addModule(this.uri).then(()=>t(new AudioWorkletNode(this.context,this.name))).catch(r)),this._node)}message(t){this.node.then(r=>r.port.postMessage(t))}}class BO{constructor(t,r){this.source=t.source,this.context=this.source.context,this.worker=new Worker(r),this.node.then(s=>{s.onaudioprocess=o=>{const l=[];for(var u=0;u{t.trigger(s.data.type,s.data)}}get node(){return this._node?this._node:(this._node=new Promise((t,r)=>{t(this._createNode(1024,this.source.channelCount,this.source.channelCount))}),this._node)}message(t){this.worker.postMessage(t)}_createNode(){return(this.context.createScriptProcessor||this.context.createJavaScriptNode).apply(this.context,arguments)}}class VO{constructor(t,r){this.source=t.source,this.context=this.source.context,this.worker=new Worker(r),this.worker.onmessage=s=>{t.trigger(s.data.type,s.data)}}message(t){this.worker.postMessage(t)}get node(){return this._node?this._node:(this._node=new Promise((t,r)=>{t(this.context.createGain())}),this._node)}}const WO=!1;function FO({context:e,source:t,controller:r}){const s=HO(r);return s.node.then(o=>{o.connect(e.destination),t.connect(o)}),s}function HO(e){return e.offline?new VO(e,e.workerUri):"AudioWorkletNode"in window&&WO?new NO(e,"needles-worklet",e.workletUri):new BO(e,e.workerUri)}class UO extends Error{constructor(t){super(t),this.name="InvalidStateError"}}const qO=window.OfflineAudioContext||window.webkitOfflineAudioContext;class jO{constructor(t){this.state="inactive",this._listeners={},Object.assign(this,DO),this.workerUri=t.workerUri,this.workletUri=t.workletUri,this.source=t.source,this.weightedSource=t.weightedSource,this.context=this.source.context,this.offline=this.context instanceof qO,this.workerAdapter.message({type:"initialize",attributes:{sampleRate:this.context.sampleRate,modes:t.modes}})}get workerAdapter(){return this._workerAdapter=this._workerAdapter||new FO({controller:this,context:this.context,source:this.weightedSource||this.source})}input(t){const s=t.length,o=t.numberOfChannels;this.offline&&this.workerAdapter.message({type:"set",key:"duration",value:t.duration*1e3});for(var l=0;lthis.input(t)))}pause(){this.state==="inactive"&&this._throwInvalidStateErrorFor("pause"),this.state="paused",this.workerAdapter.message({type:"pause"})}resume(){this.state==="inactive"&&this._throwInvalidStateErrorFor("resume"),this.state="recording",this.workerAdapter.message({type:"resume"})}stop(){this.state==="inactive"&&this._throwInvalidStateErrorFor("stop"),this.state="inactive",this.workerAdapter.message({type:"stop"})}reset(){this.workerAdapter.message({type:"reset"})}_startRendering(){return new Promise((t,r)=>{this.context.startRendering(),this.context.addEventListener("complete",s=>{t(s.renderedBuffer)})})}_throwInvalidStateErrorFor(t){throw new UO(`Failed to execute '${t}' on 'Needles': The Needles's state is '${this.state}'.`)}}function KO(e){e.modes=e.modes||["momentary","short-term","integrated"];const t=e.source.context,r=LO(t),s=$O(t);return e.source.connect(r),r.connect(s),new jO({...e,weightedSource:s})}let Au=0;const GO=1,zO=.1,Rp=(e,t)=>{var r=ZO(e,t);r.angle-=.78539816;var s=JO(r.radius,r.angle);return{x:s.x,y:s.y}},YO=(e,t)=>{var r=-1,s=Math.atan2(e,t);return r*s},ZO=(e,t)=>{var r=Math.sqrt(e*e+t*t),s=Math.atan2(t,e);return{radius:r,angle:s}},JO=(e,t)=>{var r=e*Math.sin(t),s=e*Math.cos(t);return{x:r,y:s}},XO=(e,t)=>{const r=[];return r.push(new Float32Array(t.frequencyBinCount)),t.getFloatTimeDomainData(r[0]),r.push(new Float32Array(e.frequencyBinCount)),e.getFloatTimeDomainData(r[1]),r},QO=e=>{const t=(l,u)=>{var c=l;return l>u?c-=zO*(l-u):c+=GO*(u-l),c};for(var r=0,s,o=0;o1&&(r=1),r<-1&&(r=-1),Au=t(Au,r),Au},eR=e=>{var t=e[1]?e[1][0]:0;let r=Rp(t,e[0][0]);const s=[];s.push({x:r.x,y:r.y});for(var o=1;o({stereo:{left:0,right:0,correlation:0,field:[],_analyserL:null,_analyserR:null},tonalBalance:{data:null,_analyser:null},truePeak:{left:-1/0,right:-1/0},loudness:{momentary:-1/0,maxMomentary:-1/0,shortterm:-1/0,integrated:-1/0},_meter:null}),actions:{_reset(){this.stereo.left=0,this.stereo.right=0,this.truePeak.left=-1/0,this.truePeak.right=-1/0,this.loudness.momentary=-1/0,this.loudness.maxMomentary=-1/0,this.loudness.shortterm=-1/0,this.loudness.integrated=-1/0},setSource(e,t){var s,o;this._meter=new KO({source:e,workerUri:"/assets/needles/needles-worker.js"}),(s=this._meter)==null||s.start(),(o=this._meter)==null||o.pause(),this.stereo.analyserL=t.createAnalyser(),this.stereo.analyserR=t.createAnalyser(),this.tonalBalance.analyser=t.createAnalyser(),this.tonalBalance.analyser.fftSize=256,e.connect(this.tonalBalance.analyser),this.tonalBalance.data=new Uint8Array(this.tonalBalance.analyser.frequencyBinCount);var r=t.createChannelSplitter(2);e.connect(r),r.connect(this.stereo.analyserR,1),r.connect(this.stereo.analyserL,0),this._stereo()},_stereo(){const e=Ic(),t=new Float32Array(this.stereo.analyserR.fftSize),r=new Float32Array(this.stereo.analyserL.fftSize),s=()=>{if(e.path!=="/player/insights"){window.requestAnimationFrame(s);return}this.tonalBalance.analyser.getByteFrequencyData(this.tonalBalance.data),this.stereo.analyserR.getFloatTimeDomainData(t),this.stereo.analyserL.getFloatTimeDomainData(r);let o=0,l=0;for(const u of t)o+=u*u;for(const u of r)l+=u*u;this.stereo.right=Math.sqrt(o/t.length),this.stereo.left=Math.sqrt(l/r.length),this.stereo.data=XO(this.stereo.analyserL,this.stereo.analyserR),this.stereo.correlation=QO(this.stereo.data),this.stereo.field=eR(this.stereo.data),window.requestAnimationFrame(s)};window.requestAnimationFrame(s)},initialise(){const e=It();st(()=>e.song,()=>{var t,r;this._reset(),(t=this._meter)==null||t.reset(),(r=this._meter)==null||r.on("dataavailable",s=>this._setLoudness(s.data.mode,s.data.value))}),st(()=>e.playing,()=>{var t,r;e.playing?(t=this._meter)==null||t.resume():(r=this._meter)==null||r.pause()})},_setLoudness(e,t){switch(e){case"momentary":this.loudness.momentary=t,this.loudness.maxMomentary=Math.max(this.loudness.maxMomentary,t);break;case"short-term":this.loudness.shortterm=t;break;case"integrated":this.loudness.integrated=t;break}}}}),tR=()=>{It().initialise(),Yt().fetchPlaylists(),Sc().initialise(),Lc().initialise(),Og.restoreTheme()},nR=async()=>await(await fetch("/api/config/first-time")).json(),hI=async(e,t)=>{await fetch("/api/config/spotify",{method:"POST",body:JSON.stringify({id:e,secret:t})})},rR=async()=>{const e=await fetch("/api/spotify/authorise");return e.status==200?(lr.addYesNo("Do you want to authorise reAudioPlayer ONE to access your Spotify account?","You will be redirected to Spotify to authorise reAudioPlayer ONE to access your account.",null,async()=>{window.location.href=await e.text()}),!1):e.status==204},pI=async()=>await(await fetch("/api/config")).json(),mI=async e=>{await fetch("/api/config",{method:"PUT",body:JSON.stringify(e)})},iR=e=>(es("data-v-3f7537e5"),e=e(),ts(),e),sR={class:"sidebar drop-shadow-xl"},oR={class:"static"},aR={key:0},lR=iR(()=>te("br",{class:"hideIfMobile"},null,-1)),uR={key:0,class:"hideIfMobile"},cR={class:"playlistList hideIfMobile"},fR=["src"],dR=Ge({__name:"Sidebar",setup(e){const t=It(),r=Yt(),s=Ve(()=>t.song.cover),o=Ve(()=>r.playlists),l=Ur();return(u,c)=>(re(),ye("div",sR,[te("div",oR,[pe(Hn,{hasChildSites:!0,minimised:"",href:"/collection/playlists",icon:"library_music",name:"Your Library",parentHref:"/collection"}),pe(Hn,{minimised:"",href:"/preferences",icon:"settings",name:"Settings",class:"showIfMobile"}),pe(Hn,{minimised:"",href:"/discover",icon:"explore",name:"Discover",class:"hideIfMobile"}),oe(l).sidebar.news||oe(l).sidebar.sports?(re(),ye("br",aR)):Be("",!0),oe(l).sidebar.news?(re(),Ye(Hn,{key:1,hasChildSites:!0,minimised:"",href:"/news",icon:"newspaper",name:"News"})):Be("",!0),oe(l).sidebar.sports?(re(),Ye(Hn,{key:2,hasChildSites:!0,minimised:"",href:"/sports",icon:"sports_soccer",name:"Sports"})):Be("",!0),lR,pe(Hn,{minimised:"",class:"hideIfMobile",href:"/playlist/create",icon:"add_circle",name:"Create Playlist"})]),o.value.length?(re(),ye("hr",uR)):Be("",!0),te("div",cR,[(re(!0),ye(tt,null,fr(o.value.filter(f=>f.type!="special"),(f,p)=>(re(),Ye(Hn,{key:p,href:f.href,img:f.cover,minimised:"",name:f.name},null,8,["href","img","name"]))),128))]),oe(l).player.expandedCover?(re(),ye("img",{key:1,src:s.value,class:"cover hideIfMobile",onClick:c[0]||(c[0]=f=>oe(l).player.expandedCover=!1)},null,8,fR)):Be("",!0)]))}});const Zg=at(dR,[["__scopeId","data-v-3f7537e5"]]);const hR={name:"Body",data(){return{maximised:!1}},methods:{onMaximiseChange(e){this.maximised=e,this.$emit("maximise",e)}}};function pR(e,t,r,s,o,l){const u=Ui("router-view");return re(),ye("div",{class:Je(["body",{maximised:o.maximised}])},[pe(u,{onMaximise:l.onMaximiseChange,class:"view"},null,8,["onMaximise"])],2)}const Jg=at(hR,[["render",pR],["__scopeId","data-v-f3a65fee"]]),mR={class:"html-audio"},gR=["src"],vR=Ge({__name:"HtmlAudio",setup(e,{expose:t}){const r=It(),s=Lc(),o=Pe(null);let l=!1;Vt(()=>{o.value.src=null,o.value.src=r.stream,o.value.load(),o.value.onloadedmetadata=()=>{o.value&&(r.setDuration(o.value.duration),(l||r.playing)&&(c(),l=!1))}}),st(()=>r.song.id,()=>{o.value.paused||(l=!0),o.value.src=null,o.value.src=r.stream,o.value.load(),r.setPlaying(!o.value.paused)});const u=()=>{l=!0,r.onSongEnded()},c=()=>{try{o.value.play()}catch{}},f=()=>{o.value.pause()},p=y=>{o.value.currentTime=y},h=y=>{let S=y/100;S=Math.min(Math.max(S,0),1),o.value.volume=S},m=y=>{o.value.muted=y};return Vt(()=>{h(r.volume);var y=window.AudioContext,S=new y,x=S.createMediaElementSource(o.value);x.connect(S.destination),s.setSource(x,S)}),t({play:c,pause:f,seek:p,setVolume:h,setMute:m}),(y,S)=>(re(),ye("div",mR,[te("audio",{ref_key:"audio",ref:o,src:oe(r).stream,onEnded:u,onPause:S[0]||(S[0]=x=>oe(r).setPlaying(!1)),onPlay:S[1]||(S[1]=x=>oe(r).setPlaying(!0)),onTimeupdate:S[2]||(S[2]=x=>{var T;return oe(r).setProgress((T=o.value)==null?void 0:T.currentTime)})},null,40,gR)]))}});const yR={props:{modelValue:{type:Number,required:!0},max:{type:Number,default:100}},watch:{modelValue(){this.value=this.modelValue}},computed:{percentage(){return Math.min(1,this.value/this.max)*100}},methods:{seek(e,t=!1){const r=this.$el.getBoundingClientRect(),s=e.clientX-r.left,o=this.$el.offsetWidth;this.value=s/o*this.max,t||(this.seeking=!1,this.$emit("change",this.value),this.$emit("update:modelValue",this.value))}},data(){return{hover:!1,value:this.modelValue||0,seeking:!1}},mounted(){window.addEventListener("mouseup",e=>{this.seeking&&(this.seeking=!1,this.seek(e))}),window.addEventListener("mousemove",e=>{this.seeking&&this.seek(e,!0)})}},_R={class:"progressBar__track"};function bR(e,t,r,s,o,l){return re(),ye("div",{ref:"el",class:"progressBar",onMousedown:t[0]||(t[0]=u=>o.seeking=!0),onDragover:t[1]||(t[1]=Bt(()=>{},["stop"])),onClick:t[2]||(t[2]=(...u)=>l.seek&&l.seek(...u)),onMouseenter:t[3]||(t[3]=u=>o.hover=!0),onMouseleave:t[4]||(t[4]=u=>o.hover=!1)},[te("div",_R,[te("div",{class:Je([{hover:o.hover},"progressBar__progress"]),style:Fr({width:`${l.percentage}%`})},null,6)])],544)}const xu=at(yR,[["render",bR],["__scopeId","data-v-a9b735d7"]]),wR={class:"dropdown"},AR=["onClick"],xR={class:"material-symbols-rounded"},PR={key:0,class:"material-symbols-rounded"},CR=Ge({__name:"IconDropdown",props:{modelValue:{type:String,required:!0},icon:{type:String,required:!0},options:{type:Array,required:!0}},emits:["update:modelValue"],setup(e,{emit:t}){const r=e,s=Pe(r.options),o=Pe(r.modelValue),l=Pe(!1),u=t;st(r,p=>{o.value=p.modelValue,s.value=p.options},{deep:!0});const c=p=>{o.value=p,u("update:modelValue",p),l.value=!1},f=Pe(null);return st(l,p=>{Kn(()=>{if(p){const h=f.value.getBoundingClientRect();window.innerHeight-h.top>h.height?(f.value.style.top="100%",f.value.style.bottom="auto"):(f.value.style.top="auto",f.value.style.bottom="100%"),h.left<0?(f.value.style.left="0",f.value.style.right="auto"):h.right>window.innerWidth&&(f.value.style.left="auto",f.value.style.right="0")}})}),document.addEventListener("click",()=>{l.value=!1}),(p,h)=>(re(),ye("div",wR,[te("span",{class:"dropdown__selected material-symbols-rounded ms-wght-400",onClick:h[0]||(h[0]=Bt(m=>l.value=!l.value,["stop"]))},De(e.icon),1),l.value?(re(),ye("div",{key:0,ref_key:"trueDropdown",ref:f,class:Je([{expanded:l.value},"dropdown__options"])},[(re(!0),ye(tt,null,fr(s.value,m=>(re(),ye("div",{key:m.value,class:"dropdown__option",onClick:Bt(g=>c(m.value),["stop"])},[te("span",xR,De(m.icon),1),te("span",null,De(m.label),1),o.value==m.value?(re(),ye("span",PR,"check")):Be("",!0)],8,AR))),128))],2)):Be("",!0)]))}});const Pu=at(CR,[["__scopeId","data-v-5756bf60"]]),ER={class:"loader"},SR=Ge({__name:"Spinner",setup(e){const t=Pe(null);return Vt(()=>{var l,u;const s=((l=t.value)==null?void 0:l.clientWidth)??0,o=8/80;for(const c of((u=t.value)==null?void 0:u.children)??[])c.style.width=`${s*.8}px`,c.style.height=`${s*.8}px`,c.style.borderWidth=`${s*o}px`,c.style.margin=`${s*o}px`}),(r,s)=>(re(),ye("span",ER))}});const Tp=at(SR,[["__scopeId","data-v-ed1fd951"]]);var Xg={exports:{}};/*! - * wavesurfer.js 6.6.4 (2023-06-10) - * https://wavesurfer-js.org - * @license BSD-3-Clause - */(function(e,t){(function(s,o){e.exports=o()})(self,()=>(()=>{var r={"./src/drawer.canvasentry.js":(u,c,f)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var p=m(f("./src/util/style.js")),h=m(f("./src/util/get-id.js"));function m(P){return P&&P.__esModule?P:{default:P}}function g(P){"@babel/helpers - typeof";return g=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(k){return typeof k}:function(k){return k&&typeof Symbol=="function"&&k.constructor===Symbol&&k!==Symbol.prototype?"symbol":typeof k},g(P)}function y(P,k){if(!(P instanceof k))throw new TypeError("Cannot call a class as a function")}function S(P,k){for(var R=0;R=I;de--)b=M[2*de+1]||0,Q=Math.round(b/Y),R.lineTo((de-H)*A+this.halfPixel,_-Q);R.lineTo((I-H)*A,_-Math.round((M[2*I+1]||0)/Y)),R.closePath(),R.fill()}}},{key:"destroy",value:function(){this.waveCtx=null,this.wave=null,this.progressCtx=null,this.progress=null}},{key:"getImage",value:function(R,M,q){var W=this;if(q==="blob")return new Promise(function(j){W.wave.toBlob(j,R,M)});if(q==="dataURL")return this.wave.toDataURL(R,M)}}]),P}();c.default=B,u.exports=c.default},"./src/drawer.js":(u,c,f)=>{function p(U){"@babel/helpers - typeof";return p=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(G){return typeof G}:function(G){return G&&typeof Symbol=="function"&&G.constructor===Symbol&&G!==Symbol.prototype?"symbol":typeof G},p(U)}Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var h=g(f("./src/util/index.js"));function m(U){if(typeof WeakMap!="function")return null;var G=new WeakMap,K=new WeakMap;return(m=function(E){return E?K:G})(U)}function g(U,G){if(!G&&U&&U.__esModule)return U;if(U===null||p(U)!=="object"&&typeof U!="function")return{default:U};var K=m(G);if(K&&K.has(U))return K.get(U);var H={},E=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var I in U)if(I!=="default"&&Object.prototype.hasOwnProperty.call(U,I)){var D=E?Object.getOwnPropertyDescriptor(U,I):null;D&&(D.get||D.set)?Object.defineProperty(H,I,D):H[I]=U[I]}return H.default=U,K&&K.set(U,H),H}function y(U,G){if(!(U instanceof G))throw new TypeError("Cannot call a class as a function")}function S(U,G){for(var K=0;K"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function W(U){return W=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(K){return K.__proto__||Object.getPrototypeOf(K)},W(U)}var j=function(U){B(K,U);var G=k(K);function K(H,E){var I;return y(this,K),I=G.call(this),I.container=h.withOrientation(H,E.vertical),I.params=E,I.width=0,I.height=E.height*I.params.pixelRatio,I.lastPos=0,I.wrapper=null,I}return x(K,[{key:"style",value:function(E,I){return h.style(E,I)}},{key:"createWrapper",value:function(){this.wrapper=h.withOrientation(this.container.appendChild(document.createElement("wave")),this.params.vertical),this.style(this.wrapper,{display:"block",position:"relative",userSelect:"none",webkitUserSelect:"none",height:this.params.height+"px"}),(this.params.fillParent||this.params.scrollParent)&&this.style(this.wrapper,{width:"100%",cursor:this.params.hideCursor?"none":"auto",overflowX:this.params.hideScrollbar?"hidden":"auto",overflowY:"hidden"}),this.setupWrapperEvents()}},{key:"handleEvent",value:function(E,I){!I&&E.preventDefault();var D=h.withOrientation(E.targetTouches?E.targetTouches[0]:E,this.params.vertical).clientX,A=this.wrapper.getBoundingClientRect(),_=this.width,Y=this.getWidth(),N=this.getProgressPixels(A,D),b;return!this.params.fillParent&&_=_.bottom-A)return}E.params.interact&&E.fireEvent("click",I,E.handleEvent(I))}),this.wrapper.addEventListener("dblclick",function(I){E.params.interact&&E.fireEvent("dblclick",I,E.handleEvent(I))}),this.wrapper.addEventListener("scroll",function(I){return E.fireEvent("scroll",I)})}},{key:"drawPeaks",value:function(E,I,D,A){this.setWidth(I)||this.clearWave(),this.params.barWidth?this.drawBars(E,0,D,A):this.drawWave(E,0,D,A)}},{key:"resetScroll",value:function(){this.wrapper!==null&&(this.wrapper.scrollLeft=0)}},{key:"recenter",value:function(E){var I=this.wrapper.scrollWidth*E;this.recenterOnPosition(I,!0)}},{key:"recenterOnPosition",value:function(E,I){var D=this.wrapper.scrollLeft,A=~~(this.wrapper.clientWidth/2),_=this.wrapper.scrollWidth-this.wrapper.clientWidth,Y=E-A,N=Y-D;if(_!=0){if(!I&&-A<=N&&N=I){if(this.lastPos=D,this.params.scrollParent&&this.params.autoCenter){var A=~~(this.wrapper.scrollWidth*E);this.recenterOnPosition(A,this.params.autoCenterImmediately)}this.updateProgress(D)}}},{key:"destroy",value:function(){this.unAll(),this.wrapper&&(this.wrapper.parentNode==this.container.domElement&&this.container.removeChild(this.wrapper.domElement),this.wrapper=null)}},{key:"updateCursor",value:function(){}},{key:"updateSize",value:function(){}},{key:"drawBars",value:function(E,I,D,A){}},{key:"drawWave",value:function(E,I,D,A){}},{key:"clearWave",value:function(){}},{key:"updateProgress",value:function(E){}}]),K}(h.Observer);c.default=j,u.exports=c.default},"./src/drawer.multicanvas.js":(u,c,f)=>{function p(H){"@babel/helpers - typeof";return p=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(E){return typeof E}:function(E){return E&&typeof Symbol=="function"&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},p(H)}Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var h=x(f("./src/drawer.js")),m=S(f("./src/util/index.js")),g=x(f("./src/drawer.canvasentry.js"));function y(H){if(typeof WeakMap!="function")return null;var E=new WeakMap,I=new WeakMap;return(y=function(A){return A?I:E})(H)}function S(H,E){if(!E&&H&&H.__esModule)return H;if(H===null||p(H)!=="object"&&typeof H!="function")return{default:H};var I=y(E);if(I&&I.has(H))return I.get(H);var D={},A=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var _ in H)if(_!=="default"&&Object.prototype.hasOwnProperty.call(H,_)){var Y=A?Object.getOwnPropertyDescriptor(H,_):null;Y&&(Y.get||Y.set)?Object.defineProperty(D,_,Y):D[_]=H[_]}return D.default=H,I&&I.set(H,D),D}function x(H){return H&&H.__esModule?H:{default:H}}function T(H,E){if(!(H instanceof E))throw new TypeError("Cannot call a class as a function")}function V(H,E){for(var I=0;I"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function G(H){return G=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(I){return I.__proto__||Object.getPrototypeOf(I)},G(H)}var K=function(H){R(I,H);var E=q(I);function I(D,A){var _;return T(this,I),_=E.call(this,D,A),_.maxCanvasWidth=A.maxCanvasWidth,_.maxCanvasElementWidth=Math.round(A.maxCanvasWidth/A.pixelRatio),_.hasProgressCanvas=A.waveColor!=A.progressColor,_.halfPixel=.5/A.pixelRatio,_.canvases=[],_.progressWave=null,_.EntryClass=g.default,_.canvasContextAttributes=A.drawingContextAttributes,_.overlap=2*Math.ceil(A.pixelRatio/2),_.barRadius=A.barRadius||0,_.vertical=A.vertical,_}return B(I,[{key:"init",value:function(){this.createWrapper(),this.createElements()}},{key:"createElements",value:function(){this.progressWave=m.withOrientation(this.wrapper.appendChild(document.createElement("wave")),this.params.vertical),this.style(this.progressWave,{position:"absolute",zIndex:3,left:0,top:0,bottom:0,overflow:"hidden",width:"0",display:"none",boxSizing:"border-box",borderRightStyle:"solid",pointerEvents:"none"}),this.addCanvas(),this.updateCursor()}},{key:"updateCursor",value:function(){this.style(this.progressWave,{borderRightWidth:this.params.cursorWidth+"px",borderRightColor:this.params.cursorColor})}},{key:"updateSize",value:function(){for(var A=this,_=Math.round(this.width/this.params.pixelRatio),Y=Math.ceil(_/(this.maxCanvasElementWidth+this.overlap));this.canvases.lengthY;)this.removeCanvas();var N=this.maxCanvasWidth+this.overlap,b=this.canvases.length-1;this.canvases.forEach(function(Q,de){de==b&&(N=A.width-A.maxCanvasWidth*b),A.updateDimensions(Q,N,A.height),Q.clearWave()})}},{key:"addCanvas",value:function(){var A=new this.EntryClass;A.canvasContextAttributes=this.canvasContextAttributes,A.hasProgressCanvas=this.hasProgressCanvas,A.halfPixel=this.halfPixel;var _=this.maxCanvasElementWidth*this.canvases.length,Y=m.withOrientation(this.wrapper.appendChild(document.createElement("canvas")),this.params.vertical);if(this.style(Y,{position:"absolute",zIndex:2,left:_+"px",top:0,bottom:0,height:"100%",pointerEvents:"none"}),A.initWave(Y),this.hasProgressCanvas){var N=m.withOrientation(this.progressWave.appendChild(document.createElement("canvas")),this.params.vertical);this.style(N,{position:"absolute",left:_+"px",top:0,bottom:0,height:"100%"}),A.initProgress(N)}this.canvases.push(A)}},{key:"removeCanvas",value:function(){var A=this.canvases[this.canvases.length-1];A.wave.parentElement.removeChild(A.wave.domElement),this.hasProgressCanvas&&A.progress.parentElement.removeChild(A.progress.domElement),A&&(A.destroy(),A=null),this.canvases.pop()}},{key:"updateDimensions",value:function(A,_,Y){var N=Math.round(_/this.params.pixelRatio),b=Math.round(this.width/this.params.pixelRatio);A.updateDimensions(N,b,_,Y),this.style(this.progressWave,{display:"block"})}},{key:"clearWave",value:function(){var A=this;m.frame(function(){A.canvases.forEach(function(_){return _.clearWave()})})()}},{key:"drawBars",value:function(A,_,Y,N){var b=this;return this.prepareDraw(A,_,Y,N,function(Q){var de=Q.absmax,Ce=Q.hasMinVals;Q.height;var _e=Q.offsetY,ke=Q.halfH,X=Q.peaks,se=Q.channelIndex;if(Y!==void 0){var he=Ce?2:1,Ae=X.length/he,Oe=b.params.barWidth*b.params.pixelRatio,je=b.params.barGap===null?Math.max(b.params.pixelRatio,~~(Oe/2)):Math.max(b.params.pixelRatio,b.params.barGap*b.params.pixelRatio),O=Oe+je,L=Ae/b.width,J=Y,ue=N,ne=J;for(ne;neve&&(ve=ge),be+=he}while(be1&&arguments[1]!==void 0?arguments[1]:this.params.waveColor,Y=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.params.progressColor;A.setFillStyles(_,Y)}},{key:"applyCanvasTransforms",value:function(A){var _=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;A.applyCanvasTransforms(_)}},{key:"getImage",value:function(A,_,Y){if(Y==="blob")return Promise.all(this.canvases.map(function(b){return b.getImage(A,_,Y)}));if(Y==="dataURL"){var N=this.canvases.map(function(b){return b.getImage(A,_,Y)});return N.length>1?N:N[0]}}},{key:"updateProgress",value:function(A){this.style(this.progressWave,{width:A+"px"})}}]),I}(h.default);c.default=K,u.exports=c.default},"./src/mediaelement-webaudio.js":(u,c,f)=>{function p(G){"@babel/helpers - typeof";return p=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(K){return typeof K}:function(K){return K&&typeof Symbol=="function"&&K.constructor===Symbol&&K!==Symbol.prototype?"symbol":typeof K},p(G)}Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var h=m(f("./src/mediaelement.js"));function m(G){return G&&G.__esModule?G:{default:G}}function g(G,K){if(!(G instanceof K))throw new TypeError("Cannot call a class as a function")}function y(G,K){for(var H=0;H"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function j(G){return j=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(H){return H.__proto__||Object.getPrototypeOf(H)},j(G)}var U=function(G){P(H,G);var K=R(H);function H(E){var I;return g(this,H),I=K.call(this,E),I.params=E,I.sourceMediaElement=null,I}return S(H,[{key:"init",value:function(){this.setPlaybackRate(this.params.audioRate),this.createTimer(),this.createVolumeNode(),this.createScriptNode(),this.createAnalyserNode()}},{key:"_load",value:function(I,D,A){V(j(H.prototype),"_load",this).call(this,I,D,A),this.createMediaElementSource(I)}},{key:"createMediaElementSource",value:function(I){this.sourceMediaElement=this.ac.createMediaElementSource(I),this.sourceMediaElement.connect(this.analyser)}},{key:"play",value:function(I,D){return this.resumeAudioContext(),V(j(H.prototype),"play",this).call(this,I,D)}},{key:"destroy",value:function(){V(j(H.prototype),"destroy",this).call(this),this.destroyWebAudio()}}]),H}(h.default);c.default=U,u.exports=c.default},"./src/mediaelement.js":(u,c,f)=>{function p(E){"@babel/helpers - typeof";return p=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(I){return typeof I}:function(I){return I&&typeof Symbol=="function"&&I.constructor===Symbol&&I!==Symbol.prototype?"symbol":typeof I},p(E)}Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var h=S(f("./src/webaudio.js")),m=y(f("./src/util/index.js"));function g(E){if(typeof WeakMap!="function")return null;var I=new WeakMap,D=new WeakMap;return(g=function(_){return _?D:I})(E)}function y(E,I){if(!I&&E&&E.__esModule)return E;if(E===null||p(E)!=="object"&&typeof E!="function")return{default:E};var D=g(I);if(D&&D.has(E))return D.get(E);var A={},_=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var Y in E)if(Y!=="default"&&Object.prototype.hasOwnProperty.call(E,Y)){var N=_?Object.getOwnPropertyDescriptor(E,Y):null;N&&(N.get||N.set)?Object.defineProperty(A,Y,N):A[Y]=E[Y]}return A.default=E,D&&D.set(E,A),A}function S(E){return E&&E.__esModule?E:{default:E}}function x(E,I){if(!(E instanceof I))throw new TypeError("Cannot call a class as a function")}function T(E,I){for(var D=0;D"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function K(E){return K=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(D){return D.__proto__||Object.getPrototypeOf(D)},K(E)}var H=function(E){M(D,E);var I=W(D);function D(A){var _;return x(this,D),_=I.call(this,A),_.params=A,_.media={currentTime:0,duration:0,paused:!0,playbackRate:1,play:function(){},pause:function(){},volume:0},_.mediaType=A.mediaType.toLowerCase(),_.elementPosition=A.elementPosition,_.peaks=null,_.playbackRate=1,_.volume=1,_.isMuted=!1,_.buffer=null,_.onPlayEnd=null,_.mediaListeners={},_}return V(D,[{key:"init",value:function(){this.setPlaybackRate(this.params.audioRate),this.createTimer()}},{key:"_setupMediaListeners",value:function(){var _=this;this.mediaListeners.error=function(){_.fireEvent("error","Error loading media element")},this.mediaListeners.waiting=function(){_.fireEvent("waiting")},this.mediaListeners.canplay=function(){_.fireEvent("canplay")},this.mediaListeners.ended=function(){_.fireEvent("finish")},this.mediaListeners.play=function(){_.fireEvent("play")},this.mediaListeners.pause=function(){_.fireEvent("pause")},this.mediaListeners.seeked=function(Y){_.fireEvent("seek")},this.mediaListeners.volumechange=function(Y){_.isMuted=_.media.muted,_.isMuted?_.volume=0:_.volume=_.media.volume,_.fireEvent("volume")},Object.keys(this.mediaListeners).forEach(function(Y){_.media.removeEventListener(Y,_.mediaListeners[Y]),_.media.addEventListener(Y,_.mediaListeners[Y])})}},{key:"createTimer",value:function(){var _=this,Y=function N(){_.isPaused()||(_.fireEvent("audioprocess",_.getCurrentTime()),m.frame(N)())};this.on("play",Y),this.on("pause",function(){_.fireEvent("audioprocess",_.getCurrentTime())})}},{key:"load",value:function(_,Y,N,b){var Q=document.createElement(this.mediaType);Q.controls=this.params.mediaControls,Q.autoplay=this.params.autoplay||!1,Q.preload=b??"auto",Q.src=_,Q.style.width="100%";var de=Y.querySelector(this.mediaType);de&&Y.removeChild(de),Y.appendChild(Q),this._load(Q,N,b)}},{key:"loadElt",value:function(_,Y){_.controls=this.params.mediaControls,_.autoplay=this.params.autoplay||!1,this._load(_,Y,_.preload)}},{key:"_load",value:function(_,Y,N){if(!(_ instanceof HTMLMediaElement)||typeof _.addEventListener>"u")throw new Error("media parameter is not a valid media element");typeof _.load=="function"&&!(Y&&N=="none")&&_.load(),this.media=_,this._setupMediaListeners(),this.peaks=Y,this.onPlayEnd=null,this.buffer=null,this.isMuted=_.muted,this.setPlaybackRate(this.playbackRate),this.setVolume(this.volume)}},{key:"isPaused",value:function(){return!this.media||this.media.paused}},{key:"getDuration",value:function(){if(this.explicitDuration)return this.explicitDuration;var _=(this.buffer||this.media).duration;return _>=1/0&&(_=this.media.seekable.end(0)),_}},{key:"getCurrentTime",value:function(){return this.media&&this.media.currentTime}},{key:"getPlayedPercents",value:function(){return this.getCurrentTime()/this.getDuration()||0}},{key:"getPlaybackRate",value:function(){return this.playbackRate||this.media.playbackRate}},{key:"setPlaybackRate",value:function(_){this.playbackRate=_||1,this.media.playbackRate=this.playbackRate}},{key:"seekTo",value:function(_){_!=null&&!isNaN(_)&&(this.media.currentTime=_),this.clearPlayEnd()}},{key:"play",value:function(_,Y){this.seekTo(_);var N=this.media.play();return Y&&this.setPlayEnd(Y),N}},{key:"pause",value:function(){var _;return this.media&&(_=this.media.pause()),this.clearPlayEnd(),_}},{key:"setPlayEnd",value:function(_){var Y=this;this.clearPlayEnd(),this._onPlayEnd=function(N){N>=_&&(Y.pause(),Y.seekTo(_))},this.on("audioprocess",this._onPlayEnd)}},{key:"clearPlayEnd",value:function(){this._onPlayEnd&&(this.un("audioprocess",this._onPlayEnd),this._onPlayEnd=null)}},{key:"getPeaks",value:function(_,Y,N){return this.buffer?k(K(D.prototype),"getPeaks",this).call(this,_,Y,N):this.peaks||[]}},{key:"setSinkId",value:function(_){return _?this.media.setSinkId?this.media.setSinkId(_):Promise.reject(new Error("setSinkId is not supported in your browser")):Promise.reject(new Error("Invalid deviceId: "+_))}},{key:"getVolume",value:function(){return this.volume}},{key:"setVolume",value:function(_){this.volume=_,this.media.volume!==this.volume&&(this.media.volume=this.volume)}},{key:"setMute",value:function(_){this.isMuted=this.media.muted=_}},{key:"destroy",value:function(){var _=this;this.pause(),this.unAll(),this.destroyed=!0,Object.keys(this.mediaListeners).forEach(function(Y){_.media&&_.media.removeEventListener(Y,_.mediaListeners[Y])}),this.params.removeMediaElementOnDestroy&&this.media&&this.media.parentNode&&this.media.parentNode.removeChild(this.media),this.media=null}}]),D}(h.default);c.default=H,u.exports=c.default},"./src/peakcache.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;function f(x){"@babel/helpers - typeof";return f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(T){return typeof T}:function(T){return T&&typeof Symbol=="function"&&T.constructor===Symbol&&T!==Symbol.prototype?"symbol":typeof T},f(x)}function p(x,T){if(!(x instanceof T))throw new TypeError("Cannot call a class as a function")}function h(x,T){for(var V=0;V{Object.defineProperty(c,"__esModule",{value:!0}),c.default=g;var p=m(f("./src/util/max.js")),h=m(f("./src/util/min.js"));function m(y){return y&&y.__esModule?y:{default:y}}function g(y){var S=(0,p.default)(y),x=(0,h.default)(y);return-x>S?-x:S}u.exports=c.default},"./src/util/clamp.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=f;function f(p,h,m){return Math.min(Math.max(h,p),m)}u.exports=c.default},"./src/util/fetch.js":(u,c,f)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=B;var p=h(f("./src/util/observer.js"));function h(P){return P&&P.__esModule?P:{default:P}}function m(P){"@babel/helpers - typeof";return m=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(k){return typeof k}:function(k){return k&&typeof Symbol=="function"&&k.constructor===Symbol&&k!==Symbol.prototype?"symbol":typeof k},m(P)}function g(P,k){if(!(P instanceof k))throw new TypeError("Cannot call a class as a function")}function y(P,k){for(var R=0;R{Object.defineProperty(c,"__esModule",{value:!0}),c.default=m;var p=h(f("./src/util/request-animation-frame.js"));function h(g){return g&&g.__esModule?g:{default:g}}function m(g){return function(){for(var y=arguments.length,S=new Array(y),x=0;x{Object.defineProperty(c,"__esModule",{value:!0}),c.default=f;function f(p){return p===void 0&&(p="wavesurfer_"),p+Math.random().toString(32).substring(2)}u.exports=c.default},"./src/util/index.js":(u,c,f)=>{Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"Observer",{enumerable:!0,get:function(){return y.default}}),Object.defineProperty(c,"absMax",{enumerable:!0,get:function(){return g.default}}),Object.defineProperty(c,"clamp",{enumerable:!0,get:function(){return k.default}}),Object.defineProperty(c,"debounce",{enumerable:!0,get:function(){return V.default}}),Object.defineProperty(c,"fetchFile",{enumerable:!0,get:function(){return P.default}}),Object.defineProperty(c,"frame",{enumerable:!0,get:function(){return T.default}}),Object.defineProperty(c,"getId",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(c,"ignoreSilenceMode",{enumerable:!0,get:function(){return M.default}}),Object.defineProperty(c,"max",{enumerable:!0,get:function(){return h.default}}),Object.defineProperty(c,"min",{enumerable:!0,get:function(){return m.default}}),Object.defineProperty(c,"preventClick",{enumerable:!0,get:function(){return B.default}}),Object.defineProperty(c,"requestAnimationFrame",{enumerable:!0,get:function(){return x.default}}),Object.defineProperty(c,"style",{enumerable:!0,get:function(){return S.default}}),Object.defineProperty(c,"withOrientation",{enumerable:!0,get:function(){return R.default}});var p=q(f("./src/util/get-id.js")),h=q(f("./src/util/max.js")),m=q(f("./src/util/min.js")),g=q(f("./src/util/absMax.js")),y=q(f("./src/util/observer.js")),S=q(f("./src/util/style.js")),x=q(f("./src/util/request-animation-frame.js")),T=q(f("./src/util/frame.js")),V=q(f("./node_modules/debounce/index.js")),B=q(f("./src/util/prevent-click.js")),P=q(f("./src/util/fetch.js")),k=q(f("./src/util/clamp.js")),R=q(f("./src/util/orientation.js")),M=q(f("./src/util/silence-mode.js"));function q(W){return W&&W.__esModule?W:{default:W}}},"./src/util/max.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=f;function f(p){var h=-1/0;return Object.keys(p).forEach(function(m){p[m]>h&&(h=p[m])}),h}u.exports=c.default},"./src/util/min.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=f;function f(p){var h=1/0;return Object.keys(p).forEach(function(m){p[m]{Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;function f(x){"@babel/helpers - typeof";return f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(T){return typeof T}:function(T){return T&&typeof Symbol=="function"&&T.constructor===Symbol&&T!==Symbol.prototype?"symbol":typeof T},f(x)}function p(x,T){if(!(x instanceof T))throw new TypeError("Cannot call a class as a function")}function h(x,T){for(var V=0;V=0;k--)P[k]==B&&P.splice(k,1);else P.length=0}}},{key:"unAll",value:function(){this.handlers=null}},{key:"once",value:function(V,B){var P=this,k=function R(){for(var M=arguments.length,q=new Array(M),W=0;W1?B-1:0),k=1;k{Object.defineProperty(c,"__esModule",{value:!0}),c.default=m;var f={width:"height",height:"width",overflowX:"overflowY",overflowY:"overflowX",clientWidth:"clientHeight",clientHeight:"clientWidth",clientX:"clientY",clientY:"clientX",scrollWidth:"scrollHeight",scrollLeft:"scrollTop",offsetLeft:"offsetTop",offsetTop:"offsetLeft",offsetHeight:"offsetWidth",offsetWidth:"offsetHeight",left:"top",right:"bottom",top:"left",bottom:"right",borderRightStyle:"borderBottomStyle",borderRightWidth:"borderBottomWidth",borderRightColor:"borderBottomColor"};function p(g,y){return Object.prototype.hasOwnProperty.call(f,g)&&y?f[g]:g}var h=Symbol("isProxy");function m(g,y){return g[h]?g:new Proxy(g,{get:function(x,T,V){if(T===h)return!0;if(T==="domElement")return x;if(T==="style")return m(x.style,y);if(T==="canvas")return m(x.canvas,y);if(T==="getBoundingClientRect")return function(){return m(x.getBoundingClientRect.apply(x,arguments),y)};if(T==="getContext")return function(){return m(x.getContext.apply(x,arguments),y)};var B=x[p(T,y)];return typeof B=="function"?B.bind(x):B},set:function(x,T,V){return x[p(T,y)]=V,!0}})}u.exports=c.default},"./src/util/prevent-click.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=p;function f(h){h.stopPropagation(),document.body.removeEventListener("click",f,!0)}function p(h){document.body.addEventListener("click",f,!0)}u.exports=c.default},"./src/util/request-animation-frame.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var f=(window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(p,h){return setTimeout(p,1e3/60)}).bind(window);c.default=f,u.exports=c.default},"./src/util/silence-mode.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=f;function f(){var p=new AudioContext,h=p.createBufferSource();h.buffer=p.createBuffer(1,1,44100),h.connect(p.destination),h.start();var m="data:audio/mpeg;base64,//uQxAAAAAAAAAAAAAAAAAAAAAAAWGluZwAAAA8AAAACAAACcQCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA//////////////////////////////////////////////////////////////////8AAABhTEFNRTMuMTAwA8MAAAAAAAAAABQgJAUHQQAB9AAAAnGMHkkIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//sQxAADgnABGiAAQBCqgCRMAAgEAH///////////////7+n/9FTuQsQH//////2NG0jWUGlio5gLQTOtIoeR2WX////X4s9Atb/JRVCbBUpeRUq//////////////////9RUi0f2jn/+xDECgPCjAEQAABN4AAANIAAAAQVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQ==",g=document.createElement("div");g.innerHTML='';var y=g.children.item(0);y.src=m,y.preload="auto",y.type="audio/mpeg",y.disableRemotePlayback=!0,y.play(),y.remove(),g.remove()}u.exports=c.default},"./src/util/style.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=f;function f(p,h){return Object.keys(h).forEach(function(m){p.style[m]!==h[m]&&(p.style[m]=h[m])}),p}u.exports=c.default},"./src/wavesurfer.js":(u,c,f)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var p=V(f("./src/util/index.js")),h=x(f("./src/drawer.multicanvas.js")),m=x(f("./src/webaudio.js")),g=x(f("./src/mediaelement.js")),y=x(f("./src/peakcache.js")),S=x(f("./src/mediaelement-webaudio.js"));function x(A){return A&&A.__esModule?A:{default:A}}function T(A){if(typeof WeakMap!="function")return null;var _=new WeakMap,Y=new WeakMap;return(T=function(b){return b?Y:_})(A)}function V(A,_){if(!_&&A&&A.__esModule)return A;if(A===null||U(A)!=="object"&&typeof A!="function")return{default:A};var Y=T(_);if(Y&&Y.has(A))return Y.get(A);var N={},b=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var Q in A)if(Q!=="default"&&Object.prototype.hasOwnProperty.call(A,Q)){var de=b?Object.getOwnPropertyDescriptor(A,Q):null;de&&(de.get||de.set)?Object.defineProperty(N,Q,de):N[Q]=A[Q]}return N.default=A,Y&&Y.set(A,N),N}function B(A,_){if(typeof _!="function"&&_!==null)throw new TypeError("Super expression must either be null or a function");A.prototype=Object.create(_&&_.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),Object.defineProperty(A,"prototype",{writable:!1}),_&&P(A,_)}function P(A,_){return P=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(N,b){return N.__proto__=b,N},P(A,_)}function k(A){var _=q();return function(){var N=W(A),b;if(_){var Q=W(this).constructor;b=Reflect.construct(N,arguments,Q)}else b=N.apply(this,arguments);return R(this,b)}}function R(A,_){if(_&&(U(_)==="object"||typeof _=="function"))return _;if(_!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return M(A)}function M(A){if(A===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return A}function q(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function W(A){return W=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(Y){return Y.__proto__||Object.getPrototypeOf(Y)},W(A)}function j(A,_,Y){return _=E(_),_ in A?Object.defineProperty(A,_,{value:Y,enumerable:!0,configurable:!0,writable:!0}):A[_]=Y,A}function U(A){"@babel/helpers - typeof";return U=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(_){return typeof _}:function(_){return _&&typeof Symbol=="function"&&_.constructor===Symbol&&_!==Symbol.prototype?"symbol":typeof _},U(A)}function G(A,_){if(!(A instanceof _))throw new TypeError("Cannot call a class as a function")}function K(A,_){for(var Y=0;Y<_.length;Y++){var N=_[Y];N.enumerable=N.enumerable||!1,N.configurable=!0,"value"in N&&(N.writable=!0),Object.defineProperty(A,E(N.key),N)}}function H(A,_,Y){return _&&K(A.prototype,_),Y&&K(A,Y),Object.defineProperty(A,"prototype",{writable:!1}),A}function E(A){var _=I(A,"string");return U(_)==="symbol"?_:String(_)}function I(A,_){if(U(A)!=="object"||A===null)return A;var Y=A[Symbol.toPrimitive];if(Y!==void 0){var N=Y.call(A,_||"default");if(U(N)!=="object")return N;throw new TypeError("@@toPrimitive must return a primitive value.")}return(_==="string"?String:Number)(A)}var D=function(A){B(Y,A);var _=k(Y);function Y(N){var b;if(G(this,Y),b=_.call(this),j(M(b),"defaultParams",{audioContext:null,audioScriptProcessor:null,audioRate:1,autoCenter:!0,autoCenterRate:5,autoCenterImmediately:!1,backend:"WebAudio",backgroundColor:null,barHeight:1,barRadius:0,barGap:null,barMinHeight:null,container:null,cursorColor:"#333",cursorWidth:1,dragSelection:!0,drawingContextAttributes:{desynchronized:!1},duration:null,fillParent:!0,forceDecode:!1,height:128,hideScrollbar:!1,hideCursor:!1,ignoreSilenceMode:!1,interact:!0,loopSelection:!0,maxCanvasWidth:4e3,mediaContainer:null,mediaControls:!1,mediaType:"audio",minPxPerSec:20,normalize:!1,partialRender:!1,pixelRatio:window.devicePixelRatio||screen.deviceXDPI/screen.logicalXDPI,plugins:[],progressColor:"#555",removeMediaElementOnDestroy:!0,renderer:h.default,responsive:!1,rtl:!1,scrollParent:!1,skipLength:2,splitChannels:!1,splitChannelsOptions:{overlay:!1,channelColors:{},filterChannels:[],relativeNormalization:!1,splitDragSelection:!1},vertical:!1,waveColor:"#999",xhr:{}}),j(M(b),"backends",{MediaElement:g.default,WebAudio:m.default,MediaElementWebAudio:S.default}),j(M(b),"util",p),b.params=Object.assign({},b.defaultParams,N),b.params.splitChannelsOptions=Object.assign({},b.defaultParams.splitChannelsOptions,N.splitChannelsOptions),b.container=typeof N.container=="string"?document.querySelector(b.params.container):b.params.container,!b.container)throw new Error("Container element not found");if(b.params.mediaContainer==null?b.mediaContainer=b.container:typeof b.params.mediaContainer=="string"?b.mediaContainer=document.querySelector(b.params.mediaContainer):b.mediaContainer=b.params.mediaContainer,!b.mediaContainer)throw new Error("Media Container element not found");if(b.params.maxCanvasWidth<=1)throw new Error("maxCanvasWidth must be greater than 1");if(b.params.maxCanvasWidth%2==1)throw new Error("maxCanvasWidth must be an even number");if(b.params.rtl===!0&&(b.params.vertical===!0?p.style(b.container,{transform:"rotateX(180deg)"}):p.style(b.container,{transform:"rotateY(180deg)"})),b.params.backgroundColor&&b.setBackgroundColor(b.params.backgroundColor),b.savedVolume=0,b.isMuted=!1,b.tmpEvents=[],b.currentRequest=null,b.arraybuffer=null,b.drawer=null,b.backend=null,b.peakCache=null,typeof b.params.renderer!="function")throw new Error("Renderer parameter is invalid");b.Drawer=b.params.renderer,b.params.backend=="AudioElement"&&(b.params.backend="MediaElement"),(b.params.backend=="WebAudio"||b.params.backend==="MediaElementWebAudio")&&!m.default.prototype.supportsWebAudio.call(null)&&(b.params.backend="MediaElement"),b.Backend=b.backends[b.params.backend],b.initialisedPluginList={},b.isDestroyed=!1,b.isReady=!1;var Q=0;return b._onResize=p.debounce(function(){b.drawer.wrapper&&Q!=b.drawer.wrapper.clientWidth&&!b.params.scrollParent&&(Q=b.drawer.wrapper.clientWidth,Q&&b.drawer.fireEvent("redraw"))},typeof b.params.responsive=="number"?b.params.responsive:100),R(b,M(b))}return H(Y,[{key:"init",value:function(){return this.registerPlugins(this.params.plugins),this.createDrawer(),this.createBackend(),this.createPeakCache(),this}},{key:"registerPlugins",value:function(b){var Q=this;return b.forEach(function(de){return Q.addPlugin(de)}),b.forEach(function(de){de.deferInit||Q.initPlugin(de.name)}),this.fireEvent("plugins-registered",b),this}},{key:"getActivePlugins",value:function(){return this.initialisedPluginList}},{key:"addPlugin",value:function(b){var Q=this;if(!b.name)throw new Error("Plugin does not have a name!");if(!b.instance)throw new Error("Plugin ".concat(b.name," does not have an instance property!"));b.staticProps&&Object.keys(b.staticProps).forEach(function(_e){Q[_e]=b.staticProps[_e]});var de=b.instance,Ce=Object.getOwnPropertyNames(p.Observer.prototype);return Ce.forEach(function(_e){de.prototype[_e]=p.Observer.prototype[_e]}),this[b.name]=new de(b.params||{},this),this.fireEvent("plugin-added",b.name),this}},{key:"initPlugin",value:function(b){if(!this[b])throw new Error("Plugin ".concat(b," has not been added yet!"));return this.initialisedPluginList[b]&&this.destroyPlugin(b),this[b].init(),this.initialisedPluginList[b]=!0,this.fireEvent("plugin-initialised",b),this}},{key:"destroyPlugin",value:function(b){if(!this[b])throw new Error("Plugin ".concat(b," has not been added yet and cannot be destroyed!"));if(!this.initialisedPluginList[b])throw new Error("Plugin ".concat(b," is not active and cannot be destroyed!"));if(typeof this[b].destroy!="function")throw new Error("Plugin ".concat(b," does not have a destroy function!"));return this[b].destroy(),delete this.initialisedPluginList[b],this.fireEvent("plugin-destroyed",b),this}},{key:"destroyAllPlugins",value:function(){var b=this;Object.keys(this.initialisedPluginList).forEach(function(Q){return b.destroyPlugin(Q)})}},{key:"createDrawer",value:function(){var b=this;this.drawer=new this.Drawer(this.container,this.params),this.drawer.init(),this.fireEvent("drawer-created",this.drawer),this.params.responsive!==!1&&(window.addEventListener("resize",this._onResize,!0),window.addEventListener("orientationchange",this._onResize,!0)),this.drawer.on("redraw",function(){b.drawBuffer(),b.drawer.progress(b.backend.getPlayedPercents())}),this.drawer.on("click",function(Q,de){setTimeout(function(){return b.seekTo(de)},0)}),this.drawer.on("scroll",function(Q){b.params.partialRender&&b.drawBuffer(),b.fireEvent("scroll",Q)}),this.drawer.on("dblclick",function(Q,de){b.fireEvent("dblclick",Q,de)})}},{key:"createBackend",value:function(){var b=this;this.backend&&this.backend.destroy(),this.backend=new this.Backend(this.params),this.backend.init(),this.fireEvent("backend-created",this.backend),this.backend.on("finish",function(){b.drawer.progress(b.backend.getPlayedPercents()),b.fireEvent("finish")}),this.backend.on("play",function(){return b.fireEvent("play")}),this.backend.on("pause",function(){return b.fireEvent("pause")}),this.backend.on("audioprocess",function(Q){b.drawer.progress(b.backend.getPlayedPercents()),b.fireEvent("audioprocess",Q)}),(this.params.backend==="MediaElement"||this.params.backend==="MediaElementWebAudio")&&(this.backend.on("seek",function(){b.drawer.progress(b.backend.getPlayedPercents())}),this.backend.on("volume",function(){var Q=b.getVolume();b.fireEvent("volume",Q),b.backend.isMuted!==b.isMuted&&(b.isMuted=b.backend.isMuted,b.fireEvent("mute",b.isMuted))}))}},{key:"createPeakCache",value:function(){this.params.partialRender&&(this.peakCache=new y.default)}},{key:"getDuration",value:function(){return this.backend.getDuration()}},{key:"getCurrentTime",value:function(){return this.backend.getCurrentTime()}},{key:"setCurrentTime",value:function(b){b>=this.getDuration()?this.seekTo(1):this.seekTo(b/this.getDuration())}},{key:"play",value:function(b,Q){var de=this;return this.params.ignoreSilenceMode&&p.ignoreSilenceMode(),this.fireEvent("interaction",function(){return de.play(b,Q)}),this.backend.play(b,Q)}},{key:"setPlayEnd",value:function(b){this.backend.setPlayEnd(b)}},{key:"pause",value:function(){if(!this.backend.isPaused())return this.backend.pause()}},{key:"playPause",value:function(){return this.backend.isPaused()?this.play():this.pause()}},{key:"isPlaying",value:function(){return!this.backend.isPaused()}},{key:"skipBackward",value:function(b){this.skip(-b||-this.params.skipLength)}},{key:"skipForward",value:function(b){this.skip(b||this.params.skipLength)}},{key:"skip",value:function(b){var Q=this.getDuration()||1,de=this.getCurrentTime()||0;de=Math.max(0,Math.min(Q,de+(b||0))),this.seekAndCenter(de/Q)}},{key:"seekAndCenter",value:function(b){this.seekTo(b),this.drawer.recenter(b)}},{key:"seekTo",value:function(b){var Q=this;if(typeof b!="number"||!isFinite(b)||b<0||b>1)throw new Error("Error calling wavesurfer.seekTo, parameter must be a number between 0 and 1!");this.fireEvent("interaction",function(){return Q.seekTo(b)});var de=this.params.backend==="WebAudio",Ce=this.backend.isPaused();de&&!Ce&&this.backend.pause();var _e=this.params.scrollParent;this.params.scrollParent=!1,this.backend.seekTo(b*this.getDuration()),this.drawer.progress(b),de&&!Ce&&this.backend.play(),this.params.scrollParent=_e,this.fireEvent("seek",b)}},{key:"stop",value:function(){this.pause(),this.seekTo(0),this.drawer.progress(0)}},{key:"setSinkId",value:function(b){return this.backend.setSinkId(b)}},{key:"setVolume",value:function(b){if(this.isMuted===!0){this.savedVolume=b;return}this.backend.setVolume(b),this.fireEvent("volume",b)}},{key:"getVolume",value:function(){return this.backend.getVolume()}},{key:"setPlaybackRate",value:function(b){this.backend.setPlaybackRate(b)}},{key:"getPlaybackRate",value:function(){return this.backend.getPlaybackRate()}},{key:"toggleMute",value:function(){this.setMute(!this.isMuted)}},{key:"setMute",value:function(b){if(b===this.isMuted){this.fireEvent("mute",this.isMuted);return}this.backend.setMute?(this.backend.setMute(b),this.isMuted=b):b?(this.savedVolume=this.backend.getVolume(),this.backend.setVolume(0),this.isMuted=!0,this.fireEvent("volume",0)):(this.backend.setVolume(this.savedVolume),this.isMuted=!1,this.fireEvent("volume",this.savedVolume)),this.fireEvent("mute",this.isMuted)}},{key:"getMute",value:function(){return this.isMuted}},{key:"getFilters",value:function(){return this.backend.filters||[]}},{key:"toggleScroll",value:function(){this.params.scrollParent=!this.params.scrollParent,this.drawBuffer()}},{key:"toggleInteraction",value:function(){this.params.interact=!this.params.interact}},{key:"getWaveColor",value:function(){var b=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;return this.params.splitChannelsOptions.channelColors[b]?this.params.splitChannelsOptions.channelColors[b].waveColor:this.params.waveColor}},{key:"setWaveColor",value:function(b){var Q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;this.params.splitChannelsOptions.channelColors[Q]?this.params.splitChannelsOptions.channelColors[Q].waveColor=b:this.params.waveColor=b,this.drawBuffer()}},{key:"getProgressColor",value:function(){var b=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;return this.params.splitChannelsOptions.channelColors[b]?this.params.splitChannelsOptions.channelColors[b].progressColor:this.params.progressColor}},{key:"setProgressColor",value:function(b,Q){this.params.splitChannelsOptions.channelColors[Q]?this.params.splitChannelsOptions.channelColors[Q].progressColor=b:this.params.progressColor=b,this.drawBuffer()}},{key:"getBackgroundColor",value:function(){return this.params.backgroundColor}},{key:"setBackgroundColor",value:function(b){this.params.backgroundColor=b,p.style(this.container,{background:this.params.backgroundColor})}},{key:"getCursorColor",value:function(){return this.params.cursorColor}},{key:"setCursorColor",value:function(b){this.params.cursorColor=b,this.drawer.updateCursor()}},{key:"getHeight",value:function(){return this.params.height}},{key:"setHeight",value:function(b){this.params.height=b,this.drawer.setHeight(b*this.params.pixelRatio),this.drawBuffer()}},{key:"setFilteredChannels",value:function(b){this.params.splitChannelsOptions.filterChannels=b,this.drawBuffer()}},{key:"drawBuffer",value:function(){var b=Math.round(this.getDuration()*this.params.minPxPerSec*this.params.pixelRatio),Q=this.drawer.getWidth(),de=b,Ce=0,_e=Math.max(Ce+Q,de);this.params.fillParent&&(!this.params.scrollParent||b{Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var p=m(f("./src/util/index.js"));function h(E){if(typeof WeakMap!="function")return null;var I=new WeakMap,D=new WeakMap;return(h=function(_){return _?D:I})(E)}function m(E,I){if(!I&&E&&E.__esModule)return E;if(E===null||g(E)!=="object"&&typeof E!="function")return{default:E};var D=h(I);if(D&&D.has(E))return D.get(E);var A={},_=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var Y in E)if(Y!=="default"&&Object.prototype.hasOwnProperty.call(E,Y)){var N=_?Object.getOwnPropertyDescriptor(E,Y):null;N&&(N.get||N.set)?Object.defineProperty(A,Y,N):A[Y]=E[Y]}return A.default=E,D&&D.set(E,A),A}function g(E){"@babel/helpers - typeof";return g=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(I){return typeof I}:function(I){return I&&typeof Symbol=="function"&&I.constructor===Symbol&&I!==Symbol.prototype?"symbol":typeof I},g(E)}function y(E,I){if(!(E instanceof I))throw new TypeError("Cannot call a class as a function")}function S(E,I){for(var D=0;D"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function M(E){return M=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(D){return D.__proto__||Object.getPrototypeOf(D)},M(E)}function q(E,I,D){return I=W(I),I in E?Object.defineProperty(E,I,{value:D,enumerable:!0,configurable:!0,writable:!0}):E[I]=D,E}function W(E){var I=j(E,"string");return g(I)==="symbol"?I:String(I)}function j(E,I){if(g(E)!=="object"||E===null)return E;var D=E[Symbol.toPrimitive];if(D!==void 0){var A=D.call(E,I||"default");if(g(A)!=="object")return A;throw new TypeError("@@toPrimitive must return a primitive value.")}return(I==="string"?String:Number)(E)}var U="playing",G="paused",K="finished",H=function(E){T(D,E);var I=B(D);function D(A){var _,Y,N;return y(this,D),N=I.call(this),q(k(N),"audioContext",null),q(k(N),"stateBehaviors",(_={},q(_,U,{init:function(){this.addOnAudioProcess()},getPlayedPercents:function(){var Q=this.getDuration();return this.getCurrentTime()/Q||0},getCurrentTime:function(){return this.startPosition+this.getPlayedTime()}}),q(_,G,{init:function(){},getPlayedPercents:function(){var Q=this.getDuration();return this.getCurrentTime()/Q||0},getCurrentTime:function(){return this.startPosition}}),q(_,K,{init:function(){this.fireEvent("finish")},getPlayedPercents:function(){return 1},getCurrentTime:function(){return this.getDuration()}}),_)),N.params=A,N.ac=A.audioContext||(N.supportsWebAudio()?N.getAudioContext():{}),N.lastPlay=N.ac.currentTime,N.startPosition=0,N.scheduledPause=null,N.states=(Y={},q(Y,U,Object.create(N.stateBehaviors[U])),q(Y,G,Object.create(N.stateBehaviors[G])),q(Y,K,Object.create(N.stateBehaviors[K])),Y),N.buffer=null,N.filters=[],N.gainNode=null,N.mergedPeaks=null,N.offlineAc=null,N.peaks=null,N.playbackRate=1,N.analyser=null,N.scriptNode=null,N.source=null,N.splitPeaks=[],N.state=null,N.explicitDuration=A.duration,N.sinkStreamDestination=null,N.sinkAudioElement=null,N.destroyed=!1,N}return x(D,[{key:"supportsWebAudio",value:function(){return!!(window.AudioContext||window.webkitAudioContext)}},{key:"getAudioContext",value:function(){return window.WaveSurferAudioContext||(window.WaveSurferAudioContext=new(window.AudioContext||window.webkitAudioContext)),window.WaveSurferAudioContext}},{key:"getOfflineAudioContext",value:function(_){return window.WaveSurferOfflineAudioContext||(window.WaveSurferOfflineAudioContext=new(window.OfflineAudioContext||window.webkitOfflineAudioContext)(1,2,_)),window.WaveSurferOfflineAudioContext}},{key:"init",value:function(){this.createVolumeNode(),this.createScriptNode(),this.createAnalyserNode(),this.setState(G),this.setPlaybackRate(this.params.audioRate),this.setLength(0)}},{key:"disconnectFilters",value:function(){this.filters&&(this.filters.forEach(function(_){_&&_.disconnect()}),this.filters=null,this.analyser.connect(this.gainNode))}},{key:"setState",value:function(_){this.state!==this.states[_]&&(this.state=this.states[_],this.state.init.call(this))}},{key:"setFilter",value:function(){for(var _=arguments.length,Y=new Array(_),N=0;N<_;N++)Y[N]=arguments[N];this.setFilters(Y)}},{key:"setFilters",value:function(_){this.disconnectFilters(),_&&_.length&&(this.filters=_,this.analyser.disconnect(),_.reduce(function(Y,N){return Y.connect(N),N},this.analyser).connect(this.gainNode))}},{key:"createScriptNode",value:function(){this.params.audioScriptProcessor&&(this.scriptNode=this.params.audioScriptProcessor,this.scriptNode.connect(this.ac.destination))}},{key:"addOnAudioProcess",value:function(){var _=this,Y=function N(){var b=_.getCurrentTime();b>=_.getDuration()&&_.state!==_.states[K]?(_.setState(K),_.fireEvent("pause")):b>=_.scheduledPause&&_.state!==_.states[G]?_.pause():_.state===_.states[U]&&(_.fireEvent("audioprocess",b),p.frame(N)())};Y()}},{key:"createAnalyserNode",value:function(){this.analyser=this.ac.createAnalyser(),this.analyser.connect(this.gainNode)}},{key:"createVolumeNode",value:function(){this.ac.createGain?this.gainNode=this.ac.createGain():this.gainNode=this.ac.createGainNode(),this.gainNode.connect(this.ac.destination)}},{key:"setSinkId",value:function(_){return _?(this.sinkAudioElement||(this.sinkAudioElement=new window.Audio,this.sinkAudioElement.autoplay=!0),this.sinkAudioElement.setSinkId?(this.sinkStreamDestination||(this.sinkStreamDestination=this.ac.createMediaStreamDestination()),this.gainNode.disconnect(),this.gainNode.connect(this.sinkStreamDestination),this.sinkAudioElement.srcObject=this.sinkStreamDestination.stream,this.sinkAudioElement.setSinkId(_)):Promise.reject(new Error("setSinkId is not supported in your browser"))):Promise.reject(new Error("Invalid deviceId: "+_))}},{key:"setVolume",value:function(_){this.gainNode.gain.setValueAtTime(_,this.ac.currentTime)}},{key:"getVolume",value:function(){return this.gainNode.gain.value}},{key:"decodeArrayBuffer",value:function(_,Y,N){this.offlineAc||(this.offlineAc=this.getOfflineAudioContext(this.ac&&this.ac.sampleRate?this.ac.sampleRate:44100)),"webkitAudioContext"in window?this.offlineAc.decodeAudioData(_,function(b){return Y(b)},N):this.offlineAc.decodeAudioData(_).then(function(b){return Y(b)}).catch(function(b){return N(b)})}},{key:"setPeaks",value:function(_,Y){Y!=null&&(this.explicitDuration=Y),this.peaks=_}},{key:"setLength",value:function(_){if(!(this.mergedPeaks&&_==2*this.mergedPeaks.length-1+2)){this.splitPeaks=[],this.mergedPeaks=[];var Y=this.buffer?this.buffer.numberOfChannels:1,N;for(N=0;Nje&&(je=L),Lthis.mergedPeaks[2*se])&&(this.mergedPeaks[2*se]=je),(_e==0||Oe=this.getDuration()&&(_=0)),Y==null&&(Y=this.getDuration()),this.startPosition=_,this.lastPlay=this.ac.currentTime,this.state===this.states[K]&&this.setState(G),{start:_,end:Y}}},{key:"getPlayedTime",value:function(){return(this.ac.currentTime-this.lastPlay)*this.playbackRate}},{key:"play",value:function(_,Y){if(this.buffer){this.createSource();var N=this.seekTo(_,Y);_=N.start,Y=N.end,this.scheduledPause=Y,this.source.start(0,_),this.resumeAudioContext(),this.setState(U),this.fireEvent("play")}}},{key:"pause",value:function(){this.scheduledPause=null,this.startPosition+=this.getPlayedTime();try{this.source&&this.source.stop(0)}catch{}this.setState(G),this.fireEvent("pause")}},{key:"getCurrentTime",value:function(){return this.state.getCurrentTime.call(this)}},{key:"getPlaybackRate",value:function(){return this.playbackRate}},{key:"setPlaybackRate",value:function(_){this.playbackRate=_||1,this.source&&this.source.playbackRate.setValueAtTime(this.playbackRate,this.ac.currentTime)}},{key:"setPlayEnd",value:function(_){this.scheduledPause=_}}]),D}(p.Observer);c.default=H,u.exports=c.default},"./node_modules/debounce/index.js":u=>{function c(f,p,h){var m,g,y,S,x;p==null&&(p=100);function T(){var B=Date.now()-S;B=0?m=setTimeout(T,p-B):(m=null,h||(x=f.apply(y,g),y=g=null))}var V=function(){y=this,g=arguments,S=Date.now();var B=h&&!m;return m||(m=setTimeout(T,p)),B&&(x=f.apply(y,g),y=g=null),x};return V.clear=function(){m&&(clearTimeout(m),m=null)},V.flush=function(){m&&(x=f.apply(y,g),y=g=null,clearTimeout(m),m=null)},V}c.debounce=c,u.exports=c}},s={};function o(u){var c=s[u];if(c!==void 0)return c.exports;var f=s[u]={exports:{}};return r[u](f,f.exports,o),f.exports}var l=o("./src/wavesurfer.js");return l})())})(Xg);var kR=Xg.exports;const OR=Pk(kR),RR=Ge({__name:"WaveAudio",setup(e,{expose:t}){const r=Pe(null),s=new Audio;Vt(()=>{const y=window.getCurrentTheme(),S=li["fg-base"][y],x=li["fg-secondary"][y];r.value=OR.create({container:"#waveform",waveColor:S,progressColor:x,cursorWidth:0,barWidth:1,barGap:3,responsive:!0,backend:"MediaElement"}),r.value.on("play",()=>{o.setPlaying(!0)}),r.value.on("pause",()=>{o.setPlaying(!1)}),r.value.on("audioprocess",()=>{o.setProgress(r.value.getCurrentTime())}),r.value.on("finish",()=>{u||(u=!0,o.onSongEnded(),console.log("Song ended"))}),r.value.on("waveform-ready",()=>{r.value&&(o.setDuration(r.value.getDuration()),(u||o.playing)&&(c(),u=!1))});var T=r.value.backend.ac,V=T.createMediaElementSource(s);V.connect(T.destination),l.setSource(V,T)});const o=It(),l=Lc();let u=!1;Vt(()=>{s.src=o.stream,r.value.load(s)}),st(()=>o.song.id,()=>{r.value.isPlaying()&&(u=!0),s.src=o.stream,r.value.load(s),o.setPlaying(!1)});const c=()=>{try{r.value.play()}catch{}},f=()=>{r.value.pause()},p=y=>{r.value.seekTo(y/o.durationSeconds)},h=y=>{let S=y/100;S=Math.min(Math.max(S,0),1),r.value.setVolume(S)},m=y=>{r.value.setMute(y)};return Vt(()=>{h(o.volume)}),t({play:c,pause:f,seek:p,setVolume:h,setMute:m}),(y,S)=>(re(),ye("div",{id:"waveform",onAudioprocess:S[0]||(S[0]=x=>oe(o).setProgress(x))},null,32))}});const TR=Ge({__name:"AmbientBackground",props:{src:{type:String,required:!0},direction:{type:String,required:!1,default:"to bottom"},placeholder:{type:String,required:!1}},setup(e){const t=Ur(),r=e,s=Pe(null),o=async(l=void 0)=>{if(!s.value)return;const u=l===void 0?bg(r.src):l,c=await $s(u,r.placeholder);try{await aS(s.value,c,r.direction)}catch(f){if(!(f instanceof Error)||!f.message.includes("Error loading image"))throw f;await o(null)}};return st(()=>r.src,()=>Kn(o)),Vt(o),(l,u)=>e.src!=null&&oe(t).ambient?(re(),ye("div",{key:0,ref_key:"ambientGradient",ref:s,class:"ambient-gradient absolute inset-0 pointer-events-none"},null,512)):Be("",!0)}}),Qg=e=>(es("data-v-ed8a9309"),e=e(),ts(),e),IR={key:1,class:"desktop mx-4"},MR={class:"song-info"},LR={class:"title-artist"},$R={class:"controls"},DR={class:"top relative"},NR=["disabled"],BR=["disabled"],VR=["disabled"],WR={class:"bottom"},FR={class:"display"},HR={class:"text-xs text-muted text-left"},UR={class:"aux relative"},qR={key:0,class:"cursor-pointer material-symbols-rounded ms-fill"},jR=Qg(()=>te("span",{class:"cursor-pointer material-symbols-rounded ms-fill"}," queue_music ",-1)),KR={key:2,class:"mobile mx-4"},GR={class:"artist-title overflow-hidden"},zR={class:"full"},YR={class:"rest"},ZR={class:"song-info"},JR=Qg(()=>te("div",{class:"rest"},null,-1)),XR={class:"title-artist mb-4"},QR={class:"controls mb-4"},eT={class:"top"},tT={class:"bottom"},nT={class:"flex flex-row justify-between"},rT={class:"text-xs text-muted text-right"},iT={class:"text-xs text-muted text-left"},sT={class:"aux flex flex-row justify-between"},oT={class:"flex flex-row"},aT=Ge({__name:"Player",setup(e){const t=It(),r=Ur(),s=Pe(null),o=Pe(null),l=Pe(""),u=Ve(()=>t.sharedPlayer.connections.map(g=>({value:g.id,label:g.friendlyName})));st(l,g=>{var y;g===((y=t.sharedPlayer.me)==null?void 0:y.id)?(t.sharedPlayer.makeMePlayer(),t.setPlaying(!1)):c(g)}),st(()=>t.sharedPlayer.connections,g=>{var y;(!l.value||!g.find(S=>S.id===l.value))&&(l.value=(y=t.sharedPlayer.me)==null?void 0:y.id)}),st(()=>t.progressPercent,g=>{o.value=g});const c=g=>{const y=t.sharedPlayer.connections.find(S=>S.id===g);y&&(t.sharedPlayer.setPlayer(y),s.value=t.sharedPlayer)};Vt(()=>{var g;l.value=(g=t.sharedPlayer.me)==null?void 0:g.id}),st(s,()=>{t.setPlayer(s.value)}),Vt(()=>{t.setPlayer(s.value)});const f=Pe(!1),p=Ve(()=>{var g;return l.value===((g=t.sharedPlayer.me)==null?void 0:g.id)}),h=Ve(()=>r.player.type==="web"&&p.value),m=Ve(()=>r.player.type==="web/wave"&&p.value);return(g,y)=>{const S=Ui("router-link");return re(),ye("div",{class:Je(["player",{"inset-0":f.value}])},[pe(TR,{src:oe(t).song.cover,direction:"to top right"},null,8,["src"]),h.value?(re(),Ye(vR,{key:0,ref_key:"playable",ref:s},null,512)):Be("",!0),oe(zu)?(re(),ye("div",KR,[oe(zu)&&!p.value?(re(),ye("audio",{key:0,id:"hijackVolume",onVolumechange:y[14]||(y[14]=x=>oe(t).setVolume(x.target.volume*100))},null,32)):Be("",!0),js(te("div",{class:"small",onClick:y[18]||(y[18]=x=>f.value=!0)},[pe(Dr,{src:oe(t).song.cover,class:"cover rounded-md"},null,8,["src"]),te("div",GR,[pe(sr,{text:oe(t).song.title,class:"text-sm"},null,8,["text"]),pe(sr,{text:oe(t).song.artist,class:"text-xs text-muted"},null,8,["text"])]),pe(Pu,{modelValue:l.value,"onUpdate:modelValue":y[15]||(y[15]=x=>l.value=x),class:Je({"on-this-device":p.value}),options:u.value,icon:"devices",onClick:y[16]||(y[16]=Bt(()=>{},["stop"]))},null,8,["modelValue","class","options"]),te("span",{class:"cursor-pointer material-symbols-rounded ms-fill text-xl",onClick:y[17]||(y[17]=Bt((...x)=>oe(t).playPause&&oe(t).playPause(...x),["stop"]))},De(oe(t).playing?"pause":"play_arrow"),1)],512),[[Pa,!f.value]]),js(te("div",zR,[te("div",null,[te("span",{class:"material-symbols-rounded ms-wght-500",onClick:y[19]||(y[19]=x=>f.value=!1)}," expand_more ")]),pe(S,{class:"my-auto linkOnHover",to:"/player"},{default:St(()=>[pe(Dr,{src:oe(t).song.cover,class:"cover rounded-md"},null,8,["src"])]),_:1}),te("div",YR,[te("div",ZR,[JR,te("div",XR,[pe(S,{to:`/track/${oe(op)(oe(t).song.id)}`,class:"linkOnHover"},{default:St(()=>[pe(sr,{text:oe(t).song.title,class:"text-2xl font-bold"},null,8,["text"])]),_:1},8,["to"]),pe(S,{to:`/search/${oe(t).song.artist}`,class:"linkOnHover"},{default:St(()=>[pe(sr,{text:oe(t).song.artist,class:"text-muted text-xs"},null,8,["text"])]),_:1},8,["to"])])]),te("div",QR,[te("div",eT,[te("span",{class:"icon cursor-pointer material-symbols-rounded ms-wght-300",onClick:y[20]||(y[20]=(...x)=>oe(t).toggleShuffle&&oe(t).toggleShuffle(...x))},De(oe(t).shuffleIcon),1),te("span",{class:"icon cursor-pointer material-symbols-rounded ms-fill",onClick:y[21]||(y[21]=(...x)=>oe(t).previous&&oe(t).previous(...x))}," skip_previous "),te("span",{class:"cursor-pointer material-symbols-rounded ms-fill text-4xl",onClick:y[22]||(y[22]=(...x)=>oe(t).playPause&&oe(t).playPause(...x))},De(oe(t).playing?"pause_circle":"play_circle"),1),te("span",{class:"icon cursor-pointer material-symbols-rounded ms-fill",onClick:y[23]||(y[23]=(...x)=>oe(t).next&&oe(t).next(...x))}," skip_next "),te("span",{class:"icon cursor-pointer material-symbols-rounded ms-wght-300",onClick:y[24]||(y[24]=(...x)=>oe(t).toggleRepeat&&oe(t).toggleRepeat(...x))},De(oe(t).repeat),1)]),te("div",tT,[pe(xu,{modelValue:o.value,"onUpdate:modelValue":y[25]||(y[25]=x=>o.value=x),max:1e3,onChange:y[26]||(y[26]=x=>oe(t).seekPercent(x/10))},null,8,["modelValue"]),te("div",nT,[te("span",rT,De(oe(t).displayProgress),1),te("span",iT,De(oe(t).displayDuration),1)])])]),te("div",sT,[te("div",oT,[te("span",{class:Je([{"ms-fill":oe(t).song.favourite},"favourite text-xl cursor-pointer material-symbols-rounded ms-wght-300"]),onClick:y[27]||(y[27]=(...x)=>oe(t).toggleFavourite&&oe(t).toggleFavourite(...x))}," favorite ",2),oe(r).player.pictureInPicture?(re(),ye(tt,{key:0},[oe(qn)=="loading"?(re(),Ye(Tp,{key:0})):(re(),ye("span",{key:1,class:"favourite material-icons-round cursor-pointer text-xl ml-2",onClick:y[28]||(y[28]=(...x)=>oe(aa)&&oe(aa)(...x))},De(oe(qn)=="ready"?"picture_in_picture_alt":"error"),1))],64)):Be("",!0)]),pe(Pu,{modelValue:l.value,"onUpdate:modelValue":y[29]||(y[29]=x=>l.value=x),class:Je({"on-this-device":p.value}),options:u.value,icon:"devices"},null,8,["modelValue","class","options"])])])],512),[[Pa,f.value]])])):(re(),ye("div",IR,[te("div",MR,[pe(S,{class:"linkOnHover",to:"/player"},{default:St(()=>[oe(t).loaded?(re(),Ye(Dr,{key:0,src:oe(t).song.cover,class:"cover rounded-md",name:oe(t).song.title},null,8,["src","name"])):Be("",!0)]),_:1}),oe(t).loaded?(re(),ye(tt,{key:0},[te("div",LR,[pe(S,{to:`/track/${oe(op)(oe(t).song.id)}`,class:"linkOnHover"},{default:St(()=>[pe(sr,{text:oe(t).song.title,class:""},null,8,["text"])]),_:1},8,["to"]),pe(jg,{artist:oe(t).song.artist,class:"text-muted text-xs"},null,8,["artist"])]),te("span",{class:Je([{"ms-fill":oe(t).song.favourite},"favourite text-xl cursor-pointer material-symbols-rounded ms-wght-300"]),onClick:y[0]||(y[0]=(...x)=>oe(t).toggleFavourite&&oe(t).toggleFavourite(...x))}," favorite ",2),oe(r).player.pictureInPicture?(re(),ye(tt,{key:0},[oe(qn)=="loading"?(re(),Ye(Tp,{key:0})):(re(),ye("span",{key:1,class:"favourite material-icons-round cursor-pointer text-xl",onClick:y[1]||(y[1]=(...x)=>oe(aa)&&oe(aa)(...x))},De(oe(qn)=="ready"?"picture_in_picture_alt":"error"),1))],64)):Be("",!0)],64)):(re(),Ye(S,{key:1,to:"/collection/playlists"},{default:St(()=>[pe(sr,{class:"text-xs text-muted",text:"Nothing playing yet..."})]),_:1}))]),te("div",$R,[te("div",DR,[te("span",{class:"icon cursor-pointer material-symbols-rounded ms-wght-300",onClick:y[2]||(y[2]=(...x)=>oe(t).toggleShuffle&&oe(t).toggleShuffle(...x))},De(oe(t).shuffleIcon),1),te("span",{class:Je([{"cursor-not-allowed":!oe(t).loaded},"icon cursor-pointer material-symbols-rounded ms-fill"]),disabled:!oe(t).loaded,onClick:y[3]||(y[3]=(...x)=>oe(t).previous&&oe(t).previous(...x))}," skip_previous ",10,NR),te("span",{class:Je([{"cursor-not-allowed":!oe(t).loaded},"cursor-pointer material-symbols-rounded ms-fill text-4xl"]),disabled:!oe(t).loaded,onClick:y[4]||(y[4]=(...x)=>oe(t).playPause&&oe(t).playPause(...x))},De(oe(t).playing?"pause_circle":"play_circle"),11,BR),te("span",{class:Je([{"cursor-not-allowed":!oe(t).loaded},"icon cursor-pointer material-symbols-rounded ms-fill"]),disabled:!oe(t).loaded,onClick:y[5]||(y[5]=(...x)=>oe(t).next&&oe(t).next(...x))}," skip_next ",10,VR),te("span",{class:"icon cursor-pointer material-symbols-rounded ms-wght-300",onClick:y[6]||(y[6]=(...x)=>oe(t).toggleRepeat&&oe(t).toggleRepeat(...x))},De(oe(t).repeat),1)]),te("div",WR,[te("div",FR,[te("span",{class:"text-xs text-muted text-right cursor-pointer",onClick:y[7]||(y[7]=x=>oe(r).player.type=oe(r).player.type==="web"?"web/wave":"web")},De(oe(t).displayProgress),1),m.value?(re(),Ye(RR,{key:0,ref_key:"playable",ref:s},null,512)):(re(),Ye(xu,{key:1,modelValue:o.value,"onUpdate:modelValue":y[8]||(y[8]=x=>o.value=x),max:1e3,onChange:y[9]||(y[9]=x=>oe(t).seekPercent(x/10))},null,8,["modelValue"])),te("span",HR,De(oe(t).displayDuration),1)])])]),te("div",UR,[pe(S,{to:"/sing-along",class:"icon select-none"},{default:St(()=>[oe(t).loaded&&oe(t).hasLyrics?(re(),ye("span",qR," mic ")):Be("",!0)]),_:1}),pe(S,{to:"/player",class:"icon select-none"},{default:St(()=>[jR]),_:1}),pe(Pu,{modelValue:l.value,"onUpdate:modelValue":y[10]||(y[10]=x=>l.value=x),class:Je([{"on-this-device":p.value},"select-none"]),options:u.value,icon:"devices"},null,8,["modelValue","class","options"]),te("span",{class:"icon cursor-pointer material-symbols-rounded ms-fill select-none",onClick:y[11]||(y[11]=(...x)=>oe(t).toggleMute&&oe(t).toggleMute(...x))},De(oe(t).muteIcon),1),pe(xu,{modelValue:oe(t).volume,"onUpdate:modelValue":y[12]||(y[12]=x=>oe(t).volume=x),max:100,onChange:y[13]||(y[13]=x=>oe(t).setVolume(x))},null,8,["modelValue"])])]))],2)}}});const ev=at(aT,[["__scopeId","data-v-ed8a9309"]]),lT=1,uT=1,cT=1,gI=e=>({type:"song",version:lT,song:e}),fT=async e=>{const t={type:"playlist",version:uT};if(e.type==="special")return null;if(e.type==="classic"){const r=Object.assign({},e);return delete r.queue,delete r.cursor,{...t,playlist:r}}if(e.type==="smart"){const r=await aE(e.id);return{...t,playlist:{name:e.name,description:e.description,cover:e.cover,type:e.type,definition:r,plays:e.plays,id:e.id,href:e.href}}}},vI=async e=>({type:"collection",version:cT,collection:await Promise.all(e.filter(t=>t.type!="special").map(fT))}),yI=(e,t="my")=>{var r="data:text/json;charset=utf-8,"+encodeURIComponent(JSON.stringify(e)),s=document.createElement("a");s.setAttribute("href",r),s.setAttribute("download",`${t}.one.${e.type}`),s.click()},dT=async e=>{if(!e.length)return;const t=Ic();if(!t.path.startsWith("/playlist/")){lr.addError("No playlist selected","Please select open the playlist you want to add songs to",3e3);return}const r=Yt().getPlaylistById(t.params.id);if(r.type!=="classic"){lr.addError("Can't add songs to this playlist","You can only add songs to classic playlists",3e3);return}await Pg(r.id,e.map(s=>s.song)),lr.addSuccess(`Added ${e.length} songs to ${r.name}`,null,3e3)},hT=async e=>{const t=e.playlist,r=await Ec(t.type,t.name,t.description,t.cover);if(t.type==="smart"){await lE(r,t.definition);return}await Pg(r,t.songs)},pT=async e=>{if(e.length){for(const t of e)await hT(t);lr.addSuccess(`Added ${e.length} playlists`,null,3e3),Yt().fetchPlaylists()}},mT=e=>{const t=e.filter(o=>o.type==="song");dT(t);const r=e.filter(o=>o.type==="playlist"),s=e.filter(o=>o.type==="collection");for(const o of s)r.push(...o.collection);pT(r)},gT=Ge({__name:"DropImport",setup(e){const t=Pe(!1),r=Ic(),s=Yt(),o=Ve(()=>r.path.startsWith("/playlist/")),l=Ve(()=>{if(!o.value)return null;const h=r.params.id;return s.getPlaylistById(h)}),u=Ve(()=>l.value?l.value.type==="classic":!1),c=async h=>{const m=[];for(let S=0;SJSON.parse(S));mT(y)},f=h=>{if(t.value=!1,!u)return;const m=h.dataTransfer.files;m.length&&c(m)},p=h=>{h.currentTarget.contains(h.relatedTarget)||(t.value=!1)};return(h,m)=>(re(),ye("div",{class:Je(["dropzone",{drophover:t.value}]),onDrop:Bt(f,["prevent"]),onDragenter:m[0]||(m[0]=Bt(()=>{},["prevent"])),onDragover:m[1]||(m[1]=Bt(g=>t.value=!0,["prevent"])),onDragleave:Bt(p,["prevent"])},[ji(h.$slots,"default",{},void 0,!0)],34))}});const vT=at(gT,[["__scopeId","data-v-c5853362"]]),yT=["src"],_T={id:"appRoot",class:"appRoot"},bT={class:"interface"},wT=te("div",{id:"popup-target"},null,-1),AT=te("div",{id:"dropdown-target"},null,-1),xT=te("div",{id:"autocomplete-target"},null,-1),PT={name:"App",components:{Sidebar:Zg,Body:Jg,Player:ev},async mounted(){tR(),Yg(),await nR()&&this.$router.push("/welcome"),await rR()},data(){return{maximised:!1}},watch:{$route(e){document.title=e.meta.title||"reAudioPlayer One"}}},CT=Ge({...PT,setup(e){Kg();const t=It(),r=Ur(),s=Pe(null);st(()=>t.song.cover,()=>{o()});const o=async()=>{s.value=await $s(t.song.cover,t.song.title,200)},l=async()=>{s.value=await kc(t.song.title,200)};o();const u=Ve(()=>window.getCurrentThemeProperty("coverAsBackground"));return Vt(()=>{window.addEventListener("keydown",c=>{c.code==="Space"&&document.activeElement===document.body?(c.preventDefault(),t.playPause()):c.code==="F1"&&(c.preventDefault(),r.mode.toggle())})}),(c,f)=>(re(),ye(tt,null,[te("div",{class:Je([{hidden:!u.value},"bgImageWrapper"])},[te("div",{style:Fr({backgroundImage:`url(${s.value})`}),class:"bgImage"},[te("img",{src:s.value,class:"hidden",onError:l},null,40,yT)],4)],2),pe(vT,null,{default:St(()=>[te("div",_T,[oe(t).ready?(re(),ye(tt,{key:0},[pe(iO),te("div",bT,[c.maximised?Be("",!0):(re(),Ye(Zg,{key:0})),pe(Jg,{onMaximise:f[0]||(f[0]=p=>c.maximised=p)})]),pe(ev),c.maximised?Be("",!0):(re(),Ye(CE,{key:0}))],64)):(re(),Ye(mO,{key:1}))])]),_:1}),wT,AT,xT,pe(TO)],64))}});function da(e){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?da=function(t){return typeof t}:da=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},da(e)}function ET(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Ip(e,t){for(var r=0;r2&&arguments[2]!==void 0?arguments[2]:{},s,o,l,u=function(f){for(var p=arguments.length,h=new Array(p>1?p-1:0),m=1;m1){var p=c.find(function(m){return m.isIntersecting});p&&(f=p)}if(o.callback){var h=f.isIntersecting&&f.intersectionRatio>=o.threshold;if(h===o.oldResult)return;o.oldResult=h,o.callback(h,f)}},this.options.intersection),s.context.$nextTick(function(){o.observer&&o.observer.observe(o.el)})}}},{key:"destroyObserver",value:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.callback&&this.callback._clear&&(this.callback._clear(),this.callback=null)}},{key:"threshold",get:function(){return this.options.intersection&&typeof this.options.intersection.threshold=="number"?this.options.intersection.threshold:0}}]),e}();function nv(e,t,r){var s=t.value;if(s)if(typeof IntersectionObserver>"u")console.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else{var o=new MT(e,s,r);e._vue_visibilityState=o}}function LT(e,t,r){var s=t.value,o=t.oldValue;if(!tv(s,o)){var l=e._vue_visibilityState;if(!s){rv(e);return}l?l.createObserver(s,r):nv(e,{value:s},r)}}function rv(e){var t=e._vue_visibilityState;t&&(t.destroyObserver(),delete e._vue_visibilityState)}var ha={bind:nv,update:LT,unbind:rv};function $T(e){e.directive("observe-visibility",ha)}var DT={version:"1.0.0",install:$T},ka=null;typeof window<"u"?ka=window.Vue:typeof global<"u"&&(ka=global.Vue);ka&&ka.use(DT);var iv=function(t,r){var s,o=r.arg;if(!o){console.error("参数有误");return}var l=r.value,u=Pt(o)?o.value:(s=r.instance)===null||s===void 0?void 0:s.$refs[o];if(!u){console.error("没有找到 ".concat(o," 对应的实例"));return}if(typeof u.addReference!="function"){console.error("".concat(o," 对应的实例不是 VContextmenu"));return}t.$contextmenuKey=o,u.addReference(t,l)},sv=function(t,r){var s,o=t.$contextmenuKey;if(o){var l=(s=r.instance)===null||s===void 0?void 0:s.$refs[o];l==null||l.removeReference(t)}},NT=function(t,r){sv(t,r),iv(t,r)},BT={mounted:iv,updated:NT,beforeUnmount:sv},yt={contextmenu:"v-contextmenu",contextmenuIcon:"v-contextmenu-icon",contextmenuInner:"v-contextmenu-inner",contextmenuDivider:"v-contextmenu-divider",contextmenuItem:"v-contextmenu-item",contextmenuItemHover:"v-contextmenu-item--hover",contextmenuItemDisabled:"v-contextmenu-item--disabled",contextmenuGroup:"v-contextmenu-group",contextmenuGroupTitle:"v-contextmenu-group__title",contextmenuGroupMenus:"v-contextmenu-group__menus",contextmenuSubmenu:"v-contextmenu-submenu",contextmenuSubmenuTitle:"v-contextmenu-submenu__title",contextmenuSubmenuMenus:"v-contextmenu-submenu__menus",contextmenuSubmenuMenusTop:"v-contextmenu-submenu__menus--top",contextmenuSubmenuMenusRight:"v-contextmenu-submenu__menus--right",contextmenuSubmenuMenusBottom:"v-contextmenu-submenu__menus--bottom",contextmenuSubmenuMenusLeft:"v-contextmenu-submenu__menus--left",contextmenuSubmenuArrow:"v-contextmenu-submenu__arrow"};function VT(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!Vr(e)}var WT={trigger:["contextmenu"]},Lp=Ge({name:"VContextmenu",props:{modelValue:{type:Boolean,default:!1},autoAjustPlacement:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},teleport:{type:[String,Object],default:function(){return"body"}}},emits:["show","hide","update:modelValue"],setup:function(t,r){var s=r.emit,o=Pe(null),l=Pe(t.modelValue||!1),u=function(P){l.value=P,s("update:modelValue",P)},c=Pe({top:0,left:0}),f=Ve(function(){return{top:"".concat(c.value.top,"px"),left:"".concat(c.value.left,"px")}}),p=Pe(null),h=function(P,k){var R=P instanceof Event?k:P,M=(R==null?void 0:R.autoAjustPlacement)||t.autoAjustPlacement,q={top:(R==null?void 0:R.top)||0,left:(R==null?void 0:R.left)||0};if(P instanceof Event){var W,j;P.preventDefault(),q.top=(W=R==null?void 0:R.top)!==null&&W!==void 0?W:P.pageY,q.left=(j=R==null?void 0:R.left)!==null&&j!==void 0?j:P.pageX}u(!0),Kn(function(){if(M){var U=o.value;if(!U)return;var G=U.clientWidth,K=U.clientHeight;if(K+q.top>=window.innerHeight+window.scrollY){var H=q.top-K;H>window.scrollY&&(q.top=H)}if(G+q.left>=window.innerWidth+window.scrollX){var E=q.left-G;E>window.scrollX&&(q.left=E)}}c.value=q,s("show")})},m=function(){p.value=null,u(!1),s("hide")},g=Xi(new Map),y=Pe(),S=Ve(function(){return y.value&&g.get(y.value)}),x=function(P,k){var R=function(){return k!=null&&k.trigger?Array.isArray(k.trigger)?k.trigger:[k.trigger]:WT.trigger}(),M=function(W){t.disabled||(y.value=P,h(W,{}))};R.forEach(function(q){P.addEventListener(q,M)}),g.set(P,{triggers:R,handler:M})},T=function(P){var k=g.get(P);k&&(k.triggers.forEach(function(R){P.removeEventListener(R,k.handler)}),g.delete(P))},V=function(P){if(!(!P.target||!o.value||!y.value)){var k=o.value.contains(P.target)||S.value&&S.value.triggers.includes("click")&&y.value.contains(P.target);k||u(!1)}};return st(l,function(B){B?document.addEventListener("click",V):document.removeEventListener("click",V)}),Fa(function(){document.removeEventListener("click",V)}),Ir("visible",l),Ir("autoAjustPlacement",t.autoAjustPlacement),Ir("show",h),Ir("hide",m),{visible:l,style:f,currentReferenceOptions:S,currentOptions:p,contextmenuRef:o,addReference:x,removeReference:T,toggle:u,show:h,hide:m}},methods:{renderContent:function(){var t,r;return js(pe("div",{class:yt.contextmenu,ref:"contextmenuRef",style:this.style},[pe("ul",{class:yt.contextmenuInner},[(t=(r=this.$slots).default)===null||t===void 0?void 0:t.call(r,{triggerOptions:"currentReferenceOptions",options:"currentOptions"})])]),[[Pa,"visible"]])}},render:function(){var t;return this.visible?this.teleport?pe(Qs,{to:this.teleport},VT(t=this.renderContent())?t:{default:function(){return[t]}}):this.renderContent():null}});function pn(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var $p=Ge({name:"VContextmenuItem",props:{disabled:{type:Boolean,default:!1},hideOnClick:{type:Boolean,default:!0}},emits:["click","mouseenter","mouseleave"],setup:function(t,r){var s=r.emit,o=on("hide"),l=Pe(!1),u=Ve(function(){var h;return h={},pn(h,yt.contextmenuItem,!0),pn(h,yt.contextmenuItemDisabled,t.disabled),pn(h,yt.contextmenuItemHover,l.value),h}),c=function(m){t.disabled||(s("click",m),t.hideOnClick&&(o==null||o()))},f=function(m){t.disabled||(l.value=!0,s("mouseenter",m))},p=function(m){t.disabled||(l.value=!1,s("mouseleave",m))};return{classes:u,handleClick:c,handleMouseenter:f,handleMouseleave:p}},render:function(){var t,r;return pe("li",{class:this.classes,onClick:this.handleClick,onMouseenter:this.handleMouseenter,onMouseleave:this.handleMouseleave},[(t=(r=this.$slots).default)===null||t===void 0?void 0:t.call(r)])}}),Dp=Ge({name:"VContextmenuDivider",render:function(){return pe("li",{class:yt.contextmenuDivider},null)}}),FT=Ge({name:"VContextmenuIcon",props:{name:{type:String,required:!0}},render:function(){return pe("i",{class:[yt.contextmenuIcon,"".concat(yt.contextmenuIcon,"-").concat(this.name)]},null)}}),Np=Ge({name:"VContextmenuSubmenu",props:{title:{type:String,required:!0},disabled:{type:Boolean,default:!1}},emits:["mouseenter","mouseleave"],setup:function(t,r){var s=r.emit,o=Pe(null),l=on("autoAjustPlacement"),u=Pe(["top","right"]),c=Pe(!1),f=function(y){t.disabled||(c.value=!0,s("mouseenter",y),Kn(function(){var S=[];if(l){var x=y.target,T=x.getBoundingClientRect();if(!o.value)return;var V=o.value.clientWidth,B=o.value.clientHeight;T.right+V>=window.innerWidth?S.push("left"):S.push("right"),T.bottom+B>=window.innerHeight?S.push("bottom"):S.push("top")}u.value=S}))},p=function(y){t.disabled||(c.value=!1,s("mouseleave",y))},h=Ve(function(){var g;return g={},pn(g,yt.contextmenuItem,!0),pn(g,yt.contextmenuSubmenuTitle,!0),pn(g,yt.contextmenuItemHover,c.value),pn(g,yt.contextmenuItemDisabled,t.disabled),g}),m=Ve(function(){var g;return g={},pn(g,yt.contextmenu,!0),pn(g,yt.contextmenuSubmenuMenus,!0),pn(g,yt.contextmenuSubmenuMenusTop,u.value.includes("top")),pn(g,yt.contextmenuSubmenuMenusRight,u.value.includes("right")),pn(g,yt.contextmenuSubmenuMenusBottom,u.value.includes("bottom")),pn(g,yt.contextmenuSubmenuMenusLeft,u.value.includes("left")),g});return{hover:c,submenuRef:o,titleClasses:h,menusClasses:m,handleMouseenter:f,handleMouseleave:p}},render:function(){var t,r,s,o;return pe("li",{class:yt.contextmenuSubmenu,onMouseenter:this.handleMouseenter,onMouseleave:this.handleMouseleave},[pe("div",{class:this.titleClasses},[((t=(r=this.$slots).title)===null||t===void 0?void 0:t.call(r))||this.title,pe("span",{class:yt.contextmenuSubmenuArrow},[pe(FT,{name:"right-arrow"},null)])]),this.hover?pe("div",{ref:"submenuRef",class:this.menusClasses},[pe("ul",{class:yt.contextmenuInner},[(s=(o=this.$slots).default)===null||s===void 0?void 0:s.call(o)])]):null])}}),Bp=Ge({name:"VContextmenuGroup",props:{title:{type:String,default:void 0},maxWidth:{type:[Number,String],default:void 0}},setup:function(t){var r=Ve(function(){if(t.maxWidth)return{"max-width":typeof t.maxWidth=="number"?"".concat(t.maxWidth,"px"):t.maxWidth,"overflow-x":"auto"}});return{style:r}},methods:{renderTitle:function(){var t,r,s=((t=(r=this.$slots).title)===null||t===void 0?void 0:t.call(r))||this.title;return s?pe("div",{class:yt.contextmenuGroupTitle},[s]):null}},render:function(){var t,r;return pe("li",{class:yt.contextmenuGroup},[this.renderTitle(),pe("ul",{style:this.style,class:yt.contextmenuGroupMenus},[(t=(r=this.$slots).default)===null||t===void 0?void 0:t.call(r)])])}}),HT="3.0.0",UT=function(t){t.directive("contextmenu",BT),t.component(Lp.name,Lp),t.component($p.name,$p),t.component(Dp.name,Dp),t.component(Np.name,Np),t.component(Bp.name,Bp)},qT={install:UT,version:HT};const Ya=OC(CT);Ya.directive("observe-visibility",{beforeMount:(e,t,r)=>{r.context=t.instance,ha.bind(e,t,r)},updated:ha.update,unmounted:ha.unbind});Ya.use(qT);Ya.use(Ii);Ya.use($C()).mount("#app");export{lE as $,op as A,Ic as B,Gg as C,Ve as D,st as E,tt as F,J2 as G,Dr as H,Op as I,F2 as J,jg as K,Wg as L,sr as M,Bt as N,Je as O,_2 as P,Kn as Q,Hx as R,dI as S,X2 as T,Cc as U,Ck as V,eI as W,aE as X,Pu as Y,Qu as Z,at as _,te as a,QT as a$,X3 as a0,o3 as a1,js as a2,qu as a3,H3 as a4,Qs as a5,It as a6,TR as a7,sI as a8,Fg as a9,qg as aA,fI as aB,Pk as aC,vI as aD,Pg as aE,Q3 as aF,iI as aG,mT as aH,Sc as aI,Z3 as aJ,hI as aK,nR as aL,Lc as aM,Ug as aN,V2 as aO,tP as aP,Pm as aQ,Zt as aR,N3 as aS,qp as aT,n3 as aU,T3 as aV,l3 as aW,Vs as aX,Fi as aY,s3 as aZ,Ki as a_,j3 as aa,xg as ab,i3 as ac,fT as ad,yI as ae,iE as af,Pa as ag,K3 as ah,Y3 as ai,aI as aj,z3 as ak,M2 as al,lI as am,mE as an,uI as ao,G3 as ap,Pc as aq,lr as ar,NP as as,pI as at,Qk as au,mI as av,Og as aw,Ur as ax,xc as ay,bg as az,Ua as b,lP as b$,zm as b0,F3 as b1,e3 as b2,Ac as b3,t3 as b4,Sn as b5,$r as b6,sn as b7,Ta as b8,ur as b9,bP as bA,kC as bB,k3 as bC,q3 as bD,on as bE,qP as bF,um as bG,Lr as bH,Hi as bI,Pt as bJ,E3 as bK,va as bL,Vr as bM,Da as bN,b3 as bO,w3 as bP,BP as bQ,KT as bR,rP as bS,oP as bT,Fa as bU,aP as bV,iP as bW,fP as bX,cP as bY,uP as bZ,tx as b_,D3 as ba,OC as bb,RP as bc,A3 as bd,OP as be,U3 as bf,u3 as bg,Sx as bh,a3 as bi,mC as bj,d3 as bk,h3 as bl,g3 as bm,p3 as bn,f3 as bo,V3 as bp,m3 as bq,I3 as br,GT as bs,jp as bt,Hr as bu,Gp as bv,pc as bw,DP as bx,wc as by,Qi as bz,ye as c,gc as c0,mc as c1,Ir as c2,dm as c3,Ou as c4,Xi as c5,lm as c6,C3 as c7,Xh as c8,$3 as c9,sg as cA,xC as cB,jP as cC,R3 as cD,Jx as cE,Xx as cF,x3 as cG,v3 as cH,O3 as cI,r3 as cJ,As as cK,nI as cL,hE as cM,tI as cN,cI as cO,gI as cP,Tp as cQ,zu as cR,oI as cS,rI as cT,Ks as ca,Lh as cb,M3 as cc,qi as cd,am as ce,YT as cf,xx as cg,Yx as ch,L3 as ci,zT as cj,la as ck,c3 as cl,nt as cm,XT as cn,kx as co,JT as cp,P3 as cq,ZT as cr,_3 as cs,W3 as ct,B3 as cu,S3 as cv,Zx as cw,y3 as cx,xm as cy,ig as cz,Be as d,Ge as e,Ui as f,pe as g,fr as h,Ye as i,Yt as j,J3 as k,es as l,ts as m,Pe as n,re as o,Ea as p,bk as q,ji as r,rR as s,De as t,oe as u,Hg as v,St as w,Ec as x,Vt as y,Fr as z}; diff --git a/src/ui/dist/assets/index-4a15a213.js.gz b/src/ui/dist/assets/index-4a15a213.js.gz deleted file mode 100644 index ec96de6ea..000000000 Binary files a/src/ui/dist/assets/index-4a15a213.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/index-7c86ad75.js b/src/ui/dist/assets/index-7c86ad75.js deleted file mode 100644 index e44959426..000000000 --- a/src/ui/dist/assets/index-7c86ad75.js +++ /dev/null @@ -1 +0,0 @@ -import{e as U,a6 as W,o as p,c as w,g as N,u as f,a7 as H,t as x,i as B,d as C,a as I,I as K,F as j,h as G,O as P,b as $,N as F,L as V,_ as q}from"./index-4a15a213.js";var T={d:(s,r)=>{for(var o in r)T.o(r,o)&&!T.o(s,o)&&Object.defineProperty(s,o,{enumerable:!0,get:r[o]})},o:(s,r)=>Object.prototype.hasOwnProperty.call(s,r)},v={};T.d(v,{Ce:()=>L,ZP:()=>Z,j1:()=>z,Eb:()=>R,e6:()=>E,Iu:()=>O});var g={from:"auto",to:"en",hl:"en",tld:"com",rpcids:"MkEWBc"};function z(s){var r=s===void 0?{}:s,o=r.rpcids,a=o===void 0?g.rpcids:o,n=r.hl,l=n===void 0?g.hl:n,i=r.tld,c=i===void 0?g.tld:i;if(!function(t){return!!t.match(/^[a-zA-Z]{2,63}$/)}(c))throw new Error("Invalid TLD: Must be 2-63 letters only");var d=new URLSearchParams({rpcids:a,"source-path":"/",hl:l,"soc-app":"1","soc-platform":"1","soc-device":"1",rt:"c"});return"https://translate.google.".concat(c,"/_/TranslateWebserverUi/data/batchexecute?").concat(d)}const D={auto:"Automatic",af:"Afrikaans",sq:"Albanian",am:"Amharic",ar:"Arabic",hy:"Armenian",az:"Azerbaijani",eu:"Basque",be:"Belarusian",bn:"Bengali",bs:"Bosnian",bg:"Bulgarian",ca:"Catalan",ceb:"Cebuano",ny:"Chichewa",zh:"Chinese Simplified","zh-cn":"Chinese Simplified","zh-tw":"Chinese Traditional",co:"Corsican",hr:"Croatian",cs:"Czech",da:"Danish",nl:"Dutch",en:"English",eo:"Esperanto",et:"Estonian",tl:"Filipino",fi:"Finnish",fr:"French",fy:"Frisian",gl:"Galician",ka:"Georgian",de:"German",el:"Greek",gu:"Gujarati",ht:"Haitian Creole",ha:"Hausa",haw:"Hawaiian",he:"Hebrew",iw:"Hebrew",hi:"Hindi",hmn:"Hmong",hu:"Hungarian",is:"Icelandic",ig:"Igbo",id:"Indonesian",ga:"Irish",it:"Italian",ja:"Japanese",jw:"Javanese",kn:"Kannada",kk:"Kazakh",km:"Khmer",rw:"Kinyarwanda",ko:"Korean",ku:"Kurdish (Kurmanji)",ky:"Kyrgyz",lo:"Lao",la:"Latin",lv:"Latvian",lt:"Lithuanian",lb:"Luxembourgish",mk:"Macedonian",mg:"Malagasy",ms:"Malay",ml:"Malayalam",mt:"Maltese",mi:"Maori",mr:"Marathi",mn:"Mongolian",my:"Myanmar (Burmese)",ne:"Nepali",no:"Norwegian",or:"Odia (Oriya)",ps:"Pashto",fa:"Persian",pl:"Polish",pt:"Portuguese",pa:"Punjabi",ro:"Romanian",ru:"Russian",sm:"Samoan",gd:"Scots Gaelic",sr:"Serbian",st:"Sesotho",sn:"Shona",sd:"Sindhi",si:"Sinhala",sk:"Slovak",sl:"Slovenian",so:"Somali",es:"Spanish",su:"Sundanese",sw:"Swahili",sv:"Swedish",tg:"Tajik",ta:"Tamil",tt:"Tatar",te:"Telugu",th:"Thai",tr:"Turkish",tk:"Turkmen",uk:"Ukrainian",ur:"Urdu",ug:"Uyghur",uz:"Uzbek",vi:"Vietnamese",cy:"Welsh",xh:"Xhosa",yi:"Yiddish",yo:"Yoruba",zu:"Zulu"};var R=function(s){return!!D[s]};function E(s,r){r===void 0&&(r=!1);var o=s.match(/"\[.*]"/),a=null;if(o){var n=o[0];a=JSON.parse(JSON.parse(n))}if(!a)throw new Error("Data is either empty or corrupted");var l={text:a[1][0][0][5].reduce(function(i,c){return i?"".concat(i," ").concat(c[0]):c[0]},""),pronunciation:a[1][0][0][1],from:{language:{didYouMean:!!a[0][1],iso:a[2]},text:{autoCorrected:!!a[1][0][0][3],value:a[0][1]?a[0][1][0][4]:a[0][6][0],didYouMean:!!a[0][1]}}};return r&&(l.raw=s),l}function L(s,r){var o,a=r===void 0?{}:r,n=a.rpcids,l=n===void 0?g.rpcids:n,i=a.from,c=i===void 0?g.from:i,d=a.to,t=d===void 0?g.to:d,e=encodeURIComponent('[[["'.concat(l,'","[[\\"').concat((o=s,o.replace(/["]/g,"\\\\\\$&")),'\\",\\"').concat(c,'\\",\\"').concat(t,'\\",1],[]]",null,"generic"]]]'));return"f.req=".concat(e,"&")}var _=function(){return _=Object.assign||function(s){for(var r,o=1,a=arguments.length;o0&&n[n.length-1])||e[0]!==6&&e[0]!==2)){i=0;continue}if(e[0]===3&&(!n||e[1]>n[0]&&e[1]{var m,b;if(!((m=r.lyrics)!=null&&m.lyrics))return!1;const e=r.progress*1e3,u=r.lyrics.lyrics[t],h=parseInt(u.startTimeMs),y=parseInt(u.endTimeMs)?parseInt(u.endTimeMs):parseInt((b=r.lyrics.lyrics[t+1])==null?void 0:b.startTimeMs);if(e>=h&&e=y?"past":"future"},a=t=>{r.lyrics.lyrics[t].originalWorlds?l(t):n(t)},n=async t=>{const e=r.lyrics.lyrics[t];if(e.originalWorlds)return;const u=await X(e.words,{to:"en",corsUrl:"http://localhost:1234/api/cors/"});e.originalWorlds=e.words,e.words=u.text},l=t=>{const e=r.lyrics.lyrics[t];e.originalWorlds&&(e.words=e.originalWorlds,e.originalWorlds=null)},i=()=>{var t,e;(e=(t=r.lyrics)==null?void 0:t.lyrics)==null||e.forEach((u,h)=>{n(h)})},c=()=>{var t,e;(e=(t=r.lyrics)==null?void 0:t.lyrics)==null||e.forEach((u,h)=>{l(h)})},d=()=>{var e,u,h,y;const t=(u=(e=r.lyrics)==null?void 0:e.lyrics)==null?void 0:u.filter(m=>m.originalWorlds).length;return t&&t>((y=(h=r.lyrics)==null?void 0:h.lyrics)==null?void 0:y.length)/2};return(t,e)=>{var u,h,y,m,b,k;return p(),w(j,null,[N(H,{src:f(r).song.cover},null,8,["src"]),!f(r).lyrics||(u=f(r).lyrics)!=null&&u.error?(p(),w("div",Q,[(h=f(r).lyrics)!=null&&h.error?(p(),w("h1",ee,x((y=f(r).lyrics)==null?void 0:y.error),1)):(p(),B(V,{key:1}))])):C("",!0),I("div",re,[(m=f(r).lyrics)!=null&&m.lyrics?(p(),B(K,{key:0,icon:"translate",label:d()?"Show original":"Translate all",class:"mr-2",onClick:e[0]||(e[0]=S=>d()?c():i())},null,8,["label"])):C("",!0)]),(b=f(r).lyrics)!=null&&b.lyrics?(p(),w("div",ne,[(p(!0),w(j,null,G((k=f(r).lyrics)==null?void 0:k.lyrics,(S,M)=>(p(),w("div",{class:P(["line",o(M)]),onClick:A=>f(r).seek(parseInt(S.startTimeMs)/1e3)},[$(x(S.words)+" ",1),I("span",{class:P(["material-symbols-rounded translate",{translated:S.originalWorlds}]),onClick:F(A=>a(M),["stop"])}," translate ",10,te)],10,ae))),256))])):C("",!0)],64)}}});const se=q(oe,[["__scopeId","data-v-9121f15d"]]);export{se as default}; diff --git a/src/ui/dist/assets/index-7c86ad75.js.gz b/src/ui/dist/assets/index-7c86ad75.js.gz deleted file mode 100644 index 03fdb1562..000000000 Binary files a/src/ui/dist/assets/index-7c86ad75.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/index-B-nPbXJ4.js b/src/ui/dist/assets/index-B-nPbXJ4.js new file mode 100644 index 000000000..7c5f087d4 --- /dev/null +++ b/src/ui/dist/assets/index-B-nPbXJ4.js @@ -0,0 +1 @@ +import{e as N,aH as S,n as x,a9 as I,y as T,o,c as a,a as s,F as c,h as V,i as C,w as y,b as h,t as i,C as g,g as m,H as q,d as l,u as p,aI as D,z as E,L as F,Q as $,v as z,I as L,N as O,l as j,m as H,_ as M}from"./index-DnhwPdfm.js";const v=f=>(j("data-v-91911899"),f=f(),H(),f),A={class:"downloader py-2 pr-2 grid gap-4 grid-cols-2 items-start"},P={class:"downloads"},Q={class:"main"},Y={class:"m-0 mb-4"},G={class:"status"},J={class:"flex flex-col"},K={key:0,class:"info"},R=v(()=>s("span",{class:"material-symbols-rounded"},"cloud",-1)),U={key:1,class:"info"},W=v(()=>s("span",{class:"material-symbols-rounded"},"file_download",-1));const X=v(()=>s("div",{class:"error"},[s("span",null,"This song could not be downloaded:"),s("ul",{class:"block list-disc ml-8"},[s("li",null," verify that the source link is working "),s("li",null,"try again later")])],-1)),Z={key:0,class:"info"},ee=v(()=>s("span",{class:"material-symbols-rounded"},"link",-1)),oe=["href"],se={class:"wrap-progress"},ae=["aria-valuenow"],ne={key:1,class:"material-symbols-rounded downloading"},le=["onClick"],te=["onClick"],re=["onClick"],de={key:1,class:"col-span-2 flex flex-row justify-center items-center"},ie={class:"new-download"},ce=N({__name:"index",setup(f){const d=S(),w=n=>{O.addYesNo("Are you sure you want to redownload this song?",null,null,()=>{console.log("[downloader] reDownload",n),d.downloadFromDb(n)})},u={title:"",artist:"",album:{name:"",href:"",id:""},cover:"",source:"",href:""},k=x(null),t=x([{name:"source",type:"text",accept:"audio/mp3",required:!0,onChange:async n=>{const r=await I(n);t.value.find(e=>e.name==="title").value=r.title,t.value.find(e=>e.name==="artist").value=r.artist,t.value.find(e=>e.name==="album").value=r.album,t.value.find(e=>e.name==="cover").value=r.cover,t.value.find(e=>e.name==="source").value=r.source},value:u.source},{name:"title",type:"text",icon:"title",required:!0,value:u.title},{name:"artist",type:"text",icon:"person",required:!0,value:u.artist},{name:"album",type:"text",icon:"album",value:u.album.name},{name:"cover",type:"upload",accept:"image/*",imagePreview:!0,value:u.cover}]),B=async()=>{const n=k.value.toObject();n.id=new Date().getTime(),console.log("[downloader] requestDownload",n),d.downloadOther(n)};return T(()=>{var n,r;d.prefill!=null&&(t.value=t.value.map(e=>{var _;return e.value=((_=d.prefill)==null?void 0:_[e.name])??e.value,e}),(r=(n=t.value.find(e=>e.name==="source"))==null?void 0:n.onChange)==null||r.call(n,d.prefill.source))}),(n,r)=>(o(),a("div",A,[s("div",P,[(o(!0),a(c,null,V(p(d).states,e=>{var _;return o(),a(c,{key:e.songId},[e.internal?l("",!0):(o(),C(g,{key:0,class:$([["song",{downloading:((_=p(d).states[e.songId])==null?void 0:_.status)=="downloading"}],"p-4 card items-center"])},{default:y(()=>[e.status!=="pending"?(o(),a(c,{key:0},[s("main",Q,[s("h2",Y,[e.song?(o(),a(c,{key:0},[h(i(e.song.title),1)],64)):(o(),a(c,{key:1},[h(i(e.filename),1)],64))]),s("div",G,[e.song?(o(),C(g,{key:0,class:"info p-4"},{default:y(()=>[m(q,{src:e.song.cover,class:"cover"},null,8,["src"]),s("div",J,[s("span",null,i(e.song.album.name),1),s("span",null,i(e.song.artist),1)])]),_:2},1024)):l("",!0),e.status!=="error"?(o(),a(c,{key:1},[e.downloaded||e.total?(o(),a("div",K,[R,h(" "+i(p(D)(e.downloaded))+" / "+i(p(D)(e.total)),1)])):l("",!0),e.chunk?(o(),a("div",U,[W,h(" "+i(e.chunk),1)])):l("",!0),l("",!0),l("",!0),l("",!0)],64)):(o(),a(c,{key:2},[X,e.song?(o(),a("div",Z,[ee,s("a",{href:e.song.source,target:"_blank",rel:"noopener noreferrer"},i(e.song.source),9,oe)])):l("",!0)],64))])]),s("aside",null,[s("div",se,[e.status=="downloading"?(o(),a("div",{key:0,class:"progress-bar",role:"progressbar","aria-valuenow":e.percent,"aria-valuemin":"0","aria-valuemax":"100",style:E({"--progress":e.percent+"%"})},null,12,ae)):l("",!0),e.status=="downloading"?(o(),a("span",ne," south ")):e.status=="finished"?(o(),a("span",{key:2,class:"material-symbols-rounded cursor-pointer finished",onClick:b=>p(d).download(e.song.id)}," download_for_offline ",8,le)):e.status=="downloaded"?(o(),a("span",{key:3,class:"material-symbols-rounded cursor-pointer downloaded",onClick:b=>w(e.song.id)}," download_done ",8,te)):e.status=="error"?(o(),a("span",{key:4,class:"material-symbols-rounded cursor-pointer error",onClick:b=>w(e.song.id)}," error ",8,re)):l("",!0)])])],64)):(o(),a("div",de,[m(F)]))]),_:2},1032,["class"]))],64)}),128))]),s("div",ie,[m(g,{class:"custom p-4 flex flex-col"},{default:y(()=>[m(z,{ref_key:"form",ref:k,options:t.value},null,8,["options"]),m(L,{icon:"download_for_offline",label:"Download",class:"w-full mt-8",onClick:B})]),_:1})])]))}}),_e=M(ce,[["__scopeId","data-v-91911899"]]);export{_e as default}; diff --git a/src/ui/dist/assets/index-B-nPbXJ4.js.gz b/src/ui/dist/assets/index-B-nPbXJ4.js.gz new file mode 100644 index 000000000..15700f289 Binary files /dev/null and b/src/ui/dist/assets/index-B-nPbXJ4.js.gz differ diff --git a/src/ui/dist/assets/index-BCf3Wdzv.js b/src/ui/dist/assets/index-BCf3Wdzv.js new file mode 100644 index 000000000..43e45382b --- /dev/null +++ b/src/ui/dist/assets/index-BCf3Wdzv.js @@ -0,0 +1 @@ +import{e as S,o as s,c as p,t as k,Q as B,_ as A,n as _,y as X,D as N,i as g,d as P,a as t,b as D,F as w,l as U,m as E,a7 as Z,g as m,I as $,h as V,w as G,H as ee,M as q,C as j,as as te,at as F,au as M,av as W,aw as R,ax as O,u as b,E as Y,$ as T,N as ae,B as le,q as se,U as oe}from"./index-DnhwPdfm.js";import{_ as ne}from"./Markdown.vue_vue_type_style_index_0_lang-fjKVBP59.js";import{T as J}from"./TrackCompact-sXOejxe1.js";import{G as ie}from"./gistClient-BQBNGijJ.js";const re=S({__name:"TabButton",props:{name:{type:String,required:!0},active:{type:Boolean,default:!1}},setup(o){return(e,l)=>(s(),p("button",{class:B(["btn",{active:o.active}])},k(o.name),3))}}),ce=A(re,[["__scopeId","data-v-3f038910"]]),ue="1.1.0",z=o=>(U("data-v-5c362a3b"),o=o(),E(),o),de={class:"flex flex-col"},pe={key:0,class:"text-sm flex items-center gap-2 latest"},me=z(()=>t("span",{class:"material-symbols-rounded"},"check",-1)),he={key:1,class:"text-sm flex items-center gap-2 update"},ve=z(()=>t("span",{class:"material-symbols-rounded"},"update",-1)),H="1.1.0",_e=S({__name:"About",setup(o){const e=_(""),l=_("");X(async()=>{const c=await(await fetch("https://api.github.com/repos/reAudioPlayer/one/releases/latest")).json();e.value=c.tag_name,l.value=c.body});const h=N(()=>e.value===H),n=N(()=>ue.split(".").pop()),u=_(null);return(a,c)=>(s(),p("div",de,[l.value?(s(),g(ne,{key:0,content:l.value,title:"What's new in "+e.value,ref_key:"changelog",ref:u,onClose:c[0]||(c[0]=()=>l.value="")},null,8,["content","title"])):P("",!0),t("span",null,[t("strong",null,"v"+k(H)),D(" (Build "+k(n.value)+") ",1)]),e.value?(s(),p(w,{key:1},[h.value?(s(),p("span",pe,[me,D(" You're on the latest version "),t("a",{class:"cursor-pointer",onClick:c[1]||(c[1]=f=>{var d;return(d=u.value)==null?void 0:d.show()})}," What's changed? ")])):(s(),p("span",he,[ve,D(" Update available: "+k(e.value)+" ",1),t("a",{class:"cursor-pointer",onClick:c[2]||(c[2]=f=>{var d;return(d=u.value)==null?void 0:d.show()})}," What's changed? ")]))],64)):P("",!0)]))}}),fe=A(_e,[["__scopeId","data-v-5c362a3b"]]),L=o=>(U("data-v-4062735d"),o=o(),E(),o),ye={class:"wrap"},be=L(()=>t("h3",null,"Browser Data",-1)),ge=L(()=>t("h3",null,"Import / Export",-1)),ke={class:"flex gap-4 mb-4"},we={class:"covers mb-2"},$e=L(()=>t("h3",null,"Local covers",-1)),Se={key:0,class:"items gap-4"},Ce={class:"flex justify-between w-full mb-4"},xe={class:"overflow-hidden"},Ve=["onClick"],Pe={key:1,class:"text-muted italic"},Ie={class:"tracks"},Ae=L(()=>t("h3",null,"Local tracks",-1)),Ne={key:0,class:"items gap-4"},De={class:"flex justify-between w-full mb-4"},Te={class:"overflow-hidden"},Be=["onClick"],Ue={class:"flex justify-center w-full mb-4"},Ee=["src"],Oe={key:1,class:"text-muted italic"},Le={__name:"LocalData",setup(o){const e=_([]),l=_([]),h=Z(),n=()=>{fetch("/api/config/images").then(d=>d.json()).then(d=>e.value=d),fetch("/api/config/tracks").then(d=>d.json()).then(d=>l.value=d)},u=async d=>{await fetch("/api/config/images",{method:"DELETE",body:JSON.stringify({name:d})}),n()},a=async d=>{fetch("/api/config/tracks",{method:"DELETE",body:JSON.stringify({name:d})}),n()},c=d=>{h.loadPlaylist("track",d)};n();const f=()=>{localStorage.clear(),sessionStorage.clear(),window.location.reload()};return(d,C)=>(s(),p("div",ye,[be,m($,{class:"mb-4",icon:"delete",label:"Clean browser settings",onClick:f}),ge,t("div",ke,[m($,{icon:"backup",label:"Back up / Export",onClick:C[0]||(C[0]=v=>d.$router.push("/export"))}),m($,{icon:"cloud_download",label:"Import",onClick:C[1]||(C[1]=v=>d.$router.push("/import"))})]),t("div",we,[$e,e.value.length?(s(),p("div",Se,[(s(!0),p(w,null,V(e.value,(v,x)=>(s(),g(j,{key:x,class:"cover-wrapper p-4"},{default:G(()=>[m(ee,{src:v.name,class:"rounded-xl mb-4"},null,8,["src"]),t("div",Ce,[t("p",xe,[m(q,{text:v.name},null,8,["text"])]),t("span",{class:"ml-2 material-symbols-rounded cursor-pointer",onClick:i=>u(v.name)},"delete",8,Ve)]),(s(!0),p(w,null,V(v.songs,(i,r)=>(s(),g(J,{id:i.id,key:r,artist:i.artist,cover:i.cover,title:i.title,onPlay:y=>c(i.id)},null,8,["id","artist","cover","title","onPlay"]))),128))]),_:2},1024))),128))])):(s(),p("span",Pe,"No local covers"))]),t("div",Ie,[Ae,l.value.length?(s(),p("div",Ne,[(s(!0),p(w,null,V(l.value,(v,x)=>(s(),g(j,{key:x,class:"track p-4"},{default:G(()=>[t("div",De,[t("p",Te,[m(q,{text:v.name},null,8,["text"])]),t("span",{class:"material-symbols-rounded cursor-pointer",onClick:i=>a(v.name)},"delete",8,Be)]),t("div",Ue,[t("audio",{src:"/api/"+v.name.replace("local:","/src/tracks/"),controls:""},null,8,Ee)]),(s(!0),p(w,null,V(v.songs,(i,r)=>(s(),g(J,{id:i.id,key:r,artist:i.artist,cover:i.cover,title:i.title,onPlay:y=>c(i.id)},null,8,["id","artist","cover","title","onPlay"]))),128))]),_:2},1024))),128))])):(s(),p("span",Oe,"No local tracks"))])]))}},Ge=A(Le,[["__scopeId","data-v-4062735d"]]),je={class:"markdown-body"},qe=te("

By default, reAudioPlayer does not share any data with third parties.

Optionally, when entering your Spotify credentials, reAudioPlayer can access your Spotify data to offer the following features:

  • Display your Spotify playlists and offer importing them
  • Search songs on Spotify without leaving reAudioPlayer and adding them to your playlists
  • Display song information (BPM, key, etc.) from Spotify
  • Search artists on Spotify without leaving reAudioPlayer to display their information and follow them on Spotify
  • Display artist information (genres, popularity, etc.) from Spotify
  • Provide the release radar

Optionally, when entering your GitHub credentials, reAudioPlayer can access your GitHub data to offer the following features:

  • Storing your library in a GitHub Gist
  • Importing your library from a GitHub Gist

All data stays between your device and Spotify or Github, respectively.

Depending on the cache policy, reAudioPlayer stores songs locally to improve performance and reduce network traffic. The browser additionally stores the following user preferences in local storage:

  • Theme
  • Selected audio player
  • Volume
  • Repeat mode
  • Picture in Picture mode
  • pre-rendered placeholder images

You can manage your local data, that you manually uploaded to reAudioPlayer, in section “Local Data”. None of this data left or will leave your device.

",9),Re=[qe],Je={__name:"Privacy",setup(o,{expose:e}){return e({frontmatter:{}}),(h,n)=>(s(),p("div",je,Re))}},He={class:"material-symbols-rounded ms-wght-300 cursor-pointer"},Fe={class:"checkbox__label"},Me={class:"checkbox__label__title"},We={class:"checkbox__label__sublabel italic"},Ye=S({__name:"Checkbox",props:{modelValue:{type:Boolean,required:!0},label:{type:String,required:!1,default:""},disabled:{type:Boolean,required:!1,default:!1},sublabel:{type:String,required:!1,default:""}},emits:["update:modelValue"],setup(o,{emit:e}){const l=o,h=e,n=a=>h("update:modelValue",a),u=()=>{l.disabled||n(!l.modelValue)};return(a,c)=>(s(),p("div",{class:B([{"opacity-50":o.disabled},"checkbox"]),onClick:u},[t("span",He,k(o.modelValue?"check_box":"check_box_outline_blank"),1),t("div",Fe,[t("div",Me,k(o.label),1),t("div",We,k(o.sublabel),1)])],2))}}),I=A(Ye,[["__scopeId","data-v-be9fa887"]]),ze={class:"relative"},Ke=S({__name:"Cache",setup(o){const e=_(null),l=_("");F().then(u=>{e.value=u,l.value=JSON.stringify(u)});const h=N(()=>e.value?JSON.stringify(e.value)!==l.value:!1),n=async()=>{h.value&&(await W(e.value),l.value=JSON.stringify(e.value))};return(u,a)=>(s(),p("div",ze,[e.value?(s(),g(I,{key:0,modelValue:e.value.cache.preserve,"onUpdate:modelValue":a[0]||(a[0]=c=>e.value.cache.preserve=c),label:"Preserve cache"},null,8,["modelValue"])):P("",!0),e.value?(s(),g(I,{key:1,modelValue:e.value.cache.preserveInSession,"onUpdate:modelValue":a[1]||(a[1]=c=>e.value.cache.preserveInSession=c),disabled:e.value.cache.preserve,label:"Preserve cache in session"},null,8,["modelValue","disabled"])):P("",!0),e.value?(s(),g(M,{key:2,modelValue:e.value.cache.strategy,"onUpdate:modelValue":a[2]||(a[2]=c=>e.value.cache.strategy=c),options:[{value:"all",label:"All Songs"},{value:"playlist",label:"Current Playlist"},{value:"currentNext",label:"Current + Next Song "},{value:"current",label:"Current Song Only"}],icon:"cached"},null,8,["modelValue"])):P("",!0),m($,{disabled:!e.value||!h.value,class:"ml-auto mt-4",icon:"save",label:"Save",onClick:n},null,8,["disabled"])]))}}),Qe={name:"Theme",props:{name:String},methods:{selected(){return R.getCurrentTheme()==this.name},select(){R.setTheme(this.name),this.$emit("selected")}}},Xe=["src"];function Ze(o,e,l,h,n,u){return s(),p("div",{onClick:e[0]||(e[0]=(...a)=>u.select&&u.select(...a)),class:"wrapper"},[t("p",{class:B(["mb-4",{selected:u.selected()}])},k(l.name),3),t("img",{src:`/assets/img/themes/${this.name}.svg`,class:B({selected:u.selected()})},null,10,Xe)])}const et=A(Qe,[["render",Ze],["__scopeId","data-v-74855c2d"]]),K=o=>(U("data-v-5cc6477c"),o=o(),E(),o),tt=K(()=>t("h3",{class:"mt-[10px]"},"Theme",-1)),at={class:"themes"},lt=K(()=>t("h3",{class:"mt-[10px]"},"Sidebar",-1)),st=S({__name:"Appearance",setup(o){const e=O(),l=["dynamic","light","dark"];return(h,n)=>(s(),p(w,null,[tt,m(I,{modelValue:b(e).ambient,"onUpdate:modelValue":n[0]||(n[0]=u=>b(e).ambient=u),disabled:!b(e).themeSupportsAmbient,label:"Ambient"},null,8,["modelValue","disabled"]),t("div",at,[(s(),p(w,null,V(l,(u,a)=>m(et,{key:a,name:u},null,8,["name"])),64))]),lt,m(I,{modelValue:b(e).sidebar.news,"onUpdate:modelValue":n[1]||(n[1]=u=>b(e).sidebar.news=u),label:"Show 'News' Tab"},null,8,["modelValue"]),m(I,{modelValue:b(e).sidebar.sports,"onUpdate:modelValue":n[2]||(n[2]=u=>b(e).sidebar.sports=u),label:"Show 'Sports' Tab"},null,8,["modelValue"])],64))}}),ot=A(st,[["__scopeId","data-v-5cc6477c"]]),nt={class:"relative"},it=S({__name:"Player",setup(o){const e=O();return(l,h)=>(s(),p("div",nt,[m(I,{modelValue:b(e).player.pictureInPicture,"onUpdate:modelValue":h[0]||(h[0]=n=>b(e).player.pictureInPicture=n),label:"Support Picture in Picture",sublabel:"this will slightly reduce performance"},null,8,["modelValue"]),m(M,{modelValue:b(e).player.type,"onUpdate:modelValue":h[1]||(h[1]=n=>b(e).player.type=n),options:[{value:"web",label:"Native player",icon:"horizontal_rule"},{value:"web/wave",label:"Wave player",icon:"graphic_eq"}],icon:"music_note"},null,8,["modelValue"])]))}}),Q="reAudioPlayer One",rt=`https://audius.co/oauth/auth?scope=read&app_name=${Q}&redirect_uri=`,ct="/audius/callback",ut=()=>{const o=encodeURIComponent(`${window.location.origin}${ct}`),e=`${rt}${o}`;window.open(e,Q,"width=500,height=800")},dt=t("summary",{class:"cursor-pointer"},"How to",-1),pt=t("p",null,[D(" 1) Head over to the "),t("a",{href:"https://developer.spotify.com/dashboard/applications",target:"_blank"},"spotify developer dashboard")],-1),mt=t("p",null,"2) Create An App",-1),ht=t("p",null,"3) Enter any name and any description",-1),vt=t("p",null," 5) Copy and enter the client id and secret into the corresponding input field ",-1),_t=t("hr",{class:"my-4"},null,-1),ft=t("h5",null,"Client ID:",-1),yt=t("h5",{class:"mt-4"},"Client Secret:",-1),bt=t("h3",{class:"mt-[10px]"},"Github",-1),gt=t("h5",{class:"mt-4"},"PAT:",-1),kt=t("h5",{class:"mt-4"},"Gist ID:",-1),wt={class:"flex gap-4 justify-end mt-4"},$t=t("h3",{class:"mt-[10px]"},"Audius",-1),St=S({__name:"Integration",setup(o){const e=_(!1),l=_({id:"",secret:""}),h=N(()=>e.value?Object.values(l.value).some(i=>i==="")?!1:l.value.id!==n.value.id||l.value.secret!==n.value.secret||e.value!==n.value.enabled:n.value.enabled),n=_({id:"",secret:"",enabled:!1});fetch("/api/config/spotify").then(async i=>{let r={id:"",secret:"",enabled:!1};if(i.status==200)r=await i.json();else if([204,401].includes(i.status))r={id:"restricted",secret:"restricted",enabled:!1};else throw new Error("Failed to fetch spotify config");n.value=r,n.value.enabled=![r.id,r.secret].includes("restricted"),e.value=n.value.enabled,l.value.id=r.id.replace("restricted",""),l.value.secret=r.secret.replace("restricted","")});const u=async()=>{if(!h.value)return;let i=l.value.id,r=l.value.secret;e.value||(r=i="restricted"),(await fetch("/api/config/spotify",{method:"POST",body:JSON.stringify({id:i,secret:r})})).ok&&(n.value={id:i,secret:r,enabled:e.value})},a=_(null),c=_("");F().then(i=>{a.value=i,c.value=JSON.stringify(i)});const f=N(()=>a.value?JSON.stringify(a.value)!==c.value:!1),d=async()=>{f.value&&(await W(a.value),c.value=JSON.stringify(a.value))},v=`http://${window.location.host}/api/spotify/callback`,x=async()=>{var i,r;(r=(i=a.value)==null?void 0:i.github)!=null&&r.githubPat&&(a.value.github.gistId||(a.value.github.gistId=await ie.search(a.value.github.githubPat),a.value.github.gistId||ae.addError("Failed to find gist","You can start syncing directly in 'Local Data' (a Gist will be created for you) or enter the gist id manually")))};return Y(()=>{var i,r;return(r=(i=a.value)==null?void 0:i.github)==null?void 0:r.githubPat},x),(i,r)=>(s(),p(w,null,[m(I,{modelValue:e.value,"onUpdate:modelValue":r[0]||(r[0]=y=>e.value=y),class:"h3 mb-2",label:"Spotify"},null,8,["modelValue"]),t("details",null,[dt,pt,mt,ht,t("p",null,[D(" 4) Edit the settings: set the redirect url to "),t("a",{href:v},k(v))]),vt]),_t,ft,m(T,{modelValue:l.value.id,"onUpdate:modelValue":r[1]||(r[1]=y=>l.value.id=y),disabled:!e.value,type:"password",icon:"token"},null,8,["modelValue","disabled"]),yt,m(T,{modelValue:l.value.secret,"onUpdate:modelValue":r[2]||(r[2]=y=>l.value.secret=y),disabled:!e.value,type:"password",icon:"lock"},null,8,["modelValue","disabled"]),m($,{disabled:!h.value,class:"ml-auto mt-4",icon:"save",label:"Save",onClick:u},null,8,["disabled"]),bt,gt,a.value?(s(),g(T,{key:0,modelValue:a.value.github.githubPat,"onUpdate:modelValue":r[3]||(r[3]=y=>a.value.github.githubPat=y),icon:"lock",type:"password"},null,8,["modelValue"])):P("",!0),kt,a.value?(s(),g(T,{key:1,modelValue:a.value.github.gistId,"onUpdate:modelValue":r[4]||(r[4]=y=>a.value.github.gistId=y),icon:"numbers"},null,8,["modelValue"])):P("",!0),t("div",wt,[m($,{disabled:!a.value||!a.value.github.githubPat||!!a.value.github.gistId,icon:"search",label:"Search",onClick:x},null,8,["disabled"]),m($,{disabled:!a.value||!f.value,icon:"save",label:"Save",onClick:d},null,8,["disabled"])]),$t,m($,{icon:"link",label:"Connect",onClick:b(ut)},null,8,["onClick"])],64))}}),Ct={class:"flex items-center gap-2"},xt=S({__name:"Developer",setup(o){O();const e=()=>{fetch("/api/system/kill")},l=()=>{fetch("/api/system/restart/nginx")};return(h,n)=>(s(),p("div",Ct,[m($,{icon:"refresh",label:"Restart",onClick:e,type:"danger"}),m($,{icon:"refresh",label:"Restart Nginx",onClick:l})]))}}),Vt=o=>(U("data-v-2a5c5e34"),o=o(),E(),o),Pt={class:"p-[10px] preferences"},It=Vt(()=>t("h1",{class:"w-full"},"Preferences",-1)),At={class:"wrapper"},Nt={class:"sections flex flex-col"},Dt={class:"section p-2"},Tt={class:"h5 text-sm"},Bt=S({__name:"index",setup(o){const e=O(),l={About:fe,Privacy:Je,"Local Data":Ge,Integrations:St,"Cache Policy":Ke,Appearance:ot,Player:it,Developer:xt},h=N(()=>{const f=[{name:"General",items:["About"]},{name:"My Data",items:["Privacy","Local Data","Integrations"]},{name:"Player",items:["Player","Cache Policy"]},{name:"Appearance",items:["Appearance"]}];return e.mode.dev&&f.push({name:"Developer",items:["Developer"]}),f}),n=le(),u=se();let a=n.query.tab;const c=_("About");return Object.keys(l).includes(a)&&(c.value=a),Y(c,f=>{const d={tab:f};u.replace({query:d})}),(f,d)=>(s(),p("div",Pt,[It,t("div",At,[t("div",Nt,[(s(!0),p(w,null,V(h.value,C=>(s(),p("div",Dt,[t("span",Tt,k(C.name),1),(s(!0),p(w,null,V(C.items,v=>(s(),g(ce,{key:v,name:v,active:c.value===v,onClick:x=>c.value=v},null,8,["name","active","onClick"]))),128))]))),256))]),m(j,{class:"content h-max p-4 pt-0"},{default:G(()=>[t("h2",null,k(c.value),1),(s(),g(oe(l[c.value])))]),_:1})])]))}}),Gt=A(Bt,[["__scopeId","data-v-2a5c5e34"]]);export{Gt as default}; diff --git a/src/ui/dist/assets/index-BCf3Wdzv.js.gz b/src/ui/dist/assets/index-BCf3Wdzv.js.gz new file mode 100644 index 000000000..59215c90b Binary files /dev/null and b/src/ui/dist/assets/index-BCf3Wdzv.js.gz differ diff --git a/src/ui/dist/assets/index-B_Tb2c9a.js b/src/ui/dist/assets/index-B_Tb2c9a.js new file mode 100644 index 000000000..3ff9d5cc4 --- /dev/null +++ b/src/ui/dist/assets/index-B_Tb2c9a.js @@ -0,0 +1 @@ +import{_ as D,f as E,o,c as p,g as m,w as h,l as se,m as le,a as t,C as U,H as Q,i as y,t as b,d as x,e as M,n as f,y as j,E as P,r as ue,L as ae,h as T,F as R,j as ce,D as N,q as de,J as pe,M as G,K as Z,O as C,Q as A,b as ee,R as te,B as ve,U as me}from"./index-DnhwPdfm.js";import{F}from"./FullShelf-DRbcKza6.js";import{E as _e}from"./Error-hTSpQMK3.js";import{P as J}from"./PlaylistCard-CMjdNIlB.js";import{p as fe}from"./playerInPicture-Dfp9IAsf.js";const he={name:"CollectionHeader",props:{href:String}},q=c=>(se("data-v-6670177a"),c=c(),le(),c),ye={class:"wrapper"},ge=q(()=>t("div",{class:"collection"},"Playlists",-1)),xe=q(()=>t("div",{class:"collection"},"Releases",-1)),we=q(()=>t("div",{class:"collection"},"Artists",-1)),ke=q(()=>t("div",{class:"collection"},"Albums",-1));function $e(c,r,e,d,_,n){const u=E("router-link");return o(),p("div",ye,[m(u,{class:"link",to:"/collection/playlists"},{default:h(()=>[ge]),_:1}),m(u,{class:"link",to:"/collection/releases"},{default:h(()=>[xe]),_:1}),m(u,{class:"link",to:"/collection/artists"},{default:h(()=>[we]),_:1}),m(u,{class:"link",to:"/collection/albums"},{default:h(()=>[ke]),_:1})])}const Ce=D(he,[["render",$e],["__scopeId","data-v-6670177a"]]),be={components:{Card:U,Cover:Q},name:"CardWithImageAndText",props:{cover:String,title:String,description:String,playlistType:{type:String,default:null},imageType:{type:String,default:"playlist"}}},Se={class:"item"},Ie={class:"title"},De={key:0,class:"material-symbols-rounded"},Te=["title"],Re=["title","innerHTML"];function Me(c,r,e,d,_,n){const u=E("Cover"),a=E("Card");return o(),y(a,{class:"wrapper drop-shadow-md","with-hover":""},{default:h(()=>[t("div",Se,[m(u,{src:e.cover,type:e.imageType,name:e.title},null,8,["src","type","name"]),t("div",null,[t("div",Ie,[[null,"classic"].includes(e.playlistType)?x("",!0):(o(),p("span",De,b(e.playlistType=="smart"?"neurology":"bolt"),1)),t("h4",{title:e.title},b(e.title),9,Te)]),t("p",{class:"text-muted text-xs hideIfMobile",title:e.description,innerHTML:e.description},null,8,Re)])])]),_:1})}const oe=D(be,[["render",Me],["__scopeId","data-v-19795e3d"]]),B=M({__name:"FetchLoader",props:{response:{type:Promise,required:!0},error:{type:Function,default:c=>`Failed to fetch (${c.status})`}},setup(c){const r=c,e=f(!1),d=f(""),_=async()=>{if(!r.response)return;e.value=!0,d.value="";const n=await r.response;e.value=!1,n.ok||(d.value=r.error(n))};return j(_),P(()=>r.response,_),(n,u)=>e.value?(o(),y(ae,{key:0})):d.value?(o(),y(_e,{key:1,msg:d.value},null,8,["msg"])):c.response?ue(n.$slots,"default",{key:2}):x("",!0)}}),Ae={class:"albums"},Pe=M({__name:"Albums",setup(c){const r=f([]),e=f(null);return j(async()=>{e.value=fetch("/api/albums");const _=await(await e.value).json();r.value=_.sort((n,u)=>n.name.localeCompare(u.name))}),(d,_)=>(o(),y(B,{response:e.value},{default:h(()=>[t("div",Ae,[m(F,{heading:"In your library"},{default:h(()=>[(o(!0),p(R,null,T(r.value,n=>(o(),y(oe,{title:n.name,description:n.artists.join(", "),cover:n.image,onClick:u=>d.$router.push(n.href),imageType:"album"},null,8,["title","description","cover","onClick"]))),256))]),_:1})])]),_:1},8,["response"]))}}),Ee=D(Pe,[["__scopeId","data-v-33e7fc43"]]),Fe={class:"playlists"},je=M({__name:"Playlists",setup(c){const r=ce(),e=N(()=>r.playlists),d=f([]),_=f(null);return j(async()=>{_.value=fetch("/api/spotify/playlists");const u=await(await _.value).json();d.value=u}),(n,u)=>(o(),p("div",Fe,[e.value.length?(o(),y(F,{key:0,heading:"Playlists"},{default:h(()=>[(o(!0),p(R,null,T(e.value,a=>(o(),y(J,{playlist:a},null,8,["playlist"]))),256))]),_:1})):x("",!0),m(B,{response:_.value,error:a=>`Failed to fetch Spotify playlists (${a.status})`},{default:h(()=>[d.value.length?(o(),y(F,{key:0,heading:"Import From Spotify"},{default:h(()=>[m(J,{playlist:{href:"/liked",name:"Liked",description:"your liked tracks",type:"classic",cover:null,id:"liked",plays:0},"is-spotify":""}),(o(!0),p(R,null,T(d.value,a=>(o(),y(J,{playlist:{...a,href:`https://open.spotify.com/playlist/${a.id}`,type:"classic"},"is-spotify":""},null,8,["playlist"]))),256))]),_:1})):x("",!0)]),_:1},8,["response","error"])]))}}),H=c=>(se("data-v-924f3e91"),c=c(),le(),c),Le={key:0,class:"fill-page"},Ne={key:1},Be={class:"releases w-full"},qe={class:"current"},He={key:0,class:"w-max flex flex-col gap-4"},Oe={class:"flex justify-between w-full items-center"},Ye={class:"flex gap-4 items-center"},Je={class:"info"},Ve={key:0},Ke={key:1,class:"m-0 text-muted text-sm"},Qe=["title"],Ue={class:"actions"},We={key:1,class:"h-96 flex flex-col justify-center"},ze=H(()=>t("span",{class:"italic text-sm text-muted"}," Nothing to preview ",-1)),Xe=[ze],Ge={class:"flex items-center gap-4 w-max"},Ze={key:0,class:"flex justify-between mb-2"},et=H(()=>t("span",{class:"material-symbols-rounded"}," refresh ",-1)),tt=H(()=>t("span",{class:"material-symbols-rounded"}," done_all ",-1)),st={class:"entries overflow-y-auto flex flex-col gap-2"},lt=["onClick"],at={class:"info overflow-hidden"},ot={class:"m-0 overflow-hidden"},nt={class:"m-0 overflow-hidden text-sm text-muted"},rt=["title"],it=["onClick"],ut=["onClick"],ct=["onClick"],dt={key:1,class:"flex flex-col items-center"},pt=H(()=>t("span",{class:"italic text-sm text-muted"}," No releases in this queue ",-1)),vt=[pt],V="reap.releases.seen",K="reap.releases.remember",mt=M({__name:"Releases",setup(c){const r=f(!0),e=f("unseen"),d=l=>{const s=new Date(l),g=Math.floor((Date.now()-s.getTime())/1e3/60/60/24);return g==0?"Today":g==1?"Yesterday":g<100?`${g} days ago`:g<365?`${Math.floor(g/30)} months ago`:s.toLocaleDateString()},_=de();P(e,l=>{const s={queue:l};_.replace({query:s})});const n=N(()=>{switch(e.value){case"unseen":return S.value.filter(l=>!$.value.includes(l.url));case"out-today":return ne.value;case"watching":return k.value;case"all":return S.value;case"seen":return $.value.map(l=>S.value.find(s=>s.url==l)).filter(l=>l)}}),u=l=>{fe(l.artist,l.title,l.url)},a=f(null),w=f(null),O=new Date,S=f([]),W=l=>{a.value=l,te(()=>{var s;(s=w.value)==null||s.show()})},ne=N(()=>S.value.filter(l=>{const s=new Date(l.releaseDate);return O.getMonth()==s.getMonth()&&O.getDate()==s.getDate()&&O.getFullYear()==s.getFullYear()})),z=l=>{k.value.find(s=>s.url==l.url)||k.value.push(l)},X=l=>{k.value=k.value.filter(s=>s.url!=l.url)},Y=l=>{var g;let s=!1;l.url===((g=v.value)==null?void 0:g.url)&&(s=!0),$.value.includes(l.url)||$.value.push(l.url),s&&te(()=>u(v.value))},$=f([]),k=f([]),v=f(null),re=()=>{r.value=!0,fetch("/api/releases",{headers:{"X-Cache-Control":"no-cache"}}).then(l=>l.json()).then(l=>{S.value=l,r.value=!1})};return j(async()=>{var s;r.value=!0;const l=await fetch("/api/releases");S.value=await l.json(),r.value=!1,$.value=((s=localStorage.getItem(V))==null?void 0:s.split(","))??[],$.value=$.value.filter(g=>S.value.find(L=>L.url==g)),k.value=JSON.parse(localStorage.getItem(K)??"[]")}),P(n,l=>{v.value=l[0]??null}),P($,l=>{l.length?localStorage.setItem(V,l.join(",")):localStorage.removeItem(V)},{deep:!0}),P(k,l=>{l.length?localStorage.setItem(K,JSON.stringify(l)):localStorage.removeItem(K)},{deep:!0}),(l,s)=>{var g,L;return r.value?(o(),p("div",Le,[m(ae)])):(o(),p("div",Ne,[a.value?(o(),y(pe,{key:0,id:(g=a.value.url)==null?void 0:g.replace("https://open.spotify.com/album/",""),ref_key:"addReleaseRef",ref:w,album:{id:(L=a.value.url)==null?void 0:L.replace("https://open.spotify.com/album/",""),title:a.value.title,artist:a.value.artists.join(", "),cover:a.value.cover,href:a.value.url,releaseDate:a.value.releaseDate},artist:a.value.artist,cover:a.value.cover,href:a.value.url,title:a.value.title},null,8,["id","album","artist","cover","href","title"])):x("",!0),t("div",Be,[t("div",qe,[v.value?(o(),p("div",He,[v.value?(o(),y(Q,{key:0,class:"rounded-3xl",src:v.value.cover,"with-ambient":""},null,8,["src"])):x("",!0),t("div",Oe,[t("div",Ye,[t("span",{class:"preview material-symbols-rounded ms-fill text-5xl cursor-pointer",onClick:s[0]||(s[0]=i=>u(v.value))}," play_circle "),t("div",Je,[v.value?(o(),p("h3",Ve,[m(G,{text:v.value.title},null,8,["text"])])):x("",!0),v.value?(o(),p("p",Ke,[m(Z,{artist:v.value.artist},null,8,["artist"])])):x("",!0),v.value?(o(),p("p",{key:2,class:"m-0 text-muted text-xs",title:v.value.releaseDate},b(d(v.value.releaseDate)),9,Qe)):x("",!0)])]),t("div",Ue,[t("span",{class:"material-symbols-rounded cursor-pointer text-muted hover:text-primary",onClick:s[1]||(s[1]=C(i=>W(v.value),["stop"])),title:"Add to playlist"}," add "),t("span",{class:"material-symbols-rounded cursor-pointer text-muted hover:text-primary",onClick:s[2]||(s[2]=C(i=>k.value.find(I=>I.url===v.value.url)?X(v.value):z(v.value),["stop"])),title:"Pin"},b(k.value.find(i=>i.url===v.value.url)?"playlist_remove":"push_pin"),1),t("span",{class:"material-symbols-rounded cursor-pointer text-muted hover:text-primary",onClick:s[3]||(s[3]=C(i=>Y(v.value),["stop"])),title:"Mark as seen"}," done_all ")])])])):(o(),p("div",We,Xe))]),m(U,{class:"queue w-full p-2 h-full flex flex-col gap-2 relative"},{default:h(()=>[t("div",Ge,[t("h5",{class:A(["cursor-pointer",{selected:e.value=="unseen"}]),onClick:s[4]||(s[4]=i=>e.value="unseen")}," Unseen ",2),t("h5",{class:A(["cursor-pointer",{selected:e.value=="out-today"}]),onClick:s[5]||(s[5]=i=>e.value="out-today")}," Out Today ",2),t("h5",{class:A(["cursor-pointer",{selected:e.value=="watching"}]),onClick:s[6]||(s[6]=i=>e.value="watching")}," Pinned ",2),t("h5",{class:A(["cursor-pointer",{selected:e.value=="seen"}]),onClick:s[7]||(s[7]=i=>e.value="seen")}," Seen ",2),t("h5",{class:A(["cursor-pointer",{selected:e.value=="all"}]),onClick:s[8]||(s[8]=i=>e.value="all")}," All ",2)]),e.value==="unseen"&&n.value.length?(o(),p("div",Ze,[t("span",{class:"cursor-pointer text-sm text-muted hover:text-primary flex items-center gap-2",onClick:re},[ee(" Refresh "),et]),t("span",{class:"cursor-pointer text-sm text-muted hover:text-primary flex items-center gap-2",onClick:s[9]||(s[9]=i=>n.value.forEach(Y))},[ee(" Mark all as seen "),tt])])):x("",!0),t("div",st,[n.value.length?(o(!0),p(R,{key:0},T(n.value,i=>(o(),p("div",{class:"entry",onClick:I=>{v.value=i,u(i)}},[m(Q,{class:"rounded-xl",src:i.cover},null,8,["src"]),t("div",at,[t("p",ot,[m(G,{text:i.title},null,8,["text"])]),t("p",nt,[m(Z,{artist:i.artist},null,8,["artist"])])]),t("p",{class:"text-sm m-0 text-muted",title:i.releaseDate},b(d(i.releaseDate)),9,rt),t("span",{class:"material-symbols-rounded cursor-pointer text-muted hover:text-primary",onClick:C(I=>W(i),["stop"]),title:"Add to playlist"}," add ",8,it),t("span",{class:"material-symbols-rounded cursor-pointer text-muted hover:text-primary",onClick:C(I=>k.value.find(ie=>ie.url===i.url)?X(i):z(i),["stop"]),title:"Pin"},b(k.value.find(I=>I.url===i.url)?"playlist_remove":"push_pin"),9,ut),t("span",{class:"material-symbols-rounded cursor-pointer text-muted hover:text-primary",onClick:C(I=>Y(i),["stop"]),title:"Mark as seen"}," done_all ",8,ct)],8,lt))),256)):x("",!0)]),n.value.length?x("",!0):(o(),p("div",dt,vt))]),_:1})])]))}}}),_t=D(mt,[["__scopeId","data-v-924f3e91"]]),ft={components:{Card:U},name:"ArtistItem",methods:{follow(c){c.stopPropagation();const r=this.following?"DELETE":"POST";fetch("/api/spotify/following",{method:r,body:JSON.stringify({artistId:this.id})}).then(e=>{e.status==200&&(this.following=!this.following)})}},data(){return{following:this.initiallyFollowing}},props:{cover:String,name:String,description:String,id:String,initiallyFollowing:Boolean,showFollowButton:Boolean}},ht={class:"item"},yt=["src"],gt={class:"flex gap-2 items-center justify-between"},xt=["innerHTML"];function wt(c,r,e,d,_,n){const u=E("add-artist-to-playlist"),a=E("Card");return o(),y(a,{class:"wrapper","with-hover":"",onClick:r[1]||(r[1]=C(w=>c.$router.push("/artist/"+e.name),["stop"]))},{default:h(()=>[m(u,{ref:"import",artist:{id:e.id,name:e.name,href:`https://open.spotify.com/artist/${e.id}`,image:e.cover}},null,8,["artist"]),t("div",ht,[t("img",{src:e.cover},null,8,yt),t("div",gt,[t("div",null,[t("h4",null,b(e.name),1),t("p",{innerHTML:e.description},null,8,xt)]),e.showFollowButton?(o(),p("span",{key:0,class:"material-symbols-rounded text-muted text-md",onClick:r[0]||(r[0]=C((...w)=>n.follow&&n.follow(...w),["stop"]))},b(_.following?"person_check":"person_add"),1)):x("",!0)])])]),_:1})}const kt=D(ft,[["render",wt],["__scopeId","data-v-286e9794"]]),$t={class:"artists"},Ct=M({__name:"Artists",setup(c){const r=f([]),e=f([]),d=f(null),_=f(null);return j(async()=>{d.value=fetch("/api/artists");let n=await d.value,u=await n.json();e.value=u.sort((a,w)=>a.name.localeCompare(w.name)),_.value=fetch("/api/spotify/artists"),n=await _.value,u=await n.json(),r.value=u.sort((a,w)=>a.name.localeCompare(w.name))}),(n,u)=>(o(),p("div",$t,[m(B,{response:d.value},{default:h(()=>[m(F,{heading:"In your library"},{default:h(()=>[(o(!0),p(R,null,T(e.value,a=>(o(),y(oe,{title:a.name,cover:a.image,onClick:w=>n.$router.push(`/artist/${a.name}`),imageType:"artist"},null,8,["title","cover","onClick"]))),256))]),_:1})]),_:1},8,["response"]),m(B,{response:_.value},{default:h(()=>[m(F,{heading:"Following on Spotify"},{default:h(()=>[(o(!0),p(R,null,T(r.value,(a,w)=>(o(),y(kt,{id:a.id,key:w,cover:a.cover,description:a.description,name:a.name,"initially-following":"","show-follow-button":""},null,8,["id","cover","description","name"]))),128))]),_:1})]),_:1},8,["response"])]))}}),bt=D(Ct,[["__scopeId","data-v-a8a87a8e"]]),St={class:"parent"},It={class:"collection"},Dt=M({__name:"index",setup(c){const r=ve(),e=N(()=>{switch(r.path.split("/")[2]){case"albums":return Ee;case"playlists":return je;case"releases":return _t;case"artists":return bt}});return(d,_)=>(o(),p("div",St,[m(Ce,{class:"header"}),t("main",It,[(o(),y(me(e.value)))])]))}}),Et=D(Dt,[["__scopeId","data-v-4fad4f51"]]);export{Et as default}; diff --git a/src/ui/dist/assets/index-B_Tb2c9a.js.gz b/src/ui/dist/assets/index-B_Tb2c9a.js.gz new file mode 100644 index 000000000..d57ce07c0 Binary files /dev/null and b/src/ui/dist/assets/index-B_Tb2c9a.js.gz differ diff --git a/src/ui/dist/assets/index-BbxuzHud.css b/src/ui/dist/assets/index-BbxuzHud.css new file mode 100644 index 000000000..370d2c860 --- /dev/null +++ b/src/ui/dist/assets/index-BbxuzHud.css @@ -0,0 +1 @@ +.btn[data-v-3f038910]{width:100%;text-align:left;padding:.5em 1em;border-radius:.5em;font-size:.9rem;border:1px solid transparent}.btn.active[data-v-3f038910]{background:var(--bg-base-lt);border:var(--border-container)}.latest[data-v-5c362a3b]{--color: var(--success)}.update[data-v-5c362a3b]{--color: var(--warning)}span[data-v-5c362a3b]{color:var(--color)}a[data-v-5c362a3b]:hover{color:inherit;font-weight:700}.items[data-v-4062735d]{display:grid;grid-template-columns:repeat(auto-fill,minmax(30ch,1fr))}.checkbox[data-v-be9fa887]{display:flex;align-items:center;margin:10px 0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkbox .checkbox__label[data-v-be9fa887]{margin-left:10px}.checkbox .checkbox__label .checkbox__label__title[data-v-be9fa887]{font-size:1em}.checkbox .checkbox__label .checkbox__label__sublabel[data-v-be9fa887]{font-size:.85em;color:var(--font-darker)}.checkbox .checkbox__checkbox[data-v-be9fa887]{font-size:1.5em;font-variation-settings:"FILL" 0,"WEIGHT" 500,"WIDTH" 100}p[data-v-74855c2d]{margin:0 0 .5em;font-size:.8em;color:var(--fg-base-dk);text-transform:capitalize}p.selected[data-v-74855c2d]{color:var(--fg-secondary)}.wrapper[data-v-74855c2d]{grid-column:span 2}.wrapper[data-v-74855c2d]:hover{cursor:pointer}img[data-v-74855c2d]{width:100%;border-radius:8px}img.selected[data-v-74855c2d]{border:2px solid var(--fg-secondary)}.themes[data-v-5cc6477c]{display:flex;flex-direction:row;flex-wrap:wrap;gap:1em}.themes .wrapper[data-v-5cc6477c]{max-width:200px}ul{margin-left:2em;list-style-type:disc}.markdown-body{line-height:1.5}.preferences[data-v-2a5c5e34]{display:flex;flex-direction:column;align-items:center}.section[data-v-2a5c5e34]:not(:last-child){border-bottom:var(--border-container)}.btn[data-v-2a5c5e34]{width:100%;text-align:left;padding:.5em 1em;border-radius:.5em;font-size:.9rem;border:1px solid transparent}.btn.active[data-v-2a5c5e34]{background:var(--bg-base-lt);border:var(--border-container)}.preferences[data-v-2a5c5e34]>*{max-width:1000px;width:100%}.wrapper[data-v-2a5c5e34]{display:grid;grid-template-columns:200px 1fr;gap:1em} diff --git a/src/ui/dist/assets/index-BbxuzHud.css.gz b/src/ui/dist/assets/index-BbxuzHud.css.gz new file mode 100644 index 000000000..9329b8d27 Binary files /dev/null and b/src/ui/dist/assets/index-BbxuzHud.css.gz differ diff --git a/src/ui/dist/assets/index-BtkKd32Q.js b/src/ui/dist/assets/index-BtkKd32Q.js new file mode 100644 index 000000000..24e560f61 --- /dev/null +++ b/src/ui/dist/assets/index-BtkKd32Q.js @@ -0,0 +1 @@ +import{e as N,B as P,n as m,D as n,S as T,T as j,y as q,E as A,o as t,c as a,g as B,L,a as o,t as I,F as c,G as d,d as v,h as f,i as w,l as O,m as V,_ as D}from"./index-DnhwPdfm.js";const r=h=>(O("data-v-b436b747"),h=h(),V(),h),F={class:"search"},$={key:0,class:"fill-page"},G={key:1,class:"fill-page"},J=r(()=>o("h1",null,"Something went wrong",-1)),M={class:"top flex gap-8"},Y={class:"top min-w-max"},z=r(()=>o("h2",null,"Top Result",-1)),H={key:0,class:"list songs flex-1"},K={class:"flex justify-between items-center"},Q=r(()=>o("h2",null,"Songs",-1)),U={class:"flex flex-wrap flexibleSearchResults"},W={key:0,class:"list flex-1 min-w-[40vw] artists"},X=r(()=>o("h2",null,"Artists",-1)),Z={key:1,class:"list flex-1 min-w-[40vw] playlists"},ee=r(()=>o("h2",null,"Playlists",-1)),se={key:2,class:"list flex-1 min-w-[40vw] albums"},te=r(()=>o("h2",null,"Albums",-1)),le=N({__name:"index",setup(h){const R=P(),y=m(!0),_=m(null),p=m(!1),u=m(null),C=n(()=>{var e,s;return(s=(e=u.value)==null?void 0:e.items)==null?void 0:s[0]}),i=n(()=>{var e,s;return(s=(e=u.value)==null?void 0:e.items)==null?void 0:s.filter(l=>l.type==="song")}),g=n(()=>{var e,s;return(s=(e=u.value)==null?void 0:e.items)==null?void 0:s.filter(l=>l.type==="artist")}),x=n(()=>{var e,s;return(s=(e=u.value)==null?void 0:e.items)==null?void 0:s.filter(l=>l.type==="playlist")}),S=n(()=>{var e,s;return(s=(e=u.value)==null?void 0:e.items)==null?void 0:s.filter(l=>l.type==="album")}),k=n(()=>R.params.query),E=n(()=>[...T,...j]),b=async()=>{y.value=!0,_.value=null;const e=await fetch("/api/search",{method:"POST",body:JSON.stringify({query:k.value,scope:E.value})});if(y.value=!1,!e.ok){_.value=await e.text();return}const s=await e.json();u.value=s};return q(b),A(k,b),(e,s)=>(t(),a("div",F,[y.value?(t(),a("div",$,[B(L)])):_.value?(t(),a("div",G,[J,o("p",null,I(_.value),1)])):(t(),a(c,{key:2},[o("div",M,[o("div",Y,[z,B(d,{item:C.value,large:""},null,8,["item"])]),i.value.length?(t(),a("div",H,[o("div",K,[Q,i.value.length>4?(t(),a("span",{key:0,class:"more cursor-pointer text-muted hover:text-primary text-sm uppercase",onClick:s[0]||(s[0]=l=>p.value=!p.value)},I(p.value?"Show less":`Show all ${i.value.length} songs`),1)):v("",!0)]),(t(!0),a(c,null,f(p.value?i.value:i.value.slice(0,4),l=>(t(),w(d,{item:l,"show-download":""},null,8,["item"]))),256))])):v("",!0)]),o("div",U,[g.value.length?(t(),a("div",W,[X,(t(!0),a(c,null,f(g.value,l=>(t(),w(d,{item:l,"show-download":""},null,8,["item"]))),256))])):v("",!0),x.value.length?(t(),a("div",Z,[ee,(t(!0),a(c,null,f(x.value,l=>(t(),w(d,{item:l,"show-download":""},null,8,["item"]))),256))])):v("",!0),S.value.length?(t(),a("div",se,[te,(t(!0),a(c,null,f(S.value,l=>(t(),w(d,{item:l,"show-download":""},null,8,["item"]))),256))])):v("",!0)])],64))]))}}),oe=D(le,[["__scopeId","data-v-b436b747"]]);export{oe as default}; diff --git a/src/ui/dist/assets/index-BtkKd32Q.js.gz b/src/ui/dist/assets/index-BtkKd32Q.js.gz new file mode 100644 index 000000000..4f8291300 Binary files /dev/null and b/src/ui/dist/assets/index-BtkKd32Q.js.gz differ diff --git a/src/ui/dist/assets/index-Bxln736l.css b/src/ui/dist/assets/index-Bxln736l.css new file mode 100644 index 000000000..948d36041 --- /dev/null +++ b/src/ui/dist/assets/index-Bxln736l.css @@ -0,0 +1,7 @@ +@import"https://fonts.googleapis.com/icon?family=Material+Icons+Outlined";@import"https://fonts.googleapis.com/icon?family=Material+Icons+Round";@import"https://fonts.googleapis.com/css2?family=Poppins:wght@200;400;500;700;900&display=swap";.hidden[data-v-625a8655]{display:none}@keyframes marquee-625a8655{0%{transform:translate(0)}20%{transform:translate(0)}to{transform:translate(calc(-100% - 30px))}}div[data-v-625a8655]{white-space:nowrap;overflow:hidden;box-sizing:border-box}.marqueeWrapper[data-v-625a8655],.marqueeWrapper[data-v-625a8655] *{text-decoration:inherit}.marqueeWrapper[data-v-625a8655]{position:relative;margin:0}.replacer[data-v-625a8655]{position:absolute;top:0;left:calc(100% + 30px)}span[data-v-625a8655]{width:auto;margin:0;white-space:nowrap;display:inherit;overflow:hidden}span.marquee[data-v-625a8655]{position:relative;animation:marquee-625a8655 15s linear infinite;overflow:unset;text-overflow:unset;display:table-cell}.overlay[data-v-625a8655]{position:absolute;bottom:0;left:0;width:100%;text-align:center;padding:30px;pointer-events:none}.playerInPicture{position:absolute;top:calc(100% - 423px);left:calc(70% - 8px);z-index:2000;width:30%;border-radius:8px;display:flex;flex-direction:column;background:var(--bg-base-lt);overflow:hidden;box-shadow:0 0 100px 3px #000c}@media screen and (max-width: 950px){.playerInPicture{width:calc(100% - 16px);left:8px!important;bottom:8px!important}}.playerInPicture .header{padding:0 8px 8px;display:flex;flex-direction:row;justify-content:space-between;transform:translateY(8px)}.playerInPicture .header .title{font-size:.8em;color:var(--fg-base-dk);display:flex;flex-direction:column;justify-content:center;max-width:calc(100% - 56px);width:100%}.playerInPicture .header .buttons{width:48px;height:24px}.playerInPicture .header .buttons span:hover{cursor:pointer}.playerInPicture .header.minimised{margin-bottom:8px}.playerInPicture .frame{flex-grow:1;min-height:300px}.playerInPicture .frame.minimised{display:none}.playerInPicture iframe{min-height:300px;width:100%;transform:translateY(8px)}.link[data-v-1857dcd0]{text-decoration:none}div.navEntry[data-v-1857dcd0]{display:flex;flex-direction:row;padding:10px;border-radius:5px;color:var(--fg-base-dk)}div.navEntry.img[data-v-1857dcd0]{padding:5px}div.navEntry[data-v-1857dcd0]:hover,.router-link-active div.navEntry[data-v-1857dcd0],div.navEntry.active[data-v-1857dcd0]{background-color:var(--bg-hover-dk);cursor:pointer;color:var(--fg-base)}.router-link-active div.navEntry[data-v-1857dcd0],div.navEntry.active[data-v-1857dcd0]{background-color:var(--bg-hover)}.name[data-v-1857dcd0]{font-weight:700}.icon[data-v-1857dcd0]{width:34px}.icon[data-v-1857dcd0] :has:not(.material-symbols-rounded){height:34px}.icon[data-v-1857dcd0]{width:100%;border-radius:3px}.text-input-with-icon[data-v-7bfb9f4a]{background:var(--bg-base-lt);border:1px solid var(--border-base);color:var(--fg-base-dk);width:100%}.text-input-with-icon input[data-v-7bfb9f4a]{color:var(--fg-base-dk)}.text-input-with-icon[data-v-7bfb9f4a]:focus-within,.text-input-with-icon[data-v-7bfb9f4a]:hover{border-color:var(--fg-base);color:var(--fg-base)}.text-input-with-icon:focus-within input[data-v-7bfb9f4a],.text-input-with-icon:hover input[data-v-7bfb9f4a]{color:var(--fg-base)}.text-input-with-icon:focus-within .label-placeholder[data-v-7bfb9f4a],.text-input-with-icon:hover .label-placeholder[data-v-7bfb9f4a]{top:0;transform:translateY(0);font-size:.75rem;font-weight:100}.text-input-with-icon.expanded[data-v-7bfb9f4a]{border-radius:1em 1em 0 0}.label-placeholder[data-v-7bfb9f4a]{color:var(--fg-base-lt);transition:all .2s;position:absolute;top:50%;left:10px;transform:translateY(-50%);pointer-events:none}.label-placeholder.atTop[data-v-7bfb9f4a]{top:0;transform:translateY(0);font-size:.75rem;font-weight:100}input[type=text][data-v-7bfb9f4a],input[type=number][data-v-7bfb9f4a]{background:none!important;border:none!important}input[type=text][data-v-7bfb9f4a],input[type=number][data-v-7bfb9f4a],input[type=password][data-v-7bfb9f4a]{background:var(--hover-2);border:1px solid var(--hover-3);border-radius:5px;color:var(--font-colour);padding:10px;width:100%;flex-grow:1;font-family:var(--font-family)}input[type=text][data-v-7bfb9f4a]:focus,input[type=number][data-v-7bfb9f4a]:focus,input[type=password][data-v-7bfb9f4a]:focus{outline:none}input[type=text][data-v-7bfb9f4a]:hover,input[type=number][data-v-7bfb9f4a]:hover,input[type=password][data-v-7bfb9f4a]:hover{background:var(--hover-1);border:1px solid var(--font-colour)}.text-input-with-icon:has(.label-placeholder) input[data-v-7bfb9f4a]{padding-bottom:5px;margin-top:10px}.suggestions[data-v-9be27f78]{background:var(--bg-base-lt);border:var(--border-container);z-index:1001;background:var(--bg-base);border-radius:0 0 1em 1em;filter:var(--drop-shadow);overflow:hidden}.loader[data-v-cf68f823]{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.wrap[data-v-cf68f823]{display:flex;gap:.5em;width:100px;height:100px;align-items:center}.bar[data-v-cf68f823]{height:100%;width:20%;max-height:20%;border-radius:1000vmax;background:var(--fg-base);animation:pulse-cf68f823 1.5s infinite}@keyframes pulse-cf68f823{0%{max-height:20%}30%{max-height:100%}60%{max-height:20%}}.bar[data-v-cf68f823]:nth-child(2){animation-delay:.1s}.bar[data-v-cf68f823]:nth-child(3){animation-delay:.2s}.bar[data-v-cf68f823]:nth-child(4){animation-delay:.3s}.bar[data-v-cf68f823]:nth-child(5){animation-delay:.4s}/*! + * Copyright (c) 2023, reAudioPlayer ONE. + * Licenced under the GNU General Public License v3.0 + */.bg-bg[data-v-b68d33f1]{background-color:var(--background)}.bg-fg[data-v-b68d33f1]{background-color:var(--font-colour)}.text-bg[data-v-b68d33f1]{color:var(--background)}.text-fg[data-v-b68d33f1]{color:var(--font-colour)}button span.material-symbols-rounded[data-v-b68d33f1]{font-variation-settings:"wght" 400}button.disabled[data-v-b68d33f1]{cursor:not-allowed}button.positive[data-v-b68d33f1]{background-color:var(--bg-base);color:var(--fg-base)}button.positive.disabled[data-v-b68d33f1]{background-color:var(--fg-base-dk);color:var(--bg-hover-ltr)}button.negative[data-v-b68d33f1]{background-color:var(--bg-contrast);color:var(--fg-contrast)}button.negative.disabled[data-v-b68d33f1]{background-color:var(--fg-base-dk);color:var(--bg-hover-ltr)}button.danger[data-v-b68d33f1]{color:#f5f5f5;background-color:#c73c3c}button.danger.disabled[data-v-b68d33f1]{background-color:#a22e2e;color:#a9a9a9}button.success[data-v-b68d33f1]{color:#f5f5f5;background-color:var(--fg-secondary)}button.success[data-v-b68d33f1]:hover{background-color:var(--fg-secondary-dk)}button.success.disabled[data-v-b68d33f1]{background-color:#a9a9a9;color:var(--fg-base)}.modal[data-v-e243c458]{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1000;background-color:#000000b3;animation:fadeIn-e243c458 .2s ease-in-out forwards;display:flex;justify-content:center;align-items:center}.error[data-v-e243c458]{color:var(--danger)}@keyframes fadeIn-e243c458{0%{opacity:0}to{opacity:1}}.modal-content[data-v-e243c458]{cursor:default;display:flex;flex-direction:column;width:40%;max-height:80vh;background:var(--fg-contrast);border-radius:1rem;color:var(--fg-base)}.confirm[data-v-e243c458]{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}.header[data-v-e243c458]{display:flex;flex-direction:row;align-items:center;justify-content:space-between;margin-bottom:20px}.title[data-v-e243c458]{color:#fff}.dropdown[data-v-88b3642d]{position:relative;display:inline-block;width:100%;height:100%}.dropdown__selected[data-v-88b3642d]{background:var(--bg-base-lt);border:var(--border-container);border-radius:.75em;color:var(--font-colour);padding:10px;width:auto;flex-grow:1;font-family:var(--ff-base);cursor:pointer;display:flex;flex-direction:row;justify-content:space-between}.dropdown__selected.expanded[data-v-88b3642d]{border-radius:.75em .75em 0 0}.dropdown__selected[data-v-88b3642d]:focus-within,.dropdown__selected[data-v-88b3642d]:hover{border-color:var(--fg-base);color:var(--fg-base)}.dropdown__options[data-v-88b3642d]{position:absolute;left:0;z-index:1001;width:max(100%,20rem);max-height:20rem;overflow-y:auto;background:var(--bg-base);border-radius:0 0 1em 1em;filter:var(--drop-shadow);border:var(--border-container)}.dropdown__options .dropdown__option[data-v-88b3642d]{padding:.5rem;cursor:pointer;transition:all .2s ease-in-out;display:grid;grid-template-columns:35px 1fr 20px}.dropdown__options .dropdown__option[data-v-88b3642d]:hover{background:var(--bg-hover)}.content[data-v-97bdbd3e]{display:flex;flex-direction:row;align-items:center}.content .icon-button[data-v-97bdbd3e]{margin-right:10px;background:var(--bg-contrast);color:var(--fg-contrast);border-radius:1000vmax;padding:11px;cursor:pointer;font-variation-settings:"wght" 300}.content .imagePreview[data-v-97bdbd3e]{min-width:42px;max-width:42px;margin-left:10px}.content .imagePreview .cover[data-v-97bdbd3e]{border-radius:5px}.content .imagePreview .cover[data-v-97bdbd3e]:hover{cursor:pointer;filter:grayscale(.4) blur(2px)}.playlisteditor[data-v-3c71f9f3]{display:flex;flex-direction:row;margin-bottom:20px;align-items:center}.playlisteditor img[data-v-3c71f9f3]{width:20%;margin-right:20px;border-radius:5px}@media screen and (max-width: 950px){.playlisteditor[data-v-3c71f9f3]{flex-direction:column}.playlisteditor img[data-v-3c71f9f3]{align-self:center;width:40%;margin-right:0}}.playlisteditor>.details[data-v-3c71f9f3]{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-self:end}.playlisteditor>.details>h1[data-v-3c71f9f3]{font-size:2em;margin-top:10px;margin-bottom:10px}@media screen and (max-width: 950px){.playlisteditor>.details>h1[data-v-3c71f9f3]{font-size:1.4em}}.playlisteditor>.details>.detailswrapper[data-v-3c71f9f3]{font-size:.8em;display:flex;flex-direction:row;justify-content:flex-start}@media screen and (max-width: 950px){.playlisteditor>.details>.detailswrapper[data-v-3c71f9f3]{justify-content:center}}.playlisteditor>.details>.detailswrapper>.material-icons-round[data-v-3c71f9f3]{line-height:15px;font-size:15px;cursor:pointer}.playlisteditor>.details>.detailswrapper>.material-icons-round[data-v-3c71f9f3]:not(:first-child){margin-left:10px}.playlisteditor>.details>h5[data-v-3c71f9f3]{font-size:.8em;margin:0}.playlist-header[data-v-f8e4524a]{display:grid;grid-template-columns:50px 40px 1fr 1fr 40px 60px;gap:10px}.playlist-header .index[data-v-f8e4524a]{margin:auto 0}.playlist-header .artist-title[data-v-f8e4524a]{grid-column:2/span 2}.playlist-header .duration[data-v-f8e4524a]{text-align:center;grid-column-start:6}.playlist-header:not(.withMore) .duration[data-v-f8e4524a]{grid-column-start:7}.playlist-header div[data-v-f8e4524a]{margin:auto 0;color:var(--fg-base-dk);font-size:.9rem;text-transform:uppercase}.hidden[data-v-ad7138e8]{display:none}@keyframes marquee-ad7138e8{0%{transform:translate(0)}20%{transform:translate(0)}to{transform:translate(calc(-100% - 30px))}}div[data-v-ad7138e8]{white-space:nowrap;overflow:hidden;box-sizing:border-box}.marqueeWrapper[data-v-ad7138e8],.marqueeWrapper[data-v-ad7138e8] *{text-decoration:inherit}.marqueeWrapper[data-v-ad7138e8]{position:relative;margin:0}.replacer[data-v-ad7138e8]{position:absolute;top:0;left:calc(100% + 30px)}span[data-v-ad7138e8]{width:auto;margin:0;white-space:nowrap;display:inherit;overflow:hidden}span.marquee[data-v-ad7138e8]{position:relative;animation:marquee-ad7138e8 15s linear infinite;overflow:unset;text-overflow:unset;display:table-cell}.overlay[data-v-ad7138e8]{position:absolute;bottom:0;left:0;width:100%;text-align:center;padding:30px;pointer-events:none}.artist[data-v-156468cf]:not(:last-child):after{content:", "}.artist>a[data-v-156468cf]{color:inherit;text-decoration:none}.artist>a[data-v-156468cf]:active,.artist>a[data-v-156468cf]:hover{color:inherit;text-decoration:underline}/*! +* Copyright (c) 2023, reAudioPlayer ONE. +* Licenced under the GNU General Public License v3.0 +*/.playlist-entry[data-v-7207e9cd]{display:grid;grid-template-columns:50px 40px 1fr 1fr 40px;gap:10px;padding:10px 0;border-radius:20px;border:1px solid transparent}.playlist-entry .artist-title[data-v-7207e9cd]{grid-column:3/4}.playlist-entry:not(.withCover) .artist-title[data-v-7207e9cd]{grid-column-start:2}.playlist-entry:not(.withAlbum) .artist-title[data-v-7207e9cd]{grid-column-end:5}.playlist-entry div[data-v-7207e9cd]{overflow:hidden}.playlist-entry .index[data-v-7207e9cd],.playlist-entry .album[data-v-7207e9cd],.playlist-entry .duration[data-v-7207e9cd],.playlist-entry .icon[data-v-7207e9cd]{margin:auto 0;font-size:.9rem;color:var(--fg-base-dk)}.playlist-entry .index.index[data-v-7207e9cd],.playlist-entry .album.index[data-v-7207e9cd],.playlist-entry .duration.index[data-v-7207e9cd],.playlist-entry .icon.index[data-v-7207e9cd]{cursor:pointer}.playlist-entry .index.icon[data-v-7207e9cd],.playlist-entry .album.icon[data-v-7207e9cd],.playlist-entry .duration.icon[data-v-7207e9cd],.playlist-entry .icon.icon[data-v-7207e9cd]{font-size:1.3rem;cursor:pointer;font-variation-settings:"wght" 500}.playlist-entry .index.icon.favourite[data-v-7207e9cd],.playlist-entry .album.icon.favourite[data-v-7207e9cd],.playlist-entry .duration.icon.favourite[data-v-7207e9cd],.playlist-entry .icon.icon.favourite[data-v-7207e9cd]{font-variation-settings:"FILL" 1}.playlist-entry.hovering[data-v-7207e9cd]{background-color:var(--bg-hover-dk);border:var(--border-container)}.playlist-entry.hovering .index[data-v-7207e9cd]{font-size:1.5rem;font-variation-settings:"FILL" 1}.playlist-entry.selected[data-v-7207e9cd]{background-color:var(--bg-hover)}.playlist-entry .favourite-icon[data-v-7207e9cd]{grid-column:5}.playlist-entry .duration[data-v-7207e9cd]{grid-column:6}.playlist-entry .cover[data-v-7207e9cd]{display:flex;justify-content:center}.playlist-entry img[data-v-7207e9cd]{border-radius:4px;margin:auto 0}.playlist-entry .artist-title[data-v-7207e9cd]{display:grid;grid-template-rows:1fr 1fr}.playlist-entry .artist-title .artist[data-v-7207e9cd]{font-size:.8rem;color:var(--fg-base-dk)}.playlist-entry .artist-title span[data-v-7207e9cd]{max-width:-moz-min-content;max-width:min-content;overflow:hidden}.playlist-entry.playing .title[data-v-7207e9cd],.playlist-entry.playing .index[data-v-7207e9cd]{color:var(--fg-secondary)}.playlist-entry.hovering .artist[data-v-7207e9cd],.playlist-entry.hovering .album[data-v-7207e9cd],.playlist-entry.selected .artist[data-v-7207e9cd],.playlist-entry.selected .album[data-v-7207e9cd]{color:var(--fg-base)}@media screen and (max-width: 768px){.playlist-entry[data-v-7207e9cd]{padding:5px 0;border-radius:10px;grid-template-columns:30px 40px 1fr 1fr 30px 40px}.playlist-entry .index[data-v-7207e9cd],.playlist-entry .duration[data-v-7207e9cd]{font-size:.7rem}.playlist-entry .artist-title[data-v-7207e9cd]{grid-column-end:5;font-size:.8rem}.playlist-entry .artist-title .artist[data-v-7207e9cd]{font-size:.65rem}}.playlist[data-v-a918d839]{position:relative}.playlist .entries[data-v-a918d839]{position:relative;overflow-y:auto;display:flex;flex-direction:column;height:100%;max-height:30vh}.item[data-v-9097bc55]{display:flex;align-items:flex-end;gap:1rem;padding:10px;border-radius:20px}.item img[data-v-9097bc55]{width:50px;height:50px;border-radius:.5em;-o-object-fit:cover;object-fit:cover}.item .tag[data-v-9097bc55]{padding:.2rem .5rem;border-radius:.5rem;background:var(--bg-base-lt);border:var(--border-container)}.item .info[data-v-9097bc55]{display:flex;align-items:center;width:100%;gap:.5em}.item .name[data-v-9097bc55]{font-weight:900;font-size:1rem}.item.large[data-v-9097bc55]{min-width:40ch;background:var(--bg-base-lt);border:var(--border-container);border-radius:1em;padding:1em}.item.large .info[data-v-9097bc55]{flex-direction:column;align-items:flex-start}.item.large .name[data-v-9097bc55]{font-size:1.2rem}.item.large img[data-v-9097bc55]{width:150px;height:150px}.item[data-v-9097bc55]:not(.nohover):hover{background:var(--bg-hover-dk);cursor:pointer}.download-anim[data-v-c7aea07d]{color:var(--fg-base-dk);animation:anim-c7aea07d .5s ease-out forwards}@keyframes anim-c7aea07d{0%{opacity:1;transform:translateY(500px)}to{opacity:0;transform:translateY(0)}}.suggestion[data-v-c7aea07d]{display:grid;gap:1em;width:100%}.suggestion .cover[data-v-c7aea07d]{border-radius:.5em}.suggestion[data-v-c7aea07d]:hover,.suggestion.selected[data-v-c7aea07d]{background:var(--bg-hover-dk);cursor:pointer}.suggestion span[data-v-c7aea07d]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.suggestion span[data-v-c7aea07d]:last-child{color:var(--fg-base-dk);font-size:.8rem}.header[data-v-c7aea07d]{background:var(--bg-base-dk);height:var(--h-header);display:flex;flex-direction:row;justify-content:space-between;align-items:center;box-shadow:0 0 10px 0 var(--shadow);z-index:10;border-bottom:var(--border-container);position:fixed;top:0;left:0;right:0}.logo[data-v-c7aea07d]{fill:var(--fg-base);padding:10px;translate:5px 5px;height:100%}.logo[data-v-c7aea07d]:hover{cursor:pointer}.header .search{width:100%;display:flex;flex-direction:row;justify-content:center;margin:0 1em}.header .search .input-with-autocomplete{max-width:800px;width:100%;flex:1}.header .search .text-input-with-icon{width:100%}.startup .loader{width:-moz-max-content;width:max-content}.startup .loader .wrap{width:200px;height:200px}.startup[data-v-fc875b55]{height:100%;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.startup .wrap[data-v-fc875b55]{width:80%}.startup .logo[data-v-fc875b55]{display:flex;flex-direction:row;justify-content:center;width:100%;align-items:center}.startup .logo svg[data-v-fc875b55]{fill:var(--fg-base);padding:10px;translate:5px 5px;height:100%;max-width:400px}.startup .logo p[data-v-fc875b55]{font-size:1em;color:var(--fg-base);z-index:1;margin-left:50px}.card[data-v-04b9eb92]{background:var(--bg-base-lt);border-radius:1em;border:var(--border-container);position:relative}.card[data-v-04b9eb92]:before{content:"";border-radius:1em;box-shadow:0 0 10px #0000001a;position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1}.card.withHover[data-v-04b9eb92]:hover{background:var(--bg-hover-dk)}.card.disabled[data-v-04b9eb92]{opacity:.5;cursor:not-allowed!important}.notification[data-v-d73e5174]{padding:.5em 1em;display:flex;flex-direction:row;gap:2em;align-items:center;justify-content:space-between;color:#fff;filter:var(--drop-shadow)}.notification.success[data-v-d73e5174]{background-color:var(--success)}.notification.error[data-v-d73e5174]{background-color:var(--fail)}.notification.info[data-v-d73e5174]{background-color:var(--info)}.notification.warning[data-v-d73e5174]{background-color:var(--warning)}.notification h4[data-v-d73e5174],.notification p[data-v-d73e5174]{margin:0}.notification .details[data-v-d73e5174]{font-size:.8em}.close[data-v-d73e5174]{cursor:pointer}.notification[data-v-78dd507a]{gap:2em;align-items:center;color:var(--fg-base);overflow:hidden;filter:var(--drop-shadow);background:var(--fg-contrast);cursor:pointer}.notification .message[data-v-78dd507a]{padding:.5em 1em}.notification .message h4[data-v-78dd507a]{margin:0}.notification .message .details[data-v-78dd507a]{font-size:.8em}.yes-no[data-v-78dd507a]{display:flex;flex-direction:row}.yes-no .option[data-v-78dd507a]{flex:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.yes-no .option.yes[data-v-78dd507a]{background-color:var(--success)}.yes-no .option.no[data-v-78dd507a]{background-color:var(--fail)}.notifications[data-v-d6b475e7]{position:absolute;inset:auto auto 0 0;z-index:10;margin:2em 2em calc(var(--h-player) + 10px) calc(var(--w-sidebar) + 40px);display:flex;flex-direction:column;gap:1em;align-items:flex-start}.notifications .notification[data-v-d6b475e7]{min-width:200px;max-width:400px}@font-face{font-family:v-contextmenu;src:url(data:application/vnd.ms-fontobject;base64,AAgAAFgHAAABAAIAAAAAAAIABQMAAAAAAAABAJABAAAAAExQAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAr5f4wwAAAAAAAAAAAAAAAAAAAAAAABAAaQBjAG8AbgBmAG8AbgB0AAAADgBSAGUAZwB1AGwAYQByAAAAFgBWAGUAcgBzAGkAbwBuACAAMQAuADAAAAAQAGkAYwBvAG4AZgBvAG4AdAAAAAAAAAEAAAALAIAAAwAwR1NVQrD+s+0AAAE4AAAAQk9TLzJW7kgMAAABfAAAAFZjbWFwmcAGvgAAAeAAAAGGZ2x5ZodVRJIAAANwAAABPGhlYWQPY7HCAAAA4AAAADZoaGVhB94DhAAAALwAAAAkaG10eAvpAAAAAAHUAAAADGxvY2EAdgCeAAADaAAAAAhtYXhwARIAXQAAARgAAAAgbmFtZT5U/n0AAASsAAACbXBvc3RBG9LpAAAHHAAAADkAAQAAA4D/gABcBAAAAAAABAAAAQAAAAAAAAAAAAAAAAAAAAMAAQAAAAEAAMP4l69fDzz1AAsEAAAAAADWIjbmAAAAANYiNuYAAP/hBAADGAAAAAgAAgAAAAAAAAABAAAAAwBRAAUAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKAB4ALAABREZMVAAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAAAAQP4AZAABQAIAokCzAAAAI8CiQLMAAAB6wAyAQgAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABAAHjmIgOA/4AAXAOAAIAAAAABAAAAAAAABAAAAAPpAAAEAAAAAAAABQAAAAMAAAAsAAAABAAAAV4AAQAAAAAAWAADAAEAAAAsAAMACgAAAV4ABAAsAAAABgAEAAEAAgB45iL//wAAAHjmIv//AAAAAAABAAYABgAAAAEAAgAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAKAAAAAAAAAACAAAAeAAAAHgAAAABAADmIgAA5iIAAAACAAAAAAAAAHYAngAFAAD/4QO8AxgAEwAoADEARABQAAABBisBIg4CHQEhJzQuAisBFSEFFRcUDgMnIychByMiLgM9ARciBhQWMjY0JhcGBwYPAQ4BHgEzITI2Jy4CJwE1ND4COwEyFh0BARkbGlMSJRwSA5ABChgnHoX+SgKiARUfIxwPPi3+SSw/FDIgEwh3DBISGRISjAgGBQUIAgIEDw4BbRcWCQUJCgb+pAUPGhW8HykCHwEMGScaTFkNIBsSYYg0bh0lFwkBAYCAARMbIA6nPxEaEREaEXwaFhMSGQcQDQgYGg0jJBQBd+QLGBMMHSbjAAAAAAEAAAAAAtYC8AARAAABFAcBBi4BNjcJAS4BPgEXARYC1Q3+qQ4hGAENATj+yA0BGCINAVcNAYASDP66CwEZIQ0BJwEnDSEZAQv+ugwAAAAAAAASAN4AAQAAAAAAAAAVAAAAAQAAAAAAAQAIABUAAQAAAAAAAgAHAB0AAQAAAAAAAwAIACQAAQAAAAAABAAIACwAAQAAAAAABQALADQAAQAAAAAABgAIAD8AAQAAAAAACgArAEcAAQAAAAAACwATAHIAAwABBAkAAAAqAIUAAwABBAkAAQAQAK8AAwABBAkAAgAOAL8AAwABBAkAAwAQAM0AAwABBAkABAAQAN0AAwABBAkABQAWAO0AAwABBAkABgAQAQMAAwABBAkACgBWARMAAwABBAkACwAmAWkKQ3JlYXRlZCBieSBpY29uZm9udAppY29uZm9udFJlZ3VsYXJpY29uZm9udGljb25mb250VmVyc2lvbiAxLjBpY29uZm9udEdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAAoAQwByAGUAYQB0AGUAZAAgAGIAeQAgAGkAYwBvAG4AZgBvAG4AdAAKAGkAYwBvAG4AZgBvAG4AdABSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdABpAGMAbwBuAGYAbwBuAHQAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdABHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAQIBAwEEAAF4C2Fycm93LXJpZ2h0AAAAAAA=);src:url(data:application/vnd.ms-fontobject;base64,AAgAAFgHAAABAAIAAAAAAAIABQMAAAAAAAABAJABAAAAAExQAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAr5f4wwAAAAAAAAAAAAAAAAAAAAAAABAAaQBjAG8AbgBmAG8AbgB0AAAADgBSAGUAZwB1AGwAYQByAAAAFgBWAGUAcgBzAGkAbwBuACAAMQAuADAAAAAQAGkAYwBvAG4AZgBvAG4AdAAAAAAAAAEAAAALAIAAAwAwR1NVQrD+s+0AAAE4AAAAQk9TLzJW7kgMAAABfAAAAFZjbWFwmcAGvgAAAeAAAAGGZ2x5ZodVRJIAAANwAAABPGhlYWQPY7HCAAAA4AAAADZoaGVhB94DhAAAALwAAAAkaG10eAvpAAAAAAHUAAAADGxvY2EAdgCeAAADaAAAAAhtYXhwARIAXQAAARgAAAAgbmFtZT5U/n0AAASsAAACbXBvc3RBG9LpAAAHHAAAADkAAQAAA4D/gABcBAAAAAAABAAAAQAAAAAAAAAAAAAAAAAAAAMAAQAAAAEAAMP4l69fDzz1AAsEAAAAAADWIjbmAAAAANYiNuYAAP/hBAADGAAAAAgAAgAAAAAAAAABAAAAAwBRAAUAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKAB4ALAABREZMVAAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAAAAQP4AZAABQAIAokCzAAAAI8CiQLMAAAB6wAyAQgAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABAAHjmIgOA/4AAXAOAAIAAAAABAAAAAAAABAAAAAPpAAAEAAAAAAAABQAAAAMAAAAsAAAABAAAAV4AAQAAAAAAWAADAAEAAAAsAAMACgAAAV4ABAAsAAAABgAEAAEAAgB45iL//wAAAHjmIv//AAAAAAABAAYABgAAAAEAAgAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAKAAAAAAAAAACAAAAeAAAAHgAAAABAADmIgAA5iIAAAACAAAAAAAAAHYAngAFAAD/4QO8AxgAEwAoADEARABQAAABBisBIg4CHQEhJzQuAisBFSEFFRcUDgMnIychByMiLgM9ARciBhQWMjY0JhcGBwYPAQ4BHgEzITI2Jy4CJwE1ND4COwEyFh0BARkbGlMSJRwSA5ABChgnHoX+SgKiARUfIxwPPi3+SSw/FDIgEwh3DBISGRISjAgGBQUIAgIEDw4BbRcWCQUJCgb+pAUPGhW8HykCHwEMGScaTFkNIBsSYYg0bh0lFwkBAYCAARMbIA6nPxEaEREaEXwaFhMSGQcQDQgYGg0jJBQBd+QLGBMMHSbjAAAAAAEAAAAAAtYC8AARAAABFAcBBi4BNjcJAS4BPgEXARYC1Q3+qQ4hGAENATj+yA0BGCINAVcNAYASDP66CwEZIQ0BJwEnDSEZAQv+ugwAAAAAAAASAN4AAQAAAAAAAAAVAAAAAQAAAAAAAQAIABUAAQAAAAAAAgAHAB0AAQAAAAAAAwAIACQAAQAAAAAABAAIACwAAQAAAAAABQALADQAAQAAAAAABgAIAD8AAQAAAAAACgArAEcAAQAAAAAACwATAHIAAwABBAkAAAAqAIUAAwABBAkAAQAQAK8AAwABBAkAAgAOAL8AAwABBAkAAwAQAM0AAwABBAkABAAQAN0AAwABBAkABQAWAO0AAwABBAkABgAQAQMAAwABBAkACgBWARMAAwABBAkACwAmAWkKQ3JlYXRlZCBieSBpY29uZm9udAppY29uZm9udFJlZ3VsYXJpY29uZm9udGljb25mb250VmVyc2lvbiAxLjBpY29uZm9udEdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAAoAQwByAGUAYQB0AGUAZAAgAGIAeQAgAGkAYwBvAG4AZgBvAG4AdAAKAGkAYwBvAG4AZgBvAG4AdABSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdABpAGMAbwBuAGYAbwBuAHQAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdABHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAQIBAwEEAAF4C2Fycm93LXJpZ2h0AAAAAAA=#iefix) format("embedded-opentype"),url(data:font/woff;base64,d09GRgABAAAAAAUAAAsAAAAAB1gAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADMAAABCsP6z7U9TLzIAAAE8AAAARAAAAFZW7kgMY21hcAAAAYAAAABeAAABhpnABr5nbHlmAAAB4AAAAS4AAAE8h1VEkmhlYWQAAAMQAAAALwAAADYPY7HCaGhlYQAAA0AAAAAcAAAAJAfeA4RobXR4AAADXAAAAAwAAAAMC+kAAGxvY2EAAANoAAAACAAAAAgAdgCebWF4cAAAA3AAAAAfAAAAIAESAF1uYW1lAAADkAAAAUUAAAJtPlT+fXBvc3QAAATYAAAAKAAAADlBG9LpeJxjYGRgYOBikGPQYWB0cfMJYeBgYGGAAJAMY05meiJQDMoDyrGAaQ4gZoOIAgCKIwNPAHicY2Bk/sE4gYGVgYOpk+kMAwNDP4RmfM1gxMjBwMDEwMrMgBUEpLmmMDgwVDxTYm7438AQw9zA0AAUZgTJAQAl4gyOeJzFkMENgDAMAy9t6QMxRV88GIgXc3TirlFMKA8mqCXHimMpUYAFiOIhJrAL48Ep19yPrO4nz2SpEait9K7+U0U0y65BJTMNNm/1H5vXfXT6CnVQJ7byknADpO8MFwAAeJwVjL1Kw1AARu93Y/7a3MTe/KdN2yS2V6kGjLEKYru4KA6Cgzj6ALp2cegiODj4DCKIr1D6AL6A7qIP4BNE48fhwFk+IhPy+yktpYDYZJ1skyNyRgiUEVKTxkhEmdMR3ER2fceURCYSNUtz6RB+qjheMS6HvqIqFkx0sZMUY5FTgd1yQg9QeDEQtqNzPuhw6RGNQHTvqhP6BLeXdazJVnW8OXWKvq3NDM5Dzh80RZY1SlcsE9e+p8t6Q6meZStyl70N2oMRiuj0kvXb/Oq+vIkHvg7M57DbffNl2opaNbeRZ/NQXWVaELFszcHsuxnYRjz8IvXwL/pBf0irDkeFkmO8pyPHBD48+s6qVzMJwLBfvTEEKcMFw5wb1aKJMGEQECwJ0awWRv30B+KIMJEAAHicY2BkYGAA4sM/urfH89t8ZeBmYQCBa0pmzxD0/4csDMwSQC4HAxNIFABNGgrfAHicY2BkYGBu+N/AEMPCAAJAkpEBFTADAEcJAmwEAAAAA+kAAAQAAAAAAAAAAHYAnnicY2BkYGBgZghkYGUAASYg5gJCBob/YD4DABD3AXAAeJxlj01OwzAQhV/6B6QSqqhgh+QFYgEo/RGrblhUavdddN+mTpsqiSPHrdQDcB6OwAk4AtyAO/BIJ5s2lsffvHljTwDc4Acejt8t95E9XDI7cg0XuBeuU38QbpBfhJto41W4Rf1N2MczpsJtdGF5g9e4YvaEd2EPHXwI13CNT+E69S/hBvlbuIk7/Aq30PHqwj7mXle4jUcv9sdWL5xeqeVBxaHJIpM5v4KZXu+Sha3S6pxrW8QmU4OgX0lTnWlb3VPs10PnIhVZk6oJqzpJjMqt2erQBRvn8lGvF4kehCblWGP+tsYCjnEFhSUOjDFCGGSIyujoO1Vm9K+xQ8Jee1Y9zed0WxTU/3OFAQL0z1xTurLSeTpPgT1fG1J1dCtuy56UNJFezUkSskJe1rZUQuoBNmVXjhF6XNGJPyhnSP8ACVpuyAAAAHicY2BigAAuBuyAmZGJkZmRhYGxgjuxqCi/XLcoMz2jhIEBAC8dBRY=) format("woff"),url(data:font/ttf;base64,AAEAAAALAIAAAwAwR1NVQrD+s+0AAAE4AAAAQk9TLzJW7kgMAAABfAAAAFZjbWFwmcAGvgAAAeAAAAGGZ2x5ZodVRJIAAANwAAABPGhlYWQPY7HCAAAA4AAAADZoaGVhB94DhAAAALwAAAAkaG10eAvpAAAAAAHUAAAADGxvY2EAdgCeAAADaAAAAAhtYXhwARIAXQAAARgAAAAgbmFtZT5U/n0AAASsAAACbXBvc3RBG9LpAAAHHAAAADkAAQAAA4D/gABcBAAAAAAABAAAAQAAAAAAAAAAAAAAAAAAAAMAAQAAAAEAAMP4i7dfDzz1AAsEAAAAAADWIjbmAAAAANYiNuYAAP/hBAADGAAAAAgAAgAAAAAAAAABAAAAAwBRAAUAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKAB4ALAABREZMVAAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAAAAQP4AZAABQAIAokCzAAAAI8CiQLMAAAB6wAyAQgAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABAAHjmIgOA/4AAXAOAAIAAAAABAAAAAAAABAAAAAPpAAAEAAAAAAAABQAAAAMAAAAsAAAABAAAAV4AAQAAAAAAWAADAAEAAAAsAAMACgAAAV4ABAAsAAAABgAEAAEAAgB45iL//wAAAHjmIv//AAAAAAABAAYABgAAAAEAAgAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAKAAAAAAAAAACAAAAeAAAAHgAAAABAADmIgAA5iIAAAACAAAAAAAAAHYAngAFAAD/4QO8AxgAEwAoADEARABQAAABBisBIg4CHQEhJzQuAisBFSEFFRcUDgMnIychByMiLgM9ARciBhQWMjY0JhcGBwYPAQ4BHgEzITI2Jy4CJwE1ND4COwEyFh0BARkbGlMSJRwSA5ABChgnHoX+SgKiARUfIxwPPi3+SSw/FDIgEwh3DBISGRISjAgGBQUIAgIEDw4BbRcWCQUJCgb+pAUPGhW8HykCHwEMGScaTFkNIBsSYYg0bh0lFwkBAYCAARMbIA6nPxEaEREaEXwaFhMSGQcQDQgYGg0jJBQBd+QLGBMMHSbjAAAAAAEAAAAAAtYC8AARAAABFAcBBi4BNjcJAS4BPgEXARYC1Q3+qQ4hGAENATj+yA0BGCINAVcNAYASDP66CwEZIQ0BJwEnDSEZAQv+ugwAAAAAAAASAN4AAQAAAAAAAAAVAAAAAQAAAAAAAQAIABUAAQAAAAAAAgAHAB0AAQAAAAAAAwAIACQAAQAAAAAABAAIACwAAQAAAAAABQALADQAAQAAAAAABgAIAD8AAQAAAAAACgArAEcAAQAAAAAACwATAHIAAwABBAkAAAAqAIUAAwABBAkAAQAQAK8AAwABBAkAAgAOAL8AAwABBAkAAwAQAM0AAwABBAkABAAQAN0AAwABBAkABQAWAO0AAwABBAkABgAQAQMAAwABBAkACgBWARMAAwABBAkACwAmAWkKQ3JlYXRlZCBieSBpY29uZm9udAppY29uZm9udFJlZ3VsYXJpY29uZm9udGljb25mb250VmVyc2lvbiAxLjBpY29uZm9udEdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAAoAQwByAGUAYQB0AGUAZAAgAGIAeQAgAGkAYwBvAG4AZgBvAG4AdAAKAGkAYwBvAG4AZgBvAG4AdABSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdABpAGMAbwBuAGYAbwBuAHQAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdABHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAQIBAwEEAAF4C2Fycm93LXJpZ2h0AAAAAAA=) format("truetype"),url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20standalone%3D%22no%22%3F%3E%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%20%3E%0A%3C!--%0A2013-9-30%3A%20Created.%0A--%3E%0A%3Csvg%3E%0A%3Cmetadata%3E%0ACreated%20by%20iconfont%0A%3C%2Fmetadata%3E%0A%3Cdefs%3E%0A%0A%3Cfont%20id%3D%22iconfont%22%20horiz-adv-x%3D%221024%22%20%3E%0A%20%20%3Cfont-face%0A%20%20%20%20font-family%3D%22iconfont%22%0A%20%20%20%20font-weight%3D%22500%22%0A%20%20%20%20font-stretch%3D%22normal%22%0A%20%20%20%20units-per-em%3D%221024%22%0A%20%20%20%20ascent%3D%22896%22%0A%20%20%20%20descent%3D%22-128%22%0A%20%20%2F%3E%0A%20%20%20%20%3Cmissing-glyph%20%2F%3E%0A%20%20%20%20%0A%20%20%20%20%3Cglyph%20glyph-name%3D%22x%22%20unicode%3D%22x%22%20horiz-adv-x%3D%221001%22%0Ad%3D%22M281%20543q-27%20-1%20-53%20-1h-83q-18%200%20-36.5%20-6t-32.5%20-18.5t-23%20-32t-9%20-45.5v-76h912v41q0%2016%20-0.5%2030t-0.5%2018q0%2013%20-5%2029t-17%2029.5t-31.5%2022.5t-49.5%209h-133v-97h-438v97zM955%20310v-52q0%20-23%200.5%20-52t0.5%20-58t-10.5%20-47.5t-26%20-30t-33%20-16t-31.5%20-4.5q-14%20-1%20-29.5%20-0.5%0At-29.5%200.5h-32l-45%20128h-439l-44%20-128h-29h-34q-20%200%20-45%201q-25%200%20-41%209.5t-25.5%2023t-13.5%2029.5t-4%2030v167h911zM163%20247q-12%200%20-21%20-8.5t-9%20-21.5t9%20-21.5t21%20-8.5q13%200%2022%208.5t9%2021.5t-9%2021.5t-22%208.5zM316%20123q-8%20-26%20-14%20-48q-5%20-19%20-10.5%20-37t-7.5%20-25t-3%20-15t1%20-14.5%0At9.5%20-10.5t21.5%20-4h37h67h81h80h64h36q23%200%2034%2012t2%2038q-5%2013%20-9.5%2030.5t-9.5%2034.5q-5%2019%20-11%2039h-368zM336%20498v228q0%2011%202.5%2023t10%2021.5t20.5%2015.5t34%206h188q31%200%2051.5%20-14.5t20.5%20-52.5v-227h-327z%22%20%2F%3E%0A%20%20%20%20%0A%0A%20%20%20%20%0A%20%20%20%20%3Cglyph%20glyph-name%3D%22arrow-right%22%20unicode%3D%22%26%2358914%3B%22%20d%3D%22M725.3399071604938%20383.8342991012345a41.425224691358025%2041.425224691358025%200%200%200-12.924670103703681-30.074713125925918l-343.82936493827134-325.2708642765434a41.425224691358025%2041.425224691358025%200%200%200-56.91825872592596%2060.23227670123452l312.0976428246912%20295.1961511506175-312.0976428246914%20295.4447024987654a41.50807514074074%2041.50807514074074%200%200%200-1.6570089876543506%2058.575267713580246c15.74158538271605%2016.570089876543207%2042.00517783703699%2017.315743920987664%2058.575267713580246%201.6570089876543506l343.8293649382716-325.6022660740737a41.425224691358025%2041.425224691358025%200%200%200%2012.924670103703713-30.15756357530862z%22%20%20horiz-adv-x%3D%221024%22%20%2F%3E%0A%0A%20%20%20%20%0A%0A%0A%20%20%3C%2Ffont%3E%0A%3C%2Fdefs%3E%3C%2Fsvg%3E%0A) format("svg")}.v-contextmenu-icon{font-family:v-contextmenu!important;font-size:inherit;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.v-contextmenu-icon-right-arrow:before{content:""}.v-contextmenu{position:absolute;background-color:#fff;border:1px solid #e8e8e8;border-radius:4px;-webkit-box-shadow:2px 2px 8px 0 rgba(150,150,150,.2);box-shadow:2px 2px 8px #96969633;font-size:14px;white-space:nowrap;line-height:1;z-index:2020;-webkit-tap-highlight-color:transparent}.v-contextmenu-inner{padding:5px 0;margin:0;list-style:none}.v-contextmenu-item{padding:5px 14px;line-height:1;color:#333;cursor:pointer}.v-contextmenu-item--hover{color:#fff;background-color:#2d3035}.v-contextmenu-item--disabled{color:#3336;cursor:not-allowed}.v-contextmenu-divider{height:0;margin:5px 0;border-bottom:1px solid #e8e8e8}.v-contextmenu-group__title{padding:5px 14px 2.5px;color:#3333338c;font-size:60%}.v-contextmenu-group__menus{padding:0 5px;margin:0;list-style:none}.v-contextmenu-group__menus .v-contextmenu-item{display:inline-block;padding:5px 9px}.v-contextmenu-submenu{position:relative}.v-contextmenu-submenu__title{padding-right:22.4px}.v-contextmenu-submenu__menus{position:absolute}.v-contextmenu-submenu__menus--left{left:0;-webkit-transform:translateX(-100%);transform:translate(-100%)}.v-contextmenu-submenu__menus--right{right:0;-webkit-transform:translateX(100%);transform:translate(100%)}.v-contextmenu-submenu__menus--top{top:-6px}.v-contextmenu-submenu__menus--bottom{bottom:-6px}.v-contextmenu-submenu__arrow{position:absolute;right:5px}.v-contextmenu-enter-active{-webkit-transition:opacity .3s ease-out;transition:opacity .3s ease-out}.v-contextmenu-leave-active{-webkit-transition:opacity .3s cubic-bezier(1,.5,.8,1);transition:opacity .3s cubic-bezier(1,.5,.8,1)}.v-contextmenu-enter-from,.v-contextmenu-leave-to{opacity:0}.logo[data-v-3f7537e5]{fill:var(--fg-base);padding:10px;width:60%}.logo[data-v-3f7537e5]:hover{cursor:pointer}.collapseSidebar[data-v-3f7537e5]{display:flex;flex-direction:row;justify-content:center;align-items:center;height:40px}.collapseSidebar.minimised[data-v-3f7537e5]{justify-content:center}.collapseSidebar .clickSymbol[data-v-3f7537e5]{border-radius:5px}.collapseSidebar .clickSymbol[data-v-3f7537e5]:hover{cursor:pointer;background:var(--hover-2)}.static[data-v-3f7537e5]{flex-shrink:0;flex-grow:0}@media screen and (max-width: 750px){.static[data-v-3f7537e5]{display:flex;flex-direction:row;justify-content:space-between;width:100%}}h2[data-v-3f7537e5]{margin-bottom:0}.cover[data-v-3f7537e5]{position:absolute;bottom:10px;width:100%;transform:translate(-10px,10px)}.playlistList[data-v-3f7537e5]{flex-grow:1;display:flex;flex-direction:column;overflow-y:auto}.playlistList.expanded[data-v-3f7537e5]{padding:0 10px}.playlistList>a[data-v-3f7537e5]{font-size:.92em;text-decoration:none;color:var(--font-darker);margin-bottom:4px;margin-top:4px}.playlistList>a[data-v-3f7537e5]:hover{color:var(--font-colour)}hr[data-v-3f7537e5]{width:100%}div.sidebar[data-v-3f7537e5]{background:var(--bg-base-dk);width:calc(var(--w-sidebar) + 20px);min-width:calc(var(--w-sidebar) + 20px);max-width:calc(var(--w-sidebar) + 20px);display:flex;flex-direction:column;padding:10px;margin:10px;border-radius:8px;max-height:100%;z-index:1;position:fixed;top:var(--h-header);bottom:var(--h-player);overflow:hidden;border:var(--border-container)}@media screen and (max-width: 750px){div.sidebar[data-v-3f7537e5]{flex-direction:row;position:absolute;top:0;right:0;bottom:0;left:0;border-radius:0;max-width:unset;width:100%;height:-moz-max-content;height:max-content;margin:0}}h2[data-v-3f7537e5]:hover{cursor:pointer}h2[data-v-3f7537e5]{margin:0;padding:10px}div.body[data-v-f3a65fee]{flex-grow:1;padding-left:calc(var(--w-sidebar) + 40px);margin-top:var(--h-header);margin-bottom:var(--h-player);max-height:calc(100vh - var(--h-header) - var(--h-player));height:100vh;height:100svh;width:100vw;overflow-x:hidden;overflow-y:auto}div.body.maximised[data-v-f3a65fee]{max-width:100vw;max-height:100vh}@media screen and (max-width: 950px){div.body[data-v-f3a65fee]{max-width:100vw;max-height:calc(100vh - var(--player-height-mobile) - var(--sidebar-height));padding-left:0;margin-bottom:0}}.progressBar__track[data-v-a9b735d7]{position:relative;width:100%;height:5px;margin:10px 0;border-radius:1000vmax;background-color:var(--fg-base-dkr)}.progressBar__progress[data-v-a9b735d7]{position:relative;height:5px;border-radius:1000vmax;background-color:var(--fg-base)}.progressBar__progress.hover[data-v-a9b735d7]{background-color:var(--fg-secondary)}.progressBar__progress.hover[data-v-a9b735d7]:after{content:""}.progressBar__progress[data-v-a9b735d7]:after{position:absolute;top:-5px;right:-5px;width:15px;height:15px;border-radius:50%;background-color:var(--fg-base)}.dropdown[data-v-5756bf60]{position:relative;display:inline-block}.dropdown__selected[data-v-5756bf60]{color:var(--fg-base-dk);cursor:pointer;font-size:1.5rem;border-radius:10px;padding:5px}.dropdown__selected[data-v-5756bf60]:hover{background:var(--bg-hover-lt);color:var(--fg-secondary)}.dropdown__options[data-v-5756bf60]{position:absolute;z-index:999;width:max(100%,20rem);max-height:20rem;overflow-y:auto;background:var(--bg-base);border-radius:5px;filter:var(--drop-shadow)}.dropdown__options .dropdown__option[data-v-5756bf60]{padding:.5rem;cursor:pointer;transition:all .2s ease-in-out;display:grid;grid-template-columns:35px 1fr 20px}.dropdown__options .dropdown__option[data-v-5756bf60]:hover{background:var(--bg-hover)}.loader[data-v-ed1fd951]{width:20px;height:20px;margin:auto;border:3px solid var(--fg-base-dk);border-bottom-color:transparent;border-radius:50%;display:inline-block;box-sizing:border-box;animation:rotation-ed1fd951 1s linear infinite}@keyframes rotation-ed1fd951{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#waveform wave,#waveform canvas{width:100%;height:calc(var(--h-player) / 2 - 1em)!important}.player .on-this-device>.material-symbols-rounded{color:var(--fg-secondary)}.player[data-v-ed8a9309]{background:var(--bg-base-lt);border-top:1px solid var(--border-base);z-index:2;position:fixed;bottom:0;left:0;right:0}.icon[data-v-ed8a9309]{color:var(--fg-base-dk)}.icon[data-v-ed8a9309]:hover{color:var(--fg-base)}.desktop[data-v-ed8a9309]{display:grid;height:calc(var(--h-player) - 1px);grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);grid-template-areas:"song-info controls aux";gap:10px}.desktop .song-info[data-v-ed8a9309]{grid-area:song-info;display:grid;align-items:center;grid-template-columns:calc(var(--h-player) - 40px) fit-content(100%) 20px 20px;gap:10px;overflow:hidden}.desktop .song-info .title-artist[data-v-ed8a9309]{overflow:hidden}.desktop .song-info div[data-v-ed8a9309]{margin:auto 0}.desktop .controls[data-v-ed8a9309]{grid-area:controls;display:grid;grid-template-columns:1fr;grid-template-rows:1fr auto}.desktop .controls .top[data-v-ed8a9309]{display:grid;grid-template-columns:repeat(2,20px) 40px repeat(2,20px);gap:1.5em;justify-content:center}.desktop .controls .top span[data-v-ed8a9309]{margin:auto 0;font-size:1.5rem}.desktop .controls .top span[data-v-ed8a9309]:nth-child(3){font-size:2.5rem}.desktop .controls .bottom .display[data-v-ed8a9309]{display:grid;grid-template-columns:1fr 10fr 1fr;gap:.5em;margin-bottom:.5em;align-items:center}.desktop .aux[data-v-ed8a9309]{grid-area:aux;justify-content:end;display:grid;grid-template-columns:20px 20px 20px 20px minmax(auto,8vw);gap:1em;align-items:center}.desktop .aux a.icon[data-v-ed8a9309]{display:flex;text-decoration:none}.desktop .aux a.icon.router-link-active[data-v-ed8a9309]{color:var(--fg-secondary)}.mobile[data-v-ed8a9309]{top:0;right:0;bottom:0;left:0}.mobile .small[data-v-ed8a9309]{display:grid;grid-template-columns:calc(var(--h-player-mobile) - 1em) 1fr 30px 30px;gap:1em;margin:.5em;align-items:center;max-width:calc(100vw - 2em)}.mobile .small .cover[data-v-ed8a9309]{border-radius:10px;background:var(--bg-base-dk);margin:auto 0}.mobile .full[data-v-ed8a9309]{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;background:var(--bg-base);padding:2em;display:grid;grid-template-columns:1fr;grid-template-rows:30px 1fr fit-content(100%)}.mobile .full .cover[data-v-ed8a9309]{filter:drop-shadow(0 25px 25px rgba(0,0,0,.3))}.mobile .full .controls[data-v-ed8a9309]{display:flex;flex-direction:column-reverse}.mobile .full .controls .top[data-v-ed8a9309]{display:grid;grid-template-columns:repeat(5,1fr);gap:1.5em;justify-content:center}.mobile .full .controls .top span[data-v-ed8a9309]{margin:auto;font-size:2rem}.mobile .full .controls .top span[data-v-ed8a9309]:nth-child(3){font-size:3rem}.dropzone.drophover[data-v-a582fe63]:after{content:" ";display:block;text-align:center;color:var(--text-muted);font-style:italic;font-size:.8rem;background:#00000080;border-radius:1rem;position:absolute;top:0;right:0;bottom:0;left:0;margin-top:1em;margin-bottom:1em;margin-right:1em;z-index:1000}.noLink{text-decoration:none;color:unset}.noLink:hover{text-decoration:none;cursor:default;color:unset}.linkOnHover{text-decoration:none;color:unset}.linkOnHover:hover{text-decoration:underline;cursor:pointer;color:var(--fg-base)}.v-contextmenu{background:var(--fg-contrast)!important;font-family:var(--ff-base)!important;border:1px solid var(--bg-hover-dk);border-radius:1em;color:var(--fg-base)!important}.v-contextmenu .material-symbols-rounded{font-size:1rem}.v-contextmenu-inner{padding:.5em}.v-contextmenu-divider{border-color:var(--border-base)}.v-contextmenu-item{color:var(--fg-base)!important;padding:.75em;border-radius:.5em;display:flex;align-items:center;gap:.5em}.v-contextmenu-item .v-contextmenu-submenu{position:relative;width:100%}.v-contextmenu-item .v-contextmenu-submenu>.v-contextmenu-item{padding:0;width:100%;display:flex;justify-content:space-between;gap:1em}.v-contextmenu-item .v-contextmenu-submenu .v-contextmenu-submenu__arrow{position:relative}.v-contextmenu-item--hover{background:var(--bg-hover-dk)!important}::-webkit-scrollbar{width:var(--w-scrollbar);height:var(--w-scrollbar);padding:0;margin:0;z-index:101}::-webkit-scrollbar-track{border-radius:var(--w-scrollbar)}::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:var(--w-scrollbar)}::-webkit-scrollbar-thumb:hover{background:var(--bg-hover-dk)}:root{--fg-secondary: #1ed760;--fg-secondary-dk: #217e41;--bg-contrast: white;--fg-contrast: #121212;--fg-base: white;--fg-base-dk: #a7a7a7;--fg-base-dkr: #999;--bg-hover-ltr: #242424;--bg-hover-lt: hsla(0,0%,100%,.04);--bg-hover: hsla(0,0%,100%,.3);--bg-hover-dk: hsla(0,0%,100%,.1);--border-base: hsla(0,0%,100%,.1);--border-container: var(--border-base);--bg-gradient: linear-gradient(to left bottom, #1ed760, #217e41);--bg-base: #121212;--bg-base-lt: #181818;--bg-base-dk: black;--bg-fixedPlaylistHeader: var(--bg-base-lt);--border-fixedPlaylistHeader: #303030;--bg-input: var(--background-light);--ff-base: Poppins, sans-serif;--h-playlistEntry: 64px;--h-player: 88px;--h-player-mobile: 64px;--h-header: 64px;--w-sidebar: 44px;--h-sidebar: 64px;--w-scrollbar: 8px;--drop-shadow: drop-shadow(0 0 .5rem rgba(0, 0, 0, .2));--background: #1e1e1e;--neutral: #374148;--success: #00c48b;--fail: #e85454;--warning: #c7aa19;--info: #189de4}.showIfMobile{display:none!important}.hideIfMobile{display:inherit}@media only screen and (max-width: 750px){.showIfMobile{display:inherit!important}.hideIfMobile{display:none!important}}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}h1{margin-top:.5rem;margin-bottom:.5rem;font-size:1.875rem;line-height:2.25rem;font-weight:900}h2{margin-top:1.25rem;margin-bottom:1.25rem;font-size:1.5rem;line-height:2rem;font-weight:700}h3{font-size:1.125rem;line-height:1.75rem;font-weight:700}h4{margin-top:1rem;margin-bottom:1rem;font-weight:700}h5{color:var(--fg-base-dk);text-transform:uppercase}h6{color:var(--fg-base-dk);margin-top:.5rem;margin-bottom:.5rem;font-size:.875rem;line-height:1.25rem}a{text-decoration-line:underline}a:hover{color:var(--fg-secondary)}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.text-base{color:var(--fg-base)}.text-muted{color:var(--fg-base-dk)}.text-very-muted{color:var(--fg-base-dkr)}.text-secondary{color:var(--fg-secondary)}.bg-secondary{background-color:var(--fg-secondary)}p{margin-top:.5rem;margin-bottom:.5rem}.h1{margin-top:.5rem;margin-bottom:.5rem;font-size:1.875rem;line-height:2.25rem;font-weight:900}.h2{margin-top:1.25rem;margin-bottom:1.25rem;font-size:1.5rem;line-height:2rem;font-weight:700}.h3{font-size:1.125rem;line-height:1.75rem;font-weight:700}.h5{color:var(--fg-base-dk);text-transform:uppercase}.h6{color:var(--fg-base-dk);margin-top:.5rem;margin-bottom:.5rem;font-size:.875rem;line-height:1.25rem}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.left-0{left:0}.top-0{top:0}.isolate{isolation:isolate}.-z-10{z-index:-10}.z-10{z-index:10}.z-\[1000\]{z-index:1000}.col-span-2{grid-column:span 2 / span 2}.m-0{margin:0}.mx-4{margin-left:1rem;margin-right:1rem}.my-0{margin-top:0;margin-bottom:0}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.my-auto{margin-top:auto;margin-bottom:auto}.\!mt-0{margin-top:0!important}.mb-0{margin-bottom:0}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.ml-0{margin-left:0}.ml-2{margin-left:.5rem}.ml-4{margin-left:1rem}.ml-8{margin-left:2rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mr-4{margin-right:1rem}.mt-0{margin-top:0}.mt-10{margin-top:2.5rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.mt-\[10px\]{margin-top:10px}.block{display:block}.inline{display:inline}.flex{display:flex}.\!grid{display:grid!important}.grid{display:grid}.hidden{display:none}.h-12{height:3rem}.h-8{height:2rem}.h-96{height:24rem}.h-full{height:100%}.h-max{height:-moz-max-content;height:max-content}.w-1{width:.25rem}.w-1\/2{width:50%}.w-8{width:2rem}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.min-w-\[40vw\]{min-width:40vw}.min-w-max{min-width:-moz-max-content;min-width:max-content}.max-w-\[60ch\]{max-width:60ch}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-disc{list-style-type:disc}.\!grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-clip{overflow:clip}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.rounded-3xl{border-radius:1.5rem}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.border{border-width:1px}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-\[10px\]{padding:10px}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.pr-2{padding-right:.5rem}.pr-4{padding-right:1rem}.pt-0{padding-top:0}.pt-4{padding-top:1rem}.\!text-left{text-align:left!important}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-9xl{font-size:8rem;line-height:1}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-light{font-weight:300}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.underline{text-decoration-line:underline}.\!no-underline{text-decoration-line:none!important}.no-underline{text-decoration-line:none}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-50{opacity:.5}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-2xl{--tw-drop-shadow: drop-shadow(0 25px 25px rgb(0 0 0 / .15));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-md{--tw-drop-shadow: drop-shadow(0 4px 3px rgb(0 0 0 / .07)) drop-shadow(0 2px 2px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-xl{--tw-drop-shadow: drop-shadow(0 20px 13px rgb(0 0 0 / .03)) drop-shadow(0 8px 5px rgb(0 0 0 / .08));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}*{--tw-invert: 0}.fill-page{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.ms-wght-100{font-variation-settings:"wght" 100}.ms-wght-200{font-variation-settings:"wght" 200}.ms-wght-300{font-variation-settings:"wght" 300}.ms-wght-400{font-variation-settings:"wght" 400}.ms-wght-500{font-variation-settings:"wght" 500}.ms-wght-600{font-variation-settings:"wght" 600}.ms-wght-700{font-variation-settings:"wght" 700}.ms-wght-800{font-variation-settings:"wght" 800}.ms-wght-900{font-variation-settings:"wght" 900}.ms-fill{font-variation-settings:"FILL" 1}#app{font-family:var(--ff-base)!important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-base);color:var(--fg-base)!important}hr{border-color:var(--border-base)}div.interface{display:flex;flex-direction:row;flex-grow:1;z-index:2;max-height:calc(100vh - var(--h-player) - var(--h-header))}@media only screen and (max-width: 750px){div.interface{max-height:calc(100vh - var(--h-player-mobile));overflow:auto;flex-direction:column}}div.appRoot{display:flex;flex-direction:column;width:100vw;height:100vh;height:100svh}html,body{margin:0;padding:0;overflow-x:hidden;overflow-y:auto}.bgImageWrapper{position:fixed;top:0;left:0;height:100%;width:100%;z-index:0!important;background:#000}.bgImage{height:100%;width:100%;z-index:0!important;filter:blur(100px) brightness(.75);background-position:center;background-repeat:no-repeat;background-size:cover;transform:scale(1.1)}.mobileMenu{display:flex;flex-direction:row;justify-content:center}input[type=text],input[type=password]{background:var(--hover-2);border:1px solid var(--hover-3);border-radius:5px;color:var(--font-colour);padding:10px;width:auto;flex-grow:1;font-family:var(--font-family)}input[type=text]:focus,input[type=password]:focus{outline:none}input[type=text]:hover,input[type=password]:hover{background:var(--hover-1);border:1px solid var(--font-colour)}.hover\:text-primary:hover{color:var(--fg-base)}.hover\:\!highlight:hover{background:var(--bg-hover-dk)!important}.hover\:underline:hover{text-decoration-line:underline}@media (min-width: 640px){.sm\:ml-0{margin-left:0}}@media (min-width: 768px){.md\:\!w-96{width:24rem!important}} diff --git a/src/ui/dist/assets/index-Bxln736l.css.gz b/src/ui/dist/assets/index-Bxln736l.css.gz new file mode 100644 index 000000000..50cb85dcb Binary files /dev/null and b/src/ui/dist/assets/index-Bxln736l.css.gz differ diff --git a/src/ui/dist/assets/index-C079_Y4G.css b/src/ui/dist/assets/index-C079_Y4G.css new file mode 100644 index 000000000..b092aa0d9 --- /dev/null +++ b/src/ui/dist/assets/index-C079_Y4G.css @@ -0,0 +1 @@ +.downloads[data-v-91911899]{display:flex;flex-direction:row;flex-wrap:wrap;gap:1em}.downloads .card[data-v-91911899]{display:grid;grid-template-columns:1fr max-content;gap:5em}.downloads[data-v-91911899]>*{flex:1;min-width:-moz-max-content;min-width:max-content}.status[data-v-91911899]{display:flex;flex-direction:column;gap:.5em;color:var(--fg-base-dk)}.status .error span[data-v-91911899]{color:var(--fail)}.status .info[data-v-91911899]{display:flex;flex-direction:row;gap:.5em;align-items:center}.status .info .material-symbols-rounded[data-v-91911899]{font-size:1.5rem;font-variation-settings:"wght" 400}.status .info .cover[data-v-91911899]{width:48px;aspect-ratio:1/1;border-radius:.5em}.status .info[data-v-91911899]:has(.cover){font-size:.8rem}.status .info:has(.cover)>div>span[data-v-91911899]:first-child{color:var(--fg-base)}aside[data-v-91911899]{position:relative;width:70px;height:70px}aside .progress-bar[data-v-91911899]{border-radius:50%;position:absolute;top:0;right:0;bottom:0;left:0;--progress: 25%;background:radial-gradient(closest-side,var(--bg-base-lt) 90%,transparent 90% 100%),conic-gradient(var(--fg-secondary) var(--progress),transparent 0);animation:rotate-91911899 1s linear infinite}@keyframes rotate-91911899{to{rotate:360deg}}aside span[data-v-91911899]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.5rem;font-variation-settings:"wght" 400}aside span.finished[data-v-91911899]{font-size:3rem} diff --git a/src/ui/dist/assets/index-C079_Y4G.css.gz b/src/ui/dist/assets/index-C079_Y4G.css.gz new file mode 100644 index 000000000..a82e53781 Binary files /dev/null and b/src/ui/dist/assets/index-C079_Y4G.css.gz differ diff --git a/src/ui/dist/assets/index-COFTvh56.css b/src/ui/dist/assets/index-COFTvh56.css new file mode 100644 index 000000000..a3dd3a4b9 --- /dev/null +++ b/src/ui/dist/assets/index-COFTvh56.css @@ -0,0 +1 @@ +.cover[data-v-99098188]{width:min(40%,400px);height:auto;max-width:600px;border-radius:20px;transition:transform .5s}.cover[data-v-99098188]:not(.playing){transform:scale(.95);animation:none}.fullscreen[data-v-99098188]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1000;width:100vw;width:100svw;height:100vh;height:100svh;padding:2em;display:flex;justify-content:flex-end;flex-direction:column;isolation:isolate;color:#fff;background:#000;overflow:clip}.now[data-v-99098188]{display:flex;flex-direction:row;align-items:flex-end;gap:2em;margin-bottom:1em}.now .artist[data-v-99098188]{color:#bbb}.now .playlist[data-v-99098188]{text-transform:uppercase;letter-spacing:.25ch;color:#aaa}.bg-img[data-v-99098188]{position:absolute;top:0;right:0;bottom:0;left:0;background-size:cover;background-position:center;z-index:-1;scale:1.1;filter:blur(50px) brightness(.25)}.controls[data-v-99098188]{overflow:clip;gap:1em;max-height:0;transition:max-height 1s}.controls .progress[data-v-99098188]{margin-top:1em;display:grid;grid-template-columns:5ch 1fr 5ch;gap:1em;align-items:center}.controls.showControls[data-v-99098188]{max-height:50vh}.lower[data-v-99098188]{display:grid;align-items:center;margin-top:1em;grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr)}.lower .volume[data-v-99098188]{display:grid;justify-content:end;gap:1em;grid-template-columns:20px minmax(auto,8vw)}.lower .actions[data-v-99098188]{display:grid;align-items:center;gap:1em;grid-template-columns:repeat(5,minmax(0,5ch));justify-content:center}.bigPlayer .upNow img{width:80%;height:auto;max-width:600px;border-radius:20px;transition:transform .5s;animation:pump 20s infinite ease-in-out}.bigPlayer .upNow img:not(.playing){transform:scale(.95);animation:none}.bigPlayer .upNow img:not(.animate){animation:none}div.body:has(.bigPlayer){overflow:visible!important}@keyframes pump{0%{transform:scale(1);opacity:0}6%{transform:scale(1);opacity:0}7%{transform:scale(1);opacity:1}85%{transform:scale(1);opacity:1}95%{transform:scale(5);opacity:0}97%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:0}}.settings[data-v-03c3dfcb]{position:absolute;bottom:0;left:0;display:flex;flex-direction:row;justify-content:flex-end;padding:10px}.playlist-overflow[data-v-03c3dfcb]{flex:2;height:calc(100% - 220px);margin:100px 0;overflow:hidden}.playlist-overflow .playlist[data-v-03c3dfcb]{overflow-y:auto;height:100%;padding:10px 20px}.iconButton[data-v-03c3dfcb]{font-size:2em;border-radius:10px;padding:5px;font-variation-settings:"wght" 200}.iconButton[data-v-03c3dfcb]:hover{cursor:pointer;background-clip:text;-webkit-background-clip:text;color:transparent;background:var(--bg-hover-lt);color:var(--fg-secondary)}.bigPlayer[data-v-03c3dfcb]{position:relative;display:flex;flex-direction:row;padding:40px;align-items:center;z-index:1;height:100%;filter:none}.bigPlayer .upNow[data-v-03c3dfcb]{flex:3;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1em;position:relative}.bigPlayer .upNow .blocks[data-v-03c3dfcb]{display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;width:80%;height:100%;max-width:min(80%,600px);border-radius:20px;position:absolute}@keyframes increase1-03c3dfcb{0%{transform:scaleX(0);transform-origin:0% 50%}1%{transform:scaleX(0)}4%{transform:scaleX(1);transform-origin:0% 50%}6%{transform:scaleX(1);transform-origin:100% 50%}9%{transform:scaleX(0)}to{transform:scaleX(0);transform-origin:100% 50%}}.bigPlayer .upNow .blocks .block[data-v-03c3dfcb]{transform:scaleX(0);background:var(--fg-contrast);width:100%;flex:1;transform-origin:0% 50%;animation:increase1-03c3dfcb 20s infinite ease-in-out}.bigPlayer .upNow .blocks .block[data-v-03c3dfcb]:first-child{border-radius:20px 20px 0 0}.bigPlayer .upNow .blocks .block[data-v-03c3dfcb]:last-child{border-radius:0 0 20px 20px}.bigPlayer .upNow .blocks:not(.animate) .block[data-v-03c3dfcb],.bigPlayer .upNow .blocks:not(.playing) .block[data-v-03c3dfcb]{animation:none;opacity:0}.no-playlist-selected[data-v-03c3dfcb]{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;width:100%}.no-playlist-selected .wrapper[data-v-03c3dfcb]{width:80%;background:var(--bg-base-lt);border-radius:20px;overflow:hidden;padding:20px}.no-playlist-selected .wrapper h2[data-v-03c3dfcb]{margin-top:0}.no-playlist-selected .wrapper .playlists[data-v-03c3dfcb]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.no-playlist-selected .wrapper .playlists .wrapper[data-v-03c3dfcb]{padding:0} diff --git a/src/ui/dist/assets/index-COFTvh56.css.gz b/src/ui/dist/assets/index-COFTvh56.css.gz new file mode 100644 index 000000000..289f35a25 Binary files /dev/null and b/src/ui/dist/assets/index-COFTvh56.css.gz differ diff --git a/src/ui/dist/assets/index-CdmmmwlV.css b/src/ui/dist/assets/index-CdmmmwlV.css new file mode 100644 index 000000000..005c4ff24 --- /dev/null +++ b/src/ui/dist/assets/index-CdmmmwlV.css @@ -0,0 +1 @@ +.lyrics[data-v-896d6a6d]{display:flex;flex-direction:column;align-items:center}.lyrics .line[data-v-896d6a6d]{--color: var(--fg-base);color:var(--color);font-size:2rem;font-weight:500;line-height:2;width:min(100%,50ch);cursor:pointer;position:relative}.lyrics .line.current[data-v-896d6a6d]{--color: var(--fg-secondary)}.lyrics .line.past[data-v-896d6a6d]{--color: var(--fg-base-dk)}.lyrics .line .translate[data-v-896d6a6d]{position:absolute;right:1em;top:50%;transform:translateY(-50%)}.lyrics .line .translate[data-v-896d6a6d]:not(.translated){display:none}.lyrics .line[data-v-896d6a6d]:hover{--color: var(--fg-secondary)}.lyrics .line:hover .translate[data-v-896d6a6d]{display:inherit} diff --git a/src/ui/dist/assets/index-D2FOwDoa.js b/src/ui/dist/assets/index-D2FOwDoa.js new file mode 100644 index 000000000..8e12e2a3f --- /dev/null +++ b/src/ui/dist/assets/index-D2FOwDoa.js @@ -0,0 +1 @@ +import{e as L,a7 as F,j as R,D as r,n as u,E as B,W as j,o as g,i as M,a as s,z as T,g as _,Q as I,H as z,t as i,u as t,aM as q,a6 as H,d as A,aN as W,l as O,m as Q,_ as U,y as G,f as J,c as S,F as D,w as K,h as X}from"./index-DnhwPdfm.js";import{_ as Y}from"./Playlist.vue_vue_type_script_setup_true_lang-D7rgrOmb.js";import{P as Z}from"./PlaylistCard-CMjdNIlB.js";import"./PlaylistEntry-B2l8v20L.js";import"./EditSong.vue_vue_type_script_setup_true_lang-C5fIPhus.js";import"./playerInPicture-Dfp9IAsf.js";import"./vuedraggable.umd-D7qFKUf_.js";const ee=c=>(O("data-v-99098188"),c=c(),Q(),c),se={class:"fullscreen"},te={class:"now"},le={class:"details"},oe={class:"playlist"},ae={class:"title text-5xl mb-4"},ne={class:"artist text-xl"},ie={class:"progress"},re={class:"text-xs text-muted text-right cursor-pointer"},ce={class:"text-xs text-muted text-left"},ue={class:"lower"},de=ee(()=>s("div",null,null,-1)),me={class:"actions"},pe={class:"volume"},ve=L({__name:"BiggerPlayer",emits:["close"],setup(c,{expose:N,emit:a}){const e=F(),C=R(),f=r(()=>e.playing),w=r(()=>e.song.cover),y=r(()=>e.loaded?`${e.song.title} • ${e.song.artist}`:"reAudioPlayer One");r(()=>C.playlists);const $=r(()=>{var v;return(v=e.playlist)==null?void 0:v.name}),h=u(!1),m=u(!1),x=u(0),V=u(null);document.title=y.value,B(y,v=>{document.title=v}),B(()=>e.song.cover,async()=>{V.value=await W(e.song.cover,y.value,1e3)}),B(()=>e.progressPercent,v=>{x.value=v});const k=a,p=()=>{h.value=!0,document.addEventListener("fullscreenchange",b),document.addEventListener("mousemove",P),document.fullscreenEnabled&&document.documentElement.requestFullscreen()},n=()=>{console.log("hiding..."),h.value=!1,document.addEventListener("fullscreenchange",b),document.removeEventListener("mousemove",P),k("close")};N({show:p,hide:n});const d=j.debounce(()=>{m.value=!1},1e3),P=()=>{m.value=!0,d()},b=()=>{document.fullscreenElement||n()};return(v,l)=>h.value?(g(),M(H,{key:0,to:"#fullscreen-target"},[s("div",se,[s("div",{class:"bg-img",style:T({backgroundImage:`url(${w.value})`})},null,4),s("div",te,[_(z,{src:w.value,alt:y.value,class:I(["cover",{playing:f.value}])},null,8,["src","alt","class"]),s("div",le,[s("p",oe," playing from "+i($.value),1),s("h1",ae,i(t(e).song.title),1),s("h3",ne,i(t(e).song.artist),1)])]),s("div",{class:I(["controls",{showControls:m.value||!f.value}])},[s("div",ie,[s("span",re,i(t(e).displayProgress),1),_(q,{modelValue:x.value,"onUpdate:modelValue":l[0]||(l[0]=o=>x.value=o),max:1e3,onChange:l[1]||(l[1]=o=>t(e).seekPercent(o/10))},null,8,["modelValue"]),s("span",ce,i(t(e).displayDuration),1)]),s("div",ue,[de,s("div",me,[s("span",{class:"icon cursor-pointer material-symbols-rounded ms-wght-300",onClick:l[2]||(l[2]=(...o)=>t(e).toggleShuffle&&t(e).toggleShuffle(...o))},i(t(e).shuffleIcon),1),s("span",{class:"icon cursor-pointer material-symbols-rounded ms-fill",onClick:l[3]||(l[3]=(...o)=>t(e).previous&&t(e).previous(...o))}," skip_previous "),s("span",{class:"cursor-pointer material-symbols-rounded ms-fill text-5xl",onClick:l[4]||(l[4]=(...o)=>t(e).playPause&&t(e).playPause(...o))},i(t(e).playing?"pause_circle":"play_circle"),1),s("span",{class:"icon cursor-pointer material-symbols-rounded ms-fill",onClick:l[5]||(l[5]=(...o)=>t(e).next&&t(e).next(...o))}," skip_next "),s("span",{class:"icon cursor-pointer material-symbols-rounded ms-wght-300",onClick:l[6]||(l[6]=(...o)=>t(e).toggleRepeat&&t(e).toggleRepeat(...o))},i(t(e).repeat),1)]),s("div",pe,[s("span",{class:"icon cursor-pointer material-symbols-rounded ms-fill select-none",onClick:l[7]||(l[7]=(...o)=>t(e).toggleMute&&t(e).toggleMute(...o))},i(t(e).muteIcon),1),_(q,{modelValue:t(e).volume,"onUpdate:modelValue":l[8]||(l[8]=o=>t(e).volume=o),max:100,onChange:l[9]||(l[9]=o=>t(e).setVolume(o))},null,8,["modelValue"])])])],2)])])):A("",!0)}}),ge=U(ve,[["__scopeId","data-v-99098188"]]),E=c=>(O("data-v-03c3dfcb"),c=c(),Q(),c),ye={class:"bigPlayer"},_e={class:"upNow"},fe=E(()=>s("div",{style:{"animation-delay":"0s"},class:"block"},null,-1)),he=E(()=>s("div",{style:{"animation-delay":".25s"},class:"block"},null,-1)),xe=E(()=>s("div",{style:{"animation-delay":".5s"},class:"block"},null,-1)),ke=[fe,he,xe],be={class:"settings"},Ce={key:1,class:"no-playlist-selected"},we={class:"wrapper"},$e=E(()=>s("h2",null,"Nothing playing yet...",-1)),Pe={class:"playlists"},Se=L({__name:"index",emits:["maximise"],setup(c,{emit:N}){const a=F(),e=R(),C=u(),f=r(()=>a.playing),w=r(()=>a.song.cover),y=r(()=>a.song.id),$=r(()=>a.loaded?`${a.song.title} • ${a.song.artist}`:"reAudioPlayer One"),h=r(()=>e.playlists),m=u(null);document.title=$.value,B($,n=>{document.title=n}),G(()=>{window.setTimeout(()=>{var n;(n=m.value)!=null&&n.scrollTop||m.value.scrollToSong(y.value)},1e3)});let x=u(!1);const V=()=>{var n;(n=C.value)==null||n.show()},k=u(!1),p=u(!1);return(n,d)=>{const P=J("Card");return g(),S("div",ye,[_(ge,{ref_key:"biggerPlayer",ref:C},null,512),t(a).loaded?(g(),S(D,{key:0},[s("div",_e,[_(z,{class:I([{playing:f.value,animate:p.value},"drop-shadow-2xl"]),src:w.value,type:"track","with-ambient":"",name:t(a).song.title},null,8,["class","src","name"]),s("div",{class:I([{playing:f.value,animate:p.value},"blocks"])},ke,2)]),t(a).queue&&t(a).playlist?(g(),M(P,{class:"playlist-overflow drop-shadow-2xl relative",key:t(a).playlist.id},{default:K(()=>[_(Y,{ref_key:"playlistScroll",ref:m,playlist:{...t(a).playlist,queue:t(a).queue},"use-queue":"",draggable:"",onRearrange:t(a).rearrangeQueue},null,8,["playlist","onRearrange"])]),_:1})):A("",!0),s("div",be,[s("span",{class:"iconButton material-symbols-rounded",onClick:V},i(t(x)?"fullscreen_exit":"fullscreen"),1),s("span",{style:T({transform:`rotate(${k.value?0:180}deg)`}),class:"iconButton material-symbols-rounded",onClick:d[0]||(d[0]=()=>k.value=!k.value)},"menu_open",4),s("span",{class:"iconButton material-symbols-rounded",onClick:d[1]||(d[1]=()=>p.value=!p.value)},i(p.value?"motion_photos_off":"animation"),1),s("span",{class:"iconButton material-symbols-rounded",onClick:d[2]||(d[2]=b=>n.$router.push("/player/insights"))}," insights ")])],64)):(g(),S("div",Ce,[s("div",we,[$e,s("div",Pe,[(g(!0),S(D,null,X(h.value,b=>(g(),M(Z,{playlist:b},null,8,["playlist"]))),256))])])]))])}}}),De=U(Se,[["__scopeId","data-v-03c3dfcb"]]);export{De as default}; diff --git a/src/ui/dist/assets/index-D2FOwDoa.js.gz b/src/ui/dist/assets/index-D2FOwDoa.js.gz new file mode 100644 index 000000000..a13265ce5 Binary files /dev/null and b/src/ui/dist/assets/index-D2FOwDoa.js.gz differ diff --git a/src/ui/dist/assets/index-D4rwuAzz.css b/src/ui/dist/assets/index-D4rwuAzz.css new file mode 100644 index 000000000..65fa71992 --- /dev/null +++ b/src/ui/dist/assets/index-D4rwuAzz.css @@ -0,0 +1 @@ +.wrapper[data-v-6670177a]{display:flex;flex-direction:row;padding:1em;border:var(--border-container);border-top:none;background:none;-webkit-backdrop-filter:blur(100px);backdrop-filter:blur(100px);border-radius:0 0 20px 20px}.link[data-v-6670177a]{text-decoration:none}.collection[data-v-6670177a]{padding:.5em 1em;border-radius:1000vmax;font-weight:700;color:var(--fg-base);margin-right:10px;font-size:.85em;border:var(--border-container);transition:all .2s ease-in-out}.collection[data-v-6670177a]:hover{background:var(--bg-hover-dk);border-color:var(--fg-secondary)}.router-link-active div.collection[data-v-6670177a]{background:var(--fg-secondary);color:var(--fg-contrast)}p.note[data-v-19795e3d]{font-size:.7em}div.title[data-v-19795e3d]{display:flex;flex-direction:row;align-items:center;margin-top:1rem;margin-bottom:.25rem;gap:.5em}div.title h4[data-v-19795e3d]{margin-top:0}div.title span[data-v-19795e3d]{color:var(--fg-secondary)}.wrapper[data-v-19795e3d]{background:var(--bg-base-lt);border-radius:20px;min-height:10vh;margin:10px}.wrapper[data-v-19795e3d]:hover{cursor:pointer;background:var(--bg-hover-dk)}.item[data-v-19795e3d]{padding:20px;height:100%;display:flex;flex-direction:column;justify-content:space-between}@media screen and (max-width: 950px){.item[data-v-19795e3d]{display:flex;flex-direction:row;align-items:center;height:100%;justify-content:flex-start}}img[data-v-19795e3d]{width:100%;border-radius:12px}@media screen and (max-width: 950px){img[data-v-19795e3d]{width:20%}}h4[data-v-19795e3d]{margin-bottom:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}@media screen and (max-width: 950px){h4[data-v-19795e3d]{margin-left:20px;margin-top:0}}p[data-v-19795e3d]{margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.padding-20[data-v-33e7fc43]{padding:20px}.releases[data-v-924f3e91]{display:grid;grid-template-columns:2fr 1fr;align-items:center;height:100%}.entry[data-v-924f3e91]{display:grid;grid-template-columns:50px 1fr 10ch 20px 20px 20px;gap:.5em;padding:.5em;border-radius:1em;cursor:pointer;align-items:center}.entry[data-v-924f3e91]:hover{background:var(--bg-hover)}h5[data-v-924f3e91]{text-transform:none;font-weight:700;font-size:.85em;color:var(--fg-base);padding:.25em .5em;border-radius:.5em}h5[data-v-924f3e91]:hover{background:var(--bg-hover-dk)}h5.selected[data-v-924f3e91]{background:var(--bg-hover)}.current[data-v-924f3e91]{display:flex;flex-direction:column;align-items:center;gap:1em}.queue[data-v-924f3e91]{height:calc(100% - 150px);overflow:hidden}.queue>.entries[data-v-924f3e91]{padding:.5em}.current .cover[data-v-924f3e91]{max-width:min(50vh,500px)}.followButton[data-v-286e9794]{color:var(--fg-base);background:none;border:1px solid var(--border-base);border-radius:2px;font-family:var(--ff-base);text-transform:uppercase;margin-top:5px;padding:5px 10px;font-weight:700;letter-spacing:1px}.followButton[data-v-286e9794]:hover{cursor:pointer}p.note[data-v-286e9794]{font-size:.7em}.wrapper[data-v-286e9794]{background:var(--bg-base-lt);border-radius:20px;min-height:10vh;margin:10px;padding:20px;position:relative;text-decoration:none!important;height:calc(100% - 20px)}.wrapper[data-v-286e9794]:hover{cursor:pointer;background:var(--bg-hover-dk)}.item[data-v-286e9794]{height:100%;display:flex;flex-direction:column;justify-content:space-between}.item span.material-symbols-rounded[data-v-286e9794]:hover{color:var(--fg-base)}img[data-v-286e9794]{width:100%;border-radius:12px;margin-bottom:1em}h4[data-v-286e9794]{margin:0}p[data-v-286e9794]{margin:0;color:var(--fg-base-dk);font-size:.8em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.artists[data-v-a8a87a8e]{display:flex;flex-direction:column;gap:1em}.header[data-v-4fad4f51]{position:absolute;top:0;z-index:100;width:100%;background-color:var(--bg-base)}main[data-v-4fad4f51]{position:relative;height:100%;padding:1em;padding-top:calc(70px + 1em)}main>div[data-v-4fad4f51]{height:100%}.parent[data-v-4fad4f51]{height:100%;position:relative} diff --git a/src/ui/dist/assets/index-D4rwuAzz.css.gz b/src/ui/dist/assets/index-D4rwuAzz.css.gz new file mode 100644 index 000000000..9e7c93690 Binary files /dev/null and b/src/ui/dist/assets/index-D4rwuAzz.css.gz differ diff --git a/src/ui/dist/assets/index-DlDXuqe7.css b/src/ui/dist/assets/index-DlDXuqe7.css new file mode 100644 index 000000000..61f852f04 --- /dev/null +++ b/src/ui/dist/assets/index-DlDXuqe7.css @@ -0,0 +1 @@ +.search[data-v-b436b747]{padding:20px;height:calc(100% - 40px)}input[data-v-b436b747]{margin-left:10px;margin-bottom:20px;width:20vw!important} diff --git a/src/ui/dist/assets/index-DnhwPdfm.js b/src/ui/dist/assets/index-DnhwPdfm.js new file mode 100644 index 000000000..0f46e7435 --- /dev/null +++ b/src/ui/dist/assets/index-DnhwPdfm.js @@ -0,0 +1,59 @@ +const __vite__fileDeps=["assets/index-IuELAake.js","assets/PlaylistCard-CMjdNIlB.js","assets/playerInPicture-Dfp9IAsf.js","assets/PlaylistCard-cgcHOGv5.css","assets/TrackCompact-sXOejxe1.js","assets/TrackCompact-BEkVSTOB.css","assets/PlaylistEntry-B2l8v20L.js","assets/EditSong.vue_vue_type_script_setup_true_lang-C5fIPhus.js","assets/PlaylistEntry-D6o1lH9d.css","assets/spotify-BVNWZn3O.js","assets/index-DxYRwVd6.css","assets/Explore-CImr0VNX.js","assets/Explore-BBlOvIn4.css","assets/index-BtkKd32Q.js","assets/index-DlDXuqe7.css","assets/index-B_Tb2c9a.js","assets/FullShelf-DRbcKza6.js","assets/FullShelf-CoDkvkMi.css","assets/Error-hTSpQMK3.js","assets/Error-BUy8S0OX.css","assets/index-D4rwuAzz.css","assets/Liked-DVwvw45D.js","assets/Template-CN0MoJmO.js","assets/vuedraggable.umd-D7qFKUf_.js","assets/FactCard-D7mi8_uS.js","assets/FactCard-ei9UWMOf.css","assets/gistClient-BQBNGijJ.js","assets/Markdown.vue_vue_type_style_index_0_lang-fjKVBP59.js","assets/Markdown-BUqZ792e.css","assets/Template-CUtHidNi.css","assets/Breaking-BYk6Hg3k.js","assets/Create-D3JcGYih.js","assets/Create-Cv1N05w-.css","assets/Editor-BrVboH8Y.js","assets/Playlist.vue_vue_type_script_setup_true_lang-D7rgrOmb.js","assets/Editor-DJucXreQ.css","assets/Normal-kIql2dwO.js","assets/Track-D-ZYH2RL.js","assets/Track-DHk9ReWZ.css","assets/Artist-CNrEVT3R.js","assets/Artist-DAREyzq0.css","assets/Album-ncRMQdec.js","assets/Album-BkvN1zsQ.css","assets/index-BCf3Wdzv.js","assets/index-BbxuzHud.css","assets/Import-C1fifzbd.js","assets/Import-D3M1Q5kJ.css","assets/ImportLink-Qnxy-SGQ.js","assets/ImportLink-CQI6kQMZ.css","assets/Export-B-H9t4Ft.js","assets/Export-DQXjuUsA.css","assets/index-P2eOZTzP.js","assets/index-CdmmmwlV.css","assets/index-B-nPbXJ4.js","assets/index-C079_Y4G.css","assets/Welcome-wHgE9bOY.js","assets/Welcome-C-n9EV-1.css","assets/News-DSmShJDZ.js","assets/News-BoNOrken.css","assets/Sports-X8cpF4Tf.js","assets/Sports-_g5alLYh.css","assets/NewsArticle-BVMg12On.js","assets/NewsArticle-usse9HTo.css","assets/Insight-YxgeZZYl.js","assets/Insight-BJxao_m3.css","assets/index-D2FOwDoa.js","assets/index-COFTvh56.css"],__vite__mapDeps=i=>i.map(i=>__vite__fileDeps[i]); +var KA=Object.defineProperty;var GA=(e,t,r)=>t in e?KA(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var ki=(e,t,r)=>GA(e,typeof t!="symbol"?t+"":t,r);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))s(o);new MutationObserver(o=>{for(const l of o)if(l.type==="childList")for(const u of l.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&s(u)}).observe(document,{childList:!0,subtree:!0});function r(o){const l={};return o.integrity&&(l.integrity=o.integrity),o.referrerPolicy&&(l.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?l.credentials="include":o.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function s(o){if(o.ep)return;o.ep=!0;const l=r(o);fetch(o.href,l)}})();/** +* @vue/shared v3.4.30 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**//*! #__NO_SIDE_EFFECTS__ */function Ra(e,t){const r=new Set(e.split(","));return s=>r.has(s)}const ft={},Li=[],nn=()=>{},zA=()=>!1,zs=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),tc=e=>e.startsWith("onUpdate:"),vt=Object.assign,nc=(e,t)=>{const r=e.indexOf(t);r>-1&&e.splice(r,1)},YA=Object.prototype.hasOwnProperty,rt=(e,t)=>YA.call(e,t),Se=Array.isArray,$i=e=>Zi(e)==="[object Map]",fi=e=>Zi(e)==="[object Set]",dh=e=>Zi(e)==="[object Date]",ZA=e=>Zi(e)==="[object RegExp]",Be=e=>typeof e=="function",bt=e=>typeof e=="string",jn=e=>typeof e=="symbol",dt=e=>e!==null&&typeof e=="object",rc=e=>(dt(e)||Be(e))&&Be(e.then)&&Be(e.catch),Fp=Object.prototype.toString,Zi=e=>Fp.call(e),JA=e=>Zi(e).slice(8,-1),Hp=e=>Zi(e)==="[object Object]",ic=e=>bt(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Di=Ra(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),Ta=e=>{const t=Object.create(null);return r=>t[r]||(t[r]=e(r))},XA=/-(\w)/g,sn=Ta(e=>e.replace(XA,(t,r)=>r?r.toUpperCase():"")),QA=/\B([A-Z])/g,vn=Ta(e=>e.replace(QA,"-$1").toLowerCase()),Ia=Ta(e=>e.charAt(0).toUpperCase()+e.slice(1)),la=Ta(e=>e?`on${Ia(e)}`:""),Ln=(e,t)=>!Object.is(e,t),Ni=(e,...t)=>{for(let r=0;r{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:s,value:r})},pa=e=>{const t=parseFloat(e);return isNaN(t)?e:t},ma=e=>{const t=bt(e)?Number(e):NaN;return isNaN(t)?e:t};let hh;const qp=()=>hh||(hh=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}),eP="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error",tP=Ra(eP);function Fr(e){if(Se(e)){const t={};for(let r=0;r{if(r){const s=r.split(rP);s.length>1&&(t[s[0].trim()]=s[1].trim())}}),t}function Ye(e){let t="";if(bt(e))t=e;else if(Se(e))for(let r=0;rBr(r,t))}const Ne=e=>bt(e)?e:e==null?"":Se(e)||dt(e)&&(e.toString===Fp||!Be(e.toString))?JSON.stringify(e,Kp,2):String(e),Kp=(e,t)=>t&&t.__v_isRef?Kp(e,t.value):$i(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((r,[s,o],l)=>(r[lu(s,l)+" =>"]=o,r),{})}:fi(t)?{[`Set(${t.size})`]:[...t.values()].map(r=>lu(r))}:jn(t)?lu(t):dt(t)&&!Se(t)&&!Hp(t)?String(t):t,lu=(e,t="")=>{var r;return jn(e)?`Symbol(${(r=e.description)!=null?r:t})`:e};/** +* @vue/reactivity v3.4.30 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let mn;class Gp{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this.parent=mn,!t&&mn&&(this.index=(mn.scopes||(mn.scopes=[])).push(this)-1)}get active(){return this._active}run(t){if(this._active){const r=mn;try{return mn=this,t()}finally{mn=r}}}on(){mn=this}off(){mn=this.parent}stop(t){if(this._active){let r,s;for(r=0,s=this.effects.length;r=5)break}}this._dirtyLevel===1&&(this._dirtyLevel=0),fr()}return this._dirtyLevel>=5}set dirty(t){this._dirtyLevel=t?5:0}run(){if(this._dirtyLevel=0,!this.active)return this.fn();let t=$r,r=ri;try{return $r=!0,ri=this,this._runnings++,ph(this),this.fn()}finally{mh(this),this._runnings--,ri=r,$r=t}}stop(){this.active&&(ph(this),mh(this),this.onStop&&this.onStop(),this.active=!1)}}function cP(e){return e.value}function ph(e){e._trackId++,e._depsLength=0}function mh(e){if(e.deps.length>e._depsLength){for(let t=e._depsLength;t{r.dirty&&r.run()});t&&(vt(r,t),t.scope&&Yp(r,t.scope)),(!t||!t.lazy)&&r.run();const s=r.run.bind(r);return s.effect=r,s}function s3(e){e.effect.stop()}let $r=!0,xu=0;const Xp=[];function Hr(){Xp.push($r),$r=!1}function fr(){const e=Xp.pop();$r=e===void 0?!0:e}function sc(){xu++}function oc(){for(xu--;!xu&&Cu.length;)Cu.shift()()}function Qp(e,t,r){if(t.get(e)!==e._trackId){t.set(e,e._trackId);const s=e.deps[e._depsLength];s!==t?(s&&Jp(s,e),e.deps[e._depsLength++]=t):e._depsLength++}}const Cu=[];function em(e,t,r){sc();for(const s of e.keys()){let o;if(!e.computed&&s.computed&&s._runnings>0&&(o??(o=e.get(s)===s._trackId))){s._dirtyLevel=2;continue}s._dirtyLevel{const r=new Map;return r.cleanup=e,r.computed=t,r},ga=new WeakMap,ii=Symbol(""),Eu=Symbol("");function an(e,t,r){if($r&&ri){let s=ga.get(e);s||ga.set(e,s=new Map);let o=s.get(r);o||s.set(r,o=tm(()=>s.delete(r))),Qp(ri,o)}}function ur(e,t,r,s,o,l){const u=ga.get(e);if(!u)return;let c=[];if(t==="clear")c=[...u.values()];else if(r==="length"&&Se(e)){const f=Number(s);u.forEach((h,p)=>{(p==="length"||!jn(p)&&p>=f)&&c.push(h)})}else switch(r!==void 0&&c.push(u.get(r)),t){case"add":Se(e)?ic(r)&&c.push(u.get("length")):(c.push(u.get(ii)),$i(e)&&c.push(u.get(Eu)));break;case"delete":Se(e)||(c.push(u.get(ii)),$i(e)&&c.push(u.get(Eu)));break;case"set":$i(e)&&c.push(u.get(ii));break}sc();for(const f of c)f&&em(f,5);oc()}function fP(e,t){const r=ga.get(e);return r&&r.get(t)}const dP=Ra("__proto__,__v_isRef,__isVue"),nm=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(jn)),gh=hP();function hP(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...r){const s=nt(this);for(let l=0,u=this.length;l{e[t]=function(...r){Hr(),sc();const s=nt(this)[t].apply(this,r);return oc(),fr(),s}}),e}function pP(e){jn(e)||(e=String(e));const t=nt(this);return an(t,"has",e),t.hasOwnProperty(e)}class rm{constructor(t=!1,r=!1){this._isReadonly=t,this._isShallow=r}get(t,r,s){const o=this._isReadonly,l=this._isShallow;if(r==="__v_isReactive")return!o;if(r==="__v_isReadonly")return o;if(r==="__v_isShallow")return l;if(r==="__v_raw")return s===(o?l?um:lm:l?am:om).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(s)?t:void 0;const u=Se(t);if(!o){if(u&&rt(gh,r))return Reflect.get(gh,r,s);if(r==="hasOwnProperty")return pP}const c=Reflect.get(t,r,s);return(jn(r)?nm.has(r):dP(r))||(o||an(t,"get",r),l)?c:Ct(c)?u&&ic(r)?c:c.value:dt(c)?o?fm(c):Ji(c):c}}class im extends rm{constructor(t=!1){super(!1,t)}set(t,r,s,o){let l=t[r];if(!this._isShallow){const f=Ns(l);if(!va(s)&&!Ns(s)&&(l=nt(l),s=nt(s)),!Se(t)&&Ct(l)&&!Ct(s))return f?!1:(l.value=s,!0)}const u=Se(t)&&ic(r)?Number(r)e,La=e=>Reflect.getPrototypeOf(e);function Go(e,t,r=!1,s=!1){e=e.__v_raw;const o=nt(e),l=nt(t);r||(Ln(t,l)&&an(o,"get",t),an(o,"get",l));const{has:u}=La(o),c=s?ac:r?uc:Bs;if(u.call(o,t))return c(e.get(t));if(u.call(o,l))return c(e.get(l));e!==o&&e.get(t)}function zo(e,t=!1){const r=this.__v_raw,s=nt(r),o=nt(e);return t||(Ln(e,o)&&an(s,"has",e),an(s,"has",o)),e===o?r.has(e):r.has(e)||r.has(o)}function Yo(e,t=!1){return e=e.__v_raw,!t&&an(nt(e),"iterate",ii),Reflect.get(e,"size",e)}function vh(e){e=nt(e);const t=nt(this);return La(t).has.call(t,e)||(t.add(e),ur(t,"add",e,e)),this}function yh(e,t){t=nt(t);const r=nt(this),{has:s,get:o}=La(r);let l=s.call(r,e);l||(e=nt(e),l=s.call(r,e));const u=o.call(r,e);return r.set(e,t),l?Ln(t,u)&&ur(r,"set",e,t):ur(r,"add",e,t),this}function _h(e){const t=nt(this),{has:r,get:s}=La(t);let o=r.call(t,e);o||(e=nt(e),o=r.call(t,e)),s&&s.call(t,e);const l=t.delete(e);return o&&ur(t,"delete",e,void 0),l}function bh(){const e=nt(this),t=e.size!==0,r=e.clear();return t&&ur(e,"clear",void 0,void 0),r}function Zo(e,t){return function(s,o){const l=this,u=l.__v_raw,c=nt(u),f=t?ac:e?uc:Bs;return!e&&an(c,"iterate",ii),u.forEach((h,p)=>s.call(o,f(h),f(p),l))}}function Jo(e,t,r){return function(...s){const o=this.__v_raw,l=nt(o),u=$i(l),c=e==="entries"||e===Symbol.iterator&&u,f=e==="keys"&&u,h=o[e](...s),p=r?ac:t?uc:Bs;return!t&&an(l,"iterate",f?Eu:ii),{next(){const{value:m,done:v}=h.next();return v?{value:m,done:v}:{value:c?[p(m[0]),p(m[1])]:p(m),done:v}},[Symbol.iterator](){return this}}}}function xr(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function _P(){const e={get(l){return Go(this,l)},get size(){return Yo(this)},has:zo,add:vh,set:yh,delete:_h,clear:bh,forEach:Zo(!1,!1)},t={get(l){return Go(this,l,!1,!0)},get size(){return Yo(this)},has:zo,add:vh,set:yh,delete:_h,clear:bh,forEach:Zo(!1,!0)},r={get(l){return Go(this,l,!0)},get size(){return Yo(this,!0)},has(l){return zo.call(this,l,!0)},add:xr("add"),set:xr("set"),delete:xr("delete"),clear:xr("clear"),forEach:Zo(!0,!1)},s={get(l){return Go(this,l,!0,!0)},get size(){return Yo(this,!0)},has(l){return zo.call(this,l,!0)},add:xr("add"),set:xr("set"),delete:xr("delete"),clear:xr("clear"),forEach:Zo(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(l=>{e[l]=Jo(l,!1,!1),r[l]=Jo(l,!0,!1),t[l]=Jo(l,!1,!0),s[l]=Jo(l,!0,!0)}),[e,r,t,s]}const[bP,wP,AP,PP]=_P();function $a(e,t){const r=t?e?PP:AP:e?wP:bP;return(s,o,l)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?s:Reflect.get(rt(r,o)&&o in s?r:s,o,l)}const xP={get:$a(!1,!1)},CP={get:$a(!1,!0)},EP={get:$a(!0,!1)},SP={get:$a(!0,!0)},om=new WeakMap,am=new WeakMap,lm=new WeakMap,um=new WeakMap;function kP(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function OP(e){return e.__v_skip||!Object.isExtensible(e)?0:kP(JA(e))}function Ji(e){return Ns(e)?e:Da(e,!1,mP,xP,om)}function cm(e){return Da(e,!1,vP,CP,am)}function fm(e){return Da(e,!0,gP,EP,lm)}function o3(e){return Da(e,!0,yP,SP,um)}function Da(e,t,r,s,o){if(!dt(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const l=o.get(e);if(l)return l;const u=OP(e);if(u===0)return e;const c=new Proxy(e,u===2?s:r);return o.set(e,c),c}function si(e){return Ns(e)?si(e.__v_raw):!!(e&&e.__v_isReactive)}function Ns(e){return!!(e&&e.__v_isReadonly)}function va(e){return!!(e&&e.__v_isShallow)}function dm(e){return e?!!e.__v_raw:!1}function nt(e){const t=e&&e.__v_raw;return t?nt(t):e}function lc(e){return Object.isExtensible(e)&&Up(e,"__v_skip",!0),e}const Bs=e=>dt(e)?Ji(e):e,uc=e=>dt(e)?fm(e):e;class hm{constructor(t,r,s,o){this.getter=t,this._setter=r,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this.effect=new Ds(()=>t(this._value),()=>Bi(this,this.effect._dirtyLevel===3?3:4)),this.effect.computed=this,this.effect.active=this._cacheable=!o,this.__v_isReadonly=s}get value(){const t=nt(this),r=t.effect._dirtyLevel;return(!t._cacheable||t.effect.dirty)&&Ln(t._value,t._value=t.effect.run())&&r!==3&&Bi(t,5),cc(t),t.effect._dirtyLevel>=2&&Bi(t,3),t._value}set value(t){this._setter(t)}get _dirty(){return this.effect.dirty}set _dirty(t){this.effect.dirty=t}}function RP(e,t,r=!1){let s,o;const l=Be(e);return l?(s=e,o=nn):(s=e.get,o=e.set),new hm(s,o,l||!o,r)}function cc(e){var t;$r&&ri&&(e=nt(e),Qp(ri,(t=e.dep)!=null?t:e.dep=tm(()=>e.dep=void 0,e instanceof hm?e:void 0)))}function Bi(e,t=5,r,s){e=nt(e);const o=e.dep;o&&em(o,t)}function Ct(e){return!!(e&&e.__v_isRef===!0)}function xe(e){return pm(e,!1)}function TP(e){return pm(e,!0)}function pm(e,t){return Ct(e)?e:new IP(e,t)}class IP{constructor(t,r){this.__v_isShallow=r,this.dep=void 0,this.__v_isRef=!0,this._rawValue=r?t:nt(t),this._value=r?t:Bs(t)}get value(){return cc(this),this._value}set value(t){const r=this.__v_isShallow||va(t)||Ns(t);t=r?t:nt(t),Ln(t,this._rawValue)&&(this._rawValue,this._rawValue=t,this._value=r?t:Bs(t),Bi(this,5))}}function a3(e){Bi(e,5)}function oe(e){return Ct(e)?e.value:e}function l3(e){return Be(e)?e():oe(e)}const MP={get:(e,t,r)=>oe(Reflect.get(e,t,r)),set:(e,t,r,s)=>{const o=e[t];return Ct(o)&&!Ct(r)?(o.value=r,!0):Reflect.set(e,t,r,s)}};function mm(e){return si(e)?e:new Proxy(e,MP)}class LP{constructor(t){this.dep=void 0,this.__v_isRef=!0;const{get:r,set:s}=t(()=>cc(this),()=>Bi(this));this._get=r,this._set=s}get value(){return this._get()}set value(t){this._set(t)}}function $P(e){return new LP(e)}function DP(e){const t=Se(e)?new Array(e.length):{};for(const r in e)t[r]=gm(e,r);return t}class NP{constructor(t,r,s){this._object=t,this._key=r,this._defaultValue=s,this.__v_isRef=!0}get value(){const t=this._object[this._key];return t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return fP(nt(this._object),this._key)}}class BP{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0}get value(){return this._getter()}}function u3(e,t,r){return Ct(e)?e:Be(e)?new BP(e):dt(e)&&arguments.length>1?gm(e,t,r):xe(e)}function gm(e,t,r){const s=e[t];return Ct(s)?s:new NP(e,t,r)}const c3={GET:"get",HAS:"has",ITERATE:"iterate"},f3={SET:"set",ADD:"add",DELETE:"delete",CLEAR:"clear"};/** +* @vue/runtime-core v3.4.30 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function d3(e,t){}const h3={SETUP_FUNCTION:0,0:"SETUP_FUNCTION",RENDER_FUNCTION:1,1:"RENDER_FUNCTION",WATCH_GETTER:2,2:"WATCH_GETTER",WATCH_CALLBACK:3,3:"WATCH_CALLBACK",WATCH_CLEANUP:4,4:"WATCH_CLEANUP",NATIVE_EVENT_HANDLER:5,5:"NATIVE_EVENT_HANDLER",COMPONENT_EVENT_HANDLER:6,6:"COMPONENT_EVENT_HANDLER",VNODE_HOOK:7,7:"VNODE_HOOK",DIRECTIVE_HOOK:8,8:"DIRECTIVE_HOOK",TRANSITION_HOOK:9,9:"TRANSITION_HOOK",APP_ERROR_HANDLER:10,10:"APP_ERROR_HANDLER",APP_WARN_HANDLER:11,11:"APP_WARN_HANDLER",FUNCTION_REF:12,12:"FUNCTION_REF",ASYNC_COMPONENT_LOADER:13,13:"ASYNC_COMPONENT_LOADER",SCHEDULER:14,14:"SCHEDULER"},VP={sp:"serverPrefetch hook",bc:"beforeCreate hook",c:"created hook",bm:"beforeMount hook",m:"mounted hook",bu:"beforeUpdate hook",u:"updated",bum:"beforeUnmount hook",um:"unmounted hook",a:"activated hook",da:"deactivated hook",ec:"errorCaptured hook",rtc:"renderTracked hook",rtg:"renderTriggered hook",0:"setup function",1:"render function",2:"watcher getter",3:"watcher callback",4:"watcher cleanup function",5:"native event handler",6:"component event handler",7:"vnode hook",8:"directive hook",9:"transition hook",10:"app errorHandler",11:"app warnHandler",12:"ref function",13:"async component loader",14:"scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core ."};function Dr(e,t,r,s){try{return s?e(...s):e()}catch(o){Xi(o,t,r)}}function Sn(e,t,r,s){if(Be(e)){const o=Dr(e,t,r,s);return o&&rc(o)&&o.catch(l=>{Xi(l,t,r)}),o}if(Se(e)){const o=[];for(let l=0;l>>1,o=Ut[s],l=Ws(o);lUn&&Ut.splice(t,1)}function ku(e){Se(e)?Vi.push(...e):(!Or||!Or.includes(e,e.allowRecurse?ni+1:ni))&&Vi.push(e),ym()}function wh(e,t,r=Vs?Un+1:0){for(;rWs(r)-Ws(s));if(Vi.length=0,Or){Or.push(...t);return}for(Or=t,ni=0;nie.id==null?1/0:e.id,UP=(e,t)=>{const r=Ws(e)-Ws(t);if(r===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return r};function _m(e){Su=!1,Vs=!0,Ut.sort(UP);try{for(Un=0;UnTi.emit(o,...l)),Xo=[]):typeof window<"u"&&window.HTMLElement&&!((s=(r=window.navigator)==null?void 0:r.userAgent)!=null&&s.includes("jsdom"))?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(l=>{bm(l,t)}),setTimeout(()=>{Ti||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,Xo=[])},3e3)):Xo=[]}function qP(e,t,...r){if(e.isUnmounted)return;const s=e.vnode.props||ft;let o=r;const l=t.startsWith("update:"),u=l&&t.slice(7);if(u&&u in s){const p=`${u==="modelValue"?"model":u}Modifiers`,{number:m,trim:v}=s[p]||ft;v&&(o=r.map(g=>bt(g)?g.trim():g)),m&&(o=r.map(pa))}let c,f=s[c=la(t)]||s[c=la(sn(t))];!f&&l&&(f=s[c=la(vn(t))]),f&&Sn(f,e,6,o);const h=s[c+"Once"];if(h){if(!e.emitted)e.emitted={};else if(e.emitted[c])return;e.emitted[c]=!0,Sn(h,e,6,o)}}function wm(e,t,r=!1){const s=t.emitsCache,o=s.get(e);if(o!==void 0)return o;const l=e.emits;let u={},c=!1;if(!Be(e)){const f=h=>{const p=wm(h,t,!0);p&&(c=!0,vt(u,p))};!r&&t.mixins.length&&t.mixins.forEach(f),e.extends&&f(e.extends),e.mixins&&e.mixins.forEach(f)}return!l&&!c?(dt(e)&&s.set(e,null),null):(Se(l)?l.forEach(f=>u[f]=null):vt(u,l),dt(e)&&s.set(e,u),u)}function Ba(e,t){return!e||!zs(t)?!1:(t=t.slice(2).replace(/Once$/,""),rt(e,t[0].toLowerCase()+t.slice(1))||rt(e,vn(t))||rt(e,t))}let It=null,Va=null;function Fs(e){const t=It;return It=e,Va=e&&e.type.__scopeId||null,t}function Qi(e){Va=e}function es(){Va=null}const p3=e=>kt;function kt(e,t=It,r){if(!t||e._n)return e;const s=(...o)=>{s._d&&Dh(-1);const l=Fs(t);let u;try{u=e(...o)}finally{Fs(l),s._d&&Dh(1)}return u};return s._n=!0,s._c=!0,s._d=!0,s}function ua(e){const{type:t,vnode:r,proxy:s,withProxy:o,propsOptions:[l],slots:u,attrs:c,emit:f,render:h,renderCache:p,props:m,data:v,setupState:g,ctx:S,inheritAttrs:C}=e,I=Fs(e);let V,D;try{if(r.shapeFlag&4){const k=o||s,R=k;V=gn(h.call(R,k,p,m,g,v,S)),D=c}else{const k=t;V=gn(k.length>1?k(m,{attrs:c,slots:u,emit:f}):k(m,null)),D=t.props?c:KP(c)}}catch(k){Ts.length=0,Xi(k,e,1),V=pe(Vt)}let A=V;if(D&&C!==!1){const k=Object.keys(D),{shapeFlag:R}=A;k.length&&R&7&&(l&&k.some(tc)&&(D=GP(D,l)),A=dr(A,D,!1,!0))}return r.dirs&&(A=dr(A,null,!1,!0),A.dirs=A.dirs?A.dirs.concat(r.dirs):r.dirs),r.transition&&(A.transition=r.transition),V=A,Fs(I),V}function jP(e,t=!0){let r;for(let s=0;s{let t;for(const r in e)(r==="class"||r==="style"||zs(r))&&((t||(t={}))[r]=e[r]);return t},GP=(e,t)=>{const r={};for(const s in e)(!tc(s)||!(s.slice(9)in t))&&(r[s]=e[s]);return r};function zP(e,t,r){const{props:s,children:o,component:l}=e,{props:u,children:c,patchFlag:f}=t,h=l.emitsOptions;if(t.dirs||t.transition)return!0;if(r&&f>=0){if(f&1024)return!0;if(f&16)return s?Ah(s,u,h):!!u;if(f&8){const p=t.dynamicProps;for(let m=0;me.__isSuspense;let Ru=0;const JP={name:"Suspense",__isSuspense:!0,process(e,t,r,s,o,l,u,c,f,h){if(e==null)XP(t,r,s,o,l,u,c,f,h);else{if(l&&l.deps>0&&!e.suspense.isInFallback){t.suspense=e.suspense,t.suspense.vnode=t,t.el=e.el;return}QP(e,t,r,s,o,u,c,f,h)}},hydrate:ex,normalize:tx},g3=JP;function Hs(e,t){const r=e.props&&e.props[t];Be(r)&&r()}function XP(e,t,r,s,o,l,u,c,f){const{p:h,o:{createElement:p}}=f,m=p("div"),v=e.suspense=Pm(e,o,s,t,m,r,l,u,c,f);h(null,v.pendingBranch=e.ssContent,m,null,s,v,l,u),v.deps>0?(Hs(e,"onPending"),Hs(e,"onFallback"),h(null,e.ssFallback,t,r,s,null,l,u),Wi(v,e.ssFallback)):v.resolve(!1,!0)}function QP(e,t,r,s,o,l,u,c,{p:f,um:h,o:{createElement:p}}){const m=t.suspense=e.suspense;m.vnode=t,t.el=e.el;const v=t.ssContent,g=t.ssFallback,{activeBranch:S,pendingBranch:C,isInFallback:I,isHydrating:V}=m;if(C)m.pendingBranch=v,Mn(v,C)?(f(C,v,m.hiddenContainer,null,o,m,l,u,c),m.deps<=0?m.resolve():I&&(V||(f(S,g,r,s,o,null,l,u,c),Wi(m,g)))):(m.pendingId=Ru++,V?(m.isHydrating=!1,m.activeBranch=C):h(C,o,m),m.deps=0,m.effects.length=0,m.hiddenContainer=p("div"),I?(f(null,v,m.hiddenContainer,null,o,m,l,u,c),m.deps<=0?m.resolve():(f(S,g,r,s,o,null,l,u,c),Wi(m,g))):S&&Mn(v,S)?(f(S,v,r,s,o,m,l,u,c),m.resolve(!0)):(f(null,v,m.hiddenContainer,null,o,m,l,u,c),m.deps<=0&&m.resolve()));else if(S&&Mn(v,S))f(S,v,r,s,o,m,l,u,c),Wi(m,v);else if(Hs(t,"onPending"),m.pendingBranch=v,v.shapeFlag&512?m.pendingId=v.component.suspenseId:m.pendingId=Ru++,f(null,v,m.hiddenContainer,null,o,m,l,u,c),m.deps<=0)m.resolve();else{const{timeout:D,pendingId:A}=m;D>0?setTimeout(()=>{m.pendingId===A&&m.fallback(g)},D):D===0&&m.fallback(g)}}function Pm(e,t,r,s,o,l,u,c,f,h,p=!1){const{p:m,m:v,um:g,n:S,o:{parentNode:C,remove:I}}=h;let V;const D=nx(e);D&&t&&t.pendingBranch&&(V=t.pendingId,t.deps++);const A=e.props?ma(e.props.timeout):void 0,k=l,R={vnode:e,parent:t,parentComponent:r,namespace:u,container:s,hiddenContainer:o,deps:0,pendingId:Ru++,timeout:typeof A=="number"?A:-1,activeBranch:null,pendingBranch:null,isInFallback:!p,isHydrating:p,isUnmounted:!1,effects:[],resolve(T=!1,q=!1){const{vnode:G,activeBranch:W,pendingBranch:F,pendingId:K,effects:j,parentComponent:U,container:E}=R;let M=!1;R.isHydrating?R.isHydrating=!1:T||(M=W&&F.transition&&F.transition.mode==="out-in",M&&(W.transition.afterLeave=()=>{K===R.pendingId&&(v(F,E,l===k?S(W):l,0),ku(j))}),W&&(C(W.el)!==R.hiddenContainer&&(l=S(W)),g(W,U,R,!0)),M||v(F,E,l,0)),Wi(R,F),R.pendingBranch=null,R.isInFallback=!1;let B=R.parent,P=!1;for(;B;){if(B.pendingBranch){B.effects.push(...j),P=!0;break}B=B.parent}!P&&!M&&ku(j),R.effects=[],D&&t&&t.pendingBranch&&V===t.pendingId&&(t.deps--,t.deps===0&&!q&&t.resolve()),Hs(G,"onResolve")},fallback(T){if(!R.pendingBranch)return;const{vnode:q,activeBranch:G,parentComponent:W,container:F,namespace:K}=R;Hs(q,"onFallback");const j=S(G),U=()=>{R.isInFallback&&(m(null,T,F,j,W,null,K,c,f),Wi(R,T))},E=T.transition&&T.transition.mode==="out-in";E&&(G.transition.afterLeave=U),R.isInFallback=!0,g(G,W,null,!0),E||U()},move(T,q,G){R.activeBranch&&v(R.activeBranch,T,q,G),R.container=T},next(){return R.activeBranch&&S(R.activeBranch)},registerDep(T,q,G){const W=!!R.pendingBranch;W&&R.deps++;const F=T.vnode.el;T.asyncDep.catch(K=>{Xi(K,T,0)}).then(K=>{if(T.isUnmounted||R.isUnmounted||R.pendingId!==T.suspenseId)return;T.asyncResolved=!0;const{vnode:j}=T;Vu(T,K,!1),F&&(j.el=F);const U=!F&&T.subTree.el;q(T,j,C(F||T.subTree.el),F?null:S(T.subTree),R,u,G),U&&I(U),dc(T,j.el),W&&--R.deps===0&&R.resolve()})},unmount(T,q){R.isUnmounted=!0,R.activeBranch&&g(R.activeBranch,r,T,q),R.pendingBranch&&g(R.pendingBranch,r,T,q)}};return R}function ex(e,t,r,s,o,l,u,c,f){const h=t.suspense=Pm(t,s,r,e.parentNode,document.createElement("div"),null,o,l,u,c,!0),p=f(e,h.pendingBranch=t.ssContent,r,h,l,u);return h.deps===0&&h.resolve(!1,!0),p}function tx(e){const{shapeFlag:t,children:r}=e,s=t&32;e.ssContent=xh(s?r.default:r),e.ssFallback=s?xh(r.fallback):pe(Vt)}function xh(e){let t;if(Be(e)){const r=li&&e._c;r&&(e._d=!1,re()),e=e(),r&&(e._d=!0,t=rn,Gm())}return Se(e)&&(e=jP(e)),e=gn(e),t&&!e.dynamicChildren&&(e.dynamicChildren=t.filter(r=>r!==e)),e}function xm(e,t){t&&t.pendingBranch?Se(e)?t.effects.push(...e):t.effects.push(e):ku(e)}function Wi(e,t){e.activeBranch=t;const{vnode:r,parentComponent:s}=e;let o=t.el;for(;!o&&t.component;)t=t.component.subTree,o=t.el;r.el=o,s&&s.subTree===r&&(s.vnode.el=o,dc(s,o))}function nx(e){const t=e.props&&e.props.suspensible;return t!=null&&t!==!1}function Wa(e,t,r=Tt,s=!1){if(r){const o=r[e]||(r[e]=[]),l=t.__weh||(t.__weh=(...u)=>{Hr();const c=ui(r),f=Sn(t,r,e,u);return c(),fr(),f});return s?o.unshift(l):o.push(l),l}}const hr=e=>(t,r=Tt)=>{(!Xs||e==="sp")&&Wa(e,(...s)=>t(...s),r)},rx=hr("bm"),Wt=hr("m"),ix=hr("bu"),mc=hr("u"),Fa=hr("bum"),gc=hr("um"),sx=hr("sp"),ox=hr("rtg"),ax=hr("rtc");function lx(e,t=Tt){Wa("ec",e,t)}function Us(e,t){if(It===null)return e;const r=Qs(It),s=e.dirs||(e.dirs=[]);for(let o=0;ot(u,c,void 0,l&&l[c]));else{const u=Object.keys(e);o=new Array(u.length);for(let c=0,f=u.length;c{const l=s.fn(...o);return l&&(l.key=s.key),l}:s.fn)}return e}/*! #__NO_SIDE_EFFECTS__ */function Ge(e,t){return Be(e)?vt({name:e.name},t,{setup:e}):e}const oi=e=>!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function y3(e){Be(e)&&(e={loader:e});const{loader:t,loadingComponent:r,errorComponent:s,delay:o=200,timeout:l,suspensible:u=!0,onError:c}=e;let f=null,h,p=0;const m=()=>(p++,f=null,v()),v=()=>{let g;return f||(g=f=t().catch(S=>{if(S=S instanceof Error?S:new Error(String(S)),c)return new Promise((C,I)=>{c(S,()=>C(m()),()=>I(S),p+1)});throw S}).then(S=>g!==f&&f?f:(S&&(S.__esModule||S[Symbol.toStringTag]==="Module")&&(S=S.default),h=S,S)))};return Ge({name:"AsyncComponentWrapper",__asyncLoader:v,get __asyncResolved(){return h},setup(){const g=Tt;if(h)return()=>uu(h,g);const S=D=>{f=null,Xi(D,g,13,!s)};if(u&&g.suspense||Xs)return v().then(D=>()=>uu(D,g)).catch(D=>(S(D),()=>s?pe(s,{error:D}):null));const C=xe(!1),I=xe(),V=xe(!!o);return o&&setTimeout(()=>{V.value=!1},o),l!=null&&setTimeout(()=>{if(!C.value&&!I.value){const D=new Error(`Async component timed out after ${l}ms.`);S(D),I.value=D}},l),v().then(()=>{C.value=!0,g.parent&&Zs(g.parent.vnode)&&(g.parent.effect.dirty=!0,Na(g.parent.update))}).catch(D=>{S(D),I.value=D}),()=>{if(C.value&&h)return uu(h,g);if(I.value&&s)return pe(s,{error:I.value});if(r&&!V.value)return pe(r)}}})}function uu(e,t){const{ref:r,props:s,children:o,ce:l}=t.vnode,u=pe(e,s,o);return u.ref=r,u.ce=l,delete t.vnode.ce,u}function qi(e,t,r={},s,o){if(It.isCE||It.parent&&oi(It.parent)&&It.parent.isCE)return t!=="default"&&(r.name=t),pe("slot",r,s&&s());let l=e[t];l&&l._c&&(l._d=!1),re();const u=l&&Cm(l(r)),c=Ze(et,{key:r.key||u&&u.key||`_${t}`},u||(s?s():[]),u&&e._===1?64:-2);return!o&&c.scopeId&&(c.slotScopeIds=[c.scopeId+"-s"]),l&&l._c&&(l._d=!0),c}function Cm(e){return e.some(t=>Vr(t)?!(t.type===Vt||t.type===et&&!Cm(t.children)):!0)?e:null}function _3(e,t){const r={};for(const s in e)r[t&&/[A-Z]/.test(s)?`on:${s}`:la(s)]=e[s];return r}const Tu=e=>e?Jm(e)?Qs(e):Tu(e.parent):null,Os=vt(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>Tu(e.parent),$root:e=>Tu(e.root),$emit:e=>e.emit,$options:e=>vc(e),$forceUpdate:e=>e.f||(e.f=()=>{e.effect.dirty=!0,Na(e.update)}),$nextTick:e=>e.n||(e.n=Gn.bind(e.proxy)),$watch:e=>Mx.bind(e)}),cu=(e,t)=>e!==ft&&!e.__isScriptSetup&&rt(e,t),Iu={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:r,setupState:s,data:o,props:l,accessCache:u,type:c,appContext:f}=e;let h;if(t[0]!=="$"){const g=u[t];if(g!==void 0)switch(g){case 1:return s[t];case 2:return o[t];case 4:return r[t];case 3:return l[t]}else{if(cu(s,t))return u[t]=1,s[t];if(o!==ft&&rt(o,t))return u[t]=2,o[t];if((h=e.propsOptions[0])&&rt(h,t))return u[t]=3,l[t];if(r!==ft&&rt(r,t))return u[t]=4,r[t];Mu&&(u[t]=0)}}const p=Os[t];let m,v;if(p)return t==="$attrs"&&an(e.attrs,"get",""),p(e);if((m=c.__cssModules)&&(m=m[t]))return m;if(r!==ft&&rt(r,t))return u[t]=4,r[t];if(v=f.config.globalProperties,rt(v,t))return v[t]},set({_:e},t,r){const{data:s,setupState:o,ctx:l}=e;return cu(o,t)?(o[t]=r,!0):s!==ft&&rt(s,t)?(s[t]=r,!0):rt(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(l[t]=r,!0)},has({_:{data:e,setupState:t,accessCache:r,ctx:s,appContext:o,propsOptions:l}},u){let c;return!!r[u]||e!==ft&&rt(e,u)||cu(t,u)||(c=l[0])&&rt(c,u)||rt(s,u)||rt(Os,u)||rt(o.config.globalProperties,u)},defineProperty(e,t,r){return r.get!=null?e._.accessCache[t]=0:rt(r,"value")&&this.set(e,t,r.value,null),Reflect.defineProperty(e,t,r)}},ux=vt({},Iu,{get(e,t){if(t!==Symbol.unscopables)return Iu.get(e,t,e)},has(e,t){return t[0]!=="_"&&!tP(t)}});function b3(){return null}function w3(){return null}function A3(e){}function P3(e){}function x3(){return null}function C3(){}function E3(e,t){return null}function S3(){return Em().slots}function k3(){return Em().attrs}function Em(){const e=Ur();return e.setupContext||(e.setupContext=eg(e))}function qs(e){return Se(e)?e.reduce((t,r)=>(t[r]=null,t),{}):e}function O3(e,t){const r=qs(e);for(const s in t){if(s.startsWith("__skip"))continue;let o=r[s];o?Se(o)||Be(o)?o=r[s]={type:o,default:t[s]}:o.default=t[s]:o===null&&(o=r[s]={default:t[s]}),o&&t[`__skip_${s}`]&&(o.skipFactory=!0)}return r}function R3(e,t){return!e||!t?e||t:Se(e)&&Se(t)?e.concat(t):vt({},qs(e),qs(t))}function T3(e,t){const r={};for(const s in e)t.includes(s)||Object.defineProperty(r,s,{enumerable:!0,get:()=>e[s]});return r}function I3(e){const t=Ur();let r=e();return Bu(),rc(r)&&(r=r.catch(s=>{throw ui(t),s})),[r,()=>ui(t)]}let Mu=!0;function cx(e){const t=vc(e),r=e.proxy,s=e.ctx;Mu=!1,t.beforeCreate&&Ch(t.beforeCreate,e,"bc");const{data:o,computed:l,methods:u,watch:c,provide:f,inject:h,created:p,beforeMount:m,mounted:v,beforeUpdate:g,updated:S,activated:C,deactivated:I,beforeDestroy:V,beforeUnmount:D,destroyed:A,unmounted:k,render:R,renderTracked:T,renderTriggered:q,errorCaptured:G,serverPrefetch:W,expose:F,inheritAttrs:K,components:j,directives:U,filters:E}=t;if(h&&fx(h,s,null),u)for(const P in u){const _=u[P];Be(_)&&(s[P]=_.bind(r))}if(o){const P=o.call(r,r);dt(P)&&(e.data=Ji(P))}if(Mu=!0,l)for(const P in l){const _=l[P],Y=Be(_)?_.bind(r,r):Be(_.get)?_.get.bind(r,r):nn,N=!Be(_)&&Be(_.set)?_.set.bind(r):nn,b=Ve({get:Y,set:N});Object.defineProperty(s,P,{enumerable:!0,configurable:!0,get:()=>b.value,set:Q=>b.value=Q})}if(c)for(const P in c)Sm(c[P],s,r,P);if(f){const P=Be(f)?f.call(r):f;Reflect.ownKeys(P).forEach(_=>{Lr(_,P[_])})}p&&Ch(p,e,"c");function B(P,_){Se(_)?_.forEach(Y=>P(Y.bind(r))):_&&P(_.bind(r))}if(B(rx,m),B(Wt,v),B(ix,g),B(mc,S),B($x,C),B(Dx,I),B(lx,G),B(ax,T),B(ox,q),B(Fa,D),B(gc,k),B(sx,W),Se(F))if(F.length){const P=e.exposed||(e.exposed={});F.forEach(_=>{Object.defineProperty(P,_,{get:()=>r[_],set:Y=>r[_]=Y})})}else e.exposed||(e.exposed={});R&&e.render===nn&&(e.render=R),K!=null&&(e.inheritAttrs=K),j&&(e.components=j),U&&(e.directives=U)}function fx(e,t,r=nn){Se(e)&&(e=Lu(e));for(const s in e){const o=e[s];let l;dt(o)?"default"in o?l=on(o.from||s,o.default,!0):l=on(o.from||s):l=on(o),Ct(l)?Object.defineProperty(t,s,{enumerable:!0,configurable:!0,get:()=>l.value,set:u=>l.value=u}):t[s]=l}}function Ch(e,t,r){Sn(Se(e)?e.map(s=>s.bind(t.proxy)):e.bind(t.proxy),t,r)}function Sm(e,t,r,s){const o=s.includes(".")?Wm(r,s):()=>r[s];if(bt(e)){const l=t[e];Be(l)&&at(o,l)}else if(Be(e))at(o,e.bind(r));else if(dt(e))if(Se(e))e.forEach(l=>Sm(l,t,r,s));else{const l=Be(e.handler)?e.handler.bind(r):t[e.handler];Be(l)&&at(o,l,e)}}function vc(e){const t=e.type,{mixins:r,extends:s}=t,{mixins:o,optionsCache:l,config:{optionMergeStrategies:u}}=e.appContext,c=l.get(t);let f;return c?f=c:!o.length&&!r&&!s?f=t:(f={},o.length&&o.forEach(h=>_a(f,h,u,!0)),_a(f,t,u)),dt(t)&&l.set(t,f),f}function _a(e,t,r,s=!1){const{mixins:o,extends:l}=t;l&&_a(e,l,r,!0),o&&o.forEach(u=>_a(e,u,r,!0));for(const u in t)if(!(s&&u==="expose")){const c=dx[u]||r&&r[u];e[u]=c?c(e[u],t[u]):t[u]}return e}const dx={data:Eh,props:Sh,emits:Sh,methods:Ps,computed:Ps,beforeCreate:zt,created:zt,beforeMount:zt,mounted:zt,beforeUpdate:zt,updated:zt,beforeDestroy:zt,beforeUnmount:zt,destroyed:zt,unmounted:zt,activated:zt,deactivated:zt,errorCaptured:zt,serverPrefetch:zt,components:Ps,directives:Ps,watch:px,provide:Eh,inject:hx};function Eh(e,t){return t?e?function(){return vt(Be(e)?e.call(this,this):e,Be(t)?t.call(this,this):t)}:t:e}function hx(e,t){return Ps(Lu(e),Lu(t))}function Lu(e){if(Se(e)){const t={};for(let r=0;r1)return r&&Be(t)?t.call(s&&s.proxy):t}}function vx(){return!!(Tt||It||Fi)}const Om={},Rm=()=>Object.create(Om),Tm=e=>Object.getPrototypeOf(e)===Om;function yx(e,t,r,s=!1){const o={},l=Rm();e.propsDefaults=Object.create(null),Im(e,t,o,l);for(const u in e.propsOptions[0])u in o||(o[u]=void 0);r?e.props=s?o:cm(o):e.type.props?e.props=o:e.props=l,e.attrs=l}function _x(e,t,r,s){const{props:o,attrs:l,vnode:{patchFlag:u}}=e,c=nt(o),[f]=e.propsOptions;let h=!1;if((s||u>0)&&!(u&16)){if(u&8){const p=e.vnode.dynamicProps;for(let m=0;m{f=!0;const[v,g]=Mm(m,t,!0);vt(u,v),g&&c.push(...g)};!r&&t.mixins.length&&t.mixins.forEach(p),e.extends&&p(e.extends),e.mixins&&e.mixins.forEach(p)}if(!l&&!f)return dt(e)&&s.set(e,Li),Li;if(Se(l))for(let p=0;p-1,g[1]=C<0||S-1||rt(g,"default"))&&c.push(m)}}}const h=[u,c];return dt(e)&&s.set(e,h),h}function kh(e){return e[0]!=="$"&&!Di(e)}function Oh(e){return e===null?"null":typeof e=="function"?e.name||"":typeof e=="object"&&e.constructor&&e.constructor.name||""}function Rh(e,t){return Oh(e)===Oh(t)}function Th(e,t){return Se(t)?t.findIndex(r=>Rh(r,e)):Be(t)&&Rh(t,e)?0:-1}const Lm=e=>e[0]==="_"||e==="$stable",yc=e=>Se(e)?e.map(gn):[gn(e)],bx=(e,t,r)=>{if(t._n)return t;const s=kt((...o)=>yc(t(...o)),r);return s._c=!1,s},$m=(e,t,r)=>{const s=e._ctx;for(const o in e){if(Lm(o))continue;const l=e[o];if(Be(l))t[o]=bx(o,l,s);else if(l!=null){const u=yc(l);t[o]=()=>u}}},Dm=(e,t)=>{const r=yc(t);e.slots.default=()=>r},wx=(e,t)=>{const r=e.slots=Rm();if(e.vnode.shapeFlag&32){const s=t._;s?(vt(r,t),Up(r,"_",s,!0)):$m(t,r)}else t&&Dm(e,t)},Ax=(e,t,r)=>{const{vnode:s,slots:o}=e;let l=!0,u=ft;if(s.shapeFlag&32){const c=t._;c?r&&c===1?l=!1:(vt(o,t),!r&&c===1&&delete o._):(l=!t.$stable,$m(t,o)),u=t}else t&&(Dm(e,t),u={default:1});if(l)for(const c in o)!Lm(c)&&u[c]==null&&delete o[c]};function ba(e,t,r,s,o=!1){if(Se(e)){e.forEach((v,g)=>ba(v,t&&(Se(t)?t[g]:t),r,s,o));return}if(oi(s)&&!o)return;const l=s.shapeFlag&4?Qs(s.component):s.el,u=o?null:l,{i:c,r:f}=e,h=t&&t.r,p=c.refs===ft?c.refs={}:c.refs,m=c.setupState;if(h!=null&&h!==f&&(bt(h)?(p[h]=null,rt(m,h)&&(m[h]=null)):Ct(h)&&(h.value=null)),Be(f))Dr(f,c,12,[u,p]);else{const v=bt(f),g=Ct(f);if(v||g){const S=()=>{if(e.f){const C=v?rt(m,f)?m[f]:p[f]:f.value;o?Se(C)&&nc(C,l):Se(C)?C.includes(l)||C.push(l):v?(p[f]=[l],rt(m,f)&&(m[f]=p[f])):(f.value=[l],e.k&&(p[e.k]=f.value))}else v?(p[f]=u,rt(m,f)&&(m[f]=u)):g&&(f.value=u,e.k&&(p[e.k]=u))};u?(S.id=-1,$t(S,r)):S()}}}let Ih=!1;const Oi=()=>{Ih||(console.error("Hydration completed but contains mismatches."),Ih=!0)},Px=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",xx=e=>e.namespaceURI.includes("MathML"),Qo=e=>{if(Px(e))return"svg";if(xx(e))return"mathml"},ea=e=>e.nodeType===8;function Cx(e){const{mt:t,p:r,o:{patchProp:s,createText:o,nextSibling:l,parentNode:u,remove:c,insert:f,createComment:h}}=e,p=(A,k)=>{if(!k.hasChildNodes()){r(null,A,k),ya(),k._vnode=A;return}m(k.firstChild,A,null,null,null),ya(),k._vnode=A},m=(A,k,R,T,q,G=!1)=>{G=G||!!k.dynamicChildren;const W=ea(A)&&A.data==="[",F=()=>C(A,k,R,T,q,W),{type:K,ref:j,shapeFlag:U,patchFlag:E}=k;let M=A.nodeType;k.el=A,E===-2&&(G=!1,k.dynamicChildren=null);let B=null;switch(K){case ji:M!==3?k.children===""?(f(k.el=o(""),u(A),A),B=A):B=F():(A.data!==k.children&&(Oi(),A.data=k.children),B=l(A));break;case Vt:D(A)?(B=l(A),V(k.el=A.content.firstChild,A,R)):M!==8||W?B=F():B=l(A);break;case Hi:if(W&&(A=l(A),M=A.nodeType),M===1||M===3){B=A;const P=!k.children.length;for(let _=0;_{G=G||!!k.dynamicChildren;const{type:W,props:F,patchFlag:K,shapeFlag:j,dirs:U,transition:E}=k,M=W==="input"||W==="option";if(M||K!==-1){U&&Fn(k,null,R,"created");let B=!1;if(D(A)){B=Bm(T,E)&&R&&R.vnode.props&&R.vnode.props.appear;const _=A.content.firstChild;B&&E.beforeEnter(_),V(_,A,R),k.el=A=_}if(j&16&&!(F&&(F.innerHTML||F.textContent))){let _=g(A.firstChild,k,A,R,T,q,G);for(;_;){Oi();const Y=_;_=_.nextSibling,c(Y)}}else j&8&&A.textContent!==k.children&&(Oi(),A.textContent=k.children);if(F)if(M||!G||K&48)for(const _ in F)(M&&(_.endsWith("value")||_==="indeterminate")||zs(_)&&!Di(_)||_[0]===".")&&s(A,_,null,F[_],void 0,void 0,R);else F.onClick&&s(A,"onClick",null,F.onClick,void 0,void 0,R);let P;(P=F&&F.onVnodeBeforeMount)&&tn(P,R,k),U&&Fn(k,null,R,"beforeMount"),((P=F&&F.onVnodeMounted)||U||B)&&xm(()=>{P&&tn(P,R,k),B&&E.enter(A),U&&Fn(k,null,R,"mounted")},T)}return A.nextSibling},g=(A,k,R,T,q,G,W)=>{W=W||!!k.dynamicChildren;const F=k.children,K=F.length;for(let j=0;j{const{slotScopeIds:W}=k;W&&(q=q?q.concat(W):W);const F=u(A),K=g(l(A),k,F,R,T,q,G);return K&&ea(K)&&K.data==="]"?l(k.anchor=K):(Oi(),f(k.anchor=h("]"),F,K),K)},C=(A,k,R,T,q,G)=>{if(Oi(),k.el=null,G){const K=I(A);for(;;){const j=l(A);if(j&&j!==K)c(j);else break}}const W=l(A),F=u(A);return c(A),r(null,k,F,W,R,T,Qo(F),q),W},I=(A,k="[",R="]")=>{let T=0;for(;A;)if(A=l(A),A&&ea(A)&&(A.data===k&&T++,A.data===R)){if(T===0)return l(A);T--}return A},V=(A,k,R)=>{const T=k.parentNode;T&&T.replaceChild(A,k);let q=R;for(;q;)q.vnode.el===k&&(q.vnode.el=q.subTree.el=A),q=q.parent},D=A=>A.nodeType===1&&A.tagName.toLowerCase()==="template";return[p,m]}const $t=xm;function Ex(e){return Nm(e)}function Sx(e){return Nm(e,Cx)}function Nm(e,t){const r=qp();r.__VUE__=!0;const{insert:s,remove:o,patchProp:l,createElement:u,createText:c,createComment:f,setText:h,setElementText:p,parentNode:m,nextSibling:v,setScopeId:g=nn,insertStaticContent:S}=e,C=(O,L,J,ue=null,ne=null,ye=null,_e=void 0,ge=null,me=!!L.dynamicChildren)=>{if(O===L)return;O&&!Mn(O,L)&&(ue=X(O),Q(O,ne,ye,!0),O=null),L.patchFlag===-2&&(me=!1,L.dynamicChildren=null);const{type:ce,ref:Pe,shapeFlag:Ie}=L;switch(ce){case ji:I(O,L,J,ue);break;case Vt:V(O,L,J,ue);break;case Hi:O==null&&D(L,J,ue,_e);break;case et:j(O,L,J,ue,ne,ye,_e,ge,me);break;default:Ie&1?R(O,L,J,ue,ne,ye,_e,ge,me):Ie&6?U(O,L,J,ue,ne,ye,_e,ge,me):(Ie&64||Ie&128)&&ce.process(O,L,J,ue,ne,ye,_e,ge,me,Ae)}Pe!=null&&ne&&ba(Pe,O&&O.ref,ye,L||O,!L)},I=(O,L,J,ue)=>{if(O==null)s(L.el=c(L.children),J,ue);else{const ne=L.el=O.el;L.children!==O.children&&h(ne,L.children)}},V=(O,L,J,ue)=>{O==null?s(L.el=f(L.children||""),J,ue):L.el=O.el},D=(O,L,J,ue)=>{[O.el,O.anchor]=S(O.children,L,J,ue,O.el,O.anchor)},A=({el:O,anchor:L},J,ue)=>{let ne;for(;O&&O!==L;)ne=v(O),s(O,J,ue),O=ne;s(L,J,ue)},k=({el:O,anchor:L})=>{let J;for(;O&&O!==L;)J=v(O),o(O),O=J;o(L)},R=(O,L,J,ue,ne,ye,_e,ge,me)=>{L.type==="svg"?_e="svg":L.type==="math"&&(_e="mathml"),O==null?T(L,J,ue,ne,ye,_e,ge,me):W(O,L,ne,ye,_e,ge,me)},T=(O,L,J,ue,ne,ye,_e,ge)=>{let me,ce;const{props:Pe,shapeFlag:Ie,transition:Re,dirs:We}=O;if(me=O.el=u(O.type,ye,Pe&&Pe.is,Pe),Ie&8?p(me,O.children):Ie&16&&G(O.children,me,null,ue,ne,fu(O,ye),_e,ge),We&&Fn(O,null,ue,"created"),q(me,O,O.scopeId,_e,ue),Pe){for(const it in Pe)it!=="value"&&!Di(it)&&l(me,it,null,Pe[it],ye,O.children,ue,ne,ke);"value"in Pe&&l(me,"value",null,Pe.value,ye),(ce=Pe.onVnodeBeforeMount)&&tn(ce,ue,O)}We&&Fn(O,null,ue,"beforeMount");const He=Bm(ne,Re);He&&Re.beforeEnter(me),s(me,L,J),((ce=Pe&&Pe.onVnodeMounted)||He||We)&&$t(()=>{ce&&tn(ce,ue,O),He&&Re.enter(me),We&&Fn(O,null,ue,"mounted")},ne)},q=(O,L,J,ue,ne)=>{if(J&&g(O,J),ue)for(let ye=0;ye{for(let ce=me;ce{const ge=L.el=O.el;let{patchFlag:me,dynamicChildren:ce,dirs:Pe}=L;me|=O.patchFlag&16;const Ie=O.props||ft,Re=L.props||ft;let We;if(J&&ei(J,!1),(We=Re.onVnodeBeforeUpdate)&&tn(We,J,L,O),Pe&&Fn(L,O,J,"beforeUpdate"),J&&ei(J,!0),ce?F(O.dynamicChildren,ce,ge,J,ue,fu(L,ne),ye):_e||_(O,L,ge,null,J,ue,fu(L,ne),ye,!1),me>0){if(me&16)K(ge,L,Ie,Re,J,ue,ne);else if(me&2&&Ie.class!==Re.class&&l(ge,"class",null,Re.class,ne),me&4&&l(ge,"style",Ie.style,Re.style,ne),me&8){const He=L.dynamicProps;for(let it=0;it{We&&tn(We,J,L,O),Pe&&Fn(L,O,J,"updated")},ue)},F=(O,L,J,ue,ne,ye,_e)=>{for(let ge=0;ge{if(J!==ue){if(J!==ft)for(const ge in J)!Di(ge)&&!(ge in ue)&&l(O,ge,J[ge],null,_e,L.children,ne,ye,ke);for(const ge in ue){if(Di(ge))continue;const me=ue[ge],ce=J[ge];me!==ce&&ge!=="value"&&l(O,ge,ce,me,_e,L.children,ne,ye,ke)}"value"in ue&&l(O,"value",J.value,ue.value,_e)}},j=(O,L,J,ue,ne,ye,_e,ge,me)=>{const ce=L.el=O?O.el:c(""),Pe=L.anchor=O?O.anchor:c("");let{patchFlag:Ie,dynamicChildren:Re,slotScopeIds:We}=L;We&&(ge=ge?ge.concat(We):We),O==null?(s(ce,J,ue),s(Pe,J,ue),G(L.children||[],J,Pe,ne,ye,_e,ge,me)):Ie>0&&Ie&64&&Re&&O.dynamicChildren?(F(O.dynamicChildren,Re,J,ne,ye,_e,ge),(L.key!=null||ne&&L===ne.subTree)&&_c(O,L,!0)):_(O,L,J,Pe,ne,ye,_e,ge,me)},U=(O,L,J,ue,ne,ye,_e,ge,me)=>{L.slotScopeIds=ge,O==null?L.shapeFlag&512?ne.ctx.activate(L,J,ue,_e,me):E(L,J,ue,ne,ye,_e,me):M(O,L,me)},E=(O,L,J,ue,ne,ye,_e)=>{const ge=O.component=Zm(O,ue,ne);if(Zs(O)&&(ge.ctx.renderer=Ae),Xm(ge),ge.asyncDep){if(ne&&ne.registerDep(ge,B,_e),!O.el){const me=ge.subTree=pe(Vt);V(null,me,L,J)}}else B(ge,O,L,J,ne,ye,_e)},M=(O,L,J)=>{const ue=L.component=O.component;if(zP(O,L,J))if(ue.asyncDep&&!ue.asyncResolved){P(ue,L,J);return}else ue.next=L,HP(ue.update),ue.effect.dirty=!0,ue.update();else L.el=O.el,ue.vnode=L},B=(O,L,J,ue,ne,ye,_e)=>{const ge=()=>{if(O.isMounted){let{next:Pe,bu:Ie,u:Re,parent:We,vnode:He}=O;{const Dn=Vm(O);if(Dn){Pe&&(Pe.el=He.el,P(O,Pe,_e)),Dn.asyncDep.then(()=>{O.isUnmounted||ge()});return}}let it=Pe,tt;ei(O,!1),Pe?(Pe.el=He.el,P(O,Pe,_e)):Pe=He,Ie&&Ni(Ie),(tt=Pe.props&&Pe.props.onVnodeBeforeUpdate)&&tn(tt,We,Pe,He),ei(O,!0);const Pt=ua(O),qt=O.subTree;O.subTree=Pt,C(qt,Pt,m(qt.el),X(qt),O,ne,ye),Pe.el=Pt.el,it===null&&dc(O,Pt.el),Re&&$t(Re,ne),(tt=Pe.props&&Pe.props.onVnodeUpdated)&&$t(()=>tn(tt,We,Pe,He),ne)}else{let Pe;const{el:Ie,props:Re}=L,{bm:We,m:He,parent:it}=O,tt=oi(L);if(ei(O,!1),We&&Ni(We),!tt&&(Pe=Re&&Re.onVnodeBeforeMount)&&tn(Pe,it,L),ei(O,!0),Ie&&je){const Pt=()=>{O.subTree=ua(O),je(Ie,O.subTree,O,ne,null)};tt?L.type.__asyncLoader().then(()=>!O.isUnmounted&&Pt()):Pt()}else{const Pt=O.subTree=ua(O);C(null,Pt,J,ue,O,ne,ye),L.el=Pt.el}if(He&&$t(He,ne),!tt&&(Pe=Re&&Re.onVnodeMounted)){const Pt=L;$t(()=>tn(Pe,it,Pt),ne)}(L.shapeFlag&256||it&&oi(it.vnode)&&it.vnode.shapeFlag&256)&&O.a&&$t(O.a,ne),O.isMounted=!0,L=J=ue=null}},me=O.effect=new Ds(ge,nn,()=>Na(ce),O.scope),ce=O.update=()=>{me.dirty&&me.run()};ce.id=O.uid,ei(O,!0),ce()},P=(O,L,J)=>{L.component=O;const ue=O.vnode.props;O.vnode=L,O.next=null,_x(O,L.props,ue,J),Ax(O,L.children,J),Hr(),wh(O),fr()},_=(O,L,J,ue,ne,ye,_e,ge,me=!1)=>{const ce=O&&O.children,Pe=O?O.shapeFlag:0,Ie=L.children,{patchFlag:Re,shapeFlag:We}=L;if(Re>0){if(Re&128){N(ce,Ie,J,ue,ne,ye,_e,ge,me);return}else if(Re&256){Y(ce,Ie,J,ue,ne,ye,_e,ge,me);return}}We&8?(Pe&16&&ke(ce,ne,ye),Ie!==ce&&p(J,Ie)):Pe&16?We&16?N(ce,Ie,J,ue,ne,ye,_e,ge,me):ke(ce,ne,ye,!0):(Pe&8&&p(J,""),We&16&&G(Ie,J,ue,ne,ye,_e,ge,me))},Y=(O,L,J,ue,ne,ye,_e,ge,me)=>{O=O||Li,L=L||Li;const ce=O.length,Pe=L.length,Ie=Math.min(ce,Pe);let Re;for(Re=0;RePe?ke(O,ne,ye,!0,!1,Ie):G(L,J,ue,ne,ye,_e,ge,me,Ie)},N=(O,L,J,ue,ne,ye,_e,ge,me)=>{let ce=0;const Pe=L.length;let Ie=O.length-1,Re=Pe-1;for(;ce<=Ie&&ce<=Re;){const We=O[ce],He=L[ce]=me?Tr(L[ce]):gn(L[ce]);if(Mn(We,He))C(We,He,J,null,ne,ye,_e,ge,me);else break;ce++}for(;ce<=Ie&&ce<=Re;){const We=O[Ie],He=L[Re]=me?Tr(L[Re]):gn(L[Re]);if(Mn(We,He))C(We,He,J,null,ne,ye,_e,ge,me);else break;Ie--,Re--}if(ce>Ie){if(ce<=Re){const We=Re+1,He=WeRe)for(;ce<=Ie;)Q(O[ce],ne,ye,!0),ce++;else{const We=ce,He=ce,it=new Map;for(ce=He;ce<=Re;ce++){const Dt=L[ce]=me?Tr(L[ce]):gn(L[ce]);Dt.key!=null&&it.set(Dt.key,ce)}let tt,Pt=0;const qt=Re-He+1;let Dn=!1,di=0;const zn=new Array(qt);for(ce=0;ce=qt){Q(Dt,ne,ye,!0);continue}let Zt;if(Dt.key!=null)Zt=it.get(Dt.key);else for(tt=He;tt<=Re;tt++)if(zn[tt-He]===0&&Mn(Dt,L[tt])){Zt=tt;break}Zt===void 0?Q(Dt,ne,ye,!0):(zn[Zt-He]=ce+1,Zt>=di?di=Zt:Dn=!0,C(Dt,L[Zt],J,null,ne,ye,_e,ge,me),Pt++)}const hi=Dn?kx(zn):Li;for(tt=hi.length-1,ce=qt-1;ce>=0;ce--){const Dt=He+ce,Zt=L[Dt],ro=Dt+1{const{el:ye,type:_e,transition:ge,children:me,shapeFlag:ce}=O;if(ce&6){b(O.component.subTree,L,J,ue);return}if(ce&128){O.suspense.move(L,J,ue);return}if(ce&64){_e.move(O,L,J,Ae);return}if(_e===et){s(ye,L,J);for(let Ie=0;Iege.enter(ye),ne);else{const{leave:Ie,delayLeave:Re,afterLeave:We}=ge,He=()=>s(ye,L,J),it=()=>{Ie(ye,()=>{He(),We&&We()})};Re?Re(ye,He,it):it()}else s(ye,L,J)},Q=(O,L,J,ue=!1,ne=!1)=>{const{type:ye,props:_e,ref:ge,children:me,dynamicChildren:ce,shapeFlag:Pe,patchFlag:Ie,dirs:Re,memoIndex:We}=O;if(Ie===-2&&(ne=!1),ge!=null&&ba(ge,null,J,O,!0),We!=null&&(L.renderCache[We]=void 0),Pe&256){L.ctx.deactivate(O);return}const He=Pe&1&&Re,it=!oi(O);let tt;if(it&&(tt=_e&&_e.onVnodeBeforeUnmount)&&tn(tt,L,O),Pe&6)be(O.component,J,ue);else{if(Pe&128){O.suspense.unmount(J,ue);return}He&&Fn(O,null,L,"beforeUnmount"),Pe&64?O.type.remove(O,L,J,Ae,ue):ce&&(ye!==et||Ie>0&&Ie&64)?ke(ce,L,J,!1,!0):(ye===et&&Ie&384||!ne&&Pe&16)&&ke(me,L,J),ue&&de(O)}(it&&(tt=_e&&_e.onVnodeUnmounted)||He)&&$t(()=>{tt&&tn(tt,L,O),He&&Fn(O,null,L,"unmounted")},J)},de=O=>{const{type:L,el:J,anchor:ue,transition:ne}=O;if(L===et){Ce(J,ue);return}if(L===Hi){k(O);return}const ye=()=>{o(J),ne&&!ne.persisted&&ne.afterLeave&&ne.afterLeave()};if(O.shapeFlag&1&&ne&&!ne.persisted){const{leave:_e,delayLeave:ge}=ne,me=()=>_e(J,ye);ge?ge(O.el,ye,me):me()}else ye()},Ce=(O,L)=>{let J;for(;O!==L;)J=v(O),o(O),O=J;o(L)},be=(O,L,J)=>{const{bum:ue,scope:ne,update:ye,subTree:_e,um:ge,m:me,a:ce}=O;wa(me),wa(ce),ue&&Ni(ue),ne.stop(),ye&&(ye.active=!1,Q(_e,O,L,J)),ge&&$t(ge,L),$t(()=>{O.isUnmounted=!0},L),L&&L.pendingBranch&&!L.isUnmounted&&O.asyncDep&&!O.asyncResolved&&O.suspenseId===L.pendingId&&(L.deps--,L.deps===0&&L.resolve())},ke=(O,L,J,ue=!1,ne=!1,ye=0)=>{for(let _e=ye;_eO.shapeFlag&6?X(O.component.subTree):O.shapeFlag&128?O.suspense.next():v(O.anchor||O.el);let se=!1;const he=(O,L,J)=>{O==null?L._vnode&&Q(L._vnode,null,null,!0):C(L._vnode||null,O,L,null,null,null,J),se||(se=!0,wh(),ya(),se=!1),L._vnode=O},Ae={p:C,um:Q,m:b,r:de,mt:E,mc:G,pc:_,pbc:F,n:X,o:e};let Oe,je;return t&&([Oe,je]=t(Ae)),{render:he,hydrate:Oe,createApp:gx(he,Oe)}}function fu({type:e,props:t},r){return r==="svg"&&e==="foreignObject"||r==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:r}function ei({effect:e,update:t},r){e.allowRecurse=t.allowRecurse=r}function Bm(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function _c(e,t,r=!1){const s=e.children,o=t.children;if(Se(s)&&Se(o))for(let l=0;l>1,e[r[c]]0&&(t[s]=r[l-1]),r[l]=s)}}for(l=r.length,u=r[l-1];l-- >0;)r[l]=u,u=t[u];return r}function Vm(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:Vm(t)}function wa(e){if(e)for(let t=0;ton(Ox);function M3(e,t){return Ys(e,null,t)}function Tx(e,t){return Ys(e,null,{flush:"post"})}function Ix(e,t){return Ys(e,null,{flush:"sync"})}const ta={};function at(e,t,r){return Ys(e,t,r)}function Ys(e,t,{immediate:r,deep:s,flush:o,once:l,onTrack:u,onTrigger:c}=ft){if(t&&l){const T=t;t=(...q)=>{T(...q),R()}}const f=Tt,h=T=>s===!0?T:Mr(T,s===!1?1:void 0);let p,m=!1,v=!1;if(Ct(e)?(p=()=>e.value,m=va(e)):si(e)?(p=()=>h(e),m=!0):Se(e)?(v=!0,m=e.some(T=>si(T)||va(T)),p=()=>e.map(T=>{if(Ct(T))return T.value;if(si(T))return h(T);if(Be(T))return Dr(T,f,2)})):Be(e)?t?p=()=>Dr(e,f,2):p=()=>(g&&g(),Sn(e,f,3,[S])):p=nn,t&&s){const T=p;p=()=>Mr(T())}let g,S=T=>{g=A.onStop=()=>{Dr(T,f,4),g=A.onStop=void 0}},C;if(Xs)if(S=nn,t?r&&Sn(t,f,3,[p(),v?[]:void 0,S]):p(),o==="sync"){const T=Rx();C=T.__watcherHandles||(T.__watcherHandles=[])}else return nn;let I=v?new Array(e.length).fill(ta):ta;const V=()=>{if(!(!A.active||!A.dirty))if(t){const T=A.run();(s||m||(v?T.some((q,G)=>Ln(q,I[G])):Ln(T,I)))&&(g&&g(),Sn(t,f,3,[T,I===ta?void 0:v&&I[0]===ta?[]:I,S]),I=T)}else A.run()};V.allowRecurse=!!t;let D;o==="sync"?D=V:o==="post"?D=()=>$t(V,f&&f.suspense):(V.pre=!0,f&&(V.id=f.uid),D=()=>Na(V));const A=new Ds(p,nn,D),k=Zp(),R=()=>{A.stop(),k&&nc(k.effects,A)};return t?r?V():I=A.run():o==="post"?$t(A.run.bind(A),f&&f.suspense):A.run(),C&&C.push(R),R}function Mx(e,t,r){const s=this.proxy,o=bt(e)?e.includes(".")?Wm(s,e):()=>s[e]:e.bind(s,s);let l;Be(t)?l=t:(l=t.handler,r=t);const u=ui(this),c=Ys(o,l.bind(s),r);return u(),c}function Wm(e,t){const r=t.split(".");return()=>{let s=e;for(let o=0;o{Mr(s,t,r)});else if(Hp(e)){for(const s in e)Mr(e[s],t,r);for(const s of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,s)&&Mr(e[s],t,r)}return e}const Zs=e=>e.type.__isKeepAlive,Lx={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const r=Ur(),s=r.ctx;if(!s.renderer)return()=>{const D=t.default&&t.default();return D&&D.length===1?D[0]:D};const o=new Map,l=new Set;let u=null;const c=r.suspense,{renderer:{p:f,m:h,um:p,o:{createElement:m}}}=s,v=m("div");s.activate=(D,A,k,R,T)=>{const q=D.component;h(D,A,k,0,c),f(q.vnode,D,A,k,q,c,R,D.slotScopeIds,T),$t(()=>{q.isDeactivated=!1,q.a&&Ni(q.a);const G=D.props&&D.props.onVnodeMounted;G&&tn(G,q.parent,D)},c)},s.deactivate=D=>{const A=D.component;wa(A.m),wa(A.a),h(D,v,null,1,c),$t(()=>{A.da&&Ni(A.da);const k=D.props&&D.props.onVnodeUnmounted;k&&tn(k,A.parent,D),A.isDeactivated=!0},c)};function g(D){du(D),p(D,r,c,!0)}function S(D){o.forEach((A,k)=>{const R=Fu(A.type);R&&(!D||!D(R))&&C(k)})}function C(D){const A=o.get(D);!u||!Mn(A,u)?g(A):u&&du(u),o.delete(D),l.delete(D)}at(()=>[e.include,e.exclude],([D,A])=>{D&&S(k=>xs(D,k)),A&&S(k=>!xs(A,k))},{flush:"post",deep:!0});let I=null;const V=()=>{I!=null&&(Ou(r.subTree.type)?$t(()=>{o.set(I,na(r.subTree))},r.subTree.suspense):o.set(I,na(r.subTree)))};return Wt(V),mc(V),Fa(()=>{o.forEach(D=>{const{subTree:A,suspense:k}=r,R=na(A);if(D.type===R.type&&D.key===R.key){du(R);const T=R.component.da;T&&$t(T,k);return}g(D)})}),()=>{if(I=null,!t.default)return null;const D=t.default(),A=D[0];if(D.length>1)return u=null,D;if(!Vr(A)||!(A.shapeFlag&4)&&!(A.shapeFlag&128))return u=null,A;let k=na(A);const R=k.type,T=Fu(oi(k)?k.type.__asyncResolved||{}:R),{include:q,exclude:G,max:W}=e;if(q&&(!T||!xs(q,T))||G&&T&&xs(G,T))return u=k,A;const F=k.key==null?R:k.key,K=o.get(F);return k.el&&(k=dr(k),A.shapeFlag&128&&(A.ssContent=k)),I=F,K?(k.el=K.el,k.component=K.component,k.transition&&ai(k,k.transition),k.shapeFlag|=512,l.delete(F),l.add(F)):(l.add(F),W&&l.size>parseInt(W,10)&&C(l.values().next().value)),k.shapeFlag|=256,u=k,Ou(A.type)?A:k}}},L3=Lx;function xs(e,t){return Se(e)?e.some(r=>xs(r,t)):bt(e)?e.split(",").includes(t):ZA(e)?e.test(t):!1}function $x(e,t){Fm(e,"a",t)}function Dx(e,t){Fm(e,"da",t)}function Fm(e,t,r=Tt){const s=e.__wdc||(e.__wdc=()=>{let o=r;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(Wa(t,s,r),r){let o=r.parent;for(;o&&o.parent;)Zs(o.parent.vnode)&&Nx(s,t,r,o),o=o.parent}}function Nx(e,t,r,s){const o=Wa(t,e,s,!0);gc(()=>{nc(s[t],o)},r)}function du(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function na(e){return e.shapeFlag&128?e.ssContent:e}const Rr=Symbol("_leaveCb"),ra=Symbol("_enterCb");function Hm(){const e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Wt(()=>{e.isMounted=!0}),Fa(()=>{e.isUnmounting=!0}),e}const En=[Function,Array],Um={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:En,onEnter:En,onAfterEnter:En,onEnterCancelled:En,onBeforeLeave:En,onLeave:En,onAfterLeave:En,onLeaveCancelled:En,onBeforeAppear:En,onAppear:En,onAfterAppear:En,onAppearCancelled:En},qm=e=>{const t=e.subTree;return t.component?qm(t.component):t},Bx={name:"BaseTransition",props:Um,setup(e,{slots:t}){const r=Ur(),s=Hm();return()=>{const o=t.default&&bc(t.default(),!0);if(!o||!o.length)return;let l=o[0];if(o.length>1){for(const v of o)if(v.type!==Vt){l=v;break}}const u=nt(e),{mode:c}=u;if(s.isLeaving)return hu(l);const f=Mh(l);if(!f)return hu(l);let h=js(f,u,s,r,v=>h=v);ai(f,h);const p=r.subTree,m=p&&Mh(p);if(m&&m.type!==Vt&&!Mn(f,m)&&qm(r).type!==Vt){const v=js(m,u,s,r);if(ai(m,v),c==="out-in"&&f.type!==Vt)return s.isLeaving=!0,v.afterLeave=()=>{s.isLeaving=!1,r.update.active!==!1&&(r.effect.dirty=!0,r.update())},hu(l);c==="in-out"&&f.type!==Vt&&(v.delayLeave=(g,S,C)=>{const I=jm(s,m);I[String(m.key)]=m,g[Rr]=()=>{S(),g[Rr]=void 0,delete h.delayedLeave},h.delayedLeave=C})}return l}}},Vx=Bx;function jm(e,t){const{leavingVNodes:r}=e;let s=r.get(t.type);return s||(s=Object.create(null),r.set(t.type,s)),s}function js(e,t,r,s,o){const{appear:l,mode:u,persisted:c=!1,onBeforeEnter:f,onEnter:h,onAfterEnter:p,onEnterCancelled:m,onBeforeLeave:v,onLeave:g,onAfterLeave:S,onLeaveCancelled:C,onBeforeAppear:I,onAppear:V,onAfterAppear:D,onAppearCancelled:A}=t,k=String(e.key),R=jm(r,e),T=(W,F)=>{W&&Sn(W,s,9,F)},q=(W,F)=>{const K=F[1];T(W,F),Se(W)?W.every(j=>j.length<=1)&&K():W.length<=1&&K()},G={mode:u,persisted:c,beforeEnter(W){let F=f;if(!r.isMounted)if(l)F=I||f;else return;W[Rr]&&W[Rr](!0);const K=R[k];K&&Mn(e,K)&&K.el[Rr]&&K.el[Rr](),T(F,[W])},enter(W){let F=h,K=p,j=m;if(!r.isMounted)if(l)F=V||h,K=D||p,j=A||m;else return;let U=!1;const E=W[ra]=M=>{U||(U=!0,M?T(j,[W]):T(K,[W]),G.delayedLeave&&G.delayedLeave(),W[ra]=void 0)};F?q(F,[W,E]):E()},leave(W,F){const K=String(e.key);if(W[ra]&&W[ra](!0),r.isUnmounting)return F();T(v,[W]);let j=!1;const U=W[Rr]=E=>{j||(j=!0,F(),E?T(C,[W]):T(S,[W]),W[Rr]=void 0,R[K]===e&&delete R[K])};R[K]=e,g?q(g,[W,U]):U()},clone(W){const F=js(W,t,r,s,o);return o&&o(F),F}};return G}function hu(e){if(Zs(e))return e=dr(e),e.children=null,e}function Mh(e){if(!Zs(e))return e;const{shapeFlag:t,children:r}=e;if(r){if(t&16)return r[0];if(t&32&&Be(r.default))return r.default()}}function ai(e,t){e.shapeFlag&6&&e.component?ai(e.component.subTree,t):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function bc(e,t=!1,r){let s=[],o=0;for(let l=0;l1)for(let l=0;le.__isTeleport,Rs=e=>e&&(e.disabled||e.disabled===""),Lh=e=>typeof SVGElement<"u"&&e instanceof SVGElement,$h=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,Du=(e,t)=>{const r=e&&e.to;return bt(r)?t?t(r):null:r},Fx={name:"Teleport",__isTeleport:!0,process(e,t,r,s,o,l,u,c,f,h){const{mc:p,pc:m,pbc:v,o:{insert:g,querySelector:S,createText:C,createComment:I}}=h,V=Rs(t.props);let{shapeFlag:D,children:A,dynamicChildren:k}=t;if(e==null){const R=t.el=C(""),T=t.anchor=C("");g(R,r,s),g(T,r,s);const q=t.target=Du(t.props,S),G=t.targetAnchor=C("");q&&(g(G,q),u==="svg"||Lh(q)?u="svg":(u==="mathml"||$h(q))&&(u="mathml"));const W=(F,K)=>{D&16&&p(A,F,K,o,l,u,c,f)};V?W(r,T):q&&W(q,G)}else{t.el=e.el;const R=t.anchor=e.anchor,T=t.target=e.target,q=t.targetAnchor=e.targetAnchor,G=Rs(e.props),W=G?r:T,F=G?R:q;if(u==="svg"||Lh(T)?u="svg":(u==="mathml"||$h(T))&&(u="mathml"),k?(v(e.dynamicChildren,k,W,o,l,u,c),_c(e,t,!0)):f||m(e,t,W,F,o,l,u,c,!1),V)G?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):ia(t,r,R,h,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const K=t.target=Du(t.props,S);K&&ia(t,K,null,h,0)}else G&&ia(t,T,q,h,1)}Km(t)},remove(e,t,r,{um:s,o:{remove:o}},l){const{shapeFlag:u,children:c,anchor:f,targetAnchor:h,target:p,props:m}=e;if(p&&o(h),l&&o(f),u&16){const v=l||!Rs(m);for(let g=0;g0?rn||Li:null,Gm(),li>0&&rn&&rn.push(e),e}function ve(e,t,r,s,o,l){return zm(te(e,t,r,s,o,l,!0))}function Ze(e,t,r,s,o){return zm(pe(e,t,r,s,o,!0))}function Vr(e){return e?e.__v_isVNode===!0:!1}function Mn(e,t){return e.type===t.type&&e.key===t.key}function $3(e){}const Ym=({key:e})=>e??null,ca=({ref:e,ref_key:t,ref_for:r})=>(typeof e=="number"&&(e=""+e),e!=null?bt(e)||Ct(e)||Be(e)?{i:It,r:e,k:t,f:!!r}:e:null);function te(e,t=null,r=null,s=0,o=null,l=e===et?0:1,u=!1,c=!1){const f={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ym(t),ref:t&&ca(t),scopeId:Va,slotScopeIds:null,children:r,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:l,patchFlag:s,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:It};return c?(wc(f,r),l&128&&e.normalize(f)):r&&(f.shapeFlag|=bt(r)?8:16),li>0&&!u&&rn&&(f.patchFlag>0||l&6)&&f.patchFlag!==32&&rn.push(f),f}const pe=Ux;function Ux(e,t=null,r=null,s=0,o=null,l=!1){if((!e||e===Am)&&(e=Vt),Vr(e)){const c=dr(e,t,!0);return r&&wc(c,r),li>0&&!l&&rn&&(c.shapeFlag&6?rn[rn.indexOf(e)]=c:rn.push(c)),c.patchFlag=-2,c}if(Jx(e)&&(e=e.__vccOpts),t){t=qx(t);let{class:c,style:f}=t;c&&!bt(c)&&(t.class=Ye(c)),dt(f)&&(dm(f)&&!Se(f)&&(f=vt({},f)),t.style=Fr(f))}const u=bt(e)?1:Ou(e)?128:Wx(e)?64:dt(e)?4:Be(e)?2:0;return te(e,t,r,s,o,u,l,!0)}function qx(e){return e?dm(e)||Tm(e)?vt({},e):e:null}function dr(e,t,r=!1,s=!1){const{props:o,ref:l,patchFlag:u,children:c,transition:f}=e,h=t?Kx(o||{},t):o,p={__v_isVNode:!0,__v_skip:!0,type:e.type,props:h,key:h&&Ym(h),ref:t&&t.ref?r&&l?Se(l)?l.concat(ca(t)):[l,ca(t)]:ca(t):l,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:c,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==et?u===-1?16:u|16:u,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:f,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&dr(e.ssContent),ssFallback:e.ssFallback&&dr(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return f&&s&&ai(p,f.clone(p)),p}function Ha(e=" ",t=0){return pe(ji,null,e,t)}function jx(e,t){const r=pe(Hi,null,e);return r.staticCount=t,r}function Me(e="",t=!1){return t?(re(),Ze(Vt,null,e)):pe(Vt,null,e)}function gn(e){return e==null||typeof e=="boolean"?pe(Vt):Se(e)?pe(et,null,e.slice()):typeof e=="object"?Tr(e):pe(ji,null,String(e))}function Tr(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:dr(e)}function wc(e,t){let r=0;const{shapeFlag:s}=e;if(t==null)t=null;else if(Se(t))r=16;else if(typeof t=="object")if(s&65){const o=t.default;o&&(o._c&&(o._d=!1),wc(e,o()),o._c&&(o._d=!0));return}else{r=32;const o=t._;!o&&!Tm(t)?t._ctx=It:o===3&&It&&(It.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else Be(t)?(t={default:t,_ctx:It},r=32):(t=String(t),s&64?(r=16,t=[Ha(t)]):r=8);e.children=t,e.shapeFlag|=r}function Kx(...e){const t={};for(let r=0;rTt||It;let Aa,Nu;{const e=qp(),t=(r,s)=>{let o;return(o=e[r])||(o=e[r]=[]),o.push(s),l=>{o.length>1?o.forEach(u=>u(l)):o[0](l)}};Aa=t("__VUE_INSTANCE_SETTERS__",r=>Tt=r),Nu=t("__VUE_SSR_SETTERS__",r=>Xs=r)}const ui=e=>{const t=Tt;return Aa(e),e.scope.on(),()=>{e.scope.off(),Aa(t)}},Bu=()=>{Tt&&Tt.scope.off(),Aa(null)};function Jm(e){return e.vnode.shapeFlag&4}let Xs=!1;function Xm(e,t=!1){t&&Nu(t);const{props:r,children:s}=e.vnode,o=Jm(e);yx(e,r,o,t),wx(e,s);const l=o?Yx(e,t):void 0;return t&&Nu(!1),l}function Yx(e,t){const r=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Iu);const{setup:s}=r;if(s){const o=e.setupContext=s.length>1?eg(e):null,l=ui(e);Hr();const u=Dr(s,e,0,[e.props,o]);if(fr(),l(),rc(u)){if(u.then(Bu,Bu),t)return u.then(c=>{Vu(e,c,t)}).catch(c=>{Xi(c,e,0)});e.asyncDep=u}else Vu(e,u,t)}else Qm(e,t)}function Vu(e,t,r){Be(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:dt(t)&&(e.setupState=mm(t)),Qm(e,r)}let Pa,Wu;function D3(e){Pa=e,Wu=t=>{t.render._rc&&(t.withProxy=new Proxy(t.ctx,ux))}}const N3=()=>!Pa;function Qm(e,t,r){const s=e.type;if(!e.render){if(!t&&Pa&&!s.render){const o=s.template||vc(e).template;if(o){const{isCustomElement:l,compilerOptions:u}=e.appContext.config,{delimiters:c,compilerOptions:f}=s,h=vt(vt({isCustomElement:l,delimiters:c},u),f);s.render=Pa(o,h)}}e.render=s.render||nn,Wu&&Wu(e)}{const o=ui(e);Hr();try{cx(e)}finally{fr(),o()}}}const Zx={get(e,t){return an(e,"get",""),e[t]}};function eg(e){const t=r=>{e.exposed=r||{}};return{attrs:new Proxy(e.attrs,Zx),slots:e.slots,emit:e.emit,expose:t}}function Qs(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(mm(lc(e.exposed)),{get(t,r){if(r in t)return t[r];if(r in Os)return Os[r](e)},has(t,r){return r in t||r in Os}})):e.proxy}function Fu(e,t=!0){return Be(e)?e.displayName||e.name:e.name||t&&e.__name}function Jx(e){return Be(e)&&"__vccOpts"in e}const Ve=(e,t)=>RP(e,t,Xs);function B3(e,t,r=ft){const s=Ur(),o=sn(t),l=vn(t),u=$P((f,h)=>{let p;return Ix(()=>{const m=e[t];Ln(p,m)&&(p=m,h())}),{get(){return f(),r.get?r.get(p):p},set(m){const v=s.vnode.props;!(v&&(t in v||o in v||l in v)&&(`onUpdate:${t}`in v||`onUpdate:${o}`in v||`onUpdate:${l}`in v))&&Ln(m,p)&&(p=m,h()),s.emit(`update:${t}`,r.set?r.set(m):m)}}}),c=t==="modelValue"?"modelModifiers":`${t}Modifiers`;return u[Symbol.iterator]=()=>{let f=0;return{next(){return f<2?{value:f++?e[c]||{}:u,done:!1}:{done:!0}}}},u}function Ac(e,t,r){const s=arguments.length;return s===2?dt(t)&&!Se(t)?Vr(t)?pe(e,null,[t]):pe(e,t):pe(e,null,t):(s>3?r=Array.prototype.slice.call(arguments,2):s===3&&Vr(r)&&(r=[r]),pe(e,t,r))}function V3(){}function W3(e,t,r,s){const o=r[s];if(o&&Xx(o,e))return o;const l=t();return l.memo=e.slice(),l.memoIndex=s,r[s]=l}function Xx(e,t){const r=e.memo;if(r.length!=t.length)return!1;for(let s=0;s0&&rn&&rn.push(e),!0}const Qx="3.4.30",F3=nn,H3=VP,U3=Ti,q3=bm,eC={createComponentInstance:Zm,setupComponent:Xm,renderComponentRoot:ua,setCurrentRenderingInstance:Fs,isVNode:Vr,normalizeVNode:gn,getComponentPublicInstance:Qs},j3=eC,K3=null,G3=null,z3=null;/** +* @vue/runtime-dom v3.4.30 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/const tC="http://www.w3.org/2000/svg",nC="http://www.w3.org/1998/Math/MathML",or=typeof document<"u"?document:null,Nh=or&&or.createElement("template"),rC={insert:(e,t,r)=>{t.insertBefore(e,r||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,r,s)=>{const o=t==="svg"?or.createElementNS(tC,e):t==="mathml"?or.createElementNS(nC,e):r?or.createElement(e,{is:r}):or.createElement(e);return e==="select"&&s&&s.multiple!=null&&o.setAttribute("multiple",s.multiple),o},createText:e=>or.createTextNode(e),createComment:e=>or.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>or.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,r,s,o,l){const u=r?r.previousSibling:t.lastChild;if(o&&(o===l||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),r),!(o===l||!(o=o.nextSibling)););else{Nh.innerHTML=s==="svg"?`${e}`:s==="mathml"?`${e}`:e;const c=Nh.content;if(s==="svg"||s==="mathml"){const f=c.firstChild;for(;f.firstChild;)c.appendChild(f.firstChild);c.removeChild(f)}t.insertBefore(c,r)}return[u?u.nextSibling:t.firstChild,r?r.previousSibling:t.lastChild]}},Cr="transition",gs="animation",Ki=Symbol("_vtc"),tg=(e,{slots:t})=>Ac(Vx,rg(e),t);tg.displayName="Transition";const ng={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},iC=tg.props=vt({},Um,ng),ti=(e,t=[])=>{Se(e)?e.forEach(r=>r(...t)):e&&e(...t)},Bh=e=>e?Se(e)?e.some(t=>t.length>1):e.length>1:!1;function rg(e){const t={};for(const j in e)j in ng||(t[j]=e[j]);if(e.css===!1)return t;const{name:r="v",type:s,duration:o,enterFromClass:l=`${r}-enter-from`,enterActiveClass:u=`${r}-enter-active`,enterToClass:c=`${r}-enter-to`,appearFromClass:f=l,appearActiveClass:h=u,appearToClass:p=c,leaveFromClass:m=`${r}-leave-from`,leaveActiveClass:v=`${r}-leave-active`,leaveToClass:g=`${r}-leave-to`}=e,S=sC(o),C=S&&S[0],I=S&&S[1],{onBeforeEnter:V,onEnter:D,onEnterCancelled:A,onLeave:k,onLeaveCancelled:R,onBeforeAppear:T=V,onAppear:q=D,onAppearCancelled:G=A}=t,W=(j,U,E)=>{Sr(j,U?p:c),Sr(j,U?h:u),E&&E()},F=(j,U)=>{j._isLeaving=!1,Sr(j,m),Sr(j,g),Sr(j,v),U&&U()},K=j=>(U,E)=>{const M=j?q:D,B=()=>W(U,j,E);ti(M,[U,B]),Vh(()=>{Sr(U,j?f:l),sr(U,j?p:c),Bh(M)||Wh(U,s,C,B)})};return vt(t,{onBeforeEnter(j){ti(V,[j]),sr(j,l),sr(j,u)},onBeforeAppear(j){ti(T,[j]),sr(j,f),sr(j,h)},onEnter:K(!1),onAppear:K(!0),onLeave(j,U){j._isLeaving=!0;const E=()=>F(j,U);sr(j,m),sr(j,v),sg(),Vh(()=>{j._isLeaving&&(Sr(j,m),sr(j,g),Bh(k)||Wh(j,s,I,E))}),ti(k,[j,E])},onEnterCancelled(j){W(j,!1),ti(A,[j])},onAppearCancelled(j){W(j,!0),ti(G,[j])},onLeaveCancelled(j){F(j),ti(R,[j])}})}function sC(e){if(e==null)return null;if(dt(e))return[pu(e.enter),pu(e.leave)];{const t=pu(e);return[t,t]}}function pu(e){return ma(e)}function sr(e,t){t.split(/\s+/).forEach(r=>r&&e.classList.add(r)),(e[Ki]||(e[Ki]=new Set)).add(t)}function Sr(e,t){t.split(/\s+/).forEach(s=>s&&e.classList.remove(s));const r=e[Ki];r&&(r.delete(t),r.size||(e[Ki]=void 0))}function Vh(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let oC=0;function Wh(e,t,r,s){const o=e._endId=++oC,l=()=>{o===e._endId&&s()};if(r)return setTimeout(l,r);const{type:u,timeout:c,propCount:f}=ig(e,t);if(!u)return s();const h=u+"end";let p=0;const m=()=>{e.removeEventListener(h,v),l()},v=g=>{g.target===e&&++p>=f&&m()};setTimeout(()=>{p(r[S]||"").split(", "),o=s(`${Cr}Delay`),l=s(`${Cr}Duration`),u=Fh(o,l),c=s(`${gs}Delay`),f=s(`${gs}Duration`),h=Fh(c,f);let p=null,m=0,v=0;t===Cr?u>0&&(p=Cr,m=u,v=l.length):t===gs?h>0&&(p=gs,m=h,v=f.length):(m=Math.max(u,h),p=m>0?u>h?Cr:gs:null,v=p?p===Cr?l.length:f.length:0);const g=p===Cr&&/\b(transform|all)(,|$)/.test(s(`${Cr}Property`).toString());return{type:p,timeout:m,propCount:v,hasTransform:g}}function Fh(e,t){for(;e.lengthHh(r)+Hh(e[s])))}function Hh(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function sg(){return document.body.offsetHeight}function aC(e,t,r){const s=e[Ki];s&&(t=(t?[t,...s]:[...s]).join(" ")),t==null?e.removeAttribute("class"):r?e.setAttribute("class",t):e.className=t}const xa=Symbol("_vod"),og=Symbol("_vsh"),Ca={beforeMount(e,{value:t},{transition:r}){e[xa]=e.style.display==="none"?"":e.style.display,r&&t?r.beforeEnter(e):vs(e,t)},mounted(e,{value:t},{transition:r}){r&&t&&r.enter(e)},updated(e,{value:t,oldValue:r},{transition:s}){!t!=!r&&(s?t?(s.beforeEnter(e),vs(e,!0),s.enter(e)):s.leave(e,()=>{vs(e,!1)}):vs(e,t))},beforeUnmount(e,{value:t}){vs(e,t)}};function vs(e,t){e.style.display=t?e[xa]:"none",e[og]=!t}function lC(){Ca.getSSRProps=({value:e})=>{if(!e)return{style:{display:"none"}}}}const ag=Symbol("");function Y3(e){const t=Ur();if(!t)return;const r=t.ut=(o=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(l=>Uu(l,o))},s=()=>{const o=e(t.proxy);Hu(t.subTree,o),r(o)};Wt(()=>{Tx(s);const o=new MutationObserver(s);o.observe(t.subTree.el.parentNode,{childList:!0}),gc(()=>o.disconnect())})}function Hu(e,t){if(e.shapeFlag&128){const r=e.suspense;e=r.activeBranch,r.pendingBranch&&!r.isHydrating&&r.effects.push(()=>{Hu(r.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(e.shapeFlag&1&&e.el)Uu(e.el,t);else if(e.type===et)e.children.forEach(r=>Hu(r,t));else if(e.type===Hi){let{el:r,anchor:s}=e;for(;r&&(Uu(r,t),r!==s);)r=r.nextSibling}}function Uu(e,t){if(e.nodeType===1){const r=e.style;let s="";for(const o in t)r.setProperty(`--${o}`,t[o]),s+=`--${o}: ${t[o]};`;r[ag]=s}}const uC=/(^|;)\s*display\s*:/;function cC(e,t,r){const s=e.style,o=bt(r);let l=!1;if(r&&!o){if(t)if(bt(t))for(const u of t.split(";")){const c=u.slice(0,u.indexOf(":")).trim();r[c]==null&&fa(s,c,"")}else for(const u in t)r[u]==null&&fa(s,u,"");for(const u in r)u==="display"&&(l=!0),fa(s,u,r[u])}else if(o){if(t!==r){const u=s[ag];u&&(r+=";"+u),s.cssText=r,l=uC.test(r)}}else t&&e.removeAttribute("style");xa in e&&(e[xa]=l?s.display:"",e[og]&&(s.display="none"))}const Uh=/\s*!important$/;function fa(e,t,r){if(Se(r))r.forEach(s=>fa(e,t,s));else if(r==null&&(r=""),t.startsWith("--"))e.setProperty(t,r);else{const s=fC(e,t);Uh.test(r)?e.setProperty(vn(s),r.replace(Uh,""),"important"):e[s]=r}}const qh=["Webkit","Moz","ms"],mu={};function fC(e,t){const r=mu[t];if(r)return r;let s=sn(t);if(s!=="filter"&&s in e)return mu[t]=s;s=Ia(s);for(let o=0;ogu||(gC.then(()=>gu=0),gu=Date.now());function yC(e,t){const r=s=>{if(!s._vts)s._vts=Date.now();else if(s._vts<=r.attached)return;Sn(_C(s,r.value),t,5,[s])};return r.value=e,r.attached=vC(),r}function _C(e,t){if(Se(t)){const r=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{r.call(e),e._stopped=!0},t.map(s=>o=>!o._stopped&&s&&s(o))}else return t}const Yh=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,bC=(e,t,r,s,o,l,u,c,f)=>{const h=o==="svg";t==="class"?aC(e,s,h):t==="style"?cC(e,r,s):zs(t)?tc(t)||pC(e,t,r,s,u):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):wC(e,t,s,h))?(dC(e,t,s,l,u,c,f),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&Kh(e,t,s,h,u,t!=="value")):(t==="true-value"?e._trueValue=s:t==="false-value"&&(e._falseValue=s),Kh(e,t,s,h))};function wC(e,t,r,s){if(s)return!!(t==="innerHTML"||t==="textContent"||t in e&&Yh(t)&&Be(r));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return Yh(t)&&bt(r)?!1:t in e}/*! #__NO_SIDE_EFFECTS__ */function AC(e,t,r){const s=Ge(e,t);class o extends Pc{constructor(u){super(s,u,r)}}return o.def=s,o}/*! #__NO_SIDE_EFFECTS__ */const Z3=(e,t)=>AC(e,t,$C),PC=typeof HTMLElement<"u"?HTMLElement:class{};class Pc extends PC{constructor(t,r={},s){super(),this._def=t,this._props=r,this._instance=null,this._connected=!1,this._resolved=!1,this._numberProps=null,this._ob=null,this.shadowRoot&&s?s(this._createVNode(),this.shadowRoot):(this.attachShadow({mode:"open"}),this._def.__asyncLoader||this._resolveProps(this._def))}connectedCallback(){this._connected=!0,this._instance||(this._resolved?this._update():this._resolveDef())}disconnectedCallback(){this._connected=!1,Gn(()=>{this._connected||(this._ob&&(this._ob.disconnect(),this._ob=null),tp(null,this.shadowRoot),this._instance=null)})}_resolveDef(){this._resolved=!0;for(let s=0;s{for(const o of s)this._setAttr(o.attributeName)}),this._ob.observe(this,{attributes:!0});const t=(s,o=!1)=>{const{props:l,styles:u}=s;let c;if(l&&!Se(l))for(const f in l){const h=l[f];(h===Number||h&&h.type===Number)&&(f in this._props&&(this._props[f]=ma(this._props[f])),(c||(c=Object.create(null)))[sn(f)]=!0)}this._numberProps=c,o&&this._resolveProps(s),this._applyStyles(u),this._update()},r=this._def.__asyncLoader;r?r().then(s=>t(s,!0)):t(this._def)}_resolveProps(t){const{props:r}=t,s=Se(r)?r:Object.keys(r||{});for(const o of Object.keys(this))o[0]!=="_"&&s.includes(o)&&this._setProp(o,this[o],!0,!1);for(const o of s.map(sn))Object.defineProperty(this,o,{get(){return this._getProp(o)},set(l){this._setProp(o,l)}})}_setAttr(t){let r=this.hasAttribute(t)?this.getAttribute(t):void 0;const s=sn(t);this._numberProps&&this._numberProps[s]&&(r=ma(r)),this._setProp(s,r,!1)}_getProp(t){return this._props[t]}_setProp(t,r,s=!0,o=!0){r!==this._props[t]&&(this._props[t]=r,o&&this._instance&&this._update(),s&&(r===!0?this.setAttribute(vn(t),""):typeof r=="string"||typeof r=="number"?this.setAttribute(vn(t),r+""):r||this.removeAttribute(vn(t))))}_update(){tp(this._createVNode(),this.shadowRoot)}_createVNode(){const t=pe(this._def,vt({},this._props));return this._instance||(t.ce=r=>{this._instance=r,r.isCE=!0;const s=(l,u)=>{this.dispatchEvent(new CustomEvent(l,{detail:u}))};r.emit=(l,...u)=>{s(l,u),vn(l)!==l&&s(vn(l),u)};let o=this;for(;o=o&&(o.parentNode||o.host);)if(o instanceof Pc){r.parent=o._instance,r.provides=o._instance.provides;break}}),t}_applyStyles(t){t&&t.forEach(r=>{const s=document.createElement("style");s.textContent=r,this.shadowRoot.appendChild(s)})}}function J3(e="$style"){{const t=Ur();if(!t)return ft;const r=t.type.__cssModules;if(!r)return ft;const s=r[e];return s||ft}}const lg=new WeakMap,ug=new WeakMap,Ea=Symbol("_moveCb"),Zh=Symbol("_enterCb"),cg={name:"TransitionGroup",props:vt({},iC,{tag:String,moveClass:String}),setup(e,{slots:t}){const r=Ur(),s=Hm();let o,l;return mc(()=>{if(!o.length)return;const u=e.moveClass||`${e.name||"v"}-move`;if(!kC(o[0].el,r.vnode.el,u))return;o.forEach(CC),o.forEach(EC);const c=o.filter(SC);sg(),c.forEach(f=>{const h=f.el,p=h.style;sr(h,u),p.transform=p.webkitTransform=p.transitionDuration="";const m=h[Ea]=v=>{v&&v.target!==h||(!v||/transform$/.test(v.propertyName))&&(h.removeEventListener("transitionend",m),h[Ea]=null,Sr(h,u))};h.addEventListener("transitionend",m)})}),()=>{const u=nt(e),c=rg(u);let f=u.tag||et;if(o=[],l)for(let h=0;hdelete e.mode;cg.props;const X3=cg;function CC(e){const t=e.el;t[Ea]&&t[Ea](),t[Zh]&&t[Zh]()}function EC(e){ug.set(e,e.el.getBoundingClientRect())}function SC(e){const t=lg.get(e),r=ug.get(e),s=t.left-r.left,o=t.top-r.top;if(s||o){const l=e.el.style;return l.transform=l.webkitTransform=`translate(${s}px,${o}px)`,l.transitionDuration="0s",e}}function kC(e,t,r){const s=e.cloneNode(),o=e[Ki];o&&o.forEach(c=>{c.split(/\s+/).forEach(f=>f&&s.classList.remove(f))}),r.split(/\s+/).forEach(c=>c&&s.classList.add(c)),s.style.display="none";const l=t.nodeType===1?t:t.parentNode;l.appendChild(s);const{hasTransform:u}=ig(s);return l.removeChild(s),u}const Wr=e=>{const t=e.props["onUpdate:modelValue"]||!1;return Se(t)?r=>Ni(t,r):t};function OC(e){e.target.composing=!0}function Jh(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const kn=Symbol("_assign"),qu={created(e,{modifiers:{lazy:t,trim:r,number:s}},o){e[kn]=Wr(o);const l=s||o.props&&o.props.type==="number";lr(e,t?"change":"input",u=>{if(u.target.composing)return;let c=e.value;r&&(c=c.trim()),l&&(c=pa(c)),e[kn](c)}),r&&lr(e,"change",()=>{e.value=e.value.trim()}),t||(lr(e,"compositionstart",OC),lr(e,"compositionend",Jh),lr(e,"change",Jh))},mounted(e,{value:t}){e.value=t??""},beforeUpdate(e,{value:t,oldValue:r,modifiers:{lazy:s,trim:o,number:l}},u){if(e[kn]=Wr(u),e.composing)return;const c=(l||e.type==="number")&&!/^0\d/.test(e.value)?pa(e.value):e.value,f=t??"";c!==f&&(document.activeElement===e&&e.type!=="range"&&(s&&t===r||o&&e.value.trim()===f)||(e.value=f))}},fg={deep:!0,created(e,t,r){e[kn]=Wr(r),lr(e,"change",()=>{const s=e._modelValue,o=Gi(e),l=e.checked,u=e[kn];if(Se(s)){const c=Ma(s,o),f=c!==-1;if(l&&!f)u(s.concat(o));else if(!l&&f){const h=[...s];h.splice(c,1),u(h)}}else if(fi(s)){const c=new Set(s);l?c.add(o):c.delete(o),u(c)}else u(hg(e,l))})},mounted:Xh,beforeUpdate(e,t,r){e[kn]=Wr(r),Xh(e,t,r)}};function Xh(e,{value:t,oldValue:r},s){e._modelValue=t,Se(t)?e.checked=Ma(t,s.props.value)>-1:fi(t)?e.checked=t.has(s.props.value):t!==r&&(e.checked=Br(t,hg(e,!0)))}const dg={created(e,{value:t},r){e.checked=Br(t,r.props.value),e[kn]=Wr(r),lr(e,"change",()=>{e[kn](Gi(e))})},beforeUpdate(e,{value:t,oldValue:r},s){e[kn]=Wr(s),t!==r&&(e.checked=Br(t,s.props.value))}},RC={deep:!0,created(e,{value:t,modifiers:{number:r}},s){const o=fi(t);lr(e,"change",()=>{const l=Array.prototype.filter.call(e.options,u=>u.selected).map(u=>r?pa(Gi(u)):Gi(u));e[kn](e.multiple?o?new Set(l):l:l[0]),e._assigning=!0,Gn(()=>{e._assigning=!1})}),e[kn]=Wr(s)},mounted(e,{value:t,modifiers:{number:r}}){Qh(e,t)},beforeUpdate(e,t,r){e[kn]=Wr(r)},updated(e,{value:t,modifiers:{number:r}}){e._assigning||Qh(e,t)}};function Qh(e,t,r){const s=e.multiple,o=Se(t);if(!(s&&!o&&!fi(t))){for(let l=0,u=e.options.length;lString(p)===String(f)):c.selected=Ma(t,f)>-1}else c.selected=t.has(f);else if(Br(Gi(c),t)){e.selectedIndex!==l&&(e.selectedIndex=l);return}}!s&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function Gi(e){return"_value"in e?e._value:e.value}function hg(e,t){const r=t?"_trueValue":"_falseValue";return r in e?e[r]:t}const xc={created(e,t,r){sa(e,t,r,null,"created")},mounted(e,t,r){sa(e,t,r,null,"mounted")},beforeUpdate(e,t,r,s){sa(e,t,r,s,"beforeUpdate")},updated(e,t,r,s){sa(e,t,r,s,"updated")}};function pg(e,t){switch(e){case"SELECT":return RC;case"TEXTAREA":return qu;default:switch(t){case"checkbox":return fg;case"radio":return dg;default:return qu}}}function sa(e,t,r,s,o){const u=pg(e.tagName,r.props&&r.props.type)[o];u&&u(e,t,r,s)}function TC(){qu.getSSRProps=({value:e})=>({value:e}),dg.getSSRProps=({value:e},t)=>{if(t.props&&Br(t.props.value,e))return{checked:!0}},fg.getSSRProps=({value:e},t)=>{if(Se(e)){if(t.props&&Ma(e,t.props.value)>-1)return{checked:!0}}else if(fi(e)){if(t.props&&e.has(t.props.value))return{checked:!0}}else if(e)return{checked:!0}},xc.getSSRProps=(e,t)=>{if(typeof t.type!="string")return;const r=pg(t.type.toUpperCase(),t.props&&t.props.type);if(r.getSSRProps)return r.getSSRProps(e,t)}}const IC=["ctrl","shift","alt","meta"],MC={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>IC.some(r=>e[`${r}Key`]&&!t.includes(r))},At=(e,t)=>{const r=e._withMods||(e._withMods={}),s=t.join(".");return r[s]||(r[s]=(o,...l)=>{for(let u=0;u{const r=e._withKeys||(e._withKeys={}),s=t.join(".");return r[s]||(r[s]=o=>{if(!("key"in o))return;const l=vn(o.key);if(t.some(u=>u===l||LC[u]===l))return e(o)})},mg=vt({patchProp:bC},rC);let Is,ep=!1;function gg(){return Is||(Is=Ex(mg))}function vg(){return Is=ep?Is:Sx(mg),ep=!0,Is}const tp=(...e)=>{gg().render(...e)},$C=(...e)=>{vg().hydrate(...e)},DC=(...e)=>{const t=gg().createApp(...e),{mount:r}=t;return t.mount=s=>{const o=_g(s);if(!o)return;const l=t._component;!Be(l)&&!l.render&&!l.template&&(l.template=o.innerHTML),o.innerHTML="";const u=r(o,!1,yg(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),u},t},eI=(...e)=>{const t=vg().createApp(...e),{mount:r}=t;return t.mount=s=>{const o=_g(s);if(o)return r(o,!0,yg(o))},t};function yg(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function _g(e){return bt(e)?document.querySelector(e):e}let np=!1;const tI=()=>{np||(np=!0,TC(),lC())},lt=(e,t)=>{const r=e.__vccOpts||e;for(const[s,o]of t)r[s]=o;return r},NC={name:"Marquee",mounted(){this.update(),window.addEventListener("resize",this.update)},data(){return{isMarquee:!1}},methods:{isTruncated(e){return e?e.scrollWidth>e.clientWidth:!1},update(){this.isMarquee=!1,setTimeout(()=>{this.isMarquee=this.isTruncated(this.$refs.marquee)},10)}},props:{text:String},watch:{text(){this.update()}}},BC={key:0,class:"replacer"},VC={key:0,class:"overlay"};function WC(e,t,r,s,o,l){return re(),ve("div",{class:Ye([{marquee:o.isMarquee},"marqueeWrapper"])},[te("span",{ref:"marquee",class:Ye({marquee:o.isMarquee})},[Ha(Ne(r.text)+" ",1),o.isMarquee?(re(),ve("span",BC,Ne(r.text),1)):Me("",!0)],2),o.isMarquee?(re(),ve("div",VC)):Me("",!0)],2)}const ar=lt(NC,[["render",WC],["__scopeId","data-v-625a8655"]]);var FC=!1;/*! + * pinia v2.1.7 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */let bg;const Ua=e=>bg=e,wg=Symbol();function ju(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Ms;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Ms||(Ms={}));function HC(){const e=zp(!0),t=e.run(()=>xe({}));let r=[],s=[];const o=lc({install(l){Ua(o),o._a=l,l.provide(wg,o),l.config.globalProperties.$pinia=o,s.forEach(u=>r.push(u)),s=[]},use(l){return!this._a&&!FC?s.push(l):r.push(l),this},_p:r,_a:null,_e:e,_s:new Map,state:t});return o}const Ag=()=>{};function rp(e,t,r,s=Ag){e.push(t);const o=()=>{const l=e.indexOf(t);l>-1&&(e.splice(l,1),s())};return!r&&Zp()&&uP(o),o}function Ri(e,...t){e.slice().forEach(r=>{r(...t)})}const UC=e=>e();function Ku(e,t){e instanceof Map&&t instanceof Map&&t.forEach((r,s)=>e.set(s,r)),e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const r in t){if(!t.hasOwnProperty(r))continue;const s=t[r],o=e[r];ju(o)&&ju(s)&&e.hasOwnProperty(r)&&!Ct(s)&&!si(s)?e[r]=Ku(o,s):e[r]=s}return e}const qC=Symbol();function jC(e){return!ju(e)||!e.hasOwnProperty(qC)}const{assign:kr}=Object;function KC(e){return!!(Ct(e)&&e.effect)}function GC(e,t,r,s){const{state:o,actions:l,getters:u}=t,c=r.state.value[e];let f;function h(){c||(r.state.value[e]=o?o():{});const p=DP(r.state.value[e]);return kr(p,l,Object.keys(u||{}).reduce((m,v)=>(m[v]=lc(Ve(()=>{Ua(r);const g=r._s.get(e);return u[v].call(g,g)})),m),{}))}return f=Pg(e,h,t,r,s,!0),f}function Pg(e,t,r={},s,o,l){let u;const c=kr({actions:{}},r),f={deep:!0};let h,p,m=[],v=[],g;const S=s.state.value[e];!l&&!S&&(s.state.value[e]={}),xe({});let C;function I(G){let W;h=p=!1,typeof G=="function"?(G(s.state.value[e]),W={type:Ms.patchFunction,storeId:e,events:g}):(Ku(s.state.value[e],G),W={type:Ms.patchObject,payload:G,storeId:e,events:g});const F=C=Symbol();Gn().then(()=>{C===F&&(h=!0)}),p=!0,Ri(m,W,s.state.value[e])}const V=l?function(){const{state:W}=r,F=W?W():{};this.$patch(K=>{kr(K,F)})}:Ag;function D(){u.stop(),m=[],v=[],s._s.delete(e)}function A(G,W){return function(){Ua(s);const F=Array.from(arguments),K=[],j=[];function U(B){K.push(B)}function E(B){j.push(B)}Ri(v,{args:F,name:G,store:R,after:U,onError:E});let M;try{M=W.apply(this&&this.$id===e?this:R,F)}catch(B){throw Ri(j,B),B}return M instanceof Promise?M.then(B=>(Ri(K,B),B)).catch(B=>(Ri(j,B),Promise.reject(B))):(Ri(K,M),M)}}const k={_p:s,$id:e,$onAction:rp.bind(null,v),$patch:I,$reset:V,$subscribe(G,W={}){const F=rp(m,G,W.detached,()=>K()),K=u.run(()=>at(()=>s.state.value[e],j=>{(W.flush==="sync"?p:h)&&G({storeId:e,type:Ms.direct,events:g},j)},kr({},f,W)));return F},$dispose:D},R=Ji(k);s._s.set(e,R);const q=(s._a&&s._a.runWithContext||UC)(()=>s._e.run(()=>(u=zp()).run(t)));for(const G in q){const W=q[G];if(Ct(W)&&!KC(W)||si(W))l||(S&&jC(W)&&(Ct(W)?W.value=S[G]:Ku(W,S[G])),s.state.value[e][G]=W);else if(typeof W=="function"){const F=A(G,W);q[G]=F,c.actions[G]=W}}return kr(R,q),kr(nt(R),q),Object.defineProperty(R,"$state",{get:()=>s.state.value[e],set:G=>{I(W=>{kr(W,G)})}}),s._p.forEach(G=>{kr(R,u.run(()=>G({store:R,app:s._a,pinia:s,options:c})))}),S&&l&&r.hydrate&&r.hydrate(R.$state,S),h=!0,p=!0,R}function eo(e,t,r){let s,o;const l=typeof t=="function";typeof e=="string"?(s=e,o=l?r:t):(o=e,s=e.id);function u(c,f){const h=vx();return c=c||(h?on(wg,null):null),c&&Ua(c),c=bg,c._s.has(s)||(l?Pg(s,t,o,c):GC(s,o,c)),c._s.get(s)}return u.$id=s,u}const zC=e=>[...new Set(e)],YC=(e,t)=>e.filter(r=>!t.includes(r)),ZC=(e,t)=>e.filter(r=>t.includes(r)),JC=e=>typeof e=="bigint"||!Number.isNaN(Number(e))&&Math.floor(Number(e))===e,XC=e=>typeof e=="bigint"||e>=0&&Number.isSafeInteger(e);function ys(e,t){if(t.length===0)return e;let r;const s=[...e];for(let o=s.length-1,l=0,u=0;o>0;o--,l++){l%=t.length,u+=r=t[l].codePointAt(0);const c=(r+l+u)%o,f=s[o],h=s[c];s[c]=f,s[o]=h}return s}const QC=(e,t)=>{const r=[];let s=e;if(typeof s=="bigint"){const o=BigInt(t.length);do r.unshift(t[Number(s%o)]),s/=o;while(s>BigInt(0))}else do r.unshift(t[s%t.length]),s=Math.floor(s/t.length);while(s>0);return r},eE=(e,t)=>e.reduce((r,s)=>{const o=t.indexOf(s);if(o===-1)throw new Error(`The provided ID (${e.join("")}) is invalid, as it contains characters that do not exist in the alphabet (${t.join("")})`);if(typeof r=="bigint")return r*BigInt(t.length)+BigInt(o);const l=r*t.length+o;if(Number.isSafeInteger(l))return l;if(typeof BigInt=="function")return BigInt(r)*BigInt(t.length)+BigInt(o);throw new Error("Unable to decode the provided string, due to lack of support for BigInt numbers in the current environment")},0),tE=/^\+?\d+$/,nE=e=>tE.test(e)?Number.parseInt(e,10):Number.NaN,rE=(e,t,r)=>Array.from({length:Math.ceil(e.length/t)},(s,o)=>r(e.slice(o*t,(o+1)*t))),ip=e=>new RegExp(e.map(t=>xg(t)).sort((t,r)=>r.length-t.length).join("|")),iE=e=>new RegExp(`^[${e.map(t=>xg(t)).sort((t,r)=>r.length-t.length).join("")}]+$`),xg=e=>e.replace(/[\s#$()*+,.?[\\\]^{|}-]/g,"\\$&"),sp=16,op=3.5,sE=12,ap=16,oE=12,lp=100;class Cg{constructor(t="",r=0,s="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890",o="cfhistuCFHISTU"){if(this.minLength=r,typeof r!="number")throw new TypeError(`Hashids: Provided 'minLength' has to be a number (is ${typeof r})`);if(typeof t!="string")throw new TypeError(`Hashids: Provided 'salt' has to be a string (is ${typeof t})`);if(typeof s!="string")throw new TypeError(`Hashids: Provided alphabet has to be a string (is ${typeof s})`);const l=Array.from(t),u=Array.from(s),c=Array.from(o);this.salt=l;const f=zC(u);if(f.lengthop)&&(p=Math.ceil(this.alphabet.length/op),p>this.seps.length&&(m=p-this.seps.length,this.seps.push(...this.alphabet.slice(0,m)),this.alphabet=this.alphabet.slice(m))),this.alphabet=ys(this.alphabet,l);const v=Math.ceil(this.alphabet.length/sE);this.alphabet.length<3?(this.guards=this.seps.slice(0,v),this.seps=this.seps.slice(v)):(this.guards=this.alphabet.slice(0,v),this.alphabet=this.alphabet.slice(v)),this.guardsRegExp=ip(this.guards),this.sepsRegExp=ip(this.seps),this.allowedCharsRegExp=iE([...this.alphabet,...this.guards,...this.seps])}encode(t,...r){const s="";let o=Array.isArray(t)?t:[...t!=null?[t]:[],...r];return o.length===0||(o.every(JC)||(o=o.map(l=>typeof l=="bigint"||typeof l=="number"?l:nE(String(l)))),!o.every(XC))?s:this._encode(o).join("")}decode(t){return!t||typeof t!="string"||t.length===0?[]:this._decode(t)}encodeHex(t){let r=t;switch(typeof r){case"bigint":r=r.toString(ap);break;case"string":if(!/^[\dA-Fa-f]+$/.test(r))return"";break;default:throw new Error(`Hashids: The provided value is neither a string, nor a BigInt (got: ${typeof r})`)}const s=rE(r,oE,o=>Number.parseInt(`1${o}`,16));return this.encode(s)}decodeHex(t){return this.decode(t).map(r=>r.toString(ap).slice(1)).join("")}isValidId(t){return this.allowedCharsRegExp.test(t)}_encode(t){let{alphabet:r}=this;const s=t.reduce((h,p,m)=>h+(typeof p=="bigint"?Number(p%BigInt(m+lp)):p%(m+lp)),0);let o=[r[s%r.length]];const l=[...o],{seps:u}=this,{guards:c}=this;if(t.forEach((h,p)=>{const m=l.concat(this.salt,r);r=ys(r,m);const v=QC(h,r);if(o.push(...v),p+10){const p=h/2;o=o.slice(p,p+this.minLength)}}return o}_decode(t){if(!this.isValidId(t))throw new Error(`The provided ID (${t}) is invalid, as it contains characters that do not exist in the alphabet (${this.guards.join("")}${this.seps.join("")}${this.alphabet.join("")})`);const r=t.split(this.guardsRegExp),s=r.length===3||r.length===2?1:0,o=r[s];if(o.length===0)return[];const l=o[Symbol.iterator]().next().value,u=o.slice(l.length).split(this.sepsRegExp);let c=this.alphabet;const f=[];for(const h of u){const p=[l,...this.salt,...c],m=ys(c,p.slice(0,c.length));f.push(eE(Array.from(h),m)),c=m}return this._encode(f).join("")!==t?[]:f}}new Cg("reapOne.playlist",22);const Eg=new Cg("reapOne.track",22),up=e=>Eg.encode(String(e)),aE=e=>{const t=Eg.decode(e);return Number(t[0])},Gu=(e,t)=>String(e).padStart(t,"0"),zu=e=>e?e.startsWith("local:")?e.replace("local:","/src/covers/"):e:null,lE=e=>e?e.startsWith("local:")?e.replace("local:","/src/covers/"):e:null,Sg=(e,t="track")=>(t=="playlist"?lE:zu)(e),Cc=e=>window.open(e,"_blank"),Yu=Ve(()=>window.innerWidth<768),nI=e=>/^(https?:\/\/)?((([a-z\d]([a-z\d-]*[a-z\d])*)\.)+[a-z]{2,}|((\d{1,3}\.){3}\d{1,3}))(\:\d+)?(\/[-a-z\d%_.~+]*)*(\?[;&a-z\d%_.~+=-]*)?(\#[-a-z\d_]*)?$/i.test(e),rI=e=>{const{key:t,mode:r}=e.spotify.features,s=["B","F#","C#","G#","D#","A#","F","C","G","D","A","E"],o=["A","D#","A#","F","C","G","D","A","E","B","F#","C#"];return`${(r=="Major"?s:o).indexOf(t)+1}${r=="Major"?"B":"A"}`},iI=(e,t=null)=>{t||(e.includes("track")&&(t="track"),e.includes("album")&&(t="album"),e.includes("playlist")&&(t="playlist"));const r=new RegExp(`https://open.spotify.com/${t}/([a-zA-Z0-9]+)`),s=e.match(r);return s?s[1]:null},sI=e=>new Date(e).toLocaleDateString("en-GB",{year:"numeric",month:"short",day:"numeric"}),oI=e=>{if(e<=0)return"N/A";const t=Math.floor(e/60),r=Gu(Math.floor(e%60),2);return`${t}:${r}`},aI=e=>{const t=["B","KB","MB","GB","TB"];let r=0;for(;e>1e3&&r{await Yt().fetchPlaylists()},uE=e=>Yt().getPlaylistById(e),cE=async e=>{await fetch(`/api/playlists/${e.id}`,{method:"POST",body:JSON.stringify({name:e.name,description:e.description,cover:e.cover})}),await to()},fE=async()=>await(await fetch("/api/playlists")).json(),dE=async e=>await(await fetch(`/api/playlists/${e}`)).json(),lI=e=>uE(e),uI=async e=>(await fetch(`/api/playlists/${e}`,{method:"DELETE"})).ok?(await to(),!0):!1,Ec=async(e="classic")=>{const r=await(await fetch(`/api/playlists/new?type=${e}`)).text();return await to(),r},Sc=async(e="classic",t,r="",s="")=>{const l=(await Ec(e)).split("/").pop();return await cE({id:l,name:t,description:r,cover:s,plays:0,type:e}),l},cI=async(e,t)=>{await fetch(`/api/playlists/${e}/tracks`,{method:"DELETE",body:JSON.stringify({songId:t})}),await to()},fI=async e=>await(await fetch("/api/playlists/smart/peek",{method:"POST",body:JSON.stringify(e)})).json(),hE=async e=>await(await fetch(`/api/playlists/smart/${e}`)).json(),pE=async(e,t)=>{await fetch(`/api/playlists/smart/${e}`,{method:"PUT",body:JSON.stringify({definition:t})}),await to()},Yt=eo({id:"data",state:()=>({playlists:[]}),getters:{notEmpty(){return!this.empty},empty(){return this.playlists.length===0},playlistsAsDropdown(e=!0){const t=this.playlists.filter(r=>r.type==="classic").map(r=>({value:r.id,label:r.name}));return e&&t.push({value:"new",label:"(new playlist)"}),t},getPlaylistById(){return e=>this.playlists.find(t=>t.id===e)}},actions:{setPlaylists(e){this.playlists=e},initialise(){this.fetchPlaylists()},async fetchPlaylists(...e){if(e){console.log("fetching playlists",e);for(const r of e){const s=this.playlists.findIndex(o=>o.id===r);if(s===-1)return;this.playlists[s]=await dE(r)}}const t=await fE();this.setPlaylists(t)}}}),kg="reapOne.settings",mE="dynamic",Og=e=>{localStorage.setItem(kg,JSON.stringify({sidebar:e.sidebar,player:e.player,theme:e.theme,ambient:e.ambient}))},gE={sidebar:{sports:!1,news:!1,collapsed:!1},player:{expandedCover:!1,pictureInPicture:!1,type:"web"},theme:mE,ambient:!0},Cs=()=>JSON.parse(localStorage.getItem(kg)||JSON.stringify(gE)),vE=()=>{const e=Cs();console.log("migrateSettings",e);const t=localStorage.getItem("sidebar.showSportsTab"),r=localStorage.getItem("sidebar.showNewsTab"),s=localStorage.getItem("player.inBrowser"),o=localStorage.getItem("player.collapsedSidebar"),l=localStorage.getItem("player.exapndCover"),u=localStorage.getItem("theme");t&&(e.sidebar.sports=t==="true",localStorage.removeItem("sidebar.showSportsTab")),r&&(e.sidebar.news=r==="true",localStorage.removeItem("sidebar.showNewsTab")),s&&localStorage.removeItem("player.inBrowser"),o&&(e.sidebar.collapsed=o==="true",localStorage.removeItem("player.collapsedSidebar")),l&&(e.player.expandedCover=l==="true",localStorage.removeItem("player.exapndCover")),u&&(e.theme=u,localStorage.removeItem("theme")),Og(e)},yE="production",qr=eo("settings",()=>{vE();const e=xe(Cs().player),t=xe(Cs().sidebar),r=xe(Cs().theme),s=xe(Cs().ambient),o=xe(yE),l=()=>{Og({player:e.value,sidebar:t.value,theme:r.value,ambient:s.value})};at(()=>e,l,{deep:!0}),at(()=>t,l,{deep:!0}),at(()=>r,l,{deep:!0}),at(()=>s,l,{deep:!0});const u=Ve(()=>window.getCurrentThemeProperty&&window.getCurrentThemeProperty("supportsAmbient"));return{player:e,sidebar:t,theme:r,ambient:s,themeSupportsAmbient:u,mode:{mode:o,dev:Ve(()=>o.value==="development"),prod:Ve(()=>o.value==="production"),toggle:()=>{o.value==="development"?o.value="production":o.value="development"}}}}),kc=()=>{const e=window.location.protocol=="https:"?"wss":"ws",t=window.location.hostname,r=window.location.port==5173?1234:window.location.port;return`${e}://${t}:${r}`},Rg=()=>{console.log("attempting reconnect");const e=new WebSocket(kc()+"/ws");e.onclose=()=>{console.log("[main] ws closed"),Mt().setReady(!1),setTimeout(()=>Rg(),1e3)},e.onopen=()=>{console.log("[main] ws connected"),Mt().setReady(!0)},e.onmessage=t=>{const r=Mt(),s=JSON.parse(t.data);s.path=="player.song"&&r.setSong(s.data),s.path=="player.playlist"&&r.setPlaylist(s.data),s.path=="player.queue"&&r.setQueue(s.data)}},_E=class{constructor(){ki(this,"ws",null);ki(this,"connections",xe([]));ki(this,"player",null);ki(this,"me",null);ki(this,"sendInfoTask",null);this.connect()}connect(){console.log("[sharedPlayer] attempting reconnect"),this.ws=new WebSocket(kc()+"/player/ws");const e=Mt();this.sendInfoTask&&clearInterval(this.sendInfoTask),this.sendInfoTask=window.setInterval(()=>this.sendInfo(),300),this.ws.onclose=()=>{console.log("[sharedPlayer] ws disconnected"),setTimeout(()=>this.connect(),1e3)},this.ws.onopen=()=>{console.log("[sharedPlayer] ws connected")};const t=r=>{if(typeof r=="string")switch(r){case"play":e.play();break;case"pause":e.pause();break}if(typeof r=="object")switch(r.command){case"seek":e.seek(r.time);break;case"set volume":e.setVolume(r.volume);break;case"set repeat":e.setRepeat(r.repeat);break;case"set mute":e.setMute(r.mute);break}};this.ws.onmessage=r=>{switch(r=JSON.parse(r.data),r.type){case"info":if(typeof r.data=="boolean")return;e.playing=r.data.playing,e.progress=r.data.progress,e.volume=r.data.volume,e.repeat=r.data.repeat;break;case"new client":console.log("new client",r.data);break;case"client disconnected":break;case"player disconnected":break;case"connections":this.updateConnections(r.data);break;case"command":t(r.data);break}}}sendInfo(){var r,s;if(((s=(r=this.me)==null?void 0:r.type)==null?void 0:s.toLowerCase())!=="player")return;const e=Mt(),t={playing:e.playing,progress:e.progress,volume:e.volume,repeat:e.repeat};this.send("info",t)}updateConnections(e){this.connections.value=e,this.me=e.find(t=>t.friendlyName.includes("(You)"))}send(e,t){var r;(r=this.ws)==null||r.send(JSON.stringify({type:e,data:t}))}sendCommand(e){this.send("command",e)}setPlayer(e){this.send("set player",e.id)}makeMePlayer(){this.send("type","Player")}play(){this.sendCommand("play")}pause(){this.sendCommand("pause")}seek(e){this.sendCommand({command:"seek",time:e})}setVolume(e){this.sendCommand({command:"set volume",volume:e})}setRepeat(e){this.sendCommand({command:"set repeat",repeat:e})}setMute(e){this.sendCommand({command:"set mute",mute:e})}},Tg=()=>{fetch("/api/player/next")},bE=()=>{fetch("/api/player/previous")},wE=e=>{fetch("/api/player/shuffle",{method:"POST",body:JSON.stringify(e)})},AE=()=>fetch("/api/player/shuffle").then(e=>e.json()),PE=async e=>{const t=Mt();await fetch("/api/player/queue",{method:"PUT",body:JSON.stringify({id:e,at:t.queue.findIndex(r=>r.id==t.song.id)+1})})},dI=async e=>{const t=Mt();await fetch("/api/player/queue",{method:"PUT",body:JSON.stringify({id:e,at:t.queue.length})})},hI=async e=>{await PE(e),Tg()};/*! + * vue-router v4.4.0 + * (c) 2024 Eduardo San Martin Morote + * @license MIT + */const Ii=typeof document<"u";function xE(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const ct=Object.assign;function vu(e,t){const r={};for(const s in t){const o=t[s];r[s]=$n(o)?o.map(e):e(o)}return r}const Ls=()=>{},$n=Array.isArray,Ig=/#/g,CE=/&/g,EE=/\//g,SE=/=/g,kE=/\?/g,Mg=/\+/g,OE=/%5B/g,RE=/%5D/g,Lg=/%5E/g,TE=/%60/g,$g=/%7B/g,IE=/%7C/g,Dg=/%7D/g,ME=/%20/g;function Oc(e){return encodeURI(""+e).replace(IE,"|").replace(OE,"[").replace(RE,"]")}function LE(e){return Oc(e).replace($g,"{").replace(Dg,"}").replace(Lg,"^")}function Zu(e){return Oc(e).replace(Mg,"%2B").replace(ME,"+").replace(Ig,"%23").replace(CE,"%26").replace(TE,"`").replace($g,"{").replace(Dg,"}").replace(Lg,"^")}function $E(e){return Zu(e).replace(SE,"%3D")}function DE(e){return Oc(e).replace(Ig,"%23").replace(kE,"%3F")}function NE(e){return e==null?"":DE(e).replace(EE,"%2F")}function Ks(e){try{return decodeURIComponent(""+e)}catch{}return""+e}const BE=/\/$/,VE=e=>e.replace(BE,"");function yu(e,t,r="/"){let s,o={},l="",u="";const c=t.indexOf("#");let f=t.indexOf("?");return c=0&&(f=-1),f>-1&&(s=t.slice(0,f),l=t.slice(f+1,c>-1?c:t.length),o=e(l)),c>-1&&(s=s||t.slice(0,c),u=t.slice(c,t.length)),s=UE(s??t,r),{fullPath:s+(l&&"?")+l+u,path:s,query:o,hash:Ks(u)}}function WE(e,t){const r=t.query?e(t.query):"";return t.path+(r&&"?")+r+(t.hash||"")}function cp(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function FE(e,t,r){const s=t.matched.length-1,o=r.matched.length-1;return s>-1&&s===o&&zi(t.matched[s],r.matched[o])&&Ng(t.params,r.params)&&e(t.query)===e(r.query)&&t.hash===r.hash}function zi(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function Ng(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const r in e)if(!HE(e[r],t[r]))return!1;return!0}function HE(e,t){return $n(e)?fp(e,t):$n(t)?fp(t,e):e===t}function fp(e,t){return $n(t)?e.length===t.length&&e.every((r,s)=>r===t[s]):e.length===1&&e[0]===t}function UE(e,t){if(e.startsWith("/"))return e;if(!e)return t;const r=t.split("/"),s=e.split("/"),o=s[s.length-1];(o===".."||o===".")&&s.push("");let l=r.length-1,u,c;for(u=0;u1&&l--;else break;return r.slice(0,l).join("/")+"/"+s.slice(u).join("/")}const Er={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var Gs;(function(e){e.pop="pop",e.push="push"})(Gs||(Gs={}));var $s;(function(e){e.back="back",e.forward="forward",e.unknown=""})($s||($s={}));function qE(e){if(!e)if(Ii){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),VE(e)}const jE=/^[^#]+#/;function KE(e,t){return e.replace(jE,"#")+t}function GE(e,t){const r=document.documentElement.getBoundingClientRect(),s=e.getBoundingClientRect();return{behavior:t.behavior,left:s.left-r.left-(t.left||0),top:s.top-r.top-(t.top||0)}}const qa=()=>({left:window.scrollX,top:window.scrollY});function zE(e){let t;if("el"in e){const r=e.el,s=typeof r=="string"&&r.startsWith("#"),o=typeof r=="string"?s?document.getElementById(r.slice(1)):document.querySelector(r):r;if(!o)return;t=GE(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function dp(e,t){return(history.state?history.state.position-t:-1)+e}const Ju=new Map;function YE(e,t){Ju.set(e,t)}function ZE(e){const t=Ju.get(e);return Ju.delete(e),t}let JE=()=>location.protocol+"//"+location.host;function Bg(e,t){const{pathname:r,search:s,hash:o}=t,l=e.indexOf("#");if(l>-1){let c=o.includes(e.slice(l))?e.slice(l).length:1,f=o.slice(c);return f[0]!=="/"&&(f="/"+f),cp(f,"")}return cp(r,e)+s+o}function XE(e,t,r,s){let o=[],l=[],u=null;const c=({state:v})=>{const g=Bg(e,location),S=r.value,C=t.value;let I=0;if(v){if(r.value=g,t.value=v,u&&u===S){u=null;return}I=C?v.position-C.position:0}else s(g);o.forEach(V=>{V(r.value,S,{delta:I,type:Gs.pop,direction:I?I>0?$s.forward:$s.back:$s.unknown})})};function f(){u=r.value}function h(v){o.push(v);const g=()=>{const S=o.indexOf(v);S>-1&&o.splice(S,1)};return l.push(g),g}function p(){const{history:v}=window;v.state&&v.replaceState(ct({},v.state,{scroll:qa()}),"")}function m(){for(const v of l)v();l=[],window.removeEventListener("popstate",c),window.removeEventListener("beforeunload",p)}return window.addEventListener("popstate",c),window.addEventListener("beforeunload",p,{passive:!0}),{pauseListeners:f,listen:h,destroy:m}}function hp(e,t,r,s=!1,o=!1){return{back:e,current:t,forward:r,replaced:s,position:window.history.length,scroll:o?qa():null}}function QE(e){const{history:t,location:r}=window,s={value:Bg(e,r)},o={value:t.state};o.value||l(s.value,{back:null,current:s.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function l(f,h,p){const m=e.indexOf("#"),v=m>-1?(r.host&&document.querySelector("base")?e:e.slice(m))+f:JE()+e+f;try{t[p?"replaceState":"pushState"](h,"",v),o.value=h}catch(g){console.error(g),r[p?"replace":"assign"](v)}}function u(f,h){const p=ct({},t.state,hp(o.value.back,f,o.value.forward,!0),h,{position:o.value.position});l(f,p,!0),s.value=f}function c(f,h){const p=ct({},o.value,t.state,{forward:f,scroll:qa()});l(p.current,p,!0);const m=ct({},hp(s.value,f,null),{position:p.position+1},h);l(f,m,!1),s.value=f}return{location:s,state:o,push:c,replace:u}}function eS(e){e=qE(e);const t=QE(e),r=XE(e,t.state,t.location,t.replace);function s(l,u=!0){u||r.pauseListeners(),history.go(l)}const o=ct({location:"",base:e,go:s,createHref:KE.bind(null,e)},t,r);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}function tS(e){return typeof e=="string"||e&&typeof e=="object"}function Vg(e){return typeof e=="string"||typeof e=="symbol"}const Wg=Symbol("");var pp;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(pp||(pp={}));function Yi(e,t){return ct(new Error,{type:e,[Wg]:!0},t)}function ir(e,t){return e instanceof Error&&Wg in e&&(t==null||!!(e.type&t))}const mp="[^/]+?",nS={sensitive:!1,strict:!1,start:!0,end:!0},rS=/[.+*?^${}()[\]/\\]/g;function iS(e,t){const r=ct({},nS,t),s=[];let o=r.start?"^":"";const l=[];for(const h of e){const p=h.length?[]:[90];r.strict&&!h.length&&(o+="/");for(let m=0;mt.length?t.length===1&&t[0]===80?1:-1:0}function Fg(e,t){let r=0;const s=e.score,o=t.score;for(;r0&&t[t.length-1]<0}const oS={type:0,value:""},aS=/[a-zA-Z0-9_]/;function lS(e){if(!e)return[[]];if(e==="/")return[[oS]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(g){throw new Error(`ERR (${r})/"${h}": ${g}`)}let r=0,s=r;const o=[];let l;function u(){l&&o.push(l),l=[]}let c=0,f,h="",p="";function m(){h&&(r===0?l.push({type:0,value:h}):r===1||r===2||r===3?(l.length>1&&(f==="*"||f==="+")&&t(`A repeatable param (${h}) must be alone in its segment. eg: '/:ids+.`),l.push({type:1,value:h,regexp:p,repeatable:f==="*"||f==="+",optional:f==="*"||f==="?"})):t("Invalid state to consume buffer"),h="")}function v(){h+=f}for(;c{u(A)}:Ls}function u(m){if(Vg(m)){const v=s.get(m);v&&(s.delete(m),r.splice(r.indexOf(v),1),v.children.forEach(u),v.alias.forEach(u))}else{const v=r.indexOf(m);v>-1&&(r.splice(v,1),m.record.name&&s.delete(m.record.name),m.children.forEach(u),m.alias.forEach(u))}}function c(){return r}function f(m){const v=pS(m,r);r.splice(v,0,m),m.record.name&&!yp(m)&&s.set(m.record.name,m)}function h(m,v){let g,S={},C,I;if("name"in m&&m.name){if(g=s.get(m.name),!g)throw Yi(1,{location:m});I=g.record.name,S=ct(vp(v.params,g.keys.filter(A=>!A.optional).concat(g.parent?g.parent.keys.filter(A=>A.optional):[]).map(A=>A.name)),m.params&&vp(m.params,g.keys.map(A=>A.name))),C=g.stringify(S)}else if(m.path!=null)C=m.path,g=r.find(A=>A.re.test(C)),g&&(S=g.parse(C),I=g.record.name);else{if(g=v.name?s.get(v.name):r.find(A=>A.re.test(v.path)),!g)throw Yi(1,{location:m,currentLocation:v});I=g.record.name,S=ct({},v.params,m.params),C=g.stringify(S)}const V=[];let D=g;for(;D;)V.unshift(D.record),D=D.parent;return{name:I,path:C,params:S,matched:V,meta:hS(V)}}e.forEach(m=>l(m));function p(){r.length=0,s.clear()}return{addRoute:l,resolve:h,removeRoute:u,clearRoutes:p,getRoutes:c,getRecordMatcher:o}}function vp(e,t){const r={};for(const s of t)s in e&&(r[s]=e[s]);return r}function fS(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:dS(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function dS(e){const t={},r=e.props||!1;if("component"in e)t.default=r;else for(const s in e.components)t[s]=typeof r=="object"?r[s]:r;return t}function yp(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function hS(e){return e.reduce((t,r)=>ct(t,r.meta),{})}function _p(e,t){const r={};for(const s in e)r[s]=s in t?t[s]:e[s];return r}function pS(e,t){let r=0,s=t.length;for(;r!==s;){const l=r+s>>1;Fg(e,t[l])<0?s=l:r=l+1}const o=mS(e);return o&&(s=t.lastIndexOf(o,s-1)),s}function mS(e){let t=e;for(;t=t.parent;)if(Hg(t)&&Fg(e,t)===0)return t}function Hg({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function gS(e){const t={};if(e===""||e==="?")return t;const s=(e[0]==="?"?e.slice(1):e).split("&");for(let o=0;ol&&Zu(l)):[s&&Zu(s)]).forEach(l=>{l!==void 0&&(t+=(t.length?"&":"")+r,l!=null&&(t+="="+l))})}return t}function vS(e){const t={};for(const r in e){const s=e[r];s!==void 0&&(t[r]=$n(s)?s.map(o=>o==null?null:""+o):s==null?s:""+s)}return t}const yS=Symbol(""),wp=Symbol(""),ja=Symbol(""),Rc=Symbol(""),Xu=Symbol("");function _s(){let e=[];function t(s){return e.push(s),()=>{const o=e.indexOf(s);o>-1&&e.splice(o,1)}}function r(){e=[]}return{add:t,list:()=>e.slice(),reset:r}}function Ir(e,t,r,s,o,l=u=>u()){const u=s&&(s.enterCallbacks[o]=s.enterCallbacks[o]||[]);return()=>new Promise((c,f)=>{const h=v=>{v===!1?f(Yi(4,{from:r,to:t})):v instanceof Error?f(v):tS(v)?f(Yi(2,{from:t,to:v})):(u&&s.enterCallbacks[o]===u&&typeof v=="function"&&u.push(v),c())},p=l(()=>e.call(s&&s.instances[o],t,r,h));let m=Promise.resolve(p);e.length<3&&(m=m.then(h)),m.catch(v=>f(v))})}function _u(e,t,r,s,o=l=>l()){const l=[];for(const u of e)for(const c in u.components){let f=u.components[c];if(!(t!=="beforeRouteEnter"&&!u.instances[c]))if(_S(f)){const p=(f.__vccOpts||f)[t];p&&l.push(Ir(p,r,s,u,c,o))}else{let h=f();l.push(()=>h.then(p=>{if(!p)return Promise.reject(new Error(`Couldn't resolve component "${c}" at "${u.path}"`));const m=xE(p)?p.default:p;u.components[c]=m;const g=(m.__vccOpts||m)[t];return g&&Ir(g,r,s,u,c,o)()}))}}return l}function _S(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Ap(e){const t=on(ja),r=on(Rc),s=Ve(()=>{const f=oe(e.to);return t.resolve(f)}),o=Ve(()=>{const{matched:f}=s.value,{length:h}=f,p=f[h-1],m=r.matched;if(!p||!m.length)return-1;const v=m.findIndex(zi.bind(null,p));if(v>-1)return v;const g=Pp(f[h-2]);return h>1&&Pp(p)===g&&m[m.length-1].path!==g?m.findIndex(zi.bind(null,f[h-2])):v}),l=Ve(()=>o.value>-1&&PS(r.params,s.value.params)),u=Ve(()=>o.value>-1&&o.value===r.matched.length-1&&Ng(r.params,s.value.params));function c(f={}){return AS(f)?t[oe(e.replace)?"replace":"push"](oe(e.to)).catch(Ls):Promise.resolve()}return{route:s,href:Ve(()=>s.value.href),isActive:l,isExactActive:u,navigate:c}}const bS=Ge({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:Ap,setup(e,{slots:t}){const r=Ji(Ap(e)),{options:s}=on(ja),o=Ve(()=>({[xp(e.activeClass,s.linkActiveClass,"router-link-active")]:r.isActive,[xp(e.exactActiveClass,s.linkExactActiveClass,"router-link-exact-active")]:r.isExactActive}));return()=>{const l=t.default&&t.default(r);return e.custom?l:Ac("a",{"aria-current":r.isExactActive?e.ariaCurrentValue:null,href:r.href,onClick:r.navigate,class:o.value},l)}}}),wS=bS;function AS(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function PS(e,t){for(const r in t){const s=t[r],o=e[r];if(typeof s=="string"){if(s!==o)return!1}else if(!$n(o)||o.length!==s.length||s.some((l,u)=>l!==o[u]))return!1}return!0}function Pp(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const xp=(e,t,r)=>e??t??r,xS=Ge({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:r}){const s=on(Xu),o=Ve(()=>e.route||s.value),l=on(wp,0),u=Ve(()=>{let h=oe(l);const{matched:p}=o.value;let m;for(;(m=p[h])&&!m.components;)h++;return h}),c=Ve(()=>o.value.matched[u.value]);Lr(wp,Ve(()=>u.value+1)),Lr(yS,c),Lr(Xu,o);const f=xe();return at(()=>[f.value,c.value,e.name],([h,p,m],[v,g,S])=>{p&&(p.instances[m]=h,g&&g!==p&&h&&h===v&&(p.leaveGuards.size||(p.leaveGuards=g.leaveGuards),p.updateGuards.size||(p.updateGuards=g.updateGuards))),h&&p&&(!g||!zi(p,g)||!v)&&(p.enterCallbacks[m]||[]).forEach(C=>C(h))},{flush:"post"}),()=>{const h=o.value,p=e.name,m=c.value,v=m&&m.components[p];if(!v)return Cp(r.default,{Component:v,route:h});const g=m.props[p],S=g?g===!0?h.params:typeof g=="function"?g(h):g:null,I=Ac(v,ct({},S,t,{onVnodeUnmounted:V=>{V.component.isUnmounted&&(m.instances[p]=null)},ref:f}));return Cp(r.default,{Component:I,route:h})||I}}});function Cp(e,t){if(!e)return null;const r=e(t);return r.length===1?r[0]:r}const CS=xS;function ES(e){const t=cS(e.routes,e),r=e.parseQuery||gS,s=e.stringifyQuery||bp,o=e.history,l=_s(),u=_s(),c=_s(),f=TP(Er);let h=Er;Ii&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const p=vu.bind(null,X=>""+X),m=vu.bind(null,NE),v=vu.bind(null,Ks);function g(X,se){let he,Ae;return Vg(X)?(he=t.getRecordMatcher(X),Ae=se):Ae=X,t.addRoute(Ae,he)}function S(X){const se=t.getRecordMatcher(X);se&&t.removeRoute(se)}function C(){return t.getRoutes().map(X=>X.record)}function I(X){return!!t.getRecordMatcher(X)}function V(X,se){if(se=ct({},se||f.value),typeof X=="string"){const L=yu(r,X,se.path),J=t.resolve({path:L.path},se),ue=o.createHref(L.fullPath);return ct(L,J,{params:v(J.params),hash:Ks(L.hash),redirectedFrom:void 0,href:ue})}let he;if(X.path!=null)he=ct({},X,{path:yu(r,X.path,se.path).path});else{const L=ct({},X.params);for(const J in L)L[J]==null&&delete L[J];he=ct({},X,{params:m(L)}),se.params=m(se.params)}const Ae=t.resolve(he,se),Oe=X.hash||"";Ae.params=p(v(Ae.params));const je=WE(s,ct({},X,{hash:LE(Oe),path:Ae.path})),O=o.createHref(je);return ct({fullPath:je,hash:Oe,query:s===bp?vS(X.query):X.query||{}},Ae,{redirectedFrom:void 0,href:O})}function D(X){return typeof X=="string"?yu(r,X,f.value.path):ct({},X)}function A(X,se){if(h!==X)return Yi(8,{from:se,to:X})}function k(X){return q(X)}function R(X){return k(ct(D(X),{replace:!0}))}function T(X){const se=X.matched[X.matched.length-1];if(se&&se.redirect){const{redirect:he}=se;let Ae=typeof he=="function"?he(X):he;return typeof Ae=="string"&&(Ae=Ae.includes("?")||Ae.includes("#")?Ae=D(Ae):{path:Ae},Ae.params={}),ct({query:X.query,hash:X.hash,params:Ae.path!=null?{}:X.params},Ae)}}function q(X,se){const he=h=V(X),Ae=f.value,Oe=X.state,je=X.force,O=X.replace===!0,L=T(he);if(L)return q(ct(D(L),{state:typeof L=="object"?ct({},Oe,L.state):Oe,force:je,replace:O}),se||he);const J=he;J.redirectedFrom=se;let ue;return!je&&FE(s,Ae,he)&&(ue=Yi(16,{to:J,from:Ae}),b(Ae,Ae,!0,!1)),(ue?Promise.resolve(ue):F(J,Ae)).catch(ne=>ir(ne)?ir(ne,2)?ne:N(ne):_(ne,J,Ae)).then(ne=>{if(ne){if(ir(ne,2))return q(ct({replace:O},D(ne.to),{state:typeof ne.to=="object"?ct({},Oe,ne.to.state):Oe,force:je}),se||J)}else ne=j(J,Ae,!0,O,Oe);return K(J,Ae,ne),ne})}function G(X,se){const he=A(X,se);return he?Promise.reject(he):Promise.resolve()}function W(X){const se=Ce.values().next().value;return se&&typeof se.runWithContext=="function"?se.runWithContext(X):X()}function F(X,se){let he;const[Ae,Oe,je]=SS(X,se);he=_u(Ae.reverse(),"beforeRouteLeave",X,se);for(const L of Ae)L.leaveGuards.forEach(J=>{he.push(Ir(J,X,se))});const O=G.bind(null,X,se);return he.push(O),ke(he).then(()=>{he=[];for(const L of l.list())he.push(Ir(L,X,se));return he.push(O),ke(he)}).then(()=>{he=_u(Oe,"beforeRouteUpdate",X,se);for(const L of Oe)L.updateGuards.forEach(J=>{he.push(Ir(J,X,se))});return he.push(O),ke(he)}).then(()=>{he=[];for(const L of je)if(L.beforeEnter)if($n(L.beforeEnter))for(const J of L.beforeEnter)he.push(Ir(J,X,se));else he.push(Ir(L.beforeEnter,X,se));return he.push(O),ke(he)}).then(()=>(X.matched.forEach(L=>L.enterCallbacks={}),he=_u(je,"beforeRouteEnter",X,se,W),he.push(O),ke(he))).then(()=>{he=[];for(const L of u.list())he.push(Ir(L,X,se));return he.push(O),ke(he)}).catch(L=>ir(L,8)?L:Promise.reject(L))}function K(X,se,he){c.list().forEach(Ae=>W(()=>Ae(X,se,he)))}function j(X,se,he,Ae,Oe){const je=A(X,se);if(je)return je;const O=se===Er,L=Ii?history.state:{};he&&(Ae||O?o.replace(X.fullPath,ct({scroll:O&&L&&L.scroll},Oe)):o.push(X.fullPath,Oe)),f.value=X,b(X,se,he,O),N()}let U;function E(){U||(U=o.listen((X,se,he)=>{if(!be.listening)return;const Ae=V(X),Oe=T(Ae);if(Oe){q(ct(Oe,{replace:!0}),Ae).catch(Ls);return}h=Ae;const je=f.value;Ii&&YE(dp(je.fullPath,he.delta),qa()),F(Ae,je).catch(O=>ir(O,12)?O:ir(O,2)?(q(O.to,Ae).then(L=>{ir(L,20)&&!he.delta&&he.type===Gs.pop&&o.go(-1,!1)}).catch(Ls),Promise.reject()):(he.delta&&o.go(-he.delta,!1),_(O,Ae,je))).then(O=>{O=O||j(Ae,je,!1),O&&(he.delta&&!ir(O,8)?o.go(-he.delta,!1):he.type===Gs.pop&&ir(O,20)&&o.go(-1,!1)),K(Ae,je,O)}).catch(Ls)}))}let M=_s(),B=_s(),P;function _(X,se,he){N(X);const Ae=B.list();return Ae.length?Ae.forEach(Oe=>Oe(X,se,he)):console.error(X),Promise.reject(X)}function Y(){return P&&f.value!==Er?Promise.resolve():new Promise((X,se)=>{M.add([X,se])})}function N(X){return P||(P=!X,E(),M.list().forEach(([se,he])=>X?he(X):se()),M.reset()),X}function b(X,se,he,Ae){const{scrollBehavior:Oe}=e;if(!Ii||!Oe)return Promise.resolve();const je=!he&&ZE(dp(X.fullPath,0))||(Ae||!he)&&history.state&&history.state.scroll||null;return Gn().then(()=>Oe(X,se,je)).then(O=>O&&zE(O)).catch(O=>_(O,X,se))}const Q=X=>o.go(X);let de;const Ce=new Set,be={currentRoute:f,listening:!0,addRoute:g,removeRoute:S,clearRoutes:t.clearRoutes,hasRoute:I,getRoutes:C,resolve:V,options:e,push:k,replace:R,go:Q,back:()=>Q(-1),forward:()=>Q(1),beforeEach:l.add,beforeResolve:u.add,afterEach:c.add,onError:B.add,isReady:Y,install(X){const se=this;X.component("RouterLink",wS),X.component("RouterView",CS),X.config.globalProperties.$router=se,Object.defineProperty(X.config.globalProperties,"$route",{enumerable:!0,get:()=>oe(f)}),Ii&&!de&&f.value===Er&&(de=!0,k(o.location).catch(Oe=>{}));const he={};for(const Oe in Er)Object.defineProperty(he,Oe,{get:()=>f.value[Oe],enumerable:!0});X.provide(ja,se),X.provide(Rc,cm(he)),X.provide(Xu,f);const Ae=X.unmount;Ce.add(X),X.unmount=function(){Ce.delete(X),Ce.size<1&&(h=Er,U&&U(),U=null,f.value=Er,de=!1,P=!1),Ae()}}};function ke(X){return X.reduce((se,he)=>se.then(()=>W(he)),Promise.resolve())}return be}function SS(e,t){const r=[],s=[],o=[],l=Math.max(t.matched.length,e.matched.length);for(let u=0;uzi(h,c))?s.push(c):r.push(c));const f=e.matched[u];f&&(t.matched.find(h=>zi(h,f))||o.push(f))}return[r,s,o]}function Ka(){return on(ja)}function Tc(e){return on(Rc)}const Ga=eo({id:"downloader",state:()=>({ws:null,states:{},onDownload:[],prefill:null}),getters:{empty(){return Object.keys(this.states).length===0}},actions:{_fireDownload(e){this.onDownload.forEach(t=>t(e))},initialise(){const e=()=>{console.log("[downloader] attempting reconnect"),this.ws=new WebSocket(kc()+"/download/ws"),this.ws.onclose=()=>{console.log("[downloader] ws closed"),setTimeout(()=>e(),1e3)},this.ws.onopen=()=>{console.log("[downloader] ws connected")},this.ws.onmessage=t=>{const r=JSON.parse(t.data);if(r.status=="finished"){this.states[r.song.id]={...this.states[r.song.id],...r};return}this.states[r.song.id]=r}};e()},send(e){var t;(t=this.ws)==null||t.send(JSON.stringify(e))},downloadFromDb(e){this.send({action:"download",source:"db",songId:e}),this.states[e]={songId:e,status:"pending"},this._fireDownload(e)},downloadViaDownloader(e){this.prefill=e,Ka().push("/download")},downloadOther(e){this.send({action:"download",source:"other",...e}),this.states[e.id]={songId:e.id,status:"pending"},this._fireDownload(e.id)},download(e){window.open(`/api/tracks/${e}/download`,"_blank","noopener noreferrer"),this.states[e].status="downloaded"},isSongDownloading(e){const t=this.states[e];return t!=null&&t.internal?t.status==="downloading":!1}}}),no=async()=>{await Yt().fetchPlaylists()},pI=async e=>{await fetch(`/api/tracks/${e.id}`,{method:"PUT",body:JSON.stringify({source:e.source,title:e.title,artist:e.artist,album:e.album,cover:e.cover})}),await no()},mI=async(e,t,r)=>{await fetch(`/api/tracks/${e}`,{method:"PUT",body:JSON.stringify({[t]:r})}),await no()},gI=async e=>await(await fetch("/api/browse/track",{method:"POST",body:JSON.stringify({url:e})})).json(),Ug=e=>({source:e.source,title:e.title,artist:e.artist,album:e.album,cover:e.cover,spotify:e.metadata?JSON.stringify(e.metadata.spotify):""}),qg=async(e,t)=>{e==="new"&&(e=await Ec()),await fetch(`/api/playlists/${e}/tracks`,{method:"POST",body:JSON.stringify(Ug(t))}),await no()},jg=async(e,t)=>{e==="new"&&(e=await Ec()),await fetch(`/api/playlists/${e}/tracks`,{method:"POST",body:JSON.stringify(t.map(r=>Ug(r)))}),await no()},vI=async(e,t=!0)=>{await fetch(`/api/tracks/${e}`,{method:"PUT",body:JSON.stringify({favourite:t})}),await no()},yI=e=>{Ga().downloadFromDb(e)},kS=async e=>await(await fetch(`/api/tracks/${e}`)).json(),_I=async e=>{const t=aE(e);return await kS(t)},OS=async(e,t=!1,r=null)=>{const s={id:e};return t&&(s.forceFetch=!0),r&&(s.spotifyId=r),await(await fetch("/api/spotify/meta",{method:"POST",body:JSON.stringify(s)})).json()},bI=async e=>await(await fetch(`/api/spotify/recommendations/${e}`)).json(),wI=async e=>{await fetch(`/api/player/stream/${e}`,{method:"DELETE"})},RS=async e=>({error:"Lyrics temporarily not supported.",lyrics:[]}),TS=async(e=!1)=>{var o,l;const r=Mt().song;let s=(o=r.metadata.spotify)==null?void 0:o.id;return!s&&e&&(s=(l=(await OS(r.id)).spotify)==null?void 0:l.id),s?await RS():{error:"Spotify equivalent unknown."}},Mt=eo({id:"player",state:()=>({playing:!1,progress:0,ready:!1,muted:!1,shuffle:!1,song:{title:null,artist:null,album:null,cover:zu(null),source:null,duration:null,favourite:!1,id:-1,metadata:{plays:0,spotify:{id:null}}},playlistId:null,lyrics:null,volume:50,repeat:"repeat",sharedPlayer:null,player:null,queue:[]}),actions:{playPause(){this.playing?this.pause():this.play()},toggleRepeat(){var e;switch(this.repeat){case"repeat":this.repeat="repeat_on";break;case"repeat_on":this.repeat="repeat_one_on";break;case"repeat_one_on":this.repeat="repeat";break}localStorage.setItem("reap.repeat",this.repeat),(e=this.player)==null||e.setRepeat(this.repeat)},setRepeat(e){this.repeat=e},setMute(e){var t;this.muted=e,(t=this.player)==null||t.setMute(e)},toggleMute(){this.setMute(!this.muted)},setShuffle(e){this.shuffle=e,wE(e),Yt().fetchPlaylists()},toggleShuffle(){this.setShuffle(!this.shuffle)},onSongEnded(){if(this.repeat==="repeat_one_on")this.play();else{if(this.repeat==="repeat"&&this.playlist.index.value===this.playlist.songs.length-1)return;this.next()}},play(){this.player.play()},pause(){this.player.pause()},next(){Tg()},previous(){bE()},setPlayer(e){e&&this.player!==e&&(this.player=e)},setQueue(e){this.queue=e.queue},async setSong(e){e.id!=this.song.id&&(this.song=e,this.song.cover=zu(e.cover),this.progress=0,this.lyrics=null,this.lyrics=await TS(!0))},setReady(e){this.ready!==e&&(this.ready=e,e?Yt().initialise():(this.$reset(),Yt().$reset()))},setDuration(e){this.song.duration=e,fetch(`/api/tracks/${this.song.id}`,{method:"PUT",body:JSON.stringify({duration:e})})},setPlaying(e){this.playing=e},seek(e){this.player.seek(e)},seekPercent(e){this.seek(this.durationSeconds*e/100)},setProgress(e){this.progress=Math.round(e)},setFavourite(e){this.song.favourite=e,fetch(`/api/tracks/${this.song.id}`,{method:"PUT",body:JSON.stringify({favourite:e})})},setPlaylist(e){this.playlistId=e},setVolume(e){var t;e!=this.volume&&(this.volume=e,localStorage.setItem("reap.volume",e),this.player.setVolume&&((t=this.player)==null||t.setVolume(e)))},toggleFavourite(){this.setFavourite(!this.song.favourite)},async initialise(){this.volume=localStorage.getItem("reap.volume")||50,this.repeat=localStorage.getItem("reap.repeat")||"repeat_on",this.sharedPlayer=new _E,this.shuffle=await AE()},async loadPlaylist(e,t=null){const r={type:"playlist",id:e};["track","album"].includes(e)&&(r.type=e,r.id=t),e==="artist"&&(r.type=e,r.name=t,delete r.id),await fetch("/api/player/load",{method:"POST",body:JSON.stringify(r)})},loadSong(e,t){const r={index:t};e==="track"?r.type=e:r.playlist=e,fetch("/api/player/at",{method:"POST",body:JSON.stringify(r)})},rearrangeQueue(e,t){fetch(`/api/player/queue/${e}/${t}`,{method:"PUT"})},playlistPlayOrPauseIcon(e){return this.playlistId===e&&this.playing?"pause_circle":"play_circle"}},getters:{playlist(e){return Yt().playlists.find(t=>t.id===e.playlistId)},hasLyrics(e){var t;return(t=e.lyrics)==null?void 0:t.lyrics},durationSeconds(e){return e.song.duration},displayDuration(e){const t=e.song.duration;return isNaN(t)?"0:00":`${Math.floor(t/60)}:${Gu(Math.floor(t%60),2)}`},stream(e){return`/api/player/stream/${e.song.id}`},cover(e){return e.song.cover},progressPercent(e){return e.progress/this.durationSeconds*1e3},displayProgress(e){const t=e.progress;return isNaN(t)?"0:00":`${Math.floor(t/60)}:${Gu(Math.floor(t%60),2)}`},loaded(e){return e.song.id!=-1},shuffleIcon(e){return e.shuffle?"shuffle_on":"shuffle"},muteIcon(e){return e.muted?"volume_off":e.volume>50?"volume_up":e.volume>0?"volume_down":"volume_mute"}}}),IS=(e,t,r)=>{const s=new CustomEvent("player.play",{detail:{title:e,artist:t,source:r}});window.dispatchEvent(s)},MS={components:{Marquee:ar},name:"PlayerInPicture",props:{expandCover:Boolean},watch:{disabled(){this.disabled||this.$nextTick(()=>{this.$refs.player.addEventListener("mousedown",this.mouseDown,!1),window.addEventListener("mouseup",this.mouseUp,!1)})}},methods:{mouseDown(e){const t=this.$refs.player,r=document.getElementById("appRoot");e=e||window.event;var s=e.clientX,o=e.clientY,l=t.offsetTop,u=t.offsetLeft,c=parseInt(t.offsetWidth),f=parseInt(t.offsetHeight),h=parseInt(r.offsetWidth)-8,p=parseInt(r.offsetHeight)-8;r.style.cursor="move";var m=s-u,v=o-l;document.onmousemove=g=>{g=g||window.event,g.preventDefault(),g.stopPropagation();var S=g.clientX,C=g.clientY,I=S-m,V=C-v;I<8&&(I=8),V<8&&(V=8),I+c>h&&(I=h-c),V+f>p&&(V=p-f),this.divMove(t,I,V)}},mouseUp(){document.getElementById("appRoot").style.cursor="default",document.onmousemove=function(){}},divMove(e,t,r){e.style.bottom="auto",e.style.right="auto",e.style.left=t+"px",e.style.top=r+"px"}},data(){const e=Mt();return window.addEventListener("player.play",t=>{const r=t.detail,s=r.source;if(this.name=`${r.artist} - ${r.title}`,e.pause(),s.includes("youtu")){var o=/youtu(?:.*\/v\/|.*v\=|\.be\/)([A-Za-z0-9_\-]{11})/;const l=s.match(o);if(l!=null&&l[1]){this.el=``,this.minimised=!1,this.disabled=!1;return}}if(s.includes("audius")){var o=/audius.co\/([A-Za-z0-9]+)\/([A-Za-z0-9\-]+)/;const u=s.match(o);if(u!=null&&u[1]&&(u!=null&&u[2])){fetch(`https://blockdaemon-audius-discovery-01.bdnodes.net/v1/full/tracks?handle=${u[1]}&slug=${u[2]}`).then(c=>c.json()).then(c=>{const f=c.data.id;this.el=``}),this.minimised=!1,this.disabled=!1;return}}if(s.includes("spotify")){var o=/spotify(?:.*\/(album|track|playlist)\/)([A-Za-z0-9_\-]{22})/;const u=s.match(o);if(u!=null&&u[1]){this.el=``,this.minimised=!1,this.disabled=!1;return}}s.includes("soundcloud")&&(fetch(`https://soundcloud.com/oembed?url=${s}&format=json`).then(l=>l.json()).then(l=>{this.el=l.html.replace('height="400"','height="70"').replace("&show_artwork=true","&show_artwork=true&auto_play=true").replace("o.minimised=!o.minimised)},Ne(o.minimised?"zoom_out_map":"zoom_in_map"),1),te("span",{class:"material-symbols-rounded ms-wght-500",onClick:t[1]||(t[1]=c=>o.disabled=!o.disabled)},"close")])],2),te("div",{class:Ye([{minimised:o.minimised},"frame"]),innerHTML:o.el},null,10,NS)],512))}const VS=lt(MS,[["render",BS]]),WS={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 809.48 395.8"},FS=te("path",{d:"M80.09 254.67c-4.84 0-9.04-1.72-12.6-5.16-3.57-3.43-5.35-7.7-5.35-12.79V79.04c0-4.84 1.78-8.97 5.35-12.41 3.56-3.44 7.76-5.16 12.6-5.16s8.97 1.72 12.41 5.16c3.43 3.43 5.15 7.57 5.15 12.41v157.68c0 5.09-1.72 9.36-5.15 12.79-3.44 3.44-7.58 5.16-12.41 5.16Zm70.63 61.47c-4.84 0-8.97-1.78-12.41-5.34-3.44-3.57-5.16-7.77-5.16-12.6V17.57c0-4.58 1.72-8.66 5.16-12.22 3.43-3.56 7.57-5.34 12.41-5.34s9.04 1.78 12.6 5.34c3.56 3.57 5.34 7.64 5.34 12.22V298.2c0 4.83-1.78 9.03-5.34 12.6-3.56 3.56-7.76 5.34-12.6 5.34ZM17.38 193.2c-4.79 0-8.88-1.7-12.27-5.1-3.4-3.4-5.1-7.61-5.1-12.65v-35.13c0-4.79 1.7-8.88 5.1-12.27 3.4-3.4 7.49-5.1 12.27-5.1s9 1.7 12.66 5.1c3.65 3.4 5.48 7.49 5.48 12.27v35.33c0 3.92-1.25 7.85-3.85 10.77-4.01 4.51-8.78 6.77-14.28 6.77Zm195.29 60.46c-4.78 0-8.87-1.7-12.28-5.11-3.4-3.4-5.1-7.62-5.1-12.66V79.86c0-4.79 1.7-8.88 5.1-12.28 3.4-3.4 7.5-5.11 12.28-5.11s9.01 1.7 12.66 5.11c3.65 3.4 5.48 7.49 5.48 12.28V235.9c0 5.04-1.76 9.26-5.29 12.66-3.52 3.4-7.81 5.11-12.85 5.11Zm62.52-60.46c-4.78 0-8.94-1.7-12.46-5.1-3.52-3.4-5.29-7.61-5.29-12.65v-35.13c0-4.79 1.76-8.88 5.29-12.27 3.53-3.4 7.68-5.1 12.46-5.1s8.94 1.7 12.46 5.1c3.53 3.4 5.29 7.49 5.29 12.27v35.13c0 5.03-1.76 9.25-5.29 12.65-3.52 3.4-7.68 5.1-12.46 5.1ZM436.15 266.18c-10.94-6.13-19.61-14.63-26-25.51-6.39-10.88-9.59-23.17-9.59-36.88s3.2-26 9.59-36.88c6.39-10.88 15.06-19.34 26-25.41 10.94-6.06 22.94-9.1 35.99-9.1s25.21 3.03 36.09 9.1c10.88 6.06 19.48 14.53 25.8 25.41 6.33 10.88 9.49 23.17 9.49 36.88s-3.16 26-9.49 36.88-14.96 19.38-25.9 25.51c-10.94 6.13-22.94 9.19-35.99 9.19s-25.05-3.06-35.99-9.19Zm59.42-36.48c5.73-6.46 8.6-15.09 8.6-25.9s-2.87-19.8-8.6-26.2c-5.73-6.39-13.54-9.59-23.43-9.59s-17.87 3.2-23.53 9.59c-5.67 6.4-8.5 15.13-8.5 26.2s2.83 19.61 8.5 26c5.67 6.4 13.51 9.59 23.53 9.59s17.7-3.23 23.43-9.69ZM690.05 273.99h-38.76l-51.61-77.91v77.91h-38.76V134.58h38.76l51.61 78.9v-78.9h38.76v139.41ZM750.95 165.63v22.74h44.49v29.46h-44.49v25.11h50.42v31.04h-89.18v-139.4h89.18v31.04h-50.42ZM414.68 76.05c1.71-1 3.8-1.5 6.27-1.5v5.43h-1.39c-5.89 0-8.84 3.2-8.84 9.59v17.21h-5.25V75.13h5.25v5.14c.92-1.81 2.24-3.21 3.96-4.22ZM455.71 92.91h-25.29c.19 3.12 1.26 5.55 3.21 7.31 1.94 1.75 4.3 2.63 7.07 2.63 2.27 0 4.17-.53 5.69-1.59 1.52-1.06 2.59-2.47 3.21-4.24h5.66c-.85 3.04-2.54 5.52-5.08 7.42s-5.7 2.86-9.47 2.86c-3 0-5.69-.67-8.06-2.02s-4.23-3.26-5.57-5.75c-1.35-2.48-2.02-5.36-2.02-8.63s.65-6.14 1.96-8.6 3.15-4.36 5.52-5.69 5.09-1.99 8.17-1.99 5.66.65 7.97 1.96c2.31 1.31 4.09 3.11 5.34 5.4 1.25 2.29 1.88 4.88 1.88 7.77 0 1-.06 2.06-.17 3.18Zm-6.58-9.44a8.686 8.686 0 0 0-3.61-3.29c-1.52-.75-3.21-1.13-5.05-1.13-2.66 0-4.92.85-6.79 2.54s-2.94 4.04-3.21 7.05h19.98c0-2-.44-3.72-1.33-5.17ZM486.61 97.82h-17.56l-3.23 8.95h-5.54l14.55-40.02h6.06l14.5 40.02h-5.54l-3.23-8.95Zm-1.5-4.27-7.28-20.33-7.28 20.33h14.55ZM529.81 75.13v31.65h-5.25v-4.68c-1 1.62-2.4 2.88-4.19 3.78-1.79.9-3.76 1.36-5.92 1.36-2.46 0-4.68-.51-6.64-1.53s-3.51-2.55-4.65-4.59c-1.14-2.04-1.7-4.52-1.7-7.45V75.13h5.2v17.85c0 3.12.79 5.52 2.37 7.19 1.58 1.67 3.73 2.51 6.47 2.51s5.02-.87 6.64-2.6 2.43-4.25 2.43-7.57V75.13h5.25ZM538.7 82.32c1.31-2.44 3.11-4.34 5.4-5.69 2.29-1.35 4.86-2.02 7.71-2.02 2.46 0 4.75.57 6.87 1.7 2.12 1.14 3.73 2.63 4.85 4.48V64.04h5.31v42.74h-5.31v-5.95c-1.04 1.89-2.58 3.44-4.62 4.65s-4.43 1.82-7.16 1.82-5.36-.69-7.65-2.08c-2.29-1.39-4.09-3.33-5.4-5.83-1.31-2.5-1.96-5.35-1.96-8.55s.65-6.07 1.96-8.52Zm23.39 2.34c-.96-1.77-2.26-3.13-3.9-4.07-1.64-.94-3.44-1.42-5.4-1.42s-3.75.46-5.37 1.39-2.91 2.27-3.87 4.04-1.44 3.85-1.44 6.24.48 4.53 1.44 6.32 2.25 3.16 3.87 4.1c1.62.94 3.41 1.42 5.37 1.42s3.76-.47 5.4-1.42c1.64-.94 2.94-2.31 3.9-4.1.96-1.79 1.44-3.88 1.44-6.27s-.48-4.47-1.44-6.24ZM577.91 68.95c-.69-.69-1.04-1.54-1.04-2.54s.35-1.85 1.04-2.54 1.54-1.04 2.54-1.04 1.78.35 2.45 1.04 1.01 1.54 1.01 2.54-.34 1.85-1.01 2.54-1.49 1.04-2.45 1.04-1.85-.35-2.54-1.04Zm5.08 6.18v31.65h-5.25V75.13h5.25ZM597.69 105.27c-2.41-1.35-4.29-3.26-5.66-5.75-1.37-2.48-2.05-5.36-2.05-8.63s.7-6.09 2.11-8.58 3.32-4.39 5.75-5.72 5.14-1.99 8.14-1.99 5.72.66 8.14 1.99 4.34 3.23 5.75 5.69c1.41 2.46 2.11 5.33 2.11 8.6s-.72 6.15-2.17 8.63c-1.44 2.48-3.4 4.4-5.86 5.75-2.46 1.35-5.2 2.02-8.2 2.02s-5.65-.67-8.06-2.02Zm13.37-3.93c1.65-.89 2.99-2.21 4.01-3.98 1.02-1.77 1.53-3.93 1.53-6.47s-.5-4.7-1.5-6.47c-1-1.77-2.31-3.09-3.93-3.96-1.62-.87-3.37-1.3-5.25-1.3s-3.69.43-5.28 1.3c-1.6.87-2.88 2.19-3.84 3.96s-1.44 3.93-1.44 6.47.47 4.76 1.41 6.53c.94 1.77 2.2 3.09 3.78 3.96 1.58.87 3.31 1.3 5.2 1.3s3.66-.44 5.31-1.33ZM652.38 86.65c-2.29 2.21-5.79 3.32-10.48 3.32h-7.74v16.81h-5.25V66.53h12.99c4.54 0 8 1.1 10.37 3.29 2.37 2.19 3.55 5.02 3.55 8.49s-1.15 6.13-3.44 8.35Zm-4.01-2.92c1.39-1.27 2.08-3.08 2.08-5.43 0-4.97-2.85-7.45-8.55-7.45h-7.74v14.78h7.74c2.93 0 5.08-.64 6.47-1.91ZM667.6 64.04v42.74h-5.25V64.04h5.25ZM676.55 82.32c1.31-2.44 3.11-4.34 5.4-5.69 2.29-1.35 4.84-2.02 7.65-2.02s5.18.6 7.22 1.79 3.56 2.7 4.56 4.5v-5.78h5.31v31.65h-5.31v-5.89c-1.04 1.85-2.59 3.38-4.65 4.59-2.06 1.21-4.46 1.82-7.19 1.82s-5.35-.69-7.62-2.08c-2.27-1.39-4.06-3.33-5.37-5.83-1.31-2.5-1.96-5.35-1.96-8.55s.65-6.07 1.96-8.52Zm23.39 2.34c-.96-1.77-2.26-3.13-3.9-4.07-1.64-.94-3.44-1.42-5.4-1.42s-3.75.46-5.37 1.39-2.91 2.27-3.87 4.04-1.44 3.85-1.44 6.24.48 4.53 1.44 6.32 2.25 3.16 3.87 4.1c1.62.94 3.41 1.42 5.37 1.42s3.76-.47 5.4-1.42c1.64-.94 2.94-2.31 3.9-4.1.96-1.79 1.44-3.88 1.44-6.27s-.48-4.47-1.44-6.24ZM742.85 75.13l-19.06 46.55h-5.43l6.24-15.25-12.76-31.3h5.83l9.93 25.64 9.82-25.64h5.43ZM776.8 92.91h-25.29c.19 3.12 1.26 5.55 3.21 7.31 1.94 1.75 4.3 2.63 7.07 2.63 2.27 0 4.17-.53 5.69-1.59 1.52-1.06 2.59-2.47 3.21-4.24h5.66c-.85 3.04-2.54 5.52-5.08 7.42s-5.7 2.86-9.47 2.86c-3 0-5.69-.67-8.06-2.02s-4.23-3.26-5.57-5.75c-1.35-2.48-2.02-5.36-2.02-8.63s.65-6.14 1.96-8.6 3.15-4.36 5.51-5.69 5.09-1.99 8.17-1.99 5.66.65 7.97 1.96c2.31 1.31 4.09 3.11 5.34 5.4 1.25 2.29 1.88 4.88 1.88 7.77 0 1-.06 2.06-.17 3.18Zm-6.58-9.44a8.686 8.686 0 0 0-3.61-3.29c-1.52-.75-3.21-1.13-5.05-1.13-2.66 0-4.92.85-6.79 2.54s-2.94 4.04-3.21 7.05h19.98c0-2-.44-3.72-1.33-5.17ZM793.12 76.05c1.71-1 3.8-1.5 6.27-1.5v5.43H798c-5.89 0-8.84 3.2-8.84 9.59v17.21h-5.25V75.13h5.25v5.14c.92-1.81 2.24-3.21 3.96-4.22Z"},null,-1),HS=[FS];function US(e,t){return re(),ve("svg",WS,[...HS])}const qS={render:US},jS=2,Ep=window.localStorage.getItem("renderedIcons"),bu=Ep?new Map(JSON.parse(Ep)):new Map,Sa=async(e,t,r=500,s="track")=>e?Sg(e,s):await Ic(t,r),KS="/assets/img/bg-1024x1024.png",Ic=async(e,t=512)=>{await document.fonts.ready;const r=`${jS}-${e}-${t}`;if(bu.has(r))return bu.get(r);const s=document.createElement("canvas"),o=s.getContext("2d");s.style.position="fixed",s.style.top=-t+"px",s.style.left=-t+"px",s.style.opacity="0",document.body.appendChild(s),s.height=t,s.width=t,s.style.height=t+"px",s.style.width=t+"px";const l=new Image;return l.src=KS,await new Promise(u=>{l.onload=()=>{o.drawImage(l,0,0,s.width,s.height),o.fillStyle="white",o.font="900 50px 'Poppins'",o.textAlign="center",o.shadowColor="rgba(0, 0, 0, 0.7)",o.shadowBlur=50,o.fillText(e,s.width/2,s.height/2+72/2,s.width),o.fillStyle="white",o.fillRect(0,0,s.width,14),o.fillStyle="black",o.font="400 italic 8px 'Poppins'",o.textAlign="left",o.fillText(" reAudioPlayer ".repeat(100),2,10);const c=20;o.fillStyle="white",o.font="600 10px 'Poppins'",o.textAlign="left",o.fillText((e==null?void 0:e.toUpperCase())??e,c,s.height-35+8+2);const f=o.measureText(e).width+c+16;o.fillStyle="white",o.fillRect(f,s.height-30,s.width-f-c,2);const h=s.toDataURL();bu.set(r,h),u(h)}})};/*! Fast Average Color | © 2023 Denis Seleznev | MIT License | https://github.com/fast-average-color/fast-average-color */function GS(e){var t=e.toString(16);return t.length===1?"0"+t:t}function Sp(e){return"#"+e.map(GS).join("")}function zS(e){var t=(e[0]*299+e[1]*587+e[2]*114)/1e3;return t<128}function YS(e){return e?ZS(e)?e:[e]:[]}function ZS(e){return Array.isArray(e[0])}function Mc(e,t,r){for(var s=0;s=t-r&&e<=t+r}function ek(e,t,r){var s=r[0],o=r[1],l=r[2],u=r[3],c=r[4],f=e[t+3],h=oa(f,u,c);return u?!!(!f&&h||oa(e[t],s,c)&&oa(e[t+1],o,c)&&oa(e[t+2],l,c)&&h):h}var tk=24;function nk(e,t,r){for(var s={},o=r.dominantDivider||tk,l=r.ignoredColor,u=r.step,c=[0,0,0,0,0],f=0;fl?(f=o/l,u=Qu,c=Math.round(u/f)):(f=l/o,c=Qu,u=Math.round(c/f)),(u>o||c>l||u"u";function hk(){return dk?Gg?new OffscreenCanvas(1,1):null:document.createElement("canvas")}var pk="FastAverageColor: ";function Wn(e){return Error(pk+e)}function bs(e,t){t||console.error(e)}var mk=function(){function e(){this.canvas=null,this.ctx=null}return e.prototype.getColorAsync=function(t,r){if(!t)return Promise.reject(Wn("call .getColorAsync() without resource"));if(typeof t=="string"){if(typeof Image>"u")return Promise.reject(Wn("resource as string is not supported in this environment"));var s=new Image;return s.crossOrigin=r&&r.crossOrigin||"",s.src=t,this.bindImageEvents(s,r)}else{if(Kg(t)&&!t.complete)return this.bindImageEvents(t,r);var o=this.getColor(t,r);return o.error?Promise.reject(o.error):Promise.resolve(o)}},e.prototype.getColor=function(t,r){r=r||{};var s=kp(r);if(!t){var o=Wn("call .getColor() without resource");return bs(o,r.silent),this.prepareResult(s,o)}var l=ok(t),u=fk(l,r);if(!u.srcWidth||!u.srcHeight||!u.destWidth||!u.destHeight){var o=Wn('incorrect sizes for resource "'.concat(Rp(t),'"'));return bs(o,r.silent),this.prepareResult(s,o)}if(!this.canvas&&(this.canvas=hk(),!this.canvas)){var o=Wn("OffscreenCanvas is not supported in this browser");return bs(o,r.silent),this.prepareResult(s,o)}if(!this.ctx){if(this.ctx=this.canvas.getContext("2d",{willReadFrequently:!0}),!this.ctx){var o=Wn("Canvas Context 2D is not supported in this browser");return bs(o,r.silent),this.prepareResult(s)}this.ctx.imageSmoothingEnabled=!1}this.canvas.width=u.destWidth,this.canvas.height=u.destHeight;try{this.ctx.clearRect(0,0,u.destWidth,u.destHeight),this.ctx.drawImage(t,u.srcLeft,u.srcTop,u.srcWidth,u.srcHeight,0,0,u.destWidth,u.destHeight);var c=this.ctx.getImageData(0,0,u.destWidth,u.destHeight).data;return this.prepareResult(this.getColorFromArray4(c,r))}catch(f){var o=Wn("security error (CORS) for resource ".concat(Rp(t),`. +Details: https://developer.mozilla.org/en/docs/Web/HTML/CORS_enabled_image`));return bs(o,r.silent),!r.silent&&console.error(f),this.prepareResult(s,o)}},e.prototype.getColorFromArray4=function(t,r){r=r||{};var s=4,o=t.length,l=kp(r);if(o{const r=e.hex,s=Math.round(t*255).toString(16);return r+s},gk=async(e,t,r=.25)=>{if(!qr().ambient)return;var o=e.width/100,l=e.height/100,u=e.naturalWidth,c=e.naturalHeight;const f=await Promise.all([Ss.getColorAsync(t,{height:l}),Ss.getColorAsync(t,{left:u-o,width:o}),Ss.getColorAsync(t,{width:o}),Ss.getColorAsync(t,{top:c-l,height:l})]);o*=40,l*=40;var h=ks(f[0],r),p=ks(f[1],r),m=ks(f[2],r),v=ks(f[3],r);const g=" 10px",S=` ${o}px `,C=o+"px",I=l+"px";e.style.boxShadow=["0 -".concat(I," ").concat(S," ").concat(g," ").concat(h),"".concat(C," 0 ").concat(S," ").concat(g," ").concat(p),"0 ".concat(I," ").concat(S," ").concat(g," ").concat(m),"-".concat(C," 0 ").concat(S," ").concat(g," ").concat(v)].join(", ")},vk=async(e,t,r="to top right",s=.2)=>{if(!qr().ambient)return;const l=await Ss.getColorAsync(t),u=ks(l,s),c=`linear-gradient(${r}, ${u}, transparent)`;e.style.background=c},yk={dark:!1,dynamic:!0},_k={dark:!0,dynamic:!1},ci={"fg-secondary":{dark:"#1ed760",dynamic:"#00c48b",light:"#18a74b"},"fg-secondary-dk":{dark:"#217e41",dynamic:"#00c48b",light:"#80dda0"},"bg-contrast":{dark:"white",dynamic:"whitesmoke",light:"#181c2f"},"fg-contrast":{dark:"#121212",dynamic:"#1e1e1e",light:"white"},"fg-base":{dark:"white",dynamic:"whitesmoke",light:"#181c2f"},"fg-base-dk":{dark:"#a7a7a7",dynamic:"#c2bebe",light:"#8b8c91"},"fg-base-dkr":{dark:"#999",light:"#8b8c91",dynamic:"#999"},"bg-hover-ltr":{dark:"#242424"},"bg-hover-lt":{dark:"hsla(0,0%,100%,0.04)",light:"#b3b3b31f"},"bg-hover":{dark:"hsla(0,0%,100%,0.3)",dynamic:"#00c48b82",light:"#7c828f5e"},"bg-hover-dk":{dark:"#2a2a2a",dynamic:"#00c48b42",light:"#E3E7EB"},"bg-gradient":{dark:"linear-gradient(to left bottom, #1ed760, #217e41)",dynamic:"linear-gradient(to left bottom, #00a53c, #00297f)",light:"linear-gradient(to left bottom, #18a74b, #80dda0)"},"bg-gradient-placeholder":{dark:"linear-gradient(to left bottom, #00a53c, #00297f)"},"bg-base":{dark:"#121212",light:"white"},"bg-base-lt":{dark:"#181818",dynamic:"linear-gradient(to right bottom, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.3))",light:"#f3f7fb"},"bg-base-dk":{dark:"black",dynamic:"linear-gradient(to right bottom, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.3))",light:"#f3f7fb"},"bg-input":{dark:"var(--background-light)",light:"var(--background)"},"bg-fixedPlaylistHeader":{dark:"var(--bg-base-lt)",dynamic:"#374148"},"border-fixedPlaylistHeader":{dark:"#303030",dynamic:"none",light:"#D0D0D0"},"border-base":{dark:"hsla(0,0%,100%,0.1)",light:"#E3E7EB"},"border-container":{dark:"1px solid var(--border-base)",light:"1px solid var(--border-base)",dynamic:"1px solid transparent"},"ff-base":{dark:"Poppins, sans-serif"},"h-playlistEntry":{dark:"64px"},"h-player":{dark:"88px"},"h-player-mobile":{dark:"64px"},"h-header":{dark:"64px"},coverAsBackground:yk,supportsAmbient:_k},za=()=>qr();window.getThemes=()=>{window.themes=[];for(const e of Object.keys(ci))for(const t of Object.keys(ci[e]))window.themes.includes(t)||window.themes.push(t);return window.themes};window.getCurrentTheme=()=>za().theme;window.setTheme=e=>{if(window.getThemes().includes(e)){za().theme=e;for(const t of Object.keys(ci)){const r=ci[t];t!="coverAsBackground"&&document.documentElement.style.setProperty(`--${t}`,r[e]??r.dark)}}};window.restoreTheme=()=>window.setTheme(za().theme||"dynamic");window.getCurrentThemeProperty=e=>{const t=ci[e];return t[za().theme]??t.dark};const zg=window,bk=["alt","src"],Nr=Ge({__name:"Cover",props:{src:{type:String,required:!0},type:{type:String,required:!1,default:"track"},placeholder:{type:String,required:!1},withAmbient:{type:Boolean,required:!1,default:!1},ambientOpacity:{type:Number,required:!1,default:.2},name:{type:String,required:!1}},setup(e){const t=e,r=xe(null),s=async()=>{console.error("Failed to load cover",t.src),r.value=await Ic(t.name??"N/A")},o=xe(null),l=async()=>{t.withAmbient&&o.value&&zg.getCurrentThemeProperty("supportsAmbient")&&gk(o.value,r.value,t.ambientOpacity)};return at(()=>t.src,async()=>{r.value=await Sa(t.src,t.name??"N/A",500,t.type)}),Wt(async()=>{r.value=await Sa(t.src,t.name??"N/A",500,t.type)}),(u,c)=>(re(),ve("img",{ref_key:"element",ref:o,alt:t.type,src:r.value,class:"cover rounded-md",onError:s,onLoad:l,lazy:""},null,40,bk))}}),wk={name:"NavEntry",components:{Cover:Nr},props:{icon:String,img:String,name:String,href:String,hasChildSites:Boolean,parentHref:String,minimised:Boolean},computed:{showImg(){return this.img?!0:/^\/playlist\/\w{22}$/.exec(this.href)},active(){return this.hasChildSites?this.$route.path.includes(this.href)?!0:this.parentHref&&this.$route.path.includes(this.parentHref):!1}}},Ak={key:0,class:"material-icons-round icon"},Pk={key:2,class:"name hideIfMobile"};function xk(e,t,r,s,o,l){const u=Ui("Cover"),c=Ui("router-link");return re(),Ze(c,{to:r.href,class:"link",title:r.name},{default:kt(()=>[te("div",{class:Ye([{active:l.active,img:l.showImg},"navEntry"])},[r.icon?(re(),ve("span",Ak,Ne(r.icon),1)):Me("",!0),l.showImg?(re(),Ze(u,{key:1,src:r.img,class:"icon",type:"playlist",name:r.name},null,8,["src","name"])):Me("",!0),r.minimised?Me("",!0):(re(),ve("span",Pk,Ne(r.name),1))],2)]),_:1},8,["to","title"])}const Hn=lt(wk,[["render",xk],["__scopeId","data-v-1857dcd0"]]),Ck="modulepreload",Ek=function(e){return"/"+e},Tp={},pt=function(t,r,s){let o=Promise.resolve();if(r&&r.length>0){document.getElementsByTagName("link");const l=document.querySelector("meta[property=csp-nonce]"),u=(l==null?void 0:l.nonce)||(l==null?void 0:l.getAttribute("nonce"));o=Promise.all(r.map(c=>{if(c=Ek(c),c in Tp)return;Tp[c]=!0;const f=c.endsWith(".css"),h=f?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${h}`))return;const p=document.createElement("link");if(p.rel=f?"stylesheet":Ck,f||(p.as="script",p.crossOrigin=""),p.href=c,u&&p.setAttribute("nonce",u),document.head.appendChild(p),f)return new Promise((m,v)=>{p.addEventListener("load",m),p.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${c}`)))})}))}return o.then(()=>t()).catch(l=>{const u=new Event("vite:preloadError",{cancelable:!0});if(u.payload=l,window.dispatchEvent(u),!u.defaultPrevented)throw l})},Sk=[{path:"/",component:()=>pt(()=>import("./index-IuELAake.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10]))},{path:"/discover",component:()=>pt(()=>import("./Explore-CImr0VNX.js"),__vite__mapDeps([11,12])),meta:{title:"Discover - reAudioPlayer One"}},{path:"/audius/callback",redirect:e=>(window.location.href=window.location.origin+"/api/audius/callback"+e.hash.replace("#","?"),null)},{name:"Search",path:"/search/:query",component:()=>pt(()=>import("./index-BtkKd32Q.js"),__vite__mapDeps([13,14])),meta:{title:"Search - reAudioPlayer One"}},{path:"/collection/albums",component:()=>pt(()=>import("./index-B_Tb2c9a.js"),__vite__mapDeps([15,16,17,18,19,1,2,3,20])),meta:{title:"Your Library - reAudioPlayer One"}},{path:"/collection/artists",component:()=>pt(()=>import("./index-B_Tb2c9a.js"),__vite__mapDeps([15,16,17,18,19,1,2,3,20])),meta:{title:"Your Library - reAudioPlayer One"}},{path:"/collection/playlists",component:()=>pt(()=>import("./index-B_Tb2c9a.js"),__vite__mapDeps([15,16,17,18,19,1,2,3,20])),meta:{title:"Your Library - reAudioPlayer One"}},{path:"/collection/releases",component:()=>pt(()=>import("./index-B_Tb2c9a.js"),__vite__mapDeps([15,16,17,18,19,1,2,3,20])),meta:{title:"Releases - reAudioPlayer One"}},{path:"/collection/tracks",component:()=>pt(()=>import("./Liked-DVwvw45D.js"),__vite__mapDeps([21,22,6,7,2,8,23,24,25,26,27,28,29])),meta:{title:"Liked Songs - reAudioPlayer One"}},{path:"/collection/tracks/breaking",component:()=>pt(()=>import("./Breaking-BYk6Hg3k.js"),__vite__mapDeps([30,22,6,7,2,8,23,24,25,26,27,28,29])),meta:{title:"Breaking Songs - reAudioPlayer One"}},{path:"/playlist/create",component:()=>pt(()=>import("./Create-D3JcGYih.js"),__vite__mapDeps([31,32])),meta:{title:"Create Playlist - reAudioPlayer One"}},{path:"/playlist/:id/edit",component:()=>pt(()=>import("./Editor-BrVboH8Y.js"),__vite__mapDeps([33,34,6,7,2,8,23,35])),meta:{title:"Smart Playlist Editor - reAudioPlayer One"}},{path:"/playlist/:id",component:()=>pt(()=>import("./Normal-kIql2dwO.js"),__vite__mapDeps([36,22,6,7,2,8,23,24,25,26,27,28,29])),meta:{title:"Playlist - reAudioPlayer One"}},{path:"/track/:hash",component:()=>pt(()=>import("./Track-D-ZYH2RL.js"),__vite__mapDeps([37,24,25,7,9,38])),meta:{title:"Track - reAudioPlayer One"}},{path:"/artist/:name",component:()=>pt(()=>import("./Artist-CNrEVT3R.js"),__vite__mapDeps([39,24,25,6,7,2,8,9,40])),meta:{title:"Artist - reAudioPlayer One"}},{path:"/album/:hash",component:()=>pt(()=>import("./Album-ncRMQdec.js"),__vite__mapDeps([41,6,7,2,8,42])),meta:{title:"Album - reAudioPlayer One"}},{path:"/preferences",component:()=>pt(()=>import("./index-BCf3Wdzv.js"),__vite__mapDeps([43,27,28,4,5,26,44])),meta:{title:"Preferences - reAudioPlayer One"}},{path:"/import",component:()=>pt(()=>import("./Import-C1fifzbd.js"),__vite__mapDeps([45,26,46])),meta:{title:"Import - reAudioPlayer One"}},{path:"/import/:id",component:()=>pt(()=>import("./ImportLink-Qnxy-SGQ.js"),__vite__mapDeps([47,48])),meta:{title:"Import - reAudioPlayer One"}},{path:"/export",component:()=>pt(()=>import("./Export-B-H9t4Ft.js"),__vite__mapDeps([49,26,50])),meta:{title:"Export - reAudioPlayer One"}},{path:"/sing-along",component:()=>pt(()=>import("./index-P2eOZTzP.js"),__vite__mapDeps([51,52])),meta:{title:"Sing Along - reAudioPlayer One"}},{path:"/download",component:()=>pt(()=>import("./index-B-nPbXJ4.js"),__vite__mapDeps([53,54])),meta:{title:"Download - reAudioPlayer One"}},{path:"/welcome",component:()=>pt(()=>import("./Welcome-wHgE9bOY.js"),__vite__mapDeps([55,56])),meta:{title:"Welcome to reAudioPlayer One"}},{path:"/news",component:()=>pt(()=>import("./News-DSmShJDZ.js"),__vite__mapDeps([57,16,17,58])),meta:{title:"News - reAudioPlayer One"}},{path:"/sports",component:()=>pt(()=>import("./Sports-X8cpF4Tf.js"),__vite__mapDeps([59,16,17,60])),meta:{title:"Sports - reAudioPlayer One"}},{path:"/news/:url",component:()=>pt(()=>import("./NewsArticle-BVMg12On.js"),__vite__mapDeps([61,18,19,62])),meta:{title:"News - reAudioPlayer One"}},{path:"/player/insights",component:()=>pt(()=>import("./Insight-YxgeZZYl.js"),__vite__mapDeps([63,64])),meta:{title:"Insights - reAudioPlayer One"}},{path:"/player",component:()=>pt(()=>import("./index-D2FOwDoa.js"),__vite__mapDeps([65,34,6,7,2,8,23,1,3,66])),meta:{title:"reAudioPlayer One"}}],Mi=ES({history:eS(),routes:Sk}),kk={class:"flex flex-row gap-2 items-center"},Ok={class:"relative flex-1"},Rk=["type","placeholder"],Tk=Ge({__name:"TextInputWithIcon",props:{icon:String,label:String,placeholder:{type:String,required:!1,default:""},modelValue:{type:String,required:!1,default:""},type:{type:String,required:!1,default:"text"},onClick:{type:Function,required:!1},expanded:{type:Boolean,required:!1,default:!1},onKeyUp:{type:Function,required:!1}},emits:["update:modelValue","change","submit","focusout"],setup(e,{expose:t,emit:r}){const s=e,o=xe(s.modelValue),l=xe(!1);at(()=>s.modelValue,p=>{o.value=p});const u=r,c=()=>{u("update:modelValue",o.value),u("change",o.value)},f=p=>{s.onKeyUp&&s.onKeyUp(p)||p.key==="Enter"&&u("submit",o)},h=xe();return t({focus:()=>{var p;(p=h.value)==null||p.focus()}}),(p,m)=>(re(),ve("div",{class:Ye(["text-input-with-icon rounded-xl flex flex-col justify-center px-4",{expanded:e.expanded}])},[te("div",kk,[e.icon?(re(),ve("span",{key:0,class:Ye([{"cursor-pointer":e.onClick},"material-symbols-rounded ms-wght-200"]),onClick:m[0]||(m[0]=(...v)=>e.onClick&&e.onClick(...v))},Ne(e.icon),3)):Me("",!0),te("div",Ok,[e.label?(re(),ve("span",{key:0,class:Ye(["text-sm label-placeholder capitalize",{atTop:!!o.value}])},Ne(e.label),3)):Me("",!0),Us(te("input",{"onUpdate:modelValue":m[1]||(m[1]=v=>o.value=v),type:e.type=="password"&&l.value?"text":e.type,placeholder:e.placeholder,onInput:c,onKeyup:f,onFocusout:m[2]||(m[2]=v=>p.$emit("focusout")),ref_key:"element",ref:h},null,40,Rk),[[xc,o.value]])]),e.type=="password"?(re(),ve("span",{key:1,class:"material-symbols-rounded cursor-pointer",onClick:m[3]||(m[3]=v=>l.value=!l.value)},Ne(l.value?"visibility":"visibility_off"),1)):Me("",!0)])],2))}}),ec=lt(Tk,[["__scopeId","data-v-7bfb9f4a"]]);var ws=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Ik(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function AI(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function s(){return this instanceof s?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(s){var o=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(r,s,o.get?o:{enumerable:!0,get:function(){return e[s]}})}),r}var ka={exports:{}};/** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */ka.exports;(function(e,t){(function(){var r,s="4.17.21",o=200,l="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",u="Expected a function",c="Invalid `variable` option passed into `_.template`",f="__lodash_hash_undefined__",h=500,p="__lodash_placeholder__",m=1,v=2,g=4,S=1,C=2,I=1,V=2,D=4,A=8,k=16,R=32,T=64,q=128,G=256,W=512,F=30,K="...",j=800,U=16,E=1,M=2,B=3,P=1/0,_=9007199254740991,Y=17976931348623157e292,N=NaN,b=4294967295,Q=b-1,de=b>>>1,Ce=[["ary",q],["bind",I],["bindKey",V],["curry",A],["curryRight",k],["flip",W],["partial",R],["partialRight",T],["rearg",G]],be="[object Arguments]",ke="[object Array]",X="[object AsyncFunction]",se="[object Boolean]",he="[object Date]",Ae="[object DOMException]",Oe="[object Error]",je="[object Function]",O="[object GeneratorFunction]",L="[object Map]",J="[object Number]",ue="[object Null]",ne="[object Object]",ye="[object Promise]",_e="[object Proxy]",ge="[object RegExp]",me="[object Set]",ce="[object String]",Pe="[object Symbol]",Ie="[object Undefined]",Re="[object WeakMap]",We="[object WeakSet]",He="[object ArrayBuffer]",it="[object DataView]",tt="[object Float32Array]",Pt="[object Float64Array]",qt="[object Int8Array]",Dn="[object Int16Array]",di="[object Int32Array]",zn="[object Uint8Array]",hi="[object Uint8ClampedArray]",Dt="[object Uint16Array]",Zt="[object Uint32Array]",ro=/\b__p \+= '';/g,pv=/\b(__p \+=) '' \+/g,mv=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Dc=/&(?:amp|lt|gt|quot|#39);/g,Nc=/[&<>"']/g,gv=RegExp(Dc.source),vv=RegExp(Nc.source),yv=/<%-([\s\S]+?)%>/g,_v=/<%([\s\S]+?)%>/g,Bc=/<%=([\s\S]+?)%>/g,bv=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,wv=/^\w*$/,Av=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Za=/[\\^$.*+?()[\]{}|]/g,Pv=RegExp(Za.source),Ja=/^\s+/,xv=/\s/,Cv=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Ev=/\{\n\/\* \[wrapped with (.+)\] \*/,Sv=/,? & /,kv=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Ov=/[()=,{}\[\]\/\s]/,Rv=/\\(\\)?/g,Tv=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Vc=/\w*$/,Iv=/^[-+]0x[0-9a-f]+$/i,Mv=/^0b[01]+$/i,Lv=/^\[object .+?Constructor\]$/,$v=/^0o[0-7]+$/i,Dv=/^(?:0|[1-9]\d*)$/,Nv=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,io=/($^)/,Bv=/['\n\r\u2028\u2029\\]/g,so="\\ud800-\\udfff",Vv="\\u0300-\\u036f",Wv="\\ufe20-\\ufe2f",Fv="\\u20d0-\\u20ff",Wc=Vv+Wv+Fv,Fc="\\u2700-\\u27bf",Hc="a-z\\xdf-\\xf6\\xf8-\\xff",Hv="\\xac\\xb1\\xd7\\xf7",Uv="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",qv="\\u2000-\\u206f",jv=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Uc="A-Z\\xc0-\\xd6\\xd8-\\xde",qc="\\ufe0e\\ufe0f",jc=Hv+Uv+qv+jv,Xa="['’]",Kv="["+so+"]",Kc="["+jc+"]",oo="["+Wc+"]",Gc="\\d+",Gv="["+Fc+"]",zc="["+Hc+"]",Yc="[^"+so+jc+Gc+Fc+Hc+Uc+"]",Qa="\\ud83c[\\udffb-\\udfff]",zv="(?:"+oo+"|"+Qa+")",Zc="[^"+so+"]",el="(?:\\ud83c[\\udde6-\\uddff]){2}",tl="[\\ud800-\\udbff][\\udc00-\\udfff]",pi="["+Uc+"]",Jc="\\u200d",Xc="(?:"+zc+"|"+Yc+")",Yv="(?:"+pi+"|"+Yc+")",Qc="(?:"+Xa+"(?:d|ll|m|re|s|t|ve))?",ef="(?:"+Xa+"(?:D|LL|M|RE|S|T|VE))?",tf=zv+"?",nf="["+qc+"]?",Zv="(?:"+Jc+"(?:"+[Zc,el,tl].join("|")+")"+nf+tf+")*",Jv="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Xv="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",rf=nf+tf+Zv,Qv="(?:"+[Gv,el,tl].join("|")+")"+rf,ey="(?:"+[Zc+oo+"?",oo,el,tl,Kv].join("|")+")",ty=RegExp(Xa,"g"),ny=RegExp(oo,"g"),nl=RegExp(Qa+"(?="+Qa+")|"+ey+rf,"g"),ry=RegExp([pi+"?"+zc+"+"+Qc+"(?="+[Kc,pi,"$"].join("|")+")",Yv+"+"+ef+"(?="+[Kc,pi+Xc,"$"].join("|")+")",pi+"?"+Xc+"+"+Qc,pi+"+"+ef,Xv,Jv,Gc,Qv].join("|"),"g"),iy=RegExp("["+Jc+so+Wc+qc+"]"),sy=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,oy=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],ay=-1,gt={};gt[tt]=gt[Pt]=gt[qt]=gt[Dn]=gt[di]=gt[zn]=gt[hi]=gt[Dt]=gt[Zt]=!0,gt[be]=gt[ke]=gt[He]=gt[se]=gt[it]=gt[he]=gt[Oe]=gt[je]=gt[L]=gt[J]=gt[ne]=gt[ge]=gt[me]=gt[ce]=gt[Re]=!1;var mt={};mt[be]=mt[ke]=mt[He]=mt[it]=mt[se]=mt[he]=mt[tt]=mt[Pt]=mt[qt]=mt[Dn]=mt[di]=mt[L]=mt[J]=mt[ne]=mt[ge]=mt[me]=mt[ce]=mt[Pe]=mt[zn]=mt[hi]=mt[Dt]=mt[Zt]=!0,mt[Oe]=mt[je]=mt[Re]=!1;var ly={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},uy={"&":"&","<":"<",">":">",'"':""","'":"'"},cy={"&":"&","<":"<",">":">",""":'"',"'":"'"},fy={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},dy=parseFloat,hy=parseInt,sf=typeof ws=="object"&&ws&&ws.Object===Object&&ws,py=typeof self=="object"&&self&&self.Object===Object&&self,Nt=sf||py||Function("return this")(),rl=t&&!t.nodeType&&t,jr=rl&&!0&&e&&!e.nodeType&&e,of=jr&&jr.exports===rl,il=of&&sf.process,yn=function(){try{var z=jr&&jr.require&&jr.require("util").types;return z||il&&il.binding&&il.binding("util")}catch{}}(),af=yn&&yn.isArrayBuffer,lf=yn&&yn.isDate,uf=yn&&yn.isMap,cf=yn&&yn.isRegExp,ff=yn&&yn.isSet,df=yn&&yn.isTypedArray;function ln(z,ie,ee){switch(ee.length){case 0:return z.call(ie);case 1:return z.call(ie,ee[0]);case 2:return z.call(ie,ee[0],ee[1]);case 3:return z.call(ie,ee[0],ee[1],ee[2])}return z.apply(ie,ee)}function my(z,ie,ee,Ee){for(var Fe=-1,st=z==null?0:z.length;++Fe-1}function sl(z,ie,ee){for(var Ee=-1,Fe=z==null?0:z.length;++Ee-1;);return ee}function bf(z,ie){for(var ee=z.length;ee--&&mi(ie,z[ee],0)>-1;);return ee}function xy(z,ie){for(var ee=z.length,Ee=0;ee--;)z[ee]===ie&&++Ee;return Ee}var Cy=ul(ly),Ey=ul(uy);function Sy(z){return"\\"+fy[z]}function ky(z,ie){return z==null?r:z[ie]}function gi(z){return iy.test(z)}function Oy(z){return sy.test(z)}function Ry(z){for(var ie,ee=[];!(ie=z.next()).done;)ee.push(ie.value);return ee}function hl(z){var ie=-1,ee=Array(z.size);return z.forEach(function(Ee,Fe){ee[++ie]=[Fe,Ee]}),ee}function wf(z,ie){return function(ee){return z(ie(ee))}}function vr(z,ie){for(var ee=-1,Ee=z.length,Fe=0,st=[];++ee-1}function v_(n,i){var a=this.__data__,d=Co(a,n);return d<0?(++this.size,a.push([n,i])):a[d][1]=i,this}Yn.prototype.clear=h_,Yn.prototype.delete=p_,Yn.prototype.get=m_,Yn.prototype.has=g_,Yn.prototype.set=v_;function Zn(n){var i=-1,a=n==null?0:n.length;for(this.clear();++i=i?n:i)),n}function An(n,i,a,d,y,x){var $,H=i&m,Z=i&v,ae=i&g;if(a&&($=y?a(n,d,y,x):a(n)),$!==r)return $;if(!wt(n))return n;var le=Ue(n);if(le){if($=wb(n),!H)return Jt(n,$)}else{var fe=Ht(n),we=fe==je||fe==O;if(Pr(n))return rd(n,H);if(fe==ne||fe==be||we&&!y){if($=Z||we?{}:Ad(n),!H)return Z?cb(n,M_($,n)):ub(n,Mf($,n))}else{if(!mt[fe])return y?n:{};$=Ab(n,fe,H)}}x||(x=new Rn);var Te=x.get(n);if(Te)return Te;x.set(n,$),Jd(n)?n.forEach(function(De){$.add(An(De,i,a,De,n,x))}):Yd(n)&&n.forEach(function(De,Je){$.set(Je,An(De,i,a,Je,n,x))});var $e=ae?Z?Vl:Bl:Z?Qt:Lt,Ke=le?r:$e(n);return _n(Ke||n,function(De,Je){Ke&&(Je=De,De=n[Je]),as($,Je,An(De,i,a,Je,n,x))}),$}function L_(n){var i=Lt(n);return function(a){return Lf(a,n,i)}}function Lf(n,i,a){var d=a.length;if(n==null)return!d;for(n=ht(n);d--;){var y=a[d],x=i[y],$=n[y];if($===r&&!(y in n)||!x($))return!1}return!0}function $f(n,i,a){if(typeof n!="function")throw new bn(u);return ps(function(){n.apply(r,a)},i)}function ls(n,i,a,d){var y=-1,x=ao,$=!0,H=n.length,Z=[],ae=i.length;if(!H)return Z;a&&(i=yt(i,un(a))),d?(x=sl,$=!1):i.length>=o&&(x=ts,$=!1,i=new zr(i));e:for(;++yy?0:y+a),d=d===r||d>y?y:qe(d),d<0&&(d+=y),d=a>d?0:Qd(d);a0&&a(H)?i>1?Bt(H,i-1,a,d,y):gr(y,H):d||(y[y.length]=H)}return y}var bl=ud(),Bf=ud(!0);function Nn(n,i){return n&&bl(n,i,Lt)}function wl(n,i){return n&&Bf(n,i,Lt)}function So(n,i){return mr(i,function(a){return tr(n[a])})}function Zr(n,i){i=wr(i,n);for(var a=0,d=i.length;n!=null&&ai}function N_(n,i){return n!=null&&ut.call(n,i)}function B_(n,i){return n!=null&&i in ht(n)}function V_(n,i,a){return n>=Ft(i,a)&&n=120&&le.length>=120)?new zr($&&le):r}le=n[0];var fe=-1,we=H[0];e:for(;++fe-1;)H!==n&&yo.call(H,Z,1),yo.call(n,Z,1);return n}function Yf(n,i){for(var a=n?i.length:0,d=a-1;a--;){var y=i[a];if(a==d||y!==x){var x=y;er(y)?yo.call(n,y,1):Tl(n,y)}}return n}function kl(n,i){return n+wo(Of()*(i-n+1))}function X_(n,i,a,d){for(var y=-1,x=Rt(bo((i-n)/(a||1)),0),$=ee(x);x--;)$[d?x:++y]=n,n+=a;return $}function Ol(n,i){var a="";if(!n||i<1||i>_)return a;do i%2&&(a+=n),i=wo(i/2),i&&(n+=n);while(i);return a}function ze(n,i){return Kl(Cd(n,i,en),n+"")}function Q_(n){return If(Si(n))}function eb(n,i){var a=Si(n);return Bo(a,Yr(i,0,a.length))}function fs(n,i,a,d){if(!wt(n))return n;i=wr(i,n);for(var y=-1,x=i.length,$=x-1,H=n;H!=null&&++yy?0:y+i),a=a>y?y:a,a<0&&(a+=y),y=i>a?0:a-i>>>0,i>>>=0;for(var x=ee(y);++d>>1,$=n[x];$!==null&&!fn($)&&(a?$<=i:$=o){var ae=i?null:pb(n);if(ae)return uo(ae);$=!1,y=ts,Z=new zr}else Z=i?[]:H;e:for(;++d=d?n:Pn(n,i,a)}var nd=jy||function(n){return Nt.clearTimeout(n)};function rd(n,i){if(i)return n.slice();var a=n.length,d=xf?xf(a):new n.constructor(a);return n.copy(d),d}function $l(n){var i=new n.constructor(n.byteLength);return new go(i).set(new go(n)),i}function sb(n,i){var a=i?$l(n.buffer):n.buffer;return new n.constructor(a,n.byteOffset,n.byteLength)}function ob(n){var i=new n.constructor(n.source,Vc.exec(n));return i.lastIndex=n.lastIndex,i}function ab(n){return os?ht(os.call(n)):{}}function id(n,i){var a=i?$l(n.buffer):n.buffer;return new n.constructor(a,n.byteOffset,n.length)}function sd(n,i){if(n!==i){var a=n!==r,d=n===null,y=n===n,x=fn(n),$=i!==r,H=i===null,Z=i===i,ae=fn(i);if(!H&&!ae&&!x&&n>i||x&&$&&Z&&!H&&!ae||d&&$&&Z||!a&&Z||!y)return 1;if(!d&&!x&&!ae&&n=H)return Z;var ae=a[d];return Z*(ae=="desc"?-1:1)}}return n.index-i.index}function od(n,i,a,d){for(var y=-1,x=n.length,$=a.length,H=-1,Z=i.length,ae=Rt(x-$,0),le=ee(Z+ae),fe=!d;++H1?a[y-1]:r,$=y>2?a[2]:r;for(x=n.length>3&&typeof x=="function"?(y--,x):r,$&&Kt(a[0],a[1],$)&&(x=y<3?r:x,y=1),i=ht(i);++d-1?y[x?i[$]:$]:r}}function dd(n){return Qn(function(i){var a=i.length,d=a,y=wn.prototype.thru;for(n&&i.reverse();d--;){var x=i[d];if(typeof x!="function")throw new bn(u);if(y&&!$&&Do(x)=="wrapper")var $=new wn([],!0)}for(d=$?d:a;++d1&&Qe.reverse(),le&&ZH))return!1;var ae=x.get(n),le=x.get(i);if(ae&&le)return ae==i&&le==n;var fe=-1,we=!0,Te=a&C?new zr:r;for(x.set(n,i),x.set(i,n);++fe1?"& ":"")+i[d],i=i.join(a>2?", ":" "),n.replace(Cv,`{ +/* [wrapped with `+i+`] */ +`)}function xb(n){return Ue(n)||Qr(n)||!!(Sf&&n&&n[Sf])}function er(n,i){var a=typeof n;return i=i??_,!!i&&(a=="number"||a!="symbol"&&Dv.test(n))&&n>-1&&n%1==0&&n0){if(++i>=j)return arguments[0]}else i=0;return n.apply(r,arguments)}}function Bo(n,i){var a=-1,d=n.length,y=d-1;for(i=i===r?d:i;++a1?n[i-1]:r;return a=typeof a=="function"?(n.pop(),a):r,Nd(n,a)});function Bd(n){var i=w(n);return i.__chain__=!0,i}function $0(n,i){return i(n),n}function Vo(n,i){return i(n)}var D0=Qn(function(n){var i=n.length,a=i?n[0]:0,d=this.__wrapped__,y=function(x){return _l(x,n)};return i>1||this.__actions__.length||!(d instanceof Xe)||!er(a)?this.thru(y):(d=d.slice(a,+a+(i?1:0)),d.__actions__.push({func:Vo,args:[y],thisArg:r}),new wn(d,this.__chain__).thru(function(x){return i&&!x.length&&x.push(r),x}))});function N0(){return Bd(this)}function B0(){return new wn(this.value(),this.__chain__)}function V0(){this.__values__===r&&(this.__values__=Xd(this.value()));var n=this.__index__>=this.__values__.length,i=n?r:this.__values__[this.__index__++];return{done:n,value:i}}function W0(){return this}function F0(n){for(var i,a=this;a instanceof xo;){var d=Td(a);d.__index__=0,d.__values__=r,i?y.__wrapped__=d:i=d;var y=d;a=a.__wrapped__}return y.__wrapped__=n,i}function H0(){var n=this.__wrapped__;if(n instanceof Xe){var i=n;return this.__actions__.length&&(i=new Xe(this)),i=i.reverse(),i.__actions__.push({func:Vo,args:[Gl],thisArg:r}),new wn(i,this.__chain__)}return this.thru(Gl)}function U0(){return ed(this.__wrapped__,this.__actions__)}var q0=To(function(n,i,a){ut.call(n,a)?++n[a]:Jn(n,a,1)});function j0(n,i,a){var d=Ue(n)?hf:$_;return a&&Kt(n,i,a)&&(i=r),d(n,Le(i,3))}function K0(n,i){var a=Ue(n)?mr:Nf;return a(n,Le(i,3))}var G0=fd(Id),z0=fd(Md);function Y0(n,i){return Bt(Wo(n,i),1)}function Z0(n,i){return Bt(Wo(n,i),P)}function J0(n,i,a){return a=a===r?1:qe(a),Bt(Wo(n,i),a)}function Vd(n,i){var a=Ue(n)?_n:_r;return a(n,Le(i,3))}function Wd(n,i){var a=Ue(n)?gy:Df;return a(n,Le(i,3))}var X0=To(function(n,i,a){ut.call(n,a)?n[a].push(i):Jn(n,a,[i])});function Q0(n,i,a,d){n=Xt(n)?n:Si(n),a=a&&!d?qe(a):0;var y=n.length;return a<0&&(a=Rt(y+a,0)),jo(n)?a<=y&&n.indexOf(i,a)>-1:!!y&&mi(n,i,a)>-1}var ew=ze(function(n,i,a){var d=-1,y=typeof i=="function",x=Xt(n)?ee(n.length):[];return _r(n,function($){x[++d]=y?ln(i,$,a):us($,i,a)}),x}),tw=To(function(n,i,a){Jn(n,a,i)});function Wo(n,i){var a=Ue(n)?yt:Uf;return a(n,Le(i,3))}function nw(n,i,a,d){return n==null?[]:(Ue(i)||(i=i==null?[]:[i]),a=d?r:a,Ue(a)||(a=a==null?[]:[a]),Gf(n,i,a))}var rw=To(function(n,i,a){n[a?0:1].push(i)},function(){return[[],[]]});function iw(n,i,a){var d=Ue(n)?ol:vf,y=arguments.length<3;return d(n,Le(i,4),a,y,_r)}function sw(n,i,a){var d=Ue(n)?vy:vf,y=arguments.length<3;return d(n,Le(i,4),a,y,Df)}function ow(n,i){var a=Ue(n)?mr:Nf;return a(n,Uo(Le(i,3)))}function aw(n){var i=Ue(n)?If:Q_;return i(n)}function lw(n,i,a){(a?Kt(n,i,a):i===r)?i=1:i=qe(i);var d=Ue(n)?R_:eb;return d(n,i)}function uw(n){var i=Ue(n)?T_:nb;return i(n)}function cw(n){if(n==null)return 0;if(Xt(n))return jo(n)?vi(n):n.length;var i=Ht(n);return i==L||i==me?n.size:Cl(n).length}function fw(n,i,a){var d=Ue(n)?al:rb;return a&&Kt(n,i,a)&&(i=r),d(n,Le(i,3))}var dw=ze(function(n,i){if(n==null)return[];var a=i.length;return a>1&&Kt(n,i[0],i[1])?i=[]:a>2&&Kt(i[0],i[1],i[2])&&(i=[i[0]]),Gf(n,Bt(i,1),[])}),Fo=Ky||function(){return Nt.Date.now()};function hw(n,i){if(typeof i!="function")throw new bn(u);return n=qe(n),function(){if(--n<1)return i.apply(this,arguments)}}function Fd(n,i,a){return i=a?r:i,i=n&&i==null?n.length:i,Xn(n,q,r,r,r,r,i)}function Hd(n,i){var a;if(typeof i!="function")throw new bn(u);return n=qe(n),function(){return--n>0&&(a=i.apply(this,arguments)),n<=1&&(i=r),a}}var Yl=ze(function(n,i,a){var d=I;if(a.length){var y=vr(a,Ci(Yl));d|=R}return Xn(n,d,i,a,y)}),Ud=ze(function(n,i,a){var d=I|V;if(a.length){var y=vr(a,Ci(Ud));d|=R}return Xn(i,d,n,a,y)});function qd(n,i,a){i=a?r:i;var d=Xn(n,A,r,r,r,r,r,i);return d.placeholder=qd.placeholder,d}function jd(n,i,a){i=a?r:i;var d=Xn(n,k,r,r,r,r,r,i);return d.placeholder=jd.placeholder,d}function Kd(n,i,a){var d,y,x,$,H,Z,ae=0,le=!1,fe=!1,we=!0;if(typeof n!="function")throw new bn(u);i=Cn(i)||0,wt(a)&&(le=!!a.leading,fe="maxWait"in a,x=fe?Rt(Cn(a.maxWait)||0,i):x,we="trailing"in a?!!a.trailing:we);function Te(St){var In=d,rr=y;return d=y=r,ae=St,$=n.apply(rr,In),$}function $e(St){return ae=St,H=ps(Je,i),le?Te(St):$}function Ke(St){var In=St-Z,rr=St-ae,fh=i-In;return fe?Ft(fh,x-rr):fh}function De(St){var In=St-Z,rr=St-ae;return Z===r||In>=i||In<0||fe&&rr>=x}function Je(){var St=Fo();if(De(St))return Qe(St);H=ps(Je,Ke(St))}function Qe(St){return H=r,we&&d?Te(St):(d=y=r,$)}function dn(){H!==r&&nd(H),ae=0,d=Z=y=H=r}function Gt(){return H===r?$:Qe(Fo())}function hn(){var St=Fo(),In=De(St);if(d=arguments,y=this,Z=St,In){if(H===r)return $e(Z);if(fe)return nd(H),H=ps(Je,i),Te(Z)}return H===r&&(H=ps(Je,i)),$}return hn.cancel=dn,hn.flush=Gt,hn}var pw=ze(function(n,i){return $f(n,1,i)}),mw=ze(function(n,i,a){return $f(n,Cn(i)||0,a)});function gw(n){return Xn(n,W)}function Ho(n,i){if(typeof n!="function"||i!=null&&typeof i!="function")throw new bn(u);var a=function(){var d=arguments,y=i?i.apply(this,d):d[0],x=a.cache;if(x.has(y))return x.get(y);var $=n.apply(this,d);return a.cache=x.set(y,$)||x,$};return a.cache=new(Ho.Cache||Zn),a}Ho.Cache=Zn;function Uo(n){if(typeof n!="function")throw new bn(u);return function(){var i=arguments;switch(i.length){case 0:return!n.call(this);case 1:return!n.call(this,i[0]);case 2:return!n.call(this,i[0],i[1]);case 3:return!n.call(this,i[0],i[1],i[2])}return!n.apply(this,i)}}function vw(n){return Hd(2,n)}var yw=ib(function(n,i){i=i.length==1&&Ue(i[0])?yt(i[0],un(Le())):yt(Bt(i,1),un(Le()));var a=i.length;return ze(function(d){for(var y=-1,x=Ft(d.length,a);++y=i}),Qr=Wf(function(){return arguments}())?Wf:function(n){return xt(n)&&ut.call(n,"callee")&&!Ef.call(n,"callee")},Ue=ee.isArray,Mw=af?un(af):F_;function Xt(n){return n!=null&&qo(n.length)&&!tr(n)}function Et(n){return xt(n)&&Xt(n)}function Lw(n){return n===!0||n===!1||xt(n)&&jt(n)==se}var Pr=zy||au,$w=lf?un(lf):H_;function Dw(n){return xt(n)&&n.nodeType===1&&!ms(n)}function Nw(n){if(n==null)return!0;if(Xt(n)&&(Ue(n)||typeof n=="string"||typeof n.splice=="function"||Pr(n)||Ei(n)||Qr(n)))return!n.length;var i=Ht(n);if(i==L||i==me)return!n.size;if(hs(n))return!Cl(n).length;for(var a in n)if(ut.call(n,a))return!1;return!0}function Bw(n,i){return cs(n,i)}function Vw(n,i,a){a=typeof a=="function"?a:r;var d=a?a(n,i):r;return d===r?cs(n,i,r,a):!!d}function Jl(n){if(!xt(n))return!1;var i=jt(n);return i==Oe||i==Ae||typeof n.message=="string"&&typeof n.name=="string"&&!ms(n)}function Ww(n){return typeof n=="number"&&kf(n)}function tr(n){if(!wt(n))return!1;var i=jt(n);return i==je||i==O||i==X||i==_e}function zd(n){return typeof n=="number"&&n==qe(n)}function qo(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=_}function wt(n){var i=typeof n;return n!=null&&(i=="object"||i=="function")}function xt(n){return n!=null&&typeof n=="object"}var Yd=uf?un(uf):q_;function Fw(n,i){return n===i||xl(n,i,Fl(i))}function Hw(n,i,a){return a=typeof a=="function"?a:r,xl(n,i,Fl(i),a)}function Uw(n){return Zd(n)&&n!=+n}function qw(n){if(Sb(n))throw new Fe(l);return Ff(n)}function jw(n){return n===null}function Kw(n){return n==null}function Zd(n){return typeof n=="number"||xt(n)&&jt(n)==J}function ms(n){if(!xt(n)||jt(n)!=ne)return!1;var i=vo(n);if(i===null)return!0;var a=ut.call(i,"constructor")&&i.constructor;return typeof a=="function"&&a instanceof a&&ho.call(a)==Hy}var Xl=cf?un(cf):j_;function Gw(n){return zd(n)&&n>=-_&&n<=_}var Jd=ff?un(ff):K_;function jo(n){return typeof n=="string"||!Ue(n)&&xt(n)&&jt(n)==ce}function fn(n){return typeof n=="symbol"||xt(n)&&jt(n)==Pe}var Ei=df?un(df):G_;function zw(n){return n===r}function Yw(n){return xt(n)&&Ht(n)==Re}function Zw(n){return xt(n)&&jt(n)==We}var Jw=$o(El),Xw=$o(function(n,i){return n<=i});function Xd(n){if(!n)return[];if(Xt(n))return jo(n)?On(n):Jt(n);if(ns&&n[ns])return Ry(n[ns]());var i=Ht(n),a=i==L?hl:i==me?uo:Si;return a(n)}function nr(n){if(!n)return n===0?n:0;if(n=Cn(n),n===P||n===-P){var i=n<0?-1:1;return i*Y}return n===n?n:0}function qe(n){var i=nr(n),a=i%1;return i===i?a?i-a:i:0}function Qd(n){return n?Yr(qe(n),0,b):0}function Cn(n){if(typeof n=="number")return n;if(fn(n))return N;if(wt(n)){var i=typeof n.valueOf=="function"?n.valueOf():n;n=wt(i)?i+"":i}if(typeof n!="string")return n===0?n:+n;n=yf(n);var a=Mv.test(n);return a||$v.test(n)?hy(n.slice(2),a?2:8):Iv.test(n)?N:+n}function eh(n){return Bn(n,Qt(n))}function Qw(n){return n?Yr(qe(n),-_,_):n===0?n:0}function ot(n){return n==null?"":cn(n)}var e1=Pi(function(n,i){if(hs(i)||Xt(i)){Bn(i,Lt(i),n);return}for(var a in i)ut.call(i,a)&&as(n,a,i[a])}),th=Pi(function(n,i){Bn(i,Qt(i),n)}),Ko=Pi(function(n,i,a,d){Bn(i,Qt(i),n,d)}),t1=Pi(function(n,i,a,d){Bn(i,Lt(i),n,d)}),n1=Qn(_l);function r1(n,i){var a=Ai(n);return i==null?a:Mf(a,i)}var i1=ze(function(n,i){n=ht(n);var a=-1,d=i.length,y=d>2?i[2]:r;for(y&&Kt(i[0],i[1],y)&&(d=1);++a1),x}),Bn(n,Vl(n),a),d&&(a=An(a,m|v|g,mb));for(var y=i.length;y--;)Tl(a,i[y]);return a});function A1(n,i){return rh(n,Uo(Le(i)))}var P1=Qn(function(n,i){return n==null?{}:Z_(n,i)});function rh(n,i){if(n==null)return{};var a=yt(Vl(n),function(d){return[d]});return i=Le(i),zf(n,a,function(d,y){return i(d,y[0])})}function x1(n,i,a){i=wr(i,n);var d=-1,y=i.length;for(y||(y=1,n=r);++di){var d=n;n=i,i=d}if(a||n%1||i%1){var y=Of();return Ft(n+y*(i-n+dy("1e-"+((y+"").length-1))),i)}return kl(n,i)}var $1=xi(function(n,i,a){return i=i.toLowerCase(),n+(a?oh(i):i)});function oh(n){return tu(ot(n).toLowerCase())}function ah(n){return n=ot(n),n&&n.replace(Nv,Cy).replace(ny,"")}function D1(n,i,a){n=ot(n),i=cn(i);var d=n.length;a=a===r?d:Yr(qe(a),0,d);var y=a;return a-=i.length,a>=0&&n.slice(a,y)==i}function N1(n){return n=ot(n),n&&vv.test(n)?n.replace(Nc,Ey):n}function B1(n){return n=ot(n),n&&Pv.test(n)?n.replace(Za,"\\$&"):n}var V1=xi(function(n,i,a){return n+(a?"-":"")+i.toLowerCase()}),W1=xi(function(n,i,a){return n+(a?" ":"")+i.toLowerCase()}),F1=cd("toLowerCase");function H1(n,i,a){n=ot(n),i=qe(i);var d=i?vi(n):0;if(!i||d>=i)return n;var y=(i-d)/2;return Lo(wo(y),a)+n+Lo(bo(y),a)}function U1(n,i,a){n=ot(n),i=qe(i);var d=i?vi(n):0;return i&&d>>0,a?(n=ot(n),n&&(typeof i=="string"||i!=null&&!Xl(i))&&(i=cn(i),!i&&gi(n))?Ar(On(n),0,a):n.split(i,a)):[]}var Z1=xi(function(n,i,a){return n+(a?" ":"")+tu(i)});function J1(n,i,a){return n=ot(n),a=a==null?0:Yr(qe(a),0,n.length),i=cn(i),n.slice(a,a+i.length)==i}function X1(n,i,a){var d=w.templateSettings;a&&Kt(n,i,a)&&(i=r),n=ot(n),i=Ko({},i,d,vd);var y=Ko({},i.imports,d.imports,vd),x=Lt(y),$=dl(y,x),H,Z,ae=0,le=i.interpolate||io,fe="__p += '",we=pl((i.escape||io).source+"|"+le.source+"|"+(le===Bc?Tv:io).source+"|"+(i.evaluate||io).source+"|$","g"),Te="//# sourceURL="+(ut.call(i,"sourceURL")?(i.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++ay+"]")+` +`;n.replace(we,function(De,Je,Qe,dn,Gt,hn){return Qe||(Qe=dn),fe+=n.slice(ae,hn).replace(Bv,Sy),Je&&(H=!0,fe+=`' + +__e(`+Je+`) + +'`),Gt&&(Z=!0,fe+=`'; +`+Gt+`; +__p += '`),Qe&&(fe+=`' + +((__t = (`+Qe+`)) == null ? '' : __t) + +'`),ae=hn+De.length,De}),fe+=`'; +`;var $e=ut.call(i,"variable")&&i.variable;if(!$e)fe=`with (obj) { +`+fe+` +} +`;else if(Ov.test($e))throw new Fe(c);fe=(Z?fe.replace(ro,""):fe).replace(pv,"$1").replace(mv,"$1;"),fe="function("+($e||"obj")+`) { +`+($e?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(H?", __e = _.escape":"")+(Z?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+fe+`return __p +}`;var Ke=uh(function(){return st(x,Te+"return "+fe).apply(r,$)});if(Ke.source=fe,Jl(Ke))throw Ke;return Ke}function Q1(n){return ot(n).toLowerCase()}function eA(n){return ot(n).toUpperCase()}function tA(n,i,a){if(n=ot(n),n&&(a||i===r))return yf(n);if(!n||!(i=cn(i)))return n;var d=On(n),y=On(i),x=_f(d,y),$=bf(d,y)+1;return Ar(d,x,$).join("")}function nA(n,i,a){if(n=ot(n),n&&(a||i===r))return n.slice(0,Af(n)+1);if(!n||!(i=cn(i)))return n;var d=On(n),y=bf(d,On(i))+1;return Ar(d,0,y).join("")}function rA(n,i,a){if(n=ot(n),n&&(a||i===r))return n.replace(Ja,"");if(!n||!(i=cn(i)))return n;var d=On(n),y=_f(d,On(i));return Ar(d,y).join("")}function iA(n,i){var a=F,d=K;if(wt(i)){var y="separator"in i?i.separator:y;a="length"in i?qe(i.length):a,d="omission"in i?cn(i.omission):d}n=ot(n);var x=n.length;if(gi(n)){var $=On(n);x=$.length}if(a>=x)return n;var H=a-vi(d);if(H<1)return d;var Z=$?Ar($,0,H).join(""):n.slice(0,H);if(y===r)return Z+d;if($&&(H+=Z.length-H),Xl(y)){if(n.slice(H).search(y)){var ae,le=Z;for(y.global||(y=pl(y.source,ot(Vc.exec(y))+"g")),y.lastIndex=0;ae=y.exec(le);)var fe=ae.index;Z=Z.slice(0,fe===r?H:fe)}}else if(n.indexOf(cn(y),H)!=H){var we=Z.lastIndexOf(y);we>-1&&(Z=Z.slice(0,we))}return Z+d}function sA(n){return n=ot(n),n&&gv.test(n)?n.replace(Dc,Ly):n}var oA=xi(function(n,i,a){return n+(a?" ":"")+i.toUpperCase()}),tu=cd("toUpperCase");function lh(n,i,a){return n=ot(n),i=a?r:i,i===r?Oy(n)?Ny(n):by(n):n.match(i)||[]}var uh=ze(function(n,i){try{return ln(n,r,i)}catch(a){return Jl(a)?a:new Fe(a)}}),aA=Qn(function(n,i){return _n(i,function(a){a=Vn(a),Jn(n,a,Yl(n[a],n))}),n});function lA(n){var i=n==null?0:n.length,a=Le();return n=i?yt(n,function(d){if(typeof d[1]!="function")throw new bn(u);return[a(d[0]),d[1]]}):[],ze(function(d){for(var y=-1;++y_)return[];var a=b,d=Ft(n,b);i=Le(i),n-=b;for(var y=fl(d,i);++a0||i<0)?new Xe(a):(n<0?a=a.takeRight(-n):n&&(a=a.drop(n)),i!==r&&(i=qe(i),a=i<0?a.dropRight(-i):a.take(i-n)),a)},Xe.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},Xe.prototype.toArray=function(){return this.take(b)},Nn(Xe.prototype,function(n,i){var a=/^(?:filter|find|map|reject)|While$/.test(i),d=/^(?:head|last)$/.test(i),y=w[d?"take"+(i=="last"?"Right":""):i],x=d||/^find/.test(i);y&&(w.prototype[i]=function(){var $=this.__wrapped__,H=d?[1]:arguments,Z=$ instanceof Xe,ae=H[0],le=Z||Ue($),fe=function(Je){var Qe=y.apply(w,gr([Je],H));return d&&we?Qe[0]:Qe};le&&a&&typeof ae=="function"&&ae.length!=1&&(Z=le=!1);var we=this.__chain__,Te=!!this.__actions__.length,$e=x&&!we,Ke=Z&&!Te;if(!x&&le){$=Ke?$:new Xe(this);var De=n.apply($,H);return De.__actions__.push({func:Vo,args:[fe],thisArg:r}),new wn(De,we)}return $e&&Ke?n.apply(this,H):(De=this.thru(fe),$e?d?De.value()[0]:De.value():De)})}),_n(["pop","push","shift","sort","splice","unshift"],function(n){var i=co[n],a=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",d=/^(?:pop|shift)$/.test(n);w.prototype[n]=function(){var y=arguments;if(d&&!this.__chain__){var x=this.value();return i.apply(Ue(x)?x:[],y)}return this[a](function($){return i.apply(Ue($)?$:[],y)})}}),Nn(Xe.prototype,function(n,i){var a=w[i];if(a){var d=a.name+"";ut.call(wi,d)||(wi[d]=[]),wi[d].push({name:i,func:a})}}),wi[Io(r,V).name]=[{name:"wrapper",func:r}],Xe.prototype.clone=s_,Xe.prototype.reverse=o_,Xe.prototype.value=a_,w.prototype.at=D0,w.prototype.chain=N0,w.prototype.commit=B0,w.prototype.next=V0,w.prototype.plant=F0,w.prototype.reverse=H0,w.prototype.toJSON=w.prototype.valueOf=w.prototype.value=U0,w.prototype.first=w.prototype.head,ns&&(w.prototype[ns]=W0),w},yi=By();jr?((jr.exports=yi)._=yi,rl._=yi):Nt._=yi}).call(ws)})(ka,ka.exports);var Mk=ka.exports;const Lk={class:"flex flex-col"},$k=Ge({__name:"InputWithAutoComplete",props:{icon:String,placeholder:String,modelValue:String,onClick:{type:Function,required:!1},suggest:{type:Function,required:!0},clickSuggest:{type:Function,required:!1}},emits:["update:modelValue","change","submit"],setup(e,{expose:t,emit:r}){const s=xe(-1),o=I=>I.key==="ArrowDown"?(s.value++,s.value>=v.value.length&&(s.value=-1),!0):I.key==="ArrowUp"?(s.value===-1&&(s.value=v.value.length),s.value--,s.value<0&&(s.value=-1),!0):I.key==="Enter"&&s.value>=0?(c.clickSuggest(v.value[s.value],I.shiftKey),s.value=-1,v.value=[],!0):!1,l=()=>{v.value=[],S("submit",f.value)},u=()=>{var I,V;(V=(I=p.value)==null?void 0:I.querySelector("input"))==null||V.blur()};document.addEventListener("click",I=>{var V;(V=p.value)!=null&&V.contains(I.target)||(v.value=[],s.value=-1)}),document.addEventListener("keydown",I=>{I.key==="Escape"&&(v.value=[],s.value=-1,u())});const c=e,f=xe(c.modelValue),h=xe(null);at(()=>c.modelValue,I=>{f.value=I});const p=xe(null),m=Ve(()=>{var I,V;return{top:p.value.offsetTop+p.value.offsetHeight+"px",left:((I=p.value)==null?void 0:I.offsetLeft)+"px",width:((V=p.value)==null?void 0:V.offsetWidth)+"px"}}),v=xe([]),g=Mk.debounce(async()=>{v.value=(await c.suggest(f.value)).slice(0,5)},300),S=r,C=()=>{S("update:modelValue",f.value),S("change",f.value),g()};return t({focus:()=>{var I;(I=h.value)==null||I.focus()},blur:u}),(I,V)=>(re(),ve(et,null,[te("div",{ref_key:"inputElement",ref:p,class:"input-with-autocomplete"},[pe(ec,{modelValue:f.value,"onUpdate:modelValue":V[0]||(V[0]=D=>f.value=D),icon:e.icon,placeholder:e.placeholder,onChange:C,onSubmit:l,onKeyUp:o,expanded:v.value.length>0,ref_key:"input",ref:h},null,8,["modelValue","icon","placeholder","expanded"])],512),v.value.length>0?(re(),Ze(Js,{key:0,to:"#autocomplete-target"},[te("div",{class:"suggestions absolute w-full z-10",style:Fr(m.value),onClick:V[1]||(V[1]=At(D=>v.value=[],["stop"]))},[te("div",Lk,[(re(!0),ve(et,null,pr(v.value,(D,A)=>qi(I.$slots,"default",{selected:A===s.value,value:D},void 0,!0)),256))])],4)])):Me("",!0)],64))}}),Dk=lt($k,[["__scopeId","data-v-9be27f78"]]),Nk={},Bk={class:"loader"},Vk=jx('
',1),Wk=[Vk];function Fk(e,t){return re(),ve("div",Bk,Wk)}const Yg=lt(Nk,[["render",Fk],["__scopeId","data-v-cf68f823"]]),Hk={key:1},Uk=Ge({__name:"IconButton",props:{icon:{type:String,required:!1},label:{type:String,required:!0},disabled:{type:Boolean,required:!1,default:!1},type:{type:String,required:!1,default:"negative"}},setup(e){return(t,r)=>(re(),ve("button",{class:Ye([(e.disabled?"disabled ":"")+e.type,"flex items-center justify-center h-12 p-4 mt-4 rounded-full"])},[e.icon?(re(),ve("span",{key:0,class:Ye([{"mr-2":e.label},"material-symbols-rounded"])},Ne(e.icon),3)):Me("",!0),e.label?(re(),ve("span",Hk,Ne(e.label),1)):Me("",!0)],2))}}),Ip=lt(Uk,[["__scopeId","data-v-b68d33f1"]]),qk=e=>(Qi("data-v-e243c458"),e=e(),es(),e),jk={class:"header bg-secondary rounded-t-2xl p-3"},Kk={class:"title font-black"},Gk=qk(()=>te("span",{class:"title material-icons-round"}," close ",-1)),zk=[Gk],Yk={key:1},Zk={class:"p-4 error"},Jk={key:2,class:"p-4 pt-0 flex flex-col overflow-x-hidden overflow-y-auto"},Xk={key:0,class:"confirm"},Qk=Ge({__name:"Template",props:{name:{type:String,required:!0},submit:{type:Object,required:!1},secondary:{type:Object,required:!1,default:null}},emits:["submit","close","secondary"],setup(e,{expose:t,emit:r}){const s=e,o=xe(!1),l=xe(!1),u=xe(""),c=()=>l.value=!1,f=()=>{o.value=!1,l.value=!0},h=()=>{o.value=!0,l.value=!0},p=async(C,I)=>{h();const V=await window.fetch(C,I);return f(),V.ok?V:(u.value=await V.text(),null)},m=r,v=()=>{c(),m("close")},g=()=>{m("submit"),v()},S=()=>{m("secondary"),v()};return t({show:f,hide:c,load:h,fetch:p}),(C,I)=>l.value?(re(),Ze(Js,{key:0,to:"#popup-target"},[te("div",{class:"modal",onClick:I[1]||(I[1]=At(V=>l.value=!1,["stop"])),onContextmenu:I[2]||(I[2]=At(()=>{},["stop"])),onDrag:I[3]||(I[3]=At(()=>{},["stop"]))},[te("div",{class:"modal-content",onClick:I[0]||(I[0]=At(()=>{},["stop"]))},[te("div",jk,[te("h3",Kk,Ne(e.name),1),te("button",{class:"modal-close",onClick:v},zk)]),o.value?(re(),Ze(Yg,{key:0})):u.value?(re(),ve("div",Yk,[te("p",Zk,Ne(u.value),1)])):(re(),ve("div",Jk,[qi(C.$slots,"default",{},void 0,!0),s.submit||s.secondary?(re(),ve("div",Xk,[s.secondary?(re(),Ze(Ip,{key:0,icon:s.secondary.icon,label:s.secondary.label,type:s.secondary.type,onClick:S},null,8,["icon","label","type"])):Me("",!0),s.submit?(re(),Ze(Ip,{key:1,icon:s.submit.icon,label:s.submit.label,type:s.submit.type,onClick:g},null,8,["icon","label","type"])):Me("",!0)])):Me("",!0)]))])],32)])):Me("",!0)}}),Zg=lt(Qk,[["__scopeId","data-v-e243c458"]]),eO={class:"flex flex-row gap-2"},tO={key:0,class:"material-symbols-rounded ms-wght-200"},nO={class:"material-symbols-rounded"},rO=["onClick"],iO={class:"material-symbols-rounded"},sO={key:0,class:"material-symbols-rounded"},oO=Ge({__name:"Dropdown",props:{modelValue:{type:String,required:!0},options:{type:Array,required:!0},icon:{type:String,required:!1}},emits:["update:modelValue"],setup(e,{emit:t}){const r=e,s=xe(r.modelValue),o=xe(!1),l=t;at(r,p=>{s.value=p.modelValue},{deep:!0});const u=p=>{s.value=p,l("update:modelValue",p),o.value=!1},c=Ve(()=>{const p=r.options.find(m=>m.value==s.value);return p?p.label:""}),f=xe(null),h=xe(null);return at(o,p=>{Gn(()=>{if(p){const m=f.value.getBoundingClientRect(),v=h.value.getBoundingClientRect(),g=v.top,S=v.bottom,C=window.innerHeight-S,I=v.width;f.value.style.width=I+"px",f.value.style.left=v.left+"px",C>m.height?(f.value.style.top=S+"px",f.value.style.bottom="auto"):(f.value.style.top="auto",f.value.style.bottom=g-m.height+"px")}})}),window.addEventListener("click",()=>{o.value=!1}),(p,m)=>(re(),ve("div",{ref_key:"container",ref:h,class:"dropdown"},[te("div",{class:Ye([{expanded:o.value},"dropdown__selected"]),onClick:m[0]||(m[0]=At(v=>o.value=!o.value,["stop"]))},[te("div",eO,[e.icon?(re(),ve("span",tO,Ne(e.icon),1)):Me("",!0),te("span",null,Ne(c.value),1)]),te("i",nO,Ne(o.value?"expand_less":"expand_more"),1)],2),(re(),Ze(Js,{to:"#dropdown-target"},[o.value?(re(),ve("div",{key:0,ref_key:"trueDropdown",ref:f,class:"dropdown__options"},[(re(!0),ve(et,null,pr(e.options,v=>(re(),ve("div",{key:v.value,class:"dropdown__option",onClick:At(g=>u(v.value),["stop"])},[te("span",iO,Ne(v.icon),1),te("span",null,Ne(v.label),1),s.value==v.value?(re(),ve("span",sO,"check")):Me("",!0)],8,rO))),128))],512)):Me("",!0)]))],512))}}),aO=lt(oO,[["__scopeId","data-v-88b3642d"]]),lO={class:"form flex flex-col gap-4"},uO={class:"content"},cO=["onClick"],fO=["accept","onChange"],dO={key:0,class:"imagePreview"},hO=["onUpdate:modelValue","type","onChange"],pO=Ge({__name:"Form",props:{options:{type:Array,required:!0}},setup(e,{expose:t}){const r=e;return t({toObject:()=>{const o={};return r.options.forEach(l=>{o[l.name]=l.value}),o}}),(o,l)=>(re(),ve("div",lO,[(re(!0),ve(et,null,pr(e.options,u=>(re(),ve("div",{key:u.name,class:"option"},[te("div",uO,[u.type=="upload"?(re(),ve(et,{key:0},[te("span",{class:"material-symbols-rounded icon-button",onClick:()=>{var c,f;return(f=(c=o.$refs["upload-"+u.name])==null?void 0:c[0])==null?void 0:f.click()}}," file_upload ",8,cO),te("input",{ref_for:!0,ref:"upload-"+u.name,accept:u.accept,style:{display:"none"},type:"file",onChange:c=>u==null?void 0:u.onUpload(c.target.files[0])},null,40,fO),pe(ec,{ref_for:!0,ref:"cover",modelValue:u.value,"onUpdate:modelValue":c=>u.value=c,icon:u.icon,class:"addSong cover",type:"text",label:u.name,placeholder:u.placeholder,onChange:c=>{var f;return(f=u==null?void 0:u.onChange)==null?void 0:f.call(u,u.value)}},null,8,["modelValue","onUpdate:modelValue","icon","label","placeholder","onChange"]),u.imagePreview?(re(),ve("div",dO,[pe(Nr,{src:u.value,class:"cover",onClick:c=>oe(Cc)(u.value)},null,8,["src","onClick"])])):Me("",!0)],64)):u.type=="dropdown"?(re(),Ze(aO,{key:1,modelValue:u.value,"onUpdate:modelValue":c=>u.value=c,icon:u.icon,options:u.options},null,8,["modelValue","onUpdate:modelValue","icon","options"])):u.type=="text"?(re(),Ze(ec,{key:2,modelValue:u.value,"onUpdate:modelValue":c=>u.value=c,icon:u.icon,label:u.name,placeholder:u.placeholder,required:u.required,type:u.type,onChange:c=>u.onChange?u==null?void 0:u.onChange(u.value):null},null,8,["modelValue","onUpdate:modelValue","icon","label","placeholder","required","type","onChange"])):Us((re(),ve("input",{key:3,"onUpdate:modelValue":c=>u.value=c,type:u.type,onChange:c=>u.onChange?u==null?void 0:u.onChange(u.value):null},null,40,hO)),[[xc,u.value]])])]))),128))]))}}),Jg=lt(pO,[["__scopeId","data-v-97bdbd3e"]]),mO={class:"padding-20 playlisteditor"},gO={class:"details"},vO={class:"detailswrapper"},yO=["onClick"],_O=Ge({__name:"TrackInfo",props:{title:{type:String,required:!0},subtitle:{type:String,default:""},cover:{type:String,required:!0},icons:{type:Array,required:!0}},setup(e){return(t,r)=>(re(),ve("div",mO,[pe(Nr,{type:"playlist",name:e.title,src:e.cover,class:"cover"},null,8,["name","src"]),te("div",gO,[te("div",vO,[(re(!0),ve(et,null,pr(e.icons,(s,o)=>(re(),ve("span",{key:o,class:"material-icons-round",onClick:s.onClick},Ne(s.name),9,yO))),128))]),te("h1",null,Ne(e.title),1),te("h6",null,Ne(e.subtitle),1)])]))}}),Xg=lt(_O,[["__scopeId","data-v-3c71f9f3"]]),As=e=>{const t=new CustomEvent("notification.add",{detail:e});window.dispatchEvent(t)},cr={addSuccess(e,t,r,s,o){const l=Math.random().toString(36).substring(7);return As({id:l,message:e,details:t,type:"success",timeout:r,onClick:s,redirect:o}),l},addError(e,t,r,s,o){const l=Math.random().toString(36).substring(7);return As({id:l,message:e,details:t,type:"error",timeout:r,onClick:s,redirect:o}),l},addInfo(e,t,r,s,o){const l=Math.random().toString(36).substring(7);return As({id:l,message:e,details:t,type:"info",timeout:r,onClick:s,redirect:o}),l},addWarning(e,t,r,s,o){const l=Math.random().toString(36).substring(7);return As({id:l,message:e,details:t,type:"warning",timeout:r,onClick:s,redirect:o}),l},addYesNo(e,t,r,s,o,l,u,c){const f=Math.random().toString(36).substring(7);return As({id:f,message:e,details:t,type:"yes-no",timeout:r,onYes:s,onNo:o,onTimeout:l,onClick:u,redirect:c}),f},remove(e){const t=new CustomEvent("notification.remove",{detail:e});window.dispatchEvent(t)},clear(){const e=new CustomEvent("notification.clear");window.dispatchEvent(e)}},Qg=Ge({__name:"ImportSpotifySong",props:{song:{type:Object,required:!0}},setup(e,{expose:t}){const r=Yt(),s=e,o=xe([{name:"playlist",type:"dropdown",icon:"playlist_add",required:!0,value:null,options:r.playlistsAsDropdown}]),l=xe(null),u=xe(null),c=xe(null),f=async()=>{if(c.value){l.value.show();return}const v=await l.value.fetch("/api/browse/track",{method:"POST",body:JSON.stringify({url:s.song.href??s.song.url})});v&&(l.value.load(),c.value=await v.json(),l.value.show())},h=()=>{const v=new CustomEvent("player.play",{detail:{artist:s.song.artist,title:s.song.title,source:s.song.href}});window.dispatchEvent(v)},p=async v=>{if(v==="new"){const g=await Sc("classic",s.song.title,s.song.artist,s.song.cover);return o.value[0].options=r.playlistsAsDropdown,o.value[0].value=g,g}return v},m=async(v,g=null)=>{var S,C;g??(g=u.value.toObject().playlist),g=await p(g),await qg(g,c.value),s.song.added=!0,cr.addSuccess(c.value.title,`Added to ${(S=r.playlists.find(I=>I.id==g))==null?void 0:S.name}`,3e3,void 0,(C=r.playlists.find(I=>I.id==g))==null?void 0:C.href)};return t({show:f}),(v,g)=>(re(),Ze(Zg,{ref_key:"modal",ref:l,submit:{label:"Add",icon:"add"},name:"Import Song",onClose:g[0]||(g[0]=S=>v.$emit("close")),onSubmit:m},{default:kt(()=>[pe(Xg,{cover:e.song.cover,icons:[{name:"share",onClick:()=>oe(Cc)(e.song.href)},{name:"play_arrow",onClick:h}],title:e.song.title},null,8,["cover","icons","title"]),pe(Jg,{ref_key:"form",ref:u,options:o.value},null,8,["options"])]),_:1},512))}}),Lc=e=>(Qi("data-v-f8e4524a"),e=e(),es(),e),bO=Lc(()=>te("div",{class:"index text-right"},"#",-1)),wO=Lc(()=>te("div",{class:"artist-title"}," title ",-1)),AO={key:0,class:"album"},PO={key:1,class:"duration"},xO=Lc(()=>te("span",{class:"material-symbols-rounded"},"schedule",-1)),CO=[xO],EO=Ge({__name:"PlaylistHeader",props:{withAlbum:{type:Boolean,required:!1,default:!1},withMore:{type:Boolean,required:!1,default:!1},withoutDuration:{type:Boolean,required:!1,default:!1}},setup(e){return(t,r)=>(re(),ve("div",{class:Ye([{withAlbum:e.withAlbum,withMore:e.withMore},"playlist-header"])},[bO,wO,e.withAlbum?(re(),ve("div",AO," album ")):Me("",!0),e.withoutDuration?Me("",!0):(re(),ve("div",PO,CO))],2))}}),SO=lt(EO,[["__scopeId","data-v-f8e4524a"]]),kO={name:"Marquee",mounted(){this.update(),window.addEventListener("resize",this.update)},data(){return{isMarquee:!1}},methods:{isTruncated(e){return(e==null?void 0:e.scrollWidth)>(e==null?void 0:e.clientWidth)},update(){this.isMarquee=!1,setTimeout(()=>{this.isMarquee=this.isTruncated(this.$refs.marquee)},10)}}},OO={key:0,class:"replacer"},RO={key:0,class:"overlay"};function TO(e,t,r,s,o,l){return re(),ve("div",{class:Ye([{marquee:o.isMarquee},"marqueeWrapper"])},[te("span",{ref:"marquee",class:Ye({marquee:o.isMarquee})},[qi(e.$slots,"default",{},void 0,!0),o.isMarquee?(re(),ve("span",OO,[qi(e.$slots,"default",{},void 0,!0)])):Me("",!0)],2),o.isMarquee?(re(),ve("div",RO)):Me("",!0)],2)}const IO=lt(kO,[["render",TO],["__scopeId","data-v-ad7138e8"]]),MO={class:"artist"},LO=Ge({__name:"ArtistMarquee",props:{artist:{type:String,required:!0}},setup(e){const t=e,r=Ve(()=>t.artist.split(", "));return(s,o)=>{const l=Ui("router-link");return re(),Ze(IO,null,{default:kt(()=>[(re(!0),ve(et,null,pr(r.value,u=>(re(),ve("span",MO,[pe(l,{to:"/artist/"+u},{default:kt(()=>[Ha(Ne(u),1)]),_:2},1032,["to"])]))),256))]),_:1})}}}),ev=lt(LO,[["__scopeId","data-v-156468cf"]]),$O={key:0,class:"cover"},DO={class:"artist-title"},NO={class:"title"},BO={class:"artist"},VO={key:1,class:"album"},WO=Ge({__name:"ExternalEntry",props:{song:{type:Object,required:!0},index:{type:Number,required:!0},withCover:{type:Boolean,required:!1,default:!1},withAlbum:{type:Boolean,required:!1,default:!1},selected:{type:Boolean,required:!1,default:!1},playlistId:{type:Number,required:!1,default:null},canImport:{type:Boolean,required:!1,default:!1}},emits:["update","add"],setup(e,{emit:t}){const r=e,s=t,o=Mt(),l=Ve(()=>r.song.id==o.song.id),u=xe(!1);Ve(()=>r.playlistId==null?o.playlist.id:r.playlistId);const c=()=>{IS(r.song.title,r.song.artist,r.song.source||r.song.href)},f=xe(null),h=()=>{r.canImport?f.value.show():s("add")};return(p,m)=>(re(),ve(et,null,[e.canImport?(re(),Ze(Qg,{key:0,ref_key:"updatePopup",ref:f,song:e.song},null,8,["song"])):Me("",!0),te("div",{class:Ye([{playing:l.value,selected:e.selected,hovering:u.value,withCover:e.withCover,withAlbum:e.withAlbum},"playlist-entry"]),onDblclick:c,onMouseenter:m[0]||(m[0]=v=>u.value=!0),onMouseleave:m[1]||(m[1]=v=>u.value=!1)},[te("div",{class:Ye([{"material-symbols-rounded":u.value},"index text-right"]),onClick:c},Ne(u.value?"play_arrow":e.index+1),3),e.withCover?(re(),ve("div",$O,[pe(Nr,{src:e.song.cover,type:"track"},null,8,["src"])])):Me("",!0),te("div",DO,[te("span",NO,[(re(),Ze(ZP(e.song.href.startsWith("http")?"a":"router-link"),{href:e.song.href,to:e.song.href,class:"linkOnHover"},{default:kt(()=>[pe(ar,{text:e.song.title},null,8,["text"])]),_:1},8,["href","to"]))]),te("span",BO,[pe(ev,{artist:e.song.artist,class:"text-muted text-xs"},null,8,["artist"])])]),e.withAlbum&&!oe(Yu)?(re(),ve("div",VO,[pe(ar,{text:e.song.album},null,8,["text"])])):Me("",!0),te("div",{class:"icon text-left material-symbols-rounded",onClick:At(h,["stop"])},Ne(e.song.added?"done":"add"),1)],34)],64))}}),FO=lt(WO,[["__scopeId","data-v-7207e9cd"]]),HO=e=>(Qi("data-v-a918d839"),e=e(),es(),e),UO={class:"playlist"},qO=HO(()=>te("hr",null,null,-1)),jO={class:"entries"},KO=Ge({__name:"Playlist",props:{songs:{type:Array,required:!0},noCover:{type:Boolean,default:!1}},setup(e){return(t,r)=>(re(),ve("div",UO,[pe(SO,{"without-duration":""}),qO,te("div",jO,[(re(!0),ve(et,null,pr(e.songs,(s,o)=>(re(),Ze(FO,{key:s.source,added:s.added,index:o,song:s,title:s.title,"with-cover":!e.noCover,onAdd:l=>t.$emit("add",o)},null,8,["added","index","song","title","with-cover","onAdd"]))),128))])]))}}),GO=lt(KO,[["__scopeId","data-v-a918d839"]]),zO=te("br",null,null,-1),YO=Ge({__name:"ImportSpotifyAlbum",props:{album:{type:Object,required:!0}},setup(e,{expose:t}){const r=Yt(),s=e,o=xe([{name:"playlist",type:"dropdown",icon:"playlist_add",required:!0,value:null,options:r.playlistsAsDropdown}]),l=xe(null),u=xe(null),c=xe([]);let f=null;const h=async()=>{if(c.value.length>0&&f===s.album.id){l.value.show();return}const S=await l.value.fetch(`/api/spotify/albums/${s.album.id}`);if(f=s.album.id,!S){cr.addError("Failed to fetch album from Spotify",S.text,3e3);return}c.value=await S.json()},p=()=>{const S=new CustomEvent("player.play",{detail:{artist:s.album.artist,title:s.album.title,source:s.album.href}});window.dispatchEvent(S)},m=async S=>{if(S==="new"){const C=await Sc("classic",s.album.title,`${s.album.releaseDate}, ${s.album.artist}`,s.album.cover);return o.value[0].options=r.playlistsAsDropdown,o.value[0].value=C,C}return S},v=async(S,C=null)=>{c.value[S].added||(C??(C=u.value.toObject().playlist),C=await m(C),await qg(C,c.value[S]),c.value[S].added=!0)},g=async()=>{let S=u.value.toObject().playlist;S=await m(S),c.value.forEach((C,I)=>{v(I,S)}),cr.addSuccess(s.album.title,`Added ${c.value.length} songs to ${r.playlists[S].name}`,3e3,void 0,r.playlists[S].href)};return t({show:h}),(S,C)=>(re(),Ze(Zg,{ref_key:"modal",ref:l,submit:{label:"Add All",icon:"add"},name:"Import Album",onClose:C[0]||(C[0]=I=>S.$emit("close")),onSubmit:g},{default:kt(()=>[pe(Xg,{cover:e.album.cover,icons:[{name:"share",onClick:()=>oe(Cc)(e.album.href)},{name:"play_arrow",onClick:p}],subtitle:e.album.artist,title:e.album.title},null,8,["cover","icons","subtitle","title"]),pe(Jg,{ref_key:"form",ref:u,options:o.value},null,8,["options"]),zO,pe(GO,{songs:c.value,noCover:"",onAdd:v},null,8,["songs"])]),_:1},512))}}),ZO={class:"info"},JO={class:"flex flex-col flex-1"},XO={class:"name"},QO={key:0,class:"text-muted text-sm"},e2={class:"aux flex items-center text-muted text-sm gap-2"},t2={class:"tag"},n2={class:"material-symbols-rounded tag"},r2=["name"],i2=Ge({__name:"SearchResultItem",props:{item:{type:Object,required:!0},large:{type:Boolean,default:!1},noHover:{type:Boolean,default:!1},showDownload:{type:Boolean,default:!1}},setup(e){const t=Ka(),r=e,s=Ve(()=>{var V,D,A,k;return((D=(V=r.item)==null?void 0:V.item)==null?void 0:D.cover)??((k=(A=r.item)==null?void 0:A.item)==null?void 0:k.image)}),o=Ve(()=>{var V,D,A,k;return((D=(V=r.item)==null?void 0:V.item)==null?void 0:D.name)??((k=(A=r.item)==null?void 0:A.item)==null?void 0:k.title)}),l=Ve(()=>{var V,D,A,k,R;return((D=(V=r.item)==null?void 0:V.item)==null?void 0:D.artist)??((R=(k=(A=r.item)==null?void 0:A.item)==null?void 0:k.artists)==null?void 0:R.join(", "))}),u=Ve(()=>{var V;return(V=r.item)==null?void 0:V.type}),c=Ve(()=>({song:"music_note",album:"album",artist:"person",playlist:"queue_music",command:"code"})[u.value??"song"]),f=Ve(()=>{var V;return Math.round(((V=r.item)==null?void 0:V.confidence)*1e3)/10}),h=Ve(()=>{var V;return((V=r.item)==null?void 0:V.scope)==="local"}),p=Ve(()=>{var V;return((V=r.item)==null?void 0:V.scope)==="spotify"}),m=Ve(()=>{var V;return((V=r.item)==null?void 0:V.scope)==="audius"}),v=Ve(()=>u.value==="song"&&!h.value&&r.showDownload),g=xe(),S=xe(),C=()=>{u.value==="artist"?t.push(`/artist/${r.item.item.name}`):u.value==="playlist"||u.value==="album"?t.push(r.item.item.href):h.value?u.value==="song"&&t.push(r.item.item.href):p.value?u.value==="song"?g.value.show():u.value==="album"&&S.value.show():m.value&&u.value==="song"&&g.value.show()},I=()=>{Ga().downloadViaDownloader({album:r.item.item.album,artist:r.item.item.artist,title:r.item.item.title,source:r.item.item.href,href:r.item.item.href,cover:r.item.item.cover})};return(V,D)=>(re(),ve(et,null,[u.value==="song"&&(p.value||m.value)?(re(),Ze(Qg,{key:0,ref_key:"importSpotifySong",ref:g,song:r.item.item},null,8,["song"])):Me("",!0),u.value==="album"&&p.value?(re(),Ze(YO,{key:1,ref_key:"importSpotifyAlbum",ref:S,album:r.item.item},null,8,["album"])):Me("",!0),te("div",{class:Ye(["item",{large:e.large,noHover:e.noHover}]),onClick:C},[pe(Nr,{src:s.value,placeholder:c.value,"with-ambient":""},null,8,["src","placeholder"]),te("div",ZO,[te("div",JO,[te("span",XO,Ne(o.value),1),l.value?(re(),ve("span",QO,Ne(l.value),1)):Me("",!0)]),te("div",e2,[te("span",t2,Ne(f.value)+"% ",1),te("span",n2,Ne(c.value),1),h.value?Me("",!0):(re(),ve("span",{key:0,name:e.item.scope,class:"uppercase tag"},Ne(e.item.scope),9,r2)),v.value?(re(),ve("span",{key:1,class:"material-symbols-rounded tag hover:!highlight hover:text-primary",onClick:At(I,["stop"])}," file_download ")):Me("",!0)])])],2)],64))}}),s2=lt(i2,[["__scopeId","data-v-9097bc55"]]),PI=["local","spotify","audius"],o2=["song","artist","album","playlist"],a2={class:"header hideIfMobile grid grid-cols-3 justify-between drop-shadow-md"},l2={class:"search flex flex-row"},u2=["onClick"],c2={class:"mr-2 flex flex-row gap-2"},f2=Ge({__name:"Header",setup(e){const t=xe(null),r=xe(!1),s=Yt(),o=Mt(),l=Ve(()=>{if(!t.value)return{};const g=`calc(${t.value.offsetTop}px + 10px)`,S=`calc(${t.value.offsetLeft}px + 10px)`;return{top:g,left:S}});Ga().onDownload.push(g=>{r.value=!0,setTimeout(()=>{r.value=!1},500)});const c=(g,S=!1)=>{var C,I;if(S){if(g.type==="song"){o.loadPlaylist("track",g.item.id),(C=m.value)==null||C.blur();return}if(g.type==="playlist"){o.loadPlaylist(g.item.id),(I=m.value)==null||I.blur();return}}if(g.type==="artist"){Mi.push(`/artist/${g.item.name}`);return}Mi.push(g.item.href)},f=()=>{const g=s.playlists.flatMap(C=>C.songs);return g[Math.floor(Math.random()*g.length)]},h=async g=>{if(!g.length)return[];if(g==="/rand"){const I=f();return I?[{type:"command",confidence:1,scope:"local",item:I}]:[]}return["/create","/new"].includes(g)?[{type:"command",confidence:.5,scope:"local",item:{name:"Create classic playlist",href:"/playlist/create?type=classic"}},{type:"command",confidence:.5,scope:"local",item:{name:"Create smart playlist",href:"/playlist/create?type=smart"}}]:(await(await fetch("/api/search",{method:"POST",body:JSON.stringify({query:g,scope:["local",...o2]})})).json()).items};let p=xe("");const m=xe(null);Wt(()=>{p.value=String(Mi.currentRoute.value.params.query||""),Mi.afterEach(g=>{p.value=String(g.params.query||"")}),window.addEventListener("keydown",g=>{var S;g.ctrlKey&&g.key==="k"&&(g.preventDefault(),(S=m.value)==null||S.focus())})});let v=()=>{Mi.push({name:"Search",params:{query:p.value}})};return(g,S)=>(re(),ve("div",a2,[pe(oe(qS),{class:"hideIfMobile logo",onClick:S[0]||(S[0]=C=>g.$router.push("/"))}),te("div",l2,[pe(Hn,{class:"sm:ml-0 mr-2",href:"/",icon:"home",minimised:"",name:"Home"}),pe(Dk,{modelValue:oe(p),"onUpdate:modelValue":S[1]||(S[1]=C=>Ct(p)?p.value=C:p=C),class:"md:!w-96",icon:"search",placeholder:"Search...",onSubmit:oe(v),clickSuggest:c,suggest:h,ref_key:"search",ref:m},{default:kt(({value:C,selected:I})=>[te("div",{class:Ye(["suggestion",{selected:I}]),onClick:V=>c(C)},[pe(s2,{item:C},null,8,["item"])],10,u2)]),_:1},8,["modelValue","onSubmit"])]),te("div",c2,[te("div",{class:"download",ref_key:"downloadIcon",ref:t},[pe(Hn,{href:"/download",icon:"download",minimised:"",name:"Download"}),(re(),Ze(Js,{to:"#popup-target"},[r.value?(re(),ve("span",{key:0,class:"download-anim absolute top-0 left-0 z-[1000] material-symbols-rounded",style:Fr(l.value)},"download",4)):Me("",!0)]))],512),pe(Hn,{href:"/preferences",icon:"settings",minimised:"",name:"Preferences"})])]))}}),d2=lt(f2,[["__scopeId","data-v-c7aea07d"]]),h2={viewBox:"0 0 410 300",xmlns:"http://www.w3.org/2000/svg","xml:space":"preserve",style:{"fill-rule":"evenodd","clip-rule":"evenodd","stroke-linejoin":"round","stroke-miterlimit":"2"}},p2=te("text",{x:"398.231",y:"338.034",style:{"font-family":"'Poppins-ExtraBold','Poppins'","font-weight":"800","font-size":"197.74px"},transform:"translate(-399.969 -83.145)"},"ONE",-1),m2=te("text",{x:"405.025",y:"170.82",style:{"font-family":"'Poppins-Regular','Poppins'","font-size":"57.751px"},transform:"translate(-399.969 -83.145)"},"reAudioPlayer",-1),g2=[p2,m2];function v2(e,t){return re(),ve("svg",h2,[...g2])}const y2={render:v2},_2={class:"startup"},b2={class:"wrap"},w2={class:"logo"},A2=Ge({__name:"Startup",setup(e){return Wt(()=>{cr.clear()}),(t,r)=>(re(),ve("div",_2,[te("div",b2,[te("div",w2,[pe(Yg),pe(oe(y2))])])]))}}),P2=lt(A2,[["__scopeId","data-v-fc875b55"]]),Kn=document.createElement("video");Kn.style.position="absolute";Kn.style.top="-500px";Kn.style.left="-500px";Kn.style.width="500px";Kn.style.height="500px";Kn.style.zIndex="-1000";document.body.appendChild(Kn);const qn=xe("error"),aa=async()=>{if(qn.value=="error"||qn.value=="loading")return!1;await Kn.requestPictureInPicture()},tv=()=>{const e=Mt(),t=qr();let r;const s=async o=>{if(!t.player.pictureInPicture||e.song.id<0)return!1;r==null||r.terminate(),r=new Worker("/assets/ffmpeg/ffmpeg-worker-mp4.js"),qn.value="loading",console.log("loading new cover",o);const u=await(await fetch(o)).blob(),c=URL.createObjectURL(u);Kn.src="";const f="t.jpg",h=[],p=new Image;p.src=c,p.style.width="100%",p.style.height="100%",p.onload=()=>{const S=document.createElement("canvas");S.width=p.width,S.height=p.height,S.getContext("2d").drawImage(p,0,0);const I=S.toDataURL("image/jpeg",1),V=m(I);h.push({name:f,data:V}),console.log("loaded image",h),requestAnimationFrame(v)};function m(S){var C=S.replace(/^data[^,]+,/,""),I=window.atob(C),V=I.length,D=new Uint8Array(new ArrayBuffer(V));for(let A=0;A{Kn.src=webkitURL.createObjectURL(S)}};return at(()=>t.player.pictureInPicture,async o=>{console.log("pictureInPicture enabled",o),o?(tv(),o=!0,qn.value="error",await s(e.song.cover)):(r==null||r.terminate(),o=!1,qn.value="error")}),t.player.pictureInPicture?(at(()=>e.song.cover,s),!0):!1},x2=Ge({__name:"Card",props:{withHover:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){return(t,r)=>(re(),ve("div",{class:Ye([{withHover:e.withHover,disabled:e.disabled},"card"])},[qi(t.$slots,"default",{},void 0,!0)],2))}}),nv=lt(x2,[["__scopeId","data-v-04b9eb92"]]),C2={class:"message"},E2={key:0,class:"details"},S2=Ge({__name:"ClosableNotification",props:{notification:{type:Object,required:!0}},emits:["remove"],setup(e,{emit:t}){const r=e,s=t,o=Ka(),l=c=>{s("remove",c)},u=()=>{s("remove",r.notification.id),r.notification.onClick&&r.notification.onClick(),console.log(r.notification.redirect),r.notification.redirect&&o.push(r.notification.redirect)};return(c,f)=>(re(),Ze(nv,{class:Ye([{[e.notification.type]:!0,"cursor-pointer":e.notification.redirect||e.notification.onClick},"notification"]),onClick:At(u,["stop","prevent"])},{default:kt(()=>[te("div",C2,[te("h4",null,Ne(e.notification.message),1),e.notification.details?(re(),ve("span",E2,Ne(e.notification.details),1)):Me("",!0)]),te("span",{class:"material-symbols-rounded close",onClick:f[0]||(f[0]=At(h=>l(e.notification.id),["stop","prevent"]))}," close ")]),_:1},8,["class"]))}}),k2=lt(S2,[["__scopeId","data-v-d73e5174"]]),rv=e=>(Qi("data-v-78dd507a"),e=e(),es(),e),O2={class:"message"},R2={key:0,class:"details"},T2={class:"yes-no"},I2=rv(()=>te("span",{class:"material-symbols-rounded"}," check ",-1)),M2=[I2],L2=rv(()=>te("span",{class:"material-symbols-rounded"}," close ",-1)),$2=[L2],D2=Ge({__name:"YesNoNotification",props:{notification:{type:Object,required:!0}},emits:["remove"],setup(e,{emit:t}){const r=e,s=t,o=Ka(),l=()=>{s("remove",r.notification.id),r.notification.onNo&&r.notification.onNo()},u=()=>{s("remove",r.notification.id),r.notification.onYes&&r.notification.onYes()},c=()=>{s("remove",r.notification.id),r.notification.onClick&&r.notification.onClick(),r.notification.redirect&&o.push(r.notification.redirect)};return(f,h)=>(re(),Ze(nv,{class:"notification",onClick:At(c,["stop","prevent"])},{default:kt(()=>[te("div",O2,[te("h4",null,Ne(e.notification.message),1),e.notification.details?(re(),ve("span",R2,Ne(e.notification.details),1)):Me("",!0)]),te("div",T2,[te("div",{class:"yes option",onClick:At(u,["stop","prevent"])},M2),te("div",{class:"no option",onClick:At(l,["stop","prevent"])},$2)])]),_:1}))}}),N2=lt(D2,[["__scopeId","data-v-78dd507a"]]),B2={class:"notifications"},V2=Ge({__name:"NotificationHandler",setup(e){const t=["success","error","info","warning"],r=xe([]),s=u=>{r.value.push(u),u.timeout&&setTimeout(()=>{var c;(c=u.onTimeout)==null||c.call(u),o(u.id)},u.timeout)},o=u=>{r.value=r.value.filter(c=>c.id!=u)},l=()=>{r.value=[]};return window.addEventListener("notification.add",u=>{const c=u.detail;s(c)}),window.addEventListener("notification.remove",u=>{const c=u.detail;o(c)}),window.addEventListener("notification.clear",()=>{l()}),(u,c)=>(re(),ve("div",B2,[(re(!0),ve(et,null,pr(r.value,f=>(re(),ve(et,{key:f.id},[t.includes(f.type)?(re(),Ze(k2,{key:0,notification:f,onRemove:o},null,8,["notification"])):f.type=="yes-no"?(re(),Ze(N2,{key:1,notification:f,onRemove:o},null,8,["notification"])):Me("",!0)],64))),128))]))}}),W2=lt(V2,[["__scopeId","data-v-d6b475e7"]]);function F2(e){const t=3.999843853973347,r=1681.974450955533,s=.7071752369554196,o=Math.tan(Math.PI*r/e),l=Math.pow(10,t/20),u=Math.pow(l,.4996667741545416),c=1+o/s+o*o,f=2*(o*o-1)/c,h=(1-o/s+o*o)/c,p=(l+u*o/s+o*o)/c,m=2*(o*o-l)/c,v=(l-u*o/s+o*o)/c;return{numerators:[p,m,v],denominators:[1,f,h]}}function H2(e){const t=38.13547087602444,r=.5003270373238773,s=Math.tan(Math.PI*t/e),o=2*(s*s-1)/(1+s/r+s*s),l=(1-s/r+s*s)/(1+s/r+s*s);return{numerators:[1,-2,1],denominators:[1,o,l]}}function U2(e){if("createIIRFilter"in e){const t=F2(e.sampleRate);return e.createIIRFilter(t.numerators,t.denominators)}else{const t=e.createBiquadFilter();return t.type="highshelf",t.frequency.value=1500,t.gain.value=4,t}}function q2(e){if("createIIRFilter"in e){const t=H2(e.sampleRate);return e.createIIRFilter(t.numerators,t.denominators)}else{const t=e.createBiquadFilter();return t.type="highpass",t.frequency.value=38,t.Q.value=-6,t}}var j2={on:function(e,t){(this._listeners[e]=this._listeners[e]||[]).push(t)},off:function(e,t){if(!e){this._listeners={};return}t?this._listeners[e]=(this._listeners[e]||[]).filter(r=>r!==t):delete this._listeners[e]},trigger:function(e,t){(this._listeners[e]||[]).forEach(r=>{r({type:e,data:t})})}};class K2{constructor(t,r,s){this.source=t.source,this.context=this.source.context,this.name=r,this.uri=s,this.node.then(o=>{o.port.onmessage=function(l){t.trigger(l.data.type,l.data)}})}get node(){return this._node?this._node:(this._node=new Promise((t,r)=>this.context.audioWorklet.addModule(this.uri).then(()=>t(new AudioWorkletNode(this.context,this.name))).catch(r)),this._node)}message(t){this.node.then(r=>r.port.postMessage(t))}}class G2{constructor(t,r){this.source=t.source,this.context=this.source.context,this.worker=new Worker(r),this.node.then(s=>{s.onaudioprocess=o=>{const l=[];for(var u=0;u{t.trigger(s.data.type,s.data)}}get node(){return this._node?this._node:(this._node=new Promise((t,r)=>{t(this._createNode(1024,this.source.channelCount,this.source.channelCount))}),this._node)}message(t){this.worker.postMessage(t)}_createNode(){return(this.context.createScriptProcessor||this.context.createJavaScriptNode).apply(this.context,arguments)}}class z2{constructor(t,r){this.source=t.source,this.context=this.source.context,this.worker=new Worker(r),this.worker.onmessage=s=>{t.trigger(s.data.type,s.data)}}message(t){this.worker.postMessage(t)}get node(){return this._node?this._node:(this._node=new Promise((t,r)=>{t(this.context.createGain())}),this._node)}}const Y2=!1;function Z2({context:e,source:t,controller:r}){const s=J2(r);return s.node.then(o=>{o.connect(e.destination),t.connect(o)}),s}function J2(e){return e.offline?new z2(e,e.workerUri):"AudioWorkletNode"in window&&Y2?new K2(e,"needles-worklet",e.workletUri):new G2(e,e.workerUri)}class X2 extends Error{constructor(t){super(t),this.name="InvalidStateError"}}const Q2=window.OfflineAudioContext||window.webkitOfflineAudioContext;class eR{constructor(t){this.state="inactive",this._listeners={},Object.assign(this,j2),this.workerUri=t.workerUri,this.workletUri=t.workletUri,this.source=t.source,this.weightedSource=t.weightedSource,this.context=this.source.context,this.offline=this.context instanceof Q2,this.workerAdapter.message({type:"initialize",attributes:{sampleRate:this.context.sampleRate,modes:t.modes}})}get workerAdapter(){return this._workerAdapter=this._workerAdapter||new Z2({controller:this,context:this.context,source:this.weightedSource||this.source})}input(t){const s=t.length,o=t.numberOfChannels;this.offline&&this.workerAdapter.message({type:"set",key:"duration",value:t.duration*1e3});for(var l=0;lthis.input(t)))}pause(){this.state==="inactive"&&this._throwInvalidStateErrorFor("pause"),this.state="paused",this.workerAdapter.message({type:"pause"})}resume(){this.state==="inactive"&&this._throwInvalidStateErrorFor("resume"),this.state="recording",this.workerAdapter.message({type:"resume"})}stop(){this.state==="inactive"&&this._throwInvalidStateErrorFor("stop"),this.state="inactive",this.workerAdapter.message({type:"stop"})}reset(){this.workerAdapter.message({type:"reset"})}_startRendering(){return new Promise((t,r)=>{this.context.startRendering(),this.context.addEventListener("complete",s=>{t(s.renderedBuffer)})})}_throwInvalidStateErrorFor(t){throw new X2(`Failed to execute '${t}' on 'Needles': The Needles's state is '${this.state}'.`)}}function tR(e){e.modes=e.modes||["momentary","short-term","integrated"];const t=e.source.context,r=U2(t),s=q2(t);return e.source.connect(r),r.connect(s),new eR({...e,weightedSource:s})}let wu=0;const nR=1,rR=.1,Mp=(e,t)=>{var r=sR(e,t);r.angle-=.78539816;var s=oR(r.radius,r.angle);return{x:s.x,y:s.y}},iR=(e,t)=>{var r=-1,s=Math.atan2(e,t);return r*s},sR=(e,t)=>{var r=Math.sqrt(e*e+t*t),s=Math.atan2(t,e);return{radius:r,angle:s}},oR=(e,t)=>{var r=e*Math.sin(t),s=e*Math.cos(t);return{x:r,y:s}},aR=(e,t)=>{const r=[];return r.push(new Float32Array(t.frequencyBinCount)),t.getFloatTimeDomainData(r[0]),r.push(new Float32Array(e.frequencyBinCount)),e.getFloatTimeDomainData(r[1]),r},lR=e=>{const t=(l,u)=>{var c=l;return l>u?c-=rR*(l-u):c+=nR*(u-l),c};for(var r=0,s,o=0;o1&&(r=1),r<-1&&(r=-1),wu=t(wu,r),wu},uR=e=>{var t=e[1]?e[1][0]:0;let r=Mp(t,e[0][0]);const s=[];s.push({x:r.x,y:r.y});for(var o=1;o({stereo:{left:0,right:0,correlation:0,field:[],_analyserL:null,_analyserR:null},tonalBalance:{data:null,_analyser:null},truePeak:{left:-1/0,right:-1/0},loudness:{momentary:-1/0,maxMomentary:-1/0,shortterm:-1/0,integrated:-1/0},_meter:null}),actions:{_reset(){this.stereo.left=0,this.stereo.right=0,this.truePeak.left=-1/0,this.truePeak.right=-1/0,this.loudness.momentary=-1/0,this.loudness.maxMomentary=-1/0,this.loudness.shortterm=-1/0,this.loudness.integrated=-1/0},setSource(e,t){var s,o;this._meter=new tR({source:e,workerUri:"/assets/needles/needles-worker.js"}),(s=this._meter)==null||s.start(),(o=this._meter)==null||o.pause(),this.stereo.analyserL=t.createAnalyser(),this.stereo.analyserR=t.createAnalyser(),this.tonalBalance.analyser=t.createAnalyser(),this.tonalBalance.analyser.fftSize=256,e.connect(this.tonalBalance.analyser),this.tonalBalance.data=new Uint8Array(this.tonalBalance.analyser.frequencyBinCount);var r=t.createChannelSplitter(2);e.connect(r),r.connect(this.stereo.analyserR,1),r.connect(this.stereo.analyserL,0),this._stereo()},_stereo(){const e=Tc(),t=new Float32Array(this.stereo.analyserR.fftSize),r=new Float32Array(this.stereo.analyserL.fftSize),s=()=>{if(e.path!=="/player/insights"){window.requestAnimationFrame(s);return}this.tonalBalance.analyser.getByteFrequencyData(this.tonalBalance.data),this.stereo.analyserR.getFloatTimeDomainData(t),this.stereo.analyserL.getFloatTimeDomainData(r);let o=0,l=0;for(const u of t)o+=u*u;for(const u of r)l+=u*u;this.stereo.right=Math.sqrt(o/t.length),this.stereo.left=Math.sqrt(l/r.length),this.stereo.data=aR(this.stereo.analyserL,this.stereo.analyserR),this.stereo.correlation=lR(this.stereo.data),this.stereo.field=uR(this.stereo.data),window.requestAnimationFrame(s)};window.requestAnimationFrame(s)},initialise(){const e=Mt();at(()=>e.song,()=>{var t,r;this._reset(),(t=this._meter)==null||t.reset(),(r=this._meter)==null||r.on("dataavailable",s=>this._setLoudness(s.data.mode,s.data.value))}),at(()=>e.playing,()=>{var t,r;e.playing?(t=this._meter)==null||t.resume():(r=this._meter)==null||r.pause()})},_setLoudness(e,t){switch(e){case"momentary":this.loudness.momentary=t,this.loudness.maxMomentary=Math.max(this.loudness.maxMomentary,t);break;case"short-term":this.loudness.shortterm=t;break;case"integrated":this.loudness.integrated=t;break}}}}),cR=()=>{Mt().initialise(),Yt().fetchPlaylists(),Ga().initialise(),$c().initialise(),zg.restoreTheme()},fR=async()=>await(await fetch("/api/config/first-time")).json(),xI=async(e,t)=>{await fetch("/api/config/spotify",{method:"POST",body:JSON.stringify({id:e,secret:t})})},dR=async()=>{const e=await fetch("/api/spotify/authorise");return e.status==200?(cr.addYesNo("Do you want to authorise reAudioPlayer ONE to access your Spotify account?","You will be redirected to Spotify to authorise reAudioPlayer ONE to access your account.",null,async()=>{window.location.href=(await e.text()).replace("{origin}",window.location.origin)}),!1):e.status==204},CI=async()=>await(await fetch("/api/config")).json(),EI=async e=>{await fetch("/api/config",{method:"PUT",body:JSON.stringify(e)})},hR=e=>(Qi("data-v-3f7537e5"),e=e(),es(),e),pR={class:"sidebar drop-shadow-xl"},mR={class:"static"},gR={key:0},vR=hR(()=>te("br",{class:"hideIfMobile"},null,-1)),yR={key:0,class:"hideIfMobile"},_R={class:"playlistList hideIfMobile"},bR=["src"],wR=Ge({__name:"Sidebar",setup(e){const t=Mt(),r=Yt(),s=Ve(()=>t.song.cover),o=Ve(()=>r.playlists),l=qr();return(u,c)=>(re(),ve("div",pR,[te("div",mR,[pe(Hn,{hasChildSites:!0,minimised:"",href:"/collection/playlists",icon:"library_music",name:"Your Library",parentHref:"/collection"}),pe(Hn,{minimised:"",href:"/preferences",icon:"settings",name:"Settings",class:"showIfMobile"}),pe(Hn,{minimised:"",href:"/discover",icon:"explore",name:"Discover",class:"hideIfMobile"}),oe(l).sidebar.news||oe(l).sidebar.sports?(re(),ve("br",gR)):Me("",!0),oe(l).sidebar.news?(re(),Ze(Hn,{key:1,hasChildSites:!0,minimised:"",href:"/news",icon:"newspaper",name:"News"})):Me("",!0),oe(l).sidebar.sports?(re(),Ze(Hn,{key:2,hasChildSites:!0,minimised:"",href:"/sports",icon:"sports_soccer",name:"Sports"})):Me("",!0),vR,pe(Hn,{minimised:"",class:"hideIfMobile",href:"/playlist/create",icon:"add_circle",name:"Create Playlist"})]),o.value.length?(re(),ve("hr",yR)):Me("",!0),te("div",_R,[(re(!0),ve(et,null,pr(o.value.filter(f=>f.type!="special"),(f,h)=>(re(),Ze(Hn,{key:h,href:f.href,img:f.cover,minimised:"",name:f.name},null,8,["href","img","name"]))),128))]),oe(l).player.expandedCover?(re(),ve("img",{key:1,src:s.value,class:"cover hideIfMobile",onClick:c[0]||(c[0]=f=>oe(l).player.expandedCover=!1)},null,8,bR)):Me("",!0)]))}}),iv=lt(wR,[["__scopeId","data-v-3f7537e5"]]),AR={name:"Body",data(){return{maximised:!1}},methods:{onMaximiseChange(e){this.maximised=e,this.$emit("maximise",e)}}};function PR(e,t,r,s,o,l){const u=Ui("router-view");return re(),ve("div",{class:Ye(["body",{maximised:o.maximised}])},[pe(u,{onMaximise:l.onMaximiseChange,class:"view"},null,8,["onMaximise"])],2)}const sv=lt(AR,[["render",PR],["__scopeId","data-v-f3a65fee"]]),xR={class:"html-audio"},CR=["src"],ER=Ge({__name:"HtmlAudio",setup(e,{expose:t}){const r=Mt(),s=$c(),o=xe(null);let l=!1;Wt(()=>{o.value.src=null,o.value.src=r.stream,o.value.load(),o.value.onloadedmetadata=()=>{o.value&&(r.setDuration(o.value.duration),(l||r.playing)&&(c(),l=!1))}}),at(()=>r.song.id,()=>{o.value.paused||(l=!0),o.value.src=null,o.value.src=r.stream,o.value.load(),r.setPlaying(!o.value.paused)});const u=()=>{l=!0,r.onSongEnded()},c=()=>{try{o.value.play()}catch{}},f=()=>{o.value.pause()},h=g=>{o.value.currentTime=g},p=g=>{let S=g/100;S=Math.min(Math.max(S,0),1),o.value.volume=S},m=g=>{o.value.muted=g};return Wt(()=>{p(r.volume);var g=window.AudioContext,S=new g,C=S.createMediaElementSource(o.value);C.connect(S.destination),s.setSource(C,S)}),t({play:c,pause:f,seek:h,setVolume:p,setMute:m}),(g,S)=>(re(),ve("div",xR,[te("audio",{ref_key:"audio",ref:o,src:oe(r).stream,onEnded:u,onPause:S[0]||(S[0]=C=>oe(r).setPlaying(!1)),onPlay:S[1]||(S[1]=C=>oe(r).setPlaying(!0)),onTimeupdate:S[2]||(S[2]=C=>{var I;return oe(r).setProgress((I=o.value)==null?void 0:I.currentTime)})},null,40,CR)]))}}),SR={props:{modelValue:{type:Number,required:!0},max:{type:Number,default:100}},watch:{modelValue(){this.value=this.modelValue}},computed:{percentage(){return Math.min(1,this.value/this.max)*100}},methods:{seek(e,t=!1){const r=this.$el.getBoundingClientRect(),s=e.clientX-r.left,o=this.$el.offsetWidth;this.value=s/o*this.max,t||(this.seeking=!1,this.$emit("change",this.value),this.$emit("update:modelValue",this.value))}},data(){return{hover:!1,value:this.modelValue||0,seeking:!1}},mounted(){window.addEventListener("mouseup",e=>{this.seeking&&(this.seeking=!1,this.seek(e))}),window.addEventListener("mousemove",e=>{this.seeking&&this.seek(e,!0)})}},kR={class:"progressBar__track"};function OR(e,t,r,s,o,l){return re(),ve("div",{ref:"el",class:"progressBar",onMousedown:t[0]||(t[0]=u=>o.seeking=!0),onDragover:t[1]||(t[1]=At(()=>{},["stop"])),onClick:t[2]||(t[2]=(...u)=>l.seek&&l.seek(...u)),onMouseenter:t[3]||(t[3]=u=>o.hover=!0),onMouseleave:t[4]||(t[4]=u=>o.hover=!1)},[te("div",kR,[te("div",{class:Ye([{hover:o.hover},"progressBar__progress"]),style:Fr({width:`${l.percentage}%`})},null,6)])],544)}const Au=lt(SR,[["render",OR],["__scopeId","data-v-a9b735d7"]]),RR={class:"dropdown"},TR=["onClick"],IR={class:"material-symbols-rounded"},MR={key:0,class:"material-symbols-rounded"},LR=Ge({__name:"IconDropdown",props:{modelValue:{type:String,required:!0},icon:{type:String,required:!0},options:{type:Array,required:!0}},emits:["update:modelValue"],setup(e,{emit:t}){const r=e,s=xe(r.options),o=xe(r.modelValue),l=xe(!1),u=t;at(r,h=>{o.value=h.modelValue,s.value=h.options},{deep:!0});const c=h=>{o.value=h,u("update:modelValue",h),l.value=!1},f=xe(null);return at(l,h=>{Gn(()=>{if(h){const p=f.value.getBoundingClientRect();window.innerHeight-p.top>p.height?(f.value.style.top="100%",f.value.style.bottom="auto"):(f.value.style.top="auto",f.value.style.bottom="100%"),p.left<0?(f.value.style.left="0",f.value.style.right="auto"):p.right>window.innerWidth&&(f.value.style.left="auto",f.value.style.right="0")}})}),document.addEventListener("click",()=>{l.value=!1}),(h,p)=>(re(),ve("div",RR,[te("span",{class:"dropdown__selected material-symbols-rounded ms-wght-400",onClick:p[0]||(p[0]=At(m=>l.value=!l.value,["stop"]))},Ne(e.icon),1),l.value?(re(),ve("div",{key:0,ref_key:"trueDropdown",ref:f,class:Ye([{expanded:l.value},"dropdown__options"])},[(re(!0),ve(et,null,pr(s.value,m=>(re(),ve("div",{key:m.value,class:"dropdown__option",onClick:At(v=>c(m.value),["stop"])},[te("span",IR,Ne(m.icon),1),te("span",null,Ne(m.label),1),o.value==m.value?(re(),ve("span",MR,"check")):Me("",!0)],8,TR))),128))],2)):Me("",!0)]))}}),Pu=lt(LR,[["__scopeId","data-v-5756bf60"]]),$R={class:"loader"},DR=Ge({__name:"Spinner",setup(e){const t=xe(null);return Wt(()=>{var l,u;const s=((l=t.value)==null?void 0:l.clientWidth)??0,o=8/80;for(const c of((u=t.value)==null?void 0:u.children)??[])c.style.width=`${s*.8}px`,c.style.height=`${s*.8}px`,c.style.borderWidth=`${s*o}px`,c.style.margin=`${s*o}px`}),(r,s)=>(re(),ve("span",$R))}}),Lp=lt(DR,[["__scopeId","data-v-ed1fd951"]]);var ov={exports:{}};/*! + * wavesurfer.js 6.6.4 (2023-06-10) + * https://wavesurfer-js.org + * @license BSD-3-Clause + */(function(e,t){(function(s,o){e.exports=o()})(self,()=>(()=>{var r={"./src/drawer.canvasentry.js":(u,c,f)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var h=m(f("./src/util/style.js")),p=m(f("./src/util/get-id.js"));function m(A){return A&&A.__esModule?A:{default:A}}function v(A){"@babel/helpers - typeof";return v=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(k){return typeof k}:function(k){return k&&typeof Symbol=="function"&&k.constructor===Symbol&&k!==Symbol.prototype?"symbol":typeof k},v(A)}function g(A,k){if(!(A instanceof k))throw new TypeError("Cannot call a class as a function")}function S(A,k){for(var R=0;R=M;de--)b=T[2*de+1]||0,Q=Math.round(b/Y),R.lineTo((de-U)*P+this.halfPixel,_-Q);R.lineTo((M-U)*P,_-Math.round((T[2*M+1]||0)/Y)),R.closePath(),R.fill()}}},{key:"destroy",value:function(){this.waveCtx=null,this.wave=null,this.progressCtx=null,this.progress=null}},{key:"getImage",value:function(R,T,q){var G=this;if(q==="blob")return new Promise(function(W){G.wave.toBlob(W,R,T)});if(q==="dataURL")return this.wave.toDataURL(R,T)}}]),A}();c.default=D,u.exports=c.default},"./src/drawer.js":(u,c,f)=>{function h(F){"@babel/helpers - typeof";return h=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(K){return typeof K}:function(K){return K&&typeof Symbol=="function"&&K.constructor===Symbol&&K!==Symbol.prototype?"symbol":typeof K},h(F)}Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var p=v(f("./src/util/index.js"));function m(F){if(typeof WeakMap!="function")return null;var K=new WeakMap,j=new WeakMap;return(m=function(E){return E?j:K})(F)}function v(F,K){if(F&&F.__esModule)return F;if(F===null||h(F)!=="object"&&typeof F!="function")return{default:F};var j=m(K);if(j&&j.has(F))return j.get(F);var U={},E=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var M in F)if(M!=="default"&&Object.prototype.hasOwnProperty.call(F,M)){var B=E?Object.getOwnPropertyDescriptor(F,M):null;B&&(B.get||B.set)?Object.defineProperty(U,M,B):U[M]=F[M]}return U.default=F,j&&j.set(F,U),U}function g(F,K){if(!(F instanceof K))throw new TypeError("Cannot call a class as a function")}function S(F,K){for(var j=0;j"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function G(F){return G=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(j){return j.__proto__||Object.getPrototypeOf(j)},G(F)}var W=function(F){D(j,F);var K=k(j);function j(U,E){var M;return g(this,j),M=K.call(this),M.container=p.withOrientation(U,E.vertical),M.params=E,M.width=0,M.height=E.height*M.params.pixelRatio,M.lastPos=0,M.wrapper=null,M}return C(j,[{key:"style",value:function(E,M){return p.style(E,M)}},{key:"createWrapper",value:function(){this.wrapper=p.withOrientation(this.container.appendChild(document.createElement("wave")),this.params.vertical),this.style(this.wrapper,{display:"block",position:"relative",userSelect:"none",webkitUserSelect:"none",height:this.params.height+"px"}),(this.params.fillParent||this.params.scrollParent)&&this.style(this.wrapper,{width:"100%",cursor:this.params.hideCursor?"none":"auto",overflowX:this.params.hideScrollbar?"hidden":"auto",overflowY:"hidden"}),this.setupWrapperEvents()}},{key:"handleEvent",value:function(E,M){!M&&E.preventDefault();var B=p.withOrientation(E.targetTouches?E.targetTouches[0]:E,this.params.vertical).clientX,P=this.wrapper.getBoundingClientRect(),_=this.width,Y=this.getWidth(),N=this.getProgressPixels(P,B),b;return!this.params.fillParent&&_=_.bottom-P)return}E.params.interact&&E.fireEvent("click",M,E.handleEvent(M))}),this.wrapper.addEventListener("dblclick",function(M){E.params.interact&&E.fireEvent("dblclick",M,E.handleEvent(M))}),this.wrapper.addEventListener("scroll",function(M){return E.fireEvent("scroll",M)})}},{key:"drawPeaks",value:function(E,M,B,P){this.setWidth(M)||this.clearWave(),this.params.barWidth?this.drawBars(E,0,B,P):this.drawWave(E,0,B,P)}},{key:"resetScroll",value:function(){this.wrapper!==null&&(this.wrapper.scrollLeft=0)}},{key:"recenter",value:function(E){var M=this.wrapper.scrollWidth*E;this.recenterOnPosition(M,!0)}},{key:"recenterOnPosition",value:function(E,M){var B=this.wrapper.scrollLeft,P=~~(this.wrapper.clientWidth/2),_=this.wrapper.scrollWidth-this.wrapper.clientWidth,Y=E-P,N=Y-B;if(_!=0){if(!M&&-P<=N&&N=M){if(this.lastPos=B,this.params.scrollParent&&this.params.autoCenter){var P=~~(this.wrapper.scrollWidth*E);this.recenterOnPosition(P,this.params.autoCenterImmediately)}this.updateProgress(B)}}},{key:"destroy",value:function(){this.unAll(),this.wrapper&&(this.wrapper.parentNode==this.container.domElement&&this.container.removeChild(this.wrapper.domElement),this.wrapper=null)}},{key:"updateCursor",value:function(){}},{key:"updateSize",value:function(){}},{key:"drawBars",value:function(E,M,B,P){}},{key:"drawWave",value:function(E,M,B,P){}},{key:"clearWave",value:function(){}},{key:"updateProgress",value:function(E){}}]),j}(p.Observer);c.default=W,u.exports=c.default},"./src/drawer.multicanvas.js":(u,c,f)=>{function h(U){"@babel/helpers - typeof";return h=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(E){return typeof E}:function(E){return E&&typeof Symbol=="function"&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},h(U)}Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var p=C(f("./src/drawer.js")),m=S(f("./src/util/index.js")),v=C(f("./src/drawer.canvasentry.js"));function g(U){if(typeof WeakMap!="function")return null;var E=new WeakMap,M=new WeakMap;return(g=function(P){return P?M:E})(U)}function S(U,E){if(U&&U.__esModule)return U;if(U===null||h(U)!=="object"&&typeof U!="function")return{default:U};var M=g(E);if(M&&M.has(U))return M.get(U);var B={},P=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var _ in U)if(_!=="default"&&Object.prototype.hasOwnProperty.call(U,_)){var Y=P?Object.getOwnPropertyDescriptor(U,_):null;Y&&(Y.get||Y.set)?Object.defineProperty(B,_,Y):B[_]=U[_]}return B.default=U,M&&M.set(U,B),B}function C(U){return U&&U.__esModule?U:{default:U}}function I(U,E){if(!(U instanceof E))throw new TypeError("Cannot call a class as a function")}function V(U,E){for(var M=0;M"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function K(U){return K=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(M){return M.__proto__||Object.getPrototypeOf(M)},K(U)}var j=function(U){R(M,U);var E=q(M);function M(B,P){var _;return I(this,M),_=E.call(this,B,P),_.maxCanvasWidth=P.maxCanvasWidth,_.maxCanvasElementWidth=Math.round(P.maxCanvasWidth/P.pixelRatio),_.hasProgressCanvas=P.waveColor!=P.progressColor,_.halfPixel=.5/P.pixelRatio,_.canvases=[],_.progressWave=null,_.EntryClass=v.default,_.canvasContextAttributes=P.drawingContextAttributes,_.overlap=2*Math.ceil(P.pixelRatio/2),_.barRadius=P.barRadius||0,_.vertical=P.vertical,_}return D(M,[{key:"init",value:function(){this.createWrapper(),this.createElements()}},{key:"createElements",value:function(){this.progressWave=m.withOrientation(this.wrapper.appendChild(document.createElement("wave")),this.params.vertical),this.style(this.progressWave,{position:"absolute",zIndex:3,left:0,top:0,bottom:0,overflow:"hidden",width:"0",display:"none",boxSizing:"border-box",borderRightStyle:"solid",pointerEvents:"none"}),this.addCanvas(),this.updateCursor()}},{key:"updateCursor",value:function(){this.style(this.progressWave,{borderRightWidth:this.params.cursorWidth+"px",borderRightColor:this.params.cursorColor})}},{key:"updateSize",value:function(){for(var P=this,_=Math.round(this.width/this.params.pixelRatio),Y=Math.ceil(_/(this.maxCanvasElementWidth+this.overlap));this.canvases.lengthY;)this.removeCanvas();var N=this.maxCanvasWidth+this.overlap,b=this.canvases.length-1;this.canvases.forEach(function(Q,de){de==b&&(N=P.width-P.maxCanvasWidth*b),P.updateDimensions(Q,N,P.height),Q.clearWave()})}},{key:"addCanvas",value:function(){var P=new this.EntryClass;P.canvasContextAttributes=this.canvasContextAttributes,P.hasProgressCanvas=this.hasProgressCanvas,P.halfPixel=this.halfPixel;var _=this.maxCanvasElementWidth*this.canvases.length,Y=m.withOrientation(this.wrapper.appendChild(document.createElement("canvas")),this.params.vertical);if(this.style(Y,{position:"absolute",zIndex:2,left:_+"px",top:0,bottom:0,height:"100%",pointerEvents:"none"}),P.initWave(Y),this.hasProgressCanvas){var N=m.withOrientation(this.progressWave.appendChild(document.createElement("canvas")),this.params.vertical);this.style(N,{position:"absolute",left:_+"px",top:0,bottom:0,height:"100%"}),P.initProgress(N)}this.canvases.push(P)}},{key:"removeCanvas",value:function(){var P=this.canvases[this.canvases.length-1];P.wave.parentElement.removeChild(P.wave.domElement),this.hasProgressCanvas&&P.progress.parentElement.removeChild(P.progress.domElement),P&&(P.destroy(),P=null),this.canvases.pop()}},{key:"updateDimensions",value:function(P,_,Y){var N=Math.round(_/this.params.pixelRatio),b=Math.round(this.width/this.params.pixelRatio);P.updateDimensions(N,b,_,Y),this.style(this.progressWave,{display:"block"})}},{key:"clearWave",value:function(){var P=this;m.frame(function(){P.canvases.forEach(function(_){return _.clearWave()})})()}},{key:"drawBars",value:function(P,_,Y,N){var b=this;return this.prepareDraw(P,_,Y,N,function(Q){var de=Q.absmax,Ce=Q.hasMinVals;Q.height;var be=Q.offsetY,ke=Q.halfH,X=Q.peaks,se=Q.channelIndex;if(Y!==void 0){var he=Ce?2:1,Ae=X.length/he,Oe=b.params.barWidth*b.params.pixelRatio,je=b.params.barGap===null?Math.max(b.params.pixelRatio,~~(Oe/2)):Math.max(b.params.pixelRatio,b.params.barGap*b.params.pixelRatio),O=Oe+je,L=Ae/b.width,J=Y,ue=N,ne=J;for(ne;neye&&(ye=me),_e+=he}while(_e1&&arguments[1]!==void 0?arguments[1]:this.params.waveColor,Y=arguments.length>2&&arguments[2]!==void 0?arguments[2]:this.params.progressColor;P.setFillStyles(_,Y)}},{key:"applyCanvasTransforms",value:function(P){var _=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!1;P.applyCanvasTransforms(_)}},{key:"getImage",value:function(P,_,Y){if(Y==="blob")return Promise.all(this.canvases.map(function(b){return b.getImage(P,_,Y)}));if(Y==="dataURL"){var N=this.canvases.map(function(b){return b.getImage(P,_,Y)});return N.length>1?N:N[0]}}},{key:"updateProgress",value:function(P){this.style(this.progressWave,{width:P+"px"})}}]),M}(p.default);c.default=j,u.exports=c.default},"./src/mediaelement-webaudio.js":(u,c,f)=>{function h(K){"@babel/helpers - typeof";return h=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(j){return typeof j}:function(j){return j&&typeof Symbol=="function"&&j.constructor===Symbol&&j!==Symbol.prototype?"symbol":typeof j},h(K)}Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var p=m(f("./src/mediaelement.js"));function m(K){return K&&K.__esModule?K:{default:K}}function v(K,j){if(!(K instanceof j))throw new TypeError("Cannot call a class as a function")}function g(K,j){for(var U=0;U"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function W(K){return W=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(U){return U.__proto__||Object.getPrototypeOf(U)},W(K)}var F=function(K){A(U,K);var j=R(U);function U(E){var M;return v(this,U),M=j.call(this,E),M.params=E,M.sourceMediaElement=null,M}return S(U,[{key:"init",value:function(){this.setPlaybackRate(this.params.audioRate),this.createTimer(),this.createVolumeNode(),this.createScriptNode(),this.createAnalyserNode()}},{key:"_load",value:function(M,B,P){V(W(U.prototype),"_load",this).call(this,M,B,P),this.createMediaElementSource(M)}},{key:"createMediaElementSource",value:function(M){this.sourceMediaElement=this.ac.createMediaElementSource(M),this.sourceMediaElement.connect(this.analyser)}},{key:"play",value:function(M,B){return this.resumeAudioContext(),V(W(U.prototype),"play",this).call(this,M,B)}},{key:"destroy",value:function(){V(W(U.prototype),"destroy",this).call(this),this.destroyWebAudio()}}]),U}(p.default);c.default=F,u.exports=c.default},"./src/mediaelement.js":(u,c,f)=>{function h(E){"@babel/helpers - typeof";return h=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(M){return typeof M}:function(M){return M&&typeof Symbol=="function"&&M.constructor===Symbol&&M!==Symbol.prototype?"symbol":typeof M},h(E)}Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var p=S(f("./src/webaudio.js")),m=g(f("./src/util/index.js"));function v(E){if(typeof WeakMap!="function")return null;var M=new WeakMap,B=new WeakMap;return(v=function(_){return _?B:M})(E)}function g(E,M){if(E&&E.__esModule)return E;if(E===null||h(E)!=="object"&&typeof E!="function")return{default:E};var B=v(M);if(B&&B.has(E))return B.get(E);var P={},_=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var Y in E)if(Y!=="default"&&Object.prototype.hasOwnProperty.call(E,Y)){var N=_?Object.getOwnPropertyDescriptor(E,Y):null;N&&(N.get||N.set)?Object.defineProperty(P,Y,N):P[Y]=E[Y]}return P.default=E,B&&B.set(E,P),P}function S(E){return E&&E.__esModule?E:{default:E}}function C(E,M){if(!(E instanceof M))throw new TypeError("Cannot call a class as a function")}function I(E,M){for(var B=0;B"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function j(E){return j=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(B){return B.__proto__||Object.getPrototypeOf(B)},j(E)}var U=function(E){T(B,E);var M=G(B);function B(P){var _;return C(this,B),_=M.call(this,P),_.params=P,_.media={currentTime:0,duration:0,paused:!0,playbackRate:1,play:function(){},pause:function(){},volume:0},_.mediaType=P.mediaType.toLowerCase(),_.elementPosition=P.elementPosition,_.peaks=null,_.playbackRate=1,_.volume=1,_.isMuted=!1,_.buffer=null,_.onPlayEnd=null,_.mediaListeners={},_}return V(B,[{key:"init",value:function(){this.setPlaybackRate(this.params.audioRate),this.createTimer()}},{key:"_setupMediaListeners",value:function(){var _=this;this.mediaListeners.error=function(){_.fireEvent("error","Error loading media element")},this.mediaListeners.waiting=function(){_.fireEvent("waiting")},this.mediaListeners.canplay=function(){_.fireEvent("canplay")},this.mediaListeners.ended=function(){_.fireEvent("finish")},this.mediaListeners.play=function(){_.fireEvent("play")},this.mediaListeners.pause=function(){_.fireEvent("pause")},this.mediaListeners.seeked=function(Y){_.fireEvent("seek")},this.mediaListeners.volumechange=function(Y){_.isMuted=_.media.muted,_.isMuted?_.volume=0:_.volume=_.media.volume,_.fireEvent("volume")},Object.keys(this.mediaListeners).forEach(function(Y){_.media.removeEventListener(Y,_.mediaListeners[Y]),_.media.addEventListener(Y,_.mediaListeners[Y])})}},{key:"createTimer",value:function(){var _=this,Y=function N(){_.isPaused()||(_.fireEvent("audioprocess",_.getCurrentTime()),m.frame(N)())};this.on("play",Y),this.on("pause",function(){_.fireEvent("audioprocess",_.getCurrentTime())})}},{key:"load",value:function(_,Y,N,b){var Q=document.createElement(this.mediaType);Q.controls=this.params.mediaControls,Q.autoplay=this.params.autoplay||!1,Q.preload=b??"auto",Q.src=_,Q.style.width="100%";var de=Y.querySelector(this.mediaType);de&&Y.removeChild(de),Y.appendChild(Q),this._load(Q,N,b)}},{key:"loadElt",value:function(_,Y){_.controls=this.params.mediaControls,_.autoplay=this.params.autoplay||!1,this._load(_,Y,_.preload)}},{key:"_load",value:function(_,Y,N){if(!(_ instanceof HTMLMediaElement)||typeof _.addEventListener>"u")throw new Error("media parameter is not a valid media element");typeof _.load=="function"&&!(Y&&N=="none")&&_.load(),this.media=_,this._setupMediaListeners(),this.peaks=Y,this.onPlayEnd=null,this.buffer=null,this.isMuted=_.muted,this.setPlaybackRate(this.playbackRate),this.setVolume(this.volume)}},{key:"isPaused",value:function(){return!this.media||this.media.paused}},{key:"getDuration",value:function(){if(this.explicitDuration)return this.explicitDuration;var _=(this.buffer||this.media).duration;return _>=1/0&&(_=this.media.seekable.end(0)),_}},{key:"getCurrentTime",value:function(){return this.media&&this.media.currentTime}},{key:"getPlayedPercents",value:function(){return this.getCurrentTime()/this.getDuration()||0}},{key:"getPlaybackRate",value:function(){return this.playbackRate||this.media.playbackRate}},{key:"setPlaybackRate",value:function(_){this.playbackRate=_||1,this.media.playbackRate=this.playbackRate}},{key:"seekTo",value:function(_){_!=null&&!isNaN(_)&&(this.media.currentTime=_),this.clearPlayEnd()}},{key:"play",value:function(_,Y){this.seekTo(_);var N=this.media.play();return Y&&this.setPlayEnd(Y),N}},{key:"pause",value:function(){var _;return this.media&&(_=this.media.pause()),this.clearPlayEnd(),_}},{key:"setPlayEnd",value:function(_){var Y=this;this.clearPlayEnd(),this._onPlayEnd=function(N){N>=_&&(Y.pause(),Y.seekTo(_))},this.on("audioprocess",this._onPlayEnd)}},{key:"clearPlayEnd",value:function(){this._onPlayEnd&&(this.un("audioprocess",this._onPlayEnd),this._onPlayEnd=null)}},{key:"getPeaks",value:function(_,Y,N){return this.buffer?k(j(B.prototype),"getPeaks",this).call(this,_,Y,N):this.peaks||[]}},{key:"setSinkId",value:function(_){return _?this.media.setSinkId?this.media.setSinkId(_):Promise.reject(new Error("setSinkId is not supported in your browser")):Promise.reject(new Error("Invalid deviceId: "+_))}},{key:"getVolume",value:function(){return this.volume}},{key:"setVolume",value:function(_){this.volume=_,this.media.volume!==this.volume&&(this.media.volume=this.volume)}},{key:"setMute",value:function(_){this.isMuted=this.media.muted=_}},{key:"destroy",value:function(){var _=this;this.pause(),this.unAll(),this.destroyed=!0,Object.keys(this.mediaListeners).forEach(function(Y){_.media&&_.media.removeEventListener(Y,_.mediaListeners[Y])}),this.params.removeMediaElementOnDestroy&&this.media&&this.media.parentNode&&this.media.parentNode.removeChild(this.media),this.media=null}}]),B}(p.default);c.default=U,u.exports=c.default},"./src/peakcache.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;function f(C){"@babel/helpers - typeof";return f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(I){return typeof I}:function(I){return I&&typeof Symbol=="function"&&I.constructor===Symbol&&I!==Symbol.prototype?"symbol":typeof I},f(C)}function h(C,I){if(!(C instanceof I))throw new TypeError("Cannot call a class as a function")}function p(C,I){for(var V=0;V{Object.defineProperty(c,"__esModule",{value:!0}),c.default=v;var h=m(f("./src/util/max.js")),p=m(f("./src/util/min.js"));function m(g){return g&&g.__esModule?g:{default:g}}function v(g){var S=(0,h.default)(g),C=(0,p.default)(g);return-C>S?-C:S}u.exports=c.default},"./src/util/clamp.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=f;function f(h,p,m){return Math.min(Math.max(p,h),m)}u.exports=c.default},"./src/util/fetch.js":(u,c,f)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=D;var h=p(f("./src/util/observer.js"));function p(A){return A&&A.__esModule?A:{default:A}}function m(A){"@babel/helpers - typeof";return m=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(k){return typeof k}:function(k){return k&&typeof Symbol=="function"&&k.constructor===Symbol&&k!==Symbol.prototype?"symbol":typeof k},m(A)}function v(A,k){if(!(A instanceof k))throw new TypeError("Cannot call a class as a function")}function g(A,k){for(var R=0;R{Object.defineProperty(c,"__esModule",{value:!0}),c.default=m;var h=p(f("./src/util/request-animation-frame.js"));function p(v){return v&&v.__esModule?v:{default:v}}function m(v){return function(){for(var g=arguments.length,S=new Array(g),C=0;C{Object.defineProperty(c,"__esModule",{value:!0}),c.default=f;function f(h){return h===void 0&&(h="wavesurfer_"),h+Math.random().toString(32).substring(2)}u.exports=c.default},"./src/util/index.js":(u,c,f)=>{Object.defineProperty(c,"__esModule",{value:!0}),Object.defineProperty(c,"Observer",{enumerable:!0,get:function(){return g.default}}),Object.defineProperty(c,"absMax",{enumerable:!0,get:function(){return v.default}}),Object.defineProperty(c,"clamp",{enumerable:!0,get:function(){return k.default}}),Object.defineProperty(c,"debounce",{enumerable:!0,get:function(){return V.default}}),Object.defineProperty(c,"fetchFile",{enumerable:!0,get:function(){return A.default}}),Object.defineProperty(c,"frame",{enumerable:!0,get:function(){return I.default}}),Object.defineProperty(c,"getId",{enumerable:!0,get:function(){return h.default}}),Object.defineProperty(c,"ignoreSilenceMode",{enumerable:!0,get:function(){return T.default}}),Object.defineProperty(c,"max",{enumerable:!0,get:function(){return p.default}}),Object.defineProperty(c,"min",{enumerable:!0,get:function(){return m.default}}),Object.defineProperty(c,"preventClick",{enumerable:!0,get:function(){return D.default}}),Object.defineProperty(c,"requestAnimationFrame",{enumerable:!0,get:function(){return C.default}}),Object.defineProperty(c,"style",{enumerable:!0,get:function(){return S.default}}),Object.defineProperty(c,"withOrientation",{enumerable:!0,get:function(){return R.default}});var h=q(f("./src/util/get-id.js")),p=q(f("./src/util/max.js")),m=q(f("./src/util/min.js")),v=q(f("./src/util/absMax.js")),g=q(f("./src/util/observer.js")),S=q(f("./src/util/style.js")),C=q(f("./src/util/request-animation-frame.js")),I=q(f("./src/util/frame.js")),V=q(f("./node_modules/debounce/index.js")),D=q(f("./src/util/prevent-click.js")),A=q(f("./src/util/fetch.js")),k=q(f("./src/util/clamp.js")),R=q(f("./src/util/orientation.js")),T=q(f("./src/util/silence-mode.js"));function q(G){return G&&G.__esModule?G:{default:G}}},"./src/util/max.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=f;function f(h){var p=-1/0;return Object.keys(h).forEach(function(m){h[m]>p&&(p=h[m])}),p}u.exports=c.default},"./src/util/min.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=f;function f(h){var p=1/0;return Object.keys(h).forEach(function(m){h[m]{Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;function f(C){"@babel/helpers - typeof";return f=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(I){return typeof I}:function(I){return I&&typeof Symbol=="function"&&I.constructor===Symbol&&I!==Symbol.prototype?"symbol":typeof I},f(C)}function h(C,I){if(!(C instanceof I))throw new TypeError("Cannot call a class as a function")}function p(C,I){for(var V=0;V=0;k--)A[k]==D&&A.splice(k,1);else A.length=0}}},{key:"unAll",value:function(){this.handlers=null}},{key:"once",value:function(V,D){var A=this,k=function R(){for(var T=arguments.length,q=new Array(T),G=0;G1?D-1:0),k=1;k{Object.defineProperty(c,"__esModule",{value:!0}),c.default=m;var f={width:"height",height:"width",overflowX:"overflowY",overflowY:"overflowX",clientWidth:"clientHeight",clientHeight:"clientWidth",clientX:"clientY",clientY:"clientX",scrollWidth:"scrollHeight",scrollLeft:"scrollTop",offsetLeft:"offsetTop",offsetTop:"offsetLeft",offsetHeight:"offsetWidth",offsetWidth:"offsetHeight",left:"top",right:"bottom",top:"left",bottom:"right",borderRightStyle:"borderBottomStyle",borderRightWidth:"borderBottomWidth",borderRightColor:"borderBottomColor"};function h(v,g){return Object.prototype.hasOwnProperty.call(f,v)&&g?f[v]:v}var p=Symbol("isProxy");function m(v,g){return v[p]?v:new Proxy(v,{get:function(C,I,V){if(I===p)return!0;if(I==="domElement")return C;if(I==="style")return m(C.style,g);if(I==="canvas")return m(C.canvas,g);if(I==="getBoundingClientRect")return function(){return m(C.getBoundingClientRect.apply(C,arguments),g)};if(I==="getContext")return function(){return m(C.getContext.apply(C,arguments),g)};var D=C[h(I,g)];return typeof D=="function"?D.bind(C):D},set:function(C,I,V){return C[h(I,g)]=V,!0}})}u.exports=c.default},"./src/util/prevent-click.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=h;function f(p){p.stopPropagation(),document.body.removeEventListener("click",f,!0)}function h(p){document.body.addEventListener("click",f,!0)}u.exports=c.default},"./src/util/request-animation-frame.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var f=(window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(h,p){return setTimeout(h,1e3/60)}).bind(window);c.default=f,u.exports=c.default},"./src/util/silence-mode.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=f;function f(){var h=new AudioContext,p=h.createBufferSource();p.buffer=h.createBuffer(1,1,44100),p.connect(h.destination),p.start();var m="data:audio/mpeg;base64,//uQxAAAAAAAAAAAAAAAAAAAAAAAWGluZwAAAA8AAAACAAACcQCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA//////////////////////////////////////////////////////////////////8AAABhTEFNRTMuMTAwA8MAAAAAAAAAABQgJAUHQQAB9AAAAnGMHkkIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//sQxAADgnABGiAAQBCqgCRMAAgEAH///////////////7+n/9FTuQsQH//////2NG0jWUGlio5gLQTOtIoeR2WX////X4s9Atb/JRVCbBUpeRUq//////////////////9RUi0f2jn/+xDECgPCjAEQAABN4AAANIAAAAQVTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQ==",v=document.createElement("div");v.innerHTML='';var g=v.children.item(0);g.src=m,g.preload="auto",g.type="audio/mpeg",g.disableRemotePlayback=!0,g.play(),g.remove(),v.remove()}u.exports=c.default},"./src/util/style.js":(u,c)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=f;function f(h,p){return Object.keys(p).forEach(function(m){h.style[m]!==p[m]&&(h.style[m]=p[m])}),h}u.exports=c.default},"./src/wavesurfer.js":(u,c,f)=>{Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var h=V(f("./src/util/index.js")),p=C(f("./src/drawer.multicanvas.js")),m=C(f("./src/webaudio.js")),v=C(f("./src/mediaelement.js")),g=C(f("./src/peakcache.js")),S=C(f("./src/mediaelement-webaudio.js"));function C(P){return P&&P.__esModule?P:{default:P}}function I(P){if(typeof WeakMap!="function")return null;var _=new WeakMap,Y=new WeakMap;return(I=function(b){return b?Y:_})(P)}function V(P,_){if(P&&P.__esModule)return P;if(P===null||F(P)!=="object"&&typeof P!="function")return{default:P};var Y=I(_);if(Y&&Y.has(P))return Y.get(P);var N={},b=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var Q in P)if(Q!=="default"&&Object.prototype.hasOwnProperty.call(P,Q)){var de=b?Object.getOwnPropertyDescriptor(P,Q):null;de&&(de.get||de.set)?Object.defineProperty(N,Q,de):N[Q]=P[Q]}return N.default=P,Y&&Y.set(P,N),N}function D(P,_){if(typeof _!="function"&&_!==null)throw new TypeError("Super expression must either be null or a function");P.prototype=Object.create(_&&_.prototype,{constructor:{value:P,writable:!0,configurable:!0}}),Object.defineProperty(P,"prototype",{writable:!1}),_&&A(P,_)}function A(P,_){return A=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(N,b){return N.__proto__=b,N},A(P,_)}function k(P){var _=q();return function(){var N=G(P),b;if(_){var Q=G(this).constructor;b=Reflect.construct(N,arguments,Q)}else b=N.apply(this,arguments);return R(this,b)}}function R(P,_){if(_&&(F(_)==="object"||typeof _=="function"))return _;if(_!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return T(P)}function T(P){if(P===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return P}function q(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function G(P){return G=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(Y){return Y.__proto__||Object.getPrototypeOf(Y)},G(P)}function W(P,_,Y){return _=E(_),_ in P?Object.defineProperty(P,_,{value:Y,enumerable:!0,configurable:!0,writable:!0}):P[_]=Y,P}function F(P){"@babel/helpers - typeof";return F=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(_){return typeof _}:function(_){return _&&typeof Symbol=="function"&&_.constructor===Symbol&&_!==Symbol.prototype?"symbol":typeof _},F(P)}function K(P,_){if(!(P instanceof _))throw new TypeError("Cannot call a class as a function")}function j(P,_){for(var Y=0;Y<_.length;Y++){var N=_[Y];N.enumerable=N.enumerable||!1,N.configurable=!0,"value"in N&&(N.writable=!0),Object.defineProperty(P,E(N.key),N)}}function U(P,_,Y){return _&&j(P.prototype,_),Y&&j(P,Y),Object.defineProperty(P,"prototype",{writable:!1}),P}function E(P){var _=M(P,"string");return F(_)==="symbol"?_:String(_)}function M(P,_){if(F(P)!=="object"||P===null)return P;var Y=P[Symbol.toPrimitive];if(Y!==void 0){var N=Y.call(P,_||"default");if(F(N)!=="object")return N;throw new TypeError("@@toPrimitive must return a primitive value.")}return(_==="string"?String:Number)(P)}var B=function(P){D(Y,P);var _=k(Y);function Y(N){var b;if(K(this,Y),b=_.call(this),W(T(b),"defaultParams",{audioContext:null,audioScriptProcessor:null,audioRate:1,autoCenter:!0,autoCenterRate:5,autoCenterImmediately:!1,backend:"WebAudio",backgroundColor:null,barHeight:1,barRadius:0,barGap:null,barMinHeight:null,container:null,cursorColor:"#333",cursorWidth:1,dragSelection:!0,drawingContextAttributes:{desynchronized:!1},duration:null,fillParent:!0,forceDecode:!1,height:128,hideScrollbar:!1,hideCursor:!1,ignoreSilenceMode:!1,interact:!0,loopSelection:!0,maxCanvasWidth:4e3,mediaContainer:null,mediaControls:!1,mediaType:"audio",minPxPerSec:20,normalize:!1,partialRender:!1,pixelRatio:window.devicePixelRatio||screen.deviceXDPI/screen.logicalXDPI,plugins:[],progressColor:"#555",removeMediaElementOnDestroy:!0,renderer:p.default,responsive:!1,rtl:!1,scrollParent:!1,skipLength:2,splitChannels:!1,splitChannelsOptions:{overlay:!1,channelColors:{},filterChannels:[],relativeNormalization:!1,splitDragSelection:!1},vertical:!1,waveColor:"#999",xhr:{}}),W(T(b),"backends",{MediaElement:v.default,WebAudio:m.default,MediaElementWebAudio:S.default}),W(T(b),"util",h),b.params=Object.assign({},b.defaultParams,N),b.params.splitChannelsOptions=Object.assign({},b.defaultParams.splitChannelsOptions,N.splitChannelsOptions),b.container=typeof N.container=="string"?document.querySelector(b.params.container):b.params.container,!b.container)throw new Error("Container element not found");if(b.params.mediaContainer==null?b.mediaContainer=b.container:typeof b.params.mediaContainer=="string"?b.mediaContainer=document.querySelector(b.params.mediaContainer):b.mediaContainer=b.params.mediaContainer,!b.mediaContainer)throw new Error("Media Container element not found");if(b.params.maxCanvasWidth<=1)throw new Error("maxCanvasWidth must be greater than 1");if(b.params.maxCanvasWidth%2==1)throw new Error("maxCanvasWidth must be an even number");if(b.params.rtl===!0&&(b.params.vertical===!0?h.style(b.container,{transform:"rotateX(180deg)"}):h.style(b.container,{transform:"rotateY(180deg)"})),b.params.backgroundColor&&b.setBackgroundColor(b.params.backgroundColor),b.savedVolume=0,b.isMuted=!1,b.tmpEvents=[],b.currentRequest=null,b.arraybuffer=null,b.drawer=null,b.backend=null,b.peakCache=null,typeof b.params.renderer!="function")throw new Error("Renderer parameter is invalid");b.Drawer=b.params.renderer,b.params.backend=="AudioElement"&&(b.params.backend="MediaElement"),(b.params.backend=="WebAudio"||b.params.backend==="MediaElementWebAudio")&&!m.default.prototype.supportsWebAudio.call(null)&&(b.params.backend="MediaElement"),b.Backend=b.backends[b.params.backend],b.initialisedPluginList={},b.isDestroyed=!1,b.isReady=!1;var Q=0;return b._onResize=h.debounce(function(){b.drawer.wrapper&&Q!=b.drawer.wrapper.clientWidth&&!b.params.scrollParent&&(Q=b.drawer.wrapper.clientWidth,Q&&b.drawer.fireEvent("redraw"))},typeof b.params.responsive=="number"?b.params.responsive:100),R(b,T(b))}return U(Y,[{key:"init",value:function(){return this.registerPlugins(this.params.plugins),this.createDrawer(),this.createBackend(),this.createPeakCache(),this}},{key:"registerPlugins",value:function(b){var Q=this;return b.forEach(function(de){return Q.addPlugin(de)}),b.forEach(function(de){de.deferInit||Q.initPlugin(de.name)}),this.fireEvent("plugins-registered",b),this}},{key:"getActivePlugins",value:function(){return this.initialisedPluginList}},{key:"addPlugin",value:function(b){var Q=this;if(!b.name)throw new Error("Plugin does not have a name!");if(!b.instance)throw new Error("Plugin ".concat(b.name," does not have an instance property!"));b.staticProps&&Object.keys(b.staticProps).forEach(function(be){Q[be]=b.staticProps[be]});var de=b.instance,Ce=Object.getOwnPropertyNames(h.Observer.prototype);return Ce.forEach(function(be){de.prototype[be]=h.Observer.prototype[be]}),this[b.name]=new de(b.params||{},this),this.fireEvent("plugin-added",b.name),this}},{key:"initPlugin",value:function(b){if(!this[b])throw new Error("Plugin ".concat(b," has not been added yet!"));return this.initialisedPluginList[b]&&this.destroyPlugin(b),this[b].init(),this.initialisedPluginList[b]=!0,this.fireEvent("plugin-initialised",b),this}},{key:"destroyPlugin",value:function(b){if(!this[b])throw new Error("Plugin ".concat(b," has not been added yet and cannot be destroyed!"));if(!this.initialisedPluginList[b])throw new Error("Plugin ".concat(b," is not active and cannot be destroyed!"));if(typeof this[b].destroy!="function")throw new Error("Plugin ".concat(b," does not have a destroy function!"));return this[b].destroy(),delete this.initialisedPluginList[b],this.fireEvent("plugin-destroyed",b),this}},{key:"destroyAllPlugins",value:function(){var b=this;Object.keys(this.initialisedPluginList).forEach(function(Q){return b.destroyPlugin(Q)})}},{key:"createDrawer",value:function(){var b=this;this.drawer=new this.Drawer(this.container,this.params),this.drawer.init(),this.fireEvent("drawer-created",this.drawer),this.params.responsive!==!1&&(window.addEventListener("resize",this._onResize,!0),window.addEventListener("orientationchange",this._onResize,!0)),this.drawer.on("redraw",function(){b.drawBuffer(),b.drawer.progress(b.backend.getPlayedPercents())}),this.drawer.on("click",function(Q,de){setTimeout(function(){return b.seekTo(de)},0)}),this.drawer.on("scroll",function(Q){b.params.partialRender&&b.drawBuffer(),b.fireEvent("scroll",Q)}),this.drawer.on("dblclick",function(Q,de){b.fireEvent("dblclick",Q,de)})}},{key:"createBackend",value:function(){var b=this;this.backend&&this.backend.destroy(),this.backend=new this.Backend(this.params),this.backend.init(),this.fireEvent("backend-created",this.backend),this.backend.on("finish",function(){b.drawer.progress(b.backend.getPlayedPercents()),b.fireEvent("finish")}),this.backend.on("play",function(){return b.fireEvent("play")}),this.backend.on("pause",function(){return b.fireEvent("pause")}),this.backend.on("audioprocess",function(Q){b.drawer.progress(b.backend.getPlayedPercents()),b.fireEvent("audioprocess",Q)}),(this.params.backend==="MediaElement"||this.params.backend==="MediaElementWebAudio")&&(this.backend.on("seek",function(){b.drawer.progress(b.backend.getPlayedPercents())}),this.backend.on("volume",function(){var Q=b.getVolume();b.fireEvent("volume",Q),b.backend.isMuted!==b.isMuted&&(b.isMuted=b.backend.isMuted,b.fireEvent("mute",b.isMuted))}))}},{key:"createPeakCache",value:function(){this.params.partialRender&&(this.peakCache=new g.default)}},{key:"getDuration",value:function(){return this.backend.getDuration()}},{key:"getCurrentTime",value:function(){return this.backend.getCurrentTime()}},{key:"setCurrentTime",value:function(b){b>=this.getDuration()?this.seekTo(1):this.seekTo(b/this.getDuration())}},{key:"play",value:function(b,Q){var de=this;return this.params.ignoreSilenceMode&&h.ignoreSilenceMode(),this.fireEvent("interaction",function(){return de.play(b,Q)}),this.backend.play(b,Q)}},{key:"setPlayEnd",value:function(b){this.backend.setPlayEnd(b)}},{key:"pause",value:function(){if(!this.backend.isPaused())return this.backend.pause()}},{key:"playPause",value:function(){return this.backend.isPaused()?this.play():this.pause()}},{key:"isPlaying",value:function(){return!this.backend.isPaused()}},{key:"skipBackward",value:function(b){this.skip(-b||-this.params.skipLength)}},{key:"skipForward",value:function(b){this.skip(b||this.params.skipLength)}},{key:"skip",value:function(b){var Q=this.getDuration()||1,de=this.getCurrentTime()||0;de=Math.max(0,Math.min(Q,de+(b||0))),this.seekAndCenter(de/Q)}},{key:"seekAndCenter",value:function(b){this.seekTo(b),this.drawer.recenter(b)}},{key:"seekTo",value:function(b){var Q=this;if(typeof b!="number"||!isFinite(b)||b<0||b>1)throw new Error("Error calling wavesurfer.seekTo, parameter must be a number between 0 and 1!");this.fireEvent("interaction",function(){return Q.seekTo(b)});var de=this.params.backend==="WebAudio",Ce=this.backend.isPaused();de&&!Ce&&this.backend.pause();var be=this.params.scrollParent;this.params.scrollParent=!1,this.backend.seekTo(b*this.getDuration()),this.drawer.progress(b),de&&!Ce&&this.backend.play(),this.params.scrollParent=be,this.fireEvent("seek",b)}},{key:"stop",value:function(){this.pause(),this.seekTo(0),this.drawer.progress(0)}},{key:"setSinkId",value:function(b){return this.backend.setSinkId(b)}},{key:"setVolume",value:function(b){if(this.isMuted===!0){this.savedVolume=b;return}this.backend.setVolume(b),this.fireEvent("volume",b)}},{key:"getVolume",value:function(){return this.backend.getVolume()}},{key:"setPlaybackRate",value:function(b){this.backend.setPlaybackRate(b)}},{key:"getPlaybackRate",value:function(){return this.backend.getPlaybackRate()}},{key:"toggleMute",value:function(){this.setMute(!this.isMuted)}},{key:"setMute",value:function(b){if(b===this.isMuted){this.fireEvent("mute",this.isMuted);return}this.backend.setMute?(this.backend.setMute(b),this.isMuted=b):b?(this.savedVolume=this.backend.getVolume(),this.backend.setVolume(0),this.isMuted=!0,this.fireEvent("volume",0)):(this.backend.setVolume(this.savedVolume),this.isMuted=!1,this.fireEvent("volume",this.savedVolume)),this.fireEvent("mute",this.isMuted)}},{key:"getMute",value:function(){return this.isMuted}},{key:"getFilters",value:function(){return this.backend.filters||[]}},{key:"toggleScroll",value:function(){this.params.scrollParent=!this.params.scrollParent,this.drawBuffer()}},{key:"toggleInteraction",value:function(){this.params.interact=!this.params.interact}},{key:"getWaveColor",value:function(){var b=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;return this.params.splitChannelsOptions.channelColors[b]?this.params.splitChannelsOptions.channelColors[b].waveColor:this.params.waveColor}},{key:"setWaveColor",value:function(b){var Q=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;this.params.splitChannelsOptions.channelColors[Q]?this.params.splitChannelsOptions.channelColors[Q].waveColor=b:this.params.waveColor=b,this.drawBuffer()}},{key:"getProgressColor",value:function(){var b=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null;return this.params.splitChannelsOptions.channelColors[b]?this.params.splitChannelsOptions.channelColors[b].progressColor:this.params.progressColor}},{key:"setProgressColor",value:function(b,Q){this.params.splitChannelsOptions.channelColors[Q]?this.params.splitChannelsOptions.channelColors[Q].progressColor=b:this.params.progressColor=b,this.drawBuffer()}},{key:"getBackgroundColor",value:function(){return this.params.backgroundColor}},{key:"setBackgroundColor",value:function(b){this.params.backgroundColor=b,h.style(this.container,{background:this.params.backgroundColor})}},{key:"getCursorColor",value:function(){return this.params.cursorColor}},{key:"setCursorColor",value:function(b){this.params.cursorColor=b,this.drawer.updateCursor()}},{key:"getHeight",value:function(){return this.params.height}},{key:"setHeight",value:function(b){this.params.height=b,this.drawer.setHeight(b*this.params.pixelRatio),this.drawBuffer()}},{key:"setFilteredChannels",value:function(b){this.params.splitChannelsOptions.filterChannels=b,this.drawBuffer()}},{key:"drawBuffer",value:function(){var b=Math.round(this.getDuration()*this.params.minPxPerSec*this.params.pixelRatio),Q=this.drawer.getWidth(),de=b,Ce=0,be=Math.max(Ce+Q,de);this.params.fillParent&&(!this.params.scrollParent||b{Object.defineProperty(c,"__esModule",{value:!0}),c.default=void 0;var h=m(f("./src/util/index.js"));function p(E){if(typeof WeakMap!="function")return null;var M=new WeakMap,B=new WeakMap;return(p=function(_){return _?B:M})(E)}function m(E,M){if(E&&E.__esModule)return E;if(E===null||v(E)!=="object"&&typeof E!="function")return{default:E};var B=p(M);if(B&&B.has(E))return B.get(E);var P={},_=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var Y in E)if(Y!=="default"&&Object.prototype.hasOwnProperty.call(E,Y)){var N=_?Object.getOwnPropertyDescriptor(E,Y):null;N&&(N.get||N.set)?Object.defineProperty(P,Y,N):P[Y]=E[Y]}return P.default=E,B&&B.set(E,P),P}function v(E){"@babel/helpers - typeof";return v=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(M){return typeof M}:function(M){return M&&typeof Symbol=="function"&&M.constructor===Symbol&&M!==Symbol.prototype?"symbol":typeof M},v(E)}function g(E,M){if(!(E instanceof M))throw new TypeError("Cannot call a class as a function")}function S(E,M){for(var B=0;B"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function T(E){return T=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(B){return B.__proto__||Object.getPrototypeOf(B)},T(E)}function q(E,M,B){return M=G(M),M in E?Object.defineProperty(E,M,{value:B,enumerable:!0,configurable:!0,writable:!0}):E[M]=B,E}function G(E){var M=W(E,"string");return v(M)==="symbol"?M:String(M)}function W(E,M){if(v(E)!=="object"||E===null)return E;var B=E[Symbol.toPrimitive];if(B!==void 0){var P=B.call(E,M||"default");if(v(P)!=="object")return P;throw new TypeError("@@toPrimitive must return a primitive value.")}return(M==="string"?String:Number)(E)}var F="playing",K="paused",j="finished",U=function(E){I(B,E);var M=D(B);function B(P){var _,Y,N;return g(this,B),N=M.call(this),q(k(N),"audioContext",null),q(k(N),"stateBehaviors",(_={},q(_,F,{init:function(){this.addOnAudioProcess()},getPlayedPercents:function(){var Q=this.getDuration();return this.getCurrentTime()/Q||0},getCurrentTime:function(){return this.startPosition+this.getPlayedTime()}}),q(_,K,{init:function(){},getPlayedPercents:function(){var Q=this.getDuration();return this.getCurrentTime()/Q||0},getCurrentTime:function(){return this.startPosition}}),q(_,j,{init:function(){this.fireEvent("finish")},getPlayedPercents:function(){return 1},getCurrentTime:function(){return this.getDuration()}}),_)),N.params=P,N.ac=P.audioContext||(N.supportsWebAudio()?N.getAudioContext():{}),N.lastPlay=N.ac.currentTime,N.startPosition=0,N.scheduledPause=null,N.states=(Y={},q(Y,F,Object.create(N.stateBehaviors[F])),q(Y,K,Object.create(N.stateBehaviors[K])),q(Y,j,Object.create(N.stateBehaviors[j])),Y),N.buffer=null,N.filters=[],N.gainNode=null,N.mergedPeaks=null,N.offlineAc=null,N.peaks=null,N.playbackRate=1,N.analyser=null,N.scriptNode=null,N.source=null,N.splitPeaks=[],N.state=null,N.explicitDuration=P.duration,N.sinkStreamDestination=null,N.sinkAudioElement=null,N.destroyed=!1,N}return C(B,[{key:"supportsWebAudio",value:function(){return!!(window.AudioContext||window.webkitAudioContext)}},{key:"getAudioContext",value:function(){return window.WaveSurferAudioContext||(window.WaveSurferAudioContext=new(window.AudioContext||window.webkitAudioContext)),window.WaveSurferAudioContext}},{key:"getOfflineAudioContext",value:function(_){return window.WaveSurferOfflineAudioContext||(window.WaveSurferOfflineAudioContext=new(window.OfflineAudioContext||window.webkitOfflineAudioContext)(1,2,_)),window.WaveSurferOfflineAudioContext}},{key:"init",value:function(){this.createVolumeNode(),this.createScriptNode(),this.createAnalyserNode(),this.setState(K),this.setPlaybackRate(this.params.audioRate),this.setLength(0)}},{key:"disconnectFilters",value:function(){this.filters&&(this.filters.forEach(function(_){_&&_.disconnect()}),this.filters=null,this.analyser.connect(this.gainNode))}},{key:"setState",value:function(_){this.state!==this.states[_]&&(this.state=this.states[_],this.state.init.call(this))}},{key:"setFilter",value:function(){for(var _=arguments.length,Y=new Array(_),N=0;N<_;N++)Y[N]=arguments[N];this.setFilters(Y)}},{key:"setFilters",value:function(_){this.disconnectFilters(),_&&_.length&&(this.filters=_,this.analyser.disconnect(),_.reduce(function(Y,N){return Y.connect(N),N},this.analyser).connect(this.gainNode))}},{key:"createScriptNode",value:function(){this.params.audioScriptProcessor&&(this.scriptNode=this.params.audioScriptProcessor,this.scriptNode.connect(this.ac.destination))}},{key:"addOnAudioProcess",value:function(){var _=this,Y=function N(){var b=_.getCurrentTime();b>=_.getDuration()&&_.state!==_.states[j]?(_.setState(j),_.fireEvent("pause")):b>=_.scheduledPause&&_.state!==_.states[K]?_.pause():_.state===_.states[F]&&(_.fireEvent("audioprocess",b),h.frame(N)())};Y()}},{key:"createAnalyserNode",value:function(){this.analyser=this.ac.createAnalyser(),this.analyser.connect(this.gainNode)}},{key:"createVolumeNode",value:function(){this.ac.createGain?this.gainNode=this.ac.createGain():this.gainNode=this.ac.createGainNode(),this.gainNode.connect(this.ac.destination)}},{key:"setSinkId",value:function(_){return _?(this.sinkAudioElement||(this.sinkAudioElement=new window.Audio,this.sinkAudioElement.autoplay=!0),this.sinkAudioElement.setSinkId?(this.sinkStreamDestination||(this.sinkStreamDestination=this.ac.createMediaStreamDestination()),this.gainNode.disconnect(),this.gainNode.connect(this.sinkStreamDestination),this.sinkAudioElement.srcObject=this.sinkStreamDestination.stream,this.sinkAudioElement.setSinkId(_)):Promise.reject(new Error("setSinkId is not supported in your browser"))):Promise.reject(new Error("Invalid deviceId: "+_))}},{key:"setVolume",value:function(_){this.gainNode.gain.setValueAtTime(_,this.ac.currentTime)}},{key:"getVolume",value:function(){return this.gainNode.gain.value}},{key:"decodeArrayBuffer",value:function(_,Y,N){this.offlineAc||(this.offlineAc=this.getOfflineAudioContext(this.ac&&this.ac.sampleRate?this.ac.sampleRate:44100)),"webkitAudioContext"in window?this.offlineAc.decodeAudioData(_,function(b){return Y(b)},N):this.offlineAc.decodeAudioData(_).then(function(b){return Y(b)}).catch(function(b){return N(b)})}},{key:"setPeaks",value:function(_,Y){Y!=null&&(this.explicitDuration=Y),this.peaks=_}},{key:"setLength",value:function(_){if(!(this.mergedPeaks&&_==2*this.mergedPeaks.length-1+2)){this.splitPeaks=[],this.mergedPeaks=[];var Y=this.buffer?this.buffer.numberOfChannels:1,N;for(N=0;Nje&&(je=L),Lthis.mergedPeaks[2*se])&&(this.mergedPeaks[2*se]=je),(be==0||Oe=this.getDuration()&&(_=0)),Y==null&&(Y=this.getDuration()),this.startPosition=_,this.lastPlay=this.ac.currentTime,this.state===this.states[j]&&this.setState(K),{start:_,end:Y}}},{key:"getPlayedTime",value:function(){return(this.ac.currentTime-this.lastPlay)*this.playbackRate}},{key:"play",value:function(_,Y){if(this.buffer){this.createSource();var N=this.seekTo(_,Y);_=N.start,Y=N.end,this.scheduledPause=Y,this.source.start(0,_),this.resumeAudioContext(),this.setState(F),this.fireEvent("play")}}},{key:"pause",value:function(){this.scheduledPause=null,this.startPosition+=this.getPlayedTime();try{this.source&&this.source.stop(0)}catch{}this.setState(K),this.fireEvent("pause")}},{key:"getCurrentTime",value:function(){return this.state.getCurrentTime.call(this)}},{key:"getPlaybackRate",value:function(){return this.playbackRate}},{key:"setPlaybackRate",value:function(_){this.playbackRate=_||1,this.source&&this.source.playbackRate.setValueAtTime(this.playbackRate,this.ac.currentTime)}},{key:"setPlayEnd",value:function(_){this.scheduledPause=_}}]),B}(h.Observer);c.default=U,u.exports=c.default},"./node_modules/debounce/index.js":u=>{function c(f,h,p){var m,v,g,S,C;h==null&&(h=100);function I(){var D=Date.now()-S;D=0?m=setTimeout(I,h-D):(m=null,p||(C=f.apply(g,v),g=v=null))}var V=function(){g=this,v=arguments,S=Date.now();var D=p&&!m;return m||(m=setTimeout(I,h)),D&&(C=f.apply(g,v),g=v=null),C};return V.clear=function(){m&&(clearTimeout(m),m=null)},V.flush=function(){m&&(C=f.apply(g,v),g=v=null,clearTimeout(m),m=null)},V}c.debounce=c,u.exports=c}},s={};function o(u){var c=s[u];if(c!==void 0)return c.exports;var f=s[u]={exports:{}};return r[u](f,f.exports,o),f.exports}var l=o("./src/wavesurfer.js");return l})())})(ov);var NR=ov.exports;const BR=Ik(NR),VR=Ge({__name:"WaveAudio",setup(e,{expose:t}){const r=xe(null),s=new Audio;Wt(()=>{const g=window.getCurrentTheme(),S=ci["fg-base"][g],C=ci["fg-secondary"][g];r.value=BR.create({container:"#waveform",waveColor:S,progressColor:C,cursorWidth:0,barWidth:1,barGap:3,responsive:!0,backend:"MediaElement"}),r.value.on("play",()=>{o.setPlaying(!0)}),r.value.on("pause",()=>{o.setPlaying(!1)}),r.value.on("audioprocess",()=>{o.setProgress(r.value.getCurrentTime())}),r.value.on("finish",()=>{u||(u=!0,o.onSongEnded(),console.log("Song ended"))}),r.value.on("waveform-ready",()=>{r.value&&(o.setDuration(r.value.getDuration()),(u||o.playing)&&(c(),u=!1))});var I=r.value.backend.ac,V=I.createMediaElementSource(s);V.connect(I.destination),l.setSource(V,I)});const o=Mt(),l=$c();let u=!1;Wt(()=>{s.src=o.stream,r.value.load(s)}),at(()=>o.song.id,()=>{r.value.isPlaying()&&(u=!0),s.src=o.stream,r.value.load(s),o.setPlaying(!1)});const c=()=>{try{r.value.play()}catch{}},f=()=>{r.value.pause()},h=g=>{r.value.seekTo(g/o.durationSeconds)},p=g=>{let S=g/100;S=Math.min(Math.max(S,0),1),r.value.setVolume(S)},m=g=>{r.value.setMute(g)};return Wt(()=>{p(o.volume)}),t({play:c,pause:f,seek:h,setVolume:p,setMute:m}),(g,S)=>(re(),ve("div",{id:"waveform",onAudioprocess:S[0]||(S[0]=C=>oe(o).setProgress(C))},null,32))}}),WR=Ge({__name:"AmbientBackground",props:{src:{type:String,required:!0},direction:{type:String,required:!1,default:"to bottom"},placeholder:{type:String,required:!1}},setup(e){const t=qr(),r=e,s=xe(null),o=async(l=void 0)=>{if(!s.value)return;const u=l===void 0?Sg(r.src):l,c=await Sa(u,r.placeholder);try{await vk(s.value,c,r.direction)}catch(f){if(!(f instanceof Error)||!f.message.includes("Error loading image"))throw f;await o(null)}};return at(()=>r.src,()=>Gn(o)),Wt(o),(l,u)=>e.src!=null&&oe(t).ambient?(re(),ve("div",{key:0,ref_key:"ambientGradient",ref:s,class:"ambient-gradient absolute inset-0 pointer-events-none"},null,512)):Me("",!0)}}),av=e=>(Qi("data-v-ed8a9309"),e=e(),es(),e),FR={key:1,class:"desktop mx-4"},HR={class:"song-info"},UR={class:"title-artist"},qR={class:"controls"},jR={class:"top relative"},KR=["disabled"],GR=["disabled"],zR=["disabled"],YR={class:"bottom"},ZR={class:"display"},JR={class:"text-xs text-muted text-left"},XR={class:"aux relative"},QR={key:0,class:"cursor-pointer material-symbols-rounded ms-fill"},eT=av(()=>te("span",{class:"cursor-pointer material-symbols-rounded ms-fill"}," queue_music ",-1)),tT={key:2,class:"mobile mx-4"},nT={class:"artist-title overflow-hidden"},rT={class:"full"},iT={class:"rest"},sT={class:"song-info"},oT=av(()=>te("div",{class:"rest"},null,-1)),aT={class:"title-artist mb-4"},lT={class:"controls mb-4"},uT={class:"top"},cT={class:"bottom"},fT={class:"flex flex-row justify-between"},dT={class:"text-xs text-muted text-right"},hT={class:"text-xs text-muted text-left"},pT={class:"aux flex flex-row justify-between"},mT={class:"flex flex-row"},gT=Ge({__name:"Player",setup(e){const t=Mt(),r=qr(),s=xe(null),o=xe(null),l=xe(""),u=Ve(()=>t.sharedPlayer.connections.map(v=>({value:v.id,label:v.friendlyName})));at(l,v=>{var g;v===((g=t.sharedPlayer.me)==null?void 0:g.id)?(t.sharedPlayer.makeMePlayer(),t.setPlaying(!1)):c(v)}),at(()=>t.sharedPlayer.connections,v=>{var g;(!l.value||!v.find(S=>S.id===l.value))&&(l.value=(g=t.sharedPlayer.me)==null?void 0:g.id)}),at(()=>t.progressPercent,v=>{o.value=v});const c=v=>{const g=t.sharedPlayer.connections.find(S=>S.id===v);g&&(t.sharedPlayer.setPlayer(g),s.value=t.sharedPlayer)};Wt(()=>{var v;l.value=(v=t.sharedPlayer.me)==null?void 0:v.id}),at(s,()=>{t.setPlayer(s.value)}),Wt(()=>{t.setPlayer(s.value)});const f=xe(!1),h=Ve(()=>{var v;return l.value===((v=t.sharedPlayer.me)==null?void 0:v.id)}),p=Ve(()=>r.player.type==="web"&&h.value),m=Ve(()=>r.player.type==="web/wave"&&h.value);return(v,g)=>{const S=Ui("router-link");return re(),ve("div",{class:Ye(["player",{"inset-0":f.value}])},[pe(WR,{src:oe(t).song.cover,direction:"to top right"},null,8,["src"]),p.value?(re(),Ze(ER,{key:0,ref_key:"playable",ref:s},null,512)):Me("",!0),oe(Yu)?(re(),ve("div",tT,[oe(Yu)&&!h.value?(re(),ve("audio",{key:0,id:"hijackVolume",onVolumechange:g[14]||(g[14]=C=>oe(t).setVolume(C.target.volume*100))},null,32)):Me("",!0),Us(te("div",{class:"small",onClick:g[18]||(g[18]=C=>f.value=!0)},[pe(Nr,{src:oe(t).song.cover,class:"cover rounded-md"},null,8,["src"]),te("div",nT,[pe(ar,{text:oe(t).song.title,class:"text-sm"},null,8,["text"]),pe(ar,{text:oe(t).song.artist,class:"text-xs text-muted"},null,8,["text"])]),pe(Pu,{modelValue:l.value,"onUpdate:modelValue":g[15]||(g[15]=C=>l.value=C),class:Ye({"on-this-device":h.value}),options:u.value,icon:"devices",onClick:g[16]||(g[16]=At(()=>{},["stop"]))},null,8,["modelValue","class","options"]),te("span",{class:"cursor-pointer material-symbols-rounded ms-fill text-xl",onClick:g[17]||(g[17]=At((...C)=>oe(t).playPause&&oe(t).playPause(...C),["stop"]))},Ne(oe(t).playing?"pause":"play_arrow"),1)],512),[[Ca,!f.value]]),Us(te("div",rT,[te("div",null,[te("span",{class:"material-symbols-rounded ms-wght-500",onClick:g[19]||(g[19]=C=>f.value=!1)}," expand_more ")]),pe(S,{class:"my-auto linkOnHover",to:"/player"},{default:kt(()=>[pe(Nr,{src:oe(t).song.cover,class:"cover rounded-md"},null,8,["src"])]),_:1}),te("div",iT,[te("div",sT,[oT,te("div",aT,[pe(S,{to:`/track/${oe(up)(oe(t).song.id)}`,class:"linkOnHover"},{default:kt(()=>[pe(ar,{text:oe(t).song.title,class:"text-2xl font-bold"},null,8,["text"])]),_:1},8,["to"]),pe(S,{to:`/search/${oe(t).song.artist}`,class:"linkOnHover"},{default:kt(()=>[pe(ar,{text:oe(t).song.artist,class:"text-muted text-xs"},null,8,["text"])]),_:1},8,["to"])])]),te("div",lT,[te("div",uT,[te("span",{class:"icon cursor-pointer material-symbols-rounded ms-wght-300",onClick:g[20]||(g[20]=(...C)=>oe(t).toggleShuffle&&oe(t).toggleShuffle(...C))},Ne(oe(t).shuffleIcon),1),te("span",{class:"icon cursor-pointer material-symbols-rounded ms-fill",onClick:g[21]||(g[21]=(...C)=>oe(t).previous&&oe(t).previous(...C))}," skip_previous "),te("span",{class:"cursor-pointer material-symbols-rounded ms-fill text-4xl",onClick:g[22]||(g[22]=(...C)=>oe(t).playPause&&oe(t).playPause(...C))},Ne(oe(t).playing?"pause_circle":"play_circle"),1),te("span",{class:"icon cursor-pointer material-symbols-rounded ms-fill",onClick:g[23]||(g[23]=(...C)=>oe(t).next&&oe(t).next(...C))}," skip_next "),te("span",{class:"icon cursor-pointer material-symbols-rounded ms-wght-300",onClick:g[24]||(g[24]=(...C)=>oe(t).toggleRepeat&&oe(t).toggleRepeat(...C))},Ne(oe(t).repeat),1)]),te("div",cT,[pe(Au,{modelValue:o.value,"onUpdate:modelValue":g[25]||(g[25]=C=>o.value=C),max:1e3,onChange:g[26]||(g[26]=C=>oe(t).seekPercent(C/10))},null,8,["modelValue"]),te("div",fT,[te("span",dT,Ne(oe(t).displayProgress),1),te("span",hT,Ne(oe(t).displayDuration),1)])])]),te("div",pT,[te("div",mT,[te("span",{class:Ye([{"ms-fill":oe(t).song.favourite},"favourite text-xl cursor-pointer material-symbols-rounded ms-wght-300"]),onClick:g[27]||(g[27]=(...C)=>oe(t).toggleFavourite&&oe(t).toggleFavourite(...C))}," favorite ",2),oe(r).player.pictureInPicture?(re(),ve(et,{key:0},[oe(qn)=="loading"?(re(),Ze(Lp,{key:0})):(re(),ve("span",{key:1,class:"favourite material-icons-round cursor-pointer text-xl ml-2",onClick:g[28]||(g[28]=(...C)=>oe(aa)&&oe(aa)(...C))},Ne(oe(qn)=="ready"?"picture_in_picture_alt":"error"),1))],64)):Me("",!0)]),pe(Pu,{modelValue:l.value,"onUpdate:modelValue":g[29]||(g[29]=C=>l.value=C),class:Ye({"on-this-device":h.value}),options:u.value,icon:"devices"},null,8,["modelValue","class","options"])])])],512),[[Ca,f.value]])])):(re(),ve("div",FR,[te("div",HR,[pe(S,{class:"linkOnHover",to:"/player"},{default:kt(()=>[oe(t).loaded?(re(),Ze(Nr,{key:0,src:oe(t).song.cover,class:"cover rounded-md",name:oe(t).song.title},null,8,["src","name"])):Me("",!0)]),_:1}),oe(t).loaded?(re(),ve(et,{key:0},[te("div",UR,[pe(S,{to:`/track/${oe(up)(oe(t).song.id)}`,class:"linkOnHover"},{default:kt(()=>[pe(ar,{text:oe(t).song.title,class:""},null,8,["text"])]),_:1},8,["to"]),pe(ev,{artist:oe(t).song.artist,class:"text-muted text-xs"},null,8,["artist"])]),te("span",{class:Ye([{"ms-fill":oe(t).song.favourite},"favourite text-xl cursor-pointer material-symbols-rounded ms-wght-300"]),onClick:g[0]||(g[0]=(...C)=>oe(t).toggleFavourite&&oe(t).toggleFavourite(...C))}," favorite ",2),oe(r).player.pictureInPicture?(re(),ve(et,{key:0},[oe(qn)=="loading"?(re(),Ze(Lp,{key:0})):(re(),ve("span",{key:1,class:"favourite material-icons-round cursor-pointer text-xl",onClick:g[1]||(g[1]=(...C)=>oe(aa)&&oe(aa)(...C))},Ne(oe(qn)=="ready"?"picture_in_picture_alt":"error"),1))],64)):Me("",!0)],64)):(re(),Ze(S,{key:1,to:"/collection/playlists"},{default:kt(()=>[pe(ar,{class:"text-xs text-muted",text:"Nothing playing yet..."})]),_:1}))]),te("div",qR,[te("div",jR,[te("span",{class:"icon cursor-pointer material-symbols-rounded ms-wght-300",onClick:g[2]||(g[2]=(...C)=>oe(t).toggleShuffle&&oe(t).toggleShuffle(...C))},Ne(oe(t).shuffleIcon),1),te("span",{class:Ye([{"cursor-not-allowed":!oe(t).loaded},"icon cursor-pointer material-symbols-rounded ms-fill"]),disabled:!oe(t).loaded,onClick:g[3]||(g[3]=(...C)=>oe(t).previous&&oe(t).previous(...C))}," skip_previous ",10,KR),te("span",{class:Ye([{"cursor-not-allowed":!oe(t).loaded},"cursor-pointer material-symbols-rounded ms-fill text-4xl"]),disabled:!oe(t).loaded,onClick:g[4]||(g[4]=(...C)=>oe(t).playPause&&oe(t).playPause(...C))},Ne(oe(t).playing?"pause_circle":"play_circle"),11,GR),te("span",{class:Ye([{"cursor-not-allowed":!oe(t).loaded},"icon cursor-pointer material-symbols-rounded ms-fill"]),disabled:!oe(t).loaded,onClick:g[5]||(g[5]=(...C)=>oe(t).next&&oe(t).next(...C))}," skip_next ",10,zR),te("span",{class:"icon cursor-pointer material-symbols-rounded ms-wght-300",onClick:g[6]||(g[6]=(...C)=>oe(t).toggleRepeat&&oe(t).toggleRepeat(...C))},Ne(oe(t).repeat),1)]),te("div",YR,[te("div",ZR,[te("span",{class:"text-xs text-muted text-right cursor-pointer",onClick:g[7]||(g[7]=C=>oe(r).player.type=oe(r).player.type==="web"?"web/wave":"web")},Ne(oe(t).displayProgress),1),m.value?(re(),Ze(VR,{key:0,ref_key:"playable",ref:s},null,512)):(re(),Ze(Au,{key:1,modelValue:o.value,"onUpdate:modelValue":g[8]||(g[8]=C=>o.value=C),max:1e3,onChange:g[9]||(g[9]=C=>oe(t).seekPercent(C/10))},null,8,["modelValue"])),te("span",JR,Ne(oe(t).displayDuration),1)])])]),te("div",XR,[pe(S,{to:"/sing-along",class:"icon select-none"},{default:kt(()=>[oe(t).loaded&&oe(t).hasLyrics?(re(),ve("span",QR," mic ")):Me("",!0)]),_:1}),pe(S,{to:"/player",class:"icon select-none"},{default:kt(()=>[eT]),_:1}),pe(Pu,{modelValue:l.value,"onUpdate:modelValue":g[10]||(g[10]=C=>l.value=C),class:Ye([{"on-this-device":h.value},"select-none"]),options:u.value,icon:"devices"},null,8,["modelValue","class","options"]),te("span",{class:"icon cursor-pointer material-symbols-rounded ms-fill select-none",onClick:g[11]||(g[11]=(...C)=>oe(t).toggleMute&&oe(t).toggleMute(...C))},Ne(oe(t).muteIcon),1),pe(Au,{modelValue:oe(t).volume,"onUpdate:modelValue":g[12]||(g[12]=C=>oe(t).volume=C),max:100,onChange:g[13]||(g[13]=C=>oe(t).setVolume(C))},null,8,["modelValue"])])]))],2)}}}),lv=lt(gT,[["__scopeId","data-v-ed8a9309"]]),vT=1,yT=1,_T=1,SI=e=>({type:"song",version:vT,song:e}),bT=async e=>{const t={type:"playlist",version:yT};if(e.type==="special")return null;if(e.type==="classic"){const r=Object.assign({},e);return delete r.queue,delete r.cursor,{...t,playlist:r}}if(e.type==="smart"){const r=await hE(e.id);return{...t,playlist:{name:e.name,description:e.description,cover:e.cover,type:e.type,definition:r,plays:e.plays,id:e.id,href:e.href}}}},kI=async e=>({type:"collection",version:_T,collection:await Promise.all(e.filter(t=>t.type!="special").map(bT))}),OI=(e,t="my")=>{var r="data:text/json;charset=utf-8,"+encodeURIComponent(JSON.stringify(e)),s=document.createElement("a");s.setAttribute("href",r),s.setAttribute("download",`${t}.one.${e.type}`),s.click()},wT=async e=>{if(!e.length)return;const t=Tc();if(!t.path.startsWith("/playlist/")){cr.addError("No playlist selected","Please select open the playlist you want to add songs to",3e3);return}const r=Yt().getPlaylistById(t.params.id);if(r.type!=="classic"){cr.addError("Can't add songs to this playlist","You can only add songs to classic playlists",3e3);return}await jg(r.id,e.map(s=>s.song)),cr.addSuccess(`Added ${e.length} songs to ${r.name}`,null,3e3)},AT=async e=>{const t=e.playlist,r=await Sc(t.type,t.name,t.description,t.cover);if(t.type==="smart"){await pE(r,t.definition);return}await jg(r,t.songs)},PT=async e=>{if(e.length){for(const t of e)await AT(t);cr.addSuccess(`Added ${e.length} playlists`,null,3e3),Yt().fetchPlaylists()}},xT=e=>{const t=e.filter(o=>o.type==="song");wT(t);const r=e.filter(o=>o.type==="playlist"),s=e.filter(o=>o.type==="collection");for(const o of s)r.push(...o.collection);PT(r)},CT=Ge({__name:"DropImport",setup(e){const t=xe(!1),r=Tc(),s=Yt(),o=Ve(()=>r.path.startsWith("/playlist/")),l=Ve(()=>{if(!o.value)return null;const p=r.params.id;return s.getPlaylistById(p)}),u=Ve(()=>l.value?l.value.type==="classic":!1),c=async p=>{const m=[];for(let S=0;SJSON.parse(S));xT(g)},f=p=>{if(t.value=!1,!u)return;const m=p.dataTransfer.files;m.length&&c(m)},h=p=>{p.currentTarget.contains(p.relatedTarget)||(t.value=!1)};return(p,m)=>(re(),ve("div",{class:Ye(["dropzone",{drophover:t.value}]),onDrop:At(f,["prevent"]),onDragenter:m[0]||(m[0]=At(()=>{},["prevent"])),onDragover:m[1]||(m[1]=At(v=>t.value=!0,["prevent"])),onDragleave:At(h,["prevent"])},[qi(p.$slots,"default",{},void 0,!0)],34))}}),ET=lt(CT,[["__scopeId","data-v-a582fe63"]]),ST=["src"],kT={id:"appRoot",class:"appRoot"},OT={class:"interface"},RT=te("div",{id:"popup-target"},null,-1),TT=te("div",{id:"dropdown-target"},null,-1),IT=te("div",{id:"autocomplete-target"},null,-1),MT=te("div",{id:"fullscreen-target"},null,-1),LT={name:"App",components:{Sidebar:iv,Body:sv,Player:lv},async mounted(){cR(),Rg(),await fR()&&this.$router.push("/welcome"),await dR()},data(){return{maximised:!1}},watch:{$route(e){document.title=e.meta.title||"reAudioPlayer One"}}},$T=Ge({...LT,setup(e){tv();const t=Mt(),r=qr(),s=xe(null);at(()=>t.song.cover,()=>{o()});const o=async()=>{s.value=await Sa(t.song.cover,t.song.title,200)},l=async()=>{s.value=await Ic(t.song.title,200)};o();const u=Ve(()=>window.getCurrentThemeProperty("coverAsBackground"));return Wt(()=>{window.addEventListener("keydown",c=>{c.code==="Space"&&document.activeElement===document.body?(c.preventDefault(),t.playPause()):c.code==="F1"&&(c.preventDefault(),r.mode.toggle())})}),(c,f)=>(re(),ve(et,null,[te("div",{class:Ye([{hidden:!u.value},"bgImageWrapper"])},[te("div",{style:Fr({backgroundImage:`url(${s.value})`}),class:"bgImage"},[te("img",{src:s.value,class:"hidden",onError:l},null,40,ST)],4)],2),pe(ET,null,{default:kt(()=>[te("div",kT,[oe(t).ready?(re(),ve(et,{key:0},[pe(d2),te("div",OT,[c.maximised?Me("",!0):(re(),Ze(iv,{key:0})),pe(sv,{onMaximise:f[0]||(f[0]=h=>c.maximised=h)})]),pe(lv),c.maximised?Me("",!0):(re(),Ze(VS,{key:0}))],64)):(re(),Ze(P2,{key:1}))])]),_:1}),RT,TT,IT,MT,pe(W2)],64))}});function da(e){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?da=function(t){return typeof t}:da=function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},da(e)}function DT(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function NT(e,t){for(var r=0;r2&&arguments[2]!==void 0?arguments[2]:{},s,o,l,u=function(f){for(var h=arguments.length,p=new Array(h>1?h-1:0),m=1;m1){var h=c.find(function(m){return m.isIntersecting});h&&(f=h)}if(o.callback){var p=f.isIntersecting&&f.intersectionRatio>=o.threshold;if(p===o.oldResult)return;o.oldResult=p,o.callback(p,f)}},this.options.intersection),s.context.$nextTick(function(){o.observer&&o.observer.observe(o.el)})}}},{key:"destroyObserver",value:function(){this.observer&&(this.observer.disconnect(),this.observer=null),this.callback&&this.callback._clear&&(this.callback._clear(),this.callback=null)}},{key:"threshold",get:function(){return this.options.intersection&&typeof this.options.intersection.threshold=="number"?this.options.intersection.threshold:0}}]),e}();function cv(e,t,r){var s=t.value;if(s)if(typeof IntersectionObserver>"u")console.warn("[vue-observe-visibility] IntersectionObserver API is not available in your browser. Please install this polyfill: https://github.com/w3c/IntersectionObserver/tree/master/polyfill");else{var o=new qT(e,s,r);e._vue_visibilityState=o}}function jT(e,t,r){var s=t.value,o=t.oldValue;if(!uv(s,o)){var l=e._vue_visibilityState;if(!s){fv(e);return}l?l.createObserver(s,r):cv(e,{value:s},r)}}function fv(e){var t=e._vue_visibilityState;t&&(t.destroyObserver(),delete e._vue_visibilityState)}var ha={bind:cv,update:jT,unbind:fv};function KT(e){e.directive("observe-visibility",ha)}var GT={version:"1.0.0",install:KT},Oa=null;typeof window<"u"?Oa=window.Vue:typeof global<"u"&&(Oa=global.Vue);Oa&&Oa.use(GT);var dv=function(t,r){var s,o=r.arg;if(!o){console.error("参数有误");return}var l=r.value,u=Ct(o)?o.value:(s=r.instance)===null||s===void 0?void 0:s.$refs[o];if(!u){console.error("没有找到 ".concat(o," 对应的实例"));return}if(typeof u.addReference!="function"){console.error("".concat(o," 对应的实例不是 VContextmenu"));return}t.$contextmenuKey=o,u.addReference(t,l)},hv=function(t,r){var s,o=t.$contextmenuKey;if(o){var l=(s=r.instance)===null||s===void 0?void 0:s.$refs[o];l==null||l.removeReference(t)}},zT=function(t,r){hv(t,r),dv(t,r)},YT={mounted:dv,updated:zT,beforeUnmount:hv},_t={contextmenu:"v-contextmenu",contextmenuIcon:"v-contextmenu-icon",contextmenuInner:"v-contextmenu-inner",contextmenuDivider:"v-contextmenu-divider",contextmenuItem:"v-contextmenu-item",contextmenuItemHover:"v-contextmenu-item--hover",contextmenuItemDisabled:"v-contextmenu-item--disabled",contextmenuGroup:"v-contextmenu-group",contextmenuGroupTitle:"v-contextmenu-group__title",contextmenuGroupMenus:"v-contextmenu-group__menus",contextmenuSubmenu:"v-contextmenu-submenu",contextmenuSubmenuTitle:"v-contextmenu-submenu__title",contextmenuSubmenuMenus:"v-contextmenu-submenu__menus",contextmenuSubmenuMenusTop:"v-contextmenu-submenu__menus--top",contextmenuSubmenuMenusRight:"v-contextmenu-submenu__menus--right",contextmenuSubmenuMenusBottom:"v-contextmenu-submenu__menus--bottom",contextmenuSubmenuMenusLeft:"v-contextmenu-submenu__menus--left",contextmenuSubmenuArrow:"v-contextmenu-submenu__arrow"};function ZT(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!Vr(e)}var JT={trigger:["contextmenu"]},Dp=Ge({name:"VContextmenu",props:{modelValue:{type:Boolean,default:!1},autoAjustPlacement:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1},teleport:{type:[String,Object],default:function(){return"body"}}},emits:["show","hide","update:modelValue"],setup:function(t,r){var s=r.emit,o=xe(null),l=xe(t.modelValue||!1),u=function(A){l.value=A,s("update:modelValue",A)},c=xe({top:0,left:0}),f=Ve(function(){return{top:"".concat(c.value.top,"px"),left:"".concat(c.value.left,"px")}}),h=xe(null),p=function(A,k){var R=A instanceof Event?k:A,T=(R==null?void 0:R.autoAjustPlacement)||t.autoAjustPlacement,q={top:(R==null?void 0:R.top)||0,left:(R==null?void 0:R.left)||0};if(A instanceof Event){var G,W;A.preventDefault(),q.top=(G=R==null?void 0:R.top)!==null&&G!==void 0?G:A.pageY,q.left=(W=R==null?void 0:R.left)!==null&&W!==void 0?W:A.pageX}u(!0),Gn(function(){if(T){var F=o.value;if(!F)return;var K=F.clientWidth,j=F.clientHeight;if(j+q.top>=window.innerHeight+window.scrollY){var U=q.top-j;U>window.scrollY&&(q.top=U)}if(K+q.left>=window.innerWidth+window.scrollX){var E=q.left-K;E>window.scrollX&&(q.left=E)}}c.value=q,s("show")})},m=function(){h.value=null,u(!1),s("hide")},v=Ji(new Map),g=xe(),S=Ve(function(){return g.value&&v.get(g.value)}),C=function(A,k){var R=function(){return k!=null&&k.trigger?Array.isArray(k.trigger)?k.trigger:[k.trigger]:JT.trigger}(),T=function(G){t.disabled||(g.value=A,p(G,{}))};R.forEach(function(q){A.addEventListener(q,T)}),v.set(A,{triggers:R,handler:T})},I=function(A){var k=v.get(A);k&&(k.triggers.forEach(function(R){A.removeEventListener(R,k.handler)}),v.delete(A))},V=function(A){if(!(!A.target||!o.value||!g.value)){var k=o.value.contains(A.target)||S.value&&S.value.triggers.includes("click")&&g.value.contains(A.target);k||u(!1)}};return at(l,function(D){D?document.addEventListener("click",V):document.removeEventListener("click",V)}),Fa(function(){document.removeEventListener("click",V)}),Lr("visible",l),Lr("autoAjustPlacement",t.autoAjustPlacement),Lr("show",p),Lr("hide",m),{visible:l,style:f,currentReferenceOptions:S,currentOptions:h,contextmenuRef:o,addReference:C,removeReference:I,toggle:u,show:p,hide:m}},methods:{renderContent:function(){var t,r;return Us(pe("div",{class:_t.contextmenu,ref:"contextmenuRef",style:this.style},[pe("ul",{class:_t.contextmenuInner},[(t=(r=this.$slots).default)===null||t===void 0?void 0:t.call(r,{triggerOptions:"currentReferenceOptions",options:"currentOptions"})])]),[[Ca,"visible"]])}},render:function(){var t;return this.visible?this.teleport?pe(Js,{to:this.teleport},ZT(t=this.renderContent())?t:{default:function(){return[t]}}):this.renderContent():null}});function pn(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var Np=Ge({name:"VContextmenuItem",props:{disabled:{type:Boolean,default:!1},hideOnClick:{type:Boolean,default:!0}},emits:["click","mouseenter","mouseleave"],setup:function(t,r){var s=r.emit,o=on("hide"),l=xe(!1),u=Ve(function(){var p;return p={},pn(p,_t.contextmenuItem,!0),pn(p,_t.contextmenuItemDisabled,t.disabled),pn(p,_t.contextmenuItemHover,l.value),p}),c=function(m){t.disabled||(s("click",m),t.hideOnClick&&(o==null||o()))},f=function(m){t.disabled||(l.value=!0,s("mouseenter",m))},h=function(m){t.disabled||(l.value=!1,s("mouseleave",m))};return{classes:u,handleClick:c,handleMouseenter:f,handleMouseleave:h}},render:function(){var t,r;return pe("li",{class:this.classes,onClick:this.handleClick,onMouseenter:this.handleMouseenter,onMouseleave:this.handleMouseleave},[(t=(r=this.$slots).default)===null||t===void 0?void 0:t.call(r)])}}),Bp=Ge({name:"VContextmenuDivider",render:function(){return pe("li",{class:_t.contextmenuDivider},null)}}),XT=Ge({name:"VContextmenuIcon",props:{name:{type:String,required:!0}},render:function(){return pe("i",{class:[_t.contextmenuIcon,"".concat(_t.contextmenuIcon,"-").concat(this.name)]},null)}}),Vp=Ge({name:"VContextmenuSubmenu",props:{title:{type:String,required:!0},disabled:{type:Boolean,default:!1}},emits:["mouseenter","mouseleave"],setup:function(t,r){var s=r.emit,o=xe(null),l=on("autoAjustPlacement"),u=xe(["top","right"]),c=xe(!1),f=function(g){t.disabled||(c.value=!0,s("mouseenter",g),Gn(function(){var S=[];if(l){var C=g.target,I=C.getBoundingClientRect();if(!o.value)return;var V=o.value.clientWidth,D=o.value.clientHeight;I.right+V>=window.innerWidth?S.push("left"):S.push("right"),I.bottom+D>=window.innerHeight?S.push("bottom"):S.push("top")}u.value=S}))},h=function(g){t.disabled||(c.value=!1,s("mouseleave",g))},p=Ve(function(){var v;return v={},pn(v,_t.contextmenuItem,!0),pn(v,_t.contextmenuSubmenuTitle,!0),pn(v,_t.contextmenuItemHover,c.value),pn(v,_t.contextmenuItemDisabled,t.disabled),v}),m=Ve(function(){var v;return v={},pn(v,_t.contextmenu,!0),pn(v,_t.contextmenuSubmenuMenus,!0),pn(v,_t.contextmenuSubmenuMenusTop,u.value.includes("top")),pn(v,_t.contextmenuSubmenuMenusRight,u.value.includes("right")),pn(v,_t.contextmenuSubmenuMenusBottom,u.value.includes("bottom")),pn(v,_t.contextmenuSubmenuMenusLeft,u.value.includes("left")),v});return{hover:c,submenuRef:o,titleClasses:p,menusClasses:m,handleMouseenter:f,handleMouseleave:h}},render:function(){var t,r,s,o;return pe("li",{class:_t.contextmenuSubmenu,onMouseenter:this.handleMouseenter,onMouseleave:this.handleMouseleave},[pe("div",{class:this.titleClasses},[((t=(r=this.$slots).title)===null||t===void 0?void 0:t.call(r))||this.title,pe("span",{class:_t.contextmenuSubmenuArrow},[pe(XT,{name:"right-arrow"},null)])]),this.hover?pe("div",{ref:"submenuRef",class:this.menusClasses},[pe("ul",{class:_t.contextmenuInner},[(s=(o=this.$slots).default)===null||s===void 0?void 0:s.call(o)])]):null])}}),Wp=Ge({name:"VContextmenuGroup",props:{title:{type:String,default:void 0},maxWidth:{type:[Number,String],default:void 0}},setup:function(t){var r=Ve(function(){if(t.maxWidth)return{"max-width":typeof t.maxWidth=="number"?"".concat(t.maxWidth,"px"):t.maxWidth,"overflow-x":"auto"}});return{style:r}},methods:{renderTitle:function(){var t,r,s=((t=(r=this.$slots).title)===null||t===void 0?void 0:t.call(r))||this.title;return s?pe("div",{class:_t.contextmenuGroupTitle},[s]):null}},render:function(){var t,r;return pe("li",{class:_t.contextmenuGroup},[this.renderTitle(),pe("ul",{style:this.style,class:_t.contextmenuGroupMenus},[(t=(r=this.$slots).default)===null||t===void 0?void 0:t.call(r)])])}}),QT="3.0.0",e3=function(t){t.directive("contextmenu",YT),t.component(Dp.name,Dp),t.component(Np.name,Np),t.component(Bp.name,Bp),t.component(Vp.name,Vp),t.component(Wp.name,Wp)},t3={install:e3,version:QT};const Ya=DC($T);Ya.directive("observe-visibility",{beforeMount:(e,t,r)=>{r.context=t.instance,ha.bind(e,t,r)},updated:ha.update,unmounted:ha.unbind});Ya.use(t3);Ya.use(Mi);Ya.use(HC()).mount("#app");export{ec as $,up as A,Tc as B,nv as C,Ve as D,at as E,et as F,s2 as G,Nr as H,Ip as I,YO as J,ev as K,Yg as L,ar as M,cr as N,At as O,SO as P,Ye as Q,Gn as R,PI as S,o2 as T,ZP as U,Ec as V,Mk as W,fI as X,hE as Y,Pu as Z,lt as _,te as a,ji as a$,pE as a0,uI as a1,M3 as a2,Us as a3,qu as a4,Q3 as a5,Js as a6,Mt as a7,WR as a8,gI as a9,AI as aA,Ik as aB,kI as aC,jg as aD,cI as aE,mI as aF,xT as aG,Ga as aH,aI,xI as aJ,fR as aK,$c as aL,Au as aM,Sa as aN,Xg as aO,GO as aP,Vx as aQ,Um as aR,Vt as aS,z3 as aT,Gp as aU,h3 as aV,H3 as aW,L3 as aX,Ds as aY,Hi as aZ,g3 as a_,Zg as aa,nI as ab,qg as ac,m3 as ad,bT as ae,OI as af,cE as ag,Ca as ah,rI as ai,oI as aj,yI as ak,sI as al,FO as am,_I as an,OS as ao,bI as ap,iI as aq,Cc as ar,jx as as,CI as at,aO as au,EI as av,zg as aw,qr as ax,Sg as ay,Qg as az,Ha as b,uP as b$,c3 as b0,tg as b1,X3 as b2,f3 as b3,Pc as b4,d3 as b5,Sn as b6,Dr as b7,sn as b8,Ia as b9,Xi as bA,vx as bB,$C as bC,V3 as bD,tI as bE,on as bF,Xx as bG,dm as bH,si as bI,Ns as bJ,Ct as bK,N3 as bL,va as bM,Vr as bN,lc as bO,O3 as bP,R3 as bQ,Kx as bR,r3 as bS,$x as bT,rx as bU,Fa as bV,ix as bW,Dx as bX,lx as bY,ax as bZ,ox as b_,dr as ba,G3 as bb,DC as bc,Sx as bd,T3 as be,Ex as bf,eI as bg,v3 as bh,$P as bi,y3 as bj,AC as bk,w3 as bl,A3 as bm,C3 as bn,P3 as bo,b3 as bp,Z3 as bq,x3 as br,U3 as bs,i3 as bt,zp as bu,Ur as bv,Zp as bw,bc as bx,qx as by,Ac as bz,ve as c,sx as c0,gc as c1,mc as c2,Lr as c3,mm as c4,ku as c5,Ji as c6,fm as c7,D3 as c8,tp as c9,fg as cA,xc as cB,dg as cC,RC as cD,Qx as cE,F3 as cF,Tx as cG,Ix as cH,I3 as cI,E3 as cJ,W3 as cK,p3 as cL,ws as cM,hI as cN,PE as cO,dI as cP,wI as cQ,SI as cR,Lp as cS,Yu as cT,vI as cU,pI as cV,K3 as ca,js as cb,Dh as cc,q3 as cd,ai as ce,cm as cf,o3 as cg,TP as ch,Ox as ci,j3 as cj,s3 as ck,la as cl,_3 as cm,nt as cn,u3 as co,DP as cp,l3 as cq,$3 as cr,a3 as cs,k3 as ct,J3 as cu,Y3 as cv,B3 as cw,Rx as cx,S3 as cy,Hm as cz,Me as d,Ge as e,Ui as f,pe as g,pr as h,Ze as i,Yt as j,lI as k,Qi as l,es as m,xe as n,re as o,zu as p,Ka as q,qi as r,dR as s,Ne as t,oe as u,Jg as v,kt as w,Sc as x,Wt as y,Fr as z}; diff --git a/src/ui/dist/assets/index-DnhwPdfm.js.gz b/src/ui/dist/assets/index-DnhwPdfm.js.gz new file mode 100644 index 000000000..236dd798e Binary files /dev/null and b/src/ui/dist/assets/index-DnhwPdfm.js.gz differ diff --git a/src/ui/dist/assets/index-DxYRwVd6.css b/src/ui/dist/assets/index-DxYRwVd6.css new file mode 100644 index 000000000..093fc5b35 --- /dev/null +++ b/src/ui/dist/assets/index-DxYRwVd6.css @@ -0,0 +1 @@ +span.icon[data-v-27a92662]{transform:translateY(3px);margin-left:20px}.header[data-v-27a92662]{margin:10px 10px 0;display:flex;flex-direction:row;justify-content:space-between}.header>h2[data-v-27a92662]{align-self:flex-start;margin-top:0;margin-bottom:10px}.header>h5[data-v-27a92662]{text-transform:uppercase;align-self:center;margin:0}.header>h5[data-v-27a92662]:hover{cursor:pointer}.items[data-v-27a92662]{display:flex;max-width:100%;flex-direction:row;flex-wrap:wrap}.home[data-v-b9b4d097]{padding:20px;display:flex;flex-direction:row}.home .main[data-v-b9b4d097]{flex:2;flex-shrink:0}.home .side[data-v-b9b4d097]{flex:1;flex-shrink:0;margin-left:20px}.onboarding .spotify{width:30px;height:30px}.onboarding .spotify path{fill:var(--fg-base)}.spotify-playlists[data-v-2c465748]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))} diff --git a/src/ui/dist/assets/index-IuELAake.js b/src/ui/dist/assets/index-IuELAake.js new file mode 100644 index 000000000..6d2c2c089 --- /dev/null +++ b/src/ui/dist/assets/index-IuELAake.js @@ -0,0 +1 @@ +import{_ as S,o as a,c as o,a as s,b as D,t as P,d as h,r as E,e as I,f as j,g as i,w as d,F as m,h as _,i as p,P as O,u as $,p as R,j as H,N as q,k as g,l as N,m as F,n as y,q as T,s as M,v as V,I as G,C as x,x as L,y as J}from"./index-DnhwPdfm.js";import{P as B}from"./PlaylistCard-CMjdNIlB.js";import{T as b}from"./TrackCompact-sXOejxe1.js";import{P as C}from"./PlaylistEntry-B2l8v20L.js";import{s as W}from"./spotify-BVNWZn3O.js";import"./playerInPicture-Dfp9IAsf.js";import"./EditSong.vue_vue_type_script_setup_true_lang-C5fIPhus.js";const z={name:"FlexShelf",props:{heading:String,icon:String}},A={class:"shelf"},K={class:"header"},Q={key:0},U={key:0,class:"icon material-symbols-round"},X={class:"items"};function Y(e,t,r,c,l,n){return a(),o("div",A,[s("div",K,[r.heading||r.icon?(a(),o("h2",Q,[D(P(r.heading),1),r.icon?(a(),o("span",U,P(r.icon),1)):h("",!0)])):h("",!0)]),s("div",X,[E(e.$slots,"default",{},void 0,!0)])])}const f=S(z,[["render",Y],["__scopeId","data-v-27a92662"]]),u=e=>(N("data-v-b9b4d097"),e=e(),F(),e),Z={class:"home"},ee={class:"main"},te={key:0,class:"playlists"},se=u(()=>s("span",{class:"material-symbols-rounded ms-fill"}," library_music ",-1)),le=u(()=>s("span",{class:"hover:underline"}," Playlists ",-1)),ae={key:1,class:"breaking"},ne=u(()=>s("span",{class:"material-symbols-rounded ms-fill"}," trending_up ",-1)),oe=u(()=>s("span",{class:"hover:underline"}," Breaking Songs ",-1)),ie={key:2,class:"liked"},re=u(()=>s("span",{class:"material-symbols-rounded ms-fill"}," favorite ",-1)),ce=u(()=>s("span",{class:"hover:underline"}," Liked Songs ",-1)),de={class:"side"},ue={key:0,class:"releases"},pe=u(()=>s("span",{class:"material-symbols-rounded ms-fill"}," radar ",-1)),he=u(()=>s("span",{class:"hover:underline"}," Out now ",-1)),me={key:1,class:"disovery"},_e=u(()=>s("span",{class:"material-symbols-rounded ms-fill"}," explore ",-1)),fe=u(()=>s("span",{class:"hover:underline"}," Discover ",-1)),ye={key:2,class:"recommendations"},ve=u(()=>s("h2",{class:"flex items-center gap-2"},[s("span",{class:"material-symbols-rounded ms-fill"}," recommend "),D(" Suggested ")],-1)),ke={name:"Home",data(){const e=new Date;return{greeting:e.getHours()<12?"Good morning":e.getHours()<18?"Good afternoon":"Good evening",releases:[],picks:[],songs:[],recommendations:[],data:H()}},mounted(){fetch("/api/releases").then(e=>e.json()).then(e=>{this.releases=e.slice(0,3);const t=e.filter(r=>new Date(r.releaseDate).toDateString()===new Date().toDateString());t.length&&q.addInfo("New releases",`There are ${t.length} new releases today`,5e3,void 0,"/collection/releases")}),this.pick()},computed:{playlists(){return this.data.playlists},liked(){return g("liked").songs.slice(0,3)},breaking(){return g("breaking").songs.slice(0,3)}},methods:{playDiscover(e){fetch("/api/player/load",{method:"POST",body:JSON.stringify({id:e.id,type:"track"})})},playRecommendation(e){const t=new CustomEvent("player.play",{detail:{artist:e.artist,title:e.title,source:e.source||e.url||e.href}});window.dispatchEvent(t)},async pick(){if(!this.data.playlists.length){setTimeout(()=>this.pick(),2e3);return}if(this.songs=this.playlists.map(e=>{var t;return((t=g(e.id))==null?void 0:t.songs)||[]}).flat(),!(this.songs.length<3)){for(let e=0;e<3;e++)this.picks.push(this.songs[Math.floor(Math.random()*this.songs.length)]);fetch("/api/spotify/recommendations",{method:"POST",body:JSON.stringify({query:`${this.picks[0].artist} ${this.picks[0].title}`})}).then(e=>e.json()).then(e=>{this.recommendations=e.slice(0,3)})}}}},ge=I({...ke,setup(e){return(t,r)=>{const c=j("router-link");return a(),o("div",Z,[s("div",ee,[t.playlists.length?(a(),o("div",te,[s("h2",null,[i(c,{class:"linkOnHover flex items-center gap-2 !no-underline",to:"/collection/playlists"},{default:d(()=>[se,le]),_:1})]),i(f,null,{default:d(()=>[(a(!0),o(m,null,_(t.playlists,l=>(a(),p(B,{playlist:l},null,8,["playlist"]))),256))]),_:1})])):h("",!0),t.breaking.length?(a(),o("div",ae,[s("h2",null,[i(c,{class:"linkOnHover flex items-center gap-2 !no-underline",to:"/collection/tracks/breaking"},{default:d(()=>[ne,oe]),_:1})]),i(O),(a(!0),o(m,null,_(t.breaking,(l,n)=>(a(),p(C,{key:n,index:n,"playlist-id":"breaking",song:l,"with-cover":""},null,8,["index","song"]))),128))])):h("",!0),t.liked.length?(a(),o("div",ie,[s("h2",null,[i(c,{class:"linkOnHover flex items-center gap-2 !no-underline",to:"/collection/tracks"},{default:d(()=>[re,ce]),_:1})]),i(O),(a(!0),o(m,null,_(t.liked,(l,n)=>(a(),p(C,{key:n,index:n,"playlist-id":"liked",song:l,"with-cover":""},null,8,["index","song"]))),128))])):h("",!0)]),s("div",de,[t.releases.length?(a(),o("div",ue,[s("h2",null,[i(c,{class:"linkOnHover flex items-center gap-2 !no-underline",to:"/collection/releases"},{default:d(()=>[pe,he]),_:1})]),i(f,null,{default:d(()=>[(a(!0),o(m,null,_(t.releases,(l,n)=>(a(),p(b,{key:n,artist:l.artist,cover:l.cover,href:l.url,title:l.title,onPlay:()=>t.playRecommendation(l)},null,8,["artist","cover","href","title","onPlay"]))),128))]),_:1})])):h("",!0),t.picks.length?(a(),o("div",me,[s("h2",null,[i(c,{class:"linkOnHover flex items-center gap-2 !no-underline",to:"/discover"},{default:d(()=>[_e,fe]),_:1})]),i(f,null,{default:d(()=>[(a(!0),o(m,null,_(t.picks,(l,n)=>(a(),p(b,{id:l.id,key:n,artist:l.artist,cover:$(R)(l.cover),href:l.href,title:l.title,onPlay:()=>t.playDiscover(l)},null,8,["id","artist","cover","href","title","onPlay"]))),128))]),_:1})])):h("",!0),t.recommendations.length?(a(),o("div",ye,[ve,i(f,null,{default:d(()=>[(a(!0),o(m,null,_(t.recommendations,(l,n)=>(a(),p(b,{key:n,artist:l.artist,cover:l.cover,href:l.href,title:l.title,onPlay:()=>t.playRecommendation(l)},null,8,["artist","cover","href","title","onPlay"]))),128))]),_:1})])):h("",!0)])])}}}),be=S(ge,[["__scopeId","data-v-b9b4d097"]]),v=e=>(N("data-v-2c465748"),e=e(),F(),e),Se={class:"onboarding p-4"},$e=v(()=>s("h1",null,"So nice to meet you!",-1)),we=v(()=>s("p",null,"Let's get you set up",-1)),Pe={class:"grid grid-cols-2 gap-4 mt-8"},Oe=v(()=>s("div",{class:"flex flex-row items-center"},[s("span",{class:"material-symbols-rounded ms-wght-700 text-4xl mr-4"},"add"),s("h2",null,"Create your first playlist")],-1)),xe={class:"flex flex-row justify-end w-full"},Ce={class:"flex flex-row items-center"},De=v(()=>s("h2",null,"Import from Spotify",-1)),Ie={class:"spotify-playlists"},He=I({__name:"Onboarding",setup(e){const t=y([]),r=y(!1),c=y(null);T(),M().then(n=>{r.value=n}),fetch("/api/spotify/playlists").then(n=>n.json()).then(n=>{t.value=n});const l={fields:[{name:"name",placeholder:"Playlist name",icon:"title",type:"text",required:!0},{name:"description",placeholder:"Playlist description",icon:"description",type:"text",required:!1}],submit:{label:"Create",action:async()=>{const n=c.value.toObject();await L(n.name,n.description)}}};return(n,w)=>(a(),o("div",Se,[$e,we,s("div",Pe,[i(x,{class:"p-4"},{default:d(()=>[Oe,i(V,{ref_key:"createForm",ref:c,options:l.fields},null,8,["options"]),s("div",xe,[i(G,{onClick:w[0]||(w[0]=k=>l.submit.action()),icon:"add",label:l.submit.label},null,8,["label"])])]),_:1}),t.value.length?(a(),p(x,{key:0,class:"p-4"},{default:d(()=>[s("div",Ce,[i($(W),{class:"spotify mr-4"}),De]),s("div",Ie,[(a(!0),o(m,null,_(t.value,k=>(a(),p(B,{playlist:{...k,type:"classic",plays:0,href:`https://open.spotify.com/playlist/${k.id}`},"is-spotify":""},null,8,["playlist"]))),256))])]),_:1})):h("",!0)])]))}}),Ne=S(He,[["__scopeId","data-v-2c465748"]]),Me={__name:"index",setup(e){const t=H(),r=y(!1),c=T();return J(()=>{document.body.clientWidth<768&&(r.value=!0,c.push("/collection/playlist"))}),(l,n)=>$(t).notEmpty||r.value?(a(),p(be,{key:0})):(a(),p(Ne,{key:1}))}};export{Me as default}; diff --git a/src/ui/dist/assets/index-IuELAake.js.gz b/src/ui/dist/assets/index-IuELAake.js.gz new file mode 100644 index 000000000..d234b9b3b Binary files /dev/null and b/src/ui/dist/assets/index-IuELAake.js.gz differ diff --git a/src/ui/dist/assets/index-P2eOZTzP.js b/src/ui/dist/assets/index-P2eOZTzP.js new file mode 100644 index 000000000..834b58321 --- /dev/null +++ b/src/ui/dist/assets/index-P2eOZTzP.js @@ -0,0 +1 @@ +import{e as U,a7 as W,o as p,c as w,g as H,u as f,a8 as K,t as B,i as I,d as C,a as x,I as N,F as j,h as G,Q as P,b as $,O as F,L as V,_ as q}from"./index-DnhwPdfm.js";var T={d:(s,r)=>{for(var t in r)T.o(r,t)&&!T.o(s,t)&&Object.defineProperty(s,t,{enumerable:!0,get:r[t]})},o:(s,r)=>Object.prototype.hasOwnProperty.call(s,r)},v={};T.d(v,{Ce:()=>L,ZP:()=>Z,j1:()=>z,Eb:()=>R,e6:()=>E,Iu:()=>O});var g={from:"auto",to:"en",hl:"en",tld:"com",rpcids:"MkEWBc"};function z(s){var r=s===void 0?{}:s,t=r.rpcids,a=t===void 0?g.rpcids:t,n=r.hl,l=n===void 0?g.hl:n,i=r.tld,c=i===void 0?g.tld:i;if(!function(o){return!!o.match(/^[a-zA-Z]{2,63}$/)}(c))throw new Error("Invalid TLD: Must be 2-63 letters only");var d=new URLSearchParams({rpcids:a,"source-path":"/",hl:l,"soc-app":"1","soc-platform":"1","soc-device":"1",rt:"c"});return"https://translate.google.".concat(c,"/_/TranslateWebserverUi/data/batchexecute?").concat(d)}const D={auto:"Automatic",af:"Afrikaans",sq:"Albanian",am:"Amharic",ar:"Arabic",hy:"Armenian",az:"Azerbaijani",eu:"Basque",be:"Belarusian",bn:"Bengali",bs:"Bosnian",bg:"Bulgarian",ca:"Catalan",ceb:"Cebuano",ny:"Chichewa",zh:"Chinese Simplified","zh-cn":"Chinese Simplified","zh-tw":"Chinese Traditional",co:"Corsican",hr:"Croatian",cs:"Czech",da:"Danish",nl:"Dutch",en:"English",eo:"Esperanto",et:"Estonian",tl:"Filipino",fi:"Finnish",fr:"French",fy:"Frisian",gl:"Galician",ka:"Georgian",de:"German",el:"Greek",gu:"Gujarati",ht:"Haitian Creole",ha:"Hausa",haw:"Hawaiian",he:"Hebrew",iw:"Hebrew",hi:"Hindi",hmn:"Hmong",hu:"Hungarian",is:"Icelandic",ig:"Igbo",id:"Indonesian",ga:"Irish",it:"Italian",ja:"Japanese",jw:"Javanese",kn:"Kannada",kk:"Kazakh",km:"Khmer",rw:"Kinyarwanda",ko:"Korean",ku:"Kurdish (Kurmanji)",ky:"Kyrgyz",lo:"Lao",la:"Latin",lv:"Latvian",lt:"Lithuanian",lb:"Luxembourgish",mk:"Macedonian",mg:"Malagasy",ms:"Malay",ml:"Malayalam",mt:"Maltese",mi:"Maori",mr:"Marathi",mn:"Mongolian",my:"Myanmar (Burmese)",ne:"Nepali",no:"Norwegian",or:"Odia (Oriya)",ps:"Pashto",fa:"Persian",pl:"Polish",pt:"Portuguese",pa:"Punjabi",ro:"Romanian",ru:"Russian",sm:"Samoan",gd:"Scots Gaelic",sr:"Serbian",st:"Sesotho",sn:"Shona",sd:"Sindhi",si:"Sinhala",sk:"Slovak",sl:"Slovenian",so:"Somali",es:"Spanish",su:"Sundanese",sw:"Swahili",sv:"Swedish",tg:"Tajik",ta:"Tamil",tt:"Tatar",te:"Telugu",th:"Thai",tr:"Turkish",tk:"Turkmen",uk:"Ukrainian",ur:"Urdu",ug:"Uyghur",uz:"Uzbek",vi:"Vietnamese",cy:"Welsh",xh:"Xhosa",yi:"Yiddish",yo:"Yoruba",zu:"Zulu"};var R=function(s){return!!D[s]};function E(s,r){r===void 0&&(r=!1);var t=s.match(/"\[.*]"/),a=null;if(t){var n=t[0];a=JSON.parse(JSON.parse(n))}if(!a)throw new Error("Data is either empty or corrupted");var l={text:a[1][0][0][5].reduce(function(i,c){return i?"".concat(i," ").concat(c[0]):c[0]},""),pronunciation:a[1][0][0][1],from:{language:{didYouMean:!!a[0][1],iso:a[2]},text:{autoCorrected:!!a[1][0][0][3],value:a[0][1]?a[0][1][0][4]:a[0][6][0],didYouMean:!!a[0][1]}}};return r&&(l.raw=s),l}function L(s,r){var t=r===void 0?{}:r,a=t.rpcids,n=a===void 0?g.rpcids:a,l=t.from,i=l===void 0?g.from:l,c=t.to,d=c===void 0?g.to:c,o=s.trim().replace(/["]/g,"\\\\\\$&").replace(/\r\n|\r|\n/g,"\\\\n"),e=encodeURIComponent('[[["'.concat(n,'","[[\\"').concat(o,'\\",\\"').concat(i,'\\",\\"').concat(d,'\\",1],[]]",null,"generic"]]]'));return"f.req=".concat(e,"&")}var S=function(){return S=Object.assign||function(s){for(var r,t=1,a=arguments.length;t0&&n[n.length-1])||e[0]!==6&&e[0]!==2)){i=0;continue}if(e[0]===3&&(!n||e[1]>n[0]&&e[1]{var m,b;if(!((m=r.lyrics)!=null&&m.lyrics))return!1;const e=r.progress*1e3,u=r.lyrics.lyrics[o],h=parseInt(u.startTimeMs),y=parseInt(u.endTimeMs)?parseInt(u.endTimeMs):parseInt((b=r.lyrics.lyrics[o+1])==null?void 0:b.startTimeMs);if(e>=h&&e=y?"past":"future"},a=o=>{r.lyrics.lyrics[o].originalWorlds?l(o):n(o)},n=async o=>{const e=r.lyrics.lyrics[o];if(e.originalWorlds)return;const u=await Q(e.words,{to:"en",corsUrl:"/api/cors/"});e.originalWorlds=e.words,e.words=u.text},l=o=>{const e=r.lyrics.lyrics[o];e.originalWorlds&&(e.words=e.originalWorlds,e.originalWorlds=null)},i=()=>{var o,e;(e=(o=r.lyrics)==null?void 0:o.lyrics)==null||e.forEach((u,h)=>{n(h)})},c=()=>{var o,e;(e=(o=r.lyrics)==null?void 0:o.lyrics)==null||e.forEach((u,h)=>{l(h)})},d=()=>{var e,u,h,y;const o=(u=(e=r.lyrics)==null?void 0:e.lyrics)==null?void 0:u.filter(m=>m.originalWorlds).length;return o&&o>((y=(h=r.lyrics)==null?void 0:h.lyrics)==null?void 0:y.length)/2};return(o,e)=>{var u,h,y,m,b,k;return p(),w(j,null,[H(K,{src:f(r).song.cover},null,8,["src"]),!f(r).lyrics||(u=f(r).lyrics)!=null&&u.error?(p(),w("div",X,[(h=f(r).lyrics)!=null&&h.error?(p(),w("h1",ee,B((y=f(r).lyrics)==null?void 0:y.error),1)):(p(),I(V,{key:1}))])):C("",!0),x("div",re,[(m=f(r).lyrics)!=null&&m.lyrics?(p(),I(N,{key:0,icon:"translate",label:d()?"Show original":"Translate all",class:"mr-2",onClick:e[0]||(e[0]=_=>d()?c():i())},null,8,["label"])):C("",!0)]),(b=f(r).lyrics)!=null&&b.lyrics?(p(),w("div",ne,[(p(!0),w(j,null,G((k=f(r).lyrics)==null?void 0:k.lyrics,(_,M)=>(p(),w("div",{class:P(["line",t(M)]),onClick:A=>f(r).seek(parseInt(_.startTimeMs)/1e3)},[$(B(_.words)+" ",1),x("span",{class:P(["material-symbols-rounded translate",{translated:_.originalWorlds}]),onClick:F(A=>a(M),["stop"])}," translate ",10,te)],10,ae))),256))])):C("",!0)],64)}}}),se=q(oe,[["__scopeId","data-v-896d6a6d"]]);export{se as default}; diff --git a/src/ui/dist/assets/index-P2eOZTzP.js.gz b/src/ui/dist/assets/index-P2eOZTzP.js.gz new file mode 100644 index 000000000..6c3a5d67b Binary files /dev/null and b/src/ui/dist/assets/index-P2eOZTzP.js.gz differ diff --git a/src/ui/dist/assets/index-d4cfeb9f.css b/src/ui/dist/assets/index-d4cfeb9f.css deleted file mode 100644 index 27915ff5d..000000000 --- a/src/ui/dist/assets/index-d4cfeb9f.css +++ /dev/null @@ -1 +0,0 @@ -.btn[data-v-3f038910]{width:100%;text-align:left;padding:.5em 1em;border-radius:.5em;font-size:.9rem;border:1px solid transparent}.btn.active[data-v-3f038910]{background:var(--bg-base-lt);border:var(--border-container)}.latest[data-v-823f6937]{--color: var(--success)}.update[data-v-823f6937]{--color: var(--warning)}span[data-v-823f6937]{color:var(--color)}a[data-v-823f6937]:hover{color:inherit;font-weight:700}.items[data-v-9bd09bb6]{display:grid;grid-template-columns:repeat(auto-fill,minmax(30ch,1fr))}.checkbox[data-v-be9fa887]{display:flex;align-items:center;margin:10px 0;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.checkbox .checkbox__label[data-v-be9fa887]{margin-left:10px}.checkbox .checkbox__label .checkbox__label__title[data-v-be9fa887]{font-size:1em}.checkbox .checkbox__label .checkbox__label__sublabel[data-v-be9fa887]{font-size:.85em;color:var(--font-darker)}.checkbox .checkbox__checkbox[data-v-be9fa887]{font-size:1.5em;font-variation-settings:"FILL" 0,"WEIGHT" 500,"WIDTH" 100}p[data-v-74855c2d]{margin:0 0 .5em;font-size:.8em;color:var(--fg-base-dk);text-transform:capitalize}p.selected[data-v-74855c2d]{color:var(--fg-secondary)}.wrapper[data-v-74855c2d]{grid-column:span 2}.wrapper[data-v-74855c2d]:hover{cursor:pointer}img[data-v-74855c2d]{width:100%;border-radius:8px}img.selected[data-v-74855c2d]{border:2px solid var(--fg-secondary)}.themes[data-v-5cc6477c]{display:flex;flex-direction:row;flex-wrap:wrap;gap:1em}.themes .wrapper[data-v-5cc6477c]{max-width:200px}.text-input-with-icon[data-v-5e026540]{background:var(--bg-base-lt);border:1px solid var(--border-base);color:var(--fg-base-dk)}.text-input-with-icon.disabled[data-v-5e026540],.text-input-with-icon.disabled input[data-v-5e026540]{cursor:not-allowed!important}.text-input-with-icon input[data-v-5e026540]{color:var(--fg-base-dk)}.text-input-with-iconfocus[data-v-5e026540],.text-input-with-icon[data-v-5e026540]:focus-within,.text-input-with-icon[data-v-5e026540]:hover{border-color:var(--fg-base);color:var(--fg-base)}.text-input-with-iconfocus input[data-v-5e026540],.text-input-with-icon:focus-within input[data-v-5e026540],.text-input-with-icon:hover input[data-v-5e026540]{color:var(--fg-base)}input[data-v-5e026540]{background:none!important;border:none!important}ul{margin-left:2em;list-style-type:disc}.markdown-body{line-height:1.5}.preferences[data-v-2a5c5e34]{display:flex;flex-direction:column;align-items:center}.section[data-v-2a5c5e34]:not(:last-child){border-bottom:var(--border-container)}.btn[data-v-2a5c5e34]{width:100%;text-align:left;padding:.5em 1em;border-radius:.5em;font-size:.9rem;border:1px solid transparent}.btn.active[data-v-2a5c5e34]{background:var(--bg-base-lt);border:var(--border-container)}.preferences>*[data-v-2a5c5e34]{max-width:1000px;width:100%}.wrapper[data-v-2a5c5e34]{display:grid;grid-template-columns:200px 1fr;gap:1em} diff --git a/src/ui/dist/assets/index-d4cfeb9f.css.gz b/src/ui/dist/assets/index-d4cfeb9f.css.gz deleted file mode 100644 index 9351878c6..000000000 Binary files a/src/ui/dist/assets/index-d4cfeb9f.css.gz and /dev/null differ diff --git a/src/ui/dist/assets/index-da602f8b.js b/src/ui/dist/assets/index-da602f8b.js deleted file mode 100644 index b0a4a872e..000000000 --- a/src/ui/dist/assets/index-da602f8b.js +++ /dev/null @@ -1 +0,0 @@ -import{e as N,aI as S,n as x,a8 as q,o as s,c as n,a as o,F as r,h as B,i as C,w as h,b as t,t as a,C as y,g as p,H as F,d,u as f,aJ as I,z as O,L as T,O as V,v as $,I as z,ar as L,l as j,m as A,_ as E}from"./index-4a15a213.js";const i=v=>(j("data-v-9623d76a"),v=v(),A(),v),H={class:"downloader py-2 pr-2 grid gap-4 grid-cols-2 items-start"},J={class:"downloads"},M={class:"main"},P={class:"m-0 mb-4"},Y={class:"status"},G={class:"flex flex-col"},K={key:0,class:"info"},Q=i(()=>o("span",{class:"material-symbols-rounded"},"cloud",-1)),R={key:1,class:"info"},U=i(()=>o("span",{class:"material-symbols-rounded"},"file_download",-1)),W={class:"info"},X=i(()=>o("span",{class:"material-symbols-rounded"},"percent",-1)),Z={key:2,class:"info"},ee=i(()=>o("span",{class:"material-symbols-rounded"},"speed",-1)),oe={key:3,class:"info"},se=i(()=>o("span",{class:"material-symbols-rounded"},"timer",-1)),ne=i(()=>o("div",{class:"error"},[o("span",null,"This song could not be downloaded:"),o("ul",{class:"block list-disc ml-8"},[o("li",null," verify that the source link is working "),o("li",null,"try again later")])],-1)),ae={key:0,class:"info"},le=i(()=>o("span",{class:"material-symbols-rounded"},"link",-1)),de=["href"],re={class:"wrap-progress"},te=["aria-valuenow"],ie={key:1,class:"material-symbols-rounded downloading"},ce=["onClick"],ue=["onClick"],_e=["onClick"],me={key:1,class:"col-span-2 flex flex-row justify-center items-center"},pe={class:"new-download"},fe=N({__name:"index",setup(v){const _=S(),g=l=>{L.addYesNo("Are you sure you want to redownload this song?",null,null,()=>{console.log("[downloader] reDownload",l),_.downloadFromDb(l)})},m={title:"",artist:"",album:{name:"",href:"",id:""},cover:"",source:"",href:""},w=x(null),c=x([{name:"source",type:"text",accept:"audio/mp3",required:!0,onChange:async l=>{const u=await q(l);c.value.find(e=>e.name==="title").value=u.title,c.value.find(e=>e.name==="artist").value=u.artist,c.value.find(e=>e.name==="album").value=u.album,c.value.find(e=>e.name==="cover").value=u.cover,c.value.find(e=>e.name==="source").value=u.source},value:m.source},{name:"title",type:"text",icon:"title",required:!0,value:m.title},{name:"artist",type:"text",icon:"person",required:!0,value:m.artist},{name:"album",type:"text",icon:"album",value:m.album.name},{name:"cover",type:"upload",accept:"image/*",imagePreview:!0,value:m.cover}]),D=async()=>{const l=w.value.toObject();l.id=new Date().getTime(),console.log("[downloader] requestDownload",l),_.downloadOther(l)};return(l,u)=>(s(),n("div",H,[o("div",J,[(s(!0),n(r,null,B(f(_).states,e=>{var k;return s(),n(r,{key:e.songId},[e.internal?d("",!0):(s(),C(y,{key:0,class:V([["song",{downloading:((k=f(_).states[e.songId])==null?void 0:k.status)=="downloading"}],"p-4 card items-center"])},{default:h(()=>[e.status!=="pending"?(s(),n(r,{key:0},[o("main",M,[o("h2",P,[e.song?(s(),n(r,{key:0},[t(a(e.song.title),1)],64)):(s(),n(r,{key:1},[t(a(e.filename),1)],64))]),o("div",Y,[e.song?(s(),C(y,{key:0,class:"info p-4"},{default:h(()=>[p(F,{src:e.song.cover,class:"cover"},null,8,["src"]),o("div",G,[o("span",null,a(e.song.album.name),1),o("span",null,a(e.song.artist),1)])]),_:2},1024)):d("",!0),e.status!=="error"?(s(),n(r,{key:1},[e.downloaded||e.total?(s(),n("div",K,[Q,t(" "+a(f(I)(e.downloaded))+" / "+a(f(I)(e.total)),1)])):d("",!0),e.chunk?(s(),n("div",R,[U,t(" "+a(e.chunk),1)])):d("",!0),o("div",W,[X,t(" "+a(e.status==="downloading"?e.percent:100)+"% ",1)]),e.speed!=="0"?(s(),n("div",Z,[ee,t(" "+a(e.speed),1)])):d("",!0),e.elapsed!=="0"||e.eta!==0?(s(),n("div",oe,[se,t(" "+a(e.elapsed)+" / "+a(e.eta)+"s ",1)])):d("",!0)],64)):(s(),n(r,{key:2},[ne,e.song?(s(),n("div",ae,[le,o("a",{href:e.song.source,target:"_blank",rel:"noopener noreferrer"},a(e.song.source),9,de)])):d("",!0)],64))])]),o("aside",null,[o("div",re,[e.status=="downloading"?(s(),n("div",{key:0,class:"progress-bar",role:"progressbar","aria-valuenow":e.percent,"aria-valuemin":"0","aria-valuemax":"100",style:O({"--progress":e.percent+"%"})},null,12,te)):d("",!0),e.status=="downloading"?(s(),n("span",ie," south ")):e.status=="finished"?(s(),n("span",{key:2,class:"material-symbols-rounded cursor-pointer finished",onClick:b=>f(_).download(e.songId)}," download_for_offline ",8,ce)):e.status=="downloaded"?(s(),n("span",{key:3,class:"material-symbols-rounded cursor-pointer downloaded",onClick:b=>g(e.songId)}," download_done ",8,ue)):e.status=="error"?(s(),n("span",{key:4,class:"material-symbols-rounded cursor-pointer error",onClick:b=>g(e.songId)}," error ",8,_e)):d("",!0)])])],64)):(s(),n("div",me,[p(T)]))]),_:2},1032,["class"]))],64)}),128))]),o("div",pe,[p(y,{class:"custom p-4 flex flex-col"},{default:h(()=>[p($,{ref_key:"form",ref:w,options:c.value},null,8,["options"]),p(z,{icon:"download_for_offline",label:"Download",class:"w-full mt-8",onClick:D})]),_:1})])]))}});const he=E(fe,[["__scopeId","data-v-9623d76a"]]);export{he as default}; diff --git a/src/ui/dist/assets/index-da602f8b.js.gz b/src/ui/dist/assets/index-da602f8b.js.gz deleted file mode 100644 index 71025dd0a..000000000 Binary files a/src/ui/dist/assets/index-da602f8b.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/index-faf92038.js b/src/ui/dist/assets/index-faf92038.js deleted file mode 100644 index ccce7b472..000000000 --- a/src/ui/dist/assets/index-faf92038.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as I,f as E,o,c as _,g as v,w as h,l as te,m as se,a as t,C as Q,H as K,i as y,t as b,d as x,e as M,n as f,y as j,E as P,r as ie,L as le,h as A,F as D,j as re,D as L,q as ue,J as ce,M as X,K as Z,N as C,O as R,b as de,Q as ee,B as _e,R as pe}from"./index-4a15a213.js";import{F}from"./FullShelf-b2b7ffe5.js";import{E as ve}from"./Error-e5e93467.js";import{P as Y}from"./PlaylistCard-915b2cc1.js";import{p as me}from"./playerInPicture-af203fdf.js";const fe={name:"CollectionHeader",props:{href:String}},q=c=>(te("data-v-a26d5560"),c=c(),se(),c),he={class:"wrapper"},ye=q(()=>t("div",{class:"collection"},"Playlists",-1)),ge=q(()=>t("div",{class:"collection"},"Releases",-1)),xe=q(()=>t("div",{class:"collection"},"Artists",-1)),we=q(()=>t("div",{class:"collection"},"Albums",-1));function ke(c,i,e,d,m,n){const u=E("router-link");return o(),_("div",he,[v(u,{class:"link",to:"/collection/playlists"},{default:h(()=>[ye]),_:1}),v(u,{class:"link",to:"/collection/releases"},{default:h(()=>[ge]),_:1}),v(u,{class:"link",to:"/collection/artists"},{default:h(()=>[xe]),_:1}),v(u,{class:"link",to:"/collection/albums"},{default:h(()=>[we]),_:1})])}const $e=I(fe,[["render",ke],["__scopeId","data-v-a26d5560"]]),Ce={components:{Card:Q,Cover:K},name:"CardWithImageAndText",props:{cover:String,title:String,description:String,playlistType:{type:String,default:null},imageType:{type:String,default:"playlist"}}};const be={class:"item"},Se={class:"title"},Ie={key:0,class:"material-symbols-rounded"},Te=["title"],Ae=["title","innerHTML"];function De(c,i,e,d,m,n){const u=E("Cover"),l=E("Card");return o(),y(l,{class:"wrapper drop-shadow-md","with-hover":""},{default:h(()=>[t("div",be,[v(u,{src:e.cover,type:e.imageType,name:e.title},null,8,["src","type","name"]),t("div",null,[t("div",Se,[[null,"classic"].includes(e.playlistType)?x("",!0):(o(),_("span",Ie,b(e.playlistType=="smart"?"neurology":"bolt"),1)),t("h4",{title:e.title},b(e.title),9,Te)]),t("p",{class:"text-muted text-xs hideIfMobile",title:e.description,innerHTML:e.description},null,8,Ae)])])]),_:1})}const ae=I(Ce,[["render",De],["__scopeId","data-v-19795e3d"]]),B=M({__name:"FetchLoader",props:{response:{type:Promise,required:!0},error:{type:Function,default:c=>`Failed to fetch (${c.status})`}},setup(c){const i=c,e=f(!1),d=f(""),m=async()=>{if(!i.response)return;e.value=!0,d.value="";const n=await i.response;e.value=!1,n.ok||(d.value=i.error(n))};return j(m),P(()=>i.response,m),(n,u)=>e.value?(o(),y(le,{key:0})):d.value?(o(),y(ve,{key:1,msg:d.value},null,8,["msg"])):c.response?ie(n.$slots,"default",{key:2}):x("",!0)}}),Me={class:"albums"},Re=M({__name:"Albums",setup(c){const i=f([]),e=f(null);return j(async()=>{e.value=fetch("/api/albums");const m=await(await e.value).json();i.value=m.sort((n,u)=>n.name.localeCompare(u.name))}),(d,m)=>(o(),y(B,{response:e.value},{default:h(()=>[t("div",Me,[v(F,{heading:"In your library"},{default:h(()=>[(o(!0),_(D,null,A(i.value,n=>(o(),y(ae,{title:n.name,description:n.artists.join(", "),cover:n.image,onClick:u=>d.$router.push(n.href),imageType:"album"},null,8,["title","description","cover","onClick"]))),256))]),_:1})])]),_:1},8,["response"]))}});const Pe=I(Re,[["__scopeId","data-v-d9f5e245"]]),Ee={class:"playlists"},Fe=M({__name:"Playlists",setup(c){const i=re(),e=L(()=>i.playlists),d=f([]),m=f(null);return j(async()=>{m.value=fetch("/api/spotify/playlists");const u=await(await m.value).json();d.value=u}),(n,u)=>(o(),_("div",Ee,[e.value.length?(o(),y(F,{key:0,heading:"Playlists"},{default:h(()=>[(o(!0),_(D,null,A(e.value,l=>(o(),y(Y,{playlist:l},null,8,["playlist"]))),256))]),_:1})):x("",!0),v(B,{response:m.value,error:l=>`Failed to fetch Spotify playlists (${l.status})`},{default:h(()=>[d.value.length?(o(),y(F,{key:0,heading:"Import From Spotify"},{default:h(()=>[v(Y,{playlist:{href:"/liked",name:"Liked",description:"your liked tracks",type:"classic",cover:null,id:"liked",plays:0},"is-spotify":""}),(o(!0),_(D,null,A(d.value,l=>(o(),y(Y,{playlist:{...l,href:`https://open.spotify.com/playlist/${l.id}`,type:"classic"},"is-spotify":""},null,8,["playlist"]))),256))]),_:1})):x("",!0)]),_:1},8,["response","error"])]))}}),W=c=>(te("data-v-a22e8b2e"),c=c(),se(),c),je={key:0,class:"fill-page"},Ne={key:1,class:"p-4 overflow-hidden h-full"},Le={class:"releases w-full"},Be={class:"current"},qe={key:0,class:"w-max flex flex-col gap-4"},He={class:"flex justify-between w-full items-center"},Oe={class:"flex gap-4 items-center"},Ye={class:"info"},Je={key:0},Ve={key:1,class:"m-0 text-muted text-sm"},Ke=["title"],Qe={class:"actions"},We={key:1,class:"h-96 flex flex-col justify-center"},ze=W(()=>t("span",{class:"italic text-sm text-muted"}," Nothing to preview ",-1)),Ue=[ze],Ge={class:"flex items-center gap-4 w-max"},Xe={key:0,class:"flex justify-end mb-2"},Ze=W(()=>t("span",{class:"material-symbols-rounded"}," done_all ",-1)),et={class:"entries overflow-y-auto flex flex-col gap-2"},tt=["onClick"],st={class:"info overflow-hidden"},lt={class:"m-0 overflow-hidden"},at={class:"m-0 overflow-hidden text-sm text-muted"},ot=["title"],nt=["onClick"],it=["onClick"],rt=["onClick"],ut={key:1,class:"flex flex-col items-center"},ct=W(()=>t("span",{class:"italic text-sm text-muted"}," No releases in this queue ",-1)),dt=[ct],J="reap.releases.seen",V="reap.releases.remember",_t=M({__name:"Releases",setup(c){const i=f(!0),e=f("unseen"),d=a=>{const s=new Date(a),g=Math.floor((Date.now()-s.getTime())/1e3/60/60/24);return g==0?"Today":g==1?"Yesterday":g<100?`${g} days ago`:g<365?`${Math.floor(g/30)} months ago`:s.toLocaleDateString()},m=ue();P(e,a=>{const s={queue:a};m.replace({query:s})});const n=L(()=>{switch(e.value){case"unseen":return T.value.filter(a=>!$.value.includes(a.url));case"out-today":return oe.value;case"watching":return k.value;case"all":return T.value;case"seen":return $.value.map(a=>T.value.find(s=>s.url==a)).filter(a=>a)}}),u=a=>{me(a.artist,a.title,a.url)},l=f(null),w=f(null),H=new Date,T=f([]),z=a=>{l.value=a,ee(()=>{var s;(s=w.value)==null||s.show()})},oe=L(()=>T.value.filter(a=>{const s=new Date(a.releaseDate);return H.getMonth()==s.getMonth()&&H.getDate()==s.getDate()&&H.getFullYear()==s.getFullYear()})),U=a=>{k.value.find(s=>s.url==a.url)||k.value.push(a)},G=a=>{k.value=k.value.filter(s=>s.url!=a.url)},O=a=>{var g;let s=!1;a.url===((g=p.value)==null?void 0:g.url)&&(s=!0),$.value.includes(a.url)||$.value.push(a.url),s&&ee(()=>u(p.value))},$=f([]),k=f([]),p=f(null);return j(async()=>{var s;i.value=!0;const a=await fetch("/api/releases");T.value=await a.json(),i.value=!1,$.value=((s=localStorage.getItem(J))==null?void 0:s.split(","))??[],$.value=$.value.filter(g=>T.value.find(N=>N.url==g)),k.value=JSON.parse(localStorage.getItem(V)??"[]")}),P(n,a=>{p.value=a[0]??null}),P($,a=>{a.length?localStorage.setItem(J,a.join(",")):localStorage.removeItem(J)},{deep:!0}),P(k,a=>{a.length?localStorage.setItem(V,JSON.stringify(a)):localStorage.removeItem(V)},{deep:!0}),(a,s)=>{var g,N;return i.value?(o(),_("div",je,[v(le)])):(o(),_("div",Ne,[l.value?(o(),y(ce,{key:0,id:(g=l.value.url)==null?void 0:g.replace("https://open.spotify.com/album/",""),ref_key:"addReleaseRef",ref:w,album:{id:(N=l.value.url)==null?void 0:N.replace("https://open.spotify.com/album/",""),title:l.value.title,artist:l.value.artists.join(", "),cover:l.value.cover,href:l.value.url,releaseDate:l.value.releaseDate},artist:l.value.artist,cover:l.value.cover,href:l.value.url,title:l.value.title},null,8,["id","album","artist","cover","href","title"])):x("",!0),t("div",Le,[t("div",Be,[p.value?(o(),_("div",qe,[p.value?(o(),y(K,{key:0,class:"rounded-3xl",src:p.value.cover},null,8,["src"])):x("",!0),t("div",He,[t("div",Oe,[t("span",{class:"preview material-symbols-rounded ms-fill text-5xl cursor-pointer",onClick:s[0]||(s[0]=r=>u(p.value))}," play_circle "),t("div",Ye,[p.value?(o(),_("h3",Je,[v(X,{text:p.value.title},null,8,["text"])])):x("",!0),p.value?(o(),_("p",Ve,[v(Z,{artist:p.value.artist},null,8,["artist"])])):x("",!0),p.value?(o(),_("p",{key:2,class:"m-0 text-muted text-xs",title:p.value.releaseDate},b(d(p.value.releaseDate)),9,Ke)):x("",!0)])]),t("div",Qe,[t("span",{class:"material-symbols-rounded cursor-pointer text-muted hover:text-primary",onClick:s[1]||(s[1]=C(r=>z(p.value),["stop"])),title:"Add to playlist"}," add "),t("span",{class:"material-symbols-rounded cursor-pointer text-muted hover:text-primary",onClick:s[2]||(s[2]=C(r=>k.value.find(S=>S.url===p.value.url)?G(p.value):U(p.value),["stop"])),title:"Pin"},b(k.value.find(r=>r.url===p.value.url)?"playlist_remove":"push_pin"),1),t("span",{class:"material-symbols-rounded cursor-pointer text-muted hover:text-primary",onClick:s[3]||(s[3]=C(r=>O(p.value),["stop"])),title:"Mark as seen"}," done_all ")])])])):(o(),_("div",We,Ue))]),v(Q,{class:"queue w-full p-2 h-full flex flex-col gap-2 relative"},{default:h(()=>[t("div",Ge,[t("h5",{class:R(["cursor-pointer",{selected:e.value=="unseen"}]),onClick:s[4]||(s[4]=r=>e.value="unseen")}," Unseen ",2),t("h5",{class:R(["cursor-pointer",{selected:e.value=="out-today"}]),onClick:s[5]||(s[5]=r=>e.value="out-today")}," Out Today ",2),t("h5",{class:R(["cursor-pointer",{selected:e.value=="watching"}]),onClick:s[6]||(s[6]=r=>e.value="watching")}," Pinned ",2),t("h5",{class:R(["cursor-pointer",{selected:e.value=="seen"}]),onClick:s[7]||(s[7]=r=>e.value="seen")}," Seen ",2),t("h5",{class:R(["cursor-pointer",{selected:e.value=="all"}]),onClick:s[8]||(s[8]=r=>e.value="all")}," All ",2)]),e.value==="unseen"&&n.value.length?(o(),_("div",Xe,[t("span",{class:"cursor-pointer text-sm text-muted hover:text-primary flex items-center gap-2",onClick:s[9]||(s[9]=r=>n.value.forEach(O))},[de(" Mark all as seen "),Ze])])):x("",!0),t("div",et,[n.value.length?(o(!0),_(D,{key:0},A(n.value,r=>(o(),_("div",{class:"entry",onClick:S=>{p.value=r,u(r)}},[v(K,{class:"rounded-xl",src:r.cover},null,8,["src"]),t("div",st,[t("p",lt,[v(X,{text:r.title},null,8,["text"])]),t("p",at,[v(Z,{artist:r.artist},null,8,["artist"])])]),t("p",{class:"text-sm m-0 text-muted",title:r.releaseDate},b(d(r.releaseDate)),9,ot),t("span",{class:"material-symbols-rounded cursor-pointer text-muted hover:text-primary",onClick:C(S=>z(r),["stop"]),title:"Add to playlist"}," add ",8,nt),t("span",{class:"material-symbols-rounded cursor-pointer text-muted hover:text-primary",onClick:C(S=>k.value.find(ne=>ne.url===r.url)?G(r):U(r),["stop"]),title:"Pin"},b(k.value.find(S=>S.url===r.url)?"playlist_remove":"push_pin"),9,it),t("span",{class:"material-symbols-rounded cursor-pointer text-muted hover:text-primary",onClick:C(S=>O(r),["stop"]),title:"Mark as seen"}," done_all ",8,rt)],8,tt))),256)):x("",!0)]),n.value.length?x("",!0):(o(),_("div",ut,dt))]),_:1})])]))}}});const pt=I(_t,[["__scopeId","data-v-a22e8b2e"]]);const vt={components:{Card:Q},name:"ArtistItem",methods:{follow(c){c.stopPropagation();const i=this.following?"DELETE":"POST";fetch("/api/spotify/following",{method:i,body:JSON.stringify({artistId:this.id})}).then(e=>{e.status==200&&(this.following=!this.following)})}},data(){return{following:this.initiallyFollowing}},props:{cover:String,name:String,description:String,id:String,initiallyFollowing:Boolean,showFollowButton:Boolean}},mt={class:"item"},ft=["src"],ht={class:"flex gap-2 items-center justify-between"},yt=["innerHTML"];function gt(c,i,e,d,m,n){const u=E("add-artist-to-playlist"),l=E("Card");return o(),y(l,{class:"wrapper","with-hover":"",onClick:i[1]||(i[1]=C(w=>c.$router.push("/artist/"+e.name),["stop"]))},{default:h(()=>[v(u,{ref:"import",artist:{id:e.id,name:e.name,href:`https://open.spotify.com/artist/${e.id}`,image:e.cover}},null,8,["artist"]),t("div",mt,[t("img",{src:e.cover},null,8,ft),t("div",ht,[t("div",null,[t("h4",null,b(e.name),1),t("p",{innerHTML:e.description},null,8,yt)]),e.showFollowButton?(o(),_("span",{key:0,class:"material-symbols-rounded text-muted text-md",onClick:i[0]||(i[0]=C((...w)=>n.follow&&n.follow(...w),["stop"]))},b(m.following?"person_check":"person_add"),1)):x("",!0)])])]),_:1})}const xt=I(vt,[["render",gt],["__scopeId","data-v-8fde1a37"]]),wt={class:"artists"},kt=M({__name:"Artists",setup(c){const i=f([]),e=f([]),d=f(null),m=f(null);return j(async()=>{d.value=fetch("/api/artists");let n=await d.value,u=await n.json();e.value=u.sort((l,w)=>l.name.localeCompare(w.name)),m.value=fetch("/api/spotify/artists"),n=await m.value,u=await n.json(),i.value=u.sort((l,w)=>l.name.localeCompare(w.name))}),(n,u)=>(o(),_("div",wt,[v(B,{response:d.value},{default:h(()=>[v(F,{heading:"In your library"},{default:h(()=>[(o(!0),_(D,null,A(e.value,l=>(o(),y(ae,{title:l.name,cover:l.image,onClick:w=>n.$router.push(`/artist/${l.name}`),imageType:"artist"},null,8,["title","cover","onClick"]))),256))]),_:1})]),_:1},8,["response"]),v(B,{response:m.value},{default:h(()=>[v(F,{heading:"Following on Spotify"},{default:h(()=>[(o(!0),_(D,null,A(i.value,(l,w)=>(o(),y(xt,{id:l.id,key:w,cover:l.cover,description:l.description,name:l.name,"initially-following":"","show-follow-button":""},null,8,["id","cover","description","name"]))),128))]),_:1})]),_:1},8,["response"])]))}});const $t=I(kt,[["__scopeId","data-v-16f47b6f"]]),Ct={class:"parent"},bt={class:"collection"},St=M({__name:"index",setup(c){const i=_e(),e=L(()=>{switch(i.path.split("/")[2]){case"albums":return Pe;case"playlists":return Fe;case"releases":return pt;case"artists":return $t}});return(d,m)=>(o(),_("div",Ct,[v($e,{class:"header"}),t("main",bt,[(o(),y(pe(e.value)))])]))}});const Rt=I(St,[["__scopeId","data-v-433b7137"]]);export{Rt as default}; diff --git a/src/ui/dist/assets/index-faf92038.js.gz b/src/ui/dist/assets/index-faf92038.js.gz deleted file mode 100644 index f7691bded..000000000 Binary files a/src/ui/dist/assets/index-faf92038.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/index-fd630165.css b/src/ui/dist/assets/index-fd630165.css deleted file mode 100644 index ae407cd54..000000000 --- a/src/ui/dist/assets/index-fd630165.css +++ /dev/null @@ -1 +0,0 @@ -.lyrics[data-v-9121f15d]{display:flex;flex-direction:column;align-items:center}.lyrics .line[data-v-9121f15d]{--color: var(--fg-base);color:var(--color);font-size:2rem;font-weight:500;line-height:2;width:min(100%,50ch);cursor:pointer;position:relative}.lyrics .line.current[data-v-9121f15d]{--color: var(--fg-secondary)}.lyrics .line.past[data-v-9121f15d]{--color: var(--fg-base-dk)}.lyrics .line .translate[data-v-9121f15d]{position:absolute;right:1em;top:50%;transform:translateY(-50%)}.lyrics .line .translate[data-v-9121f15d]:not(.translated){display:none}.lyrics .line[data-v-9121f15d]:hover{--color: var(--fg-secondary)}.lyrics .line:hover .translate[data-v-9121f15d]{display:inherit} diff --git a/src/ui/dist/assets/index-fd8d909d.css b/src/ui/dist/assets/index-fd8d909d.css deleted file mode 100644 index 72ec5341e..000000000 --- a/src/ui/dist/assets/index-fd8d909d.css +++ /dev/null @@ -1 +0,0 @@ -.downloads[data-v-9623d76a]{display:flex;flex-direction:row;flex-wrap:wrap;gap:1em}.downloads .card[data-v-9623d76a]{display:grid;grid-template-columns:1fr max-content;gap:5em}.downloads>*[data-v-9623d76a]{flex:1;min-width:-moz-max-content;min-width:max-content}.status[data-v-9623d76a]{display:flex;flex-direction:column;gap:.5em;color:var(--fg-base-dk)}.status .error span[data-v-9623d76a]{color:var(--fail)}.status .info[data-v-9623d76a]{display:flex;flex-direction:row;gap:.5em;align-items:center}.status .info .material-symbols-rounded[data-v-9623d76a]{font-size:1.5rem;font-variation-settings:"wght" 400}.status .info .cover[data-v-9623d76a]{width:48px;aspect-ratio:1/1;border-radius:.5em}.status .info[data-v-9623d76a]:has(.cover){font-size:.8rem}.status .info:has(.cover)>div>span[data-v-9623d76a]:first-child{color:var(--fg-base)}aside[data-v-9623d76a]{position:relative;width:70px;height:70px}aside .progress-bar[data-v-9623d76a]{border-radius:50%;position:absolute;top:0;right:0;bottom:0;left:0;--progress: 25%;background:radial-gradient(closest-side,var(--bg-base-lt) 90%,transparent 90% 100%),conic-gradient(var(--fg-secondary) var(--progress),transparent 0);animation:rotate-9623d76a 1s linear infinite}@keyframes rotate-9623d76a{to{rotate:360deg}}aside span[data-v-9623d76a]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:1.5rem;font-variation-settings:"wght" 400}aside span.finished[data-v-9623d76a]{font-size:3rem} diff --git a/src/ui/dist/assets/index-fd8d909d.css.gz b/src/ui/dist/assets/index-fd8d909d.css.gz deleted file mode 100644 index e6d72981b..000000000 Binary files a/src/ui/dist/assets/index-fd8d909d.css.gz and /dev/null differ diff --git a/src/ui/dist/assets/index-ff5b6ef4.css b/src/ui/dist/assets/index-ff5b6ef4.css deleted file mode 100644 index 1b44778e6..000000000 --- a/src/ui/dist/assets/index-ff5b6ef4.css +++ /dev/null @@ -1,7 +0,0 @@ -@import"https://fonts.googleapis.com/icon?family=Material+Icons+Outlined";@import"https://fonts.googleapis.com/icon?family=Material+Icons+Round";@import"https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;700;900&display=swap";.hidden[data-v-625a8655]{display:none}@keyframes marquee-625a8655{0%{transform:translate(0)}20%{transform:translate(0)}to{transform:translate(calc(-100% - 30px))}}div[data-v-625a8655]{white-space:nowrap;overflow:hidden;box-sizing:border-box}.marqueeWrapper[data-v-625a8655],.marqueeWrapper *[data-v-625a8655]{text-decoration:inherit}.marqueeWrapper[data-v-625a8655]{position:relative;margin:0}.replacer[data-v-625a8655]{position:absolute;top:0;left:calc(100% + 30px)}span[data-v-625a8655]{width:auto;margin:0;white-space:nowrap;display:inherit;overflow:hidden}span.marquee[data-v-625a8655]{position:relative;animation:marquee-625a8655 15s linear infinite;overflow:unset;text-overflow:unset;display:table-cell}.overlay[data-v-625a8655]{position:absolute;bottom:0;left:0;width:100%;text-align:center;padding:30px;pointer-events:none}.playerInPicture{position:absolute;top:calc(100% - 423px);left:calc(70% - 8px);z-index:2000;width:30%;border-radius:8px;display:flex;flex-direction:column;background:var(--bg-base-lt);overflow:hidden;box-shadow:0 0 100px 3px #000c}@media screen and (max-width: 950px){.playerInPicture{width:calc(100% - 16px);left:8px!important;bottom:8px!important}}.playerInPicture .header{padding:0 8px 8px;display:flex;flex-direction:row;justify-content:space-between;transform:translateY(8px)}.playerInPicture .header .title{font-size:.8em;color:var(--fg-base-dk);display:flex;flex-direction:column;justify-content:center;max-width:calc(100% - 56px);width:100%}.playerInPicture .header .buttons{width:48px;height:24px}.playerInPicture .header .buttons span:hover{cursor:pointer}.playerInPicture .header.minimised{margin-bottom:8px}.playerInPicture .frame{flex-grow:1;min-height:300px}.playerInPicture .frame.minimised{display:none}.playerInPicture iframe{min-height:300px;width:100%;transform:translateY(8px)}.link[data-v-fd7253f1]{text-decoration:none}div.navEntry[data-v-fd7253f1]{display:flex;flex-direction:row;padding:10px;border-radius:5px;color:var(--fg-base-dk)}div.navEntry.img[data-v-fd7253f1]{padding:5px}div.navEntry[data-v-fd7253f1]:hover,.router-link-active div.navEntry[data-v-fd7253f1],div.navEntry.active[data-v-fd7253f1]{background-color:var(--bg-hover-dk);cursor:pointer;color:var(--fg-base)}.router-link-active div.navEntry[data-v-fd7253f1],div.navEntry.active[data-v-fd7253f1]{background-color:var(--bg-hover)}.name[data-v-fd7253f1]{font-weight:700}.icon[data-v-fd7253f1]{width:34px}.icon[data-v-fd7253f1] :has:not(.material-symbols-rounded){height:34px}.icon[data-v-fd7253f1]{width:100%;border-radius:3px}.text-input-with-icon[data-v-4b2cd9f3]{background:var(--bg-base-lt);border:1px solid var(--border-base);color:var(--fg-base-dk);width:100%}.text-input-with-icon input[data-v-4b2cd9f3]{color:var(--fg-base-dk)}.text-input-with-icon[data-v-4b2cd9f3]:focus-within,.text-input-with-icon[data-v-4b2cd9f3]:hover{border-color:var(--fg-base);color:var(--fg-base)}.text-input-with-icon:focus-within input[data-v-4b2cd9f3],.text-input-with-icon:hover input[data-v-4b2cd9f3]{color:var(--fg-base)}.text-input-with-icon.expanded[data-v-4b2cd9f3]{border-radius:1em 1em 0 0}input[type=text][data-v-4b2cd9f3],input[type=number][data-v-4b2cd9f3]{background:none!important;border:none!important}input[type=text][data-v-4b2cd9f3],input[type=number][data-v-4b2cd9f3],input[type=password][data-v-4b2cd9f3]{background:var(--hover-2);border:1px solid var(--hover-3);border-radius:5px;color:var(--font-colour);padding:10px;width:auto;flex-grow:1;font-family:var(--font-family)}input[type=text][data-v-4b2cd9f3]:focus,input[type=number][data-v-4b2cd9f3]:focus,input[type=password][data-v-4b2cd9f3]:focus{outline:none}input[type=text][data-v-4b2cd9f3]:hover,input[type=number][data-v-4b2cd9f3]:hover,input[type=password][data-v-4b2cd9f3]:hover{background:var(--hover-1);border:1px solid var(--font-colour)}.suggestions[data-v-9be27f78]{background:var(--bg-base-lt);border:var(--border-container);z-index:1001;background:var(--bg-base);border-radius:0 0 1em 1em;filter:var(--drop-shadow);overflow:hidden}.loader[data-v-cf68f823]{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.wrap[data-v-cf68f823]{display:flex;gap:.5em;width:100px;height:100px;align-items:center}.bar[data-v-cf68f823]{height:100%;width:20%;max-height:20%;border-radius:1000vmax;background:var(--fg-base);animation:pulse-cf68f823 1.5s infinite}@keyframes pulse-cf68f823{0%{max-height:20%}30%{max-height:100%}60%{max-height:20%}}.bar[data-v-cf68f823]:nth-child(2){animation-delay:.1s}.bar[data-v-cf68f823]:nth-child(3){animation-delay:.2s}.bar[data-v-cf68f823]:nth-child(4){animation-delay:.3s}.bar[data-v-cf68f823]:nth-child(5){animation-delay:.4s}/*! - * Copyright (c) 2023, reAudioPlayer ONE. - * Licenced under the GNU General Public License v3.0 - */.bg-bg[data-v-b68d33f1]{background-color:var(--background)}.bg-fg[data-v-b68d33f1]{background-color:var(--font-colour)}.text-bg[data-v-b68d33f1]{color:var(--background)}.text-fg[data-v-b68d33f1]{color:var(--font-colour)}button span.material-symbols-rounded[data-v-b68d33f1]{font-variation-settings:"wght" 400}button.disabled[data-v-b68d33f1]{cursor:not-allowed}button.positive[data-v-b68d33f1]{background-color:var(--bg-base);color:var(--fg-base)}button.positive.disabled[data-v-b68d33f1]{background-color:var(--fg-base-dk);color:var(--bg-hover-ltr)}button.negative[data-v-b68d33f1]{background-color:var(--bg-contrast);color:var(--fg-contrast)}button.negative.disabled[data-v-b68d33f1]{background-color:var(--fg-base-dk);color:var(--bg-hover-ltr)}button.danger[data-v-b68d33f1]{color:#f5f5f5;background-color:#c73c3c}button.danger.disabled[data-v-b68d33f1]{background-color:#a22e2e;color:#a9a9a9}button.success[data-v-b68d33f1]{color:#f5f5f5;background-color:var(--fg-secondary)}button.success[data-v-b68d33f1]:hover{background-color:var(--fg-secondary-dk)}button.success.disabled[data-v-b68d33f1]{background-color:#a9a9a9;color:var(--fg-base)}.modal[data-v-e243c458]{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:1000;background-color:#000000b3;animation:fadeIn-e243c458 .2s ease-in-out forwards;display:flex;justify-content:center;align-items:center}.error[data-v-e243c458]{color:var(--danger)}@keyframes fadeIn-e243c458{0%{opacity:0}to{opacity:1}}.modal-content[data-v-e243c458]{cursor:default;display:flex;flex-direction:column;width:40%;max-height:80vh;background:var(--fg-contrast);border-radius:1rem;color:var(--fg-base)}.confirm[data-v-e243c458]{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}.header[data-v-e243c458]{display:flex;flex-direction:row;align-items:center;justify-content:space-between;margin-bottom:20px}.title[data-v-e243c458]{color:#fff}.dropdown[data-v-186027d9]{position:relative;display:inline-block;width:100%;height:100%}.dropdown__selected[data-v-186027d9]{background:var(--bg-base-lt);border:var(--border-container);border-radius:1000vmax;color:var(--font-colour);padding:10px;width:auto;flex-grow:1;font-family:var(--ff-base);cursor:pointer;display:flex;flex-direction:row;justify-content:space-between}.dropdown__selected.expanded[data-v-186027d9]{border-radius:1em 1em 0 0}.dropdown__selected[data-v-186027d9]:focus-within,.dropdown__selected[data-v-186027d9]:hover{border-color:var(--fg-base);color:var(--fg-base)}.dropdown__options[data-v-186027d9]{position:absolute;left:0;z-index:1001;width:max(100%,20rem);max-height:20rem;overflow-y:auto;background:var(--bg-base);border-radius:0 0 1em 1em;filter:var(--drop-shadow);border:var(--border-container)}.dropdown__options .dropdown__option[data-v-186027d9]{padding:.5rem;cursor:pointer;transition:all .2s ease-in-out;display:grid;grid-template-columns:35px 1fr 20px}.dropdown__options .dropdown__option[data-v-186027d9]:hover{background:var(--bg-hover)}.content[data-v-76afa11c]{display:flex;flex-direction:row}.content .icon-button[data-v-76afa11c]{margin-right:10px;background:var(--bg-contrast);color:var(--fg-contrast);border-radius:1000vmax;padding:11px;cursor:pointer;font-variation-settings:"wght" 300}.content .imagePreview[data-v-76afa11c]{min-width:42px;max-width:42px;margin-left:10px}.content .imagePreview .cover[data-v-76afa11c]{border-radius:5px}.content .imagePreview .cover[data-v-76afa11c]:hover{cursor:pointer;filter:grayscale(.4) blur(2px)}.playlisteditor[data-v-3c71f9f3]{display:flex;flex-direction:row;margin-bottom:20px;align-items:center}.playlisteditor img[data-v-3c71f9f3]{width:20%;margin-right:20px;border-radius:5px}@media screen and (max-width: 950px){.playlisteditor[data-v-3c71f9f3]{flex-direction:column}.playlisteditor img[data-v-3c71f9f3]{align-self:center;width:40%;margin-right:0}}.playlisteditor>.details[data-v-3c71f9f3]{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-self:end}.playlisteditor>.details>h1[data-v-3c71f9f3]{font-size:2em;margin-top:10px;margin-bottom:10px}@media screen and (max-width: 950px){.playlisteditor>.details>h1[data-v-3c71f9f3]{font-size:1.4em}}.playlisteditor>.details>.detailswrapper[data-v-3c71f9f3]{font-size:.8em;display:flex;flex-direction:row;justify-content:flex-start}@media screen and (max-width: 950px){.playlisteditor>.details>.detailswrapper[data-v-3c71f9f3]{justify-content:center}}.playlisteditor>.details>.detailswrapper>.material-icons-round[data-v-3c71f9f3]{line-height:15px;font-size:15px;cursor:pointer}.playlisteditor>.details>.detailswrapper>.material-icons-round[data-v-3c71f9f3]:not(:first-child){margin-left:10px}.playlisteditor>.details>h5[data-v-3c71f9f3]{font-size:.8em;margin:0}.playlist-header[data-v-f8e4524a]{display:grid;grid-template-columns:50px 40px 1fr 1fr 40px 60px;gap:10px}.playlist-header .index[data-v-f8e4524a]{margin:auto 0}.playlist-header .artist-title[data-v-f8e4524a]{grid-column:2/span 2}.playlist-header .duration[data-v-f8e4524a]{text-align:center;grid-column-start:6}.playlist-header:not(.withMore) .duration[data-v-f8e4524a]{grid-column-start:7}.playlist-header div[data-v-f8e4524a]{margin:auto 0;color:var(--fg-base-dk);font-size:.9rem;text-transform:uppercase}.hidden[data-v-ad7138e8]{display:none}@keyframes marquee-ad7138e8{0%{transform:translate(0)}20%{transform:translate(0)}to{transform:translate(calc(-100% - 30px))}}div[data-v-ad7138e8]{white-space:nowrap;overflow:hidden;box-sizing:border-box}.marqueeWrapper[data-v-ad7138e8],.marqueeWrapper *[data-v-ad7138e8]{text-decoration:inherit}.marqueeWrapper[data-v-ad7138e8]{position:relative;margin:0}.replacer[data-v-ad7138e8]{position:absolute;top:0;left:calc(100% + 30px)}span[data-v-ad7138e8]{width:auto;margin:0;white-space:nowrap;display:inherit;overflow:hidden}span.marquee[data-v-ad7138e8]{position:relative;animation:marquee-ad7138e8 15s linear infinite;overflow:unset;text-overflow:unset;display:table-cell}.overlay[data-v-ad7138e8]{position:absolute;bottom:0;left:0;width:100%;text-align:center;padding:30px;pointer-events:none}.artist[data-v-156468cf]:not(:last-child):after{content:", "}.artist>a[data-v-156468cf]{color:inherit;text-decoration:none}.artist>a[data-v-156468cf]:active,.artist>a[data-v-156468cf]:hover{color:inherit;text-decoration:underline}/*! -* Copyright (c) 2023, reAudioPlayer ONE. -* Licenced under the GNU General Public License v3.0 -*/.playlist-entry[data-v-7207e9cd]{display:grid;grid-template-columns:50px 40px 1fr 1fr 40px;gap:10px;padding:10px 0;border-radius:20px;border:1px solid transparent}.playlist-entry .artist-title[data-v-7207e9cd]{grid-column:3/4}.playlist-entry:not(.withCover) .artist-title[data-v-7207e9cd]{grid-column-start:2}.playlist-entry:not(.withAlbum) .artist-title[data-v-7207e9cd]{grid-column-end:5}.playlist-entry div[data-v-7207e9cd]{overflow:hidden}.playlist-entry .index[data-v-7207e9cd],.playlist-entry .album[data-v-7207e9cd],.playlist-entry .duration[data-v-7207e9cd],.playlist-entry .icon[data-v-7207e9cd]{margin:auto 0;font-size:.9rem;color:var(--fg-base-dk)}.playlist-entry .index.index[data-v-7207e9cd],.playlist-entry .album.index[data-v-7207e9cd],.playlist-entry .duration.index[data-v-7207e9cd],.playlist-entry .icon.index[data-v-7207e9cd]{cursor:pointer}.playlist-entry .index.icon[data-v-7207e9cd],.playlist-entry .album.icon[data-v-7207e9cd],.playlist-entry .duration.icon[data-v-7207e9cd],.playlist-entry .icon.icon[data-v-7207e9cd]{font-size:1.3rem;cursor:pointer;font-variation-settings:"wght" 500}.playlist-entry .index.icon.favourite[data-v-7207e9cd],.playlist-entry .album.icon.favourite[data-v-7207e9cd],.playlist-entry .duration.icon.favourite[data-v-7207e9cd],.playlist-entry .icon.icon.favourite[data-v-7207e9cd]{font-variation-settings:"FILL" 1}.playlist-entry.hovering[data-v-7207e9cd]{background-color:var(--bg-hover-dk);border:var(--border-container)}.playlist-entry.hovering .index[data-v-7207e9cd]{font-size:1.5rem;font-variation-settings:"FILL" 1}.playlist-entry.selected[data-v-7207e9cd]{background-color:var(--bg-hover)}.playlist-entry .favourite-icon[data-v-7207e9cd]{grid-column:5}.playlist-entry .duration[data-v-7207e9cd]{grid-column:6}.playlist-entry .cover[data-v-7207e9cd]{display:flex;justify-content:center}.playlist-entry img[data-v-7207e9cd]{border-radius:4px;margin:auto 0}.playlist-entry .artist-title[data-v-7207e9cd]{display:grid;grid-template-rows:1fr 1fr}.playlist-entry .artist-title .artist[data-v-7207e9cd]{font-size:.8rem;color:var(--fg-base-dk)}.playlist-entry .artist-title span[data-v-7207e9cd]{max-width:-moz-min-content;max-width:min-content;overflow:hidden}.playlist-entry.playing .title[data-v-7207e9cd],.playlist-entry.playing .index[data-v-7207e9cd]{color:var(--fg-secondary)}.playlist-entry.hovering .artist[data-v-7207e9cd],.playlist-entry.hovering .album[data-v-7207e9cd],.playlist-entry.selected .artist[data-v-7207e9cd],.playlist-entry.selected .album[data-v-7207e9cd]{color:var(--fg-base)}@media screen and (max-width: 768px){.playlist-entry[data-v-7207e9cd]{padding:5px 0;border-radius:10px;grid-template-columns:30px 40px 1fr 1fr 30px 40px}.playlist-entry .index[data-v-7207e9cd],.playlist-entry .duration[data-v-7207e9cd]{font-size:.7rem}.playlist-entry .artist-title[data-v-7207e9cd]{grid-column-end:5;font-size:.8rem}.playlist-entry .artist-title .artist[data-v-7207e9cd]{font-size:.65rem}}.playlist[data-v-a918d839]{position:relative}.playlist .entries[data-v-a918d839]{position:relative;overflow-y:auto;display:flex;flex-direction:column;height:100%;max-height:30vh}.item[data-v-dce39d80]{display:flex;align-items:flex-end;gap:1rem;padding:10px;border-radius:20px}.item img[data-v-dce39d80]{width:50px;height:50px;border-radius:.5em;-o-object-fit:cover;object-fit:cover}.item .tag[data-v-dce39d80]{padding:.2rem .5rem;border-radius:.5rem;background:var(--bg-base-lt);border:var(--border-container)}.item .info[data-v-dce39d80]{display:flex;align-items:center;width:100%;gap:.5em}.item .name[data-v-dce39d80]{font-weight:900;font-size:1rem}.item.large[data-v-dce39d80]{min-width:40ch;background:var(--bg-base-lt);border:var(--border-container);border-radius:1em;padding:1em}.item.large .info[data-v-dce39d80]{flex-direction:column;align-items:flex-start}.item.large .name[data-v-dce39d80]{font-size:1.2rem}.item.large img[data-v-dce39d80]{width:150px;height:150px}.item[data-v-dce39d80]:not(.nohover):hover{background:var(--bg-hover-dk);cursor:pointer}.download-anim[data-v-a167d211]{color:var(--fg-base-dk);animation:anim-a167d211 .5s ease-out forwards}@keyframes anim-a167d211{0%{opacity:1;transform:translateY(500px)}to{opacity:0;transform:translateY(0)}}.suggestion[data-v-a167d211]{display:grid;gap:1em;width:100%}.suggestion .cover[data-v-a167d211]{border-radius:.5em}.suggestion[data-v-a167d211]:hover,.suggestion.selected[data-v-a167d211]{background:var(--bg-hover-dk);cursor:pointer}.suggestion span[data-v-a167d211]{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.suggestion span[data-v-a167d211]:last-child{color:var(--fg-base-dk);font-size:.8rem}.header[data-v-a167d211]{background:var(--bg-base-dk);height:var(--h-header);display:flex;flex-direction:row;justify-content:space-between;align-items:center;box-shadow:0 0 10px 0 var(--shadow);z-index:10;border-bottom:var(--border-container);position:fixed;top:0;left:0;right:0}.logo[data-v-a167d211]{fill:var(--fg-base);padding:10px;translate:5px 5px;height:100%}.logo[data-v-a167d211]:hover{cursor:pointer}.header .search{width:100%;display:flex;flex-direction:row;justify-content:center;margin:0 1em}.header .search .input-with-autocomplete{max-width:800px;width:100%;flex:1}.header .search .text-input-with-icon{width:100%}.startup .loader{width:-moz-max-content;width:max-content}.startup .loader .wrap{width:200px;height:200px}.startup[data-v-fc875b55]{height:100%;width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.startup .wrap[data-v-fc875b55]{width:80%}.startup .logo[data-v-fc875b55]{display:flex;flex-direction:row;justify-content:center;width:100%;align-items:center}.startup .logo svg[data-v-fc875b55]{fill:var(--fg-base);padding:10px;translate:5px 5px;height:100%;max-width:400px}.startup .logo p[data-v-fc875b55]{font-size:1em;color:var(--fg-base);z-index:1;margin-left:50px}.card[data-v-04b9eb92]{background:var(--bg-base-lt);border-radius:1em;border:var(--border-container);position:relative}.card[data-v-04b9eb92]:before{content:"";border-radius:1em;box-shadow:0 0 10px #0000001a;position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1}.card.withHover[data-v-04b9eb92]:hover{background:var(--bg-hover-dk)}.card.disabled[data-v-04b9eb92]{opacity:.5;cursor:not-allowed!important}.notification[data-v-922cc95e]{padding:.5em 1em;display:flex;flex-direction:row;gap:2em;align-items:center;justify-content:space-between;color:#fff;filter:var(--drop-shadow)}.notification.success[data-v-922cc95e]{background-color:var(--success)}.notification.error[data-v-922cc95e]{background-color:var(--fail)}.notification.info[data-v-922cc95e]{background-color:var(--info)}.notification.warning[data-v-922cc95e]{background-color:var(--warning)}.notification h4[data-v-922cc95e],.notification p[data-v-922cc95e]{margin:0}.notification .details[data-v-922cc95e]{font-size:.8em}.close[data-v-922cc95e]{cursor:pointer}.notification[data-v-0dd250f2]{gap:2em;align-items:center;color:var(--fg-base);overflow:hidden;filter:var(--drop-shadow);background:var(--fg-contrast)}.notification .message[data-v-0dd250f2]{padding:.5em 1em}.notification .message h4[data-v-0dd250f2]{margin:0}.notification .message .details[data-v-0dd250f2]{font-size:.8em}.yes-no[data-v-0dd250f2]{display:flex;flex-direction:row}.yes-no .option[data-v-0dd250f2]{flex:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.yes-no .option.yes[data-v-0dd250f2]{background-color:var(--success)}.yes-no .option.no[data-v-0dd250f2]{background-color:var(--fail)}.notifications[data-v-d6b475e7]{position:absolute;inset:auto auto 0 0;z-index:10;margin:2em 2em calc(var(--h-player) + 10px) calc(var(--w-sidebar) + 40px);display:flex;flex-direction:column;gap:1em;align-items:flex-start}.notifications .notification[data-v-d6b475e7]{min-width:200px;max-width:400px}@font-face{font-family:v-contextmenu;src:url(data:application/vnd.ms-fontobject;base64,AAgAAFgHAAABAAIAAAAAAAIABQMAAAAAAAABAJABAAAAAExQAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAr5f4wwAAAAAAAAAAAAAAAAAAAAAAABAAaQBjAG8AbgBmAG8AbgB0AAAADgBSAGUAZwB1AGwAYQByAAAAFgBWAGUAcgBzAGkAbwBuACAAMQAuADAAAAAQAGkAYwBvAG4AZgBvAG4AdAAAAAAAAAEAAAALAIAAAwAwR1NVQrD+s+0AAAE4AAAAQk9TLzJW7kgMAAABfAAAAFZjbWFwmcAGvgAAAeAAAAGGZ2x5ZodVRJIAAANwAAABPGhlYWQPY7HCAAAA4AAAADZoaGVhB94DhAAAALwAAAAkaG10eAvpAAAAAAHUAAAADGxvY2EAdgCeAAADaAAAAAhtYXhwARIAXQAAARgAAAAgbmFtZT5U/n0AAASsAAACbXBvc3RBG9LpAAAHHAAAADkAAQAAA4D/gABcBAAAAAAABAAAAQAAAAAAAAAAAAAAAAAAAAMAAQAAAAEAAMP4l69fDzz1AAsEAAAAAADWIjbmAAAAANYiNuYAAP/hBAADGAAAAAgAAgAAAAAAAAABAAAAAwBRAAUAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKAB4ALAABREZMVAAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAAAAQP4AZAABQAIAokCzAAAAI8CiQLMAAAB6wAyAQgAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABAAHjmIgOA/4AAXAOAAIAAAAABAAAAAAAABAAAAAPpAAAEAAAAAAAABQAAAAMAAAAsAAAABAAAAV4AAQAAAAAAWAADAAEAAAAsAAMACgAAAV4ABAAsAAAABgAEAAEAAgB45iL//wAAAHjmIv//AAAAAAABAAYABgAAAAEAAgAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAKAAAAAAAAAACAAAAeAAAAHgAAAABAADmIgAA5iIAAAACAAAAAAAAAHYAngAFAAD/4QO8AxgAEwAoADEARABQAAABBisBIg4CHQEhJzQuAisBFSEFFRcUDgMnIychByMiLgM9ARciBhQWMjY0JhcGBwYPAQ4BHgEzITI2Jy4CJwE1ND4COwEyFh0BARkbGlMSJRwSA5ABChgnHoX+SgKiARUfIxwPPi3+SSw/FDIgEwh3DBISGRISjAgGBQUIAgIEDw4BbRcWCQUJCgb+pAUPGhW8HykCHwEMGScaTFkNIBsSYYg0bh0lFwkBAYCAARMbIA6nPxEaEREaEXwaFhMSGQcQDQgYGg0jJBQBd+QLGBMMHSbjAAAAAAEAAAAAAtYC8AARAAABFAcBBi4BNjcJAS4BPgEXARYC1Q3+qQ4hGAENATj+yA0BGCINAVcNAYASDP66CwEZIQ0BJwEnDSEZAQv+ugwAAAAAAAASAN4AAQAAAAAAAAAVAAAAAQAAAAAAAQAIABUAAQAAAAAAAgAHAB0AAQAAAAAAAwAIACQAAQAAAAAABAAIACwAAQAAAAAABQALADQAAQAAAAAABgAIAD8AAQAAAAAACgArAEcAAQAAAAAACwATAHIAAwABBAkAAAAqAIUAAwABBAkAAQAQAK8AAwABBAkAAgAOAL8AAwABBAkAAwAQAM0AAwABBAkABAAQAN0AAwABBAkABQAWAO0AAwABBAkABgAQAQMAAwABBAkACgBWARMAAwABBAkACwAmAWkKQ3JlYXRlZCBieSBpY29uZm9udAppY29uZm9udFJlZ3VsYXJpY29uZm9udGljb25mb250VmVyc2lvbiAxLjBpY29uZm9udEdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAAoAQwByAGUAYQB0AGUAZAAgAGIAeQAgAGkAYwBvAG4AZgBvAG4AdAAKAGkAYwBvAG4AZgBvAG4AdABSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdABpAGMAbwBuAGYAbwBuAHQAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdABHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAQIBAwEEAAF4C2Fycm93LXJpZ2h0AAAAAAA=);src:url(data:application/vnd.ms-fontobject;base64,AAgAAFgHAAABAAIAAAAAAAIABQMAAAAAAAABAJABAAAAAExQAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAr5f4wwAAAAAAAAAAAAAAAAAAAAAAABAAaQBjAG8AbgBmAG8AbgB0AAAADgBSAGUAZwB1AGwAYQByAAAAFgBWAGUAcgBzAGkAbwBuACAAMQAuADAAAAAQAGkAYwBvAG4AZgBvAG4AdAAAAAAAAAEAAAALAIAAAwAwR1NVQrD+s+0AAAE4AAAAQk9TLzJW7kgMAAABfAAAAFZjbWFwmcAGvgAAAeAAAAGGZ2x5ZodVRJIAAANwAAABPGhlYWQPY7HCAAAA4AAAADZoaGVhB94DhAAAALwAAAAkaG10eAvpAAAAAAHUAAAADGxvY2EAdgCeAAADaAAAAAhtYXhwARIAXQAAARgAAAAgbmFtZT5U/n0AAASsAAACbXBvc3RBG9LpAAAHHAAAADkAAQAAA4D/gABcBAAAAAAABAAAAQAAAAAAAAAAAAAAAAAAAAMAAQAAAAEAAMP4l69fDzz1AAsEAAAAAADWIjbmAAAAANYiNuYAAP/hBAADGAAAAAgAAgAAAAAAAAABAAAAAwBRAAUAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKAB4ALAABREZMVAAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAAAAQP4AZAABQAIAokCzAAAAI8CiQLMAAAB6wAyAQgAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABAAHjmIgOA/4AAXAOAAIAAAAABAAAAAAAABAAAAAPpAAAEAAAAAAAABQAAAAMAAAAsAAAABAAAAV4AAQAAAAAAWAADAAEAAAAsAAMACgAAAV4ABAAsAAAABgAEAAEAAgB45iL//wAAAHjmIv//AAAAAAABAAYABgAAAAEAAgAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAKAAAAAAAAAACAAAAeAAAAHgAAAABAADmIgAA5iIAAAACAAAAAAAAAHYAngAFAAD/4QO8AxgAEwAoADEARABQAAABBisBIg4CHQEhJzQuAisBFSEFFRcUDgMnIychByMiLgM9ARciBhQWMjY0JhcGBwYPAQ4BHgEzITI2Jy4CJwE1ND4COwEyFh0BARkbGlMSJRwSA5ABChgnHoX+SgKiARUfIxwPPi3+SSw/FDIgEwh3DBISGRISjAgGBQUIAgIEDw4BbRcWCQUJCgb+pAUPGhW8HykCHwEMGScaTFkNIBsSYYg0bh0lFwkBAYCAARMbIA6nPxEaEREaEXwaFhMSGQcQDQgYGg0jJBQBd+QLGBMMHSbjAAAAAAEAAAAAAtYC8AARAAABFAcBBi4BNjcJAS4BPgEXARYC1Q3+qQ4hGAENATj+yA0BGCINAVcNAYASDP66CwEZIQ0BJwEnDSEZAQv+ugwAAAAAAAASAN4AAQAAAAAAAAAVAAAAAQAAAAAAAQAIABUAAQAAAAAAAgAHAB0AAQAAAAAAAwAIACQAAQAAAAAABAAIACwAAQAAAAAABQALADQAAQAAAAAABgAIAD8AAQAAAAAACgArAEcAAQAAAAAACwATAHIAAwABBAkAAAAqAIUAAwABBAkAAQAQAK8AAwABBAkAAgAOAL8AAwABBAkAAwAQAM0AAwABBAkABAAQAN0AAwABBAkABQAWAO0AAwABBAkABgAQAQMAAwABBAkACgBWARMAAwABBAkACwAmAWkKQ3JlYXRlZCBieSBpY29uZm9udAppY29uZm9udFJlZ3VsYXJpY29uZm9udGljb25mb250VmVyc2lvbiAxLjBpY29uZm9udEdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAAoAQwByAGUAYQB0AGUAZAAgAGIAeQAgAGkAYwBvAG4AZgBvAG4AdAAKAGkAYwBvAG4AZgBvAG4AdABSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdABpAGMAbwBuAGYAbwBuAHQAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdABHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAQIBAwEEAAF4C2Fycm93LXJpZ2h0AAAAAAA=#iefix) format("embedded-opentype"),url(data:font/woff;base64,d09GRgABAAAAAAUAAAsAAAAAB1gAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADMAAABCsP6z7U9TLzIAAAE8AAAARAAAAFZW7kgMY21hcAAAAYAAAABeAAABhpnABr5nbHlmAAAB4AAAAS4AAAE8h1VEkmhlYWQAAAMQAAAALwAAADYPY7HCaGhlYQAAA0AAAAAcAAAAJAfeA4RobXR4AAADXAAAAAwAAAAMC+kAAGxvY2EAAANoAAAACAAAAAgAdgCebWF4cAAAA3AAAAAfAAAAIAESAF1uYW1lAAADkAAAAUUAAAJtPlT+fXBvc3QAAATYAAAAKAAAADlBG9LpeJxjYGRgYOBikGPQYWB0cfMJYeBgYGGAAJAMY05meiJQDMoDyrGAaQ4gZoOIAgCKIwNPAHicY2Bk/sE4gYGVgYOpk+kMAwNDP4RmfM1gxMjBwMDEwMrMgBUEpLmmMDgwVDxTYm7438AQw9zA0AAUZgTJAQAl4gyOeJzFkMENgDAMAy9t6QMxRV88GIgXc3TirlFMKA8mqCXHimMpUYAFiOIhJrAL48Ep19yPrO4nz2SpEait9K7+U0U0y65BJTMNNm/1H5vXfXT6CnVQJ7byknADpO8MFwAAeJwVjL1Kw1AARu93Y/7a3MTe/KdN2yS2V6kGjLEKYru4KA6Cgzj6ALp2cegiODj4DCKIr1D6AL6A7qIP4BNE48fhwFk+IhPy+yktpYDYZJ1skyNyRgiUEVKTxkhEmdMR3ER2fceURCYSNUtz6RB+qjheMS6HvqIqFkx0sZMUY5FTgd1yQg9QeDEQtqNzPuhw6RGNQHTvqhP6BLeXdazJVnW8OXWKvq3NDM5Dzh80RZY1SlcsE9e+p8t6Q6meZStyl70N2oMRiuj0kvXb/Oq+vIkHvg7M57DbffNl2opaNbeRZ/NQXWVaELFszcHsuxnYRjz8IvXwL/pBf0irDkeFkmO8pyPHBD48+s6qVzMJwLBfvTEEKcMFw5wb1aKJMGEQECwJ0awWRv30B+KIMJEAAHicY2BkYGAA4sM/urfH89t8ZeBmYQCBa0pmzxD0/4csDMwSQC4HAxNIFABNGgrfAHicY2BkYGBu+N/AEMPCAAJAkpEBFTADAEcJAmwEAAAAA+kAAAQAAAAAAAAAAHYAnnicY2BkYGBgZghkYGUAASYg5gJCBob/YD4DABD3AXAAeJxlj01OwzAQhV/6B6QSqqhgh+QFYgEo/RGrblhUavdddN+mTpsqiSPHrdQDcB6OwAk4AtyAO/BIJ5s2lsffvHljTwDc4Acejt8t95E9XDI7cg0XuBeuU38QbpBfhJto41W4Rf1N2MczpsJtdGF5g9e4YvaEd2EPHXwI13CNT+E69S/hBvlbuIk7/Aq30PHqwj7mXle4jUcv9sdWL5xeqeVBxaHJIpM5v4KZXu+Sha3S6pxrW8QmU4OgX0lTnWlb3VPs10PnIhVZk6oJqzpJjMqt2erQBRvn8lGvF4kehCblWGP+tsYCjnEFhSUOjDFCGGSIyujoO1Vm9K+xQ8Jee1Y9zed0WxTU/3OFAQL0z1xTurLSeTpPgT1fG1J1dCtuy56UNJFezUkSskJe1rZUQuoBNmVXjhF6XNGJPyhnSP8ACVpuyAAAAHicY2BigAAuBuyAmZGJkZmRhYGxgjuxqCi/XLcoMz2jhIEBAC8dBRY=) format("woff"),url(data:font/ttf;base64,AAEAAAALAIAAAwAwR1NVQrD+s+0AAAE4AAAAQk9TLzJW7kgMAAABfAAAAFZjbWFwmcAGvgAAAeAAAAGGZ2x5ZodVRJIAAANwAAABPGhlYWQPY7HCAAAA4AAAADZoaGVhB94DhAAAALwAAAAkaG10eAvpAAAAAAHUAAAADGxvY2EAdgCeAAADaAAAAAhtYXhwARIAXQAAARgAAAAgbmFtZT5U/n0AAASsAAACbXBvc3RBG9LpAAAHHAAAADkAAQAAA4D/gABcBAAAAAAABAAAAQAAAAAAAAAAAAAAAAAAAAMAAQAAAAEAAMP4i7dfDzz1AAsEAAAAAADWIjbmAAAAANYiNuYAAP/hBAADGAAAAAgAAgAAAAAAAAABAAAAAwBRAAUAAAAAAAIAAAAKAAoAAAD/AAAAAAAAAAEAAAAKAB4ALAABREZMVAAIAAQAAAAAAAAAAQAAAAFsaWdhAAgAAAABAAAAAQAEAAQAAAABAAgAAQAGAAAAAQAAAAAAAQP4AZAABQAIAokCzAAAAI8CiQLMAAAB6wAyAQgAAAIABQMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUGZFZABAAHjmIgOA/4AAXAOAAIAAAAABAAAAAAAABAAAAAPpAAAEAAAAAAAABQAAAAMAAAAsAAAABAAAAV4AAQAAAAAAWAADAAEAAAAsAAMACgAAAV4ABAAsAAAABgAEAAEAAgB45iL//wAAAHjmIv//AAAAAAABAAYABgAAAAEAAgAAAQYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAAAAAAAKAAAAAAAAAACAAAAeAAAAHgAAAABAADmIgAA5iIAAAACAAAAAAAAAHYAngAFAAD/4QO8AxgAEwAoADEARABQAAABBisBIg4CHQEhJzQuAisBFSEFFRcUDgMnIychByMiLgM9ARciBhQWMjY0JhcGBwYPAQ4BHgEzITI2Jy4CJwE1ND4COwEyFh0BARkbGlMSJRwSA5ABChgnHoX+SgKiARUfIxwPPi3+SSw/FDIgEwh3DBISGRISjAgGBQUIAgIEDw4BbRcWCQUJCgb+pAUPGhW8HykCHwEMGScaTFkNIBsSYYg0bh0lFwkBAYCAARMbIA6nPxEaEREaEXwaFhMSGQcQDQgYGg0jJBQBd+QLGBMMHSbjAAAAAAEAAAAAAtYC8AARAAABFAcBBi4BNjcJAS4BPgEXARYC1Q3+qQ4hGAENATj+yA0BGCINAVcNAYASDP66CwEZIQ0BJwEnDSEZAQv+ugwAAAAAAAASAN4AAQAAAAAAAAAVAAAAAQAAAAAAAQAIABUAAQAAAAAAAgAHAB0AAQAAAAAAAwAIACQAAQAAAAAABAAIACwAAQAAAAAABQALADQAAQAAAAAABgAIAD8AAQAAAAAACgArAEcAAQAAAAAACwATAHIAAwABBAkAAAAqAIUAAwABBAkAAQAQAK8AAwABBAkAAgAOAL8AAwABBAkAAwAQAM0AAwABBAkABAAQAN0AAwABBAkABQAWAO0AAwABBAkABgAQAQMAAwABBAkACgBWARMAAwABBAkACwAmAWkKQ3JlYXRlZCBieSBpY29uZm9udAppY29uZm9udFJlZ3VsYXJpY29uZm9udGljb25mb250VmVyc2lvbiAxLjBpY29uZm9udEdlbmVyYXRlZCBieSBzdmcydHRmIGZyb20gRm9udGVsbG8gcHJvamVjdC5odHRwOi8vZm9udGVsbG8uY29tAAoAQwByAGUAYQB0AGUAZAAgAGIAeQAgAGkAYwBvAG4AZgBvAG4AdAAKAGkAYwBvAG4AZgBvAG4AdABSAGUAZwB1AGwAYQByAGkAYwBvAG4AZgBvAG4AdABpAGMAbwBuAGYAbwBuAHQAVgBlAHIAcwBpAG8AbgAgADEALgAwAGkAYwBvAG4AZgBvAG4AdABHAGUAbgBlAHIAYQB0AGUAZAAgAGIAeQAgAHMAdgBnADIAdAB0AGYAIABmAHIAbwBtACAARgBvAG4AdABlAGwAbABvACAAcAByAG8AagBlAGMAdAAuAGgAdAB0AHAAOgAvAC8AZgBvAG4AdABlAGwAbABvAC4AYwBvAG0AAAAAAgAAAAAAAAAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAQIBAwEEAAF4C2Fycm93LXJpZ2h0AAAAAAA=) format("truetype"),url(data:image/svg+xml,%3C%3Fxml%20version%3D%221.0%22%20standalone%3D%22no%22%3F%3E%0A%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%20%3E%0A%3C!--%0A2013-9-30%3A%20Created.%0A--%3E%0A%3Csvg%3E%0A%3Cmetadata%3E%0ACreated%20by%20iconfont%0A%3C%2Fmetadata%3E%0A%3Cdefs%3E%0A%0A%3Cfont%20id%3D%22iconfont%22%20horiz-adv-x%3D%221024%22%20%3E%0A%20%20%3Cfont-face%0A%20%20%20%20font-family%3D%22iconfont%22%0A%20%20%20%20font-weight%3D%22500%22%0A%20%20%20%20font-stretch%3D%22normal%22%0A%20%20%20%20units-per-em%3D%221024%22%0A%20%20%20%20ascent%3D%22896%22%0A%20%20%20%20descent%3D%22-128%22%0A%20%20%2F%3E%0A%20%20%20%20%3Cmissing-glyph%20%2F%3E%0A%20%20%20%20%0A%20%20%20%20%3Cglyph%20glyph-name%3D%22x%22%20unicode%3D%22x%22%20horiz-adv-x%3D%221001%22%0Ad%3D%22M281%20543q-27%20-1%20-53%20-1h-83q-18%200%20-36.5%20-6t-32.5%20-18.5t-23%20-32t-9%20-45.5v-76h912v41q0%2016%20-0.5%2030t-0.5%2018q0%2013%20-5%2029t-17%2029.5t-31.5%2022.5t-49.5%209h-133v-97h-438v97zM955%20310v-52q0%20-23%200.5%20-52t0.5%20-58t-10.5%20-47.5t-26%20-30t-33%20-16t-31.5%20-4.5q-14%20-1%20-29.5%20-0.5%0At-29.5%200.5h-32l-45%20128h-439l-44%20-128h-29h-34q-20%200%20-45%201q-25%200%20-41%209.5t-25.5%2023t-13.5%2029.5t-4%2030v167h911zM163%20247q-12%200%20-21%20-8.5t-9%20-21.5t9%20-21.5t21%20-8.5q13%200%2022%208.5t9%2021.5t-9%2021.5t-22%208.5zM316%20123q-8%20-26%20-14%20-48q-5%20-19%20-10.5%20-37t-7.5%20-25t-3%20-15t1%20-14.5%0At9.5%20-10.5t21.5%20-4h37h67h81h80h64h36q23%200%2034%2012t2%2038q-5%2013%20-9.5%2030.5t-9.5%2034.5q-5%2019%20-11%2039h-368zM336%20498v228q0%2011%202.5%2023t10%2021.5t20.5%2015.5t34%206h188q31%200%2051.5%20-14.5t20.5%20-52.5v-227h-327z%22%20%2F%3E%0A%20%20%20%20%0A%0A%20%20%20%20%0A%20%20%20%20%3Cglyph%20glyph-name%3D%22arrow-right%22%20unicode%3D%22%26%2358914%3B%22%20d%3D%22M725.3399071604938%20383.8342991012345a41.425224691358025%2041.425224691358025%200%200%200-12.924670103703681-30.074713125925918l-343.82936493827134-325.2708642765434a41.425224691358025%2041.425224691358025%200%200%200-56.91825872592596%2060.23227670123452l312.0976428246912%20295.1961511506175-312.0976428246914%20295.4447024987654a41.50807514074074%2041.50807514074074%200%200%200-1.6570089876543506%2058.575267713580246c15.74158538271605%2016.570089876543207%2042.00517783703699%2017.315743920987664%2058.575267713580246%201.6570089876543506l343.8293649382716-325.6022660740737a41.425224691358025%2041.425224691358025%200%200%200%2012.924670103703713-30.15756357530862z%22%20%20horiz-adv-x%3D%221024%22%20%2F%3E%0A%0A%20%20%20%20%0A%0A%0A%20%20%3C%2Ffont%3E%0A%3C%2Fdefs%3E%3C%2Fsvg%3E%0A) format("svg")}.v-contextmenu-icon{font-family:v-contextmenu!important;font-size:inherit;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.v-contextmenu-icon-right-arrow:before{content:""}.v-contextmenu{position:absolute;background-color:#fff;border:1px solid #e8e8e8;border-radius:4px;-webkit-box-shadow:2px 2px 8px 0 rgba(150,150,150,.2);box-shadow:2px 2px 8px #96969633;font-size:14px;white-space:nowrap;line-height:1;z-index:2020;-webkit-tap-highlight-color:transparent}.v-contextmenu-inner{padding:5px 0;margin:0;list-style:none}.v-contextmenu-item{padding:5px 14px;line-height:1;color:#333;cursor:pointer}.v-contextmenu-item--hover{color:#fff;background-color:#2d3035}.v-contextmenu-item--disabled{color:#3336;cursor:not-allowed}.v-contextmenu-divider{height:0;margin:5px 0;border-bottom:1px solid #e8e8e8}.v-contextmenu-group__title{padding:5px 14px 2.5px;color:#3333338c;font-size:60%}.v-contextmenu-group__menus{padding:0 5px;margin:0;list-style:none}.v-contextmenu-group__menus .v-contextmenu-item{display:inline-block;padding:5px 9px}.v-contextmenu-submenu{position:relative}.v-contextmenu-submenu__title{padding-right:22.4px}.v-contextmenu-submenu__menus{position:absolute}.v-contextmenu-submenu__menus--left{left:0;-webkit-transform:translateX(-100%);transform:translate(-100%)}.v-contextmenu-submenu__menus--right{right:0;-webkit-transform:translateX(100%);transform:translate(100%)}.v-contextmenu-submenu__menus--top{top:-6px}.v-contextmenu-submenu__menus--bottom{bottom:-6px}.v-contextmenu-submenu__arrow{position:absolute;right:5px}.v-contextmenu-enter-active{-webkit-transition:opacity .3s ease-out;transition:opacity .3s ease-out}.v-contextmenu-leave-active{-webkit-transition:opacity .3s cubic-bezier(1,.5,.8,1);transition:opacity .3s cubic-bezier(1,.5,.8,1)}.v-contextmenu-enter-from,.v-contextmenu-leave-to{opacity:0}.logo[data-v-3f7537e5]{fill:var(--fg-base);padding:10px;width:60%}.logo[data-v-3f7537e5]:hover{cursor:pointer}.collapseSidebar[data-v-3f7537e5]{display:flex;flex-direction:row;justify-content:center;align-items:center;height:40px}.collapseSidebar.minimised[data-v-3f7537e5]{justify-content:center}.collapseSidebar .clickSymbol[data-v-3f7537e5]{border-radius:5px}.collapseSidebar .clickSymbol[data-v-3f7537e5]:hover{cursor:pointer;background:var(--hover-2)}.static[data-v-3f7537e5]{flex-shrink:0;flex-grow:0}@media screen and (max-width: 750px){.static[data-v-3f7537e5]{display:flex;flex-direction:row;justify-content:space-between;width:100%}}h2[data-v-3f7537e5]{margin-bottom:0}.cover[data-v-3f7537e5]{position:absolute;bottom:10px;width:100%;transform:translate(-10px,10px)}.playlistList[data-v-3f7537e5]{flex-grow:1;display:flex;flex-direction:column;overflow-y:auto}.playlistList.expanded[data-v-3f7537e5]{padding:0 10px}.playlistList>a[data-v-3f7537e5]{font-size:.92em;text-decoration:none;color:var(--font-darker);margin-bottom:4px;margin-top:4px}.playlistList>a[data-v-3f7537e5]:hover{color:var(--font-colour)}hr[data-v-3f7537e5]{width:100%}div.sidebar[data-v-3f7537e5]{background:var(--bg-base-dk);width:calc(var(--w-sidebar) + 20px);min-width:calc(var(--w-sidebar) + 20px);max-width:calc(var(--w-sidebar) + 20px);display:flex;flex-direction:column;padding:10px;margin:10px;border-radius:8px;max-height:100%;z-index:1;position:fixed;top:var(--h-header);bottom:var(--h-player);overflow:hidden;border:var(--border-container)}@media screen and (max-width: 750px){div.sidebar[data-v-3f7537e5]{flex-direction:row;position:absolute;top:0;right:0;bottom:0;left:0;border-radius:0;max-width:unset;width:100%;height:-moz-max-content;height:max-content;margin:0}}h2[data-v-3f7537e5]:hover{cursor:pointer}h2[data-v-3f7537e5]{margin:0;padding:10px}div.body[data-v-f3a65fee]{flex-grow:1;padding-left:calc(var(--w-sidebar) + 40px);margin-top:var(--h-header);margin-bottom:var(--h-player);max-height:calc(100vh - var(--h-header) - var(--h-player));height:100vh;height:100svh;width:100vw;overflow-x:hidden;overflow-y:auto}div.body.maximised[data-v-f3a65fee]{max-width:100vw;max-height:100vh}@media screen and (max-width: 950px){div.body[data-v-f3a65fee]{max-width:100vw;max-height:calc(100vh - var(--player-height-mobile) - var(--sidebar-height));padding-left:0;margin-bottom:0}}.progressBar__track[data-v-a9b735d7]{position:relative;width:100%;height:5px;margin:10px 0;border-radius:1000vmax;background-color:var(--fg-base-dkr)}.progressBar__progress[data-v-a9b735d7]{position:relative;height:5px;border-radius:1000vmax;background-color:var(--fg-base)}.progressBar__progress.hover[data-v-a9b735d7]{background-color:var(--fg-secondary)}.progressBar__progress.hover[data-v-a9b735d7]:after{content:""}.progressBar__progress[data-v-a9b735d7]:after{position:absolute;top:-5px;right:-5px;width:15px;height:15px;border-radius:50%;background-color:var(--fg-base)}.dropdown[data-v-5756bf60]{position:relative;display:inline-block}.dropdown__selected[data-v-5756bf60]{color:var(--fg-base-dk);cursor:pointer;font-size:1.5rem;border-radius:10px;padding:5px}.dropdown__selected[data-v-5756bf60]:hover{background:var(--bg-hover-lt);color:var(--fg-secondary)}.dropdown__options[data-v-5756bf60]{position:absolute;z-index:999;width:max(100%,20rem);max-height:20rem;overflow-y:auto;background:var(--bg-base);border-radius:5px;filter:var(--drop-shadow)}.dropdown__options .dropdown__option[data-v-5756bf60]{padding:.5rem;cursor:pointer;transition:all .2s ease-in-out;display:grid;grid-template-columns:35px 1fr 20px}.dropdown__options .dropdown__option[data-v-5756bf60]:hover{background:var(--bg-hover)}.loader[data-v-ed1fd951]{width:20px;height:20px;margin:auto;border:3px solid var(--fg-base-dk);border-bottom-color:transparent;border-radius:50%;display:inline-block;box-sizing:border-box;animation:rotation-ed1fd951 1s linear infinite}@keyframes rotation-ed1fd951{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#waveform wave,#waveform canvas{width:100%;height:calc(var(--h-player) / 2 - 1em)!important}.player .on-this-device>.material-symbols-rounded{color:var(--fg-secondary)}.player[data-v-ed8a9309]{background:var(--bg-base-lt);border-top:1px solid var(--border-base);z-index:2;position:fixed;bottom:0;left:0;right:0}.icon[data-v-ed8a9309]{color:var(--fg-base-dk)}.icon[data-v-ed8a9309]:hover{color:var(--fg-base)}.desktop[data-v-ed8a9309]{display:grid;height:calc(var(--h-player) - 1px);grid-template-columns:minmax(0,1fr) minmax(0,2fr) minmax(0,1fr);grid-template-areas:"song-info controls aux";gap:10px}.desktop .song-info[data-v-ed8a9309]{grid-area:song-info;display:grid;align-items:center;grid-template-columns:calc(var(--h-player) - 40px) fit-content(100%) 20px 20px;gap:10px;overflow:hidden}.desktop .song-info .title-artist[data-v-ed8a9309]{overflow:hidden}.desktop .song-info div[data-v-ed8a9309]{margin:auto 0}.desktop .controls[data-v-ed8a9309]{grid-area:controls;display:grid;grid-template-columns:1fr;grid-template-rows:1fr auto}.desktop .controls .top[data-v-ed8a9309]{display:grid;grid-template-columns:repeat(2,20px) 40px repeat(2,20px);gap:1.5em;justify-content:center}.desktop .controls .top span[data-v-ed8a9309]{margin:auto 0;font-size:1.5rem}.desktop .controls .top span[data-v-ed8a9309]:nth-child(3){font-size:2.5rem}.desktop .controls .bottom .display[data-v-ed8a9309]{display:grid;grid-template-columns:1fr 10fr 1fr;gap:.5em;margin-bottom:.5em;align-items:center}.desktop .aux[data-v-ed8a9309]{grid-area:aux;justify-content:end;display:grid;grid-template-columns:20px 20px 20px 20px minmax(auto,8vw);gap:1em;align-items:center}.desktop .aux a.icon[data-v-ed8a9309]{display:flex;text-decoration:none}.desktop .aux a.icon.router-link-active[data-v-ed8a9309]{color:var(--fg-secondary)}.mobile[data-v-ed8a9309]{top:0;right:0;bottom:0;left:0}.mobile .small[data-v-ed8a9309]{display:grid;grid-template-columns:calc(var(--h-player-mobile) - 1em) 1fr 30px 30px;gap:1em;margin:.5em;align-items:center;max-width:calc(100vw - 2em)}.mobile .small .cover[data-v-ed8a9309]{border-radius:10px;background:var(--bg-base-dk);margin:auto 0}.mobile .full[data-v-ed8a9309]{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;background:var(--bg-base);padding:2em;display:grid;grid-template-columns:1fr;grid-template-rows:30px 1fr fit-content(100%)}.mobile .full .cover[data-v-ed8a9309]{filter:drop-shadow(0 25px 25px rgba(0,0,0,.3))}.mobile .full .controls[data-v-ed8a9309]{display:flex;flex-direction:column-reverse}.mobile .full .controls .top[data-v-ed8a9309]{display:grid;grid-template-columns:repeat(5,1fr);gap:1.5em;justify-content:center}.mobile .full .controls .top span[data-v-ed8a9309]{margin:auto;font-size:2rem}.mobile .full .controls .top span[data-v-ed8a9309]:nth-child(3){font-size:3rem}.dropzone *[data-v-c5853362]{pointer-events:none}.dropzone.drophover[data-v-c5853362]:after{content:" ";display:block;text-align:center;color:var(--text-muted);font-style:italic;font-size:.8rem;background:rgba(0,0,0,.5);border-radius:1rem;position:absolute;top:0;right:0;bottom:0;left:0;margin-top:1em;margin-bottom:1em;margin-right:1em;z-index:1000}.noLink{text-decoration:none;color:unset}.noLink:hover{text-decoration:none;cursor:default;color:unset}.linkOnHover{text-decoration:none;color:unset}.linkOnHover:hover{text-decoration:underline;cursor:pointer;color:var(--fg-base)}.v-contextmenu{background:var(--fg-contrast)!important;font-family:var(--ff-base)!important;border:1px solid var(--bg-hover-dk);border-radius:1em;color:var(--fg-base)!important}.v-contextmenu .material-symbols-rounded{font-size:1rem}.v-contextmenu-inner{padding:.5em}.v-contextmenu-divider{border-color:var(--border-base)}.v-contextmenu-item{color:var(--fg-base)!important;padding:.75em;border-radius:.5em;display:flex;align-items:center;gap:.5em}.v-contextmenu-item .v-contextmenu-submenu{position:relative;width:100%}.v-contextmenu-item .v-contextmenu-submenu>.v-contextmenu-item{padding:0;width:100%;display:flex;justify-content:space-between;gap:1em}.v-contextmenu-item .v-contextmenu-submenu .v-contextmenu-submenu__arrow{position:relative}.v-contextmenu-item--hover{background:var(--bg-hover-dk)!important}::-webkit-scrollbar{width:var(--w-scrollbar);height:var(--w-scrollbar);padding:0;margin:0;z-index:101}::-webkit-scrollbar-track{border-radius:var(--w-scrollbar)}::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:var(--w-scrollbar)}::-webkit-scrollbar-thumb:hover{background:var(--bg-hover-dk)}:root{--fg-secondary: #1ed760;--fg-secondary-dk: #217e41;--bg-contrast: white;--fg-contrast: #121212;--fg-base: white;--fg-base-dk: #a7a7a7;--fg-base-dkr: #999;--bg-hover-ltr: #242424;--bg-hover-lt: hsla(0,0%,100%,.04);--bg-hover: hsla(0,0%,100%,.3);--bg-hover-dk: hsla(0,0%,100%,.1);--border-base: hsla(0,0%,100%,.1);--border-container: var(--border-base);--bg-gradient: linear-gradient(to left bottom, #1ed760, #217e41);--bg-base: #121212;--bg-base-lt: #181818;--bg-base-dk: black;--bg-fixedPlaylistHeader: var(--bg-base-lt);--border-fixedPlaylistHeader: #303030;--bg-input: var(--background-light);--ff-base: Poppins, sans-serif;--h-playlistEntry: 64px;--h-player: 88px;--h-player-mobile: 64px;--h-header: 64px;--w-sidebar: 44px;--h-sidebar: 64px;--w-scrollbar: 8px;--drop-shadow: drop-shadow(0 0 .5rem rgba(0, 0, 0, .2));--background: #1e1e1e;--neutral: #374148;--success: #00c48b;--fail: #e85454;--warning: #c7aa19;--info: #189de4}.showIfMobile{display:none!important}.hideIfMobile{display:inherit}@media only screen and (max-width: 750px){.showIfMobile{display:inherit!important}.hideIfMobile{display:none!important}}*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji"}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}h1{margin-top:.5rem;margin-bottom:.5rem;font-size:1.875rem;line-height:2.25rem;font-weight:900}h2{margin-top:1.25rem;margin-bottom:1.25rem;font-size:1.5rem;line-height:2rem;font-weight:700}h3{font-size:1.125rem;line-height:1.75rem;font-weight:700}h4{margin-top:1rem;margin-bottom:1rem;font-weight:700}h5{color:var(--fg-base-dk);text-transform:uppercase}h6{color:var(--fg-base-dk);margin-top:.5rem;margin-bottom:.5rem;font-size:.875rem;line-height:1.25rem}a{text-decoration-line:underline}a:hover{color:var(--fg-secondary)}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}@media (min-width: 1536px){.container{max-width:1536px}}.text-base{color:var(--fg-base)}.text-muted{color:var(--fg-base-dk)}.text-very-muted{color:var(--fg-base-dkr)}.text-secondary{color:var(--fg-secondary)}.bg-secondary{background-color:var(--fg-secondary)}p{margin-top:.5rem;margin-bottom:.5rem}.h1{margin-top:.5rem;margin-bottom:.5rem;font-size:1.875rem;line-height:2.25rem;font-weight:900}.h2{margin-top:1.25rem;margin-bottom:1.25rem;font-size:1.5rem;line-height:2rem;font-weight:700}.h3{font-size:1.125rem;line-height:1.75rem;font-weight:700}.h5{color:var(--fg-base-dk);text-transform:uppercase}.h6{color:var(--fg-base-dk);margin-top:.5rem;margin-bottom:.5rem;font-size:.875rem;line-height:1.25rem}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.top-0{top:0}.left-0{left:0}.z-\[1000\]{z-index:1000}.-z-10{z-index:-10}.z-10{z-index:10}.col-span-2{grid-column:span 2 / span 2}.m-0{margin:0}.mx-4{margin-left:1rem;margin-right:1rem}.my-0{margin-top:0;margin-bottom:0}.my-4{margin-top:1rem;margin-bottom:1rem}.my-auto{margin-top:auto;margin-bottom:auto}.my-2{margin-top:.5rem;margin-bottom:.5rem}.mr-2{margin-right:.5rem}.ml-4{margin-left:1rem}.mt-8{margin-top:2rem}.mb-4{margin-bottom:1rem}.mt-0{margin-top:0}.mb-2{margin-bottom:.5rem}.mt-4{margin-top:1rem}.mt-10{margin-top:2.5rem}.mb-0{margin-bottom:0}.ml-2{margin-left:.5rem}.ml-8{margin-left:2rem}.mr-4{margin-right:1rem}.ml-0{margin-left:0}.\!mt-0{margin-top:0!important}.mt-\[10px\]{margin-top:10px}.ml-auto{margin-left:auto}.block{display:block}.inline{display:inline}.flex{display:flex}.grid{display:grid}.\!grid{display:grid!important}.hidden{display:none}.h-8{height:2rem}.h-12{height:3rem}.h-full{height:100%}.h-96{height:24rem}.h-max{height:-moz-max-content;height:max-content}.w-full{width:100%}.w-8{width:2rem}.w-1\/2{width:50%}.w-1{width:.25rem}.w-max{width:-moz-max-content;width:max-content}.min-w-max{min-width:-moz-max-content;min-width:max-content}.min-w-\[40vw\]{min-width:40vw}.max-w-sm{max-width:24rem}.max-w-\[60ch\]{max-width:60ch}.flex-1{flex:1 1 0%}.flex-shrink{flex-shrink:1}.flex-grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize{resize:both}.list-disc{list-style-type:disc}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.\!grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.gap-8{gap:2rem}.self-start{align-self:flex-start}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.rounded-xl{border-radius:.75rem}.rounded-md{border-radius:.375rem}.rounded-full{border-radius:9999px}.rounded-3xl{border-radius:1.5rem}.rounded-t-2xl{border-top-left-radius:1rem;border-top-right-radius:1rem}.border{border-width:1px}.p-4{padding:1rem}.p-2{padding:.5rem}.p-\[10px\]{padding:10px}.p-3{padding:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.pt-4{padding-top:1rem}.pb-2{padding-bottom:.5rem}.pr-2{padding-right:.5rem}.pt-0{padding-top:0}.pb-4{padding-bottom:1rem}.pr-4{padding-right:1rem}.\!text-left{text-align:left!important}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-xs{font-size:.75rem;line-height:1rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-5xl{font-size:3rem;line-height:1}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-9xl{font-size:8rem;line-height:1}.font-bold{font-weight:700}.font-light{font-weight:300}.font-black{font-weight:900}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.leading-tight{line-height:1.25}.leading-relaxed{line-height:1.625}.underline{text-decoration-line:underline}.no-underline{text-decoration-line:none}.\!no-underline{text-decoration-line:none!important}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-50{opacity:.5}.outline{outline-style:solid}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-md{--tw-drop-shadow: drop-shadow(0 4px 3px rgb(0 0 0 / .07)) drop-shadow(0 2px 2px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-xl{--tw-drop-shadow: drop-shadow(0 20px 13px rgb(0 0 0 / .03)) drop-shadow(0 8px 5px rgb(0 0 0 / .08));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-2xl{--tw-drop-shadow: drop-shadow(0 25px 25px rgb(0 0 0 / .15));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow{--tw-drop-shadow: drop-shadow(0 1px 2px rgb(0 0 0 / .1)) drop-shadow(0 1px 1px rgb(0 0 0 / .06));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.grayscale{--tw-grayscale: grayscale(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}*{--tw-invert: 0}.fill-page{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center}.ms-wght-100{font-variation-settings:"wght" 100}.ms-wght-200{font-variation-settings:"wght" 200}.ms-wght-300{font-variation-settings:"wght" 300}.ms-wght-400{font-variation-settings:"wght" 400}.ms-wght-500{font-variation-settings:"wght" 500}.ms-wght-600{font-variation-settings:"wght" 600}.ms-wght-700{font-variation-settings:"wght" 700}.ms-wght-800{font-variation-settings:"wght" 800}.ms-wght-900{font-variation-settings:"wght" 900}.ms-fill{font-variation-settings:"FILL" 1}#app{font-family:var(--ff-base)!important;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-base);color:var(--fg-base)!important}hr{border-color:var(--border-base)}div.interface{display:flex;flex-direction:row;flex-grow:1;z-index:2;max-height:calc(100vh - var(--h-player) - var(--h-header))}@media only screen and (max-width: 750px){div.interface{max-height:calc(100vh - var(--h-player-mobile));overflow:auto;flex-direction:column}}div.appRoot{display:flex;flex-direction:column;width:100vw;height:100vh;height:100svh}html,body{margin:0;padding:0;overflow-x:hidden;overflow-y:auto}.bgImageWrapper{position:fixed;top:0;left:0;height:100%;width:100%;z-index:0!important;background:black}.bgImage{height:100%;width:100%;z-index:0!important;filter:blur(100px) brightness(.75);background-position:center;background-repeat:no-repeat;background-size:cover;transform:scale(1.1)}.mobileMenu{display:flex;flex-direction:row;justify-content:center}input[type=text],input[type=password]{background:var(--hover-2);border:1px solid var(--hover-3);border-radius:5px;color:var(--font-colour);padding:10px;width:auto;flex-grow:1;font-family:var(--font-family)}input[type=text]:focus,input[type=password]:focus{outline:none}input[type=text]:hover,input[type=password]:hover{background:var(--hover-1);border:1px solid var(--font-colour)}.hover\:text-primary:hover{color:var(--fg-base)}.hover\:underline:hover{text-decoration-line:underline}@media (min-width: 640px){.sm\:ml-0{margin-left:0}}@media (min-width: 768px){.md\:\!w-96{width:24rem!important}} diff --git a/src/ui/dist/assets/index-ff5b6ef4.css.gz b/src/ui/dist/assets/index-ff5b6ef4.css.gz deleted file mode 100644 index 62f1cebfd..000000000 Binary files a/src/ui/dist/assets/index-ff5b6ef4.css.gz and /dev/null differ diff --git a/src/ui/dist/assets/needles/needles-worker.js.gz b/src/ui/dist/assets/needles/needles-worker.js.gz index d586e9fd8..41e5c4f61 100644 Binary files a/src/ui/dist/assets/needles/needles-worker.js.gz and b/src/ui/dist/assets/needles/needles-worker.js.gz differ diff --git a/src/ui/dist/assets/playerInPicture-af203fdf.js b/src/ui/dist/assets/playerInPicture-Dfp9IAsf.js similarity index 100% rename from src/ui/dist/assets/playerInPicture-af203fdf.js rename to src/ui/dist/assets/playerInPicture-Dfp9IAsf.js diff --git a/src/ui/dist/assets/spotify-2bf3aeb7.js.gz b/src/ui/dist/assets/spotify-2bf3aeb7.js.gz deleted file mode 100644 index 183f993d8..000000000 Binary files a/src/ui/dist/assets/spotify-2bf3aeb7.js.gz and /dev/null differ diff --git a/src/ui/dist/assets/spotify-2bf3aeb7.js b/src/ui/dist/assets/spotify-BVNWZn3O.js similarity index 93% rename from src/ui/dist/assets/spotify-2bf3aeb7.js rename to src/ui/dist/assets/spotify-BVNWZn3O.js index 88d0c971a..946d91964 100644 --- a/src/ui/dist/assets/spotify-2bf3aeb7.js +++ b/src/ui/dist/assets/spotify-BVNWZn3O.js @@ -1 +1 @@ -import{o as c,c as e,a as o}from"./index-4a15a213.js";const t={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 168 168"},s=o("path",{fill:"#111",d:"M83.996.277C37.747.277.253 37.77.253 84.019c0 46.251 37.494 83.741 83.743 83.741 46.254 0 83.744-37.49 83.744-83.741 0-46.246-37.49-83.738-83.745-83.738l.001-.004zm38.404 120.78a5.217 5.217 0 0 1-7.18 1.73c-19.662-12.01-44.414-14.73-73.564-8.07a5.222 5.222 0 0 1-6.249-3.93 5.213 5.213 0 0 1 3.926-6.25c31.9-7.291 59.263-4.15 81.337 9.34 2.46 1.51 3.24 4.72 1.73 7.18zm10.25-22.805c-1.89 3.075-5.91 4.045-8.98 2.155-22.51-13.839-56.823-17.846-83.448-9.764-3.453 1.043-7.1-.903-8.148-4.35a6.538 6.538 0 0 1 4.354-8.143c30.413-9.228 68.222-4.758 94.072 11.127 3.07 1.89 4.04 5.91 2.15 8.976v-.001zm.88-23.744c-26.99-16.031-71.52-17.505-97.289-9.684-4.138 1.255-8.514-1.081-9.768-5.219a7.835 7.835 0 0 1 5.221-9.771c29.581-8.98 78.756-7.245 109.83 11.202a7.823 7.823 0 0 1 2.74 10.733c-2.2 3.722-7.02 4.949-10.73 2.739z"},null,-1),a=[s];function n(r,l){return c(),e("svg",t,[...a])}const _={render:n};export{_ as s}; +import{o as c,c as e,a as o}from"./index-DnhwPdfm.js";const t={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 168 168"},s=o("path",{fill:"#111",d:"M83.996.277C37.747.277.253 37.77.253 84.019c0 46.251 37.494 83.741 83.743 83.741 46.254 0 83.744-37.49 83.744-83.741 0-46.246-37.49-83.738-83.745-83.738l.001-.004zm38.404 120.78a5.217 5.217 0 0 1-7.18 1.73c-19.662-12.01-44.414-14.73-73.564-8.07a5.222 5.222 0 0 1-6.249-3.93 5.213 5.213 0 0 1 3.926-6.25c31.9-7.291 59.263-4.15 81.337 9.34 2.46 1.51 3.24 4.72 1.73 7.18zm10.25-22.805c-1.89 3.075-5.91 4.045-8.98 2.155-22.51-13.839-56.823-17.846-83.448-9.764-3.453 1.043-7.1-.903-8.148-4.35a6.538 6.538 0 0 1 4.354-8.143c30.413-9.228 68.222-4.758 94.072 11.127 3.07 1.89 4.04 5.91 2.15 8.976v-.001zm.88-23.744c-26.99-16.031-71.52-17.505-97.289-9.684-4.138 1.255-8.514-1.081-9.768-5.219a7.835 7.835 0 0 1 5.221-9.771c29.581-8.98 78.756-7.245 109.83 11.202a7.823 7.823 0 0 1 2.74 10.733c-2.2 3.722-7.02 4.949-10.73 2.739z"},null,-1),a=[s];function n(r,l){return c(),e("svg",t,[...a])}const _={render:n};export{_ as s}; diff --git a/src/ui/dist/assets/spotify-BVNWZn3O.js.gz b/src/ui/dist/assets/spotify-BVNWZn3O.js.gz new file mode 100644 index 000000000..56b3a67f4 Binary files /dev/null and b/src/ui/dist/assets/spotify-BVNWZn3O.js.gz differ diff --git a/src/ui/dist/assets/vuedraggable.umd-D7qFKUf_.js b/src/ui/dist/assets/vuedraggable.umd-D7qFKUf_.js new file mode 100644 index 000000000..d05a67f8c --- /dev/null +++ b/src/ui/dist/assets/vuedraggable.umd-D7qFKUf_.js @@ -0,0 +1,14 @@ +import{aQ as Br,aR as Kr,aS as Hr,aT as Vr,aU as Wr,aV as Xr,aW as Yr,F as zr,aX as Jr,aY as Qr,aZ as Zr,a_ as kr,a6 as qr,a$ as _r,b0 as tn,b1 as en,b2 as rn,b3 as nn,b4 as on,b5 as an,b6 as sn,b7 as ln,b8 as fn,b9 as un,ba as cn,bb as dn,D as vn,bc as hn,i as pn,d as gn,c as mn,a as yn,bd as Sn,be as bn,bf as En,bg as xn,bh as On,as as Tn,b as In,g as Pn,bi as Dn,bj as Cn,e as An,bk as Rn,bl as Mn,bm as Nn,bn as jn,bo as wn,bp as Fn,bq as Ln,br as Un,bs as Gn,bt as $n,bu as Bn,bv as Kn,bw as Hn,bx as Vn,by as Wn,bz as Xn,bA as Yn,bB as zn,bC as Jn,bD as Qn,bE as Zn,bF as kn,bG as qn,bH as _n,bI as to,bJ as eo,bK as ro,bL as no,bM as oo,bN as ao,bO as io,bP as so,bQ as lo,bR as fo,R as uo,Q as co,bS as vo,z as ho,bT as po,bU as go,bV as mo,bW as yo,bX as So,bY as bo,y as Eo,bZ as xo,b_ as Oo,b$ as To,c0 as Io,c1 as Po,c2 as Do,o as Co,m as Ao,c3 as Ro,c4 as Mo,l as No,c5 as jo,c6 as wo,c7 as Fo,n as Lo,c8 as Uo,c9 as Go,h as $o,r as Bo,f as Ko,ad as Ho,U as Vo,ca as Wo,cb as Xo,cc as Yo,cd as zo,ce as Jo,cf as Qo,cg as Zo,ch as ko,ci as qo,cj as _o,ck as ta,t as ea,cl as ra,cm as na,cn as oa,co as aa,cp as ia,cq as sa,cr as la,cs as fa,u as ua,ct as ca,cu as da,cv as va,cw as ha,cx as pa,cy as ga,cz as ma,cA as ya,cB as Sa,cC as ba,cD as Ea,a4 as xa,ah as Oa,cE as Ta,cF as Ia,E as Pa,a2 as Da,cG as Ca,cH as Aa,cI as Ra,w as Ma,cJ as Na,a3 as ja,a5 as wa,cK as Fa,O as La,cL as Ua,aA as Pr,cM as Ga,aB as $a}from"./index-DnhwPdfm.js";/** +* vue v3.4.30 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/const Ba=()=>{},Ka=Object.freeze(Object.defineProperty({__proto__:null,BaseTransition:Br,BaseTransitionPropsValidators:Kr,Comment:Hr,DeprecationTypes:Vr,EffectScope:Wr,ErrorCodes:Xr,ErrorTypeStrings:Yr,Fragment:zr,KeepAlive:Jr,ReactiveEffect:Qr,Static:Zr,Suspense:kr,Teleport:qr,Text:_r,TrackOpTypes:tn,Transition:en,TransitionGroup:rn,TriggerOpTypes:nn,VueElement:on,assertNumber:an,callWithAsyncErrorHandling:sn,callWithErrorHandling:ln,camelize:fn,capitalize:un,cloneVNode:cn,compatUtils:dn,compile:Ba,computed:vn,createApp:hn,createBlock:pn,createCommentVNode:gn,createElementBlock:mn,createElementVNode:yn,createHydrationRenderer:Sn,createPropsRestProxy:bn,createRenderer:En,createSSRApp:xn,createSlots:On,createStaticVNode:Tn,createTextVNode:In,createVNode:Pn,customRef:Dn,defineAsyncComponent:Cn,defineComponent:An,defineCustomElement:Rn,defineEmits:Mn,defineExpose:Nn,defineModel:jn,defineOptions:wn,defineProps:Fn,defineSSRCustomElement:Ln,defineSlots:Un,devtools:Gn,effect:$n,effectScope:Bn,getCurrentInstance:Kn,getCurrentScope:Hn,getTransitionRawChildren:Vn,guardReactiveProps:Wn,h:Xn,handleError:Yn,hasInjectionContext:zn,hydrate:Jn,initCustomFormatter:Qn,initDirectivesForSSR:Zn,inject:kn,isMemoSame:qn,isProxy:_n,isReactive:to,isReadonly:eo,isRef:ro,isRuntimeOnly:no,isShallow:oo,isVNode:ao,markRaw:io,mergeDefaults:so,mergeModels:lo,mergeProps:fo,nextTick:uo,normalizeClass:co,normalizeProps:vo,normalizeStyle:ho,onActivated:po,onBeforeMount:go,onBeforeUnmount:mo,onBeforeUpdate:yo,onDeactivated:So,onErrorCaptured:bo,onMounted:Eo,onRenderTracked:xo,onRenderTriggered:Oo,onScopeDispose:To,onServerPrefetch:Io,onUnmounted:Po,onUpdated:Do,openBlock:Co,popScopeId:Ao,provide:Ro,proxyRefs:Mo,pushScopeId:No,queuePostFlushCb:jo,reactive:wo,readonly:Fo,ref:Lo,registerRuntimeCompiler:Uo,render:Go,renderList:$o,renderSlot:Bo,resolveComponent:Ko,resolveDirective:Ho,resolveDynamicComponent:Vo,resolveFilter:Wo,resolveTransitionHooks:Xo,setBlockTracking:Yo,setDevtoolsHook:zo,setTransitionHooks:Jo,shallowReactive:Qo,shallowReadonly:Zo,shallowRef:ko,ssrContextKey:qo,ssrUtils:_o,stop:ta,toDisplayString:ea,toHandlerKey:ra,toHandlers:na,toRaw:oa,toRef:aa,toRefs:ia,toValue:sa,transformVNodeArgs:la,triggerRef:fa,unref:ua,useAttrs:ca,useCssModule:da,useCssVars:va,useModel:ha,useSSRContext:pa,useSlots:ga,useTransitionState:ma,vModelCheckbox:ya,vModelDynamic:Sa,vModelRadio:ba,vModelSelect:Ea,vModelText:xa,vShow:Oa,version:Ta,warn:Ia,watch:Pa,watchEffect:Da,watchPostEffect:Ca,watchSyncEffect:Aa,withAsyncContext:Ra,withCtx:Ma,withDefaults:Na,withDirectives:ja,withKeys:wa,withMemo:Fa,withModifiers:La,withScopeId:Ua},Symbol.toStringTag,{value:"Module"}));var Dr={exports:{}};const Ha=Pr(Ka);/**! + * Sortable 1.14.0 + * @author RubaXa + * @author owenm + * @license MIT + */function pr(s,r){var n=Object.keys(s);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(s);r&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(s,e).enumerable})),n.push.apply(n,i)}return n}function Kt(s){for(var r=1;r=0)&&(n[e]=s[e]);return n}function Xa(s,r){if(s==null)return{};var n=Wa(s,r),i,e;if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(s);for(e=0;e=0)&&Object.prototype.propertyIsEnumerable.call(s,i)&&(n[i]=s[i])}return n}function Ya(s){return za(s)||Ja(s)||Qa(s)||Za()}function za(s){if(Array.isArray(s))return ir(s)}function Ja(s){if(typeof Symbol<"u"&&s[Symbol.iterator]!=null||s["@@iterator"]!=null)return Array.from(s)}function Qa(s,r){if(s){if(typeof s=="string")return ir(s,r);var n=Object.prototype.toString.call(s).slice(8,-1);if(n==="Object"&&s.constructor&&(n=s.constructor.name),n==="Map"||n==="Set")return Array.from(s);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ir(s,r)}}function ir(s,r){(r==null||r>s.length)&&(r=s.length);for(var n=0,i=new Array(r);n"&&(r=r.substring(1)),s)try{if(s.matches)return s.matches(r);if(s.msMatchesSelector)return s.msMatchesSelector(r);if(s.webkitMatchesSelector)return s.webkitMatchesSelector(r)}catch{return!1}return!1}}function _a(s){return s.host&&s!==document&&s.host.nodeType?s.host:s.parentNode}function Ut(s,r,n,i){if(s){n=n||document;do{if(r!=null&&(r[0]===">"?s.parentNode===n&&He(s,r):He(s,r))||i&&s===n)return s;if(s===n)break}while(s=_a(s))}return null}var mr=/\s+/g;function st(s,r,n){if(s&&r)if(s.classList)s.classList[n?"add":"remove"](r);else{var i=(" "+s.className+" ").replace(mr," ").replace(" "+r+" "," ");s.className=(i+(n?" "+r:"")).replace(mr," ")}}function L(s,r,n){var i=s&&s.style;if(i){if(n===void 0)return document.defaultView&&document.defaultView.getComputedStyle?n=document.defaultView.getComputedStyle(s,""):s.currentStyle&&(n=s.currentStyle),r===void 0?n:n[r];!(r in i)&&r.indexOf("webkit")===-1&&(r="-webkit-"+r),i[r]=n+(typeof n=="string"?"":"px")}}function ee(s,r){var n="";if(typeof s=="string")n=s;else do{var i=L(s,"transform");i&&i!=="none"&&(n=i+" "+n)}while(!r&&(s=s.parentNode));var e=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return e&&new e(n)}function Rr(s,r,n){if(s){var i=s.getElementsByTagName(r),e=0,f=i.length;if(n)for(;e=f,!t)return i;if(i===Bt())break;i=Qt(i,!1)}return!1}function le(s,r,n,i){for(var e=0,f=0,t=s.children;f2&&arguments[2]!==void 0?arguments[2]:{},e=i.evt,f=Xa(i,ii);Ce.pluginEvent.bind(K)(r,n,Kt({dragEl:A,parentEl:ut,ghostEl:z,rootEl:ot,nextEl:te,lastDownEl:Ge,cloneEl:ct,cloneHidden:Jt,dragStarted:Se,putSortable:Et,activeSortable:K.active,originalEvent:e,oldIndex:se,oldDraggableIndex:Te,newIndex:Mt,newDraggableIndex:zt,hideGhostForTarget:Lr,unhideGhostForTarget:Ur,cloneNowHidden:function(){Jt=!0},cloneNowShown:function(){Jt=!1},dispatchSortableEvent:function(o){It({sortable:n,name:o,originalEvent:e})}},f))};function It(s){ye(Kt({putSortable:Et,cloneEl:ct,targetEl:A,rootEl:ot,oldIndex:se,oldDraggableIndex:Te,newIndex:Mt,newDraggableIndex:zt},s))}var A,ut,z,ot,te,Ge,ct,Jt,se,Mt,Te,zt,Me,Et,ie=!1,Ve=!1,We=[],qt,Ft,_e,tr,Er,xr,Se,oe,Ie,Pe=!1,Ne=!1,$e,xt,er=[],sr=!1,Xe=[],ze=typeof document<"u",je=Cr,Or=De||Vt?"cssFloat":"float",si=ze&&!qa&&!Cr&&"draggable"in document.createElement("div"),jr=function(){if(ze){if(Vt)return!1;var s=document.createElement("x");return s.style.cssText="pointer-events:auto",s.style.pointerEvents==="auto"}}(),wr=function(r,n){var i=L(r),e=parseInt(i.width)-parseInt(i.paddingLeft)-parseInt(i.paddingRight)-parseInt(i.borderLeftWidth)-parseInt(i.borderRightWidth),f=le(r,0,n),t=le(r,1,n),o=f&&L(f),a=t&&L(t),l=o&&parseInt(o.marginLeft)+parseInt(o.marginRight)+at(f).width,c=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+at(t).width;if(i.display==="flex")return i.flexDirection==="column"||i.flexDirection==="column-reverse"?"vertical":"horizontal";if(i.display==="grid")return i.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(f&&o.float&&o.float!=="none"){var u=o.float==="left"?"left":"right";return t&&(a.clear==="both"||a.clear===u)?"vertical":"horizontal"}return f&&(o.display==="block"||o.display==="flex"||o.display==="table"||o.display==="grid"||l>=e&&i[Or]==="none"||t&&i[Or]==="none"&&l+c>e)?"vertical":"horizontal"},li=function(r,n,i){var e=i?r.left:r.top,f=i?r.right:r.bottom,t=i?r.width:r.height,o=i?n.left:n.top,a=i?n.right:n.bottom,l=i?n.width:n.height;return e===o||f===a||e+t/2===o+l/2},fi=function(r,n){var i;return We.some(function(e){var f=e[Ot].options.emptyInsertThreshold;if(!(!f||cr(e))){var t=at(e),o=r>=t.left-f&&r<=t.right+f,a=n>=t.top-f&&n<=t.bottom+f;if(o&&a)return i=e}}),i},Fr=function(r){function n(f,t){return function(o,a,l,c){var u=o.options.group.name&&a.options.group.name&&o.options.group.name===a.options.group.name;if(f==null&&(t||u))return!0;if(f==null||f===!1)return!1;if(t&&f==="clone")return f;if(typeof f=="function")return n(f(o,a,l,c),t)(o,a,l,c);var d=(t?o:a).options.group.name;return f===!0||typeof f=="string"&&f===d||f.join&&f.indexOf(d)>-1}}var i={},e=r.group;(!e||Ue(e)!="object")&&(e={name:e}),i.name=e.name,i.checkPull=n(e.pull,!0),i.checkPut=n(e.put),i.revertClone=e.revertClone,r.group=i},Lr=function(){!jr&&z&&L(z,"display","none")},Ur=function(){!jr&&z&&L(z,"display","")};ze&&document.addEventListener("click",function(s){if(Ve)return s.preventDefault(),s.stopPropagation&&s.stopPropagation(),s.stopImmediatePropagation&&s.stopImmediatePropagation(),Ve=!1,!1},!0);var _t=function(r){if(A){r=r.touches?r.touches[0]:r;var n=fi(r.clientX,r.clientY);if(n){var i={};for(var e in r)r.hasOwnProperty(e)&&(i[e]=r[e]);i.target=i.rootEl=n,i.preventDefault=void 0,i.stopPropagation=void 0,n[Ot]._onDragOver(i)}}},ui=function(r){A&&A.parentNode[Ot]._isOutsideThisEl(r.target)};function K(s,r){if(!(s&&s.nodeType&&s.nodeType===1))throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(s));this.el=s,this.options=r=jt({},r),s[Ot]=this;var n={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(s.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return wr(s,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(t,o){t.setData("Text",o.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:K.supportPointer!==!1&&"PointerEvent"in window&&!xe,emptyInsertThreshold:5};Ce.initializePlugins(this,s,n);for(var i in n)!(i in r)&&(r[i]=n[i]);Fr(r);for(var e in this)e.charAt(0)==="_"&&typeof this[e]=="function"&&(this[e]=this[e].bind(this));this.nativeDraggable=r.forceFallback?!1:si,this.nativeDraggable&&(this.options.touchStartThreshold=1),r.supportPointer?Z(s,"pointerdown",this._onTapStart):(Z(s,"mousedown",this._onTapStart),Z(s,"touchstart",this._onTapStart)),this.nativeDraggable&&(Z(s,"dragover",this),Z(s,"dragenter",this)),We.push(this.el),r.store&&r.store.get&&this.sort(r.store.get(this)||[]),jt(this,ni())}K.prototype={constructor:K,_isOutsideThisEl:function(r){!this.el.contains(r)&&r!==this.el&&(oe=null)},_getDirection:function(r,n){return typeof this.options.direction=="function"?this.options.direction.call(this,r,n,A):this.options.direction},_onTapStart:function(r){if(r.cancelable){var n=this,i=this.el,e=this.options,f=e.preventOnFilter,t=r.type,o=r.touches&&r.touches[0]||r.pointerType&&r.pointerType==="touch"&&r,a=(o||r).target,l=r.target.shadowRoot&&(r.path&&r.path[0]||r.composedPath&&r.composedPath()[0])||a,c=e.filter;if(yi(i),!A&&!(/mousedown|pointerdown/.test(t)&&r.button!==0||e.disabled)&&!l.isContentEditable&&!(!this.nativeDraggable&&xe&&a&&a.tagName.toUpperCase()==="SELECT")&&(a=Ut(a,e.draggable,i,!1),!(a&&a.animated)&&Ge!==a)){if(se=dt(a),Te=dt(a,e.draggable),typeof c=="function"){if(c.call(this,r,a,this)){It({sortable:n,rootEl:l,name:"filter",targetEl:a,toEl:i,fromEl:i}),Dt("filter",n,{evt:r}),f&&r.cancelable&&r.preventDefault();return}}else if(c&&(c=c.split(",").some(function(u){if(u=Ut(l,u.trim(),i,!1),u)return It({sortable:n,rootEl:u,name:"filter",targetEl:a,fromEl:i,toEl:i}),Dt("filter",n,{evt:r}),!0}),c)){f&&r.cancelable&&r.preventDefault();return}e.handle&&!Ut(l,e.handle,i,!1)||this._prepareDragStart(r,o,a)}}},_prepareDragStart:function(r,n,i){var e=this,f=e.el,t=e.options,o=f.ownerDocument,a;if(i&&!A&&i.parentNode===f){var l=at(i);if(ot=f,A=i,ut=A.parentNode,te=A.nextSibling,Ge=i,Me=t.group,K.dragged=A,qt={target:A,clientX:(n||r).clientX,clientY:(n||r).clientY},Er=qt.clientX-l.left,xr=qt.clientY-l.top,this._lastX=(n||r).clientX,this._lastY=(n||r).clientY,A.style["will-change"]="all",a=function(){if(Dt("delayEnded",e,{evt:r}),K.eventCanceled){e._onDrop();return}e._disableDelayedDragEvents(),!gr&&e.nativeDraggable&&(A.draggable=!0),e._triggerDragStart(r,n),It({sortable:e,name:"choose",originalEvent:r}),st(A,t.chosenClass,!0)},t.ignore.split(",").forEach(function(c){Rr(A,c.trim(),rr)}),Z(o,"dragover",_t),Z(o,"mousemove",_t),Z(o,"touchmove",_t),Z(o,"mouseup",e._onDrop),Z(o,"touchend",e._onDrop),Z(o,"touchcancel",e._onDrop),gr&&this.nativeDraggable&&(this.options.touchStartThreshold=4,A.draggable=!0),Dt("delayStart",this,{evt:r}),t.delay&&(!t.delayOnTouchOnly||n)&&(!this.nativeDraggable||!(De||Vt))){if(K.eventCanceled){this._onDrop();return}Z(o,"mouseup",e._disableDelayedDrag),Z(o,"touchend",e._disableDelayedDrag),Z(o,"touchcancel",e._disableDelayedDrag),Z(o,"mousemove",e._delayedDragTouchMoveHandler),Z(o,"touchmove",e._delayedDragTouchMoveHandler),t.supportPointer&&Z(o,"pointermove",e._delayedDragTouchMoveHandler),e._dragStartTimer=setTimeout(a,t.delay)}else a()}},_delayedDragTouchMoveHandler:function(r){var n=r.touches?r.touches[0]:r;Math.max(Math.abs(n.clientX-this._lastX),Math.abs(n.clientY-this._lastY))>=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){A&&rr(A),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var r=this.el.ownerDocument;Q(r,"mouseup",this._disableDelayedDrag),Q(r,"touchend",this._disableDelayedDrag),Q(r,"touchcancel",this._disableDelayedDrag),Q(r,"mousemove",this._delayedDragTouchMoveHandler),Q(r,"touchmove",this._delayedDragTouchMoveHandler),Q(r,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(r,n){n=n||r.pointerType=="touch"&&r,!this.nativeDraggable||n?this.options.supportPointer?Z(document,"pointermove",this._onTouchMove):n?Z(document,"touchmove",this._onTouchMove):Z(document,"mousemove",this._onTouchMove):(Z(A,"dragend",this),Z(ot,"dragstart",this._onDragStart));try{document.selection?Be(function(){document.selection.empty()}):window.getSelection().removeAllRanges()}catch{}},_dragStarted:function(r,n){if(ie=!1,ot&&A){Dt("dragStarted",this,{evt:n}),this.nativeDraggable&&Z(document,"dragover",ui);var i=this.options;!r&&st(A,i.dragClass,!1),st(A,i.ghostClass,!0),K.active=this,r&&this._appendGhost(),It({sortable:this,name:"start",originalEvent:n})}else this._nulling()},_emulateDragOver:function(){if(Ft){this._lastX=Ft.clientX,this._lastY=Ft.clientY,Lr();for(var r=document.elementFromPoint(Ft.clientX,Ft.clientY),n=r;r&&r.shadowRoot&&(r=r.shadowRoot.elementFromPoint(Ft.clientX,Ft.clientY),r!==n);)n=r;if(A.parentNode[Ot]._isOutsideThisEl(r),n)do{if(n[Ot]){var i=void 0;if(i=n[Ot]._onDragOver({clientX:Ft.clientX,clientY:Ft.clientY,target:r,rootEl:n}),i&&!this.options.dragoverBubble)break}r=n}while(n=n.parentNode);Ur()}},_onTouchMove:function(r){if(qt){var n=this.options,i=n.fallbackTolerance,e=n.fallbackOffset,f=r.touches?r.touches[0]:r,t=z&&ee(z,!0),o=z&&t&&t.a,a=z&&t&&t.d,l=je&&xt&&Sr(xt),c=(f.clientX-qt.clientX+e.x)/(o||1)+(l?l[0]-er[0]:0)/(o||1),u=(f.clientY-qt.clientY+e.y)/(a||1)+(l?l[1]-er[1]:0)/(a||1);if(!K.active&&!ie){if(i&&Math.max(Math.abs(f.clientX-this._lastX),Math.abs(f.clientY-this._lastY))=0&&(It({rootEl:ut,name:"add",toEl:ut,fromEl:ot,originalEvent:r}),It({sortable:this,name:"remove",toEl:ut,originalEvent:r}),It({rootEl:ut,name:"sort",toEl:ut,fromEl:ot,originalEvent:r}),It({sortable:this,name:"sort",toEl:ut,originalEvent:r})),Et&&Et.save()):Mt!==se&&Mt>=0&&(It({sortable:this,name:"update",toEl:ut,originalEvent:r}),It({sortable:this,name:"sort",toEl:ut,originalEvent:r})),K.active&&((Mt==null||Mt===-1)&&(Mt=se,zt=Te),It({sortable:this,name:"end",toEl:ut,originalEvent:r}),this.save()))),this._nulling()},_nulling:function(){Dt("nulling",this),ot=A=ut=z=te=ct=Ge=Jt=qt=Ft=Se=Mt=zt=se=Te=oe=Ie=Et=Me=K.dragged=K.ghost=K.clone=K.active=null,Xe.forEach(function(r){r.checked=!0}),Xe.length=_e=tr=0},handleEvent:function(r){switch(r.type){case"drop":case"dragend":this._onDrop(r);break;case"dragenter":case"dragover":A&&(this._onDragOver(r),ci(r));break;case"selectstart":r.preventDefault();break}},toArray:function(){for(var r=[],n,i=this.el.children,e=0,f=i.length,t=this.options;ei.right+e||s.clientX<=i.right&&s.clientY>i.bottom&&s.clientX>=i.left:s.clientX>i.right&&s.clientY>i.top||s.clientX<=i.right&&s.clientY>i.bottom+e}function pi(s,r,n,i,e,f,t,o){var a=i?s.clientY:s.clientX,l=i?n.height:n.width,c=i?n.top:n.left,u=i?n.bottom:n.right,d=!1;if(!t){if(o&&$ec+l*f/2:au-$e)return-Ie}else if(a>c+l*(1-e)/2&&au-l*f/2)?a>c+l/2?1:-1:0}function gi(s){return dt(A)1&&(Y.forEach(function(o){f.addAnimationState({target:o,rect:Ct?at(o):t}),ke(o),o.fromRect=t,i.removeAnimationState(o)}),Ct=!1,Oi(!this.options.removeCloneOnHide,e))},dragOverCompleted:function(n){var i=n.sortable,e=n.isOwner,f=n.insertion,t=n.activeSortable,o=n.parentEl,a=n.putSortable,l=this.options;if(f){if(e&&t._hideClone(),ge=!1,l.animation&&Y.length>1&&(Ct||!e&&!t.options.sort&&!a)){var c=at(et,!1,!0,!0);Y.forEach(function(d){d!==et&&(br(d,c),o.appendChild(d))}),Ct=!0}if(!e)if(Ct||Le(),Y.length>1){var u=Fe;t._showClone(i),t.options.animation&&!Fe&&u&&Rt.forEach(function(d){t.addAnimationState({target:d,rect:me}),d.fromRect=me,d.thisAnimationDuration=null})}else t._showClone(i)}},dragOverAnimationCapture:function(n){var i=n.dragRect,e=n.isOwner,f=n.activeSortable;if(Y.forEach(function(o){o.thisAnimationDuration=null}),f.options.animation&&!e&&f.multiDrag.isMultiDrag){me=jt({},i);var t=ee(et,!0);me.top-=t.f,me.left-=t.e}},dragOverAnimationComplete:function(){Ct&&(Ct=!1,Le())},drop:function(n){var i=n.originalEvent,e=n.rootEl,f=n.parentEl,t=n.sortable,o=n.dispatchSortableEvent,a=n.oldIndex,l=n.putSortable,c=l||this.sortable;if(i){var u=this.options,d=f.children;if(!ae)if(u.multiDragKey&&!this.multiDragKeyDown&&this._deselectMultiDrag(),st(et,u.selectedClass,!~Y.indexOf(et)),~Y.indexOf(et))Y.splice(Y.indexOf(et),1),pe=null,ye({sortable:t,rootEl:e,name:"deselect",targetEl:et,originalEvt:i});else{if(Y.push(et),ye({sortable:t,rootEl:e,name:"select",targetEl:et,originalEvt:i}),i.shiftKey&&pe&&t.el.contains(pe)){var v=dt(pe),h=dt(et);if(~v&&~h&&v!==h){var p,g;for(h>v?(g=v,p=h):(g=h,p=v+1);g1){var S=at(et),b=dt(et,":not(."+this.options.selectedClass+")");if(!ge&&u.animation&&(et.thisAnimationDuration=null),c.captureAnimationState(),!ge&&(u.animation&&(et.fromRect=S,Y.forEach(function(x){if(x.thisAnimationDuration=null,x!==et){var P=Ct?at(x):S;x.fromRect=P,c.addAnimationState({target:x,rect:P})}})),Le(),Y.forEach(function(x){d[b]?f.insertBefore(x,d[b]):f.appendChild(x),b++}),a===dt(et))){var I=!1;Y.forEach(function(x){if(x.sortableIndex!==dt(x)){I=!0;return}}),I&&o("update")}Y.forEach(function(x){ke(x)}),c.animateAll()}Lt=c}(e===f||l&&l.lastPutMode!=="clone")&&Rt.forEach(function(x){x.parentNode&&x.parentNode.removeChild(x)})}},nullingGlobal:function(){this.isMultiDrag=ae=!1,Rt.length=0},destroyGlobal:function(){this._deselectMultiDrag(),Q(document,"pointerup",this._deselectMultiDrag),Q(document,"mouseup",this._deselectMultiDrag),Q(document,"touchend",this._deselectMultiDrag),Q(document,"keydown",this._checkKeyDown),Q(document,"keyup",this._checkKeyUp)},_deselectMultiDrag:function(n){if(!(typeof ae<"u"&&ae)&&Lt===this.sortable&&!(n&&Ut(n.target,this.options.draggable,this.sortable.el,!1))&&!(n&&n.button!==0))for(;Y.length;){var i=Y[0];st(i,this.options.selectedClass,!1),Y.shift(),ye({sortable:this.sortable,rootEl:this.sortable.el,name:"deselect",targetEl:i,originalEvt:n})}},_checkKeyDown:function(n){n.key===this.options.multiDragKey&&(this.multiDragKeyDown=!0)},_checkKeyUp:function(n){n.key===this.options.multiDragKey&&(this.multiDragKeyDown=!1)}},jt(s,{pluginName:"multiDrag",utils:{select:function(n){var i=n.parentNode[Ot];!i||!i.options.multiDrag||~Y.indexOf(n)||(Lt&&Lt!==i&&(Lt.multiDrag._deselectMultiDrag(),Lt=i),st(n,i.options.selectedClass,!0),Y.push(n))},deselect:function(n){var i=n.parentNode[Ot],e=Y.indexOf(n);!i||!i.options.multiDrag||!~e||(st(n,i.options.selectedClass,!1),Y.splice(e,1))}},eventProperties:function(){var n=this,i=[],e=[];return Y.forEach(function(f){i.push({multiDragElement:f,index:f.sortableIndex});var t;Ct&&f!==et?t=-1:Ct?t=dt(f,":not(."+n.options.selectedClass+")"):t=dt(f),e.push({multiDragElement:f,index:t})}),{items:Ya(Y),clones:[].concat(Rt),oldIndicies:i,newIndicies:e}},optionListeners:{multiDragKey:function(n){return n=n.toLowerCase(),n==="ctrl"?n="Control":n.length>1&&(n=n.charAt(0).toUpperCase()+n.substr(1)),n}}})}function Oi(s,r){Y.forEach(function(n,i){var e=r.children[n.sortableIndex+(s?Number(i):0)];e?r.insertBefore(n,e):r.appendChild(n)})}function Ir(s,r){Rt.forEach(function(n,i){var e=r.children[n.sortableIndex+(s?Number(i):0)];e?r.insertBefore(n,e):r.appendChild(n)})}function Le(){Y.forEach(function(s){s!==et&&s.parentNode&&s.parentNode.removeChild(s)})}K.mount(new Si);K.mount(hr,vr);const Ti=Object.freeze(Object.defineProperty({__proto__:null,MultiDrag:xi,Sortable:K,Swap:bi,default:K},Symbol.toStringTag,{value:"Module"})),Ii=Pr(Ti);(function(s,r){(function(i,e){s.exports=e(Ha,Ii)})(typeof self<"u"?self:Ga,function(n,i){return function(e){var f={};function t(o){if(f[o])return f[o].exports;var a=f[o]={i:o,l:!1,exports:{}};return e[o].call(a.exports,a,a.exports,t),a.l=!0,a.exports}return t.m=e,t.c=f,t.d=function(o,a,l){t.o(o,a)||Object.defineProperty(o,a,{enumerable:!0,get:l})},t.r=function(o){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(o,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(o,"__esModule",{value:!0})},t.t=function(o,a){if(a&1&&(o=t(o)),a&8||a&4&&typeof o=="object"&&o&&o.__esModule)return o;var l=Object.create(null);if(t.r(l),Object.defineProperty(l,"default",{enumerable:!0,value:o}),a&2&&typeof o!="string")for(var c in o)t.d(l,c,(function(u){return o[u]}).bind(null,c));return l},t.n=function(o){var a=o&&o.__esModule?function(){return o.default}:function(){return o};return t.d(a,"a",a),a},t.o=function(o,a){return Object.prototype.hasOwnProperty.call(o,a)},t.p="",t(t.s="fb15")}({"00ee":function(e,f,t){var o=t("b622"),a=o("toStringTag"),l={};l[a]="z",e.exports=String(l)==="[object z]"},"0366":function(e,f,t){var o=t("1c0b");e.exports=function(a,l,c){if(o(a),l===void 0)return a;switch(c){case 0:return function(){return a.call(l)};case 1:return function(u){return a.call(l,u)};case 2:return function(u,d){return a.call(l,u,d)};case 3:return function(u,d,v){return a.call(l,u,d,v)}}return function(){return a.apply(l,arguments)}}},"057f":function(e,f,t){var o=t("fc6a"),a=t("241c").f,l={}.toString,c=typeof window=="object"&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],u=function(d){try{return a(d)}catch{return c.slice()}};e.exports.f=function(v){return c&&l.call(v)=="[object Window]"?u(v):a(o(v))}},"06cf":function(e,f,t){var o=t("83ab"),a=t("d1e7"),l=t("5c6c"),c=t("fc6a"),u=t("c04e"),d=t("5135"),v=t("0cfb"),h=Object.getOwnPropertyDescriptor;f.f=o?h:function(g,S){if(g=c(g),S=u(S,!0),v)try{return h(g,S)}catch{}if(d(g,S))return l(!a.f.call(g,S),g[S])}},"0cfb":function(e,f,t){var o=t("83ab"),a=t("d039"),l=t("cc12");e.exports=!o&&!a(function(){return Object.defineProperty(l("div"),"a",{get:function(){return 7}}).a!=7})},"13d5":function(e,f,t){var o=t("23e7"),a=t("d58f").left,l=t("a640"),c=t("ae40"),u=l("reduce"),d=c("reduce",{1:0});o({target:"Array",proto:!0,forced:!u||!d},{reduce:function(h){return a(this,h,arguments.length,arguments.length>1?arguments[1]:void 0)}})},"14c3":function(e,f,t){var o=t("c6b6"),a=t("9263");e.exports=function(l,c){var u=l.exec;if(typeof u=="function"){var d=u.call(l,c);if(typeof d!="object")throw TypeError("RegExp exec method returned something other than an Object or null");return d}if(o(l)!=="RegExp")throw TypeError("RegExp#exec called on incompatible receiver");return a.call(l,c)}},"159b":function(e,f,t){var o=t("da84"),a=t("fdbc"),l=t("17c2"),c=t("9112");for(var u in a){var d=o[u],v=d&&d.prototype;if(v&&v.forEach!==l)try{c(v,"forEach",l)}catch{v.forEach=l}}},"17c2":function(e,f,t){var o=t("b727").forEach,a=t("a640"),l=t("ae40"),c=a("forEach"),u=l("forEach");e.exports=!c||!u?function(v){return o(this,v,arguments.length>1?arguments[1]:void 0)}:[].forEach},"1be4":function(e,f,t){var o=t("d066");e.exports=o("document","documentElement")},"1c0b":function(e,f){e.exports=function(t){if(typeof t!="function")throw TypeError(String(t)+" is not a function");return t}},"1c7e":function(e,f,t){var o=t("b622"),a=o("iterator"),l=!1;try{var c=0,u={next:function(){return{done:!!c++}},return:function(){l=!0}};u[a]=function(){return this},Array.from(u,function(){throw 2})}catch{}e.exports=function(d,v){if(!v&&!l)return!1;var h=!1;try{var p={};p[a]=function(){return{next:function(){return{done:h=!0}}}},d(p)}catch{}return h}},"1d80":function(e,f){e.exports=function(t){if(t==null)throw TypeError("Can't call method on "+t);return t}},"1dde":function(e,f,t){var o=t("d039"),a=t("b622"),l=t("2d00"),c=a("species");e.exports=function(u){return l>=51||!o(function(){var d=[],v=d.constructor={};return v[c]=function(){return{foo:1}},d[u](Boolean).foo!==1})}},"23cb":function(e,f,t){var o=t("a691"),a=Math.max,l=Math.min;e.exports=function(c,u){var d=o(c);return d<0?a(d+u,0):l(d,u)}},"23e7":function(e,f,t){var o=t("da84"),a=t("06cf").f,l=t("9112"),c=t("6eeb"),u=t("ce4e"),d=t("e893"),v=t("94ca");e.exports=function(h,p){var g=h.target,S=h.global,b=h.stat,I,x,P,O,F,U;if(S?x=o:b?x=o[g]||u(g,{}):x=(o[g]||{}).prototype,x)for(P in p){if(F=p[P],h.noTargetGet?(U=a(x,P),O=U&&U.value):O=x[P],I=v(S?P:g+(b?".":"#")+P,h.forced),!I&&O!==void 0){if(typeof F==typeof O)continue;d(F,O)}(h.sham||O&&O.sham)&&l(F,"sham",!0),c(x,P,F,h)}}},"241c":function(e,f,t){var o=t("ca84"),a=t("7839"),l=a.concat("length","prototype");f.f=Object.getOwnPropertyNames||function(u){return o(u,l)}},"25f0":function(e,f,t){var o=t("6eeb"),a=t("825a"),l=t("d039"),c=t("ad6d"),u="toString",d=RegExp.prototype,v=d[u],h=l(function(){return v.call({source:"a",flags:"b"})!="/a/b"}),p=v.name!=u;(h||p)&&o(RegExp.prototype,u,function(){var S=a(this),b=String(S.source),I=S.flags,x=String(I===void 0&&S instanceof RegExp&&!("flags"in d)?c.call(S):I);return"/"+b+"/"+x},{unsafe:!0})},"2ca0":function(e,f,t){var o=t("23e7"),a=t("06cf").f,l=t("50c4"),c=t("5a34"),u=t("1d80"),d=t("ab13"),v=t("c430"),h="".startsWith,p=Math.min,g=d("startsWith"),S=!v&&!g&&!!function(){var b=a(String.prototype,"startsWith");return b&&!b.writable}();o({target:"String",proto:!0,forced:!S&&!g},{startsWith:function(I){var x=String(u(this));c(I);var P=l(p(arguments.length>1?arguments[1]:void 0,x.length)),O=String(I);return h?h.call(x,O,P):x.slice(P,P+O.length)===O}})},"2d00":function(e,f,t){var o=t("da84"),a=t("342f"),l=o.process,c=l&&l.versions,u=c&&c.v8,d,v;u?(d=u.split("."),v=d[0]+d[1]):a&&(d=a.match(/Edge\/(\d+)/),(!d||d[1]>=74)&&(d=a.match(/Chrome\/(\d+)/),d&&(v=d[1]))),e.exports=v&&+v},"342f":function(e,f,t){var o=t("d066");e.exports=o("navigator","userAgent")||""},"35a1":function(e,f,t){var o=t("f5df"),a=t("3f8c"),l=t("b622"),c=l("iterator");e.exports=function(u){if(u!=null)return u[c]||u["@@iterator"]||a[o(u)]}},"37e8":function(e,f,t){var o=t("83ab"),a=t("9bf2"),l=t("825a"),c=t("df75");e.exports=o?Object.defineProperties:function(d,v){l(d);for(var h=c(v),p=h.length,g=0,S;p>g;)a.f(d,S=h[g++],v[S]);return d}},"3bbe":function(e,f,t){var o=t("861d");e.exports=function(a){if(!o(a)&&a!==null)throw TypeError("Can't set "+String(a)+" as a prototype");return a}},"3ca3":function(e,f,t){var o=t("6547").charAt,a=t("69f3"),l=t("7dd0"),c="String Iterator",u=a.set,d=a.getterFor(c);l(String,"String",function(v){u(this,{type:c,string:String(v),index:0})},function(){var h=d(this),p=h.string,g=h.index,S;return g>=p.length?{value:void 0,done:!0}:(S=o(p,g),h.index+=S.length,{value:S,done:!1})})},"3f8c":function(e,f){e.exports={}},4160:function(e,f,t){var o=t("23e7"),a=t("17c2");o({target:"Array",proto:!0,forced:[].forEach!=a},{forEach:a})},"428f":function(e,f,t){var o=t("da84");e.exports=o},"44ad":function(e,f,t){var o=t("d039"),a=t("c6b6"),l="".split;e.exports=o(function(){return!Object("z").propertyIsEnumerable(0)})?function(c){return a(c)=="String"?l.call(c,""):Object(c)}:Object},"44d2":function(e,f,t){var o=t("b622"),a=t("7c73"),l=t("9bf2"),c=o("unscopables"),u=Array.prototype;u[c]==null&&l.f(u,c,{configurable:!0,value:a(null)}),e.exports=function(d){u[c][d]=!0}},"44e7":function(e,f,t){var o=t("861d"),a=t("c6b6"),l=t("b622"),c=l("match");e.exports=function(u){var d;return o(u)&&((d=u[c])!==void 0?!!d:a(u)=="RegExp")}},4930:function(e,f,t){var o=t("d039");e.exports=!!Object.getOwnPropertySymbols&&!o(function(){return!String(Symbol())})},"4d64":function(e,f,t){var o=t("fc6a"),a=t("50c4"),l=t("23cb"),c=function(u){return function(d,v,h){var p=o(d),g=a(p.length),S=l(h,g),b;if(u&&v!=v){for(;g>S;)if(b=p[S++],b!=b)return!0}else for(;g>S;S++)if((u||S in p)&&p[S]===v)return u||S||0;return!u&&-1}};e.exports={includes:c(!0),indexOf:c(!1)}},"4de4":function(e,f,t){var o=t("23e7"),a=t("b727").filter,l=t("1dde"),c=t("ae40"),u=l("filter"),d=c("filter");o({target:"Array",proto:!0,forced:!u||!d},{filter:function(h){return a(this,h,arguments.length>1?arguments[1]:void 0)}})},"4df4":function(e,f,t){var o=t("0366"),a=t("7b0b"),l=t("9bdd"),c=t("e95a"),u=t("50c4"),d=t("8418"),v=t("35a1");e.exports=function(p){var g=a(p),S=typeof this=="function"?this:Array,b=arguments.length,I=b>1?arguments[1]:void 0,x=I!==void 0,P=v(g),O=0,F,U,T,M,j,X;if(x&&(I=o(I,b>2?arguments[2]:void 0,2)),P!=null&&!(S==Array&&c(P)))for(M=P.call(g),j=M.next,U=new S;!(T=j.call(M)).done;O++)X=x?l(M,I,[T.value,O],!0):T.value,d(U,O,X);else for(F=u(g.length),U=new S(F);F>O;O++)X=x?I(g[O],O):g[O],d(U,O,X);return U.length=O,U}},"4fad":function(e,f,t){var o=t("23e7"),a=t("6f53").entries;o({target:"Object",stat:!0},{entries:function(c){return a(c)}})},"50c4":function(e,f,t){var o=t("a691"),a=Math.min;e.exports=function(l){return l>0?a(o(l),9007199254740991):0}},5135:function(e,f){var t={}.hasOwnProperty;e.exports=function(o,a){return t.call(o,a)}},5319:function(e,f,t){var o=t("d784"),a=t("825a"),l=t("7b0b"),c=t("50c4"),u=t("a691"),d=t("1d80"),v=t("8aa5"),h=t("14c3"),p=Math.max,g=Math.min,S=Math.floor,b=/\$([$&'`]|\d\d?|<[^>]*>)/g,I=/\$([$&'`]|\d\d?)/g,x=function(P){return P===void 0?P:String(P)};o("replace",2,function(P,O,F,U){var T=U.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,M=U.REPLACE_KEEPS_$0,j=T?"$":"$0";return[function(R,W){var N=d(this),$=R==null?void 0:R[P];return $!==void 0?$.call(R,N,W):O.call(String(N),R,W)},function(C,R){if(!T&&M||typeof R=="string"&&R.indexOf(j)===-1){var W=F(O,C,this,R);if(W.done)return W.value}var N=a(C),$=String(this),_=typeof R=="function";_||(R=String(R));var rt=N.global;if(rt){var yt=N.unicode;N.lastIndex=0}for(var lt=[];;){var ft=h(N,$);if(ft===null||(lt.push(ft),!rt))break;var gt=String(ft[0]);gt===""&&(N.lastIndex=v($,c(N.lastIndex),yt))}for(var mt="",ht=0,nt=0;nt=ht&&(mt+=$.slice(ht,At)+St,ht=At+it.length)}return mt+$.slice(ht)}];function X(C,R,W,N,$,_){var rt=W+C.length,yt=N.length,lt=I;return $!==void 0&&($=l($),lt=b),O.call(_,lt,function(ft,gt){var mt;switch(gt.charAt(0)){case"$":return"$";case"&":return C;case"`":return R.slice(0,W);case"'":return R.slice(rt);case"<":mt=$[gt.slice(1,-1)];break;default:var ht=+gt;if(ht===0)return ft;if(ht>yt){var nt=S(ht/10);return nt===0?ft:nt<=yt?N[nt-1]===void 0?gt.charAt(1):N[nt-1]+gt.charAt(1):ft}mt=N[ht-1]}return mt===void 0?"":mt})}})},5692:function(e,f,t){var o=t("c430"),a=t("c6cd");(e.exports=function(l,c){return a[l]||(a[l]=c!==void 0?c:{})})("versions",[]).push({version:"3.6.5",mode:o?"pure":"global",copyright:"© 2020 Denis Pushkarev (zloirock.ru)"})},"56ef":function(e,f,t){var o=t("d066"),a=t("241c"),l=t("7418"),c=t("825a");e.exports=o("Reflect","ownKeys")||function(d){var v=a.f(c(d)),h=l.f;return h?v.concat(h(d)):v}},"5a34":function(e,f,t){var o=t("44e7");e.exports=function(a){if(o(a))throw TypeError("The method doesn't accept regular expressions");return a}},"5c6c":function(e,f){e.exports=function(t,o){return{enumerable:!(t&1),configurable:!(t&2),writable:!(t&4),value:o}}},"5db7":function(e,f,t){var o=t("23e7"),a=t("a2bf"),l=t("7b0b"),c=t("50c4"),u=t("1c0b"),d=t("65f0");o({target:"Array",proto:!0},{flatMap:function(h){var p=l(this),g=c(p.length),S;return u(h),S=d(p,0),S.length=a(S,p,p,g,0,1,h,arguments.length>1?arguments[1]:void 0),S}})},6547:function(e,f,t){var o=t("a691"),a=t("1d80"),l=function(c){return function(u,d){var v=String(a(u)),h=o(d),p=v.length,g,S;return h<0||h>=p?c?"":void 0:(g=v.charCodeAt(h),g<55296||g>56319||h+1===p||(S=v.charCodeAt(h+1))<56320||S>57343?c?v.charAt(h):g:c?v.slice(h,h+2):(g-55296<<10)+(S-56320)+65536)}};e.exports={codeAt:l(!1),charAt:l(!0)}},"65f0":function(e,f,t){var o=t("861d"),a=t("e8b5"),l=t("b622"),c=l("species");e.exports=function(u,d){var v;return a(u)&&(v=u.constructor,typeof v=="function"&&(v===Array||a(v.prototype))?v=void 0:o(v)&&(v=v[c],v===null&&(v=void 0))),new(v===void 0?Array:v)(d===0?0:d)}},"69f3":function(e,f,t){var o=t("7f9a"),a=t("da84"),l=t("861d"),c=t("9112"),u=t("5135"),d=t("f772"),v=t("d012"),h=a.WeakMap,p,g,S,b=function(T){return S(T)?g(T):p(T,{})},I=function(T){return function(M){var j;if(!l(M)||(j=g(M)).type!==T)throw TypeError("Incompatible receiver, "+T+" required");return j}};if(o){var x=new h,P=x.get,O=x.has,F=x.set;p=function(T,M){return F.call(x,T,M),M},g=function(T){return P.call(x,T)||{}},S=function(T){return O.call(x,T)}}else{var U=d("state");v[U]=!0,p=function(T,M){return c(T,U,M),M},g=function(T){return u(T,U)?T[U]:{}},S=function(T){return u(T,U)}}e.exports={set:p,get:g,has:S,enforce:b,getterFor:I}},"6eeb":function(e,f,t){var o=t("da84"),a=t("9112"),l=t("5135"),c=t("ce4e"),u=t("8925"),d=t("69f3"),v=d.get,h=d.enforce,p=String(String).split("String");(e.exports=function(g,S,b,I){var x=I?!!I.unsafe:!1,P=I?!!I.enumerable:!1,O=I?!!I.noTargetGet:!1;if(typeof b=="function"&&(typeof S=="string"&&!l(b,"name")&&a(b,"name",S),h(b).source=p.join(typeof S=="string"?S:"")),g===o){P?g[S]=b:c(S,b);return}else x?!O&&g[S]&&(P=!0):delete g[S];P?g[S]=b:a(g,S,b)})(Function.prototype,"toString",function(){return typeof this=="function"&&v(this).source||u(this)})},"6f53":function(e,f,t){var o=t("83ab"),a=t("df75"),l=t("fc6a"),c=t("d1e7").f,u=function(d){return function(v){for(var h=l(v),p=a(h),g=p.length,S=0,b=[],I;g>S;)I=p[S++],(!o||c.call(h,I))&&b.push(d?[I,h[I]]:h[I]);return b}};e.exports={entries:u(!0),values:u(!1)}},"73d9":function(e,f,t){var o=t("44d2");o("flatMap")},7418:function(e,f){f.f=Object.getOwnPropertySymbols},"746f":function(e,f,t){var o=t("428f"),a=t("5135"),l=t("e538"),c=t("9bf2").f;e.exports=function(u){var d=o.Symbol||(o.Symbol={});a(d,u)||c(d,u,{value:l.f(u)})}},7839:function(e,f){e.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"7b0b":function(e,f,t){var o=t("1d80");e.exports=function(a){return Object(o(a))}},"7c73":function(e,f,t){var o=t("825a"),a=t("37e8"),l=t("7839"),c=t("d012"),u=t("1be4"),d=t("cc12"),v=t("f772"),h=">",p="<",g="prototype",S="script",b=v("IE_PROTO"),I=function(){},x=function(T){return p+S+h+T+p+"/"+S+h},P=function(T){T.write(x("")),T.close();var M=T.parentWindow.Object;return T=null,M},O=function(){var T=d("iframe"),M="java"+S+":",j;return T.style.display="none",u.appendChild(T),T.src=String(M),j=T.contentWindow.document,j.open(),j.write(x("document.F=Object")),j.close(),j.F},F,U=function(){try{F=document.domain&&new ActiveXObject("htmlfile")}catch{}U=F?P(F):O();for(var T=l.length;T--;)delete U[g][l[T]];return U()};c[b]=!0,e.exports=Object.create||function(M,j){var X;return M!==null?(I[g]=o(M),X=new I,I[g]=null,X[b]=M):X=U(),j===void 0?X:a(X,j)}},"7dd0":function(e,f,t){var o=t("23e7"),a=t("9ed3"),l=t("e163"),c=t("d2bb"),u=t("d44e"),d=t("9112"),v=t("6eeb"),h=t("b622"),p=t("c430"),g=t("3f8c"),S=t("ae93"),b=S.IteratorPrototype,I=S.BUGGY_SAFARI_ITERATORS,x=h("iterator"),P="keys",O="values",F="entries",U=function(){return this};e.exports=function(T,M,j,X,C,R,W){a(j,M,X);var N=function(nt){if(nt===C&<)return lt;if(!I&&nt in rt)return rt[nt];switch(nt){case P:return function(){return new j(this,nt)};case O:return function(){return new j(this,nt)};case F:return function(){return new j(this,nt)}}return function(){return new j(this)}},$=M+" Iterator",_=!1,rt=T.prototype,yt=rt[x]||rt["@@iterator"]||C&&rt[C],lt=!I&&yt||N(C),ft=M=="Array"&&rt.entries||yt,gt,mt,ht;if(ft&&(gt=l(ft.call(new T)),b!==Object.prototype&>.next&&(!p&&l(gt)!==b&&(c?c(gt,b):typeof gt[x]!="function"&&d(gt,x,U)),u(gt,$,!0,!0),p&&(g[$]=U))),C==O&&yt&&yt.name!==O&&(_=!0,lt=function(){return yt.call(this)}),(!p||W)&&rt[x]!==lt&&d(rt,x,lt),g[M]=lt,C)if(mt={values:N(O),keys:R?lt:N(P),entries:N(F)},W)for(ht in mt)(I||_||!(ht in rt))&&v(rt,ht,mt[ht]);else o({target:M,proto:!0,forced:I||_},mt);return mt}},"7f9a":function(e,f,t){var o=t("da84"),a=t("8925"),l=o.WeakMap;e.exports=typeof l=="function"&&/native code/.test(a(l))},"825a":function(e,f,t){var o=t("861d");e.exports=function(a){if(!o(a))throw TypeError(String(a)+" is not an object");return a}},"83ab":function(e,f,t){var o=t("d039");e.exports=!o(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!=7})},8418:function(e,f,t){var o=t("c04e"),a=t("9bf2"),l=t("5c6c");e.exports=function(c,u,d){var v=o(u);v in c?a.f(c,v,l(0,d)):c[v]=d}},"861d":function(e,f){e.exports=function(t){return typeof t=="object"?t!==null:typeof t=="function"}},8875:function(e,f,t){var o,a,l;(function(c,u){a=[],o=u,l=typeof o=="function"?o.apply(f,a):o,l!==void 0&&(e.exports=l)})(typeof self<"u"?self:this,function(){function c(){var u=Object.getOwnPropertyDescriptor(document,"currentScript");if(!u&&"currentScript"in document&&document.currentScript||u&&u.get!==c&&document.currentScript)return document.currentScript;try{throw new Error}catch(F){var d=/.*at [^(]*\((.*):(.+):(.+)\)$/ig,v=/@([^@]*):(\d+):(\d+)\s*$/ig,h=d.exec(F.stack)||v.exec(F.stack),p=h&&h[1]||!1,g=h&&h[2]||!1,S=document.location.href.replace(document.location.hash,""),b,I,x,P=document.getElementsByTagName("script");p===S&&(b=document.documentElement.outerHTML,I=new RegExp("(?:[^\\n]+?\\n){0,"+(g-2)+"}[^<]* - - - - - -
- - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + reAudioPlayer One + + + + + + +
+ + + + diff --git a/src/ui/dist/index.html.gz b/src/ui/dist/index.html.gz index be58a7823..d17b44a57 100644 Binary files a/src/ui/dist/index.html.gz and b/src/ui/dist/index.html.gz differ diff --git a/src/ui/dist/sw.js b/src/ui/dist/sw.js index f40b68110..68be3ae5c 100644 --- a/src/ui/dist/sw.js +++ b/src/ui/dist/sw.js @@ -1 +1 @@ -if(!self.define){let s,e={};const l=(l,r)=>(l=new URL(l+".js",r).href,e[l]||new Promise((e=>{if("document"in self){const s=document.createElement("script");s.src=l,s.onload=e,document.head.appendChild(s)}else s=l,importScripts(l),e()})).then((()=>{let s=e[l];if(!s)throw new Error(`Module ${l} didn’t register its module`);return s})));self.define=(r,i)=>{const n=s||("document"in self?document.currentScript.src:"")||location.href;if(e[n])return;let u={};const a=s=>l(s,n),t={module:{uri:n},exports:u,require:a};e[n]=Promise.all(r.map((s=>t[s]||a(s)))).then((s=>(i(...s),u)))}}define(["./workbox-3e911b1d"],(function(s){"use strict";self.skipWaiting(),s.clientsClaim(),s.precacheAndRoute([{url:"assets/Album-1148dcd6.js",revision:null},{url:"assets/Album-8d95da06.css",revision:null},{url:"assets/Artist-c9fc4a3d.css",revision:null},{url:"assets/Artist-d789cf52.js",revision:null},{url:"assets/BigPlayer-199abb6d.css",revision:null},{url:"assets/BigPlayer-87137347.js",revision:null},{url:"assets/Breaking-bca7f1ee.js",revision:null},{url:"assets/Create-5e460494.js",revision:null},{url:"assets/Create-8ab3526b.css",revision:null},{url:"assets/Editor-133a20fa.css",revision:null},{url:"assets/Editor-2ef03efe.js",revision:null},{url:"assets/EditSong.vue_vue_type_script_setup_true_lang-0170f423.js",revision:null},{url:"assets/Error-e5e93467.js",revision:null},{url:"assets/Error-f18c7956.css",revision:null},{url:"assets/Explore-0f64f4c4.js",revision:null},{url:"assets/Explore-d8c77810.css",revision:null},{url:"assets/Export-a03f6dd4.css",revision:null},{url:"assets/Export-b9da4cc1.js",revision:null},{url:"assets/FactCard-07fe2677.js",revision:null},{url:"assets/FactCard-3c5d1fcf.css",revision:null},{url:"assets/FullShelf-62d1d109.css",revision:null},{url:"assets/FullShelf-b2b7ffe5.js",revision:null},{url:"assets/gistClient-56b8a233.js",revision:null},{url:"assets/Import-15b3ffd5.css",revision:null},{url:"assets/Import-2ae5cf6c.js",revision:null},{url:"assets/ImportLink-33e77c3a.js",revision:null},{url:"assets/ImportLink-fa9af2ae.css",revision:null},{url:"assets/index-0388f272.js",revision:null},{url:"assets/index-06802400.css",revision:null},{url:"assets/index-0ded4f06.css",revision:null},{url:"assets/index-1ea7a167.js",revision:null},{url:"assets/index-26fd52a1.js",revision:null},{url:"assets/index-2f9f0259.css",revision:null},{url:"assets/index-4a15a213.js",revision:null},{url:"assets/index-7c86ad75.js",revision:null},{url:"assets/index-d4cfeb9f.css",revision:null},{url:"assets/index-da602f8b.js",revision:null},{url:"assets/index-faf92038.js",revision:null},{url:"assets/index-fd630165.css",revision:null},{url:"assets/index-fd8d909d.css",revision:null},{url:"assets/index-ff5b6ef4.css",revision:null},{url:"assets/Insight-02bf27fd.js",revision:null},{url:"assets/Insight-ab13ce31.css",revision:null},{url:"assets/Liked-cf20cd13.js",revision:null},{url:"assets/Markdown-d883632e.css",revision:null},{url:"assets/Markdown.vue_vue_type_style_index_0_lang-99c6b55d.js",revision:null},{url:"assets/needles/needles-worker.js",revision:"5d9e2eedeab164e3b968a86bdf450d2f"},{url:"assets/News-a755b729.js",revision:null},{url:"assets/News-eb982e2f.css",revision:null},{url:"assets/NewsArticle-2facc133.css",revision:null},{url:"assets/NewsArticle-6976bfba.js",revision:null},{url:"assets/Normal-9226385f.js",revision:null},{url:"assets/playerInPicture-af203fdf.js",revision:null},{url:"assets/Playlist.vue_vue_type_script_setup_true_lang-1d932c09.js",revision:null},{url:"assets/PlaylistCard-03dfa529.css",revision:null},{url:"assets/PlaylistCard-915b2cc1.js",revision:null},{url:"assets/PlaylistEntry-4f48a6f3.js",revision:null},{url:"assets/PlaylistEntry-7f3947eb.css",revision:null},{url:"assets/Sports-47b2f775.js",revision:null},{url:"assets/Sports-ad2591fa.css",revision:null},{url:"assets/spotify-2bf3aeb7.js",revision:null},{url:"assets/Template-96d3b86b.js",revision:null},{url:"assets/Template-b827c26f.css",revision:null},{url:"assets/Track-77a6581d.js",revision:null},{url:"assets/Track-c081b8b5.css",revision:null},{url:"assets/TrackCompact-28e1b8fb.js",revision:null},{url:"assets/TrackCompact-79c8b159.css",revision:null},{url:"assets/vuedraggable.umd-c5c8aeea.js",revision:null},{url:"assets/Welcome-5b21c29e.css",revision:null},{url:"assets/Welcome-9f07aa8e.js",revision:null},{url:"index.html",revision:"7bcc94389e55292ae1cad1b7e4bd9ceb"},{url:"registerSW.js",revision:"1872c500de691dce40960bb85481de07"},{url:"favicon.png",revision:"81eb710c3fadc823ae3bb676eacf1795"},{url:"manifest.webmanifest",revision:"54fda1775a89a999bda4c67bd363bb64"}],{}),s.cleanupOutdatedCaches(),s.registerRoute(new s.NavigationRoute(s.createHandlerBoundToURL("index.html"),{denylist:[/^\/api/]}))})); +if(!self.define){let s,l={};const e=(e,r)=>(e=new URL(e+".js",r).href,l[e]||new Promise((l=>{if("document"in self){const s=document.createElement("script");s.src=e,s.onload=l,document.head.appendChild(s)}else s=e,importScripts(e),l()})).then((()=>{let s=l[e];if(!s)throw new Error(`Module ${e} didn’t register its module`);return s})));self.define=(r,i)=>{const n=s||("document"in self?document.currentScript.src:"")||location.href;if(l[n])return;let u={};const t=s=>e(s,n),o={module:{uri:n},exports:u,require:t};l[n]=Promise.all(r.map((s=>o[s]||t(s)))).then((s=>(i(...s),u)))}}define(["./workbox-3e911b1d"],(function(s){"use strict";self.skipWaiting(),s.clientsClaim(),s.precacheAndRoute([{url:"assets/Album-BkvN1zsQ.css",revision:null},{url:"assets/Album-ncRMQdec.js",revision:null},{url:"assets/Artist-CNrEVT3R.js",revision:null},{url:"assets/Artist-DAREyzq0.css",revision:null},{url:"assets/Breaking-BYk6Hg3k.js",revision:null},{url:"assets/Create-Cv1N05w-.css",revision:null},{url:"assets/Create-D3JcGYih.js",revision:null},{url:"assets/Editor-BrVboH8Y.js",revision:null},{url:"assets/Editor-DJucXreQ.css",revision:null},{url:"assets/EditSong.vue_vue_type_script_setup_true_lang-C5fIPhus.js",revision:null},{url:"assets/Error-BUy8S0OX.css",revision:null},{url:"assets/Error-hTSpQMK3.js",revision:null},{url:"assets/Explore-BBlOvIn4.css",revision:null},{url:"assets/Explore-CImr0VNX.js",revision:null},{url:"assets/Export-B-H9t4Ft.js",revision:null},{url:"assets/Export-DQXjuUsA.css",revision:null},{url:"assets/FactCard-D7mi8_uS.js",revision:null},{url:"assets/FactCard-ei9UWMOf.css",revision:null},{url:"assets/FullShelf-CoDkvkMi.css",revision:null},{url:"assets/FullShelf-DRbcKza6.js",revision:null},{url:"assets/gistClient-BQBNGijJ.js",revision:null},{url:"assets/Import-C1fifzbd.js",revision:null},{url:"assets/Import-D3M1Q5kJ.css",revision:null},{url:"assets/ImportLink-CQI6kQMZ.css",revision:null},{url:"assets/ImportLink-Qnxy-SGQ.js",revision:null},{url:"assets/index-B_Tb2c9a.js",revision:null},{url:"assets/index-B-nPbXJ4.js",revision:null},{url:"assets/index-BbxuzHud.css",revision:null},{url:"assets/index-BCf3Wdzv.js",revision:null},{url:"assets/index-BtkKd32Q.js",revision:null},{url:"assets/index-Bxln736l.css",revision:null},{url:"assets/index-C079_Y4G.css",revision:null},{url:"assets/index-CdmmmwlV.css",revision:null},{url:"assets/index-COFTvh56.css",revision:null},{url:"assets/index-D2FOwDoa.js",revision:null},{url:"assets/index-D4rwuAzz.css",revision:null},{url:"assets/index-DlDXuqe7.css",revision:null},{url:"assets/index-DnhwPdfm.js",revision:null},{url:"assets/index-DxYRwVd6.css",revision:null},{url:"assets/index-IuELAake.js",revision:null},{url:"assets/index-P2eOZTzP.js",revision:null},{url:"assets/Insight-BJxao_m3.css",revision:null},{url:"assets/Insight-YxgeZZYl.js",revision:null},{url:"assets/Liked-DVwvw45D.js",revision:null},{url:"assets/Markdown-BUqZ792e.css",revision:null},{url:"assets/Markdown.vue_vue_type_style_index_0_lang-fjKVBP59.js",revision:null},{url:"assets/needles/needles-worker.js",revision:null},{url:"assets/News-BoNOrken.css",revision:null},{url:"assets/News-DSmShJDZ.js",revision:null},{url:"assets/NewsArticle-BVMg12On.js",revision:null},{url:"assets/NewsArticle-usse9HTo.css",revision:null},{url:"assets/Normal-kIql2dwO.js",revision:null},{url:"assets/playerInPicture-Dfp9IAsf.js",revision:null},{url:"assets/Playlist.vue_vue_type_script_setup_true_lang-D7rgrOmb.js",revision:null},{url:"assets/PlaylistCard-cgcHOGv5.css",revision:null},{url:"assets/PlaylistCard-CMjdNIlB.js",revision:null},{url:"assets/PlaylistEntry-B2l8v20L.js",revision:null},{url:"assets/PlaylistEntry-D6o1lH9d.css",revision:null},{url:"assets/Sports-_g5alLYh.css",revision:null},{url:"assets/Sports-X8cpF4Tf.js",revision:null},{url:"assets/spotify-BVNWZn3O.js",revision:null},{url:"assets/Template-CN0MoJmO.js",revision:null},{url:"assets/Template-CUtHidNi.css",revision:null},{url:"assets/Track-D-ZYH2RL.js",revision:null},{url:"assets/Track-DHk9ReWZ.css",revision:null},{url:"assets/TrackCompact-BEkVSTOB.css",revision:null},{url:"assets/TrackCompact-sXOejxe1.js",revision:null},{url:"assets/vuedraggable.umd-D7qFKUf_.js",revision:null},{url:"assets/Welcome-C-n9EV-1.css",revision:null},{url:"assets/Welcome-wHgE9bOY.js",revision:null},{url:"index.html",revision:"2ca7c3b6fe538feba8b434de6a982389"},{url:"registerSW.js",revision:"1872c500de691dce40960bb85481de07"},{url:"favicon.png",revision:"81eb710c3fadc823ae3bb676eacf1795"},{url:"manifest.webmanifest",revision:"54fda1775a89a999bda4c67bd363bb64"}],{}),s.cleanupOutdatedCaches(),s.registerRoute(new s.NavigationRoute(s.createHandlerBoundToURL("index.html"),{denylist:[/^\/api/]}))})); diff --git a/src/ui/index.html b/src/ui/index.html index decfebc04..fd305108e 100644 --- a/src/ui/index.html +++ b/src/ui/index.html @@ -24,11 +24,6 @@ /> - - @@ -47,6 +42,7 @@ + reAudioPlayer One @@ -58,6 +54,7 @@ >
+ diff --git a/src/ui/package-lock.json b/src/ui/package-lock.json index fa23ca2ee..6af49a445 100644 --- a/src/ui/package-lock.json +++ b/src/ui/package-lock.json @@ -1,55 +1,72 @@ { "name": "reaudioplayer.one", - "version": "0.11.49", + "version": "1.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "reaudioplayer.one", - "version": "0.11.49", + "version": "1.1.0", "dependencies": { "@domchristie/needles": "^0.0.2-1", "chart.js": "^4.4.1", "fast-average-color": "^9.3.0", "google-translate-api-browser": "^4.2.0", "hashids": "2.2.10", - "pinia": "^2.0.23", - "typescript": "^4.8.4", + "pinia": "^2.1.7", + "typescript": "^5.4.5", "unplugin-vue-markdown": "^0.25.2", "v-contextmenu": "3.0.0", - "vue": "^3.3.6", + "vue": "^3.4.27", "vue-observe-visibility": "1.0.0", - "vue-router": "^4.2.5", + "vue-router": "^4.3.2", "vuedraggable": "^4.1.0", "wavesurfer.js": "^6.4.0" }, "devDependencies": { - "@storybook/addon-essentials": "^7.0.18", - "@storybook/addon-interactions": "^7.0.18", - "@storybook/addon-links": "^7.0.18", - "@storybook/blocks": "^7.0.18", + "@storybook/addon-essentials": "^8.1.10", + "@storybook/addon-interactions": "^8.1.10", + "@storybook/addon-links": "^8.1.10", + "@storybook/blocks": "^8.1.10", "@storybook/testing-library": "^0.0.14-next.2", - "@storybook/vue3": "^7.0.18", - "@storybook/vue3-vite": "^7.0.18", + "@storybook/vue3": "^8.1.10", + "@storybook/vue3-vite": "^8.1.10", "@types/wavesurfer.js": "^6.0.3", "@vitejs/plugin-vue": "4.6.2", "autoprefixer": "10.4.12", "buffer": "6.0.3", "markdown-it": "^13.0.2", "npm-run-all": "^4.1.5", - "postcss": ">=8.4.31", + "postcss": "^8.4.38", "prettier": "2.8.3", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "sass": "1.55.0", - "storybook": "^7.0.18", - "tailwindcss": "3.1.8", - "vite": "^4.5.2", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "sass": "^1.77.6", + "storybook": "^8.1.10", + "tailwindcss": "3.4.4", + "vite": "^5.2.13", "vite-plugin-compression": "0.5.1", - "vite-plugin-md": "^0.21.5", - "vite-plugin-pwa": "^0.16.5", + "vite-plugin-pwa": "^0.20.0", "vite-svg-loader": "3.6.0", - "vue-tsc": "^1.6.4" + "vue-tsc": "^2.0.21" + } + }, + "node_modules/@adobe/css-tools": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.4.0.tgz", + "integrity": "sha512-Ff9+ksdQQB3rMncgqDK78uLznstjyfIf2Arnh22pW8kBpLs6rpKDwgnZT46hin5Hl1WzazzK64DOrhSwYpS7bQ==", + "dev": true + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@ampproject/remapping": { @@ -95,105 +112,43 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", "dev": true, "dependencies": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/code-frame/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/code-frame/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/code-frame/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/@babel/compat-data": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", - "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.7.tgz", + "integrity": "sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.0.tgz", - "integrity": "sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.7.tgz", + "integrity": "sha512-nykK+LEK86ahTkX/3TgauT0ikKoNCfKHEaZYTUVupJdTLzGNvrblu4u6fa7DhZONAltdf8e662t/abY8idrd/g==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.24.0", - "@babel/parser": "^7.24.0", - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.0", - "@babel/types": "^7.24.0", + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.7", + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helpers": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/template": "^7.24.7", + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -209,14 +164,14 @@ } }, "node_modules/@babel/generator": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", - "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.7.tgz", + "integrity": "sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==", "dev": true, "dependencies": { - "@babel/types": "^7.23.6", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", + "@babel/types": "^7.24.7", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" }, "engines": { @@ -224,37 +179,38 @@ } }, "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz", + "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", - "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz", + "integrity": "sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==", "dev": true, "dependencies": { - "@babel/types": "^7.22.15" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", - "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.7.tgz", + "integrity": "sha512-ctSdRHBi20qWOfy27RUb4Fhp07KSJ3sXcuSvTrXrc4aG8NSYDo1ici3Vhg9bg69y5bj0Mr1lh0aeEgTvc12rMg==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", + "@babel/compat-data": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", "browserslist": "^4.22.2", "lru-cache": "^5.1.1", "semver": "^6.3.1" @@ -264,19 +220,19 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.0.tgz", - "integrity": "sha512-QAH+vfvts51BCsNZ2PhY6HAggnlS6omLLFTsIpeqZk/MmJ6cW7tgz5yRv0fMJThcr6FmbMrENh1RgrWPTYA76g==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-member-expression-to-functions": "^7.23.0", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.7.tgz", + "integrity": "sha512-kTkaDl7c9vO80zeX1rJxnuRpEsD5tA81yh11X1gQo+PhSti3JS+7qeZo9U4RHobKRiFPKaGK3svUAeb8D0Q7eg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.7", + "@babel/helper-optimise-call-expression": "^7.24.7", + "@babel/helper-replace-supers": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", "semver": "^6.3.1" }, "engines": { @@ -287,12 +243,12 @@ } }, "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", - "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.24.7.tgz", + "integrity": "sha512-03TCmXy2FtXJEZfbXDTSqq1fRJArk7lX9DOFC/47VthYcxyIOx+eXQmdo6DOQvrbpIix+KfXwvuXdFDZHxt+rA==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-annotate-as-pure": "^7.24.7", "regexpu-core": "^5.3.1", "semver": "^6.3.1" }, @@ -304,9 +260,9 @@ } }, "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz", - "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==", + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz", + "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==", "dev": true, "dependencies": { "@babel/helper-compilation-targets": "^7.22.6", @@ -320,74 +276,79 @@ } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz", + "integrity": "sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==", "dev": true, + "dependencies": { + "@babel/types": "^7.24.7" + }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.24.7.tgz", + "integrity": "sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==", "dev": true, "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.24.7.tgz", + "integrity": "sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", - "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.7.tgz", + "integrity": "sha512-LGeMaf5JN4hAT471eJdBs/GK1DoYIJ5GCtZN/EsL6KUiiDZOvO/eKE11AMZJa2zP4zk4qe9V2O/hxAmkRc8p6w==", "dev": true, "dependencies": { - "@babel/types": "^7.23.0" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", - "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz", + "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==", "dev": true, "dependencies": { - "@babel/types": "^7.22.15" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", - "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.24.7.tgz", + "integrity": "sha512-1fuJEwIrp+97rM4RWdO+qrRsZlAeL1lQJoPqtCYWv0NL115XM93hIH4CSRln2w52SqvmY5hqdtauB6QFCDiZNQ==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -397,35 +358,35 @@ } }, "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz", + "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", - "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz", + "integrity": "sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", - "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.24.7.tgz", + "integrity": "sha512-9pKLcTlZ92hNZMQfGCHImUpDOlAgkkpqalWEeftW5FBya75k8Li2ilerxkM/uBEj01iBZXcCIB/bwvDYgWyibA==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-wrap-function": "^7.22.20" + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-wrap-function": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -435,14 +396,14 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", - "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.24.7.tgz", + "integrity": "sha512-qTAxxBM81VEyoAY0TtLrx1oAEJc09ZK67Q9ljQToqCnA+55eNwCORaxlKyu+rNfX86o8OXRUSNUnrtsAZXM9sg==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-member-expression-to-functions": "^7.22.15", - "@babel/helper-optimise-call-expression": "^7.22.5" + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-member-expression-to-functions": "^7.24.7", + "@babel/helper-optimise-call-expression": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -452,190 +413,147 @@ } }, "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz", + "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz", + "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", + "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", "dev": true, "dependencies": { - "@babel/types": "^7.22.5" + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz", + "integrity": "sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", - "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz", + "integrity": "sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-wrap-function": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", - "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.24.7.tgz", + "integrity": "sha512-N9JIYk3TD+1vq/wn77YnJOqMtfWhNewNE+DJV4puD2X7Ew9J4JvrzrFDfTfyv5EgEXVy9/Wt8QiOErzEmv5Ifw==", "dev": true, "dependencies": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.15", - "@babel/types": "^7.22.19" + "@babel/helper-function-name": "^7.24.7", + "@babel/template": "^7.24.7", + "@babel/traverse": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.0.tgz", - "integrity": "sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.7.tgz", + "integrity": "sha512-NlmJJtvcw72yRJRcnCmGvSi+3jDEg8qFu3z0AFoymmzLx5ERVWyzd9kVXr7Th9/8yIJi2Zc6av4Tqz3wFs8QWg==", "dev": true, "dependencies": { - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.0", - "@babel/types": "^7.24.0" + "@babel/template": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-validator-identifier": "^7.24.7", "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/highlight/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "node_modules/@babel/parser": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.7.tgz", + "integrity": "sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==", + "bin": { + "parser": "bin/babel-parser.js" }, "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/highlight/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/highlight/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/highlight/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" + "node": ">=6.0.0" } }, - "node_modules/@babel/highlight/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.7.tgz", + "integrity": "sha512-TiT1ss81W80eQsN+722OaeQMY/G4yTb4G9JrqeiDADs3N8lbPMGldWi9x8tyqCW5NLx1Jh2AvkE6r6QvEltMMQ==", "dev": true, "dependencies": { - "has-flag": "^3.0.0" + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/parser": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz", - "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==", - "bin": { - "parser": "bin/babel-parser.js" + "node": ">=6.9.0" }, - "engines": { - "node": ">=6.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0" } }, "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz", - "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.7.tgz", + "integrity": "sha512-unaQgZ/iRu/By6tsjMZzpeBZjChYfLYry6HrEXPoz3KmfF0sVBQ1l8zKMQ4xRGLWVsjuvB8nQfjNP/DcfEOCsg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -645,14 +563,14 @@ } }, "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", - "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz", + "integrity": "sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.23.3" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -662,13 +580,13 @@ } }, "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz", - "integrity": "sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.7.tgz", + "integrity": "sha512-utA4HuR6F4Vvcr+o4DnjL8fCOlgRFGbeeBEGNg3ZTrLFw6VWG5XmUrvcQ0FjIYMU2ST4XcR2Wsp7t9qOAPnxMg==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -753,12 +671,12 @@ } }, "node_modules/@babel/plugin-syntax-flow": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.23.3.tgz", - "integrity": "sha512-YZiAIpkJAwQXBJLIQbRFayR5c+gJ35Vcz3bg954k7cd73zqjvhacJuL9RbrzPz8qPmZdgqP6EUKwy0PCNhaaPA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.24.7.tgz", + "integrity": "sha512-9G8GYT/dxn/D1IIKOUBmGX0mnmj46mGH9NnZyJLwtCpgh5f7D2VbuKodb+2s9m1Yavh1s7ASQN8lf0eqrb1LTw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -768,12 +686,12 @@ } }, "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", - "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.7.tgz", + "integrity": "sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -783,12 +701,12 @@ } }, "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", - "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz", + "integrity": "sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -822,12 +740,12 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", - "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz", + "integrity": "sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -939,12 +857,12 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", - "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz", + "integrity": "sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -970,12 +888,12 @@ } }, "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", - "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz", + "integrity": "sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -985,14 +903,14 @@ } }, "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz", - "integrity": "sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.7.tgz", + "integrity": "sha512-o+iF77e3u7ZS4AoAuJvapz9Fm001PuD2V3Lp6OSE4FYQke+cSewYtnek+THqGRWyQloRCyvWL1OkyfNEl9vr/g==", "dev": true, "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.20", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-remap-async-to-generator": "^7.24.7", "@babel/plugin-syntax-async-generators": "^7.8.4" }, "engines": { @@ -1003,14 +921,14 @@ } }, "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", - "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz", + "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==", "dev": true, "dependencies": { - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.20" + "@babel/helper-module-imports": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-remap-async-to-generator": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1020,12 +938,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", - "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz", + "integrity": "sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1035,12 +953,12 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", - "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.7.tgz", + "integrity": "sha512-Nd5CvgMbWc+oWzBsuaMcbwjJWAcp5qzrbg69SZdHSP7AMY0AbWFqFO0WTFCA1jxhMCwodRwvRec8k0QUbZk7RQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1050,13 +968,13 @@ } }, "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", - "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.7.tgz", + "integrity": "sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1066,13 +984,13 @@ } }, "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", - "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz", + "integrity": "sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-class-static-block": "^7.14.5" }, "engines": { @@ -1083,18 +1001,18 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.23.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz", - "integrity": "sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20", - "@babel/helper-split-export-declaration": "^7.22.6", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.7.tgz", + "integrity": "sha512-CFbbBigp8ln4FU6Bpy6g7sE8B/WmCmzvivzUC6xDAdWVsjYTXijpuuGJmYkAaoWAzcItGKT3IOAbxRItZ5HTjw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-replace-supers": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", "globals": "^11.1.0" }, "engines": { @@ -1105,13 +1023,13 @@ } }, "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", - "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz", + "integrity": "sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.15" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/template": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1121,12 +1039,12 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", - "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.7.tgz", + "integrity": "sha512-19eJO/8kdCQ9zISOf+SEUJM/bAUIsvY3YDnXZTupUCQ8LgrWnsG/gFB9dvXqdXnRXMAM8fvt7b0CBKQHNGy1mw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1136,13 +1054,13 @@ } }, "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", - "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz", + "integrity": "sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1152,12 +1070,12 @@ } }, "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", - "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz", + "integrity": "sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1167,12 +1085,12 @@ } }, "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", - "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz", + "integrity": "sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-dynamic-import": "^7.8.3" }, "engines": { @@ -1183,13 +1101,13 @@ } }, "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", - "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz", + "integrity": "sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==", "dev": true, "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1199,12 +1117,12 @@ } }, "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", - "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz", + "integrity": "sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-export-namespace-from": "^7.8.3" }, "engines": { @@ -1215,13 +1133,13 @@ } }, "node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.23.3.tgz", - "integrity": "sha512-26/pQTf9nQSNVJCrLB1IkHUKyPxR+lMrH2QDPG89+Znu9rAMbtrybdbWeE9bb7gzjmE5iXHEY+e0HUwM6Co93Q==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.24.7.tgz", + "integrity": "sha512-cjRKJ7FobOH2eakx7Ja+KpJRj8+y+/SiB3ooYm/n2UJfxu0oEaOoxOinitkJcPqv9KxS0kxTGPUaR7L2XcXDXA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-flow": "^7.23.3" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-flow": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1231,13 +1149,13 @@ } }, "node_modules/@babel/plugin-transform-for-of": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz", - "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz", + "integrity": "sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1247,14 +1165,14 @@ } }, "node_modules/@babel/plugin-transform-function-name": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", - "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.7.tgz", + "integrity": "sha512-U9FcnA821YoILngSmYkW6FjyQe2TyZD5pHt4EVIhmcTkrJw/3KqcrRSxuOo5tFZJi7TE19iDyI1u+weTI7bn2w==", "dev": true, "dependencies": { - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1264,12 +1182,12 @@ } }, "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", - "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz", + "integrity": "sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-json-strings": "^7.8.3" }, "engines": { @@ -1280,12 +1198,12 @@ } }, "node_modules/@babel/plugin-transform-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", - "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.7.tgz", + "integrity": "sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1295,12 +1213,12 @@ } }, "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", - "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz", + "integrity": "sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" }, "engines": { @@ -1311,12 +1229,12 @@ } }, "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", - "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz", + "integrity": "sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1326,13 +1244,13 @@ } }, "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", - "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz", + "integrity": "sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1342,14 +1260,14 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", - "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.7.tgz", + "integrity": "sha512-iFI8GDxtevHJ/Z22J5xQpVqFLlMNstcLXh994xifFwxxGslr2ZXXLWgtBeLctOD63UFDArdvN6Tg8RFw+aEmjQ==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5" + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-simple-access": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1359,15 +1277,15 @@ } }, "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz", - "integrity": "sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.7.tgz", + "integrity": "sha512-GYQE0tW7YoaN13qFh3O1NCY4MPkUiAH3fiF7UcV/I3ajmDKEdG3l+UOcbAm4zUE3gnvUU+Eni7XrVKo9eO9auw==", "dev": true, "dependencies": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20" + "@babel/helper-hoist-variables": "^7.24.7", + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1377,13 +1295,13 @@ } }, "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", - "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz", + "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==", "dev": true, "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-module-transforms": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1393,13 +1311,13 @@ } }, "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", - "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz", + "integrity": "sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1409,12 +1327,12 @@ } }, "node_modules/@babel/plugin-transform-new-target": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", - "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz", + "integrity": "sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1424,12 +1342,12 @@ } }, "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", - "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz", + "integrity": "sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" }, "engines": { @@ -1440,12 +1358,12 @@ } }, "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", - "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz", + "integrity": "sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-numeric-separator": "^7.10.4" }, "engines": { @@ -1456,16 +1374,15 @@ } }, "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.0.tgz", - "integrity": "sha512-y/yKMm7buHpFFXfxVFS4Vk1ToRJDilIa6fKRioB9Vjichv58TDGXTvqV0dN7plobAmTW5eSEGXDngE+Mm+uO+w==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz", + "integrity": "sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.23.3" + "@babel/plugin-transform-parameters": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1475,13 +1392,13 @@ } }, "node_modules/@babel/plugin-transform-object-super": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", - "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz", + "integrity": "sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-replace-supers": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1491,12 +1408,12 @@ } }, "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", - "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz", + "integrity": "sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" }, "engines": { @@ -1507,13 +1424,13 @@ } }, "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", - "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.7.tgz", + "integrity": "sha512-tK+0N9yd4j+x/4hxF3F0e0fu/VdcxU18y5SevtyM/PCFlQvXbR0Zmlo2eBrKtVipGNFzpq56o8WsIIKcJFUCRQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7", "@babel/plugin-syntax-optional-chaining": "^7.8.3" }, "engines": { @@ -1524,12 +1441,12 @@ } }, "node_modules/@babel/plugin-transform-parameters": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", - "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz", + "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1539,13 +1456,13 @@ } }, "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", - "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.7.tgz", + "integrity": "sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==", "dev": true, "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1555,14 +1472,14 @@ } }, "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", - "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz", + "integrity": "sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", "@babel/plugin-syntax-private-property-in-object": "^7.14.5" }, "engines": { @@ -1573,12 +1490,12 @@ } }, "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", - "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz", + "integrity": "sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1588,12 +1505,12 @@ } }, "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", - "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz", + "integrity": "sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-plugin-utils": "^7.24.7", "regenerator-transform": "^0.15.2" }, "engines": { @@ -1604,12 +1521,12 @@ } }, "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", - "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz", + "integrity": "sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1619,12 +1536,12 @@ } }, "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", - "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz", + "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1634,13 +1551,13 @@ } }, "node_modules/@babel/plugin-transform-spread": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", - "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz", + "integrity": "sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1650,12 +1567,12 @@ } }, "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", - "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz", + "integrity": "sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1665,12 +1582,12 @@ } }, "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", - "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz", + "integrity": "sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1680,12 +1597,12 @@ } }, "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", - "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.7.tgz", + "integrity": "sha512-VtR8hDy7YLB7+Pet9IarXjg/zgCMSF+1mNS/EQEiEaUPoFXCVsHG64SIxcaaI2zJgRiv+YmgaQESUfWAdbjzgg==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1695,15 +1612,15 @@ } }, "node_modules/@babel/plugin-transform-typescript": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz", - "integrity": "sha512-6cBG5mBvUu4VUD04OHKnYzbuHNP8huDsD3EDqqpIpsswTDoqHCjLoHb6+QgsV1WsT2nipRqCPgxD3LXnEO7XfA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.24.7.tgz", + "integrity": "sha512-iLD3UNkgx2n/HrjBesVbYX6j0yqn/sJktvbtKKgcaLIQ4bTTQ8obAypc1VpyHPD2y4Phh9zHOaAt8e/L14wCpw==", "dev": true, "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.23.6", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-typescript": "^7.23.3" + "@babel/helper-annotate-as-pure": "^7.24.7", + "@babel/helper-create-class-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/plugin-syntax-typescript": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1713,12 +1630,12 @@ } }, "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", - "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz", + "integrity": "sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1728,13 +1645,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", - "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz", + "integrity": "sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1744,13 +1661,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", - "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz", + "integrity": "sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1760,13 +1677,13 @@ } }, "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", - "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.7.tgz", + "integrity": "sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==", "dev": true, "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-create-regexp-features-plugin": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1776,26 +1693,27 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.0.tgz", - "integrity": "sha512-ZxPEzV9IgvGn73iK0E6VB9/95Nd7aMFpbE0l8KQFDG70cOV9IxRP7Y2FUPmlK0v6ImlLqYX50iuZ3ZTVhOF2lA==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.7", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.24.7.tgz", + "integrity": "sha512-1YZNsc+y6cTvWlDHidMBsQZrZfEFjRIo/BZCT906PMdzOyXtSLTgqGdrpcuTDCXyd11Am5uQULtDIcCfnTc8fQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.24.7", + "@babel/helper-compilation-targets": "^7.24.7", + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.24.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.7", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7", + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.7", "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-class-properties": "^7.12.13", "@babel/plugin-syntax-class-static-block": "^7.14.5", "@babel/plugin-syntax-dynamic-import": "^7.8.3", "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.23.3", - "@babel/plugin-syntax-import-attributes": "^7.23.3", + "@babel/plugin-syntax-import-assertions": "^7.24.7", + "@babel/plugin-syntax-import-attributes": "^7.24.7", "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", @@ -1807,58 +1725,58 @@ "@babel/plugin-syntax-private-property-in-object": "^7.14.5", "@babel/plugin-syntax-top-level-await": "^7.14.5", "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.23.3", - "@babel/plugin-transform-async-generator-functions": "^7.23.9", - "@babel/plugin-transform-async-to-generator": "^7.23.3", - "@babel/plugin-transform-block-scoped-functions": "^7.23.3", - "@babel/plugin-transform-block-scoping": "^7.23.4", - "@babel/plugin-transform-class-properties": "^7.23.3", - "@babel/plugin-transform-class-static-block": "^7.23.4", - "@babel/plugin-transform-classes": "^7.23.8", - "@babel/plugin-transform-computed-properties": "^7.23.3", - "@babel/plugin-transform-destructuring": "^7.23.3", - "@babel/plugin-transform-dotall-regex": "^7.23.3", - "@babel/plugin-transform-duplicate-keys": "^7.23.3", - "@babel/plugin-transform-dynamic-import": "^7.23.4", - "@babel/plugin-transform-exponentiation-operator": "^7.23.3", - "@babel/plugin-transform-export-namespace-from": "^7.23.4", - "@babel/plugin-transform-for-of": "^7.23.6", - "@babel/plugin-transform-function-name": "^7.23.3", - "@babel/plugin-transform-json-strings": "^7.23.4", - "@babel/plugin-transform-literals": "^7.23.3", - "@babel/plugin-transform-logical-assignment-operators": "^7.23.4", - "@babel/plugin-transform-member-expression-literals": "^7.23.3", - "@babel/plugin-transform-modules-amd": "^7.23.3", - "@babel/plugin-transform-modules-commonjs": "^7.23.3", - "@babel/plugin-transform-modules-systemjs": "^7.23.9", - "@babel/plugin-transform-modules-umd": "^7.23.3", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.23.3", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", - "@babel/plugin-transform-numeric-separator": "^7.23.4", - "@babel/plugin-transform-object-rest-spread": "^7.24.0", - "@babel/plugin-transform-object-super": "^7.23.3", - "@babel/plugin-transform-optional-catch-binding": "^7.23.4", - "@babel/plugin-transform-optional-chaining": "^7.23.4", - "@babel/plugin-transform-parameters": "^7.23.3", - "@babel/plugin-transform-private-methods": "^7.23.3", - "@babel/plugin-transform-private-property-in-object": "^7.23.4", - "@babel/plugin-transform-property-literals": "^7.23.3", - "@babel/plugin-transform-regenerator": "^7.23.3", - "@babel/plugin-transform-reserved-words": "^7.23.3", - "@babel/plugin-transform-shorthand-properties": "^7.23.3", - "@babel/plugin-transform-spread": "^7.23.3", - "@babel/plugin-transform-sticky-regex": "^7.23.3", - "@babel/plugin-transform-template-literals": "^7.23.3", - "@babel/plugin-transform-typeof-symbol": "^7.23.3", - "@babel/plugin-transform-unicode-escapes": "^7.23.3", - "@babel/plugin-transform-unicode-property-regex": "^7.23.3", - "@babel/plugin-transform-unicode-regex": "^7.23.3", - "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", + "@babel/plugin-transform-arrow-functions": "^7.24.7", + "@babel/plugin-transform-async-generator-functions": "^7.24.7", + "@babel/plugin-transform-async-to-generator": "^7.24.7", + "@babel/plugin-transform-block-scoped-functions": "^7.24.7", + "@babel/plugin-transform-block-scoping": "^7.24.7", + "@babel/plugin-transform-class-properties": "^7.24.7", + "@babel/plugin-transform-class-static-block": "^7.24.7", + "@babel/plugin-transform-classes": "^7.24.7", + "@babel/plugin-transform-computed-properties": "^7.24.7", + "@babel/plugin-transform-destructuring": "^7.24.7", + "@babel/plugin-transform-dotall-regex": "^7.24.7", + "@babel/plugin-transform-duplicate-keys": "^7.24.7", + "@babel/plugin-transform-dynamic-import": "^7.24.7", + "@babel/plugin-transform-exponentiation-operator": "^7.24.7", + "@babel/plugin-transform-export-namespace-from": "^7.24.7", + "@babel/plugin-transform-for-of": "^7.24.7", + "@babel/plugin-transform-function-name": "^7.24.7", + "@babel/plugin-transform-json-strings": "^7.24.7", + "@babel/plugin-transform-literals": "^7.24.7", + "@babel/plugin-transform-logical-assignment-operators": "^7.24.7", + "@babel/plugin-transform-member-expression-literals": "^7.24.7", + "@babel/plugin-transform-modules-amd": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.7", + "@babel/plugin-transform-modules-systemjs": "^7.24.7", + "@babel/plugin-transform-modules-umd": "^7.24.7", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7", + "@babel/plugin-transform-new-target": "^7.24.7", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7", + "@babel/plugin-transform-numeric-separator": "^7.24.7", + "@babel/plugin-transform-object-rest-spread": "^7.24.7", + "@babel/plugin-transform-object-super": "^7.24.7", + "@babel/plugin-transform-optional-catch-binding": "^7.24.7", + "@babel/plugin-transform-optional-chaining": "^7.24.7", + "@babel/plugin-transform-parameters": "^7.24.7", + "@babel/plugin-transform-private-methods": "^7.24.7", + "@babel/plugin-transform-private-property-in-object": "^7.24.7", + "@babel/plugin-transform-property-literals": "^7.24.7", + "@babel/plugin-transform-regenerator": "^7.24.7", + "@babel/plugin-transform-reserved-words": "^7.24.7", + "@babel/plugin-transform-shorthand-properties": "^7.24.7", + "@babel/plugin-transform-spread": "^7.24.7", + "@babel/plugin-transform-sticky-regex": "^7.24.7", + "@babel/plugin-transform-template-literals": "^7.24.7", + "@babel/plugin-transform-typeof-symbol": "^7.24.7", + "@babel/plugin-transform-unicode-escapes": "^7.24.7", + "@babel/plugin-transform-unicode-property-regex": "^7.24.7", + "@babel/plugin-transform-unicode-regex": "^7.24.7", + "@babel/plugin-transform-unicode-sets-regex": "^7.24.7", "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.8", - "babel-plugin-polyfill-corejs3": "^0.9.0", - "babel-plugin-polyfill-regenerator": "^0.5.5", + "babel-plugin-polyfill-corejs2": "^0.4.10", + "babel-plugin-polyfill-corejs3": "^0.10.4", + "babel-plugin-polyfill-regenerator": "^0.6.1", "core-js-compat": "^3.31.0", "semver": "^6.3.1" }, @@ -1870,14 +1788,14 @@ } }, "node_modules/@babel/preset-flow": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.24.0.tgz", - "integrity": "sha512-cum/nSi82cDaSJ21I4PgLTVlj0OXovFk6GRguJYe/IKg6y6JHLTbJhybtX4k35WT9wdeJfEVjycTixMhBHd0Dg==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.24.7.tgz", + "integrity": "sha512-NL3Lo0NorCU607zU3NwRyJbpaB6E3t0xtd3LfAQKDfkeX4/ggcDXvkmkW42QWT5owUeW/jAe4hn+2qvkV1IbfQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-transform-flow-strip-types": "^7.23.3" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "@babel/plugin-transform-flow-strip-types": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1901,16 +1819,16 @@ } }, "node_modules/@babel/preset-typescript": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz", - "integrity": "sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.24.7.tgz", + "integrity": "sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-syntax-jsx": "^7.23.3", - "@babel/plugin-transform-modules-commonjs": "^7.23.3", - "@babel/plugin-transform-typescript": "^7.23.3" + "@babel/helper-plugin-utils": "^7.24.7", + "@babel/helper-validator-option": "^7.24.7", + "@babel/plugin-syntax-jsx": "^7.24.7", + "@babel/plugin-transform-modules-commonjs": "^7.24.7", + "@babel/plugin-transform-typescript": "^7.24.7" }, "engines": { "node": ">=6.9.0" @@ -1920,9 +1838,9 @@ } }, "node_modules/@babel/register": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.23.7.tgz", - "integrity": "sha512-EjJeB6+kvpk+Y5DAkEAmbOBEFkh9OASx0huoEkqYTFxAZHzOAX2Oh5uwAUuL2rUddqfM0SA+KPXV2TbzoZ2kvQ==", + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.24.6.tgz", + "integrity": "sha512-WSuFCc2wCqMeXkz/i3yfAAsxwWflEgbVkZzivgAmXl/MxrXeoYFZOOPllbC8R8WTF7u61wSRQtDVZ1879cdu6w==", "dev": true, "dependencies": { "clone-deep": "^4.0.1", @@ -2063,9 +1981,9 @@ "dev": true }, "node_modules/@babel/runtime": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.0.tgz", - "integrity": "sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz", + "integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==", "dev": true, "dependencies": { "regenerator-runtime": "^0.14.0" @@ -2075,33 +1993,33 @@ } }, "node_modules/@babel/template": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", - "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.7.tgz", + "integrity": "sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0" + "@babel/code-frame": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/types": "^7.24.7" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.0.tgz", - "integrity": "sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.7.tgz", + "integrity": "sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.24.7", + "@babel/generator": "^7.24.7", + "@babel/helper-environment-visitor": "^7.24.7", + "@babel/helper-function-name": "^7.24.7", + "@babel/helper-hoist-variables": "^7.24.7", + "@babel/helper-split-export-declaration": "^7.24.7", + "@babel/parser": "^7.24.7", + "@babel/types": "^7.24.7", "debug": "^4.3.1", "globals": "^11.1.0" }, @@ -2110,13 +2028,13 @@ } }, "node_modules/@babel/types": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", - "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.7.tgz", + "integrity": "sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-string-parser": "^7.24.7", + "@babel/helper-validator-identifier": "^7.24.7", "to-fast-properties": "^2.0.0" }, "engines": { @@ -2156,13 +2074,30 @@ "react": ">=16.8.0" } }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", + "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/@esbuild/android-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", - "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", + "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", "cpu": [ "arm" ], + "dev": true, "optional": true, "os": [ "android" @@ -2172,12 +2107,13 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", - "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", + "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", "cpu": [ "arm64" ], + "dev": true, "optional": true, "os": [ "android" @@ -2187,12 +2123,13 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", - "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", + "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "android" @@ -2202,12 +2139,13 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", - "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", + "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", "cpu": [ "arm64" ], + "dev": true, "optional": true, "os": [ "darwin" @@ -2217,12 +2155,13 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", - "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", + "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "darwin" @@ -2232,12 +2171,13 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", - "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", + "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", "cpu": [ "arm64" ], + "dev": true, "optional": true, "os": [ "freebsd" @@ -2247,12 +2187,13 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", - "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", + "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "freebsd" @@ -2262,12 +2203,13 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", - "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", + "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", "cpu": [ "arm" ], + "dev": true, "optional": true, "os": [ "linux" @@ -2277,12 +2219,13 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", - "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", + "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", "cpu": [ "arm64" ], + "dev": true, "optional": true, "os": [ "linux" @@ -2292,12 +2235,13 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", - "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", + "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", "cpu": [ "ia32" ], + "dev": true, "optional": true, "os": [ "linux" @@ -2307,12 +2251,13 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", - "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", + "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", "cpu": [ "loong64" ], + "dev": true, "optional": true, "os": [ "linux" @@ -2322,12 +2267,13 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", - "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", + "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", "cpu": [ "mips64el" ], + "dev": true, "optional": true, "os": [ "linux" @@ -2337,12 +2283,13 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", - "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", + "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", "cpu": [ "ppc64" ], + "dev": true, "optional": true, "os": [ "linux" @@ -2352,12 +2299,13 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", - "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", + "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", "cpu": [ "riscv64" ], + "dev": true, "optional": true, "os": [ "linux" @@ -2367,12 +2315,13 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", - "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", + "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", "cpu": [ "s390x" ], + "dev": true, "optional": true, "os": [ "linux" @@ -2382,12 +2331,13 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", - "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", + "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "linux" @@ -2397,12 +2347,13 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", - "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", + "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "netbsd" @@ -2412,12 +2363,13 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", - "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", + "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "openbsd" @@ -2427,12 +2379,13 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", - "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", + "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "sunos" @@ -2442,12 +2395,13 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", - "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", + "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", "cpu": [ "arm64" ], + "dev": true, "optional": true, "os": [ "win32" @@ -2457,12 +2411,13 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", - "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", + "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", "cpu": [ "ia32" ], + "dev": true, "optional": true, "os": [ "win32" @@ -2472,12 +2427,13 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", - "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", + "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", "cpu": [ "x64" ], + "dev": true, "optional": true, "os": [ "win32" @@ -2492,44 +2448,6 @@ "integrity": "sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ==", "dev": true }, - "node_modules/@floating-ui/core": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.0.tgz", - "integrity": "sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==", - "dev": true, - "dependencies": { - "@floating-ui/utils": "^0.2.1" - } - }, - "node_modules/@floating-ui/dom": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.3.tgz", - "integrity": "sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==", - "dev": true, - "dependencies": { - "@floating-ui/core": "^1.0.0", - "@floating-ui/utils": "^0.2.0" - } - }, - "node_modules/@floating-ui/react-dom": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.8.tgz", - "integrity": "sha512-HOdqOt3R3OGeTKidaLvJKcgg75S6tibQ3Tif4eyd91QnIJWr0NLvoXFpJA/j8HqkFSL68GDca9AuyWEHlhyClw==", - "dev": true, - "dependencies": { - "@floating-ui/dom": "^1.6.1" - }, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" - } - }, - "node_modules/@floating-ui/utils": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.1.tgz", - "integrity": "sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==", - "dev": true - }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", @@ -2570,159 +2488,39 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dev": true, "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" + "@sinclair/typebox": "^0.27.8" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "devOptional": true, "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { - "node": ">=8" + "node": ">=6.0.0" } }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "devOptional": true, "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@istanbuljs/load-nyc-config/node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", - "dev": true, - "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/transform": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", - "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", - "dev": true, - "dependencies": { - "@babel/core": "^7.11.6", - "@jest/types": "^29.6.3", - "@jridgewell/trace-mapping": "^0.3.18", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^2.0.0", - "fast-json-stable-stringify": "^2.1.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.7.0", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "write-file-atomic": "^4.0.2" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jest/types": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^17.0.8", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "devOptional": true, - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "devOptional": true, - "engines": { - "node": ">=6.0.0" + "node": ">=6.0.0" } }, "node_modules/@jridgewell/set-array": { @@ -2735,13 +2533,13 @@ } }, "node_modules/@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", + "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", "devOptional": true, "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25" } }, "node_modules/@jridgewell/sourcemap-codec": { @@ -2759,26 +2557,10 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@jsdevtools/ez-spawn": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@jsdevtools/ez-spawn/-/ez-spawn-3.0.4.tgz", - "integrity": "sha512-f5DRIOZf7wxogefH03RjMPMdBF7ADTWUMoOs9kaJo06EfwF+aFhMZMDZxHg/Xe12hptN9xoZjGso2fdjapBRIA==", - "dev": true, - "dependencies": { - "call-me-maybe": "^1.0.1", - "cross-spawn": "^7.0.3", - "string-argv": "^0.3.1", - "type-detect": "^4.0.8" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@juggle/resize-observer": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@juggle/resize-observer/-/resize-observer-3.4.0.tgz", - "integrity": "sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==", - "dev": true + "node_modules/@kurkle/color": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@kurkle/color/-/color-0.3.2.tgz", + "integrity": "sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw==" }, "node_modules/@kurkle/color": { "version": "0.3.2", @@ -2811,19 +2593,19 @@ "integrity": "sha512-xeF5+sHLzRNF7plbksywKCph4qli20l72of2fMlZQQ7RECvXYrRkE9+bjRFQCyULC7B8ydUYbpbkux5xJlVWyw==" }, "node_modules/@mdx-js/react": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-2.3.0.tgz", - "integrity": "sha512-zQH//gdOmuu7nt2oJR29vFhDv88oGPmVw6BggmrHeMI+xgEkp1B2dX9/bMBSYtK0dyLX/aOmesKS09g222K1/g==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-3.0.1.tgz", + "integrity": "sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A==", "dev": true, "dependencies": { - "@types/mdx": "^2.0.0", - "@types/react": ">=16" + "@types/mdx": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" }, "peerDependencies": { + "@types/react": ">=16", "react": ">=16" } }, @@ -2883,86 +2665,20 @@ "node": ">=14" } }, - "node_modules/@radix-ui/number": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.1.tgz", - "integrity": "sha512-T5gIdVO2mmPW3NNhjNgEP3cqMXjXL9UbO0BzWcXfvdBs+BohbQxvd/K5hSVKmn9/lbTdsQVKbUcP5WLCwvUbBg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10" - } - }, "node_modules/@radix-ui/primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.1.tgz", - "integrity": "sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10" - } - }, - "node_modules/@radix-ui/react-arrow": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.0.3.tgz", - "integrity": "sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-primitive": "1.0.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-collection": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.0.3.tgz", - "integrity": "sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-context": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-slot": "1.0.2" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.0.tgz", + "integrity": "sha512-4Z8dn6Upk0qk4P74xBhZ6Hd/w0mPEzOOLxy4xiPXOXqjF7jZS0VAKk7/x/H6FyY2zCkYJqePf1G5KmkmNJ4RBA==", + "dev": true }, "node_modules/@radix-ui/react-compose-refs": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz", - "integrity": "sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.0.tgz", + "integrity": "sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw==", "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10" - }, "peerDependencies": { "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -2971,16 +2687,13 @@ } }, "node_modules/@radix-ui/react-context": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.1.tgz", - "integrity": "sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.0.tgz", + "integrity": "sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A==", "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10" - }, "peerDependencies": { "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -2988,42 +2701,59 @@ } } }, - "node_modules/@radix-ui/react-direction": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.0.1.tgz", - "integrity": "sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10" + "node_modules/@radix-ui/react-dialog": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.1.tgz", + "integrity": "sha512-zysS+iU4YP3STKNS6USvFVqI4qqx8EpiwmT5TuCApVEBca+eRCbONi4EgzfNSuVnOXvC5UPHHMjs8RXO6DH9Bg==", + "dev": true, + "dependencies": { + "@radix-ui/primitive": "1.1.0", + "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/react-context": "1.1.0", + "@radix-ui/react-dismissable-layer": "1.1.0", + "@radix-ui/react-focus-guards": "1.1.0", + "@radix-ui/react-focus-scope": "1.1.0", + "@radix-ui/react-id": "1.1.0", + "@radix-ui/react-portal": "1.1.1", + "@radix-ui/react-presence": "1.1.0", + "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-slot": "1.1.0", + "@radix-ui/react-use-controllable-state": "1.1.0", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "2.5.7" }, "peerDependencies": { "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { "optional": true + }, + "@types/react-dom": { + "optional": true } } }, "node_modules/@radix-ui/react-dismissable-layer": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.4.tgz", - "integrity": "sha512-7UpBa/RKMoHJYjie1gkF1DlK8l1fdU/VKDpoS3rCCo8YBJR294GwcEHyxHw72yvphJ7ld0AXEcSLAzY2F/WyCg==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.0.tgz", + "integrity": "sha512-/UovfmmXGptwGcBQawLzvn2jOfM0t4z3/uKffoBlj724+n3FvBbZ7M0aaBOmkp6pqFYpO4yx8tSVJjx3Fl2jig==", "dev": true, "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.1", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-use-callback-ref": "1.0.1", - "@radix-ui/react-use-escape-keydown": "1.0.3" + "@radix-ui/primitive": "1.1.0", + "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-use-callback-ref": "1.1.0", + "@radix-ui/react-use-escape-keydown": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -3035,16 +2765,13 @@ } }, "node_modules/@radix-ui/react-focus-guards": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.1.tgz", - "integrity": "sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.0.tgz", + "integrity": "sha512-w6XZNUPVv6xCpZUqb/yN9DL6auvpGX3C/ee6Hdi16v2UUy25HV2Q5bcflsiDyT/g5RwbPQ/GIT1vLkeRb+ITBw==", "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10" - }, "peerDependencies": { "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -3053,21 +2780,20 @@ } }, "node_modules/@radix-ui/react-focus-scope": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.3.tgz", - "integrity": "sha512-upXdPfqI4islj2CslyfUBNlaJCPybbqRHAi1KER7Isel9Q2AtSJ0zRBZv8mWQiFXD2nyAJ4BhC3yXgZ6kMBSrQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.0.tgz", + "integrity": "sha512-200UD8zylvEyL8Bx+z76RJnASR2gRMuxlgFCPAe/Q/679a/r0eK3MBVYMb7vZODZcffZBdob1EGnky78xmVvcA==", "dev": true, "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-use-callback-ref": "1.0.1" + "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-use-callback-ref": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -3079,17 +2805,16 @@ } }, "node_modules/@radix-ui/react-id": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.1.tgz", - "integrity": "sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.0.tgz", + "integrity": "sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==", "dev": true, "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-use-layout-effect": "1.0.1" + "@radix-ui/react-use-layout-effect": "1.1.0" }, "peerDependencies": { "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -3097,29 +2822,20 @@ } } }, - "node_modules/@radix-ui/react-popper": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.1.2.tgz", - "integrity": "sha512-1CnGGfFi/bbqtJZZ0P/NQY20xdG3E0LALJaLUEoKwPLwl6PPPfbeiCqMVQnhoFRAxjJj4RpBRJzDmUgsex2tSg==", + "node_modules/@radix-ui/react-portal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.1.tgz", + "integrity": "sha512-A3UtLk85UtqhzFqtoC8Q0KvR2GbXF3mtPgACSazajqq6A41mEQgo53iPzY4i6BwDxlIFqWIhiQ2G729n+2aw/g==", "dev": true, "dependencies": { - "@babel/runtime": "^7.13.10", - "@floating-ui/react-dom": "^2.0.0", - "@radix-ui/react-arrow": "1.0.3", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-context": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-use-callback-ref": "1.0.1", - "@radix-ui/react-use-layout-effect": "1.0.1", - "@radix-ui/react-use-rect": "1.0.1", - "@radix-ui/react-use-size": "1.0.1", - "@radix-ui/rect": "1.0.1" + "@radix-ui/react-primitive": "2.0.0", + "@radix-ui/react-use-layout-effect": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -3130,20 +2846,20 @@ } } }, - "node_modules/@radix-ui/react-portal": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.3.tgz", - "integrity": "sha512-xLYZeHrWoPmA5mEKEfZZevoVRK/Q43GfzRXkWV6qawIWWK8t6ifIiLQdd7rmQ4Vk1bmI21XhqF9BN3jWf+phpA==", + "node_modules/@radix-ui/react-presence": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.0.tgz", + "integrity": "sha512-Gq6wuRN/asf9H/E/VzdKoUtT8GC9PQc9z40/vEr0VCJ4u5XvvhWIrSsCB6vD2/cH7ugTdSfYq9fLJCcM00acrQ==", "dev": true, "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-primitive": "1.0.3" + "@radix-ui/react-compose-refs": "1.1.0", + "@radix-ui/react-use-layout-effect": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -3155,19 +2871,18 @@ } }, "node_modules/@radix-ui/react-primitive": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz", - "integrity": "sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.0.0.tgz", + "integrity": "sha512-ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw==", "dev": true, "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-slot": "1.0.2" + "@radix-ui/react-slot": "1.1.0" }, "peerDependencies": { "@types/react": "*", "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc", + "react-dom": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -3178,118 +2893,68 @@ } } }, - "node_modules/@radix-ui/react-roving-focus": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.0.4.tgz", - "integrity": "sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==", + "node_modules/@radix-ui/react-slot": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.1.0.tgz", + "integrity": "sha512-FUCf5XMfmW4dtYl69pdS4DbxKy8nj4M7SafBgPllysxmdachynNflAdp/gCsnYWNDnge6tI9onzMp5ARYc1KNw==", "dev": true, "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.1", - "@radix-ui/react-collection": "1.0.3", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-context": "1.0.1", - "@radix-ui/react-direction": "1.0.1", - "@radix-ui/react-id": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-use-callback-ref": "1.0.1", - "@radix-ui/react-use-controllable-state": "1.0.1" + "@radix-ui/react-compose-refs": "1.1.0" }, "peerDependencies": { "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { "optional": true - }, - "@types/react-dom": { - "optional": true } } }, - "node_modules/@radix-ui/react-select": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-1.2.2.tgz", - "integrity": "sha512-zI7McXr8fNaSrUY9mZe4x/HC0jTLY9fWNhO1oLWYMQGDXuV4UCivIGTxwioSzO0ZCYX9iSLyWmAh/1TOmX3Cnw==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/number": "1.0.1", - "@radix-ui/primitive": "1.0.1", - "@radix-ui/react-collection": "1.0.3", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-context": "1.0.1", - "@radix-ui/react-direction": "1.0.1", - "@radix-ui/react-dismissable-layer": "1.0.4", - "@radix-ui/react-focus-guards": "1.0.1", - "@radix-ui/react-focus-scope": "1.0.3", - "@radix-ui/react-id": "1.0.1", - "@radix-ui/react-popper": "1.1.2", - "@radix-ui/react-portal": "1.0.3", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-slot": "1.0.2", - "@radix-ui/react-use-callback-ref": "1.0.1", - "@radix-ui/react-use-controllable-state": "1.0.1", - "@radix-ui/react-use-layout-effect": "1.0.1", - "@radix-ui/react-use-previous": "1.0.1", - "@radix-ui/react-visually-hidden": "1.0.3", - "aria-hidden": "^1.1.1", - "react-remove-scroll": "2.5.5" - }, + "node_modules/@radix-ui/react-use-callback-ref": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.0.tgz", + "integrity": "sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==", + "dev": true, "peerDependencies": { "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { "optional": true - }, - "@types/react-dom": { - "optional": true } } }, - "node_modules/@radix-ui/react-separator": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.0.3.tgz", - "integrity": "sha512-itYmTy/kokS21aiV5+Z56MZB54KrhPgn6eHDKkFeOLR34HMN2s8PaN47qZZAGnvupcjxHaFZnW4pQEh0BvvVuw==", + "node_modules/@radix-ui/react-use-controllable-state": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.1.0.tgz", + "integrity": "sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==", "dev": true, "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-primitive": "1.0.3" + "@radix-ui/react-use-callback-ref": "1.1.0" }, "peerDependencies": { "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { "optional": true - }, - "@types/react-dom": { - "optional": true } } }, - "node_modules/@radix-ui/react-slot": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz", - "integrity": "sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==", + "node_modules/@radix-ui/react-use-escape-keydown": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.0.tgz", + "integrity": "sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw==", "dev": true, "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-compose-refs": "1.0.1" + "@radix-ui/react-use-callback-ref": "1.1.0" }, "peerDependencies": { "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { @@ -3297,275 +2962,285 @@ } } }, - "node_modules/@radix-ui/react-toggle": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-toggle/-/react-toggle-1.0.3.tgz", - "integrity": "sha512-Pkqg3+Bc98ftZGsl60CLANXQBBQ4W3mTFS9EJvNxKMZ7magklKV69/id1mlAlOFDDfHvlCms0fx8fA4CMKDJHg==", + "node_modules/@radix-ui/react-use-layout-effect": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.0.tgz", + "integrity": "sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==", "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-use-controllable-state": "1.0.1" - }, "peerDependencies": { "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" }, "peerDependenciesMeta": { "@types/react": { "optional": true - }, - "@types/react-dom": { - "optional": true } } }, - "node_modules/@radix-ui/react-toggle-group": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-toggle-group/-/react-toggle-group-1.0.4.tgz", - "integrity": "sha512-Uaj/M/cMyiyT9Bx6fOZO0SAG4Cls0GptBWiBmBxofmDbNVnYYoyRWj/2M/6VCi/7qcXFWnHhRUfdfZFvvkuu8A==", + "node_modules/@rollup/plugin-node-resolve": { + "version": "15.2.3", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.3.tgz", + "integrity": "sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==", "dev": true, "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.1", - "@radix-ui/react-context": "1.0.1", - "@radix-ui/react-direction": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-roving-focus": "1.0.4", - "@radix-ui/react-toggle": "1.0.3", - "@radix-ui/react-use-controllable-state": "1.0.1" + "@rollup/pluginutils": "^5.0.1", + "@types/resolve": "1.20.2", + "deepmerge": "^4.2.2", + "is-builtin-module": "^3.2.1", + "is-module": "^1.0.0", + "resolve": "^1.22.1" + }, + "engines": { + "node": ">=14.0.0" }, "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" + "rollup": "^2.78.0||^3.0.0||^4.0.0" }, "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { + "rollup": { "optional": true } } }, - "node_modules/@radix-ui/react-toolbar": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-toolbar/-/react-toolbar-1.0.4.tgz", - "integrity": "sha512-tBgmM/O7a07xbaEkYJWYTXkIdU/1pW4/KZORR43toC/4XWyBCURK0ei9kMUdp+gTPPKBgYLxXmRSH1EVcIDp8Q==", + "node_modules/@rollup/plugin-terser": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@rollup/plugin-terser/-/plugin-terser-0.4.4.tgz", + "integrity": "sha512-XHeJC5Bgvs8LfukDwWZp7yeqin6ns8RTl2B9avbejt6tZqsqvVoWI7ZTQrcNsfKEDWBTnTxM8nMDkO2IFFbd0A==", "dev": true, "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.1", - "@radix-ui/react-context": "1.0.1", - "@radix-ui/react-direction": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-roving-focus": "1.0.4", - "@radix-ui/react-separator": "1.0.3", - "@radix-ui/react-toggle-group": "1.0.4" + "serialize-javascript": "^6.0.1", + "smob": "^1.0.0", + "terser": "^5.17.4" + }, + "engines": { + "node": ">=14.0.0" }, "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" + "rollup": "^2.0.0||^3.0.0||^4.0.0" }, "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { + "rollup": { "optional": true } } }, - "node_modules/@radix-ui/react-use-callback-ref": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz", - "integrity": "sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==", - "dev": true, + "node_modules/@rollup/pluginutils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", + "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", "dependencies": { - "@babel/runtime": "^7.13.10" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-controllable-state": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz", - "integrity": "sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-use-callback-ref": "1.0.1" + "engines": { + "node": ">=14.0.0" }, "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" }, "peerDependenciesMeta": { - "@types/react": { + "rollup": { "optional": true } } }, - "node_modules/@radix-ui/react-use-escape-keydown": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.3.tgz", - "integrity": "sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-use-callback-ref": "1.0.1" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } + "node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" }, - "node_modules/@radix-ui/react-use-layout-effect": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz", - "integrity": "sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.18.0.tgz", + "integrity": "sha512-Tya6xypR10giZV1XzxmH5wr25VcZSncG0pZIjfePT0OVBvqNEurzValetGNarVrGiq66EBVAFn15iYX4w6FKgQ==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ] }, - "node_modules/@radix-ui/react-use-previous": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.0.1.tgz", - "integrity": "sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.18.0.tgz", + "integrity": "sha512-avCea0RAP03lTsDhEyfy+hpfr85KfyTctMADqHVhLAF3MlIkq83CP8UfAHUssgXTYd+6er6PaAhx/QGv4L1EiA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ] }, - "node_modules/@radix-ui/react-use-rect": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.0.1.tgz", - "integrity": "sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/rect": "1.0.1" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.18.0.tgz", + "integrity": "sha512-IWfdwU7KDSm07Ty0PuA/W2JYoZ4iTj3TUQjkVsO/6U+4I1jN5lcR71ZEvRh52sDOERdnNhhHU57UITXz5jC1/w==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/@radix-ui/react-use-size": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.0.1.tgz", - "integrity": "sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-use-layout-effect": "1.0.1" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.18.0.tgz", + "integrity": "sha512-n2LMsUz7Ynu7DoQrSQkBf8iNrjOGyPLrdSg802vk6XT3FtsgX6JbE8IHRvposskFm9SNxzkLYGSq9QdpLYpRNA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ] }, - "node_modules/@radix-ui/react-visually-hidden": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.0.3.tgz", - "integrity": "sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-primitive": "1.0.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.18.0.tgz", + "integrity": "sha512-C/zbRYRXFjWvz9Z4haRxcTdnkPt1BtCkz+7RtBSuNmKzMzp3ZxdM28Mpccn6pt28/UWUCTXa+b0Mx1k3g6NOMA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@radix-ui/rect": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.0.1.tgz", - "integrity": "sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.13.10" - } + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.18.0.tgz", + "integrity": "sha512-l3m9ewPgjQSXrUMHg93vt0hYCGnrMOcUpTz6FLtbwljo2HluS4zTXFy2571YQbisTnfTKPZ01u/ukJdQTLGh9A==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ] }, - "node_modules/@rollup/pluginutils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.0.tgz", - "integrity": "sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==", - "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.18.0.tgz", + "integrity": "sha512-rJ5D47d8WD7J+7STKdCUAgmQk49xuFrRi9pZkWoRD1UeSMakbcepWXPF8ycChBoAqs1pb2wzvbY6Q33WmN2ftw==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.18.0.tgz", + "integrity": "sha512-be6Yx37b24ZwxQ+wOQXXLZqpq4jTckJhtGlWGZs68TgdKXJgw54lUUoFYrg6Zs/kjzAQwEwYbp8JxZVzZLRepQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.18.0.tgz", + "integrity": "sha512-hNVMQK+qrA9Todu9+wqrXOHxFiD5YmdEi3paj6vP02Kx1hjd2LLYR2eaN7DsEshg09+9uzWi2W18MJDlG0cxJA==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.18.0.tgz", + "integrity": "sha512-ROCM7i+m1NfdrsmvwSzoxp9HFtmKGHEqu5NNDiZWQtXLA8S5HBCkVvKAxJ8U+CVctHwV2Gb5VUaK7UAkzhDjlg==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.18.0.tgz", + "integrity": "sha512-0UyyRHyDN42QL+NbqevXIIUnKA47A+45WyasO+y2bGJ1mhQrfrtXUpTxCOrfxCR4esV3/RLYyucGVPiUsO8xjg==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.18.0.tgz", + "integrity": "sha512-xuglR2rBVHA5UsI8h8UbX4VJ470PtGCf5Vpswh7p2ukaqBGFTnsfzxUBetoWBWymHMxbIG0Cmx7Y9qDZzr648w==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.18.0.tgz", + "integrity": "sha512-LKaqQL9osY/ir2geuLVvRRs+utWUNilzdE90TpyoX0eNqPzWjRm14oMEE+YLve4k/NAqCdPkGYDaDF5Sw+xBfg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.18.0.tgz", + "integrity": "sha512-7J6TkZQFGo9qBKH0pk2cEVSRhJbL6MtfWxth7Y5YmZs57Pi+4x6c2dStAUvaQkHQLnEQv1jzBUW43GvZW8OFqA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.18.0.tgz", + "integrity": "sha512-Txjh+IxBPbkUB9+SXZMpv+b/vnTEtFyfWZgJ6iyCmt2tdx0OF5WhFowLmnh8ENGNpfUlUZkdI//4IEmhwPieNg==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.18.0.tgz", + "integrity": "sha512-UOo5FdvOL0+eIVTgS4tIdbW+TtnBLWg1YBCcU2KWM7nuNwRz9bksDX1bekJJCpu25N1DVWaCwnT39dVQxzqS8g==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ] }, "node_modules/@sinclair/typebox": { "version": "0.27.8", @@ -3573,13 +3248,25 @@ "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", "dev": true }, + "node_modules/@sindresorhus/merge-streams": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", + "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@storybook/addon-actions": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-7.6.17.tgz", - "integrity": "sha512-TBphs4v6LRfyTpFo/WINF0TkMaE3rrNog7wW5mbz6n0j8o53kDN4o9ZEcygSL5zQX43CAaghQTeDCss7ueG7ZQ==", + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-8.1.10.tgz", + "integrity": "sha512-1MjncuynvkT3rJtrkWPHLo92Pfno+LUWtaHiNDt9nXYowclTN2cT4a4gNDh6eKkB9dITHxkD7/4mxjHpFUvyrA==", "dev": true, "dependencies": { - "@storybook/core-events": "7.6.17", + "@storybook/core-events": "8.1.10", "@storybook/global": "^5.0.0", "@types/uuid": "^9.0.1", "dequal": "^2.0.2", @@ -3592,9 +3279,9 @@ } }, "node_modules/@storybook/addon-backgrounds": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-7.6.17.tgz", - "integrity": "sha512-7dize7x8+37PH77kmt69b0xSaeDqOcZ4fpzW6+hk53hIaCVU26eGs4+j+743Xva31eOgZWNLupUhOpUDc6SqZw==", + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-8.1.10.tgz", + "integrity": "sha512-nX9Hmcq5U/13S2ETcjGaLqfDcaSKTNPD3RBzWUoNQuZB/bB1q4qLLncQnQfaa6uruP9k6GIFZvtXeJAs9r0POw==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0", @@ -3607,12 +3294,13 @@ } }, "node_modules/@storybook/addon-controls": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-7.6.17.tgz", - "integrity": "sha512-zR0aLaUF7FtV/nMRyfniFbCls/e0DAAoXACuOAUAwNAv0lbIS8AyZZiHSmKucCvziUQ6WceeCC7+du3C+9y0rQ==", + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-8.1.10.tgz", + "integrity": "sha512-98uLezKv6W/1byJL+Zri5kA1Cfi+DUBsbdjz7fFJl8xMtAGwuv9cnOueQl0ouDhqqwnZ4LWHYQsSsPPMz1Lmkg==", "dev": true, "dependencies": { - "@storybook/blocks": "7.6.17", + "@storybook/blocks": "8.1.10", + "dequal": "^2.0.2", "lodash": "^4.17.21", "ts-dedent": "^2.0.0" }, @@ -3622,74 +3310,67 @@ } }, "node_modules/@storybook/addon-docs": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-7.6.17.tgz", - "integrity": "sha512-FKa4Mdy7nhgvEVZJHpMkHriDzpVHbohn87zv9NCL+Ctjs1iAmzGwxEm0culszyDS1HN2ToVoY0h8CSi2RSSZqA==", - "dev": true, - "dependencies": { - "@jest/transform": "^29.3.1", - "@mdx-js/react": "^2.1.5", - "@storybook/blocks": "7.6.17", - "@storybook/client-logger": "7.6.17", - "@storybook/components": "7.6.17", - "@storybook/csf-plugin": "7.6.17", - "@storybook/csf-tools": "7.6.17", + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-8.1.10.tgz", + "integrity": "sha512-jzmIeCoykiHg/KLPrYEDtXO/+dcQaEOqyJHS77eTzAO2iSXJlE+yva5Uwc8apG7UxDVa4Ycc1lPwMzB5GaHsGQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.24.4", + "@mdx-js/react": "^3.0.0", + "@storybook/blocks": "8.1.10", + "@storybook/client-logger": "8.1.10", + "@storybook/components": "8.1.10", + "@storybook/csf-plugin": "8.1.10", + "@storybook/csf-tools": "8.1.10", "@storybook/global": "^5.0.0", - "@storybook/mdx2-csf": "^1.0.0", - "@storybook/node-logger": "7.6.17", - "@storybook/postinstall": "7.6.17", - "@storybook/preview-api": "7.6.17", - "@storybook/react-dom-shim": "7.6.17", - "@storybook/theming": "7.6.17", - "@storybook/types": "7.6.17", + "@storybook/node-logger": "8.1.10", + "@storybook/preview-api": "8.1.10", + "@storybook/react-dom-shim": "8.1.10", + "@storybook/theming": "8.1.10", + "@storybook/types": "8.1.10", + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", "fs-extra": "^11.1.0", - "remark-external-links": "^8.0.0", - "remark-slug": "^6.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", + "rehype-external-links": "^3.0.0", + "rehype-slug": "^6.0.0", "ts-dedent": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, "node_modules/@storybook/addon-essentials": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-7.6.17.tgz", - "integrity": "sha512-qlSpamxuYfT2taF953nC9QijGF2pSbg1ewMNpdwLTj16PTZvR/d8NCDMTJujI1bDwM2m18u8Yc43ibh5LEmxCw==", - "dev": true, - "dependencies": { - "@storybook/addon-actions": "7.6.17", - "@storybook/addon-backgrounds": "7.6.17", - "@storybook/addon-controls": "7.6.17", - "@storybook/addon-docs": "7.6.17", - "@storybook/addon-highlight": "7.6.17", - "@storybook/addon-measure": "7.6.17", - "@storybook/addon-outline": "7.6.17", - "@storybook/addon-toolbars": "7.6.17", - "@storybook/addon-viewport": "7.6.17", - "@storybook/core-common": "7.6.17", - "@storybook/manager-api": "7.6.17", - "@storybook/node-logger": "7.6.17", - "@storybook/preview-api": "7.6.17", + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-8.1.10.tgz", + "integrity": "sha512-xgAXdl/MaKWmwqJJpw4z1YaD1V/r74VHHLqY3Z4YaU9DmlApkCa+FmZSS9QVAf7g6JNUcD1Dbtw5j62uNn+YyA==", + "dev": true, + "dependencies": { + "@storybook/addon-actions": "8.1.10", + "@storybook/addon-backgrounds": "8.1.10", + "@storybook/addon-controls": "8.1.10", + "@storybook/addon-docs": "8.1.10", + "@storybook/addon-highlight": "8.1.10", + "@storybook/addon-measure": "8.1.10", + "@storybook/addon-outline": "8.1.10", + "@storybook/addon-toolbars": "8.1.10", + "@storybook/addon-viewport": "8.1.10", + "@storybook/core-common": "8.1.10", + "@storybook/manager-api": "8.1.10", + "@storybook/node-logger": "8.1.10", + "@storybook/preview-api": "8.1.10", "ts-dedent": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, "node_modules/@storybook/addon-highlight": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-7.6.17.tgz", - "integrity": "sha512-R1yBPUUqGn+60aJakn8q+5Zt34E/gU3n3VmgPdryP0LJUdZ5q1/RZShoVDV+yYQ40htMH6oaCv3OyyPzFAGJ6A==", + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-8.1.10.tgz", + "integrity": "sha512-s9QKGtU6WGB/+CggNWg940NIi+u0tcxpPxqg/ltg3EOHr8J0NAZur6mibs3Z4Q5CXkAuNdWrvopLu+/27i1rQQ==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -3700,14 +3381,15 @@ } }, "node_modules/@storybook/addon-interactions": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-7.6.17.tgz", - "integrity": "sha512-6zlX+RDQ1PlA6fp7C+hun8t7h2RXfCGs5dGrhEenp2lqnR/rYuUJRC0tmKpkZBb8kZVcbSChzkB/JYkBjBCzpQ==", + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-8.1.10.tgz", + "integrity": "sha512-GGU66TxYv6Bis10mmlgMhLOyai1am1amKVvX7ML8XYfsi6lA9zCnfQSVXulYLfjfzyIR6Ld8Kxe5awvjucPxSw==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0", - "@storybook/types": "7.6.17", - "jest-mock": "^27.0.6", + "@storybook/instrumenter": "8.1.10", + "@storybook/test": "8.1.10", + "@storybook/types": "8.1.10", "polished": "^4.2.2", "ts-dedent": "^2.2.0" }, @@ -3717,12 +3399,12 @@ } }, "node_modules/@storybook/addon-links": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-7.6.17.tgz", - "integrity": "sha512-iFUwKObRn0EKI0zMETsil2p9a/81rCuSMEWECsi+khkCAs1FUnD2cT6Ag5ydcNcBXsdtdfDJdtXQrkw+TSoStQ==", + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-8.1.10.tgz", + "integrity": "sha512-SxCuK7k7A0/qIPzV68u25qfye3Fb0PkC1izlRbt7u64wIUIxGzgfjM3dFRWK2VaJzCsEQWSmIdv7YHi7Wv5y3w==", "dev": true, "dependencies": { - "@storybook/csf": "^0.1.2", + "@storybook/csf": "^0.1.7", "@storybook/global": "^5.0.0", "ts-dedent": "^2.0.0" }, @@ -3731,7 +3413,7 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta" }, "peerDependenciesMeta": { "react": { @@ -3740,9 +3422,9 @@ } }, "node_modules/@storybook/addon-measure": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-7.6.17.tgz", - "integrity": "sha512-O5vnHZNkduvZ95jf1UssbOl6ivIxzl5tv+4EpScPYId7w700bxWsJH+QX7ip6KlrCf2o3iUhmPe8bm05ghG2KA==", + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-8.1.10.tgz", + "integrity": "sha512-akhdg3WBOBvDsolzSSvW4TIdZLMVlL9DS6rpZvhydXeX8pG0sjb+sON6VUL4h8Gs7qa8QumauXCr+Y4q1FhZhw==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0", @@ -3754,9 +3436,9 @@ } }, "node_modules/@storybook/addon-outline": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-7.6.17.tgz", - "integrity": "sha512-9o9JXDsYjNaDgz/cY5+jv694+aik/1aiRGGvsCv68e1p/ob0glkGKav4lnJe2VJqD+gCmaARoD8GOJlhoQl8JQ==", + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-8.1.10.tgz", + "integrity": "sha512-Edn5TWpV1DcumOjx0qG9bBKja6vz210ip7O47JbRDu7IDR8lguaM2X9xbmhXhBQq4fmqvobZmfRnrSeCtSYeyQ==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0", @@ -3768,9 +3450,9 @@ } }, "node_modules/@storybook/addon-toolbars": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-7.6.17.tgz", - "integrity": "sha512-UMrchbUHiyWrh6WuGnpy34Jqzkx/63B+MSgb3CW7YsQaXz64kE0Rol0TNSznnB+mYXplcqH+ndI4r4kFsmgwDg==", + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-8.1.10.tgz", + "integrity": "sha512-5bRcCWrhaTX5Y91EWmHilPZ7kZaneaY414Gn5a6gsaNgaVPkSx9KD9j8M9DyXJ4yQNs265TiPWQqWrPB3Q2VgA==", "dev": true, "funding": { "type": "opencollective", @@ -3778,9 +3460,9 @@ } }, "node_modules/@storybook/addon-viewport": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-7.6.17.tgz", - "integrity": "sha512-sA0QCcf4QAMixWvn8uvRYPfkKCSl6JajJaAspoPqXSxHEpK7uwOlpg3kqFU5XJJPXD0X957M+ONgNvBzYqSpEw==", + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-8.1.10.tgz", + "integrity": "sha512-rJpyAwTVQa+6yqjdMDeqNKoW5aPoSzBAtMywtNMP5lHwF6NpJUvm67c/ox0//d5dPPPjlJDz2QC2COWqjviQyw==", "dev": true, "dependencies": { "memoizerific": "^1.11.3" @@ -3791,27 +3473,28 @@ } }, "node_modules/@storybook/blocks": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.6.17.tgz", - "integrity": "sha512-PsNVoe0bX1mMn4Kk3nbKZ0ItDZZ0YJnYAFJ6toAbsyBAbgzg1sce88sQinzvbn58/RT9MPKeWMPB45ZS7ggiNg==", + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-8.1.10.tgz", + "integrity": "sha512-8ZGgLIUBdSafcyaKR5Zs0CFisFCPoxZBVt3GMUCZtN+G17YhEg4+OnZs5aMZknfnh28BUnZS2STjWTGStAE5Rw==", "dev": true, "dependencies": { - "@storybook/channels": "7.6.17", - "@storybook/client-logger": "7.6.17", - "@storybook/components": "7.6.17", - "@storybook/core-events": "7.6.17", - "@storybook/csf": "^0.1.2", - "@storybook/docs-tools": "7.6.17", + "@storybook/channels": "8.1.10", + "@storybook/client-logger": "8.1.10", + "@storybook/components": "8.1.10", + "@storybook/core-events": "8.1.10", + "@storybook/csf": "^0.1.7", + "@storybook/docs-tools": "8.1.10", "@storybook/global": "^5.0.0", - "@storybook/manager-api": "7.6.17", - "@storybook/preview-api": "7.6.17", - "@storybook/theming": "7.6.17", - "@storybook/types": "7.6.17", + "@storybook/icons": "^1.2.5", + "@storybook/manager-api": "8.1.10", + "@storybook/preview-api": "8.1.10", + "@storybook/theming": "8.1.10", + "@storybook/types": "8.1.10", "@types/lodash": "^4.14.167", "color-convert": "^2.0.1", "dequal": "^2.0.2", "lodash": "^4.17.21", - "markdown-to-jsx": "^7.1.8", + "markdown-to-jsx": "7.3.2", "memoizerific": "^1.11.3", "polished": "^4.2.2", "react-colorful": "^5.1.2", @@ -3825,29 +3508,35 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } } }, "node_modules/@storybook/builder-manager": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-7.6.17.tgz", - "integrity": "sha512-Sj8hcDYiPCCMfeLzus37czl0zdrAxAz4IyYam2jBjVymrIrcDAFyL1OCZvnq33ft179QYQWhUs9qwzVmlR/ZWg==", + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-8.1.10.tgz", + "integrity": "sha512-dhg54zpaglR9XKNAiwMqm5/IONMCEG/hO/iTfNHJI1rAGeWhvM71cmhF+VlKUcjpTlIfHe7J19+TL+sWQJNgtg==", "dev": true, "dependencies": { "@fal-works/esbuild-plugin-global-externals": "^2.1.2", - "@storybook/core-common": "7.6.17", - "@storybook/manager": "7.6.17", - "@storybook/node-logger": "7.6.17", + "@storybook/core-common": "8.1.10", + "@storybook/manager": "8.1.10", + "@storybook/node-logger": "8.1.10", "@types/ejs": "^3.1.1", - "@types/find-cache-dir": "^3.2.1", "@yarnpkg/esbuild-plugin-pnp": "^3.0.0-rc.10", "browser-assert": "^1.2.1", - "ejs": "^3.1.8", - "esbuild": "^0.18.0", + "ejs": "^3.1.10", + "esbuild": "^0.18.0 || ^0.19.0 || ^0.20.0", "esbuild-plugin-alias": "^0.2.1", "express": "^4.17.3", - "find-cache-dir": "^3.0.0", "fs-extra": "^11.1.0", "process": "^0.11.10", "util": "^0.12.4" @@ -3858,27 +3547,28 @@ } }, "node_modules/@storybook/builder-vite": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-7.6.17.tgz", - "integrity": "sha512-2Q32qalI401EsKKr9Hkk8TAOcHEerqwsjCpQgTNJnCu6GgCVKoVUcb99oRbR9Vyg0xh+jb19XiWqqQujFtLYlQ==", - "dev": true, - "dependencies": { - "@storybook/channels": "7.6.17", - "@storybook/client-logger": "7.6.17", - "@storybook/core-common": "7.6.17", - "@storybook/csf-plugin": "7.6.17", - "@storybook/node-logger": "7.6.17", - "@storybook/preview": "7.6.17", - "@storybook/preview-api": "7.6.17", - "@storybook/types": "7.6.17", + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/builder-vite/-/builder-vite-8.1.10.tgz", + "integrity": "sha512-8A/i5OEyRVKkTROLgxXEEJRAS8gmdonr4xA15TqAvjOtdYjwP6JoQ4cjNOqH7fPPGPdx/t49Z/7E+v7Ovv6cAw==", + "dev": true, + "dependencies": { + "@storybook/channels": "8.1.10", + "@storybook/client-logger": "8.1.10", + "@storybook/core-common": "8.1.10", + "@storybook/core-events": "8.1.10", + "@storybook/csf-plugin": "8.1.10", + "@storybook/node-logger": "8.1.10", + "@storybook/preview": "8.1.10", + "@storybook/preview-api": "8.1.10", + "@storybook/types": "8.1.10", "@types/find-cache-dir": "^3.2.1", "browser-assert": "^1.2.1", - "es-module-lexer": "^0.9.3", + "es-module-lexer": "^1.5.0", "express": "^4.17.3", "find-cache-dir": "^3.0.0", "fs-extra": "^11.1.0", "magic-string": "^0.30.0", - "rollup": "^2.25.0 || ^3.3.0" + "ts-dedent": "^2.0.0" }, "funding": { "type": "opencollective", @@ -3887,7 +3577,7 @@ "peerDependencies": { "@preact/preset-vite": "*", "typescript": ">= 4.3.x", - "vite": "^3.0.0 || ^4.0.0 || ^5.0.0", + "vite": "^4.0.0 || ^5.0.0", "vite-plugin-glimmerx": "*" }, "peerDependenciesMeta": { @@ -3903,15 +3593,14 @@ } }, "node_modules/@storybook/channels": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.6.17.tgz", - "integrity": "sha512-GFG40pzaSxk1hUr/J/TMqW5AFDDPUSu+HkeE/oqSWJbOodBOLJzHN6CReJS6y1DjYSZLNFt1jftPWZZInG/XUA==", + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-8.1.10.tgz", + "integrity": "sha512-CxZE4XrQoe+F+S2mo8Z9HTvFZKfKHIIiwYfoXKCryVp2U/z7ZKrely2PbfxWsrQvF3H0+oegfYYhYRHRiM21Zw==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.6.17", - "@storybook/core-events": "7.6.17", + "@storybook/client-logger": "8.1.10", + "@storybook/core-events": "8.1.10", "@storybook/global": "^5.0.0", - "qs": "^6.10.0", "telejson": "^7.2.0", "tiny-invariant": "^1.3.1" }, @@ -3921,23 +3610,22 @@ } }, "node_modules/@storybook/cli": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/cli/-/cli-7.6.17.tgz", - "integrity": "sha512-1sCo+nCqyR+nKfTcEidVu8XzNoECC7Y1l+uW38/r7s2f/TdDorXaIGAVrpjbSaXSoQpx5DxYJVaKCcQuOgqwcA==", + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/cli/-/cli-8.1.10.tgz", + "integrity": "sha512-7Fm2Qgk33sHayZ0QABqwe1Jto4yyVRVW6kTrSeP5IuLh+mn244RgxBvWtGCyL1EcWDFI7PYUFa0HxgTCq7C+OA==", "dev": true, "dependencies": { - "@babel/core": "^7.23.2", - "@babel/preset-env": "^7.23.2", - "@babel/types": "^7.23.0", + "@babel/core": "^7.24.4", + "@babel/types": "^7.24.0", "@ndelangen/get-tarball": "^3.0.7", - "@storybook/codemod": "7.6.17", - "@storybook/core-common": "7.6.17", - "@storybook/core-events": "7.6.17", - "@storybook/core-server": "7.6.17", - "@storybook/csf-tools": "7.6.17", - "@storybook/node-logger": "7.6.17", - "@storybook/telemetry": "7.6.17", - "@storybook/types": "7.6.17", + "@storybook/codemod": "8.1.10", + "@storybook/core-common": "8.1.10", + "@storybook/core-events": "8.1.10", + "@storybook/core-server": "8.1.10", + "@storybook/csf-tools": "8.1.10", + "@storybook/node-logger": "8.1.10", + "@storybook/telemetry": "8.1.10", + "@storybook/types": "8.1.10", "@types/semver": "^7.3.4", "@yarnpkg/fslib": "2.10.3", "@yarnpkg/libzip": "2.3.0", @@ -3947,25 +3635,22 @@ "detect-indent": "^6.1.0", "envinfo": "^7.7.3", "execa": "^5.0.0", - "express": "^4.17.3", "find-up": "^5.0.0", "fs-extra": "^11.1.0", "get-npm-tarball-url": "^2.0.3", - "get-port": "^5.1.1", "giget": "^1.0.0", - "globby": "^11.0.2", + "globby": "^14.0.1", "jscodeshift": "^0.15.1", "leven": "^3.1.0", "ora": "^5.4.1", - "prettier": "^2.8.0", + "prettier": "^3.1.1", "prompts": "^2.4.0", - "puppeteer-core": "^2.1.1", "read-pkg-up": "^7.0.1", "semver": "^7.3.7", "strip-json-comments": "^3.0.1", - "tempy": "^1.0.1", - "ts-dedent": "^2.0.0", - "util-deprecate": "^1.0.2" + "tempy": "^3.1.0", + "tiny-invariant": "^1.3.1", + "ts-dedent": "^2.0.0" }, "bin": { "getstorybook": "bin/index.js", @@ -3976,26 +3661,66 @@ "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/cli/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/@storybook/cli/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "yallist": "^4.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=10" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@storybook/cli/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "node_modules/@storybook/cli/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@storybook/cli/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@storybook/cli/node_modules/prettier": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.2.tgz", + "integrity": "sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/@storybook/cli/node_modules/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "dev": true, "bin": { "semver": "bin/semver.js" }, @@ -4003,16 +3728,22 @@ "node": ">=10" } }, - "node_modules/@storybook/cli/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "node_modules/@storybook/cli/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, "node_modules/@storybook/client-logger": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.6.17.tgz", - "integrity": "sha512-6WBYqixAXNAXlSaBWwgljWpAu10tPRBJrcFvx2gPUne58EeMM20Gi/iHYBz2kMCY+JLAgeIH7ZxInqwO8vDwiQ==", + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-8.1.10.tgz", + "integrity": "sha512-sVXCOo7jnlCgRPOcMlQGODAEt6ipPj+8xGkRUws0kie77qiDld1drLSB6R380dWc9lUrbv9E1GpxCd/Y4ZzSJQ==", "dev": true, "dependencies": { "@storybook/global": "^5.0.0" @@ -4023,46 +3754,62 @@ } }, "node_modules/@storybook/codemod": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-7.6.17.tgz", - "integrity": "sha512-JuTmf2u3C4fCnjO7o3dqRgrq3ozNYfWlrRP8xuIdvT7niMap7a396hJtSKqS10FxCgKFcMAOsRgrCalH1dWxUg==", + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-8.1.10.tgz", + "integrity": "sha512-HZ/vrseP/sHfbO2RZpImP5eeqOakJ0X31BIiD4uxDBIKGltMXhlPKHTI93O2YGR+vbB33otoTVRjE+ZpPmC6SA==", "dev": true, "dependencies": { - "@babel/core": "^7.23.2", - "@babel/preset-env": "^7.23.2", - "@babel/types": "^7.23.0", - "@storybook/csf": "^0.1.2", - "@storybook/csf-tools": "7.6.17", - "@storybook/node-logger": "7.6.17", - "@storybook/types": "7.6.17", + "@babel/core": "^7.24.4", + "@babel/preset-env": "^7.24.4", + "@babel/types": "^7.24.0", + "@storybook/csf": "^0.1.7", + "@storybook/csf-tools": "8.1.10", + "@storybook/node-logger": "8.1.10", + "@storybook/types": "8.1.10", "@types/cross-spawn": "^6.0.2", "cross-spawn": "^7.0.3", - "globby": "^11.0.2", + "globby": "^14.0.1", "jscodeshift": "^0.15.1", "lodash": "^4.17.21", - "prettier": "^2.8.0", - "recast": "^0.23.1" + "prettier": "^3.1.1", + "recast": "^0.23.5", + "tiny-invariant": "^1.3.1" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" } }, + "node_modules/@storybook/codemod/node_modules/prettier": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.2.tgz", + "integrity": "sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, "node_modules/@storybook/components": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.6.17.tgz", - "integrity": "sha512-lbh7GynMidA+CZcJnstVku6Nhs+YkqjYaZ+mKPugvlVhGVWv0DaaeQFVuZ8cJtUGJ/5FFU4Y+n+gylYUHkGBMA==", + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-8.1.10.tgz", + "integrity": "sha512-fL2odC3Ct3NiFJEiGLmMNB3Tw3CdUDA/+va3Ka/JEhjaRhbsND2JgriHYmED8SnX9CCqwXoxl5QA8qwl+Oyolw==", "dev": true, "dependencies": { - "@radix-ui/react-select": "^1.2.2", - "@radix-ui/react-toolbar": "^1.0.4", - "@storybook/client-logger": "7.6.17", - "@storybook/csf": "^0.1.2", + "@radix-ui/react-dialog": "^1.0.5", + "@radix-ui/react-slot": "^1.0.2", + "@storybook/client-logger": "8.1.10", + "@storybook/csf": "^0.1.7", "@storybook/global": "^5.0.0", - "@storybook/theming": "7.6.17", - "@storybook/types": "7.6.17", + "@storybook/icons": "^1.2.5", + "@storybook/theming": "8.1.10", + "@storybook/types": "8.1.10", "memoizerific": "^1.11.3", - "use-resize-observer": "^9.1.0", "util-deprecate": "^1.0.2" }, "funding": { @@ -4070,40 +3817,27 @@ "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@storybook/core-client": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-7.6.17.tgz", - "integrity": "sha512-LuDbADK+DPNAOOCXOlvY09hdGVueXlDetsdOJ/DgYnSa9QSWv9Uv+F8QcEgR3QckZJbPlztKJIVLgP2n/Xkijw==", - "dev": true, - "dependencies": { - "@storybook/client-logger": "7.6.17", - "@storybook/preview-api": "7.6.17" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta" } }, "node_modules/@storybook/core-common": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.6.17.tgz", - "integrity": "sha512-me2TP3Q9/qzqCLoDHUSsUF+VS1MHxfHbTVF6vAz0D/COTxzsxLpu9TxTbzJoBCxse6XRb6wWI1RgF1mIcjic7g==", + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-8.1.10.tgz", + "integrity": "sha512-+0GhgDRQwUlXu1lY77NdLnVBVycCEW0DG7eu7rvLYYkTyNRxbdl2RWsQpjr/j4sxqT6u82l9/b+RWpmsl4MgMQ==", "dev": true, "dependencies": { - "@storybook/core-events": "7.6.17", - "@storybook/node-logger": "7.6.17", - "@storybook/types": "7.6.17", - "@types/find-cache-dir": "^3.2.1", - "@types/node": "^18.0.0", - "@types/node-fetch": "^2.6.4", - "@types/pretty-hrtime": "^1.0.0", + "@storybook/core-events": "8.1.10", + "@storybook/csf-tools": "8.1.10", + "@storybook/node-logger": "8.1.10", + "@storybook/types": "8.1.10", + "@yarnpkg/fslib": "2.10.3", + "@yarnpkg/libzip": "2.3.0", "chalk": "^4.1.0", - "esbuild": "^0.18.0", + "cross-spawn": "^7.0.3", + "esbuild": "^0.18.0 || ^0.19.0 || ^0.20.0", "esbuild-register": "^3.5.0", + "execa": "^5.0.0", "file-system-cache": "2.3.0", "find-cache-dir": "^3.0.0", "find-up": "^5.0.0", @@ -4114,30 +3848,99 @@ "node-fetch": "^2.0.0", "picomatch": "^2.3.0", "pkg-dir": "^5.0.0", + "prettier-fallback": "npm:prettier@^3", "pretty-hrtime": "^1.0.3", "resolve-from": "^5.0.0", - "ts-dedent": "^2.0.0" + "semver": "^7.3.7", + "tempy": "^3.1.0", + "tiny-invariant": "^1.3.1", + "ts-dedent": "^2.0.0", + "util": "^0.12.4" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "prettier": "^2 || ^3" + }, + "peerDependenciesMeta": { + "prettier": { + "optional": true + } } }, - "node_modules/@storybook/core-common/node_modules/@types/node": { - "version": "18.19.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.21.tgz", - "integrity": "sha512-2Q2NeB6BmiTFQi4DHBzncSoq/cJMLDdhPaAoJFnFCyD9a8VPZRf7a1GAwp1Edb7ROaZc5Jz/tnZyL6EsWMRaqw==", + "node_modules/@storybook/core-common/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "undici-types": "~5.26.4" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@storybook/core-common/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@storybook/core-common/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@storybook/core-common/node_modules/semver": { + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@storybook/core-common/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, "node_modules/@storybook/core-events": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.6.17.tgz", - "integrity": "sha512-AriWMCm/k1cxlv10f+jZ1wavThTRpLaN3kY019kHWbYT9XgaSuLU67G7GPr3cGnJ6HuA6uhbzu8qtqVCd6OfXA==", + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-8.1.10.tgz", + "integrity": "sha512-aS4zsBVyJds74+rAW0IfTEjULDCQwXecVpQfv11B8/89/07s3bOPssGGoTtCTaN4pHbduywE6MxbmFvTmXOFCA==", "dev": true, "dependencies": { + "@storybook/csf": "^0.1.7", "ts-dedent": "^2.0.0" }, "funding": { @@ -4146,27 +3949,31 @@ } }, "node_modules/@storybook/core-server": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-7.6.17.tgz", - "integrity": "sha512-KWGhTTaL1Q14FolcoKKZgytlPJUbH6sbJ1Ptj/84EYWFewcnEgVs0Zlnh1VStRZg+Rd1WC1V4yVd/bbDzxrvQA==", + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-8.1.10.tgz", + "integrity": "sha512-jNL5/daNyo7Rcu+y/bOmSB1P65pmcaLwvpr31EUEIISaAqvgruaneS3GKHg2TR0wcxEoHaM4abqhW6iwkI/XYQ==", "dev": true, "dependencies": { "@aw-web-design/x-default-browser": "1.4.126", + "@babel/core": "^7.24.4", + "@babel/parser": "^7.24.4", "@discoveryjs/json-ext": "^0.5.3", - "@storybook/builder-manager": "7.6.17", - "@storybook/channels": "7.6.17", - "@storybook/core-common": "7.6.17", - "@storybook/core-events": "7.6.17", - "@storybook/csf": "^0.1.2", - "@storybook/csf-tools": "7.6.17", - "@storybook/docs-mdx": "^0.1.0", + "@storybook/builder-manager": "8.1.10", + "@storybook/channels": "8.1.10", + "@storybook/core-common": "8.1.10", + "@storybook/core-events": "8.1.10", + "@storybook/csf": "^0.1.7", + "@storybook/csf-tools": "8.1.10", + "@storybook/docs-mdx": "3.1.0-next.0", "@storybook/global": "^5.0.0", - "@storybook/manager": "7.6.17", - "@storybook/node-logger": "7.6.17", - "@storybook/preview-api": "7.6.17", - "@storybook/telemetry": "7.6.17", - "@storybook/types": "7.6.17", + "@storybook/manager": "8.1.10", + "@storybook/manager-api": "8.1.10", + "@storybook/node-logger": "8.1.10", + "@storybook/preview-api": "8.1.10", + "@storybook/telemetry": "8.1.10", + "@storybook/types": "8.1.10", "@types/detect-port": "^1.3.0", + "@types/diff": "^5.0.9", "@types/node": "^18.0.0", "@types/pretty-hrtime": "^1.0.0", "@types/semver": "^7.3.4", @@ -4175,10 +3982,10 @@ "cli-table3": "^0.6.1", "compression": "^1.7.4", "detect-port": "^1.3.0", + "diff": "^5.2.0", "express": "^4.17.3", "fs-extra": "^11.1.0", - "globby": "^11.0.2", - "ip": "^2.0.1", + "globby": "^14.0.1", "lodash": "^4.17.21", "open": "^8.4.0", "pretty-hrtime": "^1.0.3", @@ -4198,35 +4005,51 @@ "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/core-server/node_modules/@types/node": { - "version": "18.19.21", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.21.tgz", - "integrity": "sha512-2Q2NeB6BmiTFQi4DHBzncSoq/cJMLDdhPaAoJFnFCyD9a8VPZRf7a1GAwp1Edb7ROaZc5Jz/tnZyL6EsWMRaqw==", + "node_modules/@storybook/core-server/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "undici-types": "~5.26.4" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@storybook/core-server/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/@storybook/core-server/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "yallist": "^4.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@storybook/core-server/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" } }, "node_modules/@storybook/core-server/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -4234,28 +4057,34 @@ "node": ">=10" } }, - "node_modules/@storybook/core-server/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "node_modules/@storybook/core-server/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, "node_modules/@storybook/csf": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.1.2.tgz", - "integrity": "sha512-ePrvE/pS1vsKR9Xr+o+YwdqNgHUyXvg+1Xjx0h9LrVx7Zq4zNe06pd63F5EvzTbCbJsHj7GHr9tkiaqm7U8WRA==", + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.1.8.tgz", + "integrity": "sha512-Ntab9o7LjBCbFIao5l42itFiaSh/Qu+l16l/r/9qmV9LnYZkO+JQ7tzhdlwpgJfhs+B5xeejpdAtftDRyXNajw==", "dev": true, "dependencies": { "type-fest": "^2.19.0" } }, "node_modules/@storybook/csf-plugin": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-7.6.17.tgz", - "integrity": "sha512-xTHv9BUh3bkDVCvcbmdfVF0/e96BdrEgqPJ3G3RmKbSzWLOkQ2U9yiPfHzT0KJWPhVwj12fjfZp0zunu+pcS6Q==", + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-8.1.10.tgz", + "integrity": "sha512-EwW9Olw85nKamUH/2YrkD+bxDvDP4TJ2MqS1qR3UU+lBP/HMQA2zFAgiW1TUmmdHmhAeiDOXbDhijxMa30sppQ==", "dev": true, "dependencies": { - "@storybook/csf-tools": "7.6.17", + "@storybook/csf-tools": "8.1.10", "unplugin": "^1.3.1" }, "funding": { @@ -4264,19 +4093,19 @@ } }, "node_modules/@storybook/csf-tools": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.6.17.tgz", - "integrity": "sha512-dAQtam0EBPeTJYcQPLxXgz4L9JFqD+HWbLFG9CmNIhMMjticrB0mpk1EFIS6vPXk/VsVWpBgMLD7dZlD6YMKcQ==", + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-8.1.10.tgz", + "integrity": "sha512-bm/J1jAJf1YaKhcXgOlsNN02sf8XvILXuVAvr9cFC3aFkxVoGbC2AKCss4cgXAd8EQxUNtyETkOcheB5mJ5IlA==", "dev": true, "dependencies": { - "@babel/generator": "^7.23.0", - "@babel/parser": "^7.23.0", - "@babel/traverse": "^7.23.2", - "@babel/types": "^7.23.0", - "@storybook/csf": "^0.1.2", - "@storybook/types": "7.6.17", + "@babel/generator": "^7.24.4", + "@babel/parser": "^7.24.4", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0", + "@storybook/csf": "^0.1.7", + "@storybook/types": "8.1.10", "fs-extra": "^11.1.0", - "recast": "^0.23.1", + "recast": "^0.23.5", "ts-dedent": "^2.0.0" }, "funding": { @@ -4285,20 +4114,21 @@ } }, "node_modules/@storybook/docs-mdx": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/@storybook/docs-mdx/-/docs-mdx-0.1.0.tgz", - "integrity": "sha512-JDaBR9lwVY4eSH5W8EGHrhODjygPd6QImRbwjAuJNEnY0Vw4ie3bPkeGfnacB3OBW6u/agqPv2aRlR46JcAQLg==", + "version": "3.1.0-next.0", + "resolved": "https://registry.npmjs.org/@storybook/docs-mdx/-/docs-mdx-3.1.0-next.0.tgz", + "integrity": "sha512-t4syFIeSyufieNovZbLruPt2DmRKpbwL4fERCZ1MifWDRIORCKLc4NCEHy+IqvIqd71/SJV2k4B51nF7vlJfmQ==", "dev": true }, "node_modules/@storybook/docs-tools": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.6.17.tgz", - "integrity": "sha512-bYrLoj06adqklyLkEwD32C0Ww6t+9ZVvrJHiVT42bIhTRpFiFPAetl1a9KPHtFLnfduh4n2IxIr1jv32ThPDTA==", + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-8.1.10.tgz", + "integrity": "sha512-FsO/+L9CrUfAIbm9cdH9UpjTusT7L5RZxN4WCXkiF5SpAVyBoY8kar3RzTZVoh4aQxt1yGWYC+SZGjgf++xa4g==", "dev": true, "dependencies": { - "@storybook/core-common": "7.6.17", - "@storybook/preview-api": "7.6.17", - "@storybook/types": "7.6.17", + "@storybook/core-common": "8.1.10", + "@storybook/core-events": "8.1.10", + "@storybook/preview-api": "8.1.10", + "@storybook/types": "8.1.10", "@types/doctrine": "^0.0.3", "assert": "^2.1.0", "doctrine": "^3.0.0", @@ -4315,18 +4145,31 @@ "integrity": "sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==", "dev": true }, + "node_modules/@storybook/icons": { + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/@storybook/icons/-/icons-1.2.9.tgz", + "integrity": "sha512-cOmylsz25SYXaJL/gvTk/dl3pyk7yBFRfeXTsHvTA3dfhoU/LWSq0NKL9nM7WBasJyn6XPSGnLS4RtKXLw5EUg==", + "dev": true, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/@storybook/instrumenter": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-7.6.17.tgz", - "integrity": "sha512-zTLIPTt1fvlWgkIVUyQpF327iVE+EiPdpM0Or0aARaNfIikPRBTcjU+6cK96E+Ust2E1qKajEjIuv4i4lLQPng==", + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-8.1.10.tgz", + "integrity": "sha512-/TZ3JpTCorbhThCfaR5k4Vs0Svp6xz6t+FVaim/v7N9VErEfmtn+d76CqYLfvmo68DzkEzvArOFBdh2MXtscsw==", "dev": true, "dependencies": { - "@storybook/channels": "7.6.17", - "@storybook/client-logger": "7.6.17", - "@storybook/core-events": "7.6.17", + "@storybook/channels": "8.1.10", + "@storybook/client-logger": "8.1.10", + "@storybook/core-events": "8.1.10", "@storybook/global": "^5.0.0", - "@storybook/preview-api": "7.6.17", - "@vitest/utils": "^0.34.6", + "@storybook/preview-api": "8.1.10", + "@vitest/utils": "^1.3.1", "util": "^0.12.4" }, "funding": { @@ -4335,9 +4178,9 @@ } }, "node_modules/@storybook/manager": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/manager/-/manager-7.6.17.tgz", - "integrity": "sha512-A1LDDIqMpwRzq/dqkbbiza0QI04o4ZHCl2a3UMDZUV/+QLc2nsr2DAaLk4CVL4/cIc5zGqmIcaOTvprx2YKVBw==", + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/manager/-/manager-8.1.10.tgz", + "integrity": "sha512-dQmRBfT4CABIPhv0kL25qKcQk2SiU5mIZ1DuVzckIbZW+iYEOAusyJ/0HExM9leCrymaW3BgZGlHbIXL7EvZtw==", "dev": true, "funding": { "type": "opencollective", @@ -4345,19 +4188,20 @@ } }, "node_modules/@storybook/manager-api": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.6.17.tgz", - "integrity": "sha512-IJIV1Yc6yw1dhCY4tReHCfBnUKDqEBnMyHp3mbXpsaHxnxJZrXO45WjRAZIKlQKhl/Ge1CrnznmHRCmYgqmrWg==", + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-8.1.10.tgz", + "integrity": "sha512-9aZ+zoNrTo1BJskVmCKE/yqlBXmWaKVZh1W/+/xu3WL9wdm/tBlozRvQwegIZlRVvUOxtjOg28Vd2hySYL58zg==", "dev": true, "dependencies": { - "@storybook/channels": "7.6.17", - "@storybook/client-logger": "7.6.17", - "@storybook/core-events": "7.6.17", - "@storybook/csf": "^0.1.2", + "@storybook/channels": "8.1.10", + "@storybook/client-logger": "8.1.10", + "@storybook/core-events": "8.1.10", + "@storybook/csf": "^0.1.7", "@storybook/global": "^5.0.0", - "@storybook/router": "7.6.17", - "@storybook/theming": "7.6.17", - "@storybook/types": "7.6.17", + "@storybook/icons": "^1.2.5", + "@storybook/router": "8.1.10", + "@storybook/theming": "8.1.10", + "@storybook/types": "8.1.10", "dequal": "^2.0.2", "lodash": "^4.17.21", "memoizerific": "^1.11.3", @@ -4370,26 +4214,10 @@ "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/mdx2-csf": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@storybook/mdx2-csf/-/mdx2-csf-1.1.0.tgz", - "integrity": "sha512-TXJJd5RAKakWx4BtpwvSNdgTDkKM6RkXU8GK34S/LhidQ5Pjz3wcnqb0TxEkfhK/ztbP8nKHqXFwLfa2CYkvQw==", - "dev": true - }, "node_modules/@storybook/node-logger": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.6.17.tgz", - "integrity": "sha512-w59MQuXhhUNrUVmVkXhMwIg2nvFWjdDczLTwYLorhfsE36CWeUOY5QCZWQy0Qf/h+jz8Uo7Evy64qn18v9C4wA==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/storybook" - } - }, - "node_modules/@storybook/postinstall": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-7.6.17.tgz", - "integrity": "sha512-WaWqB8o9vUc9aaVls+povQSVirf1Xd1LZcVhUKfAocAF3mzYUsnJsVqvnbjRj/F96UFVihOyDt9Zjl/9OvrCvQ==", + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-8.1.10.tgz", + "integrity": "sha512-djgbAROgGAvz/gr49egBxCHn1+rui57e76qa9aOMPzEBcxsGrnnKKp0uNdiNt4M7Xv6S2QHbJ2SfOlHhWmMeaA==", "dev": true, "funding": { "type": "opencollective", @@ -4397,9 +4225,9 @@ } }, "node_modules/@storybook/preview": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/preview/-/preview-7.6.17.tgz", - "integrity": "sha512-LvkMYK/y6alGjwRVNDIKL1lFlbyZ0H0c8iAbcQkiMoaFiujMQyVswMDKlWcj42Upfr/B1igydiruomc+eUt0mw==", + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/preview/-/preview-8.1.10.tgz", + "integrity": "sha512-Ch7SJQ8/vm4o7ZPwPeL3nGOCKx1Aul7VcvOVkDs+K2lZusJjUROHVTBYlbs71DTTmCo2gS7WhSq+HOpD59BPDg==", "dev": true, "funding": { "type": "opencollective", @@ -4407,23 +4235,23 @@ } }, "node_modules/@storybook/preview-api": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.6.17.tgz", - "integrity": "sha512-wLfDdI9RWo1f2zzFe54yRhg+2YWyxLZvqdZnSQ45mTs4/7xXV5Wfbv3QNTtcdw8tT3U5KRTrN1mTfTCiRJc0Kw==", + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.1.10.tgz", + "integrity": "sha512-0Gl8WHDtp/srrA5uBYXl7YbC8kFQA7IxVmwWN7dIS7HAXu63JZ6JfxaFcfy+kCBfZSBD7spFG4J0f5JXRDYbpg==", "dev": true, "dependencies": { - "@storybook/channels": "7.6.17", - "@storybook/client-logger": "7.6.17", - "@storybook/core-events": "7.6.17", - "@storybook/csf": "^0.1.2", + "@storybook/channels": "8.1.10", + "@storybook/client-logger": "8.1.10", + "@storybook/core-events": "8.1.10", + "@storybook/csf": "^0.1.7", "@storybook/global": "^5.0.0", - "@storybook/types": "7.6.17", + "@storybook/types": "8.1.10", "@types/qs": "^6.9.5", "dequal": "^2.0.2", "lodash": "^4.17.21", "memoizerific": "^1.11.3", "qs": "^6.10.0", - "synchronous-promise": "^2.0.15", + "tiny-invariant": "^1.3.1", "ts-dedent": "^2.0.0", "util-deprecate": "^1.0.2" }, @@ -4433,26 +4261,26 @@ } }, "node_modules/@storybook/react-dom-shim": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-7.6.17.tgz", - "integrity": "sha512-32Sa/G+WnvaPiQ1Wvjjw5UM9rr2c4GDohwCcWVv3/LJuiFPqNS6zglAtmnsrlIBnUwRBMLMh/ekCTdqMiUmfDw==", + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-8.1.10.tgz", + "integrity": "sha512-+HS75Pq8jb3xkVq0hK33D84aGfbJCURRB+GN2vfTMmmjguQt7z2+MnGqRgrUCt6h2rxU3VdPg9OBnYi/UC0Zrg==", "dev": true, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta" } }, "node_modules/@storybook/router": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.6.17.tgz", - "integrity": "sha512-GnyC0j6Wi5hT4qRhSyT8NPtJfGmf82uZw97LQRWeyYu5gWEshUdM7aj40XlNiScd5cZDp0owO1idduVF2k2l2A==", + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-8.1.10.tgz", + "integrity": "sha512-JDEgZ0vVDx0GLz+dKD+R1xqWwjqsCdA2F+s3/si7upHqkFRWU5ocextZ63oKsRnCoaeUh6OavAU4EdkrKiQtQw==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.6.17", + "@storybook/client-logger": "8.1.10", "memoizerific": "^1.11.3", "qs": "^6.10.0" }, @@ -4462,14 +4290,14 @@ } }, "node_modules/@storybook/telemetry": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-7.6.17.tgz", - "integrity": "sha512-WOcOAmmengYnGInH98Px44F47DSpLyk20BM+Z/IIQDzfttGOLlxNqBBG1XTEhNRn+AYuk4aZ2JEed2lCjVIxcA==", + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-8.1.10.tgz", + "integrity": "sha512-pwiMWrq85D0AnaAgYNfB2w2BDgqnetQ+tXwsUAw4fUEFwA4oPU6r0uqekRbNNE6wmSSYjiiFP3JgknBFqjd2hg==", "dev": true, "dependencies": { - "@storybook/client-logger": "7.6.17", - "@storybook/core-common": "7.6.17", - "@storybook/csf-tools": "7.6.17", + "@storybook/client-logger": "8.1.10", + "@storybook/core-common": "8.1.10", + "@storybook/csf-tools": "8.1.10", "chalk": "^4.1.0", "detect-package-manager": "^2.0.1", "fetch-retry": "^5.0.2", @@ -4481,6 +4309,80 @@ "url": "https://opencollective.com/storybook" } }, + "node_modules/@storybook/telemetry/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@storybook/telemetry/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/@storybook/telemetry/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@storybook/telemetry/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@storybook/test": { + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/test/-/test-8.1.10.tgz", + "integrity": "sha512-uskw/xb/GkGLRTEKPao/5xUKxjP1X3DnDpE52xDF46ZmTvM+gPQbkex97qdG6Mfv37/0lhVhufAsV3g5+CrYKQ==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "8.1.10", + "@storybook/core-events": "8.1.10", + "@storybook/instrumenter": "8.1.10", + "@storybook/preview-api": "8.1.10", + "@testing-library/dom": "^9.3.4", + "@testing-library/jest-dom": "^6.4.2", + "@testing-library/user-event": "^14.5.2", + "@vitest/expect": "1.3.1", + "@vitest/spy": "^1.3.1", + "util": "^0.12.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, "node_modules/@storybook/testing-library": { "version": "0.0.14-next.2", "resolved": "https://registry.npmjs.org/@storybook/testing-library/-/testing-library-0.0.14-next.2.tgz", @@ -4494,116 +4396,112 @@ "ts-dedent": "^2.2.0" } }, - "node_modules/@storybook/theming": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.6.17.tgz", - "integrity": "sha512-ZbaBt3KAbmBtfjNqgMY7wPMBshhSJlhodyMNQypv+95xLD/R+Az6aBYbpVAOygLaUQaQk4ar7H/Ww6lFIoiFbA==", + "node_modules/@storybook/testing-library/node_modules/@storybook/channels": { + "version": "7.6.19", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.6.19.tgz", + "integrity": "sha512-2JGh+i95GwjtjqWqhtEh15jM5ifwbRGmXeFqkY7dpdHH50EEWafYHr2mg3opK3heVDwg0rJ/VBptkmshloXuvA==", "dev": true, "dependencies": { - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", - "@storybook/client-logger": "7.6.17", + "@storybook/client-logger": "7.6.19", + "@storybook/core-events": "7.6.19", "@storybook/global": "^5.0.0", - "memoizerific": "^1.11.3" + "qs": "^6.10.0", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/@storybook/types": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.6.17.tgz", - "integrity": "sha512-GRY0xEJQ0PrL7DY2qCNUdIfUOE0Gsue6N+GBJw9ku1IUDFLJRDOF+4Dx2BvYcVCPI5XPqdWKlEyZdMdKjiQN7Q==", + "node_modules/@storybook/testing-library/node_modules/@storybook/client-logger": { + "version": "7.6.19", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.6.19.tgz", + "integrity": "sha512-oGzOxbmLmciSIfd5gsxDzPmX8DttWhoYdPKxjMuCuWLTO2TWpkCWp1FTUMWO72mm/6V/FswT/aqpJJBBvdZ3RQ==", "dev": true, "dependencies": { - "@storybook/channels": "7.6.17", - "@types/babel__core": "^7.0.0", - "@types/express": "^4.7.0", - "file-system-cache": "2.3.0" + "@storybook/global": "^5.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" } }, - "node_modules/@storybook/vue3": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/vue3/-/vue3-7.6.17.tgz", - "integrity": "sha512-eHX9HWXKlawBs3uehUtDqHh7sEaZqHJ62oZBmxJoOjqMmn0cOsCo4HdcarwiLEVrJfQrL/nQCTE5G029nlBmPw==", + "node_modules/@storybook/testing-library/node_modules/@storybook/core-events": { + "version": "7.6.19", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.6.19.tgz", + "integrity": "sha512-K/W6Uvum0ocZSgjbi8hiotpe+wDEHDZlvN+KlPqdh9ae9xDK8aBNBq9IelCoqM+uKO1Zj+dDfSQds7CD781DJg==", "dev": true, "dependencies": { - "@storybook/core-client": "7.6.17", - "@storybook/docs-tools": "7.6.17", - "@storybook/global": "^5.0.0", - "@storybook/preview-api": "7.6.17", - "@storybook/types": "7.6.17", - "@vue/compiler-core": "^3.0.0", - "lodash": "^4.17.21", - "ts-dedent": "^2.0.0", - "type-fest": "~2.19", - "vue-component-type-helpers": "latest" - }, - "engines": { - "node": ">=16.0.0" + "ts-dedent": "^2.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "vue": "^3.0.0" } }, - "node_modules/@storybook/vue3-vite": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/@storybook/vue3-vite/-/vue3-vite-7.6.17.tgz", - "integrity": "sha512-B4zLb3oN67gz2vOWMGMXvh1t3aNUYhGGTHPJ4k8yjkk4gd7WSG/QXtQtKqtMrEotLa8prPAlssMtQfshPY4tXQ==", + "node_modules/@storybook/testing-library/node_modules/@storybook/instrumenter": { + "version": "7.6.19", + "resolved": "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-7.6.19.tgz", + "integrity": "sha512-chPRR8/N1fMss4gSOiEbLzDFqA+0tinnrrFeUSHhvadf+VqUcA/G72sf4b3C/jxBDdK6WPC6L+A3pFR/C1dN5A==", "dev": true, "dependencies": { - "@storybook/builder-vite": "7.6.17", - "@storybook/core-server": "7.6.17", - "@storybook/vue3": "7.6.17", - "@vitejs/plugin-vue": "^4.0.0", - "magic-string": "^0.30.0", - "vue-docgen-api": "^4.40.0" - }, - "engines": { - "node": "^14.18 || >=16" + "@storybook/channels": "7.6.19", + "@storybook/client-logger": "7.6.19", + "@storybook/core-events": "7.6.19", + "@storybook/global": "^5.0.0", + "@storybook/preview-api": "7.6.19", + "@vitest/utils": "^0.34.6", + "util": "^0.12.4" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/storybook" - }, - "peerDependencies": { - "vite": "^3.0.0 || ^4.0.0 || ^5.0.0" } }, - "node_modules/@surma/rollup-plugin-off-main-thread": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", - "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "node_modules/@storybook/testing-library/node_modules/@storybook/preview-api": { + "version": "7.6.19", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.6.19.tgz", + "integrity": "sha512-04hdMSQucroJT4dBjQzRd7ZwH2hij8yx2nm5qd4HYGkd1ORkvlH6GOLph4XewNJl5Um3xfzFQzBhvkqvG0WaCQ==", "dev": true, "dependencies": { - "ejs": "^3.1.6", - "json5": "^2.2.0", - "magic-string": "^0.25.0", - "string.prototype.matchall": "^4.0.6" + "@storybook/channels": "7.6.19", + "@storybook/client-logger": "7.6.19", + "@storybook/core-events": "7.6.19", + "@storybook/csf": "^0.1.2", + "@storybook/global": "^5.0.0", + "@storybook/types": "7.6.19", + "@types/qs": "^6.9.5", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "qs": "^6.10.0", + "synchronous-promise": "^2.0.15", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@surma/rollup-plugin-off-main-thread/node_modules/magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "node_modules/@storybook/testing-library/node_modules/@storybook/types": { + "version": "7.6.19", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.6.19.tgz", + "integrity": "sha512-DeGYrRPRMGTVfT7o2rEZtRzyLT2yKTI2exgpnxbwPWEFAduZCSfzBrcBXZ/nb5B0pjA9tUNWls1YzGkJGlkhpg==", "dev": true, "dependencies": { - "sourcemap-codec": "^1.4.8" + "@storybook/channels": "7.6.19", + "@types/babel__core": "^7.0.0", + "@types/express": "^4.7.0", + "file-system-cache": "2.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@testing-library/dom": { + "node_modules/@storybook/testing-library/node_modules/@testing-library/dom": { "version": "8.20.1", "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz", "integrity": "sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==", @@ -4622,7 +4520,7 @@ "node": ">=12" } }, - "node_modules/@testing-library/user-event": { + "node_modules/@storybook/testing-library/node_modules/@testing-library/user-event": { "version": "13.5.0", "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz", "integrity": "sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==", @@ -4638,861 +4536,1173 @@ "@testing-library/dom": ">=7.21.4" } }, - "node_modules/@trysound/sax": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", - "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "node_modules/@storybook/testing-library/node_modules/@vitest/utils": { + "version": "0.34.7", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.34.7.tgz", + "integrity": "sha512-ziAavQLpCYS9sLOorGrFFKmy2gnfiNU0ZJ15TsMz/K92NAPS/rp9K4z6AJQQk5Y8adCy4Iwpxy7pQumQ/psnRg==", "dev": true, - "engines": { - "node": ">=10.13.0" + "dependencies": { + "diff-sequences": "^29.4.3", + "loupe": "^2.3.6", + "pretty-format": "^29.5.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/@types/aria-query": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", - "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", - "dev": true - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "node_modules/@storybook/testing-library/node_modules/@vitest/utils/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@types/babel__generator": { - "version": "7.6.8", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", - "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "node_modules/@storybook/testing-library/node_modules/@vitest/utils/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "dependencies": { - "@babel/types": "^7.0.0" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "node_modules/@storybook/testing-library/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@types/babel__traverse": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", - "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", + "node_modules/@storybook/testing-library/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "@babel/types": "^7.20.7" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@types/body-parser": { - "version": "1.19.5", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", - "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "node_modules/@storybook/testing-library/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "dependencies": { - "@types/connect": "*", - "@types/node": "*" + "engines": { + "node": ">=8" } }, - "node_modules/@types/chai": { - "version": "4.3.12", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.12.tgz", - "integrity": "sha512-zNKDHG/1yxm8Il6uCCVsm+dRdEsJlFoDu73X17y09bId6UwoYww+vFBsAcRzl8knM1sab3Dp1VRikFQwDOtDDw==", + "node_modules/@storybook/testing-library/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", "dev": true }, - "node_modules/@types/chai-subset": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/chai-subset/-/chai-subset-1.3.5.tgz", - "integrity": "sha512-c2mPnw+xHtXDoHmdtcCXGwyLMiauiAyxWMzhGpqHC4nqI/Y5G2XhTampslK2rb59kpcuHon03UH8W6iYUzw88A==", + "node_modules/@storybook/testing-library/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "@types/chai": "*" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@types/connect": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", - "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "node_modules/@storybook/theming": { + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-8.1.10.tgz", + "integrity": "sha512-W7mth4hwdTqWLneqYCyUnIEiDg4vSokoad8HEodPz6JC9XUPUX3Yi2W4W3xFvqrW4Z5RXfuJ53iG2HN+0AgaQw==", "dev": true, "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/cross-spawn": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/@types/cross-spawn/-/cross-spawn-6.0.6.tgz", - "integrity": "sha512-fXRhhUkG4H3TQk5dBhQ7m/JDdSNHKwR2BBia62lhwEIq9xGiQKLxd6LymNhn47SjXhsUEPmxi+PKw2OkW4LLjA==", - "dev": true, - "dependencies": { - "@types/node": "*" + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", + "@storybook/client-logger": "8.1.10", + "@storybook/global": "^5.0.0", + "memoizerific": "^1.11.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "react-dom": { + "optional": true + } } }, - "node_modules/@types/debounce": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@types/debounce/-/debounce-1.2.4.tgz", - "integrity": "sha512-jBqiORIzKDOToaF63Fm//haOCHuwQuLa2202RK4MozpA6lh93eCBc+/8+wZn5OzjJt3ySdc+74SXWXB55Ewtyw==", - "dev": true - }, - "node_modules/@types/detect-port": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/detect-port/-/detect-port-1.3.5.tgz", - "integrity": "sha512-Rf3/lB9WkDfIL9eEKaSYKc+1L/rNVYBjThk22JTqQw0YozXarX8YljFAz+HCoC6h4B4KwCMsBPZHaFezwT4BNA==", - "dev": true - }, - "node_modules/@types/doctrine": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@types/doctrine/-/doctrine-0.0.3.tgz", - "integrity": "sha512-w5jZ0ee+HaPOaX25X2/2oGR/7rgAQSYII7X7pp0m9KgBfMP7uKfMfTvcpl5Dj+eDBbpxKGiqE+flqDr6XTd2RA==", - "dev": true - }, - "node_modules/@types/ejs": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.5.tgz", - "integrity": "sha512-nv+GSx77ZtXiJzwKdsASqi+YQ5Z7vwHsTP0JY2SiQgjGckkBRKZnk8nIM+7oUZ1VCtuTz0+By4qVR7fqzp/Dfg==", - "dev": true - }, - "node_modules/@types/emscripten": { - "version": "1.39.10", - "resolved": "https://registry.npmjs.org/@types/emscripten/-/emscripten-1.39.10.tgz", - "integrity": "sha512-TB/6hBkYQJxsZHSqyeuO1Jt0AB/bW6G7rHt9g7lML7SOF6lbgcHvw/Lr+69iqN0qxgXLhWKScAon73JNnptuDw==", - "dev": true - }, - "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" - }, - "node_modules/@types/express": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", - "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", + "node_modules/@storybook/types": { + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-8.1.10.tgz", + "integrity": "sha512-UJ97iqI+0Mk13I6ayd3TaBfSFBkWnEauwTnFMQe1dN/L3wTh8laOBaLa0Vr3utRSnt2b5hpcw/nq7azB/Gx4Yw==", "dev": true, "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" + "@storybook/channels": "8.1.10", + "@types/express": "^4.7.0", + "file-system-cache": "2.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@types/express-serve-static-core": { - "version": "4.17.43", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz", - "integrity": "sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==", + "node_modules/@storybook/vue3": { + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/vue3/-/vue3-8.1.10.tgz", + "integrity": "sha512-mNalklegjc+EA1nTPJtvk0dQrrB4crnuF4+bxuUTYfHBZeEFjfISu4kbWYnV+B5Q4S2svH16nfwbf4FPvDV7uw==", "dev": true, "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" + "@storybook/docs-tools": "8.1.10", + "@storybook/global": "^5.0.0", + "@storybook/preview-api": "8.1.10", + "@storybook/types": "8.1.10", + "@vue/compiler-core": "^3.0.0", + "lodash": "^4.17.21", + "ts-dedent": "^2.0.0", + "type-fest": "~2.19", + "vue-component-type-helpers": "latest" + }, + "engines": { + "node": ">=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "vue": "^3.0.0" } }, - "node_modules/@types/find-cache-dir": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/@types/find-cache-dir/-/find-cache-dir-3.2.1.tgz", - "integrity": "sha512-frsJrz2t/CeGifcu/6uRo4b+SzAwT4NYCVPu1GN8IB9XTzrpPkGuV0tmh9mN+/L0PklAlsC3u5Fxt0ju00LXIw==", - "dev": true - }, - "node_modules/@types/graceful-fs": { - "version": "4.1.9", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", - "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "node_modules/@storybook/vue3-vite": { + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/@storybook/vue3-vite/-/vue3-vite-8.1.10.tgz", + "integrity": "sha512-opvgAYCak9aLKX1FgnW5JyjMrwXEaoheSZa1KgQ5kGssYgVqgDFHOpJ6CLk358Ph4YexO7bl80W5B/WnM6ZS6g==", "dev": true, "dependencies": { - "@types/node": "*" + "@storybook/builder-vite": "8.1.10", + "@storybook/core-server": "8.1.10", + "@storybook/types": "8.1.10", + "@storybook/vue3": "8.1.10", + "find-package-json": "^1.2.0", + "magic-string": "^0.30.0", + "typescript": "^5.0.0", + "vue-component-meta": "^2.0.0", + "vue-docgen-api": "^4.75.1" + }, + "engines": { + "node": ">=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "vite": "^4.0.0 || ^5.0.0" } }, - "node_modules/@types/http-errors": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", - "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", - "dev": true - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", - "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "dev": true - }, - "node_modules/@types/istanbul-lib-report": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", - "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "node_modules/@surma/rollup-plugin-off-main-thread": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", + "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", "dev": true, "dependencies": { - "@types/istanbul-lib-coverage": "*" + "ejs": "^3.1.6", + "json5": "^2.2.0", + "magic-string": "^0.25.0", + "string.prototype.matchall": "^4.0.6" } }, - "node_modules/@types/istanbul-reports": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", - "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "node_modules/@surma/rollup-plugin-off-main-thread/node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", "dev": true, "dependencies": { - "@types/istanbul-lib-report": "*" - } - }, - "node_modules/@types/linkify-it": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.5.tgz", - "integrity": "sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==" - }, - "node_modules/@types/lodash": { - "version": "4.14.202", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.202.tgz", - "integrity": "sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==", - "dev": true - }, - "node_modules/@types/markdown-it": { - "version": "13.0.7", - "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-13.0.7.tgz", - "integrity": "sha512-U/CBi2YUUcTHBt5tjO2r5QV/x0Po6nsYwQU4Y04fBS6vfoImaiZ6f8bi3CjTCxBPQSO1LMyUqkByzi8AidyxfA==", - "dependencies": { - "@types/linkify-it": "*", - "@types/mdurl": "*" + "sourcemap-codec": "^1.4.8" } }, - "node_modules/@types/mdurl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.5.tgz", - "integrity": "sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==" - }, - "node_modules/@types/mdx": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.11.tgz", - "integrity": "sha512-HM5bwOaIQJIQbAYfax35HCKxx7a3KrK3nBtIqJgSOitivTD1y3oW9P3rxY9RkXYPUk7y/AjAohfHKmFpGE79zw==", - "dev": true - }, - "node_modules/@types/mime": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", - "dev": true - }, - "node_modules/@types/mime-types": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.4.tgz", - "integrity": "sha512-lfU4b34HOri+kAY5UheuFMWPDOI+OPceBSHZKp69gEyTL/mmJ4cnU6Y/rlme3UL3GyOn6Y42hyIEw0/q8sWx5w==", - "dev": true - }, - "node_modules/@types/node": { - "version": "20.11.24", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.24.tgz", - "integrity": "sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==", - "devOptional": true, + "node_modules/@testing-library/dom": { + "version": "9.3.4", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.4.tgz", + "integrity": "sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==", + "dev": true, "dependencies": { - "undici-types": "~5.26.4" + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.1.3", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "pretty-format": "^27.0.2" + }, + "engines": { + "node": ">=14" } }, - "node_modules/@types/node-fetch": { - "version": "2.6.11", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.11.tgz", - "integrity": "sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==", + "node_modules/@testing-library/dom/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "@types/node": "*", - "form-data": "^4.0.0" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", - "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", - "dev": true - }, - "node_modules/@types/pretty-hrtime": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@types/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", - "integrity": "sha512-nj39q0wAIdhwn7DGUyT9irmsKK1tV0bd5WFEhgpqNTMFZ8cE+jieuTphCW0tfdm47S2zVT5mr09B28b1chmQMA==", - "dev": true - }, - "node_modules/@types/prop-types": { - "version": "15.7.11", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", - "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==", - "dev": true - }, - "node_modules/@types/qs": { - "version": "6.9.12", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.12.tgz", - "integrity": "sha512-bZcOkJ6uWrL0Qb2NAWKa7TBU+mJHPzhx9jjLL1KHF+XpzEcR7EXHvjbHlGtR/IsP1vyPrehuS6XqkmaePy//mg==", - "dev": true - }, - "node_modules/@types/range-parser": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", - "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", - "dev": true - }, - "node_modules/@types/react": { - "version": "18.2.61", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.61.tgz", - "integrity": "sha512-NURTN0qNnJa7O/k4XUkEW2yfygA+NxS0V5h1+kp9jPwhzZy95q3ADoGMP0+JypMhrZBTTgjKAUlTctde1zzeQA==", + "node_modules/@testing-library/dom/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@types/resolve": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", - "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "node_modules/@testing-library/dom/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "dependencies": { - "@types/node": "*" + "engines": { + "node": ">=8" } }, - "node_modules/@types/scheduler": { - "version": "0.16.8", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", - "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==", - "dev": true - }, - "node_modules/@types/semver": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", - "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", - "dev": true - }, - "node_modules/@types/send": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", - "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", + "node_modules/@testing-library/dom/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "@types/mime": "^1", - "@types/node": "*" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@types/serve-static": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz", - "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==", + "node_modules/@testing-library/jest-dom": { + "version": "6.4.6", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.4.6.tgz", + "integrity": "sha512-8qpnGVincVDLEcQXWaHOf6zmlbwTKc6Us6PPu4CRnPXCzo2OGBS5cwgMMOWdxDpEz1mkbvXHpEy99M5Yvt682w==", "dev": true, "dependencies": { - "@types/http-errors": "*", - "@types/mime": "*", - "@types/node": "*" - } - }, - "node_modules/@types/trusted-types": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", - "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", - "dev": true - }, - "node_modules/@types/unist": { - "version": "2.0.10", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", - "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==", - "dev": true - }, - "node_modules/@types/uuid": { - "version": "9.0.8", - "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", - "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==", - "dev": true + "@adobe/css-tools": "^4.4.0", + "@babel/runtime": "^7.9.2", + "aria-query": "^5.0.0", + "chalk": "^3.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.6.3", + "lodash": "^4.17.21", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=14", + "npm": ">=6", + "yarn": ">=1" + }, + "peerDependencies": { + "@jest/globals": ">= 28", + "@types/bun": "latest", + "@types/jest": ">= 28", + "jest": ">= 28", + "vitest": ">= 0.32" + }, + "peerDependenciesMeta": { + "@jest/globals": { + "optional": true + }, + "@types/bun": { + "optional": true + }, + "@types/jest": { + "optional": true + }, + "jest": { + "optional": true + }, + "vitest": { + "optional": true + } + } }, - "node_modules/@types/wavesurfer.js": { - "version": "6.0.12", - "resolved": "https://registry.npmjs.org/@types/wavesurfer.js/-/wavesurfer.js-6.0.12.tgz", - "integrity": "sha512-oM9hYlPIVms4uwwoaGs9d0qp7Xk7IjSGkdwgmhUymVUIIilRfjtSQvoOgv4dpKiW0UozWRSyXfQqTobi0qWyCw==", + "node_modules/@testing-library/jest-dom/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "@types/debounce": "*" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@types/yargs": { - "version": "17.0.32", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", - "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "node_modules/@testing-library/jest-dom/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, "dependencies": { - "@types/yargs-parser": "*" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@types/yargs-parser": { - "version": "21.0.3", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", - "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "node_modules/@testing-library/jest-dom/node_modules/dom-accessibility-api": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", + "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==", "dev": true }, - "node_modules/@vitejs/plugin-vue": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.6.2.tgz", - "integrity": "sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw==", + "node_modules/@testing-library/jest-dom/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "peerDependencies": { - "vite": "^4.0.0 || ^5.0.0", - "vue": "^3.2.25" + "node": ">=8" } }, - "node_modules/@vitest/utils": { - "version": "0.34.7", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.34.7.tgz", - "integrity": "sha512-ziAavQLpCYS9sLOorGrFFKmy2gnfiNU0ZJ15TsMz/K92NAPS/rp9K4z6AJQQk5Y8adCy4Iwpxy7pQumQ/psnRg==", + "node_modules/@testing-library/jest-dom/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "diff-sequences": "^29.4.3", - "loupe": "^2.3.6", - "pretty-format": "^29.5.0" + "has-flag": "^4.0.0" }, - "funding": { - "url": "https://opencollective.com/vitest" + "engines": { + "node": ">=8" } }, - "node_modules/@vitest/utils/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "node_modules/@testing-library/user-event": { + "version": "14.5.2", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.5.2.tgz", + "integrity": "sha512-YAh82Wh4TIrxYLmfGcixwD18oIjyC1pFQC2Y01F2lzV2HTMiYrI0nze0FD0ocB//CKS/7jIUgae+adPqxK5yCQ==", "dev": true, "engines": { - "node": ">=10" + "node": ">=12", + "npm": ">=6" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependencies": { + "@testing-library/dom": ">=7.21.4" } }, - "node_modules/@vitest/utils/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=10.13.0" } }, - "node_modules/@vitest/utils/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "node_modules/@types/aria-query": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.4.tgz", + "integrity": "sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==", "dev": true }, - "node_modules/@volar/language-core": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.11.1.tgz", - "integrity": "sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==", + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", "dev": true, "dependencies": { - "@volar/source-map": "1.11.1" + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" } }, - "node_modules/@volar/source-map": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.11.1.tgz", - "integrity": "sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==", + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", "dev": true, "dependencies": { - "muggle-string": "^0.3.1" + "@babel/types": "^7.0.0" } }, - "node_modules/@volar/typescript": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.11.1.tgz", - "integrity": "sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==", + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", "dev": true, "dependencies": { - "@volar/language-core": "1.11.1", - "path-browserify": "^1.0.1" + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "node_modules/@vue/compiler-core": { - "version": "3.4.21", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.21.tgz", - "integrity": "sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==", + "node_modules/@types/babel__traverse": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "dev": true, "dependencies": { - "@babel/parser": "^7.23.9", - "@vue/shared": "3.4.21", - "entities": "^4.5.0", - "estree-walker": "^2.0.2", - "source-map-js": "^1.0.2" + "@babel/types": "^7.20.7" } }, - "node_modules/@vue/compiler-dom": { - "version": "3.4.21", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.21.tgz", - "integrity": "sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==", + "node_modules/@types/body-parser": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", + "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", + "dev": true, "dependencies": { - "@vue/compiler-core": "3.4.21", - "@vue/shared": "3.4.21" - } - }, - "node_modules/@vue/compiler-sfc": { - "version": "3.4.21", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.21.tgz", - "integrity": "sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==", - "dependencies": { - "@babel/parser": "^7.23.9", - "@vue/compiler-core": "3.4.21", - "@vue/compiler-dom": "3.4.21", - "@vue/compiler-ssr": "3.4.21", - "@vue/shared": "3.4.21", - "estree-walker": "^2.0.2", - "magic-string": "^0.30.7", - "postcss": "^8.4.35", - "source-map-js": "^1.0.2" + "@types/connect": "*", + "@types/node": "*" } }, - "node_modules/@vue/compiler-ssr": { - "version": "3.4.21", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.21.tgz", - "integrity": "sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==", + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dev": true, "dependencies": { - "@vue/compiler-dom": "3.4.21", - "@vue/shared": "3.4.21" + "@types/node": "*" } }, - "node_modules/@vue/devtools-api": { - "version": "6.6.1", - "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.1.tgz", - "integrity": "sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==" - }, - "node_modules/@vue/language-core": { - "version": "1.8.27", - "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-1.8.27.tgz", - "integrity": "sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==", + "node_modules/@types/cross-spawn": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/@types/cross-spawn/-/cross-spawn-6.0.6.tgz", + "integrity": "sha512-fXRhhUkG4H3TQk5dBhQ7m/JDdSNHKwR2BBia62lhwEIq9xGiQKLxd6LymNhn47SjXhsUEPmxi+PKw2OkW4LLjA==", "dev": true, "dependencies": { - "@volar/language-core": "~1.11.1", - "@volar/source-map": "~1.11.1", - "@vue/compiler-dom": "^3.3.0", - "@vue/shared": "^3.3.0", - "computeds": "^0.0.1", - "minimatch": "^9.0.3", - "muggle-string": "^0.3.1", - "path-browserify": "^1.0.1", - "vue-template-compiler": "^2.7.14" - }, - "peerDependencies": { - "typescript": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "@types/node": "*" } }, - "node_modules/@vue/reactivity": { - "version": "3.4.21", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.21.tgz", - "integrity": "sha512-UhenImdc0L0/4ahGCyEzc/pZNwVgcglGy9HVzJ1Bq2Mm9qXOpP8RyNTjookw/gOCUlXSEtuZ2fUg5nrHcoqJcw==", - "dependencies": { - "@vue/shared": "3.4.21" - } + "node_modules/@types/debounce": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/debounce/-/debounce-1.2.4.tgz", + "integrity": "sha512-jBqiORIzKDOToaF63Fm//haOCHuwQuLa2202RK4MozpA6lh93eCBc+/8+wZn5OzjJt3ySdc+74SXWXB55Ewtyw==", + "dev": true }, - "node_modules/@vue/runtime-core": { - "version": "3.4.21", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.21.tgz", - "integrity": "sha512-pQthsuYzE1XcGZznTKn73G0s14eCJcjaLvp3/DKeYWoFacD9glJoqlNBxt3W2c5S40t6CCcpPf+jG01N3ULyrA==", - "dependencies": { - "@vue/reactivity": "3.4.21", - "@vue/shared": "3.4.21" - } + "node_modules/@types/detect-port": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/detect-port/-/detect-port-1.3.5.tgz", + "integrity": "sha512-Rf3/lB9WkDfIL9eEKaSYKc+1L/rNVYBjThk22JTqQw0YozXarX8YljFAz+HCoC6h4B4KwCMsBPZHaFezwT4BNA==", + "dev": true }, - "node_modules/@vue/runtime-dom": { - "version": "3.4.21", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.21.tgz", - "integrity": "sha512-gvf+C9cFpevsQxbkRBS1NpU8CqxKw0ebqMvLwcGQrNpx6gqRDodqKqA+A2VZZpQ9RpK2f9yfg8VbW/EpdFUOJw==", - "dependencies": { - "@vue/runtime-core": "3.4.21", - "@vue/shared": "3.4.21", - "csstype": "^3.1.3" - } + "node_modules/@types/diff": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/@types/diff/-/diff-5.2.1.tgz", + "integrity": "sha512-uxpcuwWJGhe2AR1g8hD9F5OYGCqjqWnBUQFD8gMZsDbv8oPHzxJF6iMO6n8Tk0AdzlxoaaoQhOYlIg/PukVU8g==", + "dev": true }, - "node_modules/@vue/server-renderer": { - "version": "3.4.21", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.21.tgz", - "integrity": "sha512-aV1gXyKSN6Rz+6kZ6kr5+Ll14YzmIbeuWe7ryJl5muJ4uwSwY/aStXTixx76TwkZFJLm1aAlA/HSWEJ4EyiMkg==", - "dependencies": { - "@vue/compiler-ssr": "3.4.21", - "@vue/shared": "3.4.21" - }, - "peerDependencies": { - "vue": "3.4.21" - } + "node_modules/@types/doctrine": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@types/doctrine/-/doctrine-0.0.3.tgz", + "integrity": "sha512-w5jZ0ee+HaPOaX25X2/2oGR/7rgAQSYII7X7pp0m9KgBfMP7uKfMfTvcpl5Dj+eDBbpxKGiqE+flqDr6XTd2RA==", + "dev": true }, - "node_modules/@vue/shared": { - "version": "3.4.21", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.21.tgz", - "integrity": "sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==" + "node_modules/@types/ejs": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.5.tgz", + "integrity": "sha512-nv+GSx77ZtXiJzwKdsASqi+YQ5Z7vwHsTP0JY2SiQgjGckkBRKZnk8nIM+7oUZ1VCtuTz0+By4qVR7fqzp/Dfg==", + "dev": true }, - "node_modules/@yankeeinlondon/builder-api": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@yankeeinlondon/builder-api/-/builder-api-1.4.1.tgz", - "integrity": "sha512-qc6HyfqtuS06FvA5rK0L62Nmc1LnarVOt8/V/mTX2DBZlpTfIDpudpbE/7/kxjme9pP4PFMCk7cPSrprLEorjw==", + "node_modules/@types/emscripten": { + "version": "1.39.13", + "resolved": "https://registry.npmjs.org/@types/emscripten/-/emscripten-1.39.13.tgz", + "integrity": "sha512-cFq+fO/isvhvmuP/+Sl4K4jtU6E23DoivtbO4r50e3odaxAiVdbfSYRDdJ4gCdxx+3aRjhphS5ZMwIH4hFy/Cw==", + "dev": true + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + }, + "node_modules/@types/express": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", + "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", "dev": true, "dependencies": { - "@types/markdown-it": "^12.2.3", - "@yankeeinlondon/happy-wrapper": "^2.10.1", - "fp-ts": "^2.13.1", - "inferred-types": "^0.37.6", - "markdown-it": "^13.0.1", - "vite-plugin-md": ">=0.22.5" + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" } }, - "node_modules/@yankeeinlondon/builder-api/node_modules/@types/markdown-it": { - "version": "12.2.3", - "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz", - "integrity": "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==", + "node_modules/@types/express-serve-static-core": { + "version": "4.19.5", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.5.tgz", + "integrity": "sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==", "dev": true, "dependencies": { - "@types/linkify-it": "*", - "@types/mdurl": "*" + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" } }, - "node_modules/@yankeeinlondon/builder-api/node_modules/vite-plugin-md": { - "version": "0.22.5", - "resolved": "https://registry.npmjs.org/vite-plugin-md/-/vite-plugin-md-0.22.5.tgz", - "integrity": "sha512-ex6yQfan2teBT2uMzoIlDHRhKTOsNiyvblA9eLU/+uygpg4KikJPFeyBX300LqQ3pZ9qGHz35qoGJ0oLw47eZg==", + "node_modules/@types/find-cache-dir": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@types/find-cache-dir/-/find-cache-dir-3.2.1.tgz", + "integrity": "sha512-frsJrz2t/CeGifcu/6uRo4b+SzAwT4NYCVPu1GN8IB9XTzrpPkGuV0tmh9mN+/L0PklAlsC3u5Fxt0ju00LXIw==", + "dev": true + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", "dev": true, "dependencies": { - "@yankeeinlondon/builder-api": "^1.3.4", - "@yankeeinlondon/gray-matter": "^6.1.1", - "@yankeeinlondon/happy-wrapper": "^2.10.1", - "markdown-it": "^13.0.1", - "source-map-js": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "@vitejs/plugin-vue": ">=2.3.4", - "vite": "^4.0.0 || ^3.0.0" + "@types/unist": "*" } }, - "node_modules/@yankeeinlondon/gray-matter": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/@yankeeinlondon/gray-matter/-/gray-matter-6.2.1.tgz", - "integrity": "sha512-ZrHqB3PAin0QmxeNV3Ly3c6IDXKelGGLmGJGWoqwxI1jJjXNU80i6KWsJ0sAhzTg/UIsAtgBFcJkXS7F1ZM6eQ==", - "dev": true, + "node_modules/@types/http-errors": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", + "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", + "dev": true + }, + "node_modules/@types/linkify-it": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.5.tgz", + "integrity": "sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==" + }, + "node_modules/@types/lodash": { + "version": "4.17.5", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.5.tgz", + "integrity": "sha512-MBIOHVZqVqgfro1euRDWX7OO0fBVUUMrN6Pwm8LQsz8cWhEpihlvR70ENj3f40j58TNxZaWv2ndSkInykNBBJw==", + "dev": true + }, + "node_modules/@types/markdown-it": { + "version": "13.0.8", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-13.0.8.tgz", + "integrity": "sha512-V+KmpgiipS+zoypeUSS9ojesWtY/0k4XfqcK2fnVrX/qInJhX7rsCxZ/rygiPH2zxlPPrhfuW0I6ddMcWTKLsg==", "dependencies": { - "inferred-types": "^0.37.6", - "js-yaml": "^4.1.0", - "kind-of": "^6.0.3", - "section-matter": "^1.0.0", - "strip-bom-string": "^1.0.0" - }, - "engines": { - "node": ">=14.0" + "@types/linkify-it": "^3", + "@types/mdurl": "^1" } }, - "node_modules/@yankeeinlondon/gray-matter/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "node_modules/@types/mdurl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.5.tgz", + "integrity": "sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==" + }, + "node_modules/@types/mdx": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz", + "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==", "dev": true }, - "node_modules/@yankeeinlondon/gray-matter/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, + "node_modules/@types/mime": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", + "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", + "dev": true + }, + "node_modules/@types/node": { + "version": "18.19.39", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.39.tgz", + "integrity": "sha512-nPwTRDKUctxw3di5b4TfT3I0sWDiWoPQCZjXhvdkINntwr8lcoVCKsTgnXeRubKIlfnV+eN/HYk6Jb40tbcEAQ==", + "devOptional": true, "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "undici-types": "~5.26.4" } }, - "node_modules/@yankeeinlondon/happy-wrapper": { - "version": "2.10.1", - "resolved": "https://registry.npmjs.org/@yankeeinlondon/happy-wrapper/-/happy-wrapper-2.10.1.tgz", - "integrity": "sha512-kS3HT26QSQqcZa8Me2yrb6oc/j0BTmTRR76ITRGcYlO8G1snz9wii1eCrBTx+gAo58P+e3UkxB8PTVrmjTowVA==", + "node_modules/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "dev": true + }, + "node_modules/@types/pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha512-nj39q0wAIdhwn7DGUyT9irmsKK1tV0bd5WFEhgpqNTMFZ8cE+jieuTphCW0tfdm47S2zVT5mr09B28b1chmQMA==", + "dev": true + }, + "node_modules/@types/prop-types": { + "version": "15.7.12", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz", + "integrity": "sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==", + "dev": true + }, + "node_modules/@types/qs": { + "version": "6.9.15", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz", + "integrity": "sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==", + "dev": true + }, + "node_modules/@types/range-parser": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", + "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", + "dev": true + }, + "node_modules/@types/react": { + "version": "18.3.3", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.3.tgz", + "integrity": "sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==", "dev": true, "dependencies": { - "fp-ts": "^2.13.1", - "happy-dom": "^8.1.0", - "native-dash": "^1.24.0" + "@types/prop-types": "*", + "csstype": "^3.0.2" } }, - "node_modules/@yarnpkg/esbuild-plugin-pnp": { - "version": "3.0.0-rc.15", - "resolved": "https://registry.npmjs.org/@yarnpkg/esbuild-plugin-pnp/-/esbuild-plugin-pnp-3.0.0-rc.15.tgz", - "integrity": "sha512-kYzDJO5CA9sy+on/s2aIW0411AklfCi8Ck/4QDivOqsMKpStZA2SsR+X27VTggGwpStWaLrjJcDcdDMowtG8MA==", + "node_modules/@types/resolve": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", + "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", + "dev": true + }, + "node_modules/@types/semver": { + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "dev": true + }, + "node_modules/@types/send": { + "version": "0.17.4", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", + "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", "dev": true, "dependencies": { - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=14.15.0" - }, - "peerDependencies": { - "esbuild": ">=0.10.0" + "@types/mime": "^1", + "@types/node": "*" } }, - "node_modules/@yarnpkg/fslib": { - "version": "2.10.3", - "resolved": "https://registry.npmjs.org/@yarnpkg/fslib/-/fslib-2.10.3.tgz", - "integrity": "sha512-41H+Ga78xT9sHvWLlFOZLIhtU6mTGZ20pZ29EiZa97vnxdohJD2AF42rCoAoWfqUz486xY6fhjMH+DYEM9r14A==", + "node_modules/@types/serve-static": { + "version": "1.15.7", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", + "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", "dev": true, "dependencies": { - "@yarnpkg/libzip": "^2.3.0", - "tslib": "^1.13.0" - }, - "engines": { - "node": ">=12 <14 || 14.2 - 14.9 || >14.10.0" + "@types/http-errors": "*", + "@types/node": "*", + "@types/send": "*" } }, - "node_modules/@yarnpkg/fslib/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", "dev": true }, - "node_modules/@yarnpkg/libzip": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@yarnpkg/libzip/-/libzip-2.3.0.tgz", - "integrity": "sha512-6xm38yGVIa6mKm/DUCF2zFFJhERh/QWp1ufm4cNUvxsONBmfPg8uZ9pZBdOmF6qFGr/HlT6ABBkCSx/dlEtvWg==", + "node_modules/@types/unist": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz", + "integrity": "sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==", + "dev": true + }, + "node_modules/@types/uuid": { + "version": "9.0.8", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", + "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==", + "dev": true + }, + "node_modules/@types/wavesurfer.js": { + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/@types/wavesurfer.js/-/wavesurfer.js-6.0.12.tgz", + "integrity": "sha512-oM9hYlPIVms4uwwoaGs9d0qp7Xk7IjSGkdwgmhUymVUIIilRfjtSQvoOgv4dpKiW0UozWRSyXfQqTobi0qWyCw==", "dev": true, "dependencies": { - "@types/emscripten": "^1.39.6", - "tslib": "^1.13.0" - }, - "engines": { - "node": ">=12 <14 || 14.2 - 14.9 || >14.10.0" + "@types/debounce": "*" } }, - "node_modules/@yarnpkg/libzip/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", "dev": true }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "node_modules/@vitejs/plugin-vue": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.6.2.tgz", + "integrity": "sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw==", "dev": true, - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, "engines": { - "node": ">= 0.6" + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.0.0 || ^5.0.0", + "vue": "^3.2.25" } }, - "node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "node_modules/@vitest/expect": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.3.1.tgz", + "integrity": "sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==", "dev": true, - "bin": { - "acorn": "bin/acorn" + "dependencies": { + "@vitest/spy": "1.3.1", + "@vitest/utils": "1.3.1", + "chai": "^4.3.10" }, - "engines": { - "node": ">=0.4.0" + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/acorn-node": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", - "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "node_modules/@vitest/expect/node_modules/@vitest/spy": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.3.1.tgz", + "integrity": "sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==", "dev": true, "dependencies": { - "acorn": "^7.0.0", - "acorn-walk": "^7.0.0", - "xtend": "^4.0.2" + "tinyspy": "^2.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "node_modules/@vitest/expect/node_modules/@vitest/utils": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.3.1.tgz", + "integrity": "sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==", "dev": true, - "engines": { - "node": ">=0.4.0" + "dependencies": { + "diff-sequences": "^29.6.3", + "estree-walker": "^3.0.3", + "loupe": "^2.3.7", + "pretty-format": "^29.7.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/address": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", - "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "node_modules/@vitest/expect/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "engines": { - "node": ">= 10.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/agent-base": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz", - "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==", + "node_modules/@vitest/expect/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, "engines": { - "node": ">= 6.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "node_modules/@vitest/expect/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true + }, + "node_modules/@vitest/spy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.6.0.tgz", + "integrity": "sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==", "dev": true, "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "tinyspy": "^2.2.0" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "node_modules/@vitest/utils": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.6.0.tgz", + "integrity": "sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==", "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "diff-sequences": "^29.6.3", + "estree-walker": "^3.0.3", + "loupe": "^2.3.7", + "pretty-format": "^29.7.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "url": "https://opencollective.com/vitest" } }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/@vitest/utils/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@vitest/utils/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@vitest/utils/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true + }, + "node_modules/@volar/language-core": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-2.3.1.tgz", + "integrity": "sha512-25CZ3ulM6jWgQsPQjKb7maKDlryvXWvsl7ytw4uj1Yyy17BgdiTWqMuNSxIODC3+/7IBOOGYoINC/1OOLACLLw==", + "dev": true, + "dependencies": { + "@volar/source-map": "2.3.1" + } + }, + "node_modules/@volar/source-map": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-2.3.1.tgz", + "integrity": "sha512-fU3IL19wRy5S5OaGq67ejSl+/xdMuOHgp9Rsp3OiOhLyg25CctLYDdGZ9Y3+MJ1iqTLDh94PdvdR1BZX6I0hNQ==", + "dev": true + }, + "node_modules/@volar/typescript": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-2.3.1.tgz", + "integrity": "sha512-OrUV6dYt/1h92+aWElexra6dp++gF/IEddvwyxeobyYfKAoKDUMsWU0iJCj0clZlfdyYaLmNEAkulJlVimxnOw==", + "dev": true, + "dependencies": { + "@volar/language-core": "2.3.1", + "path-browserify": "^1.0.1", + "vscode-uri": "^3.0.8" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.4.30", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.30.tgz", + "integrity": "sha512-ZL8y4Xxdh8O6PSwfdZ1IpQ24PjTAieOz3jXb/MDTfDtANcKBMxg1KLm6OX2jofsaQGYfIVzd3BAG22i56/cF1w==", + "dependencies": { + "@babel/parser": "^7.24.7", + "@vue/shared": "3.4.30", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-core/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "node_modules/@vue/compiler-dom": { + "version": "3.4.30", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.30.tgz", + "integrity": "sha512-+16Sd8lYr5j/owCbr9dowcNfrHd+pz+w2/b5Lt26Oz/kB90C9yNbxQ3bYOvt7rI2bxk0nqda39hVcwDFw85c2Q==", + "dependencies": { + "@vue/compiler-core": "3.4.30", + "@vue/shared": "3.4.30" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.4.30", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.30.tgz", + "integrity": "sha512-8vElKklHn/UY8+FgUFlQrYAPbtiSB2zcgeRKW7HkpSRn/JjMRmZvuOtwDx036D1aqKNSTtXkWRfqx53Qb+HmMg==", + "dependencies": { + "@babel/parser": "^7.24.7", + "@vue/compiler-core": "3.4.30", + "@vue/compiler-dom": "3.4.30", + "@vue/compiler-ssr": "3.4.30", + "@vue/shared": "3.4.30", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.10", + "postcss": "^8.4.38", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-sfc/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.4.30", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.30.tgz", + "integrity": "sha512-ZJ56YZGXJDd6jky4mmM0rNaNP6kIbQu9LTKZDhcpddGe/3QIalB1WHHmZ6iZfFNyj5mSypTa4+qDJa5VIuxMSg==", + "dependencies": { + "@vue/compiler-dom": "3.4.30", + "@vue/shared": "3.4.30" + } + }, + "node_modules/@vue/devtools-api": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.3.tgz", + "integrity": "sha512-0MiMsFma/HqA6g3KLKn+AGpL1kgKhFWszC9U29NfpWK5LE7bjeXxySWJrOJ77hBz+TBrBQ7o4QJqbPbqbs8rJw==" + }, + "node_modules/@vue/language-core": { + "version": "2.0.22", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-2.0.22.tgz", + "integrity": "sha512-dNTAAtEOuMiz7N1s5tKpypnVVCtawxVSF5BukD0ELcYSw+DSbrSlYYSw8GuwvurodCeYFSHsmslE+c2sYDNoiA==", + "dev": true, + "dependencies": { + "@volar/language-core": "~2.3.1", + "@vue/compiler-dom": "^3.4.0", + "@vue/shared": "^3.4.0", + "computeds": "^0.0.1", + "minimatch": "^9.0.3", + "muggle-string": "^0.4.1", + "path-browserify": "^1.0.1", + "vue-template-compiler": "^2.7.14" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vue/reactivity": { + "version": "3.4.30", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.30.tgz", + "integrity": "sha512-bVJurnCe3LS0JII8PPoAA63Zd2MBzcKrEzwdQl92eHCcxtIbxD2fhNwJpa+KkM3Y/A4T5FUnmdhgKwOf6BfbcA==", + "dependencies": { + "@vue/shared": "3.4.30" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.4.30", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.30.tgz", + "integrity": "sha512-qaFEbnNpGz+tlnkaualomogzN8vBLkgzK55uuWjYXbYn039eOBZrWxyXWq/7qh9Bz2FPifZqGjVDl/FXiq9L2g==", + "dependencies": { + "@vue/reactivity": "3.4.30", + "@vue/shared": "3.4.30" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.4.30", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.30.tgz", + "integrity": "sha512-tV6B4YiZRj5QsaJgw2THCy5C1H+2UeywO9tqgWEc21tn85qHEERndHN/CxlyXvSBFrpmlexCIdnqPuR9RM9thw==", + "dependencies": { + "@vue/reactivity": "3.4.30", + "@vue/runtime-core": "3.4.30", + "@vue/shared": "3.4.30", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.4.30", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.30.tgz", + "integrity": "sha512-TBD3eqR1DeDc0cMrXS/vEs/PWzq1uXxnvjoqQuDGFIEHFIwuDTX/KWAQKIBjyMWLFHEeTDGYVsYci85z2UbTDg==", + "dependencies": { + "@vue/compiler-ssr": "3.4.30", + "@vue/shared": "3.4.30" + }, + "peerDependencies": { + "vue": "3.4.30" + } + }, + "node_modules/@vue/shared": { + "version": "3.4.30", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.30.tgz", + "integrity": "sha512-CLg+f8RQCHQnKvuHY9adMsMaQOcqclh6Z5V9TaoMgy0ut0tz848joZ7/CYFFyF/yZ5i2yaw7Fn498C+CNZVHIg==" + }, + "node_modules/@yarnpkg/esbuild-plugin-pnp": { + "version": "3.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@yarnpkg/esbuild-plugin-pnp/-/esbuild-plugin-pnp-3.0.0-rc.15.tgz", + "integrity": "sha512-kYzDJO5CA9sy+on/s2aIW0411AklfCi8Ck/4QDivOqsMKpStZA2SsR+X27VTggGwpStWaLrjJcDcdDMowtG8MA==", + "dev": true, + "dependencies": { + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=14.15.0" + }, + "peerDependencies": { + "esbuild": ">=0.10.0" + } + }, + "node_modules/@yarnpkg/fslib": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@yarnpkg/fslib/-/fslib-2.10.3.tgz", + "integrity": "sha512-41H+Ga78xT9sHvWLlFOZLIhtU6mTGZ20pZ29EiZa97vnxdohJD2AF42rCoAoWfqUz486xY6fhjMH+DYEM9r14A==", + "dev": true, + "dependencies": { + "@yarnpkg/libzip": "^2.3.0", + "tslib": "^1.13.0" + }, + "engines": { + "node": ">=12 <14 || 14.2 - 14.9 || >14.10.0" + } + }, + "node_modules/@yarnpkg/fslib/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/@yarnpkg/libzip": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/libzip/-/libzip-2.3.0.tgz", + "integrity": "sha512-6xm38yGVIa6mKm/DUCF2zFFJhERh/QWp1ufm4cNUvxsONBmfPg8uZ9pZBdOmF6qFGr/HlT6ABBkCSx/dlEtvWg==", + "dev": true, + "dependencies": { + "@types/emscripten": "^1.39.6", + "tslib": "^1.13.0" + }, + "engines": { + "node": ">=12 <14 || 14.2 - 14.9 || >14.10.0" + } + }, + "node_modules/@yarnpkg/libzip/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz", + "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/address": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz", + "integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/ajv": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz", + "integrity": "sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.4.1" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/ansi-styles/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" } }, + "node_modules/ansi-styles/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true + }, "node_modules/anymatch": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", @@ -5518,17 +5728,14 @@ "dev": true }, "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dependencies": { - "sprintf-js": "~1.0.2" - } + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, "node_modules/aria-hidden": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.3.tgz", - "integrity": "sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.4.tgz", + "integrity": "sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==", "dev": true, "dependencies": { "tslib": "^2.0.0" @@ -5568,15 +5775,6 @@ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", "dev": true }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/arraybuffer.prototype.slice": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", @@ -5651,18 +5849,6 @@ "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", "dev": true }, - "node_modules/async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", - "dev": true - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "dev": true - }, "node_modules/at-least-node": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", @@ -5729,30 +5915,14 @@ "@babel/core": "^7.0.0-0" } }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz", - "integrity": "sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==", + "version": "0.4.11", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz", + "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==", "dev": true, "dependencies": { "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.5.0", + "@babel/helper-define-polyfill-provider": "^0.6.2", "semver": "^6.3.1" }, "peerDependencies": { @@ -5760,25 +5930,25 @@ } }, "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz", - "integrity": "sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==", + "version": "0.10.4", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz", + "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.5.0", - "core-js-compat": "^3.34.0" + "@babel/helper-define-polyfill-provider": "^0.6.1", + "core-js-compat": "^3.36.1" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz", - "integrity": "sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==", + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz", + "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.5.0" + "@babel/helper-define-polyfill-provider": "^0.6.2" }, "peerDependencies": { "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" @@ -5844,11 +6014,14 @@ } }, "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/bl": { @@ -5977,31 +6150,16 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" } }, - "node_modules/brilliant-errors": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/brilliant-errors/-/brilliant-errors-0.7.3.tgz", - "integrity": "sha512-WT9BkAze4SUOJfr7LUwJWNDAvynEAvUMvMPuFKu8QQKnRq+WMx3DAtHfOBJjHmHRxf748JY3CNVytSk6HH2yGg==", - "dev": true, - "dependencies": { - "bumpp": "^8.2.1", - "callsites": "^4.0.0", - "inferred-types": "^0.37.2", - "vitest": "^0.25.6" - }, - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/browser-assert": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/browser-assert/-/browser-assert-1.2.1.tgz", @@ -6018,9 +6176,9 @@ } }, "node_modules/browserslist": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", - "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "version": "4.23.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.1.tgz", + "integrity": "sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==", "dev": true, "funding": [ { @@ -6037,10 +6195,10 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", + "caniuse-lite": "^1.0.30001629", + "electron-to-chromium": "^1.4.796", "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" + "update-browserslist-db": "^1.0.16" }, "bin": { "browserslist": "cli.js" @@ -6049,15 +6207,6 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, - "dependencies": { - "node-int64": "^0.4.0" - } - }, "node_modules/buffer": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", @@ -6082,15 +6231,6 @@ "ieee754": "^1.2.1" } }, - "node_modules/buffer-crc32": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", - "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", - "dev": true, - "engines": { - "node": "*" - } - }, "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", @@ -6109,68 +6249,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/bumpp": { - "version": "8.2.1", - "resolved": "https://registry.npmjs.org/bumpp/-/bumpp-8.2.1.tgz", - "integrity": "sha512-4tHKsWC2mqHQvdjZ4AXgVhS2xMsz8qQ4zYt87vGRXW5tqAjrYa/UJqy7s/dGYI2OIe9ghBdiFhKpyKEX9SXffg==", - "dev": true, - "dependencies": { - "@jsdevtools/ez-spawn": "^3.0.4", - "cac": "^6.7.12", - "fast-glob": "^3.2.11", - "kleur": "^4.1.4", - "prompts": "^2.4.1", - "semver": "^7.3.5" - }, - "bin": { - "bumpp": "bin/bumpp.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/bumpp/node_modules/kleur": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", - "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/bumpp/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/bumpp/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/bumpp/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/bytes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", @@ -6180,15 +6258,6 @@ "node": ">= 0.8" } }, - "node_modules/cac": { - "version": "6.7.14", - "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", - "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/call-bind": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", @@ -6208,33 +6277,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/call-me-maybe": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.2.tgz", - "integrity": "sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==", - "dev": true - }, - "node_modules/callsites": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-4.1.0.tgz", - "integrity": "sha512-aBMbD1Xxay75ViYezwT40aQONfr+pSXTHwNKvIXhXD6+LY3F1dLIcceoC5OZKBVHbXcysz1hL9D2w0JJIMXpUw==", - "dev": true, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/camelcase-css": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", @@ -6245,9 +6287,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001593", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001593.tgz", - "integrity": "sha512-UWM1zlo3cZfkpBysd7AS+z+v007q9G1+fLTUU42rQnY6t2axoogPW/xol6T7juU5EUoOhML4WgBIdG+9yYqAjQ==", + "version": "1.0.30001636", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001636.tgz", + "integrity": "sha512-bMg2vmr8XBsbL6Lr0UHXy/21m84FTxDLWn2FSqMd5PrlbMxwJlQnC2YWYxVgp66PZE+BBNF2jYQUBKCo1FDeZg==", "dev": true, "funding": [ { @@ -6283,19 +6325,17 @@ } }, "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=4" } }, "node_modules/character-parser": { @@ -6308,9 +6348,9 @@ } }, "node_modules/chart.js": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.2.tgz", - "integrity": "sha512-6GD7iKwFpP5kbSD4MeRRRlTnQvxfQREy36uEtm1hzHzcOqwWx0YEHuspuoNlslu+nciLIB7fjjsHkUv/FzFcOg==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.3.tgz", + "integrity": "sha512-qK1gkGSRYcJzqrrzdR6a+I0vQ4/R+SoODXyAjscQ/4mzuNzySaMCd+hyVxitSY1+L2fjPD1Gbn+ibNqRmwQeLw==", "dependencies": { "@kurkle/color": "^0.3.0" }, @@ -6362,21 +6402,6 @@ "node": ">=10" } }, - "node_modules/ci-info": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", - "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/sibiraj-s" - } - ], - "engines": { - "node": ">=8" - } - }, "node_modules/citty": { "version": "0.1.6", "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.6.tgz", @@ -6386,15 +6411,6 @@ "consola": "^3.2.3" } }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, "node_modules/cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", @@ -6420,9 +6436,9 @@ } }, "node_modules/cli-table3": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", - "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz", + "integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==", "dev": true, "dependencies": { "string-width": "^4.2.0" @@ -6475,18 +6491,6 @@ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dev": true, - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, "node_modules/commander": { "version": "6.2.1", "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", @@ -6568,49 +6572,13 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, - "node_modules/concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "engines": [ - "node >= 0.8" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/concat-stream/node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/concat-stream/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/concat-stream/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/consola": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz", + "integrity": "sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==", "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" + "engines": { + "node": "^14.18.0 || >=16.10.0" } }, "node_modules/consola": { @@ -6680,9 +6648,9 @@ "dev": true }, "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", "dev": true, "engines": { "node": ">= 0.6" @@ -6695,12 +6663,12 @@ "dev": true }, "node_modules/core-js-compat": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.0.tgz", - "integrity": "sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw==", + "version": "3.37.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz", + "integrity": "sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg==", "dev": true, "dependencies": { - "browserslist": "^4.22.3" + "browserslist": "^4.23.0" }, "funding": { "type": "opencollective", @@ -6728,12 +6696,30 @@ } }, "node_modules/crypto-random-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", - "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-4.0.0.tgz", + "integrity": "sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==", "dev": true, + "dependencies": { + "type-fest": "^1.0.1" + }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/crypto-random-string/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/css-select": { @@ -6812,6 +6798,57 @@ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" }, + "node_modules/data-view-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", + "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", + "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/data-view-byte-offset": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", + "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.6", + "es-errors": "^1.3.0", + "is-data-view": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/de-indent": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", @@ -6819,9 +6856,9 @@ "dev": true }, "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", + "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", "dev": true, "dependencies": { "ms": "2.1.2" @@ -6836,9 +6873,9 @@ } }, "node_modules/deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.4.tgz", + "integrity": "sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==", "dev": true, "dependencies": { "type-detect": "^4.0.0" @@ -6959,125 +6996,28 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/defined": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", - "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/defu": { "version": "6.1.4", "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", "dev": true }, - "node_modules/del": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", - "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true, - "dependencies": { - "globby": "^11.0.1", - "graceful-fs": "^4.2.4", - "is-glob": "^4.0.1", - "is-path-cwd": "^2.2.0", - "is-path-inside": "^3.0.2", - "p-map": "^4.0.0", - "rimraf": "^3.0.2", - "slash": "^3.0.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.8" } }, - "node_modules/del/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/del/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/del/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/del/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "dev": true, - "engines": { - "node": ">=6" + "engines": { + "node": ">=6" } }, "node_modules/destroy": { @@ -7118,9 +7058,9 @@ } }, "node_modules/detect-port": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.5.1.tgz", - "integrity": "sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/detect-port/-/detect-port-1.6.1.tgz", + "integrity": "sha512-CmnVc+Hek2egPx1PeTFVta2W78xy2K/9Rkf6cC4T59S50tVnzKj+tnx5mmx5lwvCkujZ4uRrpRSuV+IVs3f90Q==", "dev": true, "dependencies": { "address": "^1.0.1", @@ -7129,23 +7069,9 @@ "bin": { "detect": "bin/detect-port.js", "detect-port": "bin/detect-port.js" - } - }, - "node_modules/detective": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", - "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", - "dev": true, - "dependencies": { - "acorn-node": "^1.8.2", - "defined": "^1.0.0", - "minimist": "^1.2.6" - }, - "bin": { - "detective": "bin/detective.js" }, "engines": { - "node": ">=0.8.0" + "node": ">= 4.0.0" } }, "node_modules/didyoumean": { @@ -7154,6 +7080,15 @@ "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", "dev": true }, + "node_modules/diff": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz", + "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, "node_modules/diff-sequences": { "version": "29.6.3", "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", @@ -7163,18 +7098,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/dlv": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", @@ -7345,9 +7268,9 @@ "dev": true }, "node_modules/ejs": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", - "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.10.tgz", + "integrity": "sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==", "dev": true, "dependencies": { "jake": "^10.8.5" @@ -7360,9 +7283,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.690", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.690.tgz", - "integrity": "sha512-+2OAGjUx68xElQhydpcbqH50hE8Vs2K6TkAeLhICYfndb67CVH0UsZaijmRUE3rHlIxU1u0jxwhgVe6fK3YANA==", + "version": "1.4.810", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.810.tgz", + "integrity": "sha512-Kaxhu4T7SJGpRQx99tq216gCq2nMxJo+uuT6uzz9l8TVN2stL7M06MIIXAtr9jsrLs2Glflgf2vMQRepxawOdQ==", "dev": true }, "node_modules/emoji-regex": { @@ -7401,9 +7324,9 @@ } }, "node_modules/envinfo": { - "version": "7.11.1", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.11.1.tgz", - "integrity": "sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg==", + "version": "7.13.0", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.13.0.tgz", + "integrity": "sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q==", "dev": true, "bin": { "envinfo": "dist/cli.js" @@ -7422,17 +7345,21 @@ } }, "node_modules/es-abstract": { - "version": "1.22.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.5.tgz", - "integrity": "sha512-oW69R+4q2wG+Hc3KZePPZxOiisRIqfKBVo/HLx94QcJeWGU/8sZhCvc829rd1kS366vlJbzBfXf9yWwf0+Ko7w==", + "version": "1.23.3", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.3.tgz", + "integrity": "sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==", "dev": true, "dependencies": { "array-buffer-byte-length": "^1.0.1", "arraybuffer.prototype.slice": "^1.0.3", "available-typed-arrays": "^1.0.7", "call-bind": "^1.0.7", + "data-view-buffer": "^1.0.1", + "data-view-byte-length": "^1.0.1", + "data-view-byte-offset": "^1.0.0", "es-define-property": "^1.0.0", "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", "es-set-tostringtag": "^2.0.3", "es-to-primitive": "^1.2.1", "function.prototype.name": "^1.1.6", @@ -7443,10 +7370,11 @@ "has-property-descriptors": "^1.0.2", "has-proto": "^1.0.3", "has-symbols": "^1.0.3", - "hasown": "^2.0.1", + "hasown": "^2.0.2", "internal-slot": "^1.0.7", "is-array-buffer": "^3.0.4", "is-callable": "^1.2.7", + "is-data-view": "^1.0.1", "is-negative-zero": "^2.0.3", "is-regex": "^1.1.4", "is-shared-array-buffer": "^1.0.3", @@ -7457,17 +7385,17 @@ "object-keys": "^1.1.1", "object.assign": "^4.1.5", "regexp.prototype.flags": "^1.5.2", - "safe-array-concat": "^1.1.0", + "safe-array-concat": "^1.1.2", "safe-regex-test": "^1.0.3", - "string.prototype.trim": "^1.2.8", - "string.prototype.trimend": "^1.0.7", - "string.prototype.trimstart": "^1.0.7", + "string.prototype.trim": "^1.2.9", + "string.prototype.trimend": "^1.0.8", + "string.prototype.trimstart": "^1.0.8", "typed-array-buffer": "^1.0.2", "typed-array-byte-length": "^1.0.1", "typed-array-byte-offset": "^1.0.2", - "typed-array-length": "^1.0.5", + "typed-array-length": "^1.0.6", "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.14" + "which-typed-array": "^1.1.15" }, "engines": { "node": ">= 0.4" @@ -7518,11 +7446,23 @@ } }, "node_modules/es-module-lexer": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", - "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.3.tgz", + "integrity": "sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg==", "dev": true }, + "node_modules/es-object-atoms": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", + "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/es-set-tostringtag": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", @@ -7555,9 +7495,10 @@ } }, "node_modules/esbuild": { - "version": "0.18.20", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", - "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", + "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", + "dev": true, "hasInstallScript": true, "bin": { "esbuild": "bin/esbuild" @@ -7566,28 +7507,29 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/android-arm": "0.18.20", - "@esbuild/android-arm64": "0.18.20", - "@esbuild/android-x64": "0.18.20", - "@esbuild/darwin-arm64": "0.18.20", - "@esbuild/darwin-x64": "0.18.20", - "@esbuild/freebsd-arm64": "0.18.20", - "@esbuild/freebsd-x64": "0.18.20", - "@esbuild/linux-arm": "0.18.20", - "@esbuild/linux-arm64": "0.18.20", - "@esbuild/linux-ia32": "0.18.20", - "@esbuild/linux-loong64": "0.18.20", - "@esbuild/linux-mips64el": "0.18.20", - "@esbuild/linux-ppc64": "0.18.20", - "@esbuild/linux-riscv64": "0.18.20", - "@esbuild/linux-s390x": "0.18.20", - "@esbuild/linux-x64": "0.18.20", - "@esbuild/netbsd-x64": "0.18.20", - "@esbuild/openbsd-x64": "0.18.20", - "@esbuild/sunos-x64": "0.18.20", - "@esbuild/win32-arm64": "0.18.20", - "@esbuild/win32-ia32": "0.18.20", - "@esbuild/win32-x64": "0.18.20" + "@esbuild/aix-ppc64": "0.20.2", + "@esbuild/android-arm": "0.20.2", + "@esbuild/android-arm64": "0.20.2", + "@esbuild/android-x64": "0.20.2", + "@esbuild/darwin-arm64": "0.20.2", + "@esbuild/darwin-x64": "0.20.2", + "@esbuild/freebsd-arm64": "0.20.2", + "@esbuild/freebsd-x64": "0.20.2", + "@esbuild/linux-arm": "0.20.2", + "@esbuild/linux-arm64": "0.20.2", + "@esbuild/linux-ia32": "0.20.2", + "@esbuild/linux-loong64": "0.20.2", + "@esbuild/linux-mips64el": "0.20.2", + "@esbuild/linux-ppc64": "0.20.2", + "@esbuild/linux-riscv64": "0.20.2", + "@esbuild/linux-s390x": "0.20.2", + "@esbuild/linux-x64": "0.20.2", + "@esbuild/netbsd-x64": "0.20.2", + "@esbuild/openbsd-x64": "0.20.2", + "@esbuild/sunos-x64": "0.20.2", + "@esbuild/win32-arm64": "0.20.2", + "@esbuild/win32-ia32": "0.20.2", + "@esbuild/win32-x64": "0.20.2" } }, "node_modules/esbuild-plugin-alias": { @@ -7632,6 +7574,12 @@ "node": ">=0.8.0" } }, + "node_modules/esm-resolve": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/esm-resolve/-/esm-resolve-1.0.11.tgz", + "integrity": "sha512-LxF0wfUQm3ldUDHkkV2MIbvvY0TgzIpJ420jHSV1Dm+IlplBEWiJTKWM61GtxUfvjV6iD4OtTYFGAGM2uuIUWg==", + "dev": true + }, "node_modules/esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", @@ -7645,9 +7593,13 @@ } }, "node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0" + } }, "node_modules/esutils": { "version": "2.0.3", @@ -7691,9 +7643,9 @@ } }, "node_modules/express": { - "version": "4.18.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.3.tgz", - "integrity": "sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz", + "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==", "dev": true, "dependencies": { "accepts": "~1.3.8", @@ -7701,7 +7653,7 @@ "body-parser": "1.20.2", "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.5.0", + "cookie": "0.6.0", "cookie-signature": "1.0.6", "debug": "2.6.9", "depd": "2.0.0", @@ -7782,12 +7734,6 @@ } ] }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, "node_modules/extend-shallow": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", @@ -7799,36 +7745,6 @@ "node": ">=0.10.0" } }, - "node_modules/extract-zip": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", - "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", - "dev": true, - "dependencies": { - "concat-stream": "^1.6.2", - "debug": "^2.6.9", - "mkdirp": "^0.5.4", - "yauzl": "^2.10.0" - }, - "bin": { - "extract-zip": "cli.js" - } - }, - "node_modules/extract-zip/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/extract-zip/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, "node_modules/fast-average-color": { "version": "9.4.0", "resolved": "https://registry.npmjs.org/fast-average-color/-/fast-average-color-9.4.0.tgz", @@ -7874,24 +7790,6 @@ "reusify": "^1.0.4" } }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "dev": true, - "dependencies": { - "bser": "2.1.1" - } - }, - "node_modules/fd-slicer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", - "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", - "dev": true, - "dependencies": { - "pend": "~1.2.0" - } - }, "node_modules/fetch-retry": { "version": "5.0.6", "resolved": "https://registry.npmjs.org/fetch-retry/-/fetch-retry-5.0.6.tgz", @@ -7944,9 +7842,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -8068,6 +7966,12 @@ "node": ">=8" } }, + "node_modules/find-package-json": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/find-package-json/-/find-package-json-1.2.0.tgz", + "integrity": "sha512-+SOGcLGYDJHtyqHd87ysBhmaeQ95oWspDKnMXBrnQ9Eq4OkLNqejgoaD8xVWu6GPa0B6roa6KinCMEMcVeqONw==", + "dev": true + }, "node_modules/find-up": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", @@ -8085,9 +7989,9 @@ } }, "node_modules/flow-parser": { - "version": "0.229.2", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.229.2.tgz", - "integrity": "sha512-T72XV2Izvl7yV6dhHhLaJ630Y6vOZJl6dnOS6dN0bPW9ExuREu7xGAf3omtcxX76POTuux9TJPu9ZpS48a/rdw==", + "version": "0.238.0", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.238.0.tgz", + "integrity": "sha512-VE7XSv1epljsIN2YeBnxCmGJihpNIAnLLu/pPOdA+Gkso7qDltJwUi6vfHjgxdBbjSdAuPGnhuOHJUQG+yYwIg==", "dev": true, "engines": { "node": ">=0.4.0" @@ -8103,9 +8007,9 @@ } }, "node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", + "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", "dev": true, "dependencies": { "cross-spawn": "^7.0.0", @@ -8130,20 +8034,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", - "dev": true, - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/forwarded": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", @@ -8153,12 +8043,6 @@ "node": ">= 0.6" } }, - "node_modules/fp-ts": { - "version": "2.16.2", - "resolved": "https://registry.npmjs.org/fp-ts/-/fp-ts-2.16.2.tgz", - "integrity": "sha512-CkqAjnIKFqvo3sCyoBTqgJvF+bHrSik584S9nhTjtBESLx26cbtVMR/T9a6ApChOcSDAaM3JydDmWDUn4EEXng==", - "dev": true - }, "node_modules/fraction.js": { "version": "4.3.7", "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", @@ -8347,27 +8231,6 @@ "integrity": "sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==", "dev": true }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-port": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz", - "integrity": "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -8398,18 +8261,18 @@ } }, "node_modules/giget": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/giget/-/giget-1.2.1.tgz", - "integrity": "sha512-4VG22mopWtIeHwogGSy1FViXVo0YT+m6BrqZfz0JJFwbSsePsCdOzdLIIli5BtMp7Xe8f/o2OmBpQX2NBOC24g==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/giget/-/giget-1.2.3.tgz", + "integrity": "sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==", "dev": true, "dependencies": { - "citty": "^0.1.5", + "citty": "^0.1.6", "consola": "^3.2.3", - "defu": "^6.1.3", - "node-fetch-native": "^1.6.1", - "nypm": "^0.3.3", + "defu": "^6.1.4", + "node-fetch-native": "^1.6.3", + "nypm": "^0.3.8", "ohash": "^1.1.3", - "pathe": "^1.1.1", + "pathe": "^1.1.2", "tar": "^6.2.0" }, "bin": { @@ -8417,28 +8280,29 @@ } }, "node_modules/github-slugger": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.5.0.tgz", - "integrity": "sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==", "dev": true }, "node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "version": "10.4.2", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.2.tgz", + "integrity": "sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==", "dev": true, "dependencies": { "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, "bin": { "glob": "dist/esm/bin.mjs" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -8471,12 +8335,13 @@ } }, "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", + "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", "dev": true, "dependencies": { - "define-properties": "^1.1.3" + "define-properties": "^1.2.1", + "gopd": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -8486,29 +8351,29 @@ } }, "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "version": "14.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-14.0.1.tgz", + "integrity": "sha512-jOMLD2Z7MAhyG8aJpNOpmziMOP4rPLcc95oQPKXBazW82z+CEgPFBQvEpRUa1KeIMUJo4Wsm+q6uzO/Q/4BksQ==", "dev": true, "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" + "@sindresorhus/merge-streams": "^2.1.0", + "fast-glob": "^3.3.2", + "ignore": "^5.2.4", + "path-type": "^5.0.0", + "slash": "^5.1.0", + "unicorn-magic": "^0.1.0" }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/google-translate-api-browser": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/google-translate-api-browser/-/google-translate-api-browser-4.3.0.tgz", - "integrity": "sha512-yTpZDfjLl67dvFWj7NZClISWg35i2v8L4vClLB5jbjkrJEOZrIqLzifTOaXQ71ibbo1mypNikJkItp7oDbYkMw==" + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/google-translate-api-browser/-/google-translate-api-browser-4.3.2.tgz", + "integrity": "sha512-F2OIxp88IwDpA7T3hCzJtENV0ubjx6QvH1DWowCXWrWB+l+kX1eG34L/PP63xNFlk2qUmAwj2bpdY5Fy0Dy+lQ==" }, "node_modules/gopd": { "version": "1.0.1", @@ -8580,33 +8445,6 @@ "uglify-js": "^3.1.4" } }, - "node_modules/happy-dom": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/happy-dom/-/happy-dom-8.9.0.tgz", - "integrity": "sha512-JZwJuGdR7ko8L61136YzmrLv7LgTh5b8XaEM3P709mLjyQuXJ3zHTDXvUtBBahRjGlcYW0zGjIiEWizoTUGKfA==", - "dev": true, - "dependencies": { - "css.escape": "^1.5.1", - "he": "^1.2.0", - "iconv-lite": "^0.6.3", - "node-fetch": "^2.x.x", - "webidl-conversions": "^7.0.0", - "whatwg-encoding": "^2.0.0", - "whatwg-mimetype": "^3.0.0" - } - }, - "node_modules/happy-dom/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/has-bigints": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", @@ -8617,12 +8455,12 @@ } }, "node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, "engines": { - "node": ">=8" + "node": ">=4" } }, "node_modules/has-property-descriptors": { @@ -8688,9 +8526,9 @@ "integrity": "sha512-nXnYums7F8B5Y+GSThutLPlKMaamW1yjWNZVt0WModiJfdjaDZHnhYTWblS+h1OoBx3yjwiBwxldPP3nIbFSSA==" }, "node_modules/hasown": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", - "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, "dependencies": { "function-bind": "^1.1.2" @@ -8699,6 +8537,45 @@ "node": ">= 0.4" } }, + "node_modules/hast-util-heading-rank": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-heading-rank/-/hast-util-heading-rank-3.0.0.tgz", + "integrity": "sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==", + "dev": true, + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "dev": true, + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-string": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.0.tgz", + "integrity": "sha512-OGkAxX1Ua3cbcW6EJ5pT/tslVb90uViVkcJ4ZZIMW/R33DX/AkcJcRrPebPwJkHYwlDHXz4aIwvAAaAdtrACFA==", + "dev": true, + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/he": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", @@ -8730,19 +8607,6 @@ "node": ">= 0.8" } }, - "node_modules/https-proxy-agent": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz", - "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==", - "dev": true, - "dependencies": { - "agent-base": "5", - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, "node_modules/human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", @@ -8800,9 +8664,9 @@ } }, "node_modules/immutable": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.5.tgz", - "integrity": "sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.6.tgz", + "integrity": "sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ==", "devOptional": true }, "node_modules/imurmurhash": { @@ -8823,19 +8687,11 @@ "node": ">=8" } }, - "node_modules/inferred-types": { - "version": "0.37.6", - "resolved": "https://registry.npmjs.org/inferred-types/-/inferred-types-0.37.6.tgz", - "integrity": "sha512-CfL5g1wR5rVwX2K5S6wSL+h9eODScum/LBwlhGRrcBIvfYppvUQM0aeRJ1BZS+QE38kGzd3v+U526+nQR7ZUkg==", - "dev": true, - "dependencies": { - "brilliant-errors": "^0.7.3" - } - }, "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dev": true, "dependencies": { "once": "^1.3.0", @@ -8871,12 +8727,6 @@ "loose-envify": "^1.0.0" } }, - "node_modules/ip": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.1.tgz", - "integrity": "sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==", - "dev": true - }, "node_modules/ipaddr.js": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", @@ -8887,12 +8737,15 @@ } }, "node_modules/is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", - "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-4.0.1.tgz", + "integrity": "sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==", "dev": true, "engines": { - "node": ">=8" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/is-arguments": { @@ -8972,7 +8825,22 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-callable": { + "node_modules/is-builtin-module": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", + "dev": true, + "dependencies": { + "builtin-modules": "^3.3.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-callable": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", @@ -8985,12 +8853,30 @@ } }, "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "version": "2.14.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.14.0.tgz", + "integrity": "sha512-a5dFJih5ZLYlRtDc0dZWP7RiKr6xIKzmn/oAYCDvdLThadVgyJwlaoQPmRtMSpz+rk0OGAgIu+TcM9HUF0fk1A==", "dev": true, "dependencies": { - "hasown": "^2.0.0" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-data-view": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", + "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", + "dev": true, + "dependencies": { + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -9042,6 +8928,18 @@ "object-assign": "^4.1.1" } }, + "node_modules/is-expression/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", @@ -9112,10 +9010,13 @@ } }, "node_modules/is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", + "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", "dev": true, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -9186,24 +9087,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", @@ -9248,10 +9131,13 @@ } }, "node_modules/is-set": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", + "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", "dev": true, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -9341,10 +9227,13 @@ } }, "node_modules/is-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", + "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", "dev": true, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -9362,13 +9251,16 @@ } }, "node_modules/is-weakset": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", + "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -9407,35 +9299,10 @@ "node": ">=0.10.0" } }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", - "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dev": true, - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.0.tgz", + "integrity": "sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==", "dev": true, "dependencies": { "@isaacs/cliui": "^8.0.2" @@ -9451,9 +9318,9 @@ } }, "node_modules/jake": { - "version": "10.8.7", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", - "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.9.1.tgz", + "integrity": "sha512-61btcOHNnLnsOdtLgA5efqQWjnSi/vow5HbI7HMdKKWqvrKR1bLK3BPlJn9gcSaP2ewuamUSMB5XEy76KUIS2w==", "dev": true, "dependencies": { "async": "^3.2.3", @@ -9468,145 +9335,87 @@ "node": ">=10" } }, - "node_modules/jake/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/jake/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/jest-haste-map": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", - "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "node_modules/jake/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "@jest/types": "^29.6.3", - "@types/graceful-fs": "^4.1.3", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^29.6.3", - "jest-util": "^29.7.0", - "jest-worker": "^29.7.0", - "micromatch": "^4.0.4", - "walker": "^1.0.8" + "color-convert": "^2.0.1" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" }, - "optionalDependencies": { - "fsevents": "^2.3.2" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-mock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", - "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "node_modules/jake/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "node_modules/jest-mock/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "node_modules/jake/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-mock/node_modules/@types/yargs": { - "version": "16.0.9", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.9.tgz", - "integrity": "sha512-tHhzvkFXZQeTECenFoRljLBYPZJ7jAVxqqtEI0qTLOmuultnFp4I9yKE17vTuhf7BkhCu7I4XuemPgikDVuYqA==", - "dev": true, - "dependencies": { - "@types/yargs-parser": "*" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-regex-util": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", - "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "node_modules/jake/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", - "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "node_modules/jake/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "dependencies": { - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "brace-expansion": "^1.1.7" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "*" } }, - "node_modules/jest-worker": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", - "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "node_modules/jake/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "@types/node": "*", - "jest-util": "^29.7.0", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/jiti": { + "version": "1.21.6", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.6.tgz", + "integrity": "sha512-2yTgeWTWzMWkHu6Jp9NKgePDaYHbntiwvYuuJLbbN9vl7DC9DvXKOB2BC3ZZ92D3cvV/aflH0osDfwpHepQ53w==", "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "bin": { + "jiti": "bin/jiti.js" } }, "node_modules/js-stringify": { @@ -9633,6 +9442,14 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/js-yaml/node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, "node_modules/jscodeshift": { "version": "0.15.2", "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.15.2.tgz", @@ -9672,15 +9489,56 @@ } } }, - "node_modules/jscodeshift/node_modules/write-file-atomic": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "node_modules/jscodeshift/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jscodeshift/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jscodeshift/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jscodeshift/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, "node_modules/jsesc": { @@ -9840,18 +9698,6 @@ "node": ">=4" } }, - "node_modules/local-pkg": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz", - "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -9901,13 +9747,65 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" }, "bin": { "loose-envify": "cli.js" @@ -9941,14 +9839,11 @@ } }, "node_modules/magic-string": { - "version": "0.30.8", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.8.tgz", - "integrity": "sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==", + "version": "0.30.10", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz", + "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==", "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" - }, - "engines": { - "node": ">=12" } }, "node_modules/make-dir": { @@ -9966,15 +9861,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, - "dependencies": { - "tmpl": "1.0.5" - } - }, "node_modules/map-or-similar": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/map-or-similar/-/map-or-similar-1.5.0.tgz", @@ -9996,11 +9882,6 @@ "markdown-it": "bin/markdown-it.js" } }, - "node_modules/markdown-it/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - }, "node_modules/markdown-it/node_modules/entities": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/entities/-/entities-3.0.1.tgz", @@ -10024,29 +9905,6 @@ "react": ">= 0.14.0" } }, - "node_modules/mdast-util-definitions": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz", - "integrity": "sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==", - "dev": true, - "dependencies": { - "unist-util-visit": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-string": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz", - "integrity": "sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==", - "dev": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, "node_modules/mdn-data": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", @@ -10116,12 +9974,12 @@ } }, "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz", + "integrity": "sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==", "dev": true, "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { @@ -10170,10 +10028,19 @@ "node": ">=6" } }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "version": "9.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz", + "integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -10195,9 +10062,9 @@ } }, "node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, "engines": { "node": ">=16 || 14 >=14.17" @@ -10235,15 +10102,15 @@ "dev": true }, "node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true, - "dependencies": { - "minimist": "^1.2.6" - }, "bin": { "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" } }, "node_modules/mkdirp-classic": { @@ -10259,11 +10126,22 @@ "dev": true }, "node_modules/muggle-string": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.3.1.tgz", - "integrity": "sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.4.1.tgz", + "integrity": "sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==", "dev": true }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, "node_modules/nanoid": { "version": "3.3.7", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", @@ -10281,16 +10159,6 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "node_modules/native-dash": { - "version": "1.25.0", - "resolved": "https://registry.npmjs.org/native-dash/-/native-dash-1.25.0.tgz", - "integrity": "sha512-vJy1ZEfR/9jpAtuvsbPE/PuaeaJLIS+p7tl/bKEMHutRzMHnmgLv1fSmbyVvL04s2qzg0rCKZX5yfX74uiPLyA==", - "dev": true, - "dependencies": { - "brilliant-errors": "^0.7.3", - "inferred-types": "^0.37.6" - } - }, "node_modules/negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", @@ -10367,15 +10235,9 @@ } }, "node_modules/node-fetch-native": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.2.tgz", - "integrity": "sha512-69mtXOFZ6hSkYiXAVB5SqaRvrbITC/NPyqv7yuu/qw0nmgPyYbIMYYNIDhNtwPrzk0ptrimrLz/hhjvm4w5Z+w==", - "dev": true - }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.4.tgz", + "integrity": "sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==", "dev": true }, "node_modules/node-releases": { @@ -10447,18 +10309,6 @@ "node": ">= 4" } }, - "node_modules/npm-run-all/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/npm-run-all/node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -10469,35 +10319,6 @@ "concat-map": "0.0.1" } }, - "node_modules/npm-run-all/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/npm-run-all/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/npm-run-all/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, "node_modules/npm-run-all/node_modules/cross-spawn": { "version": "6.0.5", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", @@ -10514,15 +10335,6 @@ "node": ">=4.8" } }, - "node_modules/npm-run-all/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/npm-run-all/node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -10574,18 +10386,6 @@ "node": ">=0.10.0" } }, - "node_modules/npm-run-all/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/npm-run-all/node_modules/which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", @@ -10794,10 +10594,13 @@ } }, "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "version": "1.13.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz", + "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==", "dev": true, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -10936,6 +10739,46 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/ora/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/ora/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/ora/node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -10948,6 +10791,18 @@ "node": ">=8" } }, + "node_modules/ora/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -10978,21 +10833,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", @@ -11002,6 +10842,12 @@ "node": ">=6" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "dev": true + }, "node_modules/pako": { "version": "0.2.9", "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", @@ -11070,25 +10916,25 @@ "dev": true }, "node_modules/path-scurry": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", - "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, "dependencies": { - "lru-cache": "^9.1.1 || ^10.0.0", + "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">=16 || 14 >=14.18" }, "funding": { "url": "https://github.com/sponsors/isaacs" } }, "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", - "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", + "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", "dev": true, "engines": { "node": "14 || >=16.14" @@ -11101,12 +10947,15 @@ "dev": true }, "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-5.0.0.tgz", + "integrity": "sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==", "dev": true, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/pathe": { @@ -11135,16 +10984,10 @@ "through2": "^2.0.3" } }, - "node_modules/pend": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", - "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", - "dev": true - }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==" }, "node_modules/picomatch": { "version": "2.3.1", @@ -11204,9 +11047,9 @@ } }, "node_modules/pinia/node_modules/vue-demi": { - "version": "0.14.7", - "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.7.tgz", - "integrity": "sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==", + "version": "0.14.8", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.8.tgz", + "integrity": "sha512-Uuqnk9YE9SsWeReYqK2alDI5YzciATE0r2SkA6iMAtuXvNTMNACJLJEXNXaEy94ECuBe4Sk6RzRU80kjdbIo1Q==", "hasInstallScript": true, "bin": { "vue-demi-fix": "bin/vue-demi-fix.js", @@ -11271,9 +11114,9 @@ } }, "node_modules/postcss": { - "version": "8.4.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", - "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", + "version": "8.4.38", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", + "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", "funding": [ { "type": "opencollective", @@ -11291,16 +11134,16 @@ "dependencies": { "nanoid": "^3.3.7", "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "source-map-js": "^1.2.0" }, "engines": { "node": "^10 || ^12 || >=14" } }, "node_modules/postcss-import": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz", - "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==", + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", "dev": true, "dependencies": { "postcss-value-parser": "^4.0.0", @@ -11308,7 +11151,7 @@ "resolve": "^1.1.7" }, "engines": { - "node": ">=10.0.0" + "node": ">=14.0.0" }, "peerDependencies": { "postcss": "^8.0.0" @@ -11334,20 +11177,26 @@ } }, "node_modules/postcss-load-config": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", - "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "lilconfig": "^2.0.5", - "yaml": "^1.10.2" + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" }, "engines": { - "node": ">= 10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">= 14" }, "peerDependencies": { "postcss": ">=8.0.9", @@ -11362,13 +11211,25 @@ } } }, + "node_modules/postcss-load-config/node_modules/lilconfig": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, "node_modules/postcss-nested": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz", - "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", "dev": true, "dependencies": { - "postcss-selector-parser": "^6.0.6" + "postcss-selector-parser": "^6.0.11" }, "engines": { "node": ">=12.0" @@ -11382,9 +11243,9 @@ } }, "node_modules/postcss-selector-parser": { - "version": "6.0.15", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", - "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.0.tgz", + "integrity": "sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==", "dev": true, "dependencies": { "cssesc": "^3.0.0", @@ -11415,6 +11276,22 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, + "node_modules/prettier-fallback": { + "name": "prettier", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.2.tgz", + "integrity": "sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, "node_modules/pretty-bytes": { "version": "6.1.1", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-6.1.1.tgz", @@ -11477,15 +11354,6 @@ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "dev": true }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/promise": { "version": "7.3.1", "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", @@ -11521,19 +11389,13 @@ "node": ">= 0.10" } }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true - }, "node_modules/pug": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/pug/-/pug-3.0.2.tgz", - "integrity": "sha512-bp0I/hiK1D1vChHh6EfDxtndHji55XP/ZJKwsRqrz6lRia6ZC2OZbdAymlxdVFwd1L70ebrVJw4/eZ79skrIaw==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/pug/-/pug-3.0.3.tgz", + "integrity": "sha512-uBi6kmc9f3SZ3PXxqcHiUZLmIXgfgWooKWXcwSGwQd2Zi5Rb0bT14+8CJjJgI8AB+nndLaNgHGrcc6bPIB665g==", "dev": true, "dependencies": { - "pug-code-gen": "^3.0.2", + "pug-code-gen": "^3.0.3", "pug-filters": "^4.0.0", "pug-lexer": "^5.0.1", "pug-linker": "^4.0.0", @@ -11555,25 +11417,25 @@ } }, "node_modules/pug-code-gen": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-3.0.2.tgz", - "integrity": "sha512-nJMhW16MbiGRiyR4miDTQMRWDgKplnHyeLvioEJYbk1RsPI3FuA3saEP8uwnTb2nTJEKBU90NFVWJBk4OU5qyg==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-3.0.3.tgz", + "integrity": "sha512-cYQg0JW0w32Ux+XTeZnBEeuWrAY7/HNE6TWnhiHGnnRYlCgyAUPoyh9KzCMa9WhcJlJ1AtQqpEYHc+vbCzA+Aw==", "dev": true, "dependencies": { "constantinople": "^4.0.1", "doctypes": "^1.1.0", "js-stringify": "^1.0.2", "pug-attrs": "^3.0.0", - "pug-error": "^2.0.0", - "pug-runtime": "^3.0.0", + "pug-error": "^2.1.0", + "pug-runtime": "^3.0.1", "void-elements": "^3.1.0", "with": "^7.0.0" } }, "node_modules/pug-error": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-2.0.0.tgz", - "integrity": "sha512-sjiUsi9M4RAGHktC1drQfCr5C5eriu24Lfbt4s+7SykztEOwVZtbFk1RRq0tzLxcMxMYTBR+zMQaG07J/btayQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pug-error/-/pug-error-2.1.0.tgz", + "integrity": "sha512-lv7sU9e5Jk8IeUheHata6/UThZ7RK2jnaaNztxfPYUY+VxZyk/ePVaNZ/vwmH8WqGvDz3LrNYt/+gA55NDg6Pg==", "dev": true }, "node_modules/pug-filters": { @@ -11691,55 +11553,13 @@ "node": ">=6" } }, - "node_modules/puppeteer-core": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-2.1.1.tgz", - "integrity": "sha512-n13AWriBMPYxnpbb6bnaY5YoY6rGj8vPLrz6CZF3o0qJNEwlcfJVxBzYZ0NJsQ21UbdJoijPCDrM++SUVEz7+w==", - "dev": true, - "dependencies": { - "@types/mime-types": "^2.1.0", - "debug": "^4.1.0", - "extract-zip": "^1.6.6", - "https-proxy-agent": "^4.0.0", - "mime": "^2.0.3", - "mime-types": "^2.1.25", - "progress": "^2.0.1", - "proxy-from-env": "^1.0.0", - "rimraf": "^2.6.1", - "ws": "^6.1.0" - }, - "engines": { - "node": ">=8.16.0" - } - }, - "node_modules/puppeteer-core/node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/puppeteer-core/node_modules/ws": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", - "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", - "dev": true, - "dependencies": { - "async-limiter": "~1.0.0" - } - }, "node_modules/qs": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", + "version": "6.12.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz", + "integrity": "sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==", "dev": true, "dependencies": { - "side-channel": "^1.0.4" + "side-channel": "^1.0.6" }, "engines": { "node": ">=0.6" @@ -11768,18 +11588,6 @@ } ] }, - "node_modules/quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/ramda": { "version": "0.29.0", "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.0.tgz", @@ -11833,9 +11641,9 @@ } }, "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", "dev": true, "dependencies": { "loose-envify": "^1.1.0" @@ -11855,16 +11663,16 @@ } }, "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", "dev": true, "dependencies": { "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" + "scheduler": "^0.23.2" }, "peerDependencies": { - "react": "^18.2.0" + "react": "^18.3.1" } }, "node_modules/react-is": { @@ -11874,12 +11682,12 @@ "dev": true }, "node_modules/react-remove-scroll": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz", - "integrity": "sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==", + "version": "2.5.7", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.7.tgz", + "integrity": "sha512-FnrTWO4L7/Bhhf3CYBNArEG/yROV0tKmTv7/3h9QCFvH6sndeFf1wPqOcbFVu5VAulS5dV1wGT3GZZ/1GawqiA==", "dev": true, "dependencies": { - "react-remove-scroll-bar": "^2.3.3", + "react-remove-scroll-bar": "^2.3.4", "react-style-singleton": "^2.2.1", "tslib": "^2.1.0", "use-callback-ref": "^1.3.0", @@ -11899,9 +11707,9 @@ } }, "node_modules/react-remove-scroll-bar": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.5.tgz", - "integrity": "sha512-3cqjOqg6s0XbOjWvmasmqHch+RLxIEk2r/70rzGXuz3iIGQsQheEQyqYCBb5EECoD01Vo2SIbDqW4paLeLTASw==", + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.6.tgz", + "integrity": "sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==", "dev": true, "dependencies": { "react-style-singleton": "^2.2.1", @@ -12133,9 +11941,9 @@ } }, "node_modules/recast": { - "version": "0.23.5", - "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.5.tgz", - "integrity": "sha512-M67zIddJiwXdfPQRYKJ0qZO1SLdH1I0hYeb0wzxA+pNOvAZiQHulWzuk+fYsEWRQ8VfZrgjyucqsCOtCyM01/A==", + "version": "0.23.9", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.9.tgz", + "integrity": "sha512-Hx/BGIbwj+Des3+xy5uAtAbdCyqK9y9wbBcDFDYanLS9JnMqf7OeF87HQwUimE87OEc72mr6tkKUKMBBL+hF9Q==", "dev": true, "dependencies": { "ast-types": "^0.16.1", @@ -12148,6 +11956,19 @@ "node": ">= 4" } }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", @@ -12237,32 +12058,35 @@ "jsesc": "bin/jsesc" } }, - "node_modules/remark-external-links": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/remark-external-links/-/remark-external-links-8.0.0.tgz", - "integrity": "sha512-5vPSX0kHoSsqtdftSHhIYofVINC8qmp0nctkeU9YoJwV3YfiBRiI6cbFRJ0oI/1F9xS+bopXG0m2KS8VFscuKA==", + "node_modules/rehype-external-links": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/rehype-external-links/-/rehype-external-links-3.0.0.tgz", + "integrity": "sha512-yp+e5N9V3C6bwBeAC4n796kc86M4gJCdlVhiMTxIrJG5UHDMh+PJANf9heqORJbt1nrCbDwIlAZKjANIaVBbvw==", "dev": true, "dependencies": { - "extend": "^3.0.0", - "is-absolute-url": "^3.0.0", - "mdast-util-definitions": "^4.0.0", - "space-separated-tokens": "^1.0.0", - "unist-util-visit": "^2.0.0" + "@types/hast": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-is-element": "^3.0.0", + "is-absolute-url": "^4.0.0", + "space-separated-tokens": "^2.0.0", + "unist-util-visit": "^5.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, - "node_modules/remark-slug": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/remark-slug/-/remark-slug-6.1.0.tgz", - "integrity": "sha512-oGCxDF9deA8phWvxFuyr3oSJsdyUAxMFbA0mZ7Y1Sas+emILtO+e5WutF9564gDsEN4IXaQXm5pFo6MLH+YmwQ==", + "node_modules/rehype-slug": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/rehype-slug/-/rehype-slug-6.0.0.tgz", + "integrity": "sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==", "dev": true, "dependencies": { - "github-slugger": "^1.0.0", - "mdast-util-to-string": "^1.0.0", - "unist-util-visit": "^2.0.0" + "@types/hast": "^3.0.0", + "github-slugger": "^2.0.0", + "hast-util-heading-rank": "^3.0.0", + "hast-util-to-string": "^3.0.0", + "unist-util-visit": "^5.0.0" }, "funding": { "type": "opencollective", @@ -12328,9 +12152,10 @@ } }, "node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, "dependencies": { "glob": "^7.1.3" @@ -12353,6 +12178,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -12382,17 +12208,36 @@ } }, "node_modules/rollup": { - "version": "3.29.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", - "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", + "version": "4.18.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.18.0.tgz", + "integrity": "sha512-QmJz14PX3rzbJCN1SG4Xe/bAAX2a6NpCP8ab2vfu2GiUr8AQcr2nCV/oEO3yneFarB67zk8ShlIyWb2LGTb3Sg==", + "dependencies": { + "@types/estree": "1.0.5" + }, "bin": { "rollup": "dist/bin/rollup" }, "engines": { - "node": ">=14.18.0", + "node": ">=18.0.0", "npm": ">=8.0.0" }, "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.18.0", + "@rollup/rollup-android-arm64": "4.18.0", + "@rollup/rollup-darwin-arm64": "4.18.0", + "@rollup/rollup-darwin-x64": "4.18.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.18.0", + "@rollup/rollup-linux-arm-musleabihf": "4.18.0", + "@rollup/rollup-linux-arm64-gnu": "4.18.0", + "@rollup/rollup-linux-arm64-musl": "4.18.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.18.0", + "@rollup/rollup-linux-riscv64-gnu": "4.18.0", + "@rollup/rollup-linux-s390x-gnu": "4.18.0", + "@rollup/rollup-linux-x64-gnu": "4.18.0", + "@rollup/rollup-linux-x64-musl": "4.18.0", + "@rollup/rollup-win32-arm64-msvc": "4.18.0", + "@rollup/rollup-win32-ia32-msvc": "4.18.0", + "@rollup/rollup-win32-x64-msvc": "4.18.0", "fsevents": "~2.3.2" } }, @@ -12420,13 +12265,13 @@ } }, "node_modules/safe-array-concat": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.0.tgz", - "integrity": "sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", + "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", "dev": true, "dependencies": { - "call-bind": "^1.0.5", - "get-intrinsic": "^1.2.2", + "call-bind": "^1.0.7", + "get-intrinsic": "^1.2.4", "has-symbols": "^1.0.3", "isarray": "^2.0.5" }, @@ -12467,9 +12312,9 @@ "dev": true }, "node_modules/sass": { - "version": "1.55.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.55.0.tgz", - "integrity": "sha512-Pk+PMy7OGLs9WaxZGJMn7S96dvlyVBwwtToX895WmCpAOr5YiJYEUJfiJidMuKb613z2xNWcXCHEuOvjZbqC6A==", + "version": "1.77.6", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.77.6.tgz", + "integrity": "sha512-ByXE1oLD79GVq9Ht1PeHWCPMPB8XHpBuz1r85oByKHjZY6qV6rWnQovQzXJXuQ/XyE1Oj3iPk3lo28uzaRA2/Q==", "devOptional": true, "dependencies": { "chokidar": ">=3.0.0 <4.0.0", @@ -12480,13 +12325,13 @@ "sass": "sass.js" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" } }, "node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", "dev": true, "dependencies": { "loose-envify": "^1.1.0" @@ -12559,9 +12404,9 @@ "dev": true }, "node_modules/serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, "dependencies": { "randombytes": "^2.1.0" @@ -12583,17 +12428,17 @@ } }, "node_modules/set-function-length": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", - "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "dev": true, "dependencies": { - "define-data-property": "^1.1.2", + "define-data-property": "^1.1.4", "es-errors": "^1.3.0", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.3", + "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.1" + "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -12693,14 +12538,23 @@ "dev": true }, "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", + "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", "dev": true, "engines": { - "node": ">=8" + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/smob": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/smob/-/smob-1.5.0.tgz", + "integrity": "sha512-g6T+p7QO8npa+/hNx9ohv1E5pVCmWrVCUzUXJyLdMmftX6ER0oiWY/w9knEonLpnOp6b6FenKnMfR8gqwWdwig==", + "dev": true + }, "node_modules/sortablejs": { "version": "1.14.0", "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.14.0.tgz", @@ -12716,9 +12570,9 @@ } }, "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", + "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", "engines": { "node": ">=0.10.0" } @@ -12741,9 +12595,9 @@ "dev": true }, "node_modules/space-separated-tokens": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", - "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", "dev": true, "funding": { "type": "github", @@ -12777,9 +12631,9 @@ } }, "node_modules/spdx-license-ids": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz", - "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==", + "version": "3.0.18", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz", + "integrity": "sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==", "dev": true }, "node_modules/sprintf-js": { @@ -12822,12 +12676,12 @@ "dev": true }, "node_modules/storybook": { - "version": "7.6.17", - "resolved": "https://registry.npmjs.org/storybook/-/storybook-7.6.17.tgz", - "integrity": "sha512-8+EIo91bwmeFWPg1eysrxXlhIYv3OsXrznTr4+4Eq0NikqAoq6oBhtlN5K2RGS2lBVF537eN+9jTCNbR+WrzDA==", + "version": "8.1.10", + "resolved": "https://registry.npmjs.org/storybook/-/storybook-8.1.10.tgz", + "integrity": "sha512-HHlZibyc/QkcQj8aEnYnYwEl+ItNZ/uRbCdkvJzu/vIWYon5jUg30mHFIGZprgLSt27CxOs30Et8yT9z4VhwjA==", "dev": true, "dependencies": { - "@storybook/cli": "7.6.17" + "@storybook/cli": "8.1.10" }, "bin": { "sb": "index.js", @@ -12873,15 +12727,6 @@ } ] }, - "node_modules/string-argv": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", - "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", - "dev": true, - "engines": { - "node": ">=0.6.19" - } - }, "node_modules/string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", @@ -12936,20 +12781,44 @@ } }, "node_modules/string.prototype.matchall": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz", - "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==", + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", + "integrity": "sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "regexp.prototype.flags": "^1.5.0", - "set-function-name": "^2.0.0", - "side-channel": "^1.0.4" + "internal-slot": "^1.0.7", + "regexp.prototype.flags": "^1.5.2", + "set-function-name": "^2.0.2", + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.padend": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.6.tgz", + "integrity": "sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -12973,14 +12842,15 @@ } }, "node_modules/string.prototype.trim": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz", - "integrity": "sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==", + "version": "1.2.9", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", + "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.0", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -12990,28 +12860,31 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz", - "integrity": "sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", + "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/string.prototype.trimstart": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz", - "integrity": "sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", + "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -13106,6 +12979,18 @@ "node": ">=6" } }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -13118,40 +13003,47 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/strip-literal": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.3.0.tgz", - "integrity": "sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==", + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", "dev": true, "dependencies": { - "acorn": "^8.10.0" + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" }, - "funding": { - "url": "https://github.com/sponsors/antfu" + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" } }, - "node_modules/strip-literal/node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", "dev": true, - "bin": { - "acorn": "bin/acorn" - }, "engines": { - "node": ">=0.4.0" + "node": ">= 6" } }, "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "has-flag": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=4" } }, "node_modules/supports-preserve-symlinks-flag": { @@ -13203,43 +13095,40 @@ "dev": true }, "node_modules/tailwindcss": { - "version": "3.1.8", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.1.8.tgz", - "integrity": "sha512-YSneUCZSFDYMwk+TGq8qYFdCA3yfBRdBlS7txSq0LUmzyeqRe3a8fBQzbz9M3WS/iFT4BNf/nmw9mEzrnSaC0g==", + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.4.tgz", + "integrity": "sha512-ZoyXOdJjISB7/BcLTR6SEsLgKtDStYyYZVLsUtWChO4Ps20CBad7lfJKVDiejocV4ME1hLmyY0WJE3hSDcmQ2A==", "dev": true, "dependencies": { + "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", "chokidar": "^3.5.3", - "color-name": "^1.1.4", - "detective": "^5.2.1", "didyoumean": "^1.2.2", "dlv": "^1.1.3", - "fast-glob": "^3.2.11", + "fast-glob": "^3.3.0", "glob-parent": "^6.0.2", "is-glob": "^4.0.3", - "lilconfig": "^2.0.6", + "jiti": "^1.21.0", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", "normalize-path": "^3.0.0", "object-hash": "^3.0.0", "picocolors": "^1.0.0", - "postcss": "^8.4.14", - "postcss-import": "^14.1.0", - "postcss-js": "^4.0.0", - "postcss-load-config": "^3.1.4", - "postcss-nested": "5.0.6", - "postcss-selector-parser": "^6.0.10", - "postcss-value-parser": "^4.2.0", - "quick-lru": "^5.1.1", - "resolve": "^1.22.1" + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" }, "bin": { "tailwind": "lib/cli.js", "tailwindcss": "lib/cli.js" }, "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "postcss": "^8.0.9" + "node": ">=14.0.0" } }, "node_modules/tailwindcss/node_modules/glob-parent": { @@ -13255,9 +13144,9 @@ } }, "node_modules/tar": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", - "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", "dev": true, "dependencies": { "chownr": "^2.0.0", @@ -13314,18 +13203,6 @@ "node": ">=8" } }, - "node_modules/tar/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/tar/node_modules/yallist": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", @@ -13354,103 +13231,48 @@ } }, "node_modules/temp-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", - "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-3.0.0.tgz", + "integrity": "sha512-nHc6S/bwIilKHNRgK/3jlhDoIHcp45YgyiwcAk46Tr0LfEqGBVpmiAyuiuxeVE44m3mXnEeVhaipLOEWmH+Njw==", "dev": true, "engines": { - "node": ">=8" + "node": ">=14.16" } }, - "node_modules/temp/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/tempy": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-3.1.0.tgz", + "integrity": "sha512-7jDLIdD2Zp0bDe5r3D2qtkd1QOCacylBuL7oa4udvN6v2pqr4+LcCr67C8DR1zkpaZ8XosF5m1yQSabKAW6f2g==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "is-stream": "^3.0.0", + "temp-dir": "^3.0.0", + "type-fest": "^2.12.2", + "unique-string": "^3.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/temp/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "node_modules/tempy/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, "engines": { - "node": "*" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/temp/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/temp/node_modules/rimraf": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/tempy": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-1.0.1.tgz", - "integrity": "sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w==", - "dev": true, - "dependencies": { - "del": "^6.0.0", - "is-stream": "^2.0.0", - "temp-dir": "^2.0.0", - "type-fest": "^0.16.0", - "unique-string": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/tempy/node_modules/type-fest": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", - "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/terser": { - "version": "5.28.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.28.1.tgz", - "integrity": "sha512-wM+bZp54v/E9eRRGXb5ZFDvinrJIOaTapx3WUokyVGZu5ucVCK55zEgGd5Dl2fSr3jUo5sDiERErUWLY6QPFyA==", + "version": "5.31.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.31.1.tgz", + "integrity": "sha512-37upzU1+viGvuFtBo9NPufCb9dwM0+l9hMxYyWfBA+fbwrPqNJAhbZ6W47bBFnZHKHTUBnMvi87434qq+qnxOg==", "devOptional": true, "dependencies": { "@jridgewell/source-map": "^0.3.3", @@ -13465,78 +13287,31 @@ "node": ">=10" } }, - "node_modules/terser/node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "devOptional": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/terser/node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "devOptional": true }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/test-exclude/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/test-exclude/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "any-promise": "^1.0.0" } }, - "node_modules/test-exclude/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", "dev": true, "dependencies": { - "brace-expansion": "^1.1.7" + "thenify": ">= 3.1.0 < 4" }, "engines": { - "node": "*" + "node": ">=0.8" } }, "node_modules/through2": { @@ -13585,36 +13360,15 @@ "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==", "dev": true }, - "node_modules/tinybench": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.6.0.tgz", - "integrity": "sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==", - "dev": true - }, - "node_modules/tinypool": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.3.1.tgz", - "integrity": "sha512-zLA1ZXlstbU2rlpA4CIeVaqvWq41MTWqLY3FfsAXgC8+f7Pk7zroaJQxDgxn1xNudKW6Kmj4808rPFShUlIRmQ==", - "dev": true, - "engines": { - "node": ">=14.0.0" - } - }, "node_modules/tinyspy": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-1.1.1.tgz", - "integrity": "sha512-UVq5AXt/gQlti7oxoIg5oi/9r0WpF7DGEVwXgqWSMmyN16+e3tl5lIvTaOpJ3TAtu5xFzWccFRM4R5NaWHF+4g==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz", + "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==", "dev": true, "engines": { "node": ">=14.0.0" } }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true - }, "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", @@ -13636,9 +13390,9 @@ } }, "node_modules/tocbot": { - "version": "4.25.0", - "resolved": "https://registry.npmjs.org/tocbot/-/tocbot-4.25.0.tgz", - "integrity": "sha512-kE5wyCQJ40hqUaRVkyQ4z5+4juzYsv/eK+aqD97N62YH0TxFhzJvo22RUQQZdO3YnXAk42ZOfOpjVdy+Z0YokA==", + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/tocbot/-/tocbot-4.28.2.tgz", + "integrity": "sha512-/MaSa9xI6mIo84IxqqliSCtPlH0oy7sLcY9s26qPMyH/2CxtZ2vNAXYlIdEQ7kjAkCQnc0rbLygf//F5c663oQ==", "dev": true }, "node_modules/toidentifier": { @@ -13671,6 +13425,12 @@ "node": ">=6.10" } }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true + }, "node_modules/ts-map": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/ts-map/-/ts-map-1.0.3.tgz", @@ -13678,9 +13438,9 @@ "dev": true }, "node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", "dev": true }, "node_modules/type-detect": { @@ -13771,9 +13531,9 @@ } }, "node_modules/typed-array-length": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.5.tgz", - "integrity": "sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", + "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", "dev": true, "dependencies": { "call-bind": "^1.0.7", @@ -13790,22 +13550,16 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", - "dev": true - }, "node_modules/typescript": { - "version": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.2.tgz", + "integrity": "sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew==", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=4.2.0" + "node": ">=14.17" } }, "node_modules/uc.micro": { @@ -13814,15 +13568,15 @@ "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==" }, "node_modules/ufo": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.4.0.tgz", - "integrity": "sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==", + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.3.tgz", + "integrity": "sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==", "dev": true }, "node_modules/uglify-js": { - "version": "3.17.4", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", - "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "version": "3.18.0", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.18.0.tgz", + "integrity": "sha512-SyVVbcNBCk0dzr9XL/R/ySrmYf0s372K6/hFklzgcp2lBFyXtw4I7BOdDjlLhE1aVqaI/SHWXWmYdlZxuyF38A==", "dev": true, "optional": true, "bin": { @@ -13893,37 +13647,55 @@ "node": ">=4" } }, + "node_modules/unicorn-magic": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.1.0.tgz", + "integrity": "sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/unique-string": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", - "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-3.0.0.tgz", + "integrity": "sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==", "dev": true, "dependencies": { - "crypto-random-string": "^2.0.0" + "crypto-random-string": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/unist-util-is": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", - "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", "dev": true, + "dependencies": { + "@types/unist": "^3.0.0" + }, "funding": { "type": "opencollective", "url": "https://opencollective.com/unified" } }, "node_modules/unist-util-visit": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", - "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", "dev": true, "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0", - "unist-util-visit-parents": "^3.0.0" + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" }, "funding": { "type": "opencollective", @@ -13931,13 +13703,13 @@ } }, "node_modules/unist-util-visit-parents": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", - "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.1.tgz", + "integrity": "sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==", "dev": true, "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0" + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" }, "funding": { "type": "opencollective", @@ -13963,14 +13735,17 @@ } }, "node_modules/unplugin": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.8.0.tgz", - "integrity": "sha512-yGEQsodWICmgt7asHF7QzqDZYeEP9h14vyd9Lul98UnYf29pLZZLwI09z2QdTjwU/FCkum1SRvsK7cx232X8NA==", + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.10.1.tgz", + "integrity": "sha512-d6Mhq8RJeGA8UfKCu54Um4lFA0eSaRa3XxdAJg8tIdxbu1ubW0hBCZUL7yI2uGyYCRndvbK8FLHzqy2XKfeMsg==", "dependencies": { "acorn": "^8.11.3", "chokidar": "^3.6.0", "webpack-sources": "^3.2.3", "webpack-virtual-modules": "^0.6.1" + }, + "engines": { + "node": ">=14.0.0" } }, "node_modules/unplugin-vue-markdown": { @@ -13993,17 +13768,6 @@ "vite": "^2.0.0 || ^3.0.0-0 || ^4.0.0-0 || ^5.0.0-0" } }, - "node_modules/unplugin/node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/untildify": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", @@ -14024,9 +13788,9 @@ } }, "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "version": "1.0.16", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.16.tgz", + "integrity": "sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==", "dev": true, "funding": [ { @@ -14043,8 +13807,8 @@ } ], "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "escalade": "^3.1.2", + "picocolors": "^1.0.1" }, "bin": { "update-browserslist-db": "cli.js" @@ -14063,9 +13827,9 @@ } }, "node_modules/use-callback-ref": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.1.tgz", - "integrity": "sha512-Lg4Vx1XZQauB42Hw3kK7JM6yjVjgFmFC5/Ab797s79aARomD2nEErc4mCgM8EZrARLmmbWpi5DGCadmK50DcAQ==", + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.2.tgz", + "integrity": "sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==", "dev": true, "dependencies": { "tslib": "^2.0.0" @@ -14083,19 +13847,6 @@ } } }, - "node_modules/use-resize-observer": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/use-resize-observer/-/use-resize-observer-9.1.0.tgz", - "integrity": "sha512-R25VqO9Wb3asSD4eqtcxk8sJalvIOYBqS8MNZlpDSQ4l4xMQxC/J7Id9HoTqPq8FwULIn0PVW+OAqF2dyYbjow==", - "dev": true, - "dependencies": { - "@juggle/resize-observer": "^3.3.1" - }, - "peerDependencies": { - "react": "16.8.0 - 18", - "react-dom": "16.8.0 - 18" - } - }, "node_modules/use-sidecar": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", @@ -14190,28 +13941,28 @@ } }, "node_modules/vite": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.2.tgz", - "integrity": "sha512-tBCZBNSBbHQkaGyhGCDUGqeo2ph8Fstyp6FMSvTtsXeZSPpSMGlviAOav2hxVTqFcx8Hj/twtWKsMJXNY0xI8w==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.3.1.tgz", + "integrity": "sha512-XBmSKRLXLxiaPYamLv3/hnP/KXDai1NDexN0FpkTaZXTfycHvkRHoenpgl/fvuK/kPbB6xAgoyiryAhQNxYmAQ==", "dependencies": { - "esbuild": "^0.18.10", - "postcss": "^8.4.27", - "rollup": "^3.27.1" + "esbuild": "^0.21.3", + "postcss": "^8.4.38", + "rollup": "^4.13.0" }, "bin": { "vite": "bin/vite.js" }, "engines": { - "node": "^14.18.0 || >=16.0.0" + "node": "^18.0.0 || >=20.0.0" }, "funding": { "url": "https://github.com/vitejs/vite?sponsor=1" }, "optionalDependencies": { - "fsevents": "~2.3.2" + "fsevents": "~2.3.3" }, "peerDependencies": { - "@types/node": ">= 14", + "@types/node": "^18.0.0 || >=20.0.0", "less": "*", "lightningcss": "^1.21.0", "sass": "*", @@ -14257,6 +14008,37 @@ "vite": ">=2.0.0" } }, + "node_modules/vite-plugin-compression/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/vite-plugin-compression/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, "node_modules/vite-plugin-compression/node_modules/fs-extra": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", @@ -14271,154 +14053,494 @@ "node": ">=12" } }, - "node_modules/vite-plugin-md": { + "node_modules/vite-plugin-compression/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/vite-plugin-compression/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/vite-plugin-pwa": { + "version": "0.20.0", + "resolved": "https://registry.npmjs.org/vite-plugin-pwa/-/vite-plugin-pwa-0.20.0.tgz", + "integrity": "sha512-/kDZyqF8KqoXRpMUQtR5Atri/7BWayW8Gp7Kz/4bfstsV6zSFTxjREbXZYL7zSuRL40HGA+o2hvUAFRmC+bL7g==", + "dev": true, + "dependencies": { + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "pretty-bytes": "^6.1.1", + "workbox-build": "^7.1.0", + "workbox-window": "^7.1.0" + }, + "engines": { + "node": ">=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "@vite-pwa/assets-generator": "^0.2.4", + "vite": "^3.1.0 || ^4.0.0 || ^5.0.0", + "workbox-build": "^7.1.0", + "workbox-window": "^7.1.0" + }, + "peerDependenciesMeta": { + "@vite-pwa/assets-generator": { + "optional": true + } + } + }, + "node_modules/vite-svg-loader": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/vite-svg-loader/-/vite-svg-loader-3.6.0.tgz", + "integrity": "sha512-bZJffcgCREW57kNkgMhuNqeDznWXyQwJ3wKrRhHLMMzwDnP5jr3vXW3cqsmquRR7VTP5mLdKj1/zzPPooGUuPw==", + "dev": true, + "dependencies": { + "@vue/compiler-sfc": "^3.2.20", + "svgo": "^2.7.0" + } + }, + "node_modules/vite/node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/vite/node_modules/esbuild": { "version": "0.21.5", - "resolved": "https://registry.npmjs.org/vite-plugin-md/-/vite-plugin-md-0.21.5.tgz", - "integrity": "sha512-gxiiSq2PmU2zUY5ZAFLEGmDFRV6J6gF85ns3hcvtgERibNST4gWxRSabqSZbGbHp3LEBwwK7C1CRLsl46yEiWg==", - "dev": true, - "dependencies": { - "@yankeeinlondon/builder-api": "^1.2.1", - "@yankeeinlondon/gray-matter": "^6.1.0", - "@yankeeinlondon/happy-wrapper": "^2.10.1", - "markdown-it": "^13.0.1", - "source-map-js": "^1.0.2" + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" }, - "funding": { - "url": "https://github.com/sponsors/antfu" + "engines": { + "node": ">=12" }, - "peerDependencies": { - "vite": "^4.0.0" + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" } }, - "node_modules/vite-plugin-pwa": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/vite-plugin-pwa/-/vite-plugin-pwa-0.16.7.tgz", - "integrity": "sha512-4WMA5unuKlHs+koNoykeuCfTcqEGbiTRr8sVYUQMhc6tWxZpSRnv9Ojk4LKmqVhoPGHfBVCdGaMo8t9Qidkc1Q==", + "node_modules/void-elements": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", + "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==", "dev": true, - "dependencies": { - "debug": "^4.3.4", - "fast-glob": "^3.3.1", - "pretty-bytes": "^6.1.1", - "workbox-build": "^7.0.0", - "workbox-window": "^7.0.0" - }, "engines": { - "node": ">=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - }, - "peerDependencies": { - "vite": "^3.1.0 || ^4.0.0 || ^5.0.0-0", - "workbox-build": "^7.0.0", - "workbox-window": "^7.0.0" + "node": ">=0.10.0" } }, - "node_modules/vite-svg-loader": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/vite-svg-loader/-/vite-svg-loader-3.6.0.tgz", - "integrity": "sha512-bZJffcgCREW57kNkgMhuNqeDznWXyQwJ3wKrRhHLMMzwDnP5jr3vXW3cqsmquRR7VTP5mLdKj1/zzPPooGUuPw==", - "dev": true, - "dependencies": { - "@vue/compiler-sfc": "^3.2.20", - "svgo": "^2.7.0" - } + "node_modules/vscode-uri": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/vscode-uri/-/vscode-uri-3.0.8.tgz", + "integrity": "sha512-AyFQ0EVmsOZOlAnxoFOGOq1SQDWAB7C6aqMGS23svWAllfOaxbuFvcT8D1i8z3Gyn8fraVeZNNmN6e9bxxXkKw==", + "dev": true }, - "node_modules/vitest": { - "version": "0.25.8", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.25.8.tgz", - "integrity": "sha512-X75TApG2wZTJn299E/TIYevr4E9/nBo1sUtZzn0Ci5oK8qnpZAZyhwg0qCeMSakGIWtc6oRwcQFyFfW14aOFWg==", - "dev": true, + "node_modules/vue": { + "version": "3.4.30", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.30.tgz", + "integrity": "sha512-NcxtKCwkdf1zPsr7Y8+QlDBCGqxvjLXF2EX+yi76rV5rrz90Y6gK1cq0olIhdWGgrlhs9ElHuhi9t3+W5sG5Xw==", "dependencies": { - "@types/chai": "^4.3.4", - "@types/chai-subset": "^1.3.3", - "@types/node": "*", - "acorn": "^8.8.1", - "acorn-walk": "^8.2.0", - "chai": "^4.3.7", - "debug": "^4.3.4", - "local-pkg": "^0.4.2", - "source-map": "^0.6.1", - "strip-literal": "^1.0.0", - "tinybench": "^2.3.1", - "tinypool": "^0.3.0", - "tinyspy": "^1.0.2", - "vite": "^3.0.0 || ^4.0.0" - }, - "bin": { - "vitest": "vitest.mjs" - }, - "engines": { - "node": ">=v14.16.0" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" + "@vue/compiler-dom": "3.4.30", + "@vue/compiler-sfc": "3.4.30", + "@vue/runtime-dom": "3.4.30", + "@vue/server-renderer": "3.4.30", + "@vue/shared": "3.4.30" }, "peerDependencies": { - "@edge-runtime/vm": "*", - "@vitest/browser": "*", - "@vitest/ui": "*", - "happy-dom": "*", - "jsdom": "*" + "typescript": "*" }, "peerDependenciesMeta": { - "@edge-runtime/vm": { - "optional": true - }, - "@vitest/browser": { - "optional": true - }, - "@vitest/ui": { - "optional": true - }, - "happy-dom": { - "optional": true - }, - "jsdom": { + "typescript": { "optional": true } } }, - "node_modules/vitest/node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/vitest/node_modules/acorn-walk": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", - "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/void-elements": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", - "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==", + "node_modules/vue-component-meta": { + "version": "2.0.22", + "resolved": "https://registry.npmjs.org/vue-component-meta/-/vue-component-meta-2.0.22.tgz", + "integrity": "sha512-9MZPbCdv7DPCJqvdRc/zNPJmGHrE9JWCffaNB6W1v83mku1E31CKWPTFcbuCWofD/fkpK5eCeOpNxQ+k5JcRww==", "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/vue": { - "version": "3.4.21", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.4.21.tgz", - "integrity": "sha512-5hjyV/jLEIKD/jYl4cavMcnzKwjMKohureP8ejn3hhEjwhWIhWeuzL2kJAjzl/WyVsgPY56Sy4Z40C3lVshxXA==", "dependencies": { - "@vue/compiler-dom": "3.4.21", - "@vue/compiler-sfc": "3.4.21", - "@vue/runtime-dom": "3.4.21", - "@vue/server-renderer": "3.4.21", - "@vue/shared": "3.4.21" + "@volar/typescript": "~2.3.1", + "@vue/language-core": "2.0.22", + "path-browserify": "^1.0.1", + "vue-component-type-helpers": "2.0.22" }, "peerDependencies": { "typescript": "*" @@ -14430,15 +14552,15 @@ } }, "node_modules/vue-component-type-helpers": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-2.0.4.tgz", - "integrity": "sha512-IFZ8rjfV1zWf1LOMPfmMaHe28zZfo5w2NyZxCqeqLGT3CGur0Y9+R3/bvX400tqVukuzf8mLw2fOvGTyXKPWjg==", + "version": "2.0.22", + "resolved": "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-2.0.22.tgz", + "integrity": "sha512-gPr2Ba7efUwy/Vfbuf735bHSVdN4ycoZUCHfypkI33M9DUH+ieRblLLVM2eImccFYaWNWwEzURx02EgoXDBmaQ==", "dev": true }, "node_modules/vue-docgen-api": { - "version": "4.75.1", - "resolved": "https://registry.npmjs.org/vue-docgen-api/-/vue-docgen-api-4.75.1.tgz", - "integrity": "sha512-MECZ3uExz+ssmhD/2XrFoQQs93y17IVO1KDYTp8nr6i9GNrk67AAto6QAtilW1H/pTDPMkQxJ7w/25ZIqVtfAA==", + "version": "4.78.0", + "resolved": "https://registry.npmjs.org/vue-docgen-api/-/vue-docgen-api-4.78.0.tgz", + "integrity": "sha512-RsZf+qzTttCCAN9v7AKmBykc2QWmO8csVk1c2aXeOktomSOu0NA7sgK4ObuRB5lpmtOvTnwuxssyYmxXxABr+A==", "dev": true, "dependencies": { "@babel/parser": "^7.21.4", @@ -14446,6 +14568,7 @@ "@vue/compiler-dom": "^3.2.0", "@vue/compiler-sfc": "^3.2.0", "ast-types": "^0.16.1", + "esm-resolve": "^1.0.8", "hash-sum": "^2.0.0", "lru-cache": "^8.0.3", "pug": "^3.0.2", @@ -14481,9 +14604,9 @@ "integrity": "sha512-s5TFh3s3h3Mhd3jaz3zGzkVHKHnc/0C/gNr30olO99+yw2hl3WBhK3ng3/f9OF+qkW4+l7GkmwfAzDAcY3lCFg==" }, "node_modules/vue-router": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.3.0.tgz", - "integrity": "sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.4.0.tgz", + "integrity": "sha512-HB+t2p611aIZraV2aPSRNXf0Z/oLZFrlygJm+sZbdJaW6lcFqEDQwnzUBXn+DApw+/QzDU/I9TeWx9izEjTmsA==", "dependencies": { "@vue/devtools-api": "^6.5.1" }, @@ -14505,13 +14628,13 @@ } }, "node_modules/vue-tsc": { - "version": "1.8.27", - "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.8.27.tgz", - "integrity": "sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==", + "version": "2.0.22", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-2.0.22.tgz", + "integrity": "sha512-lMBIwPBO0sxCcmvu45yt1b035AaQ8/XSXQDk8m75y4j0jSXY/y/XzfEtssQ9JMS47lDaR10O3/926oCs8OeGUw==", "dev": true, "dependencies": { - "@volar/typescript": "~1.11.1", - "@vue/language-core": "1.8.27", + "@volar/typescript": "~2.3.1", + "@vue/language-core": "2.0.22", "semver": "^7.5.4" }, "bin": { @@ -14521,26 +14644,11 @@ "typescript": "*" } }, - "node_modules/vue-tsc/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/vue-tsc/node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", + "version": "7.6.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", + "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -14548,12 +14656,6 @@ "node": ">=10" } }, - "node_modules/vue-tsc/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/vuedraggable": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/vuedraggable/-/vuedraggable-4.1.0.tgz", @@ -14565,19 +14667,10 @@ "vue": "^3.0.1" } }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, - "dependencies": { - "makeerror": "1.0.12" - } - }, "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", + "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", "dev": true, "dependencies": { "glob-to-regexp": "^0.4.1", @@ -14619,42 +14712,9 @@ } }, "node_modules/webpack-virtual-modules": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.1.tgz", - "integrity": "sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==" - }, - "node_modules/whatwg-encoding": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", - "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", - "dev": true, - "dependencies": { - "iconv-lite": "0.6.3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/whatwg-encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/whatwg-mimetype": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", - "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", - "dev": true, - "engines": { - "node": ">=12" - } + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz", + "integrity": "sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ==" }, "node_modules/whatwg-url": { "version": "5.0.0", @@ -14704,31 +14764,34 @@ } }, "node_modules/which-collection": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", + "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", "dev": true, "dependencies": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" + "is-map": "^2.0.3", + "is-set": "^2.0.3", + "is-weakmap": "^2.0.2", + "is-weakset": "^2.0.3" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/which-typed-array": { - "version": "1.1.14", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.14.tgz", - "integrity": "sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==", + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz", + "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==", "dev": true, "dependencies": { - "available-typed-arrays": "^1.0.6", - "call-bind": "^1.0.5", + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", "for-each": "^0.3.3", "gopd": "^1.0.1", - "has-tostringtag": "^1.0.1" + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -14759,37 +14822,38 @@ "dev": true }, "node_modules/workbox-background-sync": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-7.0.0.tgz", - "integrity": "sha512-S+m1+84gjdueM+jIKZ+I0Lx0BDHkk5Nu6a3kTVxP4fdj3gKouRNmhO8H290ybnJTOPfBDtTMXSQA/QLTvr7PeA==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-7.1.0.tgz", + "integrity": "sha512-rMbgrzueVWDFcEq1610YyDW71z0oAXLfdRHRQcKw4SGihkfOK0JUEvqWHFwA6rJ+6TClnMIn7KQI5PNN1XQXwQ==", "dev": true, "dependencies": { "idb": "^7.0.1", - "workbox-core": "7.0.0" + "workbox-core": "7.1.0" } }, "node_modules/workbox-broadcast-update": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-7.0.0.tgz", - "integrity": "sha512-oUuh4jzZrLySOo0tC0WoKiSg90bVAcnE98uW7F8GFiSOXnhogfNDGZelPJa+6KpGBO5+Qelv04Hqx2UD+BJqNQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-7.1.0.tgz", + "integrity": "sha512-O36hIfhjej/c5ar95pO67k1GQw0/bw5tKP7CERNgK+JdxBANQhDmIuOXZTNvwb2IHBx9hj2kxvcDyRIh5nzOgQ==", "dev": true, "dependencies": { - "workbox-core": "7.0.0" + "workbox-core": "7.1.0" } }, "node_modules/workbox-build": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-7.0.0.tgz", - "integrity": "sha512-CttE7WCYW9sZC+nUYhQg3WzzGPr4IHmrPnjKiu3AMXsiNQKx+l4hHl63WTrnicLmKEKHScWDH8xsGBdrYgtBzg==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-7.1.1.tgz", + "integrity": "sha512-WdkVdC70VMpf5NBCtNbiwdSZeKVuhTEd5PV3mAwpTQCGAB5XbOny1P9egEgNdetv4srAMmMKjvBk4RD58LpooA==", "dev": true, "dependencies": { "@apideck/better-ajv-errors": "^0.3.1", - "@babel/core": "^7.11.1", + "@babel/core": "^7.24.4", "@babel/preset-env": "^7.11.0", "@babel/runtime": "^7.11.2", "@rollup/plugin-babel": "^5.2.0", - "@rollup/plugin-node-resolve": "^11.2.1", + "@rollup/plugin-node-resolve": "^15.2.3", "@rollup/plugin-replace": "^2.4.1", + "@rollup/plugin-terser": "^0.4.3", "@surma/rollup-plugin-off-main-thread": "^2.2.3", "ajv": "^8.6.0", "common-tags": "^1.8.0", @@ -14799,27 +14863,26 @@ "lodash": "^4.17.20", "pretty-bytes": "^5.3.0", "rollup": "^2.43.1", - "rollup-plugin-terser": "^7.0.0", "source-map": "^0.8.0-beta.0", "stringify-object": "^3.3.0", "strip-comments": "^2.0.1", "tempy": "^0.6.0", "upath": "^1.2.0", - "workbox-background-sync": "7.0.0", - "workbox-broadcast-update": "7.0.0", - "workbox-cacheable-response": "7.0.0", - "workbox-core": "7.0.0", - "workbox-expiration": "7.0.0", - "workbox-google-analytics": "7.0.0", - "workbox-navigation-preload": "7.0.0", - "workbox-precaching": "7.0.0", - "workbox-range-requests": "7.0.0", - "workbox-recipes": "7.0.0", - "workbox-routing": "7.0.0", - "workbox-strategies": "7.0.0", - "workbox-streams": "7.0.0", - "workbox-sw": "7.0.0", - "workbox-window": "7.0.0" + "workbox-background-sync": "7.1.0", + "workbox-broadcast-update": "7.1.0", + "workbox-cacheable-response": "7.1.0", + "workbox-core": "7.1.0", + "workbox-expiration": "7.1.0", + "workbox-google-analytics": "7.1.0", + "workbox-navigation-preload": "7.1.0", + "workbox-precaching": "7.1.0", + "workbox-range-requests": "7.1.0", + "workbox-recipes": "7.1.0", + "workbox-routing": "7.1.0", + "workbox-strategies": "7.1.0", + "workbox-streams": "7.1.0", + "workbox-sw": "7.1.0", + "workbox-window": "7.1.0" }, "engines": { "node": ">=16.0.0" @@ -14848,26 +14911,6 @@ } } }, - "node_modules/workbox-build/node_modules/@rollup/plugin-node-resolve": { - "version": "11.2.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", - "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", - "dev": true, - "dependencies": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.19.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0" - } - }, "node_modules/workbox-build/node_modules/@rollup/plugin-replace": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", @@ -14914,6 +14957,15 @@ "concat-map": "0.0.1" } }, + "node_modules/workbox-build/node_modules/crypto-random-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-2.0.0.tgz", + "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/workbox-build/node_modules/estree-walker": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", @@ -14939,6 +14991,7 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, "dependencies": { "fs.realpath": "^1.0.0", @@ -14955,20 +15008,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/workbox-build/node_modules/jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", - "dev": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, "node_modules/workbox-build/node_modules/magic-string": { "version": "0.25.9", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", @@ -15017,22 +15056,6 @@ "fsevents": "~2.3.2" } }, - "node_modules/workbox-build/node_modules/rollup-plugin-terser": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", - "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", - "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.10.4", - "jest-worker": "^26.2.1", - "serialize-javascript": "^4.0.0", - "terser": "^5.0.0" - }, - "peerDependencies": { - "rollup": "^2.0.0" - } - }, "node_modules/workbox-build/node_modules/source-map": { "version": "0.8.0-beta.0", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", @@ -15045,6 +15068,15 @@ "node": ">= 8" } }, + "node_modules/workbox-build/node_modules/temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/workbox-build/node_modules/tempy": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", @@ -15084,6 +15116,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/workbox-build/node_modules/unique-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unique-string/-/unique-string-2.0.0.tgz", + "integrity": "sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==", + "dev": true, + "dependencies": { + "crypto-random-string": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/workbox-build/node_modules/webidl-conversions": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", @@ -15102,128 +15146,127 @@ } }, "node_modules/workbox-cacheable-response": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-7.0.0.tgz", - "integrity": "sha512-0lrtyGHn/LH8kKAJVOQfSu3/80WDc9Ma8ng0p2i/5HuUndGttH+mGMSvOskjOdFImLs2XZIimErp7tSOPmu/6g==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-7.1.0.tgz", + "integrity": "sha512-iwsLBll8Hvua3xCuBB9h92+/e0wdsmSVgR2ZlvcfjepZWwhd3osumQB3x9o7flj+FehtWM2VHbZn8UJeBXXo6Q==", "dev": true, "dependencies": { - "workbox-core": "7.0.0" + "workbox-core": "7.1.0" } }, "node_modules/workbox-core": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-7.0.0.tgz", - "integrity": "sha512-81JkAAZtfVP8darBpfRTovHg8DGAVrKFgHpOArZbdFd78VqHr5Iw65f2guwjE2NlCFbPFDoez3D3/6ZvhI/rwQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-7.1.0.tgz", + "integrity": "sha512-5KB4KOY8rtL31nEF7BfvU7FMzKT4B5TkbYa2tzkS+Peqj0gayMT9SytSFtNzlrvMaWgv6y/yvP9C0IbpFjV30Q==", "dev": true }, "node_modules/workbox-expiration": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-7.0.0.tgz", - "integrity": "sha512-MLK+fogW+pC3IWU9SFE+FRStvDVutwJMR5if1g7oBJx3qwmO69BNoJQVaMXq41R0gg3MzxVfwOGKx3i9P6sOLQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-7.1.0.tgz", + "integrity": "sha512-m5DcMY+A63rJlPTbbBNtpJ20i3enkyOtSgYfv/l8h+D6YbbNiA0zKEkCUaMsdDlxggla1oOfRkyqTvl5Ni5KQQ==", "dev": true, "dependencies": { "idb": "^7.0.1", - "workbox-core": "7.0.0" + "workbox-core": "7.1.0" } }, "node_modules/workbox-google-analytics": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-7.0.0.tgz", - "integrity": "sha512-MEYM1JTn/qiC3DbpvP2BVhyIH+dV/5BjHk756u9VbwuAhu0QHyKscTnisQuz21lfRpOwiS9z4XdqeVAKol0bzg==", - "deprecated": "It is not compatible with newer versions of GA starting with v4, as long as you are using GAv3 it should be ok, but the package is not longer being maintained", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-7.1.0.tgz", + "integrity": "sha512-FvE53kBQHfVTcZyczeBVRexhh7JTkyQ8HAvbVY6mXd2n2A7Oyz/9fIwnY406ZcDhvE4NFfKGjW56N4gBiqkrew==", "dev": true, "dependencies": { - "workbox-background-sync": "7.0.0", - "workbox-core": "7.0.0", - "workbox-routing": "7.0.0", - "workbox-strategies": "7.0.0" + "workbox-background-sync": "7.1.0", + "workbox-core": "7.1.0", + "workbox-routing": "7.1.0", + "workbox-strategies": "7.1.0" } }, "node_modules/workbox-navigation-preload": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-7.0.0.tgz", - "integrity": "sha512-juWCSrxo/fiMz3RsvDspeSLGmbgC0U9tKqcUPZBCf35s64wlaLXyn2KdHHXVQrb2cqF7I0Hc9siQalainmnXJA==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-7.1.0.tgz", + "integrity": "sha512-4wyAbo0vNI/X0uWNJhCMKxnPanNyhybsReMGN9QUpaePLTiDpKxPqFxl4oUmBNddPwIXug01eTSLVIFXimRG/A==", "dev": true, "dependencies": { - "workbox-core": "7.0.0" + "workbox-core": "7.1.0" } }, "node_modules/workbox-precaching": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-7.0.0.tgz", - "integrity": "sha512-EC0vol623LJqTJo1mkhD9DZmMP604vHqni3EohhQVwhJlTgyKyOkMrZNy5/QHfOby+39xqC01gv4LjOm4HSfnA==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-7.1.0.tgz", + "integrity": "sha512-LyxzQts+UEpgtmfnolo0hHdNjoB7EoRWcF7EDslt+lQGd0lW4iTvvSe3v5JiIckQSB5KTW5xiCqjFviRKPj1zA==", "dev": true, "dependencies": { - "workbox-core": "7.0.0", - "workbox-routing": "7.0.0", - "workbox-strategies": "7.0.0" + "workbox-core": "7.1.0", + "workbox-routing": "7.1.0", + "workbox-strategies": "7.1.0" } }, "node_modules/workbox-range-requests": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-7.0.0.tgz", - "integrity": "sha512-SxAzoVl9j/zRU9OT5+IQs7pbJBOUOlriB8Gn9YMvi38BNZRbM+RvkujHMo8FOe9IWrqqwYgDFBfv6sk76I1yaQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-7.1.0.tgz", + "integrity": "sha512-m7+O4EHolNs5yb/79CrnwPR/g/PRzMFYEdo01LqwixVnc/sbzNSvKz0d04OE3aMRel1CwAAZQheRsqGDwATgPQ==", "dev": true, "dependencies": { - "workbox-core": "7.0.0" + "workbox-core": "7.1.0" } }, "node_modules/workbox-recipes": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-7.0.0.tgz", - "integrity": "sha512-DntcK9wuG3rYQOONWC0PejxYYIDHyWWZB/ueTbOUDQgefaeIj1kJ7pdP3LZV2lfrj8XXXBWt+JDRSw1lLLOnww==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-7.1.0.tgz", + "integrity": "sha512-NRrk4ycFN9BHXJB6WrKiRX3W3w75YNrNrzSX9cEZgFB5ubeGoO8s/SDmOYVrFYp9HMw6sh1Pm3eAY/1gVS8YLg==", "dev": true, "dependencies": { - "workbox-cacheable-response": "7.0.0", - "workbox-core": "7.0.0", - "workbox-expiration": "7.0.0", - "workbox-precaching": "7.0.0", - "workbox-routing": "7.0.0", - "workbox-strategies": "7.0.0" + "workbox-cacheable-response": "7.1.0", + "workbox-core": "7.1.0", + "workbox-expiration": "7.1.0", + "workbox-precaching": "7.1.0", + "workbox-routing": "7.1.0", + "workbox-strategies": "7.1.0" } }, "node_modules/workbox-routing": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-7.0.0.tgz", - "integrity": "sha512-8YxLr3xvqidnbVeGyRGkaV4YdlKkn5qZ1LfEePW3dq+ydE73hUUJJuLmGEykW3fMX8x8mNdL0XrWgotcuZjIvA==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-7.1.0.tgz", + "integrity": "sha512-oOYk+kLriUY2QyHkIilxUlVcFqwduLJB7oRZIENbqPGeBP/3TWHYNNdmGNhz1dvKuw7aqvJ7CQxn27/jprlTdg==", "dev": true, "dependencies": { - "workbox-core": "7.0.0" + "workbox-core": "7.1.0" } }, "node_modules/workbox-strategies": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-7.0.0.tgz", - "integrity": "sha512-dg3qJU7tR/Gcd/XXOOo7x9QoCI9nk74JopaJaYAQ+ugLi57gPsXycVdBnYbayVj34m6Y8ppPwIuecrzkpBVwbA==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-7.1.0.tgz", + "integrity": "sha512-/UracPiGhUNehGjRm/tLUQ+9PtWmCbRufWtV0tNrALuf+HZ4F7cmObSEK+E4/Bx1p8Syx2tM+pkIrvtyetdlew==", "dev": true, "dependencies": { - "workbox-core": "7.0.0" + "workbox-core": "7.1.0" } }, "node_modules/workbox-streams": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-7.0.0.tgz", - "integrity": "sha512-moVsh+5to//l6IERWceYKGiftc+prNnqOp2sgALJJFbnNVpTXzKISlTIsrWY+ogMqt+x1oMazIdHj25kBSq/HQ==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-7.1.0.tgz", + "integrity": "sha512-WyHAVxRXBMfysM8ORwiZnI98wvGWTVAq/lOyBjf00pXFvG0mNaVz4Ji+u+fKa/mf1i2SnTfikoYKto4ihHeS6w==", "dev": true, "dependencies": { - "workbox-core": "7.0.0", - "workbox-routing": "7.0.0" + "workbox-core": "7.1.0", + "workbox-routing": "7.1.0" } }, "node_modules/workbox-sw": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-7.0.0.tgz", - "integrity": "sha512-SWfEouQfjRiZ7GNABzHUKUyj8pCoe+RwjfOIajcx6J5mtgKkN+t8UToHnpaJL5UVVOf5YhJh+OHhbVNIHe+LVA==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-7.1.0.tgz", + "integrity": "sha512-Hml/9+/njUXBglv3dtZ9WBKHI235AQJyLBV1G7EFmh4/mUdSQuXui80RtjDeVRrXnm/6QWgRUEHG3/YBVbxtsA==", "dev": true }, "node_modules/workbox-window": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-7.0.0.tgz", - "integrity": "sha512-j7P/bsAWE/a7sxqTzXo3P2ALb1reTfZdvVp6OJ/uLr/C2kZAMvjeWGm8V4htQhor7DOvYg0sSbFN2+flT5U0qA==", + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-7.1.0.tgz", + "integrity": "sha512-ZHeROyqR+AS5UPzholQRDttLFqGMwP0Np8MKWAdyxsDETxq3qOAyXvqessc3GniohG6e0mAqSQyKOHmT8zPF7g==", "dev": true, "dependencies": { "@types/trusted-types": "^2.0.2", - "workbox-core": "7.0.0" + "workbox-core": "7.1.0" } }, "node_modules/wrap-ansi": { @@ -15261,6 +15304,21 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -15315,22 +15373,20 @@ "dev": true }, "node_modules/write-file-atomic": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", - "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", "dev": true, "dependencies": { + "graceful-fs": "^4.1.11", "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.7" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "signal-exit": "^3.0.2" } }, "node_modules/ws": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", - "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", "dev": true, "engines": { "node": ">=10.0.0" @@ -15364,22 +15420,15 @@ "dev": true }, "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "version": "2.4.5", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.4.5.tgz", + "integrity": "sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==", "dev": true, + "bin": { + "yaml": "bin.mjs" + }, "engines": { - "node": ">= 6" - } - }, - "node_modules/yauzl": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", - "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", - "dev": true, - "dependencies": { - "buffer-crc32": "~0.2.3", - "fd-slicer": "~1.1.0" + "node": ">= 14" } }, "node_modules/yocto-queue": { diff --git a/src/ui/package.json b/src/ui/package.json index f4593be63..4fbb6853c 100644 --- a/src/ui/package.json +++ b/src/ui/package.json @@ -1,6 +1,7 @@ { "name": "reaudioplayer.one", - "version": "0.11.49", + "version": "1.1.0", + "type": "module", "scripts": { "dev": "vite", "preview": "vite preview --port 8080", @@ -18,42 +19,41 @@ "fast-average-color": "^9.3.0", "google-translate-api-browser": "^4.2.0", "hashids": "2.2.10", - "pinia": "^2.0.23", - "typescript": "^4.8.4", + "pinia": "^2.1.7", + "typescript": "^5.4.5", "unplugin-vue-markdown": "^0.25.2", "v-contextmenu": "3.0.0", - "vue": "^3.3.6", + "vue": "^3.4.27", "vue-observe-visibility": "1.0.0", - "vue-router": "^4.2.5", + "vue-router": "^4.3.2", "vuedraggable": "^4.1.0", "wavesurfer.js": "^6.4.0" }, "devDependencies": { - "@storybook/addon-essentials": "^7.0.18", - "@storybook/addon-interactions": "^7.0.18", - "@storybook/addon-links": "^7.0.18", - "@storybook/blocks": "^7.0.18", + "@storybook/addon-essentials": "^8.1.10", + "@storybook/addon-interactions": "^8.1.10", + "@storybook/addon-links": "^8.1.10", + "@storybook/blocks": "^8.1.10", "@storybook/testing-library": "^0.0.14-next.2", - "@storybook/vue3": "^7.0.18", - "@storybook/vue3-vite": "^7.0.18", + "@storybook/vue3": "^8.1.10", + "@storybook/vue3-vite": "^8.1.10", "@types/wavesurfer.js": "^6.0.3", "@vitejs/plugin-vue": "4.6.2", "autoprefixer": "10.4.12", "buffer": "6.0.3", "markdown-it": "^13.0.2", "npm-run-all": "^4.1.5", - "postcss": ">=8.4.31", + "postcss": "^8.4.38", "prettier": "2.8.3", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "sass": "1.55.0", - "storybook": "^7.0.18", - "tailwindcss": "3.1.8", - "vite": "^4.5.2", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "sass": "^1.77.6", + "storybook": "^8.1.10", + "tailwindcss": "3.4.4", + "vite": "^5.2.13", "vite-plugin-compression": "0.5.1", - "vite-plugin-md": "^0.21.5", - "vite-plugin-pwa": "^0.16.5", + "vite-plugin-pwa": "^0.20.0", "vite-svg-loader": "3.6.0", - "vue-tsc": "^1.6.4" + "vue-tsc": "^2.0.21" } } diff --git a/src/ui/postcss.config.js b/src/ui/postcss.config.js index f1c8dac8d..cb9b0aaa5 100644 --- a/src/ui/postcss.config.js +++ b/src/ui/postcss.config.js @@ -1,4 +1,4 @@ -module.exports = { +export default { plugins: { tailwindcss: {}, autoprefixer: {}, diff --git a/src/ui/src/App.vue b/src/ui/src/App.vue index 5ebdd5562..be1190692 100644 --- a/src/ui/src/App.vue +++ b/src/ui/src/App.vue @@ -84,6 +84,7 @@ onMounted(() => {
+
@@ -213,7 +214,7 @@ export default { diff --git a/src/ui/src/components/inputs/TextInputWithIcon.vue b/src/ui/src/components/inputs/TextInputWithIcon.vue index 8cdf7174a..356ef5b65 100644 --- a/src/ui/src/components/inputs/TextInputWithIcon.vue +++ b/src/ui/src/components/inputs/TextInputWithIcon.vue @@ -5,41 +5,65 @@ @@ -118,6 +143,13 @@ defineExpose({ input { color: var(--fg-base); } + + .label-placeholder { + top: 0; + transform: translateY(0); + font-size: 0.75rem; + font-weight: 100; + } } &.expanded { @@ -125,6 +157,23 @@ defineExpose({ } } +.label-placeholder { + color: var(--fg-base-lt); + transition: all 0.2s; + position: absolute; + top: 50%; + left: 10px; + transform: translateY(-50%); + pointer-events: none; + + &.atTop { + top: 0; + transform: translateY(0); + font-size: 0.75rem; + font-weight: 100; + } +} + input[type="text"], input[type="number"] { background: none !important; @@ -139,7 +188,7 @@ input[type="password"] { border-radius: 5px; color: var(--font-colour); padding: 10px; - width: auto; + width: 100%; flex-grow: 1; font-family: var(--font-family); @@ -152,4 +201,9 @@ input[type="password"] { border: 1px solid var(--font-colour); } } + +.text-input-with-icon:has(.label-placeholder) input { + padding-bottom: 5px; + margin-top: 10px; +} diff --git a/src/ui/src/components/notifications/ClosableNotification.vue b/src/ui/src/components/notifications/ClosableNotification.vue index 8975a39aa..74a231c60 100644 --- a/src/ui/src/components/notifications/ClosableNotification.vue +++ b/src/ui/src/components/notifications/ClosableNotification.vue @@ -7,6 +7,7 @@ import { PropType } from "vue"; import type { INotification } from "./createNotification"; import Card from "../../containers/Card.vue"; +import { useRouter } from "vue-router"; const props = defineProps({ notification: { @@ -16,14 +17,33 @@ const props = defineProps({ }); const emit = defineEmits(["remove"]); +const router = useRouter(); const remove = (id: string) => { emit("remove", id); }; + +const click = () => { + emit("remove", props.notification.id); + if (props.notification.onClick) { + props.notification.onClick(); + } + console.log(props.notification.redirect); + if (props.notification.redirect) { + router.push(props.notification.redirect); + } +};