autho 3.0.6 → 3.1.0
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/README.md +8 -2
- package/dist/autho.js +957 -373
- package/package.json +1 -1
package/dist/autho.js
CHANGED
|
@@ -590,7 +590,7 @@ var package_default;
|
|
|
590
590
|
var init_package = __esm(() => {
|
|
591
591
|
package_default = {
|
|
592
592
|
name: "autho",
|
|
593
|
-
version: "3.0
|
|
593
|
+
version: "3.1.0",
|
|
594
594
|
description: "Local-first secret manager for humans and coding agents, rebuilt on Bun",
|
|
595
595
|
type: "module",
|
|
596
596
|
bin: {
|
|
@@ -880,6 +880,19 @@ class AuthoDatabase {
|
|
|
880
880
|
LIMIT 1`).get(id);
|
|
881
881
|
return row ?? null;
|
|
882
882
|
}
|
|
883
|
+
listLeases(limit) {
|
|
884
|
+
return this.db.query(`SELECT
|
|
885
|
+
id,
|
|
886
|
+
name,
|
|
887
|
+
secret_refs AS secretRefs,
|
|
888
|
+
expires_at AS expiresAt,
|
|
889
|
+
revoked_at AS revokedAt,
|
|
890
|
+
created_at AS createdAt,
|
|
891
|
+
include_links AS includeLinks
|
|
892
|
+
FROM leases
|
|
893
|
+
ORDER BY created_at DESC
|
|
894
|
+
LIMIT ?1`).all(limit);
|
|
895
|
+
}
|
|
883
896
|
revokeLease(id, revokedAt) {
|
|
884
897
|
this.db.query("UPDATE leases SET revoked_at = ?2 WHERE id = ?1").run(id, revokedAt);
|
|
885
898
|
}
|
|
@@ -1609,7 +1622,8 @@ var init_settings = __esm(() => {
|
|
|
1609
1622
|
{ kind: "boolean", key: "mouse", label: "Mouse", help: "Click and drag-select in the TUI (off = your terminal's own selection). Applies on next start", default: true },
|
|
1610
1623
|
{ kind: "number", key: "defaultLeaseTtl", label: "Lease TTL", help: "Used by `lease create` when --ttl is not given (0 = always ask)", unit: "s", default: 0, min: 0, max: 2592000, zero: "required" },
|
|
1611
1624
|
{ kind: "number", key: "daemonTtlSeconds", label: "Daemon session", help: "How long `daemon unlock` keeps the vault open without --ttl", unit: "s", default: 900, min: 60, max: 86400 },
|
|
1612
|
-
{ kind: "number", key: "webPort", label: "Web UI port", help: "Port for `autho web serve` when --port is not given", default: 8061, min: 1024, max: 65535 }
|
|
1625
|
+
{ kind: "number", key: "webPort", label: "Web UI port", help: "Port for `autho web serve` (when --port is not given) and for the web UI the TUI serves", default: 8061, min: 1024, max: 65535 },
|
|
1626
|
+
{ kind: "boolean", key: "webWithTui", label: "Web UI with TUI", help: "Serve the web UI on localhost while the TUI is open; it unlocks on its own. Applies on next start", default: true, env: "AUTHO_WEB_WITH_TUI" }
|
|
1613
1627
|
];
|
|
1614
1628
|
});
|
|
1615
1629
|
|
|
@@ -2334,6 +2348,17 @@ function recoveryFileContent(vaultPath, token) {
|
|
|
2334
2348
|
].join(`
|
|
2335
2349
|
`);
|
|
2336
2350
|
}
|
|
2351
|
+
function parseRecoveryFile(content) {
|
|
2352
|
+
const lines = content.split(/\r?\n/);
|
|
2353
|
+
const tokenLineIdx = lines.findIndex((l) => l.trim() === "RECOVERY TOKEN:");
|
|
2354
|
+
if (tokenLineIdx === -1)
|
|
2355
|
+
throw new Error("Invalid recovery file format");
|
|
2356
|
+
const rawTokenLine = lines.slice(tokenLineIdx + 1).find((l) => l.trim() !== "") ?? "";
|
|
2357
|
+
const token = rawTokenLine.trim().replace(/-/g, "").toLowerCase();
|
|
2358
|
+
if (!token)
|
|
2359
|
+
throw new Error("Invalid recovery file format: missing token");
|
|
2360
|
+
return token;
|
|
2361
|
+
}
|
|
2337
2362
|
|
|
2338
2363
|
class VaultSession {
|
|
2339
2364
|
db;
|
|
@@ -2548,7 +2573,12 @@ class VaultSession {
|
|
|
2548
2573
|
};
|
|
2549
2574
|
}
|
|
2550
2575
|
importLegacyFile(filePath, options) {
|
|
2551
|
-
|
|
2576
|
+
return this.importLegacy(JSON.parse(readFileSync3(filePath, "utf8")), options);
|
|
2577
|
+
}
|
|
2578
|
+
importLegacy(raw, options) {
|
|
2579
|
+
if (!Array.isArray(raw)) {
|
|
2580
|
+
throw new Error("Legacy backup must be a JSON array of secrets");
|
|
2581
|
+
}
|
|
2552
2582
|
return this.sealedWrite(() => this.importLegacyEntries(raw, options));
|
|
2553
2583
|
}
|
|
2554
2584
|
importLegacyEntries(raw, options) {
|
|
@@ -2771,6 +2801,9 @@ class VaultSession {
|
|
|
2771
2801
|
});
|
|
2772
2802
|
return lease;
|
|
2773
2803
|
}
|
|
2804
|
+
listLeases(limit = 100) {
|
|
2805
|
+
return this.db.listLeases(limit).map(parseLease);
|
|
2806
|
+
}
|
|
2774
2807
|
revokeLease(id) {
|
|
2775
2808
|
return this.sealedWrite(() => {
|
|
2776
2809
|
const lease = this.getLeaseOrThrow(id);
|
|
@@ -3110,6 +3143,867 @@ async function deletePin(vaultPath) {
|
|
|
3110
3143
|
var VAULT_PASSWORD_SERVICE = "autho.vault", USER_SECRETS_SERVICE = "autho", PIN_SERVICE = "autho.pin", SEAL_SERVICE = "autho.seal";
|
|
3111
3144
|
var init_os_secrets = () => {};
|
|
3112
3145
|
|
|
3146
|
+
// apps/web/src/api.ts
|
|
3147
|
+
import { randomBytes as randomBytes6 } from "crypto";
|
|
3148
|
+
import { existsSync as existsSync5 } from "fs";
|
|
3149
|
+
import { basename as basename3, join as join3, resolve as resolve4 } from "path";
|
|
3150
|
+
function str(body, key, max) {
|
|
3151
|
+
const value = body[key];
|
|
3152
|
+
if (typeof value !== "string")
|
|
3153
|
+
throw new HttpError(400, `${key} is required`);
|
|
3154
|
+
if (value.length > max)
|
|
3155
|
+
throw new HttpError(400, `${key} is too long`);
|
|
3156
|
+
return value;
|
|
3157
|
+
}
|
|
3158
|
+
function optStr(body, key, max) {
|
|
3159
|
+
return body[key] === undefined || body[key] === null ? undefined : str(body, key, max);
|
|
3160
|
+
}
|
|
3161
|
+
function secretType(body) {
|
|
3162
|
+
const type = str(body, "type", 16);
|
|
3163
|
+
if (!SECRET_TYPES.has(type))
|
|
3164
|
+
throw new HttpError(400, "type must be password, note or otp");
|
|
3165
|
+
return type;
|
|
3166
|
+
}
|
|
3167
|
+
function b64url(body, key, max) {
|
|
3168
|
+
const value = str(body, key, max);
|
|
3169
|
+
if (!B64URL2.test(value))
|
|
3170
|
+
throw new HttpError(400, `${key} is malformed`);
|
|
3171
|
+
return value;
|
|
3172
|
+
}
|
|
3173
|
+
function totpCode(body) {
|
|
3174
|
+
const code = optStr(body, "totp", 16)?.replace(/\s/g, "");
|
|
3175
|
+
if (code !== undefined && code !== "" && !/^\d{6,8}$/.test(code))
|
|
3176
|
+
throw new HttpError(400, "The authenticator code is 6 digits");
|
|
3177
|
+
return code || undefined;
|
|
3178
|
+
}
|
|
3179
|
+
function credentials(body, allowRecovery) {
|
|
3180
|
+
switch (body.method) {
|
|
3181
|
+
case "password":
|
|
3182
|
+
return { password: str(body, "password", LIMITS.password), totp: totpCode(body) };
|
|
3183
|
+
case "passkey":
|
|
3184
|
+
return { password: "", passkey: { credentialId: b64url(body, "credentialId", 1400), prfOutput: b64url(body, "prfOutput", 64) } };
|
|
3185
|
+
case "recovery":
|
|
3186
|
+
if (!allowRecovery)
|
|
3187
|
+
break;
|
|
3188
|
+
try {
|
|
3189
|
+
return { password: "", recovery: parseRecoveryFile(str(body, "recoveryFile", 4096)) };
|
|
3190
|
+
} catch {
|
|
3191
|
+
throw new HttpError(400, "That is not an autho recovery file");
|
|
3192
|
+
}
|
|
3193
|
+
}
|
|
3194
|
+
throw new HttpError(400, "Unknown unlock method");
|
|
3195
|
+
}
|
|
3196
|
+
async function throttled(ctx, body, allowRecovery, check) {
|
|
3197
|
+
const creds = credentials(body, allowRecovery);
|
|
3198
|
+
if (!ctx.throttle.begin()) {
|
|
3199
|
+
const wait = Math.max(1, Math.ceil(ctx.throttle.retryAfterMs() / 1000));
|
|
3200
|
+
throw new HttpError(429, `Too many attempts \u2014 try again in ${wait}s`, { "retry-after": String(wait) });
|
|
3201
|
+
}
|
|
3202
|
+
let result;
|
|
3203
|
+
try {
|
|
3204
|
+
result = await check(creds);
|
|
3205
|
+
} catch (error) {
|
|
3206
|
+
ctx.throttle.fail();
|
|
3207
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
3208
|
+
throw new HttpError(401, /TOTP/.test(message) ? "Invalid or missing authenticator code" : message);
|
|
3209
|
+
}
|
|
3210
|
+
ctx.throttle.succeed();
|
|
3211
|
+
return result;
|
|
3212
|
+
}
|
|
3213
|
+
function uiPrefs() {
|
|
3214
|
+
return Object.fromEntries(["revealSeconds", "clipboardClearSeconds", "idleLockSeconds", "passwordLength", "passwordSymbols"].map((key) => [key, resolvePreference(key).value]));
|
|
3215
|
+
}
|
|
3216
|
+
function sessionInfo(ctx, session) {
|
|
3217
|
+
const { idleAt, hardAt } = ctx.sessions.expiresAt(session);
|
|
3218
|
+
return {
|
|
3219
|
+
csrf: session.csrf,
|
|
3220
|
+
idleAt,
|
|
3221
|
+
hardAt,
|
|
3222
|
+
prefs: uiPrefs(),
|
|
3223
|
+
vault: { name: basename3(ctx.vaultPath), path: ctx.vaultPath },
|
|
3224
|
+
version: package_default.version
|
|
3225
|
+
};
|
|
3226
|
+
}
|
|
3227
|
+
function secretDetail(session, entry) {
|
|
3228
|
+
return { ...entry, ...session.getLinks(entry.id) };
|
|
3229
|
+
}
|
|
3230
|
+
function findEntry(session, ref) {
|
|
3231
|
+
const entry = session.listSecretIndex().find((e) => e.id === ref || e.name === ref);
|
|
3232
|
+
if (!entry)
|
|
3233
|
+
throw new HttpError(404, `Secret not found: ${ref}`);
|
|
3234
|
+
return entry;
|
|
3235
|
+
}
|
|
3236
|
+
function metadataFrom(body, type) {
|
|
3237
|
+
const metadata = {};
|
|
3238
|
+
const url = optStr(body, "url", LIMITS.short)?.trim();
|
|
3239
|
+
const description = optStr(body, "description", LIMITS.notes)?.trim();
|
|
3240
|
+
if (type === "password" && url) {
|
|
3241
|
+
if (!/^https?:\/\//i.test(url))
|
|
3242
|
+
throw new HttpError(400, "URL must start with http:// or https://");
|
|
3243
|
+
metadata.url = url;
|
|
3244
|
+
}
|
|
3245
|
+
if (description)
|
|
3246
|
+
metadata.description = description;
|
|
3247
|
+
return metadata;
|
|
3248
|
+
}
|
|
3249
|
+
async function withVault(ctx, session, fn) {
|
|
3250
|
+
const vault = new VaultSession(new AuthoDatabase(ctx.vaultPath), session.rootKey, {
|
|
3251
|
+
sealBound: session.sealBound,
|
|
3252
|
+
sealRecord: await loadSealRecord(ctx.vaultPath)
|
|
3253
|
+
});
|
|
3254
|
+
try {
|
|
3255
|
+
return fn(vault);
|
|
3256
|
+
} finally {
|
|
3257
|
+
await closeSessionAndRecordSeal(ctx.vaultPath, vault);
|
|
3258
|
+
}
|
|
3259
|
+
}
|
|
3260
|
+
function requireAdmin(ctx, session) {
|
|
3261
|
+
const admin = ctx.sessions.admin(session);
|
|
3262
|
+
if (!admin)
|
|
3263
|
+
throw new HttpError(403, "Confirm your identity to change security settings");
|
|
3264
|
+
return admin;
|
|
3265
|
+
}
|
|
3266
|
+
async function adminChange(ctx, admin, fn) {
|
|
3267
|
+
const result = await fn();
|
|
3268
|
+
await saveSealRecord(ctx.vaultPath, admin.sealRecord());
|
|
3269
|
+
return result;
|
|
3270
|
+
}
|
|
3271
|
+
async function securityStatus(ctx, session) {
|
|
3272
|
+
const auth = VaultService.getAuthConfig(ctx.vaultPath);
|
|
3273
|
+
const osStore = !osSecretsDisabled();
|
|
3274
|
+
const admin = ctx.sessions.admin(session);
|
|
3275
|
+
return {
|
|
3276
|
+
adminUntil: admin ? session.admin?.expiresAt ?? null : null,
|
|
3277
|
+
adminHasPassword: admin?.hasPassword ?? false,
|
|
3278
|
+
keychain: osStore ? await loadVaultPassword(ctx.vaultPath) !== null : false,
|
|
3279
|
+
osStore,
|
|
3280
|
+
passkeys: VaultService.listPasskeys(ctx.vaultPath).map(({ id, label, createdAt, credentialId }) => ({ id, label, createdAt, credentialId })),
|
|
3281
|
+
pin: osStore ? await hasPinSet(ctx.vaultPath) : false,
|
|
3282
|
+
recoveryAt: auth?.recovery?.createdAt ?? null,
|
|
3283
|
+
totp: auth?.totp !== undefined
|
|
3284
|
+
};
|
|
3285
|
+
}
|
|
3286
|
+
function route(method, path, auth, handler) {
|
|
3287
|
+
const keys = [];
|
|
3288
|
+
const pattern = new RegExp(`^${path.replace(/:(\w+)/g, (_, key) => {
|
|
3289
|
+
keys.push(key);
|
|
3290
|
+
return "([^/]+)";
|
|
3291
|
+
})}$`);
|
|
3292
|
+
routes.push({ method, pattern, keys, auth, handler });
|
|
3293
|
+
}
|
|
3294
|
+
function matchRoute(method, pathname) {
|
|
3295
|
+
let pathMatched = false;
|
|
3296
|
+
for (const candidate of routes) {
|
|
3297
|
+
const match = candidate.pattern.exec(pathname);
|
|
3298
|
+
if (!match)
|
|
3299
|
+
continue;
|
|
3300
|
+
pathMatched = true;
|
|
3301
|
+
if (candidate.method !== method)
|
|
3302
|
+
continue;
|
|
3303
|
+
const params = {};
|
|
3304
|
+
try {
|
|
3305
|
+
candidate.keys.forEach((key, index) => {
|
|
3306
|
+
params[key] = decodeURIComponent(match[index + 1]);
|
|
3307
|
+
});
|
|
3308
|
+
} catch {
|
|
3309
|
+
return null;
|
|
3310
|
+
}
|
|
3311
|
+
return { route: candidate, params };
|
|
3312
|
+
}
|
|
3313
|
+
return pathMatched ? "method" : null;
|
|
3314
|
+
}
|
|
3315
|
+
var HttpError, LIMITS, B64URL2, SECRET_TYPES, PREF_KEYS, GUARDED_PREFS, routes;
|
|
3316
|
+
var init_api = __esm(() => {
|
|
3317
|
+
init_src();
|
|
3318
|
+
init_src3();
|
|
3319
|
+
init_os_secrets();
|
|
3320
|
+
init_package();
|
|
3321
|
+
HttpError = class HttpError extends Error {
|
|
3322
|
+
status;
|
|
3323
|
+
headers;
|
|
3324
|
+
constructor(status, message, headers = {}) {
|
|
3325
|
+
super(message);
|
|
3326
|
+
this.status = status;
|
|
3327
|
+
this.headers = headers;
|
|
3328
|
+
}
|
|
3329
|
+
};
|
|
3330
|
+
LIMITS = { name: 200, value: 65536, short: 512, notes: 8192, password: 1024 };
|
|
3331
|
+
B64URL2 = /^[A-Za-z0-9_-]+$/;
|
|
3332
|
+
SECRET_TYPES = new Set(["password", "note", "otp"]);
|
|
3333
|
+
PREF_KEYS = PREFERENCES.map((spec) => spec.key);
|
|
3334
|
+
GUARDED_PREFS = new Set(["idleLockSeconds", "clipboardClearSeconds"]);
|
|
3335
|
+
routes = [];
|
|
3336
|
+
route("GET", "/api/auth", false, (ctx) => {
|
|
3337
|
+
const auth = VaultService.getAuthConfig(ctx.vaultPath);
|
|
3338
|
+
const initialized = new AuthoDatabase(ctx.vaultPath);
|
|
3339
|
+
let ready;
|
|
3340
|
+
try {
|
|
3341
|
+
ready = initialized.getVaultConfig() !== null;
|
|
3342
|
+
} finally {
|
|
3343
|
+
initialized.close();
|
|
3344
|
+
}
|
|
3345
|
+
return {
|
|
3346
|
+
data: {
|
|
3347
|
+
initialized: ready,
|
|
3348
|
+
passkeys: VaultService.listPasskeys(ctx.vaultPath).map(({ credentialId, prfSalt, transports, label }) => ({ credentialId, prfSalt, transports, label })),
|
|
3349
|
+
recovery: auth?.recovery !== undefined,
|
|
3350
|
+
rpId: "localhost",
|
|
3351
|
+
totp: auth?.totp !== undefined,
|
|
3352
|
+
vault: basename3(ctx.vaultPath)
|
|
3353
|
+
}
|
|
3354
|
+
};
|
|
3355
|
+
});
|
|
3356
|
+
route("POST", "/api/session/unlock", false, async (ctx, { body }) => {
|
|
3357
|
+
const { rootKey, sealBound } = await throttled(ctx, body, true, async (creds) => {
|
|
3358
|
+
const vault = VaultService.unlock(ctx.vaultPath, { ...creds, sealRecord: await loadSealRecord(ctx.vaultPath) });
|
|
3359
|
+
const unlocked = { rootKey: vault.getRootKey(), sealBound: vault.sealBound };
|
|
3360
|
+
await closeSessionAndRecordSeal(ctx.vaultPath, vault);
|
|
3361
|
+
return unlocked;
|
|
3362
|
+
});
|
|
3363
|
+
const session = ctx.sessions.create(rootKey, sealBound);
|
|
3364
|
+
return { data: sessionInfo(ctx, session), session };
|
|
3365
|
+
});
|
|
3366
|
+
route("POST", "/api/session/lock", false, () => ({ data: { locked: true }, session: "ended" }));
|
|
3367
|
+
route("GET", "/api/session", true, (ctx, { session }) => ({ data: sessionInfo(ctx, session) }));
|
|
3368
|
+
route("GET", "/api/secrets", true, (ctx, { session }) => withVault(ctx, session, (vault) => ({ data: vault.listSecretIndex() })));
|
|
3369
|
+
route("POST", "/api/secrets", true, (ctx, { body, session }) => withVault(ctx, session, (vault) => {
|
|
3370
|
+
const type = secretType(body);
|
|
3371
|
+
const username = type === "note" ? undefined : optStr(body, "username", LIMITS.short)?.trim() || undefined;
|
|
3372
|
+
const created = vault.addSecret({
|
|
3373
|
+
metadata: metadataFrom(body, type),
|
|
3374
|
+
name: str(body, "name", LIMITS.name).trim(),
|
|
3375
|
+
type,
|
|
3376
|
+
username,
|
|
3377
|
+
value: str(body, "value", LIMITS.value)
|
|
3378
|
+
});
|
|
3379
|
+
return { data: created, status: 201 };
|
|
3380
|
+
}));
|
|
3381
|
+
route("GET", "/api/secrets/:ref", true, (ctx, { params, session }) => withVault(ctx, session, (vault) => ({ data: secretDetail(vault, findEntry(vault, params.ref)) })));
|
|
3382
|
+
route("PATCH", "/api/secrets/:ref", true, (ctx, { body, params, session }) => withVault(ctx, session, (vault) => {
|
|
3383
|
+
const existing = findEntry(vault, params.ref);
|
|
3384
|
+
const type = body.type === undefined ? existing.type : secretType(body);
|
|
3385
|
+
const parsed = metadataFrom(body, type);
|
|
3386
|
+
const metadata = {};
|
|
3387
|
+
if ("url" in body || type !== "password")
|
|
3388
|
+
metadata.url = parsed.url;
|
|
3389
|
+
if ("description" in body)
|
|
3390
|
+
metadata.description = parsed.description;
|
|
3391
|
+
const updated = vault.updateSecret(existing.id, {
|
|
3392
|
+
metadata,
|
|
3393
|
+
name: optStr(body, "name", LIMITS.name)?.trim() || undefined,
|
|
3394
|
+
type,
|
|
3395
|
+
username: type === "note" ? "" : optStr(body, "username", LIMITS.short)?.trim(),
|
|
3396
|
+
value: optStr(body, "value", LIMITS.value) || undefined
|
|
3397
|
+
});
|
|
3398
|
+
return { data: updated };
|
|
3399
|
+
}));
|
|
3400
|
+
route("DELETE", "/api/secrets/:ref", true, (ctx, { params, query, session }) => withVault(ctx, session, (vault) => ({ data: vault.removeSecret(params.ref, { withLinked: query.get("withLinked") === "1" }) })));
|
|
3401
|
+
route("POST", "/api/secrets/:ref/reveal", true, (ctx, { params, session }) => withVault(ctx, session, (vault) => {
|
|
3402
|
+
const secret = vault.getSecret(params.ref);
|
|
3403
|
+
return { data: { value: secret.value } };
|
|
3404
|
+
}));
|
|
3405
|
+
route("GET", "/api/secrets/:ref/otp", true, (ctx, { params, query, session }) => withVault(ctx, session, (vault) => ({ data: vault.generateOtp(params.ref, { audit: query.get("copy") === "1" }) })));
|
|
3406
|
+
route("POST", "/api/links", true, (ctx, { body, session }) => withVault(ctx, session, (vault) => ({ data: vault.linkSecrets(str(body, "primary", LIMITS.name), str(body, "secret", LIMITS.name)) })));
|
|
3407
|
+
route("DELETE", "/api/links", true, (ctx, { body, session }) => withVault(ctx, session, (vault) => ({ data: vault.unlinkSecrets(str(body, "primary", LIMITS.name), str(body, "secret", LIMITS.name)) })));
|
|
3408
|
+
route("GET", "/api/leases", true, (ctx, { session }) => withVault(ctx, session, (vault) => ({ data: vault.listLeases(200).map((lease) => ({ ...lease, coverage: vault.showLease(lease.id).coverage })) })));
|
|
3409
|
+
route("POST", "/api/leases", true, (ctx, { body, session }) => withVault(ctx, session, (vault) => {
|
|
3410
|
+
const refs = body.secrets;
|
|
3411
|
+
if (!Array.isArray(refs) || refs.length === 0 || refs.length > 500 || !refs.every((r) => typeof r === "string" && r.length <= LIMITS.name)) {
|
|
3412
|
+
throw new HttpError(400, "Pick at least one secret");
|
|
3413
|
+
}
|
|
3414
|
+
const ttl = body.ttlSeconds;
|
|
3415
|
+
if (typeof ttl !== "number" || !Number.isInteger(ttl) || ttl <= 0 || ttl > 2592000) {
|
|
3416
|
+
throw new HttpError(400, "TTL must be between 1 second and 30 days");
|
|
3417
|
+
}
|
|
3418
|
+
const lease = vault.createLease({
|
|
3419
|
+
name: optStr(body, "name", LIMITS.name)?.trim() || "web",
|
|
3420
|
+
noLinks: body.includeLinks === false,
|
|
3421
|
+
secretRefs: refs,
|
|
3422
|
+
ttlSeconds: ttl
|
|
3423
|
+
});
|
|
3424
|
+
return { data: lease, status: 201 };
|
|
3425
|
+
}));
|
|
3426
|
+
route("POST", "/api/leases/:id/revoke", true, (ctx, { params, session }) => withVault(ctx, session, (vault) => ({ data: vault.revokeLease(params.id) })));
|
|
3427
|
+
route("GET", "/api/audit", true, (ctx, { query, session }) => {
|
|
3428
|
+
const limit = Math.min(500, Math.max(1, Number(query.get("limit") ?? 100) || 100));
|
|
3429
|
+
return withVault(ctx, session, (vault) => ({ data: vault.listAudit(limit) }));
|
|
3430
|
+
});
|
|
3431
|
+
route("GET", "/api/vault/verify", true, (ctx, { session }) => withVault(ctx, session, (vault) => ({ data: vault.verifySeal() })));
|
|
3432
|
+
route("POST", "/api/import", true, (ctx, { body, session }) => withVault(ctx, session, (vault) => ({ data: vault.importLegacy(body.entries, { skipExisting: body.skipExisting !== false }) })));
|
|
3433
|
+
route("GET", "/api/settings", true, async (ctx, { session }) => ({
|
|
3434
|
+
data: {
|
|
3435
|
+
about: { bun: Bun.version, platform: `${process.platform}-${process.arch}`, version: package_default.version },
|
|
3436
|
+
paths: {
|
|
3437
|
+
config: configFilePath(),
|
|
3438
|
+
envHome: process.env.AUTHO_HOME !== undefined,
|
|
3439
|
+
vaultDir: loadConfig().vaultDir ?? null,
|
|
3440
|
+
daemon: defaultDaemonStatePath(),
|
|
3441
|
+
home: authoHomeDir(),
|
|
3442
|
+
project: defaultProjectFilePath(),
|
|
3443
|
+
vault: ctx.vaultPath
|
|
3444
|
+
},
|
|
3445
|
+
preferences: PREFERENCES.map((spec) => {
|
|
3446
|
+
const { value, source } = resolvePreference(spec.key);
|
|
3447
|
+
return { ...spec, display: formatPreference(spec.key, value), guarded: GUARDED_PREFS.has(spec.key), source, value };
|
|
3448
|
+
}),
|
|
3449
|
+
security: await securityStatus(ctx, session)
|
|
3450
|
+
}
|
|
3451
|
+
}));
|
|
3452
|
+
route("PUT", "/api/settings/preferences/:key", true, (ctx, { body, params, session }) => {
|
|
3453
|
+
const key = params.key;
|
|
3454
|
+
if (!PREF_KEYS.includes(key))
|
|
3455
|
+
throw new HttpError(404, `Unknown setting: ${params.key}`);
|
|
3456
|
+
if (GUARDED_PREFS.has(key))
|
|
3457
|
+
requireAdmin(ctx, session);
|
|
3458
|
+
if (body.value === null) {
|
|
3459
|
+
setPreference(key, null);
|
|
3460
|
+
} else if (typeof body.value === "number" || typeof body.value === "boolean" || typeof body.value === "string") {
|
|
3461
|
+
try {
|
|
3462
|
+
setPreference(key, parsePreference(key, String(body.value)));
|
|
3463
|
+
} catch (error) {
|
|
3464
|
+
throw new HttpError(400, error instanceof Error ? error.message : String(error));
|
|
3465
|
+
}
|
|
3466
|
+
} else {
|
|
3467
|
+
throw new HttpError(400, "value is required");
|
|
3468
|
+
}
|
|
3469
|
+
const { value, source } = resolvePreference(key);
|
|
3470
|
+
return { data: { display: formatPreference(key, value), key, source, value, prefs: uiPrefs() } };
|
|
3471
|
+
});
|
|
3472
|
+
route("PUT", "/api/settings/vault-dir", true, (ctx, { body, session }) => {
|
|
3473
|
+
requireAdmin(ctx, session);
|
|
3474
|
+
if (process.env.AUTHO_HOME)
|
|
3475
|
+
throw new HttpError(400, "AUTHO_HOME is set, so it decides the folder");
|
|
3476
|
+
const raw = optStr(body, "path", 1024)?.trim();
|
|
3477
|
+
const config = { ...loadConfig() };
|
|
3478
|
+
const target = raw ? resolve4(raw).replace(/\\/g, "/") : null;
|
|
3479
|
+
if (target)
|
|
3480
|
+
config.vaultDir = target;
|
|
3481
|
+
else
|
|
3482
|
+
delete config.vaultDir;
|
|
3483
|
+
saveConfig(config);
|
|
3484
|
+
return { data: { home: authoHomeDir(), missingVault: target !== null && !existsSync5(join3(target, "vault.db")), vaultDir: target } };
|
|
3485
|
+
});
|
|
3486
|
+
route("POST", "/api/admin/authorize", true, async (ctx, { body, session }) => {
|
|
3487
|
+
const handle = await throttled(ctx, body, false, async (creds) => VaultService.authorize(ctx.vaultPath, { ...creds, sealRecord: await loadSealRecord(ctx.vaultPath) }));
|
|
3488
|
+
ctx.sessions.grantAdmin(session, handle);
|
|
3489
|
+
return { data: await securityStatus(ctx, session) };
|
|
3490
|
+
});
|
|
3491
|
+
route("POST", "/api/admin/release", true, async (ctx, { session }) => {
|
|
3492
|
+
ctx.sessions.dropAdmin(session);
|
|
3493
|
+
return { data: await securityStatus(ctx, session) };
|
|
3494
|
+
});
|
|
3495
|
+
route("POST", "/api/admin/password", true, async (ctx, { body, session }) => {
|
|
3496
|
+
const admin = requireAdmin(ctx, session);
|
|
3497
|
+
const next = str(body, "newPassword", LIMITS.password);
|
|
3498
|
+
if (next.length < MIN_PASSWORD_LENGTH)
|
|
3499
|
+
throw new HttpError(400, `Use at least ${MIN_PASSWORD_LENGTH} characters`);
|
|
3500
|
+
await adminChange(ctx, admin, async () => {
|
|
3501
|
+
admin.changePassword(next);
|
|
3502
|
+
if (await loadVaultPassword(ctx.vaultPath))
|
|
3503
|
+
await storeVaultPassword(ctx.vaultPath, next);
|
|
3504
|
+
});
|
|
3505
|
+
return { data: await securityStatus(ctx, session) };
|
|
3506
|
+
});
|
|
3507
|
+
route("POST", "/api/admin/totp/setup", true, (ctx, { session }) => {
|
|
3508
|
+
requireAdmin(ctx, session);
|
|
3509
|
+
session.pendingTotp = VaultService.setupTotp(ctx.vaultPath);
|
|
3510
|
+
return { data: session.pendingTotp };
|
|
3511
|
+
});
|
|
3512
|
+
route("POST", "/api/admin/totp", true, async (ctx, { body, session }) => {
|
|
3513
|
+
const admin = requireAdmin(ctx, session);
|
|
3514
|
+
const pending = session.pendingTotp;
|
|
3515
|
+
if (!pending)
|
|
3516
|
+
throw new HttpError(400, "Start two-factor setup first");
|
|
3517
|
+
const code = totpCode({ totp: body.code });
|
|
3518
|
+
if (!code)
|
|
3519
|
+
throw new HttpError(400, "Enter the code from your authenticator app");
|
|
3520
|
+
try {
|
|
3521
|
+
await adminChange(ctx, admin, () => admin.enableTotp(pending.secret, code));
|
|
3522
|
+
} catch (error) {
|
|
3523
|
+
throw new HttpError(400, error instanceof Error ? error.message : String(error));
|
|
3524
|
+
}
|
|
3525
|
+
session.pendingTotp = null;
|
|
3526
|
+
return { data: await securityStatus(ctx, session) };
|
|
3527
|
+
});
|
|
3528
|
+
route("DELETE", "/api/admin/totp", true, async (ctx, { session }) => {
|
|
3529
|
+
const admin = requireAdmin(ctx, session);
|
|
3530
|
+
await adminChange(ctx, admin, () => admin.removeTotp());
|
|
3531
|
+
return { data: await securityStatus(ctx, session) };
|
|
3532
|
+
});
|
|
3533
|
+
route("POST", "/api/admin/passkeys/options", true, (ctx, { session }) => {
|
|
3534
|
+
requireAdmin(ctx, session);
|
|
3535
|
+
const prfSalt = randomBytes6(32).toString("base64url");
|
|
3536
|
+
session.pendingPasskey = { prfSalt };
|
|
3537
|
+
return {
|
|
3538
|
+
data: {
|
|
3539
|
+
exclude: VaultService.listPasskeys(ctx.vaultPath).map((p) => p.credentialId),
|
|
3540
|
+
prfSalt,
|
|
3541
|
+
rpId: "localhost",
|
|
3542
|
+
userId: randomBytes6(16).toString("base64url"),
|
|
3543
|
+
userName: `autho (${basename3(ctx.vaultPath)})`
|
|
3544
|
+
}
|
|
3545
|
+
};
|
|
3546
|
+
});
|
|
3547
|
+
route("POST", "/api/admin/passkeys", true, async (ctx, { body, session }) => {
|
|
3548
|
+
const admin = requireAdmin(ctx, session);
|
|
3549
|
+
const pending = session.pendingPasskey;
|
|
3550
|
+
if (!pending)
|
|
3551
|
+
throw new HttpError(400, "Start adding a passkey first");
|
|
3552
|
+
const transports = Array.isArray(body.transports) ? body.transports.filter((t) => typeof t === "string" && /^[a-z-]{1,20}$/.test(t)).slice(0, 8) : undefined;
|
|
3553
|
+
const info = await adminChange(ctx, admin, () => admin.addPasskey({
|
|
3554
|
+
credentialId: b64url(body, "credentialId", 1400),
|
|
3555
|
+
label: str(body, "label", 64).trim() || "passkey",
|
|
3556
|
+
prfOutput: b64url(body, "prfOutput", 64),
|
|
3557
|
+
prfSalt: pending.prfSalt,
|
|
3558
|
+
transports
|
|
3559
|
+
}));
|
|
3560
|
+
session.pendingPasskey = null;
|
|
3561
|
+
return { data: { added: info.label, security: await securityStatus(ctx, session) } };
|
|
3562
|
+
});
|
|
3563
|
+
route("DELETE", "/api/admin/passkeys/:id", true, async (ctx, { params, session }) => {
|
|
3564
|
+
const admin = requireAdmin(ctx, session);
|
|
3565
|
+
await adminChange(ctx, admin, () => admin.removePasskey(params.id));
|
|
3566
|
+
return { data: await securityStatus(ctx, session) };
|
|
3567
|
+
});
|
|
3568
|
+
route("POST", "/api/admin/recovery", true, async (ctx, { session }) => {
|
|
3569
|
+
const admin = requireAdmin(ctx, session);
|
|
3570
|
+
const { fileContent } = await adminChange(ctx, admin, () => admin.generateRecovery());
|
|
3571
|
+
return { data: { fileContent, security: await securityStatus(ctx, session) } };
|
|
3572
|
+
});
|
|
3573
|
+
route("DELETE", "/api/admin/recovery", true, async (ctx, { session }) => {
|
|
3574
|
+
const admin = requireAdmin(ctx, session);
|
|
3575
|
+
await adminChange(ctx, admin, () => admin.revokeRecovery());
|
|
3576
|
+
return { data: await securityStatus(ctx, session) };
|
|
3577
|
+
});
|
|
3578
|
+
route("POST", "/api/admin/keychain", true, async (ctx, { session }) => {
|
|
3579
|
+
const admin = requireAdmin(ctx, session);
|
|
3580
|
+
if (osSecretsDisabled())
|
|
3581
|
+
throw new HttpError(400, "The OS keychain is not available");
|
|
3582
|
+
if (!admin.hasPassword)
|
|
3583
|
+
throw new HttpError(400, "Confirm with your master password to save it in the keychain");
|
|
3584
|
+
if (!await storeVaultPassword(ctx.vaultPath, admin.masterPassword()))
|
|
3585
|
+
throw new HttpError(400, "The OS keychain refused the password");
|
|
3586
|
+
return { data: await securityStatus(ctx, session) };
|
|
3587
|
+
});
|
|
3588
|
+
route("DELETE", "/api/admin/keychain", true, async (ctx, { session }) => {
|
|
3589
|
+
await deleteVaultPassword(ctx.vaultPath);
|
|
3590
|
+
return { data: await securityStatus(ctx, session) };
|
|
3591
|
+
});
|
|
3592
|
+
route("POST", "/api/admin/pin", true, async (ctx, { body, session }) => {
|
|
3593
|
+
requireAdmin(ctx, session);
|
|
3594
|
+
if (osSecretsDisabled())
|
|
3595
|
+
throw new HttpError(400, "The OS keychain is not available");
|
|
3596
|
+
const pin = str(body, "pin", 12);
|
|
3597
|
+
if (!/^\d{4,12}$/.test(pin))
|
|
3598
|
+
throw new HttpError(400, "Use 4 to 12 digits");
|
|
3599
|
+
if (!await storePinHash(ctx.vaultPath, pin))
|
|
3600
|
+
throw new HttpError(400, "The OS keychain refused the PIN");
|
|
3601
|
+
return { data: await securityStatus(ctx, session) };
|
|
3602
|
+
});
|
|
3603
|
+
route("DELETE", "/api/admin/pin", true, async (ctx, { session }) => {
|
|
3604
|
+
requireAdmin(ctx, session);
|
|
3605
|
+
await deletePin(ctx.vaultPath);
|
|
3606
|
+
return { data: await securityStatus(ctx, session) };
|
|
3607
|
+
});
|
|
3608
|
+
route("POST", "/api/admin/reseal", true, async (ctx, { body, session }) => {
|
|
3609
|
+
const admin = requireAdmin(ctx, session);
|
|
3610
|
+
if (body.mode !== "accept" && body.mode !== "quarantine")
|
|
3611
|
+
throw new HttpError(400, "mode must be accept or quarantine");
|
|
3612
|
+
const { sealRecord, ...result } = admin.reseal(body.mode);
|
|
3613
|
+
await saveSealRecord(ctx.vaultPath, sealRecord);
|
|
3614
|
+
return { data: result };
|
|
3615
|
+
});
|
|
3616
|
+
});
|
|
3617
|
+
|
|
3618
|
+
// apps/web/src/security.ts
|
|
3619
|
+
import { randomBytes as randomBytes7, timingSafeEqual as timingSafeEqual5 } from "crypto";
|
|
3620
|
+
function isLoopbackHost(host) {
|
|
3621
|
+
return host === "localhost" || host === "::1" || host === "[::1]" || /^127(\.\d{1,3}){3}$/.test(host);
|
|
3622
|
+
}
|
|
3623
|
+
function allowedHosts(port) {
|
|
3624
|
+
return new Set(LOOPBACK_HOSTS.map((host) => `${host}:${port}`));
|
|
3625
|
+
}
|
|
3626
|
+
function hostAllowed(request, hosts) {
|
|
3627
|
+
const host = request.headers.get("host");
|
|
3628
|
+
return host !== null && hosts.has(host.toLowerCase());
|
|
3629
|
+
}
|
|
3630
|
+
function sameOrigin(request, hosts) {
|
|
3631
|
+
const origin = request.headers.get("origin");
|
|
3632
|
+
if (origin !== null) {
|
|
3633
|
+
let parsed;
|
|
3634
|
+
try {
|
|
3635
|
+
parsed = new URL(origin);
|
|
3636
|
+
} catch {
|
|
3637
|
+
return false;
|
|
3638
|
+
}
|
|
3639
|
+
if (parsed.protocol !== "http:" || !hosts.has(parsed.host.toLowerCase()))
|
|
3640
|
+
return false;
|
|
3641
|
+
if (parsed.host.toLowerCase() !== request.headers.get("host")?.toLowerCase())
|
|
3642
|
+
return false;
|
|
3643
|
+
}
|
|
3644
|
+
const site = request.headers.get("sec-fetch-site");
|
|
3645
|
+
if (site !== null && site !== "same-origin" && site !== "none")
|
|
3646
|
+
return false;
|
|
3647
|
+
return true;
|
|
3648
|
+
}
|
|
3649
|
+
function newToken(bytes = 32) {
|
|
3650
|
+
return randomBytes7(bytes).toString("base64url");
|
|
3651
|
+
}
|
|
3652
|
+
function tokensEqual(candidate, expected) {
|
|
3653
|
+
if (!candidate)
|
|
3654
|
+
return false;
|
|
3655
|
+
const a = Buffer.from(candidate);
|
|
3656
|
+
const b = Buffer.from(expected);
|
|
3657
|
+
return a.length === b.length && timingSafeEqual5(a, b);
|
|
3658
|
+
}
|
|
3659
|
+
function securityHeaders(extra = {}) {
|
|
3660
|
+
return { ...BASE_HEADERS, ...extra };
|
|
3661
|
+
}
|
|
3662
|
+
function pageCsp(nonce) {
|
|
3663
|
+
return [
|
|
3664
|
+
"default-src 'none'",
|
|
3665
|
+
`script-src 'nonce-${nonce}'`,
|
|
3666
|
+
"style-src 'self' 'unsafe-inline'",
|
|
3667
|
+
"img-src 'self' data:",
|
|
3668
|
+
"font-src 'self' data:",
|
|
3669
|
+
"connect-src 'self'",
|
|
3670
|
+
"base-uri 'none'",
|
|
3671
|
+
"form-action 'none'",
|
|
3672
|
+
"frame-ancestors 'none'"
|
|
3673
|
+
].join("; ");
|
|
3674
|
+
}
|
|
3675
|
+
function withNonce(html, nonce) {
|
|
3676
|
+
return html.replace(/<script(?=[\s>])/g, `<script nonce="${nonce}"`);
|
|
3677
|
+
}
|
|
3678
|
+
|
|
3679
|
+
class UnlockThrottle {
|
|
3680
|
+
freeAttempts;
|
|
3681
|
+
maxDelayMs;
|
|
3682
|
+
now;
|
|
3683
|
+
failures = 0;
|
|
3684
|
+
blockedUntil = 0;
|
|
3685
|
+
busy = false;
|
|
3686
|
+
constructor(freeAttempts = 5, maxDelayMs = 5 * 60000, now = () => Date.now()) {
|
|
3687
|
+
this.freeAttempts = freeAttempts;
|
|
3688
|
+
this.maxDelayMs = maxDelayMs;
|
|
3689
|
+
this.now = now;
|
|
3690
|
+
}
|
|
3691
|
+
retryAfterMs() {
|
|
3692
|
+
return Math.max(0, this.blockedUntil - this.now());
|
|
3693
|
+
}
|
|
3694
|
+
begin() {
|
|
3695
|
+
if (this.busy || this.retryAfterMs() > 0)
|
|
3696
|
+
return false;
|
|
3697
|
+
this.busy = true;
|
|
3698
|
+
return true;
|
|
3699
|
+
}
|
|
3700
|
+
fail() {
|
|
3701
|
+
this.busy = false;
|
|
3702
|
+
this.failures += 1;
|
|
3703
|
+
if (this.failures >= this.freeAttempts) {
|
|
3704
|
+
const delay = Math.min(this.maxDelayMs, 1000 * 2 ** (this.failures - this.freeAttempts));
|
|
3705
|
+
this.blockedUntil = this.now() + delay;
|
|
3706
|
+
}
|
|
3707
|
+
}
|
|
3708
|
+
succeed() {
|
|
3709
|
+
this.busy = false;
|
|
3710
|
+
this.failures = 0;
|
|
3711
|
+
this.blockedUntil = 0;
|
|
3712
|
+
}
|
|
3713
|
+
}
|
|
3714
|
+
var LOOPBACK_HOSTS, CSRF_HEADER = "x-autho-csrf", REQUEST_HEADER = "x-autho-request", BASE_HEADERS;
|
|
3715
|
+
var init_security = __esm(() => {
|
|
3716
|
+
LOOPBACK_HOSTS = ["localhost", "127.0.0.1", "[::1]"];
|
|
3717
|
+
BASE_HEADERS = {
|
|
3718
|
+
"cache-control": "no-store",
|
|
3719
|
+
"cross-origin-opener-policy": "same-origin",
|
|
3720
|
+
"cross-origin-resource-policy": "same-origin",
|
|
3721
|
+
"permissions-policy": "camera=(), microphone=(), geolocation=(), payment=(), usb=(), publickey-credentials-create=(self), publickey-credentials-get=(self)",
|
|
3722
|
+
"referrer-policy": "no-referrer",
|
|
3723
|
+
"x-content-type-options": "nosniff",
|
|
3724
|
+
"x-frame-options": "DENY"
|
|
3725
|
+
};
|
|
3726
|
+
});
|
|
3727
|
+
|
|
3728
|
+
// apps/web/src/sessions.ts
|
|
3729
|
+
class SessionStore {
|
|
3730
|
+
sessions = new Map;
|
|
3731
|
+
idleMs;
|
|
3732
|
+
onAdminEnd;
|
|
3733
|
+
now;
|
|
3734
|
+
constructor(options) {
|
|
3735
|
+
this.idleMs = options.idleMs;
|
|
3736
|
+
this.onAdminEnd = options.onAdminEnd;
|
|
3737
|
+
this.now = options.now ?? (() => Date.now());
|
|
3738
|
+
}
|
|
3739
|
+
create(rootKey, sealBound) {
|
|
3740
|
+
const at = this.now();
|
|
3741
|
+
const session = {
|
|
3742
|
+
id: newToken(),
|
|
3743
|
+
csrf: newToken(),
|
|
3744
|
+
rootKey,
|
|
3745
|
+
sealBound,
|
|
3746
|
+
createdAt: at,
|
|
3747
|
+
lastSeen: at,
|
|
3748
|
+
admin: null,
|
|
3749
|
+
pendingTotp: null,
|
|
3750
|
+
pendingPasskey: null
|
|
3751
|
+
};
|
|
3752
|
+
this.sessions.set(session.id, session);
|
|
3753
|
+
return session;
|
|
3754
|
+
}
|
|
3755
|
+
touch(id, csrf) {
|
|
3756
|
+
this.sweep();
|
|
3757
|
+
if (!id)
|
|
3758
|
+
return null;
|
|
3759
|
+
const session = this.sessions.get(id);
|
|
3760
|
+
if (!session || !tokensEqual(csrf, session.csrf))
|
|
3761
|
+
return null;
|
|
3762
|
+
session.lastSeen = this.now();
|
|
3763
|
+
return session;
|
|
3764
|
+
}
|
|
3765
|
+
end(id) {
|
|
3766
|
+
if (!id)
|
|
3767
|
+
return;
|
|
3768
|
+
const session = this.sessions.get(id);
|
|
3769
|
+
if (!session)
|
|
3770
|
+
return;
|
|
3771
|
+
this.sessions.delete(id);
|
|
3772
|
+
this.dropAdmin(session);
|
|
3773
|
+
session.rootKey.fill(0);
|
|
3774
|
+
}
|
|
3775
|
+
endAll() {
|
|
3776
|
+
for (const id of [...this.sessions.keys()])
|
|
3777
|
+
this.end(id);
|
|
3778
|
+
}
|
|
3779
|
+
admin(session) {
|
|
3780
|
+
if (session.admin && session.admin.expiresAt <= this.now())
|
|
3781
|
+
this.dropAdmin(session);
|
|
3782
|
+
return session.admin?.handle ?? null;
|
|
3783
|
+
}
|
|
3784
|
+
grantAdmin(session, handle) {
|
|
3785
|
+
this.dropAdmin(session);
|
|
3786
|
+
const expiresAt = this.now() + ADMIN_TTL_MS;
|
|
3787
|
+
session.admin = { handle, expiresAt };
|
|
3788
|
+
return expiresAt;
|
|
3789
|
+
}
|
|
3790
|
+
dropAdmin(session) {
|
|
3791
|
+
if (!session.admin)
|
|
3792
|
+
return;
|
|
3793
|
+
const { handle } = session.admin;
|
|
3794
|
+
session.admin = null;
|
|
3795
|
+
session.pendingTotp = null;
|
|
3796
|
+
session.pendingPasskey = null;
|
|
3797
|
+
this.onAdminEnd(handle);
|
|
3798
|
+
}
|
|
3799
|
+
expiresAt(session) {
|
|
3800
|
+
const idle = this.idleMs();
|
|
3801
|
+
return { idleAt: idle > 0 ? session.lastSeen + idle : null, hardAt: session.createdAt + MAX_SESSION_MS };
|
|
3802
|
+
}
|
|
3803
|
+
sweep() {
|
|
3804
|
+
const at = this.now();
|
|
3805
|
+
for (const session of [...this.sessions.values()]) {
|
|
3806
|
+
const { idleAt, hardAt } = this.expiresAt(session);
|
|
3807
|
+
if (hardAt <= at || idleAt !== null && idleAt <= at)
|
|
3808
|
+
this.end(session.id);
|
|
3809
|
+
}
|
|
3810
|
+
}
|
|
3811
|
+
get size() {
|
|
3812
|
+
this.sweep();
|
|
3813
|
+
return this.sessions.size;
|
|
3814
|
+
}
|
|
3815
|
+
}
|
|
3816
|
+
var ADMIN_TTL_MS, MAX_SESSION_MS;
|
|
3817
|
+
var init_sessions = __esm(() => {
|
|
3818
|
+
init_security();
|
|
3819
|
+
ADMIN_TTL_MS = 5 * 60000;
|
|
3820
|
+
MAX_SESSION_MS = 12 * 60 * 60000;
|
|
3821
|
+
});
|
|
3822
|
+
|
|
3823
|
+
// apps/web/src/ui.generated.ts
|
|
3824
|
+
var UI_HTML = '<!doctype html>\n<html lang="en" class="dark">\n <head>\n <meta charset="utf-8" />\n <meta name="viewport" content="width=device-width, initial-scale=1" />\n <meta name="color-scheme" content="dark" />\n <meta name="referrer" content="no-referrer" />\n <title>autho</title>\n <script type="module" crossorigin>var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t,t.exports),e=null),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,o)=>(o=n==null?{}:e(i(n)),s(r||!n||!n.__esModule||!a.call(n,`default`)?t(o,`default`,{value:n,enumerable:!0}):o,n));(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var l=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.portal`),r=Symbol.for(`react.fragment`),i=Symbol.for(`react.strict_mode`),a=Symbol.for(`react.profiler`),o=Symbol.for(`react.consumer`),s=Symbol.for(`react.context`),c=Symbol.for(`react.forward_ref`),l=Symbol.for(`react.suspense`),u=Symbol.for(`react.memo`),d=Symbol.for(`react.lazy`),f=Symbol.for(`react.activity`),p=Symbol.for(`react.view_transition`),m=Symbol.iterator;function h(e){return typeof e!=`object`||!e?null:(e=m&&e[m]||e[`@@iterator`],typeof e==`function`?e:null)}var g={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},_=Object.assign,v={};function y(e,t,n){this.props=e,this.context=t,this.refs=v,this.updater=n||g}y.prototype.isReactComponent={},y.prototype.setState=function(e,t){if(typeof e!=`object`&&typeof e!=`function`&&e!=null)throw Error(`takes an object of state variables to update or a function which returns an object of state variables.`);this.updater.enqueueSetState(this,e,t,`setState`)},y.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,`forceUpdate`)};function b(){}b.prototype=y.prototype;function x(e,t,n){this.props=e,this.context=t,this.refs=v,this.updater=n||g}var S=x.prototype=new b;S.constructor=x,_(S,y.prototype),S.isPureReactComponent=!0;var C=Array.isArray;function w(){}var T={H:null,A:null,T:null,S:null},E=Object.prototype.hasOwnProperty;function D(e,n,r){var i=r.ref;return{$$typeof:t,type:e,key:n,ref:i===void 0?null:i,props:r}}function ee(e,t){return D(e.type,t,e.props)}function O(e){return typeof e==`object`&&!!e&&e.$$typeof===t}function te(e){var t={"=":`=0`,":":`=2`};return`$`+e.replace(/[=:]/g,function(e){return t[e]})}var k=/\\/+/g;function A(e,t){return typeof e==`object`&&e&&e.key!=null?te(``+e.key):t.toString(36)}function ne(e){switch(e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason;default:switch(typeof e.status==`string`?e.then(w,w):(e.status=`pending`,e.then(function(t){e.status===`pending`&&(e.status=`fulfilled`,e.value=t)},function(t){e.status===`pending`&&(e.status=`rejected`,e.reason=t)})),e.status){case`fulfilled`:return e.value;case`rejected`:throw e.reason}}throw e}function re(e,r,i,a,o){var s=typeof e;(s===`undefined`||s===`boolean`)&&(e=null);var c=!1;if(e===null)c=!0;else switch(s){case`bigint`:case`string`:case`number`:c=!0;break;case`object`:switch(e.$$typeof){case t:case n:c=!0;break;case d:return c=e._init,re(c(e._payload),r,i,a,o)}}if(c)return o=o(e),c=a===``?`.`+A(e,0):a,C(o)?(i=``,c!=null&&(i=c.replace(k,`$&/`)+`/`),re(o,r,i,``,function(e){return e})):o!=null&&(O(o)&&(o=ee(o,i+(o.key==null||e&&e.key===o.key?``:(``+o.key).replace(k,`$&/`)+`/`)+c)),r.push(o)),1;c=0;var l=a===``?`.`:a+`:`;if(C(e))for(var u=0;u<e.length;u++)a=e[u],s=l+A(a,u),c+=re(a,r,i,s,o);else if(u=h(e),typeof u==`function`)for(e=u.call(e),u=0;!(a=e.next()).done;)a=a.value,s=l+A(a,u++),c+=re(a,r,i,s,o);else if(s===`object`){if(typeof e.then==`function`)return re(ne(e),r,i,a,o);throw r=String(e),Error(`Objects are not valid as a React child (found: `+(r===`[object Object]`?`object with keys {`+Object.keys(e).join(`, `)+`}`:r)+`). If you meant to render a collection of children, use an array instead.`)}return c}function j(e,t,n){if(e==null)return e;var r=[],i=0;return re(e,r,``,``,function(e){return t.call(n,e,i++)}),r}function M(e){if(e._status===-1){var t=e._result,n=t();n.then(function(t){(e._status===0||e._status===-1)&&(e._status=1,e._result=t,n.status===void 0&&(n.status=`fulfilled`,n.value=t))},function(t){(e._status===0||e._status===-1)&&(e._status=2,e._result=t,n.status===void 0&&(n.status=`rejected`,n.reason=t))}),e._status===-1&&(e._status=0,e._result=n)}if(e._status===1)return e._result.default;throw e._result}var ie=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)};function ae(e){var t=T.T,n={};n.types=t===null?null:t.types,T.T=n;try{var r=e(),i=T.S;i!==null&&i(n,r),typeof r==`object`&&r&&typeof r.then==`function`&&r.then(w,ie)}catch(e){ie(e)}finally{t!==null&&n.types!==null&&(t.types=n.types),T.T=t}}function oe(e){var t=T.T;if(t!==null){var n=t.types;n===null?t.types=[e]:n.indexOf(e)===-1&&n.push(e)}else ae(oe.bind(null,e))}var se={map:j,forEach:function(e,t,n){j(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return j(e,function(){t++}),t},toArray:function(e){return j(e,function(e){return e})||[]},only:function(e){if(!O(e))throw Error(`React.Children.only expected to receive a single React element child.`);return e}};e.Activity=f,e.Children=se,e.Component=y,e.Fragment=r,e.Profiler=a,e.PureComponent=x,e.StrictMode=i,e.Suspense=l,e.ViewTransition=p,e.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=T,e.__COMPILER_RUNTIME={__proto__:null,c:function(e){return T.H.useMemoCache(e)}},e.addTransitionType=oe,e.cache=function(e){return function(){return e.apply(null,arguments)}},e.cacheSignal=function(){return null},e.cloneElement=function(e,t,n){if(e==null)throw Error(`The argument must be a React element, but you passed `+e+`.`);var r=_({},e.props),i=e.key;if(t!=null)for(a in t.key!==void 0&&(i=``+t.key),t)!E.call(t,a)||a===`key`||a===`__self`||a===`__source`||a===`ref`&&t.ref===void 0||(r[a]=t[a]);var a=arguments.length-2;if(a===1)r.children=n;else if(1<a){for(var o=Array(a),s=0;s<a;s++)o[s]=arguments[s+2];r.children=o}return D(e.type,i,r)},e.createContext=function(e){return e={$$typeof:s,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null},e.Provider=e,e.Consumer={$$typeof:o,_context:e},e},e.createElement=function(e,t,n){var r,i={},a=null;if(t!=null)for(r in t.key!==void 0&&(a=``+t.key),t)E.call(t,r)&&r!==`key`&&r!==`__self`&&r!==`__source`&&(i[r]=t[r]);var o=arguments.length-2;if(o===1)i.children=n;else if(1<o){for(var s=Array(o),c=0;c<o;c++)s[c]=arguments[c+2];i.children=s}if(e&&e.defaultProps)for(r in o=e.defaultProps,o)i[r]===void 0&&(i[r]=o[r]);return D(e,a,i)},e.createRef=function(){return{current:null}},e.forwardRef=function(e){return{$$typeof:c,render:e}},e.isValidElement=O,e.lazy=function(e){return{$$typeof:d,_payload:{_status:-1,_result:e},_init:M}},e.memo=function(e,t){return{$$typeof:u,type:e,compare:t===void 0?null:t}},e.startTransition=ae,e.unstable_useCacheRefresh=function(){return T.H.useCacheRefresh()},e.use=function(e){return T.H.use(e)},e.useActionState=function(e,t,n){return T.H.useActionState(e,t,n)},e.useCallback=function(e,t){return T.H.useCallback(e,t)},e.useContext=function(e){return T.H.useContext(e)},e.useDebugValue=function(){},e.useDeferredValue=function(e,t){return T.H.useDeferredValue(e,t)},e.useEffect=function(e,t){return T.H.useEffect(e,t)},e.useEffectEvent=function(e){return T.H.useEffectEvent(e)},e.useId=function(){return T.H.useId()},e.useImperativeHandle=function(e,t,n){return T.H.useImperativeHandle(e,t,n)},e.useInsertionEffect=function(e,t){return T.H.useInsertionEffect(e,t)},e.useLayoutEffect=function(e,t){return T.H.useLayoutEffect(e,t)},e.useMemo=function(e,t){return T.H.useMemo(e,t)},e.useOptimistic=function(e,t){return T.H.useOptimistic(e,t)},e.useReducer=function(e,t,n){return T.H.useReducer(e,t,n)},e.useRef=function(e){return T.H.useRef(e)},e.useState=function(e){return T.H.useState(e)},e.useSyncExternalStore=function(e,t,n){return T.H.useSyncExternalStore(e,t,n)},e.useTransition=function(){return T.H.useTransition()},e.version=`19.3.1`})),u=o(((e,t)=>{t.exports=l()})),d=o((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m){if(n(c)!==null)m=!0,S||(S=!0,ee());else{var t=n(l);t!==null&&k(x,t.startTime-e)}}}var S=!1,C=-1,w=5,T=-1;function E(){return g?!0:!(e.unstable_now()-T<w)}function D(){if(g=!1,S){var t=e.unstable_now();T=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(C),C=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&E());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&k(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?ee():S=!1}}}var ee;if(typeof y==`function`)ee=function(){y(D)};else if(typeof MessageChannel<`u`){var O=new MessageChannel,te=O.port2;O.port1.onmessage=D,ee=function(){te.postMessage(null)}}else ee=function(){_(D,0)};function k(t,n){C=_(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):w=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,k(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,ee()))),r},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),f=o(((e,t)=>{t.exports=d()})),p=o((e=>{var t=u();function n(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function r(){}var i={d:{f:r,r:function(){throw Error(n(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},a=Symbol.for(`react.portal`),o=Symbol.for(`react.recoverable`),s=Symbol.for(`react.optimistic_key`);function c(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:a,key:r==null?null:r===s?s:``+r,children:e,containerInfo:t,implementation:n}}var l=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function d(e,t){if(e===`font`)return``;if(typeof t==`string`)return t===`use-credentials`?t:``}e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=i,e.browser=function(e){return{$$typeof:o,_reason:e}},e.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(n(299));return c(e,t,null,r)},e.flushSync=function(e){var t=l.T,n=i.p;try{if(l.T=null,i.p=2,e)return e()}finally{l.T=t,i.p=n,i.d.f()}},e.preconnect=function(e,t){typeof e==`string`&&(t?(t=t.crossOrigin,t=typeof t==`string`?t===`use-credentials`?t:``:void 0):t=null,i.d.C(e,t))},e.prefetchDNS=function(e){typeof e==`string`&&i.d.D(e)},e.preinit=function(e,t){if(typeof e==`string`&&t&&typeof t.as==`string`){var n=t.as,r=d(n,t.crossOrigin),a=typeof t.integrity==`string`?t.integrity:void 0,o=typeof t.fetchPriority==`string`?t.fetchPriority:void 0;n===`style`?i.d.S(e,typeof t.precedence==`string`?t.precedence:void 0,{crossOrigin:r,integrity:a,fetchPriority:o}):n===`script`&&i.d.X(e,{crossOrigin:r,integrity:a,fetchPriority:o,nonce:typeof t.nonce==`string`?t.nonce:void 0})}},e.preinitModule=function(e,t){if(typeof e==`string`){if(typeof t==`object`&&t){if(t.as==null||t.as===`script`){var n=d(t.as,t.crossOrigin);i.d.M(e,{crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0})}}else t??i.d.M(e)}},e.preload=function(e,t){if(typeof e==`string`&&typeof t==`object`&&t&&typeof t.as==`string`){var n=t.as,r=d(n,t.crossOrigin);i.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,type:typeof t.type==`string`?t.type:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy==`string`?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet==`string`?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes==`string`?t.imageSizes:void 0,media:typeof t.media==`string`?t.media:void 0})}},e.preloadModule=function(e,t){if(typeof e==`string`){if(t){var n=d(t.as,t.crossOrigin);i.d.m(e,{as:typeof t.as==`string`&&t.as!==`script`?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0})}else i.d.m(e)}},e.requestFormReset=function(e){i.d.r(e)},e.unstable_batchedUpdates=function(e,t){return e(t)},e.useFormState=function(e,t,n){return l.H.useFormState(e,t,n)},e.useFormStatus=function(){return l.H.useHostTransitionStatus()},e.version=`19.3.1`})),m=o(((e,t)=>{function n(){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE==`function`)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=p()})),h=o((e=>{var t=f(),n=u(),r=m();function i(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function a(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function o(e){for(var t=e,n=t;n&&!n.alternate;)t=n,t.flags&4098&&(e=t.return),n=t.return;for(;t.return;)t=t.return;return t.tag===3?e:null}function s(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function c(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function l(e){if(o(e)!==e)throw Error(i(188))}function d(e){var t=e.alternate;if(!t){if(t=o(e),t===null)throw Error(i(188));return t===e?e:null}for(var n=e,r=t;;){var a=n.return;if(a===null)break;var s=a.alternate;if(s===null){if(r=a.return,r!==null){n=r;continue}break}if(a.child===s.child){for(s=a.child;s;){if(s===n)return l(a),e;if(s===r)return l(a),t;s=s.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=s;else{for(var c=!1,u=a.child;u;){if(u===n){c=!0,n=a,r=s;break}if(u===r){c=!0,r=a,n=s;break}u=u.sibling}if(!c){for(u=s.child;u;){if(u===n){c=!0,n=s,r=a;break}if(u===r){c=!0,r=s,n=a;break}u=u.sibling}if(!c)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(n.tag!==3)throw Error(i(188));return n.stateNode.current===n?e:t}function p(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=p(e),t!==null)return t;e=e.sibling}return null}function h(e,t,n,r,i,a){for(;e!==null;){if((e.tag===5||e.tag===27||e.tag===6)&&n(e,r,i,a)||(e.tag!==22||e.memoizedState===null)&&(t||e.tag!==5&&e.tag!==27)&&h(e.child,t,n,r,i,a))return!0;e=e.sibling}return!1}function g(e){for(e=e.return;e!==null;){if(e.tag===3||e.tag===5||e.tag===27)return e;e=e.return}return null}function _(e){var t=!1;for(e=e.return;e!==null&&(e.tag===4&&(t=!0),e.tag!==3&&e.tag!==5&&e.tag!==27);)e=e.return;return t}function v(e){var t=[null,null],n=g(e);return n===null||y(t,e,n.child,{foundSelf:!1}),t}function y(e,t,n,r){for(;n!==null;){if(n===t)r.foundSelf=!0;else if(n.tag===5||n.tag===27||n.tag===6){if(r.foundSelf)return e[1]=n,!0;e[0]=n}else if((n.tag!==22||n.memoizedState===null)&&y(e,t,n.child,r))return!0;n=n.sibling}return!1}function b(e){switch(e.tag){case 5:case 27:case 6:return e.stateNode;case 3:return e.stateNode.containerInfo;default:throw Error(i(559))}}var x=null,S=null;function C(e,t,n){return e===n||e===t&&(x=e,!0)}function w(e,t,n){return e===n?(S=e,!1):e===t&&(S!==null&&(x=e),!0)}function T(e){if(e===null)return null;do e=e===null?null:e.return;while(e&&e.tag!==5&&e.tag!==27&&e.tag!==3);return e||null}function E(e,t,n){for(var r=0,i=e;i;i=n(i))r++;i=0;for(var a=t;a;a=n(a))i++;for(;0<r-i;)e=n(e),r--;for(;0<i-r;)t=n(t),i--;for(;r--;){if(e===t||t!==null&&e===t.alternate)return e;e=n(e),t=n(t)}return null}var D=Object.assign,ee=Symbol.for(`react.element`),O=Symbol.for(`react.transitional.element`),te=Symbol.for(`react.portal`),k=Symbol.for(`react.fragment`),A=Symbol.for(`react.strict_mode`),ne=Symbol.for(`react.profiler`),re=Symbol.for(`react.consumer`),j=Symbol.for(`react.context`),M=Symbol.for(`react.forward_ref`),ie=Symbol.for(`react.suspense`),ae=Symbol.for(`react.suspense_list`),oe=Symbol.for(`react.memo`),se=Symbol.for(`react.lazy`),ce=Symbol.for(`react.activity`),le=Symbol.for(`react.legacy_hidden`),ue=Symbol.for(`react.memo_cache_sentinel`),de=Symbol.for(`react.view_transition`),fe=Symbol.for(`react.recoverable`),pe=Symbol.iterator;function me(e){return typeof e!=`object`||!e?null:(e=pe&&e[pe]||e[`@@iterator`],typeof e==`function`?e:null)}var he=Symbol.for(`react.client.reference`);function ge(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===he?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case k:return`Fragment`;case ne:return`Profiler`;case A:return`StrictMode`;case ie:return`Suspense`;case ae:return`SuspenseList`;case ce:return`Activity`;case de:return`ViewTransition`}if(typeof e==`object`)switch(e.$$typeof){case te:return`Portal`;case j:return e.displayName||`Context`;case re:return(e._context.displayName||`Context`)+`.Consumer`;case M:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case oe:return t=e.displayName||null,t===null?ge(e.type)||`Memo`:t;case se:t=e._payload,e=e._init;try{return ge(e(t))}catch{}}return null}var _e=Array.isArray,N=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,P=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ve={pending:!1,data:null,method:null,action:null},ye=[],be=-1;function xe(e){return{current:e}}function F(e){0>be||(e.current=ye[be],ye[be]=null,be--)}function I(e,t){be++,ye[be]=e.current,e.current=t}var Se=xe(null),Ce=xe(null),we=xe(null),Te=xe(null);function Ee(e,t){switch(I(we,t),I(Ce,e),I(Se,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?up(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=up(t),e=dp(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}F(Se),I(Se,e)}function De(){F(Se),F(Ce),F(we)}function Oe(e){var t=e.memoizedState;t!==null&&(sh._currentValue=t.memoizedState,I(Te,e)),t=Se.current;var n=dp(t,e.type);t!==n&&(I(Ce,e),I(Se,n))}function ke(e){Ce.current===e&&(F(Se),F(Ce)),Te.current===e&&(F(Te),sh._currentValue=ve)}var Ae,je;function Me(e){if(Ae===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\\n( *(at )?)/);Ae=t&&t[1]||``,je=-1<e.stack.indexOf(`\n at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return`\n`+Ae+e+je}var Ne=!1;function Pe(e,t){if(!e||Ne)return``;Ne=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}n=!1;try{var i=Object.getOwnPropertyDescriptor(e.prototype,`props`);Object.defineProperty(e.prototype,"props",{configurable:!0,set:function(){throw Error()}}),n=!0,new e}finally{n&&(i===void 0?delete e.prototype.props:Object.defineProperty(e.prototype,"props",i))}}}else{try{throw Error()}catch(e){r=e}(n=e())&&typeof n.catch==`function`&&n.catch(function(){})}}catch(e){if(e&&r&&typeof e.stack==`string`)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var i=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`);i&&i.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:`DetermineComponentFrameRoot`});var a=r.DetermineComponentFrameRoot(),o=a[0],s=a[1];if(o&&s){var c=o.split(`\n`),l=s.split(`\n`);for(i=r=0;r<c.length&&!c[r].includes(`DetermineComponentFrameRoot`);)r++;for(;i<l.length&&!l[i].includes(`DetermineComponentFrameRoot`);)i++;if(r===c.length||i===l.length)for(r=c.length-1,i=l.length-1;1<=r&&0<=i&&c[r]!==l[i];)i--;for(;1<=r&&0<=i;r--,i--)if(c[r]!==l[i]){if(r!==1||i!==1)do if(r--,i--,0>i||c[r]!==l[i]){var u=`\n`+c[r].replace(` at new `,` at `);return e.displayName&&u.includes(`<anonymous>`)&&(u=u.replace(`<anonymous>`,e.displayName)),u}while(1<=r&&0<=i);break}}}finally{Ne=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:``)?Me(n):``}function Fe(e,t){switch(e.tag){case 26:case 27:case 5:return Me(e.type);case 16:return Me(`Lazy`);case 13:return e.child!==t&&t!==null?Me(`Suspense Fallback`):Me(`Suspense`);case 19:return Me(`SuspenseList`);case 0:case 15:return Pe(e.type,!1);case 11:return Pe(e.type.render,!1);case 1:return Pe(e.type,!0);case 31:return Me(`Activity`);case 30:return Me(`ViewTransition`);default:return``}}function L(e){try{var t=``,n=null;do t+=Fe(e,n),n=e,e=e.return;while(e);return t}catch(e){return`\nError generating stack: `+e.message+`\n`+e.stack}}var Ie=Object.prototype.hasOwnProperty,Le=t.unstable_scheduleCallback,R=t.unstable_cancelCallback,Re=t.unstable_shouldYield,ze=t.unstable_requestPaint,Be=t.unstable_now,Ve=t.unstable_getCurrentPriorityLevel,He=t.unstable_ImmediatePriority,Ue=t.unstable_UserBlockingPriority,We=t.unstable_NormalPriority,Ge=t.unstable_LowPriority,Ke=t.unstable_IdlePriority,qe=t.log,Je=t.unstable_setDisableYieldValue,Ye=null,Xe=null;function Ze(e){if(typeof qe==`function`&&Je(e),Xe&&typeof Xe.setStrictMode==`function`)try{Xe.setStrictMode(Ye,e)}catch{}}var Qe=Math.clz32?Math.clz32:tt,$e=Math.log,et=Math.LN2;function tt(e){return e>>>=0,e===0?32:31-($e(e)/et|0)|0}var nt=256,rt=262144,it=4194304;function at(e){var t=e&42;if(t!==0)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return e&-e;case 262144:case 524288:case 1048576:case 2097152:return e&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return e&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function ot(e,t,n){var r=e.pendingLanes;if(r===0)return 0;var i=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var s=r&134217727;return s===0?(s=r&~a,s===0?o===0?n||(n=r&~e,n!==0&&(i=at(n))):i=at(o):i=at(s)):(r=s&~a,r===0?(o&=s,o===0?n||(n=s&~e,n!==0&&(i=at(n))):i=at(o)):i=at(r)),i===0?0:t!==0&&t!==i&&(t&a)===0&&(a=i&-i,n=t&-t,a>=n||a===32&&n&4194048)?t:i}function st(e,t){return(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)===0}function ct(e,t){t&8&&(t|=t&32);var n=e.entangledLanes;if(n!==0)for(e=e.entanglements,n&=t;0<n;){var r=31-Qe(n),i=1<<r;t|=e[r],n&=~i}return t}function lt(e,t){switch(e){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function ut(){var e=it;return it<<=1,!(it&62914560)&&(it=4194304),e}function dt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function ft(e,t){e.pendingLanes|=t,t!==268435456&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function pt(e,t,n,r,i,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var s=e.entanglements,c=e.expirationTimes,l=e.hiddenUpdates;for(n=o&~n;0<n;){var u=31-Qe(n),d=1<<u;s[u]=0,c[u]=-1;var f=l[u];if(f!==null)for(l[u]=null,u=0;u<f.length;u++){var p=f[u];p!==null&&(p.lane&=-536870913)}n&=~d}r!==0&&mt(e,r,0),a!==0&&i===0&&e.tag!==0&&(e.suspendedLanes|=a&~(o&~t))}function mt(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-Qe(t);e.entangledLanes|=t,e.entanglements[r]=e.entanglements[r]|1073741824|n&261930}function ht(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-Qe(n),i=1<<r;i&t|e[r]&t&&(e[r]|=t),n&=~i}}function gt(e,t){var n=t&-t;return n=n&42?1:_t(n),(n&(e.suspendedLanes|t))===0?n:0}function _t(e){switch(e){case 2:e=1;break;case 8:e=4;break;case 32:e=16;break;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:e=128;break;case 268435456:e=134217728;break;default:e=0}return e}function vt(e){return e&=-e,2<e?8<e?e&134217727?32:268435456:8:2}function yt(){var e=P.p;return e===0?(e=window.event,e===void 0?32:Ch(e.type)):e}function bt(e,t){var n=P.p;try{return P.p=e,t()}finally{P.p=n}}var xt=Math.random().toString(36).slice(2),St=`__reactFiber$`+xt,Ct=`__reactProps$`+xt,wt=`__reactContainer$`+xt,Tt=`__reactEvents$`+xt,Et=`__reactListeners$`+xt,Dt=`__reactHandles$`+xt,Ot=`__reactResources$`+xt,kt=`__reactMarker$`+xt,At=`__reactLoad$`+xt;function jt(e){delete e[St],delete e[Ct],delete e[Et],delete e[Dt]}function Mt(e){var t;if(t=e[St])return t;for(var n=e.parentNode;n;){if(t=n[wt]||n[St]){if(n=t.alternate,t.child!==null||n!==null&&n.child!==null)for(e=fm(e);e!==null;){if(n=e[St])return n;e=fm(e)}return t}e=n,n=e.parentNode}return null}function Nt(e){if(e=e[St]||e[wt]){var t=e.tag;if(t===5||t===6||t===13||t===31||t===26||t===27||t===3)return e}return null}function Pt(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e.stateNode;throw Error(i(33))}function Ft(e){var t=e[Ot];return t||=e[Ot]={hoistableStyles:new Map,hoistableScripts:new Map},t}function It(e){e[kt]=!0}function Lt(e){e[At]=void 0}var Rt=new Set,zt={};function Bt(e,t){Vt(e,t),Vt(e+`Capture`,t)}function Vt(e,t){for(zt[e]=t,e=0;e<t.length;e++)Rt.add(t[e])}var Ht=RegExp(`^[:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD][:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]*$`),Ut={},Wt={};function Gt(e){return Ie.call(Wt,e)?!0:Ie.call(Ut,e)?!1:Ht.test(e)?Wt[e]=!0:(Ut[e]=!0,!1)}var z=!1;function Kt(){var e=z;return z=!1,e}function qt(e,t,n){if(Gt(t)){if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:e.removeAttribute(t);return;case`boolean`:var r=t.toLowerCase().slice(0,5);if(r!==`data-`&&r!==`aria-`){e.removeAttribute(t);return}}e.setAttribute(t,n)}}}function Jt(e,t,n){if(n===null)e.removeAttribute(t);else{switch(typeof n){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(t);return}e.setAttribute(t,n)}}function Yt(e,t,n,r){if(r===null)e.removeAttribute(n);else{switch(typeof r){case`undefined`:case`function`:case`symbol`:case`boolean`:e.removeAttribute(n);return}e.setAttributeNS(t,n,r)}}function Xt(e){switch(typeof e){case`bigint`:case`boolean`:case`number`:case`string`:case`undefined`:return e;case`object`:return e;default:return``}}function Zt(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()===`input`&&(t===`checkbox`||t===`radio`)}function Qt(e,t,n){var r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t);if(!e.hasOwnProperty(t)&&r!==void 0&&typeof r.get==`function`&&typeof r.set==`function`){var i=r.get,a=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(e){n=``+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(e){n=``+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function $t(e){if(!e._valueTracker){var t=Zt(e)?`checked`:`value`;e._valueTracker=Qt(e,t,``+e[t])}}function en(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r=``;return e&&(r=Zt(e)?e.checked?`true`:`false`:e.value),e=r,e!==n&&(t.setValue(e),!0)}var tn=/[\\n"\\\\]/g;function nn(e){return e.replace(tn,function(e){return`\\\\`+e.charCodeAt(0).toString(16)+` `})}function rn(e,t,n,r,i,a,o,s){e.name=``,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`?e.type=o:e.removeAttribute(`type`),t==null?o!==`submit`&&o!==`reset`||e.removeAttribute(`value`):o===`number`?(t===0&&e.value===``||e.value!=t)&&(e.value=``+Xt(t)):e.value!==``+Xt(t)&&(e.value=``+Xt(t)),t==null?n==null?r!=null&&e.removeAttribute(`value`):on(e,Xt(n)):o===`number`&&e.value==t?on(e,Xt(e.value)):on(e,Xt(t)),i==null&&a!=null&&(e.defaultChecked=!!a),i!=null&&(e.checked=i&&typeof i!=`function`&&typeof i!=`symbol`),s!=null&&typeof s!=`function`&&typeof s!=`symbol`&&typeof s!=`boolean`?e.name=``+Xt(s):e.removeAttribute(`name`)}function an(e,t,n,r,i,a,o,s){if(a!=null&&typeof a!=`function`&&typeof a!=`symbol`&&typeof a!=`boolean`&&(e.type=a),t!=null||n!=null){if(!(a!==`submit`&&a!==`reset`||t!=null)){$t(e);return}n=n==null?``:``+Xt(n),t=t==null?n:``+Xt(t),s||t===e.value||(e.value=t),e.defaultValue=t}r??=i,r=typeof r!=`function`&&typeof r!=`symbol`&&!!r,e.checked=s?e.checked:!!r,e.defaultChecked=!!r,o!=null&&typeof o!=`function`&&typeof o!=`symbol`&&typeof o!=`boolean`&&(e.name=o),$t(e)}function on(e,t){e.defaultValue!==``+t&&(e.defaultValue=``+t)}function sn(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i<n.length;i++)t[`$`+n[i]]=!0;for(n=0;n<e.length;n++)i=t.hasOwnProperty(`$`+e[n].value),e[n].selected!==i&&(e[n].selected=i),i&&r&&(e[n].defaultSelected=!0)}else{for(n=``+Xt(n),t=null,i=0;i<e.length;i++){if(e[i].value===n){e[i].selected=!0,r&&(e[i].defaultSelected=!0);return}t!==null||e[i].disabled||(t=e[i])}t!==null&&(t.selected=!0)}}function cn(e,t,n){t!=null&&(t=``+Xt(t),t!==e.value&&(e.value=t),n==null)?e.defaultValue!==t&&(e.defaultValue=t):e.defaultValue=n==null?``:``+Xt(n)}function ln(e,t,n,r){if(t==null){if(r!=null){if(n!=null)throw Error(i(92));if(_e(r)){if(1<r.length)throw Error(i(93));r=r[0]}n=r}n??=``,t=n}n=Xt(t),e.defaultValue=n,r=e.textContent,r===n&&r!==``&&r!==null&&(e.value=r),$t(e)}function un(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var dn=new Set(`animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp`.split(` `));function fn(e,t,n){var r=t.indexOf(`--`)===0;n==null||typeof n==`boolean`||n===``?r?e.setProperty(t,``):t===`float`?e.cssFloat=``:e[t]=``:r?e.setProperty(t,n):typeof n!=`number`||n===0||dn.has(t)?t===`float`?e.cssFloat=n:e[t]=(``+n).trim():e[t]=n+`px`}function pn(e,t,n){if(t!=null&&typeof t!=`object`)throw Error(i(62));if(e=e.style,n!=null){for(var r in n)!n.hasOwnProperty(r)||t!=null&&t.hasOwnProperty(r)||(r.indexOf(`--`)===0?e.setProperty(r,``):r===`float`?e.cssFloat=``:e[r]=``,z=!0);for(var a in t)r=t[a],t.hasOwnProperty(a)&&n[a]!==r&&(fn(e,a,r),z=!0)}else for(var o in t)t.hasOwnProperty(o)&&fn(e,o,t[o])}function mn(e){if(e.indexOf(`-`)===-1)return!1;switch(e){case`annotation-xml`:case`color-profile`:case`font-face`:case`font-face-src`:case`font-face-uri`:case`font-face-format`:case`font-face-name`:case`missing-glyph`:return!1;default:return!0}}var hn=new Map([[`acceptCharset`,`accept-charset`],[`htmlFor`,`for`],[`httpEquiv`,`http-equiv`],[`crossOrigin`,`crossorigin`],[`accentHeight`,`accent-height`],[`alignmentBaseline`,`alignment-baseline`],[`arabicForm`,`arabic-form`],[`baselineShift`,`baseline-shift`],[`capHeight`,`cap-height`],[`clipPath`,`clip-path`],[`clipRule`,`clip-rule`],[`colorInterpolation`,`color-interpolation`],[`colorInterpolationFilters`,`color-interpolation-filters`],[`colorProfile`,`color-profile`],[`colorRendering`,`color-rendering`],[`dominantBaseline`,`dominant-baseline`],[`enableBackground`,`enable-background`],[`fillOpacity`,`fill-opacity`],[`fillRule`,`fill-rule`],[`floodColor`,`flood-color`],[`floodOpacity`,`flood-opacity`],[`fontFamily`,`font-family`],[`fontSize`,`font-size`],[`fontSizeAdjust`,`font-size-adjust`],[`fontStretch`,`font-stretch`],[`fontStyle`,`font-style`],[`fontVariant`,`font-variant`],[`fontWeight`,`font-weight`],[`glyphName`,`glyph-name`],[`glyphOrientationHorizontal`,`glyph-orientation-horizontal`],[`glyphOrientationVertical`,`glyph-orientation-vertical`],[`horizAdvX`,`horiz-adv-x`],[`horizOriginX`,`horiz-origin-x`],[`imageRendering`,`image-rendering`],[`letterSpacing`,`letter-spacing`],[`lightingColor`,`lighting-color`],[`markerEnd`,`marker-end`],[`markerMid`,`marker-mid`],[`markerStart`,`marker-start`],[`maskType`,`mask-type`],[`overlinePosition`,`overline-position`],[`overlineThickness`,`overline-thickness`],[`paintOrder`,`paint-order`],[`panose-1`,`panose-1`],[`pointerEvents`,`pointer-events`],[`renderingIntent`,`rendering-intent`],[`shapeRendering`,`shape-rendering`],[`stopColor`,`stop-color`],[`stopOpacity`,`stop-opacity`],[`strikethroughPosition`,`strikethrough-position`],[`strikethroughThickness`,`strikethrough-thickness`],[`strokeDasharray`,`stroke-dasharray`],[`strokeDashoffset`,`stroke-dashoffset`],[`strokeLinecap`,`stroke-linecap`],[`strokeLinejoin`,`stroke-linejoin`],[`strokeMiterlimit`,`stroke-miterlimit`],[`strokeOpacity`,`stroke-opacity`],[`strokeWidth`,`stroke-width`],[`textAnchor`,`text-anchor`],[`textDecoration`,`text-decoration`],[`textRendering`,`text-rendering`],[`transformOrigin`,`transform-origin`],[`underlinePosition`,`underline-position`],[`underlineThickness`,`underline-thickness`],[`unicodeBidi`,`unicode-bidi`],[`unicodeRange`,`unicode-range`],[`unitsPerEm`,`units-per-em`],[`vAlphabetic`,`v-alphabetic`],[`vHanging`,`v-hanging`],[`vIdeographic`,`v-ideographic`],[`vMathematical`,`v-mathematical`],[`vectorEffect`,`vector-effect`],[`vertAdvY`,`vert-adv-y`],[`vertOriginX`,`vert-origin-x`],[`vertOriginY`,`vert-origin-y`],[`wordSpacing`,`word-spacing`],[`writingMode`,`writing-mode`],[`xmlnsXlink`,`xmlns:xlink`],[`xHeight`,`x-height`]]),gn=/^[\\u0000-\\u001F ]*j[\\r\\n\\t]*a[\\r\\n\\t]*v[\\r\\n\\t]*a[\\r\\n\\t]*s[\\r\\n\\t]*c[\\r\\n\\t]*r[\\r\\n\\t]*i[\\r\\n\\t]*p[\\r\\n\\t]*t[\\r\\n\\t]*:/i;function _n(e){return gn.test(``+e)?`javascript:throw new Error(\'React has blocked a javascript: URL as a security precaution.\')`:e}function vn(){}var yn=null;function bn(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var xn=null,Sn=null;function Cn(e){var t=Nt(e);if(t&&(e=t.stateNode)){var n=e[Ct]||null;a:switch(e=t.stateNode,t.type){case`input`:if(rn(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,n.type===`radio`&&t!=null){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll(`input[name="`+nn(``+t)+`"][type="radio"]`),t=0;t<n.length;t++){var r=n[t];if(r!==e&&r.form===e.form){var a=r[Ct]||null;if(!a)throw Error(i(90));rn(r,a.value,a.defaultValue,a.defaultValue,a.checked,a.defaultChecked,a.type,a.name)}}for(t=0;t<n.length;t++)r=n[t],r.form===e.form&&en(r)}break a;case`textarea`:cn(e,n.value,n.defaultValue);break a;case`select`:t=n.value,t!=null&&sn(e,!!n.multiple,t,!1)}}}var wn=!1;function Tn(e,t,n){if(wn)return e(t,n);wn=!0;try{return e(t)}finally{if(wn=!1,(xn!==null||Sn!==null)&&(Rd(),xn&&(t=xn,e=Sn,Sn=xn=null,Cn(t),e)))for(t=0;t<e.length;t++)Cn(e[t])}}function En(e,t){var n=e.stateNode;if(n===null)return null;var r=n[Ct]||null;if(r===null)return null;n=r[t];a:switch(t){case`onClick`:case`onClickCapture`:case`onDoubleClick`:case`onDoubleClickCapture`:case`onMouseDown`:case`onMouseDownCapture`:case`onMouseMove`:case`onMouseMoveCapture`:case`onMouseUp`:case`onMouseUpCapture`:case`onMouseEnter`:(r=!r.disabled)||(e=e.type,r=e!==`button`&&e!==`input`&&e!==`select`&&e!==`textarea`),e=!r;break a;default:e=!1}if(e)return null;if(n&&typeof n!=`function`)throw Error(i(231,t,typeof n));return n}var Dn=typeof window<`u`&&window.document!==void 0&&window.document.createElement!==void 0,On=!1;if(Dn)try{var kn={};Object.defineProperty(kn,"passive",{get:function(){On=!0}}),window.addEventListener(`test`,kn,kn),window.removeEventListener(`test`,kn,kn)}catch{On=!1}var An=null,jn=null,Mn=null;function Nn(){if(Mn)return Mn;var e,t=jn,n=t.length,r,i=`value`in An?An.value:An.textContent,a=i.length;for(e=0;e<n&&t[e]===i[e];e++);var o=n-e;for(r=1;r<=o&&t[n-r]===i[a-r];r++);return Mn=i.slice(e,1<r?1-r:void 0)}function Pn(e){var t=e.keyCode;return`charCode`in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Fn(){return!0}function In(){return!1}function Ln(e){function t(t,n,r,i,a){for(var o in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=i,this.target=a,this.currentTarget=null,e)e.hasOwnProperty(o)&&(t=e[o],this[o]=t?t(i):i[o]);return this.isDefaultPrevented=(i.defaultPrevented==null?!1===i.returnValue:i.defaultPrevented)?Fn:In,this.isPropagationStopped=In,this}return D(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():typeof e.returnValue!=`unknown`&&(e.returnValue=!1),this.isDefaultPrevented=Fn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():typeof e.cancelBubble!=`unknown`&&(e.cancelBubble=!0),this.isPropagationStopped=Fn)},persist:function(){},isPersistent:Fn}),t}var Rn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},zn=Ln(Rn),Bn=D({},Rn,{view:0,detail:0}),Vn=Ln(Bn),Hn,Un,Wn,Gn=D({},Bn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:nr,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return`movementX`in e?e.movementX:(e!==Wn&&(Wn&&e.type===`mousemove`?(Hn=e.screenX-Wn.screenX,Un=e.screenY-Wn.screenY):Un=Hn=0,Wn=e),Hn)},movementY:function(e){return`movementY`in e?e.movementY:Un}}),Kn=Ln(Gn),qn=Ln(D({},Gn,{dataTransfer:0})),Jn=Ln(D({},Bn,{relatedTarget:0})),Yn=Ln(D({},Rn,{animationName:0,elapsedTime:0,pseudoElement:0})),Xn=Ln(D({},Rn,{clipboardData:function(e){return`clipboardData`in e?e.clipboardData:window.clipboardData}})),Zn=Ln(D({},Rn,{data:0})),Qn={Esc:`Escape`,Spacebar:` `,Left:`ArrowLeft`,Up:`ArrowUp`,Right:`ArrowRight`,Down:`ArrowDown`,Del:`Delete`,Win:`OS`,Menu:`ContextMenu`,Apps:`ContextMenu`,Scroll:`ScrollLock`,MozPrintableKey:`Unidentified`},$n={8:`Backspace`,9:`Tab`,12:`Clear`,13:`Enter`,16:`Shift`,17:`Control`,18:`Alt`,19:`Pause`,20:`CapsLock`,27:`Escape`,32:` `,33:`PageUp`,34:`PageDown`,35:`End`,36:`Home`,37:`ArrowLeft`,38:`ArrowUp`,39:`ArrowRight`,40:`ArrowDown`,45:`Insert`,46:`Delete`,112:`F1`,113:`F2`,114:`F3`,115:`F4`,116:`F5`,117:`F6`,118:`F7`,119:`F8`,120:`F9`,121:`F10`,122:`F11`,123:`F12`,144:`NumLock`,145:`ScrollLock`,224:`Meta`},er={Alt:`altKey`,Control:`ctrlKey`,Meta:`metaKey`,Shift:`shiftKey`};function tr(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=er[e])?!!t[e]:!1}function nr(){return tr}var rr=Ln(D({},Bn,{key:function(e){if(e.key){var t=Qn[e.key]||e.key;if(t!==`Unidentified`)return t}return e.type===`keypress`?(e=Pn(e),e===13?`Enter`:String.fromCharCode(e)):e.type===`keydown`||e.type===`keyup`?$n[e.keyCode]||`Unidentified`:``},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:nr,charCode:function(e){return e.type===`keypress`?Pn(e):0},keyCode:function(e){return e.type===`keydown`||e.type===`keyup`?e.keyCode:0},which:function(e){return e.type===`keypress`?Pn(e):e.type===`keydown`||e.type===`keyup`?e.keyCode:0}})),ir=Ln(D({},Gn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),ar=Ln(D({},Rn,{submitter:0})),or=Ln(D({},Bn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:nr})),sr=Ln(D({},Rn,{propertyName:0,elapsedTime:0,pseudoElement:0})),cr=Ln(D({},Gn,{deltaX:function(e){return`deltaX`in e?e.deltaX:`wheelDeltaX`in e?-e.wheelDeltaX:0},deltaY:function(e){return`deltaY`in e?e.deltaY:`wheelDeltaY`in e?-e.wheelDeltaY:`wheelDelta`in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0})),lr=Ln(D({},Rn,{newState:0,oldState:0,source:0})),ur=[9,13,27,32],dr=Dn&&`CompositionEvent`in window,fr=null;Dn&&`documentMode`in document&&(fr=document.documentMode);var pr=Dn&&`TextEvent`in window&&!fr,mr=Dn&&(!dr||fr&&8<fr&&11>=fr),hr=` `,gr=!1;function _r(e,t){switch(e){case`keyup`:return ur.indexOf(t.keyCode)!==-1;case`keydown`:return t.keyCode!==229;case`keypress`:case`mousedown`:case`focusout`:return!0;default:return!1}}function vr(e){return e=e.detail,typeof e==`object`&&`data`in e?e.data:null}var yr=!1;function br(e,t){switch(e){case`compositionend`:return vr(t);case`keypress`:return t.which===32?(gr=!0,hr):null;case`textInput`:return e=t.data,e===hr&&gr?null:e;default:return null}}function xr(e,t){if(yr)return e===`compositionend`||!dr&&_r(e,t)?(e=Nn(),Mn=jn=An=null,yr=!1,e):null;switch(e){case`paste`:return null;case`keypress`:if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case`compositionend`:return mr&&t.locale!==`ko`?null:t.data;default:return null}}var Sr={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function Cr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t===`input`?!!Sr[e.type]:t===`textarea`}function wr(e,t,n,r){xn?Sn?Sn.push(r):Sn=[r]:xn=r,t=qf(t,`onChange`),0<t.length&&(n=new zn(`onChange`,`change`,null,n,r),e.push({event:n,listeners:t}))}var Tr=null,Er=null;function Dr(e){Bf(e,0)}function Or(e){if(en(Pt(e)))return e}function kr(e,t){if(e===`change`)return t}var Ar=!1;if(Dn){var jr;if(Dn){var Mr=`oninput`in document;if(!Mr){var Nr=document.createElement(`div`);Nr.setAttribute(`oninput`,`return;`),Mr=typeof Nr.oninput==`function`}jr=Mr}else jr=!1;Ar=jr&&(!document.documentMode||9<document.documentMode)}function Pr(){Tr&&(Tr.detachEvent(`onpropertychange`,Fr),Er=Tr=null)}function Fr(e){if(e.propertyName===`value`&&Or(Er)){var t=[];wr(t,Er,e,bn(e)),Tn(Dr,t)}}function Ir(e,t,n){e===`focusin`?(Pr(),Tr=t,Er=n,Tr.attachEvent(`onpropertychange`,Fr)):e===`focusout`&&Pr()}function Lr(e){if(e===`selectionchange`||e===`keyup`||e===`keydown`)return Or(Er)}function Rr(e,t){if(e===`click`)return Or(t)}function zr(e,t){if(e===`input`||e===`change`)return Or(t)}function Br(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var Vr=typeof Object.is==`function`?Object.is:Br;function Hr(e,t){if(Vr(e,t))return!0;if(typeof e!=`object`||!e||typeof t!=`object`||!t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var i=n[r];if(!Ie.call(t,i)||!Vr(e[i],t[i]))return!1}return!0}function Ur(e){if(e||=typeof document<`u`?document:void 0,e===void 0)return null;try{return e.activeElement||e.body}catch{return e.body}}function Wr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function Gr(e,t){var n=Wr(e);e=0;for(var r;n;){if(n.nodeType===3){if(r=e+n.textContent.length,e<=t&&r>=t)return{node:n,offset:t-e};e=r}a:{for(;n;){if(n.nextSibling){n=n.nextSibling;break a}n=n.parentNode}n=void 0}n=Wr(n)}}function Kr(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Kr(e,t.parentNode):`contains`in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function qr(e){e=e!=null&&e.ownerDocument!=null&&e.ownerDocument.defaultView!=null?e.ownerDocument.defaultView:window;for(var t=Ur(e.document);t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href==`string`}catch{n=!1}if(n)e=t.contentWindow;else break;t=Ur(e.document)}return t}function Jr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t===`input`&&(e.type===`text`||e.type===`search`||e.type===`tel`||e.type===`url`||e.type===`password`)||t===`textarea`||e.contentEditable===`true`)}var Yr=Dn&&`documentMode`in document&&11>=document.documentMode,Xr=null,Zr=null,Qr=null,$r=!1;function ei(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;$r||Xr==null||Xr!==Ur(r)||(r=Xr,`selectionStart`in r&&Jr(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Qr&&Hr(Qr,r)||(Qr=r,r=qf(Zr,`onSelect`),0<r.length&&(t=new zn(`onSelect`,`select`,null,t,n),e.push({event:t,listeners:r}),t.target=Xr)))}function ti(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n[`Webkit`+e]=`webkit`+t,n[`Moz`+e]=`moz`+t,n}var ni={animationend:ti(`Animation`,`AnimationEnd`),animationiteration:ti(`Animation`,`AnimationIteration`),animationstart:ti(`Animation`,`AnimationStart`),transitionrun:ti(`Transition`,`TransitionRun`),transitionstart:ti(`Transition`,`TransitionStart`),transitioncancel:ti(`Transition`,`TransitionCancel`),transitionend:ti(`Transition`,`TransitionEnd`)},ri={},ii={};Dn&&(ii=document.createElement(`div`).style,`AnimationEvent`in window||(delete ni.animationend.animation,delete ni.animationiteration.animation,delete ni.animationstart.animation),`TransitionEvent`in window||delete ni.transitionend.transition);function ai(e){if(ri[e])return ri[e];if(!ni[e])return e;var t=ni[e],n;for(n in t)if(t.hasOwnProperty(n)&&n in ii)return ri[e]=t[n];return e}var oi=ai(`animationend`),si=ai(`animationiteration`),ci=ai(`animationstart`),li=ai(`transitionrun`),ui=ai(`transitionstart`),di=ai(`transitioncancel`),fi=ai(`transitionend`),pi=new Map,mi=`abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error fullscreenChange fullscreenError gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel`.split(` `);mi.push(`scrollEnd`);function hi(e,t){pi.set(e,t),Bt(t,[e])}var gi=0;function _i(e,t){if(e.name!=null&&e.name!==`auto`)return e.name;if(t.autoName!==null)return t.autoName;e=yd.identifierPrefix;var n=gi++;return e=`_`+e+`t_`+n.toString(32)+`_`,t.autoName=e}function vi(e){if(e==null||typeof e==`string`)return e;var t=null,n=Dd;if(n!==null)for(var r=0;r<n.length;r++){var i=e[n[r]];if(i!=null){if(i===`none`)return`none`;t=t==null?i:t+(` `+i)}}return t??e.default}function yi(e,t){return e=vi(e),t=vi(t),t==null?e===`auto`?null:e:t===`auto`?null:t}var bi=typeof reportError==`function`?reportError:function(e){if(typeof window==`object`&&typeof window.ErrorEvent==`function`){var t=new window.ErrorEvent(`error`,{bubbles:!0,cancelable:!0,message:typeof e==`object`&&e&&typeof e.message==`string`?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if(typeof process==`object`&&typeof process.emit==`function`){process.emit(`uncaughtException`,e);return}console.error(e)},xi=[],Si=0,Ci=0;function wi(){for(var e=Si,t=Ci=Si=0;t<e;){var n=xi[t];xi[t++]=null;var r=xi[t];xi[t++]=null;var i=xi[t];xi[t++]=null;var a=xi[t];if(xi[t++]=null,r!==null&&i!==null){var o=r.pending;o===null?i.next=i:(i.next=o.next,o.next=i),r.pending=i}a!==0&&Oi(n,i,a)}}function Ti(e,t,n,r){xi[Si++]=e,xi[Si++]=t,xi[Si++]=n,xi[Si++]=r,Ci|=r,e.lanes|=r,e=e.alternate,e!==null&&(e.lanes|=r)}function Ei(e,t,n,r){return Ti(e,t,n,r),ki(e)}function Di(e,t){return Ti(e,null,null,t),ki(e)}function Oi(e,t,n){e.lanes|=n;var r=e.alternate;r!==null&&(r.lanes|=n);for(var i=!1,a=e.return;a!==null;)a.childLanes|=n,r=a.alternate,r!==null&&(r.childLanes|=n),a.tag===22&&(e=a.stateNode,e===null||e._visibility&1||(i=!0)),e=a,a=a.return;return e.tag===3?(a=e.stateNode,i&&t!==null&&(i=31-Qe(n),e=a.hiddenUpdates,r=e[i],r===null?e[i]=[t]:r.push(t),t.lane=n|536870912),a):null}function ki(e){if(50<Od)throw Od=0,kd=null,Error(i(185));for(var t=e.return;t!==null;)e=t,t=e.return;return e.tag===3?e.stateNode:null}var Ai={};function ji(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.refCleanup=this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Mi(e,t,n,r){return new ji(e,t,n,r)}function Ni(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Pi(e,t){var n=e.alternate;return n===null?(n=Mi(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&1206910976,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n.refCleanup=e.refCleanup,n}function Fi(e,t){e.flags&=1206910978;var n=e.alternate;return n===null?(e.childLanes=0,e.lanes=t,e.child=null,e.subtreeFlags=0,e.memoizedProps=null,e.memoizedState=null,e.updateQueue=null,e.dependencies=null,e.stateNode=null):(e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.subtreeFlags=0,e.deletions=null,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,e.type=n.type,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext}),e}function Ii(e,t,n,r,a,o){var s=0;if(r=e,typeof r==`function`)Ni(r)&&(s=1);else if(typeof r==`string`)s=qm(e,n,Se.current)?26:e===`html`||e===`head`||e===`body`?27:5;else a:switch(r){case ce:return e=Mi(31,n,t,a),e.elementType=ce,e.lanes=o,e;case k:return Li(n.children,a,o,t);case A:s=8,a|=24;break;case ne:return e=Mi(12,n,t,a|2),e.elementType=ne,e.lanes=o,e;case ie:return e=Mi(13,n,t,a),e.elementType=ie,e.lanes=o,e;case ae:return e=Mi(19,n,t,a),e.elementType=ae,e.lanes=o,e;case le:case de:return e=a|32,e=Mi(30,n,t,e),e.elementType=de,e.lanes=o,e.stateNode={autoName:null,paired:null,clones:null,ref:null},e;default:if(typeof r==`object`&&r)switch(r.$$typeof){case j:s=10;break a;case re:s=9;break a;case M:s=11;break a;case oe:s=14;break a;case se:s=16,r=null;break a}s=29,n=Error(i(130,e===null?`null`:typeof e,``)),r=null}return t=Mi(s,n,t,a),t.elementType=e,t.type=r,t.lanes=o,t}function Li(e,t,n,r){return e=Mi(7,e,r,t),e.lanes=n,e}function Ri(e,t,n){return e=Mi(6,e,null,t),e.lanes=n,e}function zi(e){var t=Mi(18,null,null,0);return t.stateNode=e,t}function Bi(e,t,n){return t=Mi(4,e.children===null?[]:e.children,e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var Vi=new WeakMap;function Hi(e,t){if(typeof e==`object`&&e){var n=Vi.get(e);return n===void 0?(t={value:e,source:t,stack:L(t)},Vi.set(e,t),t):n}return{value:e,source:t,stack:L(t)}}var Ui=[],Wi=0,Gi=null,Ki=0,qi=[],Ji=0,Yi=null,Xi=1,Zi=``;function Qi(e,t){Ui[Wi++]=Ki,Ui[Wi++]=Gi,Gi=e,Ki=t}function $i(e,t,n){qi[Ji++]=Xi,qi[Ji++]=Zi,qi[Ji++]=Yi,Yi=e;var r=Xi;e=Zi;var i=32-Qe(r)-1;r&=~(1<<i),n+=1;var a=32-Qe(t)+i;if(30<a){var o=i-i%5;a=(r&(1<<o)-1).toString(32),r>>=o,i-=o,Xi=1<<32-Qe(t)+i|n<<i|r,Zi=a+e}else Xi=1<<a|n<<i|r,Zi=e}function ea(e){e.return!==null&&(Qi(e,1),$i(e,1,0))}function ta(e){for(;e===Gi;)Gi=Ui[--Wi],Ui[Wi]=null,Ki=Ui[--Wi],Ui[Wi]=null;for(;e===Yi;)Yi=qi[--Ji],qi[Ji]=null,Zi=qi[--Ji],qi[Ji]=null,Xi=qi[--Ji],qi[Ji]=null}function na(e,t){qi[Ji++]=Xi,qi[Ji++]=Zi,qi[Ji++]=Yi,Xi=t.id,Zi=t.overflow,Yi=e}var ra=null,ia=null,B=!1,aa=null,oa=!1,sa=Error(i(519));function ca(e){throw ma(Hi(Error(i(418,1<arguments.length&&arguments[1]!==void 0&&arguments[1]?`text`:`HTML`,``)),e)),sa}function la(e){var t=e.stateNode,n=e.type,r=e.memoizedProps;switch(t[St]=e,t[Ct]=r,n){case`dialog`:$(`cancel`,t),$(`close`,t);break;case`iframe`:case`object`:case`embed`:$(`load`,t);break;case`video`:case`audio`:for(n=0;n<Rf.length;n++)$(Rf[n],t);break;case`source`:$(`error`,t);break;case`img`:case`image`:case`link`:$(`error`,t),$(`load`,t);break;case`details`:$(`toggle`,t);break;case`input`:$(`invalid`,t),an(t,r.value,r.defaultValue,r.checked,r.defaultChecked,r.type,r.name,!0);break;case`select`:$(`invalid`,t);break;case`textarea`:$(`invalid`,t),ln(t,r.value,r.defaultValue,r.children)}n=r.children,typeof n!=`string`&&typeof n!=`number`&&typeof n!=`bigint`||t.textContent===``+n||!0===r.suppressHydrationWarning||$f(t.textContent,n)?(r.popover!=null&&($(`beforetoggle`,t),$(`toggle`,t)),r.onScroll!=null&&$(`scroll`,t),r.onScrollEnd!=null&&$(`scrollend`,t),r.onClick!=null&&(t.onclick=vn),t=!0):t=!1,t||ca(e,!0)}function ua(e){for(ra=e.return;ra;)switch(ra.tag){case 5:case 31:case 13:oa=!1;return;case 27:case 3:oa=!0;return;default:ra=ra.return}}function da(e){if(e!==ra)return!1;if(!B)return ua(e),B=!0,!1;var t=e.tag,n;if((n=t!==3&&t!==27)&&((n=t===5)&&(n=e.type,n=n===`form`||n===`button`||pp(e.type,e.memoizedProps)),n=!n),n&&ia&&ca(e),ua(e),t===13){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(317));ia=dm(e)}else if(t===31){if(e=e.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(317));ia=dm(e)}else t===27?(t=ia,Sp(e.type)?(e=um,um=null,ia=e):ia=t):ia=ra?lm(e.stateNode.nextSibling):null;return!0}function fa(){ia=ra=null,B=!1}function pa(){var e=aa;return e!==null&&(dd===null?dd=e:dd.push.apply(dd,e),aa=null),e}function ma(e){aa===null?aa=[e]:aa.push(e)}var ha=xe(null),ga=null,_a=null;function va(e,t,n){I(ha,t._currentValue),t._currentValue=n}function ya(e){e._currentValue=ha.current,F(ha)}function ba(e,t,n){for(;e!==null;){var r=e.alternate;if((e.childLanes&t)===t?r!==null&&(r.childLanes&t)!==t&&(r.childLanes|=t):(e.childLanes|=t,r!==null&&(r.childLanes|=t)),e===n)break;e=e.return}}function xa(e,t,n,r){var a=e.child;for(a!==null&&(a.return=e);a!==null;){var o=a.dependencies;if(o!==null){var s=a.child;o=o.firstContext;a:for(;o!==null;){var c=o;o=a;for(var l=0;l<t.length;l++)if(c.context===t[l]){o.lanes|=n,c=o.alternate,c!==null&&(c.lanes|=n),ba(o.return,n,e),r||(s=null);break a}o=c.next}}else if(a.tag===18){if(s=a.return,s===null)throw Error(i(341));s.lanes|=n,o=s.alternate,o!==null&&(o.lanes|=n),ba(s,n,e),s=null}else a.tag===13&&a.memoizedState!==null&&a.memoizedState.dehydrated===null?(a.lanes|=n,s=a.alternate,s!==null&&(s.lanes|=n),ba(a.return,n,e),s=a.child,s=s===null?null:s.sibling):s=a.child;if(s!==null)s.return=a;else for(s=a;s!==null;){if(s===e){s=null;break}if(a=s.sibling,a!==null){a.return=s.return,s=a;break}s=s.return}a=s}}function Sa(e,t,n,r){e=null;for(var a=t,o=!1;a!==null;){if(!o){if(a.flags&524288)o=!0;else if(a.flags&262144)break}if(a.tag===10){var s=a.alternate;if(s===null)throw Error(i(387));if(s=s.memoizedProps,s!==null){var c=a.type;Vr(a.pendingProps.value,s.value)||(e===null?e=[c]:e.push(c))}}else if(a===Te.current){if(s=a.alternate,s===null)throw Error(i(387));s.memoizedState.memoizedState!==a.memoizedState.memoizedState&&(e===null?e=[sh]:e.push(sh))}a=a.return}return e!==null&&xa(t,e,n,r),t.flags|=262144,e!==null}function Ca(e){for(e=e.firstContext;e!==null;){if(!Vr(e.context._currentValue,e.memoizedValue))return!0;e=e.next}return!1}function wa(e){ga=e,_a=null,e=e.dependencies,e!==null&&(e.firstContext=null)}function Ta(e){return Da(ga,e)}function Ea(e,t){return ga===null&&wa(e),Da(e,t)}function Da(e,t){var n=t._currentValue;if(t={context:t,memoizedValue:n,next:null},_a===null){if(e===null)throw Error(i(308));_a=t,e.dependencies={lanes:0,firstContext:t},e.flags|=524288}else _a=_a.next=t;return n}var Oa=typeof AbortController<`u`?AbortController:function(){var e=[],t=this.signal={aborted:!1,addEventListener:function(t,n){e.push(n)}};this.abort=function(){t.aborted=!0,e.forEach(function(e){return e()})}},ka=t.unstable_scheduleCallback,Aa=t.unstable_NormalPriority,ja={$$typeof:j,Consumer:null,Provider:null,_currentValue:null,_currentValue2:null,_threadCount:0};function Ma(){return{controller:new Oa,data:new Map,refCount:0}}function Na(e){e.refCount--,e.refCount===0&&ka(Aa,function(){e.controller.abort()})}function Pa(e,t){if(e.pendingLanes&4194048){var n=e.transitionTypes;for(n===null&&(n=e.transitionTypes=[]),e=0;e<t.length;e++){var r=t[e];n.indexOf(r)===-1&&n.push(r)}}}var Fa=null;function Ia(e){var t=e.transitionTypes;return e.transitionTypes=null,t}var La=null,Ra=0,za=0,Ba=null;function Va(e,t){if(La===null){var n=La=[];Ra=0,za=Nf(),Ba={status:`pending`,value:void 0,then:function(e){n.push(e)}}}return Ra++,t.then(Ha,Ha),t}function Ha(){if(--Ra===0&&(Fa=null,La!==null)){Ba!==null&&(Ba.status=`fulfilled`);var e=La;La=null,za=0,Ba=null;for(var t=0;t<e.length;t++)(0,e[t])()}}function Ua(e,t){var n=[],r={status:`pending`,value:null,reason:null,then:function(e){n.push(e)}};return e.then(function(){r.status=`fulfilled`,r.value=t;for(var e=0;e<n.length;e++)(0,n[e])(t)},function(e){for(r.status=`rejected`,r.reason=e,e=0;e<n.length;e++)(0,n[e])(void 0)}),r}var Wa=N.S;N.S=function(e,t){if(md=Be(),typeof t==`object`&&t&&typeof t.then==`function`&&Va(e,t),Fa!==null)for(var n=bf;n!==null;)Pa(n,Fa),n=n.next;if(n=e.types,n!==null){for(var r=bf;r!==null;)Pa(r,n),r=r.next;if(za!==0){r=Fa,r===null&&(r=Fa=[]);for(var i=0;i<n.length;i++){var a=n[i];r.indexOf(a)===-1&&r.push(a)}}}Wa!==null&&Wa(e,t)};var Ga=xe(null);function Ka(){var e=Ga.current;return e===null?ed.pooledCache:e}function qa(e,t){t===null?I(Ga,Ga.current):I(Ga,t.pool)}function Ja(){var e=Ka();return e===null?null:{parent:ja._currentValue,pool:e}}var Ya=Error(i(460)),Xa=Error(i(474)),Za=Error(i(542)),Qa={then:function(){}};function $a(e){return e=e.status,e===`fulfilled`||e===`rejected`}function eo(e,t,n){switch(n=e[n],n===void 0?e.push(t):n!==t&&(t.then(vn,vn),t=n),t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,io(e),e===void 0&&!(`reason`in t)?Error(i(600)):e;default:if(typeof t.status==`string`)t.then(vn,vn);else{if(e=ed,e!==null&&100<e.shellSuspendCounter)throw Error(i(482));e=t,e.status=`pending`,e.then(function(e){if(t.status===`pending`){var n=t;n.status=`fulfilled`,n.value=e}},function(e){if(t.status===`pending`){var n=t;n.status=`rejected`,n.reason=e}})}switch(t.status){case`fulfilled`:return t.value;case`rejected`:throw e=t.reason,io(e),e}throw no=t,Ya}}function to(e){try{var t=e._init;return t(e._payload)}catch(e){throw typeof e==`object`&&e&&typeof e.then==`function`?(no=e,Ya):e}}var no=null;function ro(){if(no===null)throw Error(i(459));var e=no;return no=null,e}function io(e){if(e===Ya||e===Za)throw Error(i(483))}var ao=null,oo=0;function so(e){var t=oo;return oo+=1,ao===null&&(ao=[]),eo(ao,e,t)}function co(e,t){t=t.props.ref,e.ref=t===void 0?null:t}function lo(e,t){throw t.$$typeof===ee?Error(i(525)):(e=Object.prototype.toString.call(t),Error(i(31,e===`[object Object]`?`object with keys {`+Object.keys(t).join(`, `)+`}`:e)))}function uo(e){function t(t,n){if(e){var r=t.deletions;r===null?(t.deletions=[n],t.flags|=16):r.push(n)}}function n(n,r){if(!e)return null;for(;r!==null;)t(n,r),r=r.sibling;return null}function r(e){for(var t=new Map;e!==null;)e.key===null?t.set(e.index,e):t.set(e.key,e),e=e.sibling;return t}function a(e,t){return e=Pi(e,t),e.index=0,e.sibling=null,e}function o(t,n,r){return t.index=r,e?(r=t.alternate,r===null?(t.flags|=134217730,n):(r=r.index,r<n?(t.flags|=2,n):r)):(t.flags|=1048576,n)}function s(t){return e&&t.alternate===null&&(t.flags|=134217730),t}function c(e,t,n,r){return t===null||t.tag!==6?(t=Ri(n,e.mode,r),t.return=e,t):(t=a(t,n),t.return=e,t)}function l(e,t,n,r){var i=n.type;return i===k?(e=d(e,t,n.props.children,r,n.key),co(e,n),e):t!==null&&(t.elementType===i||typeof i==`object`&&i&&i.$$typeof===se&&to(i)===t.type)?(t=a(t,n.props),co(t,n),t.return=e,t):(t=Ii(n.type,n.key,n.props,null,e.mode,r),co(t,n),t.return=e,t)}function u(e,t,n,r){return t===null||t.tag!==4||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?(t=Bi(n,e.mode,r),t.return=e,t):(t=a(t,n.children||[]),t.return=e,t)}function d(e,t,n,r,i){return t===null||t.tag!==7?(t=Li(n,e.mode,r,i),t.return=e,t):(t=a(t,n),t.return=e,t)}function f(e,t,n){if(typeof t==`string`&&t!==``||typeof t==`number`||typeof t==`bigint`)return t=Ri(``+t,e.mode,n),t.return=e,t;if(typeof t==`object`&&t){switch(t.$$typeof){case O:return n=Ii(t.type,t.key,t.props,null,e.mode,n),co(n,t),n.return=e,n;case te:return t=Bi(t,e.mode,n),t.return=e,t;case se:return t=to(t),f(e,t,n)}if(_e(t)||me(t))return t=Li(t,e.mode,n,null),t.return=e,t;if(typeof t.then==`function`)return f(e,so(t),n);if(t.$$typeof===j)return f(e,Ea(e,t),n);lo(e,t)}return null}function p(e,t,n,r){var i=t===null?null:t.key;if(typeof n==`string`&&n!==``||typeof n==`number`||typeof n==`bigint`)return i===null?c(e,t,``+n,r):null;if(typeof n==`object`&&n){switch(n.$$typeof){case O:return n.key===i?l(e,t,n,r):null;case te:return n.key===i?u(e,t,n,r):null;case se:return n=to(n),p(e,t,n,r)}if(_e(n)||me(n))return i===null?d(e,t,n,r,null):null;if(typeof n.then==`function`)return p(e,t,so(n),r);if(n.$$typeof===j)return p(e,t,Ea(e,n),r);lo(e,n)}return null}function m(e,t,n,r,i){if(typeof r==`string`&&r!==``||typeof r==`number`||typeof r==`bigint`)return e=e.get(n)||null,c(t,e,``+r,i);if(typeof r==`object`&&r){switch(r.$$typeof){case O:return e=e.get(r.key===null?n:r.key)||null,l(t,e,r,i);case te:return e=e.get(r.key===null?n:r.key)||null,u(t,e,r,i);case se:return r=to(r),m(e,t,n,r,i)}if(_e(r)||me(r))return e=e.get(n)||null,d(t,e,r,i,null);if(typeof r.then==`function`)return m(e,t,n,so(r),i);if(r.$$typeof===j)return m(e,t,n,Ea(t,r),i);lo(t,r)}return null}function h(i,a,s,c){for(var l=null,u=null,d=a,h=a=0,g=null;d!==null&&h<s.length;h++){d.index>h?(g=d,d=null):g=d.sibling;var _=p(i,d,s[h],c);if(_===null){d===null&&(d=g);break}e&&d&&_.alternate===null&&t(i,d),a=o(_,a,h),u===null?l=_:u.sibling=_,u=_,d=g}if(h===s.length)return n(i,d),B&&Qi(i,h),l;if(d===null){for(;h<s.length;h++)d=f(i,s[h],c),d!==null&&(a=o(d,a,h),u===null?l=d:u.sibling=d,u=d);return B&&Qi(i,h),l}for(d=r(d);h<s.length;h++)g=m(d,i,h,s[h],c),g!==null&&(e&&(_=g.alternate,_!==null&&d.delete(_.key===null?h:_.key)),a=o(g,a,h),u===null?l=g:u.sibling=g,u=g);return e&&d.forEach(function(e){return t(i,e)}),B&&Qi(i,h),l}function g(a,s,c,l){if(c==null)throw Error(i(151));for(var u=null,d=null,h=s,g=s=0,_=null,v=c.next();h!==null&&!v.done;g++,v=c.next()){h.index>g?(_=h,h=null):_=h.sibling;var y=p(a,h,v.value,l);if(y===null){h===null&&(h=_);break}e&&h&&y.alternate===null&&t(a,h),s=o(y,s,g),d===null?u=y:d.sibling=y,d=y,h=_}if(v.done)return n(a,h),B&&Qi(a,g),u;if(h===null){for(;!v.done;g++,v=c.next())v=f(a,v.value,l),v!==null&&(s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return B&&Qi(a,g),u}for(h=r(h);!v.done;g++,v=c.next())v=m(h,a,g,v.value,l),v!==null&&(e&&(_=v.alternate,_!==null&&h.delete(_.key===null?g:_.key)),s=o(v,s,g),d===null?u=v:d.sibling=v,d=v);return e&&h.forEach(function(e){return t(a,e)}),B&&Qi(a,g),u}function _(e,r,o,c){if(typeof o==`object`&&o&&o.type===k&&o.key===null&&o.props.ref===void 0&&(o=o.props.children),typeof o==`object`&&o){switch(o.$$typeof){case O:a:{for(var l=o.key;r!==null;){if(r.key===l){if(l=o.type,l===k){if(r.tag===7){n(e,r.sibling),c=a(r,o.props.children),co(c,o),c.return=e,e=c;break a}}else if(r.elementType===l||typeof l==`object`&&l&&l.$$typeof===se&&to(l)===r.type){n(e,r.sibling),c=a(r,o.props),co(c,o),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}o.type===k?(c=Li(o.props.children,e.mode,c,o.key),co(c,o),c.return=e,e=c):(c=Ii(o.type,o.key,o.props,null,e.mode,c),co(c,o),c.return=e,e=c)}return s(e);case te:a:{for(l=o.key;r!==null;){if(r.key===l){if(r.tag===4&&r.stateNode.containerInfo===o.containerInfo&&r.stateNode.implementation===o.implementation){n(e,r.sibling),c=a(r,o.children||[]),c.return=e,e=c;break a}n(e,r);break}t(e,r),r=r.sibling}c=Bi(o,e.mode,c),c.return=e,e=c}return s(e);case se:return o=to(o),_(e,r,o,c)}if(_e(o))return h(e,r,o,c);if(me(o)){if(l=me(o),typeof l!=`function`)throw Error(i(150));return o=l.call(o),g(e,r,o,c)}if(typeof o.then==`function`)return _(e,r,so(o),c);if(o.$$typeof===j)return _(e,r,Ea(e,o),c);lo(e,o)}return typeof o==`string`&&o!==``||typeof o==`number`||typeof o==`bigint`?(o=``+o,r!==null&&r.tag===6?(n(e,r.sibling),c=a(r,o),c.return=e,e=c):(n(e,r),c=Ri(o,e.mode,c),c.return=e,e=c),s(e)):n(e,r)}return function(e,t,n,r){try{oo=0;var i=_(e,t,n,r);return ao=null,i}catch(t){if(t===Ya||t===Za)throw t;var a=Mi(29,t,null,e.mode);return a.lanes=r,a.return=e,a}}}var fo=uo(!0),po=uo(!1),mo=!1;function ho(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function go(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function _o(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function vo(e,t,n){var r=e.updateQueue;if(r===null)return null;if(r=r.shared,K&2){var i=r.pending;return i===null?t.next=t:(t.next=i.next,i.next=t),r.pending=t,t=ki(e),Oi(e,null,n),t}return Ti(e,r,t,n),ki(e)}function yo(e,t,n){if(t=t.updateQueue,t!==null&&(t=t.shared,n&4194048)){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,ht(e,n)}}function bo(e,t){var n=e.updateQueue,r=e.alternate;if(r!==null&&(r=r.updateQueue,n===r)){var i=null,a=null;if(n=n.firstBaseUpdate,n!==null){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};a===null?i=a=o:a=a.next=o,n=n.next}while(n!==null);a===null?i=a=t:a=a.next=t}else i=a=t;n={baseState:r.baseState,firstBaseUpdate:i,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n}else e=n.lastBaseUpdate,e===null?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var xo=!1;function So(){if(xo){var e=Ba;if(e!==null)throw e}}function Co(e,t,n,r){xo=!1;var i=e.updateQueue;mo=!1;var a=i.firstBaseUpdate,o=i.lastBaseUpdate,s=i.shared.pending;if(s!==null){i.shared.pending=null;var c=s,l=c.next;c.next=null,o===null?a=l:o.next=l,o=c;var u=e.alternate;u!==null&&(u=u.updateQueue,s=u.lastBaseUpdate,s!==o&&(s===null?u.firstBaseUpdate=l:s.next=l,u.lastBaseUpdate=c))}if(a!==null){var d=i.baseState;o=0,u=l=c=null,s=a;do{var f=s.lane&-536870913,p=f!==s.lane;if(p?(J&f)===f:(r&f)===f){f!==0&&f===za&&(xo=!0),u!==null&&(u=u.next={lane:0,tag:s.tag,payload:s.payload,callback:null,next:null});a:{var m=e,h=s;f=t;var g=n;switch(h.tag){case 1:if(m=h.payload,typeof m==`function`){d=m.call(g,d,f);break a}d=m;break a;case 3:m.flags=m.flags&-65537|128;case 0:if(m=h.payload,f=typeof m==`function`?m.call(g,d,f):m,f==null)break a;d=D({},d,f);break a;case 2:mo=!0}}f=s.callback,f!==null&&(e.flags|=64,p&&(e.flags|=8192),p=i.callbacks,p===null?i.callbacks=[f]:p.push(f))}else p={lane:f,tag:s.tag,payload:s.payload,callback:s.callback,next:null},u===null?(l=u=p,c=d):u=u.next=p,o|=f;if(s=s.next,s===null){if(s=i.shared.pending,s===null)break;p=s,s=p.next,p.next=null,i.lastBaseUpdate=p,i.shared.pending=null}}while(1);u===null&&(c=d),i.baseState=c,i.firstBaseUpdate=l,i.lastBaseUpdate=u,a===null&&(i.shared.lanes=0),ad|=o,e.lanes=o,e.memoizedState=d}}function wo(e,t){if(typeof e!=`function`)throw Error(i(191,e));e.call(t)}function To(e,t){var n=e.callbacks;if(n!==null)for(e.callbacks=null,e=0;e<n.length;e++)wo(n[e],t)}var Eo=xe(null),Do=xe(0);function Oo(e,t){e=rd,I(Do,e),I(Eo,t),rd=e|t.baseLanes}function ko(){I(Do,rd),I(Eo,Eo.current)}function Ao(){rd=Do.current,F(Eo),F(Do)}var jo=xe(null),Mo=null;function No(e){var t=e.alternate;I(Ro,Ro.current&1),I(jo,e),Mo===null&&(t===null||Eo.current!==null||t.memoizedState!==null)&&(Mo=e)}function Po(e){I(Ro,Ro.current),I(jo,e),Mo===null&&(Mo=e)}function Fo(e){e.tag===22?(I(Ro,Ro.current),I(jo,e),Mo===null&&(Mo=e)):Io()}function Io(){I(Ro,Ro.current),I(jo,jo.current)}function Lo(e){F(jo),Mo===e&&(Mo=null),F(Ro)}var Ro=xe(0);function zo(e,t){I(jo,jo.current),I(Ro,t)}function Bo(e){F(Ro),F(jo),Mo===e&&(Mo=null)}function Vo(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||om(n)||sm(n)))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==`independent`){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Ho=0,V=null,Uo=null,Wo=null,Go=!1,Ko=!1,qo=!1,Jo=0,Yo=0,Xo=null,Zo=0;function Qo(){throw Error(i(321))}function $o(e,t){if(t===null)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!Vr(e[n],t[n]))return!1;return!0}function es(e,t,n,r,i,a){return Ho=a,V=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,N.H=e===null||e.memoizedState===null?_c:vc,qo=!1,a=n(r,i),qo=!1,Ko&&(a=ns(t,n,r,i)),ts(e),a}function ts(e){N.H=gc;var t=Uo!==null&&Uo.next!==null;if(Ho=0,Wo=Uo=V=null,Go=!1,Yo=0,Xo=null,t)throw Error(i(300));e===null||Fc||(e=e.dependencies,e!==null&&Ca(e)&&(Fc=!0))}function ns(e,t,n,r){V=e;var a=0;do{if(Ko&&(Xo=null),Yo=0,Ko=!1,25<=a)throw Error(i(301));if(a+=1,Wo=Uo=null,e.updateQueue!=null){var o=e.updateQueue;o.lastEffect=null,o.events=null,o.stores=null,o.memoCache!=null&&(o.memoCache.index=0)}N.H=yc,o=t(n,r)}while(Ko);return o}function rs(){var e=N.H,t=e.useState()[0];return t=typeof t.then==`function`?us(t):t,e=e.useState()[0],(Uo===null?null:Uo.memoizedState)!==e&&(V.flags|=1024),t}function is(){var e=Jo!==0;return Jo=0,e}function as(e,t,n){t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~n}function os(e){if(Go){for(e=e.memoizedState;e!==null;){var t=e.queue;t!==null&&(t.pending=null),e=e.next}Go=!1}Ho=0,Wo=Uo=V=null,Ko=!1,Yo=Jo=0,Xo=null}function ss(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Wo===null?V.memoizedState=Wo=e:Wo=Wo.next=e,Wo}function cs(){if(Uo===null){var e=V.alternate;e=e===null?null:e.memoizedState}else e=Uo.next;var t=Wo===null?V.memoizedState:Wo.next;if(t!==null)Wo=t,Uo=e;else{if(e===null)throw V.alternate===null?Error(i(467)):Error(i(310));Uo=e,e={memoizedState:Uo.memoizedState,baseState:Uo.baseState,baseQueue:Uo.baseQueue,queue:Uo.queue,next:null},Wo===null?V.memoizedState=Wo=e:Wo=Wo.next=e}return Wo}function ls(){return{lastEffect:null,events:null,stores:null,memoCache:null}}function us(e){var t=Yo;return Yo+=1,Xo===null&&(Xo=[]),e=eo(Xo,e,t),t=V,(Wo===null?t.memoizedState:Wo.next)===null&&(t=t.alternate,N.H=t===null||t.memoizedState===null?_c:vc),e}function ds(e){if(typeof e==`object`&&e){if(typeof e.then==`function`)return us(e);if(e.$$typeof===fe)return;if(e.$$typeof===j)return Ta(e)}throw Error(i(438,String(e)))}function fs(e){var t=null,n=V.updateQueue;if(n!==null&&(t=n.memoCache),t==null){var r=V.alternate;r!==null&&(r=r.updateQueue,r!==null&&(r=r.memoCache,r!=null&&(t={data:r.data.map(function(e){return e.slice()}),index:0})))}if(t??={data:[],index:0},n===null&&(n=ls(),V.updateQueue=n),n.memoCache=t,n=t.data[t.index],n===void 0)for(n=t.data[t.index]=Array(e),r=0;r<e;r++)n[r]=ue;return t.index++,n}function ps(e,t){return typeof t==`function`?t(e):t}function ms(e){return hs(cs(),Uo,e)}function hs(e,t,n){var r=e.queue;if(r===null)throw Error(i(311));r.lastRenderedReducer=n;var a=e.baseQueue,o=r.pending;if(o!==null){if(a!==null){var s=a.next;a.next=o.next,o.next=s}t.baseQueue=a=o,r.pending=null}if(o=e.baseState,a===null)e.memoizedState=o;else{t=a.next;var c=s=null,l=null,u=t,d=!1;do{var f=u.lane&-536870913;if(f===u.lane?(Ho&f)===f:(J&f)===f){var p=u.revertLane;if(p===0)l!==null&&(l=l.next={lane:0,revertLane:0,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null}),f===za&&(d=!0);else if((Ho&p)===p){u=u.next,p===za&&(d=!0);continue}else f={lane:0,revertLane:u.revertLane,gesture:null,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=f,s=o):l=l.next=f,V.lanes|=p,ad|=p;f=u.action,qo&&n(o,f),o=u.hasEagerState?u.eagerState:n(o,f)}else p={lane:f,revertLane:u.revertLane,gesture:u.gesture,action:u.action,hasEagerState:u.hasEagerState,eagerState:u.eagerState,next:null},l===null?(c=l=p,s=o):l=l.next=p,V.lanes|=f,ad|=f;u=u.next}while(u!==null&&u!==t);if(l===null?s=o:l.next=c,!Vr(o,e.memoizedState)&&(Fc=!0,d&&(n=Ba,n!==null)))throw n;e.memoizedState=o,e.baseState=s,e.baseQueue=l,r.lastRenderedState=o}return a===null&&(r.lanes=0),[e.memoizedState,r.dispatch]}function gs(e){var t=cs(),n=t.queue;if(n===null)throw Error(i(311));n.lastRenderedReducer=e;var r=n.dispatch,a=n.pending,o=t.memoizedState;if(a!==null){n.pending=null;var s=a=a.next;do o=e(o,s.action),s=s.next;while(s!==a);Vr(o,t.memoizedState)||(Fc=!0),t.memoizedState=o,t.baseQueue===null&&(t.baseState=o),n.lastRenderedState=o}return[o,r]}function _s(e,t,n){var r=V,a=cs(),o=B;if(o){if(n===void 0)throw Error(i(407));n=n()}else n=t();var s=!Vr((Uo||a).memoizedState,n);if(s&&(a.memoizedState=n,Fc=!0),a=a.queue,Hs(bs.bind(null,r,a,e),[e]),e=a.getSnapshot!==t||s||Wo!==null&&!!(Wo.memoizedState.tag&1),Ls(e?9:8,{destroy:void 0},ys.bind(null,r,a,n,t),null),e){if(r.flags|=2048,ed===null)throw Error(i(349));o||Ho&127||vs(r,t,n)}return n}function vs(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},t=V.updateQueue,t===null?(t=ls(),V.updateQueue=t,t.stores=[e]):(n=t.stores,n===null?t.stores=[e]:n.push(e))}function ys(e,t,n,r){t.value=n,t.getSnapshot=r,xs(t)&&Ss(e)}function bs(e,t,n){return n(function(){xs(t)&&Ss(e)})}function xs(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!Vr(e,n)}catch{return!0}}function Ss(e){var t=Di(e,2);t!==null&&Nd(t,e,2)}function Cs(e){var t=ss();if(typeof e==`function`){var n=e;if(e=n(),qo){Ze(!0);try{n()}finally{Ze(!1)}}}return t.memoizedState=t.baseState=e,t.queue={pending:null,lanes:0,dispatch:null,lastRenderedReducer:ps,lastRenderedState:e},t}function ws(e,t,n,r){return e.baseState=n,hs(e,Uo,typeof r==`function`?r:ps)}function Ts(e,t,n,r,a){if(pc(e))throw Error(i(485));if(e=t.action,e!==null){var o={payload:a,action:e,next:null,isTransition:!0,status:`pending`,value:null,reason:null,listeners:[],then:function(e){o.listeners.push(e)}};N.T===null?o.isTransition=!1:n(!0),r(o),n=t.pending,n===null?(o.next=t.pending=o,Es(t,o)):(o.next=n.next,t.pending=n.next=o)}}function Es(e,t){var n=t.action,r=t.payload,i=e.state;if(t.isTransition){var a=N.T,o={};o.types=a===null?null:a.types,N.T=o;try{var s=n(i,r),c=N.S;c!==null&&c(o,s),Ds(e,t,s)}catch(n){ks(e,t,n)}finally{a!==null&&o.types!==null&&(a.types=o.types),N.T=a}}else try{a=n(i,r),Ds(e,t,a)}catch(n){ks(e,t,n)}}function Ds(e,t,n){typeof n==`object`&&n&&typeof n.then==`function`?n.then(function(n){Os(e,t,n)},function(n){return ks(e,t,n)}):Os(e,t,n)}function Os(e,t,n){t.status=`fulfilled`,t.value=n,As(t),e.state=n,t=e.pending,t!==null&&(n=t.next,n===t?e.pending=null:(n=n.next,t.next=n,Es(e,n)))}function ks(e,t,n){var r=e.pending;if(e.pending=null,r!==null){r=r.next;do t.status=`rejected`,t.reason=n,As(t),t=t.next;while(t!==r)}e.action=null}function As(e){e=e.listeners;for(var t=0;t<e.length;t++)(0,e[t])()}function js(e,t){return t}function Ms(e,t){if(B){var n=ed.formState;if(n!==null){a:{var r=V;if(B){if(ia){b:{for(var i=ia,a=oa;i.nodeType!==8;)if(!a||(i=lm(i.nextSibling),i===null)){i=null;break b}a=i.data,i=a===`F!`||a===`F`?i:null}if(i){ia=lm(i.nextSibling),r=i.data===`F!`;break a}}ca(r)}r=!1}r&&(t=n[0])}}return n=ss(),n.memoizedState=n.baseState=t,r={pending:null,lanes:0,dispatch:null,lastRenderedReducer:js,lastRenderedState:t},n.queue=r,n=uc.bind(null,V,r),r.dispatch=n,r=Cs(!1),a=fc.bind(null,V,!1,r.queue),r=ss(),i={state:t,dispatch:null,action:e,pending:null},r.queue=i,n=Ts.bind(null,V,i,a,n),i.dispatch=n,r.memoizedState=e,[t,n,!1]}function Ns(e){return Ps(cs(),Uo,e)}function Ps(e,t,n){if(t=hs(e,t,js)[0],e=ms(ps)[0],typeof t==`object`&&t&&typeof t.then==`function`)try{var r=us(t)}catch(e){throw e===Ya?Za:e}else r=t;t=cs();var i=t.queue,a=i.dispatch;return n!==t.memoizedState&&(V.flags|=2048,Ls(9,{destroy:void 0},Fs.bind(null,i,n),null)),[r,a,e]}function Fs(e,t){e.action=t}function Is(e){var t=cs(),n=Uo;if(n!==null)return Ps(t,n,e);cs(),t=t.memoizedState,n=cs();var r=n.queue.dispatch;return n.memoizedState=e,[t,r,!1]}function Ls(e,t,n,r){return e={tag:e,create:n,deps:r,inst:t,next:null},t=V.updateQueue,t===null&&(t=ls(),V.updateQueue=t),n=t.lastEffect,n===null?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function Rs(){return cs().memoizedState}function zs(e,t,n,r){var i=ss();V.flags|=e,i.memoizedState=Ls(1|t,{destroy:void 0},n,r===void 0?null:r)}function Bs(e,t,n,r){var i=cs();r=r===void 0?null:r;var a=i.memoizedState.inst;Uo!==null&&r!==null&&$o(r,Uo.memoizedState.deps)?i.memoizedState=Ls(t,a,n,r):(V.flags|=e,i.memoizedState=Ls(1|t,a,n,r))}function Vs(e,t){zs(8390656,8,e,t)}function Hs(e,t){Bs(2048,8,e,t)}function Us(e){V.flags|=4;var t=V.updateQueue;if(t===null)t=ls(),V.updateQueue=t,t.events=[e];else{var n=t.events;n===null?t.events=[e]:n.push(e)}}function Ws(e){var t=cs().memoizedState;return Us({ref:t,nextImpl:e}),function(){if(K&2)throw Error(i(440));return t.impl.apply(void 0,arguments)}}function Gs(e,t){return Bs(4,2,e,t)}function Ks(e,t){return Bs(4,4,e,t)}function qs(e,t){if(typeof t==`function`){e=e();var n=t(e);return function(){typeof n==`function`?n():t(null)}}if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Js(e,t,n){n=n==null?null:n.concat([e]),Bs(4,4,qs.bind(null,t,e),n)}function Ys(){}function Xs(e,t){var n=cs();t=t===void 0?null:t;var r=n.memoizedState;return t!==null&&$o(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Zs(e,t){var n=cs();t=t===void 0?null:t;var r=n.memoizedState;if(t!==null&&$o(t,r[1]))return r[0];if(r=e(),qo){Ze(!0);try{e()}finally{Ze(!1)}}return n.memoizedState=[r,t],r}function Qs(e,t,n){return n===void 0||Ho&1073741824&&!(J&261930)?e.memoizedState=t:(e.memoizedState=n,e=jd(),V.lanes|=e,ad|=e,n)}function $s(e,t,n,r){return Vr(n,t)?n:Eo.current===null?!(Ho&106)||Ho&1073741824&&!(J&261930)?(Fc=!0,e.memoizedState=n):(e=jd(),V.lanes|=e,ad|=e,t):(e=Qs(e,n,r),Vr(e,t)||(Fc=!0),e)}function ec(e,t,n,r,i){var a=P.p;P.p=a!==0&&8>a?a:8;var o=N.T,s={};s.types=o===null?null:o.types,N.T=s,fc(e,!1,t,n);try{var c=i(),l=N.S;l!==null&&l(s,c),typeof c==`object`&&c&&typeof c.then==`function`?dc(e,t,Ua(c,r),Ad(e)):dc(e,t,r,Ad(e))}catch(n){dc(e,t,{then:function(){},status:`rejected`,reason:n},Ad())}finally{P.p=a,o!==null&&s.types!==null&&(o.types=s.types),N.T=o}}function tc(){}function nc(e,t,n,r){if(e.tag!==5)throw Error(i(476));var a=rc(e).queue;ec(e,a,t,ve,n===null?tc:function(){return ic(e),n(r)})}function rc(e){var t=e.memoizedState;if(t!==null)return t;t={memoizedState:ve,baseState:ve,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ps,lastRenderedState:ve},next:null};var n={};return t.next={memoizedState:n,baseState:n,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:ps,lastRenderedState:n},next:null},e.memoizedState=t,e=e.alternate,e!==null&&(e.memoizedState=t),t}function ic(e){var t=rc(e);t.next===null&&(t=e.alternate.memoizedState),dc(e,t.next.queue,{},Ad())}function ac(){return Ta(sh)}function oc(){return cs().memoizedState}function sc(){return cs().memoizedState}function cc(e){for(var t=e.return;t!==null;){switch(t.tag){case 24:case 3:var n=Ad();e=_o(n);var r=vo(t,e,n);r!==null&&(Nd(r,t,n),yo(r,t,n)),t={cache:Ma()},e.payload=t;return}t=t.return}}function lc(e,t,n){var r=Ad();n={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null},pc(e)?mc(t,n):(n=Ei(e,t,n,r),n!==null&&(Nd(n,e,r),hc(n,t,r)))}function uc(e,t,n){dc(e,t,n,Ad())}function dc(e,t,n,r){var i={lane:r,revertLane:0,gesture:null,action:n,hasEagerState:!1,eagerState:null,next:null};if(pc(e))mc(t,i);else{var a=e.alternate;if(e.lanes===0&&(a===null||a.lanes===0)&&(a=t.lastRenderedReducer,a!==null))try{var o=t.lastRenderedState,s=a(o,n);if(i.hasEagerState=!0,i.eagerState=s,Vr(s,o))return Ti(e,t,i,0),ed===null&&wi(),!1}catch{}if(n=Ei(e,t,i,r),n!==null)return Nd(n,e,r),hc(n,t,r),!0}return!1}function fc(e,t,n,r){if(r={lane:2,revertLane:Nf(),gesture:null,action:r,hasEagerState:!1,eagerState:null,next:null},pc(e)){if(t)throw Error(i(479))}else t=Ei(e,n,r,2),t!==null&&Nd(t,e,2)}function pc(e){var t=e.alternate;return e===V||t!==null&&t===V}function mc(e,t){Ko=Go=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function hc(e,t,n){if(n&4194048){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,ht(e,n)}}var gc={readContext:Ta,use:ds,useCallback:Qo,useContext:Qo,useEffect:Qo,useImperativeHandle:Qo,useLayoutEffect:Qo,useInsertionEffect:Qo,useMemo:Qo,useReducer:Qo,useRef:Qo,useState:Qo,useDebugValue:Qo,useDeferredValue:Qo,useTransition:Qo,useSyncExternalStore:Qo,useId:Qo,useHostTransitionStatus:Qo,useFormState:Qo,useActionState:Qo,useOptimistic:Qo,useMemoCache:Qo,useCacheRefresh:Qo,useEffectEvent:Qo},_c={readContext:Ta,use:ds,useCallback:function(e,t){return ss().memoizedState=[e,t===void 0?null:t],e},useContext:Ta,useEffect:Vs,useImperativeHandle:function(e,t,n){n=n==null?null:n.concat([e]),zs(4194308,4,qs.bind(null,t,e),n)},useLayoutEffect:function(e,t){return zs(4194308,4,e,t)},useInsertionEffect:function(e,t){zs(4,2,e,t)},useMemo:function(e,t){var n=ss();t=t===void 0?null:t;var r=e();if(qo){Ze(!0);try{e()}finally{Ze(!1)}}return n.memoizedState=[r,t],r},useReducer:function(e,t,n){var r=ss();if(n!==void 0){var i=n(t);if(qo){Ze(!0);try{n(t)}finally{Ze(!1)}}}else i=t;return r.memoizedState=r.baseState=i,e={pending:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:i},r.queue=e,e=e.dispatch=lc.bind(null,V,e),[r.memoizedState,e]},useRef:function(e){var t=ss();return e={current:e},t.memoizedState=e},useState:function(e){e=Cs(e);var t=e.queue,n=uc.bind(null,V,t);return t.dispatch=n,[e.memoizedState,n]},useDebugValue:Ys,useDeferredValue:function(e,t){return Qs(ss(),e,t)},useTransition:function(){var e=Cs(!1);return e=ec.bind(null,V,e.queue,!0,!1),ss().memoizedState=e,[!1,e]},useSyncExternalStore:function(e,t,n){var r=V,a=ss();if(B){if(n===void 0)throw Error(i(407));n=n()}else{if(n=t(),ed===null)throw Error(i(349));J&127||vs(r,t,n)}a.memoizedState=n;var o={value:n,getSnapshot:t};return a.queue=o,Vs(bs.bind(null,r,o,e),[e]),r.flags|=2048,Ls(9,{destroy:void 0},ys.bind(null,r,o,n,t),null),n},useId:function(){var e=ss(),t=ed.identifierPrefix;if(B){var n=Zi,r=Xi;n=(r&~(1<<32-Qe(r)-1)).toString(32)+n,t=`_`+t+`R_`+n,n=Jo++,0<n&&(t+=`H`+n.toString(32)),t+=`_`}else n=Zo++,t=`_`+t+`r_`+n.toString(32)+`_`;return e.memoizedState=t},useHostTransitionStatus:ac,useFormState:Ms,useActionState:Ms,useOptimistic:function(e){var t=ss();t.memoizedState=t.baseState=e;var n={pending:null,lanes:0,dispatch:null,lastRenderedReducer:null,lastRenderedState:null};return t.queue=n,t=fc.bind(null,V,!0,n),n.dispatch=t,[e,t]},useMemoCache:fs,useCacheRefresh:function(){return ss().memoizedState=cc.bind(null,V)},useEffectEvent:function(e){var t=ss(),n={impl:e};return t.memoizedState=n,function(){if(K&2)throw Error(i(440));return n.impl.apply(void 0,arguments)}}},vc={readContext:Ta,use:ds,useCallback:Xs,useContext:Ta,useEffect:Hs,useImperativeHandle:Js,useInsertionEffect:Gs,useLayoutEffect:Ks,useMemo:Zs,useReducer:ms,useRef:Rs,useState:function(){return ms(ps)},useDebugValue:Ys,useDeferredValue:function(e,t){return $s(cs(),Uo.memoizedState,e,t)},useTransition:function(){var e=ms(ps)[0],t=cs().memoizedState;return[typeof e==`boolean`?e:us(e),t]},useSyncExternalStore:_s,useId:oc,useHostTransitionStatus:ac,useFormState:Ns,useActionState:Ns,useOptimistic:function(e,t){return ws(cs(),Uo,e,t)},useMemoCache:fs,useCacheRefresh:sc,useEffectEvent:Ws},yc={readContext:Ta,use:ds,useCallback:Xs,useContext:Ta,useEffect:Hs,useImperativeHandle:Js,useInsertionEffect:Gs,useLayoutEffect:Ks,useMemo:Zs,useReducer:gs,useRef:Rs,useState:function(){return gs(ps)},useDebugValue:Ys,useDeferredValue:function(e,t){var n=cs();return Uo===null?Qs(n,e,t):$s(n,Uo.memoizedState,e,t)},useTransition:function(){var e=gs(ps)[0],t=cs().memoizedState;return[typeof e==`boolean`?e:us(e),t]},useSyncExternalStore:_s,useId:oc,useHostTransitionStatus:ac,useFormState:Is,useActionState:Is,useOptimistic:function(e,t){var n=cs();return Uo===null?(n.baseState=e,[e,n.queue.dispatch]):ws(n,Uo,e,t)},useMemoCache:fs,useCacheRefresh:sc,useEffectEvent:Ws};function bc(e,t,n,r){t=e.memoizedState,n=n(r,t),n=n==null?t:D({},t,n),e.memoizedState=n,e.lanes===0&&(e.updateQueue.baseState=n)}var xc={enqueueSetState:function(e,t,n){e=e._reactInternals;var r=Ad(),i=_o(r);i.payload=t,n!=null&&(i.callback=n),t=vo(e,i,r),t!==null&&(Nd(t,e,r),yo(t,e,r))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=Ad(),i=_o(r);i.tag=1,i.payload=t,n!=null&&(i.callback=n),t=vo(e,i,r),t!==null&&(Nd(t,e,r),yo(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=Ad(),r=_o(n);r.tag=2,t!=null&&(r.callback=t),t=vo(e,r,n),t!==null&&(Nd(t,e,n),yo(t,e,n))}};function Sc(e,t,n,r,i,a,o){return e=e.stateNode,typeof e.shouldComponentUpdate==`function`?e.shouldComponentUpdate(r,a,o):t.prototype&&t.prototype.isPureReactComponent?!Hr(n,r)||!Hr(i,a):!0}function Cc(e,t,n,r){e=t.state,typeof t.componentWillReceiveProps==`function`&&t.componentWillReceiveProps(n,r),typeof t.UNSAFE_componentWillReceiveProps==`function`&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&xc.enqueueReplaceState(t,t.state,null)}function wc(e,t){var n=t;if(`ref`in t)for(var r in n={},t)r!==`ref`&&(n[r]=t[r]);if(e=e.defaultProps)for(var i in n===t&&(n=D({},n)),e)n[i]===void 0&&(n[i]=e[i]);return n}function Tc(e){bi(e)}function Ec(e){console.error(e)}function Dc(e){bi(e)}function Oc(e,t){try{var n=e.onUncaughtError;n(t.value,{componentStack:t.stack})}catch(e){setTimeout(function(){throw e})}}function kc(e,t,n){try{var r=e.onCaughtError;r(n.value,{componentStack:n.stack,errorBoundary:t.tag===1?t.stateNode:null})}catch(e){setTimeout(function(){throw e})}}function Ac(e,t,n){return n=_o(n),n.tag=3,n.payload={element:null},n.callback=function(){Oc(e,t)},n}function jc(e){return e=_o(e),e.tag=3,e}function Mc(e,t,n,r){var i=n.type.getDerivedStateFromError;if(typeof i==`function`){var a=r.value;e.payload=function(){return i(a)},e.callback=function(){kc(t,n,r)}}var o=n.stateNode;o!==null&&typeof o.componentDidCatch==`function`&&(e.callback=function(){kc(t,n,r),typeof i!=`function`&&(_d===null?_d=new Set([this]):_d.add(this));var e=r.stack;this.componentDidCatch(r.value,{componentStack:e===null?``:e})})}function Nc(e,t,n,r,a){if(n.flags|=32768,typeof r==`object`&&r&&typeof r.then==`function`){if(t=n.alternate,t!==null&&Sa(t,n,a,!0),n=jo.current,n!==null){switch(n.tag){case 31:case 13:case 19:return Mo===null?Gd():n.alternate===null&&id===0&&(id=3),n.flags&=-257,n.flags|=65536,n.lanes=a,r===Qa?n.flags|=16384:(t=n.updateQueue,t===null?n.updateQueue=new Set([r]):t.add(r),mf(e,r,a)),!1;case 22:return n.flags|=65536,r===Qa?n.flags|=16384:(t=n.updateQueue,t===null?(t={transitions:null,markerInstances:null,retryQueue:new Set([r])},n.updateQueue=t):(n=t.retryQueue,n===null?t.retryQueue=new Set([r]):n.add(r)),mf(e,r,a)),!1}throw Error(i(435,n.tag))}return mf(e,r,a),Gd(),!1}if(B)return t=jo.current,t===null?(r!==sa&&(t=Error(i(423),{cause:r}),ma(Hi(t,n))),e=e.current.alternate,e.flags|=65536,a&=-a,e.lanes|=a,r=Hi(r,n),a=Ac(e.stateNode,r,a),bo(e,a),id!==4&&(id=2)):(!(t.flags&65536)&&(t.flags|=256),t.flags|=65536,t.lanes=a,r!==sa&&(e=Error(i(422),{cause:r}),ma(Hi(e,n)))),!1;var o=Error(i(520),{cause:r});if(o=Hi(o,n),ud===null?ud=[o]:ud.push(o),id!==4&&(id=2),t===null)return!0;r=Hi(r,n),n=t;do{switch(n.tag){case 3:return n.flags|=65536,e=a&-a,n.lanes|=e,e=Ac(n.stateNode,r,e),bo(n,e),!1;case 1:if(t=n.type,o=n.stateNode,!(n.flags&128)&&(typeof t.getDerivedStateFromError==`function`||o!==null&&typeof o.componentDidCatch==`function`&&(_d===null||!_d.has(o))))return n.flags|=65536,a&=-a,n.lanes|=a,a=jc(a),Mc(a,e,n,r),bo(n,a),!1;break;case 22:if(n.memoizedState!==null)return n.flags|=65536,!1}n=n.return}while(n!==null);return!1}var Pc=Error(i(461)),Fc=!1;function Ic(e,t,n,r){t.child=e===null?po(t,null,n,r):fo(t,e.child,n,r)}function Lc(e,t,n,r,i){n=n.render;var a=t.ref;if(`ref`in r){var o={};for(var s in r)s!==`ref`&&(o[s]=r[s])}else o=r;return wa(t),r=es(e,t,n,o,a,i),s=is(),e!==null&&!Fc?(as(e,t,i),dl(e,t,i)):(B&&s&&ea(t),t.flags|=1,Ic(e,t,r,i),t.child)}function Rc(e,t,n,r,i){if(e===null){var a=n.type;return typeof a==`function`&&!Ni(a)&&a.defaultProps===void 0&&n.compare===null?(t.tag=15,t.type=a,zc(e,t,a,r,i)):(e=Ii(n.type,null,r,t,t.mode,i),e.ref=t.ref,e.return=t,t.child=e)}if(a=e.child,!fl(e,i)){var o=a.memoizedProps;if(n=n.compare,n=n===null?Hr:n,n(o,r)&&e.ref===t.ref)return dl(e,t,i)}return t.flags|=1,e=Pi(a,r),e.ref=t.ref,e.return=t,t.child=e}function zc(e,t,n,r,i){if(e!==null){var a=e.memoizedProps;if(Hr(a,r)&&e.ref===t.ref){if(Fc=!1,t.pendingProps=r=a,fl(e,i))e.flags&131072&&(Fc=!0);else return t.lanes=e.lanes,dl(e,t,i)}}return qc(e,t,n,r,i)}function Bc(e,t,n,r){var i=r.children,a=e===null?null:e.memoizedState;if(e===null&&t.stateNode===null&&(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),r.mode===`hidden`){if(t.flags&128){if(a=a===null?n:a.baseLanes|n,e!==null){for(r=t.child=e.child,i=0;r!==null;)i=i|r.lanes|r.childLanes,r=r.sibling;r=i&~a}else r=0,t.child=null;return Hc(e,t,a,n,r)}if(n&536870912)t.memoizedState={baseLanes:0,cachePool:null},e!==null&&qa(t,a===null?null:a.cachePool),a===null?ko():Oo(t,a),Fo(t);else return r=t.lanes=536870912,Hc(e,t,a===null?n:a.baseLanes|n,n,r)}else a===null?(e!==null&&qa(t,null),ko(),Io()):(qa(t,a.cachePool),Oo(t,a),Io(),t.memoizedState=null);return Ic(e,t,i,n),t.child}function Vc(e,t){return e!==null&&e.tag===22||t.stateNode!==null||(t.stateNode={_visibility:1,_pendingMarkers:null,_retryCache:null,_transitions:null}),t.sibling}function Hc(e,t,n,r,i){var a=Ka();return a=a===null?null:{parent:ja._currentValue,pool:a},t.memoizedState={baseLanes:n,cachePool:a},e!==null&&qa(t,null),ko(),Fo(t),e!==null&&Sa(e,t,r,!0),t.childLanes=i,null}function Uc(e,t){return t=nl({mode:t.mode,children:t.children},e.mode),t.ref=e.ref,e.child=t,t.return=e,t}function Wc(e,t,n){return fo(t,e.child,null,n),e=Uc(t,t.pendingProps),e.flags|=2,Lo(t),t.memoizedState=null,e}function Gc(e,t,n){var r=t.pendingProps,a=!!(t.flags&128);if(t.flags&=-129,e===null){if(B){if(r.mode===`hidden`)return e=Uc(t,r),t.lanes=536870912,e.memoizedState={baseLanes:0,cachePool:null},Vc(null,e);if(Po(t),(e=ia)?(e=am(e,oa),e=e!==null&&e.data===`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Yi===null?null:{id:Xi,overflow:Zi},retryLane:536870912,hydrationErrors:null},n=zi(e),n.return=t,t.child=n,ra=t,ia=null)):e=null,e===null)throw ca(t);return t.lanes=536870912,null}return Uc(t,r)}var o=e.memoizedState;if(o!==null){var s=o.dehydrated;if(Po(t),a){if(t.flags&256)t.flags&=-257,t=Wc(e,t,n);else if(t.memoizedState!==null)t.child=e.child,t.flags|=128,t=null;else throw Error(i(558))}else if(Fc||Sa(e,t,n,!1),a=(n&e.childLanes)!==0,Fc||a){if(Eo.current===null){if(r=ed,r!==null&&(s=gt(r,n),s!==0&&s!==o.retryLane))throw o.retryLane=s,Di(e,s),Nd(r,e,s),Pc;Gd()}t=Wc(e,t,n)}else e=o.treeContext,ia=lm(s.nextSibling),ra=t,B=!0,aa=null,oa=!1,e!==null&&na(t,e),t=Uc(t,r),t.flags|=134221824;return t}return e=Pi(e.child,{mode:r.mode,children:r.children}),e.ref=t.ref,t.child=e,e.return=t,e}function Kc(e,t){var n=t.ref;if(n===null)e!==null&&e.ref!==null&&(t.flags|=4194816);else{if(typeof n!=`function`&&typeof n!=`object`)throw Error(i(284));(e===null||e.ref!==n)&&(t.flags|=4194816)}}function qc(e,t,n,r,i){return wa(t),n=es(e,t,n,r,void 0,i),r=is(),e!==null&&!Fc?(as(e,t,i),dl(e,t,i)):(B&&r&&ea(t),t.flags|=1,Ic(e,t,n,i),t.child)}function Jc(e,t,n,r,i,a){return wa(t),t.updateQueue=null,n=ns(t,r,n,i),ts(e),r=is(),e!==null&&!Fc?(as(e,t,a),dl(e,t,a)):(B&&r&&ea(t),t.flags|=1,Ic(e,t,n,a),t.child)}function Yc(e,t,n,r,i){if(wa(t),t.stateNode===null){var a=Ai,o=n.contextType;typeof o==`object`&&o&&(a=Ta(o)),a=new n(r,a),t.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=xc,t.stateNode=a,a._reactInternals=t,a=t.stateNode,a.props=r,a.state=t.memoizedState,a.refs={},ho(t),o=n.contextType,a.context=typeof o==`object`&&o?Ta(o):Ai,a.state=t.memoizedState,o=n.getDerivedStateFromProps,typeof o==`function`&&(bc(t,n,o,r),a.state=t.memoizedState),typeof n.getDerivedStateFromProps==`function`||typeof a.getSnapshotBeforeUpdate==`function`||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(o=a.state,typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount(),o!==a.state&&xc.enqueueReplaceState(a,a.state,null),Co(t,r,a,i),So(),a.state=t.memoizedState),typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!0}else if(e===null){a=t.stateNode;var s=t.memoizedProps,c=wc(n,s);a.props=c;var l=a.context,u=n.contextType;o=Ai,typeof u==`object`&&u&&(o=Ta(u));var d=n.getDerivedStateFromProps;u=typeof d==`function`||typeof a.getSnapshotBeforeUpdate==`function`,s=t.pendingProps!==s,u||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(s||l!==o)&&Cc(t,a,r,o),mo=!1;var f=t.memoizedState;a.state=f,Co(t,r,a,i),So(),l=t.memoizedState,s||f!==l||mo?(typeof d==`function`&&(bc(t,n,d,r),l=t.memoizedState),(c=mo||Sc(t,n,c,r,f,l,o))?(u||typeof a.UNSAFE_componentWillMount!=`function`&&typeof a.componentWillMount!=`function`||(typeof a.componentWillMount==`function`&&a.componentWillMount(),typeof a.UNSAFE_componentWillMount==`function`&&a.UNSAFE_componentWillMount()),typeof a.componentDidMount==`function`&&(t.flags|=4194308)):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=l),a.props=r,a.state=l,a.context=o,r=c):(typeof a.componentDidMount==`function`&&(t.flags|=4194308),r=!1)}else{a=t.stateNode,go(e,t),o=t.memoizedProps,u=wc(n,o),a.props=u,d=t.pendingProps,f=a.context,l=n.contextType,c=Ai,typeof l==`object`&&l&&(c=Ta(l)),s=n.getDerivedStateFromProps,(l=typeof s==`function`||typeof a.getSnapshotBeforeUpdate==`function`)||typeof a.UNSAFE_componentWillReceiveProps!=`function`&&typeof a.componentWillReceiveProps!=`function`||(o!==d||f!==c)&&Cc(t,a,r,c),mo=!1,f=t.memoizedState,a.state=f,Co(t,r,a,i),So();var p=t.memoizedState;o!==d||f!==p||mo||e!==null&&e.dependencies!==null&&Ca(e.dependencies)?(typeof s==`function`&&(bc(t,n,s,r),p=t.memoizedState),(u=mo||Sc(t,n,u,r,f,p,c)||e!==null&&e.dependencies!==null&&Ca(e.dependencies))?(l||typeof a.UNSAFE_componentWillUpdate!=`function`&&typeof a.componentWillUpdate!=`function`||(typeof a.componentWillUpdate==`function`&&a.componentWillUpdate(r,p,c),typeof a.UNSAFE_componentWillUpdate==`function`&&a.UNSAFE_componentWillUpdate(r,p,c)),typeof a.componentDidUpdate==`function`&&(t.flags|=4),typeof a.getSnapshotBeforeUpdate==`function`&&(t.flags|=1024)):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=p),a.props=r,a.state=p,a.context=c,r=u):(typeof a.componentDidUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),typeof a.getSnapshotBeforeUpdate!=`function`||o===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return a=r,Kc(e,t),r=!!(t.flags&128),a||r?(a=t.stateNode,n=r&&typeof n.getDerivedStateFromError!=`function`?null:a.render(),t.flags|=1,e!==null&&r?(t.child=fo(t,e.child,null,i),t.child=fo(t,null,n,i)):Ic(e,t,n,i),t.memoizedState=a.state,e=t.child):e=dl(e,t,i),e}function Xc(e,t,n,r){return fa(),t.flags|=256,Ic(e,t,n,r),t.child}var Zc={dehydrated:null,treeContext:null,retryLane:0,hydrationErrors:null};function Qc(e){return{baseLanes:e,cachePool:Ja()}}function $c(e,t,n){return e=e===null?0:e.childLanes&~n,t&&(e|=cd),e}function el(e,t,n){var r=t.pendingProps,i=!1,a=!!(t.flags&128),o;if((o=a)||(o=e!==null&&e.memoizedState===null?!1:!!(Ro.current&2)),o&&(i=!0,t.flags&=-129),o=!!(t.flags&32),t.flags&=-33,e===null){if(B){if(i?No(t):Io(),(e=ia)?(e=am(e,oa),e=e!==null&&e.data!==`&`?e:null,e!==null&&(t.memoizedState={dehydrated:e,treeContext:Yi===null?null:{id:Xi,overflow:Zi},retryLane:536870912,hydrationErrors:null},n=zi(e),n.return=t,t.child=n,ra=t,ia=null)):e=null,e===null)throw ca(t);return t.lanes=sm(e)?32:536870912,null}return a=r.children,r=r.fallback,i?(Io(),i=t.mode,a=nl({mode:`hidden`,children:a},i),r=Li(r,i,n,null),a.return=t,r.return=t,a.sibling=r,t.child=a,r=t.child,r.memoizedState=Qc(n),r.childLanes=$c(e,o,n),t.memoizedState=Zc,Vc(null,r)):(No(t),tl(t,a))}var s=e.memoizedState;if(s!==null){var c=s.dehydrated;if(c!==null)return il(e,t,a,o,r,c,s,n)}return i?(Io(),i=r.fallback,a=t.mode,s=e.child,c=s.sibling,r=Pi(s,{mode:`hidden`,children:r.children}),r.subtreeFlags=s.subtreeFlags&1206910976,c===null?(i=Li(i,a,n,null),i.flags|=2):i=Pi(c,i),i.return=t,r.return=t,r.sibling=i,t.child=r,Vc(null,r),r=t.child,i=e.child.memoizedState,i===null?i=Qc(n):(a=i.cachePool,a===null?a=Ja():(s=ja._currentValue,a=a.parent===s?a:{parent:s,pool:s}),i={baseLanes:i.baseLanes|n,cachePool:a}),r.memoizedState=i,r.childLanes=$c(e,o,n),t.memoizedState=Zc,Vc(e.child,r)):(No(t),n=e.child,e=n.sibling,n=Pi(n,{mode:`visible`,children:r.children}),n.return=t,n.sibling=null,e!==null&&(o=t.deletions,o===null?(t.deletions=[e],t.flags|=16):o.push(e)),t.child=n,t.memoizedState=null,n)}function tl(e,t){return t=nl({mode:`visible`,children:t},e.mode),t.return=e,e.child=t}function nl(e,t){return e=Mi(22,e,null,t),e.lanes=0,e}function rl(e,t,n){return fo(t,e.child,null,n),e=tl(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function il(e,t,n,r,a,o,s,c){if(n)return t.flags&256?(No(t),t.flags&=-257,rl(e,t,c)):t.memoizedState===null?(Io(),o=a.fallback,s=t.mode,a=nl({mode:`visible`,children:a.children},s),o=Li(o,s,c,null),o.flags|=2,a.return=t,o.return=t,a.sibling=o,t.child=a,fo(t,e.child,null,c),a=t.child,a.memoizedState=Qc(c),a.childLanes=$c(e,r,c),t.memoizedState=Zc,Vc(null,a)):(Io(),t.child=e.child,t.flags|=128,null);if(No(t),sm(o)){if(r=o.nextSibling&&o.nextSibling.dataset,r)var l=r.dgst;return r=l,r!==``&&(a=Error(i(419)),a.stack=``,a.digest=r,ma({value:a,source:null,stack:null})),rl(e,t,c)}if(Fc||Sa(e,t,c,!1),r=(c&e.childLanes)!==0,Fc||r){if(Eo.current!==null)return rl(e,t,c);if(r=ed,r!==null&&(a=gt(r,c),a!==0&&a!==s.retryLane))throw s.retryLane=a,Di(e,a),Nd(r,e,a),Pc;return om(o)||Gd(),rl(e,t,c)}return om(o)?(t.flags|=192,t.child=e.child,null):(e=s.treeContext,ia=lm(o.nextSibling),ra=t,B=!0,aa=null,oa=!1,e!==null&&na(t,e),t=tl(t,a.children),t.flags|=134221824,t)}function al(e,t,n){e.lanes|=t;var r=e.alternate;r!==null&&(r.lanes|=t),ba(e.return,t,n)}function ol(e){for(var t=null;e!==null;){var n=e.alternate;n!==null&&Vo(n)===null&&(t=e),e=e.sibling}return t}function sl(e,t,n,r,i,a){var o=e.memoizedState;o===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:i,treeForkCount:a}:(o.isBackwards=t,o.rendering=null,o.renderingStartTime=0,o.last=r,o.tail=n,o.tailMode=i,o.treeForkCount=a)}function cl(e){var t=e.child;for(e.child=null;t!==null;){var n=t.sibling;t.sibling=e.child,e.child=t,t=n}}function ll(e,t,n){var r=t.pendingProps,i=r.revealOrder,a=r.tail;r=r.children;var o=Ro.current;if(t.flags&128)return zo(t,o),null;var s=!!(o&2);if(s?(o=o&1|2,t.flags|=128):o&=1,zo(t,o),i===`backwards`&&e!==null?(cl(e),Ic(e,t,r,n),cl(e)):Ic(e,t,r,n),r=B?Ki:0,!s&&e!==null&&e.flags&128)a:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&al(e,n,t);else if(e.tag===19)al(e,n,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break a;for(;e.sibling===null;){if(e.return===null||e.return===t)break a;e=e.return}e.sibling.return=e.return,e=e.sibling}switch(i){case`backwards`:n=ol(t.child),n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null,cl(t)),sl(t,!0,i,null,a,r);break;case`unstable_legacy-backwards`:for(n=null,i=t.child,t.child=null;i!==null;){if(e=i.alternate,e!==null&&Vo(e)===null){t.child=i;break}e=i.sibling,i.sibling=n,n=i,i=e}sl(t,!0,n,null,a,r);break;case`together`:sl(t,!1,null,null,void 0,r);break;case`independent`:t.memoizedState=null;break;default:n=ol(t.child),n===null?(i=t.child,t.child=null):(i=n.sibling,n.sibling=null),sl(t,!1,i,n,a,r)}return t.child}function ul(e,t,n){var r=t.pendingProps;return va(t,t.type,r.value),Ic(e,t,r.children,n),t.child}function dl(e,t,n){if(e!==null&&(t.dependencies=e.dependencies),ad|=t.lanes,(n&t.childLanes)===0){if(e!==null){if(Sa(e,t,n,!1),(n&t.childLanes)===0)return null}else return null}if(e!==null&&t.child!==e.child)throw Error(i(153));if(t.child!==null){for(e=t.child,n=Pi(e,e.pendingProps),t.child=n,n.return=t;e.sibling!==null;)e=e.sibling,n=n.sibling=Pi(e,e.pendingProps),n.return=t;n.sibling=null}return t.child}function fl(e,t){return(e.lanes&t)!==0||(e=e.dependencies,!!(e!==null&&Ca(e)))}function pl(e,t,n){switch(t.tag){case 3:Ee(t,t.stateNode.containerInfo),va(t,ja,e.memoizedState.cache),fa();break;case 27:case 5:Oe(t);break;case 4:Ee(t,t.stateNode.containerInfo);break;case 10:va(t,t.type,t.memoizedProps.value);break;case 31:if(t.memoizedState!==null)return t.flags|=128,Po(t),null;break;case 13:var r=t.memoizedState;if(r!==null){if(r.dehydrated!==null)return No(t),t.flags|=128,null;r=Sa(e,t,n,!1);var i=t.child.childLanes;return r||(n&i)!==0?el(e,t,n):(No(t),e=dl(e,t,n),e===null?null:e.sibling)}No(t);break;case 19:if(t.flags&128)return ll(e,t,n);if(i=!!(e.flags&128),r=(n&t.childLanes)!==0,r||=(Sa(e,t,n,!1),(n&t.childLanes)!==0),i){if(r)return ll(e,t,n);t.flags|=128}if(i=t.memoizedState,i!==null&&(i.rendering=null,i.tail=null,i.lastEffect=null),zo(t,Ro.current),r)break;return null;case 22:return t.lanes=0,Bc(e,t,n,t.pendingProps);case 24:va(t,ja,e.memoizedState.cache)}return dl(e,t,n)}function ml(e,t,n){if(e!==null){if(e.memoizedProps!==t.pendingProps)Fc=!0;else{if(!fl(e,n)&&!(t.flags&128))return Fc=!1,pl(e,t,n);Fc=!!(e.flags&131072)}}else Fc=!1,B&&t.flags&1048576&&$i(t,Ki,t.index);switch(t.lanes=0,t.tag){case 16:a:{var r=t.pendingProps;if(e=to(t.elementType),t.type=e,typeof e==`function`)Ni(e)?(r=wc(e,r),t.tag=1,t=Yc(null,t,e,r,n)):(t.tag=0,t=qc(null,t,e,r,n));else{if(e!=null){var a=e.$$typeof;if(a===M){t.tag=11,t=Lc(null,t,e,r,n);break a}if(a===oe){t.tag=14,t=Rc(null,t,e,r,n);break a}if(a===j){t.tag=10,t.type=e,t=ul(null,t,n);break a}}throw t=ge(e)||e,Error(i(306,t,``))}}return t;case 0:return qc(e,t,t.type,t.pendingProps,n);case 1:return r=t.type,a=wc(r,t.pendingProps),Yc(e,t,r,a,n);case 3:a:{if(Ee(t,t.stateNode.containerInfo),e===null)throw Error(i(387));r=t.pendingProps;var o=t.memoizedState;a=o.element,go(e,t),Co(t,r,null,n);var s=t.memoizedState;if(r=s.cache,va(t,ja,r),r!==o.cache&&xa(t,[ja],n,!0),So(),r=s.element,o.isDehydrated){if(o={element:r,isDehydrated:!1,cache:s.cache},t.updateQueue.baseState=o,t.memoizedState=o,t.flags&256){t=Xc(e,t,r,n);break a}if(r!==a){a=Hi(Error(i(424)),t),ma(a),t=Xc(e,t,r,n);break a}switch(e=t.stateNode.containerInfo,e.nodeType){case 9:e=e.body;break;default:e=e.nodeName===`HTML`?e.ownerDocument.body:e}for(ia=lm(e.firstChild),ra=t,B=!0,aa=null,oa=!0,n=po(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|134221824,n=n.sibling}else{if(fa(),r===a){t=dl(e,t,n);break a}Ic(e,t,r,n)}t=t.child}return t;case 26:return Kc(e,t),e===null?(n=Nm(t.type,null,t.pendingProps,null))?t.memoizedState=n:B||(t.stateNode=fp(t.type,t.pendingProps,we.current,t)):t.memoizedState=Nm(t.type,e.memoizedProps,t.pendingProps,e.memoizedState),null;case 27:return Oe(t),e===null&&B&&(r=t.stateNode=hm(t.type,t.pendingProps,we.current),ra=t,oa=!0,a=ia,Sp(t.type)?(um=a,ia=lm(r.firstChild)):ia=a),Ic(e,t,t.pendingProps.children,n),Kc(e,t),e===null&&(t.flags|=4194304),t.child;case 5:return e===null&&B&&((a=r=ia)&&(r=rm(r,t.type,t.pendingProps,oa),r===null?a=!1:(t.stateNode=r,ra=t,ia=lm(r.firstChild),oa=!1,a=!0)),a||ca(t)),Oe(t),a=t.type,o=t.pendingProps,s=e===null?null:e.memoizedProps,r=o.children,pp(a,o)?r=null:s!==null&&pp(a,s)&&(t.flags|=32),t.memoizedState!==null&&(a=es(e,t,rs,null,null,n),sh._currentValue=a),Kc(e,t),Ic(e,t,r,n),t.child;case 6:return e===null&&B&&((e=n=ia)&&(n=im(n,t.pendingProps,oa),n===null?e=!1:(t.stateNode=n,ra=t,ia=null,e=!0)),e||ca(t)),null;case 13:return el(e,t,n);case 4:return Ee(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=fo(t,null,r,n):Ic(e,t,r,n),t.child;case 11:return Lc(e,t,t.type,t.pendingProps,n);case 7:return r=t.pendingProps,Kc(e,t),Ic(e,t,r,n),t.child;case 8:return Ic(e,t,t.pendingProps.children,n),t.child;case 12:return Ic(e,t,t.pendingProps.children,n),t.child;case 10:return ul(e,t,n);case 9:return a=t.type._context,r=t.pendingProps.children,wa(t),a=Ta(a),r=r(a),t.flags|=1,Ic(e,t,r,n),t.child;case 14:return Rc(e,t,t.type,t.pendingProps,n);case 15:return zc(e,t,t.type,t.pendingProps,n);case 19:return ll(e,t,n);case 31:return Gc(e,t,n);case 22:return Bc(e,t,n,t.pendingProps);case 24:return wa(t),r=Ta(ja),e===null?(a=Ka(),a===null&&(a=ed,o=Ma(),a.pooledCache=o,o.refCount++,o!==null&&(a.pooledCacheLanes|=n),a=o),t.memoizedState={parent:r,cache:a},ho(t),va(t,ja,a)):((e.lanes&n)!==0&&(go(e,t),Co(t,null,null,n),So()),a=e.memoizedState,o=t.memoizedState,a.parent===r?(r=o.cache,va(t,ja,r),r!==a.cache&&xa(t,[ja],n,!0)):(a={parent:r,cache:r},t.memoizedState=a,t.lanes===0&&(t.memoizedState=t.updateQueue.baseState=a),va(t,ja,r))),Ic(e,t,t.pendingProps.children,n),t.child;case 30:return t.stateNode===null&&(t.stateNode={autoName:null,paired:null,clones:null,ref:null}),r=t.pendingProps,r.name!=null&&r.name!==`auto`?t.flags|=e===null?18882560:18874368:B&&ea(t),e!==null&&e.memoizedProps.name!==r.name?t.flags|=4194816:Kc(e,t),Ic(e,t,r.children,n),t.child;case 29:throw t.pendingProps}throw Error(i(156,t.tag))}function hl(e){e.flags|=4}function gl(e,t,n,r,i){var a;if((a=!!(e.mode&32))&&(a=n===null?Jm(t,r):Jm(t,r)&&(r.src!==n.src||r.srcSet!==n.srcSet)),a){if(e.flags|=16777216,(i&335544128)===i){if(e.stateNode.complete)e.flags|=8192;else if(Hd())e.flags|=8192;else throw no=Qa,Xa}}else e.flags&=-16777217}function _l(e,t){if(t.type!==`stylesheet`||t.state.loading&4)e.flags&=-16777217;else if(e.flags|=16777216,!Ym(t)){if(Hd())e.flags|=8192;else throw no=Qa,Xa}}function vl(e,t){t!==null&&(e.flags|=4),e.flags&16384&&(t=e.tag===22?536870912:ut(),e.lanes|=t,ld|=t)}function yl(e,t){if(!B)switch(e.tailMode){case`visible`:break;case`collapsed`:for(var n=e.tail,r=null;n!==null;)n.alternate!==null&&(r=n),n=n.sibling;r===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:r.sibling=null;break;default:for(t=e.tail,n=null;t!==null;)t.alternate!==null&&(n=t),t=t.sibling;n===null?e.tail=null:n.sibling=null}}function bl(e){var t=e.alternate!==null&&e.alternate.child===e.child,n=0,r=0;if(t)for(var i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags&1206910976,r|=i.flags&1206910976,i.return=e,i=i.sibling;else for(i=e.child;i!==null;)n|=i.lanes|i.childLanes,r|=i.subtreeFlags,r|=i.flags,i.return=e,i=i.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function xl(e,t,n){var r=t.pendingProps;switch(ta(t),t.tag){case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return bl(t),null;case 1:return bl(t),null;case 3:return n=t.stateNode,r=null,e!==null&&(r=e.memoizedState.cache),t.memoizedState.cache!==r&&(t.flags|=2048),ya(ja),De(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(da(t)?hl(t):e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,pa())),bl(t),null;case 26:var a=t.type,o=t.memoizedState;return e===null?(hl(t),o===null?(bl(t),gl(t,a,null,r,n)):(bl(t),_l(t,o))):o?o===e.memoizedState?(bl(t),t.flags&=-16777217):(hl(t),bl(t),_l(t,o)):(e=e.memoizedProps,e!==r&&hl(t),bl(t),gl(t,a,e,r,n)),null;case 27:if(ke(t),n=we.current,a=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&hl(t);else{if(!r){if(t.stateNode===null)throw Error(i(166));return bl(t),t.subtreeFlags&=-33554433,null}e=Se.current,da(t)?la(t,e):(e=hm(a,r,n),t.stateNode=e,hl(t))}return bl(t),t.subtreeFlags&=-33554433,null;case 5:if(ke(t),a=t.type,e!==null&&t.stateNode!=null)e.memoizedProps!==r&&hl(t);else{if(!r){if(t.stateNode===null)throw Error(i(166));return bl(t),t.subtreeFlags&=-33554433,null}if(o=Se.current,da(t))la(t,o);else{var s=lp(we.current);switch(o){case 1:o=s.createElementNS(`http://www.w3.org/2000/svg`,a);break;case 2:o=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,a);break;default:switch(a){case`svg`:o=s.createElementNS(`http://www.w3.org/2000/svg`,a);break;case`math`:o=s.createElementNS(`http://www.w3.org/1998/Math/MathML`,a);break;case`script`:o=s.createElement(`div`),o.innerHTML=`<script><\\/script>`,o=o.removeChild(o.firstChild);break;case`select`:o=typeof r.is==`string`?s.createElement(`select`,{is:r.is}):s.createElement(`select`),r.multiple?o.multiple=!0:r.size&&(o.size=r.size);break;default:o=typeof r.is==`string`?s.createElement(a,{is:r.is}):s.createElement(a)}}o[St]=t,o[Ct]=r;a:for(s=t.child;s!==null;){if(s.tag===5||s.tag===6)o.appendChild(s.stateNode);else if(s.tag!==4&&s.tag!==27&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===t)break a;for(;s.sibling===null;){if(s.return===null||s.return===t)break a;s=s.return}s.sibling.return=s.return,s=s.sibling}t.stateNode=o;a:switch(np(o,a,r),a){case`button`:case`input`:case`select`:case`textarea`:r=!!r.autoFocus;break a;case`img`:r=!0;break a;default:r=!1}r&&hl(t)}}return bl(t),t.subtreeFlags&=-33554433,gl(t,t.type,e===null?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&t.stateNode!=null)e.memoizedProps!==r&&hl(t);else{if(typeof r!=`string`&&t.stateNode===null)throw Error(i(166));if(e=we.current,da(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,a=ra,a!==null)switch(a.tag){case 27:case 5:r=a.memoizedProps}e[St]=t,e=!!(e.nodeValue===n||r!==null&&!0===r.suppressHydrationWarning||$f(e.nodeValue,n)),e||ca(t,!0)}else e=lp(e).createTextNode(r),e[St]=t,t.stateNode=e}return bl(t),null;case 31:if(n=t.memoizedState,e===null||e.memoizedState!==null){if(r=da(t),n!==null){if(e===null){if(!r)throw Error(i(318));if(e=t.memoizedState,e=e===null?null:e.dehydrated,!e)throw Error(i(557));e[St]=t}else fa(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;bl(t),e=!1}else n=pa(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e)return t.flags&256?(Lo(t),t):(Lo(t),null);if(t.flags&128)throw Error(i(558))}return bl(t),null;case 13:if(r=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(a=da(t),r!==null&&r.dehydrated!==null){if(e===null){if(!a)throw Error(i(318));if(a=t.memoizedState,a=a===null?null:a.dehydrated,!a)throw Error(i(317));a[St]=t}else fa(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;bl(t),a=!1}else a=pa(),e!==null&&e.memoizedState!==null&&(e.memoizedState.hydrationErrors=a),a=!0;if(!a)return t.flags&256?(Lo(t),t):(Lo(t),null)}return Lo(t),t.flags&128?(t.lanes=n,t):(n=r!==null,e=e!==null&&e.memoizedState!==null,n&&(r=t.child,a=null,r.alternate!==null&&r.alternate.memoizedState!==null&&r.alternate.memoizedState.cachePool!==null&&(a=r.alternate.memoizedState.cachePool.pool),o=null,r.memoizedState!==null&&r.memoizedState.cachePool!==null&&(o=r.memoizedState.cachePool.pool),o!==a&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),vl(t,t.updateQueue),bl(t),null);case 4:return De(),e===null&&Uf(t.stateNode.containerInfo),t.flags|=67108864,bl(t),null;case 10:return ya(t.type),bl(t),null;case 19:if(Bo(t),r=t.memoizedState,r===null)return bl(t),null;if(a=!!(t.flags&128),o=r.rendering,o===null){if(a)yl(r,!1);else{if(id!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(o=Vo(e),o!==null){for(t.flags|=128,yl(r,!1),e=o.updateQueue,t.updateQueue=e,vl(t,e),t.subtreeFlags=0,e=n,n=t.child;n!==null;)Fi(n,e),n=n.sibling;return zo(t,Ro.current&1|2),B&&Qi(t,r.treeForkCount),t.child}e=e.sibling}r.tail!==null&&Be()>hd&&(t.flags|=128,a=!0,yl(r,!1),t.lanes=4194304)}}else{if(!a){if(e=Vo(o),e!==null){if(t.flags|=128,a=!0,e=e.updateQueue,t.updateQueue=e,vl(t,e),yl(r,!0),r.tail===null&&r.tailMode!==`collapsed`&&r.tailMode!==`visible`&&!o.alternate&&!B)return bl(t),null}else 2*Be()-r.renderingStartTime>hd&&n!==536870912&&(t.flags|=128,a=!0,yl(r,!1),t.lanes=4194304)}r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e===null?t.child=o:e.sibling=o,r.last=o)}if(r.tail!==null){e=r.tail;a:{for(n=e;n!==null;){if(n.alternate!==null){n=!1;break a}n=n.sibling}n=!0}return r.rendering=e,r.tail=e.sibling,r.renderingStartTime=Be(),e.sibling=null,o=Ro.current,o=a?o&1|2:o&1,r.tailMode===`visible`||r.tailMode===`collapsed`||!n||B?zo(t,o):(n=o,I(jo,t),I(Ro,n),Mo===null&&(Mo=t)),B&&Qi(t,r.treeForkCount),e}return bl(t),null;case 22:case 23:return Lo(t),Ao(),r=t.memoizedState!==null,e===null?r&&(t.flags|=8192):e.memoizedState!==null!==r&&(t.flags|=8192),r?n&536870912&&!(t.flags&128)&&(bl(t),t.subtreeFlags&6&&(t.flags|=8192)):bl(t),n=t.updateQueue,n!==null&&vl(t,n.retryQueue),n=null,e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),r=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),e!==null&&F(Ga),null;case 24:return n=null,e!==null&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),ya(ja),bl(t),null;case 25:return null;case 30:return t.flags|=33554432,bl(t),null}throw Error(i(156,t.tag))}function Sl(e,t){switch(ta(t),t.tag){case 1:return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return ya(ja),De(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 26:case 27:case 5:return ke(t),null;case 31:if(t.memoizedState!==null){if(Lo(t),t.alternate===null)throw Error(i(340));fa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 13:if(Lo(t),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(i(340));fa()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return Bo(t),e=t.flags,e&65536?(t.flags=e&-65537|128,e=t.memoizedState,e!==null&&(e.rendering=null,e.tail=null),t.flags|=4,t):null;case 4:return De(),null;case 10:return ya(t.type),null;case 22:case 23:return Lo(t),Ao(),e!==null&&F(Ga),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 24:return ya(ja),null;case 25:return null;default:return null}}function Cl(e,t){switch(ta(t),t.tag){case 3:ya(ja),De();break;case 26:case 27:case 5:ke(t);break;case 4:De();break;case 31:t.memoizedState!==null&&Lo(t);break;case 13:Lo(t);break;case 19:Bo(t);break;case 10:ya(t.type);break;case 22:case 23:Lo(t),Ao(),e!==null&&F(Ga);break;case 24:ya(ja)}}function wl(e,t){try{var n=t.updateQueue,r=n===null?null:n.lastEffect;if(r!==null){var i=r.next;n=i;do{if((n.tag&e)===e){r=void 0;var a=n.create,o=n.inst;r=a(),o.destroy=r}n=n.next}while(n!==i)}}catch(e){pf(t,t.return,e)}}function Tl(e,t,n){try{var r=t.updateQueue,i=r===null?null:r.lastEffect;if(i!==null){var a=i.next;r=a;do{if((r.tag&e)===e){var o=r.inst,s=o.destroy;if(s!==void 0){o.destroy=void 0,i=t;var c=n,l=s;try{l()}catch(e){pf(i,c,e)}}}r=r.next}while(r!==a)}}catch(e){pf(t,t.return,e)}}function El(e){var t=e.updateQueue;if(t!==null){var n=e.stateNode;try{To(t,n)}catch(t){pf(e,e.return,t)}}}function Dl(e,t,n){n.props=wc(e.type,e.memoizedProps),n.state=e.memoizedState;try{n.componentWillUnmount()}catch(n){pf(e,t,n)}}function Ol(e,t){try{var n=e.ref;if(n!==null){switch(e.tag){case 26:case 27:case 5:var r=e.stateNode;break;case 30:var i=e.stateNode,a=_i(e.memoizedProps,i);(i.ref===null||i.ref.name!==a)&&(i.ref=Pp(a)),r=i.ref;break;case 7:if(e.stateNode===null){var o=new Fp(e);h(e.child,!1,Qp,o,void 0,void 0),e.stateNode=o}r=e.stateNode;break;default:r=e.stateNode}typeof n==`function`?e.refCleanup=n(r):n.current=r}}catch(n){pf(e,t,n)}}function kl(e,t){var n=e.ref,r=e.refCleanup;if(n!==null){if(typeof r==`function`)try{r()}catch(n){pf(e,t,n)}finally{e.refCleanup=null,e=e.alternate,e!=null&&(e.refCleanup=null)}else if(typeof n==`function`)try{n(null)}catch(n){pf(e,t,n)}else n.current=null}}function Al(e,t){if((e.tag===5||e.tag===27||e.tag===6)&&e.alternate===null&&t!==null)for(var n=0;n<t.length;n++)em(e.stateNode,t[n])}function jl(e){for(var t=e.return;t!==null&&(Pl(t)&&em(e.stateNode,t.stateNode),!Nl(t));)t=t.return}function Ml(e){for(var t=e.return;t!==null&&(Pl(t)&&tm(e.stateNode,t.stateNode),!Nl(t));)t=t.return}function Nl(e){return e.tag===5||e.tag===3||e.tag===27}function Pl(e){return e&&e.tag===7&&e.stateNode!==null}function Fl(e){var t=e.type,n=e.memoizedProps,r=e.stateNode;try{a:switch(t){case`button`:case`input`:case`select`:case`textarea`:n.autoFocus&&r.focus();break a;case`img`:n.src?r.src=n.src:n.srcSet&&(r.srcset=n.srcSet)}}catch(t){pf(e,e.return,t)}}function Il(e,t,n){try{var r=e.stateNode;ip(r,e.type,n,t),r[Ct]=t}catch(t){pf(e,e.return,t)}}function Ll(e){return e.tag===5||e.tag===3||e.tag===26||e.tag===27&&Sp(e.type)||e.tag===4}function Rl(e){a:for(;;){for(;e.sibling===null;){if(e.return===null||Ll(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.tag===27&&Sp(e.type)||e.flags&2||e.child===null||e.tag===4)continue a;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function zl(e,t,n,r){var i=e.tag;if(i===5||i===6)i=e.stateNode,t?(n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n).insertBefore(i,t):(t=n.nodeType===9?n.body:n.nodeName===`HTML`?n.ownerDocument.body:n,t.appendChild(i),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=vn)),Al(e,r),z=!0;else if(i!==4&&(i===27&&(Al(e,r),r=null,Sp(e.type)&&(n=e.stateNode,t=null)),e=e.child,e!==null))for(zl(e,t,n,r),e=e.sibling;e!==null;)zl(e,t,n,r),e=e.sibling}function Bl(e,t,n,r){var i=e.tag;if(i===5||i===6)i=e.stateNode,t?n.insertBefore(i,t):n.appendChild(i),Al(e,r),z=!0;else if(i!==4&&(i===27&&(Al(e,r),r=null,Sp(e.type)&&(n=e.stateNode)),e=e.child,e!==null))for(Bl(e,t,n,r),e=e.sibling;e!==null;)Bl(e,t,n,r),e=e.sibling}function Vl(e){var t=e.stateNode,n=e.memoizedProps;try{for(var r=e.type,i=t.attributes;i.length;)t.removeAttributeNode(i[0]);np(t,r,n),t[St]=e,t[Ct]=n}catch(t){pf(e,e.return,t)}}var Hl=!1,Ul=null;function Wl(e){(e.tag===30||e.subtreeFlags&33554432)&&(Hl=!0)}var Gl=null;function Kl(){var e=Gl;return Gl=null,e}var ql=0;function Jl(e,t,n,r,i){return ql=0,Yl(e.child,t,n,r,i)}function Yl(e,t,n,r,i){for(var a=!1;e!==null;){if(e.tag===5){var o=e.stateNode;if(r!==null){var s=Op(o);r.push(s),s.view&&(a=!0)}else a||Op(o).view&&(a=!0);Hl=!0,Tp(o,ql===0?t:t+`_`+ql,n),ql++}else(e.tag!==22||e.memoizedState===null)&&(e.tag===30&&i||Yl(e.child,t,n,r,i)&&(a=!0));e=e.sibling}return a}function Xl(e,t){for(;e!==null;)e.tag===5?Ep(e.stateNode,e.memoizedProps):(e.tag!==22||e.memoizedState===null)&&(e.tag===30&&t||Xl(e.child,t)),e=e.sibling}function Zl(e){if(e.subtreeFlags&18874368)for(e=e.child;e!==null;){if((e.tag!==22||e.memoizedState===null)&&(Zl(e),e.tag===30&&e.flags&18874368&&e.stateNode.paired)){var t=e.memoizedProps;if(t.name==null||t.name===`auto`)throw Error(i(544));var n=t.name;t=yi(t.default,t.share),t!==`none`&&(Jl(e,n,t,null,!1)||Xl(e.child,!1))}e=e.sibling}}function Ql(e,t){if(e.tag===30){var n=e.stateNode,r=e.memoizedProps,i=_i(r,n),a=yi(r.default,n.paired?r.share:r.enter);a===`none`?Zl(e):Jl(e,i,a,null,!1)?(Zl(e),n.paired||t||Md(e,r.onEnter)):Xl(e.child,!1)}else if(e.subtreeFlags&33554432)for(e=e.child;e!==null;)Ql(e,t),e=e.sibling;else Zl(e)}function H(e){if(Ul!==null&&Ul.size!==0){var t=Ul;if(e.subtreeFlags&18874368)for(e=e.child;e!==null;){if(e.tag!==22||e.memoizedState===null){if(e.tag===30&&e.flags&18874368){var n=e.memoizedProps,r=n.name;if(r!=null&&r!==`auto`){var i=t.get(r);if(i!==void 0){var a=yi(n.default,n.share);if(a!==`none`&&(Jl(e,r,a,null,!1)?(a=e.stateNode,i.paired=a,a.paired=i,Md(e,n.onShare)):Xl(e.child,!1)),t.delete(r),t.size===0)break}}}H(e)}e=e.sibling}}}function $l(e){if(e.tag===30){var t=e.memoizedProps,n=_i(t,e.stateNode),r=Ul===null?void 0:Ul.get(n),i=yi(t.default,r===void 0?t.exit:t.share);i!==`none`&&(Jl(e,n,i,null,!1)?r===void 0?Md(e,t.onExit):(i=e.stateNode,r.paired=i,i.paired=r,Ul.delete(n),Md(e,t.onShare)):Xl(e.child,!1)),Ul!==null&&H(e)}else if(e.subtreeFlags&33554432)for(e=e.child;e!==null;)$l(e),e=e.sibling;else Ul!==null&&H(e)}function eu(e){for(e=e.child;e!==null;){if(e.tag===30){var t=e.memoizedProps,n=_i(t,e.stateNode);t=yi(t.default,t.update),e.flags&=-5,t!==`none`&&Jl(e,n,t,e.memoizedState=[],!1)}else e.subtreeFlags&33554432&&eu(e);e=e.sibling}}function tu(e){if(e.subtreeFlags&18874368)for(e=e.child;e!==null;){if(e.tag!==22||e.memoizedState===null){if(e.tag===30&&e.flags&18874368){var t=e.stateNode;t.paired!==null&&(t.paired=null,Xl(e.child,!1))}tu(e)}e=e.sibling}}function nu(e){if(e.tag===30)e.stateNode.paired=null,Xl(e.child,!1),tu(e);else if(e.subtreeFlags&33554432)for(e=e.child;e!==null;)nu(e),e=e.sibling;else tu(e)}function ru(e){for(e=e.child;e!==null;)e.tag===30?Xl(e.child,!1):e.subtreeFlags&33554432&&ru(e),e=e.sibling}function iu(e,t,n,r,i,a,o){for(var s=!1;t!==null;){if(t.tag===5){var c=t.stateNode;if(a!==null&&ql<a.length){var l=a[ql],u=Op(c);(l.view||u.view)&&(s=!0);var d;if(d=!(e.flags&4)){if(u.clip)d=!0;else{d=l.rect;var f=u.rect;d=d.y!==f.y||d.x!==f.x||d.height!==f.height||d.width!==f.width}}d&&(e.flags|=4),u.abs?u=!l.abs:(l=l.rect,u=u.rect,u=l.height!==u.height||l.width!==u.width),u&&(e.flags|=32)}else e.flags|=32;e.flags&4&&Tp(c,ql===0?n:n+`_`+ql,i),s&&e.flags&4||(Gl===null&&(Gl=[]),Gl.push(c,ql===0?r:r+`_`+ql,t.memoizedProps)),ql++}else(t.tag!==22||t.memoizedState===null)&&(t.tag===30&&o?e.flags|=t.flags&32:iu(e,t.child,n,r,i,a,o)&&(s=!0));t=t.sibling}return s}function au(e,t){for(e=e.child;e!==null;){if(e.tag===30){var n=e.memoizedProps,r=e.stateNode,i=_i(n,r),a=yi(n.default,n.update);if(t){r=r.clones;var o=r===null?null:r.map(kp)}else o=e.memoizedState,e.memoizedState=null;r=e;var s=e.child;ql=0,i=iu(r,s,i,i,a,o,!1),e.flags&4&&i&&(t||Md(e,n.onUpdate))}else e.subtreeFlags&33554432&&au(e,t);e=e.sibling}}var ou=!1,su=!1,cu=!1,lu=!1,U=typeof WeakSet==`function`?WeakSet:Set,uu=null,du=!1,fu=!1,pu=!1,mu=!1;function hu(e,t,n){if(e=e.containerInfo,sp=gh,e=qr(e),Jr(e)){if(`selectionStart`in e)var r={start:e.selectionStart,end:e.selectionEnd};else a:{r=(r=e.ownerDocument)&&r.defaultView||window;var i=r.getSelection&&r.getSelection();if(i&&i.rangeCount!==0){r=i.anchorNode;var a=i.anchorOffset,o=i.focusNode;i=i.focusOffset;try{r.nodeType,o.nodeType}catch{r=null;break a}var s=0,c=-1,l=-1,u=0,d=0,f=e,p=null;b:for(;;){for(var m;f!==r||a!==0&&f.nodeType!==3||(c=s+a),f!==o||i!==0&&f.nodeType!==3||(l=s+i),f.nodeType===3&&(s+=f.nodeValue.length),(m=f.firstChild)!==null;)p=f,f=m;for(;;){if(f===e)break b;if(p===r&&++u===a&&(c=s),p===o&&++d===i&&(l=s),(m=f.nextSibling)!==null)break;f=p,p=f.parentNode}f=m}r=c===-1||l===-1?null:{start:c,end:l}}else r=null}r||={start:0,end:0}}else r=null;for(cp={focusedElem:e,selectionRange:r},gh=!1,n=(n&335544064)===n,uu=t,t=n?9270:1024;uu!==null;){if(e=uu,n&&(r=e.deletions,r!==null))for(a=0;a<r.length;a++)n&&$l(r[a]);if(e.alternate===null&&e.flags&2)n&&Wl(e),gu(n);else{if(e.tag===22){if(r=e.alternate,e.memoizedState!==null){r!==null&&r.memoizedState===null&&n&&$l(r),gu(n);continue}if(r!==null&&r.memoizedState!==null){n&&Wl(e),gu(n);continue}}r=e.child,(e.subtreeFlags&t)!==0&&r!==null?(r.return=e,uu=r):(n&&eu(e),gu(n))}}Ul=null}function gu(e){for(;uu!==null;){var t=uu,n=e,r=t.alternate,a=t.flags;switch(t.tag){case 0:case 11:case 15:break;case 1:if(a&1024&&r!==null){n=void 0,a=r.memoizedProps,r=r.memoizedState;var o=t.stateNode;try{var s=wc(t.type,a);n=o.getSnapshotBeforeUpdate(s,r),o.__reactInternalSnapshotBeforeUpdate=n}catch(e){pf(t,t.return,e)}}break;case 3:if(a&1024){if(r=t.stateNode.containerInfo,n=r.nodeType,n===9)nm(r);else if(n===1)switch(r.nodeName){case`HEAD`:case`HTML`:case`BODY`:nm(r);break;default:r.textContent=``}}break;case 5:case 26:case 27:case 6:case 4:case 17:break;case 30:n&&r!==null&&(n=_i(r.memoizedProps,r.stateNode),a=t.memoizedProps,a=yi(a.default,a.update),a!==`none`&&Jl(r,n,a,r.memoizedState=[],!0));break;default:if(a&1024)throw Error(i(163))}if(r=t.sibling,r!==null){r.return=t.return,uu=r;break}uu=t.return}}function W(e,t,n){var r=n.flags;switch(n.tag){case 0:case 11:case 15:Fu(e,n),r&4&&wl(5,n);break;case 1:if(Fu(e,n),r&4){if(e=n.stateNode,t===null)try{e.componentDidMount()}catch(e){pf(n,n.return,e)}else{var i=wc(n.type,t.memoizedProps);t=t.memoizedState;try{e.componentDidUpdate(i,t,e.__reactInternalSnapshotBeforeUpdate)}catch(e){pf(n,n.return,e)}}}r&64&&El(n),r&512&&Ol(n,n.return);break;case 3:if(Fu(e,n),r&64&&(e=n.updateQueue,e!==null)){if(t=null,n.child!==null)switch(n.child.tag){case 27:case 5:t=n.child.stateNode;break;case 1:t=n.child.stateNode}try{To(e,t)}catch(e){pf(n,n.return,e)}}break;case 27:t===null&&r&4&&Vl(n);case 26:case 5:Fu(e,n),t===null&&r&4&&Fl(n),r&512&&Ol(n,n.return);break;case 12:Fu(e,n);break;case 31:Fu(e,n),r&4&&Tu(e,n);break;case 13:Fu(e,n),r&4&&Eu(e,n),r&64&&(e=n.memoizedState,e!==null&&(e=e.dehydrated,e!==null&&(n=_f.bind(null,n),cm(e,n))));break;case 22:if(r=n.memoizedState!==null||ou,!r){var a=t!==null&&t.memoizedState!==null||su;t=ou,i=su,ou=r,(su=a)&&!i?(r=2,n.subtreeFlags&8772&&(r|=1),Lu(e,n,r)):Fu(e,n),ou=t,su=i}break;case 30:Fu(e,n),r&512&&Ol(n,n.return);break;case 7:r&512&&Ol(n,n.return);default:Fu(e,n)}}function _u(e,t){for(e=e.child;e!==null;)vu(e,t),e=e.sibling}function vu(e,t){switch(e.tag){case 5:case 26:try{var n=e.stateNode;if(t){var r=n.style;typeof r.setProperty==`function`?r.setProperty(`display`,`none`,`important`):r.display=`none`}else{var i=e.stateNode,a=e.memoizedProps.style,o=a!=null&&a.hasOwnProperty(`display`)?a.display:null;i.style.display=o==null||typeof o==`boolean`?``:(``+o).trim()}}catch(t){pf(e,e.return,t)}yu(e,t);break;case 6:try{e.stateNode.nodeValue=t?``:e.memoizedProps,z=!0}catch(t){pf(e,e.return,t)}break;case 18:try{var s=e.stateNode;t?wp(s,!0):wp(e.stateNode,!1)}catch(t){pf(e,e.return,t)}break;case 22:case 23:e.memoizedState===null&&_u(e,t);break;default:_u(e,t)}}function yu(e,t){if(e.subtreeFlags&67108864)for(e=e.child;e!==null;){a:{var n=e,r=t;switch(n.tag){case 4:vu(n,r);break a;case 22:n.memoizedState===null&&yu(n,r);break a;default:yu(n,r)}}e=e.sibling}}function bu(e){var t=e.alternate;t!==null&&(e.alternate=null,bu(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&jt(t)),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}var xu=null,Su=!1;function Cu(e,t,n){for(n=n.child;n!==null;)wu(e,t,n),n=n.sibling}function wu(e,t,n){if(Xe&&typeof Xe.onCommitFiberUnmount==`function`)try{Xe.onCommitFiberUnmount(Ye,n)}catch{}switch(n.tag){case 26:su||kl(n,t),Cu(e,t,n),n.memoizedState?n.memoizedState.count--:n.stateNode&&!su&&(n=n.stateNode,n.parentNode.removeChild(n));break;case 27:su||kl(n,t),Ml(n);var r=xu,i=Su;Sp(n.type)&&(xu=n.stateNode,Su=!1),Cu(e,t,n),gm(n.stateNode,n.type,n.memoizedProps),xu=r,Su=i;break;case 5:su||kl(n,t),Ml(n);case 6:if(n.tag===6&&Ml(n),r=xu,i=Su,xu=null,Cu(e,t,n),xu=r,Su=i,xu!==null){if(Su)try{(xu.nodeType===9?xu.body:xu.nodeName===`HTML`?xu.ownerDocument.body:xu).removeChild(n.stateNode),z=!0}catch(e){pf(n,t,e)}else try{xu.removeChild(n.stateNode),z=!0}catch(e){pf(n,t,e)}}break;case 18:xu!==null&&(Su?(e=xu,Cp(e.nodeType===9?e.body:e.nodeName===`HTML`?e.ownerDocument.body:e,n.stateNode),Hh(e)):Cp(xu,n.stateNode));break;case 4:r=xu,i=Su,xu=n.stateNode.containerInfo,Su=!0,Cu(e,t,n),xu=r,Su=i;break;case 0:case 11:case 14:case 15:Tl(2,n,t),su||Tl(4,n,t),Cu(e,t,n);break;case 1:su||(kl(n,t),r=n.stateNode,typeof r.componentWillUnmount==`function`&&Dl(n,t,r)),Cu(e,t,n);break;case 21:Cu(e,t,n);break;case 22:su=(r=su)||n.memoizedState!==null,Cu(e,t,n),su=r;break;case 30:kl(n,t),Cu(e,t,n);break;case 7:su||kl(n,t),Cu(e,t,n);break;default:Cu(e,t,n)}}function Tu(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null))){e=e.dehydrated;try{Hh(e)}catch(e){pf(t,t.return,e)}}}function Eu(e,t){if(t.memoizedState===null&&(e=t.alternate,e!==null&&(e=e.memoizedState,e!==null&&(e=e.dehydrated,e!==null))))try{Hh(e)}catch(e){pf(t,t.return,e)}}function Du(e){switch(e.tag){case 31:case 13:case 19:var t=e.stateNode;return t===null&&(t=e.stateNode=new U),t;case 22:return e=e.stateNode,t=e._retryCache,t===null&&(t=e._retryCache=new U),t;default:throw Error(i(435,e.tag))}}function Ou(e,t){var n=Du(e);t.forEach(function(t){if(!n.has(t)){n.add(t);var r=vf.bind(null,e,t);t.then(r,r)}})}function ku(e,t,n){var r=t.deletions;if(r!==null)for(var a=0;a<r.length;a++){var o=r[a],s=e,c=t,l=c;a:for(;l!==null;){switch(l.tag){case 27:if(Sp(l.type)){xu=l.stateNode,Su=!1;break a}break;case 5:xu=l.stateNode,Su=!1;break a;case 3:case 4:xu=l.stateNode.containerInfo,Su=!0;break a}l=l.return}if(xu===null)throw Error(i(160));wu(s,c,o),xu=null,Su=!1,s=o.alternate,s!==null&&(s.return=null),o.return=null}if(t.subtreeFlags&13886)for(t=t.child;t!==null;)ju(t,e,n),t=t.sibling}var Au=null;function ju(e,t,n){var r=e.alternate,a=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(a&4&&(r=e.updateQueue,r=r===null?null:r.events,r!==null))for(var o=0;o<r.length;o++){var s=r[o];s.ref.impl=s.nextImpl}ku(t,e,n),Mu(e),a&4&&(Tl(3,e,e.return),wl(3,e),Tl(5,e,e.return));break;case 1:ku(t,e,n),Mu(e),a&512&&(su||r===null||kl(r,r.return)),a&64&&ou&&(e=e.updateQueue,e!==null&&(t=e.callbacks,t!==null&&(n=e.shared.hiddenCallbacks,e.shared.hiddenCallbacks=n===null?t:n.concat(t))));break;case 26:if(o=Au,ku(t,e,n),Mu(e),a&512&&(su||r===null||kl(r,r.return)),a&4){if(a=r===null?null:r.memoizedState,n=e.memoizedState,r===null){if(n===null){if(e.stateNode===null){if(ou)e.stateNode=fp(e.type,e.memoizedProps,t.containerInfo,e);else{a:{t=e.type,n=e.memoizedProps,a=o.ownerDocument||o;b:switch(t){case`title`:r=a.getElementsByTagName(`title`)[0],(!r||r[kt]||r[St]||r.namespaceURI===`http://www.w3.org/2000/svg`||r.hasAttribute(`itemprop`))&&(r=a.createElement(t),a.head.insertBefore(r,a.querySelector(`head > title`))),np(r,t,n),r[St]=e,It(r),t=r;break a;case`link`:if(o=Gm(`link`,`href`,a).get(t+(n.href||``))){for(s=0;s<o.length;s++)if(r=o[s],r.getAttribute(`href`)===(n.href==null||n.href===``?null:n.href)&&r.getAttribute(`rel`)===(n.rel==null?null:n.rel)&&r.getAttribute(`title`)===(n.title==null?null:n.title)&&r.getAttribute(`crossorigin`)===(n.crossOrigin==null?null:n.crossOrigin)){o.splice(s,1);break b}}r=a.createElement(t),np(r,t,n),a.head.appendChild(r);break;case`meta`:if(o=Gm(`meta`,`content`,a).get(t+(n.content||``))){for(s=0;s<o.length;s++)if(r=o[s],r.getAttribute(`content`)===(n.content==null?null:``+n.content)&&r.getAttribute(`name`)===(n.name==null?null:n.name)&&r.getAttribute(`property`)===(n.property==null?null:n.property)&&r.getAttribute(`http-equiv`)===(n.httpEquiv==null?null:n.httpEquiv)&&r.getAttribute(`charset`)===(n.charSet==null?null:n.charSet)){o.splice(s,1);break b}}r=a.createElement(t),np(r,t,n),a.head.appendChild(r);break;default:throw Error(i(468,t))}r[St]=e,It(r),t=r}e.stateNode=t}}else ou||Km(o,e.type,e.stateNode)}else e.stateNode=Bm(o,n,e.memoizedProps)}else a===n?n===null&&e.stateNode!==null&&Il(e,e.memoizedProps,r.memoizedProps):(a===null?(t=r.stateNode,t===null||su||t.parentNode.removeChild(t)):a.count--,n===null?ou||Km(o,e.type,e.stateNode):Bm(o,n,e.memoizedProps))}break;case 27:ku(t,e,n),Mu(e),a&512&&(su||r===null||kl(r,r.return)),r!==null&&a&4&&Il(e,e.memoizedProps,r.memoizedProps);break;case 5:if(o=cu,cu=!1,ku(t,e,n),cu=o,Mu(e),a&512&&(su||r===null||kl(r,r.return)),e.flags&32){t=e.stateNode;try{un(t,``),z=!0}catch(t){pf(e,e.return,t)}}a&4&&e.stateNode!=null&&(t=e.memoizedProps,Il(e,t,r===null?t:r.memoizedProps)),a&1024&&(lu=!0);break;case 6:if(ku(t,e,n),Mu(e),a&4){if(e.stateNode===null)throw Error(i(162));t=e.memoizedProps,n=e.stateNode;try{n.nodeValue=t,z=!0}catch(t){pf(e,e.return,t)}}break;case 3:if(z=!1,Wm=null,o=Au,Au=bm(t.containerInfo),ku(t,e,n),Au=o,Mu(e),a&4&&r!==null&&r.memoizedState.isDehydrated)try{Hh(t.containerInfo)}catch(t){pf(e,e.return,t)}lu&&(lu=!1,Nu(e)),z=!1;break;case 4:a=cu,cu=ou,r=Kt(),o=Au,Au=bm(e.stateNode.containerInfo),ku(t,e,n),Mu(e),Au=o,z&&fu&&(pu=!0),z=r,cu=a;break;case 12:ku(t,e,n),Mu(e);break;case 31:ku(t,e,n),Mu(e),a&4&&(t=e.updateQueue,t!==null&&(e.updateQueue=null,Ou(e,t)));break;case 13:ku(t,e,n),Mu(e),e.child.flags&8192&&e.memoizedState!==null!=(r!==null&&r.memoizedState!==null)&&(pd=Be()),a&4&&(t=e.updateQueue,t!==null&&(e.updateQueue=null,Ou(e,t)));break;case 22:o=e.memoizedState!==null,s=r!==null&&r.memoizedState!==null;var c=ou,l=su,u=cu;ou=c||o,cu=u||o,su=l||s,ku(t,e,n),su=l,cu=u,ou=c,Mu(e),a&8192&&(t=e.stateNode,t._visibility=o?t._visibility&-2:t._visibility|1,!o||r===null||s||ou||su||(t=s||su,n=ou,r=su,ou=o||ou,su=t,Iu(e,2),ou=n,su=r),!o&&cu||_u(e,o)),a&4&&(t=e.updateQueue,t!==null&&(n=t.retryQueue,n!==null&&(t.retryQueue=null,Ou(e,n))));break;case 19:ku(t,e,n),Mu(e),a&4&&(t=e.updateQueue,t!==null&&(e.updateQueue=null,Ou(e,t)));break;case 30:a&512&&(su||r===null||kl(r,r.return)),a=Kt(),o=fu,s=(n&335544064)===n,c=e.memoizedProps,fu=s&&yi(c.default,c.update)!==`none`,ku(t,e,n),Mu(e),s&&r!==null&&z&&(e.flags|=4),fu=o,z=a;break;case 21:break;case 7:a&512&&(su||r===null||kl(r,r.return)),r&&r.stateNode!==null&&(r.stateNode._fragmentFiber=e);default:ku(t,e,n),Mu(e)}}function Mu(e){var t=e.flags;if(t&2){try{for(var n,r=e.return;r!==null;){if(Ll(r)){n=r;break}r=r.return}r=null;for(var a=e.return;a!==null;){if(Pl(a)){var o=a.stateNode;r===null?r=[o]:r.push(o)}if(Nl(a))break;a=a.return}var s=r;if(n==null)throw Error(i(160));switch(n.tag){case 27:var c=n.stateNode;Bl(e,Rl(e),c,s);break;case 5:var l=n.stateNode;n.flags&32&&(un(l,``),n.flags&=-33),Bl(e,Rl(e),l,s);break;case 3:case 4:var u=n.stateNode.containerInfo;zl(e,Rl(e),u,s);break;default:throw Error(i(161))}}catch(t){pf(e,e.return,t)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function Nu(e){if(e.subtreeFlags&1024)for(e=e.child;e!==null;){var t=e;Nu(t),t.tag===5&&t.flags&1024&&(t=t.stateNode,gh=!0,t.reset(),gh=!1),e=e.sibling}}function Pu(e,t){if(t.subtreeFlags&9270)for(t=t.child;t!==null;)G(t,e),t=t.sibling;else au(t,!1)}function G(e,t){var n=e.alternate;if(n===null)Ql(e,!1);else switch(e.tag){case 3:if(mu=du=!1,Kl(),Pu(t,e),!du&&!pu){if(e=Gl,e!==null)for(var r=0;r<e.length;r+=3){n=e[r];var i=e[r+1];Ep(n,e[r+2]),n=n.ownerDocument.documentElement,n!==null&&n.animate({opacity:[0,0],pointerEvents:[`none`,`none`]},{duration:0,fill:`forwards`,pseudoElement:`::view-transition-group(`+i+`)`})}e=t.containerInfo,e=e.nodeType===9?e.documentElement:e.ownerDocument.documentElement,e!==null&&e.style.viewTransitionName===``&&(e.style.viewTransitionName=`none`,e.animate({opacity:[0,0],pointerEvents:[`none`,`none`]},{duration:0,fill:`forwards`,pseudoElement:`::view-transition-group(root)`}),e.animate({width:[0,0],height:[0,0]},{duration:0,fill:`forwards`,pseudoElement:`::view-transition`})),mu=!0}Gl=null;break;case 5:Pu(t,e);break;case 4:r=du,du=!1,Pu(t,e),du&&(pu=!0),du=r;break;case 22:e.memoizedState===null&&(n.memoizedState===null?Pu(t,e):Ql(e,!1));break;case 30:r=du,i=Kl(),du=!1,Pu(t,e),du&&(e.flags|=4);var a=e.memoizedProps,o=e.stateNode;t=_i(a,o),o=_i(n.memoizedProps,o);var s=yi(a.default,a.update);s===`none`?t=!1:(a=n.memoizedState,n.memoizedState=null,n=e.child,ql=0,t=iu(e,n,t,o,s,a,!0),ql!==(a===null?0:a.length)&&(e.flags|=32)),e.flags&4&&t?(Md(e,e.memoizedProps.onUpdate),Gl=i):i!==null&&(i.push.apply(i,Gl),Gl=i),du=e.flags&32?!0:r;break;default:Pu(t,e)}}function Fu(e,t){if(t.subtreeFlags&8772)for(t=t.child;t!==null;)W(e,t.alternate,t),t=t.sibling}function Iu(e,t){for(e=e.child;e!==null;){var n=e,r=t;switch(n.tag){case 0:case 11:case 14:case 15:Tl(4,n,n.return),Iu(n,r);break;case 1:kl(n,n.return);var i=n.stateNode;typeof i.componentWillUnmount==`function`&&Dl(n,n.return,i),Iu(n,r);break;case 27:r&2&&gm(n.stateNode,n.type,n.memoizedProps);case 5:kl(n,n.return),n.tag!==5&&n.tag!==27||Ml(n),Iu(n,r);break;case 6:Ml(n);break;case 26:kl(n,n.return),i=n.stateNode,n.memoizedState!==null||i===null||su||i.parentNode.removeChild(i),Iu(n,r);break;case 22:n.memoizedState===null&&Iu(n,r);break;case 30:kl(n,n.return),Iu(n,r);break;case 7:kl(n,n.return);default:Iu(n,r)}e=e.sibling}}function Lu(e,t,n){for(n=t.subtreeFlags&8772?n:n&-2,t=t.child;t!==null;){var r=t.alternate,i=e,a=t,o=a.flags,s=!!(n&1);switch(a.tag){case 0:case 11:case 15:Lu(i,a,n),wl(4,a);break;case 1:if(Lu(i,a,n),r=a,i=r.stateNode,typeof i.componentDidMount==`function`)try{i.componentDidMount()}catch(e){pf(r,r.return,e)}if(r=a,i=r.updateQueue,i!==null){var c=r.stateNode;try{var l=i.shared.hiddenCallbacks;if(l!==null)for(i.shared.hiddenCallbacks=null,i=0;i<l.length;i++)wo(l[i],c)}catch(e){pf(r,r.return,e)}}s&&o&64&&El(a),Ol(a,a.return);break;case 27:n&2&&Vl(a);case 5:a.tag!==5&&a.tag!==27||jl(a),Lu(i,a,n),s&&r===null&&o&4&&Fl(a),Ol(a,a.return);break;case 6:jl(a);break;case 26:c=a.stateNode,a.memoizedState!==null||c===null||ou||Km(bm(c.ownerDocument),a.type,c),Lu(i,a,n),s&&r===null&&o&4&&Fl(a),Ol(a,a.return);break;case 12:Lu(i,a,n);break;case 31:Lu(i,a,n),s&&o&4&&Tu(i,a);break;case 13:Lu(i,a,n),s&&o&4&&Eu(i,a);break;case 22:a.memoizedState===null&&Lu(i,a,n),Ol(a,a.return);break;case 30:Lu(i,a,n),Ol(a,a.return);break;case 7:Ol(a,a.return);default:Lu(i,a,n)}t=t.sibling}}function Ru(e,t){var n=null;e!==null&&e.memoizedState!==null&&e.memoizedState.cachePool!==null&&(n=e.memoizedState.cachePool.pool),e=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(e=t.memoizedState.cachePool.pool),e!==n&&(e!=null&&e.refCount++,n!=null&&Na(n))}function zu(e,t){e=null,t.alternate!==null&&(e=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==e&&(t.refCount++,e!=null&&Na(e))}function Bu(e,t,n,r){var i=(n&335544064)===n;if(t.subtreeFlags&(i?10262:10256))for(t=t.child;t!==null;)Vu(e,t,n,r),t=t.sibling;else i&&ru(t)}function Vu(e,t,n,r){var i=(n&335544064)===n;i&&t.alternate===null&&t.return!==null&&t.return.alternate!==null&&nu(t);var a=t.flags;switch(t.tag){case 0:case 11:case 15:Bu(e,t,n,r),a&2048&&wl(9,t);break;case 1:Bu(e,t,n,r);break;case 3:Bu(e,t,n,r),i&&mu&&(e=e.containerInfo,e=e.nodeType===9?e.body:e.nodeName===`HTML`?e.ownerDocument.body:e,e.style.viewTransitionName===`root`&&(e.style.viewTransitionName=``),e=e.ownerDocument.documentElement,e!==null&&e.style.viewTransitionName===`none`&&(e.style.viewTransitionName=``)),a&2048&&(a=null,t.alternate!==null&&(a=t.alternate.memoizedState.cache),t=t.memoizedState.cache,t!==a&&(t.refCount++,a!=null&&Na(a)));break;case 12:if(a&2048){Bu(e,t,n,r),a=t.stateNode;try{var o=t.memoizedProps,s=o.id,c=o.onPostCommit;typeof c==`function`&&c(s,t.alternate===null?`mount`:`update`,a.passiveEffectDuration,-0)}catch(e){pf(t,t.return,e)}}else Bu(e,t,n,r);break;case 31:Bu(e,t,n,r);break;case 13:Bu(e,t,n,r);break;case 23:break;case 22:o=t.stateNode,s=t.alternate,t.memoizedState===null?(i&&s!==null&&s.memoizedState!==null&&nu(t),o._visibility&2?Bu(e,t,n,r):(o._visibility|=2,Hu(e,t,n,r,!!(t.subtreeFlags&10256)||!1))):(i&&s!==null&&s.memoizedState===null&&nu(s),o._visibility&2?Bu(e,t,n,r):Uu(e,t)),a&2048&&Ru(s,t);break;case 24:Bu(e,t,n,r),a&2048&&zu(t.alternate,t);break;case 30:i&&(a=t.alternate,a!==null&&(Xl(a.child,!0),Xl(t.child,!0))),Bu(e,t,n,r);break;default:Bu(e,t,n,r)}}function Hu(e,t,n,r,i){for(i&&=!!(t.subtreeFlags&10256)||!1,t=t.child;t!==null;){var a=e,o=t,s=n,c=r,l=o.flags;switch(o.tag){case 0:case 11:case 15:Hu(a,o,s,c,i),wl(8,o);break;case 23:break;case 22:var u=o.stateNode;o.memoizedState===null?(u._visibility|=2,Hu(a,o,s,c,i)):u._visibility&2?Hu(a,o,s,c,i):Uu(a,o),i&&l&2048&&Ru(o.alternate,o);break;case 24:Hu(a,o,s,c,i),i&&l&2048&&zu(o.alternate,o);break;default:Hu(a,o,s,c,i)}t=t.sibling}}function Uu(e,t){if(t.subtreeFlags&10256)for(t=t.child;t!==null;){var n=e,r=t,i=r.flags;switch(r.tag){case 22:Uu(n,r),i&2048&&Ru(r.alternate,r);break;case 24:Uu(n,r),i&2048&&zu(r.alternate,r);break;default:Uu(n,r)}t=t.sibling}}var Wu=8192;function Gu(e,t,n){if(e.subtreeFlags&Wu)for(e=e.child;e!==null;)Ku(e,t,n),e=e.sibling}function Ku(e,t,n){switch(e.tag){case 26:Gu(e,t,n),e.flags&Wu&&(e.memoizedState===null?(e=e.stateNode,(t&335544128)===t&&Zm(n,e)):Qm(n,Au,e.memoizedState,e.memoizedProps));break;case 5:Gu(e,t,n),e.flags&Wu&&(e=e.stateNode,(t&335544128)===t&&Zm(n,e));break;case 3:case 4:var r=Au;Au=bm(e.stateNode.containerInfo),Gu(e,t,n),Au=r;break;case 22:e.memoizedState===null&&(r=e.alternate,r!==null&&r.memoizedState!==null?(r=Wu,Wu=16777216,Gu(e,t,n),Wu=r):Gu(e,t,n));break;case 30:if((e.flags&Wu)!==0&&(r=e.memoizedProps.name,r!=null&&r!==`auto`)){var i=e.stateNode;i.paired=null,Ul===null&&(Ul=new Map),Ul.set(r,i)}Gu(e,t,n);break;default:Gu(e,t,n)}}function qu(e){var t=e.alternate;if(t!==null&&(e=t.child,e!==null)){t.child=null;do t=e.sibling,e.sibling=null,e=t;while(e!==null)}}function Ju(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];uu=r,Zu(r,e)}qu(e)}if(e.subtreeFlags&10256)for(e=e.child;e!==null;)Yu(e),e=e.sibling}function Yu(e){switch(e.tag){case 0:case 11:case 15:Ju(e),e.flags&2048&&Tl(9,e,e.return);break;case 3:Ju(e);break;case 12:Ju(e);break;case 22:var t=e.stateNode;e.memoizedState!==null&&t._visibility&2&&(e.return===null||e.return.tag!==13)?(t._visibility&=-3,Xu(e)):Ju(e);break;default:Ju(e)}}function Xu(e){var t=e.deletions;if(e.flags&16){if(t!==null)for(var n=0;n<t.length;n++){var r=t[n];uu=r,Zu(r,e)}qu(e)}for(e=e.child;e!==null;){switch(t=e,t.tag){case 0:case 11:case 15:Tl(8,t,t.return),Xu(t);break;case 22:n=t.stateNode,n._visibility&2&&(n._visibility&=-3,Xu(t));break;default:Xu(t)}e=e.sibling}}function Zu(e,t){for(;uu!==null;){var n=uu;switch(n.tag){case 0:case 11:case 15:Tl(8,n,t);break;case 23:case 22:if(n.memoizedState!==null&&n.memoizedState.cachePool!==null){var r=n.memoizedState.cachePool.pool;r!=null&&r.refCount++}break;case 24:Na(n.memoizedState.cache)}if(r=n.child,r!==null)r.return=n,uu=r;else a:for(n=e;uu!==null;){r=uu;var i=r.sibling,a=r.return;if(bu(r),r===n){uu=null;break a}if(i!==null){i.return=a,uu=i;break a}uu=a}}}var Qu={getCacheForType:function(e){var t=Ta(ja),n=t.data.get(e);return n===void 0&&(n=e(),t.data.set(e,n)),n},cacheSignal:function(){return Ta(ja).controller.signal}},$u=typeof WeakMap==`function`?WeakMap:Map,K=0,ed=null,q=null,J=0,td=0,nd=null,Y=!1,X=!1,Z=!1,rd=0,id=0,ad=0,od=0,sd=0,cd=0,ld=0,ud=null,dd=null,fd=!1,pd=0,md=0,hd=1/0,gd=null,_d=null,vd=0,yd=null,bd=null,xd=0,Sd=0,Cd=null,wd=null,Td=null,Ed=null,Dd=null,Od=0,kd=null;function Ad(){return K&2&&J!==0?J&-J:N.T===null?yt():Nf()}function jd(){if(cd===0){if(!(J&536870912)||B){var e=rt;rt<<=1,!(rt&3932160)&&(rt=262144),cd=e}else cd=536870912}return e=jo.current,e!==null&&(e.flags|=32),cd}function Md(e,t){if(t!=null){var n=e.stateNode,r=n.ref;r===null&&(r=n.ref=Pp(_i(e.memoizedProps,n))),Ed===null&&(Ed=[]),Ed.push(t.bind(null,r))}}function Nd(e,t,n){(e===ed&&(td===2||td===9)||e.cancelPendingCommit!==null)&&(Bd(e,0),Ld(e,J,cd,!1)),ft(e,n),(!(K&2)||e!==ed)&&(e===ed&&(!(K&2)&&(od|=n),id===4&&Ld(e,J,cd,!1)),Tf(e))}function Pd(e,t,n){if(K&6)throw Error(i(327));var r=!n&&!(t&127)&&(t&e.expiredLanes)===0||st(e,t),a=r?Jd(e,t):Kd(e,t,!0),o=r;do{if(a===0){X&&!r&&Ld(e,t,0,!1);break}if(n=e.current.alternate,o&&!Id(n))a=Kd(e,t,!1),o=!1;else{if(a===2){if(o=t,e.errorRecoveryDisabledLanes&o)var s=0;else s=e.pendingLanes&-536870913,s=s===0?s&536870912?536870912:0:s;if(s!==0){t=s;a:{var c=e;a=ud;var l=c.current.memoizedState.isDehydrated;if(l&&(Bd(c,s).flags|=256),s=Kd(c,s,!1),s!==2&&s!==6){if(Z&&!l){c.errorRecoveryDisabledLanes|=o,od|=o,a=4;break a}o=dd,dd=a,o!==null&&(dd===null?dd=o:dd.push.apply(dd,o))}a=s}if(o=!1,a!==2)continue}}if(a===1){Bd(e,0),Ld(e,t,0,!0);break}a:{switch(r=e,o=a,o){case 0:case 1:throw Error(i(345));case 4:if((t&4194048)!==t&&(t&62914560)!==t)break;case 6:Ld(r,t,cd,!Y);break a;case 2:dd=null;break;case 3:case 5:break;default:throw Error(i(329))}if((t&62914560)===t&&(a=pd+300-Be(),10<a)){if(Ld(r,t,cd,!Y),ot(r,0,!0)!==0)break a;xd=t,r.timeoutHandle=gp(Fd.bind(null,r,n,dd,gd,fd,t,cd,od,ld,Y,o,`Throttled`,-0,0),a);break a}Fd(r,n,dd,gd,fd,t,cd,od,ld,Y,o,null,-0,0)}break}}while(1);Tf(e)}function Fd(e,t,n,r,i,a,o,s,c,l,u,d,f,p){e.timeoutHandle=-1;var m=t.subtreeFlags,h=(a&335544064)===a;d=null,(h||m&8192||(m&16785408)==16785408)&&(d={stylesheets:null,count:0,imgCount:0,imgBytes:0,suspenseyImages:[],waitingForImages:!0,waitingForViewTransition:!1,unsuspend:vn},Ul=null,Ku(t,a,d),h&&(m=d,h=e.containerInfo,h=(h.nodeType===9?h:h.ownerDocument).__reactViewTransition,h!=null&&(m.count++,m.waitingForViewTransition=!0,m=nh.bind(m),h.finished.then(m,m))),m=(a&62914560)===a?pd-Be():(a&4194048)===a?md-Be():0,m=eh(d,m),m!==null)?(xd=a,e.cancelPendingCommit=m(tf.bind(null,e,t,a,n,r,i,o,s,c,l,u,d,null,f,p)),Ld(e,a,o,!l)):tf(e,t,a,n,r,i,o,s,c,l,u,d)}function Id(e){for(var t=e;;){var n=t.tag;if((n===0||n===11||n===15)&&t.flags&16384&&(n=t.updateQueue,n!==null&&(n=n.stores,n!==null)))for(var r=0;r<n.length;r++){var i=n[r],a=i.getSnapshot;i=i.value;try{if(!Vr(a(),i))return!1}catch{return!1}}if(n=t.child,t.subtreeFlags&16384&&n!==null)n.return=t,t=n;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function Ld(e,t,n,r){t=ct(e,t),t&=~sd,t&=~od,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var i=t;0<i;){var a=31-Qe(i),o=1<<a;r[a]=-1,i&=~o}n!==0&&mt(e,n,t)}function Rd(){return K&6?!0:(Ef(0,!1),!1)}function zd(){if(q!==null){if(td===0)var e=q.return;else e=q,_a=ga=null,os(e),ao=null,oo=0,e=q;for(;e!==null;)Cl(e.alternate,e),e=e.return;q=null}}function Bd(e,t){var n=e.timeoutHandle;return n!==-1&&(e.timeoutHandle=-1,_p(n)),n=e.cancelPendingCommit,n!==null&&(e.cancelPendingCommit=null,n()),xd=0,zd(),ed=e,q=n=Pi(e.current,null),J=t,td=0,nd=null,Y=!1,X=st(e,t),Z=!1,ld=cd=sd=od=ad=id=0,dd=ud=null,fd=!1,rd=ct(e,t),wi(),n}function Vd(e,t){V=null,N.H=gc,t===Ya||t===Za?(t=ro(),td=3):t===Xa?(t=ro(),td=4):td=t===Pc?8:typeof t==`object`&&t&&typeof t.then==`function`?6:1,nd=t,q===null&&(id=1,Oc(e,Hi(t,e.current)))}function Hd(){var e=jo.current;return e===null?!0:(J&4194048)===J?Mo===null:(J&62914560)===J||J&536870912?e===Mo:!1}function Ud(){var e=N.H;return N.H=gc,e===null?gc:e}function Wd(){var e=N.A;return N.A=Qu,e}function Gd(){id=4,Y||(J&4194048)!==J&&jo.current!==null||(X=!0),!(ad&134217727)&&!(od&134217727)||ed===null||Ld(ed,J,cd,!1)}function Kd(e,t,n){var r=K;K|=2;var i=Ud(),a=Wd();(ed!==e||J!==t)&&(gd=null,Bd(e,t)),t=!1;var o=id;a:do try{if(td!==0&&q!==null){var s=q,c=nd;switch(td){case 8:zd(),o=6;break a;case 3:case 2:case 9:case 6:jo.current===null&&(t=!0);var l=td;if(td=0,nd=null,Qd(e,s,c,l),n&&X){o=0;break a}break;default:l=td,td=0,nd=null,Qd(e,s,c,l)}}qd(),o=id;break}catch(t){Vd(e,t)}while(1);return t&&e.shellSuspendCounter++,_a=ga=null,K=r,N.H=i,N.A=a,q===null&&(ed=null,J=0,wi()),o}function qd(){for(;q!==null;)Xd(q)}function Jd(e,t){var n=K;K|=2;var r=Ud(),a=Wd();ed!==e||J!==t?(gd=null,hd=Be()+500,Bd(e,t)):X=st(e,t);a:do try{if(td!==0&&q!==null){t=q;var o=nd;b:switch(td){case 1:td=0,nd=null,Qd(e,t,o,1);break;case 2:case 9:if($a(o)){td=0,nd=null,Zd(t);break}t=function(){td!==2&&td!==9||ed!==e||(td=7),Tf(e)},o.then(t,t);break a;case 3:td=7;break a;case 4:td=5;break a;case 7:$a(o)?(td=0,nd=null,Zd(t)):(td=0,nd=null,Qd(e,t,o,7));break;case 5:var s=null;switch(q.tag){case 26:s=q.memoizedState;case 5:case 27:var c=q;if(s?Ym(s):c.stateNode.complete){td=0,nd=null;var l=c.sibling;if(l!==null)q=l;else{var u=c.return;u===null?q=null:(q=u,$d(u))}break b}}td=0,nd=null,Qd(e,t,o,5);break;case 6:td=0,nd=null,Qd(e,t,o,6);break;case 8:zd(),id=6;break a;default:throw Error(i(462))}}Yd();break}catch(t){Vd(e,t)}while(1);return _a=ga=null,N.H=r,N.A=a,K=n,q===null?(ed=null,J=0,wi(),id):0}function Yd(){for(;q!==null&&!Re();)Xd(q)}function Xd(e){var t=ml(e.alternate,e,rd);e.memoizedProps=e.pendingProps,t===null?$d(e):q=t}function Zd(e){var t=e,n=t.alternate;switch(t.tag){case 15:case 0:t=Jc(n,t,t.pendingProps,t.type,void 0,J);break;case 11:t=Jc(n,t,t.pendingProps,t.type.render,t.ref,J);break;case 5:os(t);var r=t;r===ra&&(B?(ua(r),r.tag===5&&r.stateNode!=null&&(ia=r.stateNode)):(ua(r),B=!0));default:Cl(n,t),t=q=Fi(t,rd),t=ml(n,t,rd)}e.memoizedProps=e.pendingProps,t===null?$d(e):q=t}function Qd(e,t,n,r){_a=ga=null,os(t),ao=null,oo=0;var i=t.return;try{if(Nc(e,i,t,n,J)){id=1,Oc(e,Hi(n,e.current)),q=null;return}}catch(t){if(i!==null)throw q=i,t;id=1,Oc(e,Hi(n,e.current)),q=null;return}t.flags&32768?(B||r===1?e=!0:X||J&536870912?e=!1:(Y=e=!0,(r===2||r===9||r===3||r===6)&&(r=jo.current,r!==null&&r.tag===13&&(r.flags|=16384))),ef(t,e)):$d(t)}function $d(e){var t=e;do{if(t.flags&32768){ef(t,Y);return}e=t.return;var n=xl(t.alternate,t,rd);if(n!==null){q=n;return}if(t=t.sibling,t!==null){q=t;return}q=t=e}while(t!==null);id===0&&(id=5)}function ef(e,t){do{var n=Sl(e.alternate,e);if(n!==null){n.flags&=32767,q=n;return}if(n=e.return,n!==null&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&(e=e.sibling,e!==null)){q=e;return}q=e=n}while(e!==null);id=6,q=null}function tf(e,t,n,r,a,o,s,c,l,u,d,f){e.cancelPendingCommit=null;do uf();while(vd!==0);if(K&6)throw Error(i(327));if(t!==null){if(t===e.current)throw Error(i(177));e===ed&&(q=ed=null,J=0),bd=t,yd=e,xd=n,Cd=a,wd=r,nf(e,t,n,s,c,l,f)}}function nf(e,t,n,r,i,a,o){var s=t.lanes|t.childLanes;if(Sd=s,s|=Ci,pt(e,n,s,r,i,a),Ed=null,(n&335544064)===n?(Dd=Ia(e),r=10262):(Dd=null,r=10256),(t.subtreeFlags&r)!==0||(t.flags&r)!==0?(e.callbackNode=null,e.callbackPriority=0,yf(We,function(){return df(),null})):(e.callbackNode=null,e.callbackPriority=0),Hl=!1,r=!!(t.flags&13878),t.subtreeFlags&13878||r){r=N.T,N.T=null,i=P.p,P.p=2,a=K,K|=4;try{hu(e,t,n)}finally{K=a,P.p=i,N.T=r}}vd=1,Hl?Td=Mp(o,e.containerInfo,Dd,of,sf,af,cf,df,rf,null,null):(of(),sf(),cf())}function rf(e){if(vd!==0){var t=yd.onRecoverableError;t(e,{componentStack:null})}}function af(){vd===3&&(vd=0,G(bd,yd),vd=4)}function of(){if(vd===1){vd=0;var e=yd,t=bd,n=xd,r=!!(t.flags&13878);if(t.subtreeFlags&13878||r){r=N.T,N.T=null;var i=P.p;P.p=2;var a=K;K|=4;try{fu=pu=!1,ju(t,e,n),n=cp;var o=qr(e.containerInfo),s=n.focusedElem,c=n.selectionRange;if(o!==s&&s&&s.ownerDocument&&Kr(s.ownerDocument.documentElement,s)){if(c!==null&&Jr(s)){var l=c.start,u=c.end;if(u===void 0&&(u=l),`selectionStart`in s)s.selectionStart=l,s.selectionEnd=Math.min(u,s.value.length);else{var d=s.ownerDocument||document,f=d&&d.defaultView||window;if(f.getSelection){var p=f.getSelection(),m=s.textContent.length,h=Math.min(c.start,m),g=c.end===void 0?h:Math.min(c.end,m);!p.extend&&h>g&&(o=g,g=h,h=o);var _=Gr(s,h),v=Gr(s,g);if(_&&v&&(p.rangeCount!==1||p.anchorNode!==_.node||p.anchorOffset!==_.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var y=d.createRange();y.setStart(_.node,_.offset),p.removeAllRanges(),h>g?(p.addRange(y),p.extend(v.node,v.offset)):(y.setEnd(v.node,v.offset),p.addRange(y))}}}}for(d=[],p=s;p=p.parentNode;)p.nodeType===1&&d.push({element:p,left:p.scrollLeft,top:p.scrollTop});for(typeof s.focus==`function`&&s.focus(),s=0;s<d.length;s++){var b=d[s];b.element.scrollLeft=b.left,b.element.scrollTop=b.top}}gh=!!sp,cp=sp=null}finally{K=a,P.p=i,N.T=r}}e.current=t,vd=2}}function sf(){if(vd===2){vd=0;var e=yd,t=bd,n=!!(t.flags&8772);if(t.subtreeFlags&8772||n){n=N.T,N.T=null;var r=P.p;P.p=2;var i=K;K|=4;try{W(e,t.alternate,t)}finally{K=i,P.p=r,N.T=n}}vd=3}}function cf(){if(vd===4||vd===3){vd=0;var e=Td;Td=null,ze();var t=yd,n=bd,r=xd,i=wd,a=(r&335544064)===r?10262:10256;if((n.subtreeFlags&a)!==0||(n.flags&a)!==0?vd=5:(vd=0,bd=yd=null,lf(t,t.pendingLanes)),a=t.pendingLanes,a===0&&(_d=null),vt(r),n=n.stateNode,Xe&&typeof Xe.onCommitFiberRoot==`function`)try{Xe.onCommitFiberRoot(Ye,n,void 0,(n.current.flags&128)==128)}catch{}if(i!==null){n=N.T,a=P.p,P.p=2,N.T=null;try{for(var o=t.onRecoverableError,s=0;s<i.length;s++){var c=i[s];o(c.value,{componentStack:c.stack})}}finally{N.T=n,P.p=a}}if(i=Ed,o=Dd,Dd=null,i!==null&&(Ed=null,o===null&&(o=[]),e!==null))for(c=0;c<i.length;c++)n=(0,i[c])(o),n!==void 0&&e.finished.finally(n);xd&3&&uf(),Tf(t),a=t.pendingLanes,r&261930&&a&42?t===kd?Od++:(Od=0,kd=t):(Od=0,kd=null),Ef(0,!1)}}function lf(e,t){(e.pooledCacheLanes&=t)===0&&(t=e.pooledCache,t!=null&&(e.pooledCache=null,Na(t)))}function uf(){return Td!==null&&(Td.skipTransition(),Td=null),of(),sf(),cf(),df()}function df(){if(vd!==5)return!1;var e=yd,t=Sd;Sd=0;var n=vt(xd),r=N.T,a=P.p;try{P.p=32>n?32:n,N.T=null,n=Cd,Cd=null;var o=yd,s=xd;if(vd=0,bd=yd=null,xd=0,K&6)throw Error(i(331));var c=K;if(K|=4,Yu(o.current),Vu(o,o.current,s,n),K=c,Ef(0,!1),Xe&&typeof Xe.onPostCommitFiberRoot==`function`)try{Xe.onPostCommitFiberRoot(Ye,o)}catch{}return!0}finally{P.p=a,N.T=r,lf(e,t)}}function ff(e,t,n){t=Hi(n,t),t=Ac(e.stateNode,t,2),e=vo(e,t,2),e!==null&&(ft(e,2),Tf(e))}function pf(e,t,n){if(e.tag===3)ff(e,e,n);else for(;t!==null;){if(t.tag===3){ff(t,e,n);break}if(t.tag===1){var r=t.stateNode;if(typeof t.type.getDerivedStateFromError==`function`||typeof r.componentDidCatch==`function`&&(_d===null||!_d.has(r))){e=Hi(n,e),n=jc(2),r=vo(t,n,2),r!==null&&(Mc(n,r,t,e),ft(r,2),Tf(r));break}}t=t.return}}function mf(e,t,n){var r=e.pingCache;if(r===null){r=e.pingCache=new $u;var i=new Set;r.set(t,i)}else i=r.get(t),i===void 0&&(i=new Set,r.set(t,i));i.has(n)||(Z=!0,i.add(n),e=hf.bind(null,e,t,n),t.then(e,e))}function hf(e,t,n){var r=e.pingCache;r!==null&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,ed===e&&(J&n)===n&&(id===4||id===3&&(J&62914560)===J&&300>Be()-pd?K&2?sd|=n:Bd(e,0):sd|=n,ld===J&&(ld=0)),Tf(e)}function gf(e,t){t===0&&(t=ut()),e=Di(e,t),e!==null&&(ft(e,t),Tf(e))}function _f(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),gf(e,n)}function vf(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,a=e.memoizedState;a!==null&&(n=a.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(i(314))}r!==null&&r.delete(t),gf(e,n)}function yf(e,t){return Le(e,t)}var bf=null,xf=null,Sf=!1,Cf=!1,wf=!1,Q=0;function Tf(e){e!==xf&&e.next===null&&(xf===null?bf=xf=e:xf=xf.next=e),Cf=!0,Sf||(Sf=!0,Mf())}function Ef(e,t){if(!wf&&Cf){wf=!0;do for(var n=!1,r=bf;r!==null;){if(!t){if(e!==0){var i=r.pendingLanes;if(i===0)var a=0;else{var o=r.suspendedLanes,s=r.pingedLanes;a=(1<<31-Qe(42|e)+1)-1,a&=i&~(o&~s),a=a&201326741?a&201326741|1:a?a|2:0}a!==0&&(n=!0,jf(r,a))}else a=J,a=ot(r,r===ed?a:0,r.cancelPendingCommit!==null||r.timeoutHandle!==-1),!(a&3)||st(r,a)||(n=!0,jf(r,a))}r=r.next}while(n);wf=!1}}function Df(){Of()}function Of(){Cf=Sf=!1;var e=0;Q!==0&&hp()&&(e=Q);for(var t=Be(),n=null,r=bf;r!==null;){var i=r.next,a=kf(r,t);a===0?(r.next=null,n===null?bf=i:n.next=i,i===null&&(xf=n)):(n=r,(e!==0||a&3)&&(Cf=!0)),r=i}vd!==0&&vd!==5||Ef(e,!1),Q!==0&&(Q=0)}function kf(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,i=e.expirationTimes,a=e.pendingLanes&-62914561;0<a;){var o=31-Qe(a),s=1<<o,c=i[o];c===-1?((s&n)===0||(s&r)!==0)&&(i[o]=lt(s,t)):c<=t&&(e.expiredLanes|=s),a&=~s}if(t=ed,n=J,n=ot(e,e===t?n:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r=e.callbackNode,n===0||e===t&&(td===2||td===9)||e.cancelPendingCommit!==null)return r!==null&&r!==null&&R(r),e.callbackNode=null,e.callbackPriority=0;if(!(n&3)||st(e,n)){if(t=n&-n,t===e.callbackPriority)return t;switch(r!==null&&R(r),vt(n)){case 2:case 8:n=Ue;break;case 32:n=We;break;case 268435456:n=Ke;break;default:n=We}return r=Af.bind(null,e),n=Le(n,r),e.callbackPriority=t,e.callbackNode=n,t}return r!==null&&r!==null&&R(r),e.callbackPriority=2,e.callbackNode=null,2}function Af(e,t){if(vd!==0&&vd!==5)return e.callbackNode=null,e.callbackPriority=0,null;var n=e.callbackNode;if(uf()&&e.callbackNode!==n)return null;var r=J;return r=ot(e,e===ed?r:0,e.cancelPendingCommit!==null||e.timeoutHandle!==-1),r===0?null:(Pd(e,r,t),kf(e,Be()),e.callbackNode!=null&&e.callbackNode===n?Af.bind(null,e):null)}function jf(e,t){if(uf())return null;Pd(e,t,!0)}function Mf(){bp(function(){K&6?Le(He,Df):Of()})}function Nf(){if(Q===0){var e=za;e===0&&(e=nt,nt<<=1,!(nt&261888)&&(nt=256)),Q=e}return Q}function Pf(e){return e==null||typeof e==`symbol`||typeof e==`boolean`?null:typeof e==`function`?e:_n(e)}function Ff(e,t,n,r,i){if(t===`submit`&&n&&n.stateNode===i){var a=Pf((i[Ct]||null).action),o=r.submitter;o&&(t=(t=o[Ct]||null)?Pf(t.formAction):o.getAttribute(`formAction`),t!==null&&(a=t,o=null));var s=new zn(`action`,`action`,null,r,i);e.push({event:s,listeners:[{instance:null,listener:function(){if(r.defaultPrevented){if(Q!==0){var e=new FormData(i,o);nc(n,{pending:!0,data:e,method:i.method,action:a},null,e)}}else typeof a==`function`&&(s.preventDefault(),e=new FormData(i,o),nc(n,{pending:!0,data:e,method:i.method,action:a},a,e))},currentTarget:i}]})}}for(var If=0;If<mi.length;If++){var Lf=mi[If];hi(Lf.toLowerCase(),`on`+(Lf[0].toUpperCase()+Lf.slice(1)))}hi(oi,`onAnimationEnd`),hi(si,`onAnimationIteration`),hi(ci,`onAnimationStart`),hi(`dblclick`,`onDoubleClick`),hi(`focusin`,`onFocus`),hi(`focusout`,`onBlur`),hi(li,`onTransitionRun`),hi(ui,`onTransitionStart`),hi(di,`onTransitionCancel`),hi(fi,`onTransitionEnd`),Vt(`onMouseEnter`,[`mouseout`,`mouseover`]),Vt(`onMouseLeave`,[`mouseout`,`mouseover`]),Vt(`onPointerEnter`,[`pointerout`,`pointerover`]),Vt(`onPointerLeave`,[`pointerout`,`pointerover`]),Bt(`onChange`,`change click focusin focusout input keydown keyup selectionchange`.split(` `)),Bt(`onSelect`,`focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange`.split(` `)),Bt(`onBeforeInput`,[`compositionend`,`keypress`,`textInput`,`paste`]),Bt(`onCompositionEnd`,`compositionend focusout keydown keypress keyup mousedown`.split(` `)),Bt(`onCompositionStart`,`compositionstart focusout keydown keypress keyup mousedown`.split(` `)),Bt(`onCompositionUpdate`,`compositionupdate focusout keydown keypress keyup mousedown`.split(` `));var Rf=`abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting`.split(` `),zf=new Set(`beforetoggle cancel close invalid load scroll scrollend toggle`.split(` `).concat(Rf));function Bf(e,t){t=!!(t&4);for(var n=0;n<e.length;n++){var r=e[n],i=r.event;r=r.listeners;a:{var a=void 0;if(t)for(var o=r.length-1;0<=o;o--){var s=r[o],c=s.instance,l=s.currentTarget;if(s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){bi(e)}i.currentTarget=null,a=c}else for(o=0;o<r.length;o++){if(s=r[o],c=s.instance,l=s.currentTarget,s=s.listener,c!==a&&i.isPropagationStopped())break a;a=s,i.currentTarget=l;try{a(i)}catch(e){bi(e)}i.currentTarget=null,a=c}}}}function $(e,t){var n=t[Tt];n===void 0&&(n=t[Tt]=new Set);var r=e+`__bubble`;n.has(r)||(Wf(t,e,2,!1),n.add(r))}function Vf(e,t,n){var r=0;t&&(r|=4),Wf(n,e,r,t)}var Hf=`_reactListening`+Math.random().toString(36).slice(2);function Uf(e){if(!e[Hf]){e[Hf]=!0,Rt.forEach(function(t){t!==`selectionchange`&&(zf.has(t)||Vf(t,!1,e),Vf(t,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Hf]||(t[Hf]=!0,Vf(`selectionchange`,!1,t))}}function Wf(e,t,n,r){switch(Ch(t)){case 2:var i=_h;break;case 8:i=vh;break;default:i=yh}n=i.bind(null,t,n,e),i=void 0,!On||t!==`touchstart`&&t!==`touchmove`&&t!==`wheel`||(i=!0),r?i===void 0?e.addEventListener(t,n,!0):e.addEventListener(t,n,{capture:!0,passive:i}):i===void 0?e.addEventListener(t,n,!1):e.addEventListener(t,n,{passive:i})}function Gf(e,t,n,r,i){var a=r;if(!(t&1)&&!(t&2)&&r!==null)a:for(;;){if(r===null)return;var s=r.tag;if(s===3||s===4){var c=r.stateNode.containerInfo;if(c===i)break;if(s===4)for(s=r.return;s!==null;){var l=s.tag;if((l===3||l===4)&&s.stateNode.containerInfo===i)return;s=s.return}for(;c!==null;){if(s=Mt(c),s===null)return;if(l=s.tag,l===5||l===6||l===26||l===27){r=a=s;continue a}c=c.parentNode}}r=r.return}Tn(function(){var r=a,i=bn(n),s=[];a:{var c=pi.get(e);if(c!==void 0){var l=zn,u=e;switch(e){case`keypress`:if(Pn(n)===0)break a;case`keydown`:case`keyup`:l=rr;break;case`focusin`:u=`focus`,l=Jn;break;case`focusout`:u=`blur`,l=Jn;break;case`beforeblur`:case`afterblur`:l=Jn;break;case`click`:if(n.button===2)break a;case`auxclick`:case`dblclick`:case`mousedown`:case`mousemove`:case`mouseup`:case`mouseout`:case`mouseover`:case`contextmenu`:l=Kn;break;case`drag`:case`dragend`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`dragstart`:case`drop`:l=qn;break;case`touchcancel`:case`touchend`:case`touchmove`:case`touchstart`:l=or;break;case oi:case si:case ci:l=Yn;break;case fi:l=sr;break;case`scroll`:case`scrollend`:l=Vn;break;case`wheel`:l=cr;break;case`copy`:case`cut`:case`paste`:l=Xn;break;case`gotpointercapture`:case`lostpointercapture`:case`pointercancel`:case`pointerdown`:case`pointermove`:case`pointerout`:case`pointerover`:case`pointerup`:l=ir;break;case`submit`:l=ar;break;case`toggle`:case`beforetoggle`:l=lr}var d=!!(t&4),f=!d&&(e===`scroll`||e===`scrollend`),p=d?c===null?null:c+`Capture`:c;d=[];for(var m=r,h;m!==null;){var g=m;if(h=g.stateNode,g=g.tag,g!==5&&g!==26&&g!==27||h===null||p===null||(g=En(m,p),g!=null&&d.push(Kf(m,g,h))),f)break;m=m.return}0<d.length&&(c=new l(c,u,null,n,i),s.push({event:c,listeners:d}))}}if(!(t&7)){a:{if(l=e===`mouseover`||e===`pointerover`,c=e===`mouseout`||e===`pointerout`,l&&n!==yn&&(u=n.relatedTarget||n.fromElement)&&(Mt(u)||u[wt]))break a;(c||l)&&(u=i.window===i?i:(l=i.ownerDocument)?l.defaultView||l.parentWindow:window,c?(l=n.relatedTarget||n.toElement,c=r,l=l?Mt(l):null,l!==null&&(f=o(l),d=l.tag,l!==f||d!==5&&d!==27&&d!==6)&&(l=null)):(c=null,l=r),c!==l&&(d=Kn,g=`onMouseLeave`,p=`onMouseEnter`,m=`mouse`,(e===`pointerout`||e===`pointerover`)&&(d=ir,g=`onPointerLeave`,p=`onPointerEnter`,m=`pointer`),f=c==null?u:Pt(c),h=l==null?u:Pt(l),u=new d(g,m+`leave`,c,n,i),u.target=f,u.relatedTarget=h,g=null,Mt(i)===r&&(d=new d(p,m+`enter`,l,n,i),d.target=h,d.relatedTarget=f,g=d),f=g,d=c&&l?E(c,l,Jf):null,c!==null&&Yf(s,u,c,d,!1),l!==null&&f!==null&&Yf(s,f,l,d,!0)))}a:{if(c=r?Pt(r):window,l=c.nodeName&&c.nodeName.toLowerCase(),l===`select`||l===`input`&&c.type===`file`)var _=kr;else if(Cr(c)){if(Ar)_=zr;else{_=Lr;var v=Ir}}else l=c.nodeName,!l||l.toLowerCase()!==`input`||c.type!==`checkbox`&&c.type!==`radio`?r&&mn(r.elementType)&&(_=kr):_=Rr;if(_&&=_(e,r)){wr(s,_,n,i);break a}v&&v(e,c,r)}switch(v=r?Pt(r):window,e){case`focusin`:(Cr(v)||v.contentEditable===`true`)&&(Xr=v,Zr=r,Qr=null);break;case`focusout`:Qr=Zr=Xr=null;break;case`mousedown`:$r=!0;break;case`contextmenu`:case`mouseup`:case`dragend`:$r=!1,ei(s,n,i);break;case`selectionchange`:if(Yr)break;case`keydown`:case`keyup`:ei(s,n,i)}var y;if(dr)b:{switch(e){case`compositionstart`:var b=`onCompositionStart`;break b;case`compositionend`:b=`onCompositionEnd`;break b;case`compositionupdate`:b=`onCompositionUpdate`;break b}b=void 0}else yr?_r(e,n)&&(b=`onCompositionEnd`):e===`keydown`&&n.keyCode===229&&(b=`onCompositionStart`);b&&(mr&&n.locale!==`ko`&&(yr||b!==`onCompositionStart`?b===`onCompositionEnd`&&yr&&(y=Nn()):(An=i,jn=`value`in An?An.value:An.textContent,yr=!0)),v=qf(r,b),0<v.length&&(b=new Zn(b,e,null,n,i),s.push({event:b,listeners:v}),y?b.data=y:(y=vr(n),y!==null&&(b.data=y)))),(y=pr?br(e,n):xr(e,n))&&(b=qf(r,`onBeforeInput`),0<b.length&&(v=new Zn(`onBeforeInput`,`beforeinput`,null,n,i),s.push({event:v,listeners:b}),v.data=y)),Ff(s,e,r,n,i)}Bf(s,t)})}function Kf(e,t,n){return{instance:e,listener:t,currentTarget:n}}function qf(e,t){for(var n=t+`Capture`,r=[];e!==null;){var i=e,a=i.stateNode;if(i=i.tag,i!==5&&i!==26&&i!==27||a===null||(i=En(e,n),i!=null&&r.unshift(Kf(e,i,a)),i=En(e,t),i!=null&&r.push(Kf(e,i,a))),e.tag===3)return r;e=e.return}return[]}function Jf(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5&&e.tag!==27);return e||null}function Yf(e,t,n,r,i){for(var a=t._reactName,o=[];n!==null&&n!==r;){var s=n,c=s.alternate,l=s.stateNode;if(s=s.tag,c!==null&&c===r)break;s!==5&&s!==26&&s!==27||l===null||(c=l,i?(l=En(n,a),l!=null&&o.unshift(Kf(n,l,c))):i||(l=En(n,a),l!=null&&o.push(Kf(n,l,c)))),n=n.return}o.length!==0&&e.push({event:t,listeners:o})}var Xf=/\\r\\n?/g,Zf=/\\u0000|\\uFFFD/g;function Qf(e){return(typeof e==`string`?e:``+e).replace(Xf,`\n`).replace(Zf,``)}function $f(e,t){return t=Qf(t),Qf(e)===t}function ep(e,t,n,r,a,o){switch(n){case`children`:if(typeof r==`string`)t===`body`||t===`textarea`&&r===``||un(e,r);else if(typeof r==`number`||typeof r==`bigint`)t!==`body`&&un(e,``+r);else return;break;case`className`:Jt(e,`class`,r);break;case`tabIndex`:Jt(e,`tabindex`,r);break;case`dir`:case`role`:case`viewBox`:case`width`:case`height`:Jt(e,n,r);break;case`style`:pn(e,r,o);return;case`data`:if(t!==`object`){Jt(e,`data`,r);break}case`src`:case`href`:if(r===``&&(t!==`a`||n!==`href`)||r==null||typeof r==`function`||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=_n(r),e.setAttribute(n,r);break;case`action`:case`formAction`:if(typeof r==`function`){e.setAttribute(n,`javascript:throw new Error(\'A React form was unexpectedly submitted. If you called form.submit() manually, consider using form.requestSubmit() instead. If you\\\\\'re trying to use event.stopPropagation() in a submit event handler, consider also calling event.preventDefault().\')`);break}if(typeof o==`function`&&(n===`formAction`?(t!==`input`&&ep(e,t,`name`,a.name,a,null),ep(e,t,`formEncType`,a.formEncType,a,null),ep(e,t,`formMethod`,a.formMethod,a,null),ep(e,t,`formTarget`,a.formTarget,a,null)):(ep(e,t,`encType`,a.encType,a,null),ep(e,t,`method`,a.method,a,null),ep(e,t,`target`,a.target,a,null))),r==null||typeof r==`symbol`||typeof r==`boolean`){e.removeAttribute(n);break}r=_n(r),e.setAttribute(n,r);break;case`onClick`:r!=null&&(e.onclick=vn);return;case`onScroll`:r!=null&&$(`scroll`,e);return;case`onScrollEnd`:r!=null&&$(`scrollend`,e);return;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(i(61));if(n=r.__html,n!=null){if(a.children!=null)throw Error(i(60));o?.__html!==n&&(e.innerHTML=n)}}break;case`multiple`:e.multiple=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`muted`:e.muted=r&&typeof r!=`function`&&typeof r!=`symbol`;break;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`defaultValue`:case`defaultChecked`:case`innerHTML`:case`ref`:break;case`autoFocus`:break;case`xlinkHref`:if(r==null||typeof r==`function`||typeof r==`boolean`||typeof r==`symbol`){e.removeAttribute(`xlink:href`);break}n=_n(r),e.setAttributeNS(`http://www.w3.org/1999/xlink`,`xlink:href`,n);break;case`contentEditable`:case`spellCheck`:case`draggable`:case`value`:case`autoReverse`:case`externalResourcesRequired`:case`focusable`:case`preserveAlpha`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,r):e.removeAttribute(n);break;case`inert`:case`allowFullScreen`:case`async`:case`autoPlay`:case`controls`:case`credentialless`:case`default`:case`defer`:case`disabled`:case`disablePictureInPicture`:case`disableRemotePlayback`:case`formNoValidate`:case`hidden`:case`loop`:case`noModule`:case`noValidate`:case`open`:case`playsInline`:case`readOnly`:case`required`:case`reversed`:case`scoped`:case`seamless`:case`itemScope`:r&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,``):e.removeAttribute(n);break;case`capture`:case`download`:!0===r?e.setAttribute(n,``):!1!==r&&r!=null&&typeof r!=`function`&&typeof r!=`symbol`?e.setAttribute(n,r):e.removeAttribute(n);break;case`cols`:case`rows`:case`size`:case`span`:r!=null&&typeof r!=`function`&&typeof r!=`symbol`&&!isNaN(r)&&1<=r?e.setAttribute(n,r):e.removeAttribute(n);break;case`rowSpan`:case`start`:r==null||typeof r==`function`||typeof r==`symbol`||isNaN(r)?e.removeAttribute(n):e.setAttribute(n,r);break;case`popover`:$(`beforetoggle`,e),$(`toggle`,e),qt(e,`popover`,r);break;case`xlinkActuate`:Yt(e,`http://www.w3.org/1999/xlink`,`xlink:actuate`,r);break;case`xlinkArcrole`:Yt(e,`http://www.w3.org/1999/xlink`,`xlink:arcrole`,r);break;case`xlinkRole`:Yt(e,`http://www.w3.org/1999/xlink`,`xlink:role`,r);break;case`xlinkShow`:Yt(e,`http://www.w3.org/1999/xlink`,`xlink:show`,r);break;case`xlinkTitle`:Yt(e,`http://www.w3.org/1999/xlink`,`xlink:title`,r);break;case`xlinkType`:Yt(e,`http://www.w3.org/1999/xlink`,`xlink:type`,r);break;case`xmlBase`:Yt(e,`http://www.w3.org/XML/1998/namespace`,`xml:base`,r);break;case`xmlLang`:Yt(e,`http://www.w3.org/XML/1998/namespace`,`xml:lang`,r);break;case`xmlSpace`:Yt(e,`http://www.w3.org/XML/1998/namespace`,`xml:space`,r);break;case`is`:qt(e,`is`,r);break;case`innerText`:case`textContent`:return;default:if(!(2<n.length)||n[0]!==`o`&&n[0]!==`O`||n[1]!==`n`&&n[1]!==`N`)n=hn.get(n)||n,qt(e,n,r);else return}z=!0}function tp(e,t,n,r,a,o){switch(n){case`style`:pn(e,r,o);return;case`dangerouslySetInnerHTML`:if(r!=null){if(typeof r!=`object`||!(`__html`in r))throw Error(i(61));if(n=r.__html,n!=null){if(a.children!=null)throw Error(i(60));o?.__html!==n&&(e.innerHTML=n)}}break;case`children`:if(typeof r==`string`)un(e,r);else if(typeof r==`number`||typeof r==`bigint`)un(e,``+r);else return;break;case`onScroll`:r!=null&&$(`scroll`,e);return;case`onScrollEnd`:r!=null&&$(`scrollend`,e);return;case`onClick`:r!=null&&(e.onclick=vn);return;case`suppressContentEditableWarning`:case`suppressHydrationWarning`:case`innerHTML`:case`ref`:return;case`innerText`:case`textContent`:return;default:if(!zt.hasOwnProperty(n))a:{if(n[0]===`o`&&n[1]===`n`&&(a=n.endsWith(`Capture`),o=n.slice(2,a?n.length-7:void 0),t=e[Ct]||null,t=t==null?null:t[n],typeof t==`function`&&e.removeEventListener(o,t,a),typeof r==`function`)){typeof t!=`function`&&t!==null&&(n in e?e[n]=null:e.hasAttribute(n)&&e.removeAttribute(n)),e.addEventListener(o,r,a);break a}z=!0,n in e?e[n]=r:!0===r?e.setAttribute(n,``):qt(e,n,r)}return}z=!0}function np(e,t,n){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`img`:$(`error`,e),$(`load`,e);var r=!1,a=!1,o;for(o in n)if(n.hasOwnProperty(o)){var s=n[o];if(s!=null)switch(o){case`src`:r=!0;break;case`srcSet`:a=!0;break;case`children`:case`dangerouslySetInnerHTML`:throw Error(i(137,t));default:ep(e,t,o,s,n,null)}}a&&ep(e,t,`srcSet`,n.srcSet,n,null),r&&ep(e,t,`src`,n.src,n,null);return;case`input`:$(`invalid`,e);var c=o=s=a=null,l=null,u=null;for(r in n)if(n.hasOwnProperty(r)){var d=n[r];if(d!=null)switch(r){case`name`:a=d;break;case`type`:s=d;break;case`checked`:l=d;break;case`defaultChecked`:u=d;break;case`value`:o=d;break;case`defaultValue`:c=d;break;case`children`:case`dangerouslySetInnerHTML`:if(d!=null)throw Error(i(137,t));break;default:ep(e,t,r,d,n,null)}}an(e,o,c,l,u,s,a,!1);return;case`select`:for(a in $(`invalid`,e),r=s=o=null,n)if(n.hasOwnProperty(a)&&(c=n[a],c!=null))switch(a){case`value`:o=c;break;case`defaultValue`:s=c;break;case`multiple`:r=c;default:ep(e,t,a,c,n,null)}t=o,n=s,e.multiple=!!r,t==null?n!=null&&sn(e,!!r,n,!0):sn(e,!!r,t,!1);return;case`textarea`:for(s in $(`invalid`,e),o=a=r=null,n)if(n.hasOwnProperty(s)&&(c=n[s],c!=null))switch(s){case`value`:r=c;break;case`defaultValue`:a=c;break;case`children`:o=c;break;case`dangerouslySetInnerHTML`:if(c!=null)throw Error(i(91));break;default:ep(e,t,s,c,n,null)}ln(e,r,a,o);return;case`option`:for(l in n)if(n.hasOwnProperty(l)&&(r=n[l],r!=null))switch(l){case`selected`:e.selected=r&&typeof r!=`function`&&typeof r!=`symbol`;break;default:ep(e,t,l,r,n,null)}return;case`dialog`:$(`beforetoggle`,e),$(`toggle`,e),$(`cancel`,e),$(`close`,e);break;case`iframe`:case`object`:$(`load`,e);break;case`video`:case`audio`:for(r=0;r<Rf.length;r++)$(Rf[r],e);break;case`image`:$(`error`,e),$(`load`,e);break;case`details`:$(`toggle`,e);break;case`embed`:case`source`:case`link`:$(`error`,e),$(`load`,e);case`area`:case`base`:case`br`:case`col`:case`hr`:case`keygen`:case`meta`:case`param`:case`track`:case`wbr`:case`menuitem`:for(u in n)if(n.hasOwnProperty(u)&&(r=n[u],r!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:throw Error(i(137,t));default:ep(e,t,u,r,n,null)}return;default:if(mn(t)){for(d in n)n.hasOwnProperty(d)&&(r=n[d],r!==void 0&&tp(e,t,d,r,n,void 0));return}}for(c in n)n.hasOwnProperty(c)&&(r=n[c],r!=null&&ep(e,t,c,r,n,null))}var rp={};function ip(e,t,n,r){switch(t){case`div`:case`span`:case`svg`:case`path`:case`a`:case`g`:case`p`:case`li`:break;case`input`:var a=null,o=null,s=null,c=null,l=null,u=null,d=null;for(m in n){var f=n[m];if(n.hasOwnProperty(m)&&f!=null)switch(m){case`checked`:break;case`value`:break;case`defaultValue`:l=f;default:r.hasOwnProperty(m)||ep(e,t,m,null,r,f)}}for(var p in r){var m=r[p];if(f=n[p],r.hasOwnProperty(p)&&(m!=null||f!=null))switch(p){case`type`:m!==f&&(z=!0),o=m;break;case`name`:m!==f&&(z=!0),a=m;break;case`checked`:m!==f&&(z=!0),u=m;break;case`defaultChecked`:m!==f&&(z=!0),d=m;break;case`value`:m!==f&&(z=!0),s=m;break;case`defaultValue`:m!==f&&(z=!0),c=m;break;case`children`:case`dangerouslySetInnerHTML`:if(m!=null)throw Error(i(137,t));break;default:m!==f&&ep(e,t,p,m,r,f)}}rn(e,s,c,l,u,d,o,a);return;case`select`:for(o in m=s=c=p=null,n)if(l=n[o],n.hasOwnProperty(o)&&l!=null)switch(o){case`value`:break;case`multiple`:m=l;default:r.hasOwnProperty(o)||ep(e,t,o,null,r,l)}for(a in r)if(o=r[a],l=n[a],r.hasOwnProperty(a)&&(o!=null||l!=null))switch(a){case`value`:o!==l&&(z=!0),p=o;break;case`defaultValue`:o!==l&&(z=!0),c=o;break;case`multiple`:o!==l&&(z=!0),s=o;default:o!==l&&ep(e,t,a,o,r,l)}t=c,n=s,r=m,p==null?!!r!=!!n&&(t==null?sn(e,!!n,n?[]:``,!1):sn(e,!!n,t,!0)):sn(e,!!n,p,!1);return;case`textarea`:for(c in m=p=null,n)if(a=n[c],n.hasOwnProperty(c)&&a!=null&&!r.hasOwnProperty(c))switch(c){case`value`:break;case`children`:break;default:ep(e,t,c,null,r,a)}for(s in r)if(a=r[s],o=n[s],r.hasOwnProperty(s)&&(a!=null||o!=null))switch(s){case`value`:a!==o&&(z=!0),p=a;break;case`defaultValue`:a!==o&&(z=!0),m=a;break;case`children`:break;case`dangerouslySetInnerHTML`:if(a!=null)throw Error(i(91));break;default:a!==o&&ep(e,t,s,a,r,o)}cn(e,p,m);return;case`option`:for(var h in n)if(p=n[h],n.hasOwnProperty(h)&&p!=null&&!r.hasOwnProperty(h))switch(h){case`selected`:e.selected=!1;break;default:ep(e,t,h,null,r,p)}for(l in r)if(p=r[l],m=n[l],r.hasOwnProperty(l)&&p!==m&&(p!=null||m!=null))switch(l){case`selected`:p!==m&&(z=!0),e.selected=p&&typeof p!=`function`&&typeof p!=`symbol`;break;default:ep(e,t,l,p,r,m)}return;case`img`:case`link`:case`area`:case`base`:case`br`:case`col`:case`embed`:case`hr`:case`keygen`:case`meta`:case`param`:case`source`:case`track`:case`wbr`:case`menuitem`:for(var g in n)p=n[g],n.hasOwnProperty(g)&&p!=null&&!r.hasOwnProperty(g)&&ep(e,t,g,null,r,p);for(u in r)if(p=r[u],m=n[u],r.hasOwnProperty(u)&&p!==m&&(p!=null||m!=null))switch(u){case`children`:case`dangerouslySetInnerHTML`:if(p!=null)throw Error(i(137,t));break;default:ep(e,t,u,p,r,m)}return;default:if(mn(t)){for(var _ in n)p=n[_],n.hasOwnProperty(_)&&p!==void 0&&!r.hasOwnProperty(_)&&tp(e,t,_,void 0,r,p);for(d in r)p=r[d],m=n[d],!r.hasOwnProperty(d)||p===m||p===void 0&&m===void 0||tp(e,t,d,p,r,m);return}}for(var v in n)p=n[v],n.hasOwnProperty(v)&&p!=null&&!r.hasOwnProperty(v)&&ep(e,t,v,null,r,p);for(f in r)p=r[f],m=n[f],!r.hasOwnProperty(f)||p===m||p==null&&m==null||ep(e,t,f,p,r,m)}function ap(e){switch(e){case`css`:case`script`:case`font`:case`img`:case`image`:case`input`:case`link`:return!0;default:return!1}}function op(){if(typeof performance.getEntriesByType==`function`){for(var e=0,t=0,n=performance.getEntriesByType(`resource`),r=0;r<n.length;r++){var i=n[r],a=i.transferSize,o=i.initiatorType,s=i.duration;if(a&&s&&ap(o)){for(o=0,s=i.responseEnd,r+=1;r<n.length;r++){var c=n[r],l=c.startTime;if(l>s)break;var u=c.transferSize,d=c.initiatorType;u&&ap(d)&&(c=c.responseEnd,o+=u*(c<s?1:(s-l)/(c-l)))}if(--r,t+=8*(a+o)/(i.duration/1e3),e++,10<e)break}}if(0<e)return t/e/1e6}return navigator.connection&&(e=navigator.connection.downlink,typeof e==`number`)?e:5}var sp=null,cp=null;function lp(e){return e.nodeType===9?e:e.ownerDocument}function up(e){switch(e){case`http://www.w3.org/2000/svg`:return 1;case`http://www.w3.org/1998/Math/MathML`:return 2;default:return 0}}function dp(e,t){if(e===0)switch(t){case`svg`:return 1;case`math`:return 2;default:return 0}return e===1&&t===`foreignObject`?0:e}function fp(e,t,n,r){return n=lp(n).createElement(e),n[St]=r,n[Ct]=t,np(n,e,t),It(n),n}function pp(e,t){return e===`textarea`||e===`noscript`||typeof t.children==`string`||typeof t.children==`number`||typeof t.children==`bigint`||typeof t.dangerouslySetInnerHTML==`object`&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var mp=null;function hp(){var e=window.event;return e&&e.type===`popstate`?e!==mp&&(mp=e,!0):(mp=null,!1)}var gp=typeof setTimeout==`function`?setTimeout:void 0,_p=typeof clearTimeout==`function`?clearTimeout:void 0,vp=typeof Promise==`function`?Promise:void 0,yp=typeof requestAnimationFrame==`function`?requestAnimationFrame:gp,bp=typeof queueMicrotask==`function`?queueMicrotask:vp===void 0?gp:function(e){return vp.resolve(null).then(e).catch(xp)};function xp(e){setTimeout(function(){throw e})}function Sp(e){return e===`head`}function Cp(e,t){var n=t,r=0;do{var i=n.nextSibling;if(e.removeChild(n),i&&i.nodeType===8){if(n=i.data,n===`/$`||n===`/&`){if(r===0){e.removeChild(i),Hh(t);return}r--}else if(n===`$`||n===`$?`||n===`$~`||n===`$!`||n===`&`)r++;else if(n===`html`)_m(e.ownerDocument.documentElement);else if(n===`head`){n=e.ownerDocument.head,_m(n);for(var a=n.firstChild;a;){var o=a.nextSibling,s=a.nodeName;a[kt]||s===`SCRIPT`||s===`STYLE`||s===`LINK`&&a.rel.toLowerCase()===`stylesheet`||n.removeChild(a),a=o}}else n===`body`&&_m(e.ownerDocument.body)}n=i}while(n);Hh(t)}function wp(e,t){var n=e;e=0;do{var r=n.nextSibling;if(n.nodeType===1?t?(n._stashedDisplay=n.style.display,n.style.display=`none`):(n.style.display=n._stashedDisplay||``,n.getAttribute(`style`)===``&&n.removeAttribute(`style`)):n.nodeType===3&&(t?(n._stashedText=n.nodeValue,n.nodeValue=``):n.nodeValue=n._stashedText||``),r&&r.nodeType===8){if(n=r.data,n===`/$`){if(e===0)break;e--}else n!==`$`&&n!==`$?`&&n!==`$~`&&n!==`$!`||e++}n=r}while(n)}function Tp(e,t,n){if(t=CSS.escape(t)===t?t:`r-`+btoa(t).replace(/=/g,``),e.style.viewTransitionName=t,n!=null&&(e.style.viewTransitionClass=n),n=getComputedStyle(e),n.display===`inline`){if(t=e.getClientRects(),t.length===1)var r=1;else for(var i=r=0;i<t.length;i++){var a=t[i];0<a.width&&0<a.height&&r++}r===1&&(e=e.style,e.display=t.length===1?`inline-block`:`block`,e.marginTop=`-`+n.paddingTop,e.marginBottom=`-`+n.paddingBottom)}}function Ep(e,t){e=e.style,t=t.style;var n=t==null?null:t.hasOwnProperty(`viewTransitionName`)?t.viewTransitionName:t.hasOwnProperty(`view-transition-name`)?t[`view-transition-name`]:null;e.viewTransitionName=n==null||typeof n==`boolean`?``:(``+n).trim(),n=t==null?null:t.hasOwnProperty(`viewTransitionClass`)?t.viewTransitionClass:t.hasOwnProperty(`view-transition-class`)?t[`view-transition-class`]:null,e.viewTransitionClass=n==null||typeof n==`boolean`?``:(``+n).trim(),e.display===`inline-block`&&(t==null?e.display=e.margin=``:(n=t.display,e.display=n==null||typeof n==`boolean`?``:n,n=t.margin,n==null?(n=t.hasOwnProperty(`marginTop`)?t.marginTop:t[`margin-top`],e.marginTop=n==null||typeof n==`boolean`?``:n,t=t.hasOwnProperty(`marginBottom`)?t.marginBottom:t[`margin-bottom`],e.marginBottom=t==null||typeof t==`boolean`?``:t):e.margin=n))}function Dp(e,t,n){return n=n.ownerDocument.defaultView,{rect:e,abs:t.position===`absolute`||t.position===`fixed`,clip:t.clipPath!==`none`||t.overflow!==`visible`||t.filter!==`none`||t.mask!==`none`||t.mask!==`none`||t.borderRadius!==`0px`,view:0<=e.bottom&&0<=e.right&&e.top<=n.innerHeight&&e.left<=n.innerWidth}}function Op(e){return Dp(e.getBoundingClientRect(),getComputedStyle(e),e)}function kp(e){var t=e.getBoundingClientRect();t=new DOMRect(t.x+2e4,t.y+2e4,t.width,t.height);var n=getComputedStyle(e);return Dp(t,n,e)}function Ap(e){return e.documentElement.clientHeight}function jp(e){this.addEventListener(`load`,e),this.addEventListener(`error`,e)}function Mp(e,t,n,r,i,a,o,s,c){var l=t.nodeType===9?t:t.ownerDocument;try{var u=l.startViewTransition({update:function(){var t=l.defaultView,n=t.navigation&&t.navigation.transition,o=l.fonts.status;r();var s=[];if(o===`loaded`&&(Ap(l),l.fonts.status===`loading`&&s.push(l.fonts.ready)),o=s.length,e!==null)for(var c=e.suspenseyImages,u=0,d=0;d<c.length;d++){var f=c[d];if(!f.complete){var p=f.getBoundingClientRect();if(0<p.bottom&&0<p.right&&p.top<t.innerHeight&&p.left<t.innerWidth){if(u+=Xm(f),u>$m){s.length=o;break}f=new Promise(jp.bind(f)),s.push(f)}}}if(0<s.length)return t=Promise.race([Promise.all(s),new Promise(function(e){return setTimeout(e,500)})]).then(i,i),(n?Promise.allSettled([n.finished,t]):t).then(a,a);if(i(),n)return n.finished.then(a,a);a()},types:n});l.__reactViewTransition=u;var d=[];return u.ready.then(function(){for(var e=l.documentElement.getAnimations({subtree:!0}),t=0;t<e.length;t++){var n=e[t],r=n.effect,i=r.pseudoElement;if(i!=null&&i.startsWith(`::view-transition`)){d.push(n),n=r.getKeyframes();for(var a=i=void 0,s=!0,c=0;c<n.length;c++){var u=n[c],f=u.width;if(i===void 0)i=f;else if(i!==f){s=!1;break}if(f=u.height,a===void 0)a=f;else if(a!==f){s=!1;break}delete u.width,delete u.height,u.transform===`none`&&delete u.transform}s&&i!==void 0&&a!==void 0&&(r.setKeyframes(n),s=getComputedStyle(r.target,r.pseudoElement),s.width!==i||s.height!==a)&&(s=n[0],s.width=i,s.height=a,s=n[n.length-1],s.width=i,s.height=a,r.setKeyframes(n))}}o()},function(e){l.__reactViewTransition===u&&(l.__reactViewTransition=null);try{if(typeof e==`object`&&e)switch(e.name){case`InvalidStateError`:(e.message===`View transition was skipped because document visibility state is hidden.`||e.message===`Skipping view transition because document visibility state has become hidden.`||e.message===`Skipping view transition because viewport size changed.`||e.message===`Transition was aborted because of invalid state`)&&(e=null)}e!==null&&c(e)}finally{r(),i(),o()}}),u.finished.finally(function(){for(var e=0;e<d.length;e++)d[e].cancel();l.__reactViewTransition===u&&(l.__reactViewTransition=null),s()}),u}catch{return r(),i(),o(),null}}function Np(e,t){this._scope=document.documentElement,this._selector=`::view-transition-`+e+`(`+t+`)`}Np.prototype.animate=function(e,t){return t=typeof t==`number`?{duration:t}:D({},t),t.pseudoElement=this._selector,this._scope.animate(e,t)},Np.prototype.getAnimations=function(){for(var e=this._scope,t=this._selector,n=e.getAnimations({subtree:!0}),r=[],i=0;i<n.length;i++){var a=n[i].effect;a!==null&&a.target===e&&a.pseudoElement===t&&r.push(n[i])}return r},Np.prototype.getComputedStyle=function(){return getComputedStyle(this._scope,this._selector)};function Pp(e){return{name:e,group:new Np(`group`,e),imagePair:new Np(`image-pair`,e),old:new Np(`old`,e),new:new Np(`new`,e)}}function Fp(e){this._fragmentFiber=e,this._observers=this._eventListeners=null}Fp.prototype.addEventListener=function(e,t,n){var r=null,i=null;if(!(n!=null&&typeof n!=`boolean`&&(r=n.signal||null,r!==null&&r.aborted))){this._eventListeners===null&&(this._eventListeners=[]);var a=this._eventListeners;if(Bp(a,e,t,n)===-1){var o=this,s=t;n!=null&&typeof n!=`boolean`&&!0===n.once&&(s=function(r){o.removeEventListener(e,t,n),typeof t==`function`?t.call(this,r):t.handleEvent(r)}),r!==null&&(i=o.removeEventListener.bind(o,e,t,n),r.addEventListener(`abort`,i,{once:!0}),i=r.removeEventListener.bind(r,`abort`,i)),r=Rp(n),a.push({type:e,listener:t,optionsOrUseCapture:n,attachedListener:s,cleanup:i}),h(this._fragmentFiber.child,!1,Ip,e,s,r)}this._eventListeners=a}};function Ip(e,t,n,r){return b(e).addEventListener(t,n,r),!1}Fp.prototype.removeEventListener=function(e,t,n){var r=this._eventListeners;if(r!==null&&(t=Bp(r,e,t,n),t!==-1)){var i=r[t];n=i.attachedListener;var a=i.cleanup;i=Rp(i.optionsOrUseCapture),h(this._fragmentFiber.child,!1,Lp,e,n,i),r.splice(t,1),a!==null&&a()}};function Lp(e,t,n,r){return b(e).removeEventListener(t,n,r),!1}function Rp(e){return e!=null&&typeof e!=`boolean`&&(!0===e.once||e.signal instanceof AbortSignal)?{capture:e.capture,passive:e.passive}:e}function zp(e){return e==null?`c=0`:typeof e==`boolean`?`c=`+(e?`1`:`0`):`c=`+(e.capture?`1`:`0`)}function Bp(e,t,n,r){if(e.length===0)return-1;r=zp(r);for(var i=0;i<e.length;i++){var a=e[i];if(a.type===t&&a.listener===n&&zp(a.optionsOrUseCapture)===r)return i}return-1}Fp.prototype.dispatchEvent=function(e){var t=g(this._fragmentFiber);if(t===null)return!0;t=b(t);var n=this._eventListeners;if(n!==null&&0<n.length||!e.bubbles){var r=t.nodeType===9?t.createComment(``):document.createTextNode(``);if(n)for(var i=0;i<n.length;i++){var a=n[i];r.addEventListener(a.type,a.attachedListener,Rp(a.optionsOrUseCapture))}if(t.appendChild(r),e=r.dispatchEvent(e),n)for(i=0;i<n.length;i++)a=n[i],r.removeEventListener(a.type,a.attachedListener,Rp(a.optionsOrUseCapture));return t.removeChild(r),e}return t.dispatchEvent(e)},Fp.prototype.focus=function(e){h(this._fragmentFiber.child,!0,Vp,e,void 0,void 0)};function Vp(e,t){return e.tag!==6&&(e=b(e),pm(e,t))}Fp.prototype.focusLast=function(e){var t=[];h(this._fragmentFiber.child,!0,Hp,t,void 0,void 0);for(var n=t.length-1;0<=n&&!Vp(t[n],e);n--);};function Hp(e,t){return t.push(e),!1}Fp.prototype.blur=function(){var e=g(this._fragmentFiber);e!==null&&(e=b(e),e=lp(e).activeElement,e!==null&&h(this._fragmentFiber.child,!1,Up,e,void 0,void 0))};function Up(e,t){return e.tag!==6&&(e=b(e),e===t||e.contains(t)?(t.blur(),!0):!1)}Fp.prototype.observeUsing=function(e){this._observers===null&&(this._observers=new Set),this._observers.add(e),h(this._fragmentFiber.child,!1,Wp,e,void 0,void 0)};function Wp(e,t){return e.tag===6||(e=b(e),t.observe(e)),!1}Fp.prototype.unobserveUsing=function(e){var t=this._observers;if(t!==null&&t.has(e)){t.delete(e),h(this._fragmentFiber.child,!1,Gp,e,void 0,void 0);for(var n=t=0;n<Kp.length;n++){var r=Kp[n];r.fragmentInstance===this&&r.observer===e?e.unobserve(r.instance):Kp[t++]=r}Kp.length=t}};function Gp(e,t){return e.tag===6||(e=b(e),t.unobserve(e)),!1}var Kp=[],qp=!1;function Jp(e,t,n){Kp.push({fragmentInstance:e,observer:t,instance:n}),qp||(qp=!0,mm(function(){qp=!1;var e=Kp;Kp=[];for(var t=0;t<e.length;t++){var n=e[t];n.observer.unobserve(n.instance)}}))}Fp.prototype.getClientRects=function(){var e=[];return h(this._fragmentFiber.child,!1,Yp,e,void 0,void 0),e};function Yp(e,t){if(e.tag===6){e=e.stateNode;var n=e.ownerDocument.createRange();n.selectNodeContents(e),t.push.apply(t,n.getClientRects())}else e=b(e),t.push.apply(t,e.getClientRects());return!1}Fp.prototype.getRootNode=function(e){var t=g(this._fragmentFiber);return t===null?this:b(t).getRootNode(e)},Fp.prototype.compareDocumentPosition=function(e){var t=g(this._fragmentFiber);if(t===null)return Node.DOCUMENT_POSITION_DISCONNECTED;var n=[];h(this._fragmentFiber.child,!1,Hp,n,void 0,void 0);var r=b(t);if(n.length===0){if(n=r,_(this._fragmentFiber)){a:{for(t=this._fragmentFiber.return;t!==null;){if(t.tag===4){t=t.stateNode.containerInfo;break a}if(t.tag===3||t.tag===5||t.tag===27)break;t=t.return}t=null}t!=null&&(n=t)}t=this._fragmentFiber;var i=r=n.compareDocumentPosition(e);return n===e?i=Node.DOCUMENT_POSITION_CONTAINS:r&Node.DOCUMENT_POSITION_CONTAINED_BY&&(n=v(t)[1],n===null?i=Node.DOCUMENT_POSITION_PRECEDING:(e=b(n).compareDocumentPosition(e),i=e===0||e&Node.DOCUMENT_POSITION_FOLLOWING?Node.DOCUMENT_POSITION_FOLLOWING:Node.DOCUMENT_POSITION_PRECEDING)),i|=Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC}t=b(n[0]),i=b(n[n.length-1]);var a=_(this._fragmentFiber)?t.parentElement:r;if(a==null)return Node.DOCUMENT_POSITION_DISCONNECTED;r=a.compareDocumentPosition(t)&Node.DOCUMENT_POSITION_CONTAINED_BY,a=a.compareDocumentPosition(i)&Node.DOCUMENT_POSITION_CONTAINED_BY;var o=t.compareDocumentPosition(e),s=i.compareDocumentPosition(e),c=o&Node.DOCUMENT_POSITION_CONTAINED_BY||s&Node.DOCUMENT_POSITION_CONTAINED_BY;return s=r&&a&&o&Node.DOCUMENT_POSITION_FOLLOWING&&s&Node.DOCUMENT_POSITION_PRECEDING,t=r&&t===e||a&&i===e||c||s?Node.DOCUMENT_POSITION_CONTAINED_BY:!r&&t===e||!a&&i===e?Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC:o,t&Node.DOCUMENT_POSITION_DISCONNECTED||t&Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC||Xp(t,this._fragmentFiber,n[0],n[n.length-1],e)?t:Node.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC};function Xp(e,t,n,r,i){var a=Mt(i);if(e&Node.DOCUMENT_POSITION_CONTAINED_BY){if(n=!!a)a:{for(;a!==null;){if(a.tag===7&&(a===t||a.alternate===t)){n=!0;break a}a=a.return}n=!1}return n}if(e&Node.DOCUMENT_POSITION_CONTAINS){if(a===null)return a=i.ownerDocument,i===a||i===a.documentElement||i===a.body;a:{for(a=t,t=g(t);a!==null;){if(!(a.tag!==5&&a.tag!==3&&a.tag!==27||a!==t&&a.alternate!==t)){a=!0;break a}a=a.return}a=!1}return a}return e&Node.DOCUMENT_POSITION_PRECEDING?((t=!!a)&&!(t=a===n)&&(t=E(n,a,T),t===null?t=!1:(h(t,!0,C,a,n),a=x,x=null,t=a!==null)),t):e&Node.DOCUMENT_POSITION_FOLLOWING?((t=!!a)&&!(t=a===r)&&(t=E(r,a,T),t===null?t=!1:(h(t,!0,w,a,r),a=x,S=x=null,t=a!==null)),t):!1}function Zp(e,t){var n=e.ownerDocument.createRange();n.selectNodeContents(e),e=n.getBoundingClientRect(),window.scrollTo(window.scrollX+e.left,t?window.scrollY+e.top:window.scrollY+e.bottom-window.innerHeight)}Fp.prototype.scrollIntoView=function(e){if(typeof e==`object`)throw Error(i(566));var t=[];h(this._fragmentFiber.child,!1,Hp,t,void 0,void 0);var n=!1!==e;if(t.length===0){var r=v(this._fragmentFiber);if(r=n?r[1]||r[0]||g(this._fragmentFiber):r[0]||r[1],r===null)return;if(r.tag===6){e=b(r),Zp(e,n);return}if(r=b(r),r.nodeType!==9){if(r.nodeType===11){n=`host`in r?r.host:null,n!==null&&n.scrollIntoView(e);return}r.scrollIntoView(e)}}for(r=n?t.length-1:0;r!==(n?-1:t.length);){var a=t[r];a.tag===6?(a=b(a),Zp(a,n)):b(a).scrollIntoView(e),r+=n?-1:1}};function Qp(e,t){return e=b(e),$p(e,t),!1}function $p(e,t){e.reactFragments??=new Set,e.reactFragments.add(t)}function em(e,t){var n=t._eventListeners;if(n!==null)for(var r=0;r<n.length;r++){var i=n[r];e.addEventListener(i.type,i.attachedListener,Rp(i.optionsOrUseCapture))}e.nodeType!==3&&(n=t._observers,n!==null&&n.forEach(function(n){for(var r=0,i=0;i<Kp.length;i++){var a=Kp[i];(a.fragmentInstance!==t||a.observer!==n||a.instance!==e)&&(Kp[r++]=a)}Kp.length=r,n.observe(e)}),$p(e,t))}function tm(e,t){var n=t._eventListeners;if(n!==null)for(var r=0;r<n.length;r++){var i=n[r];e.removeEventListener(i.type,i.attachedListener,Rp(i.optionsOrUseCapture))}e.nodeType!==3&&(n=t._observers,n!==null&&n.forEach(function(n){typeof n.rootMargin==`string`?Jp(t,n,e):n.unobserve(e)}),e.reactFragments!=null&&e.reactFragments.delete(t))}function nm(e){var t=e.firstChild;for(t&&t.nodeType===10&&(t=t.nextSibling);t;){var n=t;switch(t=t.nextSibling,n.nodeName){case`HTML`:case`HEAD`:case`BODY`:nm(n),jt(n);continue;case`SCRIPT`:case`STYLE`:continue;case`LINK`:if(n.rel.toLowerCase()===`stylesheet`)continue}e.removeChild(n)}}function rm(e,t,n,r){for(;e.nodeType===1;){var i=n;if(e.nodeName.toLowerCase()!==t.toLowerCase()){if(!r&&(e.nodeName!==`INPUT`||e.type!==`hidden`))break}else if(!r){if(t===`input`&&e.type===`hidden`){var a=i.name==null?null:``+i.name;if(i.type===`hidden`&&e.getAttribute(`name`)===a)return e}else return e}else if(!e[kt])switch(t){case`meta`:if(!e.hasAttribute(`itemprop`))break;return e;case`link`:if(a=e.getAttribute(`rel`),a===`stylesheet`&&e.hasAttribute(`data-precedence`)||a!==i.rel||e.getAttribute(`href`)!==(i.href==null||i.href===``?null:i.href)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin)||e.getAttribute(`title`)!==(i.title==null?null:i.title))break;return e;case`style`:if(e.hasAttribute(`data-precedence`))break;return e;case`script`:if(a=e.getAttribute(`src`),(a!==(i.src==null?null:i.src)||e.getAttribute(`type`)!==(i.type==null?null:i.type)||e.getAttribute(`crossorigin`)!==(i.crossOrigin==null?null:i.crossOrigin))&&a&&e.hasAttribute(`async`)&&!e.hasAttribute(`itemprop`))break;return e;default:return e}if(e=lm(e.nextSibling),e===null)break}return null}function im(e,t,n){if(t===``)return null;for(;e.nodeType!==3;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!n||(e=lm(e.nextSibling),e===null))return null;return e}function am(e,t){for(;e.nodeType!==8;)if((e.nodeType!==1||e.nodeName!==`INPUT`||e.type!==`hidden`)&&!t||(e=lm(e.nextSibling),e===null))return null;return e}function om(e){return e.data===`$?`||e.data===`$~`}function sm(e){return e.data===`$!`||e.data===`$?`&&e.ownerDocument.readyState!==`loading`}function cm(e,t){var n=e.ownerDocument;if(e.data===`$~`)e._reactRetry=t;else if(e.data!==`$?`||n.readyState!==`loading`)t();else{var r=function(){t(),n.removeEventListener(`DOMContentLoaded`,r)};n.addEventListener(`DOMContentLoaded`,r),e._reactRetry=r}}function lm(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t===`$`||t===`$!`||t===`$?`||t===`$~`||t===`&`||t===`F!`||t===`F`)break;if(t===`/$`||t===`/&`)return null}}return e}var um=null;function dm(e){e=e.nextSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`/$`||n===`/&`){if(t===0)return lm(e.nextSibling);t--}else n!==`$`&&n!==`$!`&&n!==`$?`&&n!==`$~`&&n!==`&`||t++}e=e.nextSibling}return null}function fm(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var n=e.data;if(n===`$`||n===`$!`||n===`$?`||n===`$~`||n===`&`){if(t===0)return e;t--}else n!==`/$`&&n!==`/&`||t++}e=e.previousSibling}return null}function pm(e,t){function n(){r=!0}if(e.ownerDocument.activeElement===e)return!0;var r=!1;try{e.ownerDocument.addEventListener(`focus`,n,!0),(e.focus||HTMLElement.prototype.focus).call(e,t)}finally{e.ownerDocument.removeEventListener(`focus`,n,!0)}return r}function mm(e){yp(function(){yp(function(t){return e(t)})})}function hm(e,t,n){switch(t=lp(n),e){case`html`:if(e=t.documentElement,!e)throw Error(i(452));return e;case`head`:if(e=t.head,!e)throw Error(i(453));return e;case`body`:if(e=t.body,!e)throw Error(i(454));return e;default:throw Error(i(451))}}function gm(e,t,n){for(var r in n){var i=n[r];n.hasOwnProperty(r)&&i!=null&&ep(e,t,r,null,rp,i)}n.dangerouslySetInnerHTML!=null&&(e.textContent=``),e.onclick===vn&&(e.onclick=null),jt(e)}function _m(e){for(var t=e.attributes;t.length;)e.removeAttributeNode(t[0]);jt(e)}var vm=new Map,ym=new Set;function bm(e){if(typeof e.getRootNode==`function`){var t=e.getRootNode();if(t.nodeType===9||t.nodeType===11)return t}return e.nodeType===9?e:e.ownerDocument}var xm=P.d;P.d={f:Sm,r:Cm,D:Em,C:Dm,L:Om,m:km,X:jm,S:Am,M:Mm};function Sm(){var e=xm.f(),t=Rd();return e||t}function Cm(e){var t=Nt(e);t!==null&&t.tag===5&&t.type===`form`?ic(t):xm.r(e)}var wm=typeof document>`u`?null:document;function Tm(e,t,n){var r=wm;if(r&&typeof t==`string`&&t){var i=nn(t);i=`link[rel="`+e+`"][href="`+i+`"]`,typeof n==`string`&&(i+=`[crossorigin="`+n+`"]`),ym.has(i)||(ym.add(i),e={rel:e,crossOrigin:n,href:t},r.querySelector(i)===null&&(t=r.createElement(`link`),np(t,`link`,e),It(t),r.head.appendChild(t)))}}function Em(e){xm.D(e),Tm(`dns-prefetch`,e,null)}function Dm(e,t){xm.C(e,t),Tm(`preconnect`,e,t)}function Om(e,t,n){xm.L(e,t,n);var r=wm;if(r&&e&&t){var i=`link[rel="preload"][as="`+nn(t)+`"]`;t===`image`&&n&&n.imageSrcSet?(i+=`[imagesrcset="`+nn(n.imageSrcSet)+`"]`,typeof n.imageSizes==`string`&&(i+=`[imagesizes="`+nn(n.imageSizes)+`"]`)):i+=`[href="`+nn(e)+`"]`;var a=i;switch(t){case`style`:a=Pm(e);break;case`script`:a=Rm(e)}if(!(vm.has(a)||(e=D({rel:`preload`,href:t===`image`&&n&&n.imageSrcSet?void 0:e,as:t},n),vm.set(a,e),r.querySelector(i)!==null||t===`style`&&r.querySelector(Fm(a))||t===`script`&&r.querySelector(zm(a))))){var o=r.createElement(`link`);np(o,`link`,e),t===`style`&&(o[At]=!0,o.onload=o.onerror=function(){Lt(o)}),It(o),r.head.appendChild(o)}}}function km(e,t){xm.m(e,t);var n=wm;if(n&&e){var r=t&&typeof t.as==`string`?t.as:`script`,i=`link[rel="modulepreload"][as="`+nn(r)+`"][href="`+nn(e)+`"]`,a=i;switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:a=Rm(e)}if(!vm.has(a)&&(e=D({rel:`modulepreload`,href:e},t),vm.set(a,e),n.querySelector(i)===null)){switch(r){case`audioworklet`:case`paintworklet`:case`serviceworker`:case`sharedworker`:case`worker`:case`script`:if(n.querySelector(zm(a)))return}r=n.createElement(`link`),np(r,`link`,e),It(r),n.head.appendChild(r)}}}function Am(e,t,n){xm.S(e,t,n);var r=wm;if(r&&e){var i=Ft(r).hoistableStyles,a=Pm(e);t||=`default`;var o=i.get(a);if(!o){var s={loading:0,preload:null};if(o=r.querySelector(Fm(a)))s.loading=5;else{e=D({rel:`stylesheet`,href:e,"data-precedence":t},n),(n=vm.get(a))&&Hm(e,n);var c=o=r.createElement(`link`);It(c),np(c,`link`,e),c._p=new Promise(function(e,t){c.onload=e,c.onerror=t}),c.addEventListener(`load`,function(){s.loading|=1}),c.addEventListener(`error`,function(){s.loading|=2}),s.loading|=4,Vm(o,t,r)}o={type:`stylesheet`,instance:o,count:1,state:s},i.set(a,o)}}}function jm(e,t){xm.X(e,t);var n=wm;if(n&&e){var r=Ft(n).hoistableScripts,i=Rm(e),a=r.get(i);a||(a=n.querySelector(zm(i)),a||(e=D({src:e,async:!0},t),(t=vm.get(i))&&Um(e,t),a=n.createElement(`script`),It(a),np(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Mm(e,t){xm.M(e,t);var n=wm;if(n&&e){var r=Ft(n).hoistableScripts,i=Rm(e),a=r.get(i);a||(a=n.querySelector(zm(i)),a||(e=D({src:e,async:!0,type:`module`},t),(t=vm.get(i))&&Um(e,t),a=n.createElement(`script`),It(a),np(a,`link`,e),n.head.appendChild(a)),a={type:`script`,instance:a,count:1,state:null},r.set(i,a))}}function Nm(e,t,n,r){var a=(a=we.current)?bm(a):null;if(!a)throw Error(i(446));switch(e){case`meta`:case`title`:return null;case`style`:return typeof n.precedence==`string`&&typeof n.href==`string`?(n=Pm(n.href),t=Ft(a).hoistableStyles,r=t.get(n),r||(r={type:`style`,instance:null,count:0,state:null},t.set(n,r)),r):{type:`void`,instance:null,count:0,state:null};case`link`:if(n.rel===`stylesheet`&&typeof n.href==`string`&&typeof n.precedence==`string`){e=Pm(n.href);var o=Ft(a).hoistableStyles,s=o.get(e);if(s||(a=a.ownerDocument||a,s={type:`stylesheet`,instance:null,count:0,state:{loading:0,preload:null}},o.set(e,s),(o=a.querySelector(Fm(e)))?o._p||(s.instance=o,s.state.loading=5):(o=vm.get(e),o||(o={rel:`preload`,as:`style`,href:n.href,crossOrigin:n.crossOrigin,integrity:n.integrity,media:n.media,hrefLang:n.hrefLang,referrerPolicy:n.referrerPolicy},vm.set(e,o)),Lm(a,e,o,s.state))),t&&r===null)throw Error(i(528,``));return s}if(t&&r!==null)throw Error(i(529,``));return null;case`script`:return t=n.async,n=n.src,typeof n==`string`&&t&&typeof t!=`function`&&typeof t!=`symbol`?(n=Rm(n),t=Ft(a).hoistableScripts,r=t.get(n),r||(r={type:`script`,instance:null,count:0,state:null},t.set(n,r)),r):{type:`void`,instance:null,count:0,state:null};default:throw Error(i(444,e))}}function Pm(e){return`href="`+nn(e)+`"`}function Fm(e){return`link[rel="stylesheet"][`+e+`]`}function Im(e){return D({},e,{"data-precedence":e.precedence,precedence:null})}function Lm(e,t,n,r){if(t=e.querySelector(`link[rel="preload"][as="style"][`+t+`]`)){if(!0!==t[At]){r.loading=1;return}}else t=e.createElement(`link`),t[At]=!0,t.onload=t.onerror=Lt.bind(null,t),np(t,`link`,n),It(t),e.head.appendChild(t);r.preload=t,t.addEventListener(`load`,function(){return r.loading|=1}),t.addEventListener(`error`,function(){return r.loading|=2})}function Rm(e){return`[src="`+nn(e)+`"]`}function zm(e){return`script[async]`+e}function Bm(e,t,n){if(t.count++,t.instance===null)switch(t.type){case`style`:var r=e.querySelector(`style[data-href~="`+nn(n.href)+`"]`);if(r)return t.instance=r,It(r),r;var a=D({},n,{"data-href":n.href,"data-precedence":n.precedence,href:null,precedence:null});return r=(e.ownerDocument||e).createElement(`style`),It(r),np(r,`style`,a),Vm(r,n.precedence,e),t.instance=r;case`stylesheet`:a=Pm(n.href);var o=e.querySelector(Fm(a));if(o)return t.state.loading|=4,t.instance=o,It(o),o;r=Im(n),(a=vm.get(a))&&Hm(r,a),o=(e.ownerDocument||e).createElement(`link`),It(o);var s=o;return s._p=new Promise(function(e,t){s.onload=e,s.onerror=t}),np(o,`link`,r),t.state.loading|=4,Vm(o,n.precedence,e),t.instance=o;case`script`:return o=Rm(n.src),(a=e.querySelector(zm(o)))?(t.instance=a,It(a),a):(r=n,(a=vm.get(o))&&(r=D({},n),Um(r,a)),e=e.ownerDocument||e,a=e.createElement(`script`),It(a),np(a,`link`,r),e.head.appendChild(a),t.instance=a);case`void`:return null;default:throw Error(i(443,t.type))}else t.type===`stylesheet`&&!(t.state.loading&4)&&(r=t.instance,t.state.loading|=4,Vm(r,n.precedence,e));return t.instance}function Vm(e,t,n){for(var r=n.querySelectorAll(`link[rel="stylesheet"][data-precedence],style[data-precedence]`),i=r.length?r[r.length-1]:null,a=i,o=0;o<r.length;o++){var s=r[o];if(s.dataset.precedence===t)a=s;else if(a!==i)break}a?a.parentNode.insertBefore(e,a.nextSibling):(t=n.nodeType===9?n.head:n,t.insertBefore(e,t.firstChild))}function Hm(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.title??=t.title}function Um(e,t){e.crossOrigin??=t.crossOrigin,e.referrerPolicy??=t.referrerPolicy,e.integrity??=t.integrity}var Wm=null;function Gm(e,t,n){if(Wm===null){var r=new Map,i=Wm=new Map;i.set(n,r)}else i=Wm,r=i.get(n),r||(r=new Map,i.set(n,r));if(r.has(e))return r;for(r.set(e,null),n=n.getElementsByTagName(e),i=0;i<n.length;i++){var a=n[i];if(!(a[kt]||a[St]||e===`link`&&a.getAttribute(`rel`)===`stylesheet`)&&a.namespaceURI!==`http://www.w3.org/2000/svg`){var o=a.getAttribute(t)||``;o=e+o;var s=r.get(o);s?s.push(a):r.set(o,[a])}}return r}function Km(e,t,n){e=e.ownerDocument||e,e.head.insertBefore(n,t===`title`?e.querySelector(`head > title`):null)}function qm(e,t,n){if(n===1||t.itemProp!=null)return!1;switch(e){case`meta`:case`title`:return!0;case`style`:if(typeof t.precedence!=`string`||typeof t.href!=`string`||t.href===``)break;return!0;case`link`:if(typeof t.rel!=`string`||typeof t.href!=`string`||t.href===``||t.onLoad||t.onError)break;switch(t.rel){case`stylesheet`:return e=t.disabled,typeof t.precedence==`string`&&e==null;default:return!0}case`script`:if(t.async&&typeof t.async!=`function`&&typeof t.async!=`symbol`&&!t.onLoad&&!t.onError&&t.src&&typeof t.src==`string`)return!0}return!1}function Jm(e,t){return e===`img`&&t.src!=null&&t.src!==``&&t.onLoad==null&&t.loading!==`lazy`}function Ym(e){return!(e.type===`stylesheet`&&!(e.state.loading&3))}function Xm(e){return(e.width||100)*(e.height||100)*(typeof devicePixelRatio==`number`?devicePixelRatio:1)*.25}function Zm(e,t){typeof t.decode==`function`&&(e.imgCount++,t.complete||(e.imgBytes+=Xm(t),e.suspenseyImages.push(t)),e=rh.bind(e),t.decode().then(e,e))}function Qm(e,t,n,r){if(n.type===`stylesheet`&&(typeof r.media!=`string`||!1!==matchMedia(r.media).matches)&&!(n.state.loading&4)){if(n.instance===null){var i=Pm(r.href),a=t.querySelector(Fm(i));if(a){t=a._p,typeof t==`object`&&t&&typeof t.then==`function`&&(e.count++,e=nh.bind(e),t.then(e,e)),n.state.loading|=4,n.instance=a,It(a);return}a=t.ownerDocument||t,r=Im(r),(i=vm.get(i))&&Hm(r,i),a=a.createElement(`link`),It(a);var o=a;o._p=new Promise(function(e,t){o.onload=e,o.onerror=t}),np(a,`link`,r),n.instance=a}e.stylesheets===null&&(e.stylesheets=new Map),e.stylesheets.set(n,t),(t=n.state.preload)&&!(n.state.loading&3)&&(e.count++,n=nh.bind(e),t.addEventListener(`load`,n),t.addEventListener(`error`,n))}}var $m=0;function eh(e,t){return e.stylesheets&&e.count===0&&ah(e,e.stylesheets),0<e.count||0<e.imgCount?function(n){var r=setTimeout(function(){if(e.stylesheets&&ah(e,e.stylesheets),e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}},6e4+t);0<e.imgBytes&&$m===0&&($m=62500*op());var i=setTimeout(function(){if(e.waitingForImages=!1,e.count===0&&(e.stylesheets&&ah(e,e.stylesheets),e.unsuspend)){var t=e.unsuspend;e.unsuspend=null,t()}},(e.imgBytes>$m?50:800)+t);return e.unsuspend=n,function(){e.unsuspend=null,clearTimeout(r),clearTimeout(i)}}:null}function th(e){if(e.count===0&&(e.imgCount===0||!e.waitingForImages)){if(e.stylesheets)ah(e,e.stylesheets);else if(e.unsuspend){var t=e.unsuspend;e.unsuspend=null,t()}}}function nh(){this.count--,th(this)}function rh(){this.imgCount--,th(this)}var ih=null;function ah(e,t){e.stylesheets=null,e.unsuspend!==null&&(e.count++,ih=new Map,t.forEach(oh,e),ih=null,nh.call(e))}function oh(e,t){if(!(t.state.loading&4)){var n=ih.get(e);if(n)var r=n.get(null);else{n=new Map,ih.set(e,n);for(var i=e.querySelectorAll(`link[data-precedence],style[data-precedence]`),a=0;a<i.length;a++){var o=i[a];(o.nodeName===`LINK`||o.getAttribute(`media`)!==`not all`)&&(n.set(o.dataset.precedence,o),r=o)}r&&n.set(null,r)}i=t.instance,o=i.getAttribute(`data-precedence`),a=n.get(o)||r,a===r&&n.set(null,i),n.set(o,i),this.count++,r=nh.bind(this),i.addEventListener(`load`,r),i.addEventListener(`error`,r),a?a.parentNode.insertBefore(i,a.nextSibling):(e=e.nodeType===9?e.head:e,e.insertBefore(i,e.firstChild)),t.state.loading|=4}}var sh={$$typeof:j,Provider:null,Consumer:null,_currentValue:ve,_currentValue2:ve,_threadCount:0};function ch(e,t,n,r,i,a,o,s,c){this.tag=1,this.containerInfo=e,this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.next=this.pendingContext=this.context=this.cancelPendingCommit=null,this.callbackPriority=0,this.expirationTimes=dt(-1),this.entangledLanes=this.shellSuspendCounter=this.errorRecoveryDisabledLanes=this.expiredLanes=this.warmLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=dt(0),this.hiddenUpdates=dt(null),this.identifierPrefix=r,this.onUncaughtError=i,this.onCaughtError=a,this.onRecoverableError=o,this.pooledCache=null,this.pooledCacheLanes=0,this.formState=c,this.transitionTypes=null,this.incompleteTransitions=new Map}function lh(e,t,n,r,i,a,o,s,c,l,u,d){return e=new ch(e,t,n,o,c,l,u,d,s),t=1,!0===a&&(t|=24),a=Mi(3,null,null,t),e.current=a,a.stateNode=e,t=Ma(),t.refCount++,e.pooledCache=t,t.refCount++,a.memoizedState={element:r,isDehydrated:n,cache:t},ho(a),e}function uh(e){return e?(e=Ai,e):Ai}function dh(e,t,n,r,i,a){i=uh(i),r.context===null?r.context=i:r.pendingContext=i,r=_o(t),r.payload={element:n},a=a===void 0?null:a,a!==null&&(r.callback=a),n=vo(e,r,t),n!==null&&(Nd(n,e,t),yo(n,e,t))}function fh(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var n=e.retryLane;e.retryLane=n!==0&&n<t?n:t}}function ph(e,t){fh(e,t),(e=e.alternate)&&fh(e,t)}function mh(e){if(e.tag===13||e.tag===31){var t=Di(e,67108864);t!==null&&Nd(t,e,67108864),ph(e,67108864)}}function hh(e){if(e.tag===13||e.tag===31){var t=Ad();t=_t(t);var n=Di(e,t);n!==null&&Nd(n,e,t),ph(e,t)}}var gh=!0;function _h(e,t,n,r){var i=N.T;N.T=null;var a=P.p;try{P.p=2,yh(e,t,n,r)}finally{P.p=a,N.T=i}}function vh(e,t,n,r){var i=N.T;N.T=null;var a=P.p;try{P.p=8,yh(e,t,n,r)}finally{P.p=a,N.T=i}}function yh(e,t,n,r){if(gh){var i=bh(r);if(i===null)Gf(e,t,r,xh,n),Mh(e,r);else if(Ph(i,e,t,n,r))r.stopPropagation();else if(Mh(e,r),t&4&&-1<jh.indexOf(e)){for(;i!==null;){var a=Nt(i);if(a!==null)switch(a.tag){case 3:if(a=a.stateNode,a.current.memoizedState.isDehydrated){var o=at(a.pendingLanes);if(o!==0){var s=a;for(s.pendingLanes|=2,s.entangledLanes|=2;o;){var c=1<<31-Qe(o);s.entanglements[1]|=c,o&=~c}Tf(a),!(K&6)&&(hd=Be()+500,Ef(0,!1))}}break;case 31:case 13:s=Di(a,2),s!==null&&Nd(s,a,2),Rd(),ph(a,2)}if(a=bh(r),a===null&&Gf(e,t,r,xh,n),a===i)break;i=a}i!==null&&r.stopPropagation()}else Gf(e,t,r,null,n)}}function bh(e){return e=bn(e),Sh(e)}var xh=null;function Sh(e){if(xh=null,e=Mt(e),e!==null){var t=o(e);if(t===null)e=null;else{var n=t.tag;if(n===13){if(e=s(t),e!==null)return e;e=null}else if(n===31){if(e=c(t),e!==null)return e;e=null}else if(n===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null)}}return xh=e,null}function Ch(e){switch(e){case`beforetoggle`:case`cancel`:case`click`:case`close`:case`contextmenu`:case`copy`:case`cut`:case`auxclick`:case`dblclick`:case`dragend`:case`dragstart`:case`drop`:case`focusin`:case`focusout`:case`input`:case`invalid`:case`keydown`:case`keypress`:case`keyup`:case`mousedown`:case`mouseup`:case`paste`:case`pause`:case`play`:case`pointercancel`:case`pointerdown`:case`pointerup`:case`ratechange`:case`reset`:case`seeked`:case`submit`:case`toggle`:case`touchcancel`:case`touchend`:case`touchstart`:case`volumechange`:case`change`:case`selectionchange`:case`textInput`:case`compositionstart`:case`compositionend`:case`compositionupdate`:case`beforeblur`:case`afterblur`:case`beforeinput`:case`blur`:case`fullscreenchange`:case`fullscreenerror`:case`focus`:case`hashchange`:case`popstate`:case`select`:case`selectstart`:return 2;case`drag`:case`dragenter`:case`dragexit`:case`dragleave`:case`dragover`:case`mousemove`:case`mouseout`:case`mouseover`:case`pointermove`:case`pointerout`:case`pointerover`:case`resize`:case`scroll`:case`touchmove`:case`wheel`:case`mouseenter`:case`mouseleave`:case`pointerenter`:case`pointerleave`:return 8;case`message`:switch(Ve()){case He:return 2;case Ue:return 8;case We:case Ge:return 32;case Ke:return 268435456;default:return 32}default:return 32}}var wh=!1,Th=null,Eh=null,Dh=null,Oh=new Map,kh=new Map,Ah=[],jh=`mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset`.split(` `);function Mh(e,t){switch(e){case`focusin`:case`focusout`:Th=null;break;case`dragenter`:case`dragleave`:Eh=null;break;case`mouseover`:case`mouseout`:Dh=null;break;case`pointerover`:case`pointerout`:Oh.delete(t.pointerId);break;case`gotpointercapture`:case`lostpointercapture`:kh.delete(t.pointerId)}}function Nh(e,t,n,r,i,a){return e===null||e.nativeEvent!==a?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:a,targetContainers:[i]},t!==null&&(t=Nt(t),t!==null&&mh(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,i!==null&&t.indexOf(i)===-1&&t.push(i),e)}function Ph(e,t,n,r,i){switch(t){case`focusin`:return Th=Nh(Th,e,t,n,r,i),!0;case`dragenter`:return Eh=Nh(Eh,e,t,n,r,i),!0;case`mouseover`:return Dh=Nh(Dh,e,t,n,r,i),!0;case`pointerover`:var a=i.pointerId;return Oh.set(a,Nh(Oh.get(a)||null,e,t,n,r,i)),!0;case`gotpointercapture`:return a=i.pointerId,kh.set(a,Nh(kh.get(a)||null,e,t,n,r,i)),!0}return!1}function Fh(e){var t=Mt(e.target);if(t!==null){var n=o(t);if(n!==null){if(t=n.tag,t===13){if(t=s(n),t!==null){e.blockedOn=t,bt(e.priority,function(){hh(n)});return}}else if(t===31){if(t=c(n),t!==null){e.blockedOn=t,bt(e.priority,function(){hh(n)});return}}else if(t===3&&n.stateNode.current.memoizedState.isDehydrated){e.blockedOn=n.tag===3?n.stateNode.containerInfo:null;return}}}e.blockedOn=null}function Ih(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var n=bh(e.nativeEvent);if(n===null){n=e.nativeEvent;var r=new n.constructor(n.type,n);yn=r,n.target.dispatchEvent(r),yn=null}else return t=Nt(n),t!==null&&mh(t),e.blockedOn=n,!1;t.shift()}return!0}function Lh(e,t,n){Ih(e)&&n.delete(t)}function Rh(){wh=!1,Th!==null&&Ih(Th)&&(Th=null),Eh!==null&&Ih(Eh)&&(Eh=null),Dh!==null&&Ih(Dh)&&(Dh=null),Oh.forEach(Lh),kh.forEach(Lh)}function zh(e,n){e.blockedOn===n&&(e.blockedOn=null,wh||(wh=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,Rh)))}var Bh=null;function Vh(e){Bh!==e&&(Bh=e,t.unstable_scheduleCallback(t.unstable_NormalPriority,function(){Bh===e&&(Bh=null);for(var t=0;t<e.length;t+=3){var n=e[t],r=e[t+1],i=e[t+2];if(typeof r!=`function`){if(Sh(r||n)===null)continue;break}var a=Nt(n);a!==null&&(e.splice(t,3),t-=3,nc(a,{pending:!0,data:i,method:n.method,action:r},r,i))}}))}function Hh(e){function t(t){return zh(t,e)}Th!==null&&zh(Th,e),Eh!==null&&zh(Eh,e),Dh!==null&&zh(Dh,e),Oh.forEach(t),kh.forEach(t);for(var n=0;n<Ah.length;n++){var r=Ah[n];r.blockedOn===e&&(r.blockedOn=null)}for(;0<Ah.length&&(n=Ah[0],n.blockedOn===null);)Fh(n),n.blockedOn===null&&Ah.shift();if(n=(e.ownerDocument||e).$$reactFormReplay,n!=null)for(r=0;r<n.length;r+=3){var i=n[r],a=n[r+1],o=i[Ct]||null;if(typeof a==`function`)o||Vh(n);else if(o){var s=null;if(a&&a.hasAttribute(`formAction`)){if(i=a,o=a[Ct]||null)s=o.formAction;else if(Sh(i)!==null)continue}else s=o.action;typeof s==`function`?n[r+1]=s:(n.splice(r,3),r-=3),Vh(n)}}}function Uh(){function e(e){e.canIntercept&&e.info===`react-transition`&&e.intercept({handler:function(){return new Promise(function(e){return i=e})},focusReset:`manual`,scroll:`manual`})}function t(){i!==null&&(i(),i=null),r||setTimeout(n,20)}function n(){if(!r&&!navigation.transition){var e=navigation.currentEntry;e&&e.url!=null&&navigation.navigate(e.url,{state:e.getState(),info:`react-transition`,history:`replace`})}}if(typeof navigation==`object`){var r=!1,i=null;return navigation.addEventListener(`navigate`,e),navigation.addEventListener(`navigatesuccess`,t),navigation.addEventListener(`navigateerror`,t),setTimeout(n,100),function(){r=!0,navigation.removeEventListener(`navigate`,e),navigation.removeEventListener(`navigatesuccess`,t),navigation.removeEventListener(`navigateerror`,t),i!==null&&(i(),i=null)}}}function Wh(e){this._internalRoot=e}Gh.prototype.render=Wh.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(i(409));var n=t.current;dh(n,Ad(),e,t,null,null)},Gh.prototype.unmount=Wh.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;dh(e.current,2,null,e,null,null),Rd(),t[wt]=null}};function Gh(e){this._internalRoot=e}Gh.prototype.unstable_scheduleHydration=function(e){if(e){var t=yt();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Ah.length&&t!==0&&t<Ah[n].priority;n++);Ah.splice(n,0,e),n===0&&Fh(e)}};var Kh=n.version;if(Kh!==`19.3.1`)throw Error(i(527,Kh,`19.3.1`));P.findDOMNode=function(e){var t=e._reactInternals;if(t===void 0)throw typeof e.render==`function`?Error(i(188)):(e=Object.keys(e).join(`,`),Error(i(268,e)));return e=d(t),e=e===null?null:p(e),e=e===null?null:e.stateNode,e};var qh={bundleType:0,version:`19.3.1`,rendererPackageName:`react-dom`,currentDispatcherRef:N,reconcilerVersion:`19.3.1`};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`){var Jh=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Jh.isDisabled&&Jh.supportsFiber)try{Ye=Jh.inject(qh),Xe=Jh}catch{}}e.createRoot=function(e,t){if(!a(e))throw Error(i(299));var n=!1,r=``,o=Tc,s=Ec,c=Dc;return t!=null&&(!0===t.unstable_strictMode&&(n=!0),t.identifierPrefix!==void 0&&(r=t.identifierPrefix),t.onUncaughtError!==void 0&&(o=t.onUncaughtError),t.onCaughtError!==void 0&&(s=t.onCaughtError),t.onRecoverableError!==void 0&&(c=t.onRecoverableError)),t=lh(e,1,!1,null,null,n,r,null,o,s,c,Uh),e[wt]=t.current,Uf(e),new Wh(t)}})),g=o(((e,t)=>{function n(){if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<`u`&&typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE==`function`)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=h()}))(),_=c(u(),1),v=c(m(),1);function y(e){if(!e||typeof document>`u`)return;let t=document.head||document.getElementsByTagName(`head`)[0],n=document.createElement(`style`);n.type=`text/css`,t.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}var b=e=>{switch(e){case`success`:return C;case`info`:return T;case`warning`:return w;case`error`:return E;default:return null}},x=Array(12).fill(0),S=({visible:e,className:t})=>_.createElement(`div`,{className:[`sonner-loading-wrapper`,t].filter(Boolean).join(` `),"data-visible":e},_.createElement(`div`,{className:`sonner-spinner`},x.map((e,t)=>_.createElement(`div`,{className:`sonner-loading-bar`,key:`spinner-bar-${t}`})))),C=_.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`,"aria-hidden":`true`},_.createElement(`path`,{fillRule:`evenodd`,d:`M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z`,clipRule:`evenodd`})),w=_.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 24 24`,fill:`currentColor`,height:`20`,width:`20`,"aria-hidden":`true`},_.createElement(`path`,{fillRule:`evenodd`,d:`M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z`,clipRule:`evenodd`})),T=_.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`,"aria-hidden":`true`},_.createElement(`path`,{fillRule:`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z`,clipRule:`evenodd`})),E=_.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 20 20`,fill:`currentColor`,height:`20`,width:`20`,"aria-hidden":`true`},_.createElement(`path`,{fillRule:`evenodd`,d:`M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z`,clipRule:`evenodd`})),D=_.createElement(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`12`,height:`12`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`},_.createElement(`line`,{x1:`18`,y1:`6`,x2:`6`,y2:`18`}),_.createElement(`line`,{x1:`6`,y1:`6`,x2:`18`,y2:`18`})),ee=()=>{let[e,t]=_.useState(document.hidden);return _.useEffect(()=>{let e=()=>{t(document.hidden)};return document.addEventListener(`visibilitychange`,e),()=>document.removeEventListener(`visibilitychange`,e)},[]),e},O=1,te=100,k=e=>typeof e?.id==`number`||e?.id?.length>0?e.id:O++,A=new class{constructor(){this.subscribe=e=>(this.subscribers.push(e),this.getActiveToasts().forEach(t=>e(t)),()=>{let t=this.subscribers.indexOf(e);this.subscribers.splice(t,1)}),this.publish=e=>{this.subscribers.forEach(t=>t(e))},this.addToast=e=>{this.publish(e),this.toasts=[...this.toasts,e],this.trimHistory()},this.trimHistory=()=>{let e=this.toasts.length-te;e<=0||(this.toasts=this.toasts.filter(t=>e>0&&this.dismissedToasts.has(t.id)?(this.dismissedToasts.delete(t.id),e--,!1):!0))},this.create=e=>{let{message:t,...n}=e,r=k(e),i=this.pendingDismissals.get(r);i!==void 0&&(cancelAnimationFrame(i),this.pendingDismissals.delete(r),this.dismissedToasts.delete(r));let a=this.dismissedToasts.has(r),o=e.dismissible===void 0||e.dismissible;return a&&(this.dismissedToasts.delete(r),this.toasts=this.toasts.filter(e=>e.id!==r)),!a&&this.toasts.find(e=>e.id===r)?this.toasts=this.toasts.map(n=>n.id===r?(this.publish({...n,...e,id:r,title:t}),{...n,...e,id:r,dismissible:o,title:t}):n):this.addToast({title:t,...n,dismissible:o,id:r}),r},this.dismiss=e=>{if(e==null)return this.getActiveToasts().forEach(e=>{this.dismissedToasts.add(e.id),this.subscribers.forEach(t=>t({id:e.id,dismiss:!0}))}),e;this.dismissedToasts.add(e);let t=this.pendingDismissals.get(e);return t!==void 0&&cancelAnimationFrame(t),this.pendingDismissals.set(e,requestAnimationFrame(()=>{this.pendingDismissals.delete(e),this.subscribers.forEach(t=>t({id:e,dismiss:!0}))})),e},this.message=(e,t)=>this.create({...t,message:e,type:void 0}),this.error=(e,t)=>this.create({...t,message:e,type:`error`}),this.success=(e,t)=>this.create({...t,type:`success`,message:e}),this.info=(e,t)=>this.create({...t,type:`info`,message:e}),this.warning=(e,t)=>this.create({...t,type:`warning`,message:e}),this.loading=(e,t)=>this.create({...t,type:`loading`,message:e}),this.promise=(e,t)=>{if(!t)return;let n;t.loading!==void 0&&(n=this.create({...t,promise:e,type:`loading`,message:t.loading,description:typeof t.description==`function`?void 0:t.description}));let r=Promise.resolve(e instanceof Function?e():e),i=n!==void 0,a,o=r.then(async e=>{if(a=[`resolve`,e],_.isValidElement(e))i=!1,this.create({id:n,type:`default`,message:e});else if(re(e)&&!e.ok){i=!1;let r=typeof t.error==`function`?await t.error(`HTTP error! status: ${e.status}`):t.error,a=typeof t.description==`function`?await t.description(`HTTP error! status: ${e.status}`):t.description,o=typeof r==`object`&&!_.isValidElement(r)?r:{message:r};this.create({id:n,type:`error`,description:a,...o})}else if(e instanceof Error){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!_.isValidElement(r)?r:{message:r};this.create({id:n,type:`error`,description:a,...o})}else if(t.success!==void 0){i=!1;let r=typeof t.success==`function`?await t.success(e):t.success,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!_.isValidElement(r)?r:{message:r};this.create({id:n,type:`success`,description:a,...o})}}).catch(async e=>{if(a=[`reject`,e],t.error!==void 0){i=!1;let r=typeof t.error==`function`?await t.error(e):t.error,a=typeof t.description==`function`?await t.description(e):t.description,o=typeof r==`object`&&!_.isValidElement(r)?r:{message:r};this.create({id:n,type:`error`,description:a,...o})}}).finally(()=>{i&&(this.dismiss(n),n=void 0),t.finally==null||t.finally.call(t)}),s=()=>new Promise((e,t)=>o.then(()=>a[0]===`reject`?t(a[1]):e(a[1])).catch(t));return typeof n!=`string`&&typeof n!=`number`?{unwrap:s}:Object.assign(n,{unwrap:s})},this.custom=(e,t)=>{let n=k(t);return this.create({...t,jsx:e(n),id:n,type:void 0}),n},this.getActiveToasts=()=>this.toasts.filter(e=>!this.dismissedToasts.has(e.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set,this.pendingDismissals=new Map}},ne=(e,t)=>A.message(e,t),re=e=>e&&typeof e==`object`&&`ok`in e&&typeof e.ok==`boolean`&&`status`in e&&typeof e.status==`number`,j=Object.assign(ne,{success:A.success,info:A.info,warning:A.warning,error:A.error,custom:A.custom,message:A.message,promise:A.promise,dismiss:A.dismiss,loading:A.loading},{getHistory:()=>A.toasts,getToasts:()=>A.getActiveToasts()});y(`[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);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;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--normal-text);background:var(--normal-bg);border:1px solid var(--normal-border);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:\'\';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:\'\';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:\'\';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{-webkit-user-select:none;user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}`);function M(e){return e.label!==void 0}var ie=3,ae=`24px`,oe=`16px`,se=4e3,ce=356,le=14,ue=45,de=200;function fe(...e){return e.filter(Boolean).join(` `)}function pe(e){let[t,n]=e.split(`-`),r=[];return t&&r.push(t),n&&r.push(n),r}var me=e=>{let{invert:t,toast:n,unstyled:r,interacting:i,setHeights:a,visibleToasts:o,heights:s,index:c,toasts:l,expanded:u,removeToast:d,defaultRichColors:f,closeButton:p,style:m,cancelButtonStyle:h,actionButtonStyle:g,className:v=``,descriptionClassName:y=``,duration:x,position:C,gap:w,expandByDefault:T,classNames:E,icons:O,closeButtonAriaLabel:te=`Close toast`}=e,[k,A]=_.useState(null),[ne,re]=_.useState(null),[j,ie]=_.useState(!1),[ae,oe]=_.useState(!1),[ce,le]=_.useState(!1),[me,he]=_.useState(!1),[ge,_e]=_.useState(!1),[N,P]=_.useState(0),[ve,ye]=_.useState(0),be=_.useRef(n.duration||x||se),xe=_.useRef(null),F=_.useRef(null),I=c===0,Se=c+1<=o,Ce=n.type,we=Ce??`default`,Te=n.dismissible!==!1,Ee=n.className||``,De=n.descriptionClassName||``,Oe=_.useMemo(()=>s.findIndex(e=>e.toastId===n.id)||0,[s,n.id]),ke=_.useMemo(()=>n.closeButton??p,[n.closeButton,p]),Ae=_.useMemo(()=>n.duration||x||se,[n.duration,x]),je=_.useRef(0),Me=_.useRef(0),Ne=_.useRef(0),Pe=_.useRef(null),[Fe,L]=C.split(`-`),Ie=_.useMemo(()=>s.reduce((e,t,n)=>n>=Oe?e:e+t.height,0),[s,Oe]),Le=ee(),R=_.useMemo(()=>e.swipeDirections??pe(C),[e.swipeDirections,C]),Re=n.invert||t,ze=Ce===`loading`;Me.current=_.useMemo(()=>Oe*w+Ie,[Oe,Ie]),_.useEffect(()=>{be.current=Ae},[Ae]),_.useEffect(()=>{ie(!0)},[]),_.useEffect(()=>{let e=F.current;if(e){let t=e.getBoundingClientRect().height;return ye(t),a(e=>[{toastId:n.id,height:t,position:n.position},...e]),()=>a(e=>e.filter(e=>e.toastId!==n.id))}},[a,n.id]),_.useLayoutEffect(()=>{if(!j)return;let e=F.current,t=e.style.height;e.style.height=`auto`;let r=e.getBoundingClientRect().height;e.style.height=t,ye(r),a(e=>e.find(e=>e.toastId===n.id)?e.map(e=>e.toastId===n.id?{...e,height:r}:e):[{toastId:n.id,height:r,position:n.position},...e])},[j,n.title,n.description,a,n.id,n.jsx,n.action,n.cancel]);let Be=_.useCallback(()=>{oe(!0),P(Me.current),a(e=>e.filter(e=>e.toastId!==n.id)),setTimeout(()=>{d(n)},de)},[n,d,a,Me]);_.useEffect(()=>{if(n.promise&&Ce===`loading`||n.duration===1/0||n.type===`loading`)return;let e;return u||i||Le?(()=>{if(Ne.current<je.current){let e=new Date().getTime()-je.current;be.current-=e}Ne.current=new Date().getTime()})():be.current!==1/0&&(je.current=new Date().getTime(),e=setTimeout(()=>{n.onAutoClose==null||n.onAutoClose.call(n,n),Be()},be.current)),()=>clearTimeout(e)},[u,i,n,Ce,Le,Be]),_.useEffect(()=>{n.delete&&(Be(),n.onDismiss==null||n.onDismiss.call(n,n))},[Be,n.delete]);function Ve(){return O?.loading?_.createElement(`div`,{className:fe(E?.loader,n?.classNames?.loader,`sonner-loader`),"data-visible":Ce===`loading`},O.loading):_.createElement(S,{className:fe(E?.loader,n?.classNames?.loader),visible:Ce===`loading`})}let He=n.icon||O?.[Ce]||b(Ce);return _.createElement(`li`,{tabIndex:0,ref:F,className:fe(v,Ee,E?.toast,n?.classNames?.toast,E?.[we],n?.classNames?.[we]),"data-sonner-toast":``,"data-rich-colors":n.richColors??f,"data-styled":!(n.jsx||n.unstyled||r),"data-mounted":j,"data-promise":!!n.promise,"data-swiped":ge,"data-removed":ae,"data-visible":Se,"data-y-position":Fe,"data-x-position":L,"data-index":c,"data-front":I,"data-swiping":ce,"data-dismissible":Te,"data-type":Ce,"data-invert":Re,"data-swipe-out":me,"data-swipe-direction":ne,"data-expanded":!!(u||T&&j),"data-testid":n.testId,style:{"--index":c,"--toasts-before":c,"--z-index":l.length-c,"--offset":`${ae?N:Me.current}px`,"--initial-height":T?`auto`:`${ve}px`,...m,...n.style},onDragEnd:()=>{le(!1),A(null),Pe.current=null},onPointerDown:e=>{e.button!==2&&!ze&&Te&&(xe.current=new Date,P(Me.current),e.target.setPointerCapture(e.pointerId),e.target.tagName!==`BUTTON`&&(le(!0),Pe.current={x:e.clientX,y:e.clientY}))},onPointerUp:()=>{if(me||!Te)return;Pe.current=null;let e=Number(F.current?.style.getPropertyValue(`--swipe-amount-x`).replace(`px`,``)||0),t=Number(F.current?.style.getPropertyValue(`--swipe-amount-y`).replace(`px`,``)||0),r=new Date().getTime()-xe.current?.getTime(),i=k===`x`?e:t,a=Math.abs(i)/r;if((k===`x`?R.includes(e>0?`right`:`left`):R.includes(t>0?`bottom`:`top`))&&(Math.abs(i)>=ue||a>.11))P(Me.current),n.onDismiss==null||n.onDismiss.call(n,n),re(k===`x`?e>0?`right`:`left`:t>0?`down`:`up`),Be(),he(!0);else{var o,s;(o=F.current)==null||o.style.setProperty(`--swipe-amount-x`,`0px`),(s=F.current)==null||s.style.setProperty(`--swipe-amount-y`,`0px`),_e(!1),le(!1),A(null)}},onPointerMove:e=>{var t,n;if(!Pe.current||!Te||window.getSelection()?.toString().length>0)return;let r=e.clientY-Pe.current.y,i=e.clientX-Pe.current.x;!k&&(Math.abs(i)>1||Math.abs(r)>1)&&A(Math.abs(i)>Math.abs(r)?`x`:`y`);let a={x:0,y:0},o=e=>1/(1.5+Math.abs(e)/20);if(k===`y`){if(R.includes(`top`)||R.includes(`bottom`)){if(R.includes(`top`)&&r<0||R.includes(`bottom`)&&r>0)a.y=r;else{let e=r*o(r);a.y=Math.abs(e)<Math.abs(r)?e:r}}}else if(k===`x`&&(R.includes(`left`)||R.includes(`right`))){if(R.includes(`left`)&&i<0||R.includes(`right`)&&i>0)a.x=i;else{let e=i*o(i);a.x=Math.abs(e)<Math.abs(i)?e:i}}(Math.abs(a.x)>0||Math.abs(a.y)>0)&&_e(!0),(t=F.current)==null||t.style.setProperty(`--swipe-amount-x`,`${a.x}px`),(n=F.current)==null||n.style.setProperty(`--swipe-amount-y`,`${a.y}px`)}},ke&&!n.jsx&&Ce!==`loading`?_.createElement(`button`,{"aria-label":te,"data-disabled":ze,"data-close-button":!0,onClick:ze||!Te?()=>{}:()=>{Be(),n.onDismiss==null||n.onDismiss.call(n,n)},className:fe(E?.closeButton,n?.classNames?.closeButton)},O?.close??D):null,(Ce||n.icon||n.promise)&&n.icon!==null&&(O?.[Ce]!==null||n.icon)?_.createElement(`div`,{"data-icon":``,className:fe(E?.icon,n?.classNames?.icon)},Ce===`loading`?n.icon||Ve():n.promise?Ve():null,Ce===`loading`?null:He):null,_.createElement(`div`,{"data-content":``,className:fe(E?.content,n?.classNames?.content)},_.createElement(`div`,{"data-title":``,className:fe(E?.title,n?.classNames?.title)},n.jsx?n.jsx:typeof n.title==`function`?n.title():n.title),n.description?_.createElement(`div`,{"data-description":``,className:fe(y,De,E?.description,n?.classNames?.description)},typeof n.description==`function`?n.description():n.description):null),_.isValidElement(n.cancel)?n.cancel:n.cancel&&M(n.cancel)?_.createElement(`button`,{"data-button":!0,"data-cancel":!0,style:n.cancelButtonStyle||h,onClick:e=>{M(n.cancel)&&Te&&(n.cancel.onClick==null||n.cancel.onClick.call(n.cancel,e),Be())},className:fe(E?.cancelButton,n?.classNames?.cancelButton)},n.cancel.label):null,_.isValidElement(n.action)?n.action:n.action&&M(n.action)?_.createElement(`button`,{"data-button":!0,"data-action":!0,style:n.actionButtonStyle||g,onClick:e=>{M(n.action)&&(n.action.onClick==null||n.action.onClick.call(n.action,e),!e.defaultPrevented&&Be())},className:fe(E?.actionButton,n?.classNames?.actionButton)},n.action.label):null)};function he(){if(typeof window>`u`||typeof document>`u`)return`ltr`;let e=document.documentElement.getAttribute(`dir`);return e===`auto`||!e?window.getComputedStyle(document.documentElement).direction:e}function ge(e,t){let n={};return[e,t].forEach((e,t)=>{let r=t===1,i=r?`--mobile-offset`:`--offset`,a=r?oe:ae;function o(e){[`top`,`right`,`bottom`,`left`].forEach(t=>{n[`${i}-${t}`]=typeof e==`number`?`${e}px`:e})}typeof e==`number`||typeof e==`string`?o(e):typeof e==`object`?[`top`,`right`,`bottom`,`left`].forEach(t=>{e[t]===void 0?n[`${i}-${t}`]=a:n[`${i}-${t}`]=typeof e[t]==`number`?`${e[t]}px`:e[t]}):o(a)}),n}var _e=_.forwardRef(function(e,t){let{id:n,invert:r,position:i=`bottom-right`,hotkey:a=[`altKey`,`KeyT`],expand:o,closeButton:s,className:c,offset:l,mobileOffset:u,theme:d=`light`,richColors:f,duration:p,style:m,visibleToasts:h=ie,toastOptions:g,dir:y=he(),gap:b=le,icons:x,customAriaLabel:S,containerAriaLabel:C=`Notifications`}=e,[w,T]=_.useState([]),E=_.useMemo(()=>n?w.filter(e=>e.toasterId===n):w.filter(e=>!e.toasterId),[w,n]),D=_.useMemo(()=>Array.from(new Set([i].concat(E.filter(e=>e.position).map(e=>e.position)))),[E,i]),[ee,O]=_.useState([]),[te,k]=_.useState(!1),[ne,re]=_.useState(!1),[j,M]=_.useState(d===`system`?typeof window<`u`&&window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`:d),ae=_.useRef(null),oe=a.join(`+`).replace(/Key/g,``).replace(/Digit/g,``),se=_.useRef(null),ue=_.useRef(!1),de=_.useCallback(e=>{T(t=>(t.find(t=>t.id===e.id)?.delete||A.dismiss(e.id),t.filter(({id:t})=>t!==e.id)))},[]);return _.useEffect(()=>A.subscribe(e=>{e.dismiss?requestAnimationFrame(()=>{T(t=>t.map(t=>t.id===e.id?{...t,delete:!0}:t))}):setTimeout(()=>{v.flushSync(()=>{T(t=>{let n=t.findIndex(t=>t.id===e.id);return n===-1?[e,...t]:[...t.slice(0,n),{...t[n],...e},...t.slice(n+1)]})})})}),[]),_.useEffect(()=>{if(d!==`system`){M(d);return}if(d===`system`&&(window.matchMedia&&window.matchMedia(`(prefers-color-scheme: dark)`).matches?M(`dark`):M(`light`)),typeof window>`u`)return;let e=window.matchMedia(`(prefers-color-scheme: dark)`);try{e.addEventListener(`change`,({matches:e})=>{M(e?`dark`:`light`)})}catch{e.addListener(({matches:e})=>{try{M(e?`dark`:`light`)}catch(e){console.error(e)}})}},[d]),_.useEffect(()=>{w.length<=1&&k(!1)},[w]),_.useEffect(()=>{let e=e=>{if(a.length>0&&a.every(t=>e[t]||e.code===t)){var t;k(!0),(t=ae.current)==null||t.focus()}e.code===`Escape`&&(document.activeElement===ae.current||ae.current?.contains(document.activeElement))&&k(!1)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[a]),_.useEffect(()=>{if(ae.current)return()=>{se.current&&(se.current.focus({preventScroll:!0}),se.current=null,ue.current=!1)}},[ae.current]),_.createElement(`section`,{ref:t,"aria-label":S??`${C} ${oe}`,tabIndex:-1,"aria-live":`polite`,"aria-relevant":`additions text`,"aria-atomic":`false`,suppressHydrationWarning:!0,"data-react-aria-top-layer":!0},D.map((t,n)=>{let[i,a]=t.split(`-`);return E.length?_.createElement(`ol`,{key:t,dir:y===`auto`?he():y,tabIndex:-1,ref:ae,className:c,"data-sonner-toaster":!0,"data-sonner-theme":j,"data-y-position":i,"data-x-position":a,style:{"--front-toast-height":`${ee[0]?.height||0}px`,"--width":`${ce}px`,"--gap":`${b}px`,...m,...ge(l,u)},onBlur:e=>{ue.current&&!e.currentTarget.contains(e.relatedTarget)&&(ue.current=!1,se.current&&=(se.current.focus({preventScroll:!0}),null))},onFocus:e=>{e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||ue.current||(ue.current=!0,se.current=e.relatedTarget)},onMouseEnter:()=>k(!0),onMouseMove:()=>k(!0),onMouseLeave:()=>{ne||k(!1)},onDragEnd:()=>k(!1),onPointerDown:e=>{e.target instanceof HTMLElement&&e.target.dataset.dismissible===`false`||re(!0)},onPointerUp:()=>re(!1)},E.filter(e=>!e.position&&n===0||e.position===t).map((n,i)=>_.createElement(me,{key:n.id,icons:x,index:i,toast:n,defaultRichColors:f,duration:g?.duration??p,className:g?.className,descriptionClassName:g?.descriptionClassName,invert:r,visibleToasts:h,closeButton:g?.closeButton??s,interacting:ne,position:t,style:g?.style,unstyled:g?.unstyled,classNames:g?.classNames,cancelButtonStyle:g?.cancelButtonStyle,actionButtonStyle:g?.actionButtonStyle,closeButtonAriaLabel:g?.closeButtonAriaLabel,removeToast:de,toasts:E.filter(e=>e.position==n.position),heights:ee.filter(e=>e.position==n.position),setHeights:O,expandByDefault:o,gap:b,expanded:te,swipeDirections:e.swipeDirections}))):null}))}),N=Object.defineProperty,P=(e,t)=>N(e,`name`,{value:t,configurable:!0});function ve(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}P(ve,`setRef`);function ye(...e){return t=>{let n=!1,r=e.map(e=>{let r=ve(e,t);return!n&&typeof r==`function`&&(n=!0),r});if(n)return()=>{for(let t=0;t<r.length;t++){let n=r[t];typeof n==`function`?n():ve(e[t],null)}}}}P(ye,`composeRefs`);function be(...e){return _.useCallback(ye(...e),e)}P(be,`useComposedRefs`);var xe=Object.defineProperty,F=(e,t)=>xe(e,`name`,{value:t,configurable:!0});function I(e){let t=_.forwardRef((t,n)=>{let{children:r,...i}=t,a=null,o=!1,s=[];Ae(r)&&typeof Pe==`function`&&(r=Pe(r._payload)),_.Children.forEach(r,e=>{if(Oe(e)){o=!0;let t=e,n=`child`in t.props?t.props.child:t.props.children;Ae(n)&&typeof Pe==`function`&&(n=Pe(n._payload)),a=Te(t,n),s.push(a?.props?.children)}else s.push(e)}),a?a=_.cloneElement(a,void 0,s):!o&&_.Children.count(r)===1&&_.isValidElement(r)&&(a=r);let c=a?De(a):void 0,l=be(n,c);if(!a){if(r||r===0)throw Error(o?Ne(e):Me(e));return r}let u=Ee(i,a.props??{});return a.type!==_.Fragment&&(u.ref=n?l:c),_.cloneElement(a,u)});return t.displayName=`${e}.Slot`,t}F(I,`createSlot`);var Se=I(`Slot`),Ce=Symbol.for(`radix.slottable`);function we(e){let t=F(e=>`child`in e?e.children(e.child):e.children,`Slottable`);return t.displayName=`${e}.Slottable`,t.__radixId=Ce,t}F(we,`createSlottable`);var Te=F((e,t)=>{if(`child`in e.props){let t=e.props.child;return _.isValidElement(t)?_.cloneElement(t,void 0,e.props.children(t.props.children)):null}return _.isValidElement(t)?t:null},`getSlottableElementFromSlottable`);function Ee(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}F(Ee,`mergeProps`);function De(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}F(De,`getElementRef`);function Oe(e){return _.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===Ce}F(Oe,`isSlottable`);var ke=Symbol.for(`react.lazy`);function Ae(e){return typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===ke&&`_payload`in e&&je(e._payload)}F(Ae,`isLazyComponent`);function je(e){return typeof e==`object`&&!!e&&`then`in e}F(je,`isPromiseLike`);var Me=F(e=>`${e} failed to slot onto its children. Expected a single React element child or \\`Slottable\\`.`,`createSlotError`),Ne=F(e=>`${e} failed to slot onto its \\`Slottable\\`. Expected \\`Slottable\\` to receive a single React element child.`,`createSlottableError`),Pe=_.use,Fe=o((e=>{var t=Symbol.for(`react.transitional.element`),n=Symbol.for(`react.fragment`);function r(e,n,r){var i=null;if(r!==void 0&&(i=``+r),n.key!==void 0&&(i=``+n.key),`key`in n)for(var a in r={},n)a!==`key`&&(r[a]=n[a]);else r=n;return n=r.ref,{$$typeof:t,type:e,key:i,ref:n===void 0?null:n,props:r}}e.Fragment=n,e.jsx=r,e.jsxs=r})),L=o(((e,t)=>{t.exports=Fe()}))(),Ie=Object.defineProperty,Le=(e,t)=>Ie(e,`name`,{value:t,configurable:!0}),R=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=I(`Primitive.${t}`),r=_.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,L.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{});function Re(e,t){e&&v.flushSync(()=>e.dispatchEvent(t))}Le(Re,`dispatchDiscreteCustomEvent`);var ze=Object.defineProperty,Be=(e,t)=>ze(e,`name`,{value:t,configurable:!0}),Ve=Object.freeze({position:`absolute`,border:0,width:1,height:1,padding:0,margin:-1,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,wordWrap:`normal`}),He=_.forwardRef(Be(function(e,t){return(0,L.jsx)(R.span,{...e,ref:t,style:{...Ve,...e.style}})},`VisuallyHidden`)),Ue=Object.defineProperty,We=(e,t)=>Ue(e,`name`,{value:t,configurable:!0});function Ge(e,t){let n=_.createContext(t);n.displayName=e+`Context`;let r=We(e=>{let{children:t,...r}=e,i=_.useMemo(()=>r,Object.values(r));return(0,L.jsx)(n.Provider,{value:i,children:t})},`Provider`);r.displayName=e+`Provider`;function i(r,i={}){let{optional:a=!1}=i,o=_.useContext(n);if(o)return o;if(t!==void 0)return t;if(!a)throw Error(`\\`${r}\\` must be used within \\`${e}\\``)}return We(i,`useContext`),[r,i]}We(Ge,`createContext`);function Ke(e,t=[]){let n=[];function r(t,r){let i=_.createContext(r);i.displayName=t+`Context`;let a=n.length;n=[...n,r];let o=We(t=>{let{scope:n,children:r,...o}=t,s=n?.[e]?.[a]||i,c=_.useMemo(()=>o,Object.values(o));return(0,L.jsx)(s.Provider,{value:c,children:r})},`Provider`);o.displayName=t+`Provider`;function s(n,o,s={}){let{optional:c=!1}=s,l=o?.[e]?.[a]||i,u=_.useContext(l);if(u)return u;if(r!==void 0)return r;if(!c)throw Error(`\\`${n}\\` must be used within \\`${t}\\``)}return We(s,`useContext`),[o,s]}We(r,`createContext`);let i=We(()=>{let t=n.map(e=>_.createContext(e));return We(function(n){let r=n?.[e]||t;return _.useMemo(()=>({[`__scope${e}`]:{...n,[e]:r}}),[n,r])},`useScope`)},`createScope`);return i.scopeName=e,[r,qe(i,...t)]}We(Ke,`createContextScope`);function qe(...e){let t=e[0];if(e.length===1)return t;let n=We(()=>{let n=e.map(e=>({useScope:e(),scopeName:e.scopeName}));return We(function(e){let r=n.reduce((t,{useScope:n,scopeName:r})=>{let i=n(e)[`__scope${r}`];return{...t,...i}},{});return _.useMemo(()=>({[`__scope${t.scopeName}`]:r}),[r])},`useComposedScopes`)},`createScope`);return n.scopeName=t.scopeName,n}We(qe,`composeContextScopes`);var Je=Object.defineProperty,Ye=(e,t)=>Je(e,`name`,{value:t,configurable:!0});function Xe(e){let t=e+`CollectionProvider`,[n,r]=Ke(t),[i,a]=n(t,{collectionRef:{current:null},itemMap:new Map}),o=Ye(e=>{let{scope:t,children:n}=e,r=_.useRef(null),a=_.useRef(new Map).current;return(0,L.jsx)(i,{scope:t,itemMap:a,collectionRef:r,children:n})},`CollectionProvider`);o.displayName=t;let s=e+`CollectionSlot`,c=I(s),l=_.forwardRef((e,t)=>{let{scope:n,children:r}=e,i=be(t,a(s,n).collectionRef);return(0,L.jsx)(c,{ref:i,children:r})});l.displayName=s;let u=e+`CollectionItemSlot`,d=`data-radix-collection-item`,f=I(u),p=_.forwardRef((e,t)=>{let{scope:n,children:r,...i}=e,o=_.useRef(null),s=be(t,o),c=a(u,n);return _.useEffect(()=>(c.itemMap.set(o,{ref:o,...i}),()=>void c.itemMap.delete(o))),(0,L.jsx)(f,{[d]:``,ref:s,children:r})});p.displayName=u;function m(t){let n=a(e+`CollectionConsumer`,t);return _.useCallback(()=>{let e=n.collectionRef.current;if(!e)return[];let t=Array.from(e.querySelectorAll(`[${d}]`));return Array.from(n.itemMap.values()).sort((e,n)=>t.indexOf(e.ref.current)-t.indexOf(n.ref.current))},[n.collectionRef,n.itemMap])}return Ye(m,`useCollection`),[{Provider:o,Slot:l,ItemSlot:p},m,r]}Ye(Xe,`createCollection`);var Ze=new WeakMap,Qe=class e extends Map{static{Ye(this,`OrderedDict`)}#e;constructor(e){super(e),this.#e=[...super.keys()],Ze.set(this,!0)}set(e,t){return Ze.get(this)&&(this.has(e)?this.#e[this.#e.indexOf(e)]=e:this.#e.push(e)),super.set(e,t),this}insert(e,t,n){let r=this.has(t),i=this.#e.length,a=tt(e),o=a>=0?a:i+a,s=o<0||o>=i?-1:o;if(s===this.size||r&&s===this.size-1||s===-1)return this.set(t,n),this;let c=this.size+ +!r;a<0&&o++;let l=[...this.#e],u,d=!1;for(let e=o;e<c;e++)if(o===e){let i=l[e];l[e]===t&&(i=l[e+1]),r&&this.delete(t),u=this.get(i),this.set(t,n)}else{!d&&l[e-1]===t&&(d=!0);let n=l[d?e:e-1],r=u;u=this.get(n),this.delete(n),this.set(n,r)}return this}with(t,n,r){let i=new e(this);return i.insert(t,n,r),i}before(e){let t=this.#e.indexOf(e)-1;if(!(t<0))return this.entryAt(t)}setBefore(e,t,n){let r=this.#e.indexOf(e);return r===-1?this:this.insert(r,t,n)}after(e){let t=this.#e.indexOf(e);if(t=t===-1||t===this.size-1?-1:t+1,t!==-1)return this.entryAt(t)}setAfter(e,t,n){let r=this.#e.indexOf(e);return r===-1?this:this.insert(r+1,t,n)}first(){return this.entryAt(0)}last(){return this.entryAt(-1)}clear(){return this.#e=[],super.clear()}delete(e){let t=super.delete(e);return t&&this.#e.splice(this.#e.indexOf(e),1),t}deleteAt(e){let t=this.keyAt(e);return t!==void 0&&this.delete(t)}at(e){let t=$e(this.#e,e);if(t!==void 0)return this.get(t)}entryAt(e){let t=$e(this.#e,e);if(t!==void 0)return[t,this.get(t)]}indexOf(e){return this.#e.indexOf(e)}keyAt(e){return $e(this.#e,e)}from(e,t){let n=this.indexOf(e);if(n===-1)return;let r=n+t;return r<0&&(r=0),r>=this.size&&(r=this.size-1),this.at(r)}keyFrom(e,t){let n=this.indexOf(e);if(n===-1)return;let r=n+t;return r<0&&(r=0),r>=this.size&&(r=this.size-1),this.keyAt(r)}find(e,t){let n=0;for(let r of this){if(Reflect.apply(e,t,[r,n,this]))return r;n++}}findIndex(e,t){let n=0;for(let r of this){if(Reflect.apply(e,t,[r,n,this]))return n;n++}return-1}filter(t,n){let r=[],i=0;for(let e of this)Reflect.apply(t,n,[e,i,this])&&r.push(e),i++;return new e(r)}map(t,n){let r=[],i=0;for(let e of this)r.push([e[0],Reflect.apply(t,n,[e,i,this])]),i++;return new e(r)}reduce(...e){let[t,n]=e,r=0,i=n??this.at(0);for(let n of this)i=r===0&&e.length===1?n:Reflect.apply(t,this,[i,n,r,this]),r++;return i}reduceRight(...e){let[t,n]=e,r=n??this.at(-1);for(let n=this.size-1;n>=0;n--){let i=this.at(n);r=n===this.size-1&&e.length===1?i:Reflect.apply(t,this,[r,i,n,this])}return r}toSorted(t){let n=[...this.entries()].sort(t);return new e(n)}toReversed(){let t=new e;for(let e=this.size-1;e>=0;e--){let n=this.keyAt(e),r=this.get(n);t.set(n,r)}return t}toSpliced(...t){let n=[...this.entries()];return n.splice(...t),new e(n)}slice(t,n){let r=new e,i=this.size-1;if(t===void 0)return r;t<0&&(t+=this.size),n!==void 0&&n>0&&(i=n-1);for(let e=t;e<=i;e++){let t=this.keyAt(e),n=this.get(t);r.set(t,n)}return r}every(e,t){let n=0;for(let r of this){if(!Reflect.apply(e,t,[r,n,this]))return!1;n++}return!0}some(e,t){let n=0;for(let r of this){if(Reflect.apply(e,t,[r,n,this]))return!0;n++}return!1}};function $e(e,t){if(`at`in Array.prototype)return Array.prototype.at.call(e,t);let n=et(e,t);return n===-1?void 0:e[n]}Ye($e,`at`);function et(e,t){let n=e.length,r=tt(t),i=r>=0?r:n+r;return i<0||i>=n?-1:i}Ye(et,`toSafeIndex`);function tt(e){return e!==e||e===0?0:Math.trunc(e)}Ye(tt,`toSafeInteger`);function nt(e){let t=e+`CollectionProvider`,[n,r]=Ke(t),[i,a]=n(t,{collectionElement:null,collectionRef:{current:null},collectionRefObject:{current:null},itemMap:new Qe,setItemMap:Ye(()=>void 0,`setItemMap`)}),o=Ye(({state:e,...t})=>e?(0,L.jsx)(c,{...t,state:e}):(0,L.jsx)(s,{...t}),`CollectionProvider`);o.displayName=t;let s=Ye(e=>{let t=h();return(0,L.jsx)(c,{...e,state:t})},`CollectionInit`);s.displayName=t+`Init`;let c=Ye(e=>{let{scope:t,children:n,state:r}=e,a=_.useRef(null),[o,s]=_.useState(null),c=be(a,s),[l,u]=r;return _.useEffect(()=>{if(!o)return;let e=ot(()=>{});return e.observe(o,{childList:!0,subtree:!0}),()=>{e.disconnect()}},[o]),(0,L.jsx)(i,{scope:t,itemMap:l,setItemMap:u,collectionRef:c,collectionRefObject:a,collectionElement:o,children:n})},`CollectionProviderImpl`);c.displayName=t+`Impl`;let l=e+`CollectionSlot`,u=I(l),d=_.forwardRef((e,t)=>{let{scope:n,children:r}=e,i=be(t,a(l,n).collectionRef);return(0,L.jsx)(u,{ref:i,children:r})});d.displayName=l;let f=e+`CollectionItemSlot`,p=I(f),m=_.forwardRef((e,t)=>{let{scope:n,children:r,...i}=e,o=_.useRef(null),[s,c]=_.useState(null),l=be(t,o,c),{setItemMap:u}=a(f,n),d=_.useRef(i);rt(d.current,i)||(d.current=i);let m=d.current;return _.useEffect(()=>{let e=m;return u(t=>s?t.has(s)?t.set(s,{...e,element:s}).toSorted(at):(t.set(s,{...e,element:s}),t.toSorted(at)):t),()=>{u(e=>!s||!e.has(s)?e:(e.delete(s),new Qe(e)))}},[s,m,u]),(0,L.jsx)(p,{"data-radix-collection-item":``,ref:l,children:r})});m.displayName=f;function h(){return _.useState(new Qe)}Ye(h,`useInitCollection`);function g(t){let{itemMap:n}=a(e+`CollectionConsumer`,t);return n}return Ye(g,`useCollection`),[{Provider:o,Slot:d,ItemSlot:m},{createCollectionScope:r,useCollection:g,useInitCollection:h}]}Ye(nt,`createCollection`);function rt(e,t){if(e===t)return!0;if(typeof e!=`object`||typeof t!=`object`||e==null||t==null)return!1;let n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(let r of n)if(!Object.prototype.hasOwnProperty.call(t,r)||e[r]!==t[r])return!1;return!0}Ye(rt,`shallowEqual`);function it(e,t){return!!(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_PRECEDING)}Ye(it,`isElementPreceding`);function at(e,t){return!e[1].element||!t[1].element?0:it(e[1].element,t[1].element)?-1:1}Ye(at,`sortByDocumentPosition`);function ot(e){return new MutationObserver(t=>{for(let n of t)if(n.type===`childList`){e();return}})}Ye(ot,`getChildListObserver`);var st=Object.defineProperty,ct=(e,t)=>st(e,`name`,{value:t,configurable:!0}),lt=!!(typeof window<`u`&&window.document&&window.document.createElement);function ut(e,t,{checkForDefaultPrevented:n=!0}={}){return ct(function(r){if(e?.(r),n===!1||!r||!r.defaultPrevented)return t?.(r)},`handleEvent`)}ct(ut,`composeEventHandlers`);function dt(e){if(!lt)throw Error(`Cannot access window outside of the DOM`);return e?.ownerDocument?.defaultView??window}ct(dt,`getOwnerWindow`);function ft(e){if(!lt)throw Error(`Cannot access document outside of the DOM`);return e?.ownerDocument??document}ct(ft,`getOwnerDocument`);function pt(e,t=!1){let{activeElement:n}=ft(e);if(!n?.nodeName)return null;if(mt(n)&&n.contentDocument)return pt(n.contentDocument.body,t);if(t){let e=n.getAttribute(`aria-activedescendant`);if(e){let t=ft(n).getElementById(e);if(t)return t}}return n}ct(pt,`getActiveElement`);function mt(e){return e.tagName===`IFRAME`}ct(mt,`isFrame`);var ht=globalThis?.document?_.useLayoutEffect:()=>{},gt=Object.defineProperty,_t=(e,t)=>gt(e,`name`,{value:t,configurable:!0}),vt=_.useEffectEvent,yt=_.useInsertionEffect;function bt(e){if(typeof vt==`function`)return vt(e);let t=_.useRef(()=>{throw Error(`Cannot call an event handler while rendering.`)});return typeof yt==`function`?yt(()=>{t.current=e}):ht(()=>{t.current=e}),_.useMemo(()=>((...e)=>t.current?.(...e)),[])}_t(bt,`useEffectEvent`);var xt=Object.defineProperty,St=(e,t)=>xt(e,`name`,{value:t,configurable:!0}),Ct=_.useInsertionEffect||ht;function wt({prop:e,defaultProp:t,onChange:n=St(()=>{},`onChange`),caller:r}){let[i,a,o]=Tt({defaultProp:t,onChange:n}),s=e!==void 0;return[s?e:i,_.useCallback(t=>{if(s){let n=Et(t)?t(e):t;n!==e&&o.current?.(n)}else a(t)},[s,e,a,o])]}St(wt,`useControllableState`);function Tt({defaultProp:e,onChange:t}){let[n,r]=_.useState(e),i=_.useRef(n),a=_.useRef(t);return Ct(()=>{a.current=t},[t]),_.useEffect(()=>{i.current!==n&&(a.current?.(n),i.current=n)},[n,i]),[n,r,a]}St(Tt,`useUncontrolledState`);function Et(e){return typeof e==`function`}St(Et,`isFunction`);var Dt=Symbol(`RADIX:SYNC_STATE`);function Ot(e,t,n,r){let{prop:i,defaultProp:a,onChange:o,caller:s}=t,c=i!==void 0,l=bt(o),u=[{...n,state:a}];r&&u.push(r);let[d,f]=_.useReducer((t,n)=>{if(n.type===Dt)return{...t,state:n.state};let r=e(t,n);return c&&!Object.is(r.state,t.state)&&l(r.state),r},...u),p=d.state,m=_.useRef(p);_.useEffect(()=>{m.current!==p&&(m.current=p,c||l(p))},[p,m,c]);let h=_.useMemo(()=>i===void 0?d:{...d,state:i},[d,i]);return _.useEffect(()=>{c&&!Object.is(i,d.state)&&f({type:Dt,state:i})},[i,d.state,c]),[h,f]}St(Ot,`useControllableStateReducer`);var kt=Object.defineProperty,At=(e,t)=>kt(e,`name`,{value:t,configurable:!0});function jt(e,t){return _.useReducer((e,n)=>t[e][n]??e,e)}At(jt,`useStateMachine`);var Mt=At(e=>{let{present:t,children:n}=e,r=Nt(t),i=typeof n==`function`?n({present:r.isPresent}):_.Children.only(n),a=Ft(r.ref,Lt(i));return typeof n==`function`||r.isPresent?_.cloneElement(i,{ref:a}):null},`Presence`);function Nt(e){let[t,n]=_.useState(),r=_.useRef(null),i=_.useRef(e),a=_.useRef(`none`),o=_.useRef(void 0),[s,c]=jt(e?`mounted`:`unmounted`,{mounted:{UNMOUNT:`unmounted`,ANIMATION_OUT:`unmountSuspended`},unmountSuspended:{MOUNT:`mounted`,ANIMATION_END:`unmounted`},unmounted:{MOUNT:`mounted`}});return _.useEffect(()=>{s===`mounted`?(a.current=o.current??It(r.current),o.current=void 0):a.current=`none`},[s]),ht(()=>{let t=r.current,n=i.current;if(n!==e){let r=a.current,s=It(t);e?(o.current=s,c(`MOUNT`)):s===`none`||t?.display===`none`?c(`UNMOUNT`):c(n&&r!==s?`ANIMATION_OUT`:`UNMOUNT`),i.current=e}},[e,c]),ht(()=>{if(t){let e,n=t.ownerDocument.defaultView??window,o=At(a=>{let o=It(r.current).includes(CSS.escape(a.animationName));if(a.target===t&&o&&(c(`ANIMATION_END`),!i.current)){let r=t.style.animationFillMode;t.style.animationFillMode=`forwards`,e=n.setTimeout(()=>{t.style.animationFillMode===`forwards`&&(t.style.animationFillMode=r)})}},`handleAnimationEnd`),s=At(e=>{e.target===t&&(a.current=It(r.current))},`handleAnimationStart`);return t.addEventListener(`animationstart`,s),t.addEventListener(`animationcancel`,o),t.addEventListener(`animationend`,o),()=>{n.clearTimeout(e),t.removeEventListener(`animationstart`,s),t.removeEventListener(`animationcancel`,o),t.removeEventListener(`animationend`,o)}}c(`ANIMATION_END`)},[t,c]),{isPresent:[`mounted`,`unmountSuspended`].includes(s),ref:_.useCallback(e=>{if(e){let t=getComputedStyle(e);r.current=t,o.current=It(t)}else r.current=null;n(e)},[])}}At(Nt,`usePresence`);function Pt(e,t){if(typeof e==`function`)return e(t);e!=null&&(e.current=t)}At(Pt,`setRef`);function Ft(...e){let t=_.useRef(e);return t.current=e,_.useCallback(e=>{let n=t.current,r=!1,i=n.map(t=>{let n=Pt(t,e);return!r&&typeof n==`function`&&(r=!0),n});if(r)return()=>{for(let e=0;e<i.length;e++){let t=i[e];typeof t==`function`?t():Pt(n[e],null)}}},[])}At(Ft,`useStableComposedRefs`);function It(e){return e?.animationName||`none`}At(It,`getAnimationName`);function Lt(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}At(Lt,`getElementRef`);var Rt=Object.defineProperty,zt=(e,t)=>Rt(e,`name`,{value:t,configurable:!0}),Bt=_.useId||(()=>void 0),Vt=0;function Ht(e){let[t,n]=_.useState(Bt());return ht(()=>{e||n(e=>e??String(Vt++))},[e]),e||(t?`radix-${t}`:``)}zt(Ht,`useId`);var Ut=Object.defineProperty,Wt=(e,t)=>Ut(e,`name`,{value:t,configurable:!0}),Gt=_.createContext(void 0);function z(e){let t=_.useContext(Gt);return e||t||`ltr`}Wt(z,`useDirection`);var Kt=Object.defineProperty,qt=(e,t)=>Kt(e,`name`,{value:t,configurable:!0});function Jt(e){let t=_.useRef(e);return _.useEffect(()=>{t.current=e}),_.useMemo(()=>((...e)=>t.current?.(...e)),[])}qt(Jt,`useCallbackRef`);var Yt=Object.defineProperty,Xt=(e,t)=>Yt(e,`name`,{value:t,configurable:!0}),Zt=`dismissableLayer.update`,Qt=`dismissableLayer.pointerDownOutside`,$t=`dismissableLayer.focusOutside`,en,tn=_.createContext({layers:new Set,layersWithOutsidePointerEventsDisabled:new Set,branches:new Set,dismissableSurfaces:new Set}),nn=_.forwardRef(Xt(function(e,t){let{disableOutsidePointerEvents:n=!1,deferPointerDownOutside:r=!1,onEscapeKeyDown:i,onPointerDownOutside:a,onFocusOutside:o,onInteractOutside:s,onDismiss:c,...l}=e,u=_.useContext(tn),[d,f]=_.useState(null),p=d?.ownerDocument??globalThis?.document,[,m]=_.useState({}),h=be(t,f),g=Array.from(u.layers),[v]=[...u.layersWithOutsidePointerEventsDisabled].slice(-1),y=v?g.indexOf(v):-1,b=d?g.indexOf(d):-1,x=u.layersWithOutsidePointerEventsDisabled.size>0,S=b>=y,C=_.useRef(!1),w=on(e=>{a?.(e),s?.(e),e.defaultPrevented||c?.()},{ownerDocument:p,deferPointerDownOutside:r,isDeferredPointerDownOutsideRef:C,dismissableSurfaces:u.dismissableSurfaces,shouldHandlePointerDownOutside:_.useCallback(e=>{if(!(e instanceof Node))return!1;let t=[...u.branches].some(t=>t.contains(e));return S&&!t},[u.branches,S])}),T=sn(e=>{if(r&&C.current)return;let t=e.target;[...u.branches].some(e=>e.contains(t))||(o?.(e),s?.(e),e.defaultPrevented||c?.())},p),E=d?b===g.length-1:!1,D=Jt(e=>{e.key===`Escape`&&(i?.(e),!e.defaultPrevented&&c&&(e.preventDefault(),c()))});return _.useEffect(()=>{if(E)return p.addEventListener(`keydown`,D,{capture:!0}),()=>p.removeEventListener(`keydown`,D,{capture:!0})},[p,E,D]),_.useEffect(()=>{if(d)return n&&(u.layersWithOutsidePointerEventsDisabled.size===0&&(en=p.body.style.pointerEvents,p.body.style.pointerEvents=`none`),u.layersWithOutsidePointerEventsDisabled.add(d)),u.layers.add(d),cn(),()=>{n&&(u.layersWithOutsidePointerEventsDisabled.delete(d),u.layersWithOutsidePointerEventsDisabled.size===0&&(p.body.style.pointerEvents=en))}},[d,p,n,u]),_.useEffect(()=>()=>{d&&(u.layers.delete(d),u.layersWithOutsidePointerEventsDisabled.delete(d),cn())},[d,u]),_.useEffect(()=>{let e=Xt(()=>m({}),`handleUpdate`);return document.addEventListener(Zt,e),()=>document.removeEventListener(Zt,e)},[]),(0,L.jsx)(R.div,{...l,ref:h,style:{pointerEvents:x?S?`auto`:`none`:void 0,...e.style},onFocusCapture:ut(e.onFocusCapture,T.onFocusCapture),onBlurCapture:ut(e.onBlurCapture,T.onBlurCapture),onPointerDownCapture:ut(e.onPointerDownCapture,w.onPointerDownCapture)})},`DismissableLayer`));function rn(){let e=_.useContext(tn),[t,n]=_.useState(null);return _.useEffect(()=>{if(t)return e.dismissableSurfaces.add(t),()=>{e.dismissableSurfaces.delete(t)}},[t,e.dismissableSurfaces]),n}Xt(rn,`useDismissableLayerSurface`);var an=Xt(()=>!0,`IS_TRUE`);function on(e,t){let{ownerDocument:n=globalThis?.document,deferPointerDownOutside:r=!1,isDeferredPointerDownOutsideRef:i,dismissableSurfaces:a,shouldHandlePointerDownOutside:o=an}=t,s=Jt(e),c=_.useRef(!1),l=_.useRef(!1),u=_.useRef(new Map),d=_.useRef(()=>{});return _.useEffect(()=>{function e(){l.current=!1,i.current=!1,u.current.clear()}Xt(e,`resetOutsideInteraction`);function t(){return Array.from(u.current.values()).some(Boolean)}Xt(t,`isOutsideInteractionIntercepted`);function f(e){if(!l.current)return;let t=e.target;t instanceof Node&&[...a].some(e=>e.contains(t))||u.current.set(e.type,!0),e.type===`click`&&window.setTimeout(()=>{l.current&&d.current()},0)}Xt(f,`handleInteractionCapture`);function p(e){l.current&&u.current.set(e.type,!1)}Xt(p,`handleInteractionBubble`);let m=Xt(a=>{if(a.target&&!c.current){let f=function(){n.removeEventListener(`click`,d.current);let r=t();e(),r||ln(Qt,s,p,{discrete:!0})};if(Xt(f,`handleAndDispatchPointerDownOutsideEvent`),!o(a.target)){n.removeEventListener(`click`,d.current),e(),c.current=!1;return}let p={originalEvent:a};l.current=!0,i.current=r&&a.button===0,u.current.clear(),!r||a.button!==0?f():(n.removeEventListener(`click`,d.current),d.current=f,n.addEventListener(`click`,d.current,{once:!0}))}else n.removeEventListener(`click`,d.current),e();c.current=!1},`handlePointerDown`),h=[`pointerup`,`mousedown`,`mouseup`,`touchstart`,`touchend`,`click`];for(let e of h)n.addEventListener(e,f,!0),n.addEventListener(e,p);let g=window.setTimeout(()=>{n.addEventListener(`pointerdown`,m)},0);return()=>{window.clearTimeout(g),n.removeEventListener(`pointerdown`,m),n.removeEventListener(`click`,d.current);for(let e of h)n.removeEventListener(e,f,!0),n.removeEventListener(e,p)}},[n,s,r,i,a,o]),{onPointerDownCapture:Xt(()=>c.current=!0,`onPointerDownCapture`)}}Xt(on,`usePointerDownOutside`);function sn(e,t=globalThis?.document){let n=Jt(e),r=_.useRef(!1);return _.useEffect(()=>{let e=Xt(e=>{e.target&&!r.current&&ln($t,n,{originalEvent:e},{discrete:!1})},`handleFocus`);return t.addEventListener(`focusin`,e),()=>t.removeEventListener(`focusin`,e)},[t,n]),{onFocusCapture:Xt(()=>r.current=!0,`onFocusCapture`),onBlurCapture:Xt(()=>r.current=!1,`onBlurCapture`)}}Xt(sn,`useFocusOutside`);function cn(){let e=new CustomEvent(Zt);document.dispatchEvent(e)}Xt(cn,`dispatchUpdate`);function ln(e,t,n,{discrete:r}){let i=n.originalEvent.target,a=new CustomEvent(e,{bubbles:!1,cancelable:!0,detail:n});t&&i.addEventListener(e,t,{once:!0}),r?Re(i,a):i.dispatchEvent(a)}Xt(ln,`handleAndDispatchCustomEvent`);var un=Object.defineProperty,dn=(e,t)=>un(e,`name`,{value:t,configurable:!0}),fn=`focusScope.autoFocusOnMount`,pn=`focusScope.autoFocusOnUnmount`,mn={bubbles:!1,cancelable:!0},hn=_.forwardRef(dn(function(e,t){let{loop:n=!1,trapped:r=!1,onMountAutoFocus:i,onUnmountAutoFocus:a,...o}=e,[s,c]=_.useState(null),l=Jt(i),u=Jt(a),d=_.useRef(null),f=be(t,c),p=_.useRef({paused:!1,pause(){this.paused=!0},resume(){this.paused=!1}}).current;_.useEffect(()=>{if(r){let e=function(e){if(p.paused||!s)return;let t=e.target;s.contains(t)?d.current=t:Sn(d.current,{select:!0})},t=function(e){if(p.paused||!s)return;let t=e.relatedTarget;t!==null&&(s.contains(t)||Sn(d.current,{select:!0}))},n=function(e){if(document.activeElement===document.body)for(let t of e)t.removedNodes.length>0&&Sn(s)};dn(e,`handleFocusIn`),dn(t,`handleFocusOut`),dn(n,`handleMutations`),document.addEventListener(`focusin`,e),document.addEventListener(`focusout`,t);let r=new MutationObserver(n);return s&&r.observe(s,{childList:!0,subtree:!0}),()=>{document.removeEventListener(`focusin`,e),document.removeEventListener(`focusout`,t),r.disconnect()}}},[r,s,p.paused]),_.useEffect(()=>{if(s){Cn.add(p);let e=document.activeElement;if(!s.contains(e)){let t=new CustomEvent(fn,mn);s.addEventListener(fn,l),s.dispatchEvent(t),t.defaultPrevented||(gn(En(vn(s)),{select:!0}),document.activeElement===e&&Sn(s))}return()=>{s.removeEventListener(fn,l),setTimeout(()=>{let t=new CustomEvent(pn,mn);s.addEventListener(pn,u),s.dispatchEvent(t),t.defaultPrevented||Sn(e??document.body,{select:!0}),s.removeEventListener(pn,u),Cn.remove(p)},0)}}},[s,l,u,p]);let m=_.useCallback(e=>{if(!n&&!r||p.paused)return;let t=e.key===`Tab`&&!e.altKey&&!e.ctrlKey&&!e.metaKey,i=document.activeElement;if(t&&i){let t=e.currentTarget,[r,a]=_n(t);r&&a?!e.shiftKey&&i===a?(e.preventDefault(),n&&Sn(r,{select:!0})):e.shiftKey&&i===r&&(e.preventDefault(),n&&Sn(a,{select:!0})):i===t&&e.preventDefault()}},[n,r,p.paused]);return(0,L.jsx)(R.div,{tabIndex:-1,...o,ref:f,onKeyDown:m})},`FocusScope`));function gn(e,{select:t=!1}={}){let n=document.activeElement;for(let r of e)if(Sn(r,{select:t}),document.activeElement!==n)return}dn(gn,`focusFirst`);function _n(e){let t=vn(e);return[yn(t,e),yn(t.reverse(),e)]}dn(_n,`getTabbableEdges`);function vn(e){let t=[],n=document.createTreeWalker(e,NodeFilter.SHOW_ELEMENT,{acceptNode:dn(e=>{let t=e.tagName===`INPUT`&&e.type===`hidden`;return e.disabled||e.hidden||t?NodeFilter.FILTER_SKIP:e.tabIndex>=0?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP},`acceptNode`)});for(;n.nextNode();)t.push(n.currentNode);return t}dn(vn,`getTabbableCandidates`);function yn(e,t){let n=typeof t.checkVisibility==`function`&&t.checkVisibility({checkVisibilityCSS:!0});for(let r of e)if(!(n?!r.checkVisibility({checkVisibilityCSS:!0}):bn(r,{upTo:t})))return r}dn(yn,`findVisible`);function bn(e,{upTo:t}){if(getComputedStyle(e).visibility===`hidden`)return!0;for(;e;){if(t!==void 0&&e===t)return!1;if(getComputedStyle(e).display===`none`)return!0;e=e.parentElement}return!1}dn(bn,`isHidden`);function xn(e){return e instanceof HTMLInputElement&&`select`in e}dn(xn,`isSelectableInput`);function Sn(e,{select:t=!1}={}){if(e&&e.focus){let n=document.activeElement;e.focus({preventScroll:!0}),e!==n&&xn(e)&&t&&e.select()}}dn(Sn,`focus`);var Cn=wn();function wn(){let e=[];return{add(t){let n=e[0];t!==n&&n?.pause(),e=Tn(e,t),e.unshift(t)},remove(t){e=Tn(e,t),e[0]?.resume()}}}dn(wn,`createFocusScopesStack`);function Tn(e,t){let n=[...e],r=n.indexOf(t);return r!==-1&&n.splice(r,1),n}dn(Tn,`arrayRemove`);function En(e){return e.filter(e=>e.tagName!==`A`)}dn(En,`removeLinks`);var Dn=Object.defineProperty,On=_.forwardRef(((e,t)=>Dn(e,`name`,{value:t,configurable:!0}))(function(e,t){let{container:n,...r}=e,[i,a]=_.useState(!1);ht(()=>a(!0),[]);let o=n||i&&globalThis?.document?.body;return o?v.createPortal((0,L.jsx)(R.div,{...r,ref:t}),o):null},`Portal`)),kn=Object.defineProperty,An=(e,t)=>kn(e,`name`,{value:t,configurable:!0}),jn=0,Mn=null;function Nn(e){return Pn(),e.children}An(Nn,`FocusGuards`);function Pn(){_.useEffect(()=>{Mn||={start:Fn(),end:Fn()};let{start:e,end:t}=Mn;return document.body.firstElementChild!==e&&document.body.insertAdjacentElement(`afterbegin`,e),document.body.lastElementChild!==t&&document.body.insertAdjacentElement(`beforeend`,t),jn++,()=>{jn===1&&(Mn?.start.remove(),Mn?.end.remove(),Mn=null),jn=Math.max(0,jn-1)}},[])}An(Pn,`useFocusGuards`);function Fn(){let e=document.createElement(`span`);return e.setAttribute(`data-radix-focus-guard`,``),e.tabIndex=0,e.style.outline=`none`,e.style.opacity=`0`,e.style.position=`fixed`,e.style.pointerEvents=`none`,e}An(Fn,`createFocusGuard`);var In=function(){return In=Object.assign||function(e){for(var t,n=1,r=arguments.length;n<r;n++)for(var i in t=arguments[n],t)Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},In.apply(this,arguments)};function Ln(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(e!=null&&typeof Object.getOwnPropertySymbols==`function`)for(var i=0,r=Object.getOwnPropertySymbols(e);i<r.length;i++)t.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function Rn(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r<i;r++)(a||!(r in t))&&(a||=Array.prototype.slice.call(t,0,r),a[r]=t[r]);return e.concat(a||Array.prototype.slice.call(t))}var zn=`right-scroll-bar-position`,Bn=`width-before-scroll-bar`,Vn=`with-scroll-bars-hidden`,Hn=`--removed-body-scroll-bar-size`;function Un(e,t){return typeof e==`function`?e(t):e&&(e.current=t),e}function Wn(e,t){var n=(0,_.useState)(function(){return{value:e,callback:t,facade:{get current(){return n.value},set current(e){var t=n.value;t!==e&&(n.value=e,n.callback(e,t))}}}})[0];return n.callback=t,n.facade}var Gn=typeof window<`u`?_.useLayoutEffect:_.useEffect,Kn=new WeakMap;function qn(e,t){var n=Wn(t||null,function(t){return e.forEach(function(e){return Un(e,t)})});return Gn(function(){var t=Kn.get(n);if(t){var r=new Set(t),i=new Set(e),a=n.current;r.forEach(function(e){i.has(e)||Un(e,null)}),i.forEach(function(e){r.has(e)||Un(e,a)})}Kn.set(n,e)},[e]),n}function Jn(e){return e}function Yn(e,t){t===void 0&&(t=Jn);var n=[],r=!1;return{read:function(){if(r)throw Error("Sidecar: could not `read` from an `assigned` medium. `read` could be used only with `useMedium`.");return n.length?n[n.length-1]:e},useMedium:function(e){var i=t(e,r);return n.push(i),function(){n=n.filter(function(e){return e!==i})}},assignSyncMedium:function(e){for(r=!0;n.length;){var t=n;n=[],t.forEach(e)}n={push:function(t){return e(t)},filter:function(){return n}}},assignMedium:function(e){r=!0;var t=[];if(n.length){var i=n;n=[],i.forEach(e),t=n}var a=function(){var n=t;t=[],n.forEach(e)},o=function(){return Promise.resolve().then(a)};o(),n={push:function(e){t.push(e),o()},filter:function(e){return t=t.filter(e),n}}}}}function Xn(e){e===void 0&&(e={});var t=Yn(null);return t.options=In({async:!0,ssr:!1},e),t}var Zn=function(e){var t=e.sideCar,n=Ln(e,[`sideCar`]);if(!t)throw Error("Sidecar: please provide `sideCar` property to import the right car");var r=t.read();if(!r)throw Error(`Sidecar medium not found`);return _.createElement(r,In({},n))};Zn.isSideCarExport=!0;function Qn(e,t){return e.useMedium(t),Zn}var $n=Xn(),er=function(){},tr=_.forwardRef(function(e,t){var n=_.useRef(null),r=_.useState({onScrollCapture:er,onWheelCapture:er,onTouchMoveCapture:er}),i=r[0],a=r[1],o=e.forwardProps,s=e.children,c=e.className,l=e.removeScrollBar,u=e.enabled,d=e.shards,f=e.sideCar,p=e.noRelative,m=e.noIsolation,h=e.inert,g=e.allowPinchZoom,v=e.as,y=v===void 0?`div`:v,b=e.gapMode,x=Ln(e,[`forwardProps`,`children`,`className`,`removeScrollBar`,`enabled`,`shards`,`sideCar`,`noRelative`,`noIsolation`,`inert`,`allowPinchZoom`,`as`,`gapMode`]),S=f,C=qn([n,t]),w=In(In({},x),i);return _.createElement(_.Fragment,null,u&&_.createElement(S,{sideCar:$n,removeScrollBar:l,shards:d,noRelative:p,noIsolation:m,inert:h,setCallbacks:a,allowPinchZoom:!!g,lockRef:n,gapMode:b}),o?_.cloneElement(_.Children.only(s),In(In({},w),{ref:C})):_.createElement(y,In({},w,{className:c,ref:C}),s))});tr.defaultProps={enabled:!0,removeScrollBar:!0,inert:!1},tr.classNames={fullWidth:Bn,zeroRight:zn};var nr=function(){if(typeof __webpack_nonce__<`u`)return __webpack_nonce__};function rr(){if(!document)return null;var e=document.createElement(`style`);e.type=`text/css`;var t=nr();return t&&e.setAttribute(`nonce`,t),e}function ir(e,t){e.styleSheet?e.styleSheet.cssText=t:e.appendChild(document.createTextNode(t))}function ar(e){(document.head||document.getElementsByTagName(`head`)[0]).appendChild(e)}var or=function(){var e=0,t=null;return{add:function(n){e==0&&(t=rr())&&(ir(t,n),ar(t)),e++},remove:function(){e--,!e&&t&&(t.parentNode&&t.parentNode.removeChild(t),t=null)}}},sr=function(){var e=or();return function(t,n){_.useEffect(function(){return e.add(t),function(){e.remove()}},[t&&n])}},cr=function(){var e=sr();return function(t){var n=t.styles,r=t.dynamic;return e(n,r),null}},lr={left:0,top:0,right:0,gap:0},ur=function(e){return parseInt(e||``,10)||0},dr=function(e){var t=window.getComputedStyle(document.body),n=t[e===`padding`?`paddingLeft`:`marginLeft`],r=t[e===`padding`?`paddingTop`:`marginTop`],i=t[e===`padding`?`paddingRight`:`marginRight`];return[ur(n),ur(r),ur(i)]},fr=function(e){if(e===void 0&&(e=`margin`),typeof window>`u`)return lr;var t=dr(e),n=document.documentElement.clientWidth,r=window.innerWidth;return{left:t[0],top:t[1],right:t[2],gap:Math.max(0,r-n+t[2]-t[0])}},pr=cr(),mr=`data-scroll-locked`,hr=function(e,t,n,r){var i=e.left,a=e.top,o=e.right,s=e.gap;return n===void 0&&(n=`margin`),`\n .${Vn} {\n overflow: hidden ${r};\n padding-right: ${s}px ${r};\n }\n body[${mr}] {\n overflow: hidden ${r};\n overscroll-behavior: contain;\n ${[t&&`position: relative ${r};`,n===`margin`&&`\n padding-left: ${i}px;\n padding-top: ${a}px;\n padding-right: ${o}px;\n margin-left:0;\n margin-top:0;\n margin-right: ${s}px ${r};\n `,n===`padding`&&`padding-right: ${s}px ${r};`].filter(Boolean).join(``)}\n }\n \n .${zn} {\n right: ${s}px ${r};\n }\n \n .${Bn} {\n margin-right: ${s}px ${r};\n }\n \n .${zn} .${zn} {\n right: 0 ${r};\n }\n \n .${Bn} .${Bn} {\n margin-right: 0 ${r};\n }\n \n body[${mr}] {\n ${Hn}: ${s}px;\n }\n`},gr=function(){var e=parseInt(document.body.getAttribute(`data-scroll-locked`)||`0`,10);return isFinite(e)?e:0},_r=function(){_.useEffect(function(){return document.body.setAttribute(mr,(gr()+1).toString()),function(){var e=gr()-1;e<=0?document.body.removeAttribute(mr):document.body.setAttribute(mr,e.toString())}},[])},vr=function(e){var t=e.noRelative,n=e.noImportant,r=e.gapMode,i=r===void 0?`margin`:r;_r();var a=_.useMemo(function(){return fr(i)},[i]);return _.createElement(pr,{styles:hr(a,!t,i,n?``:`!important`)})},yr=!1;if(typeof window<`u`)try{var br=Object.defineProperty({},"passive",{get:function(){return yr=!0,!0}});window.addEventListener(`test`,br,br),window.removeEventListener(`test`,br,br)}catch{yr=!1}var xr=yr?{passive:!1}:!1,Sr=function(e){return e.tagName===`TEXTAREA`},Cr=function(e,t){if(!(e instanceof Element))return!1;var n=window.getComputedStyle(e);return n[t]!==`hidden`&&!(n.overflowY===n.overflowX&&!Sr(e)&&n[t]===`visible`)},wr=function(e){return Cr(e,`overflowY`)},Tr=function(e){return Cr(e,`overflowX`)},Er=function(e,t){var n=t.ownerDocument,r=t;do{if(typeof ShadowRoot<`u`&&r instanceof ShadowRoot&&(r=r.host),kr(e,r)){var i=Ar(e,r);if(i[1]>i[2])return!0}r=r.parentNode}while(r&&r!==n.body);return!1},Dr=function(e){return[e.scrollTop,e.scrollHeight,e.clientHeight]},Or=function(e){return[e.scrollLeft,e.scrollWidth,e.clientWidth]},kr=function(e,t){return e===`v`?wr(t):Tr(t)},Ar=function(e,t){return e===`v`?Dr(t):Or(t)},jr=function(e,t){return e===`h`&&t===`rtl`?-1:1},Mr=function(e,t,n,r,i){var a=jr(e,window.getComputedStyle(t).direction),o=a*r,s=n.target,c=t.contains(s),l=!1,u=o>0,d=0,f=0;do{if(!s)break;var p=Ar(e,s),m=p[0],h=p[1]-p[2]-a*m;(m||h)&&kr(e,s)&&(d+=h,f+=m);var g=s.parentNode;s=g&&g.nodeType===Node.DOCUMENT_FRAGMENT_NODE?g.host:g}while(!c&&s!==document.body||c&&(t.contains(s)||t===s));return(u&&(i&&Math.abs(d)<1||!i&&o>d)||!u&&(i&&Math.abs(f)<1||!i&&-o>f))&&(l=!0),l},Nr=function(e){return`changedTouches`in e?[e.changedTouches[0].clientX,e.changedTouches[0].clientY]:[0,0]},Pr=function(e){return[e.deltaX,e.deltaY]},Fr=function(e){return e&&`current`in e?e.current:e},Ir=function(e,t){return e[0]===t[0]&&e[1]===t[1]},Lr=function(e){return`\n .block-interactivity-${e} {pointer-events: none;}\n .allow-interactivity-${e} {pointer-events: all;}\n`},Rr=0,zr=[];function Br(e){var t=_.useRef([]),n=_.useRef([0,0]),r=_.useRef(),i=_.useState(Rr++)[0],a=_.useState(cr)[0],o=_.useRef(e);_.useEffect(function(){o.current=e},[e]),_.useEffect(function(){if(e.inert){document.body.classList.add(`block-interactivity-${i}`);var t=Rn([e.lockRef.current],(e.shards||[]).map(Fr),!0).filter(Boolean);return t.forEach(function(e){return e.classList.add(`allow-interactivity-${i}`)}),function(){document.body.classList.remove(`block-interactivity-${i}`),t.forEach(function(e){return e.classList.remove(`allow-interactivity-${i}`)})}}},[e.inert,e.lockRef.current,e.shards]);var s=_.useCallback(function(e,t){if(`touches`in e&&e.touches.length===2||e.type===`wheel`&&e.ctrlKey)return!o.current.allowPinchZoom;var i=Nr(e),a=n.current,s=`deltaX`in e?e.deltaX:a[0]-i[0],c=`deltaY`in e?e.deltaY:a[1]-i[1],l,u=e.target,d=Math.abs(s)>Math.abs(c)?`h`:`v`;if(`touches`in e&&d===`h`&&u.type===`range`)return!1;var f=window.getSelection(),p=f&&f.anchorNode;if(p&&(p===u||p.contains(u)))return!1;var m=Er(d,u);if(!m)return!0;if(m?l=d:(l=d===`v`?`h`:`v`,m=Er(d,u)),!m)return!1;if(!r.current&&`changedTouches`in e&&(s||c)&&(r.current=l),!l)return!0;var h=r.current||l;return Mr(h,t,e,h===`h`?s:c,!0)},[]),c=_.useCallback(function(e){var n=e;if(zr.length&&zr[zr.length-1]===a){var r=`deltaY`in n?Pr(n):Nr(n),i=t.current.filter(function(e){return e.name===n.type&&(e.target===n.target||n.target===e.shadowParent)&&Ir(e.delta,r)})[0];if(i&&i.should)n.cancelable&&n.preventDefault();else if(!i){var c=(o.current.shards||[]).map(Fr).filter(Boolean).filter(function(e){return e.contains(n.target)});(c.length>0?s(n,c[0]):!o.current.noIsolation)&&n.cancelable&&n.preventDefault()}}},[]),l=_.useCallback(function(e,n,r,i){var a={name:e,delta:n,target:r,should:i,shadowParent:Vr(r)};t.current.push(a),setTimeout(function(){t.current=t.current.filter(function(e){return e!==a})},1)},[]),u=_.useCallback(function(e){n.current=Nr(e),r.current=void 0},[]),d=_.useCallback(function(t){l(t.type,Pr(t),t.target,s(t,e.lockRef.current))},[]),f=_.useCallback(function(t){l(t.type,Nr(t),t.target,s(t,e.lockRef.current))},[]);_.useEffect(function(){return zr.push(a),e.setCallbacks({onScrollCapture:d,onWheelCapture:d,onTouchMoveCapture:f}),document.addEventListener(`wheel`,c,xr),document.addEventListener(`touchmove`,c,xr),document.addEventListener(`touchstart`,u,xr),function(){zr=zr.filter(function(e){return e!==a}),document.removeEventListener(`wheel`,c,xr),document.removeEventListener(`touchmove`,c,xr),document.removeEventListener(`touchstart`,u,xr)}},[]);var p=e.removeScrollBar,m=e.inert;return _.createElement(_.Fragment,null,m?_.createElement(a,{styles:Lr(i)}):null,p?_.createElement(vr,{noRelative:e.noRelative,gapMode:e.gapMode}):null)}function Vr(e){for(var t=null;e!==null;)e instanceof ShadowRoot&&(t=e.host,e=e.host),e=e.parentNode;return t}var Hr=Qn($n,Br),Ur=_.forwardRef(function(e,t){return _.createElement(tr,In({},e,{ref:t,sideCar:Hr}))});Ur.classNames=tr.classNames;var Wr=function(e){return typeof document>`u`?null:(Array.isArray(e)?e[0]:e).ownerDocument.body},Gr=new WeakMap,Kr=new WeakMap,qr={},Jr=0,Yr=function(e){return e&&(e.host||Yr(e.parentNode))},Xr=function(e,t){return t.map(function(t){if(e.contains(t))return t;var n=Yr(t);return n&&e.contains(n)?n:(console.error(`aria-hidden`,t,`in not contained inside`,e,`. Doing nothing`),null)}).filter(function(e){return!!e})},Zr=function(e,t,n,r){var i=Xr(t,Array.isArray(e)?e:[e]);qr[n]||(qr[n]=new WeakMap);var a=qr[n],o=[],s=new Set,c=new Set(i),l=function(e){e&&!s.has(e)&&(s.add(e),l(e.parentNode))};i.forEach(l);var u=function(e){e&&!c.has(e)&&Array.prototype.forEach.call(e.children,function(e){if(s.has(e))u(e);else try{var t=e.getAttribute(r),i=t!==null&&t!==`false`,c=(Gr.get(e)||0)+1,l=(a.get(e)||0)+1;Gr.set(e,c),a.set(e,l),o.push(e),c===1&&i&&Kr.set(e,!0),l===1&&e.setAttribute(n,`true`),i||e.setAttribute(r,`true`)}catch(t){console.error(`aria-hidden: cannot operate on `,e,t)}})};return u(t),s.clear(),Jr++,function(){o.forEach(function(e){var t=Gr.get(e)-1,i=a.get(e)-1;Gr.set(e,t),a.set(e,i),t||(Kr.has(e)||e.removeAttribute(r),Kr.delete(e)),i||e.removeAttribute(n)}),Jr--,Jr||(Gr=new WeakMap,Gr=new WeakMap,Kr=new WeakMap,qr={})}},Qr=function(e,t,n){n===void 0&&(n=`data-aria-hidden`);var r=Array.from(Array.isArray(e)?e:[e]),i=t||Wr(e);return i?(r.push.apply(r,Array.from(i.querySelectorAll(`[aria-live], script`))),Zr(r,i,n,`aria-hidden`)):function(){return null}},$r=Object.defineProperty,ei=(e,t)=>$r(e,`name`,{value:t,configurable:!0}),ti=`Dialog`,[ni,ri]=Ke(ti),[ii,ai]=ni(ti),oi=ei(e=>{let{__scopeDialog:t,children:n,open:r,defaultOpen:i,onOpenChange:a,modal:o=!0}=e,s=_.useRef(null),c=_.useRef(null),[l,u]=wt({prop:r,defaultProp:i??!1,onChange:a,caller:ti}),[d,f]=_.useState(0),[p,m]=_.useState(0);return(0,L.jsx)(ii,{scope:t,triggerRef:s,contentRef:c,contentId:Ht(),titleId:Ht(),descriptionId:Ht(),titlePresent:d>0,descriptionPresent:p>0,setTitleCount:f,setDescriptionCount:m,open:l,onOpenChange:u,onOpenToggle:_.useCallback(()=>u(e=>!e),[u]),modal:o,children:n})},`Dialog`),si=`DialogPortal`,[ci,li]=ni(si,{forceMount:void 0}),ui=ei(e=>{let{__scopeDialog:t,forceMount:n,children:r,container:i}=e,a=ai(si,t);return(0,L.jsx)(ci,{scope:t,forceMount:n,children:_.Children.map(r,e=>(0,L.jsx)(Mt,{present:n||a.open,children:(0,L.jsx)(On,{asChild:!0,container:i,children:e})}))})},`DialogPortal`),di=`DialogOverlay`,fi=_.forwardRef(ei(function(e,t){let n=li(di,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=ai(di,e.__scopeDialog);return a.modal?(0,L.jsx)(Mt,{present:r||a.open,children:(0,L.jsx)(mi,{...i,ref:t})}):null},`DialogOverlay`)),pi=I(`DialogOverlay.RemoveScroll`),mi=_.forwardRef(ei(function(e,t){let{__scopeDialog:n,...r}=e,i=ai(di,n),a=be(t,rn());return(0,L.jsx)(Ur,{as:pi,allowPinchZoom:!0,shards:[i.contentRef],children:(0,L.jsx)(R.div,{"data-state":Ei(i.open),...r,ref:a,style:{pointerEvents:`auto`,...r.style}})})},`DialogOverlayImpl`)),hi=`DialogContent`,gi=_.forwardRef(ei(function(e,t){let n=li(hi,e.__scopeDialog),{forceMount:r=n.forceMount,...i}=e,a=ai(hi,e.__scopeDialog);return(0,L.jsx)(Mt,{present:r||a.open,children:a.modal?(0,L.jsx)(_i,{...i,ref:t}):(0,L.jsx)(vi,{...i,ref:t})})},`DialogContent`)),_i=_.forwardRef(ei(function(e,t){let n=ai(hi,e.__scopeDialog),r=_.useRef(null),i=be(t,n.contentRef,r);return _.useEffect(()=>{let e=r.current;if(e)return Qr(e)},[]),(0,L.jsx)(yi,{...e,ref:i,trapFocus:n.open,disableOutsidePointerEvents:n.open,onCloseAutoFocus:ut(e.onCloseAutoFocus,e=>{e.preventDefault(),n.triggerRef.current?.focus()}),onPointerDownOutside:ut(e.onPointerDownOutside,e=>{let t=e.detail.originalEvent,n=t.button===0&&t.ctrlKey===!0;(t.button===2||n)&&e.preventDefault()}),onFocusOutside:ut(e.onFocusOutside,e=>e.preventDefault())})},`DialogContentModal`)),vi=_.forwardRef(ei(function(e,t){let n=ai(hi,e.__scopeDialog),r=_.useRef(!1),i=_.useRef(!1);return(0,L.jsx)(yi,{...e,ref:t,trapFocus:!1,disableOutsidePointerEvents:!1,onCloseAutoFocus:t=>{e.onCloseAutoFocus?.(t),t.defaultPrevented||(r.current||n.triggerRef.current?.focus(),t.preventDefault()),r.current=!1,i.current=!1},onInteractOutside:t=>{e.onInteractOutside?.(t),t.defaultPrevented||(r.current=!0,t.detail.originalEvent.type===`pointerdown`&&(i.current=!0));let a=t.target;n.triggerRef.current?.contains(a)&&t.preventDefault(),t.detail.originalEvent.type===`focusin`&&i.current&&t.preventDefault()}})},`DialogContentNonModal`)),yi=_.forwardRef(ei(function(e,t){let{__scopeDialog:n,trapFocus:r,onOpenAutoFocus:i,onCloseAutoFocus:a,...o}=e,s=ai(hi,n);return Pn(),(0,L.jsx)(L.Fragment,{children:(0,L.jsx)(hn,{asChild:!0,loop:!0,trapped:r,onMountAutoFocus:i,onUnmountAutoFocus:a,children:(0,L.jsx)(nn,{role:`dialog`,id:s.contentId,"aria-describedby":s.descriptionPresent?s.descriptionId:void 0,"aria-labelledby":s.titlePresent?s.titleId:void 0,"data-state":Ei(s.open),...o,ref:t,deferPointerDownOutside:!0,onDismiss:()=>s.onOpenChange(!1)})})})},`DialogContentImpl`)),bi=`DialogTitle`,xi=_.forwardRef(ei(function(e,t){let{__scopeDialog:n,...r}=e,i=ai(bi,n),{setTitleCount:a}=i;return ht(()=>(a(e=>e+1),()=>a(e=>e-1)),[a]),(0,L.jsx)(R.h2,{id:i.titleId,...r,ref:t})},`DialogTitle`)),Si=`DialogDescription`,Ci=_.forwardRef(ei(function(e,t){let{__scopeDialog:n,...r}=e,i=ai(Si,n),{setDescriptionCount:a}=i;return ht(()=>(a(e=>e+1),()=>a(e=>e-1)),[a]),(0,L.jsx)(R.p,{id:i.descriptionId,...r,ref:t})},`DialogDescription`)),wi=`DialogClose`,Ti=_.forwardRef(ei(function(e,t){let{__scopeDialog:n,...r}=e,i=ai(wi,n);return(0,L.jsx)(R.button,{type:`button`,...r,ref:t,onClick:ut(e.onClick,()=>i.onOpenChange(!1))})},`DialogClose`));function Ei(e){return e?`open`:`closed`}ei(Ei,`getState`);var Di=Object.defineProperty,Oi=(e,t)=>Di(e,`name`,{value:t,configurable:!0});function ki(e){let[t,n]=_.useState(void 0);return ht(()=>{if(e){n({width:e.offsetWidth,height:e.offsetHeight});let t=new ResizeObserver(t=>{if(!Array.isArray(t)||!t.length)return;let r=t[0],i,a;if(`borderBoxSize`in r){let e=r.borderBoxSize,t=Array.isArray(e)?e[0]:e;i=t.inlineSize,a=t.blockSize}else i=e.offsetWidth,a=e.offsetHeight;n({width:i,height:a})});return t.observe(e,{box:`border-box`}),()=>t.unobserve(e)}n(void 0)},[e]),t}Oi(ki,`useSize`);var Ai=[`top`,`right`,`bottom`,`left`],ji=Math.min,Mi=Math.max,Ni=Math.round,Pi=Math.floor,Fi=e=>({x:e,y:e}),Ii={left:`right`,right:`left`,bottom:`top`,top:`bottom`};function Li(e,t,n){return Mi(e,ji(t,n))}function Ri(e,t){return typeof e==`function`?e(t):e}function zi(e){return e.split(`-`)[0]}function Bi(e){return e.split(`-`)[1]}function Vi(e){return e===`x`?`y`:`x`}function Hi(e){return e===`y`?`height`:`width`}function Ui(e){let t=e[0];return t===`t`||t===`b`?`y`:`x`}function Wi(e){return Vi(Ui(e))}function Gi(e,t,n){n===void 0&&(n=!1);let r=Bi(e),i=Wi(e),a=Hi(i),o=i===`x`?r===(n?`end`:`start`)?`right`:`left`:r===`start`?`bottom`:`top`;return t.reference[a]>t.floating[a]&&(o=ea(o)),[o,ea(o)]}function Ki(e){let t=ea(e);return[qi(e),t,qi(t)]}function qi(e){return e.includes(`start`)?e.replace(`start`,`end`):e.replace(`end`,`start`)}var Ji=[`left`,`right`],Yi=[`right`,`left`],Xi=[`top`,`bottom`],Zi=[`bottom`,`top`];function Qi(e,t,n){switch(e){case`top`:case`bottom`:return n?t?Yi:Ji:t?Ji:Yi;case`left`:case`right`:return t?Xi:Zi;default:return[]}}function $i(e,t,n,r){let i=Bi(e),a=Qi(zi(e),n===`start`,r);return i&&(a=a.map(e=>e+`-`+i),t&&(a=a.concat(a.map(qi)))),a}function ea(e){let t=zi(e);return Ii[t]+e.slice(t.length)}function ta(e){return{top:e.top??0,right:e.right??0,bottom:e.bottom??0,left:e.left??0}}function na(e){return typeof e==`number`?{top:e,right:e,bottom:e,left:e}:ta(e)}function ra(e){let{x:t,y:n,width:r,height:i}=e;return{width:r,height:i,top:n,left:t,right:t+r,bottom:n+i,x:t,y:n}}function ia(e,t,n){let{reference:r,floating:i}=e,a=Ui(t),o=Wi(t),s=Hi(o),c=zi(t),l=a===`y`,u=r.x+r.width/2-i.width/2,d=r.y+r.height/2-i.height/2,f=r[s]/2-i[s]/2,p;switch(c){case`top`:p={x:u,y:r.y-i.height};break;case`bottom`:p={x:u,y:r.y+r.height};break;case`right`:p={x:r.x+r.width,y:d};break;case`left`:p={x:r.x-i.width,y:d};break;default:p={x:r.x,y:r.y}}let m=Bi(t);return m&&(p[o]+=f*(m===`end`?1:-1)*(n&&l?-1:1)),p}async function B(e,t){t===void 0&&(t={});let{x:n,y:r,platform:i,rects:a,elements:o,strategy:s}=e,{boundary:c=`clippingAncestors`,rootBoundary:l=`viewport`,elementContext:u=`floating`,altBoundary:d=!1,padding:f=0}=Ri(t,e),p=na(f),m=o[d?u===`floating`?`reference`:`floating`:u],h=ra(await i.getClippingRect({element:await(i.isElement==null?void 0:i.isElement(m))??!0?m:m.contextElement||await(i.getDocumentElement==null?void 0:i.getDocumentElement(o.floating)),boundary:c,rootBoundary:l,strategy:s})),g=u===`floating`?{x:n,y:r,width:a.floating.width,height:a.floating.height}:a.reference,_=await(i.getOffsetParent==null?void 0:i.getOffsetParent(o.floating)),v=await(i.isElement==null?void 0:i.isElement(_))&&await(i.getScale==null?void 0:i.getScale(_))||{x:1,y:1},y=ra(i.convertOffsetParentRelativeRectToViewportRelativeRect?await i.convertOffsetParentRelativeRectToViewportRelativeRect({elements:o,rect:g,offsetParent:_,strategy:s}):g);return{top:(h.top-y.top+p.top)/v.y,bottom:(y.bottom-h.bottom+p.bottom)/v.y,left:(h.left-y.left+p.left)/v.x,right:(y.right-h.right+p.right)/v.x}}var aa=50,oa=async(e,t,n)=>{let{placement:r=`bottom`,strategy:i=`absolute`,middleware:a=[],platform:o}=n,s=o.detectOverflow?o:{...o,detectOverflow:B},c=await(o.isRTL==null?void 0:o.isRTL(t)),l=await o.getElementRects({reference:e,floating:t,strategy:i}),{x:u,y:d}=ia(l,r,c),f=r,p=0,m={};for(let n=0;n<a.length;n++){let h=a[n];if(!h)continue;let{name:g,fn:_}=h,{x:v,y,data:b,reset:x}=await _({x:u,y:d,initialPlacement:r,placement:f,strategy:i,middlewareData:m,rects:l,platform:s,elements:{reference:e,floating:t}});u=v??u,d=y??d,m[g]={...m[g],...b},x&&p<aa&&(p++,typeof x==`object`&&(x.placement&&(f=x.placement),x.rects&&(l=x.rects===!0?await o.getElementRects({reference:e,floating:t,strategy:i}):x.rects),{x:u,y:d}=ia(l,f,c)),n=-1)}return{x:u,y:d,placement:f,strategy:i,middlewareData:m}},sa=e=>({name:`arrow`,options:e,async fn(t){let{x:n,y:r,placement:i,rects:a,platform:o,elements:s,middlewareData:c}=t,{element:l,padding:u=0}=Ri(e,t)||{};if(l==null)return{};let d=na(u),f={x:n,y:r},p=Wi(i),m=Hi(p),h=await o.getDimensions(l),g=p===`y`,_=g?`top`:`left`,v=g?`bottom`:`right`,y=g?`clientHeight`:`clientWidth`,b=a.reference[m]+a.reference[p]-f[p]-a.floating[m],x=f[p]-a.reference[p],S=await(o.getOffsetParent==null?void 0:o.getOffsetParent(l)),C=S?S[y]:0;(!C||!await(o.isElement==null?void 0:o.isElement(S)))&&(C=s.floating[y]||a.floating[m]);let w=b/2-x/2,T=C/2-h[m]/2-1,E=ji(d[_],T),D=ji(d[v],T),ee=C-h[m]-D,O=C/2-h[m]/2+w,te=Li(E,O,ee),k=!c.arrow&&Bi(i)!=null&&O!==te&&a.reference[m]/2-(O<E?E:D)-h[m]/2<0,A=k?O<E?O-E:O-ee:0;return{[p]:f[p]+A,data:{[p]:te,centerOffset:O-te-A,...k&&{alignmentOffset:A}},reset:k}}}),ca=function(e){return e===void 0&&(e={}),{name:`flip`,options:e,async fn(t){var n;let{placement:r,middlewareData:i,rects:a,initialPlacement:o,platform:s,elements:c}=t,{mainAxis:l=!0,crossAxis:u=!0,fallbackPlacements:d,fallbackStrategy:f=`bestFit`,fallbackAxisSideDirection:p=`none`,flipAlignment:m=!0,...h}=Ri(e,t);if((n=i.arrow)!=null&&n.alignmentOffset)return{};let g=zi(r),_=Ui(o),v=zi(o)===o,y=await(s.isRTL==null?void 0:s.isRTL(c.floating)),b=d||(v||!m?[ea(o)]:Ki(o)),x=p!==`none`;!d&&x&&b.push(...$i(o,m,p,y));let S=[o,...b],C=await s.detectOverflow(t,h),w=[],T=i.flip?.overflows||[];if(l&&w.push(C[g]),u){let e=Gi(r,a,y);w.push(C[e[0]],C[e[1]])}if(T=[...T,{placement:r,overflows:w}],!w.every(e=>e<=0)){let e=(i.flip?.index||0)+1,t=S[e];if(t&&(u!==`alignment`||_===Ui(t)||T.every(e=>Ui(e.placement)!==_||e.overflows[0]>0)))return{data:{index:e,overflows:T},reset:{placement:t}};let n=T.filter(e=>e.overflows[0]<=0).sort((e,t)=>e.overflows[1]-t.overflows[1])[0]?.placement;if(!n)switch(f){case`bestFit`:{let e=T.filter(e=>{if(x){let t=Ui(e.placement);return t===_||t===`y`}return!0}).map(e=>[e.placement,e.overflows.filter(e=>e>0).reduce((e,t)=>e+t,0)]).sort((e,t)=>e[1]-t[1])[0]?.[0];e&&(n=e);break}case`initialPlacement`:n=o}if(r!==n)return{reset:{placement:n}}}return{}}}};function la(e,t){return{top:e.top-t.height,right:e.right-t.width,bottom:e.bottom-t.height,left:e.left-t.width}}function ua(e){return Ai.some(t=>e[t]>=0)}var da=function(e){return e===void 0&&(e={}),{name:`hide`,options:e,async fn(t){let{rects:n,platform:r}=t,{strategy:i=`referenceHidden`,...a}=Ri(e,t);switch(i){case`referenceHidden`:{let e=la(await r.detectOverflow(t,{...a,elementContext:`reference`}),n.reference);return{data:{referenceHiddenOffsets:e,referenceHidden:ua(e)}}}case`escaped`:{let e=la(await r.detectOverflow(t,{...a,altBoundary:!0}),n.floating);return{data:{escapedOffsets:e,escaped:ua(e)}}}default:return{}}}}},fa=new Set([`left`,`top`]);async function pa(e,t){let{placement:n,platform:r,elements:i}=e,a=await(r.isRTL==null?void 0:r.isRTL(i.floating)),o=zi(n),s=Bi(n),c=Ui(n)===`y`,l=fa.has(o)?-1:1,u=a&&c?-1:1,d=Ri(t,e),{mainAxis:f,crossAxis:p,alignmentAxis:m}=typeof d==`number`?{mainAxis:d,crossAxis:0,alignmentAxis:null}:{mainAxis:d.mainAxis||0,crossAxis:d.crossAxis||0,alignmentAxis:d.alignmentAxis};return s&&typeof m==`number`&&(p=s===`end`?m*-1:m),c?{x:p*u,y:f*l}:{x:f*l,y:p*u}}var ma=function(e){return e===void 0&&(e=0),{name:`offset`,options:e,async fn(t){var n;let{x:r,y:i,placement:a,middlewareData:o}=t,s=await pa(t,e);return a===o.offset?.placement&&(n=o.arrow)!=null&&n.alignmentOffset?{}:{x:r+s.x,y:i+s.y,data:{...s,placement:a}}}}},ha=function(e){return e===void 0&&(e={}),{name:`shift`,options:e,async fn(t){let{x:n,y:r,placement:i,platform:a}=t,{mainAxis:o=!0,crossAxis:s=!1,limiter:c={fn:e=>{let{x:t,y:n}=e;return{x:t,y:n}}},...l}=Ri(e,t),u={x:n,y:r},d=await a.detectOverflow(t,l),f=Ui(i),p=Vi(f),m=u[p],h=u[f],g=(e,t)=>Li(t+d[e===`y`?`top`:`left`],t,t-d[e===`y`?`bottom`:`right`]);o&&(m=g(p,m)),s&&(h=g(f,h));let _=c.fn({...t,[p]:m,[f]:h});return{..._,data:{x:_.x-n,y:_.y-r,enabled:{[p]:o,[f]:s}}}}}},ga=function(e){return e===void 0&&(e={}),{options:e,fn(t){let{x:n,y:r,placement:i,rects:a,middlewareData:o}=t,{offset:s=0,mainAxis:c=!0,crossAxis:l=!0}=Ri(e,t),u={x:n,y:r},d=Ui(i),f=Vi(d),p=u[f],m=u[d],h=Ri(s,t),g=typeof h==`number`?{mainAxis:h,crossAxis:0}:{mainAxis:h.mainAxis??0,crossAxis:h.crossAxis??0};if(c){let e=f===`y`?`height`:`width`,t=a.reference[f]-a.floating[e]+g.mainAxis,n=a.reference[f]+a.reference[e]-g.mainAxis;p<t?p=t:p>n&&(p=n)}if(l){let e=f===`y`?`width`:`height`,t=fa.has(zi(i)),n=a.reference[d]-a.floating[e]+(t&&o.offset?.[d]||0)+(t?0:g.crossAxis),r=a.reference[d]+a.reference[e]+(t?0:o.offset?.[d]||0)-(t?g.crossAxis:0);m<n?m=n:m>r&&(m=r)}return{[f]:p,[d]:m}}}},_a=function(e){return e===void 0&&(e={}),{name:`size`,options:e,async fn(t){let{placement:n,rects:r,platform:i,elements:a}=t,{apply:o=()=>{},...s}=Ri(e,t),c=await i.detectOverflow(t,s),l=zi(n),u=Bi(n),d=Ui(n)===`y`,{width:f,height:p}=r.floating,m,h;l===`top`||l===`bottom`?(m=l,h=u===(await(i.isRTL==null?void 0:i.isRTL(a.floating))?`start`:`end`)?`left`:`right`):(h=l,m=u===`end`?`top`:`bottom`);let g=p-c.top-c.bottom,_=f-c.left-c.right,v=ji(p-c[m],g),y=ji(f-c[h],_),b=t.middlewareData.shift,x=!b,S=v,C=y;b!=null&&b.enabled.x&&(C=_),b!=null&&b.enabled.y&&(S=g),x&&!u&&(d?C=f-2*Mi(c.left,c.right):S=p-2*Mi(c.top,c.bottom)),await o({...t,availableWidth:C,availableHeight:S});let w=await i.getDimensions(a.floating);return f!==w.width||p!==w.height?{reset:{rects:!0}}:{}}}};function va(){return typeof window<`u`}function ya(e){return Sa(e)?(e.nodeName||``).toLowerCase():`#document`}function ba(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function xa(e){return((Sa(e)?e.ownerDocument:e.document)||window.document)?.documentElement}function Sa(e){return va()?e instanceof Node||e instanceof ba(e).Node:!1}function Ca(e){return va()?e instanceof Element||e instanceof ba(e).Element:!1}function wa(e){return va()?e instanceof HTMLElement||e instanceof ba(e).HTMLElement:!1}function Ta(e){return!va()||typeof ShadowRoot>`u`?!1:e instanceof ShadowRoot||e instanceof ba(e).ShadowRoot}function Ea(e){let{overflow:t,overflowX:n,overflowY:r,display:i}=La(e);return/auto|scroll|overlay|hidden|clip/.test(t+r+n)&&i!==`inline`&&i!==`contents`}function Da(e){return/^(table|td|th)$/.test(ya(e))}function Oa(e){try{if(e.matches(`:popover-open`))return!0}catch{}try{return e.matches(`:modal`)}catch{return!1}}var ka=/transform|translate|scale|rotate|perspective|filter/,Aa=/paint|layout|strict|content/,ja=e=>!!e&&e!==`none`,Ma;function Na(e){let t=Ca(e)?La(e):e;return ja(t.transform)||ja(t.translate)||ja(t.scale)||ja(t.rotate)||ja(t.perspective)||!Fa()&&(ja(t.backdropFilter)||ja(t.filter))||ka.test(t.willChange||``)||Aa.test(t.contain||``)}function Pa(e){let t=za(e);for(;wa(t)&&!Ia(t);){if(Na(t))return t;if(Oa(t))return null;t=za(t)}return null}function Fa(){return Ma??=typeof CSS<`u`&&CSS.supports&&CSS.supports(`-webkit-backdrop-filter`,`none`),Ma}function Ia(e){return/^(html|body|#document)$/.test(ya(e))}function La(e){return ba(e).getComputedStyle(e)}function Ra(e){return Ca(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function za(e){if(ya(e)===`html`)return e;let t=e.assignedSlot||e.parentNode||Ta(e)&&e.host||xa(e);return Ta(t)?t.host:t}function Ba(e){let t=za(e);return Ia(t)?(e.ownerDocument||e).body:wa(t)&&Ea(t)?t:Ba(t)}function Va(e,t,n){t===void 0&&(t=[]),n===void 0&&(n=!0);let r=Ba(e),i=r===e.ownerDocument?.body,a=ba(r);if(i){let e=Ha(a);return t.concat(a,a.visualViewport||[],Ea(r)?r:[],e&&n?Va(e):[])}return t.concat(r,Va(r,[],n))}function Ha(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}function Ua(e){let t=La(e),n=parseFloat(t.width)||0,r=parseFloat(t.height)||0,i=wa(e),a=i?e.offsetWidth:n,o=i?e.offsetHeight:r,s=Ni(n)!==a||Ni(r)!==o;return s&&(n=a,r=o),{width:n,height:r,$:s}}function Wa(e){return Ca(e)?e:e.contextElement}function Ga(e){let t=Wa(e);if(!wa(t))return Fi(1);let n=t.getBoundingClientRect(),{width:r,height:i,$:a}=Ua(t),o=(a?Ni(n.width):n.width)/r,s=(a?Ni(n.height):n.height)/i;return(!o||!Number.isFinite(o))&&(o=1),(!s||!Number.isFinite(s))&&(s=1),{x:o,y:s}}var Ka=Fi(0);function qa(e){let t=ba(e);return!Fa()||!t.visualViewport?Ka:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function Ja(e,t,n){return t===void 0&&(t=!1),!!n&&t&&n===ba(e)}function Ya(e,t,n,r){t===void 0&&(t=!1),n===void 0&&(n=!1);let i=e.getBoundingClientRect(),a=Wa(e),o=Fi(1);t&&(r?Ca(r)&&(o=Ga(r)):o=Ga(e));let s=Ja(a,n,r)?qa(a):Fi(0),c=(i.left+s.x)/o.x,l=(i.top+s.y)/o.y,u=i.width/o.x,d=i.height/o.y;if(a&&r){let e=ba(a),t=Ca(r)?ba(r):r,n=e,i=Ha(n);for(;i&&t!==n;){let e=Ga(i),t=i.getBoundingClientRect(),r=La(i),a=t.left+(i.clientLeft+parseFloat(r.paddingLeft))*e.x,o=t.top+(i.clientTop+parseFloat(r.paddingTop))*e.y;c*=e.x,l*=e.y,u*=e.x,d*=e.y,c+=a,l+=o,n=ba(i),i=Ha(n)}}return ra({width:u,height:d,x:c,y:l})}function Xa(e,t){let n=Ra(e).scrollLeft;return t?t.left+n:Ya(xa(e)).left+n}function Za(e,t){let n=e.getBoundingClientRect();return{x:n.left+t.scrollLeft-Xa(e,n),y:n.top+t.scrollTop}}function Qa(e){let{elements:t,rect:n,offsetParent:r,strategy:i}=e,a=i===`fixed`,o=xa(r),s=t?Oa(t.floating):!1;if(r===o||s&&a)return n;let c={scrollLeft:0,scrollTop:0},l=Fi(1),u=Fi(0),d=wa(r);if((d||!a)&&((ya(r)!==`body`||Ea(o))&&(c=Ra(r)),d)){let e=Ya(r);l=Ga(r),u.x=e.x+r.clientLeft,u.y=e.y+r.clientTop}let f=o&&!d&&!a?Za(o,c):Fi(0);return{width:n.width*l.x,height:n.height*l.y,x:n.x*l.x-c.scrollLeft*l.x+u.x+f.x,y:n.y*l.y-c.scrollTop*l.y+u.y+f.y}}function $a(e){return e.getClientRects?Array.from(e.getClientRects()):[]}function eo(e){let t=Ra(e),n=e.ownerDocument.body,r=Mi(e.scrollWidth,e.clientWidth,n.scrollWidth,n.clientWidth),i=Mi(e.scrollHeight,e.clientHeight,n.scrollHeight,n.clientHeight),a=-t.scrollLeft+Xa(e),o=-t.scrollTop;return La(n).direction===`rtl`&&(a+=Mi(e.clientWidth,n.clientWidth)-r),{width:r,height:i,x:a,y:o}}var to=25;function no(e,t,n){n===void 0&&(n=`viewport`);let r=n===`layoutViewport`,i=ba(e),a=xa(e),o=i.visualViewport,s=a.clientWidth,c=a.clientHeight,l=0,u=0;if(o){let e=!Fa()||t===`fixed`;r?e||(l=-o.offsetLeft,u=-o.offsetTop):(s=o.width,c=o.height,e&&(l=o.offsetLeft,u=o.offsetTop))}if(Xa(a)<=0){let e=a.ownerDocument,t=e.body,n=getComputedStyle(t),r=e.compatMode===`CSS1Compat`&&parseFloat(n.marginLeft)+parseFloat(n.marginRight)||0,i=Math.abs(a.clientWidth-t.clientWidth-r),o=getComputedStyle(a).scrollbarGutter===`stable both-edges`?i/2:i;o<=to&&(s-=o)}return{width:s,height:c,x:l,y:u}}function ro(e,t){let n=Ya(e,!0,t===`fixed`),r=n.top+e.clientTop,i=n.left+e.clientLeft,a=Ga(e);return{width:e.clientWidth*a.x,height:e.clientHeight*a.y,x:i*a.x,y:r*a.y}}function io(e,t,n){let r;if(t===`viewport`||t===`layoutViewport`)r=no(e,n,t);else if(t===`document`)r=eo(xa(e));else if(Ca(t))r=ro(t,n);else{let n=qa(e);r={x:t.x-n.x,y:t.y-n.y,width:t.width,height:t.height}}return ra(r)}function ao(e,t){let n=t.get(e);if(n)return n;let r=Va(e,[],!1).filter(e=>Ca(e)&&ya(e)!==`body`),i=null,a=La(e).position===`fixed`,o=a?za(e):e;for(;Ca(o)&&!Ia(o);){let e=La(o),t=Na(o),n=i?i.position:a?`fixed`:``;!t&&(n===`fixed`||n===`absolute`&&e.position===`static`)?r=r.filter(e=>e!==o):i=e,o=za(o)}return t.set(e,r),r}function oo(e){let{element:t,boundary:n,rootBoundary:r,strategy:i}=e,a=[...n===`clippingAncestors`?Oa(t)?[]:ao(t,this._c):[].concat(n),r],o=io(t,a[0],i),s=o.top,c=o.right,l=o.bottom,u=o.left;for(let e=1;e<a.length;e++){let n=io(t,a[e],i);s=Mi(n.top,s),c=ji(n.right,c),l=ji(n.bottom,l),u=Mi(n.left,u)}return{width:c-u,height:l-s,x:u,y:s}}function so(e){let{width:t,height:n}=Ua(e);return{width:t,height:n}}function co(e,t,n){let r=wa(t),i=xa(t),a=n===`fixed`,o=Ya(e,!0,a,t),s={scrollLeft:0,scrollTop:0},c=Fi(0);if((r||!a)&&((ya(t)!==`body`||Ea(i))&&(s=Ra(t)),r)){let e=Ya(t,!0,a,t);c.x=e.x+t.clientLeft,c.y=e.y+t.clientTop}!r&&i&&(c.x=Xa(i));let l=i&&!r&&!a?Za(i,s):Fi(0);return{x:o.left+s.scrollLeft-c.x-l.x,y:o.top+s.scrollTop-c.y-l.y,width:o.width,height:o.height}}function lo(e){return La(e).position===`static`}function uo(e,t){if(!wa(e)||La(e).position===`fixed`)return null;if(t)return t(e);let n=e.offsetParent;return xa(e)===n&&(n=n.ownerDocument.body),n}function fo(e,t){let n=ba(e);if(Oa(e))return n;if(!wa(e)){let t=za(e);for(;t&&!Ia(t);){if(Ca(t)&&!lo(t))return t;t=za(t)}return n}let r=uo(e,t);for(;r&&Da(r)&&lo(r);)r=uo(r,t);return r&&Ia(r)&&lo(r)&&!Na(r)?n:r||Pa(e)||n}var po=async function(e){let t=this.getOffsetParent||fo,n=this.getDimensions,r=await n(e.floating);return{reference:co(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:r.width,height:r.height}}};function mo(e){return La(e).direction===`rtl`}var ho={convertOffsetParentRelativeRectToViewportRelativeRect:Qa,getDocumentElement:xa,getClippingRect:oo,getOffsetParent:fo,getElementRects:po,getClientRects:$a,getDimensions:so,getScale:Ga,isElement:Ca,isRTL:mo};function go(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function _o(e,t,n){let r=null,i,a=xa(e);function o(){var e;clearTimeout(i),(e=r)==null||e.disconnect(),r=null}function s(n,c){n===void 0&&(n=!1),c===void 0&&(c=1),o();let l=e.getBoundingClientRect(),{left:u,top:d,width:f,height:p}=l;if(n||t(),!f||!p)return;let m=Pi(d),h=Pi(a.clientWidth-(u+f)),g=Pi(a.clientHeight-(d+p)),_=Pi(u),v={rootMargin:-m+`px `+-h+`px `+-g+`px `+-_+`px`,threshold:Mi(0,ji(1,c))||1},y=!0;function b(t){let n=t[0].intersectionRatio;if(!go(l,e.getBoundingClientRect()))return s();if(n!==c){if(!y)return s();n?s(!1,n):i=setTimeout(()=>{s(!1,1e-7)},1e3)}y=!1}try{r=new IntersectionObserver(b,{...v,root:a.ownerDocument})}catch{r=new IntersectionObserver(b,v)}r.observe(e)}let c=ba(e),l=()=>s(n);return c.addEventListener(`resize`,l),s(!0),()=>{c.removeEventListener(`resize`,l),o()}}function vo(e,t,n,r){r===void 0&&(r={});let{ancestorScroll:i=!0,ancestorResize:a=!0,elementResize:o=typeof ResizeObserver==`function`,layoutShift:s=typeof IntersectionObserver==`function`,animationFrame:c=!1}=r,l=Wa(e),u=i||a?[...l?Va(l):[],...t?Va(t):[]]:[];u.forEach(e=>{i&&e.addEventListener(`scroll`,n),a&&e.addEventListener(`resize`,n)});let d=l&&s?_o(l,n,a):null,f=-1,p=null;o&&(p=new ResizeObserver(e=>{let[r]=e;r&&r.target===l&&p&&t&&(p.unobserve(t),cancelAnimationFrame(f),f=requestAnimationFrame(()=>{var e;(e=p)==null||e.observe(t)})),n()}),l&&!c&&p.observe(l),t&&p.observe(t));let m,h=c?Ya(e):null;c&&g();function g(){let t=Ya(e);h&&!go(h,t)&&n(),h=t,m=requestAnimationFrame(g)}return n(),()=>{var e;u.forEach(e=>{i&&e.removeEventListener(`scroll`,n),a&&e.removeEventListener(`resize`,n)}),d?.(),(e=p)==null||e.disconnect(),p=null,c&&cancelAnimationFrame(m)}}var yo=ma,bo=ha,xo=ca,So=_a,Co=da,wo=sa,To=ga,Eo=(e,t,n)=>{let r=new Map,i=n??{},a={...ho,...i.platform,_c:r};return oa(e,t,{...i,platform:a})},Do=typeof document<`u`?_.useLayoutEffect:function(){};function Oo(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e==`function`&&e.toString()===t.toString())return!0;let n,r,i;if(e&&t&&typeof e==`object`){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(r=n;r--!==0;)if(!Oo(e[r],t[r]))return!1;return!0}if(i=Object.keys(e),n=i.length,n!==Object.keys(t).length)return!1;for(r=n;r--!==0;)if(!{}.hasOwnProperty.call(t,i[r]))return!1;for(r=n;r--!==0;){let n=i[r];if(!(n===`_owner`&&e.$$typeof)&&!Oo(e[n],t[n]))return!1}return!0}return e!==e&&t!==t}function ko(e){return typeof window>`u`?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function Ao(e,t){let n=ko(e);return Math.round(t*n)/n}function jo(e){let t=_.useRef(e);return Do(()=>{t.current=e}),t}function Mo(e){e===void 0&&(e={});let{placement:t=`bottom`,strategy:n=`absolute`,middleware:r=[],platform:i,elements:{reference:a,floating:o}={},transform:s=!0,whileElementsMounted:c,open:l}=e,[u,d]=_.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[f,p]=_.useState(r);Oo(f,r)||p(r);let[m,h]=_.useState(null),[g,y]=_.useState(null),b=_.useCallback(e=>{e!==w.current&&(w.current=e,h(e))},[]),x=_.useCallback(e=>{e!==T.current&&(T.current=e,y(e))},[]),S=a||m,C=o||g,w=_.useRef(null),T=_.useRef(null),E=_.useRef(u),D=c!=null,ee=jo(c),O=jo(i),te=jo(l),k=_.useCallback(()=>{if(!w.current||!T.current)return;let e={placement:t,strategy:n,middleware:f};O.current&&(e.platform=O.current),Eo(w.current,T.current,e).then(e=>{let t={...e,isPositioned:te.current!==!1};A.current&&!Oo(E.current,t)&&(E.current=t,v.flushSync(()=>{d(t)}))})},[f,t,n,O,te]);Do(()=>{l===!1&&E.current.isPositioned&&(E.current.isPositioned=!1,d(e=>({...e,isPositioned:!1})))},[l]);let A=_.useRef(!1);Do(()=>(A.current=!0,()=>{A.current=!1}),[]),Do(()=>{if(S&&(w.current=S),C&&(T.current=C),S&&C){if(ee.current)return ee.current(S,C,k);k()}},[S,C,k,ee,D]);let ne=_.useMemo(()=>({reference:w,floating:T,setReference:b,setFloating:x}),[b,x]),re=_.useMemo(()=>({reference:S,floating:C}),[S,C]),j=_.useMemo(()=>{let e={position:n,left:0,top:0};if(!re.floating)return e;let t=Ao(re.floating,u.x),r=Ao(re.floating,u.y);return s?{...e,transform:`translate(`+t+`px, `+r+`px)`,...ko(re.floating)>=1.5&&{willChange:`transform`}}:{position:n,left:t,top:r}},[n,s,re.floating,u.x,u.y]);return _.useMemo(()=>({...u,update:k,refs:ne,elements:re,floatingStyles:j}),[u,k,ne,re,j])}var No=e=>{function t(e){return{}.hasOwnProperty.call(e,`current`)}return{name:`arrow`,options:e,fn(n){let{element:r,padding:i}=typeof e==`function`?e(n):e;return r&&t(r)?r.current==null?{}:wo({element:r.current,padding:i}).fn(n):r?wo({element:r,padding:i}).fn(n):{}}}},Po=(e,t)=>{let n=yo(e);return{name:n.name,fn:n.fn,options:[e,t]}},Fo=(e,t)=>{let n=bo(e);return{name:n.name,fn:n.fn,options:[e,t]}},Io=(e,t)=>({fn:To(e).fn,options:[e,t]}),Lo=(e,t)=>{let n=xo(e);return{name:n.name,fn:n.fn,options:[e,t]}},Ro=(e,t)=>{let n=So(e);return{name:n.name,fn:n.fn,options:[e,t]}},zo=(e,t)=>{let n=Co(e);return{name:n.name,fn:n.fn,options:[e,t]}},Bo=(e,t)=>{let n=No(e);return{name:n.name,fn:n.fn,options:[e,t]}},Vo=Object.defineProperty,Ho=(e,t)=>Vo(e,`name`,{value:t,configurable:!0}),V=`Popper`,[Uo,Wo]=Ke(V),[Go,Ko]=Uo(V),qo=Ho(e=>{let{__scopePopper:t,children:n}=e,[r,i]=_.useState(null),[a,o]=_.useState(void 0);return(0,L.jsx)(Go,{scope:t,anchor:r,onAnchorChange:i,placementState:a,setPlacementState:o,children:n})},`Popper`),Jo=`PopperAnchor`,Yo=_.forwardRef(Ho(function(e,t){let{__scopePopper:n,virtualRef:r,...i}=e,a=Ko(Jo,n),o=_.useRef(null),s=a.onAnchorChange,c=be(t,_.useCallback(e=>{o.current=e,e&&s(e)},[s])),l=_.useRef(null);_.useEffect(()=>{if(!r)return;let e=l.current;l.current=r.current,e!==l.current&&s(l.current)});let u=a.placementState&&ns(a.placementState),d=u?.[0],f=u?.[1];return r?null:(0,L.jsx)(R.div,{"data-radix-popper-side":d,"data-radix-popper-align":f,...i,ref:c})},`PopperAnchor`)),Xo=`PopperContent`,[Zo,Qo]=Uo(Xo),$o=_.forwardRef(Ho(function(e,t){let{__scopePopper:n,side:r=`bottom`,sideOffset:i=0,align:a=`center`,alignOffset:o=0,arrowPadding:s=0,avoidCollisions:c=!0,collisionBoundary:l=[],collisionPadding:u=0,sticky:d=`partial`,hideWhenDetached:f=!1,updatePositionStrategy:p=`optimized`,onPlaced:m,...h}=e,g=Ko(Xo,n),[v,y]=_.useState(null),b=be(t,y),[x,S]=_.useState(null),C=ki(x),w=C?.width??0,T=C?.height??0,E=r+(a===`center`?``:`-`+a),D=typeof u==`number`?u:{top:0,right:0,bottom:0,left:0,...u},ee=Array.isArray(l)?l:[l],O=ee.length>0,te={padding:D,boundary:ee.filter(es),altBoundary:O},{refs:k,floatingStyles:A,placement:ne,isPositioned:re,middlewareData:j}=Mo({strategy:`fixed`,placement:E,whileElementsMounted:Ho((...e)=>vo(...e,{animationFrame:p===`always`}),`whileElementsMounted`),elements:{reference:g.anchor},middleware:[Po({mainAxis:i+T,alignmentAxis:o}),c&&Fo({mainAxis:!0,crossAxis:!1,limiter:d===`partial`?Io():void 0,...te}),c&&Lo({...te}),Ro({...te,apply:Ho(({elements:e,rects:t,availableWidth:n,availableHeight:r})=>{let{width:i,height:a}=t.reference,o=e.floating.style;o.setProperty(`--radix-popper-available-width`,`${n}px`),o.setProperty(`--radix-popper-available-height`,`${r}px`),o.setProperty(`--radix-popper-anchor-width`,`${i}px`),o.setProperty(`--radix-popper-anchor-height`,`${a}px`)},`apply`)}),x&&Bo({element:x,padding:s}),ts({arrowWidth:w,arrowHeight:T}),f&&zo({strategy:`referenceHidden`,...te,boundary:O?te.boundary:void 0})]}),M=g.setPlacementState;ht(()=>(M(ne),()=>{M(void 0)}),[ne,M]);let[ie,ae]=ns(ne),oe=Jt(m);ht(()=>{re&&oe?.()},[re,oe]);let se=j.arrow?.x,ce=j.arrow?.y,le=j.arrow?.centerOffset!==0,[ue,de]=_.useState();return ht(()=>{v&&de(window.getComputedStyle(v).zIndex)},[v]),(0,L.jsx)(`div`,{ref:k.setFloating,"data-radix-popper-content-wrapper":``,style:{...A,transform:re?A.transform:`translate(0, -200%)`,minWidth:`max-content`,zIndex:ue,"--radix-popper-transform-origin":[j.transformOrigin?.x,j.transformOrigin?.y].join(` `),...j.hide?.referenceHidden&&{visibility:`hidden`,pointerEvents:`none`}},dir:e.dir,children:(0,L.jsx)(Zo,{scope:n,placedSide:ie,placedAlign:ae,onArrowChange:S,arrowX:se,arrowY:ce,shouldHideArrow:le,children:(0,L.jsx)(R.div,{"data-side":ie,"data-align":ae,...h,ref:b,style:{...h.style,animation:re?h.style?.animation:`none`}})})})},`PopperContent`));function es(e){return e!==null}Ho(es,`isNotNull`);var ts=Ho(e=>({name:`transformOrigin`,options:e,fn(t){let{placement:n,rects:r,middlewareData:i}=t,a=i.arrow?.centerOffset!==0,o=a?0:e.arrowWidth,s=a?0:e.arrowHeight,[c,l]=ns(n),u={start:`0%`,center:`50%`,end:`100%`}[l],d=(i.arrow?.x??0)+o/2,f=(i.arrow?.y??0)+s/2,p=``,m=``;return c===`bottom`?(p=a?u:`${d}px`,m=`${-s}px`):c===`top`?(p=a?u:`${d}px`,m=`${r.floating.height+s}px`):c===`right`?(p=`${-s}px`,m=a?u:`${f}px`):c===`left`&&(p=`${r.floating.width+s}px`,m=a?u:`${f}px`),{data:{x:p,y:m}}}}),`transformOrigin`);function ns(e){let[t,n=`center`]=e.split(`-`);return[t,n]}Ho(ns,`getSideAndAlignFromPlacement`);var rs=qo,is=Yo,as=$o,os=Object.defineProperty,ss=(e,t)=>os(e,`name`,{value:t,configurable:!0}),cs=!1;function ls(){let[e,t]=_.useState(cs);return _.useEffect(()=>{cs||(cs=!0,t(!0))},[]),e}ss(ls,`useIsHydrated`);var us=_.useSyncExternalStore;function ds(){return()=>{}}ss(ds,`subscribe`);function fs(){return us(ds,()=>!0,()=>!1)}ss(fs,`useIsHydratedModern`);var ps=typeof us==`function`?fs:ls,ms=Object.defineProperty,hs=(e,t)=>ms(e,`name`,{value:t,configurable:!0}),gs=`rovingFocusGroup.onEntryFocus`,_s={bubbles:!1,cancelable:!0},vs=`RovingFocusGroup`,[ys,bs,xs]=Xe(vs),[Ss,Cs]=Ke(vs,[xs]),[ws,Ts]=Ss(vs),Es=_.forwardRef(hs(function(e,t){return(0,L.jsx)(ys.Provider,{scope:e.__scopeRovingFocusGroup,children:(0,L.jsx)(ys.Slot,{scope:e.__scopeRovingFocusGroup,children:(0,L.jsx)(Ds,{...e,ref:t})})})},`RovingFocusGroup`)),Ds=_.forwardRef(hs(function(e,t){let{__scopeRovingFocusGroup:n,orientation:r,loop:i=!1,dir:a,currentTabStopId:o,defaultCurrentTabStopId:s,onCurrentTabStopIdChange:c,onEntryFocus:l,preventScrollOnEntryFocus:u=!1,...d}=e,f=_.useRef(null),p=be(t,f),m=z(a),[h,g]=wt({prop:o,defaultProp:s??null,onChange:c,caller:vs}),[v,y]=_.useState(!1),b=Jt(l),x=bs(n),S=_.useRef(!1),[C,w]=_.useState(0);return _.useEffect(()=>{let e=f.current;if(e)return e.addEventListener(gs,b),()=>e.removeEventListener(gs,b)},[b]),(0,L.jsx)(ws,{scope:n,orientation:r,dir:m,loop:i,currentTabStopId:h,onItemFocus:_.useCallback(e=>g(e),[g]),onItemShiftTab:_.useCallback(()=>y(!0),[]),onFocusableItemAdd:_.useCallback(()=>w(e=>e+1),[]),onFocusableItemRemove:_.useCallback(()=>w(e=>e-1),[]),children:(0,L.jsx)(R.div,{tabIndex:v||C===0?-1:0,"data-orientation":r,...d,ref:p,style:{outline:`none`,...e.style},onMouseDown:ut(e.onMouseDown,()=>{S.current=!0}),onFocus:ut(e.onFocus,e=>{let t=!S.current;if(e.target===e.currentTarget&&t&&!v){let t=new CustomEvent(gs,_s);if(e.currentTarget.dispatchEvent(t),!t.defaultPrevented){let e=x().filter(e=>e.focusable);Ns([e.find(e=>e.active),e.find(e=>e.id===h),...e].filter(Boolean).map(e=>e.ref.current),u)}}S.current=!1}),onBlur:ut(e.onBlur,()=>y(!1))})})},`RovingFocusGroupImpl`)),Os=`RovingFocusGroupItem`,ks=_.forwardRef(hs(function(e,t){let{__scopeRovingFocusGroup:n,focusable:r=!0,active:i=!1,tabStopId:a,children:o,...s}=e,c=Ht(),l=a||c,u=Ts(Os,n),d=u.currentTabStopId===l,f=bs(n),{onFocusableItemAdd:p,onFocusableItemRemove:m,currentTabStopId:h}=u,g=ps();return ht(()=>{if(g&&r)return p(),()=>m()},[g,r,p,m]),_.useEffect(()=>{if(!g&&r)return p(),()=>m()},[g,r,p,m]),(0,L.jsx)(ys.ItemSlot,{scope:n,id:l,focusable:r,active:i,children:(0,L.jsx)(R.span,{tabIndex:d?0:-1,"data-orientation":u.orientation,...s,ref:t,onMouseDown:ut(e.onMouseDown,e=>{r?u.onItemFocus(l):e.preventDefault()}),onFocus:ut(e.onFocus,()=>u.onItemFocus(l)),onKeyDown:ut(e.onKeyDown,e=>{if(e.key===`Tab`&&e.shiftKey){u.onItemShiftTab();return}if(e.target!==e.currentTarget)return;let t=Ms(e,u.orientation,u.dir);if(t!==void 0){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return;e.preventDefault();let n=f().filter(e=>e.focusable).map(e=>e.ref.current);if(t===`last`)n.reverse();else if(t===`prev`||t===`next`){t===`prev`&&n.reverse();let r=n.indexOf(e.currentTarget);n=u.loop?Ps(n,r+1):n.slice(r+1)}setTimeout(()=>Ns(n))}}),children:typeof o==`function`?o({isCurrentTabStop:d,hasTabStop:h!=null}):o})})},`RovingFocusGroupItem`)),As={ArrowLeft:`prev`,ArrowUp:`prev`,ArrowRight:`next`,ArrowDown:`next`,PageUp:`first`,Home:`first`,PageDown:`last`,End:`last`};function js(e,t){return t===`rtl`?e===`ArrowLeft`?`ArrowRight`:e===`ArrowRight`?`ArrowLeft`:e:e}hs(js,`getDirectionAwareKey`);function Ms(e,t,n){let r=js(e.key,n);if(!(t===`vertical`&&[`ArrowLeft`,`ArrowRight`].includes(r))&&!(t===`horizontal`&&[`ArrowUp`,`ArrowDown`].includes(r)))return As[r]}hs(Ms,`getFocusIntent`);function Ns(e,t=!1){let n=document.activeElement;for(let r of e)if(r===n||(r.focus({preventScroll:t}),document.activeElement!==n))return}hs(Ns,`focusFirst`);function Ps(e,t){return e.map((n,r)=>e[(t+r)%e.length])}hs(Ps,`wrapArray`);var Fs=Es,Is=ks,Ls=Object.defineProperty,Rs=_.forwardRef(((e,t)=>Ls(e,`name`,{value:t,configurable:!0}))(function(e,t){return(0,L.jsx)(R.label,{...e,ref:t,onMouseDown:t=>{t.target.closest(`button, input, select, textarea`)||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}})},`Label`)),zs=Object.defineProperty,Bs=(e,t)=>zs(e,`name`,{value:t,configurable:!0}),Vs=`Switch`,[Hs,Us]=Ke(Vs),[Ws,Gs]=Hs(Vs);function Ks(e){let{__scopeSwitch:t,checked:n,children:r,defaultChecked:i,disabled:a,form:o,name:s,onCheckedChange:c,required:l,value:u=`on`,internal_do_not_use_render:d}=e,[f,p]=wt({prop:n,defaultProp:i??!1,onChange:c,caller:Vs}),[m,h]=_.useState(null),[g,v]=_.useState(null),y=_.useRef(!1),[b,x]=_.useReducer(e=>e+1,0),S={checked:f,setChecked:p,disabled:a,control:m,setControl:h,name:s,form:o,value:u,hasConsumerStoppedPropagationRef:y,userInteractionCount:b,onUserInteraction:x,required:l,defaultChecked:i,isFormControl:!m||!!o||!!m.closest(`form`),bubbleInput:g,setBubbleInput:v};return(0,L.jsx)(Ws,{scope:t,...S,children:ec(d)?d(S):r})}Bs(Ks,`SwitchProvider`);var qs=`SwitchTrigger`,Js=_.forwardRef(Bs(function({__scopeSwitch:e,onClick:t,...n},r){let{control:i,form:a,value:o,disabled:s,checked:c,required:l,setControl:u,setChecked:d,hasConsumerStoppedPropagationRef:f,onUserInteraction:p,isFormControl:m,bubbleInput:h}=Gs(qs,e),g=be(r,u),v=_.useRef(c);return _.useEffect(()=>{let e=a?i?.ownerDocument.getElementById(a):i?.form;if(e instanceof HTMLFormElement){let t=Bs(()=>d(v.current),`reset`);return e.addEventListener(`reset`,t),()=>e.removeEventListener(`reset`,t)}},[i,a,d]),(0,L.jsx)(R.button,{type:`button`,role:`switch`,"aria-checked":c,"aria-required":l,"data-state":tc(c),"data-disabled":s?``:void 0,disabled:s,value:o,...n,ref:g,onClick:ut(t,e=>{p(),d(e=>!e),h&&m&&(f.current=e.isPropagationStopped(),f.current||e.stopPropagation())})})},`SwitchTrigger`)),Ys=_.forwardRef(Bs(function(e,t){let{__scopeSwitch:n,name:r,checked:i,defaultChecked:a,required:o,disabled:s,value:c,onCheckedChange:l,form:u,...d}=e;return(0,L.jsx)(Ks,{__scopeSwitch:n,checked:i,defaultChecked:a,disabled:s,required:o,onCheckedChange:l,name:r,form:u,value:c,internal_do_not_use_render:({isFormControl:e})=>(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(Js,{...d,ref:t,__scopeSwitch:n}),e&&(0,L.jsx)($s,{__scopeSwitch:n})]})})},`Switch`)),Xs=`SwitchThumb`,Zs=_.forwardRef(Bs(function(e,t){let{__scopeSwitch:n,...r}=e,i=Gs(Xs,n);return(0,L.jsx)(R.span,{"data-state":tc(i.checked),"data-disabled":i.disabled?``:void 0,...r,ref:t})},`SwitchThumb`)),Qs=`SwitchBubbleInput`,$s=_.forwardRef(Bs(function({__scopeSwitch:e,onClick:t,...n},r){let{control:i,hasConsumerStoppedPropagationRef:a,userInteractionCount:o,checked:s,defaultChecked:c,required:l,disabled:u,name:d,value:f,form:p,bubbleInput:m,setBubbleInput:h}=Gs(Qs,e),g=be(r,h),v=ki(i),y=_.useRef(!1),b=_.useRef(s),x=_.useRef(o);_.useEffect(()=>{let e=m;if(!e)return;let t=window.HTMLInputElement.prototype,n=Object.getOwnPropertyDescriptor(t,`checked`).set,r=o!==x.current;x.current=o;let i=b.current!==s;b.current=s;let c=!(r&&a.current);if(i&&n){y.current=!r;let t=new Event(`click`,{bubbles:c});n.call(e,s),e.dispatchEvent(t),y.current=!1}},[m,s,a,o]);let S=_.useRef(s);return(0,L.jsx)(R.input,{type:`checkbox`,"aria-hidden":!0,defaultChecked:c??S.current,required:l,disabled:u,name:d,value:f,form:p,...n,tabIndex:-1,ref:g,onClick:ut(t,e=>{y.current&&e.stopPropagation()}),style:{...n.style,...v,position:`absolute`,pointerEvents:`none`,opacity:0,margin:0,transform:`translateX(-100%)`}})},`SwitchBubbleInput`));function ec(e){return typeof e==`function`}Bs(ec,`isFunction`);function tc(e){return e?`checked`:`unchecked`}Bs(tc,`getState`);var nc=Object.defineProperty,rc=(e,t)=>nc(e,`name`,{value:t,configurable:!0}),ic=`Tabs`,[ac,oc]=Ke(ic,[Cs]),sc=Cs(),[cc,lc]=ac(ic),uc=_.forwardRef(rc(function(e,t){let{__scopeTabs:n,value:r,onValueChange:i,defaultValue:a,orientation:o=`horizontal`,dir:s,activationMode:c=`automatic`,...l}=e,u=z(s),[d,f]=wt({prop:r,onChange:i,defaultProp:a??``,caller:ic});return(0,L.jsx)(cc,{scope:n,baseId:Ht(),value:d,onValueChange:f,orientation:o,dir:u,activationMode:c,children:(0,L.jsx)(R.div,{dir:u,"data-orientation":o,...l,ref:t})})},`Tabs`)),dc=`TabsList`,fc=_.forwardRef(rc(function(e,t){let{__scopeTabs:n,loop:r=!0,...i}=e,a=lc(dc,n),o=sc(n);return(0,L.jsx)(Fs,{asChild:!0,...o,orientation:a.orientation,dir:a.dir,loop:r,children:(0,L.jsx)(R.div,{role:`tablist`,"aria-orientation":a.orientation,...i,ref:t})})},`TabsList`)),pc=`TabsTrigger`,mc=_.forwardRef(rc(function(e,t){let{__scopeTabs:n,value:r,disabled:i=!1,...a}=e,o=lc(pc,n),s=sc(n),c=_c(o.baseId,r),l=vc(o.baseId,r),u=r===o.value;return(0,L.jsx)(Is,{asChild:!0,...s,focusable:!i,active:u,children:(0,L.jsx)(R.button,{type:`button`,role:`tab`,"aria-selected":u,"aria-controls":l,"data-state":u?`active`:`inactive`,"data-disabled":i?``:void 0,disabled:i,id:c,...a,ref:t,onMouseDown:ut(e.onMouseDown,e=>{!i&&e.button===0&&e.ctrlKey===!1?o.onValueChange(r):e.preventDefault()}),onKeyDown:ut(e.onKeyDown,e=>{i||e.target!==e.currentTarget||[` `,`Enter`].includes(e.key)&&o.onValueChange(r)}),onFocus:ut(e.onFocus,()=>{let e=o.activationMode!==`manual`;!u&&!i&&e&&o.onValueChange(r)})})})},`TabsTrigger`)),hc=`TabsContent`,gc=_.forwardRef(rc(function(e,t){let{__scopeTabs:n,value:r,forceMount:i,children:a,...o}=e,s=lc(hc,n),c=_c(s.baseId,r),l=vc(s.baseId,r),u=r===s.value,d=_.useRef(u);return _.useEffect(()=>{let e=requestAnimationFrame(()=>d.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,L.jsx)(Mt,{present:i||u,children:({present:n})=>(0,L.jsx)(R.div,{"data-state":u?`active`:`inactive`,"data-orientation":s.orientation,role:`tabpanel`,"aria-labelledby":c,hidden:!n,id:l,tabIndex:0,...o,ref:t,style:{...e.style,animationDuration:d.current?`0s`:void 0},children:n&&a})})},`TabsContent`));function _c(e,t){return`${e}-trigger-${t}`}rc(_c,`makeTriggerId`);function vc(e,t){return`${e}-content-${t}`}rc(vc,`makeContentId`);var yc=uc,bc=fc,xc=mc,Sc=gc,Cc=Object.defineProperty,wc=(e,t)=>Cc(e,`name`,{value:t,configurable:!0}),[Tc,Ec]=Ke(`Tooltip`,[Wo]),Dc=Wo(),Oc=`TooltipProvider`,kc=700,Ac=`tooltip.open`,[jc,Mc]=Tc(Oc),Nc=wc(e=>{let{__scopeTooltip:t,delayDuration:n=kc,skipDelayDuration:r=300,disableHoverableContent:i=!1,children:a}=e,o=_.useRef(!0),s=_.useRef(!1),c=_.useRef(0);return _.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,L.jsx)(jc,{scope:t,isOpenDelayedRef:o,delayDuration:n,onOpen:_.useCallback(()=>{r<=0||(window.clearTimeout(c.current),o.current=!1)},[r]),onClose:_.useCallback(()=>{r<=0||(window.clearTimeout(c.current),c.current=window.setTimeout(()=>o.current=!0,r))},[r]),isPointerInTransitRef:s,onPointerInTransitChange:_.useCallback(e=>{s.current=e},[]),disableHoverableContent:i,children:a})},`TooltipProvider`),Pc=`Tooltip`,[Fc,Ic]=Tc(Pc),Lc=wc(e=>{let{__scopeTooltip:t,children:n,open:r,defaultOpen:i,onOpenChange:a,disableHoverableContent:o,delayDuration:s}=e,c=Mc(Pc,e.__scopeTooltip),l=Dc(t),[u,d]=_.useState(null),[f,p]=_.useState(void 0),m=Ht(),h=_.useRef(0),g=o??c.disableHoverableContent,v=s??c.delayDuration,y=_.useRef(!1),[b,x]=wt({prop:r,defaultProp:i??!1,onChange:wc(e=>{e?(c.onOpen(),document.dispatchEvent(new CustomEvent(Ac))):c.onClose(),a?.(e)},`onChange`),caller:Pc}),S=_.useMemo(()=>b?y.current?`delayed-open`:`instant-open`:`closed`,[b]),C=_.useCallback(()=>{window.clearTimeout(h.current),h.current=0,y.current=!1,x(!0)},[x]),w=_.useCallback(()=>{window.clearTimeout(h.current),h.current=0,x(!1)},[x]),T=_.useCallback(()=>{window.clearTimeout(h.current),h.current=window.setTimeout(()=>{y.current=!0,x(!0),h.current=0},v)},[v,x]);_.useEffect(()=>()=>{h.current&&=(window.clearTimeout(h.current),0)},[]);let E=f??m;return(0,L.jsx)(rs,{...l,children:(0,L.jsx)(Fc,{scope:t,contentId:E,setContentId:p,open:b,stateAttribute:S,trigger:u,onTriggerChange:d,onTriggerEnter:_.useCallback(()=>{c.isOpenDelayedRef.current?T():C()},[c.isOpenDelayedRef,T,C]),onTriggerLeave:_.useCallback(()=>{g?w():(window.clearTimeout(h.current),h.current=0)},[w,g]),onOpen:C,onClose:w,disableHoverableContent:g,children:n})})},`Tooltip`),Rc=`TooltipTrigger`,zc=_.forwardRef(wc(function(e,t){let{__scopeTooltip:n,...r}=e,i=Ic(Rc,n),a=Mc(Rc,n),o=Dc(n),s=be(t,_.useRef(null),i.onTriggerChange),c=_.useRef(!1),l=_.useRef(!1),u=_.useCallback(()=>c.current=!1,[]);return _.useEffect(()=>()=>document.removeEventListener(`pointerup`,u),[u]),(0,L.jsx)(is,{asChild:!0,...o,children:(0,L.jsx)(R.button,{"aria-describedby":i.open?i.contentId:void 0,"data-state":i.stateAttribute,...r,ref:s,onPointerMove:ut(e.onPointerMove,e=>{e.pointerType!==`touch`&&!l.current&&!a.isPointerInTransitRef.current&&(i.onTriggerEnter(),l.current=!0)}),onPointerLeave:ut(e.onPointerLeave,()=>{i.onTriggerLeave(),l.current=!1}),onPointerDown:ut(e.onPointerDown,()=>{i.open&&i.onClose(),c.current=!0,document.addEventListener(`pointerup`,u,{once:!0})}),onFocus:ut(e.onFocus,()=>{c.current||i.onOpen()}),onBlur:ut(e.onBlur,i.onClose),onClick:ut(e.onClick,i.onClose)})})},`TooltipTrigger`)),Bc=`TooltipPortal`,[Vc,Hc]=Tc(Bc,{forceMount:void 0}),Uc=wc(e=>{let{__scopeTooltip:t,forceMount:n,children:r,container:i}=e,a=Ic(Bc,t);return(0,L.jsx)(Vc,{scope:t,forceMount:n,children:(0,L.jsx)(Mt,{present:n||a.open,children:(0,L.jsx)(On,{asChild:!0,container:i,children:r})})})},`TooltipPortal`),Wc=`TooltipContent`,Gc=_.forwardRef(wc(function(e,t){let n=Hc(Wc,e.__scopeTooltip),{forceMount:r=n.forceMount,side:i=`top`,...a}=e,o=Ic(Wc,e.__scopeTooltip);return(0,L.jsx)(Mt,{present:r||o.open,children:o.disableHoverableContent?(0,L.jsx)(Jc,{side:i,...a,ref:t}):(0,L.jsx)(Kc,{side:i,...a,ref:t})})},`TooltipContent`)),Kc=_.forwardRef(wc(function(e,t){let n=Ic(Wc,e.__scopeTooltip),r=Mc(Wc,e.__scopeTooltip),i=_.useRef(null),a=be(t,i),[o,s]=_.useState(null),{trigger:c,onClose:l}=n,u=i.current,{onPointerInTransitChange:d}=r,f=_.useCallback(()=>{s(null),d(!1)},[d]),p=_.useCallback((e,t)=>{let n=e.currentTarget,r={x:e.clientX,y:e.clientY},i=Xc(r,Yc(r,n.getBoundingClientRect())),a=Zc(t.getBoundingClientRect()),o=$c([...i,...a]);s(o),d(!0)},[d]);return _.useEffect(()=>()=>f(),[f]),_.useEffect(()=>{if(c&&u){let e=wc(e=>p(e,u),`handleTriggerLeave`),t=wc(e=>p(e,c),`handleContentLeave`);return c.addEventListener(`pointerleave`,e),u.addEventListener(`pointerleave`,t),()=>{c.removeEventListener(`pointerleave`,e),u.removeEventListener(`pointerleave`,t)}}},[c,u,p,f]),_.useEffect(()=>{if(o){let e=wc(e=>{let t=e.target,n={x:e.clientX,y:e.clientY},r=c?.contains(t)||u?.contains(t),i=!Qc(n,o);r?f():i&&(f(),l())},`handleTrackPointerGrace`);return document.addEventListener(`pointermove`,e),()=>document.removeEventListener(`pointermove`,e)}},[c,u,o,l,f]),(0,L.jsx)(Jc,{...e,ref:a})},`TooltipContentHoverable`)),qc=we(`TooltipContent`),Jc=_.forwardRef(wc(function(e,t){let{__scopeTooltip:n,children:r,"aria-label":i,id:a,onEscapeKeyDown:o,onPointerDownOutside:s,...c}=e,l=Ic(Wc,n),u=Dc(n),{onClose:d}=l;_.useEffect(()=>(document.addEventListener(Ac,d),()=>document.removeEventListener(Ac,d)),[d]),_.useEffect(()=>{if(l.trigger){let e=wc(e=>{e.target instanceof Node&&e.target.contains(l.trigger)&&d()},`handleScroll`);return window.addEventListener(`scroll`,e,{capture:!0}),()=>window.removeEventListener(`scroll`,e,{capture:!0})}},[l.trigger,d]);let{setContentId:f}=l;return ht(()=>(f(a),()=>{f(void 0)}),[a,f]),(0,L.jsx)(nn,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:o,onPointerDownOutside:s,onFocusOutside:e=>e.preventDefault(),onDismiss:d,children:(0,L.jsxs)(as,{"data-state":l.stateAttribute,role:i?void 0:`tooltip`,id:i?void 0:l.contentId,...u,...c,ref:t,style:{...c.style,"--radix-tooltip-content-transform-origin":`var(--radix-popper-transform-origin)`,"--radix-tooltip-content-available-width":`var(--radix-popper-available-width)`,"--radix-tooltip-content-available-height":`var(--radix-popper-available-height)`,"--radix-tooltip-trigger-width":`var(--radix-popper-anchor-width)`,"--radix-tooltip-trigger-height":`var(--radix-popper-anchor-height)`},children:[(0,L.jsx)(qc,{children:r}),i?(0,L.jsx)(He,{id:l.contentId,role:`tooltip`,children:i}):null]})})},`TooltipContentImpl`));function Yc(e,t){let n=Math.abs(t.top-e.y),r=Math.abs(t.bottom-e.y),i=Math.abs(t.right-e.x),a=Math.abs(t.left-e.x);switch(Math.min(n,r,i,a)){case a:return`left`;case i:return`right`;case n:return`top`;case r:return`bottom`;default:throw Error(`unreachable`)}}wc(Yc,`getExitSideFromRect`);function Xc(e,t,n=5){let r=[];switch(t){case`top`:r.push({x:e.x-n,y:e.y+n},{x:e.x+n,y:e.y+n});break;case`bottom`:r.push({x:e.x-n,y:e.y-n},{x:e.x+n,y:e.y-n});break;case`left`:r.push({x:e.x+n,y:e.y-n},{x:e.x+n,y:e.y+n});break;case`right`:r.push({x:e.x-n,y:e.y-n},{x:e.x-n,y:e.y+n})}return r}wc(Xc,`getPaddedExitPoints`);function Zc(e){let{top:t,right:n,bottom:r,left:i}=e;return[{x:i,y:t},{x:n,y:t},{x:n,y:r},{x:i,y:r}]}wc(Zc,`getPointsFromRect`);function Qc(e,t){let{x:n,y:r}=e,i=!1;for(let e=0,a=t.length-1;e<t.length;a=e++){let o=t[e],s=t[a],c=o.x,l=o.y,u=s.x,d=s.y;l>r!=d>r&&n<(u-c)*(r-l)/(d-l)+c&&(i=!i)}return i}wc(Qc,`isPointInPolygon`);function $c(e){let t=e.slice();return t.sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:+(e.y>t.y)),el(t)}wc($c,`getHull`);function el(e){if(e.length<=1)return e.slice();let t=[];for(let n=0;n<e.length;n++){let r=e[n];for(;t.length>=2;){let e=t[t.length-1],n=t[t.length-2];if((e.x-n.x)*(r.y-n.y)>=(e.y-n.y)*(r.x-n.x))t.pop();else break}t.push(r)}t.pop();let n=[];for(let t=e.length-1;t>=0;t--){let r=e[t];for(;n.length>=2;){let e=n[n.length-1],t=n[n.length-2];if((e.x-t.x)*(r.y-t.y)>=(e.y-t.y)*(r.x-t.x))n.pop();else break}n.push(r)}return n.pop(),t.length===1&&n.length===1&&t[0].x===n[0].x&&t[0].y===n[0].y?t:t.concat(n)}wc(el,`getHullPresorted`);var tl=Nc,nl=Lc,rl=zc,il=Uc,al=Gc,ol=tl;function sl({content:e,children:t,side:n=`top`}){return(0,L.jsxs)(nl,{children:[(0,L.jsx)(rl,{asChild:!0,children:t}),(0,L.jsx)(il,{children:(0,L.jsx)(al,{side:n,sideOffset:6,className:`z-[60] rounded-md border border-border bg-panel-alt px-2 py-1 text-xs text-text shadow-lg animate-in`,children:e})})]})}function cl(e){var t,n,r=``;if(typeof e==`string`||typeof e==`number`)r+=e;else if(typeof e==`object`){if(Array.isArray(e)){var i=e.length;for(t=0;t<i;t++)e[t]&&(n=cl(e[t]))&&(r&&(r+=` `),r+=n)}else for(n in e)e[n]&&(r&&(r+=` `),r+=n)}return r}function ll(){for(var e,t,n=0,r=``,i=arguments.length;n<i;n++)(e=arguments[n])&&(t=cl(e))&&(r&&(r+=` `),r+=t);return r}var ul=(e,t)=>{let n=Array(e.length+t.length);for(let t=0;t<e.length;t++)n[t]=e[t];for(let r=0;r<t.length;r++)n[e.length+r]=t[r];return n},dl=(e,t)=>({classGroupId:e,validator:t}),fl=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),pl=`-`,ml=[],hl=`arbitrary..`,gl=e=>{let t=yl(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:e=>{if(e.startsWith(`[`)&&e.endsWith(`]`))return vl(e);let n=e.split(pl);return _l(n,+(n[0]===``&&n.length>1),t)},getConflictingClassGroupIds:(e,t)=>{if(t){let t=r[e],i=n[e];return t?i?ul(i,t):t:i||ml}return n[e]||ml}}},_l=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;let r=e[t],i=n.nextPart.get(r);if(i){let n=_l(e,t+1,i);if(n)return n}let a=n.validators;if(a===null)return;let o=t===0?e.join(pl):e.slice(t).join(pl),s=a.length;for(let e=0;e<s;e++){let t=a[e];if(t.validator(o))return t.classGroupId}},vl=e=>e.slice(1,-1).indexOf(`:`)===-1?void 0:(()=>{let t=e.slice(1,-1),n=t.indexOf(`:`),r=t.slice(0,n);return r?hl+r:void 0})(),yl=e=>{let{theme:t,classGroups:n}=e;return bl(n,t)},bl=(e,t)=>{let n=fl();for(let r in e){let i=e[r];xl(i,n,r,t)}return n},xl=(e,t,n,r)=>{let i=e.length;for(let a=0;a<i;a++){let i=e[a];Sl(i,t,n,r)}},Sl=(e,t,n,r)=>{typeof e==`string`?Cl(e,t,n):typeof e==`function`?wl(e,t,n,r):Tl(e,t,n,r)},Cl=(e,t,n)=>{let r=e===``?t:El(t,e);r.classGroupId=n},wl=(e,t,n,r)=>{Dl(e)?xl(e(r),t,n,r):(t.validators===null&&(t.validators=[]),t.validators.push(dl(n,e)))},Tl=(e,t,n,r)=>{let i=Object.entries(e),a=i.length;for(let e=0;e<a;e++){let[a,o]=i[e];xl(o,El(t,a),n,r)}},El=(e,t)=>{let n=e,r=t.split(pl),i=r.length;for(let e=0;e<i;e++){let t=r[e],i=n.nextPart.get(t);i||(i=fl(),n.nextPart.set(t,i)),n=i}return n},Dl=e=>`isThemeGetter`in e&&e.isThemeGetter===!0,Ol=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,n=Object.create(null),r=Object.create(null),i=(i,a)=>{n[i]=a,t++,t>e&&(t=0,r=n,n=Object.create(null))};return{get(e){let t=n[e];if(t!==void 0)return t;if((t=r[e])!==void 0)return i(e,t),t},set(e,t){e in n?n[e]=t:i(e,t)}}},kl=`!`,Al=`:`,jl=[],Ml=(e,t,n,r,i)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:r,isExternal:i}),Nl=e=>{let{prefix:t,experimentalParseClassName:n}=e,r=e=>{let t=[],n=0,r=0,i=0,a,o=e.length;for(let s=0;s<o;s++){let o=e[s];if(n===0&&r===0){if(o===Al){t.push(e.slice(i,s)),i=s+1;continue}if(o===`/`){a=s;continue}}o===`[`?n++:o===`]`?n--:o===`(`?r++:o===`)`&&r--}let s=t.length===0?e:e.slice(i),c=s,l=!1;s.endsWith(kl)?(c=s.slice(0,-1),l=!0):s.startsWith(kl)&&(c=s.slice(1),l=!0);let u=a&&a>i?a-i:void 0;return Ml(t,l,c,u)};if(t){let e=t+Al,n=r;r=t=>t.startsWith(e)?n(t.slice(e.length)):Ml(jl,!1,t,void 0,!0)}if(n){let e=r;r=t=>n({className:t,parseClassName:e})}return r},Pl=e=>{let t=new Map;return e.orderSensitiveModifiers.forEach((e,n)=>{t.set(e,1e6+n)}),e=>{let n=[],r=[];for(let i=0;i<e.length;i++){let a=e[i],o=a[0]===`[`,s=t.has(a);o||s?(r.length>0&&(r.sort(),n.push(...r),r=[]),n.push(a)):r.push(a)}return r.length>0&&(r.sort(),n.push(...r)),n}},Fl=e=>({cache:Ol(e.cacheSize),parseClassName:Nl(e),sortModifiers:Pl(e),postfixLookupClassGroupIds:Il(e),...gl(e)}),Il=e=>{let t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let e=0;e<n.length;e++)t[n[e]]=!0;return t},Ll=/\\s+/,Rl=(e,t)=>{let{parseClassName:n,getClassGroupId:r,getConflictingClassGroupIds:i,sortModifiers:a,postfixLookupClassGroupIds:o}=t,s=[],c=e.trim().split(Ll),l=``;for(let e=c.length-1;e>=0;--e){let t=c[e],{isExternal:u,modifiers:d,hasImportantModifier:f,baseClassName:p,maybePostfixModifierPosition:m}=n(t);if(u){l=t+(l.length>0?` `+l:l);continue}let h=!!m,g;if(h){g=r(p.substring(0,m));let e=g&&o[g]?r(p):void 0;e&&e!==g&&(g=e,h=!1)}else g=r(p);if(!g){if(!h||(g=r(p),!g)){l=t+(l.length>0?` `+l:l);continue}h=!1}let _=d.length===0?``:d.length===1?d[0]:a(d).join(`:`),v=f?_+kl:_,y=v+g;if(s.indexOf(y)>-1)continue;s.push(y);let b=i(g,h);for(let e=0;e<b.length;++e){let t=b[e];s.push(v+t)}l=t+(l.length>0?` `+l:l)}return l},zl=(...e)=>{let t=0,n,r,i=``;for(;t<e.length;)(n=e[t++])&&(r=Bl(n))&&(i&&(i+=` `),i+=r);return i},Bl=e=>{if(typeof e==`string`)return e;let t,n=``;for(let r=0;r<e.length;r++)e[r]&&(t=Bl(e[r]))&&(n&&(n+=` `),n+=t);return n},Vl=(e,...t)=>{let n,r,i,a,o=o=>(n=Fl(t.reduce((e,t)=>t(e),e())),r=n.cache.get,i=n.cache.set,a=s,s(o)),s=e=>{let t=r(e);if(t)return t;let a=Rl(e,n);return i(e,a),a};return a=o,(...e)=>a(zl(...e))},Hl=[],Ul=e=>{let t=t=>t[e]||Hl;return t.isThemeGetter=!0,t.themeKey=e,t},Wl=/^\\[(?:(\\w[\\w-]*):)?(.+)\\]$/i,Gl=/^\\((?:(\\w[\\w-]*):)?(.+)\\)$/i,Kl=/^\\d+(?:\\.\\d+)?\\/\\d+(?:\\.\\d+)?$/,ql=/^(\\d+(\\.\\d+)?)?(xs|sm|md|lg|xl)$/,Jl=/\\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\\b(calc|min|max|clamp)\\(.+\\)|^0$/,Yl=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix|color|light-dark)\\(.+\\)$/,Xl=/^(inset_)?-?((\\d+)?\\.?(\\d+)[a-z]+|0)_-?((\\d+)?\\.?(\\d+)[a-z]+|0)/,Zl=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\\(.+\\)$/,Ql=e=>Kl.test(e),H=e=>!!e&&!Number.isNaN(Number(e)),$l=e=>!!e&&Number.isInteger(Number(e)),eu=e=>e.endsWith(`%`)&&H(e.slice(0,-1)),tu=e=>ql.test(e),nu=()=>!0,ru=e=>Jl.test(e)&&!Yl.test(e),iu=()=>!1,au=e=>Xl.test(e),ou=e=>Zl.test(e),su=e=>!U(e)&&!W(e),cu=e=>e.startsWith(`@container`)&&(e[10]===`/`&&e[11]!==void 0||e[11]===`s`&&e[16]!==void 0&&e.startsWith(`-size/`,10)||e[11]===`n`&&e[18]!==void 0&&e.startsWith(`-normal/`,10)),lu=e=>wu(e,Ou,iu),U=e=>Wl.test(e),uu=e=>wu(e,ku,ru),du=e=>wu(e,Au,H),fu=e=>wu(e,Mu,nu),pu=e=>wu(e,ju,iu),mu=e=>wu(e,Eu,iu),hu=e=>wu(e,Du,ou),gu=e=>wu(e,Nu,au),W=e=>Gl.test(e),_u=e=>Tu(e,ku),vu=e=>Tu(e,ju),yu=e=>Tu(e,Eu),bu=e=>Tu(e,Ou),xu=e=>Tu(e,Du),Su=e=>Tu(e,Nu,!0),Cu=e=>Tu(e,Mu,!0),wu=(e,t,n)=>{let r=Wl.exec(e);return r?r[1]?t(r[1]):n(r[2]):!1},Tu=(e,t,n=!1)=>{let r=Gl.exec(e);return r?r[1]?t(r[1]):n:!1},Eu=e=>e===`position`||e===`percentage`,Du=e=>e===`image`||e===`url`,Ou=e=>e===`length`||e===`size`||e===`bg-size`,ku=e=>e===`length`,Au=e=>e===`number`,ju=e=>e===`family-name`,Mu=e=>e===`number`||e===`weight`,Nu=e=>e===`shadow`,Pu=Vl(()=>{let e=Ul(`color`),t=Ul(`font`),n=Ul(`text`),r=Ul(`font-weight`),i=Ul(`tracking`),a=Ul(`leading`),o=Ul(`breakpoint`),s=Ul(`container`),c=Ul(`spacing`),l=Ul(`radius`),u=Ul(`shadow`),d=Ul(`inset-shadow`),f=Ul(`text-shadow`),p=Ul(`drop-shadow`),m=Ul(`blur`),h=Ul(`perspective`),g=Ul(`aspect`),_=Ul(`ease`),v=Ul(`animate`),y=()=>[`auto`,`avoid`,`all`,`avoid-page`,`page`,`left`,`right`,`column`],b=()=>[`center`,`top`,`bottom`,`left`,`right`,`top-left`,`left-top`,`top-right`,`right-top`,`bottom-right`,`right-bottom`,`bottom-left`,`left-bottom`],x=()=>[...b(),W,U],S=()=>[`auto`,`hidden`,`clip`,`visible`,`scroll`],C=()=>[`auto`,`contain`,`none`],w=()=>[W,U,c],T=()=>[Ql,`full`,`auto`,...w()],E=()=>[$l,`none`,`subgrid`,W,U],D=()=>[`auto`,{span:[`full`,$l,W,U]},$l,W,U],ee=()=>[$l,`auto`,W,U],O=()=>[`auto`,`min`,`max`,`fr`,W,U],te=()=>[`start`,`end`,`center`,`between`,`around`,`evenly`,`stretch`,`baseline`,`center-safe`,`end-safe`],k=()=>[`start`,`end`,`center`,`stretch`,`center-safe`,`end-safe`],A=()=>[`auto`,...w()],ne=()=>[Ql,`auto`,`full`,`dvw`,`dvh`,`lvw`,`lvh`,`svw`,`svh`,`min`,`max`,`fit`,...w()],re=()=>[s,Ql,`screen`,`full`,`dvw`,`lvw`,`svw`,`min`,`max`,`fit`,...w()],j=()=>[Ql,`screen`,`full`,`lh`,`dvh`,`lvh`,`svh`,`min`,`max`,`fit`,...w()],M=()=>[e,W,U],ie=()=>[...b(),yu,mu,{position:[W,U]}],ae=()=>[`no-repeat`,{repeat:[``,`x`,`y`,`space`,`round`]}],oe=()=>[`auto`,`cover`,`contain`,bu,lu,{size:[W,U]}],se=()=>[eu,_u,uu],ce=()=>[``,`none`,`full`,l,W,U],le=()=>[``,H,_u,uu],ue=()=>[`solid`,`dashed`,`dotted`,`double`],de=()=>[`normal`,`multiply`,`screen`,`overlay`,`darken`,`lighten`,`color-dodge`,`color-burn`,`hard-light`,`soft-light`,`difference`,`exclusion`,`hue`,`saturation`,`color`,`luminosity`],fe=()=>[H,eu,yu,mu],pe=()=>[``,`none`,m,W,U],me=()=>[`none`,H,W,U],he=()=>[`none`,H,W,U],ge=()=>[H,W,U],_e=()=>[Ql,`full`,...w()];return{cacheSize:500,theme:{animate:[`spin`,`ping`,`pulse`,`bounce`],aspect:[`video`],blur:[tu],breakpoint:[tu],color:[nu],container:[tu],"drop-shadow":[tu],ease:[`in`,`out`,`in-out`],font:[su],"font-weight":[`thin`,`extralight`,`light`,`normal`,`medium`,`semibold`,`bold`,`extrabold`,`black`],"inset-shadow":[tu],leading:[`none`,`tight`,`snug`,`normal`,`relaxed`,`loose`],perspective:[`dramatic`,`near`,`normal`,`midrange`,`distant`,`none`],radius:[tu],shadow:[tu],spacing:[`px`,H],text:[tu],"text-shadow":[tu],tracking:[`tighter`,`tight`,`normal`,`wide`,`wider`,`widest`]},classGroups:{aspect:[{aspect:[`auto`,`square`,Ql,U,W,g]}],container:[`container`],"container-type":[{"@container":[``,`normal`,`size`,W,U]}],"container-named":[cu],columns:[{columns:[H,`auto`,U,W,s]}],"break-after":[{"break-after":y()}],"break-before":[{"break-before":y()}],"break-inside":[{"break-inside":[`auto`,`avoid`,`avoid-page`,`avoid-column`]}],"box-decoration":[{"box-decoration":[`slice`,`clone`]}],box:[{box:[`border`,`content`]}],display:[`block`,`inline-block`,`inline`,`flex`,`inline-flex`,`table`,`inline-table`,`table-caption`,`table-cell`,`table-column`,`table-column-group`,`table-footer-group`,`table-header-group`,`table-row-group`,`table-row`,`flow-root`,`grid`,`inline-grid`,`contents`,`list-item`,`hidden`],sr:[`sr-only`,`not-sr-only`],float:[{float:[`right`,`left`,`none`,`start`,`end`]}],clear:[{clear:[`left`,`right`,`both`,`none`,`start`,`end`]}],isolation:[`isolate`,`isolation-auto`],"object-fit":[{object:[`contain`,`cover`,`fill`,`none`,`scale-down`]}],"object-position":[{object:x()}],overflow:[{overflow:S()}],"overflow-x":[{"overflow-x":S()}],"overflow-y":[{"overflow-y":S()}],overscroll:[{overscroll:C()}],"overscroll-x":[{"overscroll-x":C()}],"overscroll-y":[{"overscroll-y":C()}],position:[`static`,`fixed`,`absolute`,`relative`,`sticky`],inset:[{inset:T()}],"inset-x":[{"inset-x":T()}],"inset-y":[{"inset-y":T()}],start:[{"inset-s":T(),start:T()}],end:[{"inset-e":T(),end:T()}],"inset-bs":[{"inset-bs":T()}],"inset-be":[{"inset-be":T()}],top:[{top:T()}],right:[{right:T()}],bottom:[{bottom:T()}],left:[{left:T()}],visibility:[`visible`,`invisible`,`collapse`],z:[{z:[$l,`auto`,W,U]}],basis:[{basis:[Ql,`full`,`auto`,s,...w()]}],"flex-direction":[{flex:[`row`,`row-reverse`,`col`,`col-reverse`]}],"flex-wrap":[{flex:[`nowrap`,`wrap`,`wrap-reverse`]}],flex:[{flex:[H,Ql,`auto`,`initial`,`none`,U]}],grow:[{grow:[``,H,W,U]}],shrink:[{shrink:[``,H,W,U]}],order:[{order:[$l,`first`,`last`,`none`,W,U]}],"grid-cols":[{"grid-cols":E()}],"col-start-end":[{col:D()}],"col-start":[{"col-start":ee()}],"col-end":[{"col-end":ee()}],"grid-rows":[{"grid-rows":E()}],"row-start-end":[{row:D()}],"row-start":[{"row-start":ee()}],"row-end":[{"row-end":ee()}],"grid-flow":[{"grid-flow":[`row`,`col`,`dense`,`row-dense`,`col-dense`]}],"auto-cols":[{"auto-cols":O()}],"auto-rows":[{"auto-rows":O()}],gap:[{gap:w()}],"gap-x":[{"gap-x":w()}],"gap-y":[{"gap-y":w()}],"justify-content":[{justify:[...te(),`normal`]}],"justify-items":[{"justify-items":[...k(),`normal`]}],"justify-self":[{"justify-self":[`auto`,...k()]}],"align-content":[{content:[`normal`,...te()]}],"align-items":[{items:[...k(),{baseline:[``,`last`]}]}],"align-self":[{self:[`auto`,...k(),{baseline:[``,`last`]}]}],"place-content":[{"place-content":te()}],"place-items":[{"place-items":[...k(),`baseline`]}],"place-self":[{"place-self":[`auto`,...k()]}],p:[{p:w()}],px:[{px:w()}],py:[{py:w()}],ps:[{ps:w()}],pe:[{pe:w()}],pbs:[{pbs:w()}],pbe:[{pbe:w()}],pt:[{pt:w()}],pr:[{pr:w()}],pb:[{pb:w()}],pl:[{pl:w()}],m:[{m:A()}],mx:[{mx:A()}],my:[{my:A()}],ms:[{ms:A()}],me:[{me:A()}],mbs:[{mbs:A()}],mbe:[{mbe:A()}],mt:[{mt:A()}],mr:[{mr:A()}],mb:[{mb:A()}],ml:[{ml:A()}],"space-x":[{"space-x":w()}],"space-x-reverse":[`space-x-reverse`],"space-y":[{"space-y":w()}],"space-y-reverse":[`space-y-reverse`],size:[{size:ne()}],"inline-size":[{inline:[`auto`,...re()]}],"min-inline-size":[{"min-inline":[`auto`,...re()]}],"max-inline-size":[{"max-inline":[`none`,...re()]}],"block-size":[{block:[`auto`,...j()]}],"min-block-size":[{"min-block":[`auto`,...j()]}],"max-block-size":[{"max-block":[`none`,...j()]}],w:[{w:[s,`screen`,...ne()]}],"min-w":[{"min-w":[s,`screen`,`none`,...ne()]}],"max-w":[{"max-w":[s,`screen`,`none`,`prose`,{screen:[o]},...ne()]}],h:[{h:[`screen`,`lh`,...ne()]}],"min-h":[{"min-h":[`screen`,`lh`,`none`,...ne()]}],"max-h":[{"max-h":[`screen`,`lh`,`none`,...ne()]}],"font-size":[{text:[`base`,n,_u,uu]}],"font-smoothing":[`antialiased`,`subpixel-antialiased`],"font-style":[`italic`,`not-italic`],"font-weight":[{font:[r,Cu,fu]}],"font-stretch":[{"font-stretch":[`ultra-condensed`,`extra-condensed`,`condensed`,`semi-condensed`,`normal`,`semi-expanded`,`expanded`,`extra-expanded`,`ultra-expanded`,eu,U]}],"font-family":[{font:[vu,pu,t]}],"font-features":[{"font-features":[U]}],"fvn-normal":[`normal-nums`],"fvn-ordinal":[`ordinal`],"fvn-slashed-zero":[`slashed-zero`],"fvn-figure":[`lining-nums`,`oldstyle-nums`],"fvn-spacing":[`proportional-nums`,`tabular-nums`],"fvn-fraction":[`diagonal-fractions`,`stacked-fractions`],tracking:[{tracking:[i,W,U]}],"line-clamp":[{"line-clamp":[H,`none`,W,du]}],leading:[{leading:[`none`,a,...w()]}],"list-image":[{"list-image":[`none`,W,U]}],"list-style-position":[{list:[`inside`,`outside`]}],"list-style-type":[{list:[`disc`,`decimal`,`none`,W,U]}],"text-alignment":[{text:[`left`,`center`,`right`,`justify`,`start`,`end`]}],"placeholder-color":[{placeholder:M()}],"text-color":[{text:M()}],"text-decoration":[`underline`,`overline`,`line-through`,`no-underline`],"text-decoration-style":[{decoration:[...ue(),`wavy`]}],"text-decoration-thickness":[{decoration:[H,`from-font`,`auto`,W,uu]}],"text-decoration-color":[{decoration:M()}],"underline-offset":[{"underline-offset":[H,`auto`,W,U]}],"text-transform":[`uppercase`,`lowercase`,`capitalize`,`normal-case`],"text-overflow":[`truncate`,`text-ellipsis`,`text-clip`],"text-wrap":[{text:[`wrap`,`nowrap`,`balance`,`pretty`]}],indent:[{indent:w()}],"tab-size":[{tab:[$l,W,U]}],"vertical-align":[{align:[`baseline`,`top`,`middle`,`bottom`,`text-top`,`text-bottom`,`sub`,`super`,W,U]}],whitespace:[{whitespace:[`normal`,`nowrap`,`pre`,`pre-line`,`pre-wrap`,`break-spaces`]}],break:[{break:[`normal`,`words`,`all`,`keep`]}],wrap:[{wrap:[`break-word`,`anywhere`,`normal`]}],hyphens:[{hyphens:[`none`,`manual`,`auto`]}],content:[{content:[`none`,W,U]}],"bg-attachment":[{bg:[`fixed`,`local`,`scroll`]}],"bg-clip":[{"bg-clip":[`border`,`padding`,`content`,`text`]}],"bg-origin":[{"bg-origin":[`border`,`padding`,`content`]}],"bg-position":[{bg:ie()}],"bg-repeat":[{bg:ae()}],"bg-size":[{bg:oe()}],"bg-image":[{bg:[`none`,{linear:[{to:[`t`,`tr`,`r`,`br`,`b`,`bl`,`l`,`tl`]},$l,W,U],radial:[``,W,U],conic:[``,$l,W,U]},xu,hu]}],"bg-color":[{bg:M()}],"gradient-from-pos":[{from:se()}],"gradient-via-pos":[{via:se()}],"gradient-to-pos":[{to:se()}],"gradient-from":[{from:M()}],"gradient-via":[{via:M()}],"gradient-to":[{to:M()}],rounded:[{rounded:ce()}],"rounded-s":[{"rounded-s":ce()}],"rounded-e":[{"rounded-e":ce()}],"rounded-t":[{"rounded-t":ce()}],"rounded-r":[{"rounded-r":ce()}],"rounded-b":[{"rounded-b":ce()}],"rounded-l":[{"rounded-l":ce()}],"rounded-ss":[{"rounded-ss":ce()}],"rounded-se":[{"rounded-se":ce()}],"rounded-ee":[{"rounded-ee":ce()}],"rounded-es":[{"rounded-es":ce()}],"rounded-tl":[{"rounded-tl":ce()}],"rounded-tr":[{"rounded-tr":ce()}],"rounded-br":[{"rounded-br":ce()}],"rounded-bl":[{"rounded-bl":ce()}],"border-w":[{border:le()}],"border-w-x":[{"border-x":le()}],"border-w-y":[{"border-y":le()}],"border-w-s":[{"border-s":le()}],"border-w-e":[{"border-e":le()}],"border-w-bs":[{"border-bs":le()}],"border-w-be":[{"border-be":le()}],"border-w-t":[{"border-t":le()}],"border-w-r":[{"border-r":le()}],"border-w-b":[{"border-b":le()}],"border-w-l":[{"border-l":le()}],"divide-x":[{"divide-x":le()}],"divide-x-reverse":[`divide-x-reverse`],"divide-y":[{"divide-y":le()}],"divide-y-reverse":[`divide-y-reverse`],"border-style":[{border:[...ue(),`hidden`,`none`]}],"divide-style":[{divide:[...ue(),`hidden`,`none`]}],"border-color":[{border:M()}],"border-color-x":[{"border-x":M()}],"border-color-y":[{"border-y":M()}],"border-color-s":[{"border-s":M()}],"border-color-e":[{"border-e":M()}],"border-color-bs":[{"border-bs":M()}],"border-color-be":[{"border-be":M()}],"border-color-t":[{"border-t":M()}],"border-color-r":[{"border-r":M()}],"border-color-b":[{"border-b":M()}],"border-color-l":[{"border-l":M()}],"divide-color":[{divide:M()}],"outline-style":[{outline:[...ue(),`none`,`hidden`]}],"outline-offset":[{"outline-offset":[H,W,U]}],"outline-w":[{outline:[``,H,_u,uu]}],"outline-color":[{outline:M()}],shadow:[{shadow:[``,`inner`,`none`,u,Su,gu]}],"shadow-color":[{shadow:M()}],"inset-shadow":[{"inset-shadow":[`none`,d,Su,gu]}],"inset-shadow-color":[{"inset-shadow":M()}],"ring-w":[{ring:le()}],"ring-w-inset":[`ring-inset`],"ring-color":[{ring:M()}],"ring-offset-w":[{"ring-offset":[H,uu]}],"ring-offset-color":[{"ring-offset":M()}],"inset-ring-w":[{"inset-ring":le()}],"inset-ring-color":[{"inset-ring":M()}],"text-shadow":[{"text-shadow":[`none`,f,Su,gu]}],"text-shadow-color":[{"text-shadow":M()}],opacity:[{opacity:[H,W,U]}],"mix-blend":[{"mix-blend":[...de(),`plus-darker`,`plus-lighter`]}],"bg-blend":[{"bg-blend":de()}],"mask-clip":[{"mask-clip":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]},`mask-no-clip`],"mask-composite":[{mask:[`add`,`subtract`,`intersect`,`exclude`]}],"mask-image-linear-pos":[{"mask-linear":[H]}],"mask-image-linear-from-pos":[{"mask-linear-from":fe()}],"mask-image-linear-to-pos":[{"mask-linear-to":fe()}],"mask-image-linear-from-color":[{"mask-linear-from":M()}],"mask-image-linear-to-color":[{"mask-linear-to":M()}],"mask-image-t-from-pos":[{"mask-t-from":fe()}],"mask-image-t-to-pos":[{"mask-t-to":fe()}],"mask-image-t-from-color":[{"mask-t-from":M()}],"mask-image-t-to-color":[{"mask-t-to":M()}],"mask-image-r-from-pos":[{"mask-r-from":fe()}],"mask-image-r-to-pos":[{"mask-r-to":fe()}],"mask-image-r-from-color":[{"mask-r-from":M()}],"mask-image-r-to-color":[{"mask-r-to":M()}],"mask-image-b-from-pos":[{"mask-b-from":fe()}],"mask-image-b-to-pos":[{"mask-b-to":fe()}],"mask-image-b-from-color":[{"mask-b-from":M()}],"mask-image-b-to-color":[{"mask-b-to":M()}],"mask-image-l-from-pos":[{"mask-l-from":fe()}],"mask-image-l-to-pos":[{"mask-l-to":fe()}],"mask-image-l-from-color":[{"mask-l-from":M()}],"mask-image-l-to-color":[{"mask-l-to":M()}],"mask-image-x-from-pos":[{"mask-x-from":fe()}],"mask-image-x-to-pos":[{"mask-x-to":fe()}],"mask-image-x-from-color":[{"mask-x-from":M()}],"mask-image-x-to-color":[{"mask-x-to":M()}],"mask-image-y-from-pos":[{"mask-y-from":fe()}],"mask-image-y-to-pos":[{"mask-y-to":fe()}],"mask-image-y-from-color":[{"mask-y-from":M()}],"mask-image-y-to-color":[{"mask-y-to":M()}],"mask-image-radial":[{"mask-radial":[W,U]}],"mask-image-radial-from-pos":[{"mask-radial-from":fe()}],"mask-image-radial-to-pos":[{"mask-radial-to":fe()}],"mask-image-radial-from-color":[{"mask-radial-from":M()}],"mask-image-radial-to-color":[{"mask-radial-to":M()}],"mask-image-radial-shape":[{"mask-radial":[`circle`,`ellipse`]}],"mask-image-radial-size":[{"mask-radial":[{closest:[`side`,`corner`],farthest:[`side`,`corner`]}]}],"mask-image-radial-pos":[{"mask-radial-at":b()}],"mask-image-conic-pos":[{"mask-conic":[H]}],"mask-image-conic-from-pos":[{"mask-conic-from":fe()}],"mask-image-conic-to-pos":[{"mask-conic-to":fe()}],"mask-image-conic-from-color":[{"mask-conic-from":M()}],"mask-image-conic-to-color":[{"mask-conic-to":M()}],"mask-mode":[{mask:[`alpha`,`luminance`,`match`]}],"mask-origin":[{"mask-origin":[`border`,`padding`,`content`,`fill`,`stroke`,`view`]}],"mask-position":[{mask:ie()}],"mask-repeat":[{mask:ae()}],"mask-size":[{mask:oe()}],"mask-type":[{"mask-type":[`alpha`,`luminance`]}],"mask-image":[{mask:[`none`,W,U]}],filter:[{filter:[``,`none`,W,U]}],blur:[{blur:pe()}],brightness:[{brightness:[H,W,U]}],contrast:[{contrast:[H,W,U]}],"drop-shadow":[{"drop-shadow":[``,`none`,p,Su,gu]}],"drop-shadow-color":[{"drop-shadow":M()}],grayscale:[{grayscale:[``,H,W,U]}],"hue-rotate":[{"hue-rotate":[H,W,U]}],invert:[{invert:[``,H,W,U]}],saturate:[{saturate:[H,W,U]}],sepia:[{sepia:[``,H,W,U]}],"backdrop-filter":[{"backdrop-filter":[``,`none`,W,U]}],"backdrop-blur":[{"backdrop-blur":pe()}],"backdrop-brightness":[{"backdrop-brightness":[H,W,U]}],"backdrop-contrast":[{"backdrop-contrast":[H,W,U]}],"backdrop-grayscale":[{"backdrop-grayscale":[``,H,W,U]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[H,W,U]}],"backdrop-invert":[{"backdrop-invert":[``,H,W,U]}],"backdrop-opacity":[{"backdrop-opacity":[H,W,U]}],"backdrop-saturate":[{"backdrop-saturate":[H,W,U]}],"backdrop-sepia":[{"backdrop-sepia":[``,H,W,U]}],"border-collapse":[{border:[`collapse`,`separate`]}],"border-spacing":[{"border-spacing":w()}],"border-spacing-x":[{"border-spacing-x":w()}],"border-spacing-y":[{"border-spacing-y":w()}],"table-layout":[{table:[`auto`,`fixed`]}],caption:[{caption:[`top`,`bottom`]}],transition:[{transition:[``,`all`,`colors`,`opacity`,`shadow`,`transform`,`none`,W,U]}],"transition-behavior":[{transition:[`normal`,`discrete`]}],duration:[{duration:[H,`initial`,W,U]}],ease:[{ease:[`linear`,`initial`,_,W,U]}],delay:[{delay:[H,W,U]}],animate:[{animate:[`none`,v,W,U]}],backface:[{backface:[`hidden`,`visible`]}],perspective:[{perspective:[h,W,U]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:me()}],"rotate-x":[{"rotate-x":me()}],"rotate-y":[{"rotate-y":me()}],"rotate-z":[{"rotate-z":me()}],scale:[{scale:he()}],"scale-x":[{"scale-x":he()}],"scale-y":[{"scale-y":he()}],"scale-z":[{"scale-z":he()}],"scale-3d":[`scale-3d`],skew:[{skew:ge()}],"skew-x":[{"skew-x":ge()}],"skew-y":[{"skew-y":ge()}],transform:[{transform:[W,U,``,`none`,`gpu`,`cpu`]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:[`3d`,`flat`]}],translate:[{translate:_e()}],"translate-x":[{"translate-x":_e()}],"translate-y":[{"translate-y":_e()}],"translate-z":[{"translate-z":_e()}],"translate-none":[`translate-none`],zoom:[{zoom:[$l,W,U]}],accent:[{accent:M()}],appearance:[{appearance:[`none`,`auto`]}],"caret-color":[{caret:M()}],"color-scheme":[{scheme:[`normal`,`dark`,`light`,`light-dark`,`only-dark`,`only-light`]}],cursor:[{cursor:[`auto`,`default`,`pointer`,`wait`,`text`,`move`,`help`,`not-allowed`,`none`,`context-menu`,`progress`,`cell`,`crosshair`,`vertical-text`,`alias`,`copy`,`no-drop`,`grab`,`grabbing`,`all-scroll`,`col-resize`,`row-resize`,`n-resize`,`e-resize`,`s-resize`,`w-resize`,`ne-resize`,`nw-resize`,`se-resize`,`sw-resize`,`ew-resize`,`ns-resize`,`nesw-resize`,`nwse-resize`,`zoom-in`,`zoom-out`,W,U]}],"field-sizing":[{"field-sizing":[`fixed`,`content`]}],"pointer-events":[{"pointer-events":[`auto`,`none`]}],resize:[{resize:[`none`,``,`y`,`x`]}],"scroll-behavior":[{scroll:[`auto`,`smooth`]}],"scrollbar-thumb-color":[{"scrollbar-thumb":M()}],"scrollbar-track-color":[{"scrollbar-track":M()}],"scrollbar-gutter":[{"scrollbar-gutter":[`auto`,`stable`,`both`]}],"scrollbar-w":[{scrollbar:[`auto`,`thin`,`none`]}],"scroll-m":[{"scroll-m":w()}],"scroll-mx":[{"scroll-mx":w()}],"scroll-my":[{"scroll-my":w()}],"scroll-ms":[{"scroll-ms":w()}],"scroll-me":[{"scroll-me":w()}],"scroll-mbs":[{"scroll-mbs":w()}],"scroll-mbe":[{"scroll-mbe":w()}],"scroll-mt":[{"scroll-mt":w()}],"scroll-mr":[{"scroll-mr":w()}],"scroll-mb":[{"scroll-mb":w()}],"scroll-ml":[{"scroll-ml":w()}],"scroll-p":[{"scroll-p":w()}],"scroll-px":[{"scroll-px":w()}],"scroll-py":[{"scroll-py":w()}],"scroll-ps":[{"scroll-ps":w()}],"scroll-pe":[{"scroll-pe":w()}],"scroll-pbs":[{"scroll-pbs":w()}],"scroll-pbe":[{"scroll-pbe":w()}],"scroll-pt":[{"scroll-pt":w()}],"scroll-pr":[{"scroll-pr":w()}],"scroll-pb":[{"scroll-pb":w()}],"scroll-pl":[{"scroll-pl":w()}],"snap-align":[{snap:[`start`,`end`,`center`,`align-none`]}],"snap-stop":[{snap:[`normal`,`always`]}],"snap-type":[{snap:[`none`,`x`,`y`,`both`]}],"snap-strictness":[{snap:[`mandatory`,`proximity`]}],touch:[{touch:[`auto`,`none`,`manipulation`]}],"touch-x":[{"touch-pan":[`x`,`left`,`right`]}],"touch-y":[{"touch-pan":[`y`,`up`,`down`]}],"touch-pz":[`touch-pinch-zoom`],select:[{select:[`none`,`text`,`all`,`auto`]}],"will-change":[{"will-change":[`auto`,`scroll`,`contents`,`transform`,W,U]}],fill:[{fill:[`none`,...M()]}],"stroke-w":[{stroke:[H,_u,uu,du]}],stroke:[{stroke:[`none`,...M()]}],"forced-color-adjust":[{"forced-color-adjust":[`auto`,`none`]}]},conflictingClassGroups:{"container-named":[`container-type`],overflow:[`overflow-x`,`overflow-y`],overscroll:[`overscroll-x`,`overscroll-y`],inset:[`inset-x`,`inset-y`,`inset-bs`,`inset-be`,`start`,`end`,`top`,`right`,`bottom`,`left`],"inset-x":[`start`,`end`,`right`,`left`],"inset-y":[`inset-bs`,`inset-be`,`top`,`bottom`],flex:[`basis`,`grow`,`shrink`],gap:[`gap-x`,`gap-y`],p:[`px`,`py`,`ps`,`pe`,`pbs`,`pbe`,`pt`,`pr`,`pb`,`pl`],px:[`ps`,`pe`,`pr`,`pl`],py:[`pbs`,`pbe`,`pt`,`pb`],m:[`mx`,`my`,`ms`,`me`,`mbs`,`mbe`,`mt`,`mr`,`mb`,`ml`],mx:[`ms`,`me`,`mr`,`ml`],my:[`mbs`,`mbe`,`mt`,`mb`],size:[`w`,`h`],"font-size":[`leading`],"fvn-normal":[`fvn-ordinal`,`fvn-slashed-zero`,`fvn-figure`,`fvn-spacing`,`fvn-fraction`],"fvn-ordinal":[`fvn-normal`],"fvn-slashed-zero":[`fvn-normal`],"fvn-figure":[`fvn-normal`],"fvn-spacing":[`fvn-normal`],"fvn-fraction":[`fvn-normal`],"line-clamp":[`display`,`overflow`],rounded:[`rounded-s`,`rounded-e`,`rounded-t`,`rounded-r`,`rounded-b`,`rounded-l`,`rounded-ss`,`rounded-se`,`rounded-ee`,`rounded-es`,`rounded-tl`,`rounded-tr`,`rounded-br`,`rounded-bl`],"rounded-s":[`rounded-ss`,`rounded-es`],"rounded-e":[`rounded-se`,`rounded-ee`],"rounded-t":[`rounded-tl`,`rounded-tr`],"rounded-r":[`rounded-tr`,`rounded-br`],"rounded-b":[`rounded-br`,`rounded-bl`],"rounded-l":[`rounded-tl`,`rounded-bl`],"border-spacing":[`border-spacing-x`,`border-spacing-y`],"border-w":[`border-w-x`,`border-w-y`,`border-w-s`,`border-w-e`,`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-r`,`border-w-b`,`border-w-l`],"border-w-x":[`border-w-s`,`border-w-e`,`border-w-r`,`border-w-l`],"border-w-y":[`border-w-bs`,`border-w-be`,`border-w-t`,`border-w-b`],"border-color":[`border-color-x`,`border-color-y`,`border-color-s`,`border-color-e`,`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-r`,`border-color-b`,`border-color-l`],"border-color-x":[`border-color-s`,`border-color-e`,`border-color-r`,`border-color-l`],"border-color-y":[`border-color-bs`,`border-color-be`,`border-color-t`,`border-color-b`],translate:[`translate-x`,`translate-y`,`translate-none`],"translate-none":[`translate`,`translate-x`,`translate-y`,`translate-z`],"scroll-m":[`scroll-mx`,`scroll-my`,`scroll-ms`,`scroll-me`,`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mr`,`scroll-mb`,`scroll-ml`],"scroll-mx":[`scroll-ms`,`scroll-me`,`scroll-mr`,`scroll-ml`],"scroll-my":[`scroll-mbs`,`scroll-mbe`,`scroll-mt`,`scroll-mb`],"scroll-p":[`scroll-px`,`scroll-py`,`scroll-ps`,`scroll-pe`,`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pr`,`scroll-pb`,`scroll-pl`],"scroll-px":[`scroll-ps`,`scroll-pe`,`scroll-pr`,`scroll-pl`],"scroll-py":[`scroll-pbs`,`scroll-pbe`,`scroll-pt`,`scroll-pb`],touch:[`touch-x`,`touch-y`,`touch-pz`],"touch-x":[`touch`],"touch-y":[`touch`],"touch-pz":[`touch`]},conflictingClassGroupModifiers:{"font-size":[`leading`]},postfixLookupClassGroups:[`container-type`],orderSensitiveModifiers:[`*`,`**`,`after`,`backdrop`,`before`,`details-content`,`file`,`first-letter`,`first-line`,`marker`,`placeholder`,`selection`]}});function G(...e){return Pu(ll(e))}var Fu=`\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022`,Iu={password:{glyph:`\u25CF`,label:`Login`,color:`text-accent`},note:{glyph:`\u25A0`,label:`Secure note`,color:`text-info`},otp:{glyph:`\u25C6`,label:`OTP`,color:`text-success`}};function Lu(e=24,t=!0){let n=`ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz23456789`+(t?`!@#$%^&*-_=+`:``),r=256-256%n.length,i=``;for(;i.length<e;)for(let t of crypto.getRandomValues(new Uint8Array(e*2)))t<r&&i.length<e&&(i+=n[t%n.length]);return i}function Ru(e,t){let n=e.toLowerCase(),r=t.toLowerCase();if(!n)return 0;let i=r.indexOf(n);if(i!==-1)return 1e3-i;let a=0,o=0,s=0;for(let e of n){let t=r.indexOf(e,o);if(t===-1)return null;s=t===o?s+1:0;let n=t===0||/[\\s\\-_./@]/.test(r[t-1]??``);a+=1+s*2+(n?3:0),o=t+1}return a}function zu(e,t,n){if(!t.trim())return e;let r=[];for(let i of e){let e=null;n(i).forEach((n,r)=>{if(!n)return;let i=Ru(t,n);i!==null&&(e=e===null?i-r*5:Math.max(e,i-r*5))}),e!==null&&r.push({item:i,score:e})}return r.sort((e,t)=>t.score-e.score).map(e=>e.item)}function Bu(e){return e.replace(/^[a-z]+:\\/\\//i,``).replace(/\\/$/,``)}function Vu(e){return typeof e==`string`&&/^https?:\\/\\//i.test(e)}function Hu(e){return e.length===6?`${e.slice(0,3)} ${e.slice(3)}`:e}function Uu(e){let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleString(void 0,{dateStyle:`medium`,timeStyle:`short`})}function Wu(e,t=Date.now()){let n=Date.parse(e)-t,r=Math.abs(n),i=[[864e5,`day`],[36e5,`hour`],[6e4,`minute`],[1e3,`second`]],a=new Intl.RelativeTimeFormat(void 0,{numeric:`auto`});for(let[e,t]of i)if(r>=e||t===`second`)return a.format(Math.round(n/e),t);return e}function Gu(e){return e%86400==0&&e>=86400?`${e/86400}d`:e%3600==0&&e>=3600?`${e/3600}h`:e%60==0&&e>=60?`${e/60}m`:`${e}s`}function Ku(e){let t=/^\\s*(\\d+)\\s*([smhd]?)\\s*$/i.exec(e);if(!t)return null;let n={"":1,s:1,m:60,h:3600,d:86400}[t[2].toLowerCase()];return Number(t[1])*n}function qu(){return/mac|iphone|ipad/i.test(navigator.platform||navigator.userAgent)}function Ju(e){return e instanceof HTMLElement?e.isContentEditable||[`INPUT`,`TEXTAREA`,`SELECT`].includes(e.tagName):!1}function Yu({title:e,actions:t,className:n,bodyClassName:r,children:i,focused:a,...o}){return(0,L.jsxs)(`section`,{className:G(`flex min-h-0 flex-col rounded-xl border bg-panel`,a?`border-border-focus`:`border-border`,n),...o,children:[e||t?(0,L.jsxs)(`header`,{className:`flex min-h-11 items-center justify-between gap-3 border-b border-border px-4 py-2`,children:[(0,L.jsx)(`h2`,{className:`truncate text-xs font-semibold uppercase tracking-wider text-muted`,children:e}),t?(0,L.jsx)(`div`,{className:`flex items-center gap-1.5`,children:t}):null]}):null,(0,L.jsx)(`div`,{className:G(`min-h-0 flex-1`,r),children:i})]})}function Xu({children:e,className:t}){return(0,L.jsx)(`kbd`,{className:G(`kbd`,t),children:e})}function Zu({icon:e,title:t,children:n}){return(0,L.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-2 px-6 py-12 text-center`,children:[e?(0,L.jsx)(`div`,{className:`text-dim [&_svg]:size-8`,children:e}):null,(0,L.jsx)(`p`,{className:`text-sm font-medium text-muted`,children:t}),n?(0,L.jsx)(`div`,{className:`max-w-sm text-xs text-dim`,children:n}):null]})}function Qu({className:e}){return(0,L.jsx)(`span`,{className:G(`inline-block size-4 animate-spin rounded-full border-2 border-dim border-t-accent`,e),"aria-label":`Loading`})}var $u=class extends Error{status;constructor(e,t){super(t),this.status=e}},K=`autho.csrf`;function ed(){try{return window.sessionStorage}catch{return null}}function q(e){let t=ed();t&&(e?t.setItem(K,e):t.removeItem(K))}function J(){return!!ed()?.getItem(K)}var td=()=>{};function nd(e){td=e}async function Y(e,t,n){let r={"x-autho-request":`1`},i=ed()?.getItem(K);i&&(r[`x-autho-csrf`]=i),n!==void 0&&(r[`content-type`]=`application/json`);let a;try{a=await fetch(t,{body:n===void 0?void 0:JSON.stringify(n),cache:`no-store`,credentials:`same-origin`,headers:r,method:e})}catch{throw new $u(0,"Can\'t reach autho \u2014 is `autho web serve` still running?")}let o=await a.json().catch(()=>({}));if(!a.ok)throw a.status===401&&t!==`/api/session/unlock`&&t!==`/api/admin/authorize`&&(q(null),td()),new $u(a.status,o.error??`Request failed (${a.status})`);return o.data}var X={auth:()=>Y(`GET`,`/api/auth`),unlock:e=>Y(`POST`,`/api/session/unlock`,e),lock:()=>Y(`POST`,`/api/session/lock`),session:()=>Y(`GET`,`/api/session`),secrets:()=>Y(`GET`,`/api/secrets`),secret:e=>Y(`GET`,`/api/secrets/${encodeURIComponent(e)}`),createSecret:e=>Y(`POST`,`/api/secrets`,e),updateSecret:(e,t)=>Y(`PATCH`,`/api/secrets/${encodeURIComponent(e)}`,t),deleteSecret:(e,t)=>Y(`DELETE`,`/api/secrets/${encodeURIComponent(e)}${t?`?withLinked=1`:``}`),reveal:e=>Y(`POST`,`/api/secrets/${encodeURIComponent(e)}/reveal`),otp:(e,t=!1)=>Y(`GET`,`/api/secrets/${encodeURIComponent(e)}/otp${t?`?copy=1`:``}`),link:(e,t)=>Y(`POST`,`/api/links`,{primary:e,secret:t}),unlink:(e,t)=>Y(`DELETE`,`/api/links`,{primary:e,secret:t}),leases:()=>Y(`GET`,`/api/leases`),createLease:e=>Y(`POST`,`/api/leases`,e),revokeLease:e=>Y(`POST`,`/api/leases/${encodeURIComponent(e)}/revoke`),audit:(e=200)=>Y(`GET`,`/api/audit?limit=${e}`),verify:()=>Y(`GET`,`/api/vault/verify`),importLegacy:(e,t)=>Y(`POST`,`/api/import`,{entries:e,skipExisting:t}),settings:()=>Y(`GET`,`/api/settings`),setPreference:(e,t)=>Y(`PUT`,`/api/settings/preferences/${encodeURIComponent(e)}`,{value:t}),setVaultDir:e=>Y(`PUT`,`/api/settings/vault-dir`,{path:e}),authorize:e=>Y(`POST`,`/api/admin/authorize`,e),release:()=>Y(`POST`,`/api/admin/release`),changePassword:e=>Y(`POST`,`/api/admin/password`,{newPassword:e}),totpSetup:()=>Y(`POST`,`/api/admin/totp/setup`),totpEnable:e=>Y(`POST`,`/api/admin/totp`,{code:e}),totpDisable:()=>Y(`DELETE`,`/api/admin/totp`),passkeyOptions:()=>Y(`POST`,`/api/admin/passkeys/options`),addPasskey:e=>Y(`POST`,`/api/admin/passkeys`,e),removePasskey:e=>Y(`DELETE`,`/api/admin/passkeys/${encodeURIComponent(e)}`),createRecovery:()=>Y(`POST`,`/api/admin/recovery`),revokeRecovery:()=>Y(`DELETE`,`/api/admin/recovery`),saveKeychain:()=>Y(`POST`,`/api/admin/keychain`),forgetKeychain:()=>Y(`DELETE`,`/api/admin/keychain`),setPin:e=>Y(`POST`,`/api/admin/pin`,{pin:e}),removePin:()=>Y(`DELETE`,`/api/admin/pin`),reseal:e=>Y(`POST`,`/api/admin/reseal`,{mode:e})},Z=e=>e instanceof Error?e.message:String(e),rd=(0,_.createContext)(null);function id(){let e=(0,_.useContext)(rd);if(!e)throw Error(`useApp outside AppProvider`);return e}function ad(e,t){let{setScreenCommands:n,setHints:r}=id();(0,_.useEffect)(()=>{n(e)},[e,n]);let i=JSON.stringify(t);(0,_.useEffect)(()=>{r(JSON.parse(i))},[i,r]),(0,_.useEffect)(()=>()=>n([]),[n])}var od=6e4,sd=[`pointerdown`,`keydown`,`wheel`,`touchstart`,`pointermove`];function cd({session:e,onLocked:t,children:n}){let[r,i]=(0,_.useState)(e.prefs),[a,o]=(0,_.useState)(()=>location.hash.slice(1)||`vault`),[s,c]=(0,_.useState)([]),[l,u]=(0,_.useState)([]),[d,f]=(0,_.useState)(!1),[p,m]=(0,_.useState)(!1),h=(0,_.useRef)(null),g=(0,_.useRef)(Date.now()),v=(0,_.useRef)(Date.now()),y=(0,_.useRef)(!1),b=(0,_.useCallback)(e=>{o(e),history.replaceState(null,``,`#${e}`)},[]),x=(0,_.useCallback)(e=>{y.current||(y.current=!0,X.lock().catch(()=>{}).finally(()=>{q(null),t(e)}))},[t]),S=(0,_.useCallback)(async(e,t,n=!1)=>{try{await navigator.clipboard.writeText(t)}catch{j.error(`The browser blocked clipboard access`);return}h.current!==null&&window.clearTimeout(h.current),n&&r.clipboardClearSeconds>0?(h.current=window.setTimeout(()=>{navigator.clipboard.writeText(``).catch(()=>{}),h.current=null},r.clipboardClearSeconds*1e3),j.success(`${e} copied`,{description:`Clipboard clears in ${r.clipboardClearSeconds}s`})):j.success(`${e} copied`)},[r.clipboardClearSeconds]);(0,_.useEffect)(()=>{let e=()=>{g.current=Date.now()};for(let t of sd)window.addEventListener(t,e,{passive:!0});let t=window.setInterval(()=>{let e=Date.now(),t=r.idleLockSeconds*1e3;t>0&&e-g.current>=t?x(`Locked after inactivity`):g.current>v.current&&e-v.current>=od&&(v.current=e,X.session().catch(e=>{Z(e)!==`Locked`&&j.error(Z(e))}))},5e3);return()=>{for(let t of sd)window.removeEventListener(t,e);window.clearInterval(t)}},[r.idleLockSeconds,x]),(0,_.useEffect)(()=>{let t=window.setTimeout(()=>x(`Session expired \u2014 unlock again`),Math.max(0,e.hardAt-Date.now()));return()=>window.clearTimeout(t)},[e.hardAt,x]),(0,_.useEffect)(()=>()=>{h.current!==null&&window.clearTimeout(h.current)},[]);let C=(0,_.useMemo)(()=>({session:e,prefs:r,setPrefs:i,screen:a,go:b,lock:x,copy:S,setScreenCommands:c,screenCommands:s,setHints:u,hints:l,paletteOpen:d,setPaletteOpen:f,modalOpen:p,setModalOpen:m}),[e,r,a,b,x,S,s,l,d,p]);return(0,L.jsx)(rd.Provider,{value:C,children:n})}var ld=e=>e?.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase();function ud(e,t,n=[]){if(t==null)throw Error(`[lucide]: iconNode is required when icon name is used`);return{name:ld(e),size:24,node:t,...n.length>0?{aliases:n}:{}}}var dd=e=>{let t=``,n=!1;for(let r of e)r===`-`||r===`_`||r<=` `?n=t.length>0:(t.length===0?t+=r.toLowerCase():t+=n?r.toUpperCase():r,n=!1);return t},fd=e=>{let t=dd(e);return t.charAt(0).toUpperCase()+t.slice(1)},pd=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),md={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`};function hd(e){return e!=null}function gd(e,t={}){let n=t.attributeNames??{},r=e=>n[e]??e,i=e.size??e.width??md.width,a=e.size??e.height??md.height,o=e.aliases?.filter(e=>typeof e==`string`&&e.trim()!==``).map(e=>`lucide-${e}`)??[],s=[...e.name?[`lucide-${e.name}`]:[],...o],c=t.className?.split(` `).filter(Boolean)??[],l=t.includeDefaultClasses===!1?pd(...c):pd(`lucide`,...s,...c),u=t.absoluteStrokeWidth?Number(t.strokeWidth??md[`stroke-width`])*Number(e.size??e.width??md.width)/Number(t.size??t.width??md.width):t.strokeWidth??md[`stroke-width`];return[`svg`,{...Object.entries(md).reduce((e,[t,n])=>(e[r(t)]=n,e),{}),...`color`in t&&t.color&&{[r(`stroke`)]:t.color},...`size`in t&&hd(t.size)&&{[r(`width`)]:t.size,[r(`height`)]:t.size},...`width`in t&&hd(t.width)&&{[r(`width`)]:t.width},...`height`in t&&hd(t.height)&&{[r(`height`)]:t.height},[r(`stroke-width`)]:u,...l&&{[r(`class`)]:l},[r(`viewBox`)]:`0 0 ${i} ${a}`,...t.hasA11yProp===!1?{[r(`aria-hidden`)]:`true`}:{},...`attributes`in t&&t.attributes},e.node.map(e=>{let[n,i,a]=e,o=t.nonScalingStroke?{[r(`vector-effect`)]:`non-scaling-stroke`,...i}:i;return a?[n,o,a]:[n,o]})]}function _d(e,t={}){return gd(e,{...t,attributeNames:{...t.attributeNames,class:`className`,"stroke-width":`strokeWidth`,"stroke-linecap":`strokeLinecap`,"stroke-linejoin":`strokeLinejoin`,"vector-effect":`vectorEffect`}})}var vd=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},yd=(0,_.createContext)({}),bd=()=>(0,_.useContext)(yd),xd=(0,_.forwardRef)(({color:e,size:t,width:n,height:r,strokeWidth:i,absoluteStrokeWidth:a,nonScalingStroke:o,className:s=``,children:c,iconNode:l=[],icon:u={node:l,aliases:[],size:24},...d},f)=>{let{size:p=24,strokeWidth:m=2,absoluteStrokeWidth:h=!1,nonScalingStroke:g=!1,color:v=`currentColor`,className:y=``}=bd()??{},b=!!c||vd(d),[x,S,C=[]]=_d(u,{color:e??v,width:n??t??p,height:r??t??p,strokeWidth:i??m,absoluteStrokeWidth:a??h,nonScalingStroke:o??g,className:pd(y,s),hasA11yProp:b,attributes:d});return(0,_.createElement)(x,{ref:f,...S},[...C.map(([e,t])=>(0,_.createElement)(e,t)),...Array.isArray(c)?c:[c]])});function Sd(e,t=[],n=[]){let r=typeof e==`string`?ud(e,t,n):e,i=(0,_.forwardRef)(({className:e,...t},n)=>(0,_.createElement)(xd,{ref:n,icon:r,className:e,...t}));return r.name&&(i.displayName=fd(r.name)),i}var Cd={name:`check`,size:24,node:[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]};Cd.node;var wd=Sd(Cd),Td={name:`command`,size:24,node:[[`path`,{d:`M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3`,key:`11bfej`}]]};Td.node;var Ed=Sd(Td),Dd={name:`copy`,size:24,node:[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]};Dd.node;var Od=Sd(Dd),kd={name:`download`,size:24,node:[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]};kd.node;var Ad=Sd(kd),jd={name:`external-link`,size:24,node:[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`M10 14 21 3`,key:`gplh6r`}],[`path`,{d:`M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6`,key:`a6xqqp`}]]};jd.node;var Md=Sd(jd),Nd={name:`eye-off`,size:24,node:[[`path`,{d:`M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49`,key:`ct8e1f`}],[`path`,{d:`M14.084 14.158a3 3 0 0 1-4.242-4.242`,key:`151rxh`}],[`path`,{d:`M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143`,key:`13bj9a`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]};Nd.node;var Pd=Sd(Nd),Fd={name:`eye`,size:24,node:[[`path`,{d:`M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0`,key:`1nclc0`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}]]};Fd.node;var Id=Sd(Fd),Ld={name:`file-key`,size:24,node:[[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M4 12v6`,key:`bg1pfk`}],[`path`,{d:`M4 14h2`,key:`1sf9f8`}],[`path`,{d:`M9.65 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v4`,key:`d56i0q`}],[`circle`,{cx:`4`,cy:`20`,r:`2`,key:`6kqj1y`}]],aliases:[`file-key-2`]};Ld.node;var Rd=Sd(Ld),zd={name:`file-up`,size:24,node:[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M12 12v6`,key:`3ahymv`}],[`path`,{d:`m15 15-3-3-3 3`,key:`15xj92`}]]};zd.node;var Bd=Sd(zd),Vd={name:`fingerprint-pattern`,size:24,node:[[`path`,{d:`M12 10a2 2 0 0 0-2 2c0 1.02-.1 2.51-.26 4`,key:`1nerag`}],[`path`,{d:`M14 13.12c0 2.38 0 6.38-1 8.88`,key:`o46ks0`}],[`path`,{d:`M17.29 21.02c.12-.6.43-2.3.5-3.02`,key:`ptglia`}],[`path`,{d:`M2 12a10 10 0 0 1 18-6`,key:`ydlgp0`}],[`path`,{d:`M2 16h.01`,key:`1gqxmh`}],[`path`,{d:`M21.8 16c.2-2 .131-5.354 0-6`,key:`drycrb`}],[`path`,{d:`M5 19.5C5.5 18 6 15 6 12a6 6 0 0 1 .34-2`,key:`1tidbn`}],[`path`,{d:`M8.65 22c.21-.66.45-1.32.57-2`,key:`13wd9y`}],[`path`,{d:`M9 6.8a6 6 0 0 1 9 5.2v2`,key:`1fr1j5`}]],aliases:[`fingerprint`]};Vd.node;var Hd=Sd(Vd),Ud={name:`key-round`,size:24,node:[[`path`,{d:`M2.586 17.414A2 2 0 0 0 2 18.828V21a1 1 0 0 0 1 1h3a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h1a1 1 0 0 0 1-1v-1a1 1 0 0 1 1-1h.172a2 2 0 0 0 1.414-.586l.814-.814a6.5 6.5 0 1 0-4-4z`,key:`1s6t7t`}],[`circle`,{cx:`16.5`,cy:`7.5`,r:`.5`,fill:`currentColor`,key:`w0ekpg`}]]};Ud.node;var Wd=Sd(Ud),Gd={name:`link-2`,size:24,node:[[`path`,{d:`M9 17H7A5 5 0 0 1 7 7h2`,key:`8i5ue5`}],[`path`,{d:`M15 7h2a5 5 0 1 1 0 10h-2`,key:`1b9ql8`}],[`line`,{x1:`8`,x2:`16`,y1:`12`,y2:`12`,key:`1jonct`}]]};Gd.node;var Kd=Sd(Gd),qd={name:`lock`,size:24,node:[[`rect`,{width:`18`,height:`11`,x:`3`,y:`11`,rx:`2`,ry:`2`,key:`1w4ew1`}],[`path`,{d:`M7 11V7a5 5 0 0 1 10 0v4`,key:`fwvmzm`}]]};qd.node;var Jd=Sd(qd),Yd={name:`pencil`,size:24,node:[[`path`,{d:`M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z`,key:`1a8usu`}],[`path`,{d:`m15 5 4 4`,key:`1mk7zo`}]]};Yd.node;var Xd=Sd(Yd),Zd={name:`plus`,size:24,node:[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]};Zd.node;var Qd=Sd(Zd),$d={name:`refresh-cw`,size:24,node:[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]};$d.node;var ef=Sd($d),tf={name:`scroll-text`,size:24,node:[[`path`,{d:`M15 12h-5`,key:`r7krc0`}],[`path`,{d:`M15 8h-5`,key:`1khuty`}],[`path`,{d:`M19 17V5a2 2 0 0 0-2-2H4`,key:`zz82l3`}],[`path`,{d:`M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3`,key:`1ph1d7`}]]};tf.node;var nf=Sd(tf),rf={name:`search`,size:24,node:[[`path`,{d:`m21 21-4.34-4.34`,key:`14j7rj`}],[`circle`,{cx:`11`,cy:`11`,r:`8`,key:`4ej97u`}]]};rf.node;var af=Sd(rf),of={name:`shield-alert`,size:24,node:[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`M12 8v4`,key:`1got3b`}],[`path`,{d:`M12 16h.01`,key:`1drbdi`}]]};of.node;var sf=Sd(of),cf={name:`shield-check`,size:24,node:[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]};cf.node;var lf=Sd(cf),uf={name:`shield-question-mark`,size:24,node:[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3`,key:`mhlwft`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]],aliases:[`shield-question`]};uf.node;var df=Sd(uf),ff={name:`trash`,size:24,node:[[`path`,{d:`M10 11v6`,key:`nco0om`}],[`path`,{d:`M14 11v6`,key:`outv1u`}],[`path`,{d:`M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6`,key:`miytrc`}],[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2`,key:`e791ji`}]],aliases:[`trash-2`]};ff.node;var pf=Sd(ff),mf={name:`triangle-alert`,size:24,node:[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]],aliases:[`alert-triangle`]};mf.node;var hf=Sd(mf),gf={name:`unlink`,size:24,node:[[`path`,{d:`m18.84 12.25 1.72-1.71h-.02a5.004 5.004 0 0 0-.12-7.07 5.006 5.006 0 0 0-6.95 0l-1.72 1.71`,key:`yqzxt4`}],[`path`,{d:`m5.17 11.75-1.71 1.71a5.004 5.004 0 0 0 .12 7.07 5.006 5.006 0 0 0 6.95 0l1.71-1.71`,key:`4qinb0`}],[`line`,{x1:`8`,x2:`8`,y1:`2`,y2:`5`,key:`1041cp`}],[`line`,{x1:`2`,x2:`5`,y1:`8`,y2:`8`,key:`14m1p5`}],[`line`,{x1:`16`,x2:`16`,y1:`19`,y2:`22`,key:`rzdirn`}],[`line`,{x1:`19`,x2:`22`,y1:`16`,y2:`16`,key:`ox905f`}]]};gf.node;var _f=Sd(gf),vf={name:`wand-sparkles`,size:24,node:[[`path`,{d:`m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72`,key:`ul74o6`}],[`path`,{d:`m14 7 3 3`,key:`1r5n42`}],[`path`,{d:`M5 6v4`,key:`ilb8ba`}],[`path`,{d:`M19 14v4`,key:`blhpug`}],[`path`,{d:`M10 2v2`,key:`7u0qdc`}],[`path`,{d:`M7 8H3`,key:`zfb6yr`}],[`path`,{d:`M21 16h-4`,key:`1cnmox`}],[`path`,{d:`M11 3H9`,key:`1obp7u`}]],aliases:[`wand-2`]};vf.node;var yf=Sd(vf),bf={name:`x`,size:24,node:[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]};bf.node;var xf=Sd(bf),Sf=e=>typeof e==`boolean`?`${e}`:e===0?`0`:e,Cf=ll,wf=((e,t)=>n=>{if(t?.variants==null)return Cf(e,n?.class,n?.className);let{variants:r,defaultVariants:i}=t,a=Object.keys(r).map(e=>{let t=n?.[e],a=i?.[e];if(t===null)return null;let o=Sf(t)||Sf(a);return r[e][o]}),o=n&&Object.entries(n).reduce((e,t)=>{let[n,r]=t;return r===void 0||(e[n]=r),e},{});return Cf(e,a,t?.compoundVariants?.reduce((e,t)=>{let{class:n,className:r,...a}=t;return Object.entries(a).every(e=>{let[t,n]=e;return Array.isArray(n)?n.includes({...i,...o}[t]):{...i,...o}[t]===n})?[...e,n,r]:e},[]),n?.class,n?.className)})(`inline-flex shrink-0 cursor-pointer items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors disabled:pointer-events-none disabled:opacity-40 [&_svg]:size-4 [&_svg]:shrink-0`,{variants:{variant:{primary:`bg-accent text-on-accent hover:bg-accent/90`,secondary:`border border-border bg-panel-alt text-text hover:border-border-focus hover:bg-selection`,ghost:`text-muted hover:bg-selection hover:text-text`,danger:`border border-danger/50 bg-danger-bg text-danger hover:bg-danger/20`,link:`h-auto p-0 text-accent underline-offset-4 hover:underline`},size:{sm:`h-7 px-2.5 text-xs`,md:`h-9 px-3.5`,lg:`h-10 px-5`,icon:`size-8`,"icon-sm":`size-7`}},defaultVariants:{variant:`secondary`,size:`md`}});function Q({className:e,variant:t,size:n,asChild:r=!1,type:i=`button`,...a}){let o=r?Se:`button`;return(0,L.jsx)(o,{type:r?void 0:i,className:G(wf({variant:t,size:n}),e),...a})}var Tf=1,Ef=.9,Df=.8,Of=.17,kf=.1,Af=.999,jf=.9999,Mf=.99,Nf=/[\\\\\\/_+.#"@\\[\\(\\{&]/,Pf=/[\\\\\\/_+.#"@\\[\\(\\{&]/g,Ff=/[\\s-]/,If=/[\\s-]/g;function Lf(e,t,n,r,i,a,o){if(a===t.length)return i===e.length?Tf:Mf;var s=`${i},${a}`;if(o[s]!==void 0)return o[s];for(var c=r.charAt(a),l=n.indexOf(c,i),u=0,d,f,p,m;l>=0;)d=Lf(e,t,n,r,l+1,a+1,o),d>u&&(l===i?d*=Tf:Nf.test(e.charAt(l-1))?(d*=Df,p=e.slice(i,l-1).match(Pf),p&&i>0&&(d*=Af**+p.length)):Ff.test(e.charAt(l-1))?(d*=Ef,m=e.slice(i,l-1).match(If),m&&i>0&&(d*=Af**+m.length)):(d*=Of,i>0&&(d*=Af**+(l-i))),e.charAt(l)!==t.charAt(a)&&(d*=jf)),(d<kf&&n.charAt(l-1)===r.charAt(a+1)||r.charAt(a+1)===r.charAt(a)&&n.charAt(l-1)!==r.charAt(a))&&(f=Lf(e,t,n,r,l+1,a+2,o),f*kf>d&&(d=f*kf)),d>u&&(u=d),l=n.indexOf(c,l+1);return o[s]=u,u}function Rf(e){return e.toLowerCase().replace(If,` `)}function zf(e,t,n){return e=n&&n.length>0?`${e+` `+n.join(` `)}`:e,Lf(e,t,Rf(e),Rf(t),0,0,{})}var Bf=`[cmdk-group=""]`,$=`[cmdk-group-items=""]`,Vf=`[cmdk-group-heading=""]`,Hf=`[cmdk-item=""]`,Uf=`${Hf}:not([aria-disabled="true"])`,Wf=`cmdk-item-select`,Gf=`data-value`,Kf=(e,t,n)=>zf(e,t,n),qf=_.createContext(void 0),Jf=()=>_.useContext(qf),Yf=_.createContext(void 0),Xf=()=>_.useContext(Yf),Zf=_.createContext(void 0),Qf=_.forwardRef((e,t)=>{let n=fp(()=>({search:``,value:e.value??e.defaultValue??``,selectedItemId:void 0,filtered:{count:0,items:new Map,groups:new Set}})),r=fp(()=>new Set),i=fp(()=>new Map),a=fp(()=>new Map),o=fp(()=>new Set),s=up(e),{label:c,children:l,value:u,onValueChange:d,filter:f,shouldFilter:p,loop:m,disablePointerSelection:h=!1,vimBindings:g=!0,...v}=e,y=Ht(),b=Ht(),x=Ht(),S=_.useRef(null),C=hp();dp(()=>{if(u!==void 0){let e=u.trim();n.current.value=e,w.emit()}},[u]),dp(()=>{C(6,te)},[]);let w=_.useMemo(()=>({subscribe:e=>(o.current.add(e),()=>o.current.delete(e)),snapshot:()=>n.current,setState:(e,t,r)=>{var i,a,o;if(!Object.is(n.current[e],t)){if(n.current[e]=t,e===`search`)O(),D(),C(1,ee);else if(e===`value`){if(document.activeElement.hasAttribute(`cmdk-input`)||document.activeElement.hasAttribute(`cmdk-root`)){let e=document.getElementById(x);e?e.focus():(i=document.getElementById(y))==null||i.focus()}if(C(7,()=>{n.current.selectedItemId=k()?.id,w.emit()}),r||C(5,te),s.current?.value!==void 0){let e=t??``;(o=(a=s.current).onValueChange)==null||o.call(a,e);return}}w.emit()}},emit:()=>{o.current.forEach(e=>e())}}),[]),T=_.useMemo(()=>({value:(e,t,r)=>{t!==a.current.get(e)?.value&&(a.current.set(e,{value:t,keywords:r}),n.current.filtered.items.set(e,E(t,r)),C(2,()=>{D(),w.emit()}))},item:(e,t)=>(r.current.add(e),t&&(i.current.has(t)?i.current.get(t).add(e):i.current.set(t,new Set([e]))),C(3,()=>{O(),D(),n.current.value||ee(),w.emit()}),()=>{a.current.delete(e),r.current.delete(e),n.current.filtered.items.delete(e);let t=k();C(4,()=>{O(),t?.getAttribute(`id`)===e&&ee(),w.emit()})}),group:e=>(i.current.has(e)||i.current.set(e,new Set),()=>{a.current.delete(e),i.current.delete(e)}),filter:()=>s.current.shouldFilter,label:c||e[`aria-label`],getDisablePointerSelection:()=>s.current.disablePointerSelection,listId:y,inputId:x,labelId:b,listInnerRef:S}),[]);function E(e,t){let r=s.current?.filter??Kf;return e?r(e,n.current.search,t):0}function D(){if(!n.current.search||s.current.shouldFilter===!1)return;let e=n.current.filtered.items,t=[];n.current.filtered.groups.forEach(n=>{let r=i.current.get(n),a=0;r.forEach(t=>{let n=e.get(t);a=Math.max(n,a)}),t.push([n,a])});let r=S.current;A().sort((t,n)=>{let r=t.getAttribute(`id`),i=n.getAttribute(`id`);return(e.get(i)??0)-(e.get(r)??0)}).forEach(e=>{let t=e.closest($);t?t.appendChild(e.parentElement===t?e:e.closest(`${$} > *`)):r.appendChild(e.parentElement===r?e:e.closest(`${$} > *`))}),t.sort((e,t)=>t[1]-e[1]).forEach(e=>{let t=S.current?.querySelector(`${Bf}[${Gf}="${encodeURIComponent(e[0])}"]`);t?.parentElement.appendChild(t)})}function ee(){let e=A().find(e=>e.getAttribute(`aria-disabled`)!==`true`)?.getAttribute(Gf);w.setState(`value`,e||void 0)}function O(){if(!n.current.search||s.current.shouldFilter===!1){n.current.filtered.count=r.current.size;return}n.current.filtered.groups=new Set;let e=0;for(let t of r.current){let r=E(a.current.get(t)?.value??``,a.current.get(t)?.keywords??[]);n.current.filtered.items.set(t,r),r>0&&e++}for(let[e,t]of i.current)for(let r of t)if(n.current.filtered.items.get(r)>0){n.current.filtered.groups.add(e);break}n.current.filtered.count=e}function te(){var e;let t=k();t&&(t.parentElement?.firstChild===t&&((e=t.closest(Bf)?.querySelector(Vf))==null||e.scrollIntoView({block:`nearest`})),t.scrollIntoView({block:`nearest`}))}function k(){return S.current?.querySelector(`${Hf}[aria-selected="true"]`)}function A(){return Array.from(S.current?.querySelectorAll(Uf)||[])}function ne(e){let t=A()[e];t&&w.setState(`value`,t.getAttribute(Gf))}function re(e){var t;let n=k(),r=A(),i=r.findIndex(e=>e===n),a=r[i+e];(t=s.current)!=null&&t.loop&&(a=i+e<0?r[r.length-1]:i+e===r.length?r[0]:r[i+e]),a&&w.setState(`value`,a.getAttribute(Gf))}function j(e){let t=k()?.closest(Bf),n;for(;t&&!n;)t=e>0?cp(t,Bf):lp(t,Bf),n=t?.querySelector(Uf);n?w.setState(`value`,n.getAttribute(Gf)):re(e)}let M=()=>ne(A().length-1),ie=e=>{e.preventDefault(),e.metaKey?M():e.altKey?j(1):re(1)},ae=e=>{e.preventDefault(),e.metaKey?ne(0):e.altKey?j(-1):re(-1)};return _.createElement(R.div,{ref:t,tabIndex:-1,...v,"cmdk-root":``,onKeyDown:e=>{var t;(t=v.onKeyDown)==null||t.call(v,e);let n=e.nativeEvent.isComposing||e.keyCode===229;if(!(e.defaultPrevented||n))switch(e.key){case`n`:case`j`:g&&e.ctrlKey&&ie(e);break;case`ArrowDown`:ie(e);break;case`p`:case`k`:g&&e.ctrlKey&&ae(e);break;case`ArrowUp`:ae(e);break;case`Home`:e.preventDefault(),ne(0);break;case`End`:e.preventDefault(),M();break;case`Enter`:{e.preventDefault();let t=k();if(t){let e=new Event(Wf);t.dispatchEvent(e)}}}}},_.createElement(`label`,{"cmdk-label":``,htmlFor:T.inputId,id:T.labelId,style:vp},c),_p(e,e=>_.createElement(Yf.Provider,{value:w},_.createElement(qf.Provider,{value:T},e))))}),$f=_.forwardRef((e,t)=>{let n=Ht(),r=_.useRef(null),i=_.useContext(Zf),a=Jf(),o=up(e),s=o.current?.forceMount??i?.forceMount;dp(()=>{if(!s)return a.item(n,i?.id)},[s]);let c=mp(n,r,[e.value,e.children,r],e.keywords),l=Xf(),u=pp(e=>e.value&&e.value===c.current),d=pp(e=>s||a.filter()===!1?!0:!e.search||e.filtered.items.get(n)>0);_.useEffect(()=>{let t=r.current;if(t&&!e.disabled)return t.addEventListener(Wf,f),()=>t.removeEventListener(Wf,f)},[d,e.onSelect,e.disabled]);function f(){var e,t;p(),(t=(e=o.current).onSelect)==null||t.call(e,c.current)}function p(){l.setState(`value`,c.current,!0)}if(!d)return null;let{disabled:m,value:h,onSelect:g,forceMount:v,keywords:y,...b}=e;return _.createElement(R.div,{ref:ye(r,t),...b,id:n,"cmdk-item":``,role:`option`,"aria-disabled":!!m,"aria-selected":!!u,"data-disabled":!!m,"data-selected":!!u,onPointerMove:m||a.getDisablePointerSelection()?void 0:p,onClick:m?void 0:f},e.children)}),ep=_.forwardRef((e,t)=>{let{heading:n,children:r,forceMount:i,...a}=e,o=Ht(),s=_.useRef(null),c=_.useRef(null),l=Ht(),u=Jf(),d=pp(e=>i||u.filter()===!1?!0:!e.search||e.filtered.groups.has(o));dp(()=>u.group(o),[]),mp(o,s,[e.value,e.heading,c]);let f=_.useMemo(()=>({id:o,forceMount:i}),[i]);return _.createElement(R.div,{ref:ye(s,t),...a,"cmdk-group":``,role:`presentation`,hidden:!d||void 0},n&&_.createElement(`div`,{ref:c,"cmdk-group-heading":``,"aria-hidden":!0,id:l},n),_p(e,e=>_.createElement(`div`,{"cmdk-group-items":``,role:`group`,"aria-labelledby":n?l:void 0},_.createElement(Zf.Provider,{value:f},e))))}),tp=_.forwardRef((e,t)=>{let{alwaysRender:n,...r}=e,i=_.useRef(null),a=pp(e=>!e.search);return!n&&!a?null:_.createElement(R.div,{ref:ye(i,t),...r,"cmdk-separator":``,role:`separator`})}),np=_.forwardRef((e,t)=>{let{onValueChange:n,...r}=e,i=e.value!=null,a=Xf(),o=pp(e=>e.search),s=pp(e=>e.selectedItemId),c=Jf();return _.useEffect(()=>{e.value!=null&&a.setState(`search`,e.value)},[e.value]),_.createElement(R.input,{ref:t,...r,"cmdk-input":``,autoComplete:`off`,autoCorrect:`off`,spellCheck:!1,"aria-autocomplete":`list`,role:`combobox`,"aria-expanded":!0,"aria-controls":c.listId,"aria-labelledby":c.labelId,"aria-activedescendant":s,id:c.inputId,type:`text`,value:i?e.value:o,onChange:e=>{i||a.setState(`search`,e.target.value),n?.(e.target.value)}})}),rp=_.forwardRef((e,t)=>{let{children:n,label:r=`Suggestions`,...i}=e,a=_.useRef(null),o=_.useRef(null),s=pp(e=>e.selectedItemId),c=Jf();return _.useEffect(()=>{if(o.current&&a.current){let e=o.current,t=a.current,n,r=new ResizeObserver(()=>{n=requestAnimationFrame(()=>{let n=e.offsetHeight;t.style.setProperty(`--cmdk-list-height`,n.toFixed(1)+`px`)})});return r.observe(e),()=>{cancelAnimationFrame(n),r.unobserve(e)}}},[]),_.createElement(R.div,{ref:ye(a,t),...i,"cmdk-list":``,role:`listbox`,tabIndex:-1,"aria-activedescendant":s,"aria-label":r,id:c.listId},_p(e,e=>_.createElement(`div`,{ref:ye(o,c.listInnerRef),"cmdk-list-sizer":``},e)))}),ip=_.forwardRef((e,t)=>{let{open:n,onOpenChange:r,overlayClassName:i,contentClassName:a,container:o,...s}=e;return _.createElement(oi,{open:n,onOpenChange:r},_.createElement(ui,{container:o},_.createElement(fi,{"cmdk-overlay":``,className:i}),_.createElement(gi,{"aria-label":e.label,"cmdk-dialog":``,className:a},_.createElement(Qf,{ref:t,...s}))))}),ap=_.forwardRef((e,t)=>pp(e=>e.filtered.count===0)?_.createElement(R.div,{ref:t,...e,"cmdk-empty":``,role:`presentation`}):null),op=_.forwardRef((e,t)=>{let{progress:n,children:r,label:i=`Loading...`,...a}=e;return _.createElement(R.div,{ref:t,...a,"cmdk-loading":``,role:`progressbar`,"aria-valuenow":n,"aria-valuemin":0,"aria-valuemax":100,"aria-label":i},_p(e,e=>_.createElement(`div`,{"aria-hidden":!0},e)))}),sp=Object.assign(Qf,{List:rp,Item:$f,Input:np,Group:ep,Separator:tp,Dialog:ip,Empty:ap,Loading:op});function cp(e,t){let n=e.nextElementSibling;for(;n;){if(n.matches(t))return n;n=n.nextElementSibling}}function lp(e,t){let n=e.previousElementSibling;for(;n;){if(n.matches(t))return n;n=n.previousElementSibling}}function up(e){let t=_.useRef(e);return dp(()=>{t.current=e}),t}var dp=typeof window>`u`?_.useEffect:_.useLayoutEffect;function fp(e){let t=_.useRef();return t.current===void 0&&(t.current=e()),t}function pp(e){let t=Xf(),n=()=>e(t.snapshot());return _.useSyncExternalStore(t.subscribe,n,n)}function mp(e,t,n,r=[]){let i=_.useRef(),a=Jf();return dp(()=>{var o;let s=(()=>{for(let e of n){if(typeof e==`string`)return e.trim();if(typeof e==`object`&&`current`in e)return e.current?e.current.textContent?.trim():i.current}})(),c=r.map(e=>e.trim());a.value(e,s,c),(o=t.current)==null||o.setAttribute(Gf,s),i.current=s}),i}var hp=()=>{let[e,t]=_.useState(),n=fp(()=>new Map);return dp(()=>{n.current.forEach(e=>e()),n.current=new Map},[e]),(e,r)=>{n.current.set(e,r),t({})}};function gp(e){let t=e.type;return typeof t==`function`?t(e.props):`render`in t?t.render(e.props):e}function _p({asChild:e,children:t},n){return e&&_.isValidElement(t)?_.cloneElement(gp(t),{ref:t.ref},n(t.props.children)):n(t)}var vp={position:`absolute`,width:`1px`,height:`1px`,padding:`0`,margin:`-1px`,overflow:`hidden`,clip:`rect(0, 0, 0, 0)`,whiteSpace:`nowrap`,borderWidth:`0`};function yp({commands:e}){let{paletteOpen:t,setPaletteOpen:n}=id(),[r,i]=(0,_.useState)(``),a=(0,_.useMemo)(()=>{let t=new Map;for(let n of e){let e=t.get(n.group)??[];e.push(n),t.set(n.group,e)}return[...t.entries()]},[e]),o=e=>{n(!1),i(``),window.setTimeout(e.run,0)};return(0,L.jsx)(oi,{open:t,onOpenChange:e=>{n(e),e||i(``)},children:(0,L.jsxs)(ui,{children:[(0,L.jsx)(fi,{className:`fixed inset-0 z-50 bg-black/60 animate-in`}),(0,L.jsxs)(gi,{"aria-describedby":void 0,className:`fixed left-1/2 top-[14vh] z-50 w-[min(92vw,36rem)] -translate-x-1/2 overflow-hidden rounded-xl border border-border-focus bg-panel shadow-2xl shadow-black/70 animate-in`,children:[(0,L.jsx)(xi,{className:`sr-only`,children:`Command palette`}),(0,L.jsxs)(sp,{loop:!0,filter:(e,t,n)=>{let r=Ru(t,[e,...n??[]].join(` `));return r===null?0:Math.max(.01,Math.min(1,r/1e3))},children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border px-4`,children:[(0,L.jsx)(`span`,{className:`font-mono text-accent`,children:`\u203A`}),(0,L.jsx)(sp.Input,{value:r,onValueChange:i,placeholder:`Type a command or secret name\u2026`,className:`h-12 flex-1 bg-transparent text-sm text-text placeholder:text-dim focus:outline-none`})]}),(0,L.jsxs)(sp.List,{className:`max-h-[50vh] overflow-y-auto p-1.5`,children:[(0,L.jsx)(sp.Empty,{className:`px-3 py-8 text-center text-sm text-dim`,children:`No matches`}),a.map(([e,t])=>(0,L.jsx)(sp.Group,{heading:e,className:`[&_[cmdk-group-heading]]:px-2.5 [&_[cmdk-group-heading]]:pb-1 [&_[cmdk-group-heading]]:pt-2.5 [&_[cmdk-group-heading]]:text-[11px] [&_[cmdk-group-heading]]:font-semibold [&_[cmdk-group-heading]]:uppercase [&_[cmdk-group-heading]]:tracking-wider [&_[cmdk-group-heading]]:text-dim`,children:t.map(e=>(0,L.jsxs)(sp.Item,{value:`${e.title} ${e.id}`,keywords:[e.group,e.keywords??``],onSelect:()=>o(e),className:`group flex cursor-pointer items-center justify-between gap-3 rounded-md px-2.5 py-2 text-sm text-text data-[selected=true]:bg-selection data-[selected=true]:text-accent`,children:[(0,L.jsx)(`span`,{className:`truncate`,children:e.title}),e.hint?(0,L.jsx)(`span`,{className:`kbd shrink-0 group-data-[selected=true]:text-accent`,children:e.hint}):null]},e.id))},e))]})]})]})]})})}var bp=[100,200,500];function xp(e){return/delete|remove|revoke|tamper|quarantine|fail/i.test(e)?`text-danger`:/reveal|copy|read|otp|export|lease\\.use|exec/i.test(e)?`text-info`:/password|totp|passkey|recovery|pin|keychain|reseal|admin|unlock|lock/i.test(e)?`text-accent`:/create|add|link|import|update/i.test(e)?`text-success`:`text-muted`}function Sp(){let e=id(),[t,n]=(0,_.useState)(null),[r,i]=(0,_.useState)(200),[a,o]=(0,_.useState)(``),[s,c]=(0,_.useState)(null),l=(0,_.useRef)(null),u=(0,_.useRef)(null),d=(0,_.useCallback)(async(e=!0)=>{try{n(await X.audit(r)),e||j.success(`Reloaded`)}catch(e){j.error(Z(e))}},[r]);(0,_.useEffect)(()=>{d()},[d]);let f=(0,_.useMemo)(()=>a?zu(t??[],a,e=>[e.eventType,e.message,e.subjectRef,e.subjectType]):t??[],[t,a]),p=f.find(e=>e.id===s)??null,m=(0,_.useCallback)(e=>{if(f.length===0)return;let t=p?f.indexOf(p):-1,n=e===`top`?0:e===`bottom`?f.length-1:Math.max(0,Math.min(f.length-1,t+e));c(f[n].id),u.current?.querySelector(`[data-id="${CSS.escape(f[n].id)}"]`)?.scrollIntoView({block:`nearest`})},[f,p]);return(0,_.useEffect)(()=>{let t=t=>{if(t.defaultPrevented||e.paletteOpen||e.modalOpen||t.ctrlKey||t.metaKey||t.altKey||Ju(t.target))return;let n={j:()=>m(1),ArrowDown:()=>m(1),k:()=>m(-1),ArrowUp:()=>m(-1),g:()=>m(`top`),G:()=>m(`bottom`),"/":()=>l.current?.focus(),r:()=>void d(!1),Escape:()=>s?c(null):a?o(``):e.go(`vault`)}[t.key];n&&(t.preventDefault(),n())};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[e,m,d,s,a]),ad((0,_.useMemo)(()=>[{id:`audit:reload`,title:`Reload audit log`,group:`Audit`,hint:`r`,run:()=>void d(!1)},{id:`audit:search`,title:`Search audit log`,group:`Audit`,hint:`/`,run:()=>l.current?.focus()},...bp.map(e=>({id:`audit:limit:${e}`,title:`Show the last ${e} events`,group:`Audit`,run:()=>i(e)}))],[d]),(0,_.useMemo)(()=>[[`j/k`,`move`],[`/`,`search`],[`r`,`reload`],[`esc`,`back`]],[])),(0,L.jsxs)(Yu,{className:`h-full`,title:(0,L.jsxs)(L.Fragment,{children:[`Audit log `,(0,L.jsxs)(`span`,{className:`text-dim`,children:[`\xB7 `,a?`${f.length} of ${t?.length??0}`:t?.length??0]})]}),actions:(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(`select`,{value:r,onChange:e=>i(Number(e.target.value)),"aria-label":`How many events`,className:`h-7 cursor-pointer rounded-md border border-border bg-panel-alt px-2 text-xs text-text focus:border-border-focus focus:outline-none`,children:bp.map(e=>(0,L.jsxs)(`option`,{value:e,children:[`last `,e]},e))}),(0,L.jsx)(Q,{size:`icon-sm`,variant:`ghost`,onClick:()=>void d(!1),"aria-label":`Reload`,title:`Reload (r)`,children:(0,L.jsx)(ef,{})})]}),bodyClassName:`flex flex-col`,children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-2 border-b border-border px-4`,children:[(0,L.jsx)(af,{className:`size-4 text-dim`}),(0,L.jsx)(`input`,{ref:l,value:a,onChange:e=>o(e.target.value),onKeyDown:e=>{e.key===`Escape`?(e.preventDefault(),a?o(``):e.currentTarget.blur()):(e.key===`Enter`||e.key===`ArrowDown`)&&(e.preventDefault(),e.currentTarget.blur(),m(`top`))},placeholder:`Filter by event, message or subject`,"aria-label":`Filter audit events`,className:`h-10 flex-1 bg-transparent text-sm text-text placeholder:text-dim focus:outline-none`})]}),(0,L.jsx)(`div`,{ref:u,role:`listbox`,"aria-label":`Audit events`,className:`min-h-0 flex-1 overflow-y-auto p-1.5 font-mono text-xs`,children:t===null?(0,L.jsx)(`div`,{className:`flex justify-center py-10`,children:(0,L.jsx)(Qu,{})}):f.length===0?(0,L.jsx)(Zu,{icon:(0,L.jsx)(nf,{}),title:a?`No events match`:`No events yet`}):f.map(e=>{let t=e.id===s,n=Object.entries(e.metadata??{});return(0,L.jsxs)(`div`,{role:`option`,"aria-selected":t,"data-id":e.id,onClick:()=>c(t?null:e.id),className:G(`cursor-pointer rounded-md border-l-2 px-2.5 py-1.5`,t?`border-accent bg-selection`:`border-transparent hover:bg-selection/50`),children:[(0,L.jsxs)(`div`,{className:`flex items-baseline gap-3`,children:[(0,L.jsx)(`time`,{dateTime:e.createdAt,title:Uu(e.createdAt),className:`w-24 shrink-0 text-dim`,children:Wu(e.createdAt)}),(0,L.jsx)(`span`,{className:G(`w-44 shrink-0 truncate`,xp(e.eventType)),children:e.eventType}),(0,L.jsx)(`span`,{className:G(`min-w-0 flex-1 font-sans text-sm`,t?`text-text`:`truncate text-text/90`),children:e.message})]}),t?(0,L.jsxs)(`dl`,{className:`mt-2 grid grid-cols-[8rem_1fr] gap-x-3 gap-y-1 pb-1 pl-[6.75rem] text-muted`,children:[(0,L.jsx)(`dt`,{className:`text-dim`,children:`time`}),(0,L.jsx)(`dd`,{children:Uu(e.createdAt)}),(0,L.jsx)(`dt`,{className:`text-dim`,children:`subject`}),(0,L.jsxs)(`dd`,{className:`break-all`,children:[e.subjectType,e.subjectRef?` \xB7 ${e.subjectRef}`:``]}),n.map(([e,t])=>(0,L.jsxs)(`div`,{className:`contents`,children:[(0,L.jsx)(`dt`,{className:`truncate text-dim`,children:e}),(0,L.jsx)(`dd`,{className:`break-all`,children:typeof t==`string`?t:JSON.stringify(t)})]},e))]}):null]},e.id)})})]})}var Cp=`This browser or authenticator doesn\'t support the PRF extension needed to encrypt the vault. Try a recent Chrome, Edge or Safari, or a FIDO2 security key.`;function wp(e){let t=e instanceof ArrayBuffer?new Uint8Array(e):new Uint8Array(e.buffer,e.byteOffset,e.byteLength),n=``;for(let e of t)n+=String.fromCharCode(e);return btoa(n).replace(/\\+/g,`-`).replace(/\\//g,`_`).replace(/=+$/,``)}function Tp(e){let t=e.replace(/-/g,`+`).replace(/_/g,`/`)+`=`.repeat((4-e.length%4)%4);return Uint8Array.from(atob(t),e=>e.charCodeAt(0))}var Ep=()=>crypto.getRandomValues(new Uint8Array(32));function Dp(e){return e.getClientExtensionResults().prf}function Op(){return typeof window.PublicKeyCredential==`function`&&window.isSecureContext}function kp(e){return Op()?location.hostname===e?null:`Passkeys are tied to "${e}". Open http://${e}:${location.port} instead.`:`This browser doesn\'t support passkeys here.`}async function Ap(e,t){let n={};for(let e of t)n[e.credentialId]={first:Tp(e.prfSalt)};let r=await navigator.credentials.get({publicKey:{rpId:e,challenge:Ep(),userVerification:`required`,timeout:12e4,allowCredentials:t.map(e=>({type:`public-key`,id:Tp(e.credentialId),transports:e.transports})),extensions:{prf:{evalByCredential:n}}}});if(!r)throw Error(`No passkey was used`);let i=Dp(r)?.results?.first;if(!i)throw Error(Cp);return{credentialId:wp(r.rawId),prfOutput:wp(i)}}async function jp(e,t){let n=Tp(e.prfSalt),r=await navigator.credentials.create({publicKey:{rp:{id:e.rpId,name:`autho`},user:{id:Tp(e.userId),name:e.userName,displayName:e.userName},challenge:Ep(),pubKeyCredParams:[{type:`public-key`,alg:-7},{type:`public-key`,alg:-8},{type:`public-key`,alg:-257}],authenticatorSelection:{userVerification:`required`,residentKey:`preferred`},attestation:`none`,timeout:12e4,excludeCredentials:e.exclude.map(e=>({type:`public-key`,id:Tp(e)})),extensions:{prf:{eval:{first:n}}}}});if(!r)throw Error(`No passkey was created`);let i=Dp(r);if(!i||i.enabled===!1)throw Error(Cp);let a=i.results?.first;if(!a){t?.();let i=await navigator.credentials.get({publicKey:{rpId:e.rpId,challenge:Ep(),userVerification:`required`,timeout:12e4,allowCredentials:[{type:`public-key`,id:r.rawId}],extensions:{prf:{eval:{first:n}}}}});a=i?Dp(i)?.results?.first:void 0}if(!a)throw Error(Cp);let o=r.response;return{credentialId:wp(r.rawId),prfOutput:wp(a),transports:o.getTransports?.()??[]}}var Mp=oi;function Np({className:e,children:t,title:n,description:r,danger:i,hideClose:a,...o}){return(0,L.jsxs)(ui,{children:[(0,L.jsx)(fi,{className:`fixed inset-0 z-50 bg-black/70 backdrop-blur-[2px] animate-in`}),(0,L.jsxs)(gi,{className:G(`fixed left-1/2 top-[10vh] z-50 flex max-h-[80vh] w-[min(92vw,30rem)] -translate-x-1/2 flex-col overflow-hidden rounded-xl border bg-panel shadow-2xl shadow-black/60 animate-in focus:outline-none`,i?`border-danger/60`:`border-border-focus`,e),...o,children:[(0,L.jsxs)(`div`,{className:`flex items-start justify-between gap-4 border-b border-border px-5 py-3.5`,children:[(0,L.jsxs)(`div`,{className:`min-w-0`,children:[(0,L.jsx)(xi,{className:G(`text-sm font-semibold`,i?`text-danger`:`text-accent`),children:n}),r?(0,L.jsx)(Ci,{className:`mt-1 text-xs text-muted`,children:r}):(0,L.jsx)(Ci,{className:`sr-only`,children:typeof n==`string`?n:`Dialog`})]}),a?null:(0,L.jsx)(Ti,{className:`cursor-pointer rounded p-1 text-dim hover:bg-selection hover:text-text`,"aria-label":`Close`,children:(0,L.jsx)(xf,{className:`size-4`})})]}),(0,L.jsx)(`div`,{className:`overflow-y-auto px-5 py-4`,children:t})]})]})}function Pp({className:e,...t}){return(0,L.jsx)(`div`,{className:G(`mt-5 flex flex-wrap items-center justify-end gap-2`,e),...t})}var Fp=`w-full rounded-md border border-border bg-input px-3 text-sm text-text placeholder:text-dim transition-colors focus:border-accent focus:bg-input-focus focus:outline-none disabled:opacity-50 aria-invalid:border-danger`;function Ip({className:e,...t}){return(0,L.jsx)(`input`,{spellCheck:!1,autoComplete:`off`,className:G(Fp,`h-9`,e),...t})}function Lp({className:e,...t}){return(0,L.jsx)(`textarea`,{spellCheck:!1,className:G(Fp,`min-h-24 resize-y py-2 leading-relaxed`,e),...t})}function Rp({className:e,...t}){return(0,L.jsx)(Rs,{className:G(`text-xs font-medium uppercase tracking-wide text-muted`,e),...t})}function zp({label:e,htmlFor:t,hint:n,error:r,children:i,className:a}){return(0,L.jsxs)(`div`,{className:G(`flex flex-col gap-1.5`,a),children:[(0,L.jsx)(Rp,{htmlFor:t,children:e}),i,r?(0,L.jsx)(`p`,{className:`text-xs text-danger`,children:r}):n?(0,L.jsx)(`p`,{className:`text-xs text-dim`,children:n}):null]})}function Bp(e){let[t,n]=(0,_.useState)(null),[r,i]=(0,_.useState)(null),a=(0,_.useRef)(!1),o=(0,_.useCallback)(async(e,t)=>{try{await e(t),a.current=!1}catch(t){if(t instanceof $u&&t.status===403&&!a.current){a.current=!0,n(null),i(()=>e);return}throw a.current=!1,t}},[]);return{withAdmin:(0,_.useCallback)(e=>{t!==null&&t-Date.now()>5e3?o(e,null).catch(()=>{}):i(()=>e)},[t,o]),adminUntil:t,setAdminUntil:n,gate:(0,L.jsx)(Mp,{open:r!==null,onOpenChange:e=>!e&&i(null),children:r?(0,L.jsx)(Vp,{onAuthorized:t=>{let a=r;i(null),n(t.adminUntil),e?.(t),o(a,t).catch(()=>{})}}):null})}}function Vp({onAuthorized:e}){let[t,n]=(0,_.useState)(null),[r,i]=(0,_.useState)(``),[a,o]=(0,_.useState)(``),[s,c]=(0,_.useState)(``),[l,u]=(0,_.useState)(!1),{setModalOpen:d}=id();(0,_.useEffect)(()=>(d(!0),X.auth().then(n,e=>c(Z(e))),()=>d(!1)),[d]);let f=async t=>{u(!0),c(``);try{e(await X.authorize(t))}catch(e){c(e instanceof DOMException&&e.name===`NotAllowedError`?`The passkey prompt was cancelled or timed out`:Z(e)),t.method===`password`&&(i(``),o(``)),u(!1)}},p=e=>{e.preventDefault(),r&&f({method:`password`,password:r,totp:t?.totp?a:void 0})},m=async()=>{if(t){u(!0),c(``);try{let e=await Ap(t.rpId,t.passkeys);await f({method:`passkey`,...e})}catch(e){c(e instanceof DOMException&&e.name===`NotAllowedError`?`The passkey prompt was cancelled or timed out`:Z(e)),u(!1)}}},h=t!==null&&t.passkeys.length>0&&kp(t.rpId)===null;return(0,L.jsx)(Np,{title:(0,L.jsxs)(`span`,{className:`flex items-center gap-2`,children:[(0,L.jsx)(lf,{className:`size-4`}),`Confirm it\'s you`]}),description:`Security changes need your master password. You won\'t be asked again for 5 minutes.`,children:!t&&!s?(0,L.jsx)(`div`,{className:`flex justify-center py-6`,children:(0,L.jsx)(Qu,{})}):(0,L.jsxs)(`form`,{onSubmit:p,className:`flex flex-col gap-4`,children:[(0,L.jsx)(`input`,{type:`text`,name:`username`,autoComplete:`username`,value:`autho:${t?.vault??``}`,readOnly:!0,hidden:!0}),(0,L.jsx)(zp,{label:`Master password`,htmlFor:`admin-password`,children:(0,L.jsx)(Ip,{id:`admin-password`,type:`password`,autoComplete:`current-password`,autoFocus:!0,value:r,onChange:e=>i(e.target.value),disabled:l,maxLength:1024})}),t?.totp?(0,L.jsx)(zp,{label:`Authenticator code`,htmlFor:`admin-totp`,children:(0,L.jsx)(Ip,{id:`admin-totp`,inputMode:`numeric`,autoComplete:`one-time-code`,placeholder:`123 456`,className:`font-mono tracking-[0.3em]`,value:a,onChange:e=>o(e.target.value.replace(/[^\\d ]/g,``).slice(0,9)),disabled:l})}):null,s?(0,L.jsxs)(`p`,{role:`alert`,className:`text-sm text-danger`,children:[`\u2717 `,s]}):null,(0,L.jsxs)(Pp,{className:`mt-1`,children:[h?(0,L.jsxs)(Q,{type:`button`,variant:`secondary`,onClick:()=>void m(),disabled:l,className:`mr-auto`,children:[(0,L.jsx)(Hd,{}),`Use passkey`]}):null,(0,L.jsxs)(Q,{type:`submit`,variant:`primary`,disabled:l||!r||t?.totp===!0&&a.replace(/\\s/g,``).length<6,children:[l?(0,L.jsx)(Qu,{className:`border-on-accent/30 border-t-on-accent`}):null,`Confirm`]})]})]})})}function Hp({title:e,body:t,action:n,onConfirm:r,onCancel:i}){let[a,o]=(0,_.useState)(!1);return(0,L.jsx)(Np,{danger:!0,title:e,description:t,children:(0,L.jsxs)(Pp,{className:`mt-0`,children:[(0,L.jsxs)(Q,{variant:`ghost`,onClick:i,disabled:a,children:[`Cancel `,(0,L.jsx)(Xu,{children:`esc`})]}),(0,L.jsxs)(Q,{variant:`danger`,autoFocus:!0,disabled:a,onClick:()=>{o(!0),Promise.resolve(r()).catch(()=>{}).finally(()=>o(!1))},children:[a?(0,L.jsx)(Qu,{}):null,n]})]})})}function Up({className:e,...t}){return(0,L.jsx)(Ys,{className:G(`relative inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border border-border bg-chip transition-colors data-[state=checked]:border-accent data-[state=checked]:bg-accent/25 disabled:cursor-not-allowed disabled:opacity-40`,e),...t,children:(0,L.jsx)(Zs,{className:`block size-3.5 translate-x-0.5 rounded-full bg-muted transition-transform data-[state=checked]:translate-x-[18px] data-[state=checked]:bg-accent`})})}var Wp=8388608;function Gp(){let e=id(),[t,n]=(0,_.useState)(null),[r,i]=(0,_.useState)(!1),[a,o]=(0,_.useState)(null),[s,c]=(0,_.useState)(null),{withAdmin:l,gate:u}=Bp(),{setModalOpen:d}=e,f=(0,_.useCallback)(async(e=!1)=>{i(!0);try{let t=await X.verify();n(t),e&&(t.state===`intact`?j.success(`Vault seal is intact`):j.error(t.state===`unsealed`?`Vault isn\'t sealed yet`:`Vault was modified outside autho`))}catch(e){j.error(Z(e))}finally{i(!1)}},[]);(0,_.useEffect)(()=>{f()},[f]),(0,_.useEffect)(()=>(d(s!==null),()=>d(!1)),[s,d]);let p=(0,_.useCallback)(e=>{l(async()=>{try{let t=await X.reseal(e);o(t),j.success(t.wasIntact?`The seal is intact; nothing to do`:e===`accept`?`Vault re-sealed as it is now`:`Vault re-sealed`),await f()}catch(e){if(e instanceof $u&&e.status===403)throw e;j.error(Z(e))}})},[l,f]),m=t!==null&&t.state!==`intact`;return(0,_.useEffect)(()=>{let t=t=>{t.defaultPrevented||e.paletteOpen||e.modalOpen||t.ctrlKey||t.metaKey||t.altKey||Ju(t.target)||(t.key===`v`||t.key===`r`?(t.preventDefault(),f(!0)):t.key===`Escape`&&e.go(`vault`))};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[e,f]),ad((0,_.useMemo)(()=>[{id:`health:verify`,title:`Verify vault seal`,group:`Integrity`,hint:`v`,run:()=>void f(!0)},...m?[{id:`health:quarantine`,title:`Undo outside changes and re-seal`,group:`Integrity`,run:()=>c(`quarantine`)},{id:`health:accept`,title:`Accept the vault as it is and re-seal`,group:`Integrity`,run:()=>c(`accept`)}]:[]],[f,m]),(0,_.useMemo)(()=>[[`v`,`verify`],[`esc`,`back`]],[])),(0,L.jsxs)(`div`,{className:`mx-auto flex h-full min-h-0 w-full max-w-4xl flex-col gap-3 overflow-y-auto sm:gap-4`,children:[(0,L.jsx)(Yu,{title:`Vault seal`,actions:(0,L.jsxs)(Q,{size:`sm`,variant:`ghost`,onClick:()=>void f(!0),disabled:r,children:[r?(0,L.jsx)(Qu,{}):(0,L.jsx)(ef,{}),`Verify `,(0,L.jsx)(Xu,{children:`v`})]}),className:`shrink-0`,children:t===null?(0,L.jsx)(`div`,{className:`flex justify-center py-10`,children:(0,L.jsx)(Qu,{})}):(0,L.jsxs)(`div`,{className:`flex flex-col gap-4 p-4`,children:[(0,L.jsx)(Kp,{seal:t}),t.state===`tampered`&&t.changes?.length?(0,L.jsx)(Jp,{changes:t.changes,trusted:t.diffTrusted!==!1}):null,m?(0,L.jsxs)(`div`,{className:`flex flex-col gap-3 rounded-lg border border-border bg-panel-alt p-4`,children:[(0,L.jsxs)(`div`,{className:`flex flex-wrap gap-2`,children:[t.state===`tampered`?(0,L.jsx)(Q,{variant:`danger`,onClick:()=>c(`quarantine`),children:`Undo changes and revoke leases`}):null,(0,L.jsx)(Q,{variant:t.state===`tampered`?`secondary`:`primary`,onClick:()=>c(`accept`),children:t.state===`tampered`?`I made this change \u2014 accept it`:`Seal the vault now`})]}),(0,L.jsx)(`p`,{className:`text-xs text-dim`,children:t.state===`tampered`?`Undo puts edited and deleted rows back, removes added ones and revokes every active lease. Accept keeps the vault as it is. Both ask for your master password.`:`Sealing signs the current contents so later outside edits are caught. It asks for your master password.`})]}):null,a&&!a.wasIntact?(0,L.jsx)(Yp,{result:a}):null]})}),(0,L.jsx)(Xp,{}),(0,L.jsxs)(Mp,{open:s!==null,onOpenChange:e=>!e&&c(null),children:[s===`quarantine`?(0,L.jsx)(Hp,{title:`Undo the outside changes?`,body:`Edited and deleted rows are restored, added rows are removed, and every active lease is revoked.`,action:`Undo and re-seal`,onConfirm:()=>{c(null),p(`quarantine`)},onCancel:()=>c(null)}):null,s===`accept`?(0,L.jsx)(Hp,{title:t?.state===`tampered`?`Accept the vault as it is?`:`Seal the vault?`,body:t?.state===`tampered`?`Only do this if you made the change yourself. The current contents become the trusted state.`:`The current contents become the trusted state.`,action:t?.state===`tampered`?`Accept and re-seal`:`Seal`,onConfirm:()=>{c(null),p(`accept`)},onCancel:()=>c(null)}):null]}),u]})}function Kp({seal:e}){return e.state===`intact`?(0,L.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,L.jsx)(lf,{className:`mt-0.5 size-6 shrink-0 text-success`}),(0,L.jsxs)(`div`,{children:[(0,L.jsx)(`p`,{className:`font-medium text-success`,children:`Seal is intact`}),(0,L.jsx)(`p`,{className:`text-sm text-muted`,children:`Nothing in the vault changed outside autho since it was last sealed.`})]})]}):e.state===`unsealed`?(0,L.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,L.jsx)(df,{className:`mt-0.5 size-6 shrink-0 text-info`}),(0,L.jsxs)(`div`,{children:[(0,L.jsx)(`p`,{className:`font-medium text-info`,children:`Not sealed yet`}),(0,L.jsx)(`p`,{className:`text-sm text-muted`,children:`Without a seal, edits made outside autho can\'t be detected.`})]})]}):(0,L.jsxs)(`div`,{className:`flex items-start gap-3`,children:[(0,L.jsx)(sf,{className:`mt-0.5 size-6 shrink-0 text-danger`}),(0,L.jsxs)(`div`,{children:[(0,L.jsx)(`p`,{className:`font-medium text-danger`,children:`Modified outside autho`}),(0,L.jsxs)(`p`,{className:`text-sm text-muted`,children:[e.reason??`The vault no longer matches its seal`,`.`]})]})]})}var qp={added:`text-success`,modified:`text-accent`,removed:`text-danger`};function Jp({changes:e,trusted:t,title:n}){return(0,L.jsxs)(`div`,{children:[n?(0,L.jsx)(`p`,{className:`mb-1.5 text-xs font-semibold uppercase tracking-wider text-muted`,children:n}):null,t?null:(0,L.jsx)(`p`,{className:`mb-2 text-xs text-info`,children:`The stored row signatures were edited too, so this list may be incomplete.`}),(0,L.jsx)(`ul`,{className:`max-h-64 overflow-y-auto rounded-md border border-border font-mono text-xs`,children:e.map(e=>(0,L.jsxs)(`li`,{className:`flex gap-3 border-b border-border px-3 py-1.5 last:border-b-0`,children:[(0,L.jsx)(`span`,{className:G(`w-16 shrink-0`,qp[e.change]),children:e.change}),(0,L.jsx)(`span`,{className:`w-24 shrink-0 text-muted`,children:e.table}),(0,L.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-dim`,children:e.rowId})]},`${e.table}:${e.rowId}:${e.change}`))})]})}function Yp({result:e}){return(0,L.jsxs)(`div`,{className:`flex flex-col gap-3 rounded-lg border border-border p-4`,children:[(0,L.jsx)(`p`,{className:`text-sm text-text`,children:e.mode===`accept`?`Re-sealed with the vault as it was.`:`Re-sealed. Revoked ${e.revokedLeases} active lease${e.revokedLeases===1?``:`s`}${e.undone.length?`, undid ${e.undone.length} change${e.undone.length===1?``:`s`}`:``}.`}),e.kept.length?(0,L.jsx)(Jp,{title:`Couldn\'t undo \u2014 check these by hand`,changes:e.kept,trusted:!0}):null]})}function Xp(){let[e,t]=(0,_.useState)(null),[n,r]=(0,_.useState)(!0),[i,a]=(0,_.useState)(``),[o,s]=(0,_.useState)(!1),[c,l]=(0,_.useState)(!1),u=(0,_.useRef)(null),d=async e=>{if(a(``),t(null),e){if(e.size>Wp)return a(`That file is larger than 8 MB`);try{let n=JSON.parse(await e.text());if(!Array.isArray(n))return a(`A legacy backup is a JSON array of secrets`);t({name:e.name,entries:n})}catch{a(`That file isn\'t valid JSON`)}}},f=async()=>{if(e){s(!0),a(``);try{let{imported:r,skipped:i}=await X.importLegacy(e.entries,n);j.success(`Imported ${r} secret${r===1?``:`s`}`,{description:i?`Skipped ${i} that already existed`:void 0}),t(null),u.current&&(u.current.value=``)}catch(e){a(Z(e))}finally{s(!1)}}};return(0,L.jsx)(Yu,{title:`Import legacy backup`,className:`shrink-0`,children:(0,L.jsxs)(`div`,{className:`flex flex-col gap-4 p-4`,children:[(0,L.jsxs)(`p`,{className:`text-sm text-muted`,children:[`Bring in secrets from an autho v1 JSON backup, like `,(0,L.jsx)(`code`,{className:`font-mono text-xs`,children:`autho import legacy --file`}),`. The file is read in this browser and sent only to this autho.`]}),(0,L.jsxs)(`label`,{onDragOver:e=>{e.preventDefault(),l(!0)},onDragLeave:()=>l(!1),onDrop:e=>{e.preventDefault(),l(!1),d(e.dataTransfer.files[0])},className:G(`flex cursor-pointer flex-col items-center gap-2 rounded-lg border border-dashed px-4 py-6 text-center transition-colors`,c?`border-accent bg-selection`:`border-border hover:border-border-focus`),children:[(0,L.jsx)(Bd,{className:`size-6 text-dim`}),e?(0,L.jsxs)(`span`,{className:`text-sm text-text`,children:[e.name,` `,(0,L.jsxs)(`span`,{className:`text-dim`,children:[`\xB7 `,e.entries.length,` entr`,e.entries.length===1?`y`:`ies`]})]}):(0,L.jsx)(`span`,{className:`text-sm text-muted`,children:`Drop a .json file here, or click to choose one`}),(0,L.jsx)(`input`,{ref:u,type:`file`,accept:`.json,application/json`,className:`sr-only`,onChange:e=>void d(e.target.files?.[0])})]}),(0,L.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,L.jsxs)(`label`,{className:`flex items-center gap-3 text-sm text-text`,children:[(0,L.jsx)(Up,{checked:n,onCheckedChange:r,"aria-label":`Skip existing secrets`}),`Skip secrets that already exist`]}),(0,L.jsxs)(Q,{variant:`primary`,onClick:()=>void f(),disabled:!e||o,children:[o?(0,L.jsx)(Qu,{className:`border-on-accent/30 border-t-on-accent`}):null,`Import`]})]}),n?null:(0,L.jsx)(`p`,{className:`text-xs text-dim`,children:`With this off, the import stops at the first name that already exists, and nothing is imported.`}),i?(0,L.jsxs)(`p`,{role:`alert`,className:`text-sm text-danger`,children:[`\u2717 `,i]}):null]})})}function Zp(e,t){return e.revokedAt?`revoked`:Date.parse(e.expiresAt)<=t?`expired`:`active`}var Qp={active:`text-success`,expired:`text-dim`,revoked:`text-danger`};function $p(){let e=id(),[t,n]=(0,_.useState)(null),[r,i]=(0,_.useState)(null),[a,o]=(0,_.useState)(!1),[s,c]=(0,_.useState)(null),[l,u]=(0,_.useState)(Date.now()),d=(0,_.useRef)(null),{setModalOpen:f}=e,p=(0,_.useCallback)(async(e=!0)=>{try{n(await X.leases()),u(Date.now()),e||j.success(`Reloaded`)}catch(e){j.error(Z(e))}},[]);(0,_.useEffect)(()=>{p()},[p]),(0,_.useEffect)(()=>{let e=window.setInterval(()=>u(Date.now()),15e3);return()=>window.clearInterval(e)},[]),(0,_.useEffect)(()=>(f(s!==null),()=>f(!1)),[s,f]);let m=(0,_.useMemo)(()=>(t??[]).filter(e=>a||Zp(e,l)===`active`),[t,a,l]),h=m.find(e=>e.id===r)??m[0]??null,g=(t?.length??0)-m.length,v=(0,_.useCallback)(e=>{if(m.length===0)return;let t=h?m.indexOf(h):0,n=e===`top`?0:e===`bottom`?m.length-1:Math.max(0,Math.min(m.length-1,t+e));i(m[n].id),d.current?.querySelector(`[data-id="${CSS.escape(m[n].id)}"]`)?.scrollIntoView({block:`nearest`})},[m,h]),y=h!==null&&Zp(h,l)===`active`,b=(0,_.useCallback)(async()=>{if(h)try{await X.revokeLease(h.id),j.success(`Revoked "${h.name}"`),await p()}catch(e){j.error(Z(e))}},[h,p]);return(0,_.useEffect)(()=>{let t=t=>{if(t.defaultPrevented||e.paletteOpen||e.modalOpen||t.ctrlKey||t.metaKey||t.altKey||Ju(t.target))return;let n={j:()=>v(1),ArrowDown:()=>v(1),k:()=>v(-1),ArrowUp:()=>v(-1),g:()=>v(`top`),G:()=>v(`bottom`),n:()=>c(`new`),r:()=>void p(!1),a:()=>o(e=>!e),x:()=>y&&c(`revoke`),d:()=>y&&c(`revoke`),Delete:()=>y&&c(`revoke`),Escape:()=>e.go(`vault`)}[t.key];n&&(t.preventDefault(),n())};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[e,v,p,y]),ad((0,_.useMemo)(()=>[{id:`lease:new`,title:`New lease`,group:`Leases`,hint:`n`,run:()=>c(`new`)},{id:`lease:reload`,title:`Reload leases`,group:`Leases`,hint:`r`,run:()=>void p(!1)},{id:`lease:all`,title:a?`Show active leases only`:`Show expired and revoked leases`,group:`Leases`,hint:`a`,run:()=>o(e=>!e)},...y?[{id:`lease:revoke`,title:`Revoke "${h.name}"`,group:`Selected`,hint:`x`,run:()=>c(`revoke`)}]:[]],[p,a,y,h]),(0,_.useMemo)(()=>[[`j/k`,`move`],[`n`,`new`],[`x`,`revoke`],[`a`,a?`active only`:`show all`],[`r`,`reload`]],[a])),(0,L.jsxs)(`div`,{className:`grid h-full min-h-0 grid-cols-1 gap-3 md:grid-cols-[minmax(18rem,26rem)_1fr] sm:gap-4`,children:[(0,L.jsxs)(Yu,{title:(0,L.jsxs)(L.Fragment,{children:[`Leases `,(0,L.jsxs)(`span`,{className:`text-dim`,children:[`\xB7 `,m.length,g>0?` (+${g} ended)`:``]})]}),actions:(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(Q,{size:`icon-sm`,variant:`ghost`,onClick:()=>void p(!1),"aria-label":`Reload`,title:`Reload (r)`,children:(0,L.jsx)(ef,{})}),(0,L.jsxs)(Q,{size:`sm`,variant:`primary`,onClick:()=>c(`new`),children:[(0,L.jsx)(Qd,{}),`New`]})]}),bodyClassName:`flex flex-col`,children:[(0,L.jsxs)(`label`,{className:`flex items-center gap-2 border-b border-border px-4 py-2 text-xs text-muted`,children:[(0,L.jsx)(Up,{checked:a,onCheckedChange:o,"aria-label":`Show ended leases`}),`Show expired and revoked`]}),(0,L.jsx)(`div`,{ref:d,role:`listbox`,"aria-label":`Leases`,className:`min-h-0 flex-1 overflow-y-auto p-1.5`,children:t===null?(0,L.jsx)(`div`,{className:`flex justify-center py-10`,children:(0,L.jsx)(Qu,{})}):m.length===0?(0,L.jsxs)(Zu,{icon:(0,L.jsx)(Wd,{}),title:a?`No leases yet`:`No active leases`,children:[`A lease grants time-boxed access to some secrets, for `,(0,L.jsx)(`code`,{className:`font-mono`,children:`autho exec --lease`}),` and the daemon. Press `,(0,L.jsx)(Xu,{children:`n`}),` to create one.`]}):m.map(e=>{let t=Zp(e,l),n=e.id===h?.id;return(0,L.jsxs)(`div`,{role:`option`,"aria-selected":n,"data-id":e.id,onClick:()=>i(e.id),className:G(`flex cursor-pointer items-center gap-3 rounded-md border-l-2 px-2.5 py-2 transition-colors`,n?`border-accent bg-selection`:`border-transparent hover:bg-selection/50`),children:[(0,L.jsx)(`span`,{className:G(`text-xs`,Qp[t]),"aria-hidden":!0,children:`\u25CF`}),(0,L.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,L.jsx)(`div`,{className:G(`truncate text-sm`,n?`text-accent`:`text-text`),children:e.name}),(0,L.jsx)(`div`,{className:`truncate text-xs text-dim`,children:t===`active`?`expires ${Wu(e.expiresAt,l)}`:t===`revoked`?`revoked ${Wu(e.revokedAt,l)}`:`expired ${Wu(e.expiresAt,l)}`})]}),(0,L.jsxs)(`span`,{className:`shrink-0 text-xs text-dim`,children:[e.coverage.length,` secret`,e.coverage.length===1?``:`s`]})]},e.id)})})]}),(0,L.jsx)(Yu,{title:h?h.name:`Lease`,actions:y?(0,L.jsxs)(Q,{size:`sm`,variant:`danger`,onClick:()=>c(`revoke`),children:[`Revoke `,(0,L.jsx)(Xu,{className:`border-danger/40 text-danger`,children:`x`})]}):void 0,bodyClassName:`overflow-y-auto`,children:h?(0,L.jsxs)(`div`,{className:`divide-y divide-border`,children:[(0,L.jsx)(em,{label:`Status`,children:(0,L.jsx)(`span`,{className:Qp[Zp(h,l)],children:Zp(h,l)})}),(0,L.jsx)(em,{label:`ID`,children:(0,L.jsx)(`span`,{className:`break-all font-mono text-xs`,children:h.id})}),(0,L.jsx)(em,{label:`Created`,children:Uu(h.createdAt)}),(0,L.jsxs)(em,{label:Zp(h,l)===`active`?`Expires`:`Expired`,children:[Uu(h.expiresAt),` `,(0,L.jsxs)(`span`,{className:`text-dim`,children:[`\xB7 `,Wu(h.expiresAt,l)]})]}),h.revokedAt?(0,L.jsx)(em,{label:`Revoked`,children:Uu(h.revokedAt)}):null,(0,L.jsx)(em,{label:`Linked secrets`,children:h.includeLinks?`included`:(0,L.jsx)(`span`,{className:`text-muted`,children:`not included`})}),(0,L.jsxs)(`div`,{className:`px-4 py-3.5`,children:[(0,L.jsx)(`div`,{className:`mb-2 text-xs font-semibold uppercase tracking-wider text-muted`,children:`Covers`}),(0,L.jsx)(`ul`,{className:`flex flex-col gap-1`,children:h.coverage.map(e=>{let t=Iu[e.type];return(0,L.jsxs)(`li`,{className:`flex items-center gap-3 rounded-md bg-panel-alt px-3 py-1.5`,children:[(0,L.jsx)(`span`,{className:G(`w-3 text-center text-xs`,t.color),children:t.glyph}),(0,L.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-sm text-text`,children:e.name}),e.via?(0,L.jsxs)(`span`,{className:`truncate text-xs text-dim`,children:[`via `,e.via.name]}):null]},e.id)})})]})]}):(0,L.jsx)(Zu,{icon:(0,L.jsx)(Wd,{}),title:`Nothing selected`})}),(0,L.jsxs)(Mp,{open:s!==null,onOpenChange:e=>!e&&c(null),children:[s===`new`?(0,L.jsx)(tm,{onCreated:e=>{c(null),o(!1),i(e.id),p()}}):null,s===`revoke`&&h?(0,L.jsx)(Hp,{title:`Revoke "${h.name}"?`,body:`Anything using this lease loses access to its secrets right away.`,action:`Revoke`,onConfirm:async()=>{c(null),await b()},onCancel:()=>c(null)}):null]})]})}function em({label:e,children:t}){return(0,L.jsxs)(`div`,{className:`flex flex-wrap items-baseline gap-x-4 gap-y-1 px-4 py-3`,children:[(0,L.jsx)(`span`,{className:`w-32 shrink-0 text-xs font-semibold uppercase tracking-wider text-muted`,children:e}),(0,L.jsx)(`span`,{className:`min-w-0 flex-1 text-sm text-text`,children:t})]})}function tm({onCreated:e}){let[t,n]=(0,_.useState)(null),[r,i]=(0,_.useState)(``),[a,o]=(0,_.useState)(``),[s,c]=(0,_.useState)(!0),[l,u]=(0,_.useState)(()=>new Set),[d,f]=(0,_.useState)(``),[p,m]=(0,_.useState)(0),[h,g]=(0,_.useState)(null),[v,y]=(0,_.useState)(!1);(0,_.useEffect)(()=>{Promise.all([X.secrets(),X.settings()]).then(([e,t])=>{n(e);let r=t.preferences.find(e=>e.key===`defaultLeaseTtl`)?.value;o(typeof r==`number`&&r>0?Gu(r):`1h`)}).catch(e=>g({message:Z(e)}))},[]);let b=(0,_.useMemo)(()=>zu(t??[],d,e=>[e.name,e.username,e.url]),[t,d]);(0,_.useEffect)(()=>m(0),[d]);let x=e=>u(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}),S=async t=>{t.preventDefault();let n=Ku(a);if(n===null||n<=0)return g({field:`ttl`,message:`Use a duration like 90s, 15m, 2h or 1d`});if(n>2592e3)return g({field:`ttl`,message:`At most 30 days`});if(l.size===0)return g({field:`secrets`,message:`Pick at least one secret`});y(!0),g(null);try{let t=await X.createLease({name:r.trim()||`web`,secrets:[...l],ttlSeconds:n,includeLinks:s});j.success(`Created lease "${t.name}"`,{description:`ID ${t.id} \xB7 expires ${Wu(t.expiresAt)}`}),e(t)}catch(e){g({message:Z(e)}),y(!1)}},C=e=>h?.field===e?h.message:void 0;return(0,L.jsx)(Np,{title:`New lease`,description:`Grant time-boxed access to a set of secrets.`,className:`w-[min(94vw,36rem)]`,children:(0,L.jsxs)(`form`,{onSubmit:e=>void S(e),className:`flex flex-col gap-4`,children:[(0,L.jsxs)(`div`,{className:`grid grid-cols-1 gap-4 sm:grid-cols-[1fr_9rem]`,children:[(0,L.jsx)(zp,{label:`Name`,htmlFor:`lease-name`,children:(0,L.jsx)(Ip,{id:`lease-name`,autoFocus:!0,value:r,onChange:e=>i(e.target.value),placeholder:`web`,maxLength:200})}),(0,L.jsx)(zp,{label:`Expires after`,htmlFor:`lease-ttl`,error:C(`ttl`),children:(0,L.jsx)(Ip,{id:`lease-ttl`,value:a,onChange:e=>{o(e.target.value),g(null)},placeholder:`1h`,className:`font-mono`,"aria-invalid":!!C(`ttl`)||void 0})})]}),(0,L.jsx)(zp,{label:`Secrets${l.size?` \xB7 ${l.size} picked`:``}`,htmlFor:`lease-search`,error:C(`secrets`),children:(0,L.jsx)(Ip,{id:`lease-search`,value:d,onChange:e=>f(e.target.value),placeholder:`Search, then space or enter to pick`,onKeyDown:e=>{e.key===`ArrowDown`?(e.preventDefault(),m(e=>Math.min(b.length-1,e+1))):e.key===`ArrowUp`?(e.preventDefault(),m(e=>Math.max(0,e-1))):(e.key===`Enter`||e.key===` `&&!d)&&b[p]&&(e.preventDefault(),x(b[p].id),g(null))}})}),(0,L.jsx)(`div`,{role:`listbox`,"aria-multiselectable":!0,"aria-label":`Secrets`,className:`-mt-2 max-h-[32vh] overflow-y-auto rounded-md border border-border`,children:t===null?(0,L.jsx)(`div`,{className:`flex justify-center py-6`,children:(0,L.jsx)(Qu,{})}):b.length===0?(0,L.jsxs)(`p`,{className:`px-3 py-6 text-center text-sm text-dim`,children:[`No secrets`,d?` match`:``,`.`]}):b.map((e,t)=>{let n=l.has(e.id),r=Iu[e.type];return(0,L.jsxs)(`button`,{type:`button`,role:`option`,"aria-selected":n,onClick:()=>{x(e.id),g(null)},onMouseEnter:()=>m(t),className:G(`flex w-full cursor-pointer items-center gap-3 border-b border-border px-3 py-2 text-left last:border-b-0`,t===p&&`bg-selection`),children:[(0,L.jsx)(`span`,{className:G(`flex size-4 items-center justify-center rounded border`,n?`border-accent bg-accent text-on-accent`:`border-border`),children:n?(0,L.jsx)(wd,{className:`size-3`}):null}),(0,L.jsx)(`span`,{className:G(`w-3 text-center text-xs`,r.color),children:r.glyph}),(0,L.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-sm text-text`,children:e.name}),e.linkCount>0?(0,L.jsxs)(`span`,{className:`text-xs text-dim`,children:[`+`,e.linkCount,` linked`]}):null]},e.id)})}),(0,L.jsxs)(`label`,{className:`flex items-center gap-3 text-sm text-text`,children:[(0,L.jsx)(Up,{checked:s,onCheckedChange:c,"aria-label":`Include linked secrets`}),`Include linked secrets`]}),h&&!h.field?(0,L.jsxs)(`p`,{role:`alert`,className:`rounded-md bg-danger-bg px-3 py-2 text-sm text-danger`,children:[`\u2717 `,h.message]}):null,(0,L.jsx)(Pp,{className:`mt-1`,children:(0,L.jsxs)(Q,{type:`submit`,variant:`primary`,disabled:v||t===null,children:[v?(0,L.jsx)(Qu,{className:`border-on-accent/30 border-t-on-accent`}):null,`Create lease`]})})]})})}var nm=o(((e,t)=>{t.exports=function(){return typeof Promise==`function`&&Promise.prototype&&Promise.prototype.then}})),rm=o((e=>{var t,n=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];e.getSymbolSize=function(e){if(!e)throw Error(`"version" cannot be null or undefined`);if(e<1||e>40)throw Error(`"version" should be in range from 1 to 40`);return e*4+17},e.getSymbolTotalCodewords=function(e){return n[e]},e.getBCHDigit=function(e){let t=0;for(;e!==0;)t++,e>>>=1;return t},e.setToSJISFunction=function(e){if(typeof e!=`function`)throw Error(`"toSJISFunc" is not a valid function.`);t=e},e.isKanjiModeEnabled=function(){return t!==void 0},e.toSJIS=function(e){return t(e)}})),im=o((e=>{e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function t(t){if(typeof t!=`string`)throw Error(`Param is not a string`);switch(t.toLowerCase()){case`l`:case`low`:return e.L;case`m`:case`medium`:return e.M;case`q`:case`quartile`:return e.Q;case`h`:case`high`:return e.H;default:throw Error(`Unknown EC Level: `+t)}}e.isValid=function(e){return e&&e.bit!==void 0&&e.bit>=0&&e.bit<4},e.from=function(n,r){if(e.isValid(n))return n;try{return t(n)}catch{return r}}})),am=o(((e,t)=>{function n(){this.buffer=[],this.length=0}n.prototype={get:function(e){let t=Math.floor(e/8);return(this.buffer[t]>>>7-e%8&1)==1},put:function(e,t){for(let n=0;n<t;n++)this.putBit((e>>>t-n-1&1)==1)},getLengthInBits:function(){return this.length},putBit:function(e){let t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}},t.exports=n})),om=o(((e,t)=>{function n(e){if(!e||e<1)throw Error(`BitMatrix size must be defined and greater than 0`);this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}n.prototype.set=function(e,t,n,r){let i=e*this.size+t;this.data[i]=n,r&&(this.reservedBit[i]=!0)},n.prototype.get=function(e,t){return this.data[e*this.size+t]},n.prototype.xor=function(e,t,n){this.data[e*this.size+t]^=n},n.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]},t.exports=n})),sm=o((e=>{var t=rm().getSymbolSize;e.getRowColCoords=function(e){if(e===1)return[];let n=Math.floor(e/7)+2,r=t(e),i=r===145?26:Math.ceil((r-13)/(2*n-2))*2,a=[r-7];for(let e=1;e<n-1;e++)a[e]=a[e-1]-i;return a.push(6),a.reverse()},e.getPositions=function(t){let n=[],r=e.getRowColCoords(t),i=r.length;for(let e=0;e<i;e++)for(let t=0;t<i;t++)e===0&&t===0||e===0&&t===i-1||e===i-1&&t===0||n.push([r[e],r[t]]);return n}})),cm=o((e=>{var t=rm().getSymbolSize,n=7;e.getPositions=function(e){let r=t(e);return[[0,0],[r-n,0],[0,r-n]]}})),lm=o((e=>{e.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var t={N1:3,N2:3,N3:40,N4:10};e.isValid=function(e){return e!=null&&e!==``&&!isNaN(e)&&e>=0&&e<=7},e.from=function(t){return e.isValid(t)?parseInt(t,10):void 0},e.getPenaltyN1=function(e){let n=e.size,r=0,i=0,a=0,o=null,s=null;for(let c=0;c<n;c++){i=a=0,o=s=null;for(let l=0;l<n;l++){let n=e.get(c,l);n===o?i++:(i>=5&&(r+=t.N1+(i-5)),o=n,i=1),n=e.get(l,c),n===s?a++:(a>=5&&(r+=t.N1+(a-5)),s=n,a=1)}i>=5&&(r+=t.N1+(i-5)),a>=5&&(r+=t.N1+(a-5))}return r},e.getPenaltyN2=function(e){let n=e.size,r=0;for(let t=0;t<n-1;t++)for(let i=0;i<n-1;i++){let n=e.get(t,i)+e.get(t,i+1)+e.get(t+1,i)+e.get(t+1,i+1);(n===4||n===0)&&r++}return r*t.N2},e.getPenaltyN3=function(e){let n=e.size,r=0,i=0,a=0;for(let t=0;t<n;t++){i=a=0;for(let o=0;o<n;o++)i=i<<1&2047|e.get(t,o),o>=10&&(i===1488||i===93)&&r++,a=a<<1&2047|e.get(o,t),o>=10&&(a===1488||a===93)&&r++}return r*t.N3},e.getPenaltyN4=function(e){let n=0,r=e.data.length;for(let t=0;t<r;t++)n+=e.data[t];return Math.abs(Math.ceil(n*100/r/5)-10)*t.N4};function n(t,n,r){switch(t){case e.Patterns.PATTERN000:return(n+r)%2==0;case e.Patterns.PATTERN001:return n%2==0;case e.Patterns.PATTERN010:return r%3==0;case e.Patterns.PATTERN011:return(n+r)%3==0;case e.Patterns.PATTERN100:return(Math.floor(n/2)+Math.floor(r/3))%2==0;case e.Patterns.PATTERN101:return n*r%2+n*r%3==0;case e.Patterns.PATTERN110:return(n*r%2+n*r%3)%2==0;case e.Patterns.PATTERN111:return(n*r%3+(n+r)%2)%2==0;default:throw Error(`bad maskPattern:`+t)}}e.applyMask=function(e,t){let r=t.size;for(let i=0;i<r;i++)for(let a=0;a<r;a++)t.isReserved(a,i)||t.xor(a,i,n(e,a,i))},e.getBestMask=function(t,n){let r=Object.keys(e.Patterns).length,i=0,a=1/0;for(let o=0;o<r;o++){n(o),e.applyMask(o,t);let r=e.getPenaltyN1(t)+e.getPenaltyN2(t)+e.getPenaltyN3(t)+e.getPenaltyN4(t);e.applyMask(o,t),r<a&&(a=r,i=o)}return i}})),um=o((e=>{var t=im(),n=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],r=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];e.getBlocksCount=function(e,r){switch(r){case t.L:return n[(e-1)*4+0];case t.M:return n[(e-1)*4+1];case t.Q:return n[(e-1)*4+2];case t.H:return n[(e-1)*4+3];default:return}},e.getTotalCodewordsCount=function(e,n){switch(n){case t.L:return r[(e-1)*4+0];case t.M:return r[(e-1)*4+1];case t.Q:return r[(e-1)*4+2];case t.H:return r[(e-1)*4+3];default:return}}})),dm=o((e=>{var t=new Uint8Array(512),n=new Uint8Array(256);(function(){let e=1;for(let r=0;r<255;r++)t[r]=e,n[e]=r,e<<=1,e&256&&(e^=285);for(let e=255;e<512;e++)t[e]=t[e-255]})(),e.log=function(e){if(e<1)throw Error(`log(`+e+`)`);return n[e]},e.exp=function(e){return t[e]},e.mul=function(e,r){return e===0||r===0?0:t[n[e]+n[r]]}})),fm=o((e=>{var t=dm();e.mul=function(e,n){let r=new Uint8Array(e.length+n.length-1);for(let i=0;i<e.length;i++)for(let a=0;a<n.length;a++)r[i+a]^=t.mul(e[i],n[a]);return r},e.mod=function(e,n){let r=new Uint8Array(e);for(;r.length-n.length>=0;){let e=r[0];for(let i=0;i<n.length;i++)r[i]^=t.mul(n[i],e);let i=0;for(;i<r.length&&r[i]===0;)i++;r=r.slice(i)}return r},e.generateECPolynomial=function(n){let r=new Uint8Array([1]);for(let i=0;i<n;i++)r=e.mul(r,new Uint8Array([1,t.exp(i)]));return r}})),pm=o(((e,t)=>{var n=fm();function r(e){this.genPoly=void 0,this.degree=e,this.degree&&this.initialize(this.degree)}r.prototype.initialize=function(e){this.degree=e,this.genPoly=n.generateECPolynomial(this.degree)},r.prototype.encode=function(e){if(!this.genPoly)throw Error(`Encoder not initialized`);let t=new Uint8Array(e.length+this.degree);t.set(e);let r=n.mod(t,this.genPoly),i=this.degree-r.length;if(i>0){let e=new Uint8Array(this.degree);return e.set(r,i),e}return r},t.exports=r})),mm=o((e=>{e.isValid=function(e){return!isNaN(e)&&e>=1&&e<=40}})),hm=o((e=>{var t=`[0-9]+`,n=`[A-Z $%*+\\\\-./:]+`,r=`(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+`;r=r.replace(/u/g,`\\\\u`);var i=`(?:(?![A-Z0-9 $%*+\\\\-./:]|`+r+`)(?:.|[\\r\n]))+`;e.KANJI=new RegExp(r,`g`),e.BYTE_KANJI=RegExp(`[^A-Z0-9 $%*+\\\\-./:]+`,`g`),e.BYTE=new RegExp(i,`g`),e.NUMERIC=new RegExp(t,`g`),e.ALPHANUMERIC=new RegExp(n,`g`);var a=RegExp(`^`+r+`$`),o=RegExp(`^[0-9]+$`),s=RegExp(`^[A-Z0-9 $%*+\\\\-./:]+$`);e.testKanji=function(e){return a.test(e)},e.testNumeric=function(e){return o.test(e)},e.testAlphanumeric=function(e){return s.test(e)}})),gm=o((e=>{var t=mm(),n=hm();e.NUMERIC={id:`Numeric`,bit:1,ccBits:[10,12,14]},e.ALPHANUMERIC={id:`Alphanumeric`,bit:2,ccBits:[9,11,13]},e.BYTE={id:`Byte`,bit:4,ccBits:[8,16,16]},e.KANJI={id:`Kanji`,bit:8,ccBits:[8,10,12]},e.MIXED={bit:-1},e.getCharCountIndicator=function(e,n){if(!e.ccBits)throw Error(`Invalid mode: `+e);if(!t.isValid(n))throw Error(`Invalid version: `+n);return n>=1&&n<10?e.ccBits[0]:n<27?e.ccBits[1]:e.ccBits[2]},e.getBestModeForData=function(t){return n.testNumeric(t)?e.NUMERIC:n.testAlphanumeric(t)?e.ALPHANUMERIC:n.testKanji(t)?e.KANJI:e.BYTE},e.toString=function(e){if(e&&e.id)return e.id;throw Error(`Invalid mode`)},e.isValid=function(e){return e&&e.bit&&e.ccBits};function r(t){if(typeof t!=`string`)throw Error(`Param is not a string`);switch(t.toLowerCase()){case`numeric`:return e.NUMERIC;case`alphanumeric`:return e.ALPHANUMERIC;case`kanji`:return e.KANJI;case`byte`:return e.BYTE;default:throw Error(`Unknown mode: `+t)}}e.from=function(t,n){if(e.isValid(t))return t;try{return r(t)}catch{return n}}})),_m=o((e=>{var t=rm(),n=um(),r=im(),i=gm(),a=mm(),o=7973,s=t.getBCHDigit(o);function c(t,n,r){for(let i=1;i<=40;i++)if(n<=e.getCapacity(i,r,t))return i}function l(e,t){return i.getCharCountIndicator(e,t)+4}function u(e,t){let n=0;return e.forEach(function(e){let r=l(e.mode,t);n+=r+e.getBitsLength()}),n}function d(t,n){for(let r=1;r<=40;r++)if(u(t,r)<=e.getCapacity(r,n,i.MIXED))return r}e.from=function(e,t){return a.isValid(e)?parseInt(e,10):t},e.getCapacity=function(e,r,o){if(!a.isValid(e))throw Error(`Invalid QR Code version`);o===void 0&&(o=i.BYTE);let s=(t.getSymbolTotalCodewords(e)-n.getTotalCodewordsCount(e,r))*8;if(o===i.MIXED)return s;let c=s-l(o,e);switch(o){case i.NUMERIC:return Math.floor(c/10*3);case i.ALPHANUMERIC:return Math.floor(c/11*2);case i.KANJI:return Math.floor(c/13);case i.BYTE:default:return Math.floor(c/8)}},e.getBestVersionForData=function(e,t){let n,i=r.from(t,r.M);if(Array.isArray(e)){if(e.length>1)return d(e,i);if(e.length===0)return 1;n=e[0]}else n=e;return c(n.mode,n.getLength(),i)},e.getEncodedBits=function(e){if(!a.isValid(e)||e<7)throw Error(`Invalid QR Code version`);let n=e<<12;for(;t.getBCHDigit(n)-s>=0;)n^=o<<t.getBCHDigit(n)-s;return e<<12|n}})),vm=o((e=>{var t=rm(),n=1335,r=21522,i=t.getBCHDigit(n);e.getEncodedBits=function(e,a){let o=e.bit<<3|a,s=o<<10;for(;t.getBCHDigit(s)-i>=0;)s^=n<<t.getBCHDigit(s)-i;return(o<<10|s)^r}})),ym=o(((e,t)=>{var n=gm();function r(e){this.mode=n.NUMERIC,this.data=e.toString()}r.getBitsLength=function(e){return 10*Math.floor(e/3)+(e%3?e%3*3+1:0)},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(e){let t,n,r;for(t=0;t+3<=this.data.length;t+=3)n=this.data.substr(t,3),r=parseInt(n,10),e.put(r,10);let i=this.data.length-t;i>0&&(n=this.data.substr(t),r=parseInt(n,10),e.put(r,i*3+1))},t.exports=r})),bm=o(((e,t)=>{var n=gm(),r=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ $%*+-./:`.split(``);function i(e){this.mode=n.ALPHANUMERIC,this.data=e}i.getBitsLength=function(e){return 11*Math.floor(e/2)+e%2*6},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(e){let t=0;for(;t+2<=this.data.length;t+=2){let n=r.indexOf(this.data[t])*45;n+=r.indexOf(this.data[t+1]),e.put(n,11)}this.data.length%2&&e.put(r.indexOf(this.data[t]),6)},t.exports=i})),xm=o(((e,t)=>{var n=gm();function r(e){this.mode=n.BYTE,this.data=typeof e==`string`?new TextEncoder().encode(e):new Uint8Array(e)}r.getBitsLength=function(e){return e*8},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(e){for(let t=0,n=this.data.length;t<n;t++)e.put(this.data[t],8)},t.exports=r})),Sm=o(((e,t)=>{var n=gm(),r=rm();function i(e){this.mode=n.KANJI,this.data=e}i.getBitsLength=function(e){return e*13},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(e){let t=0;for(;t<this.data.length;t++){let n=r.toSJIS(this.data[t]);if(n>=33088&&n<=40956)n-=33088;else if(n>=57408&&n<=60351)n-=49472;else throw Error(`Invalid SJIS character: `+this.data[t]+`\nMake sure your charset is UTF-8`);n=(n>>>8&255)*192+(n&255),e.put(n,13)}},t.exports=i})),Cm=o(((e,t)=>{var n={single_source_shortest_paths:function(e,t,r){var i={},a={};a[t]=0;var o=n.PriorityQueue.make();o.push(t,0);for(var s,c,l,u,d,f,p,m,h;!o.empty();)for(l in s=o.pop(),c=s.value,u=s.cost,d=e[c]||{},d)d.hasOwnProperty(l)&&(f=d[l],p=u+f,m=a[l],h=a[l]===void 0,(h||m>p)&&(a[l]=p,o.push(l,p),i[l]=c));if(r!==void 0&&a[r]===void 0){var g=[`Could not find a path from `,t,` to `,r,`.`].join(``);throw Error(g)}return i},extract_shortest_path_from_predecessor_list:function(e,t){for(var n=[],r=t;r;)n.push(r),e[r],r=e[r];return n.reverse(),n},find_path:function(e,t,r){var i=n.single_source_shortest_paths(e,t,r);return n.extract_shortest_path_from_predecessor_list(i,r)},PriorityQueue:{make:function(e){var t=n.PriorityQueue,r={},i;for(i in e||={},t)t.hasOwnProperty(i)&&(r[i]=t[i]);return r.queue=[],r.sorter=e.sorter||t.default_sorter,r},default_sorter:function(e,t){return e.cost-t.cost},push:function(e,t){var n={value:e,cost:t};this.queue.push(n),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};t!==void 0&&(t.exports=n)})),wm=o((e=>{var t=gm(),n=ym(),r=bm(),i=xm(),a=Sm(),o=hm(),s=rm(),c=Cm();function l(e){return unescape(encodeURIComponent(e)).length}function u(e,t,n){let r=[],i;for(;(i=e.exec(n))!==null;)r.push({data:i[0],index:i.index,mode:t,length:i[0].length});return r}function d(e){let n=u(o.NUMERIC,t.NUMERIC,e),r=u(o.ALPHANUMERIC,t.ALPHANUMERIC,e),i,a;return s.isKanjiModeEnabled()?(i=u(o.BYTE,t.BYTE,e),a=u(o.KANJI,t.KANJI,e)):(i=u(o.BYTE_KANJI,t.BYTE,e),a=[]),n.concat(r,i,a).sort(function(e,t){return e.index-t.index}).map(function(e){return{data:e.data,mode:e.mode,length:e.length}})}function f(e,o){switch(o){case t.NUMERIC:return n.getBitsLength(e);case t.ALPHANUMERIC:return r.getBitsLength(e);case t.KANJI:return a.getBitsLength(e);case t.BYTE:return i.getBitsLength(e)}}function p(e){return e.reduce(function(e,t){let n=e.length-1>=0?e[e.length-1]:null;return n&&n.mode===t.mode?(e[e.length-1].data+=t.data,e):(e.push(t),e)},[])}function m(e){let n=[];for(let r=0;r<e.length;r++){let i=e[r];switch(i.mode){case t.NUMERIC:n.push([i,{data:i.data,mode:t.ALPHANUMERIC,length:i.length},{data:i.data,mode:t.BYTE,length:i.length}]);break;case t.ALPHANUMERIC:n.push([i,{data:i.data,mode:t.BYTE,length:i.length}]);break;case t.KANJI:n.push([i,{data:i.data,mode:t.BYTE,length:l(i.data)}]);break;case t.BYTE:n.push([{data:i.data,mode:t.BYTE,length:l(i.data)}])}}return n}function h(e,n){let r={},i={start:{}},a=[`start`];for(let o=0;o<e.length;o++){let s=e[o],c=[];for(let e=0;e<s.length;e++){let l=s[e],u=``+o+e;c.push(u),r[u]={node:l,lastCount:0},i[u]={};for(let e=0;e<a.length;e++){let o=a[e];r[o]&&r[o].node.mode===l.mode?(i[o][u]=f(r[o].lastCount+l.length,l.mode)-f(r[o].lastCount,l.mode),r[o].lastCount+=l.length):(r[o]&&(r[o].lastCount=l.length),i[o][u]=f(l.length,l.mode)+4+t.getCharCountIndicator(l.mode,n))}}a=c}for(let e=0;e<a.length;e++)i[a[e]].end=0;return{map:i,table:r}}function g(e,o){let c,l=t.getBestModeForData(e);if(c=t.from(o,l),c!==t.BYTE&&c.bit<l.bit)throw Error(`"`+e+`" cannot be encoded with mode `+t.toString(c)+`.\n Suggested mode is: `+t.toString(l));switch(c===t.KANJI&&!s.isKanjiModeEnabled()&&(c=t.BYTE),c){case t.NUMERIC:return new n(e);case t.ALPHANUMERIC:return new r(e);case t.KANJI:return new a(e);case t.BYTE:return new i(e)}}e.fromArray=function(e){return e.reduce(function(e,t){return typeof t==`string`?e.push(g(t,null)):t.data&&e.push(g(t.data,t.mode)),e},[])},e.fromString=function(t,n){let r=h(m(d(t,s.isKanjiModeEnabled())),n),i=c.find_path(r.map,`start`,`end`),a=[];for(let e=1;e<i.length-1;e++)a.push(r.table[i[e]].node);return e.fromArray(p(a))},e.rawSplit=function(t){return e.fromArray(d(t,s.isKanjiModeEnabled()))}})),Tm=o((e=>{var t=rm(),n=im(),r=am(),i=om(),a=sm(),o=cm(),s=lm(),c=um(),l=pm(),u=_m(),d=vm(),f=gm(),p=wm();function m(e,t){let n=e.size,r=o.getPositions(t);for(let t=0;t<r.length;t++){let i=r[t][0],a=r[t][1];for(let t=-1;t<=7;t++)if(!(i+t<=-1||n<=i+t))for(let r=-1;r<=7;r++)a+r<=-1||n<=a+r||(t>=0&&t<=6&&(r===0||r===6)||r>=0&&r<=6&&(t===0||t===6)||t>=2&&t<=4&&r>=2&&r<=4?e.set(i+t,a+r,!0,!0):e.set(i+t,a+r,!1,!0))}}function h(e){let t=e.size;for(let n=8;n<t-8;n++){let t=n%2==0;e.set(n,6,t,!0),e.set(6,n,t,!0)}}function g(e,t){let n=a.getPositions(t);for(let t=0;t<n.length;t++){let r=n[t][0],i=n[t][1];for(let t=-2;t<=2;t++)for(let n=-2;n<=2;n++)t===-2||t===2||n===-2||n===2||t===0&&n===0?e.set(r+t,i+n,!0,!0):e.set(r+t,i+n,!1,!0)}}function _(e,t){let n=e.size,r=u.getEncodedBits(t),i,a,o;for(let t=0;t<18;t++)i=Math.floor(t/3),a=t%3+n-8-3,o=(r>>t&1)==1,e.set(i,a,o,!0),e.set(a,i,o,!0)}function v(e,t,n){let r=e.size,i=d.getEncodedBits(t,n),a,o;for(a=0;a<15;a++)o=(i>>a&1)==1,a<6?e.set(a,8,o,!0):a<8?e.set(a+1,8,o,!0):e.set(r-15+a,8,o,!0),a<8?e.set(8,r-a-1,o,!0):a<9?e.set(8,15-a-1+1,o,!0):e.set(8,15-a-1,o,!0);e.set(r-8,8,1,!0)}function y(e,t){let n=e.size,r=-1,i=n-1,a=7,o=0;for(let s=n-1;s>0;s-=2)for(s===6&&s--;;){for(let n=0;n<2;n++)if(!e.isReserved(i,s-n)){let r=!1;o<t.length&&(r=(t[o]>>>a&1)==1),e.set(i,s-n,r),a--,a===-1&&(o++,a=7)}if(i+=r,i<0||n<=i){i-=r,r=-r;break}}}function b(e,n,i){let a=new r;i.forEach(function(t){a.put(t.mode.bit,4),a.put(t.getLength(),f.getCharCountIndicator(t.mode,e)),t.write(a)});let o=(t.getSymbolTotalCodewords(e)-c.getTotalCodewordsCount(e,n))*8;for(a.getLengthInBits()+4<=o&&a.put(0,4);a.getLengthInBits()%8!=0;)a.putBit(0);let s=(o-a.getLengthInBits())/8;for(let e=0;e<s;e++)a.put(e%2?17:236,8);return x(a,e,n)}function x(e,n,r){let i=t.getSymbolTotalCodewords(n),a=i-c.getTotalCodewordsCount(n,r),o=c.getBlocksCount(n,r),s=o-i%o,u=Math.floor(i/o),d=Math.floor(a/o),f=d+1,p=u-d,m=new l(p),h=0,g=Array(o),_=Array(o),v=0,y=new Uint8Array(e.buffer);for(let e=0;e<o;e++){let t=e<s?d:f;g[e]=y.slice(h,h+t),_[e]=m.encode(g[e]),h+=t,v=Math.max(v,t)}let b=new Uint8Array(i),x=0,S,C;for(S=0;S<v;S++)for(C=0;C<o;C++)S<g[C].length&&(b[x++]=g[C][S]);for(S=0;S<p;S++)for(C=0;C<o;C++)b[x++]=_[C][S];return b}function S(e,n,r,a){let o;if(Array.isArray(e))o=p.fromArray(e);else if(typeof e==`string`){let t=n;if(!t){let n=p.rawSplit(e);t=u.getBestVersionForData(n,r)}o=p.fromString(e,t||40)}else throw Error(`Invalid data`);let c=u.getBestVersionForData(o,r);if(!c)throw Error(`The amount of data is too big to be stored in a QR Code`);if(!n)n=c;else if(n<c)throw Error(`\nThe chosen QR Code version cannot contain this amount of data.\nMinimum version required to store current data is: `+c+`.\n`);let l=b(n,r,o),d=new i(t.getSymbolSize(n));return m(d,n),h(d),g(d,n),v(d,r,0),n>=7&&_(d,n),y(d,l),isNaN(a)&&(a=s.getBestMask(d,v.bind(null,d,r))),s.applyMask(a,d),v(d,r,a),{modules:d,version:n,errorCorrectionLevel:r,maskPattern:a,segments:o}}e.create=function(e,r){if(e===void 0||e===``)throw Error(`No input text`);let i=n.M,a,o;return r!==void 0&&(i=n.from(r.errorCorrectionLevel,n.M),a=u.from(r.version),o=s.from(r.maskPattern),r.toSJISFunc&&t.setToSJISFunction(r.toSJISFunc)),S(e,a,i,o)}})),Em=o((e=>{function t(e){if(typeof e==`number`&&(e=e.toString()),typeof e!=`string`)throw Error(`Color should be defined as hex string`);let t=e.slice().replace(`#`,``).split(``);if(t.length<3||t.length===5||t.length>8)throw Error(`Invalid hex color: `+e);(t.length===3||t.length===4)&&(t=Array.prototype.concat.apply([],t.map(function(e){return[e,e]}))),t.length===6&&t.push(`F`,`F`);let n=parseInt(t.join(``),16);return{r:n>>24&255,g:n>>16&255,b:n>>8&255,a:n&255,hex:`#`+t.slice(0,6).join(``)}}e.getOptions=function(e){e||={},e.color||(e.color={});let n=e.margin===void 0||e.margin===null||e.margin<0?4:e.margin,r=e.width&&e.width>=21?e.width:void 0,i=e.scale||4;return{width:r,scale:r?4:i,margin:n,color:{dark:t(e.color.dark||`#000000ff`),light:t(e.color.light||`#ffffffff`)},type:e.type,rendererOpts:e.rendererOpts||{}}},e.getScale=function(e,t){return t.width&&t.width>=e+t.margin*2?t.width/(e+t.margin*2):t.scale},e.getImageWidth=function(t,n){let r=e.getScale(t,n);return Math.floor((t+n.margin*2)*r)},e.qrToImageData=function(t,n,r){let i=n.modules.size,a=n.modules.data,o=e.getScale(i,r),s=Math.floor((i+r.margin*2)*o),c=r.margin*o,l=[r.color.light,r.color.dark];for(let e=0;e<s;e++)for(let n=0;n<s;n++){let u=(e*s+n)*4,d=r.color.light;if(e>=c&&n>=c&&e<s-c&&n<s-c){let t=Math.floor((e-c)/o),r=Math.floor((n-c)/o);d=l[+!!a[t*i+r]]}t[u++]=d.r,t[u++]=d.g,t[u++]=d.b,t[u]=d.a}}})),Dm=o((e=>{var t=Em();function n(e,t,n){e.clearRect(0,0,t.width,t.height),t.style||={},t.height=n,t.width=n,t.style.height=n+`px`,t.style.width=n+`px`}function r(){try{return document.createElement(`canvas`)}catch{throw Error(`You need to specify a canvas element`)}}e.render=function(e,i,a){let o=a,s=i;o===void 0&&(!i||!i.getContext)&&(o=i,i=void 0),i||(s=r()),o=t.getOptions(o);let c=t.getImageWidth(e.modules.size,o),l=s.getContext(`2d`),u=l.createImageData(c,c);return t.qrToImageData(u.data,e,o),n(l,s,c),l.putImageData(u,0,0),s},e.renderToDataURL=function(t,n,r){let i=r;i===void 0&&(!n||!n.getContext)&&(i=n,n=void 0),i||={};let a=e.render(t,n,i),o=i.type||`image/png`,s=i.rendererOpts||{};return a.toDataURL(o,s.quality)}})),Om=o((e=>{var t=Em();function n(e,t){let n=e.a/255,r=t+`="`+e.hex+`"`;return n<1?r+` `+t+`-opacity="`+n.toFixed(2).slice(1)+`"`:r}function r(e,t,n){let r=e+t;return n!==void 0&&(r+=` `+n),r}function i(e,t,n){let i=``,a=0,o=!1,s=0;for(let c=0;c<e.length;c++){let l=Math.floor(c%t),u=Math.floor(c/t);!l&&!o&&(o=!0),e[c]?(s++,c>0&&l>0&&e[c-1]||(i+=o?r(`M`,l+n,.5+u+n):r(`m`,a,0),a=0,o=!1),l+1<t&&e[c+1]||(i+=r(`h`,s),s=0)):a++}return i}e.render=function(e,r,a){let o=t.getOptions(r),s=e.modules.size,c=e.modules.data,l=s+o.margin*2,u=o.color.light.a?`<path `+n(o.color.light,`fill`)+` d="M0 0h`+l+`v`+l+`H0z"/>`:``,d=`<path `+n(o.color.dark,`stroke`)+` d="`+i(c,s,o.margin)+`"/>`,f=`viewBox="0 0 `+l+` `+l+`"`,p=`<svg xmlns="http://www.w3.org/2000/svg" `+(o.width?`width="`+o.width+`" height="`+o.width+`" `:``)+f+` shape-rendering="crispEdges">`+u+d+`</svg>\n`;return typeof a==`function`&&a(null,p),p}})),km=c(o((e=>{var t=nm(),n=Tm(),r=Dm(),i=Om();function a(e,r,i,a,o){let s=[].slice.call(arguments,1),c=s.length,l=typeof s[c-1]==`function`;if(!l&&!t())throw Error(`Callback required as last argument`);if(l){if(c<2)throw Error(`Too few arguments provided`);c===2?(o=i,i=r,r=a=void 0):c===3&&(r.getContext&&o===void 0?(o=a,a=void 0):(o=a,a=i,i=r,r=void 0))}else{if(c<1)throw Error(`Too few arguments provided`);return c===1?(i=r,r=a=void 0):c===2&&!r.getContext&&(a=i,i=r,r=void 0),new Promise(function(t,o){try{t(e(n.create(i,a),r,a))}catch(e){o(e)}})}try{let t=n.create(i,a);o(null,e(t,r,a))}catch(e){o(e)}}e.create=n.create,e.toCanvas=a.bind(null,r.render),e.toDataURL=a.bind(null,r.renderToDataURL),e.toString=a.bind(null,function(e,t,n){return i.render(e,n)})}))(),1),Am=[{id:`storage`,label:`Storage`},{id:`security`,label:`Security`},{id:`behaviour`,label:`Behaviour`},{id:`agents`,label:`Agents & services`},{id:`about`,label:`About`}],jm=[`revealSeconds`,`clipboardClearSeconds`,`idleLockSeconds`,`passwordLength`,`passwordSymbols`,`mouse`],Mm=[`defaultLeaseTtl`,`daemonTtlSeconds`,`webPort`,`webWithTui`];function Nm(){let e=id(),[t,n]=(0,_.useState)(null),[r,i]=(0,_.useState)(`security`),[a,o]=(0,_.useState)(null),{setModalOpen:s}=e,c=(0,_.useCallback)(e=>{n(t=>t&&{...t,security:e})},[]),{withAdmin:l,setAdminUntil:u,adminUntil:d,gate:f}=Bp(c),p=(0,_.useCallback)(async()=>{try{let e=await X.settings();n(e),u(e.security.adminUntil)}catch(e){j.error(Z(e))}},[u]);(0,_.useEffect)(()=>{p()},[p]),(0,_.useEffect)(()=>(s(a!==null),()=>s(!1)),[a,s]);let m=(0,_.useCallback)(async(e,t)=>{try{let n=await e();n&&(c(n),u(n.adminUntil)),t&&j.success(t)}catch(e){if(e instanceof $u&&e.status===403)throw e;j.error(Z(e))}},[c,u]),h=(0,_.useCallback)(async(t,r)=>{try{let i=await X.setPreference(t.key,r);return e.setPrefs(i.prefs),n(e=>e&&{...e,preferences:e.preferences.map(e=>e.key===t.key?{...e,value:r??e.default,display:i.display,source:i.source}:e)}),i.source===`env`?j(`Saved \u2014 ${t.env} still overrides it for now`):j.success(`${t.label}: ${i.display}`),!0}catch(e){return e instanceof $u&&e.status===403&&u(null),j.error(Z(e)),!1}},[e,u]);if((0,_.useEffect)(()=>{let t=t=>{if(t.defaultPrevented||e.paletteOpen||e.modalOpen||t.ctrlKey||t.metaKey||t.altKey||Ju(t.target))return;let n=Am.findIndex(e=>e.id===r);t.key===`ArrowRight`||t.key===`l`||t.key===`]`?(t.preventDefault(),i(Am[(n+1)%Am.length].id)):t.key===`ArrowLeft`||t.key===`h`||t.key===`[`?(t.preventDefault(),i(Am[(n-1+Am.length)%Am.length].id)):t.key===`Escape`&&e.go(`vault`)};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[r,e]),ad((0,_.useMemo)(()=>Am.map(e=>({id:`section:${e.id}`,title:`Settings \xB7 ${e.label}`,group:`Settings`,run:()=>i(e.id)})),[]),(0,_.useMemo)(()=>[[`\u2190\u2192`,`section`],[`tab`,`field`],[`esc`,`back`]],[])),!t)return(0,L.jsx)(Yu,{className:`h-full`,children:(0,L.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,L.jsx)(Qu,{})})});let{security:g,paths:v}=t,y=e=>e.map(e=>t.preferences.find(t=>t.key===e)).filter(e=>e!==void 0).map(e=>{let t=t=>e.guarded?l(t):t();return(0,L.jsx)(Lm,{pref:e,onEdit:()=>t(()=>o({kind:`number`,pref:e})),onToggle:n=>t(()=>void h(e,n)),onReset:()=>t(()=>void h(e,null))},e.key)}),b=(e,t,n,r)=>o({kind:`confirm`,title:e,action:t,run:n,body:r});return(0,L.jsxs)(`div`,{className:`grid h-full min-h-0 grid-cols-1 gap-3 md:grid-cols-[13rem_1fr] sm:gap-4`,children:[(0,L.jsx)(`nav`,{className:`flex gap-1 overflow-x-auto md:flex-col`,"aria-label":`Settings sections`,children:Am.map(e=>(0,L.jsx)(`button`,{type:`button`,onClick:()=>i(e.id),"aria-current":r===e.id?`page`:void 0,className:G(`shrink-0 cursor-pointer rounded-md border-l-2 px-3 py-2 text-left text-sm transition-colors`,r===e.id?`border-accent bg-selection text-accent`:`border-transparent text-muted hover:bg-selection/50 hover:text-text`),children:e.label},e.id))}),(0,L.jsx)(Yu,{title:Am.find(e=>e.id===r).label,actions:r===`security`&&d&&d>Date.now()?(0,L.jsxs)(Q,{variant:`ghost`,size:`sm`,onClick:()=>void m(()=>X.release().then(e=>(u(null),e)),`Confirmation dropped`),children:[(0,L.jsx)(`span`,{className:`text-success`,children:`\u25CF`}),` confirmed \xB7 end now`]}):void 0,bodyClassName:`overflow-y-auto`,children:(0,L.jsxs)(`div`,{className:`divide-y divide-border`,children:[r===`storage`?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(Fm,{label:`Vault file`,path:v.vault,help:`The vault this session has open`}),(0,L.jsx)(Pm,{label:`Vault folder`,value:(0,L.jsxs)(`span`,{className:`break-all font-mono text-xs`,children:[v.home,` `,(0,L.jsxs)(`span`,{className:`text-dim`,children:[`\xB7 `,v.envHome?`AUTHO_HOME`:v.vaultDir?`config`:`default`]})]}),help:v.envHome?`AUTHO_HOME is set, so it decides the folder \u2014 unset it to change this here`:`Where vault.db, project.json and daemon.json live. Files are not moved; restart autho after changing it`,action:v.envHome?void 0:(0,L.jsx)(Q,{size:`sm`,variant:`secondary`,onClick:()=>l(()=>o({kind:`vaultDir`})),children:`Change`})}),(0,L.jsx)(Fm,{label:`Config file`,path:v.config,help:`Settings on this page are saved here`}),(0,L.jsx)(Fm,{label:`Project file`,path:v.project,help:"Default env mappings for `env`, `exec` and the daemon"}),(0,L.jsx)(Fm,{label:`Daemon state`,path:v.daemon,help:"Port and token of a running `autho daemon serve`"})]}):null,r===`security`?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(Pm,{label:`Master password`,value:(0,L.jsx)(`span`,{className:`font-mono text-muted`,children:`\u2022\u2022\u2022\u2022\u2022\u2022\u2022\u2022`}),help:`Re-wraps the vault key under a new password; secrets are not re-encrypted`,action:(0,L.jsx)(Q,{size:`sm`,variant:`secondary`,onClick:()=>l(()=>o({kind:`password`})),children:`Change`})}),(0,L.jsx)(Pm,{label:`Remember password`,value:(0,L.jsx)(Im,{on:g.keychain,unavailable:!g.osStore}),help:g.osStore?`Keep the master password in the OS keychain so this device unlocks without typing it`:`The OS secret store is off (AUTHO_DISABLE_OS_SECRETS)`,action:g.osStore?(0,L.jsx)(Up,{checked:g.keychain,"aria-label":`Remember password`,onCheckedChange:e=>e?l(e=>{if(e&&!e.adminHasPassword)j.error(`Confirm with your master password (not a passkey) to save it in the keychain`);else return m(()=>X.saveKeychain(),`Password saved to the keychain`)}):void m(()=>X.forgetKeychain(),`Password removed from the keychain`)}):void 0}),(0,L.jsx)(Pm,{label:`PIN`,value:g.osStore?(0,L.jsx)(Im,{on:g.pin,onLabel:`set`}):(0,L.jsx)(Im,{on:!1,unavailable:!0}),help:g.osStore?`A short PIN asked before the keychain password is used on this device`:`The OS secret store is off (AUTHO_DISABLE_OS_SECRETS)`,action:g.osStore?(0,L.jsxs)(`div`,{className:`flex gap-1.5`,children:[g.pin?(0,L.jsx)(Q,{size:`sm`,variant:`ghost`,onClick:()=>l(()=>b(`Remove the PIN?`,`Remove`,()=>m(()=>X.removePin(),`PIN removed`))),children:`Remove`}):null,(0,L.jsx)(Q,{size:`sm`,variant:`secondary`,onClick:()=>l(()=>o({kind:`pin`})),children:g.pin?`Change`:`Set`})]}):void 0}),(0,L.jsx)(Pm,{label:`Two-factor code`,value:(0,L.jsx)(Im,{on:g.totp}),help:`Ask for an authenticator app code at every unlock`,action:(0,L.jsx)(Up,{checked:g.totp,"aria-label":`Two-factor code`,onCheckedChange:e=>l(async()=>{if(e){let e=await X.totpSetup();o({kind:`totp`,...e})}else b(`Turn off two-factor codes?`,`Turn off`,()=>m(()=>X.totpDisable(),`Two-factor codes turned off`))})})}),(0,L.jsx)(Pm,{label:`Passkeys`,value:g.passkeys.length?`${g.passkeys.length} registered`:(0,L.jsx)(`span`,{className:`text-muted`,children:`none`}),help:`Unlock with a passkey or hardware security key instead of the password`,action:(0,L.jsxs)(Q,{size:`sm`,variant:`secondary`,onClick:()=>l(()=>o({kind:`passkey`})),children:[(0,L.jsx)(Hd,{}),`Add`]}),children:g.passkeys.length?(0,L.jsx)(`ul`,{className:`mt-3 flex flex-col gap-1.5`,children:g.passkeys.map(e=>(0,L.jsxs)(`li`,{className:`flex items-center gap-3 rounded-md border border-border bg-panel-alt px-3 py-2`,children:[(0,L.jsx)(Hd,{className:`size-4 text-accent`}),(0,L.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-sm text-text`,children:e.label}),(0,L.jsxs)(`span`,{className:`text-xs text-dim`,children:[`added `,Uu(e.createdAt)]}),(0,L.jsx)(Q,{size:`sm`,variant:`ghost`,className:`hover:text-danger`,onClick:()=>l(()=>b(`Remove passkey "${e.label}"?`,`Remove`,()=>m(()=>X.removePasskey(e.id),`Removed "${e.label}"`))),children:`Remove`})]},e.id))}):null}),(0,L.jsx)(Pm,{label:`Recovery file`,value:g.recoveryAt?(0,L.jsxs)(`span`,{className:`text-success`,children:[`created `,Uu(g.recoveryAt)]}):(0,L.jsx)(`span`,{className:`text-muted`,children:`none`}),help:`A file that unlocks the vault if you forget the password. Making a new one replaces the old one`,action:(0,L.jsxs)(`div`,{className:`flex gap-1.5`,children:[g.recoveryAt?(0,L.jsx)(Q,{size:`sm`,variant:`ghost`,onClick:()=>l(()=>b(`Revoke the recovery file?`,`Revoke`,()=>m(()=>X.revokeRecovery(),`Recovery file revoked`),`The current recovery file stops working.`)),children:`Revoke`}):null,(0,L.jsx)(Q,{size:`sm`,variant:`secondary`,onClick:()=>l(async()=>{let e=async()=>{let{fileContent:e,security:t}=await X.createRecovery();c(t),o({kind:`recovery`,content:e})};g.recoveryAt?b(`Replace the recovery file?`,`Replace`,()=>m(e),`The old recovery file stops working.`):await m(e)}),children:g.recoveryAt?`Replace`:`Create`})]})})]}):null,r===`behaviour`?y(jm):null,r===`agents`?y(Mm):null,r===`about`?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(Pm,{label:`autho`,value:(0,L.jsx)(`span`,{className:`font-mono`,children:t.about.version}),help:`Installed version`}),(0,L.jsx)(Pm,{label:`Runtime`,value:(0,L.jsxs)(`span`,{className:`font-mono`,children:[`Bun `,t.about.bun,` \xB7 `,t.about.platform]})}),(0,L.jsx)(Pm,{label:`OS secret store`,value:g.osStore?`available`:(0,L.jsx)(`span`,{className:`text-dim`,children:`off (AUTHO_DISABLE_OS_SECRETS)`}),help:`Used for the remembered password and the PIN`}),(0,L.jsx)(Pm,{label:`Web UI`,value:(0,L.jsx)(`span`,{className:`font-mono`,children:location.origin}),help:`Local only: bound to loopback, same-origin requests only, locks when idle`})]}):null]})}),(0,L.jsxs)(Mp,{open:a!==null,onOpenChange:e=>!e&&o(null),children:[a?.kind===`number`?(0,L.jsx)(Rm,{pref:a.pref,onSave:async e=>{await h(a.pref,e)&&o(null)}}):null,a?.kind===`vaultDir`?(0,L.jsx)(zm,{current:v.vaultDir,onDone:e=>{o(null),n(t=>t&&{...t,paths:{...t.paths,home:e}}),p()}}):null,a?.kind===`password`?(0,L.jsx)(Bm,{title:`New master password`,description:`At least 8 characters. Secrets are not re-encrypted; the vault key is re-wrapped.`,labels:[`New password`,`Repeat it`],type:`password`,autoComplete:`new-password`,mismatch:`The passwords do not match`,submit:`Change password`,onSubmit:e=>m(()=>X.changePassword(e),`Master password changed`).then(()=>o(null))}):null,a?.kind===`pin`?(0,L.jsx)(Bm,{title:`PIN for this device`,description:`4\u201312 digits, asked before the remembered password is used.`,labels:[`PIN`,`Repeat it`],type:`password`,inputMode:`numeric`,pattern:/^\\d{4,12}$/,patternError:`Use 4 to 12 digits`,mismatch:`The PINs do not match`,submit:`Save PIN`,onSubmit:e=>m(()=>X.setPin(e),`PIN saved`).then(()=>o(null))}):null,a?.kind===`totp`?(0,L.jsx)(Vm,{secret:a.secret,uri:a.uri,onEnable:e=>m(()=>X.totpEnable(e),`Two-factor codes turned on`).then(()=>o(null))}):null,a?.kind===`passkey`?(0,L.jsx)(Hm,{onAdded:(e,t)=>{c(e),o(null),j.success(`Added "${t}"`)}}):null,a?.kind===`recovery`?(0,L.jsx)(Um,{content:a.content,vault:e.session.vault.name,onClose:()=>o(null)}):null,a?.kind===`confirm`?(0,L.jsx)(Hp,{title:a.title,body:a.body,action:a.action,onConfirm:async()=>{o(null),await a.run()},onCancel:()=>o(null)}):null]}),f]})}function Pm({label:e,value:t,help:n,action:r,children:i}){return(0,L.jsxs)(`div`,{className:`px-4 py-3.5`,children:[(0,L.jsxs)(`div`,{className:`flex flex-wrap items-center gap-x-4 gap-y-2`,children:[(0,L.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,L.jsxs)(`div`,{className:`flex flex-wrap items-baseline gap-x-3 gap-y-1`,children:[(0,L.jsx)(`span`,{className:`text-sm font-medium text-text`,children:e}),t===void 0?null:(0,L.jsx)(`span`,{className:`min-w-0 text-sm text-text/90`,children:t})]}),n?(0,L.jsx)(`p`,{className:`mt-1 text-xs text-dim`,children:n}):null]}),r?(0,L.jsx)(`div`,{className:`shrink-0`,children:r}):null]}),i]})}function Fm({label:e,path:t,help:n}){let{copy:r}=id();return(0,L.jsx)(Pm,{label:e,value:(0,L.jsx)(`span`,{className:`break-all font-mono text-xs`,children:t}),help:n,action:(0,L.jsx)(Q,{size:`icon-sm`,variant:`ghost`,onClick:()=>void r(e,t),"aria-label":`Copy ${e}`,children:(0,L.jsx)(Od,{})})})}function Im({on:e,onLabel:t=`on`,unavailable:n}){return n?(0,L.jsx)(`span`,{className:`text-dim`,children:`unavailable`}):(0,L.jsx)(`span`,{className:e?`text-success`:`text-muted`,children:e?t:`off`})}function Lm({pref:e,onEdit:t,onToggle:n,onReset:r}){let i=e.source===`env`?(0,L.jsxs)(`span`,{className:`text-info`,children:[`\xB7 `,e.env]}):e.source==="default"?(0,L.jsx)(`span`,{className:`text-dim`,children:`\xB7 default`}):null;return(0,L.jsx)(Pm,{label:e.label,value:(0,L.jsxs)(`span`,{className:G(`font-mono`,e.source==="default"?`text-muted`:`text-text`),children:[e.display,` `,i]}),help:e.help+(e.source===`env`?` \u2014 set by ${e.env}, which overrides the saved value`:``),action:(0,L.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[e.source===`config`?(0,L.jsx)(Q,{size:`sm`,variant:`ghost`,onClick:r,children:`Reset`}):null,e.kind===`boolean`?(0,L.jsx)(Up,{checked:e.value===!0,onCheckedChange:n,"aria-label":e.label}):(0,L.jsx)(Q,{size:`sm`,variant:`secondary`,onClick:t,children:`Change`})]})})}function Rm({pref:e,onSave:t}){let[n,r]=(0,_.useState)(String(e.value)),[i,a]=(0,_.useState)(``),o=r=>{r.preventDefault();let i=Number(n.trim());if(!/^\\d+$/.test(n.trim())||!Number.isSafeInteger(i))return a(`Enter a whole number`);if(e.min!==void 0&&i<e.min&&!(i===0&&e.zero))return a(`At least ${e.min}${e.zero?` (or 0 for ${e.zero})`:``}`);if(e.max!==void 0&&i>e.max)return a(`At most ${e.max}`);t(i)},s=[e.unit===`s`?`In seconds`:null,e.zero?`0 = ${e.zero}`:null,`default ${String(e.default)}`].filter(Boolean).join(` \xB7 `);return(0,L.jsx)(Np,{title:e.label,description:e.help,children:(0,L.jsxs)(`form`,{onSubmit:o,children:[(0,L.jsx)(zp,{label:e.unit===`s`?`Seconds`:`Value`,htmlFor:`pref-value`,hint:s,error:i,children:(0,L.jsx)(Ip,{id:`pref-value`,autoFocus:!0,inputMode:`numeric`,value:n,onChange:e=>{r(e.target.value),a(``)},className:`font-mono`})}),(0,L.jsx)(Pp,{children:(0,L.jsx)(Q,{type:`submit`,variant:`primary`,children:`Save`})})]})})}function zm({current:e,onDone:t}){let[n,r]=(0,_.useState)(e??``),[i,a]=(0,_.useState)(``),[o,s]=(0,_.useState)(!1),c=async e=>{s(!0);try{let n=await X.setVaultDir(e);j.success(e?`Vault folder set to ${n.home}`:`Vault folder reset to the default`,{description:n.missingVault?`There\'s no vault.db there yet. Restart autho to use it.`:`Restart autho to use it.`}),t(n.home)}catch(e){a(Z(e)),s(!1)}};return(0,L.jsx)(Np,{title:`Vault folder`,description:`Where vault.db, project.json and daemon.json live. Files are not moved.`,children:(0,L.jsxs)(`form`,{onSubmit:e=>{e.preventDefault(),n.trim()&&c(n.trim())},children:[(0,L.jsx)(zp,{label:`Folder`,htmlFor:`vault-dir`,error:i,hint:`An absolute path; ~ is expanded`,children:(0,L.jsx)(Ip,{id:`vault-dir`,autoFocus:!0,value:n,onChange:e=>{r(e.target.value),a(``)},className:`font-mono`,maxLength:1024})}),(0,L.jsxs)(Pp,{children:[e?(0,L.jsx)(Q,{type:`button`,variant:`ghost`,className:`mr-auto`,disabled:o,onClick:()=>void c(null),children:`Use default`}):null,(0,L.jsx)(Q,{type:`submit`,variant:`primary`,disabled:o||!n.trim(),children:`Save`})]})]})})}function Bm(e){let[t,n]=(0,_.useState)(``),[r,i]=(0,_.useState)(``),[a,o]=(0,_.useState)(``),[s,c]=(0,_.useState)(!1),l=async n=>{if(n.preventDefault(),e.pattern&&!e.pattern.test(t))return o(e.patternError??`Invalid value`);if(t!==r)return i(``),o(e.mismatch);c(!0),await e.onSubmit(t).finally(()=>c(!1))};return(0,L.jsx)(Np,{title:e.title,description:e.description,children:(0,L.jsxs)(`form`,{onSubmit:e=>void l(e),className:`flex flex-col gap-4`,children:[(0,L.jsx)(zp,{label:e.labels[0],htmlFor:`two-first`,children:(0,L.jsx)(Ip,{id:`two-first`,autoFocus:!0,type:e.type,inputMode:e.inputMode,autoComplete:e.autoComplete??`off`,value:t,onChange:e=>{n(e.target.value),o(``)},maxLength:1024})}),(0,L.jsx)(zp,{label:e.labels[1],htmlFor:`two-second`,error:a,children:(0,L.jsx)(Ip,{id:`two-second`,type:e.type,inputMode:e.inputMode,autoComplete:e.autoComplete??`off`,value:r,onChange:e=>{i(e.target.value),o(``)},maxLength:1024})}),(0,L.jsx)(Pp,{className:`mt-1`,children:(0,L.jsxs)(Q,{type:`submit`,variant:`primary`,disabled:s||!t||!r,children:[s?(0,L.jsx)(Qu,{className:`border-on-accent/30 border-t-on-accent`}):null,e.submit]})})]})})}function Vm({secret:e,uri:t,onEnable:n}){let[r,i]=(0,_.useState)(``),[a,o]=(0,_.useState)(``),[s,c]=(0,_.useState)(!1),{copy:l}=id();return(0,_.useEffect)(()=>{km.toDataURL(t,{margin:1,width:384,errorCorrectionLevel:`M`,color:{dark:`#0d0d0dff`,light:`#eeeeeeff`}}).then(i,()=>i(``))},[t]),(0,L.jsx)(Np,{title:`Turn on two-factor codes`,description:`Scan the code with an authenticator app, then enter the 6-digit code it shows.`,children:(0,L.jsxs)(`form`,{className:`flex flex-col items-center gap-4`,onSubmit:e=>{e.preventDefault(),c(!0),n(a.replace(/\\s/g,``)).finally(()=>c(!1))},children:[r?(0,L.jsx)(`img`,{src:r,alt:`QR code for your authenticator app`,className:`size-48 rounded-lg [image-rendering:pixelated]`}):(0,L.jsx)(`div`,{className:`flex size-48 items-center justify-center rounded-lg bg-panel-alt`,children:(0,L.jsx)(Qu,{})}),(0,L.jsxs)(`button`,{type:`button`,onClick:()=>void l(`Setup key`,e,!0),className:`flex cursor-pointer items-center gap-2 rounded-md bg-chip px-3 py-1.5 font-mono text-xs tracking-wider text-muted hover:text-text`,title:`Copy setup key`,children:[e.replace(/(.{4})/g,`$1 `).trim(),` `,(0,L.jsx)(Od,{className:`size-3.5`})]}),(0,L.jsx)(zp,{label:`Code from the app`,htmlFor:`totp-code`,className:`w-full`,children:(0,L.jsx)(Ip,{id:`totp-code`,autoFocus:!0,inputMode:`numeric`,autoComplete:`one-time-code`,placeholder:`123 456`,className:`text-center font-mono text-lg tracking-[0.3em]`,value:a,onChange:e=>o(e.target.value.replace(/[^\\d ]/g,``).slice(0,9))})}),(0,L.jsx)(Pp,{className:`mt-0 w-full`,children:(0,L.jsxs)(Q,{type:`submit`,variant:`primary`,disabled:s||a.replace(/\\s/g,``).length<6,children:[s?(0,L.jsx)(Qu,{className:`border-on-accent/30 border-t-on-accent`}):null,`Turn on`]})})]})})}function Hm({onAdded:e}){let[t,n]=(0,_.useState)(()=>/mac/i.test(navigator.platform)?`Touch ID`:/win/i.test(navigator.platform)?`Windows Hello`:`Passkey`),[r,i]=(0,_.useState)(`idle`),[a,o]=(0,_.useState)(``),[s,c]=(0,_.useState)(()=>Op()?null:`This browser doesn\'t support passkeys`);(0,_.useEffect)(()=>{Op()&&X.auth().then(e=>c(kp(e.rpId)),()=>{})},[]);let l=async n=>{n.preventDefault(),o(``),i(`create`);try{let n=await jp(await X.passkeyOptions(),()=>i(`confirm`)),{security:r}=await X.addPasskey({...n,label:t.trim()||`Passkey`});e(r,t.trim()||`Passkey`)}catch(e){o(e instanceof DOMException&&e.name===`NotAllowedError`?`The passkey prompt was cancelled or timed out`:e instanceof DOMException&&e.name===`InvalidStateError`?`That authenticator is already registered`:Z(e)),i(`idle`)}};return(0,L.jsx)(Np,{title:`Add a passkey`,description:`Your authenticator must support the PRF extension (most platform passkeys and recent security keys do).`,children:(0,L.jsxs)(`form`,{onSubmit:e=>void l(e),className:`flex flex-col gap-4`,children:[(0,L.jsx)(zp,{label:`Name`,htmlFor:`passkey-label`,hint:`So you can tell your passkeys apart`,children:(0,L.jsx)(Ip,{id:`passkey-label`,autoFocus:!0,value:t,onChange:e=>n(e.target.value),maxLength:64,disabled:r!==`idle`})}),s?(0,L.jsx)(`p`,{className:`text-sm text-info`,children:s}):null,r===`confirm`?(0,L.jsx)(`p`,{className:`text-sm text-muted`,children:`Touch your authenticator once more to finish.`}):null,a?(0,L.jsxs)(`p`,{role:`alert`,className:`text-sm text-danger`,children:[`\u2717 `,a]}):null,(0,L.jsx)(Pp,{className:`mt-1`,children:(0,L.jsxs)(Q,{type:`submit`,variant:`primary`,disabled:r!==`idle`||s!==null,children:[r===`idle`?(0,L.jsx)(Hd,{}):(0,L.jsx)(Qu,{className:`border-on-accent/30 border-t-on-accent`}),r===`idle`?`Create passkey`:`Waiting for your authenticator\u2026`]})})]})})}function Um({content:e,vault:t,onClose:n}){let[r,i]=(0,_.useState)(!1),a=(0,_.useMemo)(()=>URL.createObjectURL(new Blob([e],{type:`text/plain`})),[e]);(0,_.useEffect)(()=>()=>URL.revokeObjectURL(a),[a]);let o=`autho-recovery-${t.replace(/\\.db$/,``).replace(/[^\\w.-]/g,`_`)}.txt`;return(0,L.jsx)(Np,{title:`Save your recovery file`,description:`Anyone with this file can unlock the vault. Keep it offline, somewhere safe. It is shown only once.`,hideClose:!0,onEscapeKeyDown:e=>!r&&e.preventDefault(),onPointerDownOutside:e=>e.preventDefault(),children:(0,L.jsxs)(`div`,{className:`flex flex-col gap-4`,children:[(0,L.jsx)(Q,{asChild:!0,variant:`primary`,size:`lg`,children:(0,L.jsxs)(`a`,{href:a,download:o,onClick:()=>i(!0),children:[(0,L.jsx)(Ad,{}),`Download `,o]})}),(0,L.jsxs)(`p`,{className:`text-xs text-dim`,children:[`Unlock with it from the Recovery tab on the unlock page, or with `,(0,L.jsx)(`code`,{className:`font-mono`,children:`autho unlock --recovery-file`}),`.`]}),(0,L.jsx)(Pp,{className:`mt-0`,children:(0,L.jsx)(Q,{variant:r?`secondary`:`ghost`,onClick:n,disabled:!r,children:r?`Done`:`Download it first`})})]})})}var Wm=yc;function Gm({className:e,...t}){return(0,L.jsx)(bc,{className:G(`inline-flex gap-1 rounded-lg border border-border bg-input p-1`,e),...t})}function Km({className:e,...t}){return(0,L.jsx)(xc,{className:G(`inline-flex flex-1 cursor-pointer items-center justify-center gap-1.5 rounded-md px-3 py-1.5 text-xs font-medium text-muted transition-colors hover:text-text data-[state=active]:bg-chip data-[state=active]:text-accent [&_svg]:size-3.5`,e),...t})}function qm({className:e,...t}){return(0,L.jsx)(Sc,{className:G(`focus:outline-none`,e),...t})}function Jm({className:e=``}){return(0,L.jsx)(`span`,{className:`inline-flex items-center rounded-sm bg-accent px-1.5 font-mono font-bold text-on-accent ${e}`,children:`autho`})}function Ym({onUnlocked:e}){let[t,n]=(0,_.useState)(null),[r,i]=(0,_.useState)(``),[a,o]=(0,_.useState)(`password`),[s,c]=(0,_.useState)(``),[l,u]=(0,_.useState)(``),[d,f]=(0,_.useState)(null),[p,m]=(0,_.useState)(``),[h,g]=(0,_.useState)(!1),v=(0,_.useRef)(null);(0,_.useEffect)(()=>{X.auth().then(n,e=>i(Z(e)))},[]),(0,_.useEffect)(()=>{t&&a===`password`&&v.current?.focus()},[t,a]);let y=async t=>{g(!0),m(``);try{e(await X.unlock(t))}catch(e){m(Z(e)),t.method===`password`&&(c(``),u(``),v.current?.focus())}finally{g(!1)}},b=e=>{e.preventDefault(),s&&y({method:`password`,password:s,totp:t?.totp?l:void 0})},x=async()=>{if(t){m(``),g(!0);try{let e=await Ap(t.rpId,t.passkeys);await y({method:`passkey`,...e})}catch(e){m(e instanceof DOMException&&e.name===`NotAllowedError`?`The passkey prompt was cancelled or timed out`:Z(e))}finally{g(!1)}}},S=async e=>{if(m(``),!e)return f(null);if(e.size>4096)return m(`That file is too large to be an autho recovery file`);f({name:e.name,content:await e.text()})},C=t?kp(t.rpId):null,w=t&&location.hostname!==t.rpId;return(0,L.jsx)(`div`,{className:`flex min-h-full items-center justify-center bg-[radial-gradient(ellipse_at_top,#1a1700_0%,transparent_55%)] p-6`,children:(0,L.jsxs)(`div`,{className:`w-full max-w-sm animate-in`,children:[(0,L.jsxs)(`div`,{className:`mb-8 flex flex-col items-center gap-3 text-center`,children:[(0,L.jsx)(`div`,{className:`flex size-14 items-center justify-center rounded-2xl border border-accent/30 bg-accent/10 text-accent`,children:(0,L.jsx)(Jd,{className:`size-6`})}),(0,L.jsx)(Jm,{className:`text-lg`}),(0,L.jsxs)(`p`,{className:`font-mono text-xs text-dim`,children:[t?.vault??`vault`,` \xB7 locked`]})]}),r?(0,L.jsx)(Xm,{tone:`danger`,children:r}):t?t.initialized?(0,L.jsxs)(`div`,{className:`rounded-xl border border-border bg-panel p-5 shadow-2xl shadow-black/50`,children:[(0,L.jsxs)(Wm,{value:a,onValueChange:e=>{o(e),m(``)},children:[t.passkeys.length>0||t.recovery?(0,L.jsxs)(Gm,{className:`mb-5 flex w-full`,children:[(0,L.jsxs)(Km,{value:`password`,children:[(0,L.jsx)(Wd,{}),`Password`]}),t.passkeys.length>0?(0,L.jsxs)(Km,{value:`passkey`,children:[(0,L.jsx)(Hd,{}),`Passkey`]}):null,t.recovery?(0,L.jsxs)(Km,{value:`recovery`,children:[(0,L.jsx)(Rd,{}),`Recovery`]}):null]}):null,(0,L.jsx)(qm,{value:`password`,children:(0,L.jsxs)(`form`,{onSubmit:b,className:`flex flex-col gap-4`,children:[(0,L.jsx)(`input`,{type:`text`,name:`username`,autoComplete:`username`,value:`autho:${t.vault}`,readOnly:!0,hidden:!0}),(0,L.jsx)(zp,{label:`Master password`,htmlFor:`password`,children:(0,L.jsx)(Ip,{id:`password`,ref:v,type:`password`,autoComplete:`current-password`,value:s,onChange:e=>c(e.target.value),disabled:h,maxLength:1024})}),t.totp?(0,L.jsx)(zp,{label:`Authenticator code`,htmlFor:`totp`,children:(0,L.jsx)(Ip,{id:`totp`,inputMode:`numeric`,autoComplete:`one-time-code`,placeholder:`123 456`,className:`font-mono tracking-[0.3em]`,value:l,onChange:e=>u(e.target.value.replace(/[^\\d ]/g,``).slice(0,9)),disabled:h})}):null,(0,L.jsxs)(Q,{type:`submit`,variant:`primary`,size:`lg`,disabled:h||!s||t.totp&&l.replace(/\\s/g,``).length<6,children:[h?(0,L.jsx)(Qu,{className:`border-on-accent/30 border-t-on-accent`}):null,`Unlock`]})]})}),(0,L.jsxs)(qm,{value:`passkey`,className:`flex flex-col gap-4`,children:[(0,L.jsxs)(`p`,{className:`text-sm text-muted`,children:[`Use one of your registered passkeys or security keys: `,t.passkeys.map(e=>e.label).join(`, `),`.`]}),C?(0,L.jsx)(Xm,{tone:`info`,children:C}):null,(0,L.jsxs)(Q,{variant:`primary`,size:`lg`,onClick:()=>void x(),disabled:h||C!==null,children:[h?(0,L.jsx)(Qu,{className:`border-on-accent/30 border-t-on-accent`}):(0,L.jsx)(Hd,{}),h?`Waiting for your passkey\u2026`:`Unlock with passkey`]})]}),(0,L.jsx)(qm,{value:`recovery`,children:(0,L.jsxs)(`form`,{className:`flex flex-col gap-4`,onSubmit:e=>{e.preventDefault(),d&&y({method:`recovery`,recoveryFile:d.content})},children:[(0,L.jsx)(`p`,{className:`text-sm text-muted`,children:`Choose the recovery file you saved when you set it up. It never leaves this machine.`}),(0,L.jsxs)(`label`,{className:`flex cursor-pointer flex-col items-center gap-2 rounded-lg border border-dashed border-border-focus bg-input px-4 py-6 text-center transition-colors hover:border-accent`,children:[(0,L.jsx)(Rd,{className:`size-6 text-dim`}),(0,L.jsx)(`span`,{className:`text-sm text-text`,children:d?.name??`Choose recovery file\u2026`}),(0,L.jsx)(`input`,{type:`file`,accept:`.txt,text/plain`,className:`sr-only`,onChange:e=>void S(e.target.files?.[0])})]}),(0,L.jsx)(Q,{type:`submit`,variant:`primary`,size:`lg`,disabled:h||!d,children:`Unlock with recovery file`})]})})]}),p?(0,L.jsxs)(`p`,{role:`alert`,className:`mt-4 flex items-start gap-2 text-sm text-danger`,children:[(0,L.jsx)(`span`,{children:`\u2717`}),p]}):null]}):(0,L.jsxs)(Xm,{tone:`info`,children:[`There\'s no vault here yet. Run `,(0,L.jsx)(`code`,{className:`font-mono text-accent`,children:`autho init`}),` in a terminal, then reload.`]}):(0,L.jsx)(`div`,{className:`flex justify-center py-10`,children:(0,L.jsx)(Qu,{})}),w?(0,L.jsxs)(`p`,{className:`mt-4 text-center text-xs text-dim`,children:[`Tip: open `,(0,L.jsx)(`a`,{className:`text-accent hover:underline`,href:`http://${t.rpId}:${location.port}/`,children:`http://${t.rpId}:${location.port}`}),` so passkeys work.`]}):null,(0,L.jsx)(`p`,{className:`mt-8 text-center text-xs text-dim`,children:`Local only \xB7 this page talks to autho on your machine`})]})})}function Xm({tone:e,children:t}){let n={info:`border-info/30 bg-info/5 text-info`,danger:`border-danger/40 bg-danger-bg text-danger`,success:`border-success/30 bg-success/5 text-success`}[e];return(0,L.jsxs)(`div`,{className:`flex items-start gap-2.5 rounded-lg border px-3.5 py-3 text-sm ${n}`,children:[(0,L.jsx)(hf,{className:`mt-0.5 size-4 shrink-0`}),(0,L.jsx)(`div`,{className:`min-w-0 text-text/90`,children:t})]})}var Zm=[`password`,`note`,`otp`];function Qm(e){return e===`note`?`Note`:e===`otp`?`Secret key`:`Password`}function $m({secret:e,existingNames:t,onDone:n}){let{prefs:r}=id(),i=e!==null,[a,o]=(0,_.useState)(e?.type??`password`),[s,c]=(0,_.useState)(e?.name??``),[l,u]=(0,_.useState)(``),[d,f]=(0,_.useState)(e?.username??``),[p,m]=(0,_.useState)(e?.url??``),[h,g]=(0,_.useState)(e?.description??``),[v,y]=(0,_.useState)(!1),[b,x]=(0,_.useState)(null),[S,C]=(0,_.useState)(!1),w=(0,_.useRef)(null),T=(0,_.useRef)(null),E=qu()?`\u2318`:`ctrl`,D=()=>{y(!1),w.current!==null&&(u(e=>e===w.current?``:e),w.current=null)};(0,_.useEffect)(()=>{if(!v||r.revealSeconds<=0)return;let e=window.setTimeout(D,r.revealSeconds*1e3);return()=>window.clearTimeout(e)},[v,r.revealSeconds]);let ee=async()=>{if(v)return D();if(i&&!l&&w.current===null)try{let{value:t}=await X.reveal(e.id);w.current=t,u(t)}catch(e){return x({message:Z(e)})}y(!0),T.current?.focus()},O=()=>{a===`password`&&(w.current=null,u(Lu(r.passwordLength,r.passwordSymbols)),j(`Generated a ${r.passwordLength}-character password`,{description:`${E}+r to view it`}))},te=async()=>{let r=s.trim();if(!r)return x({field:`name`,message:`Name is required`});if(!i&&t.includes(r))return x({field:`name`,message:`A secret named "${r}" already exists`});if(!i&&!l)return x({field:`value`,message:`${Qm(a)} is required`});if(a===`password`&&p.trim()&&!/^https?:\\/\\//i.test(p.trim()))return x({field:`url`,message:`URL must start with http:// or https://`});C(!0),x(null);try{if(i){let t={};if(r!==e.name&&(t.name=r),l&&l!==w.current&&(t.value=l),a!==`note`&&d.trim()!==(e.username??``)&&(t.username=d.trim()),a===`password`&&p.trim()!==(e.url??``)&&(t.url=p.trim()),h.trim()!==(e.description??``)&&(t.description=h.trim()),Object.keys(t).length===0)return j(`No changes`),n(e);let i=await X.updateSecret(e.id,t);j.success(`Saved "${r}"`),n(i)}else{let e=await X.createSecret({name:r,type:a,value:l,username:a===`note`?void 0:d.trim()||void 0,url:a===`password`&&p.trim()||void 0,description:h.trim()||void 0});j.success(`Created "${r}"`),n(e)}}catch(e){x({message:Z(e)}),C(!1)}},k=e=>{e.preventDefault(),te()},A=e=>{if(!(e.ctrlKey||e.metaKey))return;let t=e.key.toLowerCase();t===`s`?(e.preventDefault(),te()):t===`g`&&a===`password`?(e.preventDefault(),O()):t===`r`&&(e.preventDefault(),ee())},ne=e=>b?.field===e?b.message:void 0,re={id:`secret-value`,value:l,onChange:e=>u(e.target.value),placeholder:i?`leave empty to keep the current value`:a===`otp`?`base32 key, e.g. JBSWY3DPEHPK3PXP`:``,"aria-invalid":!!ne(`value`)||void 0,autoComplete:`new-password`,maxLength:65536};return(0,L.jsx)(Np,{title:i?`Edit ${e.name}`:`New secret`,className:`w-[min(94vw,34rem)]`,onKeyDown:A,onOpenAutoFocus:e=>{e.preventDefault(),document.getElementById(`secret-name`)?.focus()},children:(0,L.jsxs)(`form`,{onSubmit:k,className:`flex flex-col gap-4`,children:[i?null:(0,L.jsx)(`div`,{role:`radiogroup`,"aria-label":`Type`,className:`grid grid-cols-3 gap-1.5`,children:Zm.map(e=>{let t=Iu[e],n=e===a;return(0,L.jsxs)(`button`,{type:`button`,role:`radio`,"aria-checked":n,onClick:()=>{o(e),x(null)},className:G(`flex cursor-pointer items-center justify-center gap-2 rounded-md border px-2 py-2 text-sm transition-colors`,n?`border-accent bg-accent text-on-accent font-semibold`:`border-border bg-chip text-muted hover:text-text`),children:[(0,L.jsx)(`span`,{className:n?`text-on-accent`:t.color,children:t.glyph}),t.label]},e)})}),(0,L.jsx)(zp,{label:`Name`,htmlFor:`secret-name`,error:ne(`name`),children:(0,L.jsx)(Ip,{id:`secret-name`,value:s,onChange:e=>c(e.target.value),placeholder:`e.g. github`,maxLength:200,"aria-invalid":!!ne(`name`)||void 0})}),(0,L.jsx)(zp,{label:Qm(a),htmlFor:`secret-value`,error:ne(`value`),hint:i?(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(Xu,{children:[E,`+r`]}),` loads and shows the current value`]}):void 0,children:(0,L.jsxs)(`div`,{className:`flex items-start gap-1.5`,children:[a===`note`?(0,L.jsx)(Lp,{ref:T,...re,className:G(`font-mono`,v?`text-revealed`:`[-webkit-text-security:disc]`)}):(0,L.jsx)(Ip,{ref:T,...re,type:v?`text`:`password`,className:G(`font-mono`,v&&`text-revealed`)}),(0,L.jsx)(Q,{type:`button`,variant:`secondary`,size:`icon`,onClick:()=>void ee(),"aria-label":v?`Hide value`:`Show value`,title:`${v?`Hide`:`Show`} (${E}+r)`,children:v?(0,L.jsx)(Pd,{}):(0,L.jsx)(Id,{})}),a===`password`?(0,L.jsx)(Q,{type:`button`,variant:`secondary`,size:`icon`,onClick:O,"aria-label":`Generate password`,title:`Generate (${E}+g)`,className:`text-info`,children:(0,L.jsx)(yf,{})}):null]})}),a===`note`?null:(0,L.jsx)(zp,{label:`Username`,htmlFor:`secret-username`,children:(0,L.jsx)(Ip,{id:`secret-username`,value:d,onChange:e=>f(e.target.value),placeholder:`optional`,maxLength:512})}),a===`password`?(0,L.jsx)(zp,{label:`URL`,htmlFor:`secret-url`,error:ne(`url`),children:(0,L.jsx)(Ip,{id:`secret-url`,type:`url`,value:p,onChange:e=>m(e.target.value),placeholder:`optional, e.g. https://github.com`,maxLength:512,"aria-invalid":!!ne(`url`)||void 0})}):null,(0,L.jsx)(zp,{label:`Notes`,htmlFor:`secret-description`,children:(0,L.jsx)(Lp,{id:`secret-description`,value:h,onChange:e=>g(e.target.value),placeholder:`optional`,maxLength:8192,className:`min-h-16`})}),b&&!b.field?(0,L.jsxs)(`p`,{role:`alert`,className:`rounded-md bg-danger-bg px-3 py-2 text-sm text-danger`,children:[`\u2717 `,b.message]}):null,(0,L.jsxs)(Pp,{className:`mt-1`,children:[(0,L.jsxs)(`span`,{className:`mr-auto hidden text-xs text-dim sm:inline`,children:[(0,L.jsxs)(Xu,{children:[E,`+s`]}),` save \xB7 `,(0,L.jsx)(Xu,{children:`esc`}),` cancel`]}),(0,L.jsxs)(Q,{type:`submit`,variant:`primary`,disabled:S,children:[S?(0,L.jsx)(Qu,{className:`border-on-accent/30 border-t-on-accent`}):null,i?`Save`:`Create`]})]})]})})}function eh(){let e=id(),[t,n]=(0,_.useState)(null),[r,i]=(0,_.useState)(``),[a,o]=(0,_.useState)(null),[s,c]=(0,_.useState)(null),[l,u]=(0,_.useState)(null),[d,f]=(0,_.useState)(null),p=(0,_.useRef)(null),m=(0,_.useRef)(null),{setModalOpen:h}=e,g=(0,_.useCallback)(async(e=!0)=>{try{n(await X.secrets()),e||j.success(`Reloaded`)}catch(e){j.error(Z(e))}},[]);(0,_.useEffect)(()=>{g()},[g]),(0,_.useEffect)(()=>(h(d!==null),()=>h(!1)),[d,h]);let v=(0,_.useMemo)(()=>t?zu(t,r,e=>[e.name,e.username,e.url,e.description]):[],[t,r]);(0,_.useEffect)(()=>{v.length===0?o(null):v.some(e=>e.id===a)||o(v[0].id)},[v,a]);let y=(0,_.useCallback)(async e=>{try{let t=await X.secret(e);c(n=>n===null||n.id===e||t.id===e?t:n)}catch(e){j.error(Z(e))}},[]);(0,_.useEffect)(()=>{u(null),a?(c(e=>e?.id===a?e:null),y(a)):c(null)},[a,y]),(0,_.useEffect)(()=>{if(!l||e.prefs.revealSeconds<=0)return;let t=window.setTimeout(()=>u(null),e.prefs.revealSeconds*1e3);return()=>window.clearTimeout(t)},[l,e.prefs.revealSeconds]),(0,_.useEffect)(()=>{a&&m.current?.querySelector(`[data-id="${CSS.escape(a)}"]`)?.scrollIntoView({block:`nearest`})},[a]);let b=s&&s.id===a?s:null,x=v.find(e=>e.id===a)??null,S=(0,_.useCallback)(e=>{if(v.length===0)return;let t=v.findIndex(e=>e.id===a),n=e===`top`?0:e===`bottom`?v.length-1:Math.min(v.length-1,Math.max(0,t+e));o(v[n].id)},[v,a]),C=(0,_.useCallback)(e=>{i(``),o(e)},[]),w=(0,_.useCallback)(async(t=x)=>{if(t)try{if(t.type===`otp`){let{code:n}=await X.otp(t.id,!0);await e.copy(`Code`,n,!0)}else{let{value:n}=await X.reveal(t.id);await e.copy(t.type===`note`?`Note`:`Password`,n,!0)}}catch(e){j.error(Z(e))}},[x,e]),T=(0,_.useCallback)(()=>{if(x){if(!x.username)return void j(`${x.name} has no username`);e.copy(`Username`,x.username)}},[x,e]),E=(0,_.useCallback)(()=>{if(x){if(!x.url)return void j(`${x.name} has no URL`);e.copy(`URL`,x.url)}},[x,e]),D=(0,_.useCallback)(()=>{if(x){if(x.type===`otp`)return void w(x);if(!Vu(x.url))return void j(`${x.name} has no URL to open`);window.open(x.url,`_blank`,`noopener,noreferrer`)}},[x,w]),ee=(0,_.useCallback)(async()=>{if(x&&x.type!==`otp`){if(l?.id===x.id)return u(null);try{let{value:e}=await X.reveal(x.id);u({id:x.id,value:e})}catch(e){j.error(Z(e))}}},[x,l]),O=(0,_.useCallback)(async()=>{if(!b)return;let t=b.type===`otp`?b:b.links.find(e=>e.type===`otp`);if(!t)return void j(`${b.name} has no linked OTP`);try{let{code:n}=await X.otp(t.id,!0);await e.copy(`${t.name} code`,n,!0)}catch(e){j.error(Z(e))}},[b,e]),te=(0,_.useCallback)(async e=>{await g(),e&&(o(e),y(e))},[g,y]),k=(0,_.useCallback)(e=>{b&&f({kind:e,secret:b})},[b]);return(0,_.useEffect)(()=>{let t=t=>{if(t.defaultPrevented||e.paletteOpen||e.modalOpen||t.ctrlKey||t.metaKey||t.altKey||Ju(t.target))return;let n={ArrowDown:()=>S(1),j:()=>S(1),ArrowUp:()=>S(-1),k:()=>S(-1),g:()=>S(`top`),G:()=>S(`bottom`),Home:()=>S(`top`),End:()=>S(`bottom`),"/":()=>p.current?.focus(),n:()=>f({kind:`new`}),r:()=>void g(!1),Enter:()=>void w(),c:()=>void w(),u:T,w:E,s:()=>void ee()," ":()=>void ee(),o:D,e:()=>k(`edit`),t:()=>void O(),d:()=>k(`delete`),Delete:()=>k(`delete`),L:()=>k(`link`),Escape:()=>{l?u(null):r&&i(``)}}[t.key];n&&(t.preventDefault(),n())};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[e.paletteOpen,e.modalOpen,S,g,w,T,E,ee,D,k,O,l,r]),ad((0,_.useMemo)(()=>{let e=[];if(x){let t=x.name;x.type===`otp`?e.push({id:`copy`,title:`Copy code \xB7 ${t}`,group:`Selected`,hint:`c`,run:()=>void w(x)}):e.push({id:`copy`,title:`Copy ${x.type===`note`?`note`:`password`} \xB7 ${t}`,group:`Selected`,hint:`c`,run:()=>void w(x)}),x.username&&e.push({id:`user`,title:`Copy username \xB7 ${t}`,group:`Selected`,hint:`u`,run:T}),x.url&&e.push({id:`url`,title:`Copy URL \xB7 ${t}`,group:`Selected`,hint:`w`,run:E}),Vu(x.url)&&e.push({id:`open`,title:`Open ${Bu(x.url)}`,group:`Selected`,hint:`o`,run:D}),x.type!==`otp`&&e.push({id:`reveal`,title:l?.id===x.id?`Hide value`:`Reveal value`,group:`Selected`,hint:`s`,run:()=>void ee()}),b?.links.some(e=>e.type===`otp`)&&e.push({id:`otp`,title:`Copy linked OTP code`,group:`Selected`,hint:`t`,run:()=>void O()}),e.push({id:`edit`,title:`Edit \xB7 ${t}`,group:`Selected`,hint:`e`,run:()=>k(`edit`)},{id:`link`,title:`Link secrets \xB7 ${t}`,group:`Selected`,hint:`L`,run:()=>k(`link`)},{id:`delete`,title:`Delete \xB7 ${t}`,group:`Selected`,hint:`d`,run:()=>k(`delete`)})}e.push({id:`new`,title:`New secret`,group:`Vault`,hint:`n`,run:()=>f({kind:`new`})},{id:`search`,title:`Search secrets`,group:`Vault`,hint:`/`,run:()=>p.current?.focus()},{id:`reload`,title:`Reload`,group:`Vault`,hint:`r`,run:()=>void g(!1)});for(let t of[...b?.links??[],...b?.linkedFrom??[]])e.push({id:`linked:${t.id}`,title:`Go to ${t.name}`,group:`Linked`,run:()=>C(t.id)});for(let n of t??[])e.push({id:`jump:${n.id}`,title:n.name,group:`Jump to`,keywords:[n.username,n.url].filter(Boolean).join(` `),run:()=>C(n.id)});return e},[x,b,t,l,w,T,E,D,ee,O,k,g,C]),(0,_.useMemo)(()=>{let e=[[`\u2191\u2193`,`move`],[`/`,`search`],[`n`,`new`]];return x?[...e,[`c`,x.type===`otp`?`copy code`:`copy`],[`s`,`reveal`],[`e`,`edit`],[`d`,`delete`],[`L`,`link`]]:e},[x])),(0,L.jsxs)(`div`,{className:`grid h-full min-h-0 grid-cols-1 gap-3 md:grid-cols-[minmax(16rem,22rem)_1fr] sm:gap-4`,children:[(0,L.jsxs)(Yu,{title:t?`Secrets \xB7 ${r?`${v.length}/${t.length}`:t.length}`:`Secrets`,actions:(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(sl,{content:`Reload (r)`,children:(0,L.jsx)(Q,{variant:`ghost`,size:`icon-sm`,onClick:()=>void g(!1),"aria-label":`Reload`,children:(0,L.jsx)(ef,{})})}),(0,L.jsx)(sl,{content:`New secret (n)`,children:(0,L.jsx)(Q,{variant:`ghost`,size:`icon-sm`,onClick:()=>f({kind:`new`}),"aria-label":`New secret`,children:(0,L.jsx)(Qd,{})})})]}),bodyClassName:`flex flex-col`,className:G(b?`hidden md:flex`:`flex`),children:[(0,L.jsxs)(`div`,{className:`relative border-b border-border p-2`,children:[(0,L.jsx)(af,{className:`pointer-events-none absolute left-4.5 top-1/2 size-4 -translate-y-1/2 text-dim`}),(0,L.jsx)(Ip,{ref:p,value:r,onChange:e=>i(e.target.value),placeholder:`Search`,"aria-label":`Search secrets`,className:`pl-8`,onKeyDown:e=>{e.key===`ArrowDown`||e.key===`ArrowUp`?(e.preventDefault(),S(e.key===`ArrowDown`?1:-1)):e.key===`Enter`?(e.preventDefault(),e.currentTarget.blur()):e.key===`Escape`&&(e.preventDefault(),r?i(``):e.currentTarget.blur())}}),r?null:(0,L.jsx)(Xu,{className:`pointer-events-none absolute right-4 top-1/2 -translate-y-1/2`,children:`/`})]}),(0,L.jsx)(`div`,{ref:m,role:`listbox`,"aria-label":`Secrets`,className:`min-h-0 flex-1 overflow-y-auto p-1.5`,children:t===null?(0,L.jsx)(`div`,{className:`flex justify-center py-10`,children:(0,L.jsx)(Qu,{})}):t.length===0?(0,L.jsxs)(Zu,{icon:(0,L.jsx)(Wd,{}),title:`Your vault is empty`,children:[`Press `,(0,L.jsx)(Xu,{children:`n`}),` to add your first secret.`]}):v.length===0?(0,L.jsxs)(Zu,{icon:(0,L.jsx)(af,{}),title:`No matches`,children:[`Nothing matches \u201C`,r,`\u201D.`]}):v.map(e=>(0,L.jsx)(th,{secret:e,active:e.id===a,onSelect:()=>o(e.id),onCopy:()=>void w(e)},e.id))})]}),(0,L.jsx)(`div`,{className:G(`min-h-0`,b?`flex`:`hidden md:flex`),children:b?(0,L.jsx)(nh,{secret:b,revealed:l?.id===b.id?l.value:null,onBack:()=>o(null),onCopy:()=>void w(b),onCopyLinkedOtp:()=>void O(),onCopyUsername:T,onCopyUrl:E,onOpen:D,onReveal:()=>void ee(),onEdit:()=>k(`edit`),onDelete:()=>k(`delete`),onLink:()=>k(`link`),onGoTo:C}):(0,L.jsx)(Yu,{className:`flex-1`,children:t&&t.length>0&&x?(0,L.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,L.jsx)(Qu,{})}):(0,L.jsxs)(Zu,{icon:(0,L.jsx)(Wd,{}),title:`Nothing selected`,children:[`Pick a secret on the left, or press `,(0,L.jsx)(Xu,{children:`n`}),` to add one.`]})})}),(0,L.jsx)(Mp,{open:d?.kind===`new`||d?.kind===`edit`,onOpenChange:e=>!e&&f(null),children:d?.kind===`new`||d?.kind===`edit`?(0,L.jsx)($m,{secret:d.kind===`edit`?d.secret:null,existingNames:(t??[]).map(e=>e.name),onDone:e=>{f(null),te(e.id)}}):null}),(0,L.jsx)(Mp,{open:d?.kind===`delete`,onOpenChange:e=>!e&&f(null),children:d?.kind===`delete`?(0,L.jsx)(sh,{secret:d.secret,onDone:()=>{f(null),te()},onCancel:()=>f(null)}):null}),(0,L.jsx)(Mp,{open:d?.kind===`link`,onOpenChange:e=>!e&&f(null),children:d?.kind===`link`?(0,L.jsx)(ch,{secret:d.secret,secrets:t??[],onChanged:()=>void te(d.secret.id)}):null})]})}function th({secret:e,active:t,onSelect:n,onCopy:r}){let i=Iu[e.type],a=e.username??(e.url?Bu(e.url):i.label);return(0,L.jsxs)(`div`,{role:`option`,"aria-selected":t,"data-id":e.id,onClick:n,onDoubleClick:r,className:G(`group flex cursor-pointer items-center gap-3 rounded-md border-l-2 px-2.5 py-2 transition-colors`,t?`border-accent bg-selection`:`border-transparent hover:bg-selection/50`),children:[(0,L.jsx)(`span`,{className:G(`w-3 shrink-0 text-center text-xs`,i.color),"aria-hidden":!0,children:i.glyph}),(0,L.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,L.jsx)(`div`,{className:G(`truncate text-sm`,t?`text-accent`:`text-text`),children:e.name}),(0,L.jsx)(`div`,{className:`truncate text-xs text-dim`,children:a})]}),e.linkCount>0?(0,L.jsxs)(`span`,{className:`flex shrink-0 items-center gap-0.5 text-xs text-dim`,title:`${e.linkCount} linked`,children:[(0,L.jsx)(Kd,{className:`size-3`}),e.linkCount]}):null]})}function nh(e){let{secret:t,revealed:n}=e,r=Iu[t.type],i=t.links.find(e=>e.type===`otp`);return(0,L.jsx)(Yu,{className:`flex-1`,focused:!0,title:(0,L.jsxs)(`span`,{className:`flex items-center gap-2 normal-case tracking-normal`,children:[(0,L.jsx)(`button`,{type:`button`,onClick:e.onBack,className:`cursor-pointer text-dim hover:text-text md:hidden`,"aria-label":`Back`,children:`\u2190`}),(0,L.jsx)(`span`,{className:G(`text-xs`,r.color),children:r.glyph}),(0,L.jsx)(`span`,{className:`text-sm text-text`,children:t.name}),(0,L.jsx)(`span`,{className:`rounded bg-chip px-1.5 py-0.5 text-[11px] font-normal text-muted`,children:r.label})]}),actions:(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(sl,{content:`Edit (e)`,children:(0,L.jsx)(Q,{variant:`ghost`,size:`icon-sm`,onClick:e.onEdit,"aria-label":`Edit`,children:(0,L.jsx)(Xd,{})})}),(0,L.jsx)(sl,{content:`Link secrets (shift+L)`,children:(0,L.jsx)(Q,{variant:`ghost`,size:`icon-sm`,onClick:e.onLink,"aria-label":`Link secrets`,children:(0,L.jsx)(Kd,{})})}),(0,L.jsx)(sl,{content:`Delete (d)`,children:(0,L.jsx)(Q,{variant:`ghost`,size:`icon-sm`,onClick:e.onDelete,"aria-label":`Delete`,className:`hover:text-danger`,children:(0,L.jsx)(pf,{})})})]}),bodyClassName:`overflow-y-auto`,children:(0,L.jsxs)(`dl`,{className:`flex flex-col divide-y divide-border`,children:[t.type===`otp`?(0,L.jsx)(rh,{label:`Code`,keyHint:`c`,children:(0,L.jsx)(ah,{id:t.id,onCopy:e.onCopy})}):(0,L.jsx)(rh,{label:t.type===`note`?`Note`:`Password`,keyHint:`c`,actions:(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(sl,{content:n?`Hide (s)`:`Reveal (s)`,children:(0,L.jsx)(Q,{variant:`ghost`,size:`icon-sm`,onClick:e.onReveal,"aria-label":n?`Hide`:`Reveal`,children:n?(0,L.jsx)(Pd,{}):(0,L.jsx)(Id,{})})}),(0,L.jsx)(sl,{content:`Copy (c)`,children:(0,L.jsx)(Q,{variant:`ghost`,size:`icon-sm`,onClick:e.onCopy,"aria-label":`Copy`,children:(0,L.jsx)(Od,{})})})]}),children:n===null?(0,L.jsx)(`span`,{className:`font-mono text-sm tracking-wider text-muted`,children:Fu}):(0,L.jsx)(`pre`,{className:G(`whitespace-pre-wrap break-all font-mono text-sm text-revealed`,t.type===`note`&&`max-h-80 overflow-y-auto`),children:n})}),t.username?(0,L.jsx)(rh,{label:`Username`,keyHint:`u`,actions:(0,L.jsx)(sl,{content:`Copy (u)`,children:(0,L.jsx)(Q,{variant:`ghost`,size:`icon-sm`,onClick:e.onCopyUsername,"aria-label":`Copy username`,children:(0,L.jsx)(Od,{})})}),children:(0,L.jsx)(`span`,{className:`break-all font-mono text-sm text-text`,children:t.username})}):null,t.url?(0,L.jsx)(rh,{label:`URL`,keyHint:`w`,actions:(0,L.jsxs)(L.Fragment,{children:[Vu(t.url)?(0,L.jsx)(sl,{content:`Open (o)`,children:(0,L.jsx)(Q,{variant:`ghost`,size:`icon-sm`,onClick:e.onOpen,"aria-label":`Open URL`,children:(0,L.jsx)(Md,{})})}):null,(0,L.jsx)(sl,{content:`Copy (w)`,children:(0,L.jsx)(Q,{variant:`ghost`,size:`icon-sm`,onClick:e.onCopyUrl,"aria-label":`Copy URL`,children:(0,L.jsx)(Od,{})})})]}),children:(0,L.jsx)(`span`,{className:`break-all text-sm text-info`,children:t.url})}):null,i?(0,L.jsx)(rh,{label:`OTP \xB7 ${i.name}`,keyHint:`t`,children:(0,L.jsx)(ah,{id:i.id,onCopy:e.onCopyLinkedOtp})}):null,t.description?(0,L.jsx)(rh,{label:t.type===`password`?`Notes`:`Description`,children:(0,L.jsx)(`p`,{className:`whitespace-pre-wrap break-words text-sm text-text/90`,children:t.description})}):null,t.links.length>0||t.linkedFrom.length>0?(0,L.jsx)(rh,{label:`Linked`,children:(0,L.jsxs)(`div`,{className:`flex flex-wrap gap-1.5`,children:[t.links.map(t=>(0,L.jsx)(ih,{secret:t,onClick:()=>e.onGoTo(t.id)},`to:${t.id}`)),t.linkedFrom.map(t=>(0,L.jsx)(ih,{secret:t,from:!0,onClick:()=>e.onGoTo(t.id)},`from:${t.id}`))]})}):null,(0,L.jsx)(rh,{label:`History`,children:(0,L.jsxs)(`div`,{className:`grid grid-cols-[auto_1fr] gap-x-4 gap-y-1 text-xs`,children:[(0,L.jsx)(`span`,{className:`text-dim`,children:`Created`}),(0,L.jsx)(`span`,{className:`text-muted`,children:Uu(t.createdAt)}),(0,L.jsx)(`span`,{className:`text-dim`,children:`Updated`}),(0,L.jsx)(`span`,{className:`text-muted`,children:Uu(t.updatedAt)})]})})]})})}function rh({label:e,keyHint:t,actions:n,children:r}){return(0,L.jsxs)(`div`,{className:`group flex items-start gap-4 px-4 py-3.5`,children:[(0,L.jsxs)(`div`,{className:`min-w-0 flex-1`,children:[(0,L.jsxs)(`dt`,{className:`mb-1.5 flex items-center gap-2 text-[11px] font-semibold uppercase tracking-wider text-dim`,children:[e,t?(0,L.jsx)(Xu,{className:`opacity-0 transition-opacity group-hover:opacity-100`,children:t}):null]}),(0,L.jsx)(`dd`,{className:`min-w-0`,children:r})]}),n?(0,L.jsx)(`div`,{className:`flex shrink-0 items-center gap-0.5 pt-4`,children:n}):null]})}function ih({secret:e,from:t,onClick:n}){let r=Iu[e.type];return(0,L.jsxs)(`button`,{type:`button`,onClick:n,title:t?`${e.name} links to this`:`Linked under this`,className:`flex cursor-pointer items-center gap-1.5 rounded-md border border-border bg-chip px-2 py-1 text-xs text-text transition-colors hover:border-accent hover:text-accent`,children:[(0,L.jsx)(`span`,{className:r.color,children:r.glyph}),t?(0,L.jsx)(`span`,{className:`text-dim`,children:`\u2196`}):null,e.name]})}function ah({id:e,onCopy:t}){let[n,r]=(0,_.useState)(null),[i,a]=(0,_.useState)(Date.now()),[o,s]=(0,_.useState)(``);if((0,_.useEffect)(()=>{let t=!1,n=0,i=async()=>{try{let a=await X.otp(e);if(t)return;let o=Date.parse(a.expiresAt);r({code:a.code,expiresAt:o}),s(``),n=window.setTimeout(i,Math.max(500,o-Date.now()+250))}catch(e){t||s(Z(e))}};i();let o=window.setInterval(()=>a(Date.now()),1e3);return()=>{t=!0,window.clearTimeout(n),window.clearInterval(o)}},[e]),o)return(0,L.jsx)(`span`,{className:`text-sm text-danger`,children:o});if(!n)return(0,L.jsx)(Qu,{});let c=Math.max(0,Math.ceil((n.expiresAt-i)/1e3));return(0,L.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,L.jsx)(`button`,{type:`button`,onClick:t,className:`cursor-pointer font-mono text-2xl tracking-[0.15em] text-success hover:text-revealed`,title:`Copy code`,children:Hu(n.code)}),(0,L.jsxs)(`span`,{className:G(`flex items-center gap-1.5 font-mono text-xs`,c<=5?`text-danger`:`text-muted`),children:[(0,L.jsx)(oh,{seconds:c}),c,`s`]}),(0,L.jsx)(Q,{variant:`ghost`,size:`icon-sm`,onClick:t,"aria-label":`Copy code`,children:(0,L.jsx)(Od,{})})]})}function oh({seconds:e,period:t=30}){let n=2*Math.PI*7;return(0,L.jsxs)(`svg`,{viewBox:`0 0 18 18`,className:`size-4 -rotate-90`,"aria-hidden":!0,children:[(0,L.jsx)(`circle`,{cx:`9`,cy:`9`,r:7,fill:`none`,stroke:`currentColor`,strokeOpacity:`0.2`,strokeWidth:`2`}),(0,L.jsx)(`circle`,{cx:`9`,cy:`9`,r:7,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeDasharray:n,strokeDashoffset:n*(1-Math.min(1,e/t)),className:`transition-[stroke-dashoffset] duration-1000 ease-linear`})]})}function sh({secret:e,onDone:t,onCancel:n}){let[r,i]=(0,_.useState)(!1),a=e.links,o=(0,_.useCallback)(async n=>{i(!0);try{let r=await X.deleteSecret(e.id,n),i=r.removedLinked.length?` and ${r.removedLinked.length} linked`:``;j.success(`Deleted ${r.name}${i}`,{description:r.keptLinked.length?`Kept ${r.keptLinked.map(e=>e.name).join(`, `)} (linked elsewhere)`:void 0}),t()}catch(e){j.error(Z(e)),i(!1)}},[e.id,t]);return(0,L.jsxs)(Np,{danger:!0,title:`Delete ${e.name}?`,description:`This can\'t be undone.`,onKeyDown:e=>{r||(e.key===`y`?o(!1):e.key===`a`&&a.length>0?o(!0):e.key===`n`&&n())},children:[a.length>0?(0,L.jsxs)(`div`,{className:`text-sm text-muted`,children:[`It links to `,a.length===1?`one secret`:`${a.length} secrets`,`:`,(0,L.jsx)(`div`,{className:`mt-2 flex flex-wrap gap-1.5`,children:a.map(e=>(0,L.jsxs)(`span`,{className:`flex items-center gap-1.5 rounded-md bg-chip px-2 py-1 text-xs text-text`,children:[(0,L.jsx)(`span`,{className:Iu[e.type].color,children:Iu[e.type].glyph}),e.name]},e.id))}),(0,L.jsx)(`p`,{className:`mt-2 text-xs text-dim`,children:`Linked secrets still used by another secret are kept.`})]}):null,(0,L.jsxs)(Pp,{children:[(0,L.jsxs)(Q,{variant:`ghost`,onClick:n,disabled:r,children:[`Cancel `,(0,L.jsx)(Xu,{children:`n`})]}),a.length>0?(0,L.jsxs)(Q,{variant:`danger`,onClick:()=>void o(!0),disabled:r,children:[`Delete with linked `,(0,L.jsx)(Xu,{children:`a`})]}):null,(0,L.jsxs)(Q,{variant:`danger`,onClick:()=>void o(!1),disabled:r,autoFocus:!0,children:[r?(0,L.jsx)(Qu,{}):null,`Delete `,(0,L.jsx)(Xu,{children:`y`})]})]})]})}function ch({secret:e,secrets:t,onChanged:n}){let[r,i]=(0,_.useState)(``),[a,o]=(0,_.useState)(()=>new Set(e.links.map(e=>e.id))),[s,c]=(0,_.useState)(null),[l,u]=(0,_.useState)(0),d=(0,_.useMemo)(()=>zu(t.filter(t=>t.id!==e.id),r,e=>[e.name,e.username,e.url]),[t,e.id,r]);(0,_.useEffect)(()=>u(0),[r]);let f=async t=>{if(s)return;c(t.id);let r=a.has(t.id);try{r?await X.unlink(e.id,t.id):await X.link(e.id,t.id),o(e=>{let n=new Set(e);return r?n.delete(t.id):n.add(t.id),n}),j.success(r?`Unlinked ${t.name}`:`Linked ${t.name} under ${e.name}`),n()}catch(e){j.error(Z(e))}finally{c(null)}};return(0,L.jsxs)(Np,{title:`Link secrets \xB7 ${e.name}`,description:`Linked secrets travel with this one in leases and show on its page.`,className:`w-[min(92vw,34rem)]`,children:[(0,L.jsx)(Ip,{autoFocus:!0,value:r,onChange:e=>i(e.target.value),placeholder:`Search secrets`,"aria-label":`Search secrets to link`,onKeyDown:e=>{e.key===`ArrowDown`?(e.preventDefault(),u(e=>Math.min(d.length-1,e+1))):e.key===`ArrowUp`?(e.preventDefault(),u(e=>Math.max(0,e-1))):e.key===`Enter`&&d[l]&&(e.preventDefault(),f(d[l]))}}),(0,L.jsx)(`div`,{className:`mt-3 max-h-[45vh] overflow-y-auto rounded-md border border-border`,children:d.length===0?(0,L.jsxs)(`p`,{className:`px-3 py-6 text-center text-sm text-dim`,children:[`No other secrets`,r?` match`:``,`.`]}):d.map((e,t)=>{let n=a.has(e.id),r=Iu[e.type];return(0,L.jsxs)(`button`,{type:`button`,onClick:()=>void f(e),onMouseEnter:()=>u(t),disabled:s!==null,className:G(`flex w-full cursor-pointer items-center gap-3 border-b border-border px-3 py-2 text-left last:border-b-0`,t===l?`bg-selection`:``),children:[(0,L.jsx)(`span`,{className:G(`w-3 text-center text-xs`,r.color),children:r.glyph}),(0,L.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-sm text-text`,children:e.name}),s===e.id?(0,L.jsx)(Qu,{}):n?(0,L.jsxs)(`span`,{className:`flex items-center gap-1 text-xs text-success`,children:[(0,L.jsx)(_f,{className:`size-3.5`}),`linked`]}):(0,L.jsx)(`span`,{className:`text-xs text-dim`,children:`link`})]},e.id)})}),(0,L.jsxs)(`p`,{className:`mt-2 text-xs text-dim`,children:[(0,L.jsx)(Xu,{children:`\u2191\u2193`}),` move \xB7 `,(0,L.jsx)(Xu,{children:`enter`}),` link / unlink \xB7 `,(0,L.jsx)(Xu,{children:`esc`}),` done`]})]})}var lh=[{screen:`vault`,label:`Vault`,key:`1`},{screen:`leases`,label:`Leases`,key:`2`},{screen:`audit`,label:`Audit`,key:`3`},{screen:`health`,label:`Integrity`,key:`4`},{screen:`settings`,label:`Settings`,key:`,`}];function uh(){let e=id(),t=qu()?`\u2318`:`ctrl`;(0,_.useEffect)(()=>{let t=t=>{let n=t.ctrlKey||t.metaKey;if(n&&!t.shiftKey&&!t.altKey&&t.key.toLowerCase()===`k`){t.preventDefault(),e.setPaletteOpen(!e.paletteOpen);return}if(n&&!t.shiftKey&&!t.altKey&&t.key.toLowerCase()===`l`){t.preventDefault(),e.lock();return}if(n||t.altKey||e.paletteOpen||e.modalOpen||Ju(t.target))return;if(t.key===`?`){t.preventDefault(),e.setPaletteOpen(!0);return}let r=lh.find(e=>e.key===t.key);r&&(t.preventDefault(),e.go(r.screen))};return window.addEventListener(`keydown`,t),()=>window.removeEventListener(`keydown`,t)},[e]);let n=(0,_.useMemo)(()=>[...lh.map(t=>({id:`go:${t.screen}`,title:`Go to ${t.label}`,group:`Navigate`,hint:t.key,run:()=>e.go(t.screen)})),{id:`lock`,title:`Lock vault`,group:`App`,hint:`${t}+l`,run:()=>e.lock()}],[e,t]),r=lh.find(t=>t.screen===e.screen)?.label??``;return(0,L.jsxs)(`div`,{className:`flex h-full flex-col`,children:[(0,L.jsxs)(`header`,{className:`flex h-12 shrink-0 items-center gap-4 border-b border-border bg-panel px-4`,children:[(0,L.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,L.jsx)(Jm,{}),(0,L.jsx)(`span`,{className:`hidden font-semibold text-text sm:inline`,children:r})]}),(0,L.jsx)(`nav`,{className:`flex min-w-0 flex-1 items-center gap-0.5 overflow-x-auto`,"aria-label":`Main`,children:lh.map(t=>(0,L.jsx)(`button`,{type:`button`,onClick:()=>e.go(t.screen),"aria-current":e.screen===t.screen?`page`:void 0,className:G(`cursor-pointer rounded-md px-3 py-1.5 text-sm transition-colors`,e.screen===t.screen?`bg-selection text-accent`:`text-muted hover:bg-selection/60 hover:text-text`),children:t.label},t.screen))}),(0,L.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,L.jsx)(sl,{content:e.session.vault.path,side:`bottom`,children:(0,L.jsxs)(`span`,{className:`hidden items-center gap-1.5 font-mono text-xs text-muted md:flex`,children:[(0,L.jsx)(`span`,{className:`text-success`,children:`\u25CF`}),` unlocked `,(0,L.jsx)(`span`,{className:`text-dim`,children:`\xB7`}),` `,e.session.vault.name]})}),(0,L.jsx)(sl,{content:`Command palette (${t}+k)`,side:`bottom`,children:(0,L.jsx)(Q,{variant:`ghost`,size:`icon`,onClick:()=>e.setPaletteOpen(!0),"aria-label":`Command palette`,children:(0,L.jsx)(Ed,{})})}),(0,L.jsx)(sl,{content:`Lock (${t}+l)`,side:`bottom`,children:(0,L.jsx)(Q,{variant:`ghost`,size:`icon`,onClick:()=>e.lock(),"aria-label":`Lock vault`,children:(0,L.jsx)(Jd,{})})})]})]}),(0,L.jsxs)(`main`,{className:`min-h-0 flex-1 overflow-hidden p-3 sm:p-4`,children:[e.screen===`vault`?(0,L.jsx)(eh,{}):null,e.screen===`leases`?(0,L.jsx)($p,{}):null,e.screen===`audit`?(0,L.jsx)(Sp,{}):null,e.screen===`health`?(0,L.jsx)(Gp,{}):null,e.screen===`settings`?(0,L.jsx)(Nm,{}):null]}),(0,L.jsxs)(`footer`,{className:`flex h-9 shrink-0 items-center gap-4 overflow-hidden border-t border-border bg-panel px-4 text-xs text-dim`,children:[e.hints.map(([e,t])=>(0,L.jsxs)(`span`,{className:`flex shrink-0 items-center gap-1.5`,children:[(0,L.jsx)(Xu,{children:e}),t]},e+t)),(0,L.jsxs)(`span`,{className:`ml-auto flex shrink-0 items-center gap-1.5`,children:[(0,L.jsxs)(Xu,{children:[t,`+k`]}),` commands`,(0,L.jsxs)(Xu,{className:`ml-2`,children:[t,`+l`]}),` lock`]})]}),(0,L.jsx)(yp,{commands:[...e.screenCommands,...n]})]})}function dh(){let[e,t]=(0,_.useState)(null),[n,r]=(0,_.useState)(J),i=(0,_.useCallback)(e=>{t(null),e&&j(e,{icon:`\u203A`,id:`locked`})},[]);(0,_.useEffect)(()=>{nd(()=>i(`Vault locked`))},[i]),(0,_.useEffect)(()=>{J()&&X.session().then(t).catch(()=>q(null)).finally(()=>r(!1))},[]);let a=(0,_.useCallback)(e=>{q(e.csrf),t(e)},[]);return(0,L.jsxs)(ol,{delayDuration:300,children:[n?(0,L.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,L.jsx)(Qu,{})}):e?(0,L.jsx)(cd,{session:e,onLocked:i,children:(0,L.jsx)(uh,{})},e.csrf):(0,L.jsx)(Ym,{onUnlocked:a}),(0,L.jsx)(_e,{theme:`dark`,position:`bottom-right`,offset:44,toastOptions:{classNames:{toast:`!bg-panel-alt !border !border-border !text-text !font-sans !text-sm !rounded-lg`,description:`!text-muted`,success:`[&_[data-icon]]:!text-success`,error:`[&_[data-icon]]:!text-danger`}}})]})}(0,g.createRoot)(document.getElementById(`root`)).render((0,L.jsx)(_.StrictMode,{children:(0,L.jsx)(dh,{})}));</script>\n <style rel="stylesheet" crossorigin>/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */\n@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "Cascadia Code", "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--color-black:#000;--spacing:.25rem;--container-sm:24rem;--container-4xl:56rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-normal:0em;--tracking-wide:.025em;--tracking-wider:.05em;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-accent:gold;--color-on-accent:#000;--color-bg:#0d0d0d;--color-panel:#141414;--color-panel-alt:#1c1c1c;--color-border:#333;--color-border-focus:#555;--color-selection:#222;--color-chip:#262626;--color-input:#111;--color-input-focus:#1a1a1a;--color-text:#eee;--color-muted:#aaa;--color-dim:#777;--color-success:#3c7;--color-danger:#f55;--color-danger-bg:#311;--color-info:#5bf;--color-revealed:#7cfc00;--animate-in:fade-in .12s ease-out}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html,body,#root{height:100%}body{background-color:var(--color-bg);font-family:var(--font-sans);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px}::selection{background:var(--color-accent);color:var(--color-on-accent)}*{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}:focus-visible{outline:1px solid var(--color-accent);outline-offset:1px}}@layer components{.kbd{border-radius:var(--radius-sm);background-color:var(--color-chip);padding-inline:calc(var(--spacing) * 1.5);font-family:var(--font-mono);--tw-leading:calc(var(--spacing) * 5);font-size:11px;line-height:calc(var(--spacing) * 5);color:var(--color-muted);align-items:center;display:inline-flex}}@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:0}.top-1\\/2{top:50%}.top-\\[10vh\\]{top:10vh}.top-\\[14vh\\]{top:14vh}.right-4{right:calc(var(--spacing) * 4)}.left-1\\/2{left:50%}.left-4\\.5{left:calc(var(--spacing) * 4.5)}.z-50{z-index:50}.z-\\[60\\]{z-index:60}.mx-auto{margin-inline:auto}.-mt-2{margin-top:calc(var(--spacing) * -2)}.mt-0{margin-top:0}.mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mr-auto{margin-right:auto}.mb-1\\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.size-3\\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.size-6{width:calc(var(--spacing) * 6);height:calc(var(--spacing) * 6)}.size-7{width:calc(var(--spacing) * 7);height:calc(var(--spacing) * 7)}.size-8{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.size-14{width:calc(var(--spacing) * 14);height:calc(var(--spacing) * 14)}.size-48{width:calc(var(--spacing) * 48);height:calc(var(--spacing) * 48)}.h-5{height:calc(var(--spacing) * 5)}.h-7{height:calc(var(--spacing) * 7)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-auto{height:auto}.h-full{height:100%}.max-h-64{max-height:calc(var(--spacing) * 64)}.max-h-80{max-height:calc(var(--spacing) * 80)}.max-h-\\[32vh\\]{max-height:32vh}.max-h-\\[45vh\\]{max-height:45vh}.max-h-\\[50vh\\]{max-height:50vh}.max-h-\\[80vh\\]{max-height:80vh}.min-h-0{min-height:0}.min-h-11{min-height:calc(var(--spacing) * 11)}.min-h-16{min-height:calc(var(--spacing) * 16)}.min-h-24{min-height:calc(var(--spacing) * 24)}.min-h-full{min-height:100%}.w-3{width:calc(var(--spacing) * 3)}.w-9{width:calc(var(--spacing) * 9)}.w-16{width:calc(var(--spacing) * 16)}.w-24{width:calc(var(--spacing) * 24)}.w-32{width:calc(var(--spacing) * 32)}.w-44{width:calc(var(--spacing) * 44)}.w-\\[min\\(92vw\\,30rem\\)\\]{width:min(92vw,30rem)}.w-\\[min\\(92vw\\,34rem\\)\\]{width:min(92vw,34rem)}.w-\\[min\\(92vw\\,36rem\\)\\]{width:min(92vw,36rem)}.w-\\[min\\(94vw\\,34rem\\)\\]{width:min(94vw,34rem)}.w-\\[min\\(94vw\\,36rem\\)\\]{width:min(94vw,36rem)}.w-full{width:100%}.max-w-4xl{max-width:var(--container-4xl)}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:0}.flex-1{flex:1}.shrink-0{flex-shrink:0}.-translate-x-1\\/2{--tw-translate-x:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-0\\.5{--tw-translate-x:calc(var(--spacing) * .5);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-rotate-90{rotate:-90deg}.animate-in{animation:var(--animate-in)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.resize-y{resize:vertical}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\\[8rem_1fr\\]{grid-template-columns:8rem 1fr}.grid-cols-\\[auto_1fr\\]{grid-template-columns:auto 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0\\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-y-1{row-gap:var(--spacing)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-border>:not(:last-child)){border-color:var(--color-border)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.\\!rounded-lg{border-radius:var(--radius-lg)!important}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.\\!border{border-style:var(--tw-border-style)!important;border-width:1px!important}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.\\!border-border{border-color:var(--color-border)!important}.border-accent{border-color:var(--color-accent)}.border-accent\\/30{border-color:#ffd7004d}@supports (color:color-mix(in lab, red, red)){.border-accent\\/30{border-color:color-mix(in oklab, var(--color-accent) 30%, transparent)}}.border-border{border-color:var(--color-border)}.border-border-focus{border-color:var(--color-border-focus)}.border-danger\\/40{border-color:#f556}@supports (color:color-mix(in lab, red, red)){.border-danger\\/40{border-color:color-mix(in oklab, var(--color-danger) 40%, transparent)}}.border-danger\\/50{border-color:#ff555580}@supports (color:color-mix(in lab, red, red)){.border-danger\\/50{border-color:color-mix(in oklab, var(--color-danger) 50%, transparent)}}.border-danger\\/60{border-color:#f559}@supports (color:color-mix(in lab, red, red)){.border-danger\\/60{border-color:color-mix(in oklab, var(--color-danger) 60%, transparent)}}.border-dim{border-color:var(--color-dim)}.border-info\\/30{border-color:#55bbff4d}@supports (color:color-mix(in lab, red, red)){.border-info\\/30{border-color:color-mix(in oklab, var(--color-info) 30%, transparent)}}.border-on-accent\\/30{border-color:#0000004d}@supports (color:color-mix(in lab, red, red)){.border-on-accent\\/30{border-color:color-mix(in oklab, var(--color-on-accent) 30%, transparent)}}.border-success\\/30{border-color:#33cc774d}@supports (color:color-mix(in lab, red, red)){.border-success\\/30{border-color:color-mix(in oklab, var(--color-success) 30%, transparent)}}.border-transparent{border-color:#0000}.border-t-accent{border-top-color:var(--color-accent)}.border-t-on-accent{border-top-color:var(--color-on-accent)}.\\!bg-panel-alt{background-color:var(--color-panel-alt)!important}.bg-accent{background-color:var(--color-accent)}.bg-accent\\/10{background-color:#ffd7001a}@supports (color:color-mix(in lab, red, red)){.bg-accent\\/10{background-color:color-mix(in oklab, var(--color-accent) 10%, transparent)}}.bg-black\\/60{background-color:#0009}@supports (color:color-mix(in lab, red, red)){.bg-black\\/60{background-color:color-mix(in oklab, var(--color-black) 60%, transparent)}}.bg-black\\/70{background-color:#000000b3}@supports (color:color-mix(in lab, red, red)){.bg-black\\/70{background-color:color-mix(in oklab, var(--color-black) 70%, transparent)}}.bg-chip{background-color:var(--color-chip)}.bg-danger-bg{background-color:var(--color-danger-bg)}.bg-info\\/5{background-color:#55bbff0d}@supports (color:color-mix(in lab, red, red)){.bg-info\\/5{background-color:color-mix(in oklab, var(--color-info) 5%, transparent)}}.bg-input{background-color:var(--color-input)}.bg-muted{background-color:var(--color-muted)}.bg-panel{background-color:var(--color-panel)}.bg-panel-alt{background-color:var(--color-panel-alt)}.bg-selection{background-color:var(--color-selection)}.bg-success\\/5{background-color:#33cc770d}@supports (color:color-mix(in lab, red, red)){.bg-success\\/5{background-color:color-mix(in oklab, var(--color-success) 5%, transparent)}}.bg-transparent{background-color:#0000}.bg-\\[radial-gradient\\(ellipse_at_top\\,\\#1a1700_0\\%\\,transparent_55\\%\\)\\]{background-image:radial-gradient(at top,#1a1700 0%,#0000 55%)}.p-0{padding:0}.p-1{padding:var(--spacing)}.p-1\\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.px-1\\.5{padding-inline:calc(var(--spacing) * 1.5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-3\\.5{padding-block:calc(var(--spacing) * 3.5)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pb-1{padding-bottom:var(--spacing)}.pl-8{padding-left:calc(var(--spacing) * 8)}.pl-\\[6\\.75rem\\]{padding-left:6.75rem}.text-center{text-align:center}.text-left{text-align:left}.\\!font-sans{font-family:var(--font-sans)!important}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.\\!text-sm{font-size:var(--text-sm)!important;line-height:var(--tw-leading,var(--text-sm--line-height))!important}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[11px\\]{font-size:11px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\\[0\\.3em\\]{--tw-tracking:.3em;letter-spacing:.3em}.tracking-\\[0\\.15em\\]{--tw-tracking:.15em;letter-spacing:.15em}.tracking-normal{--tw-tracking:var(--tracking-normal);letter-spacing:var(--tracking-normal)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.\\!text-muted{color:var(--color-muted)!important}.\\!text-text{color:var(--color-text)!important}.text-accent{color:var(--color-accent)}.text-danger{color:var(--color-danger)}.text-dim{color:var(--color-dim)}.text-info{color:var(--color-info)}.text-muted{color:var(--color-muted)}.text-on-accent{color:var(--color-on-accent)}.text-revealed{color:var(--color-revealed)}.text-success{color:var(--color-success)}.text-text{color:var(--color-text)}.text-text\\/90{color:#eeeeeee6}@supports (color:color-mix(in lab, red, red)){.text-text\\/90{color:color-mix(in oklab, var(--color-text) 90%, transparent)}}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-black\\/50{--tw-shadow-color:#00000080}@supports (color:color-mix(in lab, red, red)){.shadow-black\\/50{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 50%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-black\\/60{--tw-shadow-color:#0009}@supports (color:color-mix(in lab, red, red)){.shadow-black\\/60{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 60%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-black\\/70{--tw-shadow-color:#000000b3}@supports (color:color-mix(in lab, red, red)){.shadow-black\\/70{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 70%, transparent) var(--tw-shadow-alpha), transparent)}}.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-blur-\\[2px\\]{--tw-backdrop-blur:blur(2px);-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-\\[stroke-dashoffset\\]{transition-property:stroke-dashoffset;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-1000{--tw-duration:1s;transition-duration:1s}.ease-linear{--tw-ease:linear;transition-timing-function:linear}.\\[-webkit-text-security\\:disc\\]{-webkit-text-security:disc}.\\[image-rendering\\:pixelated\\]{image-rendering:pixelated}@media (hover:hover){.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}.group-data-\\[selected\\=true\\]\\:text-accent:is(:where(.group)[data-selected=true] *){color:var(--color-accent)}.placeholder\\:text-dim::placeholder{color:var(--color-dim)}.last\\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}@media (hover:hover){.hover\\:border-accent:hover{border-color:var(--color-accent)}.hover\\:border-border-focus:hover{border-color:var(--color-border-focus)}.hover\\:bg-accent\\/90:hover{background-color:#ffd700e6}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/90:hover{background-color:color-mix(in oklab, var(--color-accent) 90%, transparent)}}.hover\\:bg-danger\\/20:hover{background-color:#f553}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-danger\\/20:hover{background-color:color-mix(in oklab, var(--color-danger) 20%, transparent)}}.hover\\:bg-selection:hover{background-color:var(--color-selection)}.hover\\:bg-selection\\/50:hover{background-color:#22222280}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-selection\\/50:hover{background-color:color-mix(in oklab, var(--color-selection) 50%, transparent)}}.hover\\:bg-selection\\/60:hover{background-color:#2229}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-selection\\/60:hover{background-color:color-mix(in oklab, var(--color-selection) 60%, transparent)}}.hover\\:text-accent:hover{color:var(--color-accent)}.hover\\:text-danger:hover{color:var(--color-danger)}.hover\\:text-revealed:hover{color:var(--color-revealed)}.hover\\:text-text:hover{color:var(--color-text)}.hover\\:underline:hover{text-decoration-line:underline}}.focus\\:border-accent:focus{border-color:var(--color-accent)}.focus\\:border-border-focus:focus{border-color:var(--color-border-focus)}.focus\\:bg-input-focus:focus{background-color:var(--color-input-focus)}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-40:disabled{opacity:.4}.disabled\\:opacity-50:disabled{opacity:.5}.aria-invalid\\:border-danger[aria-invalid=true]{border-color:var(--color-danger)}.data-\\[selected\\=true\\]\\:bg-selection[data-selected=true]{background-color:var(--color-selection)}.data-\\[selected\\=true\\]\\:text-accent[data-selected=true]{color:var(--color-accent)}.data-\\[state\\=active\\]\\:bg-chip[data-state=active]{background-color:var(--color-chip)}.data-\\[state\\=active\\]\\:text-accent[data-state=active]{color:var(--color-accent)}.data-\\[state\\=checked\\]\\:translate-x-\\[18px\\][data-state=checked]{--tw-translate-x:18px;translate:var(--tw-translate-x) var(--tw-translate-y)}.data-\\[state\\=checked\\]\\:border-accent[data-state=checked]{border-color:var(--color-accent)}.data-\\[state\\=checked\\]\\:bg-accent[data-state=checked]{background-color:var(--color-accent)}.data-\\[state\\=checked\\]\\:bg-accent\\/25[data-state=checked]{background-color:#ffd70040}@supports (color:color-mix(in lab, red, red)){.data-\\[state\\=checked\\]\\:bg-accent\\/25[data-state=checked]{background-color:color-mix(in oklab, var(--color-accent) 25%, transparent)}}@media (width>=40rem){.sm\\:inline{display:inline}.sm\\:grid-cols-\\[1fr_9rem\\]{grid-template-columns:1fr 9rem}.sm\\:gap-4{gap:calc(var(--spacing) * 4)}.sm\\:p-4{padding:calc(var(--spacing) * 4)}}@media (width>=48rem){.md\\:flex{display:flex}.md\\:hidden{display:none}.md\\:grid-cols-\\[13rem_1fr\\]{grid-template-columns:13rem 1fr}.md\\:grid-cols-\\[minmax\\(16rem\\,22rem\\)_1fr\\]{grid-template-columns:minmax(16rem,22rem) 1fr}.md\\:grid-cols-\\[minmax\\(18rem\\,26rem\\)_1fr\\]{grid-template-columns:minmax(18rem,26rem) 1fr}.md\\:flex-col{flex-direction:column}}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:px-2\\.5 [cmdk-group-heading]{padding-inline:calc(var(--spacing) * 2.5)}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:pt-2\\.5 [cmdk-group-heading]{padding-top:calc(var(--spacing) * 2.5)}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:pb-1 [cmdk-group-heading]{padding-bottom:var(--spacing)}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-\\[11px\\] [cmdk-group-heading]{font-size:11px}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:font-semibold [cmdk-group-heading]{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:tracking-wider [cmdk-group-heading]{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:text-dim [cmdk-group-heading]{color:var(--color-dim)}.\\[\\&_\\[cmdk-group-heading\\]\\]\\:uppercase [cmdk-group-heading]{text-transform:uppercase}.\\[\\&_\\[data-icon\\]\\]\\:\\!text-danger [data-icon]{color:var(--color-danger)!important}.\\[\\&_\\[data-icon\\]\\]\\:\\!text-success [data-icon]{color:var(--color-success)!important}.\\[\\&_svg\\]\\:size-3\\.5 svg{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.\\[\\&_svg\\]\\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\\[\\&_svg\\]\\:size-8 svg{width:calc(var(--spacing) * 8);height:calc(var(--spacing) * 8)}.\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fade-in{0%{opacity:0;transform:translateY(2px)scale(.99)}to{opacity:1;transform:none}}\n/*$vite$:1*/</style>\n </head>\n <body>\n <div id="root"></div>\n </body>\n</html>\n';
|
|
3825
|
+
|
|
3826
|
+
// apps/web/src/server.ts
|
|
3827
|
+
import { resolve as resolve5 } from "path";
|
|
3828
|
+
function json2(data, status = 200, headers = {}) {
|
|
3829
|
+
return new Response(JSON.stringify(data), {
|
|
3830
|
+
headers: securityHeaders({ "content-type": "application/json; charset=utf-8", ...headers }),
|
|
3831
|
+
status
|
|
3832
|
+
});
|
|
3833
|
+
}
|
|
3834
|
+
function cookieValue(request, name) {
|
|
3835
|
+
for (const part of (request.headers.get("cookie") ?? "").split(";")) {
|
|
3836
|
+
const index = part.indexOf("=");
|
|
3837
|
+
if (index > 0 && part.slice(0, index).trim() === name)
|
|
3838
|
+
return part.slice(index + 1).trim();
|
|
3839
|
+
}
|
|
3840
|
+
return;
|
|
3841
|
+
}
|
|
3842
|
+
async function readBody(request, limit) {
|
|
3843
|
+
if (request.method === "GET" || request.method === "HEAD")
|
|
3844
|
+
return {};
|
|
3845
|
+
const length = Number(request.headers.get("content-length") ?? 0);
|
|
3846
|
+
if (length > limit)
|
|
3847
|
+
throw new HttpError(413, "Request is too large");
|
|
3848
|
+
const text = await request.text();
|
|
3849
|
+
if (text === "")
|
|
3850
|
+
return {};
|
|
3851
|
+
if (!(request.headers.get("content-type") ?? "").toLowerCase().startsWith("application/json")) {
|
|
3852
|
+
throw new HttpError(415, "Send JSON");
|
|
3853
|
+
}
|
|
3854
|
+
if (Buffer.byteLength(text) > limit)
|
|
3855
|
+
throw new HttpError(413, "Request is too large");
|
|
3856
|
+
let parsed;
|
|
3857
|
+
try {
|
|
3858
|
+
parsed = JSON.parse(text);
|
|
3859
|
+
} catch {
|
|
3860
|
+
throw new HttpError(400, "Malformed JSON");
|
|
3861
|
+
}
|
|
3862
|
+
if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed))
|
|
3863
|
+
throw new HttpError(400, "Send a JSON object");
|
|
3864
|
+
return parsed;
|
|
3865
|
+
}
|
|
3866
|
+
function errorStatus(error) {
|
|
3867
|
+
if (error instanceof HttpError)
|
|
3868
|
+
return { status: error.status, message: error.message };
|
|
3869
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
3870
|
+
if (error instanceof Error && error.name === "VaultTamperedError")
|
|
3871
|
+
return { status: 409, message };
|
|
3872
|
+
if (/not found/i.test(message))
|
|
3873
|
+
return { status: 404, message };
|
|
3874
|
+
return { status: 400, message };
|
|
3875
|
+
}
|
|
3876
|
+
function bindAllowed(host) {
|
|
3877
|
+
if (isLoopbackHost(host))
|
|
3878
|
+
return true;
|
|
3879
|
+
return process.env.AUTHO_WEB_CONTAINER === "1" && (host === "0.0.0.0" || host === "::");
|
|
3880
|
+
}
|
|
3881
|
+
function publicPort() {
|
|
3882
|
+
const value = Number(process.env.AUTHO_WEB_PUBLIC_PORT);
|
|
3883
|
+
return Number.isInteger(value) && value > 0 && value < 65536 ? value : null;
|
|
3884
|
+
}
|
|
3885
|
+
function createWebServer(options = {}) {
|
|
3886
|
+
const host = options.host ?? "localhost";
|
|
3887
|
+
if (!bindAllowed(host)) {
|
|
3888
|
+
throw new Error(`The web UI only listens on this machine (localhost); refusing --host ${host}`);
|
|
3889
|
+
}
|
|
3890
|
+
const vaultPath = resolve5(options.vaultPath ?? defaultVaultPath());
|
|
3891
|
+
const requestedPort = options.port ?? numberPreference("webPort");
|
|
3892
|
+
const sessions = new SessionStore({
|
|
3893
|
+
idleMs: () => numberPreference("idleLockSeconds") * 1000,
|
|
3894
|
+
onAdminEnd: (handle) => handle.close()
|
|
3895
|
+
});
|
|
3896
|
+
const ctx = { sessions, throttle: new UnlockThrottle, vaultPath };
|
|
3897
|
+
let hosts = allowedHosts(requestedPort);
|
|
3898
|
+
let cookieName = `autho_session_${requestedPort}`;
|
|
3899
|
+
function sessionCookie(session) {
|
|
3900
|
+
const base = `${cookieName}=${session?.id ?? ""}; Path=/; HttpOnly; SameSite=Strict`;
|
|
3901
|
+
return session ? base : `${base}; Max-Age=0`;
|
|
3902
|
+
}
|
|
3903
|
+
function page() {
|
|
3904
|
+
const nonce = newToken(16);
|
|
3905
|
+
return new Response(withNonce(UI_HTML, nonce), {
|
|
3906
|
+
headers: securityHeaders({ "content-security-policy": pageCsp(nonce), "content-type": "text/html; charset=utf-8" })
|
|
3907
|
+
});
|
|
3908
|
+
}
|
|
3909
|
+
async function api(request, url) {
|
|
3910
|
+
if (!sameOrigin(request, hosts) || request.headers.get(REQUEST_HEADER) !== "1") {
|
|
3911
|
+
return json2({ error: "Cross-origin request refused" }, 403);
|
|
3912
|
+
}
|
|
3913
|
+
const match = matchRoute(request.method, url.pathname);
|
|
3914
|
+
if (match === null)
|
|
3915
|
+
return json2({ error: "Not found" }, 404);
|
|
3916
|
+
if (match === "method")
|
|
3917
|
+
return json2({ error: "Method not allowed" }, 405);
|
|
3918
|
+
const sessionId = cookieValue(request, cookieName);
|
|
3919
|
+
const session = sessions.touch(sessionId, request.headers.get(CSRF_HEADER));
|
|
3920
|
+
if (match.route.auth && !session) {
|
|
3921
|
+
return json2({ error: "Locked" }, 401, { "set-cookie": sessionCookie(null) });
|
|
3922
|
+
}
|
|
3923
|
+
try {
|
|
3924
|
+
const body = await readBody(request, url.pathname === "/api/import" ? MAX_IMPORT_BODY : MAX_BODY);
|
|
3925
|
+
const reply = await match.route.handler(ctx, { body, params: match.params, query: url.searchParams, session });
|
|
3926
|
+
const headers = {};
|
|
3927
|
+
if (reply.session === "ended") {
|
|
3928
|
+
sessions.end(sessionId);
|
|
3929
|
+
headers["set-cookie"] = sessionCookie(null);
|
|
3930
|
+
} else if (reply.session) {
|
|
3931
|
+
sessions.end(sessionId);
|
|
3932
|
+
headers["set-cookie"] = sessionCookie(reply.session);
|
|
3933
|
+
}
|
|
3934
|
+
return json2({ data: reply.data }, reply.status ?? 200, headers);
|
|
3935
|
+
} catch (error) {
|
|
3936
|
+
const { status, message } = errorStatus(error);
|
|
3937
|
+
return json2({ error: message }, status, error instanceof HttpError ? error.headers : {});
|
|
3938
|
+
}
|
|
3939
|
+
}
|
|
3940
|
+
async function fetch2(request) {
|
|
3941
|
+
if (!hostAllowed(request, hosts)) {
|
|
3942
|
+
return new Response("Unknown host", { headers: securityHeaders({ "content-type": "text/plain" }), status: 421 });
|
|
3943
|
+
}
|
|
3944
|
+
const url = new URL(request.url);
|
|
3945
|
+
if (url.pathname.startsWith("/api/"))
|
|
3946
|
+
return api(request, url);
|
|
3947
|
+
if (request.method !== "GET" && request.method !== "HEAD")
|
|
3948
|
+
return json2({ error: "Method not allowed" }, 405);
|
|
3949
|
+
if (url.pathname === "/health")
|
|
3950
|
+
return json2({ ok: true });
|
|
3951
|
+
if (url.pathname === "/" || url.pathname === "/index.html")
|
|
3952
|
+
return page();
|
|
3953
|
+
return json2({ error: "Not found" }, 404);
|
|
3954
|
+
}
|
|
3955
|
+
const servers = [];
|
|
3956
|
+
const primaryHost = host === "localhost" ? "127.0.0.1" : host;
|
|
3957
|
+
const serveOptions = {
|
|
3958
|
+
fetch: fetch2,
|
|
3959
|
+
error: () => json2({ error: "Internal error" }, 500),
|
|
3960
|
+
maxRequestBodySize: MAX_IMPORT_BODY + 1024
|
|
3961
|
+
};
|
|
3962
|
+
servers.push(Bun.serve({ ...serveOptions, hostname: primaryHost, port: requestedPort }));
|
|
3963
|
+
const port = servers[0].port;
|
|
3964
|
+
if (host === "localhost") {
|
|
3965
|
+
try {
|
|
3966
|
+
servers.push(Bun.serve({ ...serveOptions, hostname: "::1", port }));
|
|
3967
|
+
} catch {}
|
|
3968
|
+
}
|
|
3969
|
+
const exposed = publicPort();
|
|
3970
|
+
hosts = exposed === null ? allowedHosts(port) : new Set([...allowedHosts(port), ...allowedHosts(exposed)]);
|
|
3971
|
+
cookieName = `autho_session_${port}`;
|
|
3972
|
+
const sweeper = setInterval(() => sessions.sweep(), SWEEP_MS);
|
|
3973
|
+
sweeper.unref?.();
|
|
3974
|
+
return {
|
|
3975
|
+
port,
|
|
3976
|
+
url: `http://localhost:${exposed ?? port}`,
|
|
3977
|
+
stop() {
|
|
3978
|
+
clearInterval(sweeper);
|
|
3979
|
+
sessions.endAll();
|
|
3980
|
+
for (const server of servers)
|
|
3981
|
+
server.stop(true);
|
|
3982
|
+
}
|
|
3983
|
+
};
|
|
3984
|
+
}
|
|
3985
|
+
async function startWebServer(options = {}) {
|
|
3986
|
+
const server = createWebServer(options);
|
|
3987
|
+
const shutdown = () => {
|
|
3988
|
+
server.stop();
|
|
3989
|
+
process.exit(0);
|
|
3990
|
+
};
|
|
3991
|
+
process.on("SIGINT", shutdown);
|
|
3992
|
+
process.on("SIGTERM", shutdown);
|
|
3993
|
+
console.log(`Autho web UI: ${server.url}`);
|
|
3994
|
+
console.log('Open it with "localhost" (not 127.0.0.1) so passkeys work. Ctrl+C stops it and locks the vault.');
|
|
3995
|
+
await new Promise(() => {});
|
|
3996
|
+
}
|
|
3997
|
+
var MAX_BODY, MAX_IMPORT_BODY, SWEEP_MS = 15000;
|
|
3998
|
+
var init_server = __esm(() => {
|
|
3999
|
+
init_src3();
|
|
4000
|
+
init_api();
|
|
4001
|
+
init_security();
|
|
4002
|
+
init_sessions();
|
|
4003
|
+
MAX_BODY = 64 * 1024;
|
|
4004
|
+
MAX_IMPORT_BODY = 8 * 1024 * 1024;
|
|
4005
|
+
});
|
|
4006
|
+
|
|
3113
4007
|
// apps/cli/src/tui/theme.ts
|
|
3114
4008
|
function typeLabel(type) {
|
|
3115
4009
|
switch (type) {
|
|
@@ -3722,9 +4616,9 @@ function SecretForm({ session, editing, onDone, onCancel, setHints, revealMs })
|
|
|
3722
4616
|
return;
|
|
3723
4617
|
}
|
|
3724
4618
|
if (focus === "type") {
|
|
3725
|
-
if (key.name === "left"
|
|
4619
|
+
if (key.name === "left")
|
|
3726
4620
|
cycleType(-1);
|
|
3727
|
-
else if (key.name === "right" || key.name === "
|
|
4621
|
+
else if (key.name === "right" || key.name === "space")
|
|
3728
4622
|
cycleType(1);
|
|
3729
4623
|
else if (isEnter(key))
|
|
3730
4624
|
moveFocus(1);
|
|
@@ -3936,12 +4830,12 @@ function CommandPalette({ commands, onClose }) {
|
|
|
3936
4830
|
onClose();
|
|
3937
4831
|
return;
|
|
3938
4832
|
}
|
|
3939
|
-
if (key.name === "up"
|
|
4833
|
+
if (key.name === "up") {
|
|
3940
4834
|
key.preventDefault();
|
|
3941
4835
|
setIndex(Math.max(0, current - 1));
|
|
3942
4836
|
return;
|
|
3943
4837
|
}
|
|
3944
|
-
if (key.name === "down"
|
|
4838
|
+
if (key.name === "down") {
|
|
3945
4839
|
key.preventDefault();
|
|
3946
4840
|
setIndex(Math.min(results.length - 1, current + 1));
|
|
3947
4841
|
return;
|
|
@@ -4103,13 +4997,13 @@ var init_palette = __esm(() => {
|
|
|
4103
4997
|
});
|
|
4104
4998
|
|
|
4105
4999
|
// apps/cli/src/tui/settings.tsx
|
|
4106
|
-
import { existsSync as
|
|
5000
|
+
import { existsSync as existsSync6, writeFileSync as writeFileSync2 } from "fs";
|
|
4107
5001
|
import { homedir as homedir2 } from "os";
|
|
4108
|
-
import { dirname as dirname3, join as
|
|
5002
|
+
import { dirname as dirname3, join as join4, resolve as resolve6 } from "path";
|
|
4109
5003
|
import { useKeyboard as useKeyboard4, useTerminalDimensions as useTerminalDimensions3 } from "@opentui/react";
|
|
4110
5004
|
import { useCallback, useEffect as useEffect4, useMemo as useMemo3, useRef as useRef5, useState as useState4 } from "react";
|
|
4111
5005
|
import { jsx as jsx4, jsxs as jsxs4, Fragment } from "@opentui/react/jsx-runtime";
|
|
4112
|
-
function SettingsScreen({ vaultPath, setHints, onBack, passkeyRunner = runPasskeyCeremony }) {
|
|
5006
|
+
function SettingsScreen({ vaultPath, setHints, onBack, passkeyRunner = runPasskeyCeremony, web }) {
|
|
4113
5007
|
const app = useApp();
|
|
4114
5008
|
const { width, height } = useTerminalDimensions3();
|
|
4115
5009
|
const [section, setSection] = useState4("Storage" /* Storage */);
|
|
@@ -4312,7 +5206,7 @@ function SettingsScreen({ vaultPath, setHints, onBack, passkeyRunner = runPasske
|
|
|
4312
5206
|
color: status.recoveryAt ? theme.success : theme.muted,
|
|
4313
5207
|
help: "A file that unlocks the vault if you forget the password. Making a new one replaces the old one",
|
|
4314
5208
|
verb: status.recoveryAt ? "replace" : "create",
|
|
4315
|
-
run: () => withAdmin(() => open({ kind: "recoveryPath" }, [
|
|
5209
|
+
run: () => withAdmin(() => open({ kind: "recoveryPath" }, [join4(homedir2(), "autho-recovery.txt"), ""]))
|
|
4316
5210
|
});
|
|
4317
5211
|
if (status.recoveryAt) {
|
|
4318
5212
|
rows.push({
|
|
@@ -4330,12 +5224,20 @@ function SettingsScreen({ vaultPath, setHints, onBack, passkeyRunner = runPasske
|
|
|
4330
5224
|
}
|
|
4331
5225
|
return rows;
|
|
4332
5226
|
};
|
|
5227
|
+
const webRows = () => web ? [{
|
|
5228
|
+
id: "web",
|
|
5229
|
+
label: "Web UI",
|
|
5230
|
+
value: web.url ?? web.note,
|
|
5231
|
+
color: web.url ? theme.text : theme.dim,
|
|
5232
|
+
help: web.url ? `${web.note}; open it in a browser and unlock there. Ctrl+C copies the address` : 'Turn on "Web UI with TUI" (or run `autho web serve`) to use the browser UI',
|
|
5233
|
+
copy: web.url ?? undefined
|
|
5234
|
+
}] : [];
|
|
4333
5235
|
const aboutRows = () => [
|
|
4334
5236
|
{ id: "version", label: "autho", value: package_default.version, help: "Installed version" },
|
|
4335
5237
|
{ id: "runtime", label: "Runtime", value: `Bun ${Bun.version} \xB7 ${process.platform}`, help: "" },
|
|
4336
5238
|
{ id: "store", label: "OS secret store", value: osStore ? "available" : "off (AUTHO_DISABLE_OS_SECRETS)", color: osStore ? theme.text : theme.dim, help: "Used for the remembered password and the PIN" }
|
|
4337
5239
|
];
|
|
4338
|
-
const rows = section === "Storage" /* Storage */ ? storageRows() : section === "Security" /* Security */ ? securityRows() : section === "Behaviour" /* Behaviour */ ? BEHAVIOUR_KEYS.map(preferenceRow) : section === "Agents & services" /* Agents */ ? AGENT_KEYS.map(preferenceRow) : aboutRows();
|
|
5240
|
+
const rows = section === "Storage" /* Storage */ ? storageRows() : section === "Security" /* Security */ ? securityRows() : section === "Behaviour" /* Behaviour */ ? BEHAVIOUR_KEYS.map(preferenceRow) : section === "Agents & services" /* Agents */ ? [...AGENT_KEYS.map(preferenceRow), ...webRows()] : aboutRows();
|
|
4339
5241
|
const current = Math.min(rowIndex, rows.length - 1);
|
|
4340
5242
|
const row = rows[current];
|
|
4341
5243
|
const submit = () => {
|
|
@@ -4372,7 +5274,7 @@ function SettingsScreen({ vaultPath, setHints, onBack, passkeyRunner = runPasske
|
|
|
4372
5274
|
return;
|
|
4373
5275
|
case "vaultDir": {
|
|
4374
5276
|
const config = { ...loadConfig() };
|
|
4375
|
-
const target = first.trim() ?
|
|
5277
|
+
const target = first.trim() ? resolve6(first.trim()).replace(/\\/g, "/") : null;
|
|
4376
5278
|
if (target)
|
|
4377
5279
|
config.vaultDir = target;
|
|
4378
5280
|
else
|
|
@@ -4380,7 +5282,7 @@ function SettingsScreen({ vaultPath, setHints, onBack, passkeyRunner = runPasske
|
|
|
4380
5282
|
saveConfig(config);
|
|
4381
5283
|
setRevision((r) => r + 1);
|
|
4382
5284
|
close();
|
|
4383
|
-
const missing = target && !
|
|
5285
|
+
const missing = target && !existsSync6(join4(target, "vault.db"));
|
|
4384
5286
|
app.toast(missing ? "Saved \u2014 no vault.db there yet; restart autho and run `autho init`" : "Saved \u2014 restart autho to use it", missing ? "info" : "success");
|
|
4385
5287
|
return;
|
|
4386
5288
|
}
|
|
@@ -4440,12 +5342,12 @@ function SettingsScreen({ vaultPath, setHints, onBack, passkeyRunner = runPasske
|
|
|
4440
5342
|
registerPasskey(first.trim());
|
|
4441
5343
|
return;
|
|
4442
5344
|
case "recoveryPath": {
|
|
4443
|
-
const target =
|
|
4444
|
-
if (
|
|
5345
|
+
const target = resolve6(first.trim() || join4(homedir2(), "autho-recovery.txt"));
|
|
5346
|
+
if (existsSync6(target)) {
|
|
4445
5347
|
setError("That file already exists \u2014 pick another name");
|
|
4446
5348
|
return;
|
|
4447
5349
|
}
|
|
4448
|
-
if (!
|
|
5350
|
+
if (!existsSync6(dirname3(target))) {
|
|
4449
5351
|
setError("That folder does not exist");
|
|
4450
5352
|
return;
|
|
4451
5353
|
}
|
|
@@ -4535,11 +5437,9 @@ function SettingsScreen({ vaultPath, setHints, onBack, passkeyRunner = runPasske
|
|
|
4535
5437
|
if (focus === "nav") {
|
|
4536
5438
|
switch (key.name) {
|
|
4537
5439
|
case "up":
|
|
4538
|
-
case "k":
|
|
4539
5440
|
switchSection(-1);
|
|
4540
5441
|
return;
|
|
4541
5442
|
case "down":
|
|
4542
|
-
case "j":
|
|
4543
5443
|
switchSection(1);
|
|
4544
5444
|
return;
|
|
4545
5445
|
case "home":
|
|
@@ -4549,7 +5449,6 @@ function SettingsScreen({ vaultPath, setHints, onBack, passkeyRunner = runPasske
|
|
|
4549
5449
|
pickSection(SECTIONS[SECTIONS.length - 1]);
|
|
4550
5450
|
return;
|
|
4551
5451
|
case "right":
|
|
4552
|
-
case "l":
|
|
4553
5452
|
case "space":
|
|
4554
5453
|
setFocus("rows");
|
|
4555
5454
|
return;
|
|
@@ -4563,11 +5462,9 @@ function SettingsScreen({ vaultPath, setHints, onBack, passkeyRunner = runPasske
|
|
|
4563
5462
|
}
|
|
4564
5463
|
switch (key.name) {
|
|
4565
5464
|
case "up":
|
|
4566
|
-
case "k":
|
|
4567
5465
|
moveRow(-1);
|
|
4568
5466
|
return;
|
|
4569
5467
|
case "down":
|
|
4570
|
-
case "j":
|
|
4571
5468
|
moveRow(1);
|
|
4572
5469
|
return;
|
|
4573
5470
|
case "home":
|
|
@@ -4577,7 +5474,6 @@ function SettingsScreen({ vaultPath, setHints, onBack, passkeyRunner = runPasske
|
|
|
4577
5474
|
setRowIndex(rows.length - 1);
|
|
4578
5475
|
return;
|
|
4579
5476
|
case "left":
|
|
4580
|
-
case "h":
|
|
4581
5477
|
case "escape":
|
|
4582
5478
|
setFocus("nav");
|
|
4583
5479
|
return;
|
|
@@ -4938,7 +5834,7 @@ var init_settings2 = __esm(() => {
|
|
|
4938
5834
|
init_util();
|
|
4939
5835
|
SECTIONS = ["Storage" /* Storage */, "Security" /* Security */, "Behaviour" /* Behaviour */, "Agents & services" /* Agents */, "About" /* About */];
|
|
4940
5836
|
BEHAVIOUR_KEYS = ["revealSeconds", "clipboardClearSeconds", "idleLockSeconds", "passwordLength", "passwordSymbols", "mouse"];
|
|
4941
|
-
AGENT_KEYS = ["defaultLeaseTtl", "daemonTtlSeconds", "webPort"];
|
|
5837
|
+
AGENT_KEYS = ["defaultLeaseTtl", "daemonTtlSeconds", "webPort", "webWithTui"];
|
|
4942
5838
|
LIVE_TIMINGS = {
|
|
4943
5839
|
revealSeconds: "revealMs",
|
|
4944
5840
|
clipboardClearSeconds: "clipboardClearMs",
|
|
@@ -5681,7 +6577,7 @@ function VaultScreen({ session, initialSelectedId, onCreate, onEdit, onSettings,
|
|
|
5681
6577
|
...selected.type !== "otp" ? [{ id: "reveal", hotkey: "s", label: revealed?.id === selected.id ? "hide" : "reveal", color: theme.revealed, run: () => toggleReveal(selected) }] : [],
|
|
5682
6578
|
...selected.url && selected.type !== "otp" ? [{ id: "open", hotkey: "o", label: "open", color: theme.info, run: () => open(selected) }] : [],
|
|
5683
6579
|
{ id: "edit", hotkey: "e", label: "edit", color: theme.accent, run: () => onEdit(selected.id) },
|
|
5684
|
-
{ id: "link", hotkey: "
|
|
6580
|
+
{ id: "link", hotkey: "l", label: "link", color: theme.info, run: () => setLinkPickerOpen(true) },
|
|
5685
6581
|
{ id: "delete", hotkey: "d", label: "delete", color: theme.danger, run: () => setConfirmDelete(true) }
|
|
5686
6582
|
] : [];
|
|
5687
6583
|
const currentAction = Math.min(actionIndex, Math.max(0, actions.length - 1));
|
|
@@ -5731,17 +6627,15 @@ function VaultScreen({ session, initialSelectedId, onCreate, onEdit, onSettings,
|
|
|
5731
6627
|
}
|
|
5732
6628
|
return;
|
|
5733
6629
|
}
|
|
5734
|
-
if (key.name === "l" &&
|
|
6630
|
+
if (key.name === "l" && selected) {
|
|
5735
6631
|
setLinkPickerOpen(true);
|
|
5736
6632
|
return;
|
|
5737
6633
|
}
|
|
5738
6634
|
switch (key.name) {
|
|
5739
6635
|
case "up":
|
|
5740
|
-
case "k":
|
|
5741
6636
|
move(-1);
|
|
5742
6637
|
return;
|
|
5743
6638
|
case "down":
|
|
5744
|
-
case "j":
|
|
5745
6639
|
move(1);
|
|
5746
6640
|
return;
|
|
5747
6641
|
case "pageup":
|
|
@@ -5750,9 +6644,6 @@ function VaultScreen({ session, initialSelectedId, onCreate, onEdit, onSettings,
|
|
|
5750
6644
|
case "pagedown":
|
|
5751
6645
|
move(listHeight);
|
|
5752
6646
|
return;
|
|
5753
|
-
case "g":
|
|
5754
|
-
move(key.shift ? filtered.length : -filtered.length);
|
|
5755
|
-
return;
|
|
5756
6647
|
case "home":
|
|
5757
6648
|
move(-filtered.length);
|
|
5758
6649
|
return;
|
|
@@ -5794,14 +6685,12 @@ function VaultScreen({ session, initialSelectedId, onCreate, onEdit, onSettings,
|
|
|
5794
6685
|
if (pane === "actions") {
|
|
5795
6686
|
switch (key.name) {
|
|
5796
6687
|
case "left":
|
|
5797
|
-
case "h":
|
|
5798
6688
|
if (currentAction === 0)
|
|
5799
6689
|
focusPane("list");
|
|
5800
6690
|
else
|
|
5801
6691
|
setActionIndex((i) => Math.max(0, Math.min(i, actions.length - 1) - 1));
|
|
5802
6692
|
return;
|
|
5803
6693
|
case "right":
|
|
5804
|
-
case "l":
|
|
5805
6694
|
setActionIndex((i) => Math.min(actions.length - 1, i + 1));
|
|
5806
6695
|
return;
|
|
5807
6696
|
case "space":
|
|
@@ -5813,7 +6702,7 @@ function VaultScreen({ session, initialSelectedId, onCreate, onEdit, onSettings,
|
|
|
5813
6702
|
return;
|
|
5814
6703
|
}
|
|
5815
6704
|
} else {
|
|
5816
|
-
if (key.name === "right"
|
|
6705
|
+
if (key.name === "right") {
|
|
5817
6706
|
focusPane("actions");
|
|
5818
6707
|
return;
|
|
5819
6708
|
}
|
|
@@ -5865,7 +6754,7 @@ function VaultScreen({ session, initialSelectedId, onCreate, onEdit, onSettings,
|
|
|
5865
6754
|
];
|
|
5866
6755
|
if (selected) {
|
|
5867
6756
|
const name = selected.name;
|
|
5868
|
-
list.unshift({ id: "copy", title: `Copy ${selected.type === "otp" ? "OTP code" : selected.type === "note" ? "note" : "password"} \u2014 ${name}`, hint: "c / enter", group: "Selected", run: () => copyPrimary(selected) }, { id: "copy-user", title: `Copy username \u2014 ${name}`, hint: "u", group: "Selected", run: () => copyUsername(selected) }, { id: "reveal", title: `${revealed ? "Hide" : "Reveal"} value \u2014 ${name}`, hint: "s", group: "Selected", run: () => toggleReveal(selected) }, { id: "edit", title: `Edit \u2014 ${name}`, hint: "e", group: "Selected", run: () => onEdit(selected.id) }, { id: "link", title: `Link secrets \u2014 ${name}`, hint: "
|
|
6757
|
+
list.unshift({ id: "copy", title: `Copy ${selected.type === "otp" ? "OTP code" : selected.type === "note" ? "note" : "password"} \u2014 ${name}`, hint: "c / enter", group: "Selected", run: () => copyPrimary(selected) }, { id: "copy-user", title: `Copy username \u2014 ${name}`, hint: "u", group: "Selected", run: () => copyUsername(selected) }, { id: "reveal", title: `${revealed ? "Hide" : "Reveal"} value \u2014 ${name}`, hint: "s", group: "Selected", run: () => toggleReveal(selected) }, { id: "edit", title: `Edit \u2014 ${name}`, hint: "e", group: "Selected", run: () => onEdit(selected.id) }, { id: "link", title: `Link secrets \u2014 ${name}`, hint: "l", group: "Selected", run: () => setLinkPickerOpen(true) }, { id: "delete", title: `Delete \u2014 ${name}`, hint: "d", group: "Selected", run: () => setConfirmDelete(true) });
|
|
5869
6758
|
if (linkedOtpSecret) {
|
|
5870
6759
|
list.splice(1, 0, { id: "copy-linked-otp", title: `Copy ${linkedOtpSecret.name} code \u2014 ${name}`, hint: "t", group: "Selected", run: copyLinkedOtp });
|
|
5871
6760
|
}
|
|
@@ -6282,12 +7171,12 @@ var init_vault = __esm(() => {
|
|
|
6282
7171
|
});
|
|
6283
7172
|
|
|
6284
7173
|
// apps/cli/src/tui.tsx
|
|
6285
|
-
import { basename as
|
|
7174
|
+
import { basename as basename4 } from "path";
|
|
6286
7175
|
import { createCliRenderer } from "@opentui/core";
|
|
6287
7176
|
import { createRoot, useKeyboard as useKeyboard8, useRenderer, useSelectionHandler } from "@opentui/react";
|
|
6288
7177
|
import { useCallback as useCallback4, useEffect as useEffect7, useMemo as useMemo7, useRef as useRef8, useState as useState8 } from "react";
|
|
6289
7178
|
import { jsx as jsx8, jsxs as jsxs8 } from "@opentui/react/jsx-runtime";
|
|
6290
|
-
function App({ vaultPath, clipboard, revealMs: initialRevealMs, clipboardClearMs: initialClipboardClearMs, idleLockMs: initialIdleLockMs, onQuit, sessionSink, passkeyRunner }) {
|
|
7179
|
+
function App({ vaultPath, clipboard, revealMs: initialRevealMs, clipboardClearMs: initialClipboardClearMs, idleLockMs: initialIdleLockMs, onQuit, sessionSink, passkeyRunner, web }) {
|
|
6291
7180
|
const renderer = useRenderer();
|
|
6292
7181
|
const [timings, setTimingsState] = useState8({ revealMs: initialRevealMs, clipboardClearMs: initialClipboardClearMs, idleLockMs: initialIdleLockMs });
|
|
6293
7182
|
const { revealMs, clipboardClearMs, idleLockMs } = timings;
|
|
@@ -6441,7 +7330,7 @@ function App({ vaultPath, clipboard, revealMs: initialRevealMs, clipboardClearMs
|
|
|
6441
7330
|
const goSettings = useCallback4(() => setRoute({ name: "settings" }), []);
|
|
6442
7331
|
const globalHints = !session || route.name === "unlock" ? [] : route.name === "vault" ? [["ctrl+k", "commands"], [",", "settings"]] : [["ctrl+k", "commands"]];
|
|
6443
7332
|
const title = route.name === "unlock" ? "Locked" : route.name === "form" ? route.editing ? "Edit secret" : "New secret" : route.name === "settings" ? "Settings" : "Vault";
|
|
6444
|
-
const vaultName =
|
|
7333
|
+
const vaultName = basename4(vaultPath);
|
|
6445
7334
|
let screen;
|
|
6446
7335
|
if (route.name === "unlock" || !session) {
|
|
6447
7336
|
screen = /* @__PURE__ */ jsx8(UnlockScreen, {
|
|
@@ -6468,7 +7357,8 @@ function App({ vaultPath, clipboard, revealMs: initialRevealMs, clipboardClearMs
|
|
|
6468
7357
|
vaultPath,
|
|
6469
7358
|
setHints,
|
|
6470
7359
|
onBack: goVault,
|
|
6471
|
-
passkeyRunner
|
|
7360
|
+
passkeyRunner,
|
|
7361
|
+
web
|
|
6472
7362
|
});
|
|
6473
7363
|
} else {
|
|
6474
7364
|
screen = /* @__PURE__ */ jsx8(VaultScreen, {
|
|
@@ -6536,14 +7426,28 @@ function safeRead(target) {
|
|
|
6536
7426
|
return null;
|
|
6537
7427
|
}
|
|
6538
7428
|
}
|
|
7429
|
+
function startCompanionWeb(vaultPath) {
|
|
7430
|
+
if (!booleanPreference("webWithTui"))
|
|
7431
|
+
return { server: null, status: { url: null, note: "off" } };
|
|
7432
|
+
try {
|
|
7433
|
+
const server = createWebServer({ vaultPath });
|
|
7434
|
+
return { server, status: { url: server.url, note: "running while the TUI is open" } };
|
|
7435
|
+
} catch (error) {
|
|
7436
|
+
const busy = error.code === "EADDRINUSE";
|
|
7437
|
+
const note = busy ? `not started: port ${numberPreference("webPort")} is in use` : `not started: ${error instanceof Error ? error.message : String(error)}`;
|
|
7438
|
+
return { server: null, status: { url: null, note } };
|
|
7439
|
+
}
|
|
7440
|
+
}
|
|
6539
7441
|
async function runTui(vaultPath) {
|
|
6540
7442
|
const vault = vaultPath ?? defaultVaultPath();
|
|
7443
|
+
const web = startCompanionWeb(vault);
|
|
6541
7444
|
const renderer = await createCliRenderer({ exitOnCtrlC: false, useMouse: booleanPreference("mouse") });
|
|
6542
7445
|
const clipboard = new Clipboard({
|
|
6543
7446
|
osc52: (text) => text ? renderer.copyToClipboardOSC52(text) : renderer.clearClipboardOSC52()
|
|
6544
7447
|
});
|
|
6545
7448
|
const sessionSink = { current: null };
|
|
6546
7449
|
renderer.once("destroy", () => {
|
|
7450
|
+
web.server?.stop();
|
|
6547
7451
|
clipboard.handOffPendingClear();
|
|
6548
7452
|
if (sessionSink.current)
|
|
6549
7453
|
closeSessionAndRecordSeal(vault, sessionSink.current).catch(() => {});
|
|
@@ -6556,12 +7460,14 @@ async function runTui(vaultPath) {
|
|
|
6556
7460
|
clipboardClearMs: numberPreference("clipboardClearSeconds") * 1000,
|
|
6557
7461
|
idleLockMs: numberPreference("idleLockSeconds") * 1000,
|
|
6558
7462
|
onQuit: () => renderer.destroy(),
|
|
6559
|
-
sessionSink
|
|
7463
|
+
sessionSink,
|
|
7464
|
+
web: web.status
|
|
6560
7465
|
}));
|
|
6561
7466
|
}
|
|
6562
7467
|
var init_tui = __esm(() => {
|
|
6563
7468
|
init_src3();
|
|
6564
7469
|
init_os_secrets();
|
|
7470
|
+
init_server();
|
|
6565
7471
|
init_clipboard();
|
|
6566
7472
|
init_components();
|
|
6567
7473
|
init_context();
|
|
@@ -6577,9 +7483,9 @@ var init_tui = __esm(() => {
|
|
|
6577
7483
|
init_clipboard();
|
|
6578
7484
|
init_passkey();
|
|
6579
7485
|
init_package();
|
|
6580
|
-
import { existsSync as
|
|
7486
|
+
import { existsSync as existsSync7, readFileSync as readFileSync6, writeFileSync as writeFileSync3 } from "fs";
|
|
6581
7487
|
import { createInterface as createInterface2 } from "readline/promises";
|
|
6582
|
-
import { basename as
|
|
7488
|
+
import { basename as basename5, isAbsolute, resolve as resolve7 } from "path";
|
|
6583
7489
|
|
|
6584
7490
|
// apps/cli/src/password.ts
|
|
6585
7491
|
import { createInterface } from "readline/promises";
|
|
@@ -7021,321 +7927,7 @@ async function daemonStop(options) {
|
|
|
7021
7927
|
// apps/cli/src/index.ts
|
|
7022
7928
|
init_src3();
|
|
7023
7929
|
init_os_secrets();
|
|
7024
|
-
|
|
7025
|
-
// apps/web/src/server.ts
|
|
7026
|
-
init_src();
|
|
7027
|
-
init_src3();
|
|
7028
|
-
init_os_secrets();
|
|
7029
|
-
import { randomBytes as randomBytes6 } from "crypto";
|
|
7030
|
-
import { resolve as resolve4 } from "path";
|
|
7031
|
-
function json2(data, status = 200, headers) {
|
|
7032
|
-
return new Response(JSON.stringify(data, null, 2), {
|
|
7033
|
-
headers: {
|
|
7034
|
-
"content-type": "application/json; charset=utf-8",
|
|
7035
|
-
...headers ?? {}
|
|
7036
|
-
},
|
|
7037
|
-
status
|
|
7038
|
-
});
|
|
7039
|
-
}
|
|
7040
|
-
function html(body) {
|
|
7041
|
-
return new Response(body, {
|
|
7042
|
-
headers: {
|
|
7043
|
-
"content-type": "text/html; charset=utf-8"
|
|
7044
|
-
}
|
|
7045
|
-
});
|
|
7046
|
-
}
|
|
7047
|
-
function parseCookies(request) {
|
|
7048
|
-
const cookieHeader = request.headers.get("cookie") ?? "";
|
|
7049
|
-
return Object.fromEntries(cookieHeader.split(";").map((part) => part.trim()).filter(Boolean).map((part) => {
|
|
7050
|
-
const index = part.indexOf("=");
|
|
7051
|
-
return [part.slice(0, index), decodeURIComponent(part.slice(index + 1))];
|
|
7052
|
-
}));
|
|
7053
|
-
}
|
|
7054
|
-
async function openSession(vaultPath, state) {
|
|
7055
|
-
return new VaultSession(new AuthoDatabase(vaultPath), state.rootKey, {
|
|
7056
|
-
sealBound: state.sealBound,
|
|
7057
|
-
sealRecord: await loadSealRecord(vaultPath)
|
|
7058
|
-
});
|
|
7059
|
-
}
|
|
7060
|
-
function requireSession(request, sessions) {
|
|
7061
|
-
const cookies = parseCookies(request);
|
|
7062
|
-
const sessionId = cookies.autho_session;
|
|
7063
|
-
if (!sessionId) {
|
|
7064
|
-
throw new Error("Missing web session");
|
|
7065
|
-
}
|
|
7066
|
-
const session = sessions.get(sessionId);
|
|
7067
|
-
if (!session) {
|
|
7068
|
-
throw new Error("Unknown web session");
|
|
7069
|
-
}
|
|
7070
|
-
if (Date.parse(session.expiresAt) <= Date.now()) {
|
|
7071
|
-
sessions.delete(sessionId);
|
|
7072
|
-
throw new Error("Expired web session");
|
|
7073
|
-
}
|
|
7074
|
-
return { ...session, id: sessionId };
|
|
7075
|
-
}
|
|
7076
|
-
async function readJson2(request) {
|
|
7077
|
-
return await request.json();
|
|
7078
|
-
}
|
|
7079
|
-
function page2() {
|
|
7080
|
-
return `<!doctype html>
|
|
7081
|
-
<html lang="en">
|
|
7082
|
-
<head>
|
|
7083
|
-
<meta charset="utf-8" />
|
|
7084
|
-
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
7085
|
-
<title>Autho</title>
|
|
7086
|
-
<style>
|
|
7087
|
-
:root { color-scheme: light; font-family: ui-sans-serif, system-ui, sans-serif; }
|
|
7088
|
-
body { margin: 0; background: #f5f1e8; color: #1f2937; }
|
|
7089
|
-
main { max-width: 760px; margin: 0 auto; padding: 32px 20px 64px; }
|
|
7090
|
-
section { background: #fffdf8; border: 1px solid #d6cbb8; border-radius: 16px; padding: 20px; margin-bottom: 16px; box-shadow: 0 8px 30px rgba(83,58,18,0.08); }
|
|
7091
|
-
h1 { margin-top: 0; font-size: 2rem; }
|
|
7092
|
-
input, select, button { font: inherit; padding: 10px 12px; border-radius: 10px; border: 1px solid #bca889; }
|
|
7093
|
-
button { background: #1f4d3a; color: white; border: none; cursor: pointer; }
|
|
7094
|
-
form { display: flex; gap: 8px; flex-wrap: wrap; }
|
|
7095
|
-
pre { background: #1f2937; color: #f9fafb; padding: 12px; border-radius: 12px; overflow: auto; }
|
|
7096
|
-
ul { padding-left: 18px; }
|
|
7097
|
-
</style>
|
|
7098
|
-
</head>
|
|
7099
|
-
<body>
|
|
7100
|
-
<main>
|
|
7101
|
-
<section>
|
|
7102
|
-
<h1>Autho Local Web</h1>
|
|
7103
|
-
<p>Local-only Bun web UI for vault unlock and secret browsing.</p>
|
|
7104
|
-
<form id="unlock-form">
|
|
7105
|
-
<input id="password" type="password" placeholder="Master password" required />
|
|
7106
|
-
<input id="totp" inputmode="numeric" autocomplete="one-time-code" placeholder="Authenticator code (if enabled)" />
|
|
7107
|
-
<button type="submit">Unlock</button>
|
|
7108
|
-
</form>
|
|
7109
|
-
</section>
|
|
7110
|
-
<section>
|
|
7111
|
-
<h2>Secrets</h2>
|
|
7112
|
-
<button id="refresh">Refresh</button>
|
|
7113
|
-
<ul id="secret-list"></ul>
|
|
7114
|
-
<pre id="output"></pre>
|
|
7115
|
-
</section>
|
|
7116
|
-
<section id="linked" hidden>
|
|
7117
|
-
<h2>Linked to <span id="linked-name"></span></h2>
|
|
7118
|
-
<ul id="linked-list"></ul>
|
|
7119
|
-
<p id="linked-from"></p>
|
|
7120
|
-
<form id="link-form">
|
|
7121
|
-
<input id="link-ref" placeholder="Secret name or id to link" required />
|
|
7122
|
-
<button type="submit">Link</button>
|
|
7123
|
-
</form>
|
|
7124
|
-
</section>
|
|
7125
|
-
</main>
|
|
7126
|
-
<script>
|
|
7127
|
-
const output = document.getElementById('output');
|
|
7128
|
-
const secretList = document.getElementById('secret-list');
|
|
7129
|
-
async function refresh() {
|
|
7130
|
-
const response = await fetch('/api/secrets');
|
|
7131
|
-
if (!response.ok) {
|
|
7132
|
-
output.textContent = await response.text();
|
|
7133
|
-
return;
|
|
7134
|
-
}
|
|
7135
|
-
const data = await response.json();
|
|
7136
|
-
secretList.innerHTML = '';
|
|
7137
|
-
data.data.forEach((secret) => {
|
|
7138
|
-
const item = document.createElement('li');
|
|
7139
|
-
const open = document.createElement('a');
|
|
7140
|
-
open.href = '#';
|
|
7141
|
-
open.textContent = secret.name + " (" + secret.type + ")" + (secret.linkCount ? " \xB7 " + secret.linkCount + " linked" : "");
|
|
7142
|
-
open.addEventListener('click', (event) => { event.preventDefault(); showSecret(secret.id); });
|
|
7143
|
-
item.appendChild(open);
|
|
7144
|
-
secretList.appendChild(item);
|
|
7145
|
-
});
|
|
7146
|
-
output.textContent = JSON.stringify(data, null, 2);
|
|
7147
|
-
}
|
|
7148
|
-
let current = null;
|
|
7149
|
-
async function showSecret(ref) {
|
|
7150
|
-
const response = await fetch('/api/secrets/' + encodeURIComponent(ref));
|
|
7151
|
-
if (!response.ok) {
|
|
7152
|
-
output.textContent = await response.text();
|
|
7153
|
-
return;
|
|
7154
|
-
}
|
|
7155
|
-
const secret = (await response.json()).data;
|
|
7156
|
-
current = secret;
|
|
7157
|
-
const { links, linkedFrom, ...rest } = secret;
|
|
7158
|
-
output.textContent = JSON.stringify(rest, null, 2);
|
|
7159
|
-
document.getElementById('linked').hidden = false;
|
|
7160
|
-
document.getElementById('linked-name').textContent = secret.name;
|
|
7161
|
-
const list = document.getElementById('linked-list');
|
|
7162
|
-
list.innerHTML = '';
|
|
7163
|
-
if (!links.length) {
|
|
7164
|
-
list.innerHTML = '<li>No linked secrets</li>';
|
|
7165
|
-
}
|
|
7166
|
-
links.forEach((linked) => {
|
|
7167
|
-
const item = document.createElement('li');
|
|
7168
|
-
const open = document.createElement('a');
|
|
7169
|
-
open.href = '#';
|
|
7170
|
-
open.textContent = linked.name + " (" + linked.type + ") ";
|
|
7171
|
-
open.addEventListener('click', (event) => { event.preventDefault(); showSecret(linked.id); });
|
|
7172
|
-
const unlink = document.createElement('button');
|
|
7173
|
-
unlink.textContent = 'Unlink';
|
|
7174
|
-
unlink.addEventListener('click', () => changeLink('DELETE', linked.id));
|
|
7175
|
-
item.append(open, unlink);
|
|
7176
|
-
list.appendChild(item);
|
|
7177
|
-
});
|
|
7178
|
-
document.getElementById('linked-from').textContent = linkedFrom.length
|
|
7179
|
-
? 'Linked from: ' + linkedFrom.map((primary) => primary.name).join(', ')
|
|
7180
|
-
: '';
|
|
7181
|
-
}
|
|
7182
|
-
async function changeLink(method, secret) {
|
|
7183
|
-
const response = await fetch('/api/links', {
|
|
7184
|
-
method,
|
|
7185
|
-
headers: { 'content-type': 'application/json' },
|
|
7186
|
-
body: JSON.stringify({ primary: current.id, secret })
|
|
7187
|
-
});
|
|
7188
|
-
if (!response.ok) {
|
|
7189
|
-
output.textContent = await response.text();
|
|
7190
|
-
return;
|
|
7191
|
-
}
|
|
7192
|
-
await showSecret(current.id);
|
|
7193
|
-
await refresh();
|
|
7194
|
-
}
|
|
7195
|
-
document.getElementById('link-form').addEventListener('submit', async (event) => {
|
|
7196
|
-
event.preventDefault();
|
|
7197
|
-
const input = document.getElementById('link-ref');
|
|
7198
|
-
await changeLink('POST', input.value);
|
|
7199
|
-
input.value = '';
|
|
7200
|
-
});
|
|
7201
|
-
document.getElementById('unlock-form').addEventListener('submit', async (event) => {
|
|
7202
|
-
event.preventDefault();
|
|
7203
|
-
const response = await fetch('/api/session/unlock', {
|
|
7204
|
-
method: 'POST',
|
|
7205
|
-
headers: { 'content-type': 'application/json' },
|
|
7206
|
-
body: JSON.stringify({
|
|
7207
|
-
password: document.getElementById('password').value,
|
|
7208
|
-
totp: document.getElementById('totp').value || undefined
|
|
7209
|
-
})
|
|
7210
|
-
});
|
|
7211
|
-
output.textContent = await response.text();
|
|
7212
|
-
if (response.ok) {
|
|
7213
|
-
await refresh();
|
|
7214
|
-
}
|
|
7215
|
-
});
|
|
7216
|
-
document.getElementById('refresh').addEventListener('click', refresh);
|
|
7217
|
-
</script>
|
|
7218
|
-
</body>
|
|
7219
|
-
</html>`;
|
|
7220
|
-
}
|
|
7221
|
-
async function startWebServer(options = {}) {
|
|
7222
|
-
const vaultPath = resolve4(options.vaultPath ?? defaultVaultPath());
|
|
7223
|
-
const host = options.host ?? "127.0.0.1";
|
|
7224
|
-
const port = options.port ?? 8061;
|
|
7225
|
-
const sessions = new Map;
|
|
7226
|
-
const cleanup = () => {
|
|
7227
|
-
for (const [id, session] of sessions.entries()) {
|
|
7228
|
-
if (Date.parse(session.expiresAt) <= Date.now()) {
|
|
7229
|
-
sessions.delete(id);
|
|
7230
|
-
}
|
|
7231
|
-
}
|
|
7232
|
-
};
|
|
7233
|
-
const server = Bun.serve({
|
|
7234
|
-
fetch: async (request) => {
|
|
7235
|
-
cleanup();
|
|
7236
|
-
const url = new URL(request.url);
|
|
7237
|
-
try {
|
|
7238
|
-
if (request.method === "GET" && url.pathname === "/health") {
|
|
7239
|
-
return json2({ ok: true, running: true, vaultPath });
|
|
7240
|
-
}
|
|
7241
|
-
if (request.method === "GET" && url.pathname === "/") {
|
|
7242
|
-
return html(page2());
|
|
7243
|
-
}
|
|
7244
|
-
if (request.method === "POST" && url.pathname === "/api/session/unlock") {
|
|
7245
|
-
const body = await readJson2(request);
|
|
7246
|
-
const ttlSeconds = body.ttlSeconds ?? 3600;
|
|
7247
|
-
if (ttlSeconds <= 0 || ttlSeconds > 86400) {
|
|
7248
|
-
return json2({ error: "Session TTL must be between 1 and 86400 seconds" }, 400);
|
|
7249
|
-
}
|
|
7250
|
-
const { rootKey, sealBound } = VaultService.unlockRootKey(vaultPath, {
|
|
7251
|
-
password: body.password,
|
|
7252
|
-
sealRecord: await loadSealRecord(vaultPath),
|
|
7253
|
-
totp: body.totp
|
|
7254
|
-
});
|
|
7255
|
-
const sessionId = randomBytes6(16).toString("hex");
|
|
7256
|
-
const expiresAt = new Date(Date.now() + ttlSeconds * 1000).toISOString();
|
|
7257
|
-
sessions.set(sessionId, { expiresAt, rootKey, sealBound });
|
|
7258
|
-
return json2({ expiresAt, sessionId }, 200, { "set-cookie": `autho_session=${sessionId}; HttpOnly; SameSite=Strict; Path=/; Secure` });
|
|
7259
|
-
}
|
|
7260
|
-
if (request.method === "POST" && url.pathname === "/api/session/lock") {
|
|
7261
|
-
const cookies = parseCookies(request);
|
|
7262
|
-
if (cookies.autho_session) {
|
|
7263
|
-
sessions.delete(cookies.autho_session);
|
|
7264
|
-
}
|
|
7265
|
-
return json2({ locked: true }, 200, { "set-cookie": "autho_session=; Max-Age=0; Path=/; Secure" });
|
|
7266
|
-
}
|
|
7267
|
-
if (url.pathname.startsWith("/api/")) {
|
|
7268
|
-
const webSession = requireSession(request, sessions);
|
|
7269
|
-
const session = await openSession(vaultPath, webSession);
|
|
7270
|
-
try {
|
|
7271
|
-
if (request.method === "GET" && url.pathname === "/api/status") {
|
|
7272
|
-
return json2({
|
|
7273
|
-
initialized: true,
|
|
7274
|
-
secretCount: session.listSecrets().length,
|
|
7275
|
-
unlocked: true,
|
|
7276
|
-
vaultPath
|
|
7277
|
-
});
|
|
7278
|
-
}
|
|
7279
|
-
if (request.method === "GET" && url.pathname === "/api/secrets") {
|
|
7280
|
-
return json2({ data: session.listSecretIndex() });
|
|
7281
|
-
}
|
|
7282
|
-
if (request.method === "GET" && url.pathname.startsWith("/api/secrets/")) {
|
|
7283
|
-
const ref = decodeURIComponent(url.pathname.slice("/api/secrets/".length));
|
|
7284
|
-
const { linkedFrom, links } = session.getLinks(ref);
|
|
7285
|
-
return json2({ data: { ...session.getSecret(ref), linkedFrom, links } });
|
|
7286
|
-
}
|
|
7287
|
-
if ((request.method === "POST" || request.method === "DELETE") && url.pathname === "/api/links") {
|
|
7288
|
-
const body = await readJson2(request);
|
|
7289
|
-
return json2({
|
|
7290
|
-
data: request.method === "POST" ? session.linkSecrets(body.primary, body.secret) : session.unlinkSecrets(body.primary, body.secret)
|
|
7291
|
-
});
|
|
7292
|
-
}
|
|
7293
|
-
if (request.method === "POST" && url.pathname === "/api/secrets") {
|
|
7294
|
-
const body = await readJson2(request);
|
|
7295
|
-
return json2({
|
|
7296
|
-
data: session.addSecret({
|
|
7297
|
-
metadata: Object.fromEntries(Object.entries({
|
|
7298
|
-
algorithm: body.algorithm,
|
|
7299
|
-
description: body.description,
|
|
7300
|
-
digits: body.digits,
|
|
7301
|
-
url: body.url
|
|
7302
|
-
}).filter(([, value]) => value !== undefined)),
|
|
7303
|
-
name: body.name,
|
|
7304
|
-
type: body.type,
|
|
7305
|
-
username: body.username,
|
|
7306
|
-
value: body.value
|
|
7307
|
-
})
|
|
7308
|
-
}, 201);
|
|
7309
|
-
}
|
|
7310
|
-
if (request.method === "DELETE" && url.pathname.startsWith("/api/secrets/")) {
|
|
7311
|
-
const ref = decodeURIComponent(url.pathname.slice("/api/secrets/".length));
|
|
7312
|
-
return json2({ data: session.removeSecret(ref, { withLinked: url.searchParams.get("withLinked") === "1" }) });
|
|
7313
|
-
}
|
|
7314
|
-
if (request.method === "GET" && url.pathname.startsWith("/api/otp/")) {
|
|
7315
|
-
const ref = decodeURIComponent(url.pathname.slice("/api/otp/".length));
|
|
7316
|
-
return json2({ data: session.generateOtp(ref) });
|
|
7317
|
-
}
|
|
7318
|
-
} finally {
|
|
7319
|
-
await closeSessionAndRecordSeal(vaultPath, session);
|
|
7320
|
-
}
|
|
7321
|
-
}
|
|
7322
|
-
} catch (error) {
|
|
7323
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
7324
|
-
const status = /session/i.test(message) ? 401 : 400;
|
|
7325
|
-
return json2({ error: message }, status);
|
|
7326
|
-
}
|
|
7327
|
-
return json2({ error: "Not found" }, 404);
|
|
7328
|
-
},
|
|
7329
|
-
hostname: host,
|
|
7330
|
-
port
|
|
7331
|
-
});
|
|
7332
|
-
process.on("SIGINT", () => process.exit(0));
|
|
7333
|
-
process.on("SIGTERM", () => process.exit(0));
|
|
7334
|
-
console.log(`Autho web server listening on http://${host}:${server.port}`);
|
|
7335
|
-
await new Promise(() => {});
|
|
7336
|
-
}
|
|
7337
|
-
|
|
7338
|
-
// apps/cli/src/index.ts
|
|
7930
|
+
init_server();
|
|
7339
7931
|
function parseArgs(argv) {
|
|
7340
7932
|
const dashDashIndex = argv.indexOf("--");
|
|
7341
7933
|
const main = dashDashIndex === -1 ? argv : argv.slice(0, dashDashIndex);
|
|
@@ -7429,7 +8021,7 @@ function printSealChanges(changes, diffTrusted) {
|
|
|
7429
8021
|
}
|
|
7430
8022
|
}
|
|
7431
8023
|
function absolutePath(path) {
|
|
7432
|
-
return
|
|
8024
|
+
return resolve7(path);
|
|
7433
8025
|
}
|
|
7434
8026
|
function buildSecretMetadata(args) {
|
|
7435
8027
|
return Object.fromEntries(Object.entries({
|
|
@@ -7774,10 +8366,11 @@ function help() {
|
|
|
7774
8366
|
"",
|
|
7775
8367
|
"Notes:",
|
|
7776
8368
|
" Running `autho` with no arguments opens the interactive TUI.",
|
|
8369
|
+
" While the TUI is open it also serves the web UI on localhost:<webPort> (webWithTui=false to opt out).",
|
|
7777
8370
|
" Config is stored in ~/.autho/config.json (always at ~/.autho).",
|
|
7778
8371
|
" The vault directory can be customized via `autho init` or `autho config set vaultDir <path>`.",
|
|
7779
8372
|
" Config keys: vaultDir, revealSeconds, clipboardClearSeconds, idleLockSeconds, passwordLength,",
|
|
7780
|
-
" passwordSymbols, mouse, defaultLeaseTtl, daemonTtlSeconds, webPort (see `autho config show`).",
|
|
8373
|
+
" passwordSymbols, mouse, defaultLeaseTtl, daemonTtlSeconds, webPort, webWithTui (see `autho config show`).",
|
|
7781
8374
|
" lease create uses the defaultLeaseTtl setting when --ttl is omitted (0 = --ttl required).",
|
|
7782
8375
|
" A lease on a secret also covers the secrets linked to it, read live (--no-links to opt out).",
|
|
7783
8376
|
" env and exec inject an OTP secret's current code, never its seed.",
|
|
@@ -7805,7 +8398,7 @@ async function main() {
|
|
|
7805
8398
|
const statePath = absolutePath(getString(args, "state-file") ?? defaultDaemonStatePath());
|
|
7806
8399
|
const explicitProjectFile = getString(args, "project-file");
|
|
7807
8400
|
const fallbackProjectFile = defaultProjectFilePath();
|
|
7808
|
-
const projectFile = explicitProjectFile ?? (
|
|
8401
|
+
const projectFile = explicitProjectFile ?? (existsSync7(fallbackProjectFile) ? fallbackProjectFile : undefined);
|
|
7809
8402
|
let password = getString(args, "password") ?? process.env.AUTHO_MASTER_PASSWORD;
|
|
7810
8403
|
if (!password) {
|
|
7811
8404
|
password = await loadVaultPassword(vaultPath) ?? undefined;
|
|
@@ -7864,7 +8457,7 @@ async function main() {
|
|
|
7864
8457
|
console.log(" Tip: Use a cloud-synced folder (e.g. Google Drive) to share the vault across machines.");
|
|
7865
8458
|
const customDir = (await readLine(` Path (Enter to keep default): `)).trim();
|
|
7866
8459
|
if (customDir && customDir !== currentDir) {
|
|
7867
|
-
const resolved =
|
|
8460
|
+
const resolved = resolve7(customDir).replace(/\\/g, "/");
|
|
7868
8461
|
saveConfig({ ...config, vaultDir: resolved });
|
|
7869
8462
|
effectiveVaultPath = resolved + "/vault.db";
|
|
7870
8463
|
console.log(` \x1B[32m\u2713\x1B[0m Vault directory set to ${resolved}`);
|
|
@@ -7932,7 +8525,7 @@ async function main() {
|
|
|
7932
8525
|
if (key === "autoLock") {
|
|
7933
8526
|
updated.autoLock = value === "true";
|
|
7934
8527
|
} else if (key === "vaultDir") {
|
|
7935
|
-
updated.vaultDir = isAbsolute(value) ? value :
|
|
8528
|
+
updated.vaultDir = isAbsolute(value) ? value : resolve7(value);
|
|
7936
8529
|
} else if (key === "editor") {
|
|
7937
8530
|
updated.editor = value;
|
|
7938
8531
|
} else if (key === "autoLockTimeout") {
|
|
@@ -8106,7 +8699,7 @@ async function main() {
|
|
|
8106
8699
|
const prfSalt = newPrfSalt();
|
|
8107
8700
|
const result = await runPasskeyCeremony({
|
|
8108
8701
|
mode: "register",
|
|
8109
|
-
userName: `autho (${
|
|
8702
|
+
userName: `autho (${basename5(vaultPath)})`,
|
|
8110
8703
|
excludeCredentialIds: existing.map((p) => p.credentialId),
|
|
8111
8704
|
prfSalt
|
|
8112
8705
|
}, { onUrl: printCeremonyUrl });
|
|
@@ -8189,16 +8782,7 @@ async function main() {
|
|
|
8189
8782
|
}
|
|
8190
8783
|
if (scope === "unlock" /* Unlock */ && getString(args, "recovery-file")) {
|
|
8191
8784
|
const recoveryFilePath = absolutePath(getString(args, "recovery-file"));
|
|
8192
|
-
const
|
|
8193
|
-
const lines = content.split(`
|
|
8194
|
-
`);
|
|
8195
|
-
const tokenLineIdx = lines.findIndex((l) => l.trim() === "RECOVERY TOKEN:");
|
|
8196
|
-
if (tokenLineIdx === -1)
|
|
8197
|
-
throw new Error("Invalid recovery file format");
|
|
8198
|
-
const rawTokenLine = lines.slice(tokenLineIdx + 1).find((l) => l.trim() !== "") ?? "";
|
|
8199
|
-
const token = rawTokenLine.replace(/-/g, "").toLowerCase();
|
|
8200
|
-
if (!token)
|
|
8201
|
-
throw new Error("Invalid recovery file format: missing token");
|
|
8785
|
+
const token = parseRecoveryFile(readFileSync6(recoveryFilePath, "utf8"));
|
|
8202
8786
|
const recoverySession = VaultService.unlock(vaultPath, { password: "", recovery: token });
|
|
8203
8787
|
output({ unlocked: true, vaultPath }, jsonMode);
|
|
8204
8788
|
recoverySession.close();
|