ambient-display 1.1.13 → 1.1.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/client/_app/immutable/chunks/B-DtXKX3.js +3 -0
- package/build/client/_app/immutable/chunks/B-DtXKX3.js.br +0 -0
- package/build/client/_app/immutable/chunks/B-DtXKX3.js.gz +0 -0
- package/build/client/_app/immutable/entry/{app.BqIwniV2.js → app.Dw9QiwYt.js} +2 -2
- package/build/client/_app/immutable/entry/app.Dw9QiwYt.js.br +0 -0
- package/build/client/_app/immutable/entry/app.Dw9QiwYt.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.C213Gs6Z.js +1 -0
- package/build/client/_app/immutable/entry/start.C213Gs6Z.js.br +2 -0
- package/build/client/_app/immutable/entry/start.C213Gs6Z.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.BZsTTCpd.js +2 -0
- package/build/client/_app/immutable/nodes/0.BZsTTCpd.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.BZsTTCpd.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.CGEOGhQ6.js → 1.ENhX25AD.js} +1 -1
- package/build/client/_app/immutable/nodes/1.ENhX25AD.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.ENhX25AD.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +0 -0
- package/build/client/_app/version.json.gz +0 -0
- package/build/server/chunks/{0-Byw92AzS.js → 0-CPnhpTjC.js} +2 -2
- package/build/server/chunks/{0-Byw92AzS.js.map → 0-CPnhpTjC.js.map} +1 -1
- package/build/server/chunks/{1-BAnl2We4.js → 1-75N2Qxv9.js} +2 -2
- package/build/server/chunks/{1-BAnl2We4.js.map → 1-75N2Qxv9.js.map} +1 -1
- package/build/server/index.js +1 -1
- package/build/server/index.js.map +1 -1
- package/build/server/manifest.js +3 -3
- package/build/server/manifest.js.map +1 -1
- package/package.json +1 -1
- package/server/spotify/auth.js +26 -20
- package/server/spotify/index.js +5 -3
- package/server/spotify/sdk.js +21 -5
- package/build/client/_app/immutable/chunks/jqhKT5WL.js +0 -3
- package/build/client/_app/immutable/chunks/jqhKT5WL.js.br +0 -0
- package/build/client/_app/immutable/chunks/jqhKT5WL.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.BqIwniV2.js.br +0 -0
- package/build/client/_app/immutable/entry/app.BqIwniV2.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.DdZVr3Jo.js +0 -1
- package/build/client/_app/immutable/entry/start.DdZVr3Jo.js.br +0 -2
- package/build/client/_app/immutable/entry/start.DdZVr3Jo.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.BvW6GQpn.js +0 -2
- package/build/client/_app/immutable/nodes/0.BvW6GQpn.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.BvW6GQpn.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.CGEOGhQ6.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.CGEOGhQ6.js.gz +0 -0
package/build/server/manifest.js
CHANGED
|
@@ -10,10 +10,10 @@ return {
|
|
|
10
10
|
assets: new Set(["favicon.ico","favicon.png","icons/144.favicon.png","icons/168.favicon.png","icons/192.favicon.png","icons/48.favicon.png","icons/72.favicon.png","icons/96.favicon.png","manifest.json"]),
|
|
11
11
|
mimeTypes: {".png":"image/png",".json":"application/json"},
|
|
12
12
|
_: {
|
|
13
|
-
client: {start:"_app/immutable/entry/start.
|
|
13
|
+
client: {start:"_app/immutable/entry/start.C213Gs6Z.js",app:"_app/immutable/entry/app.Dw9QiwYt.js",imports:["_app/immutable/entry/start.C213Gs6Z.js","_app/immutable/chunks/B-DtXKX3.js","_app/immutable/chunks/CDVeMiAl.js","_app/immutable/chunks/ynvIH2CR.js","_app/immutable/entry/app.Dw9QiwYt.js","_app/immutable/chunks/CDVeMiAl.js","_app/immutable/chunks/qSIFE6bv.js","_app/immutable/chunks/CvUX3i4L.js","_app/immutable/chunks/DnG2xkSB.js","_app/immutable/chunks/ynvIH2CR.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},
|
|
14
14
|
nodes: [
|
|
15
|
-
__memo(() => import('./chunks/0-
|
|
16
|
-
__memo(() => import('./chunks/1-
|
|
15
|
+
__memo(() => import('./chunks/0-CPnhpTjC.js')),
|
|
16
|
+
__memo(() => import('./chunks/1-75N2Qxv9.js')),
|
|
17
17
|
__memo(() => import('./chunks/2-B3ii1avX.js')),
|
|
18
18
|
__memo(() => import('./chunks/3-Cz5Rp48l.js'))
|
|
19
19
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sources":["../../.svelte-kit/adapter-node/manifest.js"],"sourcesContent":["export const manifest = (() => {\nfunction __memo(fn) {\n\tlet value;\n\treturn () => value ??= (value = fn());\n}\n\nreturn {\n\tappDir: \"_app\",\n\tappPath: \"_app\",\n\tassets: new Set([\"favicon.ico\",\"favicon.png\",\"icons/144.favicon.png\",\"icons/168.favicon.png\",\"icons/192.favicon.png\",\"icons/48.favicon.png\",\"icons/72.favicon.png\",\"icons/96.favicon.png\",\"manifest.json\"]),\n\tmimeTypes: {\".png\":\"image/png\",\".json\":\"application/json\"},\n\t_: {\n\t\tclient: {start:\"_app/immutable/entry/start.
|
|
1
|
+
{"version":3,"file":"manifest.js","sources":["../../.svelte-kit/adapter-node/manifest.js"],"sourcesContent":["export const manifest = (() => {\nfunction __memo(fn) {\n\tlet value;\n\treturn () => value ??= (value = fn());\n}\n\nreturn {\n\tappDir: \"_app\",\n\tappPath: \"_app\",\n\tassets: new Set([\"favicon.ico\",\"favicon.png\",\"icons/144.favicon.png\",\"icons/168.favicon.png\",\"icons/192.favicon.png\",\"icons/48.favicon.png\",\"icons/72.favicon.png\",\"icons/96.favicon.png\",\"manifest.json\"]),\n\tmimeTypes: {\".png\":\"image/png\",\".json\":\"application/json\"},\n\t_: {\n\t\tclient: {start:\"_app/immutable/entry/start.C213Gs6Z.js\",app:\"_app/immutable/entry/app.Dw9QiwYt.js\",imports:[\"_app/immutable/entry/start.C213Gs6Z.js\",\"_app/immutable/chunks/B-DtXKX3.js\",\"_app/immutable/chunks/CDVeMiAl.js\",\"_app/immutable/chunks/ynvIH2CR.js\",\"_app/immutable/entry/app.Dw9QiwYt.js\",\"_app/immutable/chunks/CDVeMiAl.js\",\"_app/immutable/chunks/qSIFE6bv.js\",\"_app/immutable/chunks/CvUX3i4L.js\",\"_app/immutable/chunks/DnG2xkSB.js\",\"_app/immutable/chunks/ynvIH2CR.js\"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},\n\t\tnodes: [\n\t\t\t__memo(() => import('./nodes/0.js')),\n\t\t\t__memo(() => import('./nodes/1.js')),\n\t\t\t__memo(() => import('./nodes/2.js')),\n\t\t\t__memo(() => import('./nodes/3.js'))\n\t\t],\n\t\troutes: [\n\t\t\t{\n\t\t\t\tid: \"/\",\n\t\t\t\tpattern: /^\\/$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 2 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/player\",\n\t\t\t\tpattern: /^\\/player\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 3 },\n\t\t\t\tendpoint: null\n\t\t\t}\n\t\t],\n\t\tprerendered_routes: new Set([]),\n\t\tmatchers: async () => {\n\t\t\t\n\t\t\treturn { };\n\t\t},\n\t\tserver_assets: {}\n\t}\n}\n})();\n\nexport const prerendered = new Set([]);\n\nexport const base = \"\";"],"names":[],"mappings":"AAAY,MAAC,QAAQ,GAAG,CAAC,MAAM;AAC/B,SAAS,MAAM,CAAC,EAAE,EAAE;AACpB,CAAC,IAAI,KAAK;AACV,CAAC,OAAO,MAAM,KAAK,MAAM,KAAK,GAAG,EAAE,EAAE,CAAC;AACtC;;AAEA,OAAO;AACP,CAAC,MAAM,EAAE,MAAM;AACf,CAAC,OAAO,EAAE,MAAM;AAChB,CAAC,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,aAAa,CAAC,aAAa,CAAC,uBAAuB,CAAC,uBAAuB,CAAC,uBAAuB,CAAC,sBAAsB,CAAC,sBAAsB,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC;AAC5M,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,kBAAkB,CAAC;AAC3D,CAAC,CAAC,EAAE;AACJ,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,wCAAwC,CAAC,GAAG,CAAC,sCAAsC,CAAC,OAAO,CAAC,CAAC,wCAAwC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,sCAAsC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAAC,KAAK,CAAC;AACrhB,EAAE,KAAK,EAAE;AACT,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC;AACtC,GAAG;AACH,EAAE,MAAM,EAAE;AACV,GAAG;AACH,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AAClD,IAAI,QAAQ,EAAE;AACd,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,SAAS;AACjB,IAAI,OAAO,EAAE,eAAe;AAC5B,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AAClD,IAAI,QAAQ,EAAE;AACd;AACA,GAAG;AACH,EAAE,kBAAkB,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;AACjC,EAAE,QAAQ,EAAE,YAAY;AACxB;AACA,GAAG,OAAO,IAAI;AACd,GAAG;AACH,EAAE,aAAa,EAAE;AACjB;AACA;AACA,CAAC;;AAEW,MAAC,WAAW,GAAG,IAAI,GAAG,CAAC,EAAE;;AAEzB,MAAC,IAAI,GAAG;;;;"}
|
package/package.json
CHANGED
package/server/spotify/auth.js
CHANGED
|
@@ -54,6 +54,30 @@ export const SpotifyAuth = {
|
|
|
54
54
|
}
|
|
55
55
|
};
|
|
56
56
|
|
|
57
|
+
export const refreshAuth = async (client_id, client_secret, previous) => {
|
|
58
|
+
const { error, ...token } = await SpotifyAuth.token.refresh(
|
|
59
|
+
client_id,
|
|
60
|
+
client_secret,
|
|
61
|
+
previous.refresh_token,
|
|
62
|
+
previous.access_token
|
|
63
|
+
);
|
|
64
|
+
|
|
65
|
+
if (error) {
|
|
66
|
+
// This is a shot in the dark, but this was throwing sometimes in quick success of accessing, so wondered if its a rate limit thing
|
|
67
|
+
if (error === 'invalid_request') {
|
|
68
|
+
return previous;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
throw new Error('Invalid token');
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// Intialise the return with the refresh token, in case it didn't come in the refreshed call. Will get overwritten if it did
|
|
75
|
+
return {
|
|
76
|
+
refresh_token: previous.refresh_token,
|
|
77
|
+
...token
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
|
|
57
81
|
/**
|
|
58
82
|
*
|
|
59
83
|
* @param {OptionsTypes.SpotifyOptions} options
|
|
@@ -71,27 +95,9 @@ export async function initialisePreviousAuth({
|
|
|
71
95
|
// Parse the object to utilise it
|
|
72
96
|
const previous = JSON.parse(previousAuth);
|
|
73
97
|
|
|
74
|
-
const
|
|
75
|
-
client_id,
|
|
76
|
-
client_secret,
|
|
77
|
-
previous.refresh_token,
|
|
78
|
-
previous.access_token
|
|
79
|
-
);
|
|
80
|
-
|
|
81
|
-
if (error) {
|
|
82
|
-
// This is a shot in the dark, but this was throwing sometimes in quick success of accessing, so wondered if its a rate limit thing
|
|
83
|
-
if (error === 'invalid_request') {
|
|
84
|
-
return previous;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
throw new Error('Invalid token');
|
|
88
|
-
}
|
|
98
|
+
const token = await refreshAuth(client_id, client_secret, previous);
|
|
89
99
|
|
|
90
|
-
|
|
91
|
-
return {
|
|
92
|
-
refresh_token: previous.refresh_token,
|
|
93
|
-
...token
|
|
94
|
-
};
|
|
100
|
+
return token;
|
|
95
101
|
} catch {
|
|
96
102
|
return false;
|
|
97
103
|
}
|
package/server/spotify/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import { Router } from 'express';
|
|
|
3
3
|
import { ERROR } from '../constants.js';
|
|
4
4
|
import { events } from '../events.js';
|
|
5
5
|
import { initialisePreviousAuth, SpotifyAuth } from './auth.js';
|
|
6
|
-
import { persistSdk } from './sdk.js';
|
|
6
|
+
import { initiateSdk, persistSdk } from './sdk.js';
|
|
7
7
|
import { catchAndRetry } from '../utils.js';
|
|
8
8
|
|
|
9
9
|
// These scoped items are fixed and necessary for the app to run
|
|
@@ -24,7 +24,8 @@ const run = async (sdk, options) => {
|
|
|
24
24
|
|
|
25
25
|
// If there is, initialise it while also persisting the auth
|
|
26
26
|
if (refreshedAuth) {
|
|
27
|
-
|
|
27
|
+
await persistSdk(refreshedAuth, options);
|
|
28
|
+
sdk.current = initiateSdk(refreshedAuth, options);
|
|
28
29
|
}
|
|
29
30
|
|
|
30
31
|
// Initalise a sub router
|
|
@@ -92,7 +93,8 @@ const run = async (sdk, options) => {
|
|
|
92
93
|
);
|
|
93
94
|
});
|
|
94
95
|
|
|
95
|
-
|
|
96
|
+
await persistSdk(accessTokenJson, options);
|
|
97
|
+
sdk.current = initiateSdk(accessTokenJson, options);
|
|
96
98
|
|
|
97
99
|
events.system('authenticated');
|
|
98
100
|
|
package/server/spotify/sdk.js
CHANGED
|
@@ -5,7 +5,7 @@ import { events } from '../events.js';
|
|
|
5
5
|
import { log } from '../logs.js';
|
|
6
6
|
import * as Types from '../types/index.js';
|
|
7
7
|
import * as OptionTypes from '../types/options.js';
|
|
8
|
-
import { SpotifyAuth } from './auth.js';
|
|
8
|
+
import { refreshAuth, SpotifyAuth } from './auth.js';
|
|
9
9
|
import { ERROR } from '../constants.js';
|
|
10
10
|
import path from 'node:path';
|
|
11
11
|
import { expandAliases, __dirname } from '../utils.js';
|
|
@@ -99,7 +99,7 @@ const safeBody = async (resp) => {
|
|
|
99
99
|
*/
|
|
100
100
|
export async function persistSdk(
|
|
101
101
|
accessTokenData,
|
|
102
|
-
{ spotify: {
|
|
102
|
+
{ spotify: { accessTokenJsonLocation }, verbose }
|
|
103
103
|
) {
|
|
104
104
|
const p = path.resolve(expandAliases(accessTokenJsonLocation));
|
|
105
105
|
|
|
@@ -131,11 +131,27 @@ export async function persistSdk(
|
|
|
131
131
|
|
|
132
132
|
// Persist the access token data to disk
|
|
133
133
|
await fs.writeFile(p, JSON.stringify(accessTokenData), 'utf-8');
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
*
|
|
138
|
+
* @param {Types.SpotifyAccessToken} accessTokenData
|
|
139
|
+
* @param {OptionTypes.SpotifyAmbientDisplayOptions} opts
|
|
140
|
+
* @returns
|
|
141
|
+
*/
|
|
142
|
+
export function initiateSdk(accessTokenData, opts) {
|
|
143
|
+
const {
|
|
144
|
+
spotify: { client_id, client_secret }
|
|
145
|
+
} = opts;
|
|
134
146
|
|
|
135
147
|
return new SpotifyApi(
|
|
136
|
-
new FixedAccessTokenStrategy(client_id, accessTokenData, (_client_id, token) =>
|
|
137
|
-
|
|
138
|
-
|
|
148
|
+
new FixedAccessTokenStrategy(client_id, accessTokenData, async (_client_id, token) => {
|
|
149
|
+
const refreshedToken = await refreshAuth(client_id, client_secret, token);
|
|
150
|
+
|
|
151
|
+
await persistSdk(refreshedToken, opts);
|
|
152
|
+
|
|
153
|
+
return refreshedToken;
|
|
154
|
+
}),
|
|
139
155
|
{
|
|
140
156
|
deserializer: {
|
|
141
157
|
async deserialize(response) {
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
var Yt=t=>{throw TypeError(t)};var Pe=(t,e,n)=>e.has(t)||Yt("Cannot "+n);var A=(t,e,n)=>(Pe(t,e,"read from private field"),n?n.call(t):e.get(t)),P=(t,e,n)=>e.has(t)?Yt("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n);import{aT as Ct,J as C,o as O,I as N,ag as Ce}from"./CDVeMiAl.js";import{o as Jt}from"./ynvIH2CR.js";new URL("sveltekit-internal://");function Oe(t,e){return t==="/"||e==="ignore"?t:e==="never"?t.endsWith("/")?t.slice(0,-1):t:e==="always"&&!t.endsWith("/")?t+"/":t}function Ne(t){return t.split("%25").map(decodeURI).join("%25")}function je(t){for(const e in t)t[e]=decodeURIComponent(t[e]);return t}function Rt({href:t}){return t.split("#")[0]}function $e(t,e,n,r=!1){const a=new URL(t);Object.defineProperty(a,"searchParams",{value:new Proxy(a.searchParams,{get(i,o){if(o==="get"||o==="getAll"||o==="has")return l=>(n(l),i[o](l));e();const c=Reflect.get(i,o);return typeof c=="function"?c.bind(i):c}}),enumerable:!0,configurable:!0});const s=["href","pathname","search","toString","toJSON"];r&&s.push("hash");for(const i of s)Object.defineProperty(a,i,{get(){return e(),t[i]},enumerable:!0,configurable:!0});return a}function De(...t){let e=5381;for(const n of t)if(typeof n=="string"){let r=n.length;for(;r;)e=e*33^n.charCodeAt(--r)}else if(ArrayBuffer.isView(n)){const r=new Uint8Array(n.buffer,n.byteOffset,n.byteLength);let a=r.length;for(;a;)e=e*33^r[--a]}else throw new TypeError("value must be a string or TypedArray");return(e>>>0).toString(36)}function Fe(t){const e=atob(t),n=new Uint8Array(e.length);for(let r=0;r<e.length;r++)n[r]=e.charCodeAt(r);return n.buffer}const Ve=window.fetch;window.fetch=(t,e)=>((t instanceof Request?t.method:(e==null?void 0:e.method)||"GET")!=="GET"&&W.delete(Ot(t)),Ve(t,e));const W=new Map;function Be(t,e){const n=Ot(t,e),r=document.querySelector(n);if(r!=null&&r.textContent){let{body:a,...s}=JSON.parse(r.textContent);const i=r.getAttribute("data-ttl");return i&&W.set(n,{body:a,init:s,ttl:1e3*Number(i)}),r.getAttribute("data-b64")!==null&&(a=Fe(a)),Promise.resolve(new Response(a,s))}return window.fetch(t,e)}function Ge(t,e,n){if(W.size>0){const r=Ot(t,n),a=W.get(r);if(a){if(performance.now()<a.ttl&&["default","force-cache","only-if-cached",void 0].includes(n==null?void 0:n.cache))return new Response(a.body,a.init);W.delete(r)}}return window.fetch(e,n)}function Ot(t,e){let r=`script[data-sveltekit-fetched][data-url=${JSON.stringify(t instanceof Request?t.url:t)}]`;if(e!=null&&e.headers||e!=null&&e.body){const a=[];e.headers&&a.push([...new Headers(e.headers)].join(",")),e.body&&(typeof e.body=="string"||ArrayBuffer.isView(e.body))&&a.push(e.body),r+=`[data-hash="${De(...a)}"]`}return r}const Me=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;function qe(t){const e=[];return{pattern:t==="/"?/^\/$/:new RegExp(`^${Ke(t).map(r=>{const a=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(r);if(a)return e.push({name:a[1],matcher:a[2],optional:!1,rest:!0,chained:!0}),"(?:/(.*))?";const s=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(r);if(s)return e.push({name:s[1],matcher:s[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!r)return;const i=r.split(/\[(.+?)\](?!\])/);return"/"+i.map((c,l)=>{if(l%2){if(c.startsWith("x+"))return It(String.fromCharCode(parseInt(c.slice(2),16)));if(c.startsWith("u+"))return It(String.fromCharCode(...c.slice(2).split("-").map(d=>parseInt(d,16))));const p=Me.exec(c),[,u,w,f,m]=p;return e.push({name:f,matcher:m,optional:!!u,rest:!!w,chained:w?l===1&&i[0]==="":!1}),w?"(.*?)":u?"([^/]*)?":"([^/]+?)"}return It(c)}).join("")}).join("")}/?$`),params:e}}function He(t){return!/^\([^)]+\)$/.test(t)}function Ke(t){return t.slice(1).split("/").filter(He)}function We(t,e,n){const r={},a=t.slice(1),s=a.filter(o=>o!==void 0);let i=0;for(let o=0;o<e.length;o+=1){const c=e[o];let l=a[o-i];if(c.chained&&c.rest&&i&&(l=a.slice(o-i,o+1).filter(p=>p).join("/"),i=0),l===void 0){c.rest&&(r[c.name]="");continue}if(!c.matcher||n[c.matcher](l)){r[c.name]=l;const p=e[o+1],u=a[o+1];p&&!p.rest&&p.optional&&u&&c.chained&&(i=0),!p&&!u&&Object.keys(r).length===s.length&&(i=0);continue}if(c.optional&&c.chained){i++;continue}return}if(!i)return r}function It(t){return t.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function Ye({nodes:t,server_loads:e,dictionary:n,matchers:r}){const a=new Set(e);return Object.entries(n).map(([o,[c,l,p]])=>{const{pattern:u,params:w}=qe(o),f={id:o,exec:m=>{const d=u.exec(m);if(d)return We(d,w,r)},errors:[1,...p||[]].map(m=>t[m]),layouts:[0,...l||[]].map(i),leaf:s(c)};return f.errors.length=f.layouts.length=Math.max(f.errors.length,f.layouts.length),f});function s(o){const c=o<0;return c&&(o=~o),[c,t[o]]}function i(o){return o===void 0?o:[a.has(o),t[o]]}}function fe(t,e=JSON.parse){try{return e(sessionStorage[t])}catch{}}function zt(t,e,n=JSON.stringify){const r=n(e);try{sessionStorage[t]=r}catch{}}var oe;const x=((oe=globalThis.__sveltekit_h937le)==null?void 0:oe.base)??"";var se;const Je=((se=globalThis.__sveltekit_h937le)==null?void 0:se.assets)??x,ze="1741270195149",ue="sveltekit:snapshot",he="sveltekit:scroll",de="sveltekit:states",Xe="sveltekit:pageurl",M="sveltekit:history",z="sveltekit:navigation",F={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},ft=location.origin;function pe(t){if(t instanceof URL)return t;let e=document.baseURI;if(!e){const n=document.getElementsByTagName("base");e=n.length?n[0].href:document.URL}return new URL(t,e)}function Nt(){return{x:pageXOffset,y:pageYOffset}}function G(t,e){return t.getAttribute(`data-sveltekit-${e}`)}const Xt={...F,"":F.hover};function ge(t){let e=t.assignedSlot??t.parentNode;return(e==null?void 0:e.nodeType)===11&&(e=e.host),e}function me(t,e){for(;t&&t!==e;){if(t.nodeName.toUpperCase()==="A"&&t.hasAttribute("href"))return t;t=ge(t)}}function Tt(t,e,n){let r;try{if(r=new URL(t instanceof SVGAElement?t.href.baseVal:t.href,document.baseURI),n&&r.hash.match(/^#[^/]/)){const o=location.hash.split("#")[1]||"/";r.hash=`#${o}${r.hash}`}}catch{}const a=t instanceof SVGAElement?t.target.baseVal:t.target,s=!r||!!a||vt(r,e,n)||(t.getAttribute("rel")||"").split(/\s+/).includes("external"),i=(r==null?void 0:r.origin)===ft&&t.hasAttribute("download");return{url:r,external:s,target:a,download:i}}function ht(t){let e=null,n=null,r=null,a=null,s=null,i=null,o=t;for(;o&&o!==document.documentElement;)r===null&&(r=G(o,"preload-code")),a===null&&(a=G(o,"preload-data")),e===null&&(e=G(o,"keepfocus")),n===null&&(n=G(o,"noscroll")),s===null&&(s=G(o,"reload")),i===null&&(i=G(o,"replacestate")),o=ge(o);function c(l){switch(l){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:Xt[r??"off"],preload_data:Xt[a??"off"],keepfocus:c(e),noscroll:c(n),reload:c(s),replace_state:c(i)}}function Zt(t){const e=Ct(t);let n=!0;function r(){n=!0,e.update(i=>i)}function a(i){n=!1,e.set(i)}function s(i){let o;return e.subscribe(c=>{(o===void 0||n&&c!==o)&&i(o=c)})}return{notify:r,set:a,subscribe:s}}const we={v:()=>{}};function Ze(){const{set:t,subscribe:e}=Ct(!1);let n;async function r(){clearTimeout(n);try{const a=await fetch(`${Je}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!a.ok)return!1;const i=(await a.json()).version!==ze;return i&&(t(!0),we.v(),clearTimeout(n)),i}catch{return!1}}return{subscribe:e,check:r}}function vt(t,e,n){return t.origin!==ft||!t.pathname.startsWith(e)?!0:n?!(t.pathname===e+"/"||t.pathname===e+"/index.html"||t.protocol==="file:"&&t.pathname.replace(/\/[^/]+\.html?$/,"")===e):!1}function Dn(t){}function Qt(t){const e=tn(t),n=new ArrayBuffer(e.length),r=new DataView(n);for(let a=0;a<n.byteLength;a++)r.setUint8(a,e.charCodeAt(a));return n}const Qe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function tn(t){t.length%4===0&&(t=t.replace(/==?$/,""));let e="",n=0,r=0;for(let a=0;a<t.length;a++)n<<=6,n|=Qe.indexOf(t[a]),r+=6,r===24&&(e+=String.fromCharCode((n&16711680)>>16),e+=String.fromCharCode((n&65280)>>8),e+=String.fromCharCode(n&255),n=r=0);return r===12?(n>>=4,e+=String.fromCharCode(n)):r===18&&(n>>=2,e+=String.fromCharCode((n&65280)>>8),e+=String.fromCharCode(n&255)),e}const en=-1,nn=-2,rn=-3,an=-4,on=-5,sn=-6;function cn(t,e){if(typeof t=="number")return a(t,!0);if(!Array.isArray(t)||t.length===0)throw new Error("Invalid input");const n=t,r=Array(n.length);function a(s,i=!1){if(s===en)return;if(s===rn)return NaN;if(s===an)return 1/0;if(s===on)return-1/0;if(s===sn)return-0;if(i)throw new Error("Invalid input");if(s in r)return r[s];const o=n[s];if(!o||typeof o!="object")r[s]=o;else if(Array.isArray(o))if(typeof o[0]=="string"){const c=o[0],l=e==null?void 0:e[c];if(l)return r[s]=l(a(o[1]));switch(c){case"Date":r[s]=new Date(o[1]);break;case"Set":const p=new Set;r[s]=p;for(let f=1;f<o.length;f+=1)p.add(a(o[f]));break;case"Map":const u=new Map;r[s]=u;for(let f=1;f<o.length;f+=2)u.set(a(o[f]),a(o[f+1]));break;case"RegExp":r[s]=new RegExp(o[1],o[2]);break;case"Object":r[s]=Object(o[1]);break;case"BigInt":r[s]=BigInt(o[1]);break;case"null":const w=Object.create(null);r[s]=w;for(let f=1;f<o.length;f+=2)w[o[f]]=a(o[f+1]);break;case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":{const f=globalThis[c],m=o[1],d=Qt(m),h=new f(d);r[s]=h;break}case"ArrayBuffer":{const f=o[1],m=Qt(f);r[s]=m;break}default:throw new Error(`Unknown type ${c}`)}}else{const c=new Array(o.length);r[s]=c;for(let l=0;l<o.length;l+=1){const p=o[l];p!==nn&&(c[l]=a(p))}}else{const c={};r[s]=c;for(const l in o){const p=o[l];c[l]=a(p)}}return r[s]}return a(0)}const ye=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...ye];const ln=new Set([...ye]);[...ln];function fn(t){return t.filter(e=>e!=null)}class bt{constructor(e,n){this.status=e,typeof n=="string"?this.body={message:n}:n?this.body=n:this.body={message:`Error: ${e}`}}toString(){return JSON.stringify(this.body)}}class jt{constructor(e,n){this.status=e,this.location=n}}class $t extends Error{constructor(e,n,r){super(r),this.status=e,this.text=n}}const un="x-sveltekit-invalidated",hn="x-sveltekit-trailing-slash";function dt(t){return t instanceof bt||t instanceof $t?t.status:500}function dn(t){return t instanceof $t?t.text:"Internal Error"}let U,X,Ut;const pn=Jt.toString().includes("$$")||/function \w+\(\) \{\}/.test(Jt.toString());var tt,et,nt,rt,at,ot,st,it,ie,ct,ce,lt,le;pn?(U={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL("https://example.com")},X={current:null},Ut={current:!1}):(U=new(ie=class{constructor(){P(this,tt,C({}));P(this,et,C(null));P(this,nt,C(null));P(this,rt,C({}));P(this,at,C({id:null}));P(this,ot,C({}));P(this,st,C(-1));P(this,it,C(new URL("https://example.com")))}get data(){return O(A(this,tt))}set data(e){N(A(this,tt),e)}get form(){return O(A(this,et))}set form(e){N(A(this,et),e)}get error(){return O(A(this,nt))}set error(e){N(A(this,nt),e)}get params(){return O(A(this,rt))}set params(e){N(A(this,rt),e)}get route(){return O(A(this,at))}set route(e){N(A(this,at),e)}get state(){return O(A(this,ot))}set state(e){N(A(this,ot),e)}get status(){return O(A(this,st))}set status(e){N(A(this,st),e)}get url(){return O(A(this,it))}set url(e){N(A(this,it),e)}},tt=new WeakMap,et=new WeakMap,nt=new WeakMap,rt=new WeakMap,at=new WeakMap,ot=new WeakMap,st=new WeakMap,it=new WeakMap,ie),X=new(ce=class{constructor(){P(this,ct,C(null))}get current(){return O(A(this,ct))}set current(e){N(A(this,ct),e)}},ct=new WeakMap,ce),Ut=new(le=class{constructor(){P(this,lt,C(!1))}get current(){return O(A(this,lt))}set current(e){N(A(this,lt),e)}},lt=new WeakMap,le),we.v=()=>Ut.current=!0);function gn(t){Object.assign(U,t)}const mn="/__data.json",wn=".html__data.json";function yn(t){return t.endsWith(".html")?t.replace(/\.html$/,wn):t.replace(/\/$/,"")+mn}const _n=new Set(["icon","shortcut icon","apple-touch-icon"]),B=fe(he)??{},Z=fe(ue)??{},$={url:Zt({}),page:Zt({}),navigating:Ct(null),updated:Ze()};function Dt(t){B[t]=Nt()}function vn(t,e){let n=t+1;for(;B[n];)delete B[n],n+=1;for(n=e+1;Z[n];)delete Z[n],n+=1}function H(t){return location.href=t.href,new Promise(()=>{})}async function _e(){if("serviceWorker"in navigator){const t=await navigator.serviceWorker.getRegistration(x||"/");t&&await t.update()}}function te(){}let Ft,xt,pt,j,Pt,k;const gt=[],mt=[];let L=null;const ve=new Set,bn=new Set,Y=new Set;let v={branch:[],error:null,url:null},Vt=!1,wt=!1,ee=!0,Q=!1,K=!1,be=!1,Bt=!1,Ae,R,T,V;const J=new Set;async function Gn(t,e,n){var a,s,i,o;document.URL!==location.href&&(location.href=location.href),k=t,await((s=(a=t.hooks).init)==null?void 0:s.call(a)),Ft=Ye(t),j=document.documentElement,Pt=e,xt=t.nodes[0],pt=t.nodes[1],xt(),pt(),R=(i=history.state)==null?void 0:i[M],T=(o=history.state)==null?void 0:o[z],R||(R=T=Date.now(),history.replaceState({...history.state,[M]:R,[z]:T},""));const r=B[R];r&&(history.scrollRestoration="manual",scrollTo(r.x,r.y)),n?await Pn(Pt,n):await Ln(k.hash?On(new URL(location.href)):location.href,{replaceState:!0}),xn()}function An(){gt.length=0,Bt=!1}function ke(t){mt.some(e=>e==null?void 0:e.snapshot)&&(Z[t]=mt.map(e=>{var n;return(n=e==null?void 0:e.snapshot)==null?void 0:n.capture()}))}function Se(t){var e;(e=Z[t])==null||e.forEach((n,r)=>{var a,s;(s=(a=mt[r])==null?void 0:a.snapshot)==null||s.restore(n)})}function ne(){Dt(R),zt(he,B),ke(T),zt(ue,Z)}async function Gt(t,e,n,r){return ut({type:"goto",url:pe(t),keepfocus:e.keepFocus,noscroll:e.noScroll,replace_state:e.replaceState,state:e.state,redirect_count:n,nav_token:r,accept:()=>{e.invalidateAll&&(Bt=!0),e.invalidate&&e.invalidate.forEach(Tn)}})}async function kn(t){if(t.id!==(L==null?void 0:L.id)){const e={};J.add(e),L={id:t.id,token:e,promise:Re({...t,preload:e}).then(n=>(J.delete(e),n.type==="loaded"&&n.state.error&&(L=null),n))}}return L.promise}async function Lt(t){var n;const e=(n=await kt(t,!1))==null?void 0:n.route;e&&await Promise.all([...e.layouts,e.leaf].map(r=>r==null?void 0:r[1]()))}function Ee(t,e,n){var s;v=t.state;const r=document.querySelector("style[data-sveltekit]");r&&r.remove(),Object.assign(U,t.props.page),Ae=new k.root({target:e,props:{...t.props,stores:$,components:mt},hydrate:n,sync:!1}),Se(T);const a={from:null,to:{params:v.params,route:{id:((s=v.route)==null?void 0:s.id)??null},url:new URL(location.href)},willUnload:!1,type:"enter",complete:Promise.resolve()};Y.forEach(i=>i(a)),wt=!0}function yt({url:t,params:e,branch:n,status:r,error:a,route:s,form:i}){let o="never";if(x&&(t.pathname===x||t.pathname===x+"/"))o="always";else for(const f of n)(f==null?void 0:f.slash)!==void 0&&(o=f.slash);t.pathname=Oe(t.pathname,o),t.search=t.search;const c={type:"loaded",state:{url:t,params:e,branch:n,error:a,route:s},props:{constructors:fn(n).map(f=>f.node.component),page:Ht(U)}};i!==void 0&&(c.props.form=i);let l={},p=!U,u=0;for(let f=0;f<Math.max(n.length,v.branch.length);f+=1){const m=n[f],d=v.branch[f];(m==null?void 0:m.data)!==(d==null?void 0:d.data)&&(p=!0),m&&(l={...l,...m.data},p&&(c.props[`data_${u}`]=l),u+=1)}return(!v.url||t.href!==v.url.href||v.error!==a||i!==void 0&&i!==U.form||p)&&(c.props.page={error:a,params:e,route:{id:(s==null?void 0:s.id)??null},state:{},status:r,url:new URL(t),form:i??null,data:p?l:U.data}),c}async function Mt({loader:t,parent:e,url:n,params:r,route:a,server_data_node:s}){var p,u,w;let i=null,o=!0;const c={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},l=await t();if((p=l.universal)!=null&&p.load){let f=function(...d){for(const h of d){const{href:y}=new URL(h,n);c.dependencies.add(y)}};const m={route:new Proxy(a,{get:(d,h)=>(o&&(c.route=!0),d[h])}),params:new Proxy(r,{get:(d,h)=>(o&&c.params.add(h),d[h])}),data:(s==null?void 0:s.data)??null,url:$e(n,()=>{o&&(c.url=!0)},d=>{o&&c.search_params.add(d)},k.hash),async fetch(d,h){let y;d instanceof Request?(y=d.url,h={body:d.method==="GET"||d.method==="HEAD"?void 0:await d.blob(),cache:d.cache,credentials:d.credentials,headers:[...d.headers].length?d.headers:void 0,integrity:d.integrity,keepalive:d.keepalive,method:d.method,mode:d.mode,redirect:d.redirect,referrer:d.referrer,referrerPolicy:d.referrerPolicy,signal:d.signal,...h}):y=d;const S=new URL(y,n);return o&&f(S.href),S.origin===n.origin&&(y=S.href.slice(n.origin.length)),wt?Ge(y,S.href,h):Be(y,h)},setHeaders:()=>{},depends:f,parent(){return o&&(c.parent=!0),e()},untrack(d){o=!1;try{return d()}finally{o=!0}}};i=await l.universal.load.call(null,m)??null}return{node:l,loader:t,server:s,universal:(u=l.universal)!=null&&u.load?{type:"data",data:i,uses:c}:null,data:i??(s==null?void 0:s.data)??null,slash:((w=l.universal)==null?void 0:w.trailingSlash)??(s==null?void 0:s.slash)}}function re(t,e,n,r,a,s){if(Bt)return!0;if(!a)return!1;if(a.parent&&t||a.route&&e||a.url&&n)return!0;for(const i of a.search_params)if(r.has(i))return!0;for(const i of a.params)if(s[i]!==v.params[i])return!0;for(const i of a.dependencies)if(gt.some(o=>o(new URL(i))))return!0;return!1}function qt(t,e){return(t==null?void 0:t.type)==="data"?t:(t==null?void 0:t.type)==="skip"?e??null:null}function Sn(t,e){if(!t)return new Set(e.searchParams.keys());const n=new Set([...t.searchParams.keys(),...e.searchParams.keys()]);for(const r of n){const a=t.searchParams.getAll(r),s=e.searchParams.getAll(r);a.every(i=>s.includes(i))&&s.every(i=>a.includes(i))&&n.delete(r)}return n}function ae({error:t,url:e,route:n,params:r}){return{type:"loaded",state:{error:t,url:e,route:n,params:r,branch:[]},props:{page:Ht(U),constructors:[]}}}async function Re({id:t,invalidating:e,url:n,params:r,route:a,preload:s}){if((L==null?void 0:L.id)===t)return J.delete(L.token),L.promise;const{errors:i,layouts:o,leaf:c}=a,l=[...o,c];i.forEach(g=>g==null?void 0:g().catch(()=>{})),l.forEach(g=>g==null?void 0:g[1]().catch(()=>{}));let p=null;const u=v.url?t!==_t(v.url):!1,w=v.route?a.id!==v.route.id:!1,f=Sn(v.url,n);let m=!1;const d=l.map((g,_)=>{var D;const b=v.branch[_],E=!!(g!=null&&g[0])&&((b==null?void 0:b.loader)!==g[1]||re(m,w,u,f,(D=b.server)==null?void 0:D.uses,r));return E&&(m=!0),E});if(d.some(Boolean)){try{p=await Le(n,d)}catch(g){const _=await q(g,{url:n,params:r,route:{id:t}});return J.has(s)?ae({error:_,url:n,params:r,route:a}):At({status:dt(g),error:_,url:n,route:a})}if(p.type==="redirect")return p}const h=p==null?void 0:p.nodes;let y=!1;const S=l.map(async(g,_)=>{var St;if(!g)return;const b=v.branch[_],E=h==null?void 0:h[_];if((!E||E.type==="skip")&&g[1]===(b==null?void 0:b.loader)&&!re(y,w,u,f,(St=b.universal)==null?void 0:St.uses,r))return b;if(y=!0,(E==null?void 0:E.type)==="error")throw E;return Mt({loader:g[1],url:n,params:r,route:a,parent:async()=>{var Wt;const Kt={};for(let Et=0;Et<_;Et+=1)Object.assign(Kt,(Wt=await S[Et])==null?void 0:Wt.data);return Kt},server_data_node:qt(E===void 0&&g[0]?{type:"skip"}:E??null,g[0]?b==null?void 0:b.server:void 0)})});for(const g of S)g.catch(()=>{});const I=[];for(let g=0;g<l.length;g+=1)if(l[g])try{I.push(await S[g])}catch(_){if(_ instanceof jt)return{type:"redirect",location:_.location};if(J.has(s))return ae({error:await q(_,{params:r,url:n,route:{id:a.id}}),url:n,params:r,route:a});let b=dt(_),E;if(h!=null&&h.includes(_))b=_.status??b,E=_.error;else if(_ instanceof bt)E=_.body;else{if(await $.updated.check())return await _e(),await H(n);E=await q(_,{params:r,url:n,route:{id:a.id}})}const D=await En(g,I,i);return D?yt({url:n,params:r,branch:I.slice(0,D.idx).concat(D.node),status:b,error:E,route:a}):await Ue(n,{id:a.id},E,b)}else I.push(void 0);return yt({url:n,params:r,branch:I,status:200,error:null,route:a,form:e?void 0:null})}async function En(t,e,n){for(;t--;)if(n[t]){let r=t;for(;!e[r];)r-=1;try{return{idx:r+1,node:{node:await n[t](),loader:n[t],data:{},server:null,universal:null}}}catch{continue}}}async function At({status:t,error:e,url:n,route:r}){const a={};let s=null;if(k.server_loads[0]===0)try{const o=await Le(n,[!0]);if(o.type!=="data"||o.nodes[0]&&o.nodes[0].type!=="data")throw 0;s=o.nodes[0]??null}catch{(n.origin!==ft||n.pathname!==location.pathname||Vt)&&await H(n)}try{const o=await Mt({loader:xt,url:n,params:a,route:r,parent:()=>Promise.resolve({}),server_data_node:qt(s)}),c={node:await pt(),loader:pt,universal:null,server:null,data:null};return yt({url:n,params:a,branch:[o,c],status:t,error:e,route:null})}catch(o){if(o instanceof jt)return Gt(new URL(o.location,location.href),{},0);throw o}}async function Rn(t){let e;try{if(e=await k.hooks.reroute({url:new URL(t)})??t,typeof e=="string"){const n=new URL(t);k.hash?n.hash=e:n.pathname=e,e=n}}catch{return}return e}async function kt(t,e){if(t&&!vt(t,x,k.hash)){const n=await Rn(t);if(!n)return;const r=In(n);for(const a of Ft){const s=a.exec(r);if(s)return{id:_t(t),invalidating:e,route:a,params:je(s),url:t}}}}function In(t){return Ne(k.hash?t.hash.replace(/^#/,"").replace(/[?#].+/,""):t.pathname.slice(x.length))||"/"}function _t(t){return(k.hash?t.hash.replace(/^#/,""):t.pathname)+t.search}function Ie({url:t,type:e,intent:n,delta:r}){let a=!1;const s=xe(v,n,t,e);r!==void 0&&(s.navigation.delta=r);const i={...s.navigation,cancel:()=>{a=!0,s.reject(new Error("navigation cancelled"))}};return Q||ve.forEach(o=>o(i)),a?null:s}async function ut({type:t,url:e,popped:n,keepfocus:r,noscroll:a,replace_state:s,state:i={},redirect_count:o=0,nav_token:c={},accept:l=te,block:p=te}){const u=V;V=c;const w=await kt(e,!1),f=Ie({url:e,type:t,delta:n==null?void 0:n.delta,intent:w});if(!f){p(),V===c&&(V=u);return}const m=R,d=T;l(),Q=!0,wt&&$.navigating.set(X.current=f.navigation);let h=w&&await Re(w);if(!h){if(vt(e,x,k.hash))return await H(e);h=await Ue(e,{id:null},await q(new $t(404,"Not Found",`Not found: ${e.pathname}`),{url:e,params:{},route:{id:null}}),404)}if(e=(w==null?void 0:w.url)||e,V!==c)return f.reject(new Error("navigation aborted")),!1;if(h.type==="redirect")if(o>=20)h=await At({status:500,error:await q(new Error("Redirect loop"),{url:e,params:{},route:{id:null}}),url:e,route:{id:null}});else return await Gt(new URL(h.location,e).href,{},o+1,c),!1;else h.props.page.status>=400&&await $.updated.check()&&(await _e(),await H(e));if(An(),Dt(m),ke(d),h.props.page.url.pathname!==e.pathname&&(e.pathname=h.props.page.url.pathname),i=n?n.state:i,!n){const g=s?0:1,_={[M]:R+=g,[z]:T+=g,[de]:i};(s?history.replaceState:history.pushState).call(history,_,"",e),s||vn(R,T)}if(L=null,h.props.page.state=i,wt){v=h.state,h.props.page&&(h.props.page.url=e);const g=(await Promise.all(Array.from(bn,_=>_(f.navigation)))).filter(_=>typeof _=="function");if(g.length>0){let _=function(){g.forEach(b=>{Y.delete(b)})};g.push(_),g.forEach(b=>{Y.add(b)})}Ae.$set(h.props),gn(h.props.page),be=!0}else Ee(h,Pt,!1);const{activeElement:y}=document;await Ce();const S=n?n.scroll:a?Nt():null;if(ee){const g=e.hash&&document.getElementById(decodeURIComponent(k.hash?e.hash.split("#")[2]??"":e.hash.slice(1)));S?scrollTo(S.x,S.y):g?g.scrollIntoView():scrollTo(0,0)}const I=document.activeElement!==y&&document.activeElement!==document.body;!r&&!I&&Cn(),ee=!0,h.props.page&&Object.assign(U,h.props.page),Q=!1,t==="popstate"&&Se(T),f.fulfil(void 0),Y.forEach(g=>g(f.navigation)),$.navigating.set(X.current=null)}async function Ue(t,e,n,r){return t.origin===ft&&t.pathname===location.pathname&&!Vt?await At({status:r,error:n,url:t,route:e}):await H(t)}function Un(){let t,e,n;j.addEventListener("mousemove",o=>{const c=o.target;clearTimeout(t),t=setTimeout(()=>{s(c,F.hover)},20)});function r(o){o.defaultPrevented||s(o.composedPath()[0],F.tap)}j.addEventListener("mousedown",r),j.addEventListener("touchstart",r,{passive:!0});const a=new IntersectionObserver(o=>{for(const c of o)c.isIntersecting&&(Lt(new URL(c.target.href)),a.unobserve(c.target))},{threshold:0});async function s(o,c){const l=me(o,j),p=l===e&&c>=n;if(!l||p)return;const{url:u,external:w,download:f}=Tt(l,x,k.hash);if(w||f)return;const m=ht(l),d=u&&_t(v.url)===_t(u);if(!(m.reload||d))if(c<=m.preload_data){e=l,n=F.tap;const h=await kt(u,!1);if(!h)return;kn(h)}else c<=m.preload_code&&(e=l,n=c,Lt(u))}function i(){a.disconnect();for(const o of j.querySelectorAll("a")){const{url:c,external:l,download:p}=Tt(o,x,k.hash);if(l||p)continue;const u=ht(o);u.reload||(u.preload_code===F.viewport&&a.observe(o),u.preload_code===F.eager&&Lt(c))}}Y.add(i),i()}function q(t,e){if(t instanceof bt)return t.body;const n=dt(t),r=dn(t);return k.hooks.handleError({error:t,event:e,status:n,message:r})??{message:r}}function Ln(t,e={}){return t=new URL(pe(t)),t.origin!==ft?Promise.reject(new Error("goto: invalid URL")):Gt(t,e,0)}function Tn(t){if(typeof t=="function")gt.push(t);else{const{href:e}=new URL(t,location.href);gt.push(n=>n.href===e)}}function xn(){var e;history.scrollRestoration="manual",addEventListener("beforeunload",n=>{let r=!1;if(ne(),!Q){const a=xe(v,void 0,null,"leave"),s={...a.navigation,cancel:()=>{r=!0,a.reject(new Error("navigation cancelled"))}};ve.forEach(i=>i(s))}r?(n.preventDefault(),n.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&ne()}),(e=navigator.connection)!=null&&e.saveData||Un(),j.addEventListener("click",async n=>{if(n.button||n.which!==1||n.metaKey||n.ctrlKey||n.shiftKey||n.altKey||n.defaultPrevented)return;const r=me(n.composedPath()[0],j);if(!r)return;const{url:a,external:s,target:i,download:o}=Tt(r,x,k.hash);if(!a)return;if(i==="_parent"||i==="_top"){if(window.parent!==window)return}else if(i&&i!=="_self")return;const c=ht(r);if(!(r instanceof SVGAElement)&&a.protocol!==location.protocol&&!(a.protocol==="https:"||a.protocol==="http:")||o)return;const[p,u]=(k.hash?a.hash.replace(/^#/,""):a.href).split("#"),w=p===Rt(location);if(s||c.reload&&(!w||!u)){Ie({url:a,type:"link"})?Q=!0:n.preventDefault();return}if(u!==void 0&&w){const[,f]=v.url.href.split("#");if(f===u){if(n.preventDefault(),u===""||u==="top"&&r.ownerDocument.getElementById("top")===null)window.scrollTo({top:0});else{const m=r.ownerDocument.getElementById(decodeURIComponent(u));m&&(m.scrollIntoView(),m.focus())}return}if(K=!0,Dt(R),t(a),!c.replace_state)return;K=!1}n.preventDefault(),await new Promise(f=>{requestAnimationFrame(()=>{setTimeout(f,0)}),setTimeout(f,100)}),await ut({type:"link",url:a,keepfocus:c.keepfocus,noscroll:c.noscroll,replace_state:c.replace_state??a.href===location.href})}),j.addEventListener("submit",n=>{if(n.defaultPrevented)return;const r=HTMLFormElement.prototype.cloneNode.call(n.target),a=n.submitter;if(((a==null?void 0:a.formTarget)||r.target)==="_blank"||((a==null?void 0:a.formMethod)||r.method)!=="get")return;const o=new URL((a==null?void 0:a.hasAttribute("formaction"))&&(a==null?void 0:a.formAction)||r.action);if(vt(o,x,!1))return;const c=n.target,l=ht(c);if(l.reload)return;n.preventDefault(),n.stopPropagation();const p=new FormData(c),u=a==null?void 0:a.getAttribute("name");u&&p.append(u,(a==null?void 0:a.getAttribute("value"))??""),o.search=new URLSearchParams(p).toString(),ut({type:"form",url:o,keepfocus:l.keepfocus,noscroll:l.noscroll,replace_state:l.replace_state??o.href===location.href})}),addEventListener("popstate",async n=>{var r;if((r=n.state)!=null&&r[M]){const a=n.state[M];if(V={},a===R)return;const s=B[a],i=n.state[de]??{},o=new URL(n.state[Xe]??location.href),c=n.state[z],l=v.url?Rt(location)===Rt(v.url):!1;if(c===T&&(be||l)){i!==U.state&&(U.state=i),t(o),B[R]=Nt(),s&&scrollTo(s.x,s.y),R=a;return}const u=a-R;await ut({type:"popstate",url:o,popped:{state:i,scroll:s,delta:u},accept:()=>{R=a,T=c},block:()=>{history.go(-u)},nav_token:V})}else if(!K){const a=new URL(location.href);t(a),k.hash&&location.reload()}}),addEventListener("hashchange",()=>{K&&(K=!1,history.replaceState({...history.state,[M]:++R,[z]:T},"",location.href))});for(const n of document.querySelectorAll("link"))_n.has(n.rel)&&(n.href=n.href);addEventListener("pageshow",n=>{n.persisted&&$.navigating.set(X.current=null)});function t(n){v.url=U.url=n,$.page.set(Ht(U)),$.page.notify()}}async function Pn(t,{status:e=200,error:n,node_ids:r,params:a,route:s,server_route:i,data:o,form:c}){Vt=!0;const l=new URL(location.href);let p;({params:a={},route:s={id:null}}=await kt(l,!1)||{}),p=Ft.find(({id:f})=>f===s.id);let u,w=!0;try{const f=r.map(async(d,h)=>{const y=o[h];return y!=null&&y.uses&&(y.uses=Te(y.uses)),Mt({loader:k.nodes[d],url:l,params:a,route:s,parent:async()=>{const S={};for(let I=0;I<h;I+=1)Object.assign(S,(await f[I]).data);return S},server_data_node:qt(y)})}),m=await Promise.all(f);if(p){const d=p.layouts;for(let h=0;h<d.length;h++)d[h]||m.splice(h,0,void 0)}u=yt({url:l,params:a,branch:m,status:e,error:n,form:c,route:p??null})}catch(f){if(f instanceof jt){await H(new URL(f.location,location.href));return}u=await At({status:dt(f),error:await q(f,{url:l,params:a,route:s}),url:l,route:s}),t.textContent="",w=!1}u.props.page&&(u.props.page.state={}),Ee(u,t,w)}async function Le(t,e){var s;const n=new URL(t);n.pathname=yn(t.pathname),t.pathname.endsWith("/")&&n.searchParams.append(hn,"1"),n.searchParams.append(un,e.map(i=>i?"1":"0").join(""));const r=window.fetch,a=await r(n.href,{});if(!a.ok){let i;throw(s=a.headers.get("content-type"))!=null&&s.includes("application/json")?i=await a.json():a.status===404?i="Not Found":a.status===500&&(i="Internal Error"),new bt(a.status,i)}return new Promise(async i=>{var w;const o=new Map,c=a.body.getReader(),l=new TextDecoder;function p(f){return cn(f,{...k.decoders,Promise:m=>new Promise((d,h)=>{o.set(m,{fulfil:d,reject:h})})})}let u="";for(;;){const{done:f,value:m}=await c.read();if(f&&!u)break;for(u+=!m&&u?`
|
|
2
|
-
`:l.decode(m,{stream:!0});;){const d=u.indexOf(`
|
|
3
|
-
`);if(d===-1)break;const h=JSON.parse(u.slice(0,d));if(u=u.slice(d+1),h.type==="redirect")return i(h);if(h.type==="data")(w=h.nodes)==null||w.forEach(y=>{(y==null?void 0:y.type)==="data"&&(y.uses=Te(y.uses),y.data=p(y.data))}),i(h);else if(h.type==="chunk"){const{id:y,data:S,error:I}=h,g=o.get(y);o.delete(y),I?g.reject(p(I)):g.fulfil(p(S))}}}})}function Te(t){return{dependencies:new Set((t==null?void 0:t.dependencies)??[]),params:new Set((t==null?void 0:t.params)??[]),parent:!!(t!=null&&t.parent),route:!!(t!=null&&t.route),url:!!(t!=null&&t.url),search_params:new Set((t==null?void 0:t.search_params)??[])}}function Cn(){const t=document.querySelector("[autofocus]");if(t)t.focus();else{const e=document.body,n=e.getAttribute("tabindex");e.tabIndex=-1,e.focus({preventScroll:!0,focusVisible:!1}),n!==null?e.setAttribute("tabindex",n):e.removeAttribute("tabindex");const r=getSelection();if(r&&r.type!=="None"){const a=[];for(let s=0;s<r.rangeCount;s+=1)a.push(r.getRangeAt(s));setTimeout(()=>{if(r.rangeCount===a.length){for(let s=0;s<r.rangeCount;s+=1){const i=a[s],o=r.getRangeAt(s);if(i.commonAncestorContainer!==o.commonAncestorContainer||i.startContainer!==o.startContainer||i.endContainer!==o.endContainer||i.startOffset!==o.startOffset||i.endOffset!==o.endOffset)return}r.removeAllRanges()}})}}}function xe(t,e,n,r){var c,l;let a,s;const i=new Promise((p,u)=>{a=p,s=u});return i.catch(()=>{}),{navigation:{from:{params:t.params,route:{id:((c=t.route)==null?void 0:c.id)??null},url:t.url},to:n&&{params:(e==null?void 0:e.params)??null,route:{id:((l=e==null?void 0:e.route)==null?void 0:l.id)??null},url:n},willUnload:!e,type:r,complete:i},fulfil:a,reject:s}}function Ht(t){return{data:t.data,error:t.error,form:t.form,params:t.params,route:t.route,state:t.state,status:t.status,url:t.url}}function On(t){const e=new URL(t);return e.hash=decodeURIComponent(t.hash),e}export{Gn as a,Dn as l,U as p,$ as s};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as o,a as r}from"../chunks/jqhKT5WL.js";export{o as load_css,r as start};
|
|
Binary file
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{g as p,i as dt,t as B,s as M,a as z,n as S,f as ct,c as vt,j as mt}from"../chunks/qSIFE6bv.js";import{d as ft,h as $,C as tt,f as ht,i as et,ar as ut,az as gt,ax as _t,Y as yt,as as wt,g as bt,v as D,z as g,B as x,aF as E,A as u,x as I,a6 as xt,y as H,aE as N,o as T,s as U,u as V,J as Y,I as G,w as W,aG as zt}from"../chunks/CDVeMiAl.js";import{a as j,s as K,b as q,i as L,r as Q,p as it,c as At}from"../chunks/CvUX3i4L.js";import{s as Ct}from"../chunks/EvVuwjft.js";import{e as k,a as rt,d as X,h as qt,t as J,c as kt,l as It,j as Lt,k as F,f as St,m as Zt,L as Mt}from"../chunks/DGTGMr-5.js";import{i as st}from"../chunks/C7I4vMbc.js";import{a as Tt,q as Dt,t as at,b as Ht,f as Pt,c as Rt}from"../chunks/D1JCCJf3.js";function jt(n,t,i,y,_){var v=n,s="",c;ft(()=>{if(s===(s=t()??"")){$&&tt();return}c!==void 0&&(bt(c),c=void 0),s!==""&&(c=ht(()=>{if($){et.data;for(var o=tt(),f=o;o!==null&&(o.nodeType!==8||o.data!=="");)f=o,o=ut(o);if(o===null)throw gt(),_t;p(et,f),v=yt(o);return}var l=s+"",m=dt(l);p(wt(m),m.lastChild),v.before(m)}))})}var Et=B(`<div class="content svelte-30zq06"><div class="options svelte-30zq06"><div class="options-left"><h1>This instance is not authenticated</h1> <p class="svelte-30zq06"> <a>Authenticate</a> or scan qr to authenticate via device</p></div> <div class="options-right"><span class="qr svelte-30zq06"></span></div> <div class="options-bottom svelte-30zq06"><p class="size-small-1 color-2 svelte-30zq06">Make sure that <em class="svelte-30zq06"> </em> is added as a Redirect URI in your
|
|
2
|
-
spotify app dashboard</p></div></div></div>`);function Bt(n,t){D(t,!1);const[i,y]=K(),_=()=>j(rt,"$address",i);st();var v=Et(),s=g(v),c=g(s),o=x(g(c),2),f=g(o),l=x(f);E(),u(o),u(c);var m=x(c,2),b=g(m);Tt(b,(h,a)=>{var e;return(e=Dt)==null?void 0:e(h,a)},()=>({url:_().server("/spotify/start")})),u(m);var C=x(m,2),A=g(C),d=x(g(A)),r=g(d,!0);u(d),E(),u(A),u(C),u(s),u(v),I((h,a,e)=>{M(f,`${h??""} `),k(l,"href",a),M(r,e)},[()=>_().server("/spotify/start"),()=>_().server("/spotify/start"),()=>_().server("/spotify/token")],xt),z(n,v),H(),y()}function Ot(n){const t=n-1;return t*t*t+1}function Wt(n,{from:t,to:i},y={}){var{delay:_=0,duration:v=Z=>Math.sqrt(Z)*120,easing:s=Ot}=y,c=getComputedStyle(n),o=c.transform==="none"?"":c.transform,[f,l]=c.transformOrigin.split(" ").map(parseFloat);f/=n.clientWidth,l/=n.clientHeight;var m=Ft(n),b=n.clientWidth/i.width/m,C=n.clientHeight/i.height/m,A=t.left+t.width*f,d=t.top+t.height*l,r=i.left+i.width*f,h=i.top+i.height*l,a=(A-r)*b,e=(d-h)*C,w=t.width/i.width,P=t.height/i.height;return{delay:_,duration:typeof v=="function"?v(Math.sqrt(a*a+e*e)):v,easing:s,css:(Z,R)=>{var O=R*a,ot=R*e,nt=Z+R*w,lt=Z+R*P;return`transform: ${o} translate(${O}px, ${ot}px) scale(${nt}, ${lt});`}}}function Ft(n){if("currentCSSZoom"in n)return n.currentCSSZoom;for(var t=n,i=1;t!==null;)i*=+getComputedStyle(t).zoom,t=t.parentElement;return i}var Vt=S("<title> </title>"),Yt=S("<desc> </desc>"),Gt=S('<svg><!><!><path d="M256,176a80,80,0,1,0,80,80A80.09,80.09,0,0,0,256,176Zm0,112a32,32,0,1,1,32-32A32,32,0,0,1,256,288Z"></path><path d="M414.39,97.61A224,224,0,1,0,97.61,414.39,224,224,0,1,0,414.39,97.61ZM256,368A112,112,0,1,1,368,256,112.12,112.12,0,0,1,256,368Z"></path></svg>');function Jt(n,t){var r,h;D(t,!0);const i=N("iconCtx")??{};let y=q(t,"size",19,()=>i.size||"24"),_=q(t,"role",19,()=>i.role||"img"),v=q(t,"color",19,()=>i.color||"currentColor"),s=q(t,"ariaLabel",3,"disc"),c=Q(t,["$$slots","$$events","$$legacy","size","role","color","title","desc","ariaLabel"]),o=`${((r=t.title)==null?void 0:r.id)||""} ${((h=t.desc)==null?void 0:h.id)||""}`;const f=U(()=>{var a,e;return!!((a=t.title)!=null&&a.id||(e=t.desc)!=null&&e.id)});var l=Gt();let m;var b=g(l);{var C=a=>{var e=Vt(),w=g(e,!0);u(e),I(()=>{k(e,"id",t.title.id),M(w,t.title.title)}),z(a,e)};L(b,a=>{var e;(e=t.title)!=null&&e.id&&t.title.title&&a(C)})}var A=x(b);{var d=a=>{var e=Yt(),w=g(e,!0);u(e),I(()=>{k(e,"id",t.desc.id),M(w,t.desc.desc)}),z(a,e)};L(A,a=>{var e;(e=t.desc)!=null&&e.id&&t.desc.desc&&a(d)})}E(2),u(l),I(()=>m=X(l,m,{xmlns:"http://www.w3.org/2000/svg",...c,role:_(),width:y(),height:y(),fill:v(),"aria-label":s(),"aria-describedby":T(f)?o:void 0,viewBox:"0 0 512 512"})),z(n,l),H()}var Nt=S("<title> </title>"),Ut=S("<desc> </desc>"),Kt=S('<svg><!><!><path d="M256,56C145.72,56,56,145.72,56,256s89.72,200,200,200,200-89.72,200-200S366.28,56,256,56Zm0,82a26,26,0,1,1-26,26A26,26,0,0,1,256,138Zm48,226H216a16,16,0,0,1,0-32h28V244H228a16,16,0,0,1,0-32h32a16,16,0,0,1,16,16V332h28a16,16,0,0,1,0,32Z"></path></svg>');function Qt(n,t){var r,h;D(t,!0);const i=N("iconCtx")??{};let y=q(t,"size",19,()=>i.size||"24"),_=q(t,"role",19,()=>i.role||"img"),v=q(t,"color",19,()=>i.color||"currentColor"),s=q(t,"ariaLabel",3,"information circle"),c=Q(t,["$$slots","$$events","$$legacy","size","role","color","title","desc","ariaLabel"]),o=`${((r=t.title)==null?void 0:r.id)||""} ${((h=t.desc)==null?void 0:h.id)||""}`;const f=U(()=>{var a,e;return!!((a=t.title)!=null&&a.id||(e=t.desc)!=null&&e.id)});var l=Kt();let m;var b=g(l);{var C=a=>{var e=Nt(),w=g(e,!0);u(e),I(()=>{k(e,"id",t.title.id),M(w,t.title.title)}),z(a,e)};L(b,a=>{var e;(e=t.title)!=null&&e.id&&t.title.title&&a(C)})}var A=x(b);{var d=a=>{var e=Ut(),w=g(e,!0);u(e),I(()=>{k(e,"id",t.desc.id),M(w,t.desc.desc)}),z(a,e)};L(A,a=>{var e;(e=t.desc)!=null&&e.id&&t.desc.desc&&a(d)})}E(),u(l),I(()=>m=X(l,m,{xmlns:"http://www.w3.org/2000/svg",...c,role:_(),width:y(),height:y(),fill:v(),"aria-label":s(),"aria-describedby":T(f)?o:void 0,viewBox:"0 0 512 512"})),z(n,l),H()}var Xt=S("<title> </title>"),pt=S("<desc> </desc>"),$t=S('<svg><!><!><path d="M449.07,399.08,278.64,82.58c-12.08-22.44-44.26-22.44-56.35,0L51.87,399.08A32,32,0,0,0,80,446.25H420.89A32,32,0,0,0,449.07,399.08Zm-198.6-1.83a20,20,0,1,1,20-20A20,20,0,0,1,250.47,397.25ZM272.19,196.1l-5.74,122a16,16,0,0,1-32,0l-5.74-121.95v0a21.73,21.73,0,0,1,21.5-22.69h.21a21.74,21.74,0,0,1,21.73,22.7Z"></path></svg>');function te(n,t){var r,h;D(t,!0);const i=N("iconCtx")??{};let y=q(t,"size",19,()=>i.size||"24"),_=q(t,"role",19,()=>i.role||"img"),v=q(t,"color",19,()=>i.color||"currentColor"),s=q(t,"ariaLabel",3,"warning"),c=Q(t,["$$slots","$$events","$$legacy","size","role","color","title","desc","ariaLabel"]),o=`${((r=t.title)==null?void 0:r.id)||""} ${((h=t.desc)==null?void 0:h.id)||""}`;const f=U(()=>{var a,e;return!!((a=t.title)!=null&&a.id||(e=t.desc)!=null&&e.id)});var l=$t();let m;var b=g(l);{var C=a=>{var e=Xt(),w=g(e,!0);u(e),I(()=>{k(e,"id",t.title.id),M(w,t.title.title)}),z(a,e)};L(b,a=>{var e;(e=t.title)!=null&&e.id&&t.title.title&&a(C)})}var A=x(b);{var d=a=>{var e=pt(),w=g(e,!0);u(e),I(()=>{k(e,"id",t.desc.id),M(w,t.desc.desc)}),z(a,e)};L(A,a=>{var e;(e=t.desc)!=null&&e.id&&t.desc.desc&&a(d)})}E(),u(l),I(()=>m=X(l,m,{xmlns:"http://www.w3.org/2000/svg",...c,role:_(),width:y(),height:y(),fill:v(),"aria-label":s(),"aria-describedby":T(f)?o:void 0,viewBox:"0 0 512 512"})),z(n,l),H()}var ee=B('<div class="item bg-color-3 color-bg svelte-1wdzwm7"><div class="item-icon svelte-1wdzwm7"><!> <!> <!></div> <div class="item-message size-small-2 svelte-1wdzwm7"><!></div></div>');function ae(n,t){D(t,!0);const i=q(t,"type",3,"info"),y=q(t,"time",3,2500);let _=Y(0);V(()=>()=>clearTimeout(T(_)));function v(){G(_,it(window.setTimeout(()=>{t.onEnd(t.id)},y())))}var s=ee(),c=g(s),o=g(c);{var f=r=>{Jt(r,{})};L(o,r=>{i()==="track"&&r(f)})}var l=x(o,2);{var m=r=>{Qt(r,{})};L(l,r=>{i()==="info"&&r(m)})}var b=x(l,2);{var C=r=>{te(r,{})};L(b,r=>{i()==="error"&&r(C)})}u(c);var A=x(c,2),d=g(A);jt(d,()=>t.message),u(A),u(s),ct("introend",s,v),at(1,s,()=>Ht,()=>({y:-50})),at(2,s,()=>Pt),z(n,s),H()}var ie=B("<div><!></div>"),re=B('<div class="manager svelte-1r90u8r"></div>');function se(n,t){D(t,!1);const[i,y]=K(),_=()=>j(J,"$toastItems",i);st();var v=re();qt(v,13,_,s=>s.id,(s,c)=>{var o=ie(),f=g(o);ae(f,At({get onEnd(){return J.removeItem}},()=>T(c))),u(o),Rt(o,()=>Wt,null),z(s,o)}),u(v),z(n,v),H(),y()}var oe=B('<meta name="description" content="A frontend for social spotify-ing"> <meta property="og:title" content="Spotify Party"> <meta property="og:description" content="A frontend for social spotify-ing"> <meta property="og:type" content="website"> <meta property="og:url"> <meta property="og:image"> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:title" content="Spotify Party"> <meta property="twitter:url"> <meta name="twitter:description" content="A frontend for social spotify-ing"> <meta name="twitter:image"> <meta name="theme-color" content="#0000000"> <link rel="icon" href="/favicon.ico"> <link rel="manifest" href="/manifest.json">',1),ne=B("<!> <!>",1);function ue(n,t){D(t,!0);const[i,y]=K(),_=()=>j(St,"$api",i),v=()=>j(Zt,"$socket",i),s=()=>j(rt,"$address",i),c=()=>j(F,"$authenticated",i);let o=Y(!0),f=Y(0);async function l(){clearTimeout(T(f));try{const{authenticated:d=!1}=await _().health();F.set(d)}catch{F.set(!1),G(f,it(window.setTimeout(()=>{l()},5e3)))}}V(()=>{var d,r;(d=v())==null||d.on("message",h=>{J.addItem(h)}),(r=v())==null||r.on("reload",h=>{window.location.reload()})}),V(()=>{kt.set(t.data.config),It.set(t.data.live),Lt.set(!0),l(),G(o,!1)});var m=vt();mt(d=>{var r=oe();zt.title="Spotify Party";var h=x(W(r),8),a=x(h,2),e=x(a,6),w=x(e,4);E(6),I((P,Z,R,O)=>{k(h,"content",P),k(a,"content",Z),k(e,"content",R),k(w,"content",O)},[()=>s().get("/"),()=>s().get("/social.jpg"),()=>s().get("/"),()=>s().get("/social.jpg")]),z(d,r)});var b=W(m);{var C=d=>{Mt(d,{floating:!0})},A=(d,r)=>{{var h=e=>{Bt(e,{})},a=e=>{var w=ne(),P=W(w);se(P,{});var Z=x(P,2);Ct(Z,()=>t.children),z(e,w)};L(d,e=>{c()?e(a,!1):e(h)},r)}};L(b,d=>{T(o)?d(C):d(A,!1)})}z(n,m),H(),y()}export{ue as component};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|