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.
Files changed (3) hide show
  1. package/README.md +8 -2
  2. package/dist/autho.js +957 -373
  3. 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.6",
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
- const raw = JSON.parse(readFileSync3(filePath, "utf8"));
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" || key.name === "h")
4619
+ if (key.name === "left")
3726
4620
  cycleType(-1);
3727
- else if (key.name === "right" || key.name === "l" || key.name === "space")
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" || key.ctrl && key.name === "p") {
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" || key.ctrl && key.name === "n") {
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 existsSync5, writeFileSync as writeFileSync2 } from "fs";
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 join3, resolve as resolve5 } from "path";
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" }, [join3(homedir2(), "autho-recovery.txt"), ""]))
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() ? resolve5(first.trim()).replace(/\\/g, "/") : null;
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 && !existsSync5(join3(target, "vault.db"));
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 = resolve5(first.trim() || join3(homedir2(), "autho-recovery.txt"));
4444
- if (existsSync5(target)) {
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 (!existsSync5(dirname3(target))) {
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: "L", label: "link", color: theme.info, run: () => setLinkPickerOpen(true) },
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" && key.shift && selected) {
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" || key.name === "l") {
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: "L", group: "Selected", run: () => setLinkPickerOpen(true) }, { id: "delete", title: `Delete \u2014 ${name}`, hint: "d", group: "Selected", run: () => setConfirmDelete(true) });
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 basename3 } from "path";
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 = basename3(vaultPath);
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 existsSync6, readFileSync as readFileSync6, writeFileSync as writeFileSync3 } from "fs";
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 basename4, isAbsolute, resolve as resolve6 } from "path";
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 resolve6(path);
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 ?? (existsSync6(fallbackProjectFile) ? fallbackProjectFile : undefined);
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 = resolve6(customDir).replace(/\\/g, "/");
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 : resolve6(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 (${basename4(vaultPath)})`,
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 content = readFileSync6(recoveryFilePath, "utf8");
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();