diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index 5e89bc8..0e8f943 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -117,13 +117,12 @@ For non-transport fallback traffic, it can route by TLS SNI to per-domain upstre ## Design Decisions - Client and server both fail fast on invalid startup configuration instead of silently degrading. -- The client loads TOML by default, with YAML kept as an alternate file format; HCL is not supported. - The client and server load TOML configuration files only; YAML and HCL are not supported. - Sensitive configuration values must never be printed verbatim in logs. - Local listeners use explicit shutdown hooks instead of blocking forever with unmanaged goroutines. - Network operations use timeouts and `context` to limit hangs during dialing and remote rule downloads. - The admin console persists rule changes as bounded deltas in `admin.state_file`, without rewriting TOML or rule sources. It also exposes a sanitized effective-config view and persists whitelisted overrides: `log_level` and the DNS upstreams apply immediately, every other whitelisted field (remote, listeners, rule sources) takes effect on the next restart. Clearing an override reverts the field to the file/flag configuration. `--ignore-admin-state` is the startup escape hatch for a bad state file or override. -- The admin server is disabled by default, binds to loopback by default, and requires a password when enabled; the frontend never stores the password (HttpOnly session cookie only). +- The admin server is disabled by default, binds to loopback by default, and requires a password when enabled; an empty password falls back to a startup-generated random one printed once in the log, and the login page tells the user where to find it. The frontend never stores the password (HttpOnly session cookie only). - The admin restart endpoint replaces the process image in place (`exec` on Unix, same PID) so systemd stays unaware; on platforms without in-place restart the endpoint reports an error instead of acknowledging a restart that would fail. Sessions persist to `admin.session_file` (atomic write, 0600) so a restart keeps the browser logged in; `admin.disable_session_persistence` and `admin.cookie_secure` tune that behavior. Session persistence is best-effort: a disk write failure never blocks login or leaves a revoked session valid in memory — the in-memory state stays authoritative and the failure is logged. - Rule hit statistics (per matched rule, per category) and rule-miss statistics (per domain for connections that matched no rule) are tracked in bounded in-memory maps fed by router observers; rule mutations invalidate the hit domain cache so counts stay attributable to the current rule set. - The admin console can share the DNS HTTP proxy listener on port 80 when `admin.addr` equals `dns.serve:80`; classification is Host-based (origin-form requests with the listener IP as Host are admin traffic), so proxying a target whose Host equals the listener IP is inherently ambiguous and routes to admin. The HTTPS and DNS listeners speak different protocols and cannot be shared. diff --git a/README.md b/README.md index baa0884..8f50100 100644 --- a/README.md +++ b/README.md @@ -276,10 +276,10 @@ sudo sowerd -i [admin] disable = false # 默认 true addr = "127.0.0.1:19090" # 默认仅监听回环 -password = "your_admin_password" # 启用时必填 +password = "your_admin_password" # 示例值;留空则启动时自动生成临时密码 ``` -启动后打开 `http://127.0.0.1:19090`,输入 admin 密码即可。密码只用于换取会话 cookie,不会保存在浏览器里。 +启动后打开 `http://127.0.0.1:19090`,输入 admin 密码即可。未配置 `password` 时,登录页会提示使用启动日志中打印的临时密码(每次重启更换;已登录的浏览器通过会话持久化免重新登录)。密码只用于换取会话 cookie,不会保存在浏览器里。 ### Admin 配置项 @@ -287,7 +287,7 @@ password = "your_admin_password" # 启用时必填 |---|---|---| | `disable` | `true` | 默认关闭管理台 | | `addr` | `127.0.0.1:19090` | 监听地址;设为 `dns.serve:80` 时与 HTTP 代理共享端口 | -| `password` | 空 | 启用时必填;只用于换取会话 cookie | +| `password` | 空 | 未配置时启动自动生成一次性随机密码(打印到启动日志);只用于换取会话 cookie | | `state_file` | `/etc/sower/admin-state.json` | 规则增量与配置覆盖的持久化文件;空字符串禁用持久化 | | `session_file` | `/etc/sower/sessions.json` | 会话持久化文件,重启后浏览器免重新登录;仅限单进程使用 | | `disable_session_persistence` | `false` | 设为 `true` 关闭会话持久化(重启后需重新登录) | @@ -325,6 +325,7 @@ password = "your_admin_password" `sower.toml` 是默认示例配置。完整示例见 [config/sower.toml](./config/sower.toml)。 配置格式仅支持 TOML(`sower.toml` / `sowerd.toml`)。旧版本支持的同名 YAML 配置文件已不再被读取,升级前请将 YAML 配置迁移为 TOML。 + 几个容易踩坑的点: - 远程规则文件会通过上游代理下载,不会直接出网。 diff --git a/cmd/sower/admin.go b/cmd/sower/admin.go index 19ac075..97d773d 100644 --- a/cmd/sower/admin.go +++ b/cmd/sower/admin.go @@ -20,6 +20,24 @@ import ( const adminShutdownTimeout = 5 * time.Second +// resolveAdminPassword returns the configured admin password, or a random one +// generated at startup when none is configured, plus whether the fallback was +// used. The generated password is printed once in the startup log +// (intentionally: it is the only way to log in) and changes on every restart; +// persisted sessions keep an already logged-in browser working across +// restarts. The temporary flag drives the /api/login-info hint on the login +// page. +func resolveAdminPassword(configured string) (password string, temporary bool) { + if configured != "" { + return configured, false + } + pw := admin.GeneratePassword() + slog.Warn("admin enabled without a password; generated a temporary password", + "password", pw, + "hint", "set [admin].password to use a fixed password") + return pw, true +} + // adminRules adapts the router's rule sets to the admin RuleManager // interface. Mutations persist through the StateStore first; the runtime // rule set only changes after a successful write, so a persist failure @@ -410,16 +428,18 @@ func startAdminListener(ctx context.Context, wg *sync.WaitGroup, cfg config.Sowe return nil } + password, temporary := resolveAdminPassword(cfg.Admin.Password.Value()) srv := admin.NewServer(admin.Options{ - Password: cfg.Admin.Password, - Version: version, - Date: date, - Rules: rules, - Stats: stats, - SessionFile: cfg.AdminSessionFile(), - CookieSecure: cfg.Admin.CookieSecure, - Config: configMgr, - Restart: restartFn(restartCh), + Password: password, + TemporaryPassword: temporary, + Version: version, + Date: date, + Rules: rules, + Stats: stats, + SessionFile: cfg.AdminSessionFile(), + CookieSecure: cfg.Admin.CookieSecure, + Config: configMgr, + Restart: restartFn(restartCh), }) ln, err := net.Listen("tcp", cfg.Admin.Addr) @@ -458,16 +478,18 @@ func startSharedHTTPListener(ctx context.Context, wg *sync.WaitGroup, cfg config } slog.Info("service listening", "service", "http proxy + admin", "network", "tcp", "addr", addr) + password, temporary := resolveAdminPassword(cfg.Admin.Password.Value()) srv := admin.NewServer(admin.Options{ - Password: cfg.Admin.Password, - Version: version, - Date: date, - Rules: rules, - Stats: stats, - SessionFile: cfg.AdminSessionFile(), - CookieSecure: cfg.Admin.CookieSecure, - Config: configMgr, - Restart: restartFn(restartCh), + Password: password, + TemporaryPassword: temporary, + Version: version, + Date: date, + Rules: rules, + Stats: stats, + SessionFile: cfg.AdminSessionFile(), + CookieSecure: cfg.Admin.CookieSecure, + Config: configMgr, + Restart: restartFn(restartCh), }) go func() { <-ctx.Done() diff --git a/cmd/sower/admin_test.go b/cmd/sower/admin_test.go index 85d45ce..ba653eb 100644 --- a/cmd/sower/admin_test.go +++ b/cmd/sower/admin_test.go @@ -9,6 +9,7 @@ import ( "testing" "time" + "github.com/sower-proxy/deferlog/v2" "github.com/sower-proxy/sower/config" "github.com/sower-proxy/sower/internal/admin" "github.com/sower-proxy/sower/router" @@ -253,13 +254,13 @@ func TestAdminConfigViewAndApply(t *testing.T) { base := config.SowerConfig{LogLevel: slog.LevelInfo} base.Remote.Type = "sower" base.Remote.Addr = "proxy.example.com" - base.Remote.Password = "supersecret" + base.Remote.Password = deferlog.NewPassword("supersecret") base.DNS.Serve = "127.0.0.1" base.DNS.Upstream = "8.8.8.8" base.DNS.Fallback = "223.5.5.5" base.Socks5.Addr = "127.0.0.1:1080" base.Admin.Addr = "127.0.0.1:19090" - base.Admin.Password = "adminsecret" + base.Admin.Password = deferlog.NewPassword("adminsecret") base.Admin.StateFile = "/etc/sower/admin-state.json" state := admin.LoadStateStore("") @@ -467,6 +468,21 @@ func runAdminRulesMutation(i int, rules *adminRules, errs chan<- error, wg *sync } } +func TestResolveAdminPassword(t *testing.T) { + t.Parallel() + + if pw, temp := resolveAdminPassword("secret"); pw != "secret" || temp { + t.Fatalf("configured password: got (%q, %v), want (secret, false)", pw, temp) + } + pw, temp := resolveAdminPassword("") + if pw == "" || !temp { + t.Fatalf("empty password: got (%q, %v), want (non-empty, true)", pw, temp) + } + if pw2, _ := resolveAdminPassword(""); pw2 == pw { + t.Fatal("temporary password must differ across startups") + } +} + func TestRestartFn(t *testing.T) { ch := make(chan struct{}, 1) fn := restartFn(ch) diff --git a/cmd/sower/adminconfig.go b/cmd/sower/adminconfig.go index e837e61..ea02059 100644 --- a/cmd/sower/adminconfig.go +++ b/cmd/sower/adminconfig.go @@ -153,7 +153,7 @@ func (ac *adminConfig) configViewLocked() admin.ConfigView { ApplyMode: admin.ApplyRestart, Source: source(overrides.RemoteAddr != nil), Constraint: "代理地址,如 proxy.com 或 proxy.com:443"}, {Key: "remote.password", ApplyMode: admin.ApplyReadonly, Source: admin.SourceConfig, - Secret: true, Configured: cfg.Remote.Password != ""}, + Secret: true, Configured: cfg.Remote.Password.Value() != ""}, {Key: "remote.tls.server_name", Value: cfg.Remote.TLS.ServerName, Editable: true, ApplyMode: admin.ApplyRestart, Source: source(overrides.RemoteTLSServerName != nil), Constraint: "覆盖上游 TLS SNI;留空使用地址"}, @@ -184,7 +184,7 @@ func (ac *adminConfig) configViewLocked() admin.ConfigView { Constraint: "SOCKS5 监听地址,如 127.0.0.1:1080"}, {Key: "admin.addr", Value: cfg.Admin.Addr, ApplyMode: admin.ApplyRestart, Source: admin.SourceConfig}, {Key: "admin.password", ApplyMode: admin.ApplyReadonly, Source: admin.SourceConfig, - Secret: true, Configured: cfg.Admin.Password != ""}, + Secret: true, Configured: cfg.Admin.Password.Value() != ""}, {Key: "admin.session_file", Value: cfg.Admin.SessionFile, Editable: true, ApplyMode: admin.ApplyRestart, Source: source(overrides.AdminSessionFile != nil), Constraint: "会话持久化文件路径;留空不持久化"}, diff --git a/cmd/sower/main.go b/cmd/sower/main.go index 552e731..c5da719 100644 --- a/cmd/sower/main.go +++ b/cmd/sower/main.go @@ -113,7 +113,7 @@ func init() { "log_level", conf.LogLevel, "remote_type", conf.Remote.Type, "remote_addr", conf.Remote.Addr, - "remote_password", deferlog.Secret(conf.Remote.Password), + "remote_password", conf.Remote.Password, "remote_tls", conf.Remote.TLS, "dns", conf.DNS, "socks5", conf.Socks5, @@ -136,7 +136,7 @@ func run(ctx context.Context, stop context.CancelFunc, cfg config.SowerConfig) e applyConfigOverrides(&cfg, stateStore.ConfigOverrides()) upstreamDNS := effectiveUpstreamDNS(cfg) - proxyDial, err := GenProxyDial(cfg.Remote.Type, cfg.Remote.Addr, cfg.Remote.Password, upstreamDNS, upstreamtls.Options{ + proxyDial, err := GenProxyDial(cfg.Remote.Type, cfg.Remote.Addr, cfg.Remote.Password.Value(), upstreamDNS, upstreamtls.Options{ ServerName: cfg.Remote.TLS.ServerName, ClientHello: cfg.Remote.TLS.ClientHello, InsecureSkipVerify: cfg.Remote.TLS.InsecureSkipVerify, diff --git a/cmd/sower/shared_test.go b/cmd/sower/shared_test.go index 4deabff..2c13f13 100644 --- a/cmd/sower/shared_test.go +++ b/cmd/sower/shared_test.go @@ -12,6 +12,7 @@ import ( "testing" "time" + "github.com/sower-proxy/deferlog/v2" "github.com/sower-proxy/sower/config" "github.com/sower-proxy/sower/internal/admin" ) @@ -22,7 +23,7 @@ func TestSharedAdminHTTPAddr(t *testing.T) { base := config.SowerConfig{} base.DNS.Serve = "127.0.0.1" base.Admin.Addr = "127.0.0.1:80" - base.Admin.Password = "secret" + base.Admin.Password = deferlog.NewPassword("secret") cfg := base if addr, ok := sharedAdminHTTPAddr(cfg); !ok || addr != "127.0.0.1:80" { diff --git a/cmd/sowerd/main.go b/cmd/sowerd/main.go index 48e08c5..82ba50b 100644 --- a/cmd/sowerd/main.go +++ b/cmd/sowerd/main.go @@ -144,7 +144,7 @@ func run(ctx context.Context, conf config.SowerdConfig) error { defer ln.Close() protocolHandlers := []proxyProtocolHandler{ - newSowerProtocolHandler(transportSower.New(conf.Password)), + newSowerProtocolHandler(transportSower.New(conf.Password.Value())), } httpsErrCh := make(chan error, 1) diff --git a/config/sower.go b/config/sower.go index a8d8c0c..525ca15 100644 --- a/config/sower.go +++ b/config/sower.go @@ -6,6 +6,7 @@ import ( "net" "strings" + "github.com/sower-proxy/deferlog/v2" "github.com/sower-proxy/sower/pkg/upstreamtls" ) @@ -16,10 +17,10 @@ type RemoteTLSConfig struct { } type RemoteConfig struct { - Type string `default:"sower" required:"true" usage:"option: sower/socks5"` - Addr string `required:"true" usage:"proxy address, eg: proxy.com or proxy.com:443"` - Password string `usage:"remote proxy password"` - TLS RemoteTLSConfig `flag:"tls"` + Type string `default:"sower" required:"true" usage:"option: sower/socks5"` + Addr string `required:"true" usage:"proxy address, eg: proxy.com or proxy.com:443"` + Password deferlog.Password `usage:"remote proxy password"` + TLS RemoteTLSConfig `flag:"tls"` } // SowerConfig represents the configuration for sower client @@ -46,13 +47,13 @@ type SowerConfig struct { } `flag:"socks5"` Admin struct { - Disable bool `default:"true" usage:"disable admin web server"` - Addr string `default:"127.0.0.1:19090" usage:"admin web server listen address"` - Password string `usage:"admin web server password, required when enabled"` - SessionFile string `default:"/etc/sower/sessions.json" usage:"persist admin sessions to this file; one sower process only"` - DisableSessionPersistence bool `default:"false" usage:"disable admin session persistence"` - CookieSecure bool `default:"false" usage:"set Secure on admin session cookies behind a TLS-terminating proxy"` - StateFile string `default:"/etc/sower/admin-state.json" usage:"persist admin rule and config changes to this file, empty disables persistence"` + Disable bool `default:"true" usage:"disable admin web server"` + Addr string `default:"127.0.0.1:19090" usage:"admin web server listen address"` + Password deferlog.Password `usage:"admin web server password; empty generates a random one at startup"` + SessionFile string `default:"/etc/sower/sessions.json" usage:"persist admin sessions to this file; one sower process only"` + DisableSessionPersistence bool `default:"false" usage:"disable admin session persistence"` + CookieSecure bool `default:"false" usage:"set Secure on admin session cookies behind a TLS-terminating proxy"` + StateFile string `default:"/etc/sower/admin-state.json" usage:"persist admin rule and config changes to this file, empty disables persistence"` } `flag:"admin"` Router struct { @@ -165,9 +166,6 @@ func (c *SowerConfig) Validate() error { if err != nil || host == "" { return fmt.Errorf("invalid admin listen address %q", c.Admin.Addr) } - if c.Admin.Password == "" { - return fmt.Errorf("admin password is required when admin is enabled") - } // The admin console can share the DNS HTTP proxy listener on port 80 // (admin.addr == dns.serve:80), but it cannot share the HTTPS or DNS // listeners, which speak different protocols. diff --git a/config/sower.toml b/config/sower.toml index 9370111..e49fb69 100644 --- a/config/sower.toml +++ b/config/sower.toml @@ -19,7 +19,7 @@ insecure_skip_verify = false # Skip upstream TLS certificate verification [dns] disable = false # Disable DNS proxy serve = "127.0.0.1" # DNS server IP address -serve_6 = "" # DNS server IPv6 address (optional); aconfig maps Serve6 -> serve_6 +serve_6 = "" # DNS server IPv6 address (optional) serve_iface = "" # Network interface to get IP from (optional) upstream = "8.8.8.8" # Upstream DNS server (optional) fallback = "223.5.5.5" # Fallback DNS server @@ -32,7 +32,8 @@ addr = "127.0.0.1:1080" # SOCKS5 listen address # Admin web server configuration # Serves the embedded admin console for runtime rule management and traffic monitoring. -# Disabled by default; when enabled, a non-empty password is required. +# Disabled by default; when enabled, set a password or one is generated at startup +# and printed to the log. # # Standalone mode (default): admin listens on its own address, e.g. 127.0.0.1:19090. # Shared mode: set addr to the DNS HTTP proxy address (dns.serve:80) to serve the @@ -42,7 +43,7 @@ addr = "127.0.0.1:1080" # SOCKS5 listen address [admin] disable = true # Disable admin web server addr = "127.0.0.1:19090" # Admin web server listen address -password = "" # Admin web server password (required when enabled) +password = "your_admin_password" # Admin web server password; empty = random at startup session_file = "/etc/sower/sessions.json" # Persist admin sessions for one sower process only disable_session_persistence = false # Set true to disable session persistence cookie_secure = false # Set true only when a TLS-terminating proxy protects this origin diff --git a/config/sower_test.go b/config/sower_test.go index 3deed1d..1123d20 100644 --- a/config/sower_test.go +++ b/config/sower_test.go @@ -1,11 +1,15 @@ package config import ( + "bytes" + "log/slog" "os" + "strings" "testing" "github.com/cristalhq/aconfig" "github.com/cristalhq/aconfig/aconfigtoml" + "github.com/sower-proxy/deferlog/v2" ) func TestSowerConfigValidateRejectsInvalidRemoteType(t *testing.T) { @@ -84,7 +88,11 @@ func TestSowerConfigValidateRejectsInvalidTLSClientHello(t *testing.T) { } } -func TestSowerConfigValidateAdminRequiresPassword(t *testing.T) { +// TestSowerConfigValidateAdminAllowsEmptyPassword pins the startup-fallback +// contract: enabling the admin console without a password must not fail +// validation; cmd/sower generates a random password at runtime and prints it +// to the startup log. +func TestSowerConfigValidateAdminAllowsEmptyPassword(t *testing.T) { t.Parallel() cfg := SowerConfig{} @@ -96,8 +104,8 @@ func TestSowerConfigValidateAdminRequiresPassword(t *testing.T) { cfg.Admin.Disable = false cfg.Admin.Addr = "127.0.0.1:19090" - if err := cfg.Validate(); err == nil { - t.Fatal("expected validation error for missing admin password") + if err := cfg.Validate(); err != nil { + t.Fatalf("validate admin with empty password: %v", err) } } @@ -112,7 +120,7 @@ func TestSowerConfigValidateAdminRejectsInvalidAddr(t *testing.T) { cfg.Socks5.Disable = true cfg.Admin.Disable = false cfg.Admin.Addr = "127.0.0.1" - cfg.Admin.Password = "secret" + cfg.Admin.Password = deferlog.NewPassword("secret") if err := cfg.Validate(); err == nil { t.Fatal("expected validation error for invalid admin address") @@ -130,25 +138,52 @@ func TestSowerConfigValidateAdminAllowsValidConfig(t *testing.T) { cfg.Socks5.Disable = true cfg.Admin.Disable = false cfg.Admin.Addr = "127.0.0.1:19090" - cfg.Admin.Password = "secret" + cfg.Admin.Password = deferlog.NewPassword("secret") if err := cfg.Validate(); err != nil { t.Fatalf("validate config: %v", err) } } -func TestSowerConfigValidateAdminZeroValueIsIgnored(t *testing.T) { +// TestSowerConfigAdminDisabledByDefault pins the upgrade-compatible default: +// a config without an [admin] section must load with admin disabled (the aconfig +// default) and pass validation, so existing deployments keep working after +// upgrading without adding an [admin] block or password. +func TestSowerConfigAdminDisabledByDefault(t *testing.T) { t.Parallel() - cfg := SowerConfig{} - cfg.Remote.Type = "sower" - cfg.Remote.Addr = "example.com" - cfg.DNS.Disable = true - cfg.DNS.Fallback = "223.5.5.5" - cfg.Socks5.Disable = true + path := t.TempDir() + "/sower.toml" + if err := os.WriteFile(path, []byte(` +[remote] +type = "sower" +addr = "example.com" +[dns] +serve = "127.0.0.1" +fallback = "223.5.5.5" + +[socks_5] +disable = true +`), 0o600); err != nil { + t.Fatalf("write config: %v", err) + } + + var cfg SowerConfig + if err := aconfig.LoaderFor(&cfg, aconfig.Config{ + SkipEnv: true, + SkipFlags: true, + Files: []string{path}, + FileDecoders: map[string]aconfig.FileDecoder{ + ".toml": aconfigtoml.New(), + }, + }).Load(); err != nil { + t.Fatalf("load config: %v", err) + } + if !cfg.Admin.Disable { + t.Fatal("expected admin disabled by default without an [admin] section") + } if err := cfg.Validate(); err != nil { - t.Fatalf("validate zero-value admin: %v", err) + t.Fatalf("validate config without admin section: %v", err) } } @@ -235,3 +270,67 @@ func TestSowerConfigLoadsPackagedExamples(t *testing.T) { }) } } + +// TestSowerConfigPasswordFieldsRedactOnLog pins the masking contract: logging +// or printing a SowerConfig must never leak configured passwords. The +// password fields use deferlog.Password, which renders as *** through +// fmt.Stringer while keeping the plain value reachable via Value(). +func TestSowerConfigPasswordFieldsRedactOnLog(t *testing.T) { + t.Parallel() + + cfg := SowerConfig{} + cfg.Remote.Password = deferlog.NewPassword("topsecret-remote") + cfg.Admin.Password = deferlog.NewPassword("topsecret-admin") + + var buf bytes.Buffer + slog.New(slog.NewTextHandler(&buf, nil)).Error("load config", "config", cfg) + + out := buf.String() + for _, secret := range []string{"topsecret-remote", "topsecret-admin"} { + if strings.Contains(out, secret) { + t.Fatalf("secret %q leaked in slog output", secret) + } + } + if !strings.Contains(out, "***") { + t.Fatal("expected masked *** in slog output") + } +} + +// TestSowerConfigPasswordAcceptsBase64 pins that password fields decode +// canonical base64 values from TOML (a deferlog.Password feature), so +// operators can avoid writing plaintext secrets into config files. +func TestSowerConfigPasswordAcceptsBase64(t *testing.T) { + t.Parallel() + + path := t.TempDir() + "/sower.toml" + if err := os.WriteFile(path, []byte(` +[remote] +type = "sower" +addr = "example.com" +password = "c2VjcmV0LXBhc3M=" + +[dns] +disable = true +fallback = "223.5.5.5" + +[socks_5] +disable = true +`), 0o600); err != nil { + t.Fatalf("write config: %v", err) + } + + var cfg SowerConfig + if err := aconfig.LoaderFor(&cfg, aconfig.Config{ + SkipEnv: true, + SkipFlags: true, + Files: []string{path}, + FileDecoders: map[string]aconfig.FileDecoder{ + ".toml": aconfigtoml.New(), + }, + }).Load(); err != nil { + t.Fatalf("load config: %v", err) + } + if got := cfg.Remote.Password.Value(); got != "secret-pass" { + t.Fatalf("base64 password = %q, want secret-pass", got) + } +} diff --git a/config/sowerd.go b/config/sowerd.go index 7b5b978..77b2633 100644 --- a/config/sowerd.go +++ b/config/sowerd.go @@ -9,6 +9,8 @@ import ( "net/url" "os" "strings" + + "github.com/sower-proxy/deferlog/v2" ) const ExampleSowerdConfigTOML = `# Sowerd configuration example (TOML format) @@ -52,11 +54,11 @@ type SiteRoute struct { // SowerdConfig represents the configuration for sowerd daemon type SowerdConfig struct { - LogLevel slog.Level `default:"info" usage:"log level: debug, info, warn, error"` - ServeIP string `usage:"listen to port 80 443 of the IP"` - Password string `required:"true"` - FakeSite string `default:"/var/www" usage:"fake site address or directoy. serving on 127.0.0.1:80 if directory"` - SiteRoutes []SiteRoute `usage:"domain-to-upstream routing rules for fallback traffic"` + LogLevel slog.Level `default:"info" usage:"log level: debug, info, warn, error"` + ServeIP string `usage:"listen to port 80 443 of the IP"` + Password deferlog.Password `required:"true"` + FakeSite string `default:"/var/www" usage:"fake site address or directoy. serving on 127.0.0.1:80 if directory"` + SiteRoutes []SiteRoute `usage:"domain-to-upstream routing rules for fallback traffic"` Cert struct { Email string @@ -70,7 +72,7 @@ func (c *SowerdConfig) Validate() error { if c.ServeIP != "" && net.ParseIP(c.ServeIP) == nil { return fmt.Errorf("invalid serve ip: %q", c.ServeIP) } - if c.Password == "" { + if c.Password.Value() == "" { return fmt.Errorf("password is required") } if c.FakeSite == "" { diff --git a/docs/plans/admin-console.md b/docs/plans/admin-console.md index b0aaf97..326e2db 100644 --- a/docs/plans/admin-console.md +++ b/docs/plans/admin-console.md @@ -26,10 +26,10 @@ Scope: `cmd/sower`(客户端)管理控制台,前端 embed 进二进制 [admin] disable = true # 默认禁用 addr = "127.0.0.1:19090" # 默认仅回环 -password = "" # 启用时必填 +password = "" # 为空时启动自动生成 ``` -校验规则:`disable=false` 时,`addr` 必须是合法 `host:port`,且 `password` 非空;否则启动失败。 +校验规则:`disable=false` 时,`addr` 必须是合法 `host:port`;`password` 为空时启动自动生成一次性随机密码并打印到日志(已实现变更,见 `ARCHITECTURE.md`)。 ## 后端设计 @@ -128,5 +128,4 @@ API: ## 文档收尾 -- 定稿后回写 `ARCHITECTURE.md`(admin 边界、数据流、设计决策)与 `README.md`(admin 用法) -- `config/sower.toml` / `sower.yaml` 示例同步 `[admin]` 段 +- 定稿后回写 `ARCHITECTURE.md`(admin 边界、数据流、设计决策)与 `README.md`(admin 用法);`[admin]` 段示例以 `config/sower.toml` 为准 diff --git a/internal/admin/auth.go b/internal/admin/auth.go index 6636bf7..c489422 100644 --- a/internal/admin/auth.go +++ b/internal/admin/auth.go @@ -245,3 +245,16 @@ func secureEqual(a, b string) bool { hb := sha256.Sum256([]byte(b)) return subtle.ConstantTimeCompare(ha[:], hb[:]) == 1 } + +// GeneratePassword returns a cryptographically random 128-bit password +// (hex-encoded). cmd/sower uses it when the admin console is enabled +// without a configured password, so the listener never runs with an empty +// credential. The generated value is printed once in the startup log and +// changes on every restart. +func GeneratePassword() string { + var b [16]byte + if _, err := rand.Read(b[:]); err != nil { + panic(fmt.Sprintf("read crypto/rand: %v", err)) + } + return hex.EncodeToString(b[:]) +} diff --git a/internal/admin/password_test.go b/internal/admin/password_test.go new file mode 100644 index 0000000..8ab9628 --- /dev/null +++ b/internal/admin/password_test.go @@ -0,0 +1,21 @@ +package admin + +import ( + "encoding/hex" + "testing" +) + +func TestGeneratePassword(t *testing.T) { + t.Parallel() + + pw := GeneratePassword() + if len(pw) != 32 { + t.Fatalf("GeneratePassword() length = %d, want 32 (16 random bytes hex-encoded)", len(pw)) + } + if _, err := hex.DecodeString(pw); err != nil { + t.Fatalf("GeneratePassword() is not hex-encoded: %v", err) + } + if pw == GeneratePassword() { + t.Fatal("two GeneratePassword() calls returned the same value") + } +} diff --git a/internal/admin/server.go b/internal/admin/server.go index 348f466..c77a57b 100644 --- a/internal/admin/server.go +++ b/internal/admin/server.go @@ -80,13 +80,14 @@ type RuleManager interface { // Options configures the admin server. type Options struct { - Password string - Version string - Date string - Rules RuleManager - Stats *Stats - SessionFile string - CookieSecure bool + Password string + TemporaryPassword bool + Version string + Date string + Rules RuleManager + Stats *Stats + SessionFile string + CookieSecure bool // Config enables the config display/edit endpoints when non-nil. Config ConfigManager // Restart triggers a process restart when non-nil; the endpoint returns @@ -123,6 +124,7 @@ func NewServer(opts Options) *Server { mux.HandleFunc("POST /api/session", s.handleLogin) mux.HandleFunc("GET /api/session", s.mutateGuard(s.auth(s.handleSession))) mux.HandleFunc("DELETE /api/session", s.handleLogout) + mux.HandleFunc("GET /api/login-info", s.handleLoginInfo) mux.HandleFunc("GET /api/status", s.mutateGuard(s.auth(s.handleStatus))) mux.HandleFunc("GET /api/rules", s.mutateGuard(s.auth(s.handleRulesList))) mux.HandleFunc("POST /api/rules", s.mutateGuard(s.auth(s.handleRulesAdd))) @@ -168,6 +170,16 @@ func (s *Server) Shutdown(ctx context.Context) error { return s.http.Shutdown(ctx) } +// handleLoginInfo reports whether the admin console runs with a +// startup-generated temporary password, so the login page can tell the user +// where to find it. It is intentionally public: the login page needs it +// before authenticating, and it leaks no credential material. +func (s *Server) handleLoginInfo(w http.ResponseWriter, r *http.Request) { + writeJSON(w, http.StatusOK, map[string]any{ + "temporaryPassword": s.opts.TemporaryPassword, + }) +} + func (s *Server) handleStatus(w http.ResponseWriter, r *http.Request) { writeJSON(w, http.StatusOK, s.statusPayload()) } diff --git a/internal/admin/server_test.go b/internal/admin/server_test.go index 3578fa5..0df94d3 100644 --- a/internal/admin/server_test.go +++ b/internal/admin/server_test.go @@ -326,6 +326,51 @@ func decodeBody(t *testing.T, resp *http.Response) map[string]any { return out } +func TestLoginInfoTemporaryPassword(t *testing.T) { + s := NewServer(Options{Password: "generated", TemporaryPassword: true, Rules: newFakeRules()}) + ts := httptest.NewServer(s.http.Handler) + t.Cleanup(ts.Close) + + resp, err := http.Get(ts.URL + "/api/login-info") + if err != nil { + t.Fatalf("get login info: %v", err) + } + defer resp.Body.Close() + if resp.StatusCode != http.StatusOK { + t.Fatalf("expected 200, got %d", resp.StatusCode) + } + var out struct { + TemporaryPassword bool `json:"temporaryPassword"` + } + if err := json.NewDecoder(resp.Body).Decode(&out); err != nil { + t.Fatalf("decode body: %v", err) + } + if !out.TemporaryPassword { + t.Fatal("expected temporaryPassword=true for a startup-generated password") + } +} + +func TestLoginInfoFixedPassword(t *testing.T) { + s := NewServer(Options{Password: "secret", Rules: newFakeRules()}) + ts := httptest.NewServer(s.http.Handler) + t.Cleanup(ts.Close) + + resp, err := http.Get(ts.URL + "/api/login-info") + if err != nil { + t.Fatalf("get login info: %v", err) + } + defer resp.Body.Close() + var out struct { + TemporaryPassword bool `json:"temporaryPassword"` + } + if err := json.NewDecoder(resp.Body).Decode(&out); err != nil { + t.Fatalf("decode body: %v", err) + } + if out.TemporaryPassword { + t.Fatal("expected temporaryPassword=false for a configured password") + } +} + func TestLoginWrongPassword(t *testing.T) { ts := newTestServer(t, newFakeRules()) resp, err := http.Post(ts.URL+"/api/session", "application/json", strings.NewReader(`{"password":"wrong"}`)) diff --git a/web/dist/assets/index-C9pF9Fk-.js b/web/dist/assets/index-C9pF9Fk-.js new file mode 100644 index 0000000..34cbf6c --- /dev/null +++ b/web/dist/assets/index-C9pF9Fk-.js @@ -0,0 +1,1798 @@ +var ub=Object.defineProperty;var db=Object.getPrototypeOf;var fb=Reflect.get;var Ph=t=>{throw TypeError(t)};var hb=(t,e,r)=>e in t?ub(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var me=(t,e,r)=>hb(t,typeof e!="symbol"?e+"":e,r),qu=(t,e,r)=>e.has(t)||Ph("Cannot "+r);var u=(t,e,r)=>(qu(t,e,"read from private field"),r?r.call(t):e.get(t)),C=(t,e,r)=>e.has(t)?Ph("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),V=(t,e,r,n)=>(qu(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r),se=(t,e,r)=>(qu(t,e,"access private method"),r);var Ch=(t,e,r,n)=>({set _(o){V(t,e,o,r)},get _(){return u(t,e,n)}}),Ah=(t,e,r)=>fb(db(t),r,e);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))n(o);new MutationObserver(o=>{for(const s of o)if(s.type==="childList")for(const i of s.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&n(i)}).observe(document,{childList:!0,subtree:!0});function r(o){const s={};return o.integrity&&(s.integrity=o.integrity),o.referrerPolicy&&(s.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?s.credentials="include":o.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function n(o){if(o.ep)return;o.ep=!0;const s=r(o);fetch(o.href,s)}})();const eg=!1;var Pf=Array.isArray,vb=Array.prototype.indexOf,Rc=Array.prototype.includes,Iu=Array.from,gb=Object.defineProperty,Qo=Object.getOwnPropertyDescriptor,tg=Object.getOwnPropertyDescriptors,pb=Object.prototype,mb=Array.prototype,Cf=Object.getPrototypeOf,Eh=Object.isExtensible;function ii(t){return typeof t=="function"}const rt=()=>{};function bb(t){return t()}function yd(t){for(var e=0;e{t=n,e=o});return{promise:r,resolve:t,reject:e}}function ng(t,e){if(Array.isArray(t))return t;if(!(Symbol.iterator in t))return Array.from(t);const r=[];for(const n of t)if(r.push(n),r.length===e)break;return r}const $r=2,Ri=4,Gl=8,Af=1<<24,mn=16,yn=32,eo=64,xd=128,bn=512,wr=1024,gr=2048,zn=4096,jr=8192,ln=16384,Ys=32768,wd=1<<25,to=65536,Fc=1<<17,yb=1<<18,Xs=1<<19,og=1<<20,Hn=1<<25,Gs=65536,Lc=1<<21,di=1<<22,es=1<<23,Yn=Symbol("$state"),sg=Symbol("legacy props"),xb=Symbol(""),pc=Symbol("attributes"),_d=Symbol("class"),kd=Symbol("style"),fa=Symbol("text"),mc=Symbol("form reset"),Hl=new class extends Error{constructor(){super(...arguments);me(this,"name","StaleReactionError");me(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};var Zv;const Ef=!!((Zv=globalThis.document)!=null&&Zv.contentType)&&globalThis.document.contentType.includes("xml");function Tf(t){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function wb(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function _b(t,e,r){throw new Error("https://svelte.dev/e/each_key_duplicate")}function kb(t){throw new Error("https://svelte.dev/e/effect_in_teardown")}function $b(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Sb(t){throw new Error("https://svelte.dev/e/effect_orphan")}function Pb(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Cb(t){throw new Error("https://svelte.dev/e/props_invalid_value")}function Ab(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Eb(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Tb(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function Mb(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const Ob=1,zb=2,ig=4,Ib=8,Nb=16,Rb=1,Fb=2,ag=4,Lb=8,Db=16,Bb=4,Vb=1,jb=2,vr=Symbol("uninitialized"),lg="http://www.w3.org/1999/xhtml",Wb="http://www.w3.org/2000/svg",cg="@attach";function Gb(){console.warn("https://svelte.dev/e/derived_inert")}function Hb(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function Kb(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function ug(t){return t===this.v}function Ub(t,e){return t!=t?e==e:t!==e||t!==null&&typeof t=="object"||typeof t=="function"}function dg(t){return!Ub(t,this.v)}let Ui=!1,qb=!1;function Yb(){Ui=!0}let Nt=null;function Fi(t){Nt=t}function Th(t){return Nu().get(t)}function Xb(t,e){return Nu().set(t,e),e}function Zb(t){return Nu().has(t)}function Jb(){return Nu()}function Ve(t,e=!1,r){Nt={p:Nt,i:!1,c:null,e:null,s:t,x:null,r:ut,l:Ui&&!e?{s:null,u:null,$:[]}:null}}function je(t){var e=Nt,r=e.e;if(r!==null){e.e=null;for(var n of r)Ig(n)}return e.i=!0,Nt=e.p,{}}function qi(){return!Ui||Nt!==null&&Nt.l===null}function Nu(t){return Nt===null&&Tf(),Nt.c??(Nt.c=new Map(Qb(Nt)||void 0))}function Qb(t){let e=t.p;for(;e!==null;){const r=e.c;if(r!==null)return r;e=e.p}return null}let ks=[];function fg(){var t=ks;ks=[],yd(t)}function Tn(t){if(ks.length===0&&!Sa){var e=ks;queueMicrotask(()=>{e===ks&&fg()})}ks.push(t)}function ey(){for(;ks.length>0;)fg()}function hg(t){var e=ut;if(e===null)return yt.f|=es,t;if((e.f&Ys)===0&&(e.f&Ri)===0)throw t;Jo(t,e)}function Jo(t,e){if(!(e!==null&&(e.f&ln)!==0)){for(;e!==null;){if((e.f&xd)!==0){if((e.f&Ys)===0)throw t;try{e.b.error(t);return}catch(r){t=r}}e=e.parent}throw t}}const ty=-7169;function ir(t,e){t.f=t.f&ty|e}function Mf(t){(t.f&bn)!==0||t.deps===null?ir(t,wr):ir(t,zn)}function vg(t){if(t!==null)for(const e of t)(e.f&$r)===0||(e.f&Gs)===0||(e.f^=Gs,vg(e.deps))}function gg(t,e,r){(t.f&gr)!==0?e.add(t):(t.f&zn)!==0&&r.add(t),vg(t.deps),ir(t,wr)}let Ql=!1;function ry(t){var e=Ql;try{return Ql=!1,[t(),Ql]}finally{Ql=e}}function ny(t,e){if(e){const r=document.body;t.autofocus=!0,Tn(()=>{document.activeElement===r&&t.focus()})}}let Mh=!1;function oy(){Mh||(Mh=!0,document.addEventListener("reset",t=>{Promise.resolve().then(()=>{var e;if(!t.defaultPrevented)for(const r of t.target.elements)(e=r[mc])==null||e.call(r)})},{capture:!0}))}function ls(t){var e=yt,r=ut;xn(null),wn(null);try{return t()}finally{xn(e),wn(r)}}function pg(t,e,r,n=r){t.addEventListener(e,()=>ls(r));const o=t[mc];o?t[mc]=()=>{o(),n(!0)}:t[mc]=()=>n(!0),oy()}function Ru(t){let e=0,r=To(0),n;return()=>{Rf()&&(a(r),Du(()=>(e===0&&(n=tn(()=>t(()=>Wn(r)))),e+=1,()=>{Tn(()=>{e-=1,e===0&&(n==null||n(),n=void 0,Wn(r))})})))}}var sy=to|Xs;function iy(t,e,r,n){new ay(t,e,r,n)}var fn,Sf,hn,Cs,Hr,vn,Dr,nn,co,As,Vo,vi,Ia,Na,uo,iu,Jt,ly,cy,$d,uy,Sd,bc,yc,Pd,Cd;class ay{constructor(e,r,n,o){C(this,Jt);me(this,"parent");me(this,"is_pending",!1);me(this,"transform_error");C(this,fn);C(this,Sf,null);C(this,hn);C(this,Cs);C(this,Hr);C(this,vn,null);C(this,Dr,null);C(this,nn,null);C(this,co,null);C(this,As,0);C(this,Vo,0);C(this,vi,!1);C(this,Ia,new Set);C(this,Na,new Set);C(this,uo,null);C(this,iu,Ru(()=>(V(this,uo,To(u(this,As))),()=>{V(this,uo,null)})));var s;V(this,fn,e),V(this,hn,r),V(this,Cs,i=>{var l=ut;l.b=this,l.f|=xd,n(i)}),this.parent=ut.b,this.transform_error=o??((s=this.parent)==null?void 0:s.transform_error)??(i=>i),V(this,Hr,Zs(()=>{se(this,Jt,Sd).call(this)},sy))}defer_effect(e){gg(e,u(this,Ia),u(this,Na))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!u(this,hn).pending}update_pending_count(e,r){se(this,Jt,Pd).call(this,e,r),V(this,As,u(this,As)+e),!(!u(this,uo)||u(this,vi))&&(V(this,vi,!0),Tn(()=>{V(this,vi,!1),u(this,uo)&&Di(u(this,uo),u(this,As))}))}get_effect_pending(){return u(this,iu).call(this),a(u(this,uo))}error(e){if(!u(this,hn).onerror&&!u(this,hn).failed)throw e;We!=null&&We.is_fork?(u(this,vn)&&We.skip_effect(u(this,vn)),u(this,Dr)&&We.skip_effect(u(this,Dr)),u(this,nn)&&We.skip_effect(u(this,nn)),We.oncommit(()=>{se(this,Jt,Cd).call(this,e)})):se(this,Jt,Cd).call(this,e)}}fn=new WeakMap,Sf=new WeakMap,hn=new WeakMap,Cs=new WeakMap,Hr=new WeakMap,vn=new WeakMap,Dr=new WeakMap,nn=new WeakMap,co=new WeakMap,As=new WeakMap,Vo=new WeakMap,vi=new WeakMap,Ia=new WeakMap,Na=new WeakMap,uo=new WeakMap,iu=new WeakMap,Jt=new WeakSet,ly=function(){try{V(this,vn,Qr(()=>u(this,Cs).call(this,u(this,fn))))}catch(e){this.error(e)}},cy=function(e){const r=u(this,hn).failed,{reset:n,invoke_onerror:o}=se(this,Jt,$d).call(this,e);Tn(o),r&&V(this,nn,Qr(()=>{r(u(this,fn),()=>e,()=>n)}))},$d=function(e){var r=!1,n=!1;const o=()=>{if(r){Kb();return}r=!0,n&&Mb(),u(this,nn)!==null&&js(u(this,nn),()=>{V(this,nn,null)}),se(this,Jt,yc).call(this,()=>{se(this,Jt,Sd).call(this)})};return{reset:o,invoke_onerror:()=>{var i,l;try{n=!0,(l=(i=u(this,hn)).onerror)==null||l.call(i,e,o),n=!1}catch(c){Jo(c,u(this,Hr)&&u(this,Hr).parent)}}}},uy=function(){const e=u(this,hn).pending;e&&(this.is_pending=!0,V(this,Dr,Qr(()=>e(u(this,fn)))),Tn(()=>{var r=V(this,co,document.createDocumentFragment()),n=Xn();r.append(n),V(this,vn,se(this,Jt,yc).call(this,()=>Qr(()=>u(this,Cs).call(this,n)))),u(this,Vo)===0&&(u(this,fn).before(r),V(this,co,null),js(u(this,Dr),()=>{V(this,Dr,null)}),se(this,Jt,bc).call(this,We))}))},Sd=function(){try{if(this.is_pending=this.has_pending_snippet(),V(this,Vo,0),V(this,As,0),V(this,vn,Qr(()=>{u(this,Cs).call(this,u(this,fn))})),u(this,Vo)>0){var e=V(this,co,document.createDocumentFragment());Lf(u(this,vn),e);const r=u(this,hn).pending;V(this,Dr,Qr(()=>r(u(this,fn))))}else se(this,Jt,bc).call(this,We)}catch(r){this.error(r)}},bc=function(e){this.is_pending=!1,e.transfer_effects(u(this,Ia),u(this,Na))},yc=function(e){var r=ut,n=yt,o=Nt;wn(u(this,Hr)),xn(u(this,Hr)),Fi(u(this,Hr).ctx);try{return ns.ensure(),e()}catch(s){return hg(s),null}finally{wn(r),xn(n),Fi(o)}},Pd=function(e,r){var n;if(!this.has_pending_snippet()){this.parent&&se(n=this.parent,Jt,Pd).call(n,e,r);return}V(this,Vo,u(this,Vo)+e),u(this,Vo)===0&&(se(this,Jt,bc).call(this,r),u(this,Dr)&&js(u(this,Dr),()=>{V(this,Dr,null)}),u(this,co)&&(u(this,fn).before(u(this,co)),V(this,co,null)))},Cd=function(e){u(this,vn)&&(Sr(u(this,vn)),V(this,vn,null)),u(this,Dr)&&(Sr(u(this,Dr)),V(this,Dr,null)),u(this,nn)&&(Sr(u(this,nn)),V(this,nn,null));let r=u(this,hn).failed;const n=o=>{const{reset:s,invoke_onerror:i}=se(this,Jt,$d).call(this,o);i(),r&&V(this,nn,se(this,Jt,yc).call(this,()=>{try{return Qr(()=>{var l=ut;l.b=this,l.f|=xd,r(u(this,fn),()=>o,()=>s)})}catch(l){return Jo(l,u(this,Hr).parent),null}}))};Tn(()=>{var o;try{o=this.transform_error(e)}catch(s){Jo(s,u(this,Hr)&&u(this,Hr).parent);return}o!==null&&typeof o=="object"&&typeof o.then=="function"?o.then(n,s=>Jo(s,u(this,Hr)&&u(this,Hr).parent)):n(o)})};function mg(t,e,r,n){const o=qi()?Li:Of;var s=t.filter(p=>!p.settled),i=e.map(o);if(r.length===0&&s.length===0){n(i);return}var l=ut,c=dy(),d=s.length===1?s[0].promise:s.length>1?Promise.all(s.map(p=>p.promise)):null;function f(p){if((l.f&ln)===0){c();try{n([...i,...p])}catch(m){Jo(m,l)}Dc()}}var g=bg();if(r.length===0){d.then(()=>f([])).finally(g);return}function v(){Promise.all(r.map(p=>fy(p))).then(f).catch(p=>Jo(p,l)).finally(g)}d?d.then(()=>{c(),v(),Dc()}):v()}function dy(){var t=ut,e=yt,r=Nt,n=We;return function(s=!0){wn(t),xn(e),Fi(r),s&&(t.f&ln)===0&&(n==null||n.activate(),n==null||n.apply())}}function Dc(t=!0){wn(null),xn(null),Fi(null),t&&(We==null||We.deactivate())}function bg(){var t=ut,e=t.b,r=We,n=!!(e!=null&&e.is_rendered());return e==null||e.update_pending_count(1,r),r.increment(n,t),()=>{e==null||e.update_pending_count(-1,r),r.decrement(n,t)}}function Li(t){var e=$r|gr;return ut!==null&&(ut.f|=Xs),{ctx:Nt,deps:null,effects:null,equals:ug,f:e,fn:t,reactions:null,rv:0,v:vr,wv:0,parent:ut,ac:null}}const ha=Symbol("obsolete");function fy(t,e,r){let n=ut;n===null&&wb();var o=void 0,s=To(vr),i=!yt,l=new Set;return Py(()=>{var p,m;var c=ut,d=rg();o=d.promise;try{Promise.resolve(t()).then(d.resolve,b=>{b!==Hl&&d.reject(b)}).finally(Dc)}catch(b){d.reject(b),Dc()}var f=We;if(i){if((c.f&Ys)!==0)var g=bg();if((p=n.b)!=null&&p.is_rendered())(m=f.async_deriveds.get(c))==null||m.reject(ha);else for(const b of l.values())b.reject(ha);l.add(d),f.async_deriveds.set(c,d)}const v=(b,w=void 0)=>{g==null||g(),l.delete(d),w!==ha&&(f.activate(),w?(s.f|=es,Di(s,w)):((s.f&es)!==0&&(s.f^=es),Di(s,b)),f.deactivate())};d.promise.then(v,b=>v(null,b||"unknown"))}),Fu(()=>{for(const c of l)c.reject(ha)}),new Promise(c=>{function d(f){function g(){f===o?c(s):d(o)}f.then(g,g)}d(o)})}function z(t){const e=Li(t);return jg(e),e}function Of(t){const e=Li(t);return e.equals=dg,e}function hy(t){var e=t.effects;if(e!==null){t.effects=null;for(var r=0;r{r.ac.abort(Hl),r.ac=null}),r.fn!==null&&(r.teardown=rt),Ea(r,0),Ff(r))}function xg(t){if(t.effects!==null)for(const e of t.effects)e.teardown&&e.fn!==null&&Vi(e)}let Yu=null,oi=null,We=null,$a=null,Or=null,Ad=null,Sa=!1,Xu=!1,ci=null,xc=null;var Oh=0;let gy=1;var gi,jo,Es,pi,mi,bi,fo,yi,Kr,Ra,ho,An,Fn,xi,Ts,Dt,Ed,va,Td,wg,_g,ai,py,ga;const au=class au{constructor(){C(this,Dt);me(this,"id",gy++);C(this,gi,!1);me(this,"linked",!0);C(this,jo,null);C(this,Es,null);me(this,"async_deriveds",new Map);me(this,"current",new Map);me(this,"previous",new Map);C(this,pi,new Set);C(this,mi,new Set);C(this,bi,0);C(this,fo,new Map);C(this,yi,null);C(this,Kr,[]);C(this,Ra,[]);C(this,ho,new Set);C(this,An,new Set);C(this,Fn,new Map);C(this,xi,new Set);me(this,"is_fork",!1);C(this,Ts,!1);oi===null?Yu=oi=this:(V(oi,Es,this),V(this,jo,oi)),oi=this}skip_effect(e){u(this,Fn).has(e)||u(this,Fn).set(e,{d:[],m:[]}),u(this,xi).delete(e)}unskip_effect(e,r=n=>this.schedule(n)){var n=u(this,Fn).get(e);if(n){u(this,Fn).delete(e);for(var o of n.d)ir(o,gr),r(o);for(o of n.m)ir(o,zn),r(o)}u(this,xi).add(e)}capture(e,r,n=!1){e.v!==vr&&!this.previous.has(e)&&this.previous.set(e,e.v),(e.f&es)===0&&(this.current.set(e,[r,n]),Or==null||Or.set(e,r)),this.is_fork||(e.v=r)}activate(){We=this}deactivate(){We=null,Or=null}flush(){try{Xu=!0,We=this,se(this,Dt,va).call(this)}finally{Oh=0,Ad=null,ci=null,xc=null,Xu=!1,We=null,Or=null,Vs.clear()}}discard(){var e;for(const r of u(this,mi))r(this);u(this,mi).clear();for(const r of this.async_deriveds.values())r.reject(ha);se(this,Dt,ga).call(this),(e=u(this,yi))==null||e.resolve()}register_created_effect(e){u(this,Ra).push(e)}increment(e,r){if(V(this,bi,u(this,bi)+1),e){let n=u(this,fo).get(r)??0;u(this,fo).set(r,n+1)}}decrement(e,r){if(V(this,bi,u(this,bi)-1),e){let n=u(this,fo).get(r)??0;n===1?u(this,fo).delete(r):u(this,fo).set(r,n-1)}u(this,Ts)||(V(this,Ts,!0),Tn(()=>{V(this,Ts,!1),this.linked&&this.flush()}))}transfer_effects(e,r){for(const n of e)u(this,ho).add(n);for(const n of r)u(this,An).add(n);e.clear(),r.clear()}oncommit(e){u(this,pi).add(e)}ondiscard(e){u(this,mi).add(e)}settled(){return(u(this,yi)??V(this,yi,rg())).promise}static ensure(){if(We===null){const e=We=new au;!Xu&&!Sa&&Tn(()=>{u(e,gi)||e.flush()})}return We}apply(){{Or=null;return}}schedule(e){var o;if(Ad=e,(o=e.b)!=null&&o.is_pending&&(e.f&(Ri|Gl|Af))!==0&&(e.f&Ys)===0){e.b.defer_effect(e);return}for(var r=e;r.parent!==null;){r=r.parent;var n=r.f;if(ci!==null&&r===ut&&(yt===null||(yt.f&$r)===0))return;if((n&(eo|yn))!==0){if((n&wr)===0)return;r.f^=wr}}u(this,Kr).push(r)}};gi=new WeakMap,jo=new WeakMap,Es=new WeakMap,pi=new WeakMap,mi=new WeakMap,bi=new WeakMap,fo=new WeakMap,yi=new WeakMap,Kr=new WeakMap,Ra=new WeakMap,ho=new WeakMap,An=new WeakMap,Fn=new WeakMap,xi=new WeakMap,Ts=new WeakMap,Dt=new WeakSet,Ed=function(){if(this.is_fork)return!0;for(const n of u(this,fo).keys()){for(var e=n,r=!1;e.parent!==null;){if(u(this,Fn).has(e)){r=!0;break}e=e.parent}if(!r)return!0}return!1},va=function(){var c,d,f,g;V(this,gi,!0),Oh++>1e3&&(se(this,Dt,ga).call(this),by());for(const v of u(this,ho))u(this,An).delete(v),ir(v,gr),this.schedule(v);for(const v of u(this,An))ir(v,zn),this.schedule(v);const e=u(this,Kr);V(this,Kr,[]),this.apply();var r=ci=[],n=[],o=xc=[];for(const v of e)try{se(this,Dt,Td).call(this,v,r,n)}catch(p){throw Sg(v),se(this,Dt,Ed).call(this)||this.discard(),p}if(We=null,o.length>0){var s=au.ensure();for(const v of o)s.schedule(v)}if(ci=null,xc=null,se(this,Dt,Ed).call(this)){se(this,Dt,ai).call(this,n),se(this,Dt,ai).call(this,r);for(const[v,p]of u(this,Fn))$g(v,p);o.length>0&&se(c=We,Dt,va).call(c);return}const i=se(this,Dt,wg).call(this);if(i){se(this,Dt,ai).call(this,n),se(this,Dt,ai).call(this,r),se(d=i,Dt,_g).call(d,this);return}u(this,ho).clear(),u(this,An).clear();for(const v of u(this,pi))v(this);u(this,pi).clear(),$a=this,zh(n),zh(r),$a=null,(f=u(this,yi))==null||f.resolve();var l=We;if(u(this,bi)===0&&(u(this,Kr).length===0||l!==null)&&se(this,Dt,ga).call(this),u(this,Kr).length>0)if(l!==null){const v=l;u(v,Kr).push(...u(this,Kr).filter(p=>!u(v,Kr).includes(p)))}else l=this;l!==null&&se(g=l,Dt,va).call(g)},Td=function(e,r,n){e.f^=wr;for(var o=e.first;o!==null;){var s=o.f,i=(s&(yn|eo))!==0,l=i&&(s&wr)!==0,c=l||(s&jr)!==0||u(this,Fn).has(o);if(!c&&o.fn!==null){i?o.f^=wr:(s&Ri)!==0?r.push(o):Ul(o)&&((s&mn)!==0&&u(this,An).add(o),Vi(o));var d=o.first;if(d!==null){o=d;continue}}for(;o!==null;){var f=o.next;if(f!==null){o=f;break}o=o.parent}}},wg=function(){for(var e=u(this,jo);e!==null;){if(!e.is_fork){for(const[r,[,n]]of this.current)if(e.current.has(r)&&!n)return e}e=u(e,jo)}return null},_g=function(e){var n;for(const[o,s]of e.current)!this.previous.has(o)&&e.previous.has(o)&&this.previous.set(o,e.previous.get(o)),this.current.set(o,s);for(const[o,s]of e.async_deriveds){const i=this.async_deriveds.get(o);i&&s.promise.then(i.resolve).catch(i.reject)}e.async_deriveds.clear(),this.transfer_effects(u(e,ho),u(e,An));const r=o=>{var s=o.reactions;if(s!==null&&!((o.f&$r)!==0&&(o.f&(gr|zn))===0))for(const c of s){var i=c.f;if((i&$r)!==0)r(c);else{var l=c;i&(di|mn)&&!this.async_deriveds.has(l)&&(u(this,An).delete(l),ir(l,gr),this.schedule(l))}}};for(const o of this.current.keys())r(o);this.oncommit(()=>e.discard()),se(n=e,Dt,ga).call(n),We=this,se(this,Dt,va).call(this)},ai=function(e){for(var r=0;r!v.current.get(p)[1]);if(!(!u(v,gi)||o.length===0)){var s=o.filter(p=>!this.current.has(p));if(s.length===0)e&&v.discard();else if(r.length>0){if(e)for(const p of u(this,xi))v.unskip_effect(p,m=>{var b;(m.f&(mn|di))!==0?v.schedule(m):se(b=v,Dt,ai).call(b,[m])});v.activate();var i=new Set,l=new Map;for(var c of r)kg(c,s,i,l);l=new Map;var d=[...v.current].filter(([p,m])=>{const b=this.current.get(p);return b?b[0]!==m[0]||b[1]!==m[1]:!0}).map(([p])=>p);if(d.length>0)for(const p of u(this,Ra))(p.f&(ln|jr|Fc))===0&&If(p,d,l)&&((p.f&(di|mn))!==0?(ir(p,gr),v.schedule(p)):u(v,ho).add(p));if(u(v,Kr).length>0&&!u(v,Ts)){v.apply();for(var f of u(v,Kr))se(g=v,Dt,Td).call(g,f,[],[]);V(v,Kr,[])}v.deactivate()}}}},ga=function(){if(this.linked){var e=u(this,jo),r=u(this,Es);e===null?Yu=r:V(e,Es,r),r===null?oi=e:V(r,jo,e),this.linked=!1}};let ns=au;function my(t){var e=Sa;Sa=!0;try{for(var r;;){if(ey(),We===null)return r;We.flush()}}finally{Sa=e}}function by(){try{Pb()}catch(t){Jo(t,Ad)}}let Cn=null;function zh(t){var e=t.length;if(e!==0){for(var r=0;r0)){Vs.clear();for(const o of Cn){if((o.f&(ln|jr))!==0)continue;const s=[o];let i=o.parent;for(;i!==null;)Cn.has(i)&&(Cn.delete(i),s.push(i)),i=i.parent;for(let l=s.length-1;l>=0;l--){const c=s[l];(c.f&(ln|jr))===0&&Vi(c)}}Cn.clear()}}Cn=null}}function kg(t,e,r,n){if(!r.has(t)&&(r.add(t),t.reactions!==null))for(const o of t.reactions){const s=o.f;(s&$r)!==0?kg(o,e,r,n):(s&(di|mn))!==0&&(s&gr)===0&&If(o,e,n)&&(ir(o,gr),Nf(o))}}function If(t,e,r){const n=r.get(t);if(n!==void 0)return n;if(t.deps!==null)for(const o of t.deps){if(Rc.call(e,o))return!0;if((o.f&$r)!==0&&If(o,e,r))return r.set(o,!0),!0}return r.set(t,!1),!1}function Nf(t){We.schedule(t)}function $g(t,e){if(!((t.f&yn)!==0&&(t.f&wr)!==0)){(t.f&gr)!==0?e.d.push(t):(t.f&zn)!==0&&e.m.push(t),ir(t,wr);for(var r=t.first;r!==null;)$g(r,e),r=r.next}}function Sg(t){ir(t,wr);for(var e=t.first;e!==null;)Sg(e),e=e.next}let Bc=new Set;const Vs=new Map;let Pg=!1;function To(t,e){var r={f:0,v:t,reactions:null,equals:ug,rv:0,wv:0};return r}function fe(t,e){const r=To(t);return jg(r),r}function yy(t,e=!1,r=!0){var o;const n=To(t);return e||(n.equals=dg),Ui&&r&&Nt!==null&&Nt.l!==null&&((o=Nt.l).s??(o.s=[])).push(n),n}function x(t,e,r=!1){yt!==null&&(!Mn||(yt.f&Fc)!==0)&&qi()&&(yt.f&($r|mn|di|Fc))!==0&&(Zn===null||!Zn.has(t))&&Tb();let n=r?kr(e):e;return Di(t,n,xc)}function Di(t,e,r=null){if(!t.equals(e)){Vs.set(t,Mo?e:t.v);var n=ns.ensure();if(n.capture(t,e),(t.f&$r)!==0){const o=t;(t.f&gr)!==0&&zf(o),Or===null&&Mf(o)}t.wv=Gg(),Cg(t,gr,r),qi()&&ut!==null&&(ut.f&wr)!==0&&(ut.f&(yn|eo))===0&&(dn===null?Ey([t]):dn.push(t)),!n.is_fork&&Bc.size>0&&!Pg&&xy()}return e}function xy(){Pg=!1;for(const t of Bc){(t.f&wr)!==0&&ir(t,zn);let e;try{e=Ul(t)}catch{e=!0}e&&Vi(t)}Bc.clear()}function Ih(t,e=1){var r=a(t),n=e===1?r++:r--;return x(t,r),n}function Wn(t){x(t,t.v+1)}function Cg(t,e,r){var n=t.reactions;if(n!==null)for(var o=qi(),s=n.length,i=0;i{if(Co===s)return l();var c=yt,d=Co;xn(null),Lh(s);var f=l();return xn(c),Lh(d),f};return n&&r.set("length",fe(t.length)),new Proxy(t,{defineProperty(l,c,d){(!("value"in d)||d.configurable===!1||d.enumerable===!1||d.writable===!1)&&Ab();var f=r.get(c);return f===void 0?i(()=>{var g=fe(d.value);return r.set(c,g),g}):x(f,d.value,!0),!0},deleteProperty(l,c){var d=r.get(c);if(d===void 0){if(c in l){const f=i(()=>fe(vr));r.set(c,f),Wn(o)}}else x(d,vr),Wn(o);return!0},get(l,c,d){var p;if(c===Yn)return t;var f=r.get(c),g=c in l;if(f===void 0&&(!g||(p=Qo(l,c))!=null&&p.writable)&&(f=i(()=>{var m=kr(g?l[c]:vr),b=fe(m);return b}),r.set(c,f)),f!==void 0){var v=a(f);return v===vr?void 0:v}return Reflect.get(l,c,d)},getOwnPropertyDescriptor(l,c){var d=Reflect.getOwnPropertyDescriptor(l,c);if(d&&"value"in d){var f=r.get(c);f&&(d.value=a(f))}else if(d===void 0){var g=r.get(c),v=g==null?void 0:g.v;if(g!==void 0&&v!==vr)return{enumerable:!0,configurable:!0,value:v,writable:!0}}return d},has(l,c){var v;if(c===Yn)return!0;var d=r.get(c),f=d!==void 0&&d.v!==vr||Reflect.has(l,c);if(d!==void 0||ut!==null&&(!f||(v=Qo(l,c))!=null&&v.writable)){d===void 0&&(d=i(()=>{var p=f?kr(l[c]):vr,m=fe(p);return m}),r.set(c,d));var g=a(d);if(g===vr)return!1}return f},set(l,c,d,f){var L;var g=r.get(c),v=c in l;if(n&&c==="length")for(var p=d;pfe(vr)),r.set(p+"",m))}if(g===void 0)(!v||(L=Qo(l,c))!=null&&L.writable)&&(g=i(()=>fe(void 0)),x(g,kr(d)),r.set(c,g));else{v=g.v!==vr;var b=i(()=>kr(d));x(g,b)}var w=Reflect.getOwnPropertyDescriptor(l,c);if(w!=null&&w.set&&w.set.call(f,d),!v){if(n&&typeof c=="string"){var $=r.get("length"),I=Number(c);Number.isInteger(I)&&I>=$.v&&x($,I+1)}Wn(o)}return!0},ownKeys(l){a(o);var c=Reflect.ownKeys(l).filter(g=>{var v=r.get(g);return v===void 0||v.v!==vr});for(var[d,f]of r)f.v!==vr&&!(d in l)&&c.push(d);return c},setPrototypeOf(){Eb()}})}function Nh(t){try{if(t!==null&&typeof t=="object"&&Yn in t)return t[Yn]}catch{}return t}function wy(t,e){return Object.is(Nh(t),Nh(e))}var Rh,Ag,Eg,Tg;function _y(){if(Rh===void 0){Rh=window,Ag=/Firefox/.test(navigator.userAgent);var t=Element.prototype,e=Node.prototype,r=Text.prototype;Eg=Qo(e,"firstChild").get,Tg=Qo(e,"nextSibling").get,Eh(t)&&(t[_d]=void 0,t[pc]=null,t[kd]=void 0,t.__e=void 0),Eh(r)&&(r[fa]=void 0)}}function Xn(t=""){return document.createTextNode(t)}function Bi(t){return Eg.call(t)}function Kl(t){return Tg.call(t)}function S(t,e){return Bi(t)}function _(t,e=!1){{var r=Bi(t);return r instanceof Comment&&r.data===""?Kl(r):r}}function y(t,e=1,r=!1){let n=t;for(;e--;)n=Kl(n);return n}function ky(t){t.textContent=""}function Mg(){return!1}function Og(t,e,r){return e==null||e===lg?r?document.createElement(t,{is:r}):document.createElement(t):r?document.createElementNS(e,t,{is:r}):document.createElementNS(e,t)}function zg(t){ut===null&&(yt===null&&Sb(),$b()),Mo&&kb()}function $y(t,e){var r=e.last;r===null?e.last=e.first=t:(r.next=t,t.prev=r,e.last=t)}function _n(t,e){var r=ut;r!==null&&(r.f&jr)!==0&&(t|=jr);var n={ctx:Nt,deps:null,nodes:null,f:t|gr|bn,first:null,fn:e,last:null,next:null,parent:r,b:r&&r.b,prev:null,teardown:null,wv:0,ac:null};We==null||We.register_created_effect(n);var o=n;if((t&Ri)!==0)ci!==null?ci.push(n):ns.ensure().schedule(n);else if(e!==null){try{Vi(n)}catch(i){throw Sr(n),i}o.deps===null&&o.teardown===null&&o.nodes===null&&o.first===o.last&&(o.f&Xs)===0&&(o=o.first,(t&mn)!==0&&(t&to)!==0&&o!==null&&(o.f|=to))}if(o!==null&&(o.parent=r,r!==null&&$y(o,r),yt!==null&&(yt.f&$r)!==0&&(t&eo)===0)){var s=yt;(s.effects??(s.effects=[])).push(o)}return n}function Rf(){return yt!==null&&!Mn}function Fu(t){const e=_n(Gl,null);return ir(e,wr),e.teardown=t,e}function ur(t){zg();var e=ut.f,r=!yt&&(e&yn)!==0&&Nt!==null&&!Nt.i;if(r){var n=Nt;(n.e??(n.e=[])).push(t)}else return Ig(t)}function Ig(t){return _n(Ri|og,t)}function Ng(t){return zg(),_n(Gl|og,t)}function Rg(t){ns.ensure();const e=_n(eo|Xs,t);return()=>{Sr(e)}}function Sy(t){ns.ensure();const e=_n(eo|Xs,t);return(r={})=>new Promise(n=>{r.outro?js(e,()=>{Sr(e),n(void 0)}):(Sr(e),n(void 0))})}function Lu(t){return _n(Ri,t)}function Py(t){return _n(di|Xs,t)}function Du(t,e=0){return _n(Gl|e,t)}function J(t,e=[],r=[],n=[]){mg(n,e,r,o=>{_n(Gl,()=>{t(...o.map(a))})})}function Zs(t,e=0){var r=_n(mn|e,t);return r}function Fg(t,e=0){var r=_n(Af|e,t);return r}function Qr(t){return _n(yn|Xs,t)}function Lg(t){var e=t.teardown;if(e!==null){const r=Mo,n=yt;Fh(!0),xn(null);try{e.call(null)}finally{Fh(r),xn(n)}}}function Ff(t,e=!1){var r=t.first;for(t.first=t.last=null;r!==null;){const o=r.ac;o!==null&&ls(()=>{o.abort(Hl)});var n=r.next;(r.f&eo)!==0?r.parent=null:Sr(r,e),r=n}}function Cy(t){for(var e=t.first;e!==null;){var r=e.next;(e.f&yn)===0&&Sr(e),e=r}}function Sr(t,e=!0){var r=!1;(e||(t.f&yb)!==0)&&t.nodes!==null&&t.nodes.end!==null&&(Ay(t.nodes.start,t.nodes.end),r=!0),t.f|=wd,Ff(t,e&&!r),Ea(t,0);var n=t.nodes&&t.nodes.t;if(n!==null)for(const s of n)s.stop();Lg(t),t.f^=wd,t.f|=ln;var o=t.parent;o!==null&&o.first!==null&&Dg(t),t.next=t.prev=t.teardown=t.ctx=t.deps=t.fn=t.nodes=t.ac=t.b=null}function Ay(t,e){for(;t!==null;){var r=t===e?null:Kl(t);t.remove(),t=r}}function Dg(t){var e=t.parent,r=t.prev,n=t.next;r!==null&&(r.next=n),n!==null&&(n.prev=r),e!==null&&(e.first===t&&(e.first=n),e.last===t&&(e.last=r))}function js(t,e,r=!0){var n=[];Bg(t,n,!0);var o=()=>{r&&Sr(t),e&&e()},s=n.length;if(s>0){var i=()=>--s||o();for(var l of n)l.out(i)}else o()}function Bg(t,e,r){if((t.f&jr)===0){t.f^=jr;var n=t.nodes&&t.nodes.t;if(n!==null)for(const l of n)(l.is_global||r)&&e.push(l);for(var o=t.first;o!==null;){var s=o.next;if((o.f&eo)===0){var i=(o.f&to)!==0||(o.f&yn)!==0&&(t.f&mn)!==0;Bg(o,e,i?r:!1)}o=s}}}function Vc(t){Vg(t,!0)}function Vg(t,e){if((t.f&jr)!==0){t.f^=jr,(t.f&wr)===0&&(ir(t,gr),ns.ensure().schedule(t));for(var r=t.first;r!==null;){var n=r.next,o=(r.f&to)!==0||(r.f&yn)!==0;Vg(r,o?e:!1),r=n}var s=t.nodes&&t.nodes.t;if(s!==null)for(const i of s)(i.is_global||e)&&i.in()}}function Lf(t,e){if(t.nodes)for(var r=t.nodes.start,n=t.nodes.end;r!==null;){var o=r===n?null:Kl(r);e.append(r),r=o}}let wc=!1,Mo=!1;function Fh(t){Mo=t}let yt=null,Mn=!1;function xn(t){yt=t}let ut=null;function wn(t){ut=t}let Zn=null;function jg(t){yt!==null&&(Zn??(Zn=new Set)).add(t)}let Jr=null,rn=0,dn=null;function Ey(t){dn=t}let Wg=1,$s=0,Co=$s;function Lh(t){Co=t}function Gg(){return++Wg}function Ul(t){var e=t.f;if((e&gr)!==0)return!0;if(e&$r&&(t.f&=~Gs),(e&zn)!==0){for(var r=t.deps,n=r.length,o=0;ot.wv)return!0}(e&bn)!==0&&Or===null&&ir(t,wr)}return!1}function Hg(t,e,r=!0){var n=t.reactions;if(n!==null&&!(Zn!==null&&Zn.has(t)))for(var o=0;o{t.ac.abort(Hl)}),t.ac=null);try{t.f|=Lc;var f=t.fn,g=f();t.f|=Ys;var v=t.deps,p=We==null?void 0:We.is_fork;if(Jr!==null){var m;if(p||Ea(t,rn),v!==null&&rn>0)for(v.length=rn+Jr.length,m=0;m{s.ac.abort(Hl),s.ac=null,ir(s,gr)}),vy(s),Ea(s,0)}}function Ea(t,e){var r=t.deps;if(r!==null)for(var n=e;nr==null?void 0:r.call(this,s))}return t.startsWith("pointer")||t.startsWith("touch")||t==="wheel"?Tn(()=>{e.addEventListener(t,o,n)}):e.addEventListener(t,o,n),o}function zr(t,e,r,n={}){var o=Bf(e,t,r,n);return()=>{t.removeEventListener(e,o,n)}}function Xg(t,e,r,n,o){var s={capture:n,passive:o},i=Bf(t,e,r,s);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&Fu(()=>{e.removeEventListener(t,i,s)})}function Lr(t,e,r){(e[Ss]??(e[Ss]={}))[t]=r}function Yi(t){for(var e=0;e{throw $});throw v}}finally{t[Ss]=e,delete t.currentTarget,xn(f),wn(g)}}}var Jv;const Zu=((Jv=globalThis==null?void 0:globalThis.window)==null?void 0:Jv.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:t=>t});function Dy(t){return(Zu==null?void 0:Zu.createHTML(t))??t}function Zg(t){var e=Og("template");return e.innerHTML=Dy(t.replaceAll("","")),e.content}function ji(t,e){var r=ut;r.nodes===null&&(r.nodes={start:t,end:e,a:null,t:null})}function B(t,e){var r=(e&Vb)!==0,n=(e&jb)!==0,o,s=!t.startsWith("");return()=>{o===void 0&&(o=Zg(s?t:""+t),r||(o=Bi(o)));var i=n||Ag?document.importNode(o,!0):o.cloneNode(!0);if(r){var l=Bi(i),c=i.lastChild;ji(l,c)}else ji(i,i);return i}}function By(t,e,r="svg"){var n=!t.startsWith(""),o=`<${r}>${n?t:""+t}`,s;return()=>{if(!s){var i=Zg(o),l=Bi(i);s=Bi(l)}var c=s.cloneNode(!0);return ji(c,c),c}}function Xi(t,e){return By(t,e,"svg")}function ge(t=""){{var e=Xn(t+"");return ji(e,e),e}}function Z(){var t=document.createDocumentFragment(),e=document.createComment(""),r=Xn();return t.append(e,r),ji(e,r),t}function h(t,e){t!==null&&t.before(e)}function Zi(){var t;return(t=window.__svelte??(window.__svelte={})).uid??(t.uid=1),`c${window.__svelte.uid++}`}let jc=!0;function ec(t){jc=t}function te(t,e){var r=e==null?"":typeof e=="object"?`${e}`:e;r!==(t[fa]??(t[fa]=t.nodeValue))&&(t[fa]=r,t.nodeValue=`${r}`)}function Jg(t,e){return Vy(t,e)}const tc=new Map;function Vy(t,{target:e,anchor:r,props:n={},events:o,context:s,intro:i=!0,transformError:l}){_y();var c=void 0,d=Sy(()=>{var f=r??e.appendChild(Xn());iy(f,{pending:()=>{}},p=>{Ve({});var m=Nt;s&&(m.c=s),o&&(n.$$events=o),jc=i,c=t(p,n)||{},jc=!0,je()},l);var g=new Set,v=p=>{for(var m=0;m{var w;for(var p of g)for(const $ of[e,document]){var m=tc.get($),b=m.get(p);--b==0?($.removeEventListener(p,zd),m.delete(p),m.size===0&&tc.delete($)):m.set(p,b)}Od.delete(v),f!==r&&((w=f.parentNode)==null||w.removeChild(f))}});return Id.set(c,d),c}let Id=new WeakMap;function jy(t,e){const r=Id.get(t);return r?(Id.delete(t),r(e)):Promise.resolve()}var En,Ln,on,Ms,Fa,La,lu;class ql{constructor(e,r=!0){me(this,"anchor");C(this,En,new Map);C(this,Ln,new Map);C(this,on,new Map);C(this,Ms,new Set);C(this,Fa,!0);C(this,La,e=>{if(u(this,En).has(e)){var r=u(this,En).get(e),n=u(this,Ln).get(r);if(n)Vc(n),u(this,Ms).delete(r);else{var o=u(this,on).get(r);o&&(Vc(o.effect),u(this,Ln).set(r,o.effect),u(this,on).delete(r),o.fragment.lastChild.remove(),this.anchor.before(o.fragment),n=o.effect)}for(const[s,i]of u(this,En)){if(u(this,En).delete(s),s===e)break;const l=u(this,on).get(i);l&&(Sr(l.effect),u(this,on).delete(i))}for(const[s,i]of u(this,Ln)){if(s===r||u(this,Ms).has(s))continue;const l=()=>{if(Array.from(u(this,En).values()).includes(s)){var d=document.createDocumentFragment();Lf(i,d),d.append(Xn()),u(this,on).set(s,{effect:i,fragment:d})}else Sr(i);u(this,Ms).delete(s),u(this,Ln).delete(s)};u(this,Fa)||!n?(u(this,Ms).add(s),js(i,l,!1)):l()}}});C(this,lu,e=>{u(this,En).delete(e);const r=Array.from(u(this,En).values());for(const[n,o]of u(this,on))r.includes(n)||(Sr(o.effect),u(this,on).delete(n))});this.anchor=e,V(this,Fa,r)}ensure(e,r){var n=We,o=Mg();if(r&&!u(this,Ln).has(e)&&!u(this,on).has(e))if(o){var s=document.createDocumentFragment(),i=Xn();s.append(i),u(this,on).set(e,{effect:Qr(()=>r(i)),fragment:s})}else u(this,Ln).set(e,Qr(()=>r(this.anchor)));if(u(this,En).set(n,e),o){for(const[l,c]of u(this,Ln))l===e?n.unskip_effect(c):n.skip_effect(c);for(const[l,c]of u(this,on))l===e?n.unskip_effect(c.effect):n.skip_effect(c.effect);n.oncommit(u(this,La)),n.ondiscard(u(this,lu))}else u(this,La).call(this,n)}}En=new WeakMap,Ln=new WeakMap,on=new WeakMap,Ms=new WeakMap,Fa=new WeakMap,La=new WeakMap,lu=new WeakMap;function ye(t,e,r=!1){var n=new ql(t),o=r?to:0;function s(i,l){n.ensure(i,l)}Zs(()=>{var i=!1;e((l,c=0)=>{i=!0,s(c,l)}),i||s(-1,null)},o)}const Wy=Symbol("NaN");function Qg(t,e,r){var n=new ql(t),o=!qi();Zs(()=>{var s=e();s!==s&&(s=Wy),o&&s!==null&&typeof s=="object"&&(s={}),n.ensure(s,r)})}function xr(t,e){return e}function Gy(t,e,r){for(var n=[],o=e.length,s,i=e.length,l=0;l{if(s){if(s.pending.delete(g),s.done.add(g),s.pending.size===0){var v=t.outrogroups;Nd(t,Iu(s.done)),v.delete(s),v.size===0&&(t.outrogroups=null)}}else i-=1},!1)}if(i===0){var c=n.length===0&&r!==null;if(c){var d=r,f=d.parentNode;ky(f),f.append(d),t.items.clear()}Nd(t,e,!c)}else s={pending:new Set(e),done:new Set},(t.outrogroups??(t.outrogroups=new Set)).add(s)}function Nd(t,e,r=!0){var n;if(t.pending.size>0){n=new Set;for(const i of t.pending.values())for(const l of i)n.add(t.items.get(l).e)}for(var o=0;o{var L=r();return Pf(L)?L:L==null?[]:Iu(L)}),v,p=new Map,m=!0;function b(L){(I.effect.f&ln)===0&&(I.pending.delete(L),I.fallback=f,Hy(I,v,i,e,n),f!==null&&(v.length===0?(f.f&Hn)===0?Vc(f):(f.f^=Hn,pa(f,null,i)):js(f,()=>{f=null})))}function w(L){I.pending.delete(L)}var $=Zs(()=>{v=a(g);for(var L=v.length,N=new Set,M=We,R=Mg(),F=0;Fs(i)):(f=Qr(()=>s(Bh??(Bh=Xn()))),f.f|=Hn)),L>N.size&&_b(),!m)if(p.set(M,N),R){for(const[ue,xe]of l)N.has(ue)||M.skip_effect(xe.e);M.oncommit(b),M.ondiscard(w)}else b(M);a(g)}),I={effect:$,items:l,pending:p,outrogroups:null,fallback:f};m=!1}function ta(t){for(;t!==null&&(t.f&yn)===0;)t=t.next;return t}function Hy(t,e,r,n,o){var T,ue,xe,oe,be,le,pe,$e,ze;var s=(n&Ib)!==0,i=e.length,l=t.items,c=ta(t.effect.first),d,f=null,g,v=[],p=[],m,b,w,$;if(s)for($=0;$0){var G=(n&ig)!==0&&i===0?r:null;if(s){for($=0;${var Fe,K;if(g!==void 0)for(w of g)(K=(Fe=w.nodes)==null?void 0:Fe.a)==null||K.apply()})}function Ky(t,e,r,n,o,s,i,l){var c=(i&Ob)!==0?(i&Nb)===0?yy(r,!1,!1):To(r):null,d=(i&zb)!==0?To(o):null;return{v:c,i:d,e:Qr(()=>(s(e,c??r,d??o,l),()=>{t.delete(n)}))}}function pa(t,e,r){if(t.nodes)for(var n=t.nodes.start,o=t.nodes.end,s=e&&(e.f&Hn)===0?e.nodes.start:r;n!==null;){var i=Kl(n);if(s.before(n),n===o)return;n=i}}function No(t,e,r){e===null?t.effect.first=r:e.next=r,r===null?t.effect.last=e:r.prev=e}function St(t,e,r,n,o){var l;var s=(l=e.$$slots)==null?void 0:l[r],i=!1;s===!0&&(s=e.children,i=!0),s===void 0||s(t,i?()=>n:n)}function it(t,e,...r){var n=new ql(t);Zs(()=>{const o=e()??null;n.ensure(o,o&&(s=>o(s,...r)))},to)}function A(t,e,r){var n=new ql(t);Zs(()=>{var o=e()??null;n.ensure(o,o&&(s=>r(s,o)))},to)}const Uy=()=>performance.now(),Po={tick:t=>requestAnimationFrame(t),now:()=>Uy(),tasks:new Set};function ep(){const t=Po.now();Po.tasks.forEach(e=>{e.c(t)||(Po.tasks.delete(e),e.f())}),Po.tasks.size!==0&&Po.tick(ep)}function qy(t){let e;return Po.tasks.size===0&&Po.tick(ep),{promise:new Promise(r=>{Po.tasks.add(e={c:t,f:r})}),abort(){Po.tasks.delete(e)}}}function Vh(t,e){ls(()=>{t.dispatchEvent(new CustomEvent(e))})}function Yy(t){if(t==="float")return"cssFloat";if(t==="offset")return"cssOffset";if(t.startsWith("--"))return t;const e=t.split("-");return e.length===1?e[0]:e[0]+e.slice(1).map(r=>r[0].toUpperCase()+r.slice(1)).join("")}function jh(t){const e={},r=t.split(";");for(const n of r){const[o,s]=n.split(":");if(!o||s===void 0)break;const i=Yy(o.trim());e[i]=s.trim()}return e}const Xy=t=>t;function ma(t,e,r,n){var w;var o=(t&Bb)!==0,s="in",i,l=e.inert,c=e.style.overflow,d,f;function g(){return ls(()=>i??(i=r()(e,(n==null?void 0:n())??{},{direction:s})))}var v={is_global:o,in(){e.inert=l,d==null||d.abort(),d=tp(e,g(),f,1,()=>{Vh(e,"introstart")},()=>{Vh(e,"introend"),d==null||d.abort(),d=i=void 0,e.style.overflow=c})},out($){{$==null||$(),i=void 0;return}},stop:()=>{d==null||d.abort()}},p=ut;if(((w=p.nodes).t??(w.t=[])).push(v),jc){var m=o;if(!m){for(var b=p.parent;b&&(b.f&to)!==0;)for(;(b=b.parent)&&(b.f&mn)===0;);m=!b||(b.f&Ys)!==0}m&&Lu(()=>{tn(()=>v.in())})}}function tp(t,e,r,n,o,s){if(ii(e)){var i,l=!1;return Tn(()=>{if(!l){var w=e({direction:"in"});i=tp(t,w,r,n,o,s)}}),{abort:()=>{l=!0,i==null||i.abort()},deactivate:()=>i.deactivate(),reset:()=>i.reset(),t:()=>i.t()}}if(!(e!=null&&e.duration)&&!(e!=null&&e.delay))return o(),s(),{abort:rt,deactivate:rt,reset:rt,t:()=>n};const{delay:c=0,css:d,tick:f,easing:g=Xy}=e;var v=[];if(f&&f(0,1),d){var p=jh(d(0,1));v.push(p,p)}var m=()=>1-n,b=t.animate(v,{duration:c,fill:"forwards"});return b.onfinish=()=>{b.cancel(),o();var w=1-n,$=n-w,I=e.duration*Math.abs($),L=[];if(I>0){var N=!1;if(d)for(var M=Math.ceil(I/16.666666666666668),R=0;R<=M;R+=1){var F=w+$*g(R/M),k=jh(d(F,1-F));L.push(k),N||(N=k.overflow==="hidden")}N&&(t.style.overflow="hidden"),m=()=>{var G=b.currentTime;return w+$*g(G/I)},f&&qy(()=>{if(b.playState!=="running")return!1;var G=m();return f(G,1-G),!0})}b=t.animate(L,{duration:I,fill:"forwards"}),b.onfinish=()=>{m=()=>n,f==null||f(n,1-n),s()}},{abort:()=>{b&&(b.cancel(),b.effect=null,b.onfinish=rt)},deactivate:()=>{s=rt},reset:()=>{},t:()=>m()}}function rp(t,e,r,n,o,s){var i=null,l=t,c=new ql(l,!1);Zs(()=>{const d=e()||null;var f=r||d==="svg"?Wb:void 0;if(d===null){c.ensure(null,null),ec(!0);return}return c.ensure(d,g=>{if(d){if(i=Og(d,f),ji(i,i),n){var v=null,p=i.appendChild(Xn());n(i,p),v==null||v.remove()}ut.nodes.end=i,g.before(i)}}),ec(!0),()=>{d&&ec(!1)}},to),Fu(()=>{ec(!0)})}function Zy(t,e){var r=void 0,n;Fg(()=>{r!==(r=e())&&(n&&(Sr(n),n=null),r&&(n=Qr(()=>{Lu(()=>r(t))})))})}function np(t){var e,r,n="";if(typeof t=="string"||typeof t=="number")n+=t;else if(typeof t=="object")if(Array.isArray(t)){var o=t.length;for(e=0;e=0;){var l=i+s;(i===0||Wh.includes(n[i-1]))&&(l===n.length||Wh.includes(n[l]))?n=(i===0?"":n.substring(0,i))+n.substring(l+1):i=l}}return n===""?null:n}function Gh(t,e=!1){var r=e?" !important;":";",n="";for(var o of Object.keys(t)){var s=t[o];s!=null&&s!==""&&(n+=" "+o+": "+s+r)}return n}function Ju(t){return t[0]!=="-"||t[1]!=="-"?t.toLowerCase():t}function Qy(t,e){if(e){var r="",n,o;if(Array.isArray(e)?(n=e[0],o=e[1]):n=e,t){t=String(t).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var s=!1,i=0,l=!1,c=[];n&&c.push(...Object.keys(n).map(Ju)),o&&c.push(...Object.keys(o).map(Ju));var d=0,f=-1;const b=t.length;for(var g=0;g{"__value"in t&&Wc(t,t.__value)});e.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),Fu(()=>{e.disconnect()})}function Hh(t){return"__value"in t?t.__value:t.value}const ra=Symbol("class"),na=Symbol("style"),sp=Symbol("is custom element"),ip=Symbol("is html"),ex=Ef?"input":"INPUT",tx=Ef?"option":"OPTION",rx=Ef?"select":"SELECT";function nx(t,e){e?t.hasAttribute("selected")||t.setAttribute("selected",""):t.removeAttribute("selected")}function $t(t,e,r,n){var o=ap(t);o[e]!==(o[e]=r)&&(e==="loading"&&(t[xb]=r),r==null?t.removeAttribute(e):typeof r!="string"&&lp(t).includes(e)?t[e]=r:t.setAttribute(e,r))}function ox(t,e,r,n,o=!1,s=!1){var i=ap(t),l=i[sp],c=!i[ip],d=e||{},f=t.nodeName===tx;for(var g in e)g in r||(r[g]=null);r.class?r.class=ys(r.class):r[ra]&&(r.class=null),r[na]&&(r.style??(r.style=null));var v=lp(t);if(t.nodeName===ex&&"type"in r&&("value"in r||"__value"in r)){var p=r.type;(p!==d.type||p===void 0&&t.hasAttribute("type"))&&(d.type=p,$t(t,"type",p))}for(const M in r){let R=r[M];if(f&&M==="value"&&R==null){t.value=t.__value="",d[M]=R;continue}if(M==="class"){var m=t.namespaceURI==="http://www.w3.org/1999/xhtml";sr(t,m,R,n,e==null?void 0:e[ra],r[ra]),d[M]=R,d[ra]=r[ra];continue}if(M==="style"){Do(t,R,e==null?void 0:e[na],r[na]),d[M]=R,d[na]=r[na];continue}var b=d[M];if(!(R===b&&!(R===void 0&&t.hasAttribute(M)))){d[M]=R;var w=M[0]+M[1];if(w!=="$$")if(w==="on"){const F={},k="$$"+M;let G=M.slice(2);var $=Iy(G);if(Oy(G)&&(G=G.slice(0,-7),F.capture=!0),!$&&b){if(R!=null)continue;t.removeEventListener(G,d[k],F),d[k]=null}if($)Lr(G,t,R),Yi([G]);else if(R!=null){let T=function(ue){d[M].call(this,ue)};var N=T;d[k]=Bf(G,t,T,F)}}else if(M==="style")$t(t,M,R);else if(M==="autofocus")ny(t,!!R);else if(!l&&(M==="__value"||M==="value"&&R!=null))t.value=t.__value=R;else if(M==="selected"&&f)nx(t,R);else{var I=M;c||(I=Ry(I));var L=I==="defaultValue"||I==="defaultChecked";if(R==null&&!l&&!L)if(i[M]=null,I==="value"||I==="checked"){let F=t;const k=e===void 0;if(I==="value"){let G=F.defaultValue;F.removeAttribute(I),F.defaultValue=G,F.value=F.__value=k?G:null}else{let G=F.defaultChecked;F.removeAttribute(I),F.defaultChecked=G,F.checked=k?G:!1}}else t.removeAttribute(M);else L||v.includes(I)&&(l||typeof R!="string")?(t[I]=R,I in i&&(i[I]=vr)):typeof R!="function"&&$t(t,I,R)}}}return d}function Rt(t,e,r=[],n=[],o=[],s,i=!1,l=!1){mg(o,r,n,c=>{var d=void 0,f={},g=t.nodeName===rx,v=!1;if(Fg(()=>{var m=e(...c.map(a)),b=ox(t,d,m,s,i,l);v&&g&&"value"in m&&Wc(t,m.value);for(let $ of Object.getOwnPropertySymbols(f))m[$]||Sr(f[$]);for(let $ of Object.getOwnPropertySymbols(m)){var w=m[$];$.description===cg&&(!d||w!==d[$])&&(f[$]&&Sr(f[$]),f[$]=Qr(()=>Zy(t,()=>w))),b[$]=w}d=b}),g){var p=t;Lu(()=>{Wc(p,d.value,!0),op(p)})}v=!0})}function ap(t){return t[pc]??(t[pc]={[sp]:t.nodeName.includes("-"),[ip]:t.namespaceURI===lg})}var Kh=new Map;function lp(t){var e=t.getAttribute("is")||t.nodeName,r=Kh.get(e);if(r)return r;Kh.set(e,r=[]);for(var n,o=t,s=Element.prototype;s!==o;){n=tg(o);for(var i in n)n[i].set&&i!=="innerHTML"&&i!=="textContent"&&i!=="innerText"&&r.push(i);o=Cf(o)}return r}function Rd(t,e,r=e){var n=new WeakSet;pg(t,"input",async o=>{var s=o?t.defaultValue:t.value;if(s=ed(t)?td(s):s,r(s),We!==null&&n.add(We),await Df(),s!==(s=e())){var i=t.selectionStart,l=t.selectionEnd,c=t.value.length;if(t.value=s??"",l!==null){var d=t.value.length;i===l&&l===c&&d>c?(t.selectionStart=d,t.selectionEnd=d):(t.selectionStart=i,t.selectionEnd=Math.min(l,d))}}}),tn(e)==null&&t.value&&(r(ed(t)?td(t.value):t.value),We!==null&&n.add(We)),Du(()=>{var o=e();if(t===document.activeElement){var s=We;if(n.has(s))return}ed(t)&&o===td(t.value)||t.type==="date"&&!o&&!t.value||o!==t.value&&(t.value=o??"")})}function ed(t){var e=t.type;return e==="number"||e==="range"}function td(t){return t===""?null:+t}function sx(t,e,r=e){pg(t,"change",()=>{r(t.files)}),Du(()=>{t.files=e()})}function rd(t,e){return t===e||(t==null?void 0:t[Yn])===e}function ar(t={},e,r,n){var o=Nt.r,s=ut;return Lu(()=>{var i,l;return Du(()=>{i=l,l=(n==null?void 0:n())||[],tn(()=>{rd(r(...l),t)||(e(t,...l),i&&rd(r(...i),t)&&e(null,...i))})}),()=>{let c=s;for(;c!==o&&c.parent!==null&&c.parent.f&wd;)c=c.parent;const d=()=>{l&&rd(r(...l),t)&&e(null,...l)},f=c.teardown;c.teardown=()=>{d(),f==null||f()}}}),t}function ix(t=!1){const e=Nt,r=e.l.u;if(!r)return;let n=()=>bs(e.s);if(t){let o=0,s={};const i=Li(()=>{let l=!1;const c=e.s;for(const d in c)c[d]!==s[d]&&(s[d]=c[d],l=!0);return l&&o++,o});n=()=>a(i)}r.b.length&&Ng(()=>{Uh(e,n),yd(r.b)}),ur(()=>{const o=tn(()=>r.m.map(bb));return()=>{for(const s of o)typeof s=="function"&&s()}}),r.a.length&&ur(()=>{Uh(e,n),yd(r.a)})}function Uh(t,e){if(t.l.s)for(const r of t.l.s)a(r);e()}const ax={get(t,e){if(!t.exclude.has(e))return t.props[e]},set(t,e){return!1},getOwnPropertyDescriptor(t,e){if(!t.exclude.has(e)&&e in t.props)return{enumerable:!0,configurable:!0,value:t.props[e]}},has(t,e){return t.exclude.has(e)?!1:e in t.props},ownKeys(t){return Reflect.ownKeys(t.props).filter(e=>!t.exclude.has(e))}};function Tt(t,e,r){return new Proxy({props:t,exclude:e},ax)}const lx={get(t,e){if(!t.exclude.includes(e))return a(t.version),e in t.special?t.special[e]():t.props[e]},set(t,e,r){if(!(e in t.special)){var n=ut;try{wn(t.parent_effect),t.special[e]=D({get[e](){return t.props[e]}},e,ag)}finally{wn(n)}}return t.special[e](r),Ih(t.version),!0},getOwnPropertyDescriptor(t,e){if(!t.exclude.includes(e)&&e in t.props)return{enumerable:!0,configurable:!0,value:t.props[e]}},deleteProperty(t,e){return t.exclude.includes(e)||(t.exclude.push(e),Ih(t.version)),!0},has(t,e){return t.exclude.includes(e)?!1:e in t.props},ownKeys(t){return Reflect.ownKeys(t.props).filter(e=>!t.exclude.includes(e))}};function wt(t,e){return new Proxy({props:t,exclude:e,special:{},version:To(0),parent_effect:ut},lx)}const cx={get(t,e){let r=t.props.length;for(;r--;){let n=t.props[r];if(ii(n)&&(n=n()),typeof n=="object"&&n!==null&&e in n)return n[e]}},set(t,e,r){let n=t.props.length;for(;n--;){let o=t.props[n];ii(o)&&(o=o());const s=Qo(o,e);if(s&&s.set)return s.set(r),!0}return!1},getOwnPropertyDescriptor(t,e){let r=t.props.length;for(;r--;){let n=t.props[r];if(ii(n)&&(n=n()),typeof n=="object"&&n!==null&&e in n){const o=Qo(n,e);return o&&!o.configurable&&(o.configurable=!0),o}}},has(t,e){if(e===Yn||e===sg)return!1;for(let r of t.props)if(ii(r)&&(r=r()),r!=null&&e in r)return!0;return!1},ownKeys(t){const e=[];for(let r of t.props)if(ii(r)&&(r=r()),!!r){for(const n in r)e.includes(n)||e.push(n);for(const n of Object.getOwnPropertySymbols(r))e.includes(n)||e.push(n)}return e}};function Ze(...t){return new Proxy({props:t},cx)}function D(t,e,r,n){var N;var o=!Ui||(r&Fb)!==0,s=(r&Lb)!==0,i=(r&Db)!==0,l=n,c=!0,d=void 0,f=()=>i&&o?(d??(d=Li(n)),a(d)):(c&&(c=!1,l=i?tn(n):n),l);let g;if(s){var v=Yn in t||sg in t;g=((N=Qo(t,e))==null?void 0:N.set)??(v&&e in t?M=>t[e]=M:void 0)}var p,m=!1;s?[p,m]=ry(()=>t[e]):p=t[e],p===void 0&&n!==void 0&&(p=f(),g&&(o&&Cb(),g(p)));var b;if(o?b=()=>{var M=t[e];return M===void 0?f():(c=!0,M)}:b=()=>{var M=t[e];return M!==void 0&&(l=void 0),M===void 0?l:M},o&&(r&ag)===0)return b;if(g){var w=t.$$legacy;return(function(M,R){return arguments.length>0?((!o||!R||w||m)&&g(R?b():M),M):b()})}var $=!1,I=((r&Rb)!==0?Li:Of)(()=>($=!1,b()));s&&a(I);var L=ut;return(function(M,R){if(arguments.length>0){const F=R?a(I):o&&s?kr(M):M;return x(I,F),$=!0,l!==void 0&&(l=F),M}return Mo&&$||(L.f&ln)!==0?I.v:a(I)})}function Ji(t){Nt===null&&Tf(),Ui&&Nt.l!==null?ux(Nt).m.push(t):ur(()=>{const e=tn(t);if(typeof e=="function")return e})}function cp(t){Nt===null&&Tf(),Ji(()=>()=>tn(t))}function ux(t){var e=t.l;return e.u??(e.u={a:[],b:[],m:[]})}const dx="5";var Qv;typeof window<"u"&&((Qv=window.__svelte??(window.__svelte={})).v??(Qv.v=new Set)).add(dx);const fx=t=>t;function ba(t,{delay:e=0,duration:r=400,easing:n=fx}={}){const o=+getComputedStyle(t).opacity;return{delay:e,duration:r,easing:n,css:s=>`opacity: ${s*o}`}}var Dn,Bn,vo,cu,On,ya,_c;const vh=class vh extends Map{constructor(r){super();C(this,On);C(this,Dn,new Map);C(this,Bn,fe(0));C(this,vo,fe(0));C(this,cu,Co||-1);if(r){for(var[n,o]of r)super.set(n,o);u(this,vo).v=super.size}}has(r){var n=u(this,Dn),o=n.get(r);if(o===void 0)if(super.has(r))o=se(this,On,ya).call(this,0),n.set(r,o);else return a(u(this,Bn)),!1;return a(o),!0}forEach(r,n){se(this,On,_c).call(this),super.forEach(r,n)}get(r){var n=u(this,Dn),o=n.get(r);if(o===void 0)if(super.has(r))o=se(this,On,ya).call(this,0),n.set(r,o);else{a(u(this,Bn));return}return a(o),super.get(r)}set(r,n){var g;var o=u(this,Dn),s=o.get(r),i=super.get(r),l=super.set(r,n),c=u(this,Bn);if(s===void 0)s=se(this,On,ya).call(this,0),o.set(r,s),x(u(this,vo),super.size),Wn(c);else if(i!==n){Wn(s);var d=c.reactions===null?null:new Set(c.reactions),f=d===null||!((g=s.reactions)!=null&&g.every(v=>d.has(v)));f&&Wn(c)}return l}delete(r){var n=u(this,Dn),o=n.get(r),s=super.delete(r);return o!==void 0&&(n.delete(r),x(o,-1)),s&&(x(u(this,vo),super.size),Wn(u(this,Bn))),s}clear(){if(super.size!==0){super.clear();var r=u(this,Dn);x(u(this,vo),0);for(var n of r.values())x(n,-1);Wn(u(this,Bn)),r.clear()}}keys(){return a(u(this,Bn)),super.keys()}values(){return se(this,On,_c).call(this),super.values()}entries(){return se(this,On,_c).call(this),super.entries()}[Symbol.iterator](){return this.entries()}get size(){return a(u(this,vo)),super.size}};Dn=new WeakMap,Bn=new WeakMap,vo=new WeakMap,cu=new WeakMap,On=new WeakSet,ya=function(r){return Co===u(this,cu)?fe(r):To(r)},_c=function(){a(u(this,Bn));var r=u(this,Dn);if(u(this,vo).v!==r.size){for(var n of Ah(vh.prototype,this,"keys").call(this))if(!r.has(n)){var o=se(this,On,ya).call(this,0);r.set(n,o)}}for([,o]of u(this,Dn))a(o)};let Fd=vh;var Da,Ba;class hx{constructor(e,r){C(this,Da);C(this,Ba);V(this,Da,e),V(this,Ba,Ru(r))}get current(){return u(this,Ba).call(this),u(this,Da).call(this)}}Da=new WeakMap,Ba=new WeakMap;const vx=/\(.+\)/,gx=new Set(["all","print","screen","and","or","not","only"]);class px extends hx{constructor(e,r){let n=vx.test(e)||e.split(/[\s,]+/).some(s=>gx.has(s.trim()))?e:`(${e})`;const o=window.matchMedia(n);super(()=>o.matches,s=>zr(o,"change",s))}}const xa=new px("(prefers-reduced-motion: reduce)");class Mr extends Error{constructor(e,r){super(r),this.status=e}}async function Er(t,e){const r=await fetch(t,{headers:{"Content-Type":"application/json"},...e});if(!r.ok){let n=`HTTP ${r.status}`;try{const o=await r.json();o&&typeof o.error=="string"&&(n=o.error)}catch{}throw new Mr(r.status,n)}if(r.status!==204)return await r.json()}const Vf=()=>Er("/api/session",{cache:"no-store"}),Br={loginInfo:()=>Er("/api/login-info"),login:t=>Er("/api/session",{method:"POST",body:JSON.stringify({password:t})}),logout:()=>Er("/api/session",{method:"DELETE"}),status:()=>Er("/api/status"),rules:(t,e)=>{const r=new URLSearchParams({category:t});return e!=null&&e.q&&r.set("q",e.q),(e==null?void 0:e.offset)!=null&&r.set("offset",String(e.offset)),(e==null?void 0:e.limit)!=null&&r.set("limit",String(e.limit)),e!=null&&e.sort&&e.sort!=="default"&&(r.set("sort",e.sort),e!=null&&e.dir&&r.set("dir",e.dir)),Er(`/api/rules?${r}`)},addRules:(t,e)=>Er("/api/rules",{method:"POST",body:JSON.stringify({category:t,rules:e})}),removeRules:(t,e)=>Er("/api/rules",{method:"DELETE",body:JSON.stringify({category:t,rules:e})}),rulesTest:t=>Er(`/api/rules/test?domain=${encodeURIComponent(t)}`),rulesChanges:()=>Er("/api/rules/changes"),resetRules:t=>Er("/api/rules/reset",{method:"POST",body:JSON.stringify({category:t??""})}),ruleMiss:(t,e)=>Er(`/api/rules/miss?sort=${t}${e?`&limit=${e}`:""}`),config:()=>Er("/api/config"),patchConfig:(t,e)=>Er("/api/config",{method:"PATCH",body:JSON.stringify({revision:t,changes:e})}),restart:()=>Er("/api/restart",{method:"POST"}),traffic:(t,e,r)=>{const n=[];return t&&n.push(`sort=${t}`),e&&e!=="all"&&n.push(`source=${e}`),r&&n.push(`client=${encodeURIComponent(r)}`),Er(n.length?`/api/traffic?${n.join("&")}`:"/api/traffic")},history:()=>Er("/api/history")},mx=(t,e)=>{const r=new Array(t.length+e.length);for(let n=0;n({classGroupId:t,validator:e}),up=(t=new Map,e=null,r)=>({nextPart:t,validators:e,classGroupId:r}),Gc="-",qh=[],yx="arbitrary..",xx=t=>{const e=_x(t),{conflictingClassGroups:r,conflictingClassGroupModifiers:n}=t;return{getClassGroupId:i=>{if(i.startsWith("[")&&i.endsWith("]"))return wx(i);const l=i.split(Gc),c=l[0]===""&&l.length>1?1:0;return dp(l,c,e)},getConflictingClassGroupIds:(i,l)=>{if(l){const c=n[i],d=r[i];return c?d?mx(d,c):c:d||qh}return r[i]||qh}}},dp=(t,e,r)=>{if(t.length-e===0)return r.classGroupId;const o=t[e],s=r.nextPart.get(o);if(s){const d=dp(t,e+1,s);if(d)return d}const i=r.validators;if(i===null)return;const l=e===0?t.join(Gc):t.slice(e).join(Gc),c=i.length;for(let d=0;dt.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const e=t.slice(1,-1),r=e.indexOf(":"),n=e.slice(0,r);return n?yx+n:void 0})(),_x=t=>{const{theme:e,classGroups:r}=t;return kx(r,e)},kx=(t,e)=>{const r=up();for(const n in t){const o=t[n];jf(o,r,n,e)}return r},jf=(t,e,r,n)=>{const o=t.length;for(let s=0;s{if(typeof t=="string"){Sx(t,e,r);return}if(typeof t=="function"){Px(t,e,r,n);return}Cx(t,e,r,n)},Sx=(t,e,r)=>{const n=t===""?e:fp(e,t);n.classGroupId=r},Px=(t,e,r,n)=>{if(Ax(t)){jf(t(n),e,r,n);return}e.validators===null&&(e.validators=[]),e.validators.push(bx(r,t))},Cx=(t,e,r,n)=>{const o=Object.entries(t),s=o.length;for(let i=0;i{let r=t;const n=e.split(Gc),o=n.length;for(let s=0;s"isThemeGetter"in t&&t.isThemeGetter===!0,Ex=t=>{if(t<1)return{get:()=>{},set:()=>{}};let e=0,r=Object.create(null),n=Object.create(null);const o=(s,i)=>{r[s]=i,e++,e>t&&(e=0,n=r,r=Object.create(null))};return{get(s){let i=r[s];if(i!==void 0)return i;if((i=n[s])!==void 0)return o(s,i),i},set(s,i){s in r?r[s]=i:o(s,i)}}},Ld="!",Yh=":",Tx=[],Xh=(t,e,r,n,o)=>({modifiers:t,hasImportantModifier:e,baseClassName:r,maybePostfixModifierPosition:n,isExternal:o}),Mx=t=>{const{prefix:e,experimentalParseClassName:r}=t;let n=o=>{const s=[];let i=0,l=0,c=0,d;const f=o.length;for(let b=0;bc?d-c:void 0;return Xh(s,p,v,m)};if(e){const o=e+Yh,s=n;n=i=>i.startsWith(o)?s(i.slice(o.length)):Xh(Tx,!1,i,void 0,!0)}if(r){const o=n;n=s=>r({className:s,parseClassName:o})}return n},Ox=t=>{const e=new Map;return t.orderSensitiveModifiers.forEach((r,n)=>{e.set(r,1e6+n)}),r=>{const n=[];let o=[];for(let s=0;s0&&(o.sort(),n.push(...o),o=[]),n.push(i)):o.push(i)}return o.length>0&&(o.sort(),n.push(...o)),n}},zx=t=>({cache:Ex(t.cacheSize),parseClassName:Mx(t),sortModifiers:Ox(t),postfixLookupClassGroupIds:Ix(t),...xx(t)}),Ix=t=>{const e=Object.create(null),r=t.postfixLookupClassGroups;if(r)for(let n=0;n{const{parseClassName:r,getClassGroupId:n,getConflictingClassGroupIds:o,sortModifiers:s,postfixLookupClassGroupIds:i}=e,l=[],c=t.trim().split(Nx);let d="";for(let f=c.length-1;f>=0;f-=1){const g=c[f],{isExternal:v,modifiers:p,hasImportantModifier:m,baseClassName:b,maybePostfixModifierPosition:w}=r(g);if(v){d=g+(d.length>0?" "+d:d);continue}let $=!!w,I;if($){const F=b.substring(0,w);I=n(F);const k=I&&i[I]?n(b):void 0;k&&k!==I&&(I=k,$=!1)}else I=n(b);if(!I){if(!$){d=g+(d.length>0?" "+d:d);continue}if(I=n(b),!I){d=g+(d.length>0?" "+d:d);continue}$=!1}const L=p.length===0?"":p.length===1?p[0]:s(p).join(":"),N=m?L+Ld:L,M=N+I;if(l.indexOf(M)>-1)continue;l.push(M);const R=o(I,$);for(let F=0;F0?" "+d:d)}return d},Fx=(...t)=>{let e=0,r,n,o="";for(;e{if(typeof t=="string")return t;let e,r="";for(let n=0;n{let r,n,o,s;const i=c=>{const d=e.reduce((f,g)=>g(f),t());return r=zx(d),n=r.cache.get,o=r.cache.set,s=l,l(c)},l=c=>{const d=n(c);if(d)return d;const f=Rx(c,r);return o(c,f),f};return s=i,(...c)=>s(Fx(...c))},Dx=[],br=t=>{const e=r=>r[t]||Dx;return e.isThemeGetter=!0,e},vp=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,gp=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Bx=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Vx=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,jx=/\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$/,Wx=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Gx=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Hx=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Ro=t=>Bx.test(t),pt=t=>!!t&&!Number.isNaN(Number(t)),Nn=t=>!!t&&Number.isInteger(Number(t)),nd=t=>t.endsWith("%")&&pt(t.slice(0,-1)),so=t=>Vx.test(t),pp=()=>!0,Kx=t=>jx.test(t)&&!Wx.test(t),Wf=()=>!1,Ux=t=>Gx.test(t),qx=t=>Hx.test(t),Yx=t=>!Ce(t)&&!Ee(t),Xx=t=>t.startsWith("@container")&&(t[10]==="/"&&t[11]!==void 0||t[11]==="s"&&t[16]!==void 0&&t.startsWith("-size/",10)||t[11]==="n"&&t[18]!==void 0&&t.startsWith("-normal/",10)),Zx=t=>cs(t,yp,Wf),Ce=t=>vp.test(t),fs=t=>cs(t,xp,Kx),Zh=t=>cs(t,sw,pt),Jx=t=>cs(t,_p,pp),Qx=t=>cs(t,wp,Wf),Jh=t=>cs(t,mp,Wf),ew=t=>cs(t,bp,qx),rc=t=>cs(t,kp,Ux),Ee=t=>gp.test(t),oa=t=>Js(t,xp),tw=t=>Js(t,wp),Qh=t=>Js(t,mp),rw=t=>Js(t,yp),nw=t=>Js(t,bp),nc=t=>Js(t,kp,!0),ow=t=>Js(t,_p,!0),cs=(t,e,r)=>{const n=vp.exec(t);return n?n[1]?e(n[1]):r(n[2]):!1},Js=(t,e,r=!1)=>{const n=gp.exec(t);return n?n[1]?e(n[1]):r:!1},mp=t=>t==="position"||t==="percentage",bp=t=>t==="image"||t==="url",yp=t=>t==="length"||t==="size"||t==="bg-size",xp=t=>t==="length",sw=t=>t==="number",wp=t=>t==="family-name",_p=t=>t==="number"||t==="weight",kp=t=>t==="shadow",iw=()=>{const t=br("color"),e=br("font"),r=br("text"),n=br("font-weight"),o=br("tracking"),s=br("leading"),i=br("breakpoint"),l=br("container"),c=br("spacing"),d=br("radius"),f=br("shadow"),g=br("inset-shadow"),v=br("text-shadow"),p=br("drop-shadow"),m=br("blur"),b=br("perspective"),w=br("aspect"),$=br("ease"),I=br("animate"),L=()=>["auto","avoid","all","avoid-page","page","left","right","column"],N=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],M=()=>[...N(),Ee,Ce],R=()=>["auto","hidden","clip","visible","scroll"],F=()=>["auto","contain","none"],k=()=>[Ee,Ce,c],G=()=>[Ro,"full","auto",...k()],T=()=>[Nn,"none","subgrid",Ee,Ce],ue=()=>["auto",{span:["full",Nn,Ee,Ce]},Nn,Ee,Ce],xe=()=>[Nn,"auto",Ee,Ce],oe=()=>["auto","min","max","fr",Ee,Ce],be=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],le=()=>["start","end","center","stretch","center-safe","end-safe"],pe=()=>["auto",...k()],$e=()=>[Ro,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...k()],ze=()=>[Ro,"screen","full","dvw","lvw","svw","min","max","fit",...k()],Fe=()=>[Ro,"screen","full","lh","dvh","lvh","svh","min","max","fit",...k()],K=()=>[t,Ee,Ce],Bt=()=>[...N(),Qh,Jh,{position:[Ee,Ce]}],nt=()=>["no-repeat",{repeat:["","x","y","space","round"]}],j=()=>["auto","cover","contain",rw,Zx,{size:[Ee,Ce]}],re=()=>[nd,oa,fs],W=()=>["","none","full",d,Ee,Ce],ee=()=>["",pt,oa,fs],ie=()=>["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"],P=()=>[pt,nd,Qh,Jh],E=()=>["","none",m,Ee,Ce],q=()=>["none",pt,Ee,Ce],ne=()=>["none",pt,Ee,Ce],Pe=()=>[pt,Ee,Ce],X=()=>[Ro,"full",...k()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[so],breakpoint:[so],color:[pp],container:[so],"drop-shadow":[so],ease:["in","out","in-out"],font:[Yx],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[so],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[so],shadow:[so],spacing:["px",pt],text:[so],"text-shadow":[so],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Ro,Ce,Ee,w]}],container:["container"],"container-type":[{"@container":["","normal","size",Ee,Ce]}],"container-named":[Xx],columns:[{columns:[pt,Ce,Ee,l]}],"break-after":[{"break-after":L()}],"break-before":[{"break-before":L()}],"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:M()}],overflow:[{overflow:R()}],"overflow-x":[{"overflow-x":R()}],"overflow-y":[{"overflow-y":R()}],overscroll:[{overscroll:F()}],"overscroll-x":[{"overscroll-x":F()}],"overscroll-y":[{"overscroll-y":F()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:G()}],"inset-x":[{"inset-x":G()}],"inset-y":[{"inset-y":G()}],start:[{"inset-s":G(),start:G()}],end:[{"inset-e":G(),end:G()}],"inset-bs":[{"inset-bs":G()}],"inset-be":[{"inset-be":G()}],top:[{top:G()}],right:[{right:G()}],bottom:[{bottom:G()}],left:[{left:G()}],visibility:["visible","invisible","collapse"],z:[{z:[Nn,"auto",Ee,Ce]}],basis:[{basis:[Ro,"full","auto",l,...k()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[pt,Ro,"auto","initial","none",Ce]}],grow:[{grow:["",pt,Ee,Ce]}],shrink:[{shrink:["",pt,Ee,Ce]}],order:[{order:[Nn,"first","last","none",Ee,Ce]}],"grid-cols":[{"grid-cols":T()}],"col-start-end":[{col:ue()}],"col-start":[{"col-start":xe()}],"col-end":[{"col-end":xe()}],"grid-rows":[{"grid-rows":T()}],"row-start-end":[{row:ue()}],"row-start":[{"row-start":xe()}],"row-end":[{"row-end":xe()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":oe()}],"auto-rows":[{"auto-rows":oe()}],gap:[{gap:k()}],"gap-x":[{"gap-x":k()}],"gap-y":[{"gap-y":k()}],"justify-content":[{justify:[...be(),"normal"]}],"justify-items":[{"justify-items":[...le(),"normal"]}],"justify-self":[{"justify-self":["auto",...le()]}],"align-content":[{content:["normal",...be()]}],"align-items":[{items:[...le(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...le(),{baseline:["","last"]}]}],"place-content":[{"place-content":be()}],"place-items":[{"place-items":[...le(),"baseline"]}],"place-self":[{"place-self":["auto",...le()]}],p:[{p:k()}],px:[{px:k()}],py:[{py:k()}],ps:[{ps:k()}],pe:[{pe:k()}],pbs:[{pbs:k()}],pbe:[{pbe:k()}],pt:[{pt:k()}],pr:[{pr:k()}],pb:[{pb:k()}],pl:[{pl:k()}],m:[{m:pe()}],mx:[{mx:pe()}],my:[{my:pe()}],ms:[{ms:pe()}],me:[{me:pe()}],mbs:[{mbs:pe()}],mbe:[{mbe:pe()}],mt:[{mt:pe()}],mr:[{mr:pe()}],mb:[{mb:pe()}],ml:[{ml:pe()}],"space-x":[{"space-x":k()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":k()}],"space-y-reverse":["space-y-reverse"],size:[{size:$e()}],"inline-size":[{inline:["auto",...ze()]}],"min-inline-size":[{"min-inline":["auto",...ze()]}],"max-inline-size":[{"max-inline":["none",...ze()]}],"block-size":[{block:["auto",...Fe()]}],"min-block-size":[{"min-block":["auto",...Fe()]}],"max-block-size":[{"max-block":["none",...Fe()]}],w:[{w:[l,"screen",...$e()]}],"min-w":[{"min-w":[l,"screen","none",...$e()]}],"max-w":[{"max-w":[l,"screen","none","prose",{screen:[i]},...$e()]}],h:[{h:["screen","lh",...$e()]}],"min-h":[{"min-h":["screen","lh","none",...$e()]}],"max-h":[{"max-h":["screen","lh",...$e()]}],"font-size":[{text:["base",r,oa,fs]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[n,ow,Jx]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",nd,Ce]}],"font-family":[{font:[tw,Qx,e]}],"font-features":[{"font-features":[Ce]}],"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:[o,Ee,Ce]}],"line-clamp":[{"line-clamp":[pt,"none",Ee,Zh]}],leading:[{leading:[s,...k()]}],"list-image":[{"list-image":["none",Ee,Ce]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Ee,Ce]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:K()}],"text-color":[{text:K()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ie(),"wavy"]}],"text-decoration-thickness":[{decoration:[pt,"from-font","auto",Ee,fs]}],"text-decoration-color":[{decoration:K()}],"underline-offset":[{"underline-offset":[pt,"auto",Ee,Ce]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:k()}],"tab-size":[{tab:[Nn,Ee,Ce]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Ee,Ce]}],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",Ee,Ce]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:Bt()}],"bg-repeat":[{bg:nt()}],"bg-size":[{bg:j()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Nn,Ee,Ce],radial:["",Ee,Ce],conic:[Nn,Ee,Ce]},nw,ew]}],"bg-color":[{bg:K()}],"gradient-from-pos":[{from:re()}],"gradient-via-pos":[{via:re()}],"gradient-to-pos":[{to:re()}],"gradient-from":[{from:K()}],"gradient-via":[{via:K()}],"gradient-to":[{to:K()}],rounded:[{rounded:W()}],"rounded-s":[{"rounded-s":W()}],"rounded-e":[{"rounded-e":W()}],"rounded-t":[{"rounded-t":W()}],"rounded-r":[{"rounded-r":W()}],"rounded-b":[{"rounded-b":W()}],"rounded-l":[{"rounded-l":W()}],"rounded-ss":[{"rounded-ss":W()}],"rounded-se":[{"rounded-se":W()}],"rounded-ee":[{"rounded-ee":W()}],"rounded-es":[{"rounded-es":W()}],"rounded-tl":[{"rounded-tl":W()}],"rounded-tr":[{"rounded-tr":W()}],"rounded-br":[{"rounded-br":W()}],"rounded-bl":[{"rounded-bl":W()}],"border-w":[{border:ee()}],"border-w-x":[{"border-x":ee()}],"border-w-y":[{"border-y":ee()}],"border-w-s":[{"border-s":ee()}],"border-w-e":[{"border-e":ee()}],"border-w-bs":[{"border-bs":ee()}],"border-w-be":[{"border-be":ee()}],"border-w-t":[{"border-t":ee()}],"border-w-r":[{"border-r":ee()}],"border-w-b":[{"border-b":ee()}],"border-w-l":[{"border-l":ee()}],"divide-x":[{"divide-x":ee()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ee()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ie(),"hidden","none"]}],"divide-style":[{divide:[...ie(),"hidden","none"]}],"border-color":[{border:K()}],"border-color-x":[{"border-x":K()}],"border-color-y":[{"border-y":K()}],"border-color-s":[{"border-s":K()}],"border-color-e":[{"border-e":K()}],"border-color-bs":[{"border-bs":K()}],"border-color-be":[{"border-be":K()}],"border-color-t":[{"border-t":K()}],"border-color-r":[{"border-r":K()}],"border-color-b":[{"border-b":K()}],"border-color-l":[{"border-l":K()}],"divide-color":[{divide:K()}],"outline-style":[{outline:[...ie(),"none","hidden"]}],"outline-offset":[{"outline-offset":[pt,Ee,Ce]}],"outline-w":[{outline:["",pt,oa,fs]}],"outline-color":[{outline:K()}],shadow:[{shadow:["","none",f,nc,rc]}],"shadow-color":[{shadow:K()}],"inset-shadow":[{"inset-shadow":["none",g,nc,rc]}],"inset-shadow-color":[{"inset-shadow":K()}],"ring-w":[{ring:ee()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:K()}],"ring-offset-w":[{"ring-offset":[pt,fs]}],"ring-offset-color":[{"ring-offset":K()}],"inset-ring-w":[{"inset-ring":ee()}],"inset-ring-color":[{"inset-ring":K()}],"text-shadow":[{"text-shadow":["none",v,nc,rc]}],"text-shadow-color":[{"text-shadow":K()}],opacity:[{opacity:[pt,Ee,Ce]}],"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":[pt]}],"mask-image-linear-from-pos":[{"mask-linear-from":P()}],"mask-image-linear-to-pos":[{"mask-linear-to":P()}],"mask-image-linear-from-color":[{"mask-linear-from":K()}],"mask-image-linear-to-color":[{"mask-linear-to":K()}],"mask-image-t-from-pos":[{"mask-t-from":P()}],"mask-image-t-to-pos":[{"mask-t-to":P()}],"mask-image-t-from-color":[{"mask-t-from":K()}],"mask-image-t-to-color":[{"mask-t-to":K()}],"mask-image-r-from-pos":[{"mask-r-from":P()}],"mask-image-r-to-pos":[{"mask-r-to":P()}],"mask-image-r-from-color":[{"mask-r-from":K()}],"mask-image-r-to-color":[{"mask-r-to":K()}],"mask-image-b-from-pos":[{"mask-b-from":P()}],"mask-image-b-to-pos":[{"mask-b-to":P()}],"mask-image-b-from-color":[{"mask-b-from":K()}],"mask-image-b-to-color":[{"mask-b-to":K()}],"mask-image-l-from-pos":[{"mask-l-from":P()}],"mask-image-l-to-pos":[{"mask-l-to":P()}],"mask-image-l-from-color":[{"mask-l-from":K()}],"mask-image-l-to-color":[{"mask-l-to":K()}],"mask-image-x-from-pos":[{"mask-x-from":P()}],"mask-image-x-to-pos":[{"mask-x-to":P()}],"mask-image-x-from-color":[{"mask-x-from":K()}],"mask-image-x-to-color":[{"mask-x-to":K()}],"mask-image-y-from-pos":[{"mask-y-from":P()}],"mask-image-y-to-pos":[{"mask-y-to":P()}],"mask-image-y-from-color":[{"mask-y-from":K()}],"mask-image-y-to-color":[{"mask-y-to":K()}],"mask-image-radial":[{"mask-radial":[Ee,Ce]}],"mask-image-radial-from-pos":[{"mask-radial-from":P()}],"mask-image-radial-to-pos":[{"mask-radial-to":P()}],"mask-image-radial-from-color":[{"mask-radial-from":K()}],"mask-image-radial-to-color":[{"mask-radial-to":K()}],"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":N()}],"mask-image-conic-pos":[{"mask-conic":[pt]}],"mask-image-conic-from-pos":[{"mask-conic-from":P()}],"mask-image-conic-to-pos":[{"mask-conic-to":P()}],"mask-image-conic-from-color":[{"mask-conic-from":K()}],"mask-image-conic-to-color":[{"mask-conic-to":K()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:Bt()}],"mask-repeat":[{mask:nt()}],"mask-size":[{mask:j()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Ee,Ce]}],filter:[{filter:["","none",Ee,Ce]}],blur:[{blur:E()}],brightness:[{brightness:[pt,Ee,Ce]}],contrast:[{contrast:[pt,Ee,Ce]}],"drop-shadow":[{"drop-shadow":["","none",p,nc,rc]}],"drop-shadow-color":[{"drop-shadow":K()}],grayscale:[{grayscale:["",pt,Ee,Ce]}],"hue-rotate":[{"hue-rotate":[pt,Ee,Ce]}],invert:[{invert:["",pt,Ee,Ce]}],saturate:[{saturate:[pt,Ee,Ce]}],sepia:[{sepia:["",pt,Ee,Ce]}],"backdrop-filter":[{"backdrop-filter":["","none",Ee,Ce]}],"backdrop-blur":[{"backdrop-blur":E()}],"backdrop-brightness":[{"backdrop-brightness":[pt,Ee,Ce]}],"backdrop-contrast":[{"backdrop-contrast":[pt,Ee,Ce]}],"backdrop-grayscale":[{"backdrop-grayscale":["",pt,Ee,Ce]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[pt,Ee,Ce]}],"backdrop-invert":[{"backdrop-invert":["",pt,Ee,Ce]}],"backdrop-opacity":[{"backdrop-opacity":[pt,Ee,Ce]}],"backdrop-saturate":[{"backdrop-saturate":[pt,Ee,Ce]}],"backdrop-sepia":[{"backdrop-sepia":["",pt,Ee,Ce]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":k()}],"border-spacing-x":[{"border-spacing-x":k()}],"border-spacing-y":[{"border-spacing-y":k()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Ee,Ce]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[pt,"initial",Ee,Ce]}],ease:[{ease:["linear","initial",$,Ee,Ce]}],delay:[{delay:[pt,Ee,Ce]}],animate:[{animate:["none",I,Ee,Ce]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[b,Ee,Ce]}],"perspective-origin":[{"perspective-origin":M()}],rotate:[{rotate:q()}],"rotate-x":[{"rotate-x":q()}],"rotate-y":[{"rotate-y":q()}],"rotate-z":[{"rotate-z":q()}],scale:[{scale:ne()}],"scale-x":[{"scale-x":ne()}],"scale-y":[{"scale-y":ne()}],"scale-z":[{"scale-z":ne()}],"scale-3d":["scale-3d"],skew:[{skew:Pe()}],"skew-x":[{"skew-x":Pe()}],"skew-y":[{"skew-y":Pe()}],transform:[{transform:[Ee,Ce,"","none","gpu","cpu"]}],"transform-origin":[{origin:M()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:X()}],"translate-x":[{"translate-x":X()}],"translate-y":[{"translate-y":X()}],"translate-z":[{"translate-z":X()}],"translate-none":["translate-none"],zoom:[{zoom:[Nn,Ee,Ce]}],accent:[{accent:K()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:K()}],"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",Ee,Ce]}],"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":K()}],"scrollbar-track-color":[{"scrollbar-track":K()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":k()}],"scroll-mx":[{"scroll-mx":k()}],"scroll-my":[{"scroll-my":k()}],"scroll-ms":[{"scroll-ms":k()}],"scroll-me":[{"scroll-me":k()}],"scroll-mbs":[{"scroll-mbs":k()}],"scroll-mbe":[{"scroll-mbe":k()}],"scroll-mt":[{"scroll-mt":k()}],"scroll-mr":[{"scroll-mr":k()}],"scroll-mb":[{"scroll-mb":k()}],"scroll-ml":[{"scroll-ml":k()}],"scroll-p":[{"scroll-p":k()}],"scroll-px":[{"scroll-px":k()}],"scroll-py":[{"scroll-py":k()}],"scroll-ps":[{"scroll-ps":k()}],"scroll-pe":[{"scroll-pe":k()}],"scroll-pbs":[{"scroll-pbs":k()}],"scroll-pbe":[{"scroll-pbe":k()}],"scroll-pt":[{"scroll-pt":k()}],"scroll-pr":[{"scroll-pr":k()}],"scroll-pb":[{"scroll-pb":k()}],"scroll-pl":[{"scroll-pl":k()}],"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",Ee,Ce]}],fill:[{fill:["none",...K()]}],"stroke-w":[{stroke:[pt,oa,fs,Zh]}],stroke:[{stroke:["none",...K()]}],"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":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["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-r","border-w-l"],"border-w-y":["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-r","border-color-l"],"border-color-y":["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-mr","scroll-ml"],"scroll-my":["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-pr","scroll-pl"],"scroll-py":["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"]}},aw=Lx(iw);function xt(...t){return aw(Pa(t))}var lw=new Set(["$$slots","$$events","$$legacy","ref","class","children"]),cw=B("
");function _r(t,e){Ve(e,!0);let r=D(e,"ref",15,null),n=Tt(e,lw);var o=cw();Rt(o,i=>({"data-slot":"card-content",class:i,...n}),[()=>xt("px-(--card-spacing)",e.class)]);var s=S(o);it(s,()=>e.children??rt),ar(o,i=>r(i),()=>r()),h(t,o),je()}var uw=new Set(["$$slots","$$events","$$legacy","ref","class","children"]),dw=B("

");function Ir(t,e){Ve(e,!0);let r=D(e,"ref",15,null),n=Tt(e,uw);var o=dw();Rt(o,i=>({"data-slot":"card-description",class:i,...n}),[()=>xt("text-sm text-muted-foreground",e.class)]);var s=S(o);it(s,()=>e.children??rt),ar(o,i=>r(i),()=>r()),h(t,o),je()}var fw=new Set(["$$slots","$$events","$$legacy","ref","class","children"]),hw=B("
");function Tr(t,e){Ve(e,!0);let r=D(e,"ref",15,null),n=Tt(e,fw);var o=hw();Rt(o,i=>({"data-slot":"card-header",class:i,...n}),[()=>xt("gap-1 rounded-t-xl px-(--card-spacing) [.border-b]:pb-(--card-spacing) group/card-header @container/card-header grid auto-rows-min items-start has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto]",e.class)]);var s=S(o);it(s,()=>e.children??rt),ar(o,i=>r(i),()=>r()),h(t,o),je()}var vw=new Set(["$$slots","$$events","$$legacy","ref","class","children"]),gw=B("
");function Gr(t,e){Ve(e,!0);let r=D(e,"ref",15,null),n=Tt(e,vw);var o=gw();Rt(o,i=>({"data-slot":"card-title",class:i,...n}),[()=>xt("text-base leading-snug font-medium group-data-[size=sm]/card:text-sm",e.class)]);var s=S(o);it(s,()=>e.children??rt),ar(o,i=>r(i),()=>r()),h(t,o),je()}var pw=new Set(["$$slots","$$events","$$legacy","ref","class","children","size"]),mw=B("
");function or(t,e){Ve(e,!0);let r=D(e,"ref",15,null),n=D(e,"size",3,"default"),o=Tt(e,pw);var s=mw();Rt(s,l=>({"data-slot":"card","data-size":n(),class:l,...o}),[()=>xt("gap-(--card-spacing) overflow-hidden rounded-xl bg-card py-(--card-spacing) text-sm text-card-foreground ring-1 ring-foreground/10 [--card-spacing:--spacing(4)] has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:[--card-spacing:--spacing(3)] data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl group/card flex flex-col",e.class)]);var i=S(s);it(i,()=>e.children??rt),ar(s,l=>r(l),()=>r()),h(t,s),je()}var bw=new Set(["$$slots","$$events","$$legacy","ref","class","children"]),yw=B("
");function Wi(t,e){Ve(e,!0);let r=D(e,"ref",15,null),n=Tt(e,bw);var o=yw();Rt(o,i=>({"data-slot":"alert-description",class:i,...n}),[()=>xt("text-sm text-balance text-muted-foreground md:text-pretty [&_p:not(:last-child)]:mb-4 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground",e.class)]);var s=S(o);it(s,()=>e.children??rt),ar(o,i=>r(i),()=>r()),h(t,o),je()}var xw=Array.isArray,Bu=t=>{if(!t&&t!==0&&t!==0n)return"";if(typeof t=="string")return t;if(typeof t=="number")return t!==t?"":""+t;if(typeof t=="bigint")return""+t;let e="";if(xw(t)){const r=t.length;for(let n=0;ntypeof t!="string"||!t?t:t.replace(ww," ").trim(),kw=t=>{const e=t.length;if(e===0)return!1;const r=t.charCodeAt(0),n=t.charCodeAt(e-1);if(r===32||n===32||r>=9&&r<=13||r===160||n>=9&&n<=13||n===160)return!0;for(let o=0;o=9&&s<=13||s===160||s===32&&o+1{const e=Bu(t);if(e)return kw(e)?_w(e):e},Bd=t=>t===!1?"false":t===!0?"true":t===0?"0":t,pn=t=>{if(!t||typeof t!="object")return!0;for(const e in t)return!1;return!0},$p=(t,e)=>{if(t===e)return!0;if(!t||!e)return!1;const r=t,n=e,o=Object.keys(r),s=Object.keys(n);if(o.length!==s.length)return!1;for(let i=0;i{const r=t;for(const n in e)if(Object.hasOwn(e,n)){const o=e[n];n in r?r[n]=kc(r[n],o):r[n]=o}return t},Sp=(t,e)=>{for(let r=0;r{const e=[];Sp(t,e);const r=[];for(let n=0;n{const r=t,n=e,o={};for(const s in r){const i=r[s];if(s in n){const l=n[s];Dd(i)||Dd(l)?o[s]=Vd(l,i):typeof i=="object"&&typeof l=="object"&&i&&l?o[s]=Gf(i,l):o[s]=l+" "+i}else o[s]=i}for(const s in n)s in r||(o[s]=n[s]);return o},Sw={twMerge:!0,twMergeConfig:{}},Pp=256,Pw=128,Hs=Symbol("tv-cache-miss"),Cw=t=>(t==null?void 0:t.class)!=null&&t.class!==""||(t==null?void 0:t.className)!=null&&t.className!=="",ev=t=>{if(t===void 0)return"";if(t===null)return"null";if(typeof t=="string")return t;if(typeof t=="boolean")return t?"true":"false";if(typeof t=="number")return t===0?"0":String(t);if(typeof t=="bigint")return String(t);const e=Bd(t),r=typeof e;if(r==="string"||r==="number"||r==="boolean"||r==="bigint")return String(e);if(r==="object")try{return JSON.stringify(e)}catch{return null}return null},si=(t,e)=>{if(e===void 0)return t;if(e===null)return t+"null";const r=typeof e;if(r==="string"||r==="number"||r==="boolean"||r==="bigint")return t+String(e);if(Array.isArray(e))return t+e.join("\0");try{return t+JSON.stringify(e)}catch{return t+"?"}},Cp=(t,e,r,n)=>{let o="";const s=Object.create(null);for(let l=0;l1&&i.sort();for(let l=0;l{let r="";for(let n=0;n{let e=new Map,r=null;return{get(n){if(e.has(n))return e.get(n);if(r!=null&&r.has(n)){const o=r.get(n);return e.set(n,o),o}return Hs},set(n,o){e.size>=t&&(r=e,e=new Map),e.set(n,o)}}},Aw=(t=Pp)=>{const e=Ep(t);return{get(r){return e.get(r)},set(r,n){e.set(r,n)}}},Ew=(t=Pw)=>{let e=new Map,r=null,n=0;return{get(o,s){const i=e.get(o);if(i){const l=i.get(s);if(l!==void 0||i.has(s))return l}if(r){const l=r.get(o);if(l){const c=l.get(s);if(c!==void 0||l.has(s)){let d=e.get(o);return d||(d=new Map,e.set(o,d)),d.has(s)||n++,d.set(s,c),c}}}return Hs},set(o,s,i){n>=t&&(r=e,e=new Map,n=0);let l=e.get(o);l||(l=new Map,e.set(o,l)),l.has(s)||n++,l.set(s,i)}}},Hf=(t,e)=>{let r=null;return(n,o)=>{if(!Cw(o))return n;const s=o.class,i=o.className;if(s!=null&&s!==""&&typeof s!="string"||i!=null&&i!==""&&typeof i!="string")return t(e,n,s,i);r??(r=Ew());const l=n??"",c=(typeof s=="string"?s:"")+"\0"+(typeof i=="string"?i:""),d=r.get(l,c);if(d!==Hs)return d;const f=t(e,n,s,i);return r.set(l,c,f),f}};function Tw(){let t=null,e={},r=!1;return{get cachedTwMerge(){return t},set cachedTwMerge(n){t=n},get cachedTwMergeConfig(){return e},set cachedTwMergeConfig(n){e=n},get didTwMergeConfigChange(){return r},set didTwMergeConfigChange(n){r=n},reset(){t=null,e={},r=!1}}}var Vr=Tw(),Mw=t=>{!pn(t.twMergeConfig)&&!$p(t.twMergeConfig,Vr.cachedTwMergeConfig)&&(Vr.didTwMergeConfigChange=!0,Vr.cachedTwMergeConfig=t.twMergeConfig)},Ow=(t,e)=>{const r=[];for(let n=0;n{if(!Array.isArray(t)||t.length===0)return[];const e=[];for(let r=0;r{if(!Array.isArray(t)||t.length===0)return[];const e=[];for(let r=0;r{const e={};for(let r=0;r{const{extend:r=null,slots:n={},variants:o={},compoundVariants:s=[],compoundSlots:i=[],defaultVariants:l={}}=t,c={...Sw,...e},d=t.slots!==void 0,f=r!=null&&r.base?kc(r.base,t==null?void 0:t.base):t==null?void 0:t.base,g=r!=null&&r.variants&&!pn(r.variants)?Gf(o,r.variants):o,v=r!=null&&r.defaultVariants&&!pn(r.defaultVariants)?{...r.defaultVariants,...l}:l;Mw(c);const p=!(r!=null&&r.slots)||pn(r.slots),m=d?p&&(r!=null&&r.base)?kc(t==null?void 0:t.base,r.base):typeof(t==null?void 0:t.base)=="string"||(t==null?void 0:t.base)==null?t.base:kc(t.base):void 0,b=d?{base:m,...n}:{},w=p?b:$w({...r==null?void 0:r.slots},pn(b)?{base:t==null?void 0:t.base}:b),$=!(r!=null&&r.compoundVariants)||pn(r.compoundVariants)?s:Vd(r==null?void 0:r.compoundVariants,s),I=!(r!=null&&r.compoundSlots)||pn(r.compoundSlots)?i:Vd(r==null?void 0:r.compoundSlots,i),L=Object.keys(g),N=$&&!Array.isArray($)?new TypeError(`The "compoundVariants" prop must be an array. Received: ${typeof $}`):I&&!Array.isArray(I)?new TypeError(`The "compoundSlots" prop must be an array. Received: ${typeof I}`):null,M=d||!p?"slots":L.length===0?"plain":"variants";return{config:c,extend:r,base:f,variants:g,defaultVariants:v,slots:w,compoundVariants:$,compoundSlots:I,compiledVariants:null,compiledCompoundVariants:null,compiledCompoundSlots:null,compiledCompoundSlotsBySlot:null,deferredError:N,mode:M,slotKeys:null,variantKeys:L}},Tp=t=>(t.compiledVariants!==null||(t.compiledVariants=Ow(t.variants,t.variantKeys),t.compiledCompoundVariants=zw(t.compoundVariants),t.compiledCompoundSlots=Iw(t.compoundSlots),t.compiledCompoundSlotsBySlot=Nw(t.compiledCompoundSlots),t.slotKeys=t.slots&&typeof t.slots=="object"?Object.keys(t.slots):[]),t),jd=[],Mp=[],Fw=[],Lw=[],Dw=[],Op=(t,e,r)=>{const n={};for(const o in t)n[o]=t[o];if(e)for(const o in e)e[o]!==void 0&&(n[o]=e[o]);if(r)for(const o in r)r[o]!==void 0&&(n[o]=r[o]);return n},oc=t=>t==null||t===!1,Bw=(t,e)=>{if(!Array.isArray(t))return t===e||oc(t)&&oc(e);for(let r=0;r{if(t.isEmpty)return null;const o=(n==null?void 0:n[t.key])??(r==null?void 0:r[t.key]);if(o===null)return null;const s=Bd(o);if(typeof s=="object")return null;const i=e==null?void 0:e[t.key],l=s??Bd(i);return t.values[l||"false"]},Kf=(t,e)=>{const{conditionKeys:r,source:n}=t;for(let o=0;o{typeof r=="string"?e==="base"&&t.push(r):r&&typeof r=="object"&&r[e]&&t.push(r[e])},Vw=(t,e,r)=>{const n=Mp;n.length=0;for(let o=0;o{const s=Mp;s.length=0;for(let i=0;i{const r=Fw;r.length=0;for(let n=0;n{const n=Lw;n.length=0;for(let o=0;o{const r=Dw;r.length=0;for(let n=0;n{const{base:r,config:n}=t;let o=Hs;const s=Hf(e,n);return(i=>(o===Hs&&(o=e(n,r)),s(o,i)))},Uw=(t,e)=>{const{base:r,config:n,defaultVariants:o,deferredError:s,variantKeys:i}=t;let l=t.compiledCompoundVariants,c=t.compiledVariants,d=jd,f=null;const g=Hf(e,n);let v=1;const p=m=>{const b=l.length>0?Ww(l,Op(o,m)):void 0;return e(n,r,Vw(c,o,m),b)};return(m=>{if(s)throw s;(c===null||l===null)&&(Tp(t),c=t.compiledVariants,l=t.compiledCompoundVariants,d=t.compiledCompoundSlots??jd);let b;if(v>0)v--,b=p(m);else{f??(f=Aw());const w=Cp(i,o,m);if(w!==null){const $=l.length>0||d.length>0?Ap(l,d):"",I=w+"#"+$,L=f.get(I);L!==Hs?b=L:(b=p(m),f.set(I,b))}else b=p(m)}return g(b,m)})},qw=(t,e)=>{const{config:r,defaultVariants:n,deferredError:o,slots:s,variantKeys:i}=t;let l=null,c=null,d=null,f=null,g=!1,v=null,p=null,m=1;const b=()=>{if(d!==null)return;(t.compiledVariants===null||t.compiledCompoundVariants===null||t.compiledCompoundSlots===null||t.compiledCompoundSlotsBySlot===null||t.slotKeys===null)&&Tp(t);const $=t.compiledVariants;l=t.compiledCompoundVariants,c=t.compiledCompoundSlots;const I=t.compiledCompoundSlotsBySlot;d=t.slotKeys,g=l.length>0||c.length>0,v=Hf(e,r);const L=new Array(d.length);for(let N=0;N{const G=g?Op(n,F,k):void 0,T=G?Gw(M,l,G):void 0,ue=G?Hw(R,G):void 0;return e(r,s[M],jw(M,$,n,F,k),T,ue)}}f=L},w=$=>{const I=d,L=f,N=v,M={};for(let R=0;R{if(G==null)return k;let T=!1;for(const ue in G)if(!(ue==="class"||ue==="className")&&G[ue]!==void 0){T=!0;break}return N(T?F($,G):k,G)}}return M};return($=>{if(o)throw o;if(b(),m>0)return m--,w($);const I=Cp(i,n,$);if(I===null)return w($);const L=g?Ap(l,c):"",N=I+"#"+L;p??(p=Ep());const M=p.get(N);if(M!==Hs)return M;const R=w($);return p.set(N,R),R})},Yw=(t,e)=>{if(t.mode==="plain")return Kw(t,e);let r;return(n=>(r??(r=t.mode==="slots"?qw(t,e):Uw(t,e)),r(n)))},Xw=(t,e)=>{t.variantKeys=e.variantKeys,t.extend=e.extend,t.base=e.base,t.slots=e.slots,t.variants=e.variants,t.defaultVariants=e.defaultVariants,t.compoundSlots=e.compoundSlots,t.compoundVariants=e.compoundVariants},Zw=t=>{const e=(n,o)=>{const s=Rw(n,o),i=Yw(s,t);return Xw(i,s),i};return{tv:e,createTV:n=>(o,s)=>e(o,s?Gf(n,s):n)}},Jw=(t,e)=>{const r=t.length,n=e.length,o=new Array(r+n);for(let s=0;s({classGroupId:t,validator:e}),Ip=(t=new Map,e=null,r)=>({nextPart:t,validators:e,classGroupId:r}),Hc="-",rv=[],e_="arbitrary..",t_=t=>{const e=n_(t),{conflictingClassGroups:r,conflictingClassGroupModifiers:n}=t;return{getClassGroupId:i=>{if(i[0]==="["&&i[i.length-1]==="]")return r_(i);const l=i.split(Hc),c=l[0]===""&&l.length>1?1:0;return Np(l,c,e)},getConflictingClassGroupIds:(i,l)=>{if(l){const c=n[i],d=r[i];return c?d?Jw(d,c):c:d||rv}return r[i]||rv}}},Np=(t,e,r)=>{if(t.length-e===0)return r.classGroupId;const o=t[e],s=r.nextPart.get(o);if(s){const d=Np(t,e+1,s);if(d)return d}const i=r.validators;if(i===null)return;const l=e===0?t.join(Hc):t.slice(e).join(Hc),c=i.length;for(let d=0;d{const e=t.slice(1,-1),r=e.indexOf(":");if(r===-1)return;const n=e.slice(0,r);return n?e_+n:void 0},n_=t=>{const{theme:e,classGroups:r}=t;return o_(r,e)},o_=(t,e)=>{const r=Ip();for(const n in t){const o=t[n];Uf(o,r,n,e)}return r},Uf=(t,e,r,n)=>{const o=t.length;for(let s=0;s{if(typeof t=="string"){i_(t,e,r);return}if(typeof t=="function"){a_(t,e,r,n);return}l_(t,e,r,n)},i_=(t,e,r)=>{const n=t===""?e:Rp(e,t);n.classGroupId=r},a_=(t,e,r,n)=>{if(c_(t)){Uf(t(n),e,r,n);return}e.validators===null&&(e.validators=[]),e.validators.push(Qw(r,t))},l_=(t,e,r,n)=>{const o=Object.entries(t),s=o.length;for(let i=0;i{let r=t;const n=e.split(Hc),o=n.length;for(let s=0;s"isThemeGetter"in t&&t.isThemeGetter===!0,u_="!",d_=58,f_=47,h_=91,v_=93,g_=40,p_=41,nv=33,m_=(t,e,r,n)=>({modifiers:t,hasImportantModifier:e,baseClassName:r,maybePostfixModifierPosition:n,isExternal:void 0}),ov=t=>{const e=[];let r=0,n=0,o=0,s;const i=t.length;for(let v=0;vo?s-o:void 0;return m_(e,d,c,g)},b_=t=>{const e=new Set(t.orderSensitiveModifiers);return r=>{const n=[];let o=[];for(let s=0;s0){o.sort();for(let d=0;d0){o.sort();for(let s=0;s{const e=b_(t),r=__(t),{getClassGroupId:n,getConflictingClassGroupIds:o}=t_(t);let s=Object.create(null),i=Object.create(null),l=0,c=new Int32Array(256),d=0,f=new Uint8Array(64),g=!1;const v=L=>{const N=[],M=L.length;let R=-1;g=!1;for(let F=0;F=9&&k<=13?(g=!0,R!==-1&&(N.push(L.slice(R,F)),R=-1)):R===-1&&(R=F)}return R!==-1&&N.push(L.slice(R)),N},p=new Map;let m=0;const b=L=>{let N=p.get(L);if(N===void 0&&(N=m++,p.set(L,N),N>=c.length)){const M=new Int32Array(c.length*2);M.set(c),c=M}return N},w=L=>{const{isExternal:N,modifiers:M,hasImportantModifier:R,baseClassName:F,maybePostfixModifierPosition:k}=ov(L);if(N)return od;let G=!!k,T;if(G){const le=F.substring(0,k);T=n(le);const pe=T&&r[T]?n(F):void 0;pe&&pe!==T&&(T=pe,G=!1)}else T=n(F);if(!T){if(!G||(T=n(F),!T))return od;G=!1}const ue=M.length===0?"":M.length===1?M[0]:e(M).join(":"),xe=R?ue+u_:ue,oe=o(T,G),be=[];for(let le=0;le{let N=s[L];return N!==void 0||(N=i[L],N===void 0&&(N=w(L)),s[L]=N,++l>y_&&(l=0,i=s,s=Object.create(null))),N};return{parseClassName:ov,sortModifiers:e,postfixLookupClassGroupIds:r,getClassGroupId:n,getConflictingClassGroupIds:o,getClassDescriptor:$,mergeClassList:L=>{const N=v(L),M=N.length;if(M===1)return N[0];m>x_&&(p.clear(),m=0,s=Object.create(null),i=Object.create(null),l=0),d=d+1|0,d===0&&(d=1);const R=d;if(M>f.length){let T=f.length;for(;T=0;T-=1){const ue=N[T];k+=ue.length;const xe=$(ue);if(xe.isExternal){f[T]=1;continue}const oe=xe.classId;if(c[oe]===R){f[T]=0,F=!0;continue}c[oe]=R;const be=xe.conflictIds;for(let le=0;le{const e=Object.create(null),r=t.postfixLookupClassGroups;if(r)for(let n=0;n{let e,r,n=Object.create(null),o=Object.create(null),s=0;const i=d=>(e=w_(t()),r=e.mergeClassList,c.mergeString=l,l(d)),l=d=>{let f=n[d];return f!==void 0||(f=o[d],f===void 0&&(f=r(d)),n[d]=f,++s>k_&&(s=0,o=n,n=Object.create(null))),f},c=(...d)=>c.mergeString(Bu(d));return c.mergeString=i,c},$_=[],yr=t=>{const e=r=>r[t]||$_;return e.isThemeGetter=!0,e},Fp=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Lp=/^\((?:(\w[\w-]*):)?(.+)\)$/i,S_=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,P_=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,C_=/\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$/,A_=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,E_=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,T_=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Dp=Number,M_=Number.isNaN,O_=Number.isInteger,Fo=t=>S_.test(t),mt=t=>!!t&&!M_(Dp(t)),Rn=t=>!!t&&O_(Dp(t)),sd=t=>t.endsWith("%")&&mt(t.slice(0,-1)),io=t=>P_.test(t),Bp=()=>!0,z_=t=>C_.test(t)&&!A_.test(t),qf=()=>!1,I_=t=>E_.test(t),N_=t=>T_.test(t),R_=t=>!Ae(t)&&!Te(t),F_=t=>t.startsWith("@container")&&(t[10]==="/"&&t[11]!==void 0||t[11]==="s"&&t[16]!==void 0&&t.startsWith("-size/",10)||t[11]==="n"&&t[18]!==void 0&&t.startsWith("-normal/",10)),L_=t=>us(t,Wp,qf),Ae=t=>Fp.test(t),hs=t=>us(t,Gp,z_),iv=t=>us(t,K_,mt),D_=t=>us(t,Kp,Bp),B_=t=>us(t,Hp,qf),av=t=>us(t,Vp,qf),V_=t=>us(t,jp,N_),sc=t=>us(t,Up,I_),Te=t=>Lp.test(t),sa=t=>Qs(t,Gp),j_=t=>Qs(t,Hp),lv=t=>Qs(t,Vp),W_=t=>Qs(t,Wp),G_=t=>Qs(t,jp),ic=t=>Qs(t,Up,!0),H_=t=>Qs(t,Kp,!0),us=(t,e,r)=>{const n=Fp.exec(t);return n?n[1]?e(n[1]):r(n[2]):!1},Qs=(t,e,r=!1)=>{const n=Lp.exec(t);return n?n[1]?e(n[1]):r:!1},Vp=t=>t==="position"||t==="percentage",jp=t=>t==="image"||t==="url",Wp=t=>t==="length"||t==="size"||t==="bg-size",Gp=t=>t==="length",K_=t=>t==="number",Hp=t=>t==="family-name",Kp=t=>t==="number"||t==="weight",Up=t=>t==="shadow",id=()=>{const t=yr("color"),e=yr("font"),r=yr("text"),n=yr("font-weight"),o=yr("tracking"),s=yr("leading"),i=yr("breakpoint"),l=yr("container"),c=yr("spacing"),d=yr("radius"),f=yr("shadow"),g=yr("inset-shadow"),v=yr("text-shadow"),p=yr("drop-shadow"),m=yr("blur"),b=yr("perspective"),w=yr("aspect"),$=yr("ease"),I=yr("animate"),L=()=>["auto","avoid","all","avoid-page","page","left","right","column"],N=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],M=()=>[...N(),Te,Ae],R=()=>["auto","hidden","clip","visible","scroll"],F=()=>["auto","contain","none"],k=()=>[Te,Ae,c],G=()=>[Fo,"full","auto",...k()],T=()=>[Rn,"none","subgrid",Te,Ae],ue=()=>["auto",{span:["full",Rn,Te,Ae]},Rn,Te,Ae],xe=()=>[Rn,"auto",Te,Ae],oe=()=>["auto","min","max","fr",Te,Ae],be=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],le=()=>["start","end","center","stretch","center-safe","end-safe"],pe=()=>["auto",...k()],$e=()=>[Fo,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...k()],ze=()=>[Fo,"screen","full","dvw","lvw","svw","min","max","fit",...k()],Fe=()=>[Fo,"screen","full","lh","dvh","lvh","svh","min","max","fit",...k()],K=()=>[t,Te,Ae],Bt=()=>[...N(),lv,av,{position:[Te,Ae]}],nt=()=>["no-repeat",{repeat:["","x","y","space","round"]}],j=()=>["auto","cover","contain",W_,L_,{size:[Te,Ae]}],re=()=>[sd,sa,hs],W=()=>["","none","full",d,Te,Ae],ee=()=>["",mt,sa,hs],ie=()=>["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"],P=()=>[mt,sd,lv,av],E=()=>["","none",m,Te,Ae],q=()=>["none",mt,Te,Ae],ne=()=>["none",mt,Te,Ae],Pe=()=>[mt,Te,Ae],X=()=>[Fo,"full",...k()];return{theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[io],breakpoint:[io],color:[Bp],container:[io],"drop-shadow":[io],ease:["in","out","in-out"],font:[R_],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[io],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[io],shadow:[io],spacing:["px",mt],text:[io],"text-shadow":[io],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Fo,Ae,Te,w]}],container:["container"],"container-type":[{"@container":["","normal","size",Te,Ae]}],"container-named":[F_],columns:[{columns:[mt,Ae,Te,l]}],"break-after":[{"break-after":L()}],"break-before":[{"break-before":L()}],"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:M()}],overflow:[{overflow:R()}],"overflow-x":[{"overflow-x":R()}],"overflow-y":[{"overflow-y":R()}],overscroll:[{overscroll:F()}],"overscroll-x":[{"overscroll-x":F()}],"overscroll-y":[{"overscroll-y":F()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:G()}],"inset-x":[{"inset-x":G()}],"inset-y":[{"inset-y":G()}],start:[{"inset-s":G(),start:G()}],end:[{"inset-e":G(),end:G()}],"inset-bs":[{"inset-bs":G()}],"inset-be":[{"inset-be":G()}],top:[{top:G()}],right:[{right:G()}],bottom:[{bottom:G()}],left:[{left:G()}],visibility:["visible","invisible","collapse"],z:[{z:[Rn,"auto",Te,Ae]}],basis:[{basis:[Fo,"full","auto",l,...k()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[mt,Fo,"auto","initial","none",Ae]}],grow:[{grow:["",mt,Te,Ae]}],shrink:[{shrink:["",mt,Te,Ae]}],order:[{order:[Rn,"first","last","none",Te,Ae]}],"grid-cols":[{"grid-cols":T()}],"col-start-end":[{col:ue()}],"col-start":[{"col-start":xe()}],"col-end":[{"col-end":xe()}],"grid-rows":[{"grid-rows":T()}],"row-start-end":[{row:ue()}],"row-start":[{"row-start":xe()}],"row-end":[{"row-end":xe()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":oe()}],"auto-rows":[{"auto-rows":oe()}],gap:[{gap:k()}],"gap-x":[{"gap-x":k()}],"gap-y":[{"gap-y":k()}],"justify-content":[{justify:[...be(),"normal"]}],"justify-items":[{"justify-items":[...le(),"normal"]}],"justify-self":[{"justify-self":["auto",...le()]}],"align-content":[{content:["normal",...be()]}],"align-items":[{items:[...le(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...le(),{baseline:["","last"]}]}],"place-content":[{"place-content":be()}],"place-items":[{"place-items":[...le(),"baseline"]}],"place-self":[{"place-self":["auto",...le()]}],p:[{p:k()}],px:[{px:k()}],py:[{py:k()}],ps:[{ps:k()}],pe:[{pe:k()}],pbs:[{pbs:k()}],pbe:[{pbe:k()}],pt:[{pt:k()}],pr:[{pr:k()}],pb:[{pb:k()}],pl:[{pl:k()}],m:[{m:pe()}],mx:[{mx:pe()}],my:[{my:pe()}],ms:[{ms:pe()}],me:[{me:pe()}],mbs:[{mbs:pe()}],mbe:[{mbe:pe()}],mt:[{mt:pe()}],mr:[{mr:pe()}],mb:[{mb:pe()}],ml:[{ml:pe()}],"space-x":[{"space-x":k()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":k()}],"space-y-reverse":["space-y-reverse"],size:[{size:$e()}],"inline-size":[{inline:["auto",...ze()]}],"min-inline-size":[{"min-inline":["auto",...ze()]}],"max-inline-size":[{"max-inline":["none",...ze()]}],"block-size":[{block:["auto",...Fe()]}],"min-block-size":[{"min-block":["auto",...Fe()]}],"max-block-size":[{"max-block":["none",...Fe()]}],w:[{w:[l,"screen",...$e()]}],"min-w":[{"min-w":[l,"screen","none",...$e()]}],"max-w":[{"max-w":[l,"screen","none","prose",{screen:[i]},...$e()]}],h:[{h:["screen","lh",...$e()]}],"min-h":[{"min-h":["screen","lh","none",...$e()]}],"max-h":[{"max-h":["screen","lh",...$e()]}],"font-size":[{text:["base",r,sa,hs]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[n,H_,D_]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",sd,Ae]}],"font-family":[{font:[j_,B_,e]}],"font-features":[{"font-features":[Ae]}],"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:[o,Te,Ae]}],"line-clamp":[{"line-clamp":[mt,"none",Te,iv]}],leading:[{leading:[s,...k()]}],"list-image":[{"list-image":["none",Te,Ae]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Te,Ae]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:K()}],"text-color":[{text:K()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ie(),"wavy"]}],"text-decoration-thickness":[{decoration:[mt,"from-font","auto",Te,hs]}],"text-decoration-color":[{decoration:K()}],"underline-offset":[{"underline-offset":[mt,"auto",Te,Ae]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:k()}],"tab-size":[{tab:[Rn,Te,Ae]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Te,Ae]}],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",Te,Ae]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:Bt()}],"bg-repeat":[{bg:nt()}],"bg-size":[{bg:j()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Rn,Te,Ae],radial:["",Te,Ae],conic:[Rn,Te,Ae]},G_,V_]}],"bg-color":[{bg:K()}],"gradient-from-pos":[{from:re()}],"gradient-via-pos":[{via:re()}],"gradient-to-pos":[{to:re()}],"gradient-from":[{from:K()}],"gradient-via":[{via:K()}],"gradient-to":[{to:K()}],rounded:[{rounded:W()}],"rounded-s":[{"rounded-s":W()}],"rounded-e":[{"rounded-e":W()}],"rounded-t":[{"rounded-t":W()}],"rounded-r":[{"rounded-r":W()}],"rounded-b":[{"rounded-b":W()}],"rounded-l":[{"rounded-l":W()}],"rounded-ss":[{"rounded-ss":W()}],"rounded-se":[{"rounded-se":W()}],"rounded-ee":[{"rounded-ee":W()}],"rounded-es":[{"rounded-es":W()}],"rounded-tl":[{"rounded-tl":W()}],"rounded-tr":[{"rounded-tr":W()}],"rounded-br":[{"rounded-br":W()}],"rounded-bl":[{"rounded-bl":W()}],"border-w":[{border:ee()}],"border-w-x":[{"border-x":ee()}],"border-w-y":[{"border-y":ee()}],"border-w-s":[{"border-s":ee()}],"border-w-e":[{"border-e":ee()}],"border-w-bs":[{"border-bs":ee()}],"border-w-be":[{"border-be":ee()}],"border-w-t":[{"border-t":ee()}],"border-w-r":[{"border-r":ee()}],"border-w-b":[{"border-b":ee()}],"border-w-l":[{"border-l":ee()}],"divide-x":[{"divide-x":ee()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ee()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ie(),"hidden","none"]}],"divide-style":[{divide:[...ie(),"hidden","none"]}],"border-color":[{border:K()}],"border-color-x":[{"border-x":K()}],"border-color-y":[{"border-y":K()}],"border-color-s":[{"border-s":K()}],"border-color-e":[{"border-e":K()}],"border-color-bs":[{"border-bs":K()}],"border-color-be":[{"border-be":K()}],"border-color-t":[{"border-t":K()}],"border-color-r":[{"border-r":K()}],"border-color-b":[{"border-b":K()}],"border-color-l":[{"border-l":K()}],"divide-color":[{divide:K()}],"outline-style":[{outline:[...ie(),"none","hidden"]}],"outline-offset":[{"outline-offset":[mt,Te,Ae]}],"outline-w":[{outline:["",mt,sa,hs]}],"outline-color":[{outline:K()}],shadow:[{shadow:["","none",f,ic,sc]}],"shadow-color":[{shadow:K()}],"inset-shadow":[{"inset-shadow":["none",g,ic,sc]}],"inset-shadow-color":[{"inset-shadow":K()}],"ring-w":[{ring:ee()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:K()}],"ring-offset-w":[{"ring-offset":[mt,hs]}],"ring-offset-color":[{"ring-offset":K()}],"inset-ring-w":[{"inset-ring":ee()}],"inset-ring-color":[{"inset-ring":K()}],"text-shadow":[{"text-shadow":["none",v,ic,sc]}],"text-shadow-color":[{"text-shadow":K()}],opacity:[{opacity:[mt,Te,Ae]}],"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":[mt]}],"mask-image-linear-from-pos":[{"mask-linear-from":P()}],"mask-image-linear-to-pos":[{"mask-linear-to":P()}],"mask-image-linear-from-color":[{"mask-linear-from":K()}],"mask-image-linear-to-color":[{"mask-linear-to":K()}],"mask-image-t-from-pos":[{"mask-t-from":P()}],"mask-image-t-to-pos":[{"mask-t-to":P()}],"mask-image-t-from-color":[{"mask-t-from":K()}],"mask-image-t-to-color":[{"mask-t-to":K()}],"mask-image-r-from-pos":[{"mask-r-from":P()}],"mask-image-r-to-pos":[{"mask-r-to":P()}],"mask-image-r-from-color":[{"mask-r-from":K()}],"mask-image-r-to-color":[{"mask-r-to":K()}],"mask-image-b-from-pos":[{"mask-b-from":P()}],"mask-image-b-to-pos":[{"mask-b-to":P()}],"mask-image-b-from-color":[{"mask-b-from":K()}],"mask-image-b-to-color":[{"mask-b-to":K()}],"mask-image-l-from-pos":[{"mask-l-from":P()}],"mask-image-l-to-pos":[{"mask-l-to":P()}],"mask-image-l-from-color":[{"mask-l-from":K()}],"mask-image-l-to-color":[{"mask-l-to":K()}],"mask-image-x-from-pos":[{"mask-x-from":P()}],"mask-image-x-to-pos":[{"mask-x-to":P()}],"mask-image-x-from-color":[{"mask-x-from":K()}],"mask-image-x-to-color":[{"mask-x-to":K()}],"mask-image-y-from-pos":[{"mask-y-from":P()}],"mask-image-y-to-pos":[{"mask-y-to":P()}],"mask-image-y-from-color":[{"mask-y-from":K()}],"mask-image-y-to-color":[{"mask-y-to":K()}],"mask-image-radial":[{"mask-radial":[Te,Ae]}],"mask-image-radial-from-pos":[{"mask-radial-from":P()}],"mask-image-radial-to-pos":[{"mask-radial-to":P()}],"mask-image-radial-from-color":[{"mask-radial-from":K()}],"mask-image-radial-to-color":[{"mask-radial-to":K()}],"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":N()}],"mask-image-conic-pos":[{"mask-conic":[mt]}],"mask-image-conic-from-pos":[{"mask-conic-from":P()}],"mask-image-conic-to-pos":[{"mask-conic-to":P()}],"mask-image-conic-from-color":[{"mask-conic-from":K()}],"mask-image-conic-to-color":[{"mask-conic-to":K()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:Bt()}],"mask-repeat":[{mask:nt()}],"mask-size":[{mask:j()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Te,Ae]}],filter:[{filter:["","none",Te,Ae]}],blur:[{blur:E()}],brightness:[{brightness:[mt,Te,Ae]}],contrast:[{contrast:[mt,Te,Ae]}],"drop-shadow":[{"drop-shadow":["","none",p,ic,sc]}],"drop-shadow-color":[{"drop-shadow":K()}],grayscale:[{grayscale:["",mt,Te,Ae]}],"hue-rotate":[{"hue-rotate":[mt,Te,Ae]}],invert:[{invert:["",mt,Te,Ae]}],saturate:[{saturate:[mt,Te,Ae]}],sepia:[{sepia:["",mt,Te,Ae]}],"backdrop-filter":[{"backdrop-filter":["","none",Te,Ae]}],"backdrop-blur":[{"backdrop-blur":E()}],"backdrop-brightness":[{"backdrop-brightness":[mt,Te,Ae]}],"backdrop-contrast":[{"backdrop-contrast":[mt,Te,Ae]}],"backdrop-grayscale":[{"backdrop-grayscale":["",mt,Te,Ae]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[mt,Te,Ae]}],"backdrop-invert":[{"backdrop-invert":["",mt,Te,Ae]}],"backdrop-opacity":[{"backdrop-opacity":[mt,Te,Ae]}],"backdrop-saturate":[{"backdrop-saturate":[mt,Te,Ae]}],"backdrop-sepia":[{"backdrop-sepia":["",mt,Te,Ae]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":k()}],"border-spacing-x":[{"border-spacing-x":k()}],"border-spacing-y":[{"border-spacing-y":k()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Te,Ae]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[mt,"initial",Te,Ae]}],ease:[{ease:["linear","initial",$,Te,Ae]}],delay:[{delay:[mt,Te,Ae]}],animate:[{animate:["none",I,Te,Ae]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[b,Te,Ae]}],"perspective-origin":[{"perspective-origin":M()}],rotate:[{rotate:q()}],"rotate-x":[{"rotate-x":q()}],"rotate-y":[{"rotate-y":q()}],"rotate-z":[{"rotate-z":q()}],scale:[{scale:ne()}],"scale-x":[{"scale-x":ne()}],"scale-y":[{"scale-y":ne()}],"scale-z":[{"scale-z":ne()}],"scale-3d":["scale-3d"],skew:[{skew:Pe()}],"skew-x":[{"skew-x":Pe()}],"skew-y":[{"skew-y":Pe()}],transform:[{transform:[Te,Ae,"","none","gpu","cpu"]}],"transform-origin":[{origin:M()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:X()}],"translate-x":[{"translate-x":X()}],"translate-y":[{"translate-y":X()}],"translate-z":[{"translate-z":X()}],"translate-none":["translate-none"],zoom:[{zoom:[Rn,Te,Ae]}],accent:[{accent:K()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:K()}],"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",Te,Ae]}],"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":K()}],"scrollbar-track-color":[{"scrollbar-track":K()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":k()}],"scroll-mx":[{"scroll-mx":k()}],"scroll-my":[{"scroll-my":k()}],"scroll-ms":[{"scroll-ms":k()}],"scroll-me":[{"scroll-me":k()}],"scroll-mbs":[{"scroll-mbs":k()}],"scroll-mbe":[{"scroll-mbe":k()}],"scroll-mt":[{"scroll-mt":k()}],"scroll-mr":[{"scroll-mr":k()}],"scroll-mb":[{"scroll-mb":k()}],"scroll-ml":[{"scroll-ml":k()}],"scroll-p":[{"scroll-p":k()}],"scroll-px":[{"scroll-px":k()}],"scroll-py":[{"scroll-py":k()}],"scroll-ps":[{"scroll-ps":k()}],"scroll-pe":[{"scroll-pe":k()}],"scroll-pbs":[{"scroll-pbs":k()}],"scroll-pbe":[{"scroll-pbe":k()}],"scroll-pt":[{"scroll-pt":k()}],"scroll-pr":[{"scroll-pr":k()}],"scroll-pb":[{"scroll-pb":k()}],"scroll-pl":[{"scroll-pl":k()}],"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",Te,Ae]}],fill:[{fill:["none",...K()]}],"stroke-w":[{stroke:[mt,sa,hs,iv]}],stroke:[{stroke:["none",...K()]}],"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":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["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-r","border-w-l"],"border-w-y":["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-r","border-color-l"],"border-color-y":["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-mr","scroll-ml"],"scroll-my":["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-pr","scroll-pl"],"scroll-py":["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"]}},U_=(t,{extend:e={},override:r={}})=>(ac(t.theme,r.theme),ac(t.classGroups,r.classGroups),ac(t.conflictingClassGroups,r.conflictingClassGroups),ac(t.conflictingClassGroupModifiers,r.conflictingClassGroupModifiers),Wd(t,"postfixLookupClassGroups",r.postfixLookupClassGroups),Wd(t,"orderSensitiveModifiers",r.orderSensitiveModifiers),lc(t.theme,e.theme),lc(t.classGroups,e.classGroups),lc(t.conflictingClassGroups,e.conflictingClassGroups),lc(t.conflictingClassGroupModifiers,e.conflictingClassGroupModifiers),Gd(t,e,"postfixLookupClassGroups"),Gd(t,e,"orderSensitiveModifiers"),t),Wd=(t,e,r)=>{r!==void 0&&(t[e]=r)},ac=(t,e)=>{if(e)for(const r in e)Wd(t,r,e[r])},lc=(t,e)=>{if(e)for(const r in e)Gd(t,e,r)},Gd=(t,e,r)=>{const n=e[r];n!==void 0&&(t[r]=t[r]?t[r].concat(n):n)},qp=t=>sv(t?typeof t=="function"?()=>t(id()):()=>U_(id(),t):id),q_=t=>{if(pn(t))return;const e=t,r={...e.extend??{}};for(const o of["theme","classGroups","conflictingClassGroups","conflictingClassGroupModifiers","postfixLookupClassGroups","orderSensitiveModifiers","cacheSize","prefix","separator","experimentalParseClassName"])e[o]!==void 0&&r[o]===void 0&&(r[o]=e[o]);const n={};if(Object.keys(r).length>0&&(n.extend=r),e.override!=null&&!pn(e.override)&&(n.override=e.override),!(!n.extend&&!n.override))return n},Y_=t=>{const e=q_(t),r=qp(e);return n=>r.mergeString(n)},$c,X_=()=>($c||($c=qp()),$c),Z_=()=>((!Vr.cachedTwMerge||Vr.didTwMergeConfigChange)&&(Vr.didTwMergeConfigChange=!1,Vr.cachedTwMerge=Y_(Vr.cachedTwMergeConfig)),Vr.cachedTwMerge),J_=t=>{const e=t==null?void 0:t.twMergeConfig;!e||pn(e)||$p(e,Vr.cachedTwMergeConfig)||(Vr.cachedTwMergeConfig=e,Vr.didTwMergeConfigChange=!0)},Q_=t=>Bu(t),e1=Vr.reset.bind(Vr);Vr.reset=()=>{$c=void 0,e1()};var t1=(t,e)=>{const r=Q_(t);return!r||!((e==null?void 0:e.twMerge)??!0)?r||void 0:r.indexOf(" ")===-1?r:(J_(e),(!!(e!=null&&e.twMergeConfig&&!pn(e.twMergeConfig))?Z_():X_().mergeString)(r)||void 0)},r1=(t,...e)=>t1(e,t),n1=Zw(r1),Yf=n1.tv;const o1=Yf({base:"grid gap-0.5 rounded-lg border px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4 group/alert relative w-full",variants:{variant:{default:"bg-card text-card-foreground",destructive:"bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current"}},defaultVariants:{variant:"default"}});var s1=new Set(["$$slots","$$events","$$legacy","ref","class","variant","children"]),i1=B("
");function Gi(t,e){Ve(e,!0);let r=D(e,"ref",15,null),n=D(e,"variant",3,"default"),o=Tt(e,s1);var s=i1();Rt(s,l=>({"data-slot":"alert",role:"alert",class:l,...o}),[()=>xt(o1({variant:n()}),e.class)]);var i=S(s);it(i,()=>e.children??rt),ar(s,l=>r(l),()=>r()),h(t,s),je()}var a1=new Set(["$$slots","$$events","$$legacy","ref","value","type","files","class","data-slot"]),cv=B("");function Ws(t,e){Ve(e,!0);let r=D(e,"ref",15,null),n=D(e,"value",15),o=D(e,"files",15),s=D(e,"data-slot",3,"input"),i=Tt(e,a1);var l=Z(),c=_(l);{var d=g=>{var v=cv();Rt(v,p=>({"data-slot":s(),class:p,type:"file",...i}),[()=>xt("h-8 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors file:h-6 file:text-sm file:font-medium focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:bg-input/50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 w-full min-w-0 outline-none file:inline-flex file:border-0 file:bg-transparent file:text-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",e.class)],void 0,void 0,void 0,!0),ar(v,p=>r(p),()=>r()),sx(v,o),Rd(v,n),h(g,v)},f=g=>{var v=cv();Rt(v,p=>({"data-slot":s(),class:p,type:e.type,...i}),[()=>xt("h-8 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors file:h-6 file:text-sm file:font-medium focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:bg-input/50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 w-full min-w-0 outline-none file:inline-flex file:border-0 file:bg-transparent file:text-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",e.class)],void 0,void 0,void 0,!0),ar(v,p=>r(p),()=>r()),Rd(v,n),h(g,v)};ye(c,g=>{e.type==="file"?g(d):g(f,-1)})}h(t,l),je()}function l1(t){return typeof t=="function"}function Yl(t){return t!==null&&typeof t=="object"}const c1=["string","number","bigint","boolean"];function Hd(t){return t==null||c1.includes(typeof t)?!0:Array.isArray(t)?t.every(e=>Hd(e)):typeof t=="object"?Object.getPrototypeOf(t)===Object.prototype:!1}const Hi=Symbol("box"),Vu=Symbol("is-writable");function ke(t,e){const r=z(t);return e?{[Hi]:!0,[Vu]:!0,get current(){return a(r)},set current(n){e(n)}}:{[Hi]:!0,get current(){return t()}}}function Xl(t){return Yl(t)&&Hi in t}function Xf(t){return Xl(t)&&Vu in t}function Yp(t){return Xl(t)?t:l1(t)?ke(t):Kn(t)}function u1(t){return Object.entries(t).reduce((e,[r,n])=>Xl(n)?(Xf(n)?Object.defineProperty(e,r,{get(){return n.current},set(o){n.current=o}}):Object.defineProperty(e,r,{get(){return n.current}}),e):Object.assign(e,{[r]:n}),{})}function d1(t){return Xf(t)?{[Hi]:!0,get current(){return t.current}}:t}function Kn(t){let e=fe(kr(t));return{[Hi]:!0,[Vu]:!0,get current(){return a(e)},set current(r){x(e,r,!0)}}}function ei(t){let e=fe(kr(t));return{[Hi]:!0,[Vu]:!0,get current(){return a(e)},set current(r){x(e,r,!0)}}}ei.from=Yp;ei.with=ke;ei.flatten=u1;ei.readonly=d1;ei.isBox=Xl;ei.isWritableBox=Xf;function Xp(...t){return function(e){var r;for(const n of t)if(n){if(e.defaultPrevented)return;typeof n=="function"?n.call(this,e):(r=n.current)==null||r.call(this,e)}}}var uv=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,f1=/\n/g,h1=/^\s*/,v1=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,g1=/^:\s*/,p1=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,m1=/^[;\s]*/,b1=/^\s+|\s+$/g,y1=` +`,dv="/",fv="*",xs="",x1="comment",w1="declaration";function _1(t,e){if(typeof t!="string")throw new TypeError("First argument must be a string");if(!t)return[];e=e||{};var r=1,n=1;function o(m){var b=m.match(f1);b&&(r+=b.length);var w=m.lastIndexOf(y1);n=~w?m.length-w:n+m.length}function s(){var m={line:r,column:n};return function(b){return b.position=new i(m),d(),b}}function i(m){this.start=m,this.end={line:r,column:n},this.source=e.source}i.prototype.content=t;function l(m){var b=new Error(e.source+":"+r+":"+n+": "+m);if(b.reason=m,b.filename=e.source,b.line=r,b.column=n,b.source=t,!e.silent)throw b}function c(m){var b=m.exec(t);if(b){var w=b[0];return o(w),t=t.slice(w.length),b}}function d(){c(h1)}function f(m){var b;for(m=m||[];b=g();)b!==!1&&m.push(b);return m}function g(){var m=s();if(!(dv!=t.charAt(0)||fv!=t.charAt(1))){for(var b=2;xs!=t.charAt(b)&&(fv!=t.charAt(b)||dv!=t.charAt(b+1));)++b;if(b+=2,xs===t.charAt(b-1))return l("End of comment missing");var w=t.slice(2,b-2);return n+=2,o(w),t=t.slice(b),n+=2,m({type:x1,comment:w})}}function v(){var m=s(),b=c(v1);if(b){if(g(),!c(g1))return l("property missing ':'");var w=c(p1),$=m({type:w1,property:hv(b[0].replace(uv,xs)),value:w?hv(w[0].replace(uv,xs)):xs});return c(m1),$}}function p(){var m=[];f(m);for(var b;b=v();)b!==!1&&(m.push(b),f(m));return m}return d(),p()}function hv(t){return t?t.replace(b1,xs):xs}function k1(t,e){let r=null;if(!t||typeof t!="string")return r;const n=_1(t),o=typeof e=="function";return n.forEach(s=>{if(s.type!=="declaration")return;const{property:i,value:l}=s;o?e(i,l,s):l&&(r=r||{},r[i]=l)}),r}const $1=/\d/,S1=["-","_","/","."];function P1(t=""){if(!$1.test(t))return t!==t.toLowerCase()}function C1(t){const e=[];let r="",n,o;for(const s of t){const i=S1.includes(s);if(i===!0){e.push(r),r="",n=void 0;continue}const l=P1(s);if(o===!1){if(n===!1&&l===!0){e.push(r),r=s,n=l;continue}if(n===!0&&l===!1&&r.length>1){const c=r.at(-1);e.push(r.slice(0,Math.max(0,r.length-1))),r=c+s,n=l;continue}}r+=s,n=l,o=i}return e.push(r),e}function Zp(t){return t?C1(t).map(e=>E1(e)).join(""):""}function A1(t){return T1(Zp(t||""))}function E1(t){return t?t[0].toUpperCase()+t.slice(1):""}function T1(t){return t?t[0].toLowerCase()+t.slice(1):""}function wa(t){if(!t)return{};const e={};function r(n,o){if(n.startsWith("-moz-")||n.startsWith("-webkit-")||n.startsWith("-ms-")||n.startsWith("-o-")){e[Zp(n)]=o;return}if(n.startsWith("--")){e[n]=o;return}e[A1(n)]=o}return k1(t,r),e}function fi(...t){return(...e)=>{for(const r of t)typeof r=="function"&&r(...e)}}function M1(t,e){const r=RegExp(t,"g");return n=>{if(typeof n!="string")throw new TypeError(`expected an argument of type string, but got ${typeof n}`);return n.match(r)?n.replace(r,e):n}}const O1=M1(/[A-Z]/,t=>`-${t.toLowerCase()}`);function z1(t){if(!t||typeof t!="object"||Array.isArray(t))throw new TypeError(`expected an argument of type object, but got ${typeof t}`);return Object.keys(t).map(e=>`${O1(e)}: ${t[e]};`).join(` +`)}function Jp(t={}){return z1(t).replace(` +`," ")}const I1=["onabort","onanimationcancel","onanimationend","onanimationiteration","onanimationstart","onauxclick","onbeforeinput","onbeforetoggle","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncompositionend","oncompositionstart","oncompositionupdate","oncontextlost","oncontextmenu","oncontextrestored","oncopy","oncuechange","oncut","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","onfocusin","onfocusout","onformdata","ongotpointercapture","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onlostpointercapture","onmousedown","onmouseenter","onmouseleave","onmousemove","onmouseout","onmouseover","onmouseup","onpaste","onpause","onplay","onplaying","onpointercancel","onpointerdown","onpointerenter","onpointerleave","onpointermove","onpointerout","onpointerover","onpointerup","onprogress","onratechange","onreset","onresize","onscroll","onscrollend","onsecuritypolicyviolation","onseeked","onseeking","onselect","onselectionchange","onselectstart","onslotchange","onstalled","onsubmit","onsuspend","ontimeupdate","ontoggle","ontouchcancel","ontouchend","ontouchmove","ontouchstart","ontransitioncancel","ontransitionend","ontransitionrun","ontransitionstart","onvolumechange","onwaiting","onwebkitanimationend","onwebkitanimationiteration","onwebkitanimationstart","onwebkittransitionend","onwheel"],N1=new Set(I1);function R1(t){return N1.has(t)}function Jn(...t){const e={...t[0]};for(let r=1;r{const s=zr(r,"focusin",o),i=zr(r,"focusout",o);return()=>{s(),i()}})))}get current(){var e;return(e=u(this,Va))==null||e.call(this),u(this,wi)?F1(u(this,wi)):null}}wi=new WeakMap,Va=new WeakMap;new L1;function D1(t){return typeof t=="function"}var ja,go;class ti{constructor(e){C(this,ja);C(this,go);V(this,ja,e),V(this,go,Symbol(e))}get key(){return u(this,go)}exists(){return Zb(u(this,go))}get(){const e=Th(u(this,go));if(e===void 0)throw new Error(`Context "${u(this,ja)}" not found`);return e}getOr(e){const r=Th(u(this,go));return r===void 0?e:r}set(e){return Xb(u(this,go),e)}}ja=new WeakMap,go=new WeakMap;function B1(t,e){switch(t){case"post":ur(e);break;case"pre":Ng(e);break}}function em(t,e,r,n={}){const{lazy:o=!1}=n;let s=!o,i=Array.isArray(t)?[]:void 0;B1(e,()=>{const l=Array.isArray(t)?t.map(d=>d()):t();if(!s){s=!0,i=l;return}const c=tn(()=>r(l,i));return i=l,c})}function cn(t,e,r){em(t,"post",e,r)}function V1(t,e,r){em(t,"pre",e,r)}cn.pre=V1;function vv(t){return D1(t)?t():t}var Wo,_i,ki,$i,Go,uu,du,Si;class j1{constructor(e,r={box:"border-box"}){C(this,Wo,{width:0,height:0});C(this,_i,!1);C(this,ki);C(this,$i);C(this,Go);C(this,uu,z(()=>{var e;return(e=a(u(this,Si)))==null||e(),this.getSize().width}));C(this,du,z(()=>{var e;return(e=a(u(this,Si)))==null||e(),this.getSize().height}));C(this,Si,z(()=>{const e=vv(u(this,$i));if(e)return Ru(r=>{if(!u(this,Go))return;const n=new(u(this,Go)).ResizeObserver(o=>{V(this,_i,!0);for(const s of o){const i=u(this,ki).box==="content-box"?s.contentBoxSize:s.borderBoxSize,l=Array.isArray(i)?i:[i];u(this,Wo).width=l.reduce((c,d)=>Math.max(c,d.inlineSize),0),u(this,Wo).height=l.reduce((c,d)=>Math.max(c,d.blockSize),0)}r()});return n.observe(e),()=>{V(this,_i,!1),n.disconnect()}})}));V(this,Go,r.window??Qp),V(this,ki,r),V(this,$i,e),V(this,Wo,{width:0,height:0})}calculateSize(){const e=vv(u(this,$i));if(!e||!u(this,Go))return;const r=e.offsetWidth,n=e.offsetHeight;if(u(this,ki).box==="border-box")return{width:r,height:n};const o=u(this,Go).getComputedStyle(e),s=parseFloat(o.paddingLeft)+parseFloat(o.paddingRight),i=parseFloat(o.paddingTop)+parseFloat(o.paddingBottom),l=parseFloat(o.borderLeftWidth)+parseFloat(o.borderRightWidth),c=parseFloat(o.borderTopWidth)+parseFloat(o.borderBottomWidth),d=r-s-l,f=n-i-c;return{width:d,height:f}}getSize(){return u(this,_i)?u(this,Wo):this.calculateSize()??u(this,Wo)}get current(){var e;return(e=a(u(this,Si)))==null||e(),this.getSize()}get width(){return a(u(this,uu))}get height(){return a(u(this,du))}}Wo=new WeakMap,_i=new WeakMap,ki=new WeakMap,$i=new WeakMap,Go=new WeakMap,uu=new WeakMap,du=new WeakMap,Si=new WeakMap;function ri(t){ur(()=>()=>{t()})}function W1(t,e){return setTimeout(e,t)}function Gn(t){Df().then(t)}const G1=1,H1=9,K1=11;function Kd(t){return Yl(t)&&t.nodeType===G1&&typeof t.nodeName=="string"}function tm(t){return Yl(t)&&t.nodeType===H1}function U1(t){var e;return Yl(t)&&((e=t.constructor)==null?void 0:e.name)==="VisualViewport"}function q1(t){return Yl(t)&&t.nodeType!==void 0}function rm(t){return q1(t)&&t.nodeType===K1&&"host"in t}function Y1(t,e){var n;if(!t||!e||!Kd(t)||!Kd(e))return!1;const r=(n=e.getRootNode)==null?void 0:n.call(e);if(t===e||t.contains(e))return!0;if(r&&rm(r)){let o=e;for(;o;){if(t===o)return!0;o=o.parentNode||o.host}}return!1}function Zl(t){return tm(t)?t:U1(t)?t.document:(t==null?void 0:t.ownerDocument)??document}function nm(t){var e;return rm(t)?nm(t.host):tm(t)?t.defaultView??window:Kd(t)?((e=t.ownerDocument)==null?void 0:e.defaultView)??window:window}function X1(t){let e=t.activeElement;for(;e!=null&&e.shadowRoot;){const r=e.shadowRoot.activeElement;if(r===e)break;e=r}return e}var Wa;class Zf{constructor(e){me(this,"element");C(this,Wa,z(()=>this.element.current?this.element.current.getRootNode()??document:document));me(this,"getDocument",()=>Zl(this.root));me(this,"getWindow",()=>this.getDocument().defaultView??window);me(this,"getActiveElement",()=>X1(this.root));me(this,"isActiveElement",e=>e===this.getActiveElement());me(this,"querySelector",e=>this.root?this.root.querySelector(e):null);me(this,"querySelectorAll",e=>this.root?this.root.querySelectorAll(e):[]);me(this,"setTimeout",(e,r)=>this.getWindow().setTimeout(e,r));me(this,"clearTimeout",e=>this.getWindow().clearTimeout(e));typeof e=="function"?this.element=ke(e):this.element=e}get root(){return a(u(this,Wa))}set root(e){x(u(this,Wa),e)}getElementById(e){return this.root.getElementById(e)}}Wa=new WeakMap;function ts(t,e){return{[My()]:r=>Xl(t)?(t.current=r,tn(()=>e==null?void 0:e(r)),()=>{"isConnected"in r&&r.isConnected||(t.current=null,e==null||e(null))}):(t(r),tn(()=>e==null?void 0:e(r)),()=>{"isConnected"in r&&r.isConnected||(t(null),e==null||e(null))})}}function om(t){return t?"true":"false"}function sm(t){return t?"":void 0}function im(t){return t?"open":"closed"}function Z1(t){return t==="starting"?{"data-starting-style":""}:t==="ending"?{"data-ending-style":""}:{}}var Pi,Ga;class J1{constructor(e){C(this,Pi);C(this,Ga);me(this,"attrs");V(this,Pi,e.getVariant?e.getVariant():null),V(this,Ga,u(this,Pi)?`data-${u(this,Pi)}-`:`data-${e.component}-`),this.getAttr=this.getAttr.bind(this),this.selector=this.selector.bind(this),this.attrs=Object.fromEntries(e.parts.map(r=>[r,this.getAttr(r)]))}getAttr(e,r){return r?`data-${r}-${e}`:`${u(this,Ga)}${e}`}selector(e,r){return`[${this.getAttr(e,r)}]`}}Pi=new WeakMap,Ga=new WeakMap;function am(t){const e=new J1(t);return{...e.attrs,selector:e.selector,getAttr:e.getAttr}}const Ta="ArrowDown",Jf="ArrowLeft",Qf="ArrowRight",Kc="ArrowUp",lm="End",cm="Enter",Q1="Escape",um="Home",e0="PageDown",t0="PageUp",eh=" ",r0="Tab";function n0(t){return window.getComputedStyle(t).getPropertyValue("direction")}function o0(t="ltr",e="horizontal"){return{horizontal:t==="rtl"?Jf:Qf,vertical:Ta}[e]}function s0(t="ltr",e="horizontal"){return{horizontal:t==="rtl"?Qf:Jf,vertical:Kc}[e]}function i0(t="ltr",e="horizontal"){return["ltr","rtl"].includes(t)||(t="ltr"),["horizontal","vertical"].includes(e)||(e="horizontal"),{nextKey:o0(t,e),prevKey:s0(t,e)}}const dm=typeof document<"u",gv=a0();function a0(){var t,e;return dm&&((t=window==null?void 0:window.navigator)==null?void 0:t.userAgent)&&(/iP(ad|hone|od)/.test(window.navigator.userAgent)||((e=window==null?void 0:window.navigator)==null?void 0:e.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function os(t){return t instanceof HTMLElement}function Ca(t){return t instanceof Element}function fm(t){return t instanceof Element||t instanceof SVGElement}function l0(t){return t!==null}function c0(t){return t instanceof HTMLInputElement&&"select"in t}var Nr,po;class u0{constructor(e){C(this,Nr);C(this,po,ei(null));V(this,Nr,e)}getCandidateNodes(){return u(this,Nr).rootNode.current?u(this,Nr).candidateSelector?Array.from(u(this,Nr).rootNode.current.querySelectorAll(u(this,Nr).candidateSelector)):u(this,Nr).candidateAttr?Array.from(u(this,Nr).rootNode.current.querySelectorAll(`[${u(this,Nr).candidateAttr}]:not([data-disabled])`)):[]:[]}focusFirstCandidate(){var r;const e=this.getCandidateNodes();e.length&&((r=e[0])==null||r.focus())}handleKeydown(e,r,n=!1){var m,b;const o=u(this,Nr).rootNode.current;if(!o||!e)return;const s=this.getCandidateNodes();if(!s.length)return;const i=s.indexOf(e),l=n0(o),{nextKey:c,prevKey:d}=i0(l,u(this,Nr).orientation.current),f=u(this,Nr).loop.current,g={[c]:i+1,[d]:i-1,[um]:0,[lm]:s.length-1};if(n){const w=c===Ta?Qf:Ta,$=d===Kc?Jf:Kc;g[w]=i+1,g[$]=i-1}let v=g[r.key];if(v===void 0)return;r.preventDefault(),v<0&&f?v=s.length-1:v===s.length&&f&&(v=0);const p=s[v];if(p)return p.focus(),u(this,po).current=p.id,(b=(m=u(this,Nr)).onCandidateFocus)==null||b.call(m,p),p}getTabIndex(e){const r=this.getCandidateNodes(),n=u(this,po).current!==null;return e&&!n&&r[0]===e?(u(this,po).current=e.id,0):(e==null?void 0:e.id)===u(this,po).current?0:-1}setCurrentTabStopId(e){u(this,po).current=e}focusCurrentTabStop(){var n;const e=u(this,po).current;if(!e)return;const r=(n=u(this,Nr).rootNode.current)==null?void 0:n.querySelector(`#${e}`);!r||!os(r)||r.focus()}}Nr=new WeakMap,po=new WeakMap;var Os,Vn,mo,bo,as,Ud,qd;class d0{constructor(e){C(this,as);C(this,Os);C(this,Vn,null);C(this,mo,null);C(this,bo,0);V(this,Os,e),ri(()=>se(this,as,Ud).call(this))}run(e){se(this,as,Ud).call(this);const r=u(this,Os).ref.current;if(!r)return;if(typeof r.getAnimations!="function"){se(this,as,qd).call(this,e);return}const n=u(this,bo),o=()=>{n===u(this,bo)&&se(this,as,qd).call(this,e)},s=()=>{if(n!==u(this,bo))return;const l=r.getAnimations();if(l.length===0){o();return}Promise.all(l.map(c=>c.finished)).then(()=>{o()}).catch(()=>{if(n!==u(this,bo))return;if(r.getAnimations().some(f=>f.pending||f.playState!=="finished")){s();return}o()})},i=()=>{V(this,Vn,window.requestAnimationFrame(()=>{V(this,Vn,null),s()}))};if(!u(this,Os).afterTick.current){i();return}V(this,Vn,window.requestAnimationFrame(()=>{V(this,Vn,null);const l="data-starting-style";if(!r.hasAttribute(l)){i();return}V(this,mo,new MutationObserver(()=>{var c;n===u(this,bo)&&(r.hasAttribute(l)||((c=u(this,mo))==null||c.disconnect(),V(this,mo,null),i()))})),u(this,mo).observe(r,{attributes:!0,attributeFilter:[l]})}))}}Os=new WeakMap,Vn=new WeakMap,mo=new WeakMap,bo=new WeakMap,as=new WeakSet,Ud=function(){var e;u(this,Vn)!==null&&(window.cancelAnimationFrame(u(this,Vn)),V(this,Vn,null)),(e=u(this,mo))==null||e.disconnect(),V(this,mo,null),Ch(this,bo)._++},qd=function(e){const r=()=>{e()};u(this,Os).afterTick?Gn(r):r()};var Ur,Ha,Ka,yo,xo,Ua,Ho,qa,Yd;class f0{constructor(e){C(this,qa);C(this,Ur);C(this,Ha);C(this,Ka);C(this,yo,fe(!1));C(this,xo,fe(void 0));C(this,Ua,!1);C(this,Ho,null);V(this,Ur,e),x(u(this,yo),e.open.current,!0),V(this,Ha,e.enabled??!0),V(this,Ka,new d0({ref:u(this,Ur).ref,afterTick:u(this,Ur).open})),ri(()=>se(this,qa,Yd).call(this)),cn(()=>u(this,Ur).open.current,r=>{var n,o,s,i,l,c;if(!u(this,Ua)){V(this,Ua,!0);return}if(se(this,qa,Yd).call(this),!r&&((o=(n=u(this,Ur)).shouldSkipExitAnimation)!=null&&o.call(n))){x(u(this,yo),!1),x(u(this,xo),void 0),(i=(s=u(this,Ur)).onComplete)==null||i.call(s);return}if(r&&x(u(this,yo),!0),x(u(this,xo),r?"starting":"ending",!0),r&&V(this,Ho,window.requestAnimationFrame(()=>{V(this,Ho,null),u(this,Ur).open.current&&x(u(this,xo),void 0)})),!u(this,Ha)){r||x(u(this,yo),!1),x(u(this,xo),void 0),(c=(l=u(this,Ur)).onComplete)==null||c.call(l);return}u(this,Ka).run(()=>{var d,f;r===u(this,Ur).open.current&&(u(this,Ur).open.current||x(u(this,yo),!1),x(u(this,xo),void 0),(f=(d=u(this,Ur)).onComplete)==null||f.call(d))})})}get shouldRender(){return a(u(this,yo))}get transitionStatus(){return a(u(this,xo))}}Ur=new WeakMap,Ha=new WeakMap,Ka=new WeakMap,yo=new WeakMap,xo=new WeakMap,Ua=new WeakMap,Ho=new WeakMap,qa=new WeakSet,Yd=function(){u(this,Ho)!==null&&(window.cancelAnimationFrame(u(this,Ho)),V(this,Ho,null))};function pr(){}function Jl(t,e){return`bits-${t}`}function h0(t,e){var r=Z(),n=_(r);Qg(n,()=>e.children,o=>{var s=Z(),i=_(s);it(i,()=>e.children??rt),h(o,s)}),h(t,r)}const v0=new ti("BitsConfig");function g0(){const t=new p0(null,{});return v0.getOr(t).opts}class p0{constructor(e,r){me(this,"opts");const n=m0(e,r);this.opts={defaultPortalTo:n(o=>o.defaultPortalTo),defaultLocale:n(o=>o.defaultLocale)}}}function m0(t,e){return r=>ke(()=>{var s,i;const o=(s=r(e))==null?void 0:s.current;if(o!==void 0)return o;if(t!==null)return(i=r(t.opts))==null?void 0:i.current})}function b0(t,e){return r=>{const n=g0();return ke(()=>{const o=r();if(o!==void 0)return o;const s=t(n).current;return s!==void 0?s:e})}}const y0=b0(t=>t.defaultPortalTo,"body");function x0(t,e){Ve(e,!0);const r=y0(()=>e.to),n=Jb();let o=z(s);function s(){if(!dm||e.disabled)return null;let g=null;return typeof r.current=="string"?g=document.querySelector(r.current):g=r.current,g}let i;function l(){i&&(jy(i),i=null)}cn([()=>a(o),()=>e.disabled],([g,v])=>{if(!g||v){l();return}return i=Jg(h0,{target:g,props:{children:e.children},context:n}),()=>{l()}});var c=Z(),d=_(c);{var f=g=>{var v=Z(),p=_(v);it(p,()=>e.children??rt),h(g,v)};ye(d,g=>{e.disabled&&g(f)})}h(t,c),je()}class w0{constructor(e,r={bubbles:!0,cancelable:!0}){me(this,"eventName");me(this,"options");this.eventName=e,this.options=r}createEvent(e){return new CustomEvent(this.eventName,{...this.options,detail:e})}dispatch(e,r){const n=this.createEvent(r);return e.dispatchEvent(n),n}listen(e,r,n){const o=s=>{r(s)};return zr(e,this.eventName,o,n)}}function pv(t,e=500){let r=null;const n=(...o)=>{r!==null&&clearTimeout(r),r=setTimeout(()=>{t(...o)},e)};return n.destroy=()=>{r!==null&&(clearTimeout(r),r=null)},n}function hm(t,e){return t===e||t.contains(e)}function vm(t){return(t==null?void 0:t.ownerDocument)??document}function _0(t,e){const{clientX:r,clientY:n}=t,o=e.getBoundingClientRect();return ro.right||no.bottom}const k0=[cm,eh],$0=[Ta,t0,um],gm=[Kc,e0,lm],S0=[...$0,...gm];function lo(t){return t.pointerType==="mouse"}function P0(t,{select:e=!1}={}){if(!t||!t.focus)return;const r=Zl(t);if(r.activeElement===t)return;const n=r.activeElement;t.focus({preventScroll:!0}),t!==n&&c0(t)&&e&&t.select()}function C0(t,{select:e=!1}={},r){const n=r();for(const o of t)if(P0(o,{select:e}),r()!==n)return!0}let ia=fe(!1);const un=class un{constructor(){ur(()=>(un._refs===0&&(un._cleanup=Rg(()=>{const e=[],r=o=>{x(ia,!1)},n=o=>{x(ia,!0)};return e.push(zr(document,"pointerdown",r,{capture:!0}),zr(document,"pointermove",r,{capture:!0}),zr(document,"keydown",n,{capture:!0})),fi(...e)})),un._refs++,()=>{var e;un._refs--,un._refs===0&&(x(ia,!1),(e=un._cleanup)==null||e.call(un))}))}get current(){return a(ia)}set current(e){x(ia,e,!0)}};me(un,"_refs",0),me(un,"_cleanup");let Xd=un;/*! +* tabbable 6.5.0 +* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE +*/var pm=["input:not([inert]):not([inert] *)","select:not([inert]):not([inert] *)","textarea:not([inert]):not([inert] *)","a[href]:not([inert]):not([inert] *)","area[href]:not([inert]):not([inert] *)","button:not([inert]):not([inert] *)","[tabindex]:not(slot):not([inert]):not([inert] *)","audio[controls]:not([inert]):not([inert] *)","video[controls]:not([inert]):not([inert] *)",'[contenteditable]:not([contenteditable="false"]):not([inert]):not([inert] *)',"details>summary:first-of-type:not([inert]):not([inert] *)","details:not([inert]):not([inert] *)"],Uc=pm.join(","),mm=typeof Element>"u",Ks=mm?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,qc=!mm&&Element.prototype.getRootNode?function(t){var e;return t==null||(e=t.getRootNode)===null||e===void 0?void 0:e.call(t)}:function(t){return t==null?void 0:t.ownerDocument},Yc=function(e,r){var n;r===void 0&&(r=!0);var o=e==null||(n=e.getAttribute)===null||n===void 0?void 0:n.call(e,"inert"),s=o===""||o==="true",i=s||r&&e&&(typeof e.closest=="function"?e.closest("[inert]"):Yc(e.parentNode));return i},A0=function(e){var r,n=e==null||(r=e.getAttribute)===null||r===void 0?void 0:r.call(e,"contenteditable");return n===""||n==="true"},bm=function(e,r,n){if(Yc(e))return[];var o=Array.prototype.slice.apply(e.querySelectorAll(Uc));return r&&Ks.call(e,Uc)&&o.unshift(e),o=o.filter(n),o},Xc=function(e,r,n){for(var o=[],s=Array.from(e);s.length;){var i=s.shift();if(!Yc(i,!1))if(i.tagName==="SLOT"){var l=i.assignedElements(),c=l.length?l:i.children,d=Xc(c,!0,n);n.flatten?o.push.apply(o,d):o.push({scopeParent:i,candidates:d})}else{var f=Ks.call(i,Uc);f&&n.filter(i)&&(r||!e.includes(i))&&o.push(i);var g=i.shadowRoot||typeof n.getShadowRoot=="function"&&n.getShadowRoot(i),v=!Yc(g,!1)&&(!n.shadowRootFilter||n.shadowRootFilter(i));if(g&&v){var p=Xc(g===!0?i.children:g.children,!0,n);n.flatten?o.push.apply(o,p):o.push({scopeParent:i,candidates:p})}else s.unshift.apply(s,i.children)}}return o},ym=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},xm=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||A0(e))&&!ym(e)?0:e.tabIndex},E0=function(e,r){var n=xm(e);return n<0&&r&&!ym(e)?0:n},T0=function(e,r){return e.tabIndex===r.tabIndex?e.documentOrder-r.documentOrder:e.tabIndex-r.tabIndex},wm=function(e){return e.tagName==="INPUT"},M0=function(e){return wm(e)&&e.type==="hidden"},O0=function(e){var r=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(n){return n.tagName==="SUMMARY"});return r},z0=function(e,r){for(var n=0;nsummary:first-of-type"),d=c?e.parentElement:e;if(Ks.call(d,"details:not([open]) *"))return!0;if(!n||n==="full"||n==="full-native"||n==="legacy-full"){if(typeof o=="function"){for(var f=e;e;){var g=e.parentElement,v=qc(e);if(g&&!g.shadowRoot&&o(g)===!0)return mv(e);e.assignedSlot?e=e.assignedSlot:!g&&v!==e.ownerDocument?e=v.host:e=g}e=f}if(F0(e))return!e.getClientRects().length;if(n!=="legacy-full")return!0}else if(n==="non-zero-area")return mv(e);return!1},D0=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var r=e.parentElement;r;){if(r.tagName==="FIELDSET"&&r.disabled){for(var n=0;n=0)},_m=function(e){var r=[],n=[];return e.forEach(function(o,s){var i=!!o.scopeParent,l=i?o.scopeParent:o,c=E0(l,i),d=i?_m(o.candidates):l;c===0?i?r.push.apply(r,d):r.push(l):n.push({documentOrder:s,tabIndex:c,item:o,isScope:i,content:d})}),n.sort(T0).reduce(function(o,s){return s.isScope?o.push.apply(o,s.content):o.push(s.content),o},[]).concat(r)},km=function(e,r){r=r||{};var n;return r.getShadowRoot?n=Xc([e],r.includeContainer,{filter:Zd.bind(null,r),flatten:!1,getShadowRoot:r.getShadowRoot,shadowRootFilter:B0}):n=bm(e,r.includeContainer,Zd.bind(null,r)),_m(n)},$m=function(e,r){r=r||{};var n;return r.getShadowRoot?n=Xc([e],r.includeContainer,{filter:Zc.bind(null,r),flatten:!0,getShadowRoot:r.getShadowRoot}):n=bm(e,r.includeContainer,Zc.bind(null,r)),n},th=function(e,r){if(r=r||{},!e)throw new Error("No node provided");return Ks.call(e,Uc)===!1?!1:Zd(r,e)},V0=pm.concat("iframe:not([inert]):not([inert] *)").join(","),Sm=function(e,r){if(r=r||{},!e)throw new Error("No node provided");return Ks.call(e,V0)===!1?!1:Zc(r,e)};function Aa(){return{getShadowRoot:!0,displayCheck:typeof ResizeObserver=="function"&&ResizeObserver.toString().includes("[native code]")?"full":"none"}}function j0(t,e){if(!th(t,Aa()))return W0(t,e);const r=Zl(t),n=km(r.body,Aa());e==="prev"&&n.reverse();const o=n.indexOf(t);return o===-1?r.body:n.slice(o+1)[0]}function W0(t,e){const r=Zl(t);if(!Sm(t,Aa()))return r.body;const n=$m(r.body,Aa());e==="prev"&&n.reverse();const o=n.indexOf(t);return o===-1?r.body:n.slice(o+1).find(i=>th(i,Aa()))??r.body}function Pm(t,e,r){const n=e.toLowerCase();if(n.endsWith(" ")){const g=n.slice(0,-1);if(t.filter(b=>b.toLowerCase().startsWith(g)).length<=1)return Pm(t,g,r);const p=r==null?void 0:r.toLowerCase();if(p&&p.startsWith(g)&&p.charAt(g.length)===" "&&e.trim()===g)return r;const m=t.filter(b=>b.toLowerCase().startsWith(n));if(m.length>0){const b=r?t.indexOf(r):-1;return bv(m,Math.max(b,0)).find(I=>I!==r)||r}}const s=e.length>1&&Array.from(e).every(g=>g===e[0])?e[0]:e,i=s.toLowerCase(),l=r?t.indexOf(r):-1;let c=bv(t,Math.max(l,0));s.length===1&&(c=c.filter(g=>g!==r));const f=c.find(g=>g==null?void 0:g.toLowerCase().startsWith(i));return f!==r?f:void 0}function bv(t,e){return t.map((r,n)=>t[(e+n)%t.length])}const G0={afterMs:1e4,onChange:pr};function H0(t,e){const{afterMs:r,onChange:n,getWindow:o}={...G0,...e};let s=null,i=fe(kr(t));function l(){return o().setTimeout(()=>{x(i,t,!0),n==null||n(t)},r)}return ur(()=>()=>{s&&o().clearTimeout(s)}),ke(()=>a(i),c=>{x(i,c,!0),n==null||n(c),s&&o().clearTimeout(s),s=l()})}var wo,_o,fu,hu;class K0{constructor(e){C(this,wo);C(this,_o);C(this,fu,z(()=>u(this,wo).onMatch?u(this,wo).onMatch:e=>e.focus()));C(this,hu,z(()=>u(this,wo).getCurrentItem?u(this,wo).getCurrentItem:u(this,wo).getActiveElement));V(this,wo,e),V(this,_o,H0("",{afterMs:1e3,getWindow:e.getWindow})),this.handleTypeaheadSearch=this.handleTypeaheadSearch.bind(this),this.resetTypeahead=this.resetTypeahead.bind(this)}handleTypeaheadSearch(e,r){var c,d;if(!r.length)return;u(this,_o).current=u(this,_o).current+e;const n=a(u(this,hu))(),o=((d=(c=r.find(f=>f===n))==null?void 0:c.textContent)==null?void 0:d.trim())??"",s=r.map(f=>{var g;return((g=f.textContent)==null?void 0:g.trim())??""}),i=Pm(s,u(this,_o).current,o),l=r.find(f=>{var g;return((g=f.textContent)==null?void 0:g.trim())===i});return l&&a(u(this,fu))(l),l}resetTypeahead(){u(this,_o).current=""}get search(){return u(this,_o).current}}wo=new WeakMap,_o=new WeakMap,fu=new WeakMap,hu=new WeakMap;const U0="data-context-menu-trigger",q0="data-context-menu-content",Cm=new ti("Menu.Root"),rh=new ti("Menu.Root | Menu.Sub"),Am=new ti("Menu.Content"),Y0=new w0("bitsmenuopen",{bubbles:!1,cancelable:!0}),X0=am({component:"menu",parts:["trigger","content","sub-trigger","item","group","group-heading","checkbox-group","checkbox-item","radio-group","radio-item","separator","sub-content","arrow"]});var er,zs,Ko,qr,gn,Is,ko,Ci,De,Em,Sc,Jd,Qd,ef,Uo,_a,Pc,ka,Cc,Tm,Ya,Mm,Ac,Ec,li,Tc;class Z0{constructor(e){C(this,De);C(this,er);C(this,zs,null);C(this,Ko,null);C(this,qr,!1);C(this,gn,null);C(this,Is,null);C(this,ko,null);C(this,Ci,null);C(this,Uo,null);C(this,Ya,e=>{if(!u(this,qr)||!u(this,gn)||!lo(e))return;const r=u(this,er).triggerNode(),n=u(this,er).contentNode();if(!r||!n){se(this,De,ka).call(this);return}se(this,De,li).call(this);const o={x:e.clientX,y:e.clientY};V(this,ko,o);const s=r.getBoundingClientRect(),i=n.getBoundingClientRect();if(u(this,gn)==="content"&&xv(o,i)){se(this,De,_a).call(this);return}if(u(this,gn)==="trigger"&&J0(o,s,4)){se(this,De,_a).call(this);return}if(se(this,De,Tm).call(this,o)){se(this,De,Ec).call(this);return}const l=se(this,De,Sc).call(this,o,u(this,gn));if(!l){se(this,De,ka).call(this);return}if(se(this,De,Jd).call(this,o,l.corridor,l.intent)){se(this,De,Ec).call(this);return}se(this,De,ka).call(this)});V(this,er,e),cn([e.triggerNode,e.contentNode,e.enabled],([r,n,o])=>{if(se(this,De,Cc).call(this),!r||!n||!o)return;const s=g=>{lo(g)&&(V(this,Ci,{x:g.clientX,y:g.clientY}),u(this,qr)||se(this,De,Qd).call(this,g,"content"))},i=g=>{lo(g)&&se(this,De,ef).call(this,g,"content")},l=g=>{lo(g)&&(u(this,qr)||se(this,De,Qd).call(this,g,"trigger"))},c=g=>{if(lo(g)){if(Ca(g.relatedTarget)){const v=u(this,er).subContentSelector(),p=g.relatedTarget.closest(v);if(p&&p!==n&&p.id&&!!n.querySelector(`[aria-controls="${p.id}"]`))return}se(this,De,ef).call(this,g,"trigger")}},d=g=>{lo(g)&&se(this,De,_a).call(this)},f=g=>{lo(g)&&se(this,De,_a).call(this)};return r.addEventListener("pointermove",s),r.addEventListener("pointerleave",i),r.addEventListener("pointerenter",d),n.addEventListener("pointermove",l),n.addEventListener("pointerleave",c),n.addEventListener("pointerenter",f),()=>{r.removeEventListener("pointermove",s),r.removeEventListener("pointerleave",i),r.removeEventListener("pointerenter",d),n.removeEventListener("pointermove",l),n.removeEventListener("pointerleave",c),n.removeEventListener("pointerenter",f),se(this,De,Cc).call(this)}}),ri(()=>{se(this,De,Cc).call(this)})}}er=new WeakMap,zs=new WeakMap,Ko=new WeakMap,qr=new WeakMap,gn=new WeakMap,Is=new WeakMap,ko=new WeakMap,Ci=new WeakMap,De=new WeakSet,Em=function(){var r;const e=u(this,er).parentContentNode();return e?e.getBoundingClientRect():((r=u(this,er).triggerNode())==null?void 0:r.getBoundingClientRect())??null},Sc=function(e,r){const n=u(this,er).triggerNode(),o=u(this,er).contentNode();if(!n||!o)return null;const s=n.getBoundingClientRect(),i=o.getBoundingClientRect(),l=Q0(s,i);let c,d,f;return r==="content"?(c=u(this,qr)?u(this,Is)??e:e,d=i):(c=u(this,Ci)??e,d=se(this,De,Em).call(this)??s,f=i),V(this,Is,c),{corridor:e2(s,i,l),intent:t2(c,d,l,r,f),targetRect:d,side:l}},Jd=function(e,r,n){return yv(e,r)||yv(e,n)},Qd=function(e,r){const n={x:e.clientX,y:e.clientY};se(this,De,Sc).call(this,n,r)&&(V(this,gn,r),V(this,ko,n))},ef=function(e,r){if(!u(this,er).enabled())return;const n=u(this,er).triggerNode(),o=u(this,er).contentNode();if(!n||!o)return;const s=e.relatedTarget;if(Ca(s)&&(r==="content"&&o.contains(s)||r==="trigger"&&n.contains(s)))return;const i={x:e.clientX,y:e.clientY},l=se(this,De,Sc).call(this,i,r);if(l){if(!xv(i,l.targetRect)&&!se(this,De,Jd).call(this,i,l.corridor,l.intent)){se(this,De,Tc).call(this);return}V(this,qr,!0),V(this,gn,r),V(this,ko,i),u(this,er).setIsPointerInTransit(!0),se(this,De,Mm).call(this),se(this,De,Ec).call(this)}},Uo=new WeakMap,_a=function(){if(!u(this,qr))return;const e=u(this,gn)==="trigger";se(this,De,Ac).call(this),se(this,De,li).call(this),V(this,qr,!1),se(this,De,Tc).call(this),e?(se(this,De,Pc).call(this),V(this,Uo,setTimeout(()=>{V(this,Uo,null),u(this,er).setIsPointerInTransit(!1)},100))):u(this,er).setIsPointerInTransit(!1)},Pc=function(){u(this,Uo)!==null&&(clearTimeout(u(this,Uo)),V(this,Uo,null))},ka=function(){const e=u(this,ko);se(this,De,Ac).call(this),se(this,De,li).call(this),se(this,De,Pc).call(this),V(this,qr,!1),u(this,er).setIsPointerInTransit(!1),se(this,De,Tc).call(this),u(this,er).onIntentExit(e)},Cc=function(){se(this,De,Ac).call(this),se(this,De,li).call(this),se(this,De,Pc).call(this),u(this,qr)&&u(this,er).setIsPointerInTransit(!1),V(this,qr,!1),V(this,gn,null),V(this,Is,null),V(this,ko,null),V(this,Ci,null)},Tm=function(e){const r=u(this,er).contentNode();if(!r)return!1;const o=r.ownerDocument.elementFromPoint(e.x,e.y);if(!o)return!1;const s=u(this,er).subContentSelector(),i=o.closest(s);return!i||i===r?!1:i.id?!!r.querySelector(`[aria-controls="${i.id}"]`):!1},Ya=new WeakMap,Mm=function(){if(u(this,zs))return;const e=Zl(u(this,er).triggerNode()??u(this,er).contentNode());e&&(e.addEventListener("pointermove",u(this,Ya),!0),V(this,zs,()=>{e.removeEventListener("pointermove",u(this,Ya),!0),V(this,zs,null)}))},Ac=function(){var e;(e=u(this,zs))==null||e.call(this)},Ec=function(){se(this,De,li).call(this),V(this,Ko,setTimeout(()=>{V(this,Ko,null),u(this,qr)&&se(this,De,ka).call(this)},500))},li=function(){u(this,Ko)!==null&&(clearTimeout(u(this,Ko)),V(this,Ko,null))},Tc=function(){V(this,gn,null),V(this,Is,null),V(this,ko,null)};function yv(t,e){const{x:r,y:n}=t;let o=!1;for(let s=0,i=e.length-1;sn!=f>n&&r<(d-l)*(n-c)/(f-c)+l&&(o=!o)}return o}function xv(t,e){return t.x>=e.left&&t.x<=e.right&&t.y>=e.top&&t.y<=e.bottom}function J0(t,e,r){return t.x>=e.left+r&&t.x<=e.right-r&&t.y>=e.top+r&&t.y<=e.bottom-r}function Q0(t,e){const r=t.left+t.width/2,n=t.top+t.height/2,o=e.left+e.width/2,s=e.top+e.height/2,i=o-r,l=s-n;return Math.abs(i)>Math.abs(l)?i>0?"right":"left":l>0?"bottom":"top"}function e2(t,e,r){switch(r){case"top":return[{x:Math.min(t.left,e.left)-2,y:t.top},{x:Math.min(t.left,e.left)-2,y:e.bottom},{x:Math.max(t.right,e.right)+2,y:e.bottom},{x:Math.max(t.right,e.right)+2,y:t.top}];case"bottom":return[{x:Math.min(t.left,e.left)-2,y:t.bottom},{x:Math.min(t.left,e.left)-2,y:e.top},{x:Math.max(t.right,e.right)+2,y:e.top},{x:Math.max(t.right,e.right)+2,y:t.bottom}];case"left":return[{x:t.left,y:Math.min(t.top,e.top)-2},{x:e.right,y:Math.min(t.top,e.top)-2},{x:e.right,y:Math.max(t.bottom,e.bottom)+2},{x:t.left,y:Math.max(t.bottom,e.bottom)+2}];case"right":return[{x:t.right,y:Math.min(t.top,e.top)-2},{x:e.left,y:Math.min(t.top,e.top)-2},{x:e.left,y:Math.max(t.bottom,e.bottom)+2},{x:t.right,y:Math.max(t.bottom,e.bottom)+2}]}}function t2(t,e,r,n,o){const i=n==="trigger"?r2(r):r,l=o?Math.min(e.top,o.top)-8:e.top-8,c=o?Math.max(e.bottom,o.bottom)+8:e.bottom+8,d=o?Math.min(e.left,o.left)-8:e.left-8,f=o?Math.max(e.right,o.right)+8:e.right+8;switch(i){case"right":return[t,{x:e.left,y:l},{x:e.left,y:c}];case"left":return[t,{x:e.right,y:l},{x:e.right,y:c}];case"bottom":return[t,{x:d,y:e.top},{x:f,y:e.top}];case"top":return[t,{x:d,y:e.bottom},{x:f,y:e.bottom}]}}function r2(t){switch(t){case"top":return"bottom";case"bottom":return"top";case"left":return"right";case"right":return"left"}}var Xa,Za;const gh=class gh{constructor(e){me(this,"opts");me(this,"isUsingKeyboard",new Xd);C(this,Xa,fe(!1));C(this,Za,fe(!1));me(this,"getBitsAttr",e=>X0.getAttr(e,this.opts.variant.current));this.opts=e}static create(e){const r=new gh(e);return Cm.set(r)}get ignoreCloseAutoFocus(){return a(u(this,Xa))}set ignoreCloseAutoFocus(e){x(u(this,Xa),e,!0)}get isPointerInTransit(){return a(u(this,Za))}set isPointerInTransit(e){x(u(this,Za),e,!0)}};Xa=new WeakMap,Za=new WeakMap;let tf=gh;var Ja,Qa;const ph=class ph{constructor(e,r,n){me(this,"opts");me(this,"root");me(this,"parentMenu");me(this,"contentId",ke(()=>""));C(this,Ja,fe(null));me(this,"contentPresence");C(this,Qa,fe(null));this.opts=e,this.root=r,this.parentMenu=n,this.contentPresence=new f0({ref:ke(()=>this.contentNode),open:this.opts.open,onComplete:()=>{this.opts.onOpenChangeComplete.current(this.opts.open.current)},shouldSkipExitAnimation:()=>{var o,s;return this.root.opts.variant.current!=="menubar"||this.parentMenu!==null?!1:((s=(o=this.root.opts).shouldSkipExitAnimation)==null?void 0:s.call(o))??!1}}),n&&cn(()=>n.opts.open.current,()=>{n.opts.open.current||(this.opts.open.current=!1)})}static create(e,r){return rh.set(new ph(e,r,null))}get contentNode(){return a(u(this,Ja))}set contentNode(e){x(u(this,Ja),e,!0)}get triggerNode(){return a(u(this,Qa))}set triggerNode(e){x(u(this,Qa),e,!0)}toggleOpen(){this.opts.open.current=!this.opts.open.current}onOpen(){this.opts.open.current=!0}onClose(){this.opts.open.current=!1}};Ja=new WeakMap,Qa=new WeakMap;let rf=ph;var el,tl,rl,nl,ol,Qn,Om,Mc,zm,sl,il;const mh=class mh{constructor(e,r){C(this,Qn);me(this,"opts");me(this,"parentMenu");me(this,"rovingFocusGroup");me(this,"domContext");me(this,"attachment");C(this,el,fe(""));C(this,tl,0);C(this,rl);C(this,nl,fe(!1));C(this,ol);me(this,"onCloseAutoFocus",e=>{var r,n;if((n=(r=this.opts.onCloseAutoFocus).current)==null||n.call(r,e),!(e.defaultPrevented||u(this,ol))){if(this.parentMenu.root.ignoreCloseAutoFocus){e.preventDefault();return}this.parentMenu.triggerNode&&th(this.parentMenu.triggerNode)&&(e.preventDefault(),this.parentMenu.triggerNode.focus())}});C(this,sl,z(()=>({open:this.parentMenu.opts.open.current})));C(this,il,z(()=>({id:this.opts.id.current,role:"menu","aria-orientation":"vertical",[this.parentMenu.root.getBitsAttr("content")]:"","data-state":im(this.parentMenu.opts.open.current),...Z1(this.parentMenu.contentPresence.transitionStatus),onkeydown:this.onkeydown,onblur:this.onblur,onfocus:this.onfocus,dir:this.parentMenu.root.opts.dir.current,style:{pointerEvents:"auto",contain:"layout style"},...this.attachment})));me(this,"popperProps",{onCloseAutoFocus:e=>this.onCloseAutoFocus(e)});this.opts=e,this.parentMenu=r,this.domContext=new Zf(e.ref),this.attachment=ts(this.opts.ref,n=>{this.parentMenu.contentNode!==n&&(this.parentMenu.contentNode=n)}),r.contentId=e.id,V(this,ol,e.isSub??!1),this.onkeydown=this.onkeydown.bind(this),this.onblur=this.onblur.bind(this),this.onfocus=this.onfocus.bind(this),this.handleInteractOutside=this.handleInteractOutside.bind(this),new Z0({contentNode:()=>this.parentMenu.contentNode,triggerNode:()=>this.parentMenu.triggerNode,parentContentNode:()=>{var n;return((n=this.parentMenu.parentMenu)==null?void 0:n.contentNode)??null},subContentSelector:()=>`[${this.parentMenu.root.getBitsAttr("sub-content")}]`,enabled:()=>{var n;return this.parentMenu.opts.open.current&&!!((n=this.parentMenu.triggerNode)!=null&&n.hasAttribute(this.parentMenu.root.getBitsAttr("sub-trigger")))},onIntentExit:n=>{this.parentMenu.opts.open.current=!1,se(this,Qn,zm).call(this,n)},setIsPointerInTransit:n=>{this.parentMenu.root.isPointerInTransit=n}}),V(this,rl,new K0({getActiveElement:()=>this.domContext.getActiveElement(),getWindow:()=>this.domContext.getWindow()}).handleTypeaheadSearch),this.rovingFocusGroup=new u0({rootNode:ke(()=>this.parentMenu.contentNode),candidateAttr:this.parentMenu.root.getBitsAttr("item"),loop:this.opts.loop,orientation:ke(()=>"vertical")}),cn(()=>this.parentMenu.contentNode,n=>{if(!n)return;const o=()=>{Gn(()=>{this.parentMenu.root.isUsingKeyboard.current&&this.rovingFocusGroup.focusFirstCandidate()})};return Y0.listen(n,o)}),ur(()=>{this.parentMenu.opts.open.current||this.domContext.getWindow().clearTimeout(u(this,tl))})}static create(e){return Am.set(new mh(e,rh.get()))}get search(){return a(u(this,el))}set search(e){x(u(this,el),e,!0)}get mounted(){return a(u(this,nl))}set mounted(e){x(u(this,nl),e,!0)}handleTabKeyDown(e){let r=this.parentMenu;for(;r.parentMenu!==null;)r=r.parentMenu;if(!r.triggerNode)return;e.preventDefault();const n=j0(r.triggerNode,e.shiftKey?"prev":"next");n?(this.parentMenu.root.ignoreCloseAutoFocus=!0,r.onClose(),Gn(()=>{n.focus(),Gn(()=>{this.parentMenu.root.ignoreCloseAutoFocus=!1})})):this.domContext.getDocument().body.focus()}onkeydown(e){var d,f;if(e.defaultPrevented)return;if(e.key===r0){this.handleTabKeyDown(e);return}const r=e.target,n=e.currentTarget;if(!os(r)||!os(n))return;const o=((d=r.closest(`[${this.parentMenu.root.getBitsAttr("content")}]`))==null?void 0:d.id)===this.parentMenu.contentId.current,s=e.ctrlKey||e.altKey||e.metaKey,i=e.key.length===1;if(this.rovingFocusGroup.handleKeydown(r,e)||e.code==="Space")return;const c=se(this,Qn,Om).call(this);o&&!s&&i&&u(this,rl).call(this,e.key,c),((f=e.target)==null?void 0:f.id)===this.parentMenu.contentId.current&&S0.includes(e.key)&&(e.preventDefault(),gm.includes(e.key)&&c.reverse(),C0(c,{select:!1},()=>this.domContext.getActiveElement()))}onblur(e){var r,n;Ca(e.currentTarget)&&Ca(e.target)&&((n=(r=e.currentTarget).contains)!=null&&n.call(r,e.target)||(this.domContext.getWindow().clearTimeout(u(this,tl)),this.search=""))}onfocus(e){this.parentMenu.root.isUsingKeyboard.current&&Gn(()=>this.rovingFocusGroup.focusFirstCandidate())}onItemEnter(){return se(this,Qn,Mc).call(this)}onItemLeave(e){if(e.currentTarget.hasAttribute(this.parentMenu.root.getBitsAttr("sub-trigger"))||se(this,Qn,Mc).call(this)||this.parentMenu.root.isUsingKeyboard.current)return;const r=this.parentMenu.contentNode;r==null||r.focus({preventScroll:!0}),this.rovingFocusGroup.setCurrentTabStopId("")}onTriggerLeave(){return!!se(this,Qn,Mc).call(this)}handleInteractOutside(e){var n;if(!fm(e.target))return;const r=(n=this.parentMenu.triggerNode)==null?void 0:n.id;if(e.target.id===r){e.preventDefault();return}if(e.target.closest(`#${r}`)){e.preventDefault();return}this.parentMenu.root.ignoreCloseAutoFocus=!0,Gn(()=>{this.parentMenu.root.ignoreCloseAutoFocus=!1})}get shouldRender(){return this.parentMenu.contentPresence.shouldRender}get snippetProps(){return a(u(this,sl))}set snippetProps(e){x(u(this,sl),e)}get props(){return a(u(this,il))}set props(e){x(u(this,il),e)}};el=new WeakMap,tl=new WeakMap,rl=new WeakMap,nl=new WeakMap,ol=new WeakMap,Qn=new WeakSet,Om=function(){const e=this.parentMenu.contentNode;return e?Array.from(e.querySelectorAll(`[${this.parentMenu.root.getBitsAttr("item")}]:not([data-disabled])`)):[]},Mc=function(){return this.parentMenu.root.isPointerInTransit},zm=function(e){var s;if(!e)return;const r=(s=this.parentMenu.parentMenu)==null?void 0:s.contentNode;if(!r)return;const n=this.domContext.getDocument().elementFromPoint(e.x,e.y);if(!Ca(n))return;const o=n.closest(`[${this.parentMenu.root.getBitsAttr("sub-trigger")}]`);!o||!r.contains(o)||o!==this.parentMenu.triggerNode&&o.dispatchEvent(new PointerEvent("pointermove",{bubbles:!0,cancelable:!0,pointerType:"mouse",clientX:e.x,clientY:e.y}))},sl=new WeakMap,il=new WeakMap;let nf=mh;var Ai,al;class n2{constructor(e,r){me(this,"opts");me(this,"content");me(this,"attachment");C(this,Ai,fe(!1));C(this,al,z(()=>({id:this.opts.id.current,tabindex:-1,role:"menuitem","aria-disabled":om(this.opts.disabled.current),"data-disabled":sm(this.opts.disabled.current),"data-highlighted":a(u(this,Ai))?"":void 0,[this.content.parentMenu.root.getBitsAttr("item")]:"",onpointermove:this.onpointermove,onpointerleave:this.onpointerleave,onfocus:this.onfocus,onblur:this.onblur,...this.attachment})));this.opts=e,this.content=r,this.attachment=ts(this.opts.ref),this.onpointermove=this.onpointermove.bind(this),this.onpointerleave=this.onpointerleave.bind(this),this.onfocus=this.onfocus.bind(this),this.onblur=this.onblur.bind(this)}onpointermove(e){if(!e.defaultPrevented&&lo(e))if(this.opts.disabled.current)this.content.onItemLeave(e);else{if(this.content.onItemEnter())return;const n=e.currentTarget;if(!os(n))return;n.focus({preventScroll:!0})}}onpointerleave(e){e.defaultPrevented||lo(e)&&this.content.onItemLeave(e)}onfocus(e){Gn(()=>{e.defaultPrevented||this.opts.disabled.current||x(u(this,Ai),!0)})}onblur(e){Gn(()=>{e.defaultPrevented||x(u(this,Ai),!1)})}get props(){return a(u(this,al))}set props(e){x(u(this,al),e)}}Ai=new WeakMap,al=new WeakMap;var ll,vu,Im,cl;const bh=class bh{constructor(e,r){C(this,vu);me(this,"opts");me(this,"item");me(this,"root");C(this,ll,!1);C(this,cl,z(()=>Jn(this.item.props,{onclick:this.onclick,onpointerdown:this.onpointerdown,onpointerup:this.onpointerup,onkeydown:this.onkeydown})));this.opts=e,this.item=r,this.root=r.content.parentMenu.root,this.onkeydown=this.onkeydown.bind(this),this.onclick=this.onclick.bind(this),this.onpointerdown=this.onpointerdown.bind(this),this.onpointerup=this.onpointerup.bind(this)}static create(e){const r=new n2(e,Am.get());return new bh(e,r)}onkeydown(e){const r=this.item.content.search!=="";if(!(this.item.opts.disabled.current||r&&e.key===eh)&&k0.includes(e.key)){if(!os(e.currentTarget))return;e.currentTarget.click(),e.preventDefault()}}onclick(e){this.item.opts.disabled.current||se(this,vu,Im).call(this)}onpointerup(e){var r;if(!e.defaultPrevented&&!u(this,ll)){if(!os(e.currentTarget))return;(r=e.currentTarget)==null||r.click()}}onpointerdown(e){V(this,ll,!0)}get props(){return a(u(this,cl))}set props(e){x(u(this,cl),e)}};ll=new WeakMap,vu=new WeakSet,Im=function(){if(this.item.opts.disabled.current)return;const e=new CustomEvent("menuitemselect",{bubbles:!0,cancelable:!0});if(this.opts.onSelect.current(e),e.defaultPrevented){this.item.content.parentMenu.root.isUsingKeyboard.current=!1;return}this.opts.closeOnSelect.current&&this.item.content.parentMenu.root.opts.onClose()},cl=new WeakMap;let of=bh;var ul;const yh=class yh{constructor(e,r){me(this,"opts");me(this,"root");me(this,"attachment");C(this,ul,z(()=>({id:this.opts.id.current,role:"group",[this.root.getBitsAttr("separator")]:"",...this.attachment})));this.opts=e,this.root=r,this.attachment=ts(this.opts.ref)}static create(e){return new yh(e,Cm.get())}get props(){return a(u(this,ul))}set props(e){x(u(this,ul),e)}};ul=new WeakMap;let sf=yh;var gu,dl;const xh=class xh{constructor(e,r){me(this,"opts");me(this,"parentMenu");me(this,"attachment");me(this,"onclick",e=>{this.opts.disabled.current||e.detail!==0||(this.parentMenu.toggleOpen(),e.preventDefault())});me(this,"onpointerdown",e=>{if(!this.opts.disabled.current){if(e.pointerType==="touch")return e.preventDefault();e.button===0&&e.ctrlKey===!1&&(this.parentMenu.toggleOpen(),this.parentMenu.opts.open.current||e.preventDefault())}});me(this,"onpointerup",e=>{this.opts.disabled.current||e.pointerType==="touch"&&(e.preventDefault(),this.parentMenu.toggleOpen())});me(this,"onkeydown",e=>{if(!this.opts.disabled.current){if(e.key===eh||e.key===cm){this.parentMenu.toggleOpen(),e.preventDefault();return}e.key===Ta&&(this.parentMenu.onOpen(),e.preventDefault())}});C(this,gu,z(()=>{if(this.parentMenu.opts.open.current&&this.parentMenu.contentId.current)return this.parentMenu.contentId.current}));C(this,dl,z(()=>({id:this.opts.id.current,disabled:this.opts.disabled.current,"aria-haspopup":"menu","aria-expanded":om(this.parentMenu.opts.open.current),"aria-controls":a(u(this,gu)),"data-disabled":sm(this.opts.disabled.current),"data-state":im(this.parentMenu.opts.open.current),[this.parentMenu.root.getBitsAttr("trigger")]:"",onclick:this.onclick,onpointerdown:this.onpointerdown,onpointerup:this.onpointerup,onkeydown:this.onkeydown,...this.attachment})));this.opts=e,this.parentMenu=r,this.attachment=ts(this.opts.ref,n=>this.parentMenu.triggerNode=n)}static create(e){return new xh(e,rh.get())}get props(){return a(u(this,dl))}set props(e){x(u(this,dl),e)}};gu=new WeakMap,dl=new WeakMap;let af=xh;globalThis.bitsDismissableLayers??(globalThis.bitsDismissableLayers=new Map);var Ei,Ns,qo,Ti,Mi,Yo,fl,$o,pu,Ki,Nm,mu,Oi,bu,yu,xu,wu,hl,Rm,_u,ku;const wh=class wh{constructor(e){C(this,Ki);me(this,"opts");C(this,Ei);C(this,Ns);C(this,qo,{pointerdown:!1});C(this,Ti,!1);C(this,Mi,!1);C(this,Yo);C(this,fl);C(this,$o,pr);C(this,pu,e=>{e.defaultPrevented||this.opts.ref.current&&Gn(()=>{var r,n;!this.opts.ref.current||u(this,wu).call(this,e.target)||e.target&&!u(this,Mi)&&((n=(r=u(this,fl)).current)==null||n.call(r,e))})});C(this,mu,e=>{let r=e;r.defaultPrevented&&(r=wv(e)),u(this,Ei).current(e)});C(this,Oi,pv(e=>{if(!this.opts.ref.current){u(this,$o).call(this);return}const r=this.opts.isValidEvent.current(e,this.opts.ref.current)||i2(e,this.opts.ref.current);if(!u(this,Ti)||se(this,Ki,Rm).call(this)||!r){u(this,$o).call(this);return}let n=e;if(n.defaultPrevented&&(n=wv(n)),u(this,Ns).current!=="close"&&u(this,Ns).current!=="defer-otherwise-close"){u(this,$o).call(this);return}e.pointerType==="touch"?(u(this,$o).call(this),V(this,$o,zr(u(this,Yo),"click",u(this,mu),{once:!0}))):u(this,Ei).current(n)},10));C(this,bu,e=>{u(this,qo)[e.type]=!0});C(this,yu,e=>{u(this,qo)[e.type]=!1});C(this,xu,()=>{this.opts.ref.current&&V(this,Ti,s2(this.opts.ref.current))});C(this,wu,e=>this.opts.ref.current?hm(this.opts.ref.current,e):!1);C(this,hl,pv(()=>{for(const e in u(this,qo))u(this,qo)[e]=!1;V(this,Ti,!1)},20));C(this,_u,()=>{V(this,Mi,!0)});C(this,ku,()=>{V(this,Mi,!1)});me(this,"props",{onfocuscapture:u(this,_u),onblurcapture:u(this,ku)});this.opts=e,V(this,Ns,e.interactOutsideBehavior),V(this,Ei,e.onInteractOutside),V(this,fl,e.onFocusOutside),ur(()=>{V(this,Yo,vm(this.opts.ref.current))});let r=pr;const n=()=>{u(this,hl).call(this),globalThis.bitsDismissableLayers.delete(this),u(this,Oi).destroy(),r()};cn([()=>this.opts.enabled.current,()=>this.opts.ref.current],()=>{if(!(!this.opts.enabled.current||!this.opts.ref.current))return W1(1,()=>{this.opts.ref.current&&(globalThis.bitsDismissableLayers.set(this,u(this,Ns)),r(),r=se(this,Ki,Nm).call(this))}),n}),ri(()=>{u(this,hl).destroy(),globalThis.bitsDismissableLayers.delete(this),u(this,Oi).destroy(),u(this,$o).call(this),r()})}static create(e){return new wh(e)}};Ei=new WeakMap,Ns=new WeakMap,qo=new WeakMap,Ti=new WeakMap,Mi=new WeakMap,Yo=new WeakMap,fl=new WeakMap,$o=new WeakMap,pu=new WeakMap,Ki=new WeakSet,Nm=function(){return fi(zr(u(this,Yo),"pointerdown",fi(u(this,bu),u(this,xu)),{capture:!0}),zr(u(this,Yo),"pointerdown",fi(u(this,yu),u(this,Oi))),zr(u(this,Yo),"focusin",u(this,pu)))},mu=new WeakMap,Oi=new WeakMap,bu=new WeakMap,yu=new WeakMap,xu=new WeakMap,wu=new WeakMap,hl=new WeakMap,Rm=function(){return Object.values(u(this,qo)).some(Boolean)},_u=new WeakMap,ku=new WeakMap;let lf=wh;function o2(t=[...globalThis.bitsDismissableLayers]){return t.findLast(([e,{current:r}])=>r==="close"||r==="ignore")}function s2(t){const e=[...globalThis.bitsDismissableLayers],r=o2(e);if(r)return r[0].opts.ref.current===t;const[n]=e[0];return n.opts.ref.current===t}function i2(t,e){const r=t.target;if(!fm(r))return!1;const n=!!r.closest(`[${U0}]`),o=!!e.closest(`[${q0}]`);return"button"in t&&t.button>0&&!n?!1:"button"in t&&t.button===0&&n&&o?!0:n&&o?!1:vm(r).documentElement.contains(r)&&!hm(e,r)&&_0(t,e)}function wv(t){const e=t.currentTarget,r=t.target;let n;t instanceof PointerEvent?n=new PointerEvent(t.type,t):n=new PointerEvent("pointerdown",t);let o=!1;return new Proxy(n,{get:(i,l)=>l==="currentTarget"?e:l==="target"?r:l==="preventDefault"?()=>{o=!0,typeof i.preventDefault=="function"&&i.preventDefault()}:l==="defaultPrevented"?o:l in i?i[l]:t[l]})}function a2(t,e){Ve(e,!0);let r=D(e,"interactOutsideBehavior",3,"close"),n=D(e,"onInteractOutside",3,pr),o=D(e,"onFocusOutside",3,pr),s=D(e,"isValidEvent",3,()=>!1);const i=lf.create({id:ke(()=>e.id),interactOutsideBehavior:ke(()=>r()),onInteractOutside:ke(()=>n()),enabled:ke(()=>e.enabled),onFocusOutside:ke(()=>o()),isValidEvent:ke(()=>s()),ref:e.ref});var l=Z(),c=_(l);it(c,()=>e.children??rt,()=>({props:i.props})),h(t,l),je()}globalThis.bitsEscapeLayers??(globalThis.bitsEscapeLayers=new Map);var $u,Su;const _h=class _h{constructor(e){me(this,"opts");me(this,"domContext");C(this,$u,()=>zr(this.domContext.getDocument(),"keydown",u(this,Su),{passive:!1}));C(this,Su,e=>{if(e.key!==Q1||!l2(this))return;const r=new KeyboardEvent(e.type,e);e.preventDefault();const n=this.opts.escapeKeydownBehavior.current;n!=="close"&&n!=="defer-otherwise-close"||this.opts.onEscapeKeydown.current(r)});this.opts=e,this.domContext=new Zf(this.opts.ref);let r=pr;cn(()=>e.enabled.current,n=>(n&&(globalThis.bitsEscapeLayers.set(this,e.escapeKeydownBehavior),r=u(this,$u).call(this)),()=>{r(),globalThis.bitsEscapeLayers.delete(this)}))}static create(e){return new _h(e)}};$u=new WeakMap,Su=new WeakMap;let cf=_h;function l2(t){const e=[...globalThis.bitsEscapeLayers],r=e.findLast(([o,{current:s}])=>s==="close"||s==="ignore");if(r)return r[0]===t;const[n]=e[0];return n===t}function c2(t,e){Ve(e,!0);let r=D(e,"escapeKeydownBehavior",3,"close"),n=D(e,"onEscapeKeydown",3,pr);cf.create({escapeKeydownBehavior:ke(()=>r()),onEscapeKeydown:ke(()=>n()),enabled:ke(()=>e.enabled),ref:e.ref});var o=Z(),s=_(o);it(s,()=>e.children??rt),h(t,o),je()}var So,vl,Rs;const Pu=class Pu{constructor(){C(this,So,Kn([]));C(this,vl,new WeakMap);C(this,Rs,new WeakMap)}static getInstance(){return this.instance||(this.instance=new Pu),this.instance}register(e){const r=this.getActive();r&&r!==e&&r.pause();const n=document.activeElement;n&&n!==document.body&&u(this,Rs).set(e,n),u(this,So).current=u(this,So).current.filter(o=>o!==e),u(this,So).current.unshift(e)}unregister(e){u(this,So).current=u(this,So).current.filter(n=>n!==e);const r=this.getActive();r&&r.resume()}getActive(){return u(this,So).current[0]}setFocusMemory(e,r){u(this,vl).set(e,r)}getFocusMemory(e){return u(this,vl).get(e)}isActiveScope(e){return this.getActive()===e}setPreFocusMemory(e,r){u(this,Rs).set(e,r)}getPreFocusMemory(e){return u(this,Rs).get(e)}clearPreFocusMemory(e){u(this,Rs).delete(e)}};So=new WeakMap,vl=new WeakMap,Rs=new WeakMap,me(Pu,"instance");let uf=Pu;var Xo,Rr,Yr,Fs,Zo,mr,Fm,Lm,Dm,Bm,ff,Oc,hf;const kh=class kh{constructor(e){C(this,mr);C(this,Xo,!1);C(this,Rr,null);C(this,Yr,uf.getInstance());C(this,Fs,[]);C(this,Zo);V(this,Zo,e)}get paused(){return u(this,Xo)}pause(){V(this,Xo,!0)}resume(){V(this,Xo,!1)}mount(e){u(this,Rr)&&this.unmount(),V(this,Rr,e),u(this,Yr).register(this),se(this,mr,Bm).call(this),se(this,mr,Lm).call(this)}unmount(){u(this,Rr)&&(se(this,mr,Fm).call(this),se(this,mr,Dm).call(this),u(this,Yr).unregister(this),u(this,Yr).clearPreFocusMemory(this),V(this,Rr,null))}static use(e){let r=null;return cn([()=>e.ref.current,()=>e.enabled.current],([n,o])=>{n&&o?(r||(r=new kh(e)),r.mount(n)):r&&(r.unmount(),r=null)}),ri(()=>{r==null||r.unmount()}),{get props(){return{tabindex:-1}}}}};Xo=new WeakMap,Rr=new WeakMap,Yr=new WeakMap,Fs=new WeakMap,Zo=new WeakMap,mr=new WeakSet,Fm=function(){for(const e of u(this,Fs))e();V(this,Fs,[])},Lm=function(){if(!u(this,Rr))return;const e=new CustomEvent("focusScope.onOpenAutoFocus",{bubbles:!1,cancelable:!0});u(this,Zo).onOpenAutoFocus.current(e),e.defaultPrevented||requestAnimationFrame(()=>{if(!u(this,Rr))return;const r=se(this,mr,Oc).call(this);r?(r.focus(),u(this,Yr).setFocusMemory(this,r)):u(this,Rr).focus()})},Dm=function(){var r,n;const e=new CustomEvent("focusScope.onCloseAutoFocus",{bubbles:!1,cancelable:!0});if((n=(r=u(this,Zo).onCloseAutoFocus).current)==null||n.call(r,e),!e.defaultPrevented){const o=u(this,Yr).getPreFocusMemory(this);if(o&&document.contains(o))try{o.focus()}catch{document.body.focus()}}},Bm=function(){if(!u(this,Rr)||!u(this,Zo).trap.current)return;const e=u(this,Rr),r=e.ownerDocument,n=i=>{if(u(this,Xo)||!u(this,Yr).isActiveScope(this))return;const l=i.target;if(!l)return;if(e.contains(l))u(this,Yr).setFocusMemory(this,l);else{const d=u(this,Yr).getFocusMemory(this);if(d&&e.contains(d)&&Sm(d))i.preventDefault(),d.focus();else{const f=se(this,mr,Oc).call(this),g=se(this,mr,hf).call(this)[0];(f||g||e).focus()}}},o=i=>{if(!u(this,Zo).loop||u(this,Xo)||i.key!=="Tab"||!u(this,Yr).isActiveScope(this))return;const l=se(this,mr,ff).call(this);if(l.length===0)return;const c=l[0],d=l[l.length-1];!i.shiftKey&&r.activeElement===d?(i.preventDefault(),c.focus()):i.shiftKey&&r.activeElement===c&&(i.preventDefault(),d.focus())};u(this,Fs).push(zr(r,"focusin",n,{capture:!0}),zr(e,"keydown",o));const s=new MutationObserver(()=>{const i=u(this,Yr).getFocusMemory(this);if(i&&!e.contains(i)){const l=se(this,mr,Oc).call(this),c=se(this,mr,hf).call(this)[0],d=l||c;d?(d.focus(),u(this,Yr).setFocusMemory(this,d)):e.focus()}});s.observe(e,{childList:!0,subtree:!0}),u(this,Fs).push(()=>s.disconnect())},ff=function(){return u(this,Rr)?km(u(this,Rr),{includeContainer:!1,getShadowRoot:!0}):[]},Oc=function(){return se(this,mr,ff).call(this)[0]||null},hf=function(){return u(this,Rr)?$m(u(this,Rr),{includeContainer:!1,getShadowRoot:!0}):[]};let df=kh;function u2(t,e){Ve(e,!0);let r=D(e,"enabled",3,!1),n=D(e,"trapFocus",3,!1),o=D(e,"loop",3,!1),s=D(e,"onCloseAutoFocus",3,pr),i=D(e,"onOpenAutoFocus",3,pr);const l=df.use({enabled:ke(()=>r()),trap:ke(()=>n()),loop:o(),onCloseAutoFocus:ke(()=>s()),onOpenAutoFocus:ke(()=>i()),ref:e.ref});var c=Z(),d=_(c);it(d,()=>e.focusScope??rt,()=>({props:l.props})),h(t,c),je()}const _v=()=>{};globalThis.bitsTextSelectionLayers??(globalThis.bitsTextSelectionLayers=new Map);var zi,Ii,gl,pl,Cu,Vm,Au,Eu,ml;const $h=class $h{constructor(e){C(this,Cu);me(this,"opts");me(this,"domContext");C(this,zi,pr);C(this,Ii,!1);C(this,gl,_v);C(this,pl,_v);C(this,Au,e=>{u(this,pl).call(this,e)});C(this,Eu,e=>{const r=this.opts.ref.current,n=e.target;!os(r)||!os(n)||!u(this,Ii)||!f2(this)||!Y1(r,n)||(u(this,gl).call(this,e),!e.defaultPrevented&&V(this,zi,d2(r,this.domContext.getDocument().body)))});C(this,ml,()=>{u(this,zi).call(this),V(this,zi,pr)});this.opts=e,this.domContext=new Zf(e.ref);let r=pr;cn(()=>[this.opts.enabled.current,this.opts.onPointerDown.current,this.opts.onPointerUp.current],([n,o,s])=>(V(this,Ii,n),V(this,gl,o),V(this,pl,s),n&&(globalThis.bitsTextSelectionLayers.set(this,this.opts.enabled),r(),r=se(this,Cu,Vm).call(this)),()=>{V(this,Ii,!1),r(),u(this,ml).call(this),globalThis.bitsTextSelectionLayers.delete(this)}))}static create(e){return new $h(e)}};zi=new WeakMap,Ii=new WeakMap,gl=new WeakMap,pl=new WeakMap,Cu=new WeakSet,Vm=function(){return fi(zr(this.domContext.getDocument(),"pointerdown",u(this,Eu)),zr(this.domContext.getDocument(),"pointerup",Xp(u(this,ml),u(this,Au))))},Au=new WeakMap,Eu=new WeakMap,ml=new WeakMap;let vf=$h;const kv=t=>t.style.userSelect||t.style.webkitUserSelect;function d2(t,e){const r=kv(e),n=kv(t);return cc(e,"none"),cc(t,"text"),()=>{cc(e,r),cc(t,n)}}function cc(t,e){t.style.userSelect=e,t.style.webkitUserSelect=e}function f2(t){const e=[...globalThis.bitsTextSelectionLayers];if(!e.length)return!1;const r=e.at(-1);return r?r[0]===t:!1}function h2(t,e){Ve(e,!0);let r=D(e,"preventOverflowTextSelection",3,!0),n=D(e,"onPointerDown",3,pr),o=D(e,"onPointerUp",3,pr);vf.create({id:ke(()=>e.id),onPointerDown:ke(()=>n()),onPointerUp:ke(()=>o()),enabled:ke(()=>e.enabled&&r()),ref:e.ref});var s=Z(),i=_(s);it(i,()=>e.children??rt),h(t,s),je()}globalThis.bitsIdCounter??(globalThis.bitsIdCounter={current:0});function nh(t="bits"){return globalThis.bitsIdCounter.current++,`${t}-${globalThis.bitsIdCounter.current}`}var bl,Ni,Ls,Ds,Tu,jm;class v2{constructor(e){C(this,Tu);C(this,bl);C(this,Ni,0);C(this,Ls,fe());C(this,Ds);V(this,bl,e)}get(...e){return V(this,Ni,u(this,Ni)+1),a(u(this,Ls))===void 0&&V(this,Ds,Rg(()=>{x(u(this,Ls),u(this,bl).call(this,...e),!0)})),ur(()=>()=>{se(this,Tu,jm).call(this)}),a(u(this,Ls))}}bl=new WeakMap,Ni=new WeakMap,Ls=new WeakMap,Ds=new WeakMap,Tu=new WeakSet,jm=function(){V(this,Ni,u(this,Ni)-1),u(this,Ds)&&u(this,Ni)<=0&&(u(this,Ds).call(this),x(u(this,Ls),void 0),V(this,Ds,void 0))};const zc=new Fd;let uc=fe(null),vs=null,aa=null,la=!1;const $v=ke(()=>{for(const t of zc.values())if(t)return!0;return!1});let ad=null;const g2=new v2(()=>{function t(){document.body.setAttribute("style",a(uc)??""),document.body.style.removeProperty("--scrollbar-width"),gv&&(vs==null||vs()),x(uc,null)}function e(){aa!==null&&(window.clearTimeout(aa),aa=null)}function r(o,s){e(),la=!0,ad=Date.now();const i=ad,l=()=>{aa=null,ad===i&&(Wm(zc)?la=!1:(la=!1,s()))},c=o===null?24:o;aa=window.setTimeout(l,c)}function n(){a(uc)===null&&zc.size===0&&!la&&x(uc,document.body.getAttribute("style"),!0)}return cn(()=>$v.current,()=>{var f,g;if(!$v.current)return;n(),la=!1;const o=getComputedStyle(document.documentElement),s=getComputedStyle(document.body),i=((f=o.scrollbarGutter)==null?void 0:f.includes("stable"))||((g=s.scrollbarGutter)==null?void 0:g.includes("stable")),l=window.innerWidth-document.documentElement.clientWidth,d={padding:Number.parseInt(s.paddingRight??"0",10)+l,margin:Number.parseInt(s.marginRight??"0",10)};l>0&&!i&&(document.body.style.paddingRight=`${d.padding}px`,document.body.style.marginRight=`${d.margin}px`,document.body.style.setProperty("--scrollbar-width",`${l}px`)),document.body.style.overflow="hidden",gv&&(vs=zr(document,"touchmove",v=>{v.target===document.documentElement&&(v.touches.length>1||v.preventDefault())},{passive:!1})),Gn(()=>{document.body.style.pointerEvents="none",document.body.style.overflow="hidden"})}),ri(()=>()=>{vs==null||vs()}),{get lockMap(){return zc},resetBodyStyle:t,scheduleCleanupIfNoNewLocks:r,cancelPendingCleanup:e,ensureInitialStyleCaptured:n}});var Bs,yl,xl,Xr;class p2{constructor(e,r=()=>null){C(this,Bs,nh());C(this,yl);C(this,xl,()=>null);C(this,Xr);me(this,"locked");V(this,yl,e),V(this,xl,r),V(this,Xr,g2.get()),u(this,Xr)&&(u(this,Xr).cancelPendingCleanup(),u(this,Xr).ensureInitialStyleCaptured(),u(this,Xr).lockMap.set(u(this,Bs),u(this,yl)??!1),this.locked=ke(()=>u(this,Xr).lockMap.get(u(this,Bs))??!1,n=>u(this,Xr).lockMap.set(u(this,Bs),n)),ri(()=>{if(u(this,Xr).lockMap.delete(u(this,Bs)),Wm(u(this,Xr).lockMap))return;const n=u(this,xl).call(this);u(this,Xr).scheduleCleanupIfNoNewLocks(n,()=>{u(this,Xr).resetBodyStyle()})}))}}Bs=new WeakMap,yl=new WeakMap,xl=new WeakMap,Xr=new WeakMap;function Wm(t){for(const[e,r]of t)if(r)return!0;return!1}function Sv(t,e){Ve(e,!0);let r=D(e,"preventScroll",3,!0),n=D(e,"restoreScrollDelay",3,null);r()&&new p2(r(),()=>n()),je()}Yb();const m2=["top","right","bottom","left"],ss=Math.min,Ao=Math.max,Jc=Math.round,dc=Math.floor,Eo=t=>({x:t,y:t}),b2={left:"right",right:"left",bottom:"top",top:"bottom"};function Gm(t,e,r){return Ao(t,ss(e,r))}function Oo(t,e){return typeof t=="function"?t(e):t}function is(t){return t.split("-")[0]}function Qi(t){return t.split("-")[1]}function oh(t){return t==="x"?"y":"x"}function sh(t){return t==="y"?"height":"width"}function Un(t){const e=t[0];return e==="t"||e==="b"?"y":"x"}function ih(t){return oh(Un(t))}function y2(t,e,r){r===void 0&&(r=!1);const n=Qi(t),o=ih(t),s=sh(o);let i=o==="x"?n===(r?"end":"start")?"right":"left":n==="start"?"bottom":"top";return e.reference[s]>e.floating[s]&&(i=Qc(i)),[i,Qc(i)]}function x2(t){const e=Qc(t);return[gf(t),e,gf(e)]}function gf(t){return t.includes("start")?t.replace("start","end"):t.replace("end","start")}const Pv=["left","right"],Cv=["right","left"],w2=["top","bottom"],_2=["bottom","top"];function k2(t,e,r){switch(t){case"top":case"bottom":return r?e?Cv:Pv:e?Pv:Cv;case"left":case"right":return e?w2:_2;default:return[]}}function $2(t,e,r,n){const o=Qi(t);let s=k2(is(t),r==="start",n);return o&&(s=s.map(i=>i+"-"+o),e&&(s=s.concat(s.map(gf)))),s}function Qc(t){const e=is(t);return b2[e]+t.slice(e.length)}function S2(t){var e,r,n,o;return{top:(e=t.top)!=null?e:0,right:(r=t.right)!=null?r:0,bottom:(n=t.bottom)!=null?n:0,left:(o=t.left)!=null?o:0}}function Hm(t){return typeof t!="number"?S2(t):{top:t,right:t,bottom:t,left:t}}function eu(t){const{x:e,y:r,width:n,height:o}=t;return{width:n,height:o,top:r,left:e,right:e+n,bottom:r+o,x:e,y:r}}function Av(t,e,r){let{reference:n,floating:o}=t;const s=Un(e),i=ih(e),l=sh(i),c=is(e),d=s==="y",f=n.x+n.width/2-o.width/2,g=n.y+n.height/2-o.height/2,v=n[l]/2-o[l]/2;let p;switch(c){case"top":p={x:f,y:n.y-o.height};break;case"bottom":p={x:f,y:n.y+n.height};break;case"right":p={x:n.x+n.width,y:g};break;case"left":p={x:n.x-o.width,y:g};break;default:p={x:n.x,y:n.y}}const m=Qi(e);return m&&(p[i]+=v*(m==="end"?1:-1)*(r&&d?-1:1)),p}async function P2(t,e){var r;e===void 0&&(e={});const{x:n,y:o,platform:s,rects:i,elements:l,strategy:c}=t,{boundary:d="clippingAncestors",rootBoundary:f="viewport",elementContext:g="floating",altBoundary:v=!1,padding:p=0}=Oo(e,t),m=Hm(p),w=l[v?g==="floating"?"reference":"floating":g],$=eu(await s.getClippingRect({element:(r=await(s.isElement==null?void 0:s.isElement(w)))==null||r?w:w.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(l.floating)),boundary:d,rootBoundary:f,strategy:c})),I=g==="floating"?{x:n,y:o,width:i.floating.width,height:i.floating.height}:i.reference,L=await(s.getOffsetParent==null?void 0:s.getOffsetParent(l.floating)),N=await(s.isElement==null?void 0:s.isElement(L))&&await(s.getScale==null?void 0:s.getScale(L))||{x:1,y:1},M=eu(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:I,offsetParent:L,strategy:c}):I);return{top:($.top-M.top+m.top)/N.y,bottom:(M.bottom-$.bottom+m.bottom)/N.y,left:($.left-M.left+m.left)/N.x,right:(M.right-$.right+m.right)/N.x}}const C2=50,A2=async(t,e,r)=>{const{placement:n="bottom",strategy:o="absolute",middleware:s=[],platform:i}=r,l=i.detectOverflow?i:{...i,detectOverflow:P2},c=await(i.isRTL==null?void 0:i.isRTL(e));let d=await i.getElementRects({reference:t,floating:e,strategy:o}),{x:f,y:g}=Av(d,n,c),v=n,p=0;const m={};for(let b=0;b({name:"arrow",options:t,async fn(e){const{x:r,y:n,placement:o,rects:s,platform:i,elements:l,middlewareData:c}=e,{element:d,padding:f=0}=Oo(t,e)||{};if(d==null)return{};const g=Hm(f),v={x:r,y:n},p=ih(o),m=sh(p),b=await i.getDimensions(d),w=p==="y",$=w?"top":"left",I=w?"bottom":"right",L=w?"clientHeight":"clientWidth",N=s.reference[m]+s.reference[p]-v[p]-s.floating[m],M=v[p]-s.reference[p],R=await(i.getOffsetParent==null?void 0:i.getOffsetParent(d));let F=R?R[L]:0;(!F||!await(i.isElement==null?void 0:i.isElement(R)))&&(F=l.floating[L]||s.floating[m]);const k=N/2-M/2,G=F/2-b[m]/2-1,T=ss(g[$],G),ue=ss(g[I],G),xe=F-b[m]-ue,oe=F/2-b[m]/2+k,be=Gm(T,oe,xe),le=!c.arrow&&Qi(o)!=null&&oe!==be&&s.reference[m]/2-(oebe<=0)){var ue,xe;const be=(((ue=s.flip)==null?void 0:ue.index)||0)+1,le=F[be];if(le&&(!(g==="alignment"?I!==Un(le):!1)||T.every(ze=>Un(ze.placement)===I?ze.overflows[0]>0:!0)))return{data:{index:be,overflows:T},reset:{placement:le}};let pe=(xe=T.filter($e=>$e.overflows[0]<=0).sort(($e,ze)=>$e.overflows[1]-ze.overflows[1])[0])==null?void 0:xe.placement;if(!pe)switch(p){case"bestFit":{var oe;const $e=(oe=T.filter(ze=>{if(R){const Fe=Un(ze.placement);return Fe===I||Fe==="y"}return!0}).map(ze=>[ze.placement,ze.overflows.filter(Fe=>Fe>0).reduce((Fe,K)=>Fe+K,0)]).sort((ze,Fe)=>ze[1]-Fe[1])[0])==null?void 0:oe[0];$e&&(pe=$e);break}case"initialPlacement":pe=l;break}if(o!==pe)return{reset:{placement:pe}}}return{}}}};function Ev(t,e){return{top:t.top-e.height,right:t.right-e.width,bottom:t.bottom-e.height,left:t.left-e.width}}function Tv(t){return m2.some(e=>t[e]>=0)}const M2=function(t){return t===void 0&&(t={}),{name:"hide",options:t,async fn(e){const{rects:r,platform:n}=e,{strategy:o="referenceHidden",...s}=Oo(t,e);switch(o){case"referenceHidden":{const i=await n.detectOverflow(e,{...s,elementContext:"reference"}),l=Ev(i,r.reference);return{data:{referenceHiddenOffsets:l,referenceHidden:Tv(l)}}}case"escaped":{const i=await n.detectOverflow(e,{...s,altBoundary:!0}),l=Ev(i,r.floating);return{data:{escapedOffsets:l,escaped:Tv(l)}}}default:return{}}}}},Km=new Set(["left","top"]);async function O2(t,e){const{placement:r,platform:n,elements:o}=t,s=await(n.isRTL==null?void 0:n.isRTL(o.floating)),i=is(r),l=Qi(r),c=Un(r)==="y",d=Km.has(i)?-1:1,f=s&&c?-1:1,g=Oo(e,t);let{mainAxis:v,crossAxis:p,alignmentAxis:m}=typeof g=="number"?{mainAxis:g,crossAxis:0,alignmentAxis:null}:{mainAxis:g.mainAxis||0,crossAxis:g.crossAxis||0,alignmentAxis:g.alignmentAxis};return l&&typeof m=="number"&&(p=l==="end"?m*-1:m),c?{x:p*f,y:v*d}:{x:v*d,y:p*f}}const z2=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(e){var r,n;const{x:o,y:s,placement:i,middlewareData:l}=e,c=await O2(e,t);return i===((r=l.offset)==null?void 0:r.placement)&&(n=l.arrow)!=null&&n.alignmentOffset?{}:{x:o+c.x,y:s+c.y,data:{...c,placement:i}}}}},I2=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(e){const{x:r,y:n,placement:o,platform:s}=e,{mainAxis:i=!0,crossAxis:l=!1,limiter:c={fn:I=>{let{x:L,y:N}=I;return{x:L,y:N}}},...d}=Oo(t,e),f={x:r,y:n},g=await s.detectOverflow(e,d),v=Un(o),p=oh(v);let m=f[p],b=f[v];const w=(I,L)=>Gm(L+g[I==="y"?"top":"left"],L,L-g[I==="y"?"bottom":"right"]);i&&(m=w(p,m)),l&&(b=w(v,b));const $=c.fn({...e,[p]:m,[v]:b});return{...$,data:{x:$.x-r,y:$.y-n,enabled:{[p]:i,[v]:l}}}}}},N2=function(t){return t===void 0&&(t={}),{options:t,fn(e){var r,n;const{x:o,y:s,placement:i,rects:l,middlewareData:c}=e,{offset:d=0,mainAxis:f=!0,crossAxis:g=!0}=Oo(t,e),v={x:o,y:s},p=Un(i),m=oh(p);let b=v[m],w=v[p];const $=Oo(d,e),I=typeof $=="number"?{mainAxis:$,crossAxis:0}:{mainAxis:(r=$.mainAxis)!=null?r:0,crossAxis:(n=$.crossAxis)!=null?n:0};if(f){const M=m==="y"?"height":"width",R=l.reference[m]-l.floating[M]+I.mainAxis,F=l.reference[m]+l.reference[M]-I.mainAxis;bF&&(b=F)}if(g){var L,N;const M=m==="y"?"width":"height",R=Km.has(is(i)),F=l.reference[p]-l.floating[M]+(R&&((L=c.offset)==null?void 0:L[p])||0)+(R?0:I.crossAxis),k=l.reference[p]+l.reference[M]+(R?0:((N=c.offset)==null?void 0:N[p])||0)-(R?I.crossAxis:0);wk&&(w=k)}return{[m]:b,[p]:w}}}},R2=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(e){const{placement:r,rects:n,platform:o,elements:s}=e,{apply:i=()=>{},...l}=Oo(t,e),c=await o.detectOverflow(e,l),d=is(r),f=Qi(r),g=Un(r)==="y",{width:v,height:p}=n.floating;let m,b;d==="top"||d==="bottom"?(m=d,b=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?"start":"end")?"left":"right"):(b=d,m=f==="end"?"top":"bottom");const w=p-c.top-c.bottom,$=v-c.left-c.right,I=ss(p-c[m],w),L=ss(v-c[b],$),N=e.middlewareData.shift,M=!N;let R=I,F=L;N!=null&&N.enabled.x&&(F=$),N!=null&&N.enabled.y&&(R=w),M&&!f&&(g?F=v-2*Ao(c.left,c.right):R=p-2*Ao(c.top,c.bottom)),await i({...e,availableWidth:F,availableHeight:R});const k=await o.getDimensions(s.floating);return v!==k.width||p!==k.height?{reset:{rects:!0}}:{}}}};function ju(){return typeof window<"u"}function ea(t){return Um(t)?(t.nodeName||"").toLowerCase():"#document"}function en(t){var e;return(t==null||(e=t.ownerDocument)==null?void 0:e.defaultView)||window}function zo(t){var e;return(e=(Um(t)?t.ownerDocument:t.document)||window.document)==null?void 0:e.documentElement}function Um(t){return ju()?t instanceof Node||t instanceof en(t).Node:!1}function ro(t){return ju()?t instanceof Element||t instanceof en(t).Element:!1}function ds(t){return ju()?t instanceof HTMLElement||t instanceof en(t).HTMLElement:!1}function Mv(t){return!ju()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof en(t).ShadowRoot}function Wu(t){const{overflow:e,overflowX:r,overflowY:n,display:o}=no(t);return/auto|scroll|overlay|hidden|clip/.test(e+n+r)&&o!=="inline"&&o!=="contents"}function F2(t){return/^(table|td|th)$/.test(ea(t))}function Gu(t){try{if(t.matches(":popover-open"))return!0}catch{}try{return t.matches(":modal")}catch{return!1}}const L2=/transform|translate|scale|rotate|perspective|filter/,D2=/paint|layout|strict|content/,gs=t=>!!t&&t!=="none";let ld;function ah(t){const e=ro(t)?no(t):t;return gs(e.transform)||gs(e.translate)||gs(e.scale)||gs(e.rotate)||gs(e.perspective)||!lh()&&(gs(e.backdropFilter)||gs(e.filter))||L2.test(e.willChange||"")||D2.test(e.contain||"")}function B2(t){let e=Us(t);for(;ds(e)&&!Ma(e);){if(ah(e))return e;if(Gu(e))return null;e=Us(e)}return null}function lh(){return ld==null&&(ld=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),ld}function Ma(t){return/^(html|body|#document)$/.test(ea(t))}function no(t){return en(t).getComputedStyle(t)}function Hu(t){return ro(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function Us(t){if(ea(t)==="html")return t;const e=t.assignedSlot||t.parentNode||Mv(t)&&t.host||zo(t);return Mv(e)?e.host:e}function qm(t){const e=Us(t);return Ma(e)?(t.ownerDocument||t).body:ds(e)&&Wu(e)?e:qm(e)}function Oa(t,e,r){var n;e===void 0&&(e=[]),r===void 0&&(r=!0);const o=qm(t),s=o===((n=t.ownerDocument)==null?void 0:n.body),i=en(o);if(s){const l=pf(i);return e.concat(i,i.visualViewport||[],Wu(o)?o:[],l&&r?Oa(l):[])}else return e.concat(o,Oa(o,[],r))}function pf(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function Ym(t){const e=no(t);let r=parseFloat(e.width)||0,n=parseFloat(e.height)||0;const o=ds(t),s=o?t.offsetWidth:r,i=o?t.offsetHeight:n,l=Jc(r)!==s||Jc(n)!==i;return l&&(r=s,n=i),{width:r,height:n,$:l}}function ch(t){return ro(t)?t:t.contextElement}function hi(t){const e=ch(t);if(!ds(e))return Eo(1);const r=e.getBoundingClientRect(),{width:n,height:o,$:s}=Ym(e);let i=(s?Jc(r.width):r.width)/n,l=(s?Jc(r.height):r.height)/o;return(!i||!Number.isFinite(i))&&(i=1),(!l||!Number.isFinite(l))&&(l=1),{x:i,y:l}}const V2=Eo(0);function Xm(t){const e=en(t);return!lh()||!e.visualViewport?V2:{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}}function j2(t,e,r){return e===void 0&&(e=!1),!!r&&e&&r===en(t)}function qs(t,e,r,n){e===void 0&&(e=!1),r===void 0&&(r=!1);const o=t.getBoundingClientRect(),s=ch(t);let i=Eo(1);e&&(n?ro(n)&&(i=hi(n)):i=hi(t));const l=j2(s,r,n)?Xm(s):Eo(0);let c=(o.left+l.x)/i.x,d=(o.top+l.y)/i.y,f=o.width/i.x,g=o.height/i.y;if(s&&n){const v=en(s),p=ro(n)?en(n):n;let m=v,b=pf(m);for(;b&&p!==m;){const w=hi(b),$=b.getBoundingClientRect(),I=no(b),L=$.left+(b.clientLeft+parseFloat(I.paddingLeft))*w.x,N=$.top+(b.clientTop+parseFloat(I.paddingTop))*w.y;c*=w.x,d*=w.y,f*=w.x,g*=w.y,c+=L,d+=N,m=en(b),b=pf(m)}}return eu({width:f,height:g,x:c,y:d})}function Ku(t,e){const r=Hu(t).scrollLeft;return e?e.left+r:qs(zo(t)).left+r}function Zm(t,e){const r=t.getBoundingClientRect(),n=r.left+e.scrollLeft-Ku(t,r),o=r.top+e.scrollTop;return{x:n,y:o}}function W2(t){let{elements:e,rect:r,offsetParent:n,strategy:o}=t;const s=o==="fixed",i=zo(n),l=e?Gu(e.floating):!1;if(n===i||l&&s)return r;let c={scrollLeft:0,scrollTop:0},d=Eo(1);const f=Eo(0),g=ds(n);if((g||!s)&&((ea(n)!=="body"||Wu(i))&&(c=Hu(n)),g)){const p=qs(n);d=hi(n),f.x=p.x+n.clientLeft,f.y=p.y+n.clientTop}const v=i&&!g&&!s?Zm(i,c):Eo(0);return{width:r.width*d.x,height:r.height*d.y,x:r.x*d.x-c.scrollLeft*d.x+f.x+v.x,y:r.y*d.y-c.scrollTop*d.y+f.y+v.y}}function G2(t){return t.getClientRects?Array.from(t.getClientRects()):[]}function H2(t){const e=Hu(t),r=t.ownerDocument.body,n=Ao(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),o=Ao(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight);let s=-e.scrollLeft+Ku(t);const i=-e.scrollTop;return no(r).direction==="rtl"&&(s+=Ao(t.clientWidth,r.clientWidth)-n),{width:n,height:o,x:s,y:i}}const K2=25;function U2(t,e,r){r===void 0&&(r="viewport");const n=r==="layoutViewport",o=en(t),s=zo(t),i=o.visualViewport;let l=s.clientWidth,c=s.clientHeight,d=0,f=0;if(i){const v=!lh()||e==="fixed";n?v||(d=-i.offsetLeft,f=-i.offsetTop):(l=i.width,c=i.height,v&&(d=i.offsetLeft,f=i.offsetTop))}if(Ku(s)<=0){const v=s.ownerDocument,p=v.body,m=getComputedStyle(p),b=v.compatMode==="CSS1Compat"&&parseFloat(m.marginLeft)+parseFloat(m.marginRight)||0,w=Math.abs(s.clientWidth-p.clientWidth-b),$=getComputedStyle(s).scrollbarGutter==="stable both-edges"?w/2:w;$<=K2&&(l-=$)}return{width:l,height:c,x:d,y:f}}function q2(t,e){const r=qs(t,!0,e==="fixed"),n=r.top+t.clientTop,o=r.left+t.clientLeft,s=hi(t),i=t.clientWidth*s.x,l=t.clientHeight*s.y,c=o*s.x,d=n*s.y;return{width:i,height:l,x:c,y:d}}function Ov(t,e,r){let n;if(e==="viewport"||e==="layoutViewport")n=U2(t,r,e);else if(e==="document")n=H2(zo(t));else if(ro(e))n=q2(e,r);else{const o=Xm(t);n={x:e.x-o.x,y:e.y-o.y,width:e.width,height:e.height}}return eu(n)}function Y2(t,e){const r=e.get(t);if(r)return r;let n=Oa(t,[],!1).filter(l=>ro(l)&&ea(l)!=="body"),o=null;const s=no(t).position==="fixed";let i=s?Us(t):t;for(;ro(i)&&!Ma(i);){const l=no(i),c=ah(i),d=o?o.position:s?"fixed":"";!c&&(d==="fixed"||d==="absolute"&&l.position==="static")?n=n.filter(g=>g!==i):o=l,i=Us(i)}return e.set(t,n),n}function X2(t){let{element:e,boundary:r,rootBoundary:n,strategy:o}=t;const i=[...r==="clippingAncestors"?Gu(e)?[]:Y2(e,this._c):[].concat(r),n],l=Ov(e,i[0],o);let c=l.top,d=l.right,f=l.bottom,g=l.left;for(let v=1;v{l(!1,1e-7)},1e3)}F=!1}try{n=new IntersectionObserver(k,{...R,root:s.ownerDocument})}catch{n=new IntersectionObserver(k,R)}n.observe(t)}const c=en(t),d=()=>l(r);return c.addEventListener("resize",d),l(!0),()=>{c.removeEventListener("resize",d),i()}}function nk(t,e,r,n){n===void 0&&(n={});const{ancestorScroll:o=!0,ancestorResize:s=!0,elementResize:i=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:c=!1}=n,d=ch(t),f=o||s?[...d?Oa(d):[],...e?Oa(e):[]]:[];f.forEach($=>{o&&$.addEventListener("scroll",r),s&&$.addEventListener("resize",r)});const g=d&&l?rk(d,r,s):null;let v=-1,p=null;i&&(p=new ResizeObserver($=>{let[I]=$;I&&I.target===d&&p&&e&&(p.unobserve(e),cancelAnimationFrame(v),v=requestAnimationFrame(()=>{var L;(L=p)==null||L.observe(e)})),r()}),d&&!c&&p.observe(d),e&&p.observe(e));let m,b=c?qs(t):null;c&&w();function w(){const $=qs(t);b&&!Qm(b,$)&&r(),b=$,m=requestAnimationFrame(w)}return r(),()=>{var $;f.forEach(I=>{o&&I.removeEventListener("scroll",r),s&&I.removeEventListener("resize",r)}),g==null||g(),($=p)==null||$.disconnect(),p=null,c&&cancelAnimationFrame(m)}}const ok=z2,sk=I2,ik=T2,ak=R2,lk=M2,ck=E2,uk=N2,dk=(t,e,r)=>{const n=new Map,o=r??{},s={...tk,...o.platform,_c:n};return A2(t,e,{...o,platform:s})};function ps(t){return typeof t=="function"?t():t}function eb(t){return typeof window>"u"?1:(t.ownerDocument.defaultView||window).devicePixelRatio||1}function Iv(t,e){const r=eb(t);return Math.round(e*r)/r}function Nv(t){return{[`--bits-${t}-content-transform-origin`]:"var(--bits-floating-transform-origin)",[`--bits-${t}-content-available-width`]:"var(--bits-floating-available-width)",[`--bits-${t}-content-available-height`]:"var(--bits-floating-available-height)",[`--bits-${t}-anchor-width`]:"var(--bits-floating-anchor-width)",[`--bits-${t}-anchor-height`]:"var(--bits-floating-anchor-height)"}}function fk(t){const e=t.whileElementsMounted,r=z(()=>ps(t.open)??!0),n=z(()=>ps(t.middleware)),o=z(()=>ps(t.transform)??!0),s=z(()=>ps(t.placement)??"bottom"),i=z(()=>ps(t.strategy)??"absolute"),l=z(()=>ps(t.sideOffset)??0),c=z(()=>ps(t.alignOffset)??0),d=t.reference;let f=fe(0),g=fe(0);const v=Kn(null);let p=fe(kr(a(i))),m=fe(kr(a(s))),b=fe(kr({})),w=fe(!1),$=!1,I=0;const L=z(()=>{const T=v.current?Iv(v.current,a(f)):a(f),ue=v.current?Iv(v.current,a(g)):a(g);return a(o)?{position:a(p),left:"0",top:"0",transform:`translate(${T}px, ${ue}px)`,...v.current&&eb(v.current)>=1.5&&{willChange:"transform"}}:{position:a(p),left:`${T}px`,top:`${ue}px`}});let N;function M(){if(d.current===null||v.current===null)return;const T=d.current,ue=v.current,xe=++I;dk(T,ue,{middleware:a(n),placement:a(s),strategy:a(i)}).then(oe=>{if(xe!==I||d.current!==T||v.current!==ue)return;if(hk(T)){x(b,{...a(b),hide:{...a(b).hide,referenceHidden:!0}},!0);return}if(!a(r)&&a(f)!==0&&a(g)!==0){const le=Math.max(Math.abs(a(l)),Math.abs(a(c)),15);if(oe.x<=le&&oe.y<=le)return}x(f,oe.x,!0),x(g,oe.y,!0),x(p,oe.strategy,!0),x(m,oe.placement,!0),x(b,oe.middlewareData,!0),x(w,!0)})}function R(){typeof N=="function"&&(N(),N=void 0),I++}function F(){if(R(),e===void 0){M();return}a(r)&&(d.current===null||v.current===null||(N=e(d.current,v.current,M)))}function k(){!a(r)&&v.current===null&&x(w,!1)}function G(){return[a(n),a(s),a(i),a(l),a(c),a(r)]}return ur(()=>{e===void 0&&a(r)&&M()}),ur(F),ur(()=>{if(e!==void 0){if(G(),!a(r)){$=!1;return}if(!a(w)){$=!1;return}if(!$){$=!0;return}M()}}),ur(k),ur(()=>R),{floating:v,reference:d,get strategy(){return a(p)},get placement(){return a(m)},get middlewareData(){return a(b)},get isPositioned(){return a(w)},get floatingStyles(){return a(L)},get update(){return M}}}function hk(t){return t instanceof Element?!t.isConnected||t instanceof HTMLElement&&t.hidden?!0:t.getClientRects().length===0:!1}const vk={top:"bottom",right:"left",bottom:"top",left:"right"},uh=new ti("Floating.Root"),Rv=new ti("Floating.Content"),dh=new ti("Floating.Root");class tu{constructor(){me(this,"anchorNode",Kn(null));me(this,"customAnchorNode",Kn(null));me(this,"triggerNode",Kn(null));ur(()=>{this.customAnchorNode.current?typeof this.customAnchorNode.current=="string"?this.anchorNode.current=document.querySelector(this.customAnchorNode.current):this.anchorNode.current=this.customAnchorNode.current:this.anchorNode.current=this.triggerNode.current})}static create(e=!1){return e?dh.set(new tu):uh.set(new tu)}}var wl,_l,kl,Mu,$l,Ou,Sl,Pl,Cl,Al,El,Tl,Ml,Ol,zl,Il,Nl,Rl,Fl,Ll,Dl,Bl,Vl,jl;const zu=class zu{constructor(e,r){me(this,"opts");me(this,"root");me(this,"contentRef",Kn(null));me(this,"wrapperRef",Kn(null));me(this,"arrowRef",Kn(null));me(this,"contentAttachment",ts(this.contentRef));me(this,"wrapperAttachment",ts(this.wrapperRef));me(this,"arrowAttachment",ts(this.arrowRef));me(this,"arrowId",Kn(nh()));C(this,wl,z(()=>{if(typeof this.opts.style=="string")return wa(this.opts.style);if(!this.opts.style)return{}}));C(this,_l);C(this,kl,new j1(()=>this.arrowRef.current??void 0));C(this,Mu,z(()=>{var e;return((e=u(this,kl))==null?void 0:e.width)??0}));C(this,$l,z(()=>{var e;return((e=u(this,kl))==null?void 0:e.height)??0}));C(this,Ou,z(()=>{var e;return((e=this.opts.side)==null?void 0:e.current)+(this.opts.align.current!=="center"?`-${this.opts.align.current}`:"")}));C(this,Sl,z(()=>Array.isArray(this.opts.collisionBoundary.current)?this.opts.collisionBoundary.current:[this.opts.collisionBoundary.current]));C(this,Pl,z(()=>a(u(this,Sl)).length>0));C(this,Cl,z(()=>({padding:this.opts.collisionPadding.current,boundary:a(u(this,Sl)).filter(l0),altBoundary:this.hasExplicitBoundaries})));C(this,Al,fe(void 0));C(this,El,fe(void 0));C(this,Tl,fe(void 0));C(this,Ml,fe(void 0));C(this,Ol,z(()=>[ok({mainAxis:this.opts.sideOffset.current+a(u(this,$l)),alignmentAxis:this.opts.alignOffset.current}),this.opts.avoidCollisions.current&&sk({mainAxis:!0,crossAxis:!1,limiter:this.opts.sticky.current==="partial"?uk():void 0,...this.detectOverflowOptions}),this.opts.avoidCollisions.current&&ik({...this.detectOverflowOptions}),ak({...this.detectOverflowOptions,apply:({rects:e,availableWidth:r,availableHeight:n})=>{const{width:o,height:s}=e.reference;x(u(this,Al),r,!0),x(u(this,El),n,!0),x(u(this,Tl),o,!0),x(u(this,Ml),s,!0)}}),this.arrowRef.current&&ck({element:this.arrowRef.current,padding:this.opts.arrowPadding.current}),gk({arrowWidth:a(u(this,Mu)),arrowHeight:a(u(this,$l))}),this.opts.hideWhenDetached.current&&lk({strategy:"referenceHidden",...this.detectOverflowOptions})].filter(Boolean)));me(this,"floating");C(this,zl,z(()=>pk(this.floating.placement)));C(this,Il,z(()=>mk(this.floating.placement)));C(this,Nl,z(()=>{var e;return((e=this.floating.middlewareData.arrow)==null?void 0:e.x)??0}));C(this,Rl,z(()=>{var e;return((e=this.floating.middlewareData.arrow)==null?void 0:e.y)??0}));C(this,Fl,z(()=>{var e;return((e=this.floating.middlewareData.arrow)==null?void 0:e.centerOffset)!==0}));C(this,Ll,fe());C(this,Dl,z(()=>vk[this.placedSide]));C(this,Bl,z(()=>{var e,r,n;return{id:this.opts.wrapperId.current,"data-bits-floating-content-wrapper":"",style:{...this.floating.floatingStyles,transform:this.floating.isPositioned?this.floating.floatingStyles.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:this.contentZIndex,"--bits-floating-transform-origin":`${(e=this.floating.middlewareData.transformOrigin)==null?void 0:e.x} ${(r=this.floating.middlewareData.transformOrigin)==null?void 0:r.y}`,"--bits-floating-available-width":`${a(u(this,Al))}px`,"--bits-floating-available-height":`${a(u(this,El))}px`,"--bits-floating-anchor-width":`${a(u(this,Tl))}px`,"--bits-floating-anchor-height":`${a(u(this,Ml))}px`,...((n=this.floating.middlewareData.hide)==null?void 0:n.referenceHidden)&&{visibility:"hidden","pointer-events":"none"},...a(u(this,wl))},dir:this.opts.dir.current,...this.wrapperAttachment}}));C(this,Vl,z(()=>({"data-side":this.placedSide,"data-align":this.placedAlign,style:Jp({...a(u(this,wl))}),...this.contentAttachment})));C(this,jl,z(()=>({position:"absolute",left:this.arrowX?`${this.arrowX}px`:void 0,top:this.arrowY?`${this.arrowY}px`:void 0,[this.arrowBaseSide]:0,"transform-origin":{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[this.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[this.placedSide],visibility:this.cannotCenterArrow?"hidden":void 0})));this.opts=e,this.root=r,V(this,_l,e.updatePositionStrategy),e.customAnchor&&(this.root.customAnchorNode.current=e.customAnchor.current),cn(()=>e.customAnchor.current,n=>{this.root.customAnchorNode.current=n}),this.floating=fk({strategy:()=>this.opts.strategy.current,placement:()=>a(u(this,Ou)),middleware:()=>this.middleware,reference:this.root.anchorNode,whileElementsMounted:(...n)=>{var s;return nk(...n,{animationFrame:((s=u(this,_l))==null?void 0:s.current)==="always"})},open:()=>this.opts.enabled.current,sideOffset:()=>this.opts.sideOffset.current,alignOffset:()=>this.opts.alignOffset.current}),ur(()=>{var n;this.floating.isPositioned&&((n=this.opts.onPlaced)==null||n.current())}),cn(()=>this.contentRef.current,n=>{if(!n||!this.opts.enabled.current)return;const o=nm(n),s=o.requestAnimationFrame(()=>{if(this.contentRef.current!==n||!this.opts.enabled.current)return;const i=o.getComputedStyle(n).zIndex;i!==this.contentZIndex&&(this.contentZIndex=i)});return()=>{o.cancelAnimationFrame(s)}}),ur(()=>{this.floating.floating.current=this.wrapperRef.current})}static create(e,r=!1){return r?Rv.set(new zu(e,dh.get())):Rv.set(new zu(e,uh.get()))}get hasExplicitBoundaries(){return a(u(this,Pl))}set hasExplicitBoundaries(e){x(u(this,Pl),e)}get detectOverflowOptions(){return a(u(this,Cl))}set detectOverflowOptions(e){x(u(this,Cl),e)}get middleware(){return a(u(this,Ol))}set middleware(e){x(u(this,Ol),e)}get placedSide(){return a(u(this,zl))}set placedSide(e){x(u(this,zl),e)}get placedAlign(){return a(u(this,Il))}set placedAlign(e){x(u(this,Il),e)}get arrowX(){return a(u(this,Nl))}set arrowX(e){x(u(this,Nl),e)}get arrowY(){return a(u(this,Rl))}set arrowY(e){x(u(this,Rl),e)}get cannotCenterArrow(){return a(u(this,Fl))}set cannotCenterArrow(e){x(u(this,Fl),e)}get contentZIndex(){return a(u(this,Ll))}set contentZIndex(e){x(u(this,Ll),e,!0)}get arrowBaseSide(){return a(u(this,Dl))}set arrowBaseSide(e){x(u(this,Dl),e)}get wrapperProps(){return a(u(this,Bl))}set wrapperProps(e){x(u(this,Bl),e)}get props(){return a(u(this,Vl))}set props(e){x(u(this,Vl),e)}get arrowStyle(){return a(u(this,jl))}set arrowStyle(e){x(u(this,jl),e)}};wl=new WeakMap,_l=new WeakMap,kl=new WeakMap,Mu=new WeakMap,$l=new WeakMap,Ou=new WeakMap,Sl=new WeakMap,Pl=new WeakMap,Cl=new WeakMap,Al=new WeakMap,El=new WeakMap,Tl=new WeakMap,Ml=new WeakMap,Ol=new WeakMap,zl=new WeakMap,Il=new WeakMap,Nl=new WeakMap,Rl=new WeakMap,Fl=new WeakMap,Ll=new WeakMap,Dl=new WeakMap,Bl=new WeakMap,Vl=new WeakMap,jl=new WeakMap;let mf=zu;class ru{constructor(e,r){me(this,"opts");me(this,"root");this.opts=e,this.root=r,e.virtualEl&&e.virtualEl.current?r.triggerNode=Yp(e.virtualEl.current):r.triggerNode=e.ref}static create(e,r=!1){return r?new ru(e,dh.get()):new ru(e,uh.get())}}function gk(t){return{name:"transformOrigin",options:t,fn(e){var w,$,I;const{placement:r,rects:n,middlewareData:o}=e,i=((w=o.arrow)==null?void 0:w.centerOffset)!==0,l=i?0:t.arrowWidth,c=i?0:t.arrowHeight,[d,f]=fh(r),g={start:"0%",center:"50%",end:"100%"}[f],v=((($=o.arrow)==null?void 0:$.x)??0)+l/2,p=(((I=o.arrow)==null?void 0:I.y)??0)+c/2;let m="",b="";return d==="bottom"?(m=i?g:`${v}px`,b=`${-c}px`):d==="top"?(m=i?g:`${v}px`,b=`${n.floating.height+c}px`):d==="right"?(m=`${-c}px`,b=i?g:`${p}px`):d==="left"&&(m=`${n.floating.width+c}px`,b=i?g:`${p}px`),{data:{x:m,y:b}}}}}function fh(t){const[e,r="center"]=t.split("-");return[e,r]}function pk(t){return fh(t)[0]}function mk(t){return fh(t)[1]}function bk(t,e){Ve(e,!0);let r=D(e,"tooltip",3,!1);tu.create(r());var n=Z(),o=_(n);it(o,()=>e.children??rt),h(t,n),je()}function yk(t,e){Ve(e,!0);let r=D(e,"tooltip",3,!1);ru.create({id:ke(()=>e.id),virtualEl:ke(()=>e.virtualEl),ref:e.ref},r());var n=Z(),o=_(n);it(o,()=>e.children??rt),h(t,n),je()}function xk(t,e){Ve(e,!0);let r=D(e,"side",3,"bottom"),n=D(e,"sideOffset",3,0),o=D(e,"align",3,"center"),s=D(e,"alignOffset",3,0),i=D(e,"arrowPadding",3,0),l=D(e,"avoidCollisions",3,!0),c=D(e,"collisionBoundary",19,()=>[]),d=D(e,"collisionPadding",3,0),f=D(e,"hideWhenDetached",3,!1),g=D(e,"onPlaced",3,()=>{}),v=D(e,"sticky",3,"partial"),p=D(e,"updatePositionStrategy",3,"optimized"),m=D(e,"strategy",3,"fixed"),b=D(e,"dir",3,"ltr"),w=D(e,"style",19,()=>({})),$=D(e,"wrapperId",19,nh),I=D(e,"customAnchor",3,null),L=D(e,"tooltip",3,!1);const N=mf.create({side:ke(()=>r()),sideOffset:ke(()=>n()),align:ke(()=>o()),alignOffset:ke(()=>s()),id:ke(()=>e.id),arrowPadding:ke(()=>i()),avoidCollisions:ke(()=>l()),collisionBoundary:ke(()=>c()),collisionPadding:ke(()=>d()),hideWhenDetached:ke(()=>f()),onPlaced:ke(()=>g()),sticky:ke(()=>v()),updatePositionStrategy:ke(()=>p()),strategy:ke(()=>m()),dir:ke(()=>b()),style:ke(()=>w()),enabled:ke(()=>e.enabled),wrapperId:ke(()=>$()),customAnchor:ke(()=>I())},L()),M=z(()=>Jn(N.wrapperProps,{style:{pointerEvents:"auto"}}));var R=Z(),F=_(R);it(F,()=>e.content??rt,()=>({props:N.props,wrapperProps:a(M)})),h(t,R),je()}function wk(t,e){Ve(e,!0),Ji(()=>{var o;(o=e.onPlaced)==null||o.call(e)});var r=Z(),n=_(r);it(n,()=>e.content??rt,()=>({props:{},wrapperProps:{}})),h(t,r),je()}var _k=new Set(["$$slots","$$events","$$legacy","content","isStatic","onPlaced"]);function kk(t,e){let r=D(e,"isStatic",3,!1),n=Tt(e,_k);var o=Z(),s=_(o);{var i=c=>{wk(c,{get content(){return e.content},get onPlaced(){return e.onPlaced}})},l=c=>{xk(c,Ze({get content(){return e.content},get onPlaced(){return e.onPlaced}},()=>n))};ye(s,c=>{r()?c(i):c(l,-1)})}h(t,o)}var $k=new Set(["$$slots","$$events","$$legacy","popper","onEscapeKeydown","escapeKeydownBehavior","preventOverflowTextSelection","id","onPointerDown","onPointerUp","side","sideOffset","align","alignOffset","arrowPadding","avoidCollisions","collisionBoundary","collisionPadding","sticky","hideWhenDetached","updatePositionStrategy","strategy","dir","preventScroll","wrapperId","style","onPlaced","onInteractOutside","onCloseAutoFocus","onOpenAutoFocus","onFocusOutside","interactOutsideBehavior","loop","trapFocus","isValidEvent","customAnchor","isStatic","enabled","ref","tooltip","contentPointerEvents"]),Sk=B(" ",1);function tb(t,e){Ve(e,!0);let r=D(e,"interactOutsideBehavior",3,"close"),n=D(e,"trapFocus",3,!0),o=D(e,"isValidEvent",3,()=>!1),s=D(e,"customAnchor",3,null),i=D(e,"isStatic",3,!1),l=D(e,"tooltip",3,!1),c=D(e,"contentPointerEvents",3,"auto"),d=Tt(e,$k);const f=z(()=>e.preventScroll??!0),g=z(()=>e.strategy??(a(f)?"fixed":"absolute"));kk(t,{get isStatic(){return i()},get id(){return e.id},get side(){return e.side},get sideOffset(){return e.sideOffset},get align(){return e.align},get alignOffset(){return e.alignOffset},get arrowPadding(){return e.arrowPadding},get avoidCollisions(){return e.avoidCollisions},get collisionBoundary(){return e.collisionBoundary},get collisionPadding(){return e.collisionPadding},get sticky(){return e.sticky},get hideWhenDetached(){return e.hideWhenDetached},get updatePositionStrategy(){return e.updatePositionStrategy},get strategy(){return a(g)},get dir(){return e.dir},get wrapperId(){return e.wrapperId},get style(){return e.style},get onPlaced(){return e.onPlaced},get customAnchor(){return s()},get enabled(){return e.enabled},get tooltip(){return l()},content:(p,m)=>{let b=()=>(m==null?void 0:m()).props,w=()=>(m==null?void 0:m()).wrapperProps;var $=Sk(),I=_($);{var L=R=>{Sv(R,{get preventScroll(){return a(f)}})},N=R=>{Sv(R,{get preventScroll(){return a(f)}})};ye(I,R=>{e.forceMount&&e.enabled?R(L):e.forceMount||R(N,1)})}var M=y(I,2);u2(M,{get onOpenAutoFocus(){return e.onOpenAutoFocus},get onCloseAutoFocus(){return e.onCloseAutoFocus},get loop(){return e.loop},get enabled(){return e.enabled},get trapFocus(){return n()},get forceMount(){return e.forceMount},get ref(){return e.ref},focusScope:(F,k)=>{let G=()=>(k==null?void 0:k()).props;c2(F,{get onEscapeKeydown(){return e.onEscapeKeydown},get escapeKeydownBehavior(){return e.escapeKeydownBehavior},get enabled(){return e.enabled},get ref(){return e.ref},children:(T,ue)=>{a2(T,{get id(){return e.id},get onInteractOutside(){return e.onInteractOutside},get onFocusOutside(){return e.onFocusOutside},get interactOutsideBehavior(){return r()},get isValidEvent(){return o()},get enabled(){return e.enabled},get ref(){return e.ref},children:(oe,be)=>{let le=()=>(be==null?void 0:be()).props;h2(oe,{get id(){return e.id},get preventOverflowTextSelection(){return e.preventOverflowTextSelection},get onPointerDown(){return e.onPointerDown},get onPointerUp(){return e.onPointerUp},get enabled(){return e.enabled},get ref(){return e.ref},children:(pe,$e)=>{var ze=Z(),Fe=_(ze);{let K=z(()=>({props:Jn(d,b(),le(),G(),{style:{pointerEvents:c()}}),wrapperProps:w()}));it(Fe,()=>e.popper??rt,()=>a(K))}h(pe,ze)},$$slots:{default:!0}})},$$slots:{default:!0}})},$$slots:{default:!0}})},$$slots:{focusScope:!0}}),h(p,$)},$$slots:{content:!0}}),je()}var Pk=new Set(["$$slots","$$events","$$legacy","popper","open","onEscapeKeydown","escapeKeydownBehavior","preventOverflowTextSelection","id","onPointerDown","onPointerUp","side","sideOffset","align","alignOffset","arrowPadding","avoidCollisions","collisionBoundary","collisionPadding","sticky","hideWhenDetached","updatePositionStrategy","strategy","dir","preventScroll","wrapperId","style","onPlaced","onInteractOutside","onCloseAutoFocus","onOpenAutoFocus","onFocusOutside","interactOutsideBehavior","loop","trapFocus","isValidEvent","customAnchor","isStatic","ref","shouldRender"]);function Ck(t,e){let r=D(e,"interactOutsideBehavior",3,"close"),n=D(e,"trapFocus",3,!0),o=D(e,"isValidEvent",3,()=>!1),s=D(e,"customAnchor",3,null),i=D(e,"isStatic",3,!1),l=Tt(e,Pk);var c=Z(),d=_(c);{var f=g=>{tb(g,Ze({get popper(){return e.popper},get onEscapeKeydown(){return e.onEscapeKeydown},get escapeKeydownBehavior(){return e.escapeKeydownBehavior},get preventOverflowTextSelection(){return e.preventOverflowTextSelection},get id(){return e.id},get onPointerDown(){return e.onPointerDown},get onPointerUp(){return e.onPointerUp},get side(){return e.side},get sideOffset(){return e.sideOffset},get align(){return e.align},get alignOffset(){return e.alignOffset},get arrowPadding(){return e.arrowPadding},get avoidCollisions(){return e.avoidCollisions},get collisionBoundary(){return e.collisionBoundary},get collisionPadding(){return e.collisionPadding},get sticky(){return e.sticky},get hideWhenDetached(){return e.hideWhenDetached},get updatePositionStrategy(){return e.updatePositionStrategy},get strategy(){return e.strategy},get dir(){return e.dir},get preventScroll(){return e.preventScroll},get wrapperId(){return e.wrapperId},get style(){return e.style},get onPlaced(){return e.onPlaced},get customAnchor(){return s()},get isStatic(){return i()},get enabled(){return e.open},get onInteractOutside(){return e.onInteractOutside},get onCloseAutoFocus(){return e.onCloseAutoFocus},get onOpenAutoFocus(){return e.onOpenAutoFocus},get interactOutsideBehavior(){return r()},get loop(){return e.loop},get trapFocus(){return n()},get isValidEvent(){return o()},get onFocusOutside(){return e.onFocusOutside},forceMount:!1,get ref(){return e.ref}},()=>l))};ye(d,g=>{e.shouldRender&&g(f)})}h(t,c)}var Ak=new Set(["$$slots","$$events","$$legacy","popper","onEscapeKeydown","escapeKeydownBehavior","preventOverflowTextSelection","id","onPointerDown","onPointerUp","side","sideOffset","align","alignOffset","arrowPadding","avoidCollisions","collisionBoundary","collisionPadding","sticky","hideWhenDetached","updatePositionStrategy","strategy","dir","preventScroll","wrapperId","style","onPlaced","onInteractOutside","onCloseAutoFocus","onOpenAutoFocus","onFocusOutside","interactOutsideBehavior","loop","trapFocus","isValidEvent","customAnchor","isStatic","enabled"]);function Ek(t,e){let r=D(e,"interactOutsideBehavior",3,"close"),n=D(e,"trapFocus",3,!0),o=D(e,"isValidEvent",3,()=>!1),s=D(e,"customAnchor",3,null),i=D(e,"isStatic",3,!1),l=Tt(e,Ak);tb(t,Ze({get popper(){return e.popper},get onEscapeKeydown(){return e.onEscapeKeydown},get escapeKeydownBehavior(){return e.escapeKeydownBehavior},get preventOverflowTextSelection(){return e.preventOverflowTextSelection},get id(){return e.id},get onPointerDown(){return e.onPointerDown},get onPointerUp(){return e.onPointerUp},get side(){return e.side},get sideOffset(){return e.sideOffset},get align(){return e.align},get alignOffset(){return e.alignOffset},get arrowPadding(){return e.arrowPadding},get avoidCollisions(){return e.avoidCollisions},get collisionBoundary(){return e.collisionBoundary},get collisionPadding(){return e.collisionPadding},get sticky(){return e.sticky},get hideWhenDetached(){return e.hideWhenDetached},get updatePositionStrategy(){return e.updatePositionStrategy},get strategy(){return e.strategy},get dir(){return e.dir},get preventScroll(){return e.preventScroll},get wrapperId(){return e.wrapperId},get style(){return e.style},get onPlaced(){return e.onPlaced},get customAnchor(){return s()},get isStatic(){return i()},get enabled(){return e.enabled},get onInteractOutside(){return e.onInteractOutside},get onCloseAutoFocus(){return e.onCloseAutoFocus},get onOpenAutoFocus(){return e.onOpenAutoFocus},get interactOutsideBehavior(){return r()},get loop(){return e.loop},get trapFocus(){return n()},get isValidEvent(){return o()},get onFocusOutside(){return e.onFocusOutside}},()=>l,{forceMount:!0}))}var Tk=new Set(["$$slots","$$events","$$legacy","child","children","ref","id","disabled","onSelect","closeOnSelect"]),Mk=B("
");function Ok(t,e){const r=Zi();Ve(e,!0);let n=D(e,"ref",15,null),o=D(e,"id",19,()=>Jl(r)),s=D(e,"disabled",3,!1),i=D(e,"onSelect",3,pr),l=D(e,"closeOnSelect",3,!0),c=Tt(e,Tk);const d=of.create({id:ke(()=>o()),disabled:ke(()=>s()),onSelect:ke(()=>i()),ref:ke(()=>n(),b=>n(b)),closeOnSelect:ke(()=>l())}),f=z(()=>Jn(c,d.props));var g=Z(),v=_(g);{var p=b=>{var w=Z(),$=_(w);it($,()=>e.child,()=>({props:a(f)})),h(b,w)},m=b=>{var w=Mk();Rt(w,()=>({...a(f)}));var $=S(w);it($,()=>e.children??rt),h(b,w)};ye(v,b=>{e.child?b(p):b(m,-1)})}h(t,g),je()}var zk=new Set(["$$slots","$$events","$$legacy","ref","id","child","children"]),Ik=B("
");function Nk(t,e){const r=Zi();Ve(e,!0);let n=D(e,"ref",15,null),o=D(e,"id",19,()=>Jl(r)),s=Tt(e,zk);const i=sf.create({id:ke(()=>o()),ref:ke(()=>n(),v=>n(v))}),l=z(()=>Jn(s,i.props));var c=Z(),d=_(c);{var f=v=>{var p=Z(),m=_(p);it(m,()=>e.child,()=>({props:a(l)})),h(v,p)},g=v=>{var p=Ik();Rt(p,()=>({...a(l)}));var m=S(p);it(m,()=>e.children??rt),h(v,p)};ye(d,v=>{e.child?v(f):v(g,-1)})}h(t,c),je()}function Rk(t,e){Ve(e,!0);let r=D(e,"open",15,!1),n=D(e,"dir",3,"ltr"),o=D(e,"onOpenChange",3,pr),s=D(e,"onOpenChangeComplete",3,pr),i=D(e,"_internal_variant",3,"dropdown-menu"),l=D(e,"_internal_should_skip_exit_animation",3,void 0);const c=tf.create({variant:ke(()=>i()),dir:ke(()=>n()),onClose:()=>{r(!1),o()(!1)},shouldSkipExitAnimation:()=>{var d;return((d=l())==null?void 0:d())??!1}});rf.create({open:ke(()=>r(),d=>{r(d),o()(d)}),onOpenChangeComplete:ke(()=>s())},c),bk(t,{children:(d,f)=>{var g=Z(),v=_(g);it(v,()=>e.children??rt),h(d,g)},$$slots:{default:!0}}),je()}var Fk=new Set(["$$slots","$$events","$$legacy","id","child","children","ref","loop","onInteractOutside","onEscapeKeydown","onCloseAutoFocus","forceMount","trapFocus","style"]),Fv=B("
");function Lk(t,e){const r=Zi();Ve(e,!0);let n=D(e,"id",19,()=>Jl(r)),o=D(e,"ref",15,null),s=D(e,"loop",3,!0),i=D(e,"onInteractOutside",3,pr),l=D(e,"onEscapeKeydown",3,pr),c=D(e,"onCloseAutoFocus",3,pr),d=D(e,"forceMount",3,!1),f=D(e,"trapFocus",3,!1),g=Tt(e,Fk);const v=nf.create({id:ke(()=>n()),loop:ke(()=>s()),ref:ke(()=>o(),N=>o(N)),onCloseAutoFocus:ke(()=>c())}),p=z(()=>Jn(g,v.props));function m(N){if(v.handleInteractOutside(N),!N.defaultPrevented&&(i()(N),!N.defaultPrevented)){if(N.target&&N.target instanceof Element){const M=`[${v.parentMenu.root.getBitsAttr("sub-content")}]`;if(N.target.closest(M))return}v.parentMenu.onClose()}}function b(N){l()(N),!N.defaultPrevented&&v.parentMenu.onClose()}var w=Z(),$=_(w);{var I=N=>{Ek(N,Ze(()=>a(p),()=>v.popperProps,{get ref(){return v.opts.ref},get enabled(){return v.parentMenu.opts.open.current},onInteractOutside:m,onEscapeKeydown:b,get trapFocus(){return f()},get loop(){return s()},forceMount:!0,get id(){return n()},get shouldRender(){return v.shouldRender},popper:(R,F)=>{let k=()=>(F==null?void 0:F()).props,G=()=>(F==null?void 0:F()).wrapperProps;const T=z(()=>Jn(k(),{style:Nv("dropdown-menu")},{style:e.style}));var ue=Z(),xe=_(ue);{var oe=le=>{var pe=Z(),$e=_(pe);{let ze=z(()=>({props:a(T),wrapperProps:G(),...v.snippetProps}));it($e,()=>e.child,()=>a(ze))}h(le,pe)},be=le=>{var pe=Fv();Rt(pe,()=>({...G()}));var $e=S(pe);Rt($e,()=>({...a(T)}));var ze=S($e);it(ze,()=>e.children??rt),h(le,pe)};ye(xe,le=>{e.child?le(oe):le(be,-1)})}h(R,ue)},$$slots:{popper:!0}}))},L=N=>{Ck(N,Ze(()=>a(p),()=>v.popperProps,{get ref(){return v.opts.ref},get open(){return v.parentMenu.opts.open.current},onInteractOutside:m,onEscapeKeydown:b,get trapFocus(){return f()},get loop(){return s()},forceMount:!1,get id(){return n()},get shouldRender(){return v.shouldRender},popper:(R,F)=>{let k=()=>(F==null?void 0:F()).props,G=()=>(F==null?void 0:F()).wrapperProps;const T=z(()=>Jn(k(),{style:Nv("dropdown-menu")},{style:e.style}));var ue=Z(),xe=_(ue);{var oe=le=>{var pe=Z(),$e=_(pe);{let ze=z(()=>({props:a(T),wrapperProps:G(),...v.snippetProps}));it($e,()=>e.child,()=>a(ze))}h(le,pe)},be=le=>{var pe=Fv();Rt(pe,()=>({...G()}));var $e=S(pe);Rt($e,()=>({...a(T)}));var ze=S($e);it(ze,()=>e.children??rt),h(le,pe)};ye(xe,le=>{e.child?le(oe):le(be,-1)})}h(R,ue)},$$slots:{popper:!0}}))};ye($,N=>{d()?N(I):d()||N(L,1)})}h(t,w),je()}var Dk=new Set(["$$slots","$$events","$$legacy","id","ref","child","children","disabled","type"]),Bk=B("");function Vk(t,e){const r=Zi();Ve(e,!0);let n=D(e,"id",19,()=>Jl(r)),o=D(e,"ref",15,null),s=D(e,"disabled",3,!1),i=D(e,"type",3,"button"),l=Tt(e,Dk);const c=af.create({id:ke(()=>n()),disabled:ke(()=>s()??!1),ref:ke(()=>o(),f=>o(f))}),d=z(()=>Jn(l,c.props,{type:i()}));yk(t,{get id(){return n()},get ref(){return c.opts.ref},children:(f,g)=>{var v=Z(),p=_(v);{var m=w=>{var $=Z(),I=_($);it(I,()=>e.child,()=>({props:a(d)})),h(w,$)},b=w=>{var $=Bk();Rt($,()=>({...a(d)}));var I=S($);it(I,()=>e.children??rt),h(w,$)};ye(p,w=>{e.child?w(m):w(b,-1)})}h(f,v)},$$slots:{default:!0}}),je()}const jk=am({component:"label",parts:["root"]});var Wl;const Sh=class Sh{constructor(e){me(this,"opts");me(this,"attachment");C(this,Wl,z(()=>({id:this.opts.id.current,[jk.root]:"",onmousedown:this.onmousedown,...this.attachment})));this.opts=e,this.attachment=ts(this.opts.ref),this.onmousedown=this.onmousedown.bind(this)}static create(e){return new Sh(e)}onmousedown(e){e.detail>1&&e.preventDefault()}get props(){return a(u(this,Wl))}set props(e){x(u(this,Wl),e)}};Wl=new WeakMap;let bf=Sh;var Wk=new Set(["$$slots","$$events","$$legacy","children","child","id","ref","for"]),Gk=B("");function Hk(t,e){const r=Zi();Ve(e,!0);let n=D(e,"id",19,()=>Jl(r)),o=D(e,"ref",15,null),s=Tt(e,Wk);const i=bf.create({id:ke(()=>n()),ref:ke(()=>o(),v=>o(v))}),l=z(()=>Jn(s,i.props,{for:e.for}));var c=Z(),d=_(c);{var f=v=>{var p=Z(),m=_(p);it(m,()=>e.child,()=>({props:a(l)})),h(v,p)},g=v=>{var p=Gk();Rt(p,()=>({...a(l),for:e.for}));var m=S(p);it(m,()=>e.children??rt),h(v,p)};ye(d,v=>{e.child?v(f):v(g,-1)})}h(t,c),je()}var Kk=new Set(["$$slots","$$events","$$legacy","ref","class"]);function Uk(t,e){Ve(e,!0);let r=D(e,"ref",15,null),n=Tt(e,Kk);var o=Z(),s=_(o);{let i=z(()=>xt("gap-2 text-sm leading-none font-medium group-data-[disabled=true]:opacity-50 peer-disabled:opacity-50 flex items-center select-none group-data-[disabled=true]:pointer-events-none peer-disabled:cursor-not-allowed",e.class));A(s,()=>Hk,(l,c)=>{c(l,Ze({"data-slot":"label",get class(){return a(i)}},()=>n,{get ref(){return r()},set ref(d){r(d)}}))})}h(t,o),je()}const Lv=Yf({base:"rounded-lg border border-transparent bg-clip-padding text-sm font-medium focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 group/button inline-flex shrink-0 items-center justify-center whitespace-nowrap transition-all outline-none select-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});var qk=new Set(["$$slots","$$events","$$legacy","class","variant","size","ref","href","type","disabled","children"]),Yk=B(""),Xk=B("");function rr(t,e){Ve(e,!0);let r=D(e,"variant",3,"default"),n=D(e,"size",3,"default"),o=D(e,"ref",15,null),s=D(e,"href",3,void 0),i=D(e,"type",3,"button"),l=Tt(e,qk);var c=Z(),d=_(c);{var f=v=>{var p=Yk();Rt(p,b=>({"data-slot":"button",class:b,href:e.disabled?void 0:s(),"aria-disabled":e.disabled,role:e.disabled?"link":void 0,tabindex:e.disabled?-1:void 0,...l}),[()=>xt(Lv({variant:r(),size:n()}),e.class)]);var m=S(p);it(m,()=>e.children??rt),ar(p,b=>o(b),()=>o()),h(v,p)},g=v=>{var p=Xk();Rt(p,b=>({"data-slot":"button",class:b,type:i(),disabled:e.disabled,...l}),[()=>xt(Lv({variant:r(),size:n()}),e.class)]);var m=S(p);it(m,()=>e.children??rt),ar(p,b=>o(b),()=>o()),h(v,p)};ye(d,v=>{s()?v(f):v(g,-1)})}h(t,c),je()}var Zk=Xi('');function rb(t,e){const r=Zi();let n=D(e,"class",3,"");var o=Zk(),s=S(o),i=S(s),l=y(s);J(()=>{sr(o,0,ys(n())),$t(i,"id",r),$t(l,"fill",`url(#${r})`)}),h(t,o)}/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const Jk={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"};/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const Qk=t=>{for(const e in t)if(e.startsWith("aria-")||e==="role"||e==="title")return!0;return!1};/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const Dv=(...t)=>t.filter((e,r,n)=>!!e&&e.trim()!==""&&n.indexOf(e)===r).join(" ").trim();var e$=Xi("");function At(t,e){const r=wt(e,["children","$$slots","$$events","$$legacy"]),n=wt(r,["name","color","size","strokeWidth","absoluteStrokeWidth","iconNode"]);Ve(e,!1);let o=D(e,"name",8,void 0),s=D(e,"color",8,"currentColor"),i=D(e,"size",8,24),l=D(e,"strokeWidth",8,2),c=D(e,"absoluteStrokeWidth",8,!1),d=D(e,"iconNode",24,()=>[]);ix();var f=e$();Rt(f,(p,m,b)=>({...Jk,...p,...n,width:i(),height:i(),stroke:s(),"stroke-width":m,class:b}),[()=>Qk(n)?void 0:{"aria-hidden":"true"},()=>(bs(c()),bs(l()),bs(i()),tn(()=>c()?Number(l())*24/Number(i()):l())),()=>(bs(Dv),bs(o()),bs(r),tn(()=>Dv("lucide-icon","lucide",o()?`lucide-${o()}`:"",r.class)))]);var g=S(f);Gt(g,1,d,xr,(p,m)=>{var b=z(()=>ng(a(m),2));let w=()=>a(b)[0],$=()=>a(b)[1];var I=Z(),L=_(I);rp(L,w,!0,(N,M)=>{Rt(N,()=>({...$()}))}),h(p,I)});var v=y(g);St(v,e,"default",{}),h(t,f),je()}function t$(t,e){const r=wt(e,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const n=[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"}]];At(t,Ze({name:"activity"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);St(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function r$(t,e){const r=wt(e,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const n=[["path",{d:"m3 16 4 4 4-4"}],["path",{d:"M7 20V4"}],["path",{d:"m21 8-4-4-4 4"}],["path",{d:"M17 4v16"}]];At(t,Ze({name:"arrow-down-up"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);St(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function nb(t,e){const r=wt(e,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const n=[["path",{d:"M12 5v14"}],["path",{d:"m19 12-7 7-7-7"}]];At(t,Ze({name:"arrow-down"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);St(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function ob(t,e){const r=wt(e,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const n=[["path",{d:"m5 12 7-7 7 7"}],["path",{d:"M12 19V5"}]];At(t,Ze({name:"arrow-up"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);St(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function Ic(t,e){const r=wt(e,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const n=[["path",{d:"M20 6 9 17l-5-5"}]];At(t,Ze({name:"check"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);St(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function ud(t,e){const r=wt(e,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const n=[["path",{d:"m6 9 6 6 6-6"}]];At(t,Ze({name:"chevron-down"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);St(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function n$(t,e){const r=wt(e,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const n=[["path",{d:"m7 15 5 5 5-5"}],["path",{d:"m7 9 5-5 5 5"}]];At(t,Ze({name:"chevrons-up-down"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);St(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function rs(t,e){const r=wt(e,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const n=[["circle",{cx:"12",cy:"12",r:"10"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16"}]];At(t,Ze({name:"circle-alert"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);St(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function Bv(t,e){const r=wt(e,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const n=[["circle",{cx:"12",cy:"12",r:"10"}],["circle",{cx:"12",cy:"12",r:"1"}]];At(t,Ze({name:"circle-dot"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);St(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function o$(t,e){const r=wt(e,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const n=[["circle",{cx:"12",cy:"12",r:"10"}],["path",{d:"M12 6v6h4"}]];At(t,Ze({name:"clock-3"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);St(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function ws(t,e){const r=wt(e,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const n=[["path",{d:"m12 14 4-4"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0"}]];At(t,Ze({name:"gauge"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);St(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function yf(t,e){const r=wt(e,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const n=[["circle",{cx:"12",cy:"12",r:"10"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"}],["path",{d:"M2 12h20"}]];At(t,Ze({name:"globe"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);St(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function xf(t,e){const r=wt(e,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const n=[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"}]];At(t,Ze({name:"inbox"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);St(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function s$(t,e){const r=wt(e,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const n=[["rect",{width:"18",height:"7",x:"3",y:"3",rx:"1"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1"}]];At(t,Ze({name:"layout-panel-top"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);St(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function i$(t,e){const r=wt(e,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const n=[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"}]];At(t,Ze({name:"link"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);St(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function a$(t,e){const r=wt(e,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const n=[["path",{d:"M13 5h8"}],["path",{d:"M13 12h8"}],["path",{d:"M13 19h8"}],["path",{d:"m3 17 2 2 4-4"}],["path",{d:"m3 7 2 2 4-4"}]];At(t,Ze({name:"list-checks"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);St(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function l$(t,e){const r=wt(e,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const n=[["path",{d:"M16 5H3"}],["path",{d:"M11 12H3"}],["path",{d:"M16 19H3"}],["path",{d:"m15.5 9.5 5 5"}],["path",{d:"m20.5 9.5-5 5"}]];At(t,Ze({name:"list-x"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);St(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function sb(t,e){const r=wt(e,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const n=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56"}]];At(t,Ze({name:"loader-circle"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);St(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function c$(t,e){const r=wt(e,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const n=[["path",{d:"m16 17 5-5-5-5"}],["path",{d:"M21 12H9"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"}]];At(t,Ze({name:"log-out"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);St(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function u$(t,e){const r=wt(e,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const n=[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3"}],["path",{d:"M12 12V8"}]];At(t,Ze({name:"network"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);St(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function d$(t,e){const r=wt(e,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const n=[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z"}],["path",{d:"M12 22V12"}],["polyline",{points:"3.29 7 12 12 20.71 7"}],["path",{d:"m7.5 4.27 9 5.15"}]];At(t,Ze({name:"package"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);St(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function f$(t,e){const r=wt(e,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const n=[["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"}],["path",{d:"m15 5 4 4"}]];At(t,Ze({name:"pencil"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);St(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function h$(t,e){const r=wt(e,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const n=[["path",{d:"M5 12h14"}],["path",{d:"M12 5v14"}]];At(t,Ze({name:"plus"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);St(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function v$(t,e){const r=wt(e,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const n=[["path",{d:"M16.247 7.761a6 6 0 0 1 0 8.478"}],["path",{d:"M19.075 4.933a10 10 0 0 1 0 14.134"}],["path",{d:"M4.925 19.067a10 10 0 0 1 0-14.134"}],["path",{d:"M7.753 16.239a6 6 0 0 1 0-8.478"}],["circle",{cx:"12",cy:"12",r:"2"}]];At(t,Ze({name:"radio"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);St(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function ib(t,e){const r=wt(e,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const n=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"}],["path",{d:"M21 3v5h-5"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"}],["path",{d:"M8 16H3v5"}]];At(t,Ze({name:"refresh-cw"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);St(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function wf(t,e){const r=wt(e,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const n=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}],["path",{d:"M3 3v5h5"}]];At(t,Ze({name:"rotate-ccw"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);St(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function g$(t,e){const r=wt(e,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const n=[["circle",{cx:"6",cy:"19",r:"3"}],["path",{d:"M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15"}],["circle",{cx:"18",cy:"5",r:"3"}]];At(t,Ze({name:"route"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);St(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function hh(t,e){const r=wt(e,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const n=[["path",{d:"m21 21-4.34-4.34"}],["circle",{cx:"11",cy:"11",r:"8"}]];At(t,Ze({name:"search"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);St(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function p$(t,e){const r=wt(e,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const n=[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18"}]];At(t,Ze({name:"server"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);St(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function ab(t,e){const r=wt(e,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const n=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"}],["circle",{cx:"12",cy:"12",r:"3"}]];At(t,Ze({name:"settings"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);St(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function m$(t,e){const r=wt(e,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const n=[["path",{d:"M10 5H3"}],["path",{d:"M12 19H3"}],["path",{d:"M14 3v4"}],["path",{d:"M16 17v4"}],["path",{d:"M21 12h-9"}],["path",{d:"M21 19h-5"}],["path",{d:"M21 5h-7"}],["path",{d:"M8 10v4"}],["path",{d:"M8 12H3"}]];At(t,Ze({name:"sliders-horizontal"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);St(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function ca(t,e){const r=wt(e,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const n=[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"}]];At(t,Ze({name:"star"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);St(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function b$(t,e){const r=wt(e,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const n=[["path",{d:"M10 11v6"}],["path",{d:"M14 11v6"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6"}],["path",{d:"M3 6h18"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"}]];At(t,Ze({name:"trash-2"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);St(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function y$(t,e){const r=wt(e,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const n=[["path",{d:"M9 14 4 9l5-5"}],["path",{d:"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11"}]];At(t,Ze({name:"undo-2"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);St(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function Vv(t,e){const r=wt(e,["children","$$slots","$$events","$$legacy"]);/** + * @license lucide-svelte v1.0.1 - ISC + * + * ISC License + * + * Copyright (c) 2026 Lucide Icons and Contributors + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * --- + * + * The following Lucide icons are derived from the Feather project: + * + * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out + * + * The MIT License (MIT) (for the icons listed above) + * + * Copyright (c) 2013-present Cole Bemis + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in all + * copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + * SOFTWARE. + * + */const n=[["path",{d:"M18 6 6 18"}],["path",{d:"m6 6 12 12"}]];At(t,Ze({name:"x"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);St(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}var x$=B('
',1),dd=B(" ",1),w$=B(" 登录中…",1),_$=B('
',1),k$=B('
');function $$(t,e){Ve(e,!0);let r=fe(""),n=fe(""),o=fe(!1),s=fe(!1),i=fe(null);Ji(()=>{var f;(f=a(i))==null||f.focus(),Br.loginInfo().then(g=>{x(s,g.temporaryPassword,!0)}).catch(()=>{})});async function l(){if(!(!a(r)||a(o))){x(o,!0),x(n,"");try{await Br.login(a(r)),x(r,""),e.onLogin()}catch(f){x(n,f instanceof Error?f.message:"login failed",!0)}finally{x(o,!1)}}}var c=k$(),d=S(c);A(d,()=>or,(f,g)=>{g(f,{class:"w-full max-w-sm",children:(v,p)=>{var m=dd(),b=_(m);A(b,()=>Tr,($,I)=>{I($,{children:(L,N)=>{var M=x$(),R=_(M),F=S(R);rb(F,{class:"size-6"});var k=y(R,2);A(k,()=>Gr,(T,ue)=>{ue(T,{children:(xe,oe)=>{var be=ge("Sower Admin");h(xe,be)},$$slots:{default:!0}})});var G=y(k,2);A(G,()=>Ir,(T,ue)=>{ue(T,{children:(xe,oe)=>{var be=ge("输入 sower 配置中的 admin 密码。");h(xe,be)},$$slots:{default:!0}})}),h(L,M)},$$slots:{default:!0}})});var w=y(b,2);A(w,()=>_r,($,I)=>{I($,{children:(L,N)=>{var M=_$(),R=_(M);{var F=le=>{var pe=Z(),$e=_(pe);A($e,()=>Gi,(ze,Fe)=>{Fe(ze,{class:"mb-4",children:(K,Bt)=>{var nt=dd(),j=_(nt);rs(j,{class:"size-4"});var re=y(j,2);A(re,()=>Wi,(W,ee)=>{ee(W,{children:(ie,de)=>{var P=ge("未配置固定密码,请使用 sower 启动日志中打印的临时密码登录(每次重启会更换;已登录的浏览器不受影响)。");h(ie,P)},$$slots:{default:!0}})}),h(K,nt)},$$slots:{default:!0}})}),h(le,pe)};ye(R,le=>{a(s)&&le(F)})}var k=y(R,2),G=S(k),T=S(G);Uk(T,{for:"admin-password",children:(le,pe)=>{var $e=ge("密码");h(le,$e)},$$slots:{default:!0}});var ue=y(T,2);Ws(ue,{id:"admin-password",type:"password",placeholder:"admin 密码",autocomplete:"current-password",get ref(){return a(i)},set ref(le){x(i,le,!0)},get value(){return a(r)},set value(le){x(r,le,!0)}});var xe=y(G,2);{var oe=le=>{var pe=Z(),$e=_(pe);A($e,()=>Gi,(ze,Fe)=>{Fe(ze,{variant:"destructive",children:(K,Bt)=>{var nt=dd(),j=_(nt);rs(j,{class:"size-4"});var re=y(j,2);A(re,()=>Wi,(W,ee)=>{ee(W,{children:(ie,de)=>{var P=ge();J(()=>te(P,a(n))),h(ie,P)},$$slots:{default:!0}})}),h(K,nt)},$$slots:{default:!0}})}),h(le,pe)};ye(xe,le=>{a(n)&&le(oe)})}var be=y(xe,2);{let le=z(()=>a(o)||!a(r));rr(be,{type:"submit",get disabled(){return a(le)},children:(pe,$e)=>{var ze=Z(),Fe=_(ze);{var K=nt=>{var j=w$(),re=_(j);sb(re,{class:"size-4 animate-spin","aria-hidden":"true"}),h(nt,j)},Bt=nt=>{var j=ge("登录");h(nt,j)};ye(Fe,nt=>{a(o)?nt(K):nt(Bt,-1)})}h(pe,ze)},$$slots:{default:!0}})}Xg("submit",k,le=>{le.preventDefault(),l()}),h(L,M)},$$slots:{default:!0}})}),h(v,m)},$$slots:{default:!0}})}),h(t,c),je()}function sn(t){if(!Number.isFinite(t)||t<0)return"-";if(t<1024)return`${Math.round(t)} B`;const e=["KB","MB","GB","TB","PB"];let r=t,n=-1;do r/=1024,n++;while(r>=1024&&n0?`${e}d ${r}h`:r>0?`${r}h ${n}m`:n>0?`${n}m ${o}s`:`${o}s`}function Vt(t){return t>=1e9?`${(t/1e9).toFixed(1)}B`:t>=1e6?`${(t/1e6).toFixed(1)}M`:t>=1e3?`${(t/1e3).toFixed(1)}K`:`${t}`}function nu(t){const e=new Date(t);if(Number.isNaN(e.getTime()))return"-";const r=o=>String(o).padStart(2,"0"),n=`${r(e.getHours())}:${r(e.getMinutes())}:${r(e.getSeconds())}`;return e.toDateString()===new Date().toDateString()?n:`${e.getFullYear()}-${r(e.getMonth()+1)}-${r(e.getDate())} ${n}`}const Nc=t=>new Date(t).toTimeString().slice(0,5);function lb(t,e){const r=Object.fromEntries(e.map(o=>[o,Array(t.length).fill(0)]));let n=0;for(let o=0;o0){const l=(i-n)/1e3;if(l>0)for(const c of e)r[c][o]=s[c]/l}n=i}return r}const Zt=kr({status:null,traffic:null,history:[],totals:null,connected:!1});let qn=null,ou="",jn=null,Ps=0;function fc(t){try{return JSON.parse(t)}catch{return null}}function ao(t,e){return qn===t&&Ps===e}function P$(t,e){if(!ao(t,e))return;const r=ou;qn=null,Ps++;const n=Ps;t.close(),Zt.connected=!1,Vf().then(()=>{Ps===n&&qn===null&&su(r)}).catch(o=>{if(!(Ps!==n||qn!==null)){if(o instanceof Mr&&o.status===401){jn==null||jn();return}su(r)}})}function jv(t){jn=t}function su(t=""){if(qn&&t===ou)return;const e=qn;qn=null,e==null||e.close(),ou=t;const r=new EventSource(`/api/stream${t?`?${t}`:""}`),n=++Ps;let o=!1;qn=r,r.onopen=()=>{ao(r,n)&&(o=!1,Zt.connected=!0)},r.onerror=()=>{ao(r,n)&&(Zt.connected=!1,!o&&(o=!0,Vf().catch(s=>{ao(r,n)&&s instanceof Mr&&s.status===401&&(jn==null||jn())})))},r.addEventListener("status",s=>{if(!ao(r,n))return;const i=fc(s.data);i&&(Zt.status=i)}),r.addEventListener("traffic",s=>{if(!ao(r,n))return;const i=fc(s.data);i&&(Zt.traffic=i)}),r.addEventListener("history",s=>{if(!ao(r,n))return;const i=fc(s.data);i&&(Zt.history=i.samples)}),r.addEventListener("totals",s=>{if(!ao(r,n))return;const i=fc(s.data);i&&(Zt.totals=i)}),r.addEventListener("renew",()=>{P$(r,n)}),r.addEventListener("auth",()=>{ao(r,n)&&(jn==null||jn())})}function Wv(){const t=qn;qn=null,Ps++,t==null||t.close(),ou="",Zt.status=null,Zt.traffic=null,Zt.history=[],Zt.totals=null,Zt.connected=!1}const C$=Yf({base:"h-5 gap-1 rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium transition-all has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&>svg]:size-3! group/badge inline-flex w-fit shrink-0 items-center justify-center overflow-hidden whitespace-nowrap transition-colors focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none",variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});var A$=new Set(["$$slots","$$events","$$legacy","ref","href","class","variant","children"]);function an(t,e){Ve(e,!0);let r=D(e,"ref",15,null),n=D(e,"variant",3,"default"),o=Tt(e,A$);var s=Z(),i=_(s);rp(i,()=>e.href?"a":"span",!1,(l,c)=>{ar(l,g=>r(g),()=>r()),Rt(l,g=>({"data-slot":"badge",href:e.href,class:g,...o}),[()=>xt(C$({variant:n()}),e.class)]);var d=Z(),f=_(d);it(f,()=>e.children??rt),h(c,d)}),h(t,s),je()}var E$=B('
');function za(t,e){let r=D(e,"label",3,"加载中…");var n=E$(),o=S(n);sb(o,{class:"size-4 animate-spin","aria-hidden":"true"});var s=y(o,2),i=S(s);J(()=>te(i,r())),h(t,n)}const ms=kr({timestamp:null,owner:null});var T$=Xi(''),M$=Xi(''),O$=Xi(''),z$=Xi(''),I$=B(''),N$=B(' ',1),R$=B(" "),F$=B('
',1),L$=B('
等待采样数据…
'),D$=B(' '),B$=B(' '),V$=B('
');function ui(t,e){Ve(e,!0);let r=D(e,"height",3,160),n=D(e,"label",3,"历史数据曲线"),o=D(e,"format",3,W=>String(W));const s=600,i=z(r),l=z(()=>e.series.flatMap(W=>W.values)),c=z(()=>a(l).length?Math.max(...a(l)):0),d=z(()=>a(l).length?Math.min(...a(l)):0),f=z(()=>a(c)-a(d)||1),g=z(()=>a(f)*.12),v=z(()=>a(c)+a(g)),p=z(()=>Math.max(0,a(d)-a(g))),m=z(()=>W=>e.labels.length<=1?0:W/(e.labels.length-1)*s),b=z(()=>W=>a(i)-(W-a(p))/(a(v)-a(p))*a(i)),w=z(()=>e.series.map(W=>{const ee=W.values;if(!ee.length)return{s:W,line:"",area:""};const ie=ee.map((de,P)=>`${P===0?"M":"L"}${a(m)(P).toFixed(1)},${a(b)(de).toFixed(1)}`).join(" ");return{s:W,line:ie,area:`${ie} L${a(m)(ee.length-1).toFixed(1)},${a(i)} L${a(m)(0).toFixed(1)},${a(i)} Z`}})),$=z(()=>new Map(e.timestamps.map((W,ee)=>[W,ee]))),I=z(()=>e.labels.length<=2?[0,e.labels.length-1]:[0,Math.floor(e.labels.length/2),e.labels.length-1]),L=z(()=>a(I).map(W=>e.labels[W])),N=z(()=>e.labels.length>=2),M=Symbol("area-chart");let R=fe(null);const F=z(()=>a(R)==null?null:a($).get(a(R))??null),k=z(()=>ms.timestamp==null?null:a($).get(ms.timestamp)??null),G=z(()=>a(F)!=null&&a(F)>=0?a(F):a(k)!=null&&a(k)>=0?a(k):null),T=z(()=>a(G)!=null&&e.timestamps[a(G)]?new Date(e.timestamps[a(G)]).toTimeString().slice(0,8):"");let ue=fe(void 0),xe=null,oe=null;function be(){ms.owner===M&&(ms.timestamp=null,ms.owner=null)}function le(){if(xe=null,oe==null)return;const W=e.timestamps[oe]??null;x(R,W,!0),ms.timestamp=W,ms.owner=W==null?null:M}function pe(W){if(!a(ue))return;const ee=a(ue).getBoundingClientRect();if(ee.width===0||e.labels.length<2)return;const ie=(W.clientX-ee.left)/ee.width;oe=Math.max(0,Math.min(e.labels.length-1,Math.round(ie*(e.labels.length-1)))),xe==null&&(xe=requestAnimationFrame(le))}function $e(W){if(!a(N)||e.labels.length<2)return;const ee=a(G)??0;let ie=null;switch(W.key){case"ArrowLeft":ie=Math.max(0,ee-1);break;case"ArrowRight":ie=Math.min(e.labels.length-1,ee+1);break;case"Home":ie=0;break;case"End":ie=e.labels.length-1;break;default:return}W.preventDefault(),oe=ie,le()}function ze(){xe!=null&&(cancelAnimationFrame(xe),xe=null),oe=null}function Fe(){ze(),x(R,null),be()}cp(()=>{ze(),be()});var K=V$(),Bt=S(K);{var nt=W=>{var ee=F$(),ie=_(ee),de=S(ie),P=S(de);Gt(P,16,()=>[.25,.5,.75],xr,(he,ae)=>{var O=T$();$t(O,"x2",s),J(()=>{$t(O,"y1",a(i)*ae),$t(O,"y2",a(i)*ae)}),h(he,O)});var E=y(P);Gt(E,17,()=>a(w),xr,(he,ae)=>{var O=M$();J(()=>{$t(O,"d",a(ae).area),Do(O,`fill:${a(ae).s.color}`)}),h(he,O)});var q=y(E);Gt(q,17,()=>a(w),xr,(he,ae)=>{var O=O$();J(()=>{$t(O,"d",a(ae).line),Do(O,`stroke:${a(ae).s.color}`)}),h(he,O)});var ne=y(q);{var Pe=he=>{var ae=z$();J((O,H)=>{$t(ae,"x1",O),$t(ae,"x2",H),$t(ae,"y2",a(i))},[()=>a(m)(a(G)),()=>a(m)(a(G))]),h(he,ae)};ye(ne,he=>{a(G)!==null&&he(Pe)})}ar(de,he=>x(ue,he),()=>a(ue));var X=y(de,2);{var ce=he=>{var ae=N$(),O=_(ae);Gt(O,17,()=>e.series,xr,(Q,U)=>{var Se=I$();J(ot=>Do(Se,ot),[()=>`left:${a(m)(a(G))/s*100}%;top:${a(b)(a(U).values[a(G)]??0)/a(i)*100}%;background:${a(U).color}`]),h(Q,Se)});var H=y(O,2),Y=S(H);J(Q=>{Do(H,Q),te(Y,a(T))},[()=>`left:${Math.min(92,Math.max(8,a(m)(a(G))/s*100))}%`]),h(he,ae)};ye(X,he=>{a(G)!==null&&he(ce)})}var we=y(ie,2);Gt(we,21,()=>a(L),xr,(he,ae)=>{var O=R$(),H=S(O);J(()=>te(H,a(ae))),h(he,O)}),J(()=>{$t(de,"viewBox",`0 0 ${s} ${a(i)}`),Do(de,`height:${a(i)}px`),$t(de,"aria-label",n())}),Lr("pointermove",de,pe),Xg("pointerleave",de,Fe),Lr("keydown",de,$e),h(W,ee)},j=W=>{var ee=L$();J(()=>Do(ee,`height:${a(i)}px`)),h(W,ee)};ye(Bt,W=>{a(N)?W(nt):W(j,-1)})}var re=y(Bt,2);Gt(re,21,()=>e.series,xr,(W,ee)=>{var ie=B$(),de=S(ie),P=y(de),E=y(P);{var q=ne=>{var Pe=D$(),X=S(Pe);J(ce=>te(X,ce),[()=>o()(a(ee).values[a(G)]??0)]),h(ne,Pe)};ye(E,ne=>{a(G)!==null&&ne(q)})}J(()=>{Do(de,`background:${a(ee).color}`),te(P,` ${a(ee).name??""} `)}),h(W,ie)}),h(t,K),je()}Yi(["pointermove","keydown"]);var hr=B(" ",1),Lo=B('
',1),j$=B('

自启动以来

'),W$=B('

全部上游查询

'),G$=B('

'),hc=B('

近 60 秒均值

'),fd=B('
'),H$=B('
HTTP
HTTPS
SOCKS5

',1),K$=B('
Block
Direct
Proxy

',1),U$=B('
Goroutines
堆内存
',1),q$=B('

',1);function Y$(t,e){Ve(e,!0);const r=z(()=>Zt.traffic),n=z(()=>Zt.history),o=z(()=>a(n).map(m=>Nc(m.at))),s=z(()=>a(n).map(m=>m.at)),i=z(()=>lb(a(n),["bytesUp","bytesDown","dns","conns","proxy","direct","block"])),l=m=>`${sn(m)}/s`,c=m=>`${m.toFixed(1)}/s`,d=z(()=>{const m=a(n)[0],b=a(n)[a(n).length-1];return m&&b?`${Nc(m.at)} – ${Nc(b.at)} · 进程内历史,重启后清空`:"进程内历史,重启后清空"});var f=Z(),g=_(f);{var v=m=>{za(m,{})},p=m=>{var b=q$(),w=_(b);{var $=j=>{var re=Z(),W=_(re);A(W,()=>Gi,(ee,ie)=>{ie(ee,{variant:"destructive",class:"mb-4",children:(de,P)=>{var E=hr(),q=_(E);rs(q,{class:"size-4"});var ne=y(q,2);A(ne,()=>Wi,(Pe,X)=>{X(Pe,{children:(ce,we)=>{var he=ge("实时连接已断开,正在重连…");h(ce,he)},$$slots:{default:!0}})}),h(de,E)},$$slots:{default:!0}})}),h(j,re)};ye(w,j=>{Zt.connected||j($)})}var I=y(w,2),L=S(I);A(L,()=>or,(j,re)=>{re(j,{children:(W,ee)=>{var ie=hr(),de=_(ie);A(de,()=>Tr,(E,q)=>{q(E,{children:(ne,Pe)=>{var X=Lo(),ce=_(X),we=S(ce);A(we,()=>Ir,(O,H)=>{H(O,{children:(Y,Q)=>{var U=ge("版本");h(Y,U)},$$slots:{default:!0}})});var he=y(we,2);d$(he,{class:"size-4 text-muted-foreground"});var ae=y(ce,2);A(ae,()=>Gr,(O,H)=>{H(O,{class:"text-xl",children:(Y,Q)=>{var U=ge();J(()=>te(U,e.status.version||"-")),h(Y,U)},$$slots:{default:!0}})}),h(ne,X)},$$slots:{default:!0}})});var P=y(de,2);A(P,()=>_r,(E,q)=>{q(E,{children:(ne,Pe)=>{an(ne,{variant:"secondary",children:(X,ce)=>{var we=ge();J(()=>te(we,e.status.date||"unknown build date")),h(X,we)},$$slots:{default:!0}})},$$slots:{default:!0}})}),h(W,ie)},$$slots:{default:!0}})});var N=y(L,2);A(N,()=>or,(j,re)=>{re(j,{children:(W,ee)=>{var ie=hr(),de=_(ie);A(de,()=>Tr,(E,q)=>{q(E,{children:(ne,Pe)=>{var X=Lo(),ce=_(X),we=S(ce);A(we,()=>Ir,(O,H)=>{H(O,{children:(Y,Q)=>{var U=ge("运行时长");h(Y,U)},$$slots:{default:!0}})});var he=y(we,2);o$(he,{class:"size-4 text-muted-foreground"});var ae=y(ce,2);A(ae,()=>Gr,(O,H)=>{H(O,{class:"text-xl tabular-nums",children:(Y,Q)=>{var U=ge();J(Se=>te(U,Se),[()=>S$(a(r).uptime)]),h(Y,U)},$$slots:{default:!0}})}),h(ne,X)},$$slots:{default:!0}})});var P=y(de,2);A(P,()=>_r,(E,q)=>{q(E,{children:(ne,Pe)=>{var X=j$();h(ne,X)},$$slots:{default:!0}})}),h(W,ie)},$$slots:{default:!0}})});var M=y(N,2);A(M,()=>or,(j,re)=>{re(j,{children:(W,ee)=>{var ie=hr(),de=_(ie);A(de,()=>Tr,(E,q)=>{q(E,{children:(ne,Pe)=>{var X=Lo(),ce=_(X),we=S(ce);A(we,()=>Ir,(O,H)=>{H(O,{children:(Y,Q)=>{var U=ge("DNS 查询");h(Y,U)},$$slots:{default:!0}})});var he=y(we,2);yf(he,{class:"size-4 text-muted-foreground"});var ae=y(ce,2);A(ae,()=>Gr,(O,H)=>{H(O,{class:"text-xl tabular-nums",children:(Y,Q)=>{var U=ge();J(Se=>te(U,Se),[()=>Vt(a(r).dnsQueries)]),h(Y,U)},$$slots:{default:!0}})}),h(ne,X)},$$slots:{default:!0}})});var P=y(de,2);A(P,()=>_r,(E,q)=>{q(E,{children:(ne,Pe)=>{var X=W$();h(ne,X)},$$slots:{default:!0}})}),h(W,ie)},$$slots:{default:!0}})});var R=y(M,2);A(R,()=>or,(j,re)=>{re(j,{children:(W,ee)=>{var ie=hr(),de=_(ie);A(de,()=>Tr,(E,q)=>{q(E,{children:(ne,Pe)=>{var X=Lo(),ce=_(X),we=S(ce);A(we,()=>Ir,(O,H)=>{H(O,{children:(Y,Q)=>{var U=ge("代理流量");h(Y,U)},$$slots:{default:!0}})});var he=y(we,2);r$(he,{class:"size-4 text-muted-foreground"});var ae=y(ce,2);A(ae,()=>Gr,(O,H)=>{H(O,{class:"text-xl tabular-nums",children:(Y,Q)=>{var U=ge();J(Se=>te(U,Se),[()=>sn(a(r).bytesUp+a(r).bytesDown)]),h(Y,U)},$$slots:{default:!0}})}),h(ne,X)},$$slots:{default:!0}})});var P=y(de,2);A(P,()=>_r,(E,q)=>{q(E,{children:(ne,Pe)=>{var X=G$(),ce=S(X);J((we,he)=>te(ce,`↑ ${we??""} / ↓ ${he??""}`),[()=>sn(a(r).bytesUp),()=>sn(a(r).bytesDown)]),h(ne,X)},$$slots:{default:!0}})}),h(W,ie)},$$slots:{default:!0}})});var F=y(I,2),k=S(F);A(k,()=>or,(j,re)=>{re(j,{children:(W,ee)=>{var ie=hr(),de=_(ie);A(de,()=>Tr,(E,q)=>{q(E,{children:(ne,Pe)=>{var X=Lo(),ce=_(X),we=S(ce);A(we,()=>Ir,(O,H)=>{H(O,{children:(Y,Q)=>{var U=ge("上行速率");h(Y,U)},$$slots:{default:!0}})});var he=y(we,2);ob(he,{class:"size-4 text-muted-foreground"});var ae=y(ce,2);A(ae,()=>Gr,(O,H)=>{H(O,{class:"text-xl tabular-nums",children:(Y,Q)=>{var U=ge();J(Se=>te(U,`${Se??""}/s`),[()=>sn(a(r).rates.bytesUpPerSec)]),h(Y,U)},$$slots:{default:!0}})}),h(ne,X)},$$slots:{default:!0}})});var P=y(de,2);A(P,()=>_r,(E,q)=>{q(E,{children:(ne,Pe)=>{var X=hc();h(ne,X)},$$slots:{default:!0}})}),h(W,ie)},$$slots:{default:!0}})});var G=y(k,2);A(G,()=>or,(j,re)=>{re(j,{children:(W,ee)=>{var ie=hr(),de=_(ie);A(de,()=>Tr,(E,q)=>{q(E,{children:(ne,Pe)=>{var X=Lo(),ce=_(X),we=S(ce);A(we,()=>Ir,(O,H)=>{H(O,{children:(Y,Q)=>{var U=ge("下行速率");h(Y,U)},$$slots:{default:!0}})});var he=y(we,2);nb(he,{class:"size-4 text-muted-foreground"});var ae=y(ce,2);A(ae,()=>Gr,(O,H)=>{H(O,{class:"text-xl tabular-nums",children:(Y,Q)=>{var U=ge();J(Se=>te(U,`${Se??""}/s`),[()=>sn(a(r).rates.bytesDownPerSec)]),h(Y,U)},$$slots:{default:!0}})}),h(ne,X)},$$slots:{default:!0}})});var P=y(de,2);A(P,()=>_r,(E,q)=>{q(E,{children:(ne,Pe)=>{var X=hc();h(ne,X)},$$slots:{default:!0}})}),h(W,ie)},$$slots:{default:!0}})});var T=y(G,2);A(T,()=>or,(j,re)=>{re(j,{children:(W,ee)=>{var ie=hr(),de=_(ie);A(de,()=>Tr,(E,q)=>{q(E,{children:(ne,Pe)=>{var X=Lo(),ce=_(X),we=S(ce);A(we,()=>Ir,(O,H)=>{H(O,{children:(Y,Q)=>{var U=ge("DNS 速率");h(Y,U)},$$slots:{default:!0}})});var he=y(we,2);yf(he,{class:"size-4 text-muted-foreground"});var ae=y(ce,2);A(ae,()=>Gr,(O,H)=>{H(O,{class:"text-xl tabular-nums",children:(Y,Q)=>{var U=ge();J(Se=>te(U,`${Se??""}/s`),[()=>a(r).rates.dnsPerSec.toFixed(1)]),h(Y,U)},$$slots:{default:!0}})}),h(ne,X)},$$slots:{default:!0}})});var P=y(de,2);A(P,()=>_r,(E,q)=>{q(E,{children:(ne,Pe)=>{var X=hc();h(ne,X)},$$slots:{default:!0}})}),h(W,ie)},$$slots:{default:!0}})});var ue=y(T,2);A(ue,()=>or,(j,re)=>{re(j,{children:(W,ee)=>{var ie=hr(),de=_(ie);A(de,()=>Tr,(E,q)=>{q(E,{children:(ne,Pe)=>{var X=Lo(),ce=_(X),we=S(ce);A(we,()=>Ir,(O,H)=>{H(O,{children:(Y,Q)=>{var U=ge("连接速率");h(Y,U)},$$slots:{default:!0}})});var he=y(we,2);i$(he,{class:"size-4 text-muted-foreground"});var ae=y(ce,2);A(ae,()=>Gr,(O,H)=>{H(O,{class:"text-xl tabular-nums",children:(Y,Q)=>{var U=ge();J(Se=>te(U,`${Se??""}/s`),[()=>a(r).rates.connsPerSec.toFixed(1)]),h(Y,U)},$$slots:{default:!0}})}),h(ne,X)},$$slots:{default:!0}})});var P=y(de,2);A(P,()=>_r,(E,q)=>{q(E,{children:(ne,Pe)=>{var X=hc();h(ne,X)},$$slots:{default:!0}})}),h(W,ie)},$$slots:{default:!0}})});var xe=y(F,2),oe=S(xe);A(oe,()=>or,(j,re)=>{re(j,{children:(W,ee)=>{var ie=hr(),de=_(ie);A(de,()=>Tr,(E,q)=>{q(E,{children:(ne,Pe)=>{var X=fd(),ce=S(X);A(ce,()=>Ir,(he,ae)=>{ae(he,{children:(O,H)=>{var Y=ge("活跃连接");h(O,Y)},$$slots:{default:!0}})});var we=y(ce,2);u$(we,{class:"size-4 text-muted-foreground"}),h(ne,X)},$$slots:{default:!0}})});var P=y(de,2);A(P,()=>_r,(E,q)=>{q(E,{class:"space-y-2",children:(ne,Pe)=>{var X=H$(),ce=_(X),we=y(S(ce),2),he=S(we),ae=y(ce,2),O=y(S(ae),2),H=S(O),Y=y(ae,2),Q=y(S(Y),2),U=S(Q),Se=y(Y,2),ot=S(Se);J((dt,Oe,_e)=>{te(he,a(r).active.http),te(H,a(r).active.https),te(U,a(r).active.socks5),te(ot,`累计 ${dt??""} / ${Oe??""} / ${_e??""}`)},[()=>Vt(a(r).conns.http),()=>Vt(a(r).conns.https),()=>Vt(a(r).conns.socks5)]),h(ne,X)},$$slots:{default:!0}})}),h(W,ie)},$$slots:{default:!0}})});var be=y(oe,2);A(be,()=>or,(j,re)=>{re(j,{children:(W,ee)=>{var ie=hr(),de=_(ie);A(de,()=>Tr,(E,q)=>{q(E,{children:(ne,Pe)=>{var X=fd(),ce=S(X);A(ce,()=>Ir,(he,ae)=>{ae(he,{children:(O,H)=>{var Y=ge("规则命中");h(O,Y)},$$slots:{default:!0}})});var we=y(ce,2);g$(we,{class:"size-4 text-muted-foreground"}),h(ne,X)},$$slots:{default:!0}})});var P=y(de,2);A(P,()=>_r,(E,q)=>{q(E,{class:"space-y-2",children:(ne,Pe)=>{var X=K$(),ce=_(X),we=y(S(ce),2),he=S(we),ae=y(ce,2),O=y(S(ae),2),H=S(O),Y=y(ae,2),Q=y(S(Y),2),U=S(Q),Se=y(Y,2),ot=S(Se);J((dt,Oe,_e,Me,Le,Ne)=>{te(he,dt),te(H,Oe),te(U,_e),te(ot,`已配置 ${Me??""} / ${Le??""} / ${Ne??""} 条`)},[()=>Vt(a(r).ruleHits.block),()=>Vt(a(r).ruleHits.direct),()=>Vt(a(r).ruleHits.proxy),()=>Vt(e.status.rules.block),()=>Vt(e.status.rules.direct),()=>Vt(e.status.rules.proxy)]),h(ne,X)},$$slots:{default:!0}})}),h(W,ie)},$$slots:{default:!0}})});var le=y(be,2);A(le,()=>or,(j,re)=>{re(j,{children:(W,ee)=>{var ie=hr(),de=_(ie);A(de,()=>Tr,(E,q)=>{q(E,{children:(ne,Pe)=>{var X=fd(),ce=S(X);A(ce,()=>Ir,(he,ae)=>{ae(he,{children:(O,H)=>{var Y=ge("系统");h(O,Y)},$$slots:{default:!0}})});var we=y(ce,2);ws(we,{class:"size-4 text-muted-foreground"}),h(ne,X)},$$slots:{default:!0}})});var P=y(de,2);A(P,()=>_r,(E,q)=>{q(E,{class:"space-y-2",children:(ne,Pe)=>{var X=U$(),ce=_(X),we=y(S(ce),2),he=S(we),ae=y(ce,2),O=y(S(ae),2),H=S(O);J((Y,Q)=>{te(he,Y),te(H,Q)},[()=>Vt(a(r).system.goroutines),()=>sn(a(r).system.heapAlloc)]),h(ne,X)},$$slots:{default:!0}})}),h(W,ie)},$$slots:{default:!0}})});var pe=y(xe,2),$e=S(pe);A($e,()=>or,(j,re)=>{re(j,{children:(W,ee)=>{var ie=hr(),de=_(ie);A(de,()=>Tr,(E,q)=>{q(E,{children:(ne,Pe)=>{var X=hr(),ce=_(X);A(ce,()=>Ir,(he,ae)=>{ae(he,{children:(O,H)=>{var Y=ge("流量历史");h(O,Y)},$$slots:{default:!0}})});var we=y(ce,2);A(we,()=>Gr,(he,ae)=>{ae(he,{class:"text-base",children:(O,H)=>{var Y=ge("上下行速率");h(O,Y)},$$slots:{default:!0}})}),h(ne,X)},$$slots:{default:!0}})});var P=y(de,2);A(P,()=>_r,(E,q)=>{q(E,{children:(ne,Pe)=>{{let X=z(()=>[{name:"下行",color:"var(--chart-1)",values:a(i).bytesDown},{name:"上行",color:"var(--chart-4)",values:a(i).bytesUp}]);ui(ne,{label:"上下行速率历史",get series(){return a(X)},get labels(){return a(o)},get timestamps(){return a(s)},format:l})}},$$slots:{default:!0}})}),h(W,ie)},$$slots:{default:!0}})});var ze=y($e,2);A(ze,()=>or,(j,re)=>{re(j,{children:(W,ee)=>{var ie=hr(),de=_(ie);A(de,()=>Tr,(E,q)=>{q(E,{children:(ne,Pe)=>{var X=hr(),ce=_(X);A(ce,()=>Ir,(he,ae)=>{ae(he,{children:(O,H)=>{var Y=ge("DNS 与连接");h(O,Y)},$$slots:{default:!0}})});var we=y(ce,2);A(we,()=>Gr,(he,ae)=>{ae(he,{class:"text-base",children:(O,H)=>{var Y=ge("每秒查询 / 新建连接");h(O,Y)},$$slots:{default:!0}})}),h(ne,X)},$$slots:{default:!0}})});var P=y(de,2);A(P,()=>_r,(E,q)=>{q(E,{children:(ne,Pe)=>{{let X=z(()=>[{name:"DNS",color:"var(--chart-2)",values:a(i).dns},{name:"连接",color:"var(--chart-3)",values:a(i).conns}]);ui(ne,{label:"DNS 与连接速率历史",get series(){return a(X)},get labels(){return a(o)},get timestamps(){return a(s)},format:c})}},$$slots:{default:!0}})}),h(W,ie)},$$slots:{default:!0}})});var Fe=y(ze,2);A(Fe,()=>or,(j,re)=>{re(j,{children:(W,ee)=>{var ie=hr(),de=_(ie);A(de,()=>Tr,(E,q)=>{q(E,{children:(ne,Pe)=>{var X=hr(),ce=_(X);A(ce,()=>Ir,(he,ae)=>{ae(he,{children:(O,H)=>{var Y=ge("活跃连接");h(O,Y)},$$slots:{default:!0}})});var we=y(ce,2);A(we,()=>Gr,(he,ae)=>{ae(he,{class:"text-base",children:(O,H)=>{var Y=ge("分协议在线数");h(O,Y)},$$slots:{default:!0}})}),h(ne,X)},$$slots:{default:!0}})});var P=y(de,2);A(P,()=>_r,(E,q)=>{q(E,{children:(ne,Pe)=>{{let X=z(()=>[{name:"HTTP",color:"var(--chart-1)",values:a(n).map(ce=>ce.activeHttp)},{name:"HTTPS",color:"var(--chart-4)",values:a(n).map(ce=>ce.activeHttps)},{name:"SOCKS5",color:"var(--chart-3)",values:a(n).map(ce=>ce.activeSocks)}]);ui(ne,{label:"活跃连接历史",get series(){return a(X)},get labels(){return a(o)},get timestamps(){return a(s)},get format(){return Vt}})}},$$slots:{default:!0}})}),h(W,ie)},$$slots:{default:!0}})});var K=y(Fe,2);A(K,()=>or,(j,re)=>{re(j,{children:(W,ee)=>{var ie=hr(),de=_(ie);A(de,()=>Tr,(E,q)=>{q(E,{children:(ne,Pe)=>{var X=hr(),ce=_(X);A(ce,()=>Ir,(he,ae)=>{ae(he,{children:(O,H)=>{var Y=ge("规则命中");h(O,Y)},$$slots:{default:!0}})});var we=y(ce,2);A(we,()=>Gr,(he,ae)=>{ae(he,{class:"text-base",children:(O,H)=>{var Y=ge("每秒路由决策");h(O,Y)},$$slots:{default:!0}})}),h(ne,X)},$$slots:{default:!0}})});var P=y(de,2);A(P,()=>_r,(E,q)=>{q(E,{children:(ne,Pe)=>{{let X=z(()=>[{name:"Proxy",color:"var(--chart-1)",values:a(i).proxy},{name:"Direct",color:"var(--chart-2)",values:a(i).direct},{name:"Block",color:"var(--chart-5)",values:a(i).block}]);ui(ne,{label:"规则命中速率历史",get series(){return a(X)},get labels(){return a(o)},get timestamps(){return a(s)},format:c})}},$$slots:{default:!0}})}),h(W,ie)},$$slots:{default:!0}})});var Bt=y(pe,2),nt=S(Bt);J(()=>te(nt,a(d))),h(m,b)};ye(g,m=>{!e.status||!a(r)?m(v):m(p,-1)})}h(t,f),je()}var X$=new Set(["$$slots","$$events","$$legacy","ref","class","children"]),Z$=B("");function _f(t,e){Ve(e,!0);let r=D(e,"ref",15,null),n=Tt(e,X$);var o=Z$();Rt(o,i=>({"data-slot":"table-body",class:i,...n}),[()=>xt("[&_tr:last-child]:border-0",e.class)]);var s=S(o);it(s,()=>e.children??rt),ar(o,i=>r(i),()=>r()),h(t,o),je()}var J$=new Set(["$$slots","$$events","$$legacy","ref","class","children"]),Q$=B("");function eS(t,e){Ve(e,!0);let r=D(e,"ref",15,null),n=Tt(e,J$);var o=Q$();Rt(o,i=>({"data-slot":"table-caption",class:i,...n}),[()=>xt("mt-4 text-sm text-muted-foreground",e.class)]);var s=S(o);it(s,()=>e.children??rt),ar(o,i=>r(i),()=>r()),h(t,o),je()}var tS=new Set(["$$slots","$$events","$$legacy","ref","class","children"]),rS=B("");function Fr(t,e){Ve(e,!0);let r=D(e,"ref",15,null),n=Tt(e,tS);var o=rS();Rt(o,i=>({"data-slot":"table-cell",class:i,...n}),[()=>xt("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0",e.class)]);var s=S(o);it(s,()=>e.children??rt),ar(o,i=>r(i),()=>r()),h(t,o),je()}var nS=new Set(["$$slots","$$events","$$legacy","ref","class","children"]),oS=B("");function Zr(t,e){Ve(e,!0);let r=D(e,"ref",15,null),n=Tt(e,nS);var o=oS();Rt(o,i=>({"data-slot":"table-head",class:i,...n}),[()=>xt("h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0",e.class)]);var s=S(o);it(s,()=>e.children??rt),ar(o,i=>r(i),()=>r()),h(t,o),je()}var sS=new Set(["$$slots","$$events","$$legacy","ref","class","children"]),iS=B("");function kf(t,e){Ve(e,!0);let r=D(e,"ref",15,null),n=Tt(e,sS);var o=iS();Rt(o,i=>({"data-slot":"table-header",class:i,...n}),[()=>xt("[&_tr]:border-b",e.class)]);var s=S(o);it(s,()=>e.children??rt),ar(o,i=>r(i),()=>r()),h(t,o),je()}var aS=new Set(["$$slots","$$events","$$legacy","ref","class","children"]),lS=B("");function Bo(t,e){Ve(e,!0);let r=D(e,"ref",15,null),n=Tt(e,aS);var o=lS();Rt(o,i=>({"data-slot":"table-row",class:i,...n}),[()=>xt("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e.class)]);var s=S(o);it(s,()=>e.children??rt),ar(o,i=>r(i),()=>r()),h(t,o),je()}var cS=new Set(["$$slots","$$events","$$legacy","ref","class","children"]),uS=B('
');function $f(t,e){Ve(e,!0);let r=D(e,"ref",15,null),n=Tt(e,cS);var o=uS(),s=S(o);Rt(s,l=>({"data-slot":"table",class:l,...n}),[()=>xt("w-full caption-bottom text-sm",e.class)]);var i=S(s);it(i,()=>e.children??rt),ar(s,l=>r(l),()=>r()),h(t,o),je()}var dS=B(''),fS=B(" ",1),Gv=B('

'),hS=B(' '),vS=B("
"),gS=B('

'),pS=B('
路由
'),mS=B('
',1),bS=B(" 添加",1),yS=B(''),xS=B('
+
'),wS=B('
−
'),_S=B(" 重置本类",1),kS=B('

'),$S=B(" 撤销",1),SS=B('
已删除 ,已保存。
'),PS=B('
已保存
'),CS=B('

'),AS=B('

搜索中…

'),ES=B('操作'),Hv=B(" ",1),TS=B(' '),hd=B(" ",1),MS=B('
',1),OS=B('

暂无未命中规则的连接。

'),zS=B('
  • '),IS=B('
      '),NS=B('

      未命中任何 block/direct/proxy 规则的连接域名(检测直连或回退代理),自启动以来累计。

      ',1);function RS(t,e){Ve(e,!0);const r=(O,H=rt,Y=rt)=>{var Q=dS(),U=S(Q),Se=y(U);{var ot=_e=>{ob(_e,{class:"size-3.5"})},dt=_e=>{nb(_e,{class:"size-3.5"})},Oe=_e=>{n$(_e,{class:"size-3.5 opacity-50"})};ye(Se,_e=>{a(d)===H()&&a(f)==="asc"?_e(ot):a(d)===H()?_e(dt,1):_e(Oe,-1)})}J(()=>{sr(Q,1,`inline-flex min-h-11 items-center gap-1 rounded-sm px-1 transition-colors outline-none hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50 sm:min-h-0 ${a(d)===H()?"text-foreground":"text-muted-foreground"}`),$t(Q,"title",`按${Y()}排序`),te(U,`${Y()??""} `)}),Lr("click",Q,()=>Pe(H())),h(O,Q)},n=200;let o=fe(null),s=fe(0),i=fe(0),l=fe(""),c=fe(""),d=fe("default"),f=fe("desc"),g=fe(""),v=fe(!1),p=fe(!1),m=fe(!1),b=fe(null),w=0,$,I=fe("count"),L=fe(null),N=fe("");function M(O,H){return O===w&&H===e.category}async function R(O){if(e.category==="miss")return;const H=++w,Y=e.category,Q=a(c);O||x(p,!0);try{const U=await Br.rules(Y,{q:Q,offset:O?0:a(i),limit:n,sort:a(d),dir:a(f)});if(!M(H,Y))return;x(o,O?U.rules:[...a(o)??[],...U.rules],!0),x(s,U.total,!0),x(i,U.offset+U.rules.length),x(g,"")}catch(U){if(!M(H,Y))return;if(U instanceof Mr&&U.status===401){e.onUnauthorized();return}x(g,U instanceof Error?U.message:"load failed",!0)}finally{M(H,Y)&&x(p,!1)}}async function F(){var Q;if(e.category==="miss")return;const O=++w,H=e.category,Y=Math.max(((Q=a(o))==null?void 0:Q.length)??n,n);try{const U=await Br.rules(H,{q:a(c),offset:0,limit:Y,sort:a(d),dir:a(f)});if(!M(O,H))return;x(o,U.rules,!0),x(s,U.total,!0),x(i,U.offset+U.rules.length),x(g,"")}catch(U){if(!M(O,H))return;if(U instanceof Mr&&U.status===401){e.onUnauthorized();return}x(g,U instanceof Error?U.message:"refresh failed",!0)}}async function k(){if(e.category==="miss")return;const O=a(l).trim();if(!O||a(v))return;const H=++w,Y=e.category;x(v,!0),x(g,"");try{if(await Br.addRules(Y,[O]),!M(H,Y)||(x(l,""),await F(),e.category!==Y))return;await Fe(),K()}catch(Q){if(!M(H,Y))return;if(Q instanceof Mr&&Q.status===401){e.onUnauthorized();return}x(g,Q instanceof Error?Q.message:"add failed",!0)}finally{x(v,!1)}}async function G(O){var Q;if(e.category==="miss"||a(v))return;const H=++w,Y=e.category;x(v,!0),x(g,"");try{if(await Br.removeRules(Y,[O]),!M(H,Y)||(await F(),(Q=a(b))==null||Q.focus(),e.category!==Y))return;clearTimeout(le),x(be,O,!0),le=setTimeout(()=>x(be,null),6e3),await Fe()}catch(U){if(!M(H,Y))return;if(U instanceof Mr&&U.status===401){e.onUnauthorized();return}x(g,U instanceof Error?U.message:"remove failed",!0)}finally{x(v,!1)}}async function T(){if(e.category==="miss"||!a(be)||a(v))return;const O=a(be);x(be,null),clearTimeout(le),x(v,!0),x(g,"");try{await Br.addRules(e.category,[O]),await F(),await Fe(),K()}catch(H){if(H instanceof Mr&&H.status===401){e.onUnauthorized();return}x(g,H instanceof Error?H.message:"undo failed",!0)}finally{x(v,!1)}}async function ue(){if(!(e.category==="miss"||a(v))){x(v,!0),x(g,"");try{await Br.resetRules(e.category),x(oe,!1),await F(),await Fe(),K()}catch(O){if(O instanceof Mr&&O.status===401){e.onUnauthorized();return}x(g,O instanceof Error?O.message:"reset failed",!0)}finally{x(v,!1)}}}let xe=fe(null),oe=fe(!1),be=fe(null),le,pe=fe(!1);const $e=z(()=>{var O;return e.category==="miss"||(O=a(xe))==null?void 0:O.rules[e.category]}),ze=z(()=>{var O,H;return(((O=a($e))==null?void 0:O.add.length)??0)+(((H=a($e))==null?void 0:H.remove.length)??0)});async function Fe(){try{x(xe,await Br.rulesChanges(),!0)}catch(O){O instanceof Mr&&O.status===401&&e.onUnauthorized()}}function K(){x(pe,!0),setTimeout(()=>x(pe,!1),2500)}let Bt=fe(""),nt=fe(null),j=fe(!1),re=fe("");const W={block:"拦截",direct:"直连",proxy:"代理",auto:"自动检测"};function ee(O){switch(O){case"block":return"destructive";case"direct":return"secondary";case"proxy":return"default";default:return"outline"}}function ie(O,H){if(!H)return"outline";switch(O){case"block":return"destructive";case"direct":return"secondary";default:return"default"}}async function de(){const O=a(Bt).trim();if(!(!O||a(j))){x(j,!0),x(re,""),x(nt,null);try{x(nt,await Br.rulesTest(O),!0)}catch(H){if(H instanceof Mr&&H.status===401){e.onUnauthorized();return}x(re,H instanceof Error?H.message:"test failed",!0)}finally{x(j,!1)}}}ur(()=>{e.category,clearTimeout($),clearTimeout(le),x(o,null),x(s,0),x(i,0),x(l,""),x(c,""),x(d,"default"),x(f,"desc"),x(g,""),x(v,!1),x(be,null),x(oe,!1),x(I,"count"),x(L,null),x(N,""),tn(()=>{e.category==="miss"?P():(R(!0),Fe())})});async function P(){try{const O=await Br.ruleMiss(a(I),20);x(L,O,!0),x(N,"")}catch(O){if(O instanceof Mr&&O.status===401){e.onUnauthorized();return}x(N,O instanceof Error?O.message:"load failed",!0)}}function E(O){a(I)!==O&&(x(I,O,!0),x(L,null),P())}function q(O){x(c,O.currentTarget.value,!0),clearTimeout($),$=setTimeout(()=>{x(i,0),x(m,!0),R(!0).finally(()=>x(m,!1))},300)}const ne={rule:"asc",hits:"desc",last_seen:"desc"};function Pe(O){a(d)!==O?(x(d,O,!0),x(f,ne[O],!0)):a(f)===ne[O]?x(f,a(f)==="asc"?"desc":"asc",!0):x(d,"default"),x(i,0),R(!0)}function X(O){if(a(d)===O)return a(f)==="asc"?"ascending":"descending"}var ce=Z(),we=_(ce);{var he=O=>{var H=hd(),Y=_(H);{var Q=Oe=>{var _e=Z(),Me=_(_e);A(Me,()=>Gi,(Le,Ne)=>{Ne(Le,{variant:"destructive",class:"mb-4",children:(Re,st)=>{var Ge=fS(),Qe=_(Ge);rs(Qe,{class:"size-4"});var _t=y(Qe,2);A(_t,()=>Wi,(qe,Be)=>{Be(qe,{children:(ft,zt)=>{var Et=ge();J(()=>te(Et,a(g))),h(ft,Et)},$$slots:{default:!0}})}),h(Re,Ge)},$$slots:{default:!0}})}),h(Oe,_e)};ye(Y,Oe=>{a(g)&&Oe(Q)})}var U=y(Y,2);A(U,()=>or,(Oe,_e)=>{_e(Oe,{class:"mb-4",children:(Me,Le)=>{var Ne=Z(),Re=_(Ne);A(Re,()=>_r,(st,Ge)=>{Ge(st,{class:"grid gap-3 pt-6",children:(Qe,_t)=>{var qe=mS(),Be=_(qe),ft=S(Be);Ws(ft,{placeholder:"检测域名路由,如 example.com","aria-label":"检测域名",onkeydown:ht=>{ht.key==="Enter"&&de()},get value(){return a(Bt)},set value(ht){x(Bt,ht,!0)}});var zt=y(ft,2);{let ht=z(()=>a(j)||!a(Bt).trim());rr(zt,{onclick:de,get disabled(){return a(ht)},children:(vt,bt)=>{var Ie=ge();J(()=>te(Ie,a(j)?"检测中…":"检测")),h(vt,Ie)},$$slots:{default:!0}})}var Et=y(Be,2);{var kt=ht=>{var vt=Gv(),bt=S(vt);J(()=>te(bt,a(re))),h(ht,vt)};ye(Et,ht=>{a(re)&&ht(kt)})}var at=y(Et,2);{var Mt=ht=>{var vt=pS(),bt=S(vt),Ie=y(S(bt),2);{let lt=z(()=>ee(a(nt).route));an(Ie,{get variant(){return a(lt)},children:(Ue,gt)=>{var ct=ge();J(()=>te(ct,W[a(nt).route])),h(Ue,ct)},$$slots:{default:!0}})}var He=y(Ie,2),ve=S(He),Ye=y(bt,2);Gt(Ye,21,()=>a(nt).matches,xr,(lt,Ue)=>{var gt=vS(),ct=S(gt);{let Xe=z(()=>ie(a(Ue).category,a(Ue).matched));an(ct,{get variant(){return a(Xe)},children:(et,Ot)=>{var Ft=ge();J(()=>te(Ft,`${a(Ue).category??""}${a(Ue).matched?"":" 未命中"}`)),h(et,Ft)},$$slots:{default:!0}})}var jt=y(ct,2);{var Je=Xe=>{var et=hS(),Ot=S(et);J(()=>te(Ot,a(Ue).rule)),h(Xe,et)};ye(jt,Xe=>{a(Ue).matched&&Xe(Je)})}J(()=>sr(gt,1,`flex items-center gap-2 text-sm ${a(Ue).matched?"":"opacity-60"}`)),h(lt,gt)});var Ke=y(Ye,2);{var Pt=lt=>{var Ue=gS(),gt=S(Ue);J(()=>te(gt,a(nt).note)),h(lt,Ue)};ye(Ke,lt=>{a(nt).note&<(Pt)})}J(()=>te(ve,a(nt).domain)),ma(1,vt,()=>ba,()=>({duration:xa.current?0:120})),h(ht,vt)};ye(at,ht=>{a(nt)&&ht(Mt)})}h(Qe,qe)},$$slots:{default:!0}})}),h(Me,Ne)},$$slots:{default:!0}})});var Se=y(U,2);{var ot=Oe=>{za(Oe,{})},dt=Oe=>{var _e=MS(),Me=_(_e),Le=S(Me),Ne=S(Le);hh(Ne,{class:"pointer-events-none absolute left-2.5 top-1/2 size-4 -translate-y-1/2 text-muted-foreground"});var Re=y(Ne,2);Ws(Re,{get value(){return a(c)},oninput:q,placeholder:"搜索规则…","aria-label":"搜索规则",class:"pl-8"});var st=y(Le,2),Ge=S(st);Ws(Ge,{placeholder:"添加规则,如 **.example.com","aria-label":"添加规则",class:"min-w-0 font-mono",onkeydown:Ie=>{Ie.key==="Enter"&&k()},get value(){return a(l)},set value(Ie){x(l,Ie,!0)}});var Qe=y(Ge,2);{let Ie=z(()=>a(v)||!a(l).trim());rr(Qe,{class:"shrink-0 gap-1",onclick:k,get disabled(){return a(Ie)},children:(He,ve)=>{var Ye=bS(),Ke=_(Ye);h$(Ke,{class:"size-4"}),h(He,Ye)},$$slots:{default:!0}})}var _t=y(st,2),qe=S(_t);{var Be=Ie=>{var He=yS(),ve=S(He);J(()=>{var Ye,Ke;$t(He,"aria-expanded",a(oe)),te(ve,`自定义 +${((Ye=a($e))==null?void 0:Ye.add.length)??0??""} / −${((Ke=a($e))==null?void 0:Ke.remove.length)??0??""}`)}),Lr("click",He,()=>x(oe,!a(oe))),h(Ie,He)};ye(qe,Ie=>{a(ze)>0&&Ie(Be)})}var ft=y(qe,2);an(ft,{variant:"secondary",class:"ml-auto shrink-0",children:(Ie,He)=>{var ve=Z(),Ye=_(ve);{var Ke=lt=>{var Ue=ge();J(gt=>te(Ue,`${gt??""} 条规则`),[()=>Vt(a(s))]),h(lt,Ue)},Pt=lt=>{var Ue=ge();J((gt,ct)=>te(Ue,`${gt??""} / ${ct??""} 条规则`),[()=>Vt(a(o).length),()=>Vt(a(s))]),h(lt,Ue)};ye(Ye,lt=>{a(o).length===a(s)?lt(Ke):lt(Pt,-1)})}h(Ie,ve)},$$slots:{default:!0}});var zt=y(Me,2);{var Et=Ie=>{var He=kS(),ve=S(He),Ye=S(ve);Gt(Ye,16,()=>a($e).add,Je=>Je,(Je,Xe)=>{var et=xS(),Ot=y(S(et),2),Ft=S(Ot);J(()=>te(Ft,Xe)),h(Je,et)});var Ke=y(Ye,2);Gt(Ke,16,()=>a($e).remove,Je=>Je,(Je,Xe)=>{var et=wS(),Ot=y(S(et),2),Ft=S(Ot);J(()=>te(Ft,Xe)),h(Je,et)});var Pt=y(ve,2),lt=S(Pt),Ue=S(lt);{var gt=Je=>{var Xe=ge("自定义变更保存在 admin 状态文件,重启后仍然生效。");h(Je,Xe)},ct=Je=>{var Xe=ge("变更仅保存在内存中,重启后丢失(未配置 admin.state_file)。");h(Je,Xe)};ye(Ue,Je=>{var Xe;(Xe=a(xe))!=null&&Xe.persistent?Je(gt):Je(ct,-1)})}var jt=y(lt,2);rr(jt,{variant:"outline",size:"sm",class:"shrink-0 gap-1",onclick:ue,get disabled(){return a(v)},children:(Je,Xe)=>{var et=_S(),Ot=_(et);wf(Ot,{class:"size-3.5"}),h(Je,et)},$$slots:{default:!0}}),ma(1,He,()=>ba,()=>({duration:xa.current?0:120})),h(Ie,He)};ye(zt,Ie=>{a(oe)&&a($e)&&Ie(Et)})}var kt=y(zt,2);{var at=Ie=>{var He=SS(),ve=S(He),Ye=y(S(ve)),Ke=S(Ye),Pt=y(ve,2);rr(Pt,{variant:"ghost",size:"sm",class:"shrink-0 gap-1",onclick:T,get disabled(){return a(v)},children:(lt,Ue)=>{var gt=$S(),ct=_(gt);y$(ct,{class:"size-3.5"}),h(lt,gt)},$$slots:{default:!0}}),J(()=>te(Ke,a(be))),ma(1,He,()=>ba,()=>({duration:xa.current?0:120})),h(Ie,He)},Mt=Ie=>{var He=PS(),ve=S(He);Ic(ve,{class:"size-4"}),ma(1,He,()=>ba,()=>({duration:xa.current?0:120})),h(Ie,He)};ye(kt,Ie=>{a(be)?Ie(at):a(pe)&&Ie(Mt,1)})}var ht=y(kt,2);{var vt=Ie=>{var He=CS(),ve=S(He);l$(ve,{class:"size-5","aria-hidden":"true"});var Ye=y(ve,2),Ke=S(Ye);J(Pt=>te(Ke,Pt),[()=>a(c).trim()?`没有匹配“${a(c).trim()}”的规则。`:"该分类暂无规则。"]),h(Ie,He)},bt=Ie=>{var He=hd(),ve=_(He);{var Ye=Ue=>{var gt=AS();h(Ue,gt)};ye(ve,Ue=>{a(m)&&Ue(Ye)})}var Ke=y(ve,2);A(Ke,()=>or,(Ue,gt)=>{gt(Ue,{tabindex:-1,class:"focus:outline-none",get ref(){return a(b)},set ref(ct){x(b,ct,!0)},children:(ct,jt)=>{var Je=Z(),Xe=_(Je);A(Xe,()=>$f,(et,Ot)=>{Ot(et,{children:(Ft,qt)=>{var lr=hd(),Ht=_(lr);A(Ht,()=>eS,(dr,cr)=>{cr(dr,{class:"px-4 pb-1 text-left",children:(Pr,tt)=>{var Ct=ge("命中统计自启动以来累计,重启后清零;升序可将零命中规则置顶,便于清理。");h(Pr,Ct)},$$slots:{default:!0}})});var It=y(Ht,2);A(It,()=>kf,(dr,cr)=>{cr(dr,{children:(Pr,tt)=>{var Ct=Z(),tr=_(Ct);A(tr,()=>Bo,(Lt,Kt)=>{Kt(Lt,{class:"hover:bg-transparent",children:(Io,ni)=>{var Cr=Hv(),Qt=_(Cr);{let Ar=z(()=>X("rule"));A(Qt,()=>Zr,(Wt,Xt)=>{Xt(Wt,{scope:"col",get"aria-sort"(){return a(Ar)},children:(Ut,fr)=>{r(Ut,()=>"rule",()=>"规则")},$$slots:{default:!0}})})}var Yt=y(Qt,2);{let Ar=z(()=>X("hits"));A(Yt,()=>Zr,(Wt,Xt)=>{Xt(Wt,{scope:"col",class:"text-right",get"aria-sort"(){return a(Ar)},children:(Ut,fr)=>{r(Ut,()=>"hits",()=>"命中次数")},$$slots:{default:!0}})})}var Wr=y(Yt,2);{let Ar=z(()=>X("last_seen"));A(Wr,()=>Zr,(Wt,Xt)=>{Xt(Wt,{scope:"col",class:"hidden text-right sm:table-cell",get"aria-sort"(){return a(Ar)},children:(Ut,fr)=>{r(Ut,()=>"last_seen",()=>"最近命中")},$$slots:{default:!0}})})}var kn=y(Wr,2);A(kn,()=>Zr,(Ar,Wt)=>{Wt(Ar,{scope:"col",class:"w-0 text-right",children:(Xt,Ut)=>{var fr=ES();h(Xt,fr)},$$slots:{default:!0}})}),h(Io,Cr)},$$slots:{default:!0}})}),h(Pr,Ct)},$$slots:{default:!0}})});var nr=y(It,2);A(nr,()=>_f,(dr,cr)=>{cr(dr,{children:(Pr,tt)=>{var Ct=Z(),tr=_(Ct);Gt(tr,17,()=>a(o),Lt=>Lt.rule,(Lt,Kt)=>{var Io=Z(),ni=_(Io);A(ni,()=>Bo,(Cr,Qt)=>{Qt(Cr,{children:(Yt,Wr)=>{var kn=Hv(),Ar=_(kn);A(Ar,()=>Fr,(fr,$n)=>{$n(fr,{class:"w-full whitespace-normal",children:(Sn,oo)=>{var In=TS(),Pn=S(In);J(()=>te(Pn,a(Kt).rule)),h(Sn,In)},$$slots:{default:!0}})});var Wt=y(Ar,2);{let fr=z(()=>a(Kt).count===0?"text-muted-foreground":"");A(Wt,()=>Fr,($n,Sn)=>{Sn($n,{get class(){return`text-right tabular-nums ${a(fr)??""}`},children:(oo,In)=>{var Pn=ge();J(Uu=>te(Pn,Uu),[()=>Vt(a(Kt).count)]),h(oo,Pn)},$$slots:{default:!0}})})}var Xt=y(Wt,2);A(Xt,()=>Fr,(fr,$n)=>{$n(fr,{class:"hidden text-right text-muted-foreground tabular-nums sm:table-cell",children:(Sn,oo)=>{var In=ge();J(Pn=>te(In,Pn),[()=>a(Kt).lastSeen?nu(a(Kt).lastSeen):"—"]),h(Sn,In)},$$slots:{default:!0}})});var Ut=y(Xt,2);A(Ut,()=>Fr,(fr,$n)=>{$n(fr,{class:"text-right",children:(Sn,oo)=>{{let In=z(()=>`删除 ${a(Kt).rule}`),Pn=z(()=>`删除 ${a(Kt).rule}`);rr(Sn,{variant:"ghost",size:"icon-sm",class:"size-11 text-muted-foreground hover:bg-destructive/10 hover:text-destructive sm:size-8",get"aria-label"(){return a(In)},get title(){return a(Pn)},onclick:()=>G(a(Kt).rule),get disabled(){return a(v)},children:(Uu,YP)=>{b$(Uu,{class:"size-4"})},$$slots:{default:!0}})}},$$slots:{default:!0}})}),h(Yt,kn)},$$slots:{default:!0}})}),h(Lt,Io)}),h(Pr,Ct)},$$slots:{default:!0}})}),h(Ft,lr)},$$slots:{default:!0}})}),h(ct,Je)},$$slots:{default:!0}})});var Pt=y(Ke,2);{var lt=Ue=>{{let gt=z(()=>a(p)||a(v));rr(Ue,{variant:"outline",class:"mt-3 w-full",onclick:()=>R(!1),get disabled(){return a(gt)},children:(ct,jt)=>{var Je=ge();J(Xe=>te(Je,Xe),[()=>a(p)?"加载中…":`加载更多(已加载 ${Vt(a(o).length)} / ${Vt(a(s))})`]),h(ct,Je)},$$slots:{default:!0}})}};ye(Pt,Ue=>{a(o).length{a(s)===0?Ie(vt):Ie(bt,-1)})}h(Oe,_e)};ye(Se,Oe=>{a(o)===null?Oe(ot):Oe(dt,-1)})}h(O,H)},ae=O=>{var H=NS(),Y=_(H),Q=S(Y),U=S(Q),Se=y(U,2),ot=y(Y,2);{var dt=Le=>{var Ne=Gv(),Re=S(Ne);J(()=>te(Re,a(N))),h(Le,Ne)},Oe=Le=>{za(Le,{})},_e=Le=>{var Ne=OS(),Re=S(Ne);xf(Re,{class:"size-5","aria-hidden":"true"}),h(Le,Ne)},Me=Le=>{var Ne=Z(),Re=_(Ne);A(Re,()=>or,(st,Ge)=>{Ge(st,{children:(Qe,_t)=>{var qe=IS();Gt(qe,23,()=>a(L),Be=>Be.rule,(Be,ft,zt)=>{var Et=zS(),kt=S(Et),at=S(kt),Mt=y(kt,2),ht=S(Mt),vt=y(Mt,2),bt=S(vt),Ie=y(vt,2),He=S(Ie);J((ve,Ye)=>{te(at,a(zt)+1),te(ht,a(ft).rule),sr(vt,1,`shrink-0 tabular-nums ${a(ft).count===0?"text-muted-foreground":""}`),te(bt,`${ve??""} 次`),te(He,Ye)},[()=>Vt(a(ft).count),()=>a(ft).lastSeen?nu(a(ft).lastSeen):"—"]),h(Be,Et)}),h(Qe,qe)},$$slots:{default:!0}})}),h(Le,Ne)};ye(ot,Le=>{a(N)?Le(dt):a(L)===null?Le(Oe,1):a(L).length===0?Le(_e,2):Le(Me,-1)})}J(()=>{sr(U,1,`rounded-sm px-2.5 py-1 text-xs font-medium transition-colors outline-none focus-visible:ring-3 focus-visible:ring-ring/50 ${a(I)==="count"?"bg-card text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"}`),$t(U,"aria-pressed",a(I)==="count"),sr(Se,1,`rounded-sm px-2.5 py-1 text-xs font-medium transition-colors outline-none focus-visible:ring-3 focus-visible:ring-ring/50 ${a(I)==="recent"?"bg-card text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"}`),$t(Se,"aria-pressed",a(I)==="recent")}),Lr("click",U,()=>E("count")),Lr("click",Se,()=>E("recent")),h(O,H)};ye(we,O=>{e.category!=="miss"?O(he):O(ae,-1)})}h(t,ce),je()}Yi(["click"]);var ua=B(" ",1),FS=B(''),LS=B('
      '),DS=B(''),BS=B('
      '),VS=B('

      暂无拦截记录。

      '),vc=B(" ",1),jS=B('

      '),Kv=B(" ",1),WS=B('

      自启动以来被拦截的域名,按拦截次数排序,实时推送。

      '),Uv=B('

      '),GS=B('

      上下行速率 · 全局历史

      连接与查询 · 全局历史

      ',1);function HS(t,e){Ve(e,!0);let r=D(e,"source",3,"all");const n=[{value:"bytes",label:"流量"},{value:"recent",label:"最近"},{value:"conns",label:"连接数"}];let o=fe("live");const s=z(()=>{var oe,be;return a(o)==="totals"?((oe=Zt.totals)==null?void 0:oe.domains)??[]:((be=Zt.traffic)==null?void 0:be.domains)??[]}),i=z(()=>{var oe,be;return a(o)==="totals"?((oe=Zt.totals)==null?void 0:oe.clients)??[]:((be=Zt.traffic)==null?void 0:be.clients)??[]});let l=fe(""),c=fe("bytes"),d=fe("");const f=z(()=>{var oe;return((oe=Zt.traffic)==null?void 0:oe.blocked)??[]}),g=z(()=>{const oe=a(l).trim().toLowerCase();return oe?a(f).filter(be=>be.domain.toLowerCase().includes(oe)):a(f)}),v=z(()=>{var oe;return((oe=n.find(be=>be.value===a(c)))==null?void 0:oe.label)??"流量"}),p=z(()=>Zt.history),m=z(()=>a(p).map(oe=>Nc(oe.at))),b=z(()=>a(p).map(oe=>oe.at)),w=z(()=>lb(a(p),["bytesUp","bytesDown","conns","dns"])),$=oe=>`${sn(oe)}/s`,I=oe=>`${oe.toFixed(1)}/s`,L={all:"流量",http:"HTTP",https:"HTTPS",socks5:"SOCKS5",dns:"DNS"},N=z(()=>L[r()]),M=z(()=>r()==="dns"),R=z(()=>{const oe=a(l).trim().toLowerCase();return oe?a(s).filter(be=>be.domain.toLowerCase().includes(oe)):a(s)}),F=z(()=>a(o)==="totals"||!a(M));ur(()=>{const oe=new URLSearchParams;a(c)!=="bytes"&&oe.set("sort",a(c)),r()!=="all"&&oe.set("source",r()),a(d)&&oe.set("client",a(d)),su(oe.toString())});const k="sticky top-0 z-10 bg-card";var G=Z(),T=_(G);{var ue=oe=>{za(oe,{})},xe=oe=>{var be=GS(),le=_(be);{var pe=Q=>{var U=Z(),Se=_(U);A(Se,()=>Gi,(ot,dt)=>{dt(ot,{variant:"destructive",class:"mb-4",children:(Oe,_e)=>{var Me=ua(),Le=_(Me);rs(Le,{class:"size-4"});var Ne=y(Le,2);A(Ne,()=>Wi,(Re,st)=>{st(Re,{children:(Ge,Qe)=>{var _t=ge("实时连接已断开,正在自动重连…");h(Ge,_t)},$$slots:{default:!0}})}),h(Oe,Me)},$$slots:{default:!0}})}),h(Q,U)};ye(le,Q=>{Zt.connected||Q(pe)})}var $e=y(le,2),ze=S($e),Fe=S(ze);hh(Fe,{class:"pointer-events-none absolute left-2.5 top-1/2 size-4 -translate-y-1/2 text-muted-foreground"});var K=y(Fe,2);Ws(K,{placeholder:"过滤域名…","aria-label":"过滤域名",class:"pl-8",get value(){return a(l)},set value(Q){x(l,Q,!0)}});var Bt=y(ze,2),nt=S(Bt),j=y(nt,2),re=y(j,2),W=y(Bt,2);{var ee=Q=>{var U=LS();Gt(U,21,()=>n,xr,(Se,ot)=>{var dt=FS(),Oe=S(dt);J(()=>{sr(dt,1,`rounded-sm px-2.5 py-1 text-xs font-medium transition-colors outline-none focus-visible:ring-3 focus-visible:ring-ring/50 ${a(c)===a(ot).value?"bg-card text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"}`),$t(dt,"aria-pressed",a(c)===a(ot).value),te(Oe,a(ot).label)}),Lr("click",dt,()=>x(c,a(ot).value,!0)),h(Se,dt)}),h(Q,U)};ye(W,Q=>{a(o)==="live"&&Q(ee)})}var ie=y(W,2);an(ie,{variant:"secondary",class:"justify-self-end shrink-0 sm:ml-auto",children:(Q,U)=>{var Se=Z(),ot=_(Se);{var dt=Me=>{var Le=ge();J(Ne=>te(Le,`${Ne??""} 次拦截`),[()=>Vt(a(g).length)]),h(Me,Le)},Oe=Me=>{var Le=ge();J(Ne=>te(Le,`${Ne??""} 个域名`),[()=>Vt(a(R).length)]),h(Me,Le)},_e=Me=>{var Le=ge();J((Ne,Re)=>te(Le,`${Ne??""} / ${Re??""} 个域名`),[()=>Vt(a(R).length),()=>Vt(a(s).length)]),h(Me,Le)};ye(ot,Me=>{a(o)==="blocked"?Me(dt):a(R).length===a(s).length?Me(Oe,1):Me(_e,-1)})}h(Q,Se)},$$slots:{default:!0}});var de=y($e,2);{var P=Q=>{var U=BS(),Se=S(U),ot=y(Se,2);Gt(ot,17,()=>a(i),xr,(dt,Oe)=>{var _e=DS(),Me=S(_e),Le=y(Me),Ne=S(Le);J((Re,st)=>{sr(_e,1,`rounded-full border px-3 py-1 font-mono text-xs transition-colors outline-none focus-visible:ring-3 focus-visible:ring-ring/50 ${a(o)==="live"&&a(d)===a(Oe).ip?"border-primary/40 bg-primary/10 text-foreground":"text-muted-foreground hover:text-foreground"}`),$t(_e,"aria-pressed",a(o)==="live"&&a(d)===a(Oe).ip),$t(_e,"title",Re),te(Me,`${a(Oe).ip??""} `),te(Ne,st)},[()=>`${Vt(a(Oe).conns)} 次 · ↑${sn(a(Oe).bytesUp)} ↓${sn(a(Oe).bytesDown)}`,()=>Vt(a(Oe).conns)]),Lr("click",_e,()=>{a(o)==="totals"&&x(o,"live"),x(d,a(Oe).ip,!0)}),h(dt,_e)}),J(()=>{sr(Se,1,`rounded-full border px-3 py-1 text-xs font-medium transition-colors outline-none focus-visible:ring-3 focus-visible:ring-ring/50 ${a(o)==="live"&&!a(d)?"border-primary/40 bg-primary/10 text-foreground":"text-muted-foreground hover:text-foreground"}`),$t(Se,"aria-pressed",a(o)==="live"&&!a(d))}),Lr("click",Se,()=>x(d,"")),h(Q,U)};ye(de,Q=>{a(o)!=="blocked"&&a(i).length>0&&Q(P)})}var E=y(de,2),q=S(E),ne=y(S(q),2);{let Q=z(()=>[{name:"下行",color:"var(--chart-1)",values:a(w).bytesDown},{name:"上行",color:"var(--chart-4)",values:a(w).bytesUp}]);ui(ne,{label:"上下行速率历史(全局)",get series(){return a(Q)},get labels(){return a(m)},get timestamps(){return a(b)},format:$,height:120})}var Pe=y(q,2),X=y(S(Pe),2);{let Q=z(()=>[{name:"连接",color:"var(--chart-3)",values:a(w).conns},{name:"DNS",color:"var(--chart-2)",values:a(w).dns}]);ui(X,{label:"连接与查询速率历史(全局)",get series(){return a(Q)},get labels(){return a(m)},get timestamps(){return a(b)},format:I,height:120})}var ce=y(E,2);{var we=Q=>{var U=Z(),Se=_(U);{var ot=Oe=>{var _e=VS(),Me=S(_e);xf(Me,{class:"size-5","aria-hidden":"true"}),h(Oe,_e)},dt=Oe=>{var _e=Z(),Me=_(_e);A(Me,()=>or,(Le,Ne)=>{Ne(Le,{class:"max-h-[70vh] overflow-auto",children:(Re,st)=>{var Ge=Z(),Qe=_(Ge);A(Qe,()=>$f,(_t,qe)=>{qe(_t,{children:(Be,ft)=>{var zt=ua(),Et=_(zt);A(Et,()=>kf,(at,Mt)=>{Mt(at,{children:(ht,vt)=>{var bt=Z(),Ie=_(bt);A(Ie,()=>Bo,(He,ve)=>{ve(He,{children:(Ye,Ke)=>{var Pt=vc(),lt=_(Pt);A(lt,()=>Zr,(ct,jt)=>{jt(ct,{scope:"col",class:k,children:(Je,Xe)=>{var et=ge("域名");h(Je,et)},$$slots:{default:!0}})});var Ue=y(lt,2);A(Ue,()=>Zr,(ct,jt)=>{jt(ct,{scope:"col",class:k+" text-right",children:(Je,Xe)=>{var et=ge("拦截次数");h(Je,et)},$$slots:{default:!0}})});var gt=y(Ue,2);A(gt,()=>Zr,(ct,jt)=>{jt(ct,{scope:"col",class:k+" text-right",children:(Je,Xe)=>{var et=ge("最近出现");h(Je,et)},$$slots:{default:!0}})}),h(Ye,Pt)},$$slots:{default:!0}})}),h(ht,bt)},$$slots:{default:!0}})});var kt=y(Et,2);A(kt,()=>_f,(at,Mt)=>{Mt(at,{children:(ht,vt)=>{var bt=ua(),Ie=_(bt);{var He=Ye=>{var Ke=Z(),Pt=_(Ke);A(Pt,()=>Bo,(lt,Ue)=>{Ue(lt,{children:(gt,ct)=>{var jt=Z(),Je=_(jt);A(Je,()=>Fr,(Xe,et)=>{et(Xe,{colspan:3,class:"py-8 text-center text-sm text-muted-foreground",children:(Ot,Ft)=>{var qt=ge();J(()=>te(qt,`没有匹配“${a(l)??""}”的域名。`)),h(Ot,qt)},$$slots:{default:!0}})}),h(gt,jt)},$$slots:{default:!0}})}),h(Ye,Ke)};ye(Ie,Ye=>{a(g).length===0&&Ye(He)})}var ve=y(Ie,2);Gt(ve,17,()=>a(g),Ye=>Ye.domain,(Ye,Ke)=>{var Pt=Z(),lt=_(Pt);A(lt,()=>Bo,(Ue,gt)=>{gt(Ue,{children:(ct,jt)=>{var Je=vc(),Xe=_(Je);A(Xe,()=>Fr,(Ft,qt)=>{qt(Ft,{class:"max-w-[20rem] truncate font-mono text-xs",get title(){return a(Ke).domain},children:(lr,Ht)=>{var It=ge();J(()=>te(It,a(Ke).domain)),h(lr,It)},$$slots:{default:!0}})});var et=y(Xe,2);A(et,()=>Fr,(Ft,qt)=>{qt(Ft,{class:"text-right tabular-nums",children:(lr,Ht)=>{var It=ge();J(nr=>te(It,nr),[()=>Vt(a(Ke).count)]),h(lr,It)},$$slots:{default:!0}})});var Ot=y(et,2);A(Ot,()=>Fr,(Ft,qt)=>{qt(Ft,{class:"text-right text-muted-foreground tabular-nums",children:(lr,Ht)=>{var It=ge();J(nr=>te(It,nr),[()=>nu(a(Ke).lastSeen)]),h(lr,It)},$$slots:{default:!0}})}),h(ct,Je)},$$slots:{default:!0}})}),h(Ye,Pt)}),h(ht,bt)},$$slots:{default:!0}})}),h(Be,zt)},$$slots:{default:!0}})}),h(Re,Ge)},$$slots:{default:!0}})}),h(Oe,_e)};ye(Se,Oe=>{a(f).length===0?Oe(ot):Oe(dt,-1)})}h(Q,U)},he=Q=>{var U=Z(),Se=_(U);{var ot=Oe=>{var _e=jS(),Me=S(_e);xf(Me,{class:"size-5","aria-hidden":"true"});var Le=y(Me,2),Ne=S(Le);J(()=>te(Ne,a(o)==="totals"?"暂无总计记录。":`暂无${a(N)}记录。`)),h(Oe,_e)},dt=Oe=>{var _e=Z(),Me=_(_e);A(Me,()=>or,(Le,Ne)=>{Ne(Le,{class:"max-h-[70vh] overflow-auto",children:(Re,st)=>{var Ge=Z(),Qe=_(Ge);A(Qe,()=>$f,(_t,qe)=>{qe(_t,{children:(Be,ft)=>{var zt=ua(),Et=_(zt);A(Et,()=>kf,(at,Mt)=>{Mt(at,{children:(ht,vt)=>{var bt=Z(),Ie=_(bt);A(Ie,()=>Bo,(He,ve)=>{ve(He,{children:(Ye,Ke)=>{var Pt=Kv(),lt=_(Pt);A(lt,()=>Zr,(Xe,et)=>{et(Xe,{scope:"col",class:k,children:(Ot,Ft)=>{var qt=ge("域名");h(Ot,qt)},$$slots:{default:!0}})});var Ue=y(lt,2);A(Ue,()=>Zr,(Xe,et)=>{et(Xe,{scope:"col",class:k+" text-right",children:(Ot,Ft)=>{var qt=ge("请求");h(Ot,qt)},$$slots:{default:!0}})});var gt=y(Ue,2);{var ct=Xe=>{var et=vc(),Ot=_(et);A(Ot,()=>Zr,(lr,Ht)=>{Ht(lr,{scope:"col",class:k+" text-right",children:(It,nr)=>{var dr=ge("上行");h(It,dr)},$$slots:{default:!0}})});var Ft=y(Ot,2);A(Ft,()=>Zr,(lr,Ht)=>{Ht(lr,{scope:"col",class:k+" text-right",children:(It,nr)=>{var dr=ge("下行");h(It,dr)},$$slots:{default:!0}})});var qt=y(Ft,2);A(qt,()=>Zr,(lr,Ht)=>{Ht(lr,{scope:"col",class:k+" text-right",children:(It,nr)=>{var dr=ge("总计");h(It,dr)},$$slots:{default:!0}})}),h(Xe,et)};ye(gt,Xe=>{a(F)&&Xe(ct)})}var jt=y(gt,2);A(jt,()=>Zr,(Xe,et)=>{et(Xe,{scope:"col",class:k,children:(Ot,Ft)=>{var qt=ge("客户端");h(Ot,qt)},$$slots:{default:!0}})});var Je=y(jt,2);A(Je,()=>Zr,(Xe,et)=>{et(Xe,{scope:"col",class:k+" text-right",children:(Ot,Ft)=>{var qt=ge("最近出现");h(Ot,qt)},$$slots:{default:!0}})}),h(Ye,Pt)},$$slots:{default:!0}})}),h(ht,bt)},$$slots:{default:!0}})});var kt=y(Et,2);A(kt,()=>_f,(at,Mt)=>{Mt(at,{children:(ht,vt)=>{var bt=ua(),Ie=_(bt);{var He=Ye=>{var Ke=Z(),Pt=_(Ke);A(Pt,()=>Bo,(lt,Ue)=>{Ue(lt,{children:(gt,ct)=>{var jt=Z(),Je=_(jt);{let Xe=z(()=>a(F)?7:4);A(Je,()=>Fr,(et,Ot)=>{Ot(et,{get colspan(){return a(Xe)},class:"py-8 text-center text-sm text-muted-foreground",children:(Ft,qt)=>{var lr=ge();J(()=>te(lr,`没有匹配“${a(l)??""}”的域名。`)),h(Ft,lr)},$$slots:{default:!0}})})}h(gt,jt)},$$slots:{default:!0}})}),h(Ye,Ke)};ye(Ie,Ye=>{a(R).length===0&&Ye(He)})}var ve=y(Ie,2);Gt(ve,17,()=>a(R),Ye=>Ye.domain,(Ye,Ke)=>{var Pt=Z(),lt=_(Pt);A(lt,()=>Bo,(Ue,gt)=>{gt(Ue,{children:(ct,jt)=>{var Je=Kv(),Xe=_(Je);A(Xe,()=>Fr,(Ht,It)=>{It(Ht,{class:"max-w-[20rem] truncate font-mono text-xs",get title(){return a(Ke).domain},children:(nr,dr)=>{var cr=ge();J(()=>te(cr,a(Ke).domain)),h(nr,cr)},$$slots:{default:!0}})});var et=y(Xe,2);A(et,()=>Fr,(Ht,It)=>{It(Ht,{class:"text-right tabular-nums",children:(nr,dr)=>{var cr=ge();J(Pr=>te(cr,Pr),[()=>Vt(a(Ke).conns)]),h(nr,cr)},$$slots:{default:!0}})});var Ot=y(et,2);{var Ft=Ht=>{var It=vc(),nr=_(It);A(nr,()=>Fr,(Pr,tt)=>{tt(Pr,{class:"text-right tabular-nums",children:(Ct,tr)=>{var Lt=ge();J(Kt=>te(Lt,Kt),[()=>sn(a(Ke).bytesUp)]),h(Ct,Lt)},$$slots:{default:!0}})});var dr=y(nr,2);A(dr,()=>Fr,(Pr,tt)=>{tt(Pr,{class:"text-right tabular-nums",children:(Ct,tr)=>{var Lt=ge();J(Kt=>te(Lt,Kt),[()=>sn(a(Ke).bytesDown)]),h(Ct,Lt)},$$slots:{default:!0}})});var cr=y(dr,2);A(cr,()=>Fr,(Pr,tt)=>{tt(Pr,{class:"text-right font-medium tabular-nums",children:(Ct,tr)=>{var Lt=ge();J(Kt=>te(Lt,Kt),[()=>sn(a(Ke).bytesUp+a(Ke).bytesDown)]),h(Ct,Lt)},$$slots:{default:!0}})}),h(Ht,It)};ye(Ot,Ht=>{a(F)&&Ht(Ft)})}var qt=y(Ot,2);A(qt,()=>Fr,(Ht,It)=>{It(Ht,{class:"max-w-[9rem] truncate font-mono text-xs text-muted-foreground",get title(){return a(Ke).lastClientIP},children:(nr,dr)=>{var cr=ge();J(()=>te(cr,a(Ke).lastClientIP||"—")),h(nr,cr)},$$slots:{default:!0}})});var lr=y(qt,2);A(lr,()=>Fr,(Ht,It)=>{It(Ht,{class:"text-right text-muted-foreground tabular-nums",children:(nr,dr)=>{var cr=ge();J(Pr=>te(cr,Pr),[()=>nu(a(Ke).lastSeen)]),h(nr,cr)},$$slots:{default:!0}})}),h(ct,Je)},$$slots:{default:!0}})}),h(Ye,Pt)}),h(ht,bt)},$$slots:{default:!0}})}),h(Be,zt)},$$slots:{default:!0}})}),h(Re,Ge)},$$slots:{default:!0}})}),h(Oe,_e)};ye(Se,Oe=>{a(s).length===0?Oe(ot):Oe(dt,-1)})}h(Q,U)};ye(ce,Q=>{a(o)==="blocked"?Q(we):Q(he,-1)})}var ae=y(ce,2);{var O=Q=>{var U=WS();h(Q,U)},H=Q=>{var U=Uv(),Se=S(U);J(ot=>te(Se,`自启动以来按流量排序的前 ${ot??""} 个域名与客户端,每 30 秒更新。`),[()=>Vt(a(s).length)]),h(Q,U)},Y=Q=>{var U=Uv(),Se=S(U);J(()=>te(Se,`按${a(v)??""}排序的前 100 个${a(M)?"DNS 查询域名":a(N)+"域名"},实时推送。`)),h(Q,U)};ye(ae,Q=>{a(o)==="blocked"?Q(O):a(o)==="totals"?Q(H,1):Q(Y,-1)})}J(()=>{sr(nt,1,`rounded-sm px-2.5 py-1 text-xs font-medium transition-colors outline-none focus-visible:ring-3 focus-visible:ring-ring/50 ${a(o)==="live"?"bg-card text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"}`),$t(nt,"aria-pressed",a(o)==="live"),sr(j,1,`rounded-sm px-2.5 py-1 text-xs font-medium transition-colors outline-none focus-visible:ring-3 focus-visible:ring-ring/50 ${a(o)==="totals"?"bg-card text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"}`),$t(j,"aria-pressed",a(o)==="totals"),sr(re,1,`rounded-sm px-2.5 py-1 text-xs font-medium transition-colors outline-none focus-visible:ring-3 focus-visible:ring-ring/50 ${a(o)==="blocked"?"bg-card text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"}`),$t(re,"aria-pressed",a(o)==="blocked")}),Lr("click",nt,()=>x(o,"live")),Lr("click",j,()=>x(o,"totals")),Lr("click",re,()=>x(o,"blocked")),h(oe,be)};ye(T,oe=>{!Zt.traffic&&!Zt.totals?oe(ue):oe(xe,-1)})}h(t,G),je()}Yi(["click"]);var gc=B(" ",1),KS=B(" ",1),US=B('

      '),qS=B(' '),YS=B('
      '),XS=B('

      '),ZS=B('
      '),JS=B(""),QS=B(''),eP=B('
      '),tP=B('

      '),rP=B(' ',1),nP=B('

      '),oP=B(' ',1),sP=B('
      '),iP=B('
      '),aP=B(' ',1),lP=B(' ',1),qv=B(' '),cP=B(" 放弃",1),uP=B('
      '),dP=B('
      '),fP=B('

      标注「立即生效」的字段可在线调整并持久化到 admin 状态文件;其余字段来自配置文件,需重启生效。密钥永不回显。

      ',1);function hP(t,e){Ve(e,!0);let r=fe(null),n=fe(""),o=fe(""),s=fe(!1),i=fe(!1),l=fe(""),c=fe(!1),d=fe(""),f=fe(kr({})),g=fe(null),v=fe(""),p=kr({}),m;const b=z(()=>Object.keys(a(f)).length);let w=fe("");const $=z(()=>{var W;const j=a(w).trim().toLowerCase(),re=((W=a(r))==null?void 0:W.sections)??[];return j?re.map(ee=>({...ee,fields:ee.fields.filter(ie=>ie.key.toLowerCase().includes(j)||(ie.value??"").toLowerCase().includes(j))})).filter(ee=>ee.fields.length>0):re}),I=z(()=>{var j;return(((j=a(r))==null?void 0:j.sections)??[]).reduce((re,W)=>re+W.fields.length,0)}),L=z(()=>a($).reduce((j,re)=>j+re.fields.length,0)),N=z(()=>{var re;const j=new Map;for(const W of((re=a(r))==null?void 0:re.sections)??[])for(const ee of W.fields)j.set(ee.key,ee);return j});function M(j,re){return re===void 0||re===""?"—":(j==null?void 0:j.type)==="list"?`${re.split(` +`).length} 条`:re}async function R(){try{x(r,await Br.config(),!0),x(n,"")}catch(j){if(j instanceof Mr&&j.status===401)return e.onUnauthorized();x(n,j instanceof Error?j.message:"加载配置失败",!0)}}Ji(R),cp(()=>{m&&clearTimeout(m)});function F(j){const re=a(N).get(j),W=a(v).trim();if(re&&W===(re.value??"")){const{[j]:ee,...ie}=a(f);x(f,ie,!0)}else x(f,{...a(f),[j]:W},!0)}function k(){var re;if(a(g)==null)return;const j=a(g);F(j),x(g,null),(re=p[j])==null||re.focus()}function G(j){a(g)!=null&&a(g)!==j.key&&F(a(g)),x(g,j.key,!0),x(v,a(f)[j.key]===""?j.value??"":a(f)[j.key]??j.value??"",!0),x(o,"")}function T(){var re;if(a(g)==null)return;const j=a(g);x(g,null),(re=p[j])==null||re.focus()}function ue(j){x(f,{...a(f),[j.key]:""},!0),x(o,"")}async function xe(){if(a(r)&&(a(g)!=null&&(F(a(g)),x(g,null)),a(b)!==0)){x(i,!0),x(o,"");try{const j={};for(const[W,ee]of Object.entries(a(f))){const ie=a(N).get(W),de=W.replaceAll(".","_");j[de]=(ie==null?void 0:ie.type)==="list"?ee.split(` +`).map(P=>P.trim()).filter(Boolean):ee}const re=Object.keys(a(f)).some(W=>{var ee;return((ee=a(N).get(W))==null?void 0:ee.applyMode)==="restart"});x(r,await Br.patchConfig(a(r).revision,j),!0),x(f,{},!0),x(s,!0),x(l,re?"已保存,重启后生效。":"已应用并保存,立即生效。",!0),m=setTimeout(()=>x(s,!1),2500)}catch(j){if(j instanceof Mr&&j.status===401)return e.onUnauthorized();j instanceof Mr&&j.status===409?(x(o,"配置已被其它会话修改,已载入最新值,请确认后重新应用。"),await R()):x(o,j instanceof Error?j.message:"应用失败",!0)}finally{x(i,!1)}}}function oe(){x(f,{},!0),x(o,"")}async function be(){if(!a(c)&&confirm("重启 sower 服务使配置生效?代理连接会短暂中断。")){x(c,!0),x(d,"");try{await Br.restart();const j=Date.now()+6e4;for(;;){await new Promise(ee=>setTimeout(ee,1e3));const re=new AbortController,W=setTimeout(()=>re.abort(),2e3);try{const ee=await fetch("/api/session",{signal:re.signal,cache:"no-store"});if(ee.status===204||ee.status===401)break}catch{}finally{clearTimeout(W)}if(Date.now()>j){x(d,"服务 60 秒内未恢复,请检查服务状态。");break}}a(d)||(await R(),x(f,{},!0),x(s,!0),x(l,"服务已重启,配置已生效。"),m=setTimeout(()=>x(s,!1),2500))}catch(j){if(j instanceof Mr&&j.status===401)return e.onUnauthorized();x(d,j instanceof Error?j.message:"重启失败",!0)}finally{x(c,!1)}}}function le(j){const re=[];for(const W of j){const ee=W.key.split(".");let ie="";ee.length>=2&&(ie=ee[0]==="router"?ee[1]??"":ee[0]??"");const de=re.find(P=>P.label===ie);de?de.fields.push(W):re.push({label:ie,fields:[W]})}return re}const pe={immediate:"立即生效",restart:"重启生效",readonly:"只读"},$e={运行:ws,远程代理:p$,DNS:yf,监听:v$,规则来源:a$},ze=j=>j.length>=8;var Fe=Z(),K=_(Fe);{var Bt=j=>{var re=Z(),W=_(re);{var ee=de=>{var P=Z(),E=_(P);A(E,()=>Gi,(q,ne)=>{ne(q,{variant:"destructive",children:(Pe,X)=>{var ce=gc(),we=_(ce);rs(we,{class:"size-4"});var he=y(we,2);A(he,()=>Wi,(ae,O)=>{O(ae,{children:(H,Y)=>{var Q=ge();J(()=>te(Q,a(n))),h(H,Q)},$$slots:{default:!0}})}),h(Pe,ce)},$$slots:{default:!0}})}),h(de,P)},ie=de=>{za(de,{})};ye(W,de=>{a(n)?de(ee):de(ie,-1)})}h(j,re)},nt=j=>{var re=fP(),W=_(re),ee=S(W),ie=S(ee);hh(ie,{class:"absolute left-2.5 top-1/2 size-4 -translate-y-1/2 text-muted-foreground","aria-hidden":"true"});var de=y(ie,2);Ws(de,{placeholder:"过滤字段(key 或值)","aria-label":"过滤字段",class:"pl-8",get value(){return a(w)},set value(H){x(w,H,!0)}});var P=y(ee,2);{var E=H=>{rr(H,{variant:"ghost",size:"sm","aria-label":"清除过滤",onclick:()=>x(w,""),children:(Y,Q)=>{var U=ge("清除");h(Y,U)},$$slots:{default:!0}})};ye(P,H=>{a(w)&&H(E)})}var q=y(P,2),ne=S(q),Pe=y(q,2),X=S(Pe);rr(X,{variant:"outline",size:"sm",class:"gap-1",onclick:be,get disabled(){return a(c)},children:(H,Y)=>{var Q=KS(),U=_(Q);ib(U,{class:"size-3.5","aria-hidden":"true"});var Se=y(U);J(()=>te(Se,` ${a(c)?"重启中…":"重启服务"}`)),h(H,Q)},$$slots:{default:!0}});var ce=y(W,2);{var we=H=>{var Y=US(),Q=S(Y);J(U=>te(Q,`没有匹配「${U??""}」的字段`),[()=>a(w).trim()]),h(H,Y)},he=H=>{var Y=iP();Gt(Y,21,()=>a($),xr,(Q,U)=>{const Se=z(()=>$e[a(U).name]??ab);var ot=Z(),dt=_(ot);{let Oe=z(()=>ze(a(U).fields)?"lg:col-span-2":"");A(dt,()=>or,(_e,Me)=>{Me(_e,{get class(){return a(Oe)},children:(Le,Ne)=>{var Re=gc(),st=_(Re);A(st,()=>Tr,(Qe,_t)=>{_t(Qe,{children:(qe,Be)=>{var ft=YS(),zt=S(ft);A(zt,()=>Gr,(kt,at)=>{at(kt,{class:"text-base",role:"heading","aria-level":2,children:(Mt,ht)=>{var vt=qS(),bt=S(vt);A(bt,()=>a(Se),(He,ve)=>{ve(He,{class:"size-4 text-muted-foreground","aria-hidden":"true"})});var Ie=y(bt);J(()=>te(Ie,` ${a(U).name??""}`)),h(Mt,vt)},$$slots:{default:!0}})});var Et=y(zt,2);an(Et,{variant:"secondary",class:"tabular-nums",title:"字段数",children:(kt,at)=>{var Mt=ge();J(()=>te(Mt,a(U).fields.length)),h(kt,Mt)},$$slots:{default:!0}}),h(qe,ft)},$$slots:{default:!0}})});var Ge=y(st,2);A(Ge,()=>_r,(Qe,_t)=>{_t(Qe,{children:(qe,Be)=>{const ft=z(()=>le(a(U).fields));var zt=Z(),Et=_(zt);Gt(Et,17,()=>a(ft),xr,(kt,at,Mt)=>{var ht=gc(),vt=_(ht);{var bt=He=>{var ve=XS();$t(ve,"aria-level",3),sr(ve,1,`pb-1.5 pt-3 text-xs font-semibold text-muted-foreground ${Mt>0?"mt-3 border-t border-border/60 pt-2.5":""}`);var Ye=S(ve);J(()=>te(Ye,a(at).label)),h(He,ve)};ye(vt,He=>{a(at).label&&a(ft).length>1&&a(at).fields.length>=2&&He(bt)})}var Ie=y(vt,2);Gt(Ie,19,()=>a(at).fields,He=>He.key,(He,ve,Ye)=>{const Ke=z(()=>a(f)[a(ve).key]);var Pt=sP(),lt=S(Pt),Ue=S(lt),gt=y(lt,2),ct=S(gt);{var jt=tt=>{an(tt,{variant:"secondary",children:(Ct,tr)=>{var Lt=ge();J(()=>te(Lt,a(ve).configured?"已配置":"未配置")),h(Ct,Lt)},$$slots:{default:!0}})},Je=tt=>{{let Ct=z(()=>a(ve).value==="true"?"secondary":"outline");an(tt,{get variant(){return a(Ct)},children:(tr,Lt)=>{var Kt=ge();J(()=>te(Kt,a(ve).value==="true"?"是":"否")),h(tr,Kt)},$$slots:{default:!0}})}},Xe=tt=>{var Ct=gc(),tr=_(Ct);{var Lt=Cr=>{var Qt=ZS(),Yt=S(Qt),Wr=y(Yt,2),kn=S(Wr);rr(kn,{variant:"ghost",size:"icon",class:"size-11 sm:size-8","aria-label":"确认修改",onclick:k,children:(Wt,Xt)=>{Ic(Wt,{class:"size-4 text-primary"})},$$slots:{default:!0}});var Ar=y(kn,2);rr(Ar,{variant:"ghost",size:"icon",class:"size-11 sm:size-8","aria-label":"取消修改",onclick:T,children:(Wt,Xt)=>{Vv(Wt,{class:"size-4 text-muted-foreground"})},$$slots:{default:!0}}),J(Wt=>{$t(Yt,"aria-label",a(ve).key),$t(Yt,"placeholder",a(ve).constraint??""),$t(Yt,"rows",Wt)},[()=>Math.min(6,Math.max(2,a(v).split(` +`).length))]),Lr("keydown",Yt,Wt=>{Wt.key==="Escape"&&T(),Wt.key==="Enter"&&(Wt.metaKey||Wt.ctrlKey)&&k()}),Rd(Yt,()=>a(v),Wt=>x(v,Wt)),h(Cr,Qt)},Kt=Cr=>{var Qt=eP(),Yt=S(Qt);{var Wr=Xt=>{var Ut=QS();Gt(Ut,21,()=>a(ve).options,xr,($n,Sn)=>{var oo=JS(),In=S(oo),Pn={};J(()=>{te(In,a(Sn)),Pn!==(Pn=a(Sn))&&(oo.value=(oo.__value=a(Sn))??"")}),h($n,oo)});var fr;op(Ut),J(()=>{$t(Ut,"aria-label",a(ve).key),fr!==(fr=a(v))&&(Ut.value=(Ut.__value=a(v))??"",Wc(Ut,a(v)))}),Lr("change",Ut,$n=>{x(v,$n.currentTarget.value,!0),k()}),h(Xt,Ut)},kn=Xt=>{{let Ut=z(()=>a(ve).constraint??"");Ws(Xt,{get"aria-label"(){return a(ve).key},get placeholder(){return a(Ut)},class:"h-8 font-mono text-sm",onkeydown:fr=>{fr.key==="Enter"&&k(),fr.key==="Escape"&&T()},get value(){return a(v)},set value(fr){x(v,fr,!0)}})}};ye(Yt,Xt=>{var Ut;a(ve).type==="enum"&&((Ut=a(ve).options)!=null&&Ut.length)?Xt(Wr):Xt(kn,-1)})}var Ar=y(Yt,2);rr(Ar,{variant:"ghost",size:"icon",class:"size-11 shrink-0 sm:size-8","aria-label":"确认修改",onclick:k,children:(Xt,Ut)=>{Ic(Xt,{class:"size-4 text-primary"})},$$slots:{default:!0}});var Wt=y(Ar,2);rr(Wt,{variant:"ghost",size:"icon",class:"size-11 shrink-0 sm:size-8","aria-label":"取消修改",onclick:T,children:(Xt,Ut)=>{Vv(Xt,{class:"size-4 text-muted-foreground"})},$$slots:{default:!0}}),h(Cr,Qt)};ye(tr,Cr=>{a(ve).type==="list"?Cr(Lt):Cr(Kt,-1)})}var Io=y(tr,2);{var ni=Cr=>{var Qt=tP(),Yt=S(Qt);J(()=>te(Yt,a(ve).constraint)),h(Cr,Qt)};ye(Io,Cr=>{a(ve).constraint&&Cr(ni)})}h(tt,Ct)},et=tt=>{var Ct=oP(),tr=_(Ct),Lt=S(tr);{var Kt=Qt=>{var Yt=rP(),Wr=_(Yt),kn=S(Wr),Ar=y(Wr,2),Wt=S(Ar);J((Xt,Ut)=>{te(kn,Xt),te(Wt,Ut)},[()=>M(a(ve),a(ve).value),()=>a(Ke)===""?"恢复配置":M(a(ve),a(Ke))]),h(Qt,Yt)},Io=Qt=>{var Yt=ge();J(Wr=>te(Yt,Wr),[()=>M(a(ve),a(ve).value)]),h(Qt,Yt)};ye(Lt,Qt=>{a(Ke)!==void 0?Qt(Kt):Qt(Io,-1)})}var ni=y(tr,2);{var Cr=Qt=>{var Yt=nP(),Wr=S(Yt);J(()=>te(Wr,a(ve).constraint)),h(Qt,Yt)};ye(ni,Qt=>{a(ve).editable&&a(ve).constraint&&Qt(Cr)})}h(tt,Ct)};ye(ct,tt=>{a(ve).secret?tt(jt):a(ve).type==="bool"?tt(Je,1):a(g)===a(ve).key?tt(Xe,2):tt(et,-1)})}var Ot=y(gt,2),Ft=S(Ot);{var qt=tt=>{an(tt,{class:"bg-primary/10 text-primary",children:(Ct,tr)=>{var Lt=ge("待应用");h(Ct,Lt)},$$slots:{default:!0}})},lr=tt=>{an(tt,{class:"bg-primary/10 text-primary",title:"该值来自控制台修改并持久化,优先于配置文件",children:(Ct,tr)=>{var Lt=ge("页面覆盖");h(Ct,Lt)},$$slots:{default:!0}})};ye(Ft,tt=>{a(Ke)!==void 0?tt(qt):a(ve).source==="override"&&tt(lr,1)})}var Ht=y(Ft,2);{var It=tt=>{{let Ct=z(()=>a(ve).applyMode==="readonly"?"该字段不可通过控制台修改":void 0);an(tt,{variant:"secondary",class:"text-muted-foreground",get title(){return a(Ct)},children:(tr,Lt)=>{var Kt=ge();J(()=>te(Kt,pe[a(ve).applyMode])),h(tr,Kt)},$$slots:{default:!0}})}};ye(Ht,tt=>{a(ve).applyMode!=="immediate"&&tt(It)})}var nr=y(Ht,2);{var dr=tt=>{{let Ct=z(()=>`恢复 ${a(ve).key} 配置`);rr(tt,{variant:"ghost",size:"icon",class:"size-11 sm:size-8",get"aria-label"(){return a(Ct)},title:"恢复配置文件值",onclick:()=>ue(a(ve)),children:(tr,Lt)=>{wf(tr,{class:"size-3.5 text-muted-foreground"})},$$slots:{default:!0}})}};ye(nr,tt=>{a(ve).editable&&a(ve).source==="override"&&a(Ke)===void 0&&a(g)!==a(ve).key&&tt(dr)})}var cr=y(nr,2);{var Pr=tt=>{{let Ct=z(()=>`编辑 ${a(ve).key}`);rr(tt,{variant:"ghost",size:"icon",class:"size-11 sm:size-8",get"aria-label"(){return a(Ct)},onclick:()=>G(a(ve)),children:(tr,Lt)=>{f$(tr,{class:"size-3.5 text-muted-foreground"})},$$slots:{default:!0}})}};ye(cr,tt=>{a(ve).editable&&a(g)!==a(ve).key&&tt(Pr)})}ar(Pt,(tt,Ct)=>p[Ct.key]=tt,tt=>p==null?void 0:p[tt.key],()=>[a(ve)]),J(()=>{sr(Pt,1,`flex flex-col gap-1.5 rounded-md py-2 first:pt-0 last:pb-0 transition-colors focus-visible:bg-muted/60 focus:outline-none sm:flex-row sm:items-center sm:gap-2 ${a(Ye)>0?"border-t border-border/60":""} ${a(ve).editable?"hover:bg-muted/40":""}`),$t(lt,"title",a(ve).key),te(Ue,a(ve).key)}),h(He,Pt)}),h(kt,ht)}),h(qe,zt)},$$slots:{default:!0}})}),h(Le,Re)},$$slots:{default:!0}})})}h(Q,ot)}),h(H,Y)};ye(ce,H=>{a($).length===0?H(we):H(he,-1)})}var ae=y(ce,2);{var O=H=>{var Y=dP(),Q=S(Y),U=S(Q);{var Se=Re=>{var st=aP(),Ge=_(st);Ic(Ge,{class:"size-4 shrink-0 text-primary","aria-hidden":"true"});var Qe=y(Ge,2),_t=S(Qe);J(()=>te(_t,a(l))),h(Re,st)},ot=Re=>{var st=lP(),Ge=_(st),Qe=S(Ge),_t=y(Ge,2);Gt(_t,17,()=>Object.entries(a(f)),([qe,Be])=>qe,(qe,Be)=>{var ft=z(()=>ng(a(Be),2));let zt=()=>a(ft)[0],Et=()=>a(ft)[1];const kt=z(()=>a(N).get(zt()));an(qe,{variant:"secondary",class:"font-mono text-xs",children:(at,Mt)=>{var ht=ge();J((vt,bt)=>te(ht,`${zt()??""}: ${vt??""} → ${bt??""}`),[()=>{var vt;return M(a(kt),(vt=a(kt))==null?void 0:vt.value)},()=>Et()===""?"恢复配置":M(a(kt),Et())]),h(at,ht)},$$slots:{default:!0}})}),J(()=>te(Qe,`${a(b)??""} 项待应用:`)),h(Re,st)};ye(U,Re=>{a(s)&&a(b)===0?Re(Se):Re(ot,-1)})}var dt=y(U,2);{var Oe=Re=>{var st=qv(),Ge=S(st);rs(Ge,{class:"size-4","aria-hidden":"true"});var Qe=y(Ge);J(()=>te(Qe,` ${a(o)??""}`)),h(Re,st)};ye(dt,Re=>{a(o)&&Re(Oe)})}var _e=y(dt,2);{var Me=Re=>{var st=qv(),Ge=S(st);rs(Ge,{class:"size-4","aria-hidden":"true"});var Qe=y(Ge);J(()=>te(Qe,` ${a(d)??""}`)),h(Re,st)};ye(_e,Re=>{a(d)&&Re(Me)})}var Le=y(Q,2);{var Ne=Re=>{var st=uP(),Ge=S(st);rr(Ge,{variant:"ghost",size:"sm",class:"gap-1",onclick:oe,get disabled(){return a(i)},children:(_t,qe)=>{var Be=cP(),ft=_(Be);wf(ft,{class:"size-3.5"}),h(_t,Be)},$$slots:{default:!0}});var Qe=y(Ge,2);rr(Qe,{size:"sm",onclick:xe,get disabled(){return a(i)},children:(_t,qe)=>{var Be=ge();J(()=>te(Be,a(i)?"应用中…":"应用更改")),h(_t,Be)},$$slots:{default:!0}}),h(Re,st)};ye(Le,Re=>{a(b)>0&&Re(Ne)})}h(H,Y)};ye(ae,H=>{(a(b)>0||a(o)||a(s)||a(d))&&H(O)})}J(()=>te(ne,`${(a(w)?`${a(L)} / ${a(I)}`:a(I))??""} 个字段`)),h(j,re)};ye(K,j=>{a(r)?j(nt,-1):j(Bt)})}h(t,Fe),je()}Yi(["keydown","change"]);var vP=new Set(["$$slots","$$events","$$legacy"]);function gP(t,e){let r=Tt(e,vP);var n=Z(),o=_(n);A(o,()=>x0,(s,i)=>{i(s,Ze(()=>r))}),h(t,n)}var pP=new Set(["$$slots","$$events","$$legacy","ref","sideOffset","align","portalProps","class"]);function vd(t,e){Ve(e,!0);let r=D(e,"ref",15,null),n=D(e,"sideOffset",3,4),o=D(e,"align",3,"start"),s=Tt(e,pP);gP(t,Ze(()=>e.portalProps,{children:(i,l)=>{var c=Z(),d=_(c);{let f=z(()=>xt("min-w-32 rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 z-50 w-(--bits-dropdown-menu-anchor-width) overflow-x-hidden overflow-y-auto outline-none data-closed:overflow-hidden",e.class));A(d,()=>Lk,(g,v)=>{v(g,Ze({"data-slot":"dropdown-menu-content",get sideOffset(){return n()},get align(){return o()},get class(){return a(f)}},()=>s,{get ref(){return r()},set ref(p){r(p)}}))})}h(i,c)},$$slots:{default:!0}})),je()}var mP=new Set(["$$slots","$$events","$$legacy","ref","class","inset","variant"]);function da(t,e){Ve(e,!0);let r=D(e,"ref",15,null),n=D(e,"variant",3,"default"),o=Tt(e,mP);var s=Z(),i=_(s);{let l=z(()=>xt("gap-1.5 rounded-md px-1.5 py-1 text-sm focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive group/dropdown-menu-item relative flex cursor-default items-center outline-hidden select-none data-[inset]:pl-8 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",e.class));A(i,()=>Ok,(c,d)=>{d(c,Ze({"data-slot":"dropdown-menu-item",get"data-inset"(){return e.inset},get"data-variant"(){return n()},get class(){return a(l)}},()=>o,{get ref(){return r()},set ref(f){r(f)}}))})}h(t,s),je()}var bP=new Set(["$$slots","$$events","$$legacy","ref","class","inset","children"]),yP=B("
      ");function Yv(t,e){Ve(e,!0);let r=D(e,"ref",15,null),n=Tt(e,bP);var o=yP();Rt(o,i=>({"data-slot":"dropdown-menu-label","data-inset":e.inset,class:i,...n}),[()=>xt("px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:pl-7 data-[inset]:pl-8",e.class)]);var s=S(o);it(s,()=>e.children??rt),ar(o,i=>r(i),()=>r()),h(t,o),je()}var xP=new Set(["$$slots","$$events","$$legacy","ref","class"]);function Xv(t,e){Ve(e,!0);let r=D(e,"ref",15,null),n=Tt(e,xP);var o=Z(),s=_(o);{let i=z(()=>xt("-mx-1 my-1 h-px bg-border",e.class));A(s,()=>Nk,(l,c)=>{c(l,Ze({"data-slot":"dropdown-menu-separator",get class(){return a(i)}},()=>n,{get ref(){return r()},set ref(d){r(d)}}))})}h(t,o),je()}var wP=new Set(["$$slots","$$events","$$legacy","ref"]);function gd(t,e){Ve(e,!0);let r=D(e,"ref",15,null),n=Tt(e,wP);var o=Z(),s=_(o);A(s,()=>Vk,(i,l)=>{l(i,Ze({"data-slot":"dropdown-menu-trigger"},()=>n,{get ref(){return r()},set ref(c){r(c)}}))}),h(t,o),je()}var _P=new Set(["$$slots","$$events","$$legacy","open"]);function pd(t,e){Ve(e,!0);let r=D(e,"open",15,!1),n=Tt(e,_P);var o=Z(),s=_(o);A(s,()=>Rk,(i,l)=>{l(i,Ze(()=>n,{get open(){return r()},set open(c){r(c)}}))}),h(t,o),je()}const _s=[{key:"overview",label:"概览",description:"运行状态与流量总览"},{key:"rules",label:"规则",description:"运行期路由规则管理"},{key:"traffic",label:"流量",description:"按域名聚合的实时流量"},{key:"config",label:"配置",description:"生效配置与运行期调整"}];var kP=B(' Sower Admin',1),$P=B(' ',1),SP=B(' ',1),md=B(" ",1),PP=B(' ',1),CP=B(' '),AP=B(' ',1),bd=B("
      "),EP=B(" ",1),TP=B(" ",1),MP=B(' '),OP=B("
    1. /
    2. ",1),zP=B(' '),IP=B(''),NP=B(' ',1),RP=B(' ',1),FP=B('
      '),LP=B('

      暂无收藏。点击下方星标加入常用入口。

      '),DP=B(' ',1),BP=B('
      ',1),VP=B('
      ');function jP(t,e){Ve(e,!0);let r=D(e,"contextSegments",19,()=>[]),n=D(e,"onContextSelect",3,()=>{}),o=D(e,"onSelectItem",3,()=>{}),s=D(e,"onLogout",3,()=>{});D(e,"status",3,null);let i=D(e,"statusError",3,""),l=D(e,"currentCategory",3,void 0),c=D(e,"currentSource",3,void 0);const d={overview:ws,rules:m$,traffic:t$,config:ab};let f=fe(kr([])),g=z(()=>new Set(a(f).map(P=>P.key))),v=z(()=>a(f).map(P=>{const E=_s.find(q=>q.key===P.key);return E?{...P,item:E}:null}).filter(P=>P!==null));function p(P){return a(f).some(E=>E.key===P.key&&E.category===P.category&&E.source===P.source)}function m(P){return P.key===e.activeItem.key&&P.category===l()&&P.source===c()}function b(P){p(P)?F(a(f).filter(E=>!(E.key===P.key&&E.category===P.category&&E.source===P.source))):F([...a(f),P])}function w(){const P={key:e.activeItem.key};e.activeItem.key==="rules"&&l()&&(P.category=l()),e.activeItem.key==="traffic"&&c()&&(P.source=c()),b(P)}function $(P,E){P.preventDefault(),P.stopPropagation(),b(E)}function I(P){const E=_s.find(ne=>ne.key===P.key),q=P.category??P.source;return q?`${(E==null?void 0:E.label)??P.key}/${q}`:(E==null?void 0:E.label)??P.key}function L(P){return P.key==="rules"&&P.category?`/rules/${P.category}`:P.key==="traffic"&&P.source?`/traffic/${P.source}`:P.key==="overview"?"/":`/${P.key}`}function N(P,E){P.button===0&&!P.metaKey&&!P.ctrlKey&&!P.shiftKey&&!P.altKey&&(P.preventDefault(),o()(E.key,{category:E.category,source:E.source}))}const M="sower.admin.favoritePages.v1";Ji(()=>{x(f,R(),!0);const P=E=>{E.key===M&&x(f,R(),!0)};return window.addEventListener("storage",P),()=>window.removeEventListener("storage",P)});function R(){const P=new Set(_s.map(E=>E.key));try{const E=JSON.parse(localStorage.getItem(M)??"[]");return Array.isArray(E)?E.map(q=>typeof q=="string"?{key:q}:q&&typeof q=="object"&&typeof q.key=="string"?{key:q.key,category:q.category,source:q.source}:null).filter(q=>q!==null&&P.has(q.key)):[]}catch{return[]}}function F(P){x(f,P.filter((E,q)=>P.findIndex(ne=>ne.key===E.key&&ne.category===E.category&&ne.source===E.source)===q),!0);try{localStorage.setItem(M,JSON.stringify(a(f)))}catch{}}function k(P,E){if(P.preventDefault(),P.stopPropagation(),a(g).has(E)){F(a(f).filter(ne=>ne.key!==E));return}const q={key:E};E==="rules"&&l()&&(q.category=l()),E==="traffic"&&c()&&(q.source=c()),F([...a(f),q])}let G=fe(null);function T(P,E){const q=(P==null?void 0:P.querySelector('[aria-current="page"]'))??(P==null?void 0:P.querySelector(E));q==null||q.focus()}function ue(P){P.preventDefault(),Df().then(()=>{T(a(G),'[data-slot="dropdown-menu-item"]')})}function xe(P){var ce,we;if(!["ArrowDown","ArrowUp","Home","End"].includes(P.key))return;const E=Array.from(((ce=a(G))==null?void 0:ce.querySelectorAll('[data-slot="dropdown-menu-item"], [data-slot="button"]'))??[]);if(E.length===0)return;P.preventDefault();const q=E.indexOf(document.activeElement),ne=P.key==="End"?E.length-1:0,Pe=q===-1?ne:q,X=P.key==="Home"?0:P.key==="End"?E.length-1:P.key==="ArrowDown"?(Pe+1)%E.length:(Pe-1+E.length)%E.length;(we=E[X])==null||we.focus()}function oe(P){switch(P.tone){case"strong":return"text-foreground font-semibold";case"method":return"text-primary font-mono";default:return"text-muted-foreground font-medium"}}var be=VP(),le=S(be),pe=S(le),$e=S(pe),ze=S($e);rr(ze,{variant:"ghost",class:"h-9 gap-1.5 px-2 text-foreground",onclick:()=>o()("overview"),title:"回到概览",children:(P,E)=>{var q=kP(),ne=_(q);rb(ne,{class:"size-5"}),h(P,q)},$$slots:{default:!0}});var Fe=y($e,4),K=S(Fe);A(K,()=>pd,(P,E)=>{E(P,{children:(q,ne)=>{const Pe=z(()=>d[e.activeItem.key]??ws);var X=md(),ce=_(X);A(ce,()=>gd,(he,ae)=>{ae(he,{class:"inline-flex h-9 max-w-[14rem] items-center gap-1.5 rounded-md px-2 text-sm font-semibold text-foreground transition-colors outline-none hover:bg-muted focus-visible:ring-3 focus-visible:ring-ring/50 aria-expanded:bg-muted","aria-label":"控制台分区",children:(O,H)=>{var Y=$P(),Q=_(Y);A(Q,()=>a(Pe),(dt,Oe)=>{Oe(dt,{class:"size-4 shrink-0 text-primary"})});var U=y(Q,2),Se=S(U),ot=y(U,2);ud(ot,{class:"size-3.5 shrink-0 text-muted-foreground"}),J(()=>te(Se,e.activeItem.label)),h(O,Y)},$$slots:{default:!0}})});var we=y(ce,2);A(we,()=>vd,(he,ae)=>{ae(he,{class:"min-w-56",align:"start",children:(O,H)=>{var Y=Z(),Q=_(Y);Gt(Q,17,()=>_s,xr,(U,Se)=>{const ot=z(()=>d[a(Se).key]??ws);var dt=Z(),Oe=_(dt);{let _e=z(()=>xt("gap-2.5 py-2",a(Se).key===e.activeItem.key&&"bg-accent text-accent-foreground"));A(Oe,()=>da,(Me,Le)=>{Le(Me,{onSelect:()=>o()(a(Se).key),get class(){return a(_e)},children:(Ne,Re)=>{var st=SP(),Ge=_(st),Qe=S(Ge);A(Qe,()=>a(ot),(at,Mt)=>{Mt(at,{class:"size-4"})});var _t=y(Ge,2),qe=S(_t),Be=S(qe),ft=y(qe,2),zt=S(ft),Et=y(_t,2);{var kt=at=>{Bv(at,{class:"ms-auto size-4 text-primary"})};ye(Et,at=>{a(Se).key===e.activeItem.key&&at(kt)})}J(()=>{te(Be,a(Se).label),te(zt,a(Se).description)}),h(Ne,st)},$$slots:{default:!0}})})}h(U,dt)}),h(O,Y)},$$slots:{default:!0}})}),h(q,X)},$$slots:{default:!0}})});var Bt=y(Fe,2);Gt(Bt,17,r,xr,(P,E)=>{var q=OP(),ne=_(q),Pe=y(ne,2),X=S(Pe);{var ce=he=>{var ae=Z(),O=_(ae);A(O,()=>pd,(H,Y)=>{Y(H,{children:(Q,U)=>{var Se=md(),ot=_(Se);{let Oe=z(()=>xt("inline-flex h-9 max-w-[16rem] items-center gap-1.5 rounded-md px-2 text-sm transition-colors outline-none hover:bg-muted focus-visible:ring-3 focus-visible:ring-ring/50 aria-expanded:bg-muted",oe(a(E)))),_e=z(()=>a(E).title??`${a(E).label}: ${a(E).value}`),Me=z(()=>`${a(E).label}: ${a(E).value}`);A(ot,()=>gd,(Le,Ne)=>{Ne(Le,{get class(){return a(Oe)},get title(){return a(_e)},get"aria-label"(){return a(Me)},children:(Re,st)=>{var Ge=PP(),Qe=_(Ge),_t=S(Qe),qe=y(Qe,2),Be=S(qe),ft=y(qe,2);ud(ft,{class:"size-3.5 shrink-0 text-muted-foreground"}),J(()=>{te(_t,a(E).label),te(Be,a(E).value)}),h(Re,Ge)},$$slots:{default:!0}})})}var dt=y(ot,2);A(dt,()=>vd,(Oe,_e)=>{_e(Oe,{class:"min-w-44",align:"start",children:(Me,Le)=>{const Ne=z(()=>({key:e.activeItem.key,category:a(E).label==="分类"?a(E).value:void 0,source:a(E).label==="source"?a(E).value:void 0})),Re=z(()=>p(a(Ne)));var st=TP(),Ge=_(st);Gt(Ge,17,()=>a(E).options,xr,(qe,Be,ft,zt)=>{const Et=z(()=>({key:e.activeItem.key,category:a(E).label==="分类"?a(Be).value:void 0,source:a(E).label==="source"?a(Be).value:void 0})),kt=z(()=>p(a(Et)));var at=bd(),Mt=S(at);A(Mt,()=>da,(vt,bt)=>{bt(vt,{onSelect:()=>n()(a(E).label,a(Be).value),class:"min-w-0 flex-1 gap-2",children:(Ie,He)=>{var ve=AP(),Ye=_(ve),Ke=S(Ye),Pt=y(Ye,2);{var lt=ct=>{var jt=CP(),Je=S(jt);J(()=>te(Je,a(Be).description)),h(ct,jt)};ye(Pt,ct=>{a(Be).description&&ct(lt)})}var Ue=y(Pt,2);{var gt=ct=>{Bv(ct,{class:"ms-auto size-4 text-primary"})};ye(Ue,ct=>{a(Be).active&&ct(gt)})}J(()=>te(Ke,a(Be).label)),h(Ie,ve)},$$slots:{default:!0}})});var ht=y(Mt,2);{let vt=z(()=>xt("mx-0.5 shrink-0 rounded-full hover:bg-primary/10 hover:text-primary",a(kt)&&"bg-primary/10 text-primary")),bt=z(()=>`${a(kt)?"取消收藏":"收藏"} ${a(Be).label}`);rr(ht,{variant:"ghost",size:"icon-xs",get class(){return a(vt)},get"aria-label"(){return a(bt)},get"aria-pressed"(){return a(kt)},onclick:Ie=>$(Ie,a(Et)),children:(Ie,He)=>{{let ve=z(()=>xt("size-3.5",a(kt)&&"fill-current"));ca(Ie,{get class(){return a(ve)}})}},$$slots:{default:!0}})}J(vt=>sr(at,1,vt),[()=>ys(xt("flex items-center gap-0.5 rounded-md",a(Be).active&&"bg-accent text-accent-foreground"))]),h(qe,at)});var Qe=y(Ge,2);A(Qe,()=>Xv,(qe,Be)=>{Be(qe,{})});var _t=y(Qe,2);A(_t,()=>da,(qe,Be)=>{Be(qe,{onSelect:w,class:"gap-2",children:(ft,zt)=>{var Et=EP(),kt=_(Et);{let ht=z(()=>xt("size-4",a(Re)&&"fill-current text-primary"));ca(kt,{get class(){return a(ht)}})}var at=y(kt,2),Mt=S(at);J(()=>te(Mt,a(Re)?"已收藏当前视图":"收藏当前视图")),h(ft,Et)},$$slots:{default:!0}})}),h(Me,st)},$$slots:{default:!0}})}),h(Q,Se)},$$slots:{default:!0}})}),h(he,ae)},we=he=>{var ae=MP(),O=S(ae),H=S(O),Y=y(O,2),Q=S(Y);J(U=>{sr(ae,1,U),$t(ae,"title",a(E).title??`${a(E).label}: ${a(E).value}`),te(H,a(E).label),te(Q,a(E).value)},[()=>ys(xt("inline-flex h-9 max-w-[16rem] items-center gap-1.5 px-2",oe(a(E))))]),h(he,ae)};ye(X,he=>{var ae;(ae=a(E).options)!=null&&ae.length?he(ce):he(we,-1)})}J(()=>{sr(ne,1,`text-muted-foreground/60 ${a(E).mobileHidden?"hidden sm:list-item":""}`),sr(Pe,1,a(E).mobileHidden?"hidden sm:list-item":"")}),h(P,q)});var nt=y(le,2),j=S(nt);{var re=P=>{var E=IP();Gt(E,21,()=>a(v).slice(0,3),xr,(q,ne)=>{const Pe=z(()=>m(a(ne)));var X=zP(),ce=S(X);{let ae=z(()=>xt("size-3.5 shrink-0",a(Pe)?"fill-current text-primary":"text-muted-foreground"));ca(ce,{get class(){return a(ae)}})}var we=y(ce,2),he=S(we);J((ae,O,H,Y)=>{$t(X,"href",ae),sr(X,1,O),$t(X,"title",H),$t(X,"aria-current",a(Pe)?"page":void 0),te(he,Y)},[()=>L(a(ne)),()=>ys(xt("inline-flex h-7 items-center gap-1.5 rounded-md px-2 text-sm font-medium transition-colors outline-none hover:bg-muted focus-visible:ring-3 focus-visible:ring-ring/50",a(Pe)&&"bg-primary/10 text-primary")),()=>`打开 ${I(a(ne))}`,()=>I(a(ne))]),Lr("click",X,ae=>N(ae,a(ne))),h(q,X)}),h(P,E)};ye(j,P=>{a(v).length>0&&P(re)})}var W=y(j,2);A(W,()=>pd,(P,E)=>{E(P,{children:(q,ne)=>{var Pe=md(),X=_(Pe);A(X,()=>gd,(we,he)=>{he(we,{class:"inline-flex h-9 items-center gap-1.5 rounded-md border border-input bg-background px-2.5 text-sm font-medium text-foreground transition-colors outline-none hover:bg-muted focus-visible:ring-3 focus-visible:ring-ring/50 aria-expanded:bg-muted sm:h-7","aria-label":"页面与收藏夹",children:(ae,O)=>{var H=NP(),Y=_(H);s$(Y,{class:"size-3.5"});var Q=y(Y,4);ud(Q,{class:"size-3 text-muted-foreground"}),h(ae,H)},$$slots:{default:!0}})});var ce=y(X,2);A(ce,()=>vd,(we,he)=>{he(we,{class:"w-64",onOpenAutoFocus:ue,onkeydown:xe,get ref(){return a(G)},set ref(ae){x(G,ae,!0)},children:(ae,O)=>{var H=BP(),Y=_(H);A(Y,()=>Yv,(_e,Me)=>{Me(_e,{children:(Le,Ne)=>{var Re=ge("收藏夹");h(Le,Re)},$$slots:{default:!0}})});var Q=y(Y,2);{var U=_e=>{var Me=FP();Gt(Me,21,()=>a(v),xr,(Le,Ne)=>{const Re=z(()=>d[a(Ne).key]??ws),st=z(()=>m(a(Ne)));var Ge=bd(),Qe=S(Ge);{let qe=z(()=>L(a(Ne)));A(Qe,()=>da,(Be,ft)=>{ft(Be,{onSelect:()=>o()(a(Ne).key,{category:a(Ne).category,source:a(Ne).source}),class:"min-w-0 flex-1 gap-2 py-1.5",get title(){return a(qe)},children:(zt,Et)=>{var kt=RP(),at=_(kt),Mt=S(at);A(Mt,()=>a(Re),(bt,Ie)=>{Ie(bt,{class:"size-3.5"})});var ht=y(at,2),vt=S(ht);J(bt=>te(vt,bt),[()=>I(a(Ne))]),h(zt,kt)},$$slots:{default:!0}})})}var _t=y(Qe,2);{let qe=z(()=>`取消收藏 ${I(a(Ne))}`);rr(_t,{variant:"ghost",size:"icon-xs",class:"mx-0.5 shrink-0 rounded-full text-primary hover:bg-primary/10 hover:text-primary",get"aria-label"(){return a(qe)},onclick:Be=>$(Be,a(Ne)),children:(Be,ft)=>{ca(Be,{class:"size-3.5 fill-current"})},$$slots:{default:!0}})}J(qe=>sr(Ge,1,qe),[()=>ys(xt("flex items-center gap-0.5 rounded-md",a(st)&&"bg-accent text-accent-foreground"))]),h(Le,Ge)}),h(_e,Me)},Se=_e=>{var Me=LP();h(_e,Me)};ye(Q,_e=>{a(v).length>0?_e(U):_e(Se,-1)})}var ot=y(Q,2);A(ot,()=>Xv,(_e,Me)=>{Me(_e,{})});var dt=y(ot,2);A(dt,()=>Yv,(_e,Me)=>{Me(_e,{children:(Le,Ne)=>{var Re=ge("全部页面");h(Le,Re)},$$slots:{default:!0}})});var Oe=y(dt,2);Gt(Oe,21,()=>_s,xr,(_e,Me)=>{const Le=z(()=>d[a(Me).key]??ws),Ne=z(()=>a(g).has(a(Me).key));var Re=bd(),st=S(Re);A(st,()=>da,(Qe,_t)=>{_t(Qe,{onSelect:()=>o()(a(Me).key),class:"min-w-0 flex-1 gap-2 py-1.5",children:(qe,Be)=>{var ft=DP(),zt=_(ft),Et=S(zt);A(Et,()=>a(Le),(bt,Ie)=>{Ie(bt,{class:"size-4"})});var kt=y(zt,2),at=S(kt),Mt=S(at),ht=y(at,2),vt=S(ht);J(()=>{te(Mt,a(Me).label),te(vt,a(Me).description)}),h(qe,ft)},$$slots:{default:!0}})});var Ge=y(st,2);{let Qe=z(()=>xt("mx-0.5 shrink-0 rounded-full hover:bg-primary/10 hover:text-primary",a(Ne)&&"bg-primary/10 text-primary")),_t=z(()=>`${a(Ne)?"取消收藏":"收藏"} ${a(Me).label}`);rr(Ge,{variant:"ghost",size:"icon-sm",get class(){return a(Qe)},get"aria-label"(){return a(_t)},get"aria-pressed"(){return a(Ne)},onclick:qe=>k(qe,a(Me).key),children:(qe,Be)=>{{let ft=z(()=>xt("size-4",a(Ne)&&"fill-current"));ca(qe,{get class(){return a(ft)}})}},$$slots:{default:!0}})}J(Qe=>sr(Re,1,Qe),[()=>ys(xt("flex items-center gap-0.5 rounded-md",a(Me).key===e.activeItem.key&&"bg-accent text-accent-foreground"))]),h(_e,Re)}),h(ae,H)},$$slots:{default:!0}})}),h(q,Pe)},$$slots:{default:!0}})});var ee=y(W,2);{var ie=P=>{an(P,{variant:"destructive",class:"hidden sm:inline-flex",children:(E,q)=>{var ne=ge("错误");h(E,ne)},$$slots:{default:!0}})};ye(ee,P=>{i()&&P(ie)})}var de=y(ee,2);rr(de,{variant:"ghost",size:"icon-sm",class:"size-9 sm:size-7",title:"退出登录","aria-label":"退出登录",get onclick(){return s()},children:(P,E)=>{c$(P,{class:"size-4"})},$$slots:{default:!0}}),h(t,be),je()}Yi(["click"]);var WP=B('

      正在恢复登录状态…

      '),GP=B(" 重试",1),HP=B('

      '),KP=B("
      "),UP=B('

      ',1);function qP(t,e){Ve(e,!0);let r=fe(!1),n=fe(!0),o=fe("");function s(){const T=window.location.pathname.replace(/\/+$/,""),[ue,xe]=T.split("/").filter(Boolean);switch(ue){case"rules":return{nav:"rules",category:["block","direct","proxy","miss"].includes(xe)?xe:void 0};case"traffic":return{nav:"traffic",source:["all","http","https","socks5","dns"].includes(xe)?xe:void 0};case"config":return{nav:"config"};default:return{nav:"overview"}}}function i(T,ue,xe){return T==="rules"&&ue?`/rules/${ue}`:T==="traffic"&&xe?`/traffic/${xe}`:T==="overview"?"/":`/${T}`}function l(T,ue){x(c,T,!0),ue!=null&&ue.category&&x(d,ue.category,!0),ue!=null&&ue.source&&x(f,ue.source,!0),history.pushState({},"",i(T,a(d),a(f)))}let c=fe(kr(s().nav)),d=fe("proxy"),f=fe("all");const g=z(()=>Zt.status),v=z(()=>_s.find(T=>T.key===a(c))??_s[0]),p=z(()=>{switch(a(c)){case"overview":return a(g)?[{label:"version",value:a(g).version||"-",tone:"strong",title:`构建日期 ${a(g).date||"未知"}`,mobileHidden:!0}]:[];case"rules":return[{label:"分类",value:a(d),tone:"strong",options:["block","direct","proxy","miss"].map(T=>({label:T,value:T,active:T===a(d)}))}];case"traffic":return[{label:"source",value:a(f),tone:"strong",options:["all","http","https","socks5","dns"].map(T=>({label:T,value:T,active:T===a(f)}))}];case"config":return[]}});function m(){x(r,!0),x(n,!1),x(o,"");const T=s();x(c,T.nav,!0),T.category&&x(d,T.category,!0),T.source&&x(f,T.source,!0),su()}async function b(){x(n,!0),x(o,"");try{await Vf(),m()}catch(T){if(T instanceof Mr&&T.status===401){$();return}x(r,!1),x(o,"无法验证当前登录状态。请检查服务连接后重试。")}finally{x(n,!1)}}async function w(){try{await Br.logout()}catch{}finally{$()}}function $(){x(r,!1),x(n,!1),x(o,""),Wv()}function I(){const T=s();x(c,T.nav,!0),T.category&&x(d,T.category,!0),T.source&&x(f,T.source,!0)}Ji(()=>{const T=s();x(c,T.nav,!0),T.category&&x(d,T.category,!0),T.source&&x(f,T.source,!0);const ue=i(T.nav,T.category,T.source);return window.location.pathname!==ue&&history.replaceState({},"",ue),window.addEventListener("popstate",I),b(),()=>window.removeEventListener("popstate",I)}),ur(()=>(jv($),()=>{jv(null),Wv()}));function L(T,ue){T==="分类"?x(d,ue,!0):T==="source"&&x(f,ue,!0),history.pushState({},"",i(a(c),a(d),a(f)))}var N=Z(),M=_(N);{var R=T=>{var ue=WP();h(T,ue)},F=T=>{var ue=HP(),xe=S(ue),oe=S(xe),be=S(oe),le=y(oe,2);rr(le,{onclick:b,children:(pe,$e)=>{var ze=GP(),Fe=_(ze);ib(Fe,{class:"size-4","aria-hidden":"true"}),h(pe,ze)},$$slots:{default:!0}}),J(()=>te(be,a(o))),h(T,ue)},k=T=>{$$(T,{onLogin:m})},G=T=>{var ue=UP(),xe=_(ue);jP(xe,{get activeItem(){return a(v)},get contextSegments(){return a(p)},onContextSelect:L,onSelectItem:l,get currentCategory(){return a(d)},get currentSource(){return a(f)},get status(){return a(g)},onLogout:w});var oe=y(xe,2),be=S(oe),le=S(be),pe=y(be,2);Qg(pe,()=>a(c),$e=>{var ze=KP(),Fe=S(ze);{var K=re=>{Y$(re,{get status(){return a(g)}})},Bt=re=>{RS(re,{get category(){return a(d)},onUnauthorized:$})},nt=re=>{HS(re,{get source(){return a(f)}})},j=re=>{hP(re,{onUnauthorized:$})};ye(Fe,re=>{a(c)==="overview"?re(K):a(c)==="rules"?re(Bt,1):a(c)==="traffic"?re(nt,2):re(j,-1)})}ma(1,ze,()=>ba,()=>({duration:xa.current?0:120})),h($e,ze)}),J(()=>te(le,a(v).label)),h(T,ue)};ye(M,T=>{a(n)?T(R):a(o)?T(F,1):a(r)?T(G,-1):T(k,2)})}h(t,N),je()}const cb=document.querySelector("#app");if(!cb)throw new Error("missing #app mount point");Jg(qP,{target:cb}); diff --git a/web/dist/assets/index-D9XDje5A.js b/web/dist/assets/index-D9XDje5A.js deleted file mode 100644 index f395c27..0000000 --- a/web/dist/assets/index-D9XDje5A.js +++ /dev/null @@ -1,1798 +0,0 @@ -var ub=Object.defineProperty;var db=Object.getPrototypeOf;var fb=Reflect.get;var Sh=t=>{throw TypeError(t)};var hb=(t,e,r)=>e in t?ub(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var ge=(t,e,r)=>hb(t,typeof e!="symbol"?e+"":e,r),qu=(t,e,r)=>e.has(t)||Sh("Cannot "+r);var d=(t,e,r)=>(qu(t,e,"read from private field"),r?r.call(t):e.get(t)),C=(t,e,r)=>e.has(t)?Sh("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),V=(t,e,r,n)=>(qu(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r),oe=(t,e,r)=>(qu(t,e,"access private method"),r);var Ph=(t,e,r,n)=>({set _(o){V(t,e,o,r)},get _(){return d(t,e,n)}}),Ch=(t,e,r)=>fb(db(t),r,e);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))n(o);new MutationObserver(o=>{for(const s of o)if(s.type==="childList")for(const i of s.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&n(i)}).observe(document,{childList:!0,subtree:!0});function r(o){const s={};return o.integrity&&(s.integrity=o.integrity),o.referrerPolicy&&(s.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?s.credentials="include":o.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function n(o){if(o.ep)return;o.ep=!0;const s=r(o);fetch(o.href,s)}})();const eg=!1;var Sf=Array.isArray,vb=Array.prototype.indexOf,Rc=Array.prototype.includes,Iu=Array.from,gb=Object.defineProperty,Qo=Object.getOwnPropertyDescriptor,tg=Object.getOwnPropertyDescriptors,pb=Object.prototype,mb=Array.prototype,Pf=Object.getPrototypeOf,Ah=Object.isExtensible;function ii(t){return typeof t=="function"}const rt=()=>{};function bb(t){return t()}function bd(t){for(var e=0;e{t=n,e=o});return{promise:r,resolve:t,reject:e}}function ng(t,e){if(Array.isArray(t))return t;if(!(Symbol.iterator in t))return Array.from(t);const r=[];for(const n of t)if(r.push(n),r.length===e)break;return r}const $r=2,Ri=4,jl=8,Cf=1<<24,mn=16,yn=32,eo=64,yd=128,bn=512,wr=1024,gr=2048,zn=4096,Vr=8192,ln=16384,Ys=32768,xd=1<<25,to=65536,Fc=1<<17,yb=1<<18,Xs=1<<19,og=1<<20,Hn=1<<25,Gs=65536,Lc=1<<21,di=1<<22,es=1<<23,Yn=Symbol("$state"),sg=Symbol("legacy props"),xb=Symbol(""),pc=Symbol("attributes"),wd=Symbol("class"),_d=Symbol("style"),ua=Symbol("text"),mc=Symbol("form reset"),Wl=new class extends Error{constructor(){super(...arguments);ge(this,"name","StaleReactionError");ge(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};var Zv;const Af=!!((Zv=globalThis.document)!=null&&Zv.contentType)&&globalThis.document.contentType.includes("xml");function Ef(t){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function wb(){throw new Error("https://svelte.dev/e/async_derived_orphan")}function _b(t,e,r){throw new Error("https://svelte.dev/e/each_key_duplicate")}function kb(t){throw new Error("https://svelte.dev/e/effect_in_teardown")}function $b(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Sb(t){throw new Error("https://svelte.dev/e/effect_orphan")}function Pb(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function Cb(t){throw new Error("https://svelte.dev/e/props_invalid_value")}function Ab(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Eb(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Tb(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function Mb(){throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}const Ob=1,zb=2,ig=4,Ib=8,Nb=16,Rb=1,Fb=2,ag=4,Lb=8,Db=16,Bb=4,Vb=1,jb=2,vr=Symbol("uninitialized"),lg="http://www.w3.org/1999/xhtml",Wb="http://www.w3.org/2000/svg",cg="@attach";function Gb(){console.warn("https://svelte.dev/e/derived_inert")}function Hb(){console.warn("https://svelte.dev/e/select_multiple_invalid_value")}function Kb(){console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function ug(t){return t===this.v}function Ub(t,e){return t!=t?e==e:t!==e||t!==null&&typeof t=="object"||typeof t=="function"}function dg(t){return!Ub(t,this.v)}let Hi=!1,qb=!1;function Yb(){Hi=!0}let Nt=null;function Fi(t){Nt=t}function Eh(t){return Nu().get(t)}function Xb(t,e){return Nu().set(t,e),e}function Zb(t){return Nu().has(t)}function Jb(){return Nu()}function Ve(t,e=!1,r){Nt={p:Nt,i:!1,c:null,e:null,s:t,x:null,r:ct,l:Hi&&!e?{s:null,u:null,$:[]}:null}}function je(t){var e=Nt,r=e.e;if(r!==null){e.e=null;for(var n of r)Ig(n)}return e.i=!0,Nt=e.p,{}}function Ki(){return!Hi||Nt!==null&&Nt.l===null}function Nu(t){return Nt===null&&Ef(),Nt.c??(Nt.c=new Map(Qb(Nt)||void 0))}function Qb(t){let e=t.p;for(;e!==null;){const r=e.c;if(r!==null)return r;e=e.p}return null}let _s=[];function fg(){var t=_s;_s=[],bd(t)}function Tn(t){if(_s.length===0&&!ka){var e=_s;queueMicrotask(()=>{e===_s&&fg()})}_s.push(t)}function ey(){for(;_s.length>0;)fg()}function hg(t){var e=ct;if(e===null)return bt.f|=es,t;if((e.f&Ys)===0&&(e.f&Ri)===0)throw t;Jo(t,e)}function Jo(t,e){if(!(e!==null&&(e.f&ln)!==0)){for(;e!==null;){if((e.f&yd)!==0){if((e.f&Ys)===0)throw t;try{e.b.error(t);return}catch(r){t=r}}e=e.parent}throw t}}const ty=-7169;function ir(t,e){t.f=t.f&ty|e}function Tf(t){(t.f&bn)!==0||t.deps===null?ir(t,wr):ir(t,zn)}function vg(t){if(t!==null)for(const e of t)(e.f&$r)===0||(e.f&Gs)===0||(e.f^=Gs,vg(e.deps))}function gg(t,e,r){(t.f&gr)!==0?e.add(t):(t.f&zn)!==0&&r.add(t),vg(t.deps),ir(t,wr)}let Ql=!1;function ry(t){var e=Ql;try{return Ql=!1,[t(),Ql]}finally{Ql=e}}function ny(t,e){if(e){const r=document.body;t.autofocus=!0,Tn(()=>{document.activeElement===r&&t.focus()})}}let Th=!1;function oy(){Th||(Th=!0,document.addEventListener("reset",t=>{Promise.resolve().then(()=>{var e;if(!t.defaultPrevented)for(const r of t.target.elements)(e=r[mc])==null||e.call(r)})},{capture:!0}))}function as(t){var e=bt,r=ct;xn(null),wn(null);try{return t()}finally{xn(e),wn(r)}}function pg(t,e,r,n=r){t.addEventListener(e,()=>as(r));const o=t[mc];o?t[mc]=()=>{o(),n(!0)}:t[mc]=()=>n(!0),oy()}function Ru(t){let e=0,r=To(0),n;return()=>{Nf()&&(a(r),Du(()=>(e===0&&(n=tn(()=>t(()=>Wn(r)))),e+=1,()=>{Tn(()=>{e-=1,e===0&&(n==null||n(),n=void 0,Wn(r))})})))}}var sy=to|Xs;function iy(t,e,r,n){new ay(t,e,r,n)}var fn,$f,hn,Ps,Gr,vn,Dr,nn,co,Cs,Vo,vi,Oa,za,uo,iu,Jt,ly,cy,kd,uy,$d,bc,yc,Sd,Pd;class ay{constructor(e,r,n,o){C(this,Jt);ge(this,"parent");ge(this,"is_pending",!1);ge(this,"transform_error");C(this,fn);C(this,$f,null);C(this,hn);C(this,Ps);C(this,Gr);C(this,vn,null);C(this,Dr,null);C(this,nn,null);C(this,co,null);C(this,Cs,0);C(this,Vo,0);C(this,vi,!1);C(this,Oa,new Set);C(this,za,new Set);C(this,uo,null);C(this,iu,Ru(()=>(V(this,uo,To(d(this,Cs))),()=>{V(this,uo,null)})));var s;V(this,fn,e),V(this,hn,r),V(this,Ps,i=>{var l=ct;l.b=this,l.f|=yd,n(i)}),this.parent=ct.b,this.transform_error=o??((s=this.parent)==null?void 0:s.transform_error)??(i=>i),V(this,Gr,Zs(()=>{oe(this,Jt,$d).call(this)},sy))}defer_effect(e){gg(e,d(this,Oa),d(this,za))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!d(this,hn).pending}update_pending_count(e,r){oe(this,Jt,Sd).call(this,e,r),V(this,Cs,d(this,Cs)+e),!(!d(this,uo)||d(this,vi))&&(V(this,vi,!0),Tn(()=>{V(this,vi,!1),d(this,uo)&&Di(d(this,uo),d(this,Cs))}))}get_effect_pending(){return d(this,iu).call(this),a(d(this,uo))}error(e){if(!d(this,hn).onerror&&!d(this,hn).failed)throw e;We!=null&&We.is_fork?(d(this,vn)&&We.skip_effect(d(this,vn)),d(this,Dr)&&We.skip_effect(d(this,Dr)),d(this,nn)&&We.skip_effect(d(this,nn)),We.oncommit(()=>{oe(this,Jt,Pd).call(this,e)})):oe(this,Jt,Pd).call(this,e)}}fn=new WeakMap,$f=new WeakMap,hn=new WeakMap,Ps=new WeakMap,Gr=new WeakMap,vn=new WeakMap,Dr=new WeakMap,nn=new WeakMap,co=new WeakMap,Cs=new WeakMap,Vo=new WeakMap,vi=new WeakMap,Oa=new WeakMap,za=new WeakMap,uo=new WeakMap,iu=new WeakMap,Jt=new WeakSet,ly=function(){try{V(this,vn,Qr(()=>d(this,Ps).call(this,d(this,fn))))}catch(e){this.error(e)}},cy=function(e){const r=d(this,hn).failed,{reset:n,invoke_onerror:o}=oe(this,Jt,kd).call(this,e);Tn(o),r&&V(this,nn,Qr(()=>{r(d(this,fn),()=>e,()=>n)}))},kd=function(e){var r=!1,n=!1;const o=()=>{if(r){Kb();return}r=!0,n&&Mb(),d(this,nn)!==null&&Vs(d(this,nn),()=>{V(this,nn,null)}),oe(this,Jt,yc).call(this,()=>{oe(this,Jt,$d).call(this)})};return{reset:o,invoke_onerror:()=>{var i,l;try{n=!0,(l=(i=d(this,hn)).onerror)==null||l.call(i,e,o),n=!1}catch(c){Jo(c,d(this,Gr)&&d(this,Gr).parent)}}}},uy=function(){const e=d(this,hn).pending;e&&(this.is_pending=!0,V(this,Dr,Qr(()=>e(d(this,fn)))),Tn(()=>{var r=V(this,co,document.createDocumentFragment()),n=Xn();r.append(n),V(this,vn,oe(this,Jt,yc).call(this,()=>Qr(()=>d(this,Ps).call(this,n)))),d(this,Vo)===0&&(d(this,fn).before(r),V(this,co,null),Vs(d(this,Dr),()=>{V(this,Dr,null)}),oe(this,Jt,bc).call(this,We))}))},$d=function(){try{if(this.is_pending=this.has_pending_snippet(),V(this,Vo,0),V(this,Cs,0),V(this,vn,Qr(()=>{d(this,Ps).call(this,d(this,fn))})),d(this,Vo)>0){var e=V(this,co,document.createDocumentFragment());Ff(d(this,vn),e);const r=d(this,hn).pending;V(this,Dr,Qr(()=>r(d(this,fn))))}else oe(this,Jt,bc).call(this,We)}catch(r){this.error(r)}},bc=function(e){this.is_pending=!1,e.transfer_effects(d(this,Oa),d(this,za))},yc=function(e){var r=ct,n=bt,o=Nt;wn(d(this,Gr)),xn(d(this,Gr)),Fi(d(this,Gr).ctx);try{return rs.ensure(),e()}catch(s){return hg(s),null}finally{wn(r),xn(n),Fi(o)}},Sd=function(e,r){var n;if(!this.has_pending_snippet()){this.parent&&oe(n=this.parent,Jt,Sd).call(n,e,r);return}V(this,Vo,d(this,Vo)+e),d(this,Vo)===0&&(oe(this,Jt,bc).call(this,r),d(this,Dr)&&Vs(d(this,Dr),()=>{V(this,Dr,null)}),d(this,co)&&(d(this,fn).before(d(this,co)),V(this,co,null)))},Pd=function(e){d(this,vn)&&(Sr(d(this,vn)),V(this,vn,null)),d(this,Dr)&&(Sr(d(this,Dr)),V(this,Dr,null)),d(this,nn)&&(Sr(d(this,nn)),V(this,nn,null));let r=d(this,hn).failed;const n=o=>{const{reset:s,invoke_onerror:i}=oe(this,Jt,kd).call(this,o);i(),r&&V(this,nn,oe(this,Jt,yc).call(this,()=>{try{return Qr(()=>{var l=ct;l.b=this,l.f|=yd,r(d(this,fn),()=>o,()=>s)})}catch(l){return Jo(l,d(this,Gr).parent),null}}))};Tn(()=>{var o;try{o=this.transform_error(e)}catch(s){Jo(s,d(this,Gr)&&d(this,Gr).parent);return}o!==null&&typeof o=="object"&&typeof o.then=="function"?o.then(n,s=>Jo(s,d(this,Gr)&&d(this,Gr).parent)):n(o)})};function mg(t,e,r,n){const o=Ki()?Li:Mf;var s=t.filter(p=>!p.settled),i=e.map(o);if(r.length===0&&s.length===0){n(i);return}var l=ct,c=dy(),u=s.length===1?s[0].promise:s.length>1?Promise.all(s.map(p=>p.promise)):null;function f(p){if((l.f&ln)===0){c();try{n([...i,...p])}catch(m){Jo(m,l)}Dc()}}var g=bg();if(r.length===0){u.then(()=>f([])).finally(g);return}function v(){Promise.all(r.map(p=>fy(p))).then(f).catch(p=>Jo(p,l)).finally(g)}u?u.then(()=>{c(),v(),Dc()}):v()}function dy(){var t=ct,e=bt,r=Nt,n=We;return function(s=!0){wn(t),xn(e),Fi(r),s&&(t.f&ln)===0&&(n==null||n.activate(),n==null||n.apply())}}function Dc(t=!0){wn(null),xn(null),Fi(null),t&&(We==null||We.deactivate())}function bg(){var t=ct,e=t.b,r=We,n=!!(e!=null&&e.is_rendered());return e==null||e.update_pending_count(1,r),r.increment(n,t),()=>{e==null||e.update_pending_count(-1,r),r.decrement(n,t)}}function Li(t){var e=$r|gr;return ct!==null&&(ct.f|=Xs),{ctx:Nt,deps:null,effects:null,equals:ug,f:e,fn:t,reactions:null,rv:0,v:vr,wv:0,parent:ct,ac:null}}const da=Symbol("obsolete");function fy(t,e,r){let n=ct;n===null&&wb();var o=void 0,s=To(vr),i=!bt,l=new Set;return Py(()=>{var p,m;var c=ct,u=rg();o=u.promise;try{Promise.resolve(t()).then(u.resolve,b=>{b!==Wl&&u.reject(b)}).finally(Dc)}catch(b){u.reject(b),Dc()}var f=We;if(i){if((c.f&Ys)!==0)var g=bg();if((p=n.b)!=null&&p.is_rendered())(m=f.async_deriveds.get(c))==null||m.reject(da);else for(const b of l.values())b.reject(da);l.add(u),f.async_deriveds.set(c,u)}const v=(b,w=void 0)=>{g==null||g(),l.delete(u),w!==da&&(f.activate(),w?(s.f|=es,Di(s,w)):((s.f&es)!==0&&(s.f^=es),Di(s,b)),f.deactivate())};u.promise.then(v,b=>v(null,b||"unknown"))}),Fu(()=>{for(const c of l)c.reject(da)}),new Promise(c=>{function u(f){function g(){f===o?c(s):u(o)}f.then(g,g)}u(o)})}function z(t){const e=Li(t);return jg(e),e}function Mf(t){const e=Li(t);return e.equals=dg,e}function hy(t){var e=t.effects;if(e!==null){t.effects=null;for(var r=0;r{r.ac.abort(Wl),r.ac=null}),r.fn!==null&&(r.teardown=rt),Ca(r,0),Rf(r))}function xg(t){if(t.effects!==null)for(const e of t.effects)e.teardown&&e.fn!==null&&Vi(e)}let Yu=null,oi=null,We=null,_a=null,Mr=null,Cd=null,ka=!1,Xu=!1,ci=null,xc=null;var Mh=0;let gy=1;var gi,jo,As,pi,mi,bi,fo,yi,Hr,Ia,ho,An,Fn,xi,Es,Dt,Ad,fa,Ed,wg,_g,ai,py,ha;const au=class au{constructor(){C(this,Dt);ge(this,"id",gy++);C(this,gi,!1);ge(this,"linked",!0);C(this,jo,null);C(this,As,null);ge(this,"async_deriveds",new Map);ge(this,"current",new Map);ge(this,"previous",new Map);C(this,pi,new Set);C(this,mi,new Set);C(this,bi,0);C(this,fo,new Map);C(this,yi,null);C(this,Hr,[]);C(this,Ia,[]);C(this,ho,new Set);C(this,An,new Set);C(this,Fn,new Map);C(this,xi,new Set);ge(this,"is_fork",!1);C(this,Es,!1);oi===null?Yu=oi=this:(V(oi,As,this),V(this,jo,oi)),oi=this}skip_effect(e){d(this,Fn).has(e)||d(this,Fn).set(e,{d:[],m:[]}),d(this,xi).delete(e)}unskip_effect(e,r=n=>this.schedule(n)){var n=d(this,Fn).get(e);if(n){d(this,Fn).delete(e);for(var o of n.d)ir(o,gr),r(o);for(o of n.m)ir(o,zn),r(o)}d(this,xi).add(e)}capture(e,r,n=!1){e.v!==vr&&!this.previous.has(e)&&this.previous.set(e,e.v),(e.f&es)===0&&(this.current.set(e,[r,n]),Mr==null||Mr.set(e,r)),this.is_fork||(e.v=r)}activate(){We=this}deactivate(){We=null,Mr=null}flush(){try{Xu=!0,We=this,oe(this,Dt,fa).call(this)}finally{Mh=0,Cd=null,ci=null,xc=null,Xu=!1,We=null,Mr=null,Bs.clear()}}discard(){var e;for(const r of d(this,mi))r(this);d(this,mi).clear();for(const r of this.async_deriveds.values())r.reject(da);oe(this,Dt,ha).call(this),(e=d(this,yi))==null||e.resolve()}register_created_effect(e){d(this,Ia).push(e)}increment(e,r){if(V(this,bi,d(this,bi)+1),e){let n=d(this,fo).get(r)??0;d(this,fo).set(r,n+1)}}decrement(e,r){if(V(this,bi,d(this,bi)-1),e){let n=d(this,fo).get(r)??0;n===1?d(this,fo).delete(r):d(this,fo).set(r,n-1)}d(this,Es)||(V(this,Es,!0),Tn(()=>{V(this,Es,!1),this.linked&&this.flush()}))}transfer_effects(e,r){for(const n of e)d(this,ho).add(n);for(const n of r)d(this,An).add(n);e.clear(),r.clear()}oncommit(e){d(this,pi).add(e)}ondiscard(e){d(this,mi).add(e)}settled(){return(d(this,yi)??V(this,yi,rg())).promise}static ensure(){if(We===null){const e=We=new au;!Xu&&!ka&&Tn(()=>{d(e,gi)||e.flush()})}return We}apply(){{Mr=null;return}}schedule(e){var o;if(Cd=e,(o=e.b)!=null&&o.is_pending&&(e.f&(Ri|jl|Cf))!==0&&(e.f&Ys)===0){e.b.defer_effect(e);return}for(var r=e;r.parent!==null;){r=r.parent;var n=r.f;if(ci!==null&&r===ct&&(bt===null||(bt.f&$r)===0))return;if((n&(eo|yn))!==0){if((n&wr)===0)return;r.f^=wr}}d(this,Hr).push(r)}};gi=new WeakMap,jo=new WeakMap,As=new WeakMap,pi=new WeakMap,mi=new WeakMap,bi=new WeakMap,fo=new WeakMap,yi=new WeakMap,Hr=new WeakMap,Ia=new WeakMap,ho=new WeakMap,An=new WeakMap,Fn=new WeakMap,xi=new WeakMap,Es=new WeakMap,Dt=new WeakSet,Ad=function(){if(this.is_fork)return!0;for(const n of d(this,fo).keys()){for(var e=n,r=!1;e.parent!==null;){if(d(this,Fn).has(e)){r=!0;break}e=e.parent}if(!r)return!0}return!1},fa=function(){var c,u,f,g;V(this,gi,!0),Mh++>1e3&&(oe(this,Dt,ha).call(this),by());for(const v of d(this,ho))d(this,An).delete(v),ir(v,gr),this.schedule(v);for(const v of d(this,An))ir(v,zn),this.schedule(v);const e=d(this,Hr);V(this,Hr,[]),this.apply();var r=ci=[],n=[],o=xc=[];for(const v of e)try{oe(this,Dt,Ed).call(this,v,r,n)}catch(p){throw Sg(v),oe(this,Dt,Ad).call(this)||this.discard(),p}if(We=null,o.length>0){var s=au.ensure();for(const v of o)s.schedule(v)}if(ci=null,xc=null,oe(this,Dt,Ad).call(this)){oe(this,Dt,ai).call(this,n),oe(this,Dt,ai).call(this,r);for(const[v,p]of d(this,Fn))$g(v,p);o.length>0&&oe(c=We,Dt,fa).call(c);return}const i=oe(this,Dt,wg).call(this);if(i){oe(this,Dt,ai).call(this,n),oe(this,Dt,ai).call(this,r),oe(u=i,Dt,_g).call(u,this);return}d(this,ho).clear(),d(this,An).clear();for(const v of d(this,pi))v(this);d(this,pi).clear(),_a=this,Oh(n),Oh(r),_a=null,(f=d(this,yi))==null||f.resolve();var l=We;if(d(this,bi)===0&&(d(this,Hr).length===0||l!==null)&&oe(this,Dt,ha).call(this),d(this,Hr).length>0)if(l!==null){const v=l;d(v,Hr).push(...d(this,Hr).filter(p=>!d(v,Hr).includes(p)))}else l=this;l!==null&&oe(g=l,Dt,fa).call(g)},Ed=function(e,r,n){e.f^=wr;for(var o=e.first;o!==null;){var s=o.f,i=(s&(yn|eo))!==0,l=i&&(s&wr)!==0,c=l||(s&Vr)!==0||d(this,Fn).has(o);if(!c&&o.fn!==null){i?o.f^=wr:(s&Ri)!==0?r.push(o):Hl(o)&&((s&mn)!==0&&d(this,An).add(o),Vi(o));var u=o.first;if(u!==null){o=u;continue}}for(;o!==null;){var f=o.next;if(f!==null){o=f;break}o=o.parent}}},wg=function(){for(var e=d(this,jo);e!==null;){if(!e.is_fork){for(const[r,[,n]]of this.current)if(e.current.has(r)&&!n)return e}e=d(e,jo)}return null},_g=function(e){var n;for(const[o,s]of e.current)!this.previous.has(o)&&e.previous.has(o)&&this.previous.set(o,e.previous.get(o)),this.current.set(o,s);for(const[o,s]of e.async_deriveds){const i=this.async_deriveds.get(o);i&&s.promise.then(i.resolve).catch(i.reject)}e.async_deriveds.clear(),this.transfer_effects(d(e,ho),d(e,An));const r=o=>{var s=o.reactions;if(s!==null&&!((o.f&$r)!==0&&(o.f&(gr|zn))===0))for(const c of s){var i=c.f;if((i&$r)!==0)r(c);else{var l=c;i&(di|mn)&&!this.async_deriveds.has(l)&&(d(this,An).delete(l),ir(l,gr),this.schedule(l))}}};for(const o of this.current.keys())r(o);this.oncommit(()=>e.discard()),oe(n=e,Dt,ha).call(n),We=this,oe(this,Dt,fa).call(this)},ai=function(e){for(var r=0;r!v.current.get(p)[1]);if(!(!d(v,gi)||o.length===0)){var s=o.filter(p=>!this.current.has(p));if(s.length===0)e&&v.discard();else if(r.length>0){if(e)for(const p of d(this,xi))v.unskip_effect(p,m=>{var b;(m.f&(mn|di))!==0?v.schedule(m):oe(b=v,Dt,ai).call(b,[m])});v.activate();var i=new Set,l=new Map;for(var c of r)kg(c,s,i,l);l=new Map;var u=[...v.current].filter(([p,m])=>{const b=this.current.get(p);return b?b[0]!==m[0]||b[1]!==m[1]:!0}).map(([p])=>p);if(u.length>0)for(const p of d(this,Ia))(p.f&(ln|Vr|Fc))===0&&zf(p,u,l)&&((p.f&(di|mn))!==0?(ir(p,gr),v.schedule(p)):d(v,ho).add(p));if(d(v,Hr).length>0&&!d(v,Es)){v.apply();for(var f of d(v,Hr))oe(g=v,Dt,Ed).call(g,f,[],[]);V(v,Hr,[])}v.deactivate()}}}},ha=function(){if(this.linked){var e=d(this,jo),r=d(this,As);e===null?Yu=r:V(e,As,r),r===null?oi=e:V(r,jo,e),this.linked=!1}};let rs=au;function my(t){var e=ka;ka=!0;try{for(var r;;){if(ey(),We===null)return r;We.flush()}}finally{ka=e}}function by(){try{Pb()}catch(t){Jo(t,Cd)}}let Cn=null;function Oh(t){var e=t.length;if(e!==0){for(var r=0;r0)){Bs.clear();for(const o of Cn){if((o.f&(ln|Vr))!==0)continue;const s=[o];let i=o.parent;for(;i!==null;)Cn.has(i)&&(Cn.delete(i),s.push(i)),i=i.parent;for(let l=s.length-1;l>=0;l--){const c=s[l];(c.f&(ln|Vr))===0&&Vi(c)}}Cn.clear()}}Cn=null}}function kg(t,e,r,n){if(!r.has(t)&&(r.add(t),t.reactions!==null))for(const o of t.reactions){const s=o.f;(s&$r)!==0?kg(o,e,r,n):(s&(di|mn))!==0&&(s&gr)===0&&zf(o,e,n)&&(ir(o,gr),If(o))}}function zf(t,e,r){const n=r.get(t);if(n!==void 0)return n;if(t.deps!==null)for(const o of t.deps){if(Rc.call(e,o))return!0;if((o.f&$r)!==0&&zf(o,e,r))return r.set(o,!0),!0}return r.set(t,!1),!1}function If(t){We.schedule(t)}function $g(t,e){if(!((t.f&yn)!==0&&(t.f&wr)!==0)){(t.f&gr)!==0?e.d.push(t):(t.f&zn)!==0&&e.m.push(t),ir(t,wr);for(var r=t.first;r!==null;)$g(r,e),r=r.next}}function Sg(t){ir(t,wr);for(var e=t.first;e!==null;)Sg(e),e=e.next}let Bc=new Set;const Bs=new Map;let Pg=!1;function To(t,e){var r={f:0,v:t,reactions:null,equals:ug,rv:0,wv:0};return r}function fe(t,e){const r=To(t);return jg(r),r}function yy(t,e=!1,r=!0){var o;const n=To(t);return e||(n.equals=dg),Hi&&r&&Nt!==null&&Nt.l!==null&&((o=Nt.l).s??(o.s=[])).push(n),n}function x(t,e,r=!1){bt!==null&&(!Mn||(bt.f&Fc)!==0)&&Ki()&&(bt.f&($r|mn|di|Fc))!==0&&(Zn===null||!Zn.has(t))&&Tb();let n=r?kr(e):e;return Di(t,n,xc)}function Di(t,e,r=null){if(!t.equals(e)){Bs.set(t,Mo?e:t.v);var n=rs.ensure();if(n.capture(t,e),(t.f&$r)!==0){const o=t;(t.f&gr)!==0&&Of(o),Mr===null&&Tf(o)}t.wv=Gg(),Cg(t,gr,r),Ki()&&ct!==null&&(ct.f&wr)!==0&&(ct.f&(yn|eo))===0&&(dn===null?Ey([t]):dn.push(t)),!n.is_fork&&Bc.size>0&&!Pg&&xy()}return e}function xy(){Pg=!1;for(const t of Bc){(t.f&wr)!==0&&ir(t,zn);let e;try{e=Hl(t)}catch{e=!0}e&&Vi(t)}Bc.clear()}function zh(t,e=1){var r=a(t),n=e===1?r++:r--;return x(t,r),n}function Wn(t){x(t,t.v+1)}function Cg(t,e,r){var n=t.reactions;if(n!==null)for(var o=Ki(),s=n.length,i=0;i{if(Co===s)return l();var c=bt,u=Co;xn(null),Fh(s);var f=l();return xn(c),Fh(u),f};return n&&r.set("length",fe(t.length)),new Proxy(t,{defineProperty(l,c,u){(!("value"in u)||u.configurable===!1||u.enumerable===!1||u.writable===!1)&&Ab();var f=r.get(c);return f===void 0?i(()=>{var g=fe(u.value);return r.set(c,g),g}):x(f,u.value,!0),!0},deleteProperty(l,c){var u=r.get(c);if(u===void 0){if(c in l){const f=i(()=>fe(vr));r.set(c,f),Wn(o)}}else x(u,vr),Wn(o);return!0},get(l,c,u){var p;if(c===Yn)return t;var f=r.get(c),g=c in l;if(f===void 0&&(!g||(p=Qo(l,c))!=null&&p.writable)&&(f=i(()=>{var m=kr(g?l[c]:vr),b=fe(m);return b}),r.set(c,f)),f!==void 0){var v=a(f);return v===vr?void 0:v}return Reflect.get(l,c,u)},getOwnPropertyDescriptor(l,c){var u=Reflect.getOwnPropertyDescriptor(l,c);if(u&&"value"in u){var f=r.get(c);f&&(u.value=a(f))}else if(u===void 0){var g=r.get(c),v=g==null?void 0:g.v;if(g!==void 0&&v!==vr)return{enumerable:!0,configurable:!0,value:v,writable:!0}}return u},has(l,c){var v;if(c===Yn)return!0;var u=r.get(c),f=u!==void 0&&u.v!==vr||Reflect.has(l,c);if(u!==void 0||ct!==null&&(!f||(v=Qo(l,c))!=null&&v.writable)){u===void 0&&(u=i(()=>{var p=f?kr(l[c]):vr,m=fe(p);return m}),r.set(c,u));var g=a(u);if(g===vr)return!1}return f},set(l,c,u,f){var B;var g=r.get(c),v=c in l;if(n&&c==="length")for(var p=u;pfe(vr)),r.set(p+"",m))}if(g===void 0)(!v||(B=Qo(l,c))!=null&&B.writable)&&(g=i(()=>fe(void 0)),x(g,kr(u)),r.set(c,g));else{v=g.v!==vr;var b=i(()=>kr(u));x(g,b)}var w=Reflect.getOwnPropertyDescriptor(l,c);if(w!=null&&w.set&&w.set.call(f,u),!v){if(n&&typeof c=="string"){var $=r.get("length"),I=Number(c);Number.isInteger(I)&&I>=$.v&&x($,I+1)}Wn(o)}return!0},ownKeys(l){a(o);var c=Reflect.ownKeys(l).filter(g=>{var v=r.get(g);return v===void 0||v.v!==vr});for(var[u,f]of r)f.v!==vr&&!(u in l)&&c.push(u);return c},setPrototypeOf(){Eb()}})}function Ih(t){try{if(t!==null&&typeof t=="object"&&Yn in t)return t[Yn]}catch{}return t}function wy(t,e){return Object.is(Ih(t),Ih(e))}var Nh,Ag,Eg,Tg;function _y(){if(Nh===void 0){Nh=window,Ag=/Firefox/.test(navigator.userAgent);var t=Element.prototype,e=Node.prototype,r=Text.prototype;Eg=Qo(e,"firstChild").get,Tg=Qo(e,"nextSibling").get,Ah(t)&&(t[wd]=void 0,t[pc]=null,t[_d]=void 0,t.__e=void 0),Ah(r)&&(r[ua]=void 0)}}function Xn(t=""){return document.createTextNode(t)}function Bi(t){return Eg.call(t)}function Gl(t){return Tg.call(t)}function S(t,e){return Bi(t)}function _(t,e=!1){{var r=Bi(t);return r instanceof Comment&&r.data===""?Gl(r):r}}function y(t,e=1,r=!1){let n=t;for(;e--;)n=Gl(n);return n}function ky(t){t.textContent=""}function Mg(){return!1}function Og(t,e,r){return e==null||e===lg?r?document.createElement(t,{is:r}):document.createElement(t):r?document.createElementNS(e,t,{is:r}):document.createElementNS(e,t)}function zg(t){ct===null&&(bt===null&&Sb(),$b()),Mo&&kb()}function $y(t,e){var r=e.last;r===null?e.last=e.first=t:(r.next=t,t.prev=r,e.last=t)}function _n(t,e){var r=ct;r!==null&&(r.f&Vr)!==0&&(t|=Vr);var n={ctx:Nt,deps:null,nodes:null,f:t|gr|bn,first:null,fn:e,last:null,next:null,parent:r,b:r&&r.b,prev:null,teardown:null,wv:0,ac:null};We==null||We.register_created_effect(n);var o=n;if((t&Ri)!==0)ci!==null?ci.push(n):rs.ensure().schedule(n);else if(e!==null){try{Vi(n)}catch(i){throw Sr(n),i}o.deps===null&&o.teardown===null&&o.nodes===null&&o.first===o.last&&(o.f&Xs)===0&&(o=o.first,(t&mn)!==0&&(t&to)!==0&&o!==null&&(o.f|=to))}if(o!==null&&(o.parent=r,r!==null&&$y(o,r),bt!==null&&(bt.f&$r)!==0&&(t&eo)===0)){var s=bt;(s.effects??(s.effects=[])).push(o)}return n}function Nf(){return bt!==null&&!Mn}function Fu(t){const e=_n(jl,null);return ir(e,wr),e.teardown=t,e}function ur(t){zg();var e=ct.f,r=!bt&&(e&yn)!==0&&Nt!==null&&!Nt.i;if(r){var n=Nt;(n.e??(n.e=[])).push(t)}else return Ig(t)}function Ig(t){return _n(Ri|og,t)}function Ng(t){return zg(),_n(jl|og,t)}function Rg(t){rs.ensure();const e=_n(eo|Xs,t);return()=>{Sr(e)}}function Sy(t){rs.ensure();const e=_n(eo|Xs,t);return(r={})=>new Promise(n=>{r.outro?Vs(e,()=>{Sr(e),n(void 0)}):(Sr(e),n(void 0))})}function Lu(t){return _n(Ri,t)}function Py(t){return _n(di|Xs,t)}function Du(t,e=0){return _n(jl|e,t)}function Q(t,e=[],r=[],n=[]){mg(n,e,r,o=>{_n(jl,()=>{t(...o.map(a))})})}function Zs(t,e=0){var r=_n(mn|e,t);return r}function Fg(t,e=0){var r=_n(Cf|e,t);return r}function Qr(t){return _n(yn|Xs,t)}function Lg(t){var e=t.teardown;if(e!==null){const r=Mo,n=bt;Rh(!0),xn(null);try{e.call(null)}finally{Rh(r),xn(n)}}}function Rf(t,e=!1){var r=t.first;for(t.first=t.last=null;r!==null;){const o=r.ac;o!==null&&as(()=>{o.abort(Wl)});var n=r.next;(r.f&eo)!==0?r.parent=null:Sr(r,e),r=n}}function Cy(t){for(var e=t.first;e!==null;){var r=e.next;(e.f&yn)===0&&Sr(e),e=r}}function Sr(t,e=!0){var r=!1;(e||(t.f&yb)!==0)&&t.nodes!==null&&t.nodes.end!==null&&(Ay(t.nodes.start,t.nodes.end),r=!0),t.f|=xd,Rf(t,e&&!r),Ca(t,0);var n=t.nodes&&t.nodes.t;if(n!==null)for(const s of n)s.stop();Lg(t),t.f^=xd,t.f|=ln;var o=t.parent;o!==null&&o.first!==null&&Dg(t),t.next=t.prev=t.teardown=t.ctx=t.deps=t.fn=t.nodes=t.ac=t.b=null}function Ay(t,e){for(;t!==null;){var r=t===e?null:Gl(t);t.remove(),t=r}}function Dg(t){var e=t.parent,r=t.prev,n=t.next;r!==null&&(r.next=n),n!==null&&(n.prev=r),e!==null&&(e.first===t&&(e.first=n),e.last===t&&(e.last=r))}function Vs(t,e,r=!0){var n=[];Bg(t,n,!0);var o=()=>{r&&Sr(t),e&&e()},s=n.length;if(s>0){var i=()=>--s||o();for(var l of n)l.out(i)}else o()}function Bg(t,e,r){if((t.f&Vr)===0){t.f^=Vr;var n=t.nodes&&t.nodes.t;if(n!==null)for(const l of n)(l.is_global||r)&&e.push(l);for(var o=t.first;o!==null;){var s=o.next;if((o.f&eo)===0){var i=(o.f&to)!==0||(o.f&yn)!==0&&(t.f&mn)!==0;Bg(o,e,i?r:!1)}o=s}}}function Vc(t){Vg(t,!0)}function Vg(t,e){if((t.f&Vr)!==0){t.f^=Vr,(t.f&wr)===0&&(ir(t,gr),rs.ensure().schedule(t));for(var r=t.first;r!==null;){var n=r.next,o=(r.f&to)!==0||(r.f&yn)!==0;Vg(r,o?e:!1),r=n}var s=t.nodes&&t.nodes.t;if(s!==null)for(const i of s)(i.is_global||e)&&i.in()}}function Ff(t,e){if(t.nodes)for(var r=t.nodes.start,n=t.nodes.end;r!==null;){var o=r===n?null:Gl(r);e.append(r),r=o}}let wc=!1,Mo=!1;function Rh(t){Mo=t}let bt=null,Mn=!1;function xn(t){bt=t}let ct=null;function wn(t){ct=t}let Zn=null;function jg(t){bt!==null&&(Zn??(Zn=new Set)).add(t)}let Jr=null,rn=0,dn=null;function Ey(t){dn=t}let Wg=1,ks=0,Co=ks;function Fh(t){Co=t}function Gg(){return++Wg}function Hl(t){var e=t.f;if((e&gr)!==0)return!0;if(e&$r&&(t.f&=~Gs),(e&zn)!==0){for(var r=t.deps,n=r.length,o=0;ot.wv)return!0}(e&bn)!==0&&Mr===null&&ir(t,wr)}return!1}function Hg(t,e,r=!0){var n=t.reactions;if(n!==null&&!(Zn!==null&&Zn.has(t)))for(var o=0;o{t.ac.abort(Wl)}),t.ac=null);try{t.f|=Lc;var f=t.fn,g=f();t.f|=Ys;var v=t.deps,p=We==null?void 0:We.is_fork;if(Jr!==null){var m;if(p||Ca(t,rn),v!==null&&rn>0)for(v.length=rn+Jr.length,m=0;m{s.ac.abort(Wl),s.ac=null,ir(s,gr)}),vy(s),Ca(s,0)}}function Ca(t,e){var r=t.deps;if(r!==null)for(var n=e;nr==null?void 0:r.call(this,s))}return t.startsWith("pointer")||t.startsWith("touch")||t==="wheel"?Tn(()=>{e.addEventListener(t,o,n)}):e.addEventListener(t,o,n),o}function Or(t,e,r,n={}){var o=Df(e,t,r,n);return()=>{t.removeEventListener(e,o,n)}}function Xg(t,e,r,n,o){var s={capture:n,passive:o},i=Df(t,e,r,s);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&Fu(()=>{e.removeEventListener(t,i,s)})}function Lr(t,e,r){(e[$s]??(e[$s]={}))[t]=r}function Ui(t){for(var e=0;e{throw $});throw v}}finally{t[$s]=e,delete t.currentTarget,xn(f),wn(g)}}}var Jv;const Zu=((Jv=globalThis==null?void 0:globalThis.window)==null?void 0:Jv.trustedTypes)&&globalThis.window.trustedTypes.createPolicy("svelte-trusted-html",{createHTML:t=>t});function Dy(t){return(Zu==null?void 0:Zu.createHTML(t))??t}function Zg(t){var e=Og("template");return e.innerHTML=Dy(t.replaceAll("","")),e.content}function ji(t,e){var r=ct;r.nodes===null&&(r.nodes={start:t,end:e,a:null,t:null})}function D(t,e){var r=(e&Vb)!==0,n=(e&jb)!==0,o,s=!t.startsWith("");return()=>{o===void 0&&(o=Zg(s?t:""+t),r||(o=Bi(o)));var i=n||Ag?document.importNode(o,!0):o.cloneNode(!0);if(r){var l=Bi(i),c=i.lastChild;ji(l,c)}else ji(i,i);return i}}function By(t,e,r="svg"){var n=!t.startsWith(""),o=`<${r}>${n?t:""+t}`,s;return()=>{if(!s){var i=Zg(o),l=Bi(i);s=Bi(l)}var c=s.cloneNode(!0);return ji(c,c),c}}function qi(t,e){return By(t,e,"svg")}function ve(t=""){{var e=Xn(t+"");return ji(e,e),e}}function Z(){var t=document.createDocumentFragment(),e=document.createComment(""),r=Xn();return t.append(e,r),ji(e,r),t}function h(t,e){t!==null&&t.before(e)}function Yi(){var t;return(t=window.__svelte??(window.__svelte={})).uid??(t.uid=1),`c${window.__svelte.uid++}`}let jc=!0;function ec(t){jc=t}function te(t,e){var r=e==null?"":typeof e=="object"?`${e}`:e;r!==(t[ua]??(t[ua]=t.nodeValue))&&(t[ua]=r,t.nodeValue=`${r}`)}function Jg(t,e){return Vy(t,e)}const tc=new Map;function Vy(t,{target:e,anchor:r,props:n={},events:o,context:s,intro:i=!0,transformError:l}){_y();var c=void 0,u=Sy(()=>{var f=r??e.appendChild(Xn());iy(f,{pending:()=>{}},p=>{Ve({});var m=Nt;s&&(m.c=s),o&&(n.$$events=o),jc=i,c=t(p,n)||{},jc=!0,je()},l);var g=new Set,v=p=>{for(var m=0;m{var w;for(var p of g)for(const $ of[e,document]){var m=tc.get($),b=m.get(p);--b==0?($.removeEventListener(p,Od),m.delete(p),m.size===0&&tc.delete($)):m.set(p,b)}Md.delete(v),f!==r&&((w=f.parentNode)==null||w.removeChild(f))}});return zd.set(c,u),c}let zd=new WeakMap;function jy(t,e){const r=zd.get(t);return r?(zd.delete(t),r(e)):Promise.resolve()}var En,Ln,on,Ts,Na,Ra,lu;class Kl{constructor(e,r=!0){ge(this,"anchor");C(this,En,new Map);C(this,Ln,new Map);C(this,on,new Map);C(this,Ts,new Set);C(this,Na,!0);C(this,Ra,e=>{if(d(this,En).has(e)){var r=d(this,En).get(e),n=d(this,Ln).get(r);if(n)Vc(n),d(this,Ts).delete(r);else{var o=d(this,on).get(r);o&&(Vc(o.effect),d(this,Ln).set(r,o.effect),d(this,on).delete(r),o.fragment.lastChild.remove(),this.anchor.before(o.fragment),n=o.effect)}for(const[s,i]of d(this,En)){if(d(this,En).delete(s),s===e)break;const l=d(this,on).get(i);l&&(Sr(l.effect),d(this,on).delete(i))}for(const[s,i]of d(this,Ln)){if(s===r||d(this,Ts).has(s))continue;const l=()=>{if(Array.from(d(this,En).values()).includes(s)){var u=document.createDocumentFragment();Ff(i,u),u.append(Xn()),d(this,on).set(s,{effect:i,fragment:u})}else Sr(i);d(this,Ts).delete(s),d(this,Ln).delete(s)};d(this,Na)||!n?(d(this,Ts).add(s),Vs(i,l,!1)):l()}}});C(this,lu,e=>{d(this,En).delete(e);const r=Array.from(d(this,En).values());for(const[n,o]of d(this,on))r.includes(n)||(Sr(o.effect),d(this,on).delete(n))});this.anchor=e,V(this,Na,r)}ensure(e,r){var n=We,o=Mg();if(r&&!d(this,Ln).has(e)&&!d(this,on).has(e))if(o){var s=document.createDocumentFragment(),i=Xn();s.append(i),d(this,on).set(e,{effect:Qr(()=>r(i)),fragment:s})}else d(this,Ln).set(e,Qr(()=>r(this.anchor)));if(d(this,En).set(n,e),o){for(const[l,c]of d(this,Ln))l===e?n.unskip_effect(c):n.skip_effect(c);for(const[l,c]of d(this,on))l===e?n.unskip_effect(c.effect):n.skip_effect(c.effect);n.oncommit(d(this,Ra)),n.ondiscard(d(this,lu))}else d(this,Ra).call(this,n)}}En=new WeakMap,Ln=new WeakMap,on=new WeakMap,Ts=new WeakMap,Na=new WeakMap,Ra=new WeakMap,lu=new WeakMap;function me(t,e,r=!1){var n=new Kl(t),o=r?to:0;function s(i,l){n.ensure(i,l)}Zs(()=>{var i=!1;e((l,c=0)=>{i=!0,s(c,l)}),i||s(-1,null)},o)}const Wy=Symbol("NaN");function Qg(t,e,r){var n=new Kl(t),o=!Ki();Zs(()=>{var s=e();s!==s&&(s=Wy),o&&s!==null&&typeof s=="object"&&(s={}),n.ensure(s,r)})}function xr(t,e){return e}function Gy(t,e,r){for(var n=[],o=e.length,s,i=e.length,l=0;l{if(s){if(s.pending.delete(g),s.done.add(g),s.pending.size===0){var v=t.outrogroups;Id(t,Iu(s.done)),v.delete(s),v.size===0&&(t.outrogroups=null)}}else i-=1},!1)}if(i===0){var c=n.length===0&&r!==null;if(c){var u=r,f=u.parentNode;ky(f),f.append(u),t.items.clear()}Id(t,e,!c)}else s={pending:new Set(e),done:new Set},(t.outrogroups??(t.outrogroups=new Set)).add(s)}function Id(t,e,r=!0){var n;if(t.pending.size>0){n=new Set;for(const i of t.pending.values())for(const l of i)n.add(t.items.get(l).e)}for(var o=0;o{var B=r();return Sf(B)?B:B==null?[]:Iu(B)}),v,p=new Map,m=!0;function b(B){(I.effect.f&ln)===0&&(I.pending.delete(B),I.fallback=f,Hy(I,v,i,e,n),f!==null&&(v.length===0?(f.f&Hn)===0?Vc(f):(f.f^=Hn,va(f,null,i)):Vs(f,()=>{f=null})))}function w(B){I.pending.delete(B)}var $=Zs(()=>{v=a(g);for(var B=v.length,N=new Set,M=We,R=Mg(),F=0;Fs(i)):(f=Qr(()=>s(Dh??(Dh=Xn()))),f.f|=Hn)),B>N.size&&_b(),!m)if(p.set(M,N),R){for(const[ie,xe]of l)N.has(ie)||M.skip_effect(xe.e);M.oncommit(b),M.ondiscard(w)}else b(M);a(g)}),I={effect:$,items:l,pending:p,outrogroups:null,fallback:f};m=!1}function Qi(t){for(;t!==null&&(t.f&yn)===0;)t=t.next;return t}function Hy(t,e,r,n,o){var T,ie,xe,J,pe,be,ye,Oe,Te;var s=(n&Ib)!==0,i=e.length,l=t.items,c=Qi(t.effect.first),u,f=null,g,v=[],p=[],m,b,w,$;if(s)for($=0;$0){var j=(n&ig)!==0&&i===0?r:null;if(s){for($=0;${var Ne,K;if(g!==void 0)for(w of g)(K=(Ne=w.nodes)==null?void 0:Ne.a)==null||K.apply()})}function Ky(t,e,r,n,o,s,i,l){var c=(i&Ob)!==0?(i&Nb)===0?yy(r,!1,!1):To(r):null,u=(i&zb)!==0?To(o):null;return{v:c,i:u,e:Qr(()=>(s(e,c??r,u??o,l),()=>{t.delete(n)}))}}function va(t,e,r){if(t.nodes)for(var n=t.nodes.start,o=t.nodes.end,s=e&&(e.f&Hn)===0?e.nodes.start:r;n!==null;){var i=Gl(n);if(s.before(n),n===o)return;n=i}}function No(t,e,r){e===null?t.effect.first=r:e.next=r,r===null?t.effect.last=e:r.prev=e}function $t(t,e,r,n,o){var l;var s=(l=e.$$slots)==null?void 0:l[r],i=!1;s===!0&&(s=e.children,i=!0),s===void 0||s(t,i?()=>n:n)}function st(t,e,...r){var n=new Kl(t);Zs(()=>{const o=e()??null;n.ensure(o,o&&(s=>o(s,...r)))},to)}function A(t,e,r){var n=new Kl(t);Zs(()=>{var o=e()??null;n.ensure(o,o&&(s=>r(s,o)))},to)}const Uy=()=>performance.now(),Po={tick:t=>requestAnimationFrame(t),now:()=>Uy(),tasks:new Set};function ep(){const t=Po.now();Po.tasks.forEach(e=>{e.c(t)||(Po.tasks.delete(e),e.f())}),Po.tasks.size!==0&&Po.tick(ep)}function qy(t){let e;return Po.tasks.size===0&&Po.tick(ep),{promise:new Promise(r=>{Po.tasks.add(e={c:t,f:r})}),abort(){Po.tasks.delete(e)}}}function Bh(t,e){as(()=>{t.dispatchEvent(new CustomEvent(e))})}function Yy(t){if(t==="float")return"cssFloat";if(t==="offset")return"cssOffset";if(t.startsWith("--"))return t;const e=t.split("-");return e.length===1?e[0]:e[0]+e.slice(1).map(r=>r[0].toUpperCase()+r.slice(1)).join("")}function Vh(t){const e={},r=t.split(";");for(const n of r){const[o,s]=n.split(":");if(!o||s===void 0)break;const i=Yy(o.trim());e[i]=s.trim()}return e}const Xy=t=>t;function ga(t,e,r,n){var w;var o=(t&Bb)!==0,s="in",i,l=e.inert,c=e.style.overflow,u,f;function g(){return as(()=>i??(i=r()(e,(n==null?void 0:n())??{},{direction:s})))}var v={is_global:o,in(){e.inert=l,u==null||u.abort(),u=tp(e,g(),f,1,()=>{Bh(e,"introstart")},()=>{Bh(e,"introend"),u==null||u.abort(),u=i=void 0,e.style.overflow=c})},out($){{$==null||$(),i=void 0;return}},stop:()=>{u==null||u.abort()}},p=ct;if(((w=p.nodes).t??(w.t=[])).push(v),jc){var m=o;if(!m){for(var b=p.parent;b&&(b.f&to)!==0;)for(;(b=b.parent)&&(b.f&mn)===0;);m=!b||(b.f&Ys)!==0}m&&Lu(()=>{tn(()=>v.in())})}}function tp(t,e,r,n,o,s){if(ii(e)){var i,l=!1;return Tn(()=>{if(!l){var w=e({direction:"in"});i=tp(t,w,r,n,o,s)}}),{abort:()=>{l=!0,i==null||i.abort()},deactivate:()=>i.deactivate(),reset:()=>i.reset(),t:()=>i.t()}}if(!(e!=null&&e.duration)&&!(e!=null&&e.delay))return o(),s(),{abort:rt,deactivate:rt,reset:rt,t:()=>n};const{delay:c=0,css:u,tick:f,easing:g=Xy}=e;var v=[];if(f&&f(0,1),u){var p=Vh(u(0,1));v.push(p,p)}var m=()=>1-n,b=t.animate(v,{duration:c,fill:"forwards"});return b.onfinish=()=>{b.cancel(),o();var w=1-n,$=n-w,I=e.duration*Math.abs($),B=[];if(I>0){var N=!1;if(u)for(var M=Math.ceil(I/16.666666666666668),R=0;R<=M;R+=1){var F=w+$*g(R/M),k=Vh(u(F,1-F));B.push(k),N||(N=k.overflow==="hidden")}N&&(t.style.overflow="hidden"),m=()=>{var j=b.currentTime;return w+$*g(j/I)},f&&qy(()=>{if(b.playState!=="running")return!1;var j=m();return f(j,1-j),!0})}b=t.animate(B,{duration:I,fill:"forwards"}),b.onfinish=()=>{m=()=>n,f==null||f(n,1-n),s()}},{abort:()=>{b&&(b.cancel(),b.effect=null,b.onfinish=rt)},deactivate:()=>{s=rt},reset:()=>{},t:()=>m()}}function rp(t,e,r,n,o,s){var i=null,l=t,c=new Kl(l,!1);Zs(()=>{const u=e()||null;var f=r||u==="svg"?Wb:void 0;if(u===null){c.ensure(null,null),ec(!0);return}return c.ensure(u,g=>{if(u){if(i=Og(u,f),ji(i,i),n){var v=null,p=i.appendChild(Xn());n(i,p),v==null||v.remove()}ct.nodes.end=i,g.before(i)}}),ec(!0),()=>{u&&ec(!1)}},to),Fu(()=>{ec(!0)})}function Zy(t,e){var r=void 0,n;Fg(()=>{r!==(r=e())&&(n&&(Sr(n),n=null),r&&(n=Qr(()=>{Lu(()=>r(t))})))})}function np(t){var e,r,n="";if(typeof t=="string"||typeof t=="number")n+=t;else if(typeof t=="object")if(Array.isArray(t)){var o=t.length;for(e=0;e=0;){var l=i+s;(i===0||jh.includes(n[i-1]))&&(l===n.length||jh.includes(n[l]))?n=(i===0?"":n.substring(0,i))+n.substring(l+1):i=l}}return n===""?null:n}function Wh(t,e=!1){var r=e?" !important;":";",n="";for(var o of Object.keys(t)){var s=t[o];s!=null&&s!==""&&(n+=" "+o+": "+s+r)}return n}function Ju(t){return t[0]!=="-"||t[1]!=="-"?t.toLowerCase():t}function Qy(t,e){if(e){var r="",n,o;if(Array.isArray(e)?(n=e[0],o=e[1]):n=e,t){t=String(t).replaceAll(/\s*\/\*.*?\*\/\s*/g,"").trim();var s=!1,i=0,l=!1,c=[];n&&c.push(...Object.keys(n).map(Ju)),o&&c.push(...Object.keys(o).map(Ju));var u=0,f=-1;const b=t.length;for(var g=0;g{"__value"in t&&Wc(t,t.__value)});e.observe(t,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),Fu(()=>{e.disconnect()})}function Gh(t){return"__value"in t?t.__value:t.value}const ea=Symbol("class"),ta=Symbol("style"),sp=Symbol("is custom element"),ip=Symbol("is html"),ex=Af?"input":"INPUT",tx=Af?"option":"OPTION",rx=Af?"select":"SELECT";function nx(t,e){e?t.hasAttribute("selected")||t.setAttribute("selected",""):t.removeAttribute("selected")}function kt(t,e,r,n){var o=ap(t);o[e]!==(o[e]=r)&&(e==="loading"&&(t[xb]=r),r==null?t.removeAttribute(e):typeof r!="string"&&lp(t).includes(e)?t[e]=r:t.setAttribute(e,r))}function ox(t,e,r,n,o=!1,s=!1){var i=ap(t),l=i[sp],c=!i[ip],u=e||{},f=t.nodeName===tx;for(var g in e)g in r||(r[g]=null);r.class?r.class=bs(r.class):r[ea]&&(r.class=null),r[ta]&&(r.style??(r.style=null));var v=lp(t);if(t.nodeName===ex&&"type"in r&&("value"in r||"__value"in r)){var p=r.type;(p!==u.type||p===void 0&&t.hasAttribute("type"))&&(u.type=p,kt(t,"type",p))}for(const M in r){let R=r[M];if(f&&M==="value"&&R==null){t.value=t.__value="",u[M]=R;continue}if(M==="class"){var m=t.namespaceURI==="http://www.w3.org/1999/xhtml";sr(t,m,R,n,e==null?void 0:e[ea],r[ea]),u[M]=R,u[ea]=r[ea];continue}if(M==="style"){Do(t,R,e==null?void 0:e[ta],r[ta]),u[M]=R,u[ta]=r[ta];continue}var b=u[M];if(!(R===b&&!(R===void 0&&t.hasAttribute(M)))){u[M]=R;var w=M[0]+M[1];if(w!=="$$")if(w==="on"){const F={},k="$$"+M;let j=M.slice(2);var $=Iy(j);if(Oy(j)&&(j=j.slice(0,-7),F.capture=!0),!$&&b){if(R!=null)continue;t.removeEventListener(j,u[k],F),u[k]=null}if($)Lr(j,t,R),Ui([j]);else if(R!=null){let T=function(ie){u[M].call(this,ie)};var N=T;u[k]=Df(j,t,T,F)}}else if(M==="style")kt(t,M,R);else if(M==="autofocus")ny(t,!!R);else if(!l&&(M==="__value"||M==="value"&&R!=null))t.value=t.__value=R;else if(M==="selected"&&f)nx(t,R);else{var I=M;c||(I=Ry(I));var B=I==="defaultValue"||I==="defaultChecked";if(R==null&&!l&&!B)if(i[M]=null,I==="value"||I==="checked"){let F=t;const k=e===void 0;if(I==="value"){let j=F.defaultValue;F.removeAttribute(I),F.defaultValue=j,F.value=F.__value=k?j:null}else{let j=F.defaultChecked;F.removeAttribute(I),F.defaultChecked=j,F.checked=k?j:!1}}else t.removeAttribute(M);else B||v.includes(I)&&(l||typeof R!="string")?(t[I]=R,I in i&&(i[I]=vr)):typeof R!="function"&&kt(t,I,R)}}}return u}function Rt(t,e,r=[],n=[],o=[],s,i=!1,l=!1){mg(o,r,n,c=>{var u=void 0,f={},g=t.nodeName===rx,v=!1;if(Fg(()=>{var m=e(...c.map(a)),b=ox(t,u,m,s,i,l);v&&g&&"value"in m&&Wc(t,m.value);for(let $ of Object.getOwnPropertySymbols(f))m[$]||Sr(f[$]);for(let $ of Object.getOwnPropertySymbols(m)){var w=m[$];$.description===cg&&(!u||w!==u[$])&&(f[$]&&Sr(f[$]),f[$]=Qr(()=>Zy(t,()=>w))),b[$]=w}u=b}),g){var p=t;Lu(()=>{Wc(p,u.value,!0),op(p)})}v=!0})}function ap(t){return t[pc]??(t[pc]={[sp]:t.nodeName.includes("-"),[ip]:t.namespaceURI===lg})}var Hh=new Map;function lp(t){var e=t.getAttribute("is")||t.nodeName,r=Hh.get(e);if(r)return r;Hh.set(e,r=[]);for(var n,o=t,s=Element.prototype;s!==o;){n=tg(o);for(var i in n)n[i].set&&i!=="innerHTML"&&i!=="textContent"&&i!=="innerText"&&r.push(i);o=Pf(o)}return r}function Nd(t,e,r=e){var n=new WeakSet;pg(t,"input",async o=>{var s=o?t.defaultValue:t.value;if(s=ed(t)?td(s):s,r(s),We!==null&&n.add(We),await Lf(),s!==(s=e())){var i=t.selectionStart,l=t.selectionEnd,c=t.value.length;if(t.value=s??"",l!==null){var u=t.value.length;i===l&&l===c&&u>c?(t.selectionStart=u,t.selectionEnd=u):(t.selectionStart=i,t.selectionEnd=Math.min(l,u))}}}),tn(e)==null&&t.value&&(r(ed(t)?td(t.value):t.value),We!==null&&n.add(We)),Du(()=>{var o=e();if(t===document.activeElement){var s=We;if(n.has(s))return}ed(t)&&o===td(t.value)||t.type==="date"&&!o&&!t.value||o!==t.value&&(t.value=o??"")})}function ed(t){var e=t.type;return e==="number"||e==="range"}function td(t){return t===""?null:+t}function sx(t,e,r=e){pg(t,"change",()=>{r(t.files)}),Du(()=>{t.files=e()})}function rd(t,e){return t===e||(t==null?void 0:t[Yn])===e}function ar(t={},e,r,n){var o=Nt.r,s=ct;return Lu(()=>{var i,l;return Du(()=>{i=l,l=(n==null?void 0:n())||[],tn(()=>{rd(r(...l),t)||(e(t,...l),i&&rd(r(...i),t)&&e(null,...i))})}),()=>{let c=s;for(;c!==o&&c.parent!==null&&c.parent.f&xd;)c=c.parent;const u=()=>{l&&rd(r(...l),t)&&e(null,...l)},f=c.teardown;c.teardown=()=>{u(),f==null||f()}}}),t}function ix(t=!1){const e=Nt,r=e.l.u;if(!r)return;let n=()=>ms(e.s);if(t){let o=0,s={};const i=Li(()=>{let l=!1;const c=e.s;for(const u in c)c[u]!==s[u]&&(s[u]=c[u],l=!0);return l&&o++,o});n=()=>a(i)}r.b.length&&Ng(()=>{Kh(e,n),bd(r.b)}),ur(()=>{const o=tn(()=>r.m.map(bb));return()=>{for(const s of o)typeof s=="function"&&s()}}),r.a.length&&ur(()=>{Kh(e,n),bd(r.a)})}function Kh(t,e){if(t.l.s)for(const r of t.l.s)a(r);e()}const ax={get(t,e){if(!t.exclude.has(e))return t.props[e]},set(t,e){return!1},getOwnPropertyDescriptor(t,e){if(!t.exclude.has(e)&&e in t.props)return{enumerable:!0,configurable:!0,value:t.props[e]}},has(t,e){return t.exclude.has(e)?!1:e in t.props},ownKeys(t){return Reflect.ownKeys(t.props).filter(e=>!t.exclude.has(e))}};function Et(t,e,r){return new Proxy({props:t,exclude:e},ax)}const lx={get(t,e){if(!t.exclude.includes(e))return a(t.version),e in t.special?t.special[e]():t.props[e]},set(t,e,r){if(!(e in t.special)){var n=ct;try{wn(t.parent_effect),t.special[e]=L({get[e](){return t.props[e]}},e,ag)}finally{wn(n)}}return t.special[e](r),zh(t.version),!0},getOwnPropertyDescriptor(t,e){if(!t.exclude.includes(e)&&e in t.props)return{enumerable:!0,configurable:!0,value:t.props[e]}},deleteProperty(t,e){return t.exclude.includes(e)||(t.exclude.push(e),zh(t.version)),!0},has(t,e){return t.exclude.includes(e)?!1:e in t.props},ownKeys(t){return Reflect.ownKeys(t.props).filter(e=>!t.exclude.includes(e))}};function xt(t,e){return new Proxy({props:t,exclude:e,special:{},version:To(0),parent_effect:ct},lx)}const cx={get(t,e){let r=t.props.length;for(;r--;){let n=t.props[r];if(ii(n)&&(n=n()),typeof n=="object"&&n!==null&&e in n)return n[e]}},set(t,e,r){let n=t.props.length;for(;n--;){let o=t.props[n];ii(o)&&(o=o());const s=Qo(o,e);if(s&&s.set)return s.set(r),!0}return!1},getOwnPropertyDescriptor(t,e){let r=t.props.length;for(;r--;){let n=t.props[r];if(ii(n)&&(n=n()),typeof n=="object"&&n!==null&&e in n){const o=Qo(n,e);return o&&!o.configurable&&(o.configurable=!0),o}}},has(t,e){if(e===Yn||e===sg)return!1;for(let r of t.props)if(ii(r)&&(r=r()),r!=null&&e in r)return!0;return!1},ownKeys(t){const e=[];for(let r of t.props)if(ii(r)&&(r=r()),!!r){for(const n in r)e.includes(n)||e.push(n);for(const n of Object.getOwnPropertySymbols(r))e.includes(n)||e.push(n)}return e}};function Ze(...t){return new Proxy({props:t},cx)}function L(t,e,r,n){var N;var o=!Hi||(r&Fb)!==0,s=(r&Lb)!==0,i=(r&Db)!==0,l=n,c=!0,u=void 0,f=()=>i&&o?(u??(u=Li(n)),a(u)):(c&&(c=!1,l=i?tn(n):n),l);let g;if(s){var v=Yn in t||sg in t;g=((N=Qo(t,e))==null?void 0:N.set)??(v&&e in t?M=>t[e]=M:void 0)}var p,m=!1;s?[p,m]=ry(()=>t[e]):p=t[e],p===void 0&&n!==void 0&&(p=f(),g&&(o&&Cb(),g(p)));var b;if(o?b=()=>{var M=t[e];return M===void 0?f():(c=!0,M)}:b=()=>{var M=t[e];return M!==void 0&&(l=void 0),M===void 0?l:M},o&&(r&ag)===0)return b;if(g){var w=t.$$legacy;return(function(M,R){return arguments.length>0?((!o||!R||w||m)&&g(R?b():M),M):b()})}var $=!1,I=((r&Rb)!==0?Li:Mf)(()=>($=!1,b()));s&&a(I);var B=ct;return(function(M,R){if(arguments.length>0){const F=R?a(I):o&&s?kr(M):M;return x(I,F),$=!0,l!==void 0&&(l=F),M}return Mo&&$||(B.f&ln)!==0?I.v:a(I)})}function Xi(t){Nt===null&&Ef(),Hi&&Nt.l!==null?ux(Nt).m.push(t):ur(()=>{const e=tn(t);if(typeof e=="function")return e})}function cp(t){Nt===null&&Ef(),Xi(()=>()=>tn(t))}function ux(t){var e=t.l;return e.u??(e.u={a:[],b:[],m:[]})}const dx="5";var Qv;typeof window<"u"&&((Qv=window.__svelte??(window.__svelte={})).v??(Qv.v=new Set)).add(dx);const fx=t=>t;function pa(t,{delay:e=0,duration:r=400,easing:n=fx}={}){const o=+getComputedStyle(t).opacity;return{delay:e,duration:r,easing:n,css:s=>`opacity: ${s*o}`}}var Dn,Bn,vo,cu,On,ma,_c;const hh=class hh extends Map{constructor(r){super();C(this,On);C(this,Dn,new Map);C(this,Bn,fe(0));C(this,vo,fe(0));C(this,cu,Co||-1);if(r){for(var[n,o]of r)super.set(n,o);d(this,vo).v=super.size}}has(r){var n=d(this,Dn),o=n.get(r);if(o===void 0)if(super.has(r))o=oe(this,On,ma).call(this,0),n.set(r,o);else return a(d(this,Bn)),!1;return a(o),!0}forEach(r,n){oe(this,On,_c).call(this),super.forEach(r,n)}get(r){var n=d(this,Dn),o=n.get(r);if(o===void 0)if(super.has(r))o=oe(this,On,ma).call(this,0),n.set(r,o);else{a(d(this,Bn));return}return a(o),super.get(r)}set(r,n){var g;var o=d(this,Dn),s=o.get(r),i=super.get(r),l=super.set(r,n),c=d(this,Bn);if(s===void 0)s=oe(this,On,ma).call(this,0),o.set(r,s),x(d(this,vo),super.size),Wn(c);else if(i!==n){Wn(s);var u=c.reactions===null?null:new Set(c.reactions),f=u===null||!((g=s.reactions)!=null&&g.every(v=>u.has(v)));f&&Wn(c)}return l}delete(r){var n=d(this,Dn),o=n.get(r),s=super.delete(r);return o!==void 0&&(n.delete(r),x(o,-1)),s&&(x(d(this,vo),super.size),Wn(d(this,Bn))),s}clear(){if(super.size!==0){super.clear();var r=d(this,Dn);x(d(this,vo),0);for(var n of r.values())x(n,-1);Wn(d(this,Bn)),r.clear()}}keys(){return a(d(this,Bn)),super.keys()}values(){return oe(this,On,_c).call(this),super.values()}entries(){return oe(this,On,_c).call(this),super.entries()}[Symbol.iterator](){return this.entries()}get size(){return a(d(this,vo)),super.size}};Dn=new WeakMap,Bn=new WeakMap,vo=new WeakMap,cu=new WeakMap,On=new WeakSet,ma=function(r){return Co===d(this,cu)?fe(r):To(r)},_c=function(){a(d(this,Bn));var r=d(this,Dn);if(d(this,vo).v!==r.size){for(var n of Ch(hh.prototype,this,"keys").call(this))if(!r.has(n)){var o=oe(this,On,ma).call(this,0);r.set(n,o)}}for([,o]of d(this,Dn))a(o)};let Rd=hh;var Fa,La;class hx{constructor(e,r){C(this,Fa);C(this,La);V(this,Fa,e),V(this,La,Ru(r))}get current(){return d(this,La).call(this),d(this,Fa).call(this)}}Fa=new WeakMap,La=new WeakMap;const vx=/\(.+\)/,gx=new Set(["all","print","screen","and","or","not","only"]);class px extends hx{constructor(e,r){let n=vx.test(e)||e.split(/[\s,]+/).some(s=>gx.has(s.trim()))?e:`(${e})`;const o=window.matchMedia(n);super(()=>o.matches,s=>Or(o,"change",s))}}const ba=new px("(prefers-reduced-motion: reduce)");class Tr extends Error{constructor(e,r){super(r),this.status=e}}async function zr(t,e){const r=await fetch(t,{headers:{"Content-Type":"application/json"},...e});if(!r.ok){let n=`HTTP ${r.status}`;try{const o=await r.json();o&&typeof o.error=="string"&&(n=o.error)}catch{}throw new Tr(r.status,n)}if(r.status!==204)return await r.json()}const Bf=()=>zr("/api/session",{cache:"no-store"}),Zr={login:t=>zr("/api/session",{method:"POST",body:JSON.stringify({password:t})}),logout:()=>zr("/api/session",{method:"DELETE"}),status:()=>zr("/api/status"),rules:(t,e)=>{const r=new URLSearchParams({category:t});return e!=null&&e.q&&r.set("q",e.q),(e==null?void 0:e.offset)!=null&&r.set("offset",String(e.offset)),(e==null?void 0:e.limit)!=null&&r.set("limit",String(e.limit)),e!=null&&e.sort&&e.sort!=="default"&&(r.set("sort",e.sort),e!=null&&e.dir&&r.set("dir",e.dir)),zr(`/api/rules?${r}`)},addRules:(t,e)=>zr("/api/rules",{method:"POST",body:JSON.stringify({category:t,rules:e})}),removeRules:(t,e)=>zr("/api/rules",{method:"DELETE",body:JSON.stringify({category:t,rules:e})}),rulesTest:t=>zr(`/api/rules/test?domain=${encodeURIComponent(t)}`),rulesChanges:()=>zr("/api/rules/changes"),resetRules:t=>zr("/api/rules/reset",{method:"POST",body:JSON.stringify({category:t??""})}),ruleMiss:(t,e)=>zr(`/api/rules/miss?sort=${t}${e?`&limit=${e}`:""}`),config:()=>zr("/api/config"),patchConfig:(t,e)=>zr("/api/config",{method:"PATCH",body:JSON.stringify({revision:t,changes:e})}),restart:()=>zr("/api/restart",{method:"POST"}),traffic:(t,e,r)=>{const n=[];return t&&n.push(`sort=${t}`),e&&e!=="all"&&n.push(`source=${e}`),r&&n.push(`client=${encodeURIComponent(r)}`),zr(n.length?`/api/traffic?${n.join("&")}`:"/api/traffic")},history:()=>zr("/api/history")},mx=(t,e)=>{const r=new Array(t.length+e.length);for(let n=0;n({classGroupId:t,validator:e}),up=(t=new Map,e=null,r)=>({nextPart:t,validators:e,classGroupId:r}),Gc="-",Uh=[],yx="arbitrary..",xx=t=>{const e=_x(t),{conflictingClassGroups:r,conflictingClassGroupModifiers:n}=t;return{getClassGroupId:i=>{if(i.startsWith("[")&&i.endsWith("]"))return wx(i);const l=i.split(Gc),c=l[0]===""&&l.length>1?1:0;return dp(l,c,e)},getConflictingClassGroupIds:(i,l)=>{if(l){const c=n[i],u=r[i];return c?u?mx(u,c):c:u||Uh}return r[i]||Uh}}},dp=(t,e,r)=>{if(t.length-e===0)return r.classGroupId;const o=t[e],s=r.nextPart.get(o);if(s){const u=dp(t,e+1,s);if(u)return u}const i=r.validators;if(i===null)return;const l=e===0?t.join(Gc):t.slice(e).join(Gc),c=i.length;for(let u=0;ut.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const e=t.slice(1,-1),r=e.indexOf(":"),n=e.slice(0,r);return n?yx+n:void 0})(),_x=t=>{const{theme:e,classGroups:r}=t;return kx(r,e)},kx=(t,e)=>{const r=up();for(const n in t){const o=t[n];Vf(o,r,n,e)}return r},Vf=(t,e,r,n)=>{const o=t.length;for(let s=0;s{if(typeof t=="string"){Sx(t,e,r);return}if(typeof t=="function"){Px(t,e,r,n);return}Cx(t,e,r,n)},Sx=(t,e,r)=>{const n=t===""?e:fp(e,t);n.classGroupId=r},Px=(t,e,r,n)=>{if(Ax(t)){Vf(t(n),e,r,n);return}e.validators===null&&(e.validators=[]),e.validators.push(bx(r,t))},Cx=(t,e,r,n)=>{const o=Object.entries(t),s=o.length;for(let i=0;i{let r=t;const n=e.split(Gc),o=n.length;for(let s=0;s"isThemeGetter"in t&&t.isThemeGetter===!0,Ex=t=>{if(t<1)return{get:()=>{},set:()=>{}};let e=0,r=Object.create(null),n=Object.create(null);const o=(s,i)=>{r[s]=i,e++,e>t&&(e=0,n=r,r=Object.create(null))};return{get(s){let i=r[s];if(i!==void 0)return i;if((i=n[s])!==void 0)return o(s,i),i},set(s,i){s in r?r[s]=i:o(s,i)}}},Fd="!",qh=":",Tx=[],Yh=(t,e,r,n,o)=>({modifiers:t,hasImportantModifier:e,baseClassName:r,maybePostfixModifierPosition:n,isExternal:o}),Mx=t=>{const{prefix:e,experimentalParseClassName:r}=t;let n=o=>{const s=[];let i=0,l=0,c=0,u;const f=o.length;for(let b=0;bc?u-c:void 0;return Yh(s,p,v,m)};if(e){const o=e+qh,s=n;n=i=>i.startsWith(o)?s(i.slice(o.length)):Yh(Tx,!1,i,void 0,!0)}if(r){const o=n;n=s=>r({className:s,parseClassName:o})}return n},Ox=t=>{const e=new Map;return t.orderSensitiveModifiers.forEach((r,n)=>{e.set(r,1e6+n)}),r=>{const n=[];let o=[];for(let s=0;s0&&(o.sort(),n.push(...o),o=[]),n.push(i)):o.push(i)}return o.length>0&&(o.sort(),n.push(...o)),n}},zx=t=>({cache:Ex(t.cacheSize),parseClassName:Mx(t),sortModifiers:Ox(t),postfixLookupClassGroupIds:Ix(t),...xx(t)}),Ix=t=>{const e=Object.create(null),r=t.postfixLookupClassGroups;if(r)for(let n=0;n{const{parseClassName:r,getClassGroupId:n,getConflictingClassGroupIds:o,sortModifiers:s,postfixLookupClassGroupIds:i}=e,l=[],c=t.trim().split(Nx);let u="";for(let f=c.length-1;f>=0;f-=1){const g=c[f],{isExternal:v,modifiers:p,hasImportantModifier:m,baseClassName:b,maybePostfixModifierPosition:w}=r(g);if(v){u=g+(u.length>0?" "+u:u);continue}let $=!!w,I;if($){const F=b.substring(0,w);I=n(F);const k=I&&i[I]?n(b):void 0;k&&k!==I&&(I=k,$=!1)}else I=n(b);if(!I){if(!$){u=g+(u.length>0?" "+u:u);continue}if(I=n(b),!I){u=g+(u.length>0?" "+u:u);continue}$=!1}const B=p.length===0?"":p.length===1?p[0]:s(p).join(":"),N=m?B+Fd:B,M=N+I;if(l.indexOf(M)>-1)continue;l.push(M);const R=o(I,$);for(let F=0;F0?" "+u:u)}return u},Fx=(...t)=>{let e=0,r,n,o="";for(;e{if(typeof t=="string")return t;let e,r="";for(let n=0;n{let r,n,o,s;const i=c=>{const u=e.reduce((f,g)=>g(f),t());return r=zx(u),n=r.cache.get,o=r.cache.set,s=l,l(c)},l=c=>{const u=n(c);if(u)return u;const f=Rx(c,r);return o(c,f),f};return s=i,(...c)=>s(Fx(...c))},Dx=[],br=t=>{const e=r=>r[t]||Dx;return e.isThemeGetter=!0,e},vp=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,gp=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Bx=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Vx=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,jx=/\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$/,Wx=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Gx=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Hx=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Ro=t=>Bx.test(t),gt=t=>!!t&&!Number.isNaN(Number(t)),Nn=t=>!!t&&Number.isInteger(Number(t)),nd=t=>t.endsWith("%")&>(t.slice(0,-1)),so=t=>Vx.test(t),pp=()=>!0,Kx=t=>jx.test(t)&&!Wx.test(t),jf=()=>!1,Ux=t=>Gx.test(t),qx=t=>Hx.test(t),Yx=t=>!Pe(t)&&!Ae(t),Xx=t=>t.startsWith("@container")&&(t[10]==="/"&&t[11]!==void 0||t[11]==="s"&&t[16]!==void 0&&t.startsWith("-size/",10)||t[11]==="n"&&t[18]!==void 0&&t.startsWith("-normal/",10)),Zx=t=>ls(t,yp,jf),Pe=t=>vp.test(t),ds=t=>ls(t,xp,Kx),Xh=t=>ls(t,sw,gt),Jx=t=>ls(t,_p,pp),Qx=t=>ls(t,wp,jf),Zh=t=>ls(t,mp,jf),ew=t=>ls(t,bp,qx),rc=t=>ls(t,kp,Ux),Ae=t=>gp.test(t),ra=t=>Js(t,xp),tw=t=>Js(t,wp),Jh=t=>Js(t,mp),rw=t=>Js(t,yp),nw=t=>Js(t,bp),nc=t=>Js(t,kp,!0),ow=t=>Js(t,_p,!0),ls=(t,e,r)=>{const n=vp.exec(t);return n?n[1]?e(n[1]):r(n[2]):!1},Js=(t,e,r=!1)=>{const n=gp.exec(t);return n?n[1]?e(n[1]):r:!1},mp=t=>t==="position"||t==="percentage",bp=t=>t==="image"||t==="url",yp=t=>t==="length"||t==="size"||t==="bg-size",xp=t=>t==="length",sw=t=>t==="number",wp=t=>t==="family-name",_p=t=>t==="number"||t==="weight",kp=t=>t==="shadow",iw=()=>{const t=br("color"),e=br("font"),r=br("text"),n=br("font-weight"),o=br("tracking"),s=br("leading"),i=br("breakpoint"),l=br("container"),c=br("spacing"),u=br("radius"),f=br("shadow"),g=br("inset-shadow"),v=br("text-shadow"),p=br("drop-shadow"),m=br("blur"),b=br("perspective"),w=br("aspect"),$=br("ease"),I=br("animate"),B=()=>["auto","avoid","all","avoid-page","page","left","right","column"],N=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],M=()=>[...N(),Ae,Pe],R=()=>["auto","hidden","clip","visible","scroll"],F=()=>["auto","contain","none"],k=()=>[Ae,Pe,c],j=()=>[Ro,"full","auto",...k()],T=()=>[Nn,"none","subgrid",Ae,Pe],ie=()=>["auto",{span:["full",Nn,Ae,Pe]},Nn,Ae,Pe],xe=()=>[Nn,"auto",Ae,Pe],J=()=>["auto","min","max","fr",Ae,Pe],pe=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],be=()=>["start","end","center","stretch","center-safe","end-safe"],ye=()=>["auto",...k()],Oe=()=>[Ro,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...k()],Te=()=>[Ro,"screen","full","dvw","lvw","svw","min","max","fit",...k()],Ne=()=>[Ro,"screen","full","lh","dvh","lvh","svh","min","max","fit",...k()],K=()=>[t,Ae,Pe],Gt=()=>[...N(),Jh,Zh,{position:[Ae,Pe]}],Mt=()=>["no-repeat",{repeat:["","x","y","space","round"]}],q=()=>["auto","cover","contain",rw,Zx,{size:[Ae,Pe]}],se=()=>[nd,ra,ds],W=()=>["","none","full",u,Ae,Pe],ne=()=>["",gt,ra,ds],le=()=>["solid","dashed","dotted","double"],ue=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],P=()=>[gt,nd,Jh,Zh],E=()=>["","none",m,Ae,Pe],U=()=>["none",gt,Ae,Pe],re=()=>["none",gt,Ae,Pe],Se=()=>[gt,Ae,Pe],X=()=>[Ro,"full",...k()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[so],breakpoint:[so],color:[pp],container:[so],"drop-shadow":[so],ease:["in","out","in-out"],font:[Yx],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[so],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[so],shadow:[so],spacing:["px",gt],text:[so],"text-shadow":[so],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Ro,Pe,Ae,w]}],container:["container"],"container-type":[{"@container":["","normal","size",Ae,Pe]}],"container-named":[Xx],columns:[{columns:[gt,Pe,Ae,l]}],"break-after":[{"break-after":B()}],"break-before":[{"break-before":B()}],"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:M()}],overflow:[{overflow:R()}],"overflow-x":[{"overflow-x":R()}],"overflow-y":[{"overflow-y":R()}],overscroll:[{overscroll:F()}],"overscroll-x":[{"overscroll-x":F()}],"overscroll-y":[{"overscroll-y":F()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:j()}],"inset-x":[{"inset-x":j()}],"inset-y":[{"inset-y":j()}],start:[{"inset-s":j(),start:j()}],end:[{"inset-e":j(),end:j()}],"inset-bs":[{"inset-bs":j()}],"inset-be":[{"inset-be":j()}],top:[{top:j()}],right:[{right:j()}],bottom:[{bottom:j()}],left:[{left:j()}],visibility:["visible","invisible","collapse"],z:[{z:[Nn,"auto",Ae,Pe]}],basis:[{basis:[Ro,"full","auto",l,...k()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[gt,Ro,"auto","initial","none",Pe]}],grow:[{grow:["",gt,Ae,Pe]}],shrink:[{shrink:["",gt,Ae,Pe]}],order:[{order:[Nn,"first","last","none",Ae,Pe]}],"grid-cols":[{"grid-cols":T()}],"col-start-end":[{col:ie()}],"col-start":[{"col-start":xe()}],"col-end":[{"col-end":xe()}],"grid-rows":[{"grid-rows":T()}],"row-start-end":[{row:ie()}],"row-start":[{"row-start":xe()}],"row-end":[{"row-end":xe()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":J()}],"auto-rows":[{"auto-rows":J()}],gap:[{gap:k()}],"gap-x":[{"gap-x":k()}],"gap-y":[{"gap-y":k()}],"justify-content":[{justify:[...pe(),"normal"]}],"justify-items":[{"justify-items":[...be(),"normal"]}],"justify-self":[{"justify-self":["auto",...be()]}],"align-content":[{content:["normal",...pe()]}],"align-items":[{items:[...be(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...be(),{baseline:["","last"]}]}],"place-content":[{"place-content":pe()}],"place-items":[{"place-items":[...be(),"baseline"]}],"place-self":[{"place-self":["auto",...be()]}],p:[{p:k()}],px:[{px:k()}],py:[{py:k()}],ps:[{ps:k()}],pe:[{pe:k()}],pbs:[{pbs:k()}],pbe:[{pbe:k()}],pt:[{pt:k()}],pr:[{pr:k()}],pb:[{pb:k()}],pl:[{pl:k()}],m:[{m:ye()}],mx:[{mx:ye()}],my:[{my:ye()}],ms:[{ms:ye()}],me:[{me:ye()}],mbs:[{mbs:ye()}],mbe:[{mbe:ye()}],mt:[{mt:ye()}],mr:[{mr:ye()}],mb:[{mb:ye()}],ml:[{ml:ye()}],"space-x":[{"space-x":k()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":k()}],"space-y-reverse":["space-y-reverse"],size:[{size:Oe()}],"inline-size":[{inline:["auto",...Te()]}],"min-inline-size":[{"min-inline":["auto",...Te()]}],"max-inline-size":[{"max-inline":["none",...Te()]}],"block-size":[{block:["auto",...Ne()]}],"min-block-size":[{"min-block":["auto",...Ne()]}],"max-block-size":[{"max-block":["none",...Ne()]}],w:[{w:[l,"screen",...Oe()]}],"min-w":[{"min-w":[l,"screen","none",...Oe()]}],"max-w":[{"max-w":[l,"screen","none","prose",{screen:[i]},...Oe()]}],h:[{h:["screen","lh",...Oe()]}],"min-h":[{"min-h":["screen","lh","none",...Oe()]}],"max-h":[{"max-h":["screen","lh",...Oe()]}],"font-size":[{text:["base",r,ra,ds]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[n,ow,Jx]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",nd,Pe]}],"font-family":[{font:[tw,Qx,e]}],"font-features":[{"font-features":[Pe]}],"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:[o,Ae,Pe]}],"line-clamp":[{"line-clamp":[gt,"none",Ae,Xh]}],leading:[{leading:[s,...k()]}],"list-image":[{"list-image":["none",Ae,Pe]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Ae,Pe]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:K()}],"text-color":[{text:K()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...le(),"wavy"]}],"text-decoration-thickness":[{decoration:[gt,"from-font","auto",Ae,ds]}],"text-decoration-color":[{decoration:K()}],"underline-offset":[{"underline-offset":[gt,"auto",Ae,Pe]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:k()}],"tab-size":[{tab:[Nn,Ae,Pe]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Ae,Pe]}],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",Ae,Pe]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:Gt()}],"bg-repeat":[{bg:Mt()}],"bg-size":[{bg:q()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Nn,Ae,Pe],radial:["",Ae,Pe],conic:[Nn,Ae,Pe]},nw,ew]}],"bg-color":[{bg:K()}],"gradient-from-pos":[{from:se()}],"gradient-via-pos":[{via:se()}],"gradient-to-pos":[{to:se()}],"gradient-from":[{from:K()}],"gradient-via":[{via:K()}],"gradient-to":[{to:K()}],rounded:[{rounded:W()}],"rounded-s":[{"rounded-s":W()}],"rounded-e":[{"rounded-e":W()}],"rounded-t":[{"rounded-t":W()}],"rounded-r":[{"rounded-r":W()}],"rounded-b":[{"rounded-b":W()}],"rounded-l":[{"rounded-l":W()}],"rounded-ss":[{"rounded-ss":W()}],"rounded-se":[{"rounded-se":W()}],"rounded-ee":[{"rounded-ee":W()}],"rounded-es":[{"rounded-es":W()}],"rounded-tl":[{"rounded-tl":W()}],"rounded-tr":[{"rounded-tr":W()}],"rounded-br":[{"rounded-br":W()}],"rounded-bl":[{"rounded-bl":W()}],"border-w":[{border:ne()}],"border-w-x":[{"border-x":ne()}],"border-w-y":[{"border-y":ne()}],"border-w-s":[{"border-s":ne()}],"border-w-e":[{"border-e":ne()}],"border-w-bs":[{"border-bs":ne()}],"border-w-be":[{"border-be":ne()}],"border-w-t":[{"border-t":ne()}],"border-w-r":[{"border-r":ne()}],"border-w-b":[{"border-b":ne()}],"border-w-l":[{"border-l":ne()}],"divide-x":[{"divide-x":ne()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ne()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...le(),"hidden","none"]}],"divide-style":[{divide:[...le(),"hidden","none"]}],"border-color":[{border:K()}],"border-color-x":[{"border-x":K()}],"border-color-y":[{"border-y":K()}],"border-color-s":[{"border-s":K()}],"border-color-e":[{"border-e":K()}],"border-color-bs":[{"border-bs":K()}],"border-color-be":[{"border-be":K()}],"border-color-t":[{"border-t":K()}],"border-color-r":[{"border-r":K()}],"border-color-b":[{"border-b":K()}],"border-color-l":[{"border-l":K()}],"divide-color":[{divide:K()}],"outline-style":[{outline:[...le(),"none","hidden"]}],"outline-offset":[{"outline-offset":[gt,Ae,Pe]}],"outline-w":[{outline:["",gt,ra,ds]}],"outline-color":[{outline:K()}],shadow:[{shadow:["","none",f,nc,rc]}],"shadow-color":[{shadow:K()}],"inset-shadow":[{"inset-shadow":["none",g,nc,rc]}],"inset-shadow-color":[{"inset-shadow":K()}],"ring-w":[{ring:ne()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:K()}],"ring-offset-w":[{"ring-offset":[gt,ds]}],"ring-offset-color":[{"ring-offset":K()}],"inset-ring-w":[{"inset-ring":ne()}],"inset-ring-color":[{"inset-ring":K()}],"text-shadow":[{"text-shadow":["none",v,nc,rc]}],"text-shadow-color":[{"text-shadow":K()}],opacity:[{opacity:[gt,Ae,Pe]}],"mix-blend":[{"mix-blend":[...ue(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ue()}],"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":[gt]}],"mask-image-linear-from-pos":[{"mask-linear-from":P()}],"mask-image-linear-to-pos":[{"mask-linear-to":P()}],"mask-image-linear-from-color":[{"mask-linear-from":K()}],"mask-image-linear-to-color":[{"mask-linear-to":K()}],"mask-image-t-from-pos":[{"mask-t-from":P()}],"mask-image-t-to-pos":[{"mask-t-to":P()}],"mask-image-t-from-color":[{"mask-t-from":K()}],"mask-image-t-to-color":[{"mask-t-to":K()}],"mask-image-r-from-pos":[{"mask-r-from":P()}],"mask-image-r-to-pos":[{"mask-r-to":P()}],"mask-image-r-from-color":[{"mask-r-from":K()}],"mask-image-r-to-color":[{"mask-r-to":K()}],"mask-image-b-from-pos":[{"mask-b-from":P()}],"mask-image-b-to-pos":[{"mask-b-to":P()}],"mask-image-b-from-color":[{"mask-b-from":K()}],"mask-image-b-to-color":[{"mask-b-to":K()}],"mask-image-l-from-pos":[{"mask-l-from":P()}],"mask-image-l-to-pos":[{"mask-l-to":P()}],"mask-image-l-from-color":[{"mask-l-from":K()}],"mask-image-l-to-color":[{"mask-l-to":K()}],"mask-image-x-from-pos":[{"mask-x-from":P()}],"mask-image-x-to-pos":[{"mask-x-to":P()}],"mask-image-x-from-color":[{"mask-x-from":K()}],"mask-image-x-to-color":[{"mask-x-to":K()}],"mask-image-y-from-pos":[{"mask-y-from":P()}],"mask-image-y-to-pos":[{"mask-y-to":P()}],"mask-image-y-from-color":[{"mask-y-from":K()}],"mask-image-y-to-color":[{"mask-y-to":K()}],"mask-image-radial":[{"mask-radial":[Ae,Pe]}],"mask-image-radial-from-pos":[{"mask-radial-from":P()}],"mask-image-radial-to-pos":[{"mask-radial-to":P()}],"mask-image-radial-from-color":[{"mask-radial-from":K()}],"mask-image-radial-to-color":[{"mask-radial-to":K()}],"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":N()}],"mask-image-conic-pos":[{"mask-conic":[gt]}],"mask-image-conic-from-pos":[{"mask-conic-from":P()}],"mask-image-conic-to-pos":[{"mask-conic-to":P()}],"mask-image-conic-from-color":[{"mask-conic-from":K()}],"mask-image-conic-to-color":[{"mask-conic-to":K()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:Gt()}],"mask-repeat":[{mask:Mt()}],"mask-size":[{mask:q()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Ae,Pe]}],filter:[{filter:["","none",Ae,Pe]}],blur:[{blur:E()}],brightness:[{brightness:[gt,Ae,Pe]}],contrast:[{contrast:[gt,Ae,Pe]}],"drop-shadow":[{"drop-shadow":["","none",p,nc,rc]}],"drop-shadow-color":[{"drop-shadow":K()}],grayscale:[{grayscale:["",gt,Ae,Pe]}],"hue-rotate":[{"hue-rotate":[gt,Ae,Pe]}],invert:[{invert:["",gt,Ae,Pe]}],saturate:[{saturate:[gt,Ae,Pe]}],sepia:[{sepia:["",gt,Ae,Pe]}],"backdrop-filter":[{"backdrop-filter":["","none",Ae,Pe]}],"backdrop-blur":[{"backdrop-blur":E()}],"backdrop-brightness":[{"backdrop-brightness":[gt,Ae,Pe]}],"backdrop-contrast":[{"backdrop-contrast":[gt,Ae,Pe]}],"backdrop-grayscale":[{"backdrop-grayscale":["",gt,Ae,Pe]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[gt,Ae,Pe]}],"backdrop-invert":[{"backdrop-invert":["",gt,Ae,Pe]}],"backdrop-opacity":[{"backdrop-opacity":[gt,Ae,Pe]}],"backdrop-saturate":[{"backdrop-saturate":[gt,Ae,Pe]}],"backdrop-sepia":[{"backdrop-sepia":["",gt,Ae,Pe]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":k()}],"border-spacing-x":[{"border-spacing-x":k()}],"border-spacing-y":[{"border-spacing-y":k()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Ae,Pe]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[gt,"initial",Ae,Pe]}],ease:[{ease:["linear","initial",$,Ae,Pe]}],delay:[{delay:[gt,Ae,Pe]}],animate:[{animate:["none",I,Ae,Pe]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[b,Ae,Pe]}],"perspective-origin":[{"perspective-origin":M()}],rotate:[{rotate:U()}],"rotate-x":[{"rotate-x":U()}],"rotate-y":[{"rotate-y":U()}],"rotate-z":[{"rotate-z":U()}],scale:[{scale:re()}],"scale-x":[{"scale-x":re()}],"scale-y":[{"scale-y":re()}],"scale-z":[{"scale-z":re()}],"scale-3d":["scale-3d"],skew:[{skew:Se()}],"skew-x":[{"skew-x":Se()}],"skew-y":[{"skew-y":Se()}],transform:[{transform:[Ae,Pe,"","none","gpu","cpu"]}],"transform-origin":[{origin:M()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:X()}],"translate-x":[{"translate-x":X()}],"translate-y":[{"translate-y":X()}],"translate-z":[{"translate-z":X()}],"translate-none":["translate-none"],zoom:[{zoom:[Nn,Ae,Pe]}],accent:[{accent:K()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:K()}],"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",Ae,Pe]}],"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":K()}],"scrollbar-track-color":[{"scrollbar-track":K()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":k()}],"scroll-mx":[{"scroll-mx":k()}],"scroll-my":[{"scroll-my":k()}],"scroll-ms":[{"scroll-ms":k()}],"scroll-me":[{"scroll-me":k()}],"scroll-mbs":[{"scroll-mbs":k()}],"scroll-mbe":[{"scroll-mbe":k()}],"scroll-mt":[{"scroll-mt":k()}],"scroll-mr":[{"scroll-mr":k()}],"scroll-mb":[{"scroll-mb":k()}],"scroll-ml":[{"scroll-ml":k()}],"scroll-p":[{"scroll-p":k()}],"scroll-px":[{"scroll-px":k()}],"scroll-py":[{"scroll-py":k()}],"scroll-ps":[{"scroll-ps":k()}],"scroll-pe":[{"scroll-pe":k()}],"scroll-pbs":[{"scroll-pbs":k()}],"scroll-pbe":[{"scroll-pbe":k()}],"scroll-pt":[{"scroll-pt":k()}],"scroll-pr":[{"scroll-pr":k()}],"scroll-pb":[{"scroll-pb":k()}],"scroll-pl":[{"scroll-pl":k()}],"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",Ae,Pe]}],fill:[{fill:["none",...K()]}],"stroke-w":[{stroke:[gt,ra,ds,Xh]}],stroke:[{stroke:["none",...K()]}],"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":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["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-r","border-w-l"],"border-w-y":["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-r","border-color-l"],"border-color-y":["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-mr","scroll-ml"],"scroll-my":["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-pr","scroll-pl"],"scroll-py":["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"]}},aw=Lx(iw);function yt(...t){return aw($a(t))}var lw=new Set(["$$slots","$$events","$$legacy","ref","class","children"]),cw=D("
      ");function _r(t,e){Ve(e,!0);let r=L(e,"ref",15,null),n=Et(e,lw);var o=cw();Rt(o,i=>({"data-slot":"card-content",class:i,...n}),[()=>yt("px-(--card-spacing)",e.class)]);var s=S(o);st(s,()=>e.children??rt),ar(o,i=>r(i),()=>r()),h(t,o),je()}var uw=new Set(["$$slots","$$events","$$legacy","ref","class","children"]),dw=D("

      ");function Ir(t,e){Ve(e,!0);let r=L(e,"ref",15,null),n=Et(e,uw);var o=dw();Rt(o,i=>({"data-slot":"card-description",class:i,...n}),[()=>yt("text-sm text-muted-foreground",e.class)]);var s=S(o);st(s,()=>e.children??rt),ar(o,i=>r(i),()=>r()),h(t,o),je()}var fw=new Set(["$$slots","$$events","$$legacy","ref","class","children"]),hw=D("
      ");function Er(t,e){Ve(e,!0);let r=L(e,"ref",15,null),n=Et(e,fw);var o=hw();Rt(o,i=>({"data-slot":"card-header",class:i,...n}),[()=>yt("gap-1 rounded-t-xl px-(--card-spacing) [.border-b]:pb-(--card-spacing) group/card-header @container/card-header grid auto-rows-min items-start has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto]",e.class)]);var s=S(o);st(s,()=>e.children??rt),ar(o,i=>r(i),()=>r()),h(t,o),je()}var vw=new Set(["$$slots","$$events","$$legacy","ref","class","children"]),gw=D("
      ");function Wr(t,e){Ve(e,!0);let r=L(e,"ref",15,null),n=Et(e,vw);var o=gw();Rt(o,i=>({"data-slot":"card-title",class:i,...n}),[()=>yt("text-base leading-snug font-medium group-data-[size=sm]/card:text-sm",e.class)]);var s=S(o);st(s,()=>e.children??rt),ar(o,i=>r(i),()=>r()),h(t,o),je()}var pw=new Set(["$$slots","$$events","$$legacy","ref","class","children","size"]),mw=D("
      ");function or(t,e){Ve(e,!0);let r=L(e,"ref",15,null),n=L(e,"size",3,"default"),o=Et(e,pw);var s=mw();Rt(s,l=>({"data-slot":"card","data-size":n(),class:l,...o}),[()=>yt("gap-(--card-spacing) overflow-hidden rounded-xl bg-card py-(--card-spacing) text-sm text-card-foreground ring-1 ring-foreground/10 [--card-spacing:--spacing(4)] has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:[--card-spacing:--spacing(3)] data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl group/card flex flex-col",e.class)]);var i=S(s);st(i,()=>e.children??rt),ar(s,l=>r(l),()=>r()),h(t,s),je()}var bw=new Set(["$$slots","$$events","$$legacy","ref","class","children"]),yw=D("
      ");function Ul(t,e){Ve(e,!0);let r=L(e,"ref",15,null),n=Et(e,bw);var o=yw();Rt(o,i=>({"data-slot":"alert-description",class:i,...n}),[()=>yt("text-sm text-balance text-muted-foreground md:text-pretty [&_p:not(:last-child)]:mb-4 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground",e.class)]);var s=S(o);st(s,()=>e.children??rt),ar(o,i=>r(i),()=>r()),h(t,o),je()}var xw=Array.isArray,Bu=t=>{if(!t&&t!==0&&t!==0n)return"";if(typeof t=="string")return t;if(typeof t=="number")return t!==t?"":""+t;if(typeof t=="bigint")return""+t;let e="";if(xw(t)){const r=t.length;for(let n=0;ntypeof t!="string"||!t?t:t.replace(ww," ").trim(),kw=t=>{const e=t.length;if(e===0)return!1;const r=t.charCodeAt(0),n=t.charCodeAt(e-1);if(r===32||n===32||r>=9&&r<=13||r===160||n>=9&&n<=13||n===160)return!0;for(let o=0;o=9&&s<=13||s===160||s===32&&o+1{const e=Bu(t);if(e)return kw(e)?_w(e):e},Dd=t=>t===!1?"false":t===!0?"true":t===0?"0":t,pn=t=>{if(!t||typeof t!="object")return!0;for(const e in t)return!1;return!0},$p=(t,e)=>{if(t===e)return!0;if(!t||!e)return!1;const r=t,n=e,o=Object.keys(r),s=Object.keys(n);if(o.length!==s.length)return!1;for(let i=0;i{const r=t;for(const n in e)if(Object.hasOwn(e,n)){const o=e[n];n in r?r[n]=kc(r[n],o):r[n]=o}return t},Sp=(t,e)=>{for(let r=0;r{const e=[];Sp(t,e);const r=[];for(let n=0;n{const r=t,n=e,o={};for(const s in r){const i=r[s];if(s in n){const l=n[s];Ld(i)||Ld(l)?o[s]=Bd(l,i):typeof i=="object"&&typeof l=="object"&&i&&l?o[s]=Wf(i,l):o[s]=l+" "+i}else o[s]=i}for(const s in n)s in r||(o[s]=n[s]);return o},Sw={twMerge:!0,twMergeConfig:{}},Pp=256,Pw=128,Hs=Symbol("tv-cache-miss"),Cw=t=>(t==null?void 0:t.class)!=null&&t.class!==""||(t==null?void 0:t.className)!=null&&t.className!=="",Qh=t=>{if(t===void 0)return"";if(t===null)return"null";if(typeof t=="string")return t;if(typeof t=="boolean")return t?"true":"false";if(typeof t=="number")return t===0?"0":String(t);if(typeof t=="bigint")return String(t);const e=Dd(t),r=typeof e;if(r==="string"||r==="number"||r==="boolean"||r==="bigint")return String(e);if(r==="object")try{return JSON.stringify(e)}catch{return null}return null},si=(t,e)=>{if(e===void 0)return t;if(e===null)return t+"null";const r=typeof e;if(r==="string"||r==="number"||r==="boolean"||r==="bigint")return t+String(e);if(Array.isArray(e))return t+e.join("\0");try{return t+JSON.stringify(e)}catch{return t+"?"}},Cp=(t,e,r,n)=>{let o="";const s=Object.create(null);for(let l=0;l1&&i.sort();for(let l=0;l{let r="";for(let n=0;n{let e=new Map,r=null;return{get(n){if(e.has(n))return e.get(n);if(r!=null&&r.has(n)){const o=r.get(n);return e.set(n,o),o}return Hs},set(n,o){e.size>=t&&(r=e,e=new Map),e.set(n,o)}}},Aw=(t=Pp)=>{const e=Ep(t);return{get(r){return e.get(r)},set(r,n){e.set(r,n)}}},Ew=(t=Pw)=>{let e=new Map,r=null,n=0;return{get(o,s){const i=e.get(o);if(i){const l=i.get(s);if(l!==void 0||i.has(s))return l}if(r){const l=r.get(o);if(l){const c=l.get(s);if(c!==void 0||l.has(s)){let u=e.get(o);return u||(u=new Map,e.set(o,u)),u.has(s)||n++,u.set(s,c),c}}}return Hs},set(o,s,i){n>=t&&(r=e,e=new Map,n=0);let l=e.get(o);l||(l=new Map,e.set(o,l)),l.has(s)||n++,l.set(s,i)}}},Gf=(t,e)=>{let r=null;return(n,o)=>{if(!Cw(o))return n;const s=o.class,i=o.className;if(s!=null&&s!==""&&typeof s!="string"||i!=null&&i!==""&&typeof i!="string")return t(e,n,s,i);r??(r=Ew());const l=n??"",c=(typeof s=="string"?s:"")+"\0"+(typeof i=="string"?i:""),u=r.get(l,c);if(u!==Hs)return u;const f=t(e,n,s,i);return r.set(l,c,f),f}};function Tw(){let t=null,e={},r=!1;return{get cachedTwMerge(){return t},set cachedTwMerge(n){t=n},get cachedTwMergeConfig(){return e},set cachedTwMergeConfig(n){e=n},get didTwMergeConfigChange(){return r},set didTwMergeConfigChange(n){r=n},reset(){t=null,e={},r=!1}}}var Br=Tw(),Mw=t=>{!pn(t.twMergeConfig)&&!$p(t.twMergeConfig,Br.cachedTwMergeConfig)&&(Br.didTwMergeConfigChange=!0,Br.cachedTwMergeConfig=t.twMergeConfig)},Ow=(t,e)=>{const r=[];for(let n=0;n{if(!Array.isArray(t)||t.length===0)return[];const e=[];for(let r=0;r{if(!Array.isArray(t)||t.length===0)return[];const e=[];for(let r=0;r{const e={};for(let r=0;r{const{extend:r=null,slots:n={},variants:o={},compoundVariants:s=[],compoundSlots:i=[],defaultVariants:l={}}=t,c={...Sw,...e},u=t.slots!==void 0,f=r!=null&&r.base?kc(r.base,t==null?void 0:t.base):t==null?void 0:t.base,g=r!=null&&r.variants&&!pn(r.variants)?Wf(o,r.variants):o,v=r!=null&&r.defaultVariants&&!pn(r.defaultVariants)?{...r.defaultVariants,...l}:l;Mw(c);const p=!(r!=null&&r.slots)||pn(r.slots),m=u?p&&(r!=null&&r.base)?kc(t==null?void 0:t.base,r.base):typeof(t==null?void 0:t.base)=="string"||(t==null?void 0:t.base)==null?t.base:kc(t.base):void 0,b=u?{base:m,...n}:{},w=p?b:$w({...r==null?void 0:r.slots},pn(b)?{base:t==null?void 0:t.base}:b),$=!(r!=null&&r.compoundVariants)||pn(r.compoundVariants)?s:Bd(r==null?void 0:r.compoundVariants,s),I=!(r!=null&&r.compoundSlots)||pn(r.compoundSlots)?i:Bd(r==null?void 0:r.compoundSlots,i),B=Object.keys(g),N=$&&!Array.isArray($)?new TypeError(`The "compoundVariants" prop must be an array. Received: ${typeof $}`):I&&!Array.isArray(I)?new TypeError(`The "compoundSlots" prop must be an array. Received: ${typeof I}`):null,M=u||!p?"slots":B.length===0?"plain":"variants";return{config:c,extend:r,base:f,variants:g,defaultVariants:v,slots:w,compoundVariants:$,compoundSlots:I,compiledVariants:null,compiledCompoundVariants:null,compiledCompoundSlots:null,compiledCompoundSlotsBySlot:null,deferredError:N,mode:M,slotKeys:null,variantKeys:B}},Tp=t=>(t.compiledVariants!==null||(t.compiledVariants=Ow(t.variants,t.variantKeys),t.compiledCompoundVariants=zw(t.compoundVariants),t.compiledCompoundSlots=Iw(t.compoundSlots),t.compiledCompoundSlotsBySlot=Nw(t.compiledCompoundSlots),t.slotKeys=t.slots&&typeof t.slots=="object"?Object.keys(t.slots):[]),t),Vd=[],Mp=[],Fw=[],Lw=[],Dw=[],Op=(t,e,r)=>{const n={};for(const o in t)n[o]=t[o];if(e)for(const o in e)e[o]!==void 0&&(n[o]=e[o]);if(r)for(const o in r)r[o]!==void 0&&(n[o]=r[o]);return n},oc=t=>t==null||t===!1,Bw=(t,e)=>{if(!Array.isArray(t))return t===e||oc(t)&&oc(e);for(let r=0;r{if(t.isEmpty)return null;const o=(n==null?void 0:n[t.key])??(r==null?void 0:r[t.key]);if(o===null)return null;const s=Dd(o);if(typeof s=="object")return null;const i=e==null?void 0:e[t.key],l=s??Dd(i);return t.values[l||"false"]},Hf=(t,e)=>{const{conditionKeys:r,source:n}=t;for(let o=0;o{typeof r=="string"?e==="base"&&t.push(r):r&&typeof r=="object"&&r[e]&&t.push(r[e])},Vw=(t,e,r)=>{const n=Mp;n.length=0;for(let o=0;o{const s=Mp;s.length=0;for(let i=0;i{const r=Fw;r.length=0;for(let n=0;n{const n=Lw;n.length=0;for(let o=0;o{const r=Dw;r.length=0;for(let n=0;n{const{base:r,config:n}=t;let o=Hs;const s=Gf(e,n);return(i=>(o===Hs&&(o=e(n,r)),s(o,i)))},Uw=(t,e)=>{const{base:r,config:n,defaultVariants:o,deferredError:s,variantKeys:i}=t;let l=t.compiledCompoundVariants,c=t.compiledVariants,u=Vd,f=null;const g=Gf(e,n);let v=1;const p=m=>{const b=l.length>0?Ww(l,Op(o,m)):void 0;return e(n,r,Vw(c,o,m),b)};return(m=>{if(s)throw s;(c===null||l===null)&&(Tp(t),c=t.compiledVariants,l=t.compiledCompoundVariants,u=t.compiledCompoundSlots??Vd);let b;if(v>0)v--,b=p(m);else{f??(f=Aw());const w=Cp(i,o,m);if(w!==null){const $=l.length>0||u.length>0?Ap(l,u):"",I=w+"#"+$,B=f.get(I);B!==Hs?b=B:(b=p(m),f.set(I,b))}else b=p(m)}return g(b,m)})},qw=(t,e)=>{const{config:r,defaultVariants:n,deferredError:o,slots:s,variantKeys:i}=t;let l=null,c=null,u=null,f=null,g=!1,v=null,p=null,m=1;const b=()=>{if(u!==null)return;(t.compiledVariants===null||t.compiledCompoundVariants===null||t.compiledCompoundSlots===null||t.compiledCompoundSlotsBySlot===null||t.slotKeys===null)&&Tp(t);const $=t.compiledVariants;l=t.compiledCompoundVariants,c=t.compiledCompoundSlots;const I=t.compiledCompoundSlotsBySlot;u=t.slotKeys,g=l.length>0||c.length>0,v=Gf(e,r);const B=new Array(u.length);for(let N=0;N{const j=g?Op(n,F,k):void 0,T=j?Gw(M,l,j):void 0,ie=j?Hw(R,j):void 0;return e(r,s[M],jw(M,$,n,F,k),T,ie)}}f=B},w=$=>{const I=u,B=f,N=v,M={};for(let R=0;R{if(j==null)return k;let T=!1;for(const ie in j)if(!(ie==="class"||ie==="className")&&j[ie]!==void 0){T=!0;break}return N(T?F($,j):k,j)}}return M};return($=>{if(o)throw o;if(b(),m>0)return m--,w($);const I=Cp(i,n,$);if(I===null)return w($);const B=g?Ap(l,c):"",N=I+"#"+B;p??(p=Ep());const M=p.get(N);if(M!==Hs)return M;const R=w($);return p.set(N,R),R})},Yw=(t,e)=>{if(t.mode==="plain")return Kw(t,e);let r;return(n=>(r??(r=t.mode==="slots"?qw(t,e):Uw(t,e)),r(n)))},Xw=(t,e)=>{t.variantKeys=e.variantKeys,t.extend=e.extend,t.base=e.base,t.slots=e.slots,t.variants=e.variants,t.defaultVariants=e.defaultVariants,t.compoundSlots=e.compoundSlots,t.compoundVariants=e.compoundVariants},Zw=t=>{const e=(n,o)=>{const s=Rw(n,o),i=Yw(s,t);return Xw(i,s),i};return{tv:e,createTV:n=>(o,s)=>e(o,s?Wf(n,s):n)}},Jw=(t,e)=>{const r=t.length,n=e.length,o=new Array(r+n);for(let s=0;s({classGroupId:t,validator:e}),Ip=(t=new Map,e=null,r)=>({nextPart:t,validators:e,classGroupId:r}),Hc="-",tv=[],e_="arbitrary..",t_=t=>{const e=n_(t),{conflictingClassGroups:r,conflictingClassGroupModifiers:n}=t;return{getClassGroupId:i=>{if(i[0]==="["&&i[i.length-1]==="]")return r_(i);const l=i.split(Hc),c=l[0]===""&&l.length>1?1:0;return Np(l,c,e)},getConflictingClassGroupIds:(i,l)=>{if(l){const c=n[i],u=r[i];return c?u?Jw(u,c):c:u||tv}return r[i]||tv}}},Np=(t,e,r)=>{if(t.length-e===0)return r.classGroupId;const o=t[e],s=r.nextPart.get(o);if(s){const u=Np(t,e+1,s);if(u)return u}const i=r.validators;if(i===null)return;const l=e===0?t.join(Hc):t.slice(e).join(Hc),c=i.length;for(let u=0;u{const e=t.slice(1,-1),r=e.indexOf(":");if(r===-1)return;const n=e.slice(0,r);return n?e_+n:void 0},n_=t=>{const{theme:e,classGroups:r}=t;return o_(r,e)},o_=(t,e)=>{const r=Ip();for(const n in t){const o=t[n];Kf(o,r,n,e)}return r},Kf=(t,e,r,n)=>{const o=t.length;for(let s=0;s{if(typeof t=="string"){i_(t,e,r);return}if(typeof t=="function"){a_(t,e,r,n);return}l_(t,e,r,n)},i_=(t,e,r)=>{const n=t===""?e:Rp(e,t);n.classGroupId=r},a_=(t,e,r,n)=>{if(c_(t)){Kf(t(n),e,r,n);return}e.validators===null&&(e.validators=[]),e.validators.push(Qw(r,t))},l_=(t,e,r,n)=>{const o=Object.entries(t),s=o.length;for(let i=0;i{let r=t;const n=e.split(Hc),o=n.length;for(let s=0;s"isThemeGetter"in t&&t.isThemeGetter===!0,u_="!",d_=58,f_=47,h_=91,v_=93,g_=40,p_=41,rv=33,m_=(t,e,r,n)=>({modifiers:t,hasImportantModifier:e,baseClassName:r,maybePostfixModifierPosition:n,isExternal:void 0}),nv=t=>{const e=[];let r=0,n=0,o=0,s;const i=t.length;for(let v=0;vo?s-o:void 0;return m_(e,u,c,g)},b_=t=>{const e=new Set(t.orderSensitiveModifiers);return r=>{const n=[];let o=[];for(let s=0;s0){o.sort();for(let u=0;u0){o.sort();for(let s=0;s{const e=b_(t),r=__(t),{getClassGroupId:n,getConflictingClassGroupIds:o}=t_(t);let s=Object.create(null),i=Object.create(null),l=0,c=new Int32Array(256),u=0,f=new Uint8Array(64),g=!1;const v=B=>{const N=[],M=B.length;let R=-1;g=!1;for(let F=0;F=9&&k<=13?(g=!0,R!==-1&&(N.push(B.slice(R,F)),R=-1)):R===-1&&(R=F)}return R!==-1&&N.push(B.slice(R)),N},p=new Map;let m=0;const b=B=>{let N=p.get(B);if(N===void 0&&(N=m++,p.set(B,N),N>=c.length)){const M=new Int32Array(c.length*2);M.set(c),c=M}return N},w=B=>{const{isExternal:N,modifiers:M,hasImportantModifier:R,baseClassName:F,maybePostfixModifierPosition:k}=nv(B);if(N)return od;let j=!!k,T;if(j){const be=F.substring(0,k);T=n(be);const ye=T&&r[T]?n(F):void 0;ye&&ye!==T&&(T=ye,j=!1)}else T=n(F);if(!T){if(!j||(T=n(F),!T))return od;j=!1}const ie=M.length===0?"":M.length===1?M[0]:e(M).join(":"),xe=R?ie+u_:ie,J=o(T,j),pe=[];for(let be=0;be{let N=s[B];return N!==void 0||(N=i[B],N===void 0&&(N=w(B)),s[B]=N,++l>y_&&(l=0,i=s,s=Object.create(null))),N};return{parseClassName:nv,sortModifiers:e,postfixLookupClassGroupIds:r,getClassGroupId:n,getConflictingClassGroupIds:o,getClassDescriptor:$,mergeClassList:B=>{const N=v(B),M=N.length;if(M===1)return N[0];m>x_&&(p.clear(),m=0,s=Object.create(null),i=Object.create(null),l=0),u=u+1|0,u===0&&(u=1);const R=u;if(M>f.length){let T=f.length;for(;T=0;T-=1){const ie=N[T];k+=ie.length;const xe=$(ie);if(xe.isExternal){f[T]=1;continue}const J=xe.classId;if(c[J]===R){f[T]=0,F=!0;continue}c[J]=R;const pe=xe.conflictIds;for(let be=0;be{const e=Object.create(null),r=t.postfixLookupClassGroups;if(r)for(let n=0;n{let e,r,n=Object.create(null),o=Object.create(null),s=0;const i=u=>(e=w_(t()),r=e.mergeClassList,c.mergeString=l,l(u)),l=u=>{let f=n[u];return f!==void 0||(f=o[u],f===void 0&&(f=r(u)),n[u]=f,++s>k_&&(s=0,o=n,n=Object.create(null))),f},c=(...u)=>c.mergeString(Bu(u));return c.mergeString=i,c},$_=[],yr=t=>{const e=r=>r[t]||$_;return e.isThemeGetter=!0,e},Fp=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Lp=/^\((?:(\w[\w-]*):)?(.+)\)$/i,S_=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,P_=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,C_=/\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$/,A_=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,E_=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,T_=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Dp=Number,M_=Number.isNaN,O_=Number.isInteger,Fo=t=>S_.test(t),pt=t=>!!t&&!M_(Dp(t)),Rn=t=>!!t&&O_(Dp(t)),sd=t=>t.endsWith("%")&&pt(t.slice(0,-1)),io=t=>P_.test(t),Bp=()=>!0,z_=t=>C_.test(t)&&!A_.test(t),Uf=()=>!1,I_=t=>E_.test(t),N_=t=>T_.test(t),R_=t=>!Ce(t)&&!Ee(t),F_=t=>t.startsWith("@container")&&(t[10]==="/"&&t[11]!==void 0||t[11]==="s"&&t[16]!==void 0&&t.startsWith("-size/",10)||t[11]==="n"&&t[18]!==void 0&&t.startsWith("-normal/",10)),L_=t=>cs(t,Wp,Uf),Ce=t=>Fp.test(t),fs=t=>cs(t,Gp,z_),sv=t=>cs(t,K_,pt),D_=t=>cs(t,Kp,Bp),B_=t=>cs(t,Hp,Uf),iv=t=>cs(t,Vp,Uf),V_=t=>cs(t,jp,N_),sc=t=>cs(t,Up,I_),Ee=t=>Lp.test(t),na=t=>Qs(t,Gp),j_=t=>Qs(t,Hp),av=t=>Qs(t,Vp),W_=t=>Qs(t,Wp),G_=t=>Qs(t,jp),ic=t=>Qs(t,Up,!0),H_=t=>Qs(t,Kp,!0),cs=(t,e,r)=>{const n=Fp.exec(t);return n?n[1]?e(n[1]):r(n[2]):!1},Qs=(t,e,r=!1)=>{const n=Lp.exec(t);return n?n[1]?e(n[1]):r:!1},Vp=t=>t==="position"||t==="percentage",jp=t=>t==="image"||t==="url",Wp=t=>t==="length"||t==="size"||t==="bg-size",Gp=t=>t==="length",K_=t=>t==="number",Hp=t=>t==="family-name",Kp=t=>t==="number"||t==="weight",Up=t=>t==="shadow",id=()=>{const t=yr("color"),e=yr("font"),r=yr("text"),n=yr("font-weight"),o=yr("tracking"),s=yr("leading"),i=yr("breakpoint"),l=yr("container"),c=yr("spacing"),u=yr("radius"),f=yr("shadow"),g=yr("inset-shadow"),v=yr("text-shadow"),p=yr("drop-shadow"),m=yr("blur"),b=yr("perspective"),w=yr("aspect"),$=yr("ease"),I=yr("animate"),B=()=>["auto","avoid","all","avoid-page","page","left","right","column"],N=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],M=()=>[...N(),Ee,Ce],R=()=>["auto","hidden","clip","visible","scroll"],F=()=>["auto","contain","none"],k=()=>[Ee,Ce,c],j=()=>[Fo,"full","auto",...k()],T=()=>[Rn,"none","subgrid",Ee,Ce],ie=()=>["auto",{span:["full",Rn,Ee,Ce]},Rn,Ee,Ce],xe=()=>[Rn,"auto",Ee,Ce],J=()=>["auto","min","max","fr",Ee,Ce],pe=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],be=()=>["start","end","center","stretch","center-safe","end-safe"],ye=()=>["auto",...k()],Oe=()=>[Fo,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...k()],Te=()=>[Fo,"screen","full","dvw","lvw","svw","min","max","fit",...k()],Ne=()=>[Fo,"screen","full","lh","dvh","lvh","svh","min","max","fit",...k()],K=()=>[t,Ee,Ce],Gt=()=>[...N(),av,iv,{position:[Ee,Ce]}],Mt=()=>["no-repeat",{repeat:["","x","y","space","round"]}],q=()=>["auto","cover","contain",W_,L_,{size:[Ee,Ce]}],se=()=>[sd,na,fs],W=()=>["","none","full",u,Ee,Ce],ne=()=>["",pt,na,fs],le=()=>["solid","dashed","dotted","double"],ue=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],P=()=>[pt,sd,av,iv],E=()=>["","none",m,Ee,Ce],U=()=>["none",pt,Ee,Ce],re=()=>["none",pt,Ee,Ce],Se=()=>[pt,Ee,Ce],X=()=>[Fo,"full",...k()];return{theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[io],breakpoint:[io],color:[Bp],container:[io],"drop-shadow":[io],ease:["in","out","in-out"],font:[R_],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[io],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[io],shadow:[io],spacing:["px",pt],text:[io],"text-shadow":[io],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Fo,Ce,Ee,w]}],container:["container"],"container-type":[{"@container":["","normal","size",Ee,Ce]}],"container-named":[F_],columns:[{columns:[pt,Ce,Ee,l]}],"break-after":[{"break-after":B()}],"break-before":[{"break-before":B()}],"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:M()}],overflow:[{overflow:R()}],"overflow-x":[{"overflow-x":R()}],"overflow-y":[{"overflow-y":R()}],overscroll:[{overscroll:F()}],"overscroll-x":[{"overscroll-x":F()}],"overscroll-y":[{"overscroll-y":F()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:j()}],"inset-x":[{"inset-x":j()}],"inset-y":[{"inset-y":j()}],start:[{"inset-s":j(),start:j()}],end:[{"inset-e":j(),end:j()}],"inset-bs":[{"inset-bs":j()}],"inset-be":[{"inset-be":j()}],top:[{top:j()}],right:[{right:j()}],bottom:[{bottom:j()}],left:[{left:j()}],visibility:["visible","invisible","collapse"],z:[{z:[Rn,"auto",Ee,Ce]}],basis:[{basis:[Fo,"full","auto",l,...k()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[pt,Fo,"auto","initial","none",Ce]}],grow:[{grow:["",pt,Ee,Ce]}],shrink:[{shrink:["",pt,Ee,Ce]}],order:[{order:[Rn,"first","last","none",Ee,Ce]}],"grid-cols":[{"grid-cols":T()}],"col-start-end":[{col:ie()}],"col-start":[{"col-start":xe()}],"col-end":[{"col-end":xe()}],"grid-rows":[{"grid-rows":T()}],"row-start-end":[{row:ie()}],"row-start":[{"row-start":xe()}],"row-end":[{"row-end":xe()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":J()}],"auto-rows":[{"auto-rows":J()}],gap:[{gap:k()}],"gap-x":[{"gap-x":k()}],"gap-y":[{"gap-y":k()}],"justify-content":[{justify:[...pe(),"normal"]}],"justify-items":[{"justify-items":[...be(),"normal"]}],"justify-self":[{"justify-self":["auto",...be()]}],"align-content":[{content:["normal",...pe()]}],"align-items":[{items:[...be(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...be(),{baseline:["","last"]}]}],"place-content":[{"place-content":pe()}],"place-items":[{"place-items":[...be(),"baseline"]}],"place-self":[{"place-self":["auto",...be()]}],p:[{p:k()}],px:[{px:k()}],py:[{py:k()}],ps:[{ps:k()}],pe:[{pe:k()}],pbs:[{pbs:k()}],pbe:[{pbe:k()}],pt:[{pt:k()}],pr:[{pr:k()}],pb:[{pb:k()}],pl:[{pl:k()}],m:[{m:ye()}],mx:[{mx:ye()}],my:[{my:ye()}],ms:[{ms:ye()}],me:[{me:ye()}],mbs:[{mbs:ye()}],mbe:[{mbe:ye()}],mt:[{mt:ye()}],mr:[{mr:ye()}],mb:[{mb:ye()}],ml:[{ml:ye()}],"space-x":[{"space-x":k()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":k()}],"space-y-reverse":["space-y-reverse"],size:[{size:Oe()}],"inline-size":[{inline:["auto",...Te()]}],"min-inline-size":[{"min-inline":["auto",...Te()]}],"max-inline-size":[{"max-inline":["none",...Te()]}],"block-size":[{block:["auto",...Ne()]}],"min-block-size":[{"min-block":["auto",...Ne()]}],"max-block-size":[{"max-block":["none",...Ne()]}],w:[{w:[l,"screen",...Oe()]}],"min-w":[{"min-w":[l,"screen","none",...Oe()]}],"max-w":[{"max-w":[l,"screen","none","prose",{screen:[i]},...Oe()]}],h:[{h:["screen","lh",...Oe()]}],"min-h":[{"min-h":["screen","lh","none",...Oe()]}],"max-h":[{"max-h":["screen","lh",...Oe()]}],"font-size":[{text:["base",r,na,fs]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[n,H_,D_]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",sd,Ce]}],"font-family":[{font:[j_,B_,e]}],"font-features":[{"font-features":[Ce]}],"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:[o,Ee,Ce]}],"line-clamp":[{"line-clamp":[pt,"none",Ee,sv]}],leading:[{leading:[s,...k()]}],"list-image":[{"list-image":["none",Ee,Ce]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",Ee,Ce]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:K()}],"text-color":[{text:K()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...le(),"wavy"]}],"text-decoration-thickness":[{decoration:[pt,"from-font","auto",Ee,fs]}],"text-decoration-color":[{decoration:K()}],"underline-offset":[{"underline-offset":[pt,"auto",Ee,Ce]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:k()}],"tab-size":[{tab:[Rn,Ee,Ce]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",Ee,Ce]}],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",Ee,Ce]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:Gt()}],"bg-repeat":[{bg:Mt()}],"bg-size":[{bg:q()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Rn,Ee,Ce],radial:["",Ee,Ce],conic:[Rn,Ee,Ce]},G_,V_]}],"bg-color":[{bg:K()}],"gradient-from-pos":[{from:se()}],"gradient-via-pos":[{via:se()}],"gradient-to-pos":[{to:se()}],"gradient-from":[{from:K()}],"gradient-via":[{via:K()}],"gradient-to":[{to:K()}],rounded:[{rounded:W()}],"rounded-s":[{"rounded-s":W()}],"rounded-e":[{"rounded-e":W()}],"rounded-t":[{"rounded-t":W()}],"rounded-r":[{"rounded-r":W()}],"rounded-b":[{"rounded-b":W()}],"rounded-l":[{"rounded-l":W()}],"rounded-ss":[{"rounded-ss":W()}],"rounded-se":[{"rounded-se":W()}],"rounded-ee":[{"rounded-ee":W()}],"rounded-es":[{"rounded-es":W()}],"rounded-tl":[{"rounded-tl":W()}],"rounded-tr":[{"rounded-tr":W()}],"rounded-br":[{"rounded-br":W()}],"rounded-bl":[{"rounded-bl":W()}],"border-w":[{border:ne()}],"border-w-x":[{"border-x":ne()}],"border-w-y":[{"border-y":ne()}],"border-w-s":[{"border-s":ne()}],"border-w-e":[{"border-e":ne()}],"border-w-bs":[{"border-bs":ne()}],"border-w-be":[{"border-be":ne()}],"border-w-t":[{"border-t":ne()}],"border-w-r":[{"border-r":ne()}],"border-w-b":[{"border-b":ne()}],"border-w-l":[{"border-l":ne()}],"divide-x":[{"divide-x":ne()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":ne()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...le(),"hidden","none"]}],"divide-style":[{divide:[...le(),"hidden","none"]}],"border-color":[{border:K()}],"border-color-x":[{"border-x":K()}],"border-color-y":[{"border-y":K()}],"border-color-s":[{"border-s":K()}],"border-color-e":[{"border-e":K()}],"border-color-bs":[{"border-bs":K()}],"border-color-be":[{"border-be":K()}],"border-color-t":[{"border-t":K()}],"border-color-r":[{"border-r":K()}],"border-color-b":[{"border-b":K()}],"border-color-l":[{"border-l":K()}],"divide-color":[{divide:K()}],"outline-style":[{outline:[...le(),"none","hidden"]}],"outline-offset":[{"outline-offset":[pt,Ee,Ce]}],"outline-w":[{outline:["",pt,na,fs]}],"outline-color":[{outline:K()}],shadow:[{shadow:["","none",f,ic,sc]}],"shadow-color":[{shadow:K()}],"inset-shadow":[{"inset-shadow":["none",g,ic,sc]}],"inset-shadow-color":[{"inset-shadow":K()}],"ring-w":[{ring:ne()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:K()}],"ring-offset-w":[{"ring-offset":[pt,fs]}],"ring-offset-color":[{"ring-offset":K()}],"inset-ring-w":[{"inset-ring":ne()}],"inset-ring-color":[{"inset-ring":K()}],"text-shadow":[{"text-shadow":["none",v,ic,sc]}],"text-shadow-color":[{"text-shadow":K()}],opacity:[{opacity:[pt,Ee,Ce]}],"mix-blend":[{"mix-blend":[...ue(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ue()}],"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":[pt]}],"mask-image-linear-from-pos":[{"mask-linear-from":P()}],"mask-image-linear-to-pos":[{"mask-linear-to":P()}],"mask-image-linear-from-color":[{"mask-linear-from":K()}],"mask-image-linear-to-color":[{"mask-linear-to":K()}],"mask-image-t-from-pos":[{"mask-t-from":P()}],"mask-image-t-to-pos":[{"mask-t-to":P()}],"mask-image-t-from-color":[{"mask-t-from":K()}],"mask-image-t-to-color":[{"mask-t-to":K()}],"mask-image-r-from-pos":[{"mask-r-from":P()}],"mask-image-r-to-pos":[{"mask-r-to":P()}],"mask-image-r-from-color":[{"mask-r-from":K()}],"mask-image-r-to-color":[{"mask-r-to":K()}],"mask-image-b-from-pos":[{"mask-b-from":P()}],"mask-image-b-to-pos":[{"mask-b-to":P()}],"mask-image-b-from-color":[{"mask-b-from":K()}],"mask-image-b-to-color":[{"mask-b-to":K()}],"mask-image-l-from-pos":[{"mask-l-from":P()}],"mask-image-l-to-pos":[{"mask-l-to":P()}],"mask-image-l-from-color":[{"mask-l-from":K()}],"mask-image-l-to-color":[{"mask-l-to":K()}],"mask-image-x-from-pos":[{"mask-x-from":P()}],"mask-image-x-to-pos":[{"mask-x-to":P()}],"mask-image-x-from-color":[{"mask-x-from":K()}],"mask-image-x-to-color":[{"mask-x-to":K()}],"mask-image-y-from-pos":[{"mask-y-from":P()}],"mask-image-y-to-pos":[{"mask-y-to":P()}],"mask-image-y-from-color":[{"mask-y-from":K()}],"mask-image-y-to-color":[{"mask-y-to":K()}],"mask-image-radial":[{"mask-radial":[Ee,Ce]}],"mask-image-radial-from-pos":[{"mask-radial-from":P()}],"mask-image-radial-to-pos":[{"mask-radial-to":P()}],"mask-image-radial-from-color":[{"mask-radial-from":K()}],"mask-image-radial-to-color":[{"mask-radial-to":K()}],"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":N()}],"mask-image-conic-pos":[{"mask-conic":[pt]}],"mask-image-conic-from-pos":[{"mask-conic-from":P()}],"mask-image-conic-to-pos":[{"mask-conic-to":P()}],"mask-image-conic-from-color":[{"mask-conic-from":K()}],"mask-image-conic-to-color":[{"mask-conic-to":K()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:Gt()}],"mask-repeat":[{mask:Mt()}],"mask-size":[{mask:q()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",Ee,Ce]}],filter:[{filter:["","none",Ee,Ce]}],blur:[{blur:E()}],brightness:[{brightness:[pt,Ee,Ce]}],contrast:[{contrast:[pt,Ee,Ce]}],"drop-shadow":[{"drop-shadow":["","none",p,ic,sc]}],"drop-shadow-color":[{"drop-shadow":K()}],grayscale:[{grayscale:["",pt,Ee,Ce]}],"hue-rotate":[{"hue-rotate":[pt,Ee,Ce]}],invert:[{invert:["",pt,Ee,Ce]}],saturate:[{saturate:[pt,Ee,Ce]}],sepia:[{sepia:["",pt,Ee,Ce]}],"backdrop-filter":[{"backdrop-filter":["","none",Ee,Ce]}],"backdrop-blur":[{"backdrop-blur":E()}],"backdrop-brightness":[{"backdrop-brightness":[pt,Ee,Ce]}],"backdrop-contrast":[{"backdrop-contrast":[pt,Ee,Ce]}],"backdrop-grayscale":[{"backdrop-grayscale":["",pt,Ee,Ce]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[pt,Ee,Ce]}],"backdrop-invert":[{"backdrop-invert":["",pt,Ee,Ce]}],"backdrop-opacity":[{"backdrop-opacity":[pt,Ee,Ce]}],"backdrop-saturate":[{"backdrop-saturate":[pt,Ee,Ce]}],"backdrop-sepia":[{"backdrop-sepia":["",pt,Ee,Ce]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":k()}],"border-spacing-x":[{"border-spacing-x":k()}],"border-spacing-y":[{"border-spacing-y":k()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",Ee,Ce]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[pt,"initial",Ee,Ce]}],ease:[{ease:["linear","initial",$,Ee,Ce]}],delay:[{delay:[pt,Ee,Ce]}],animate:[{animate:["none",I,Ee,Ce]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[b,Ee,Ce]}],"perspective-origin":[{"perspective-origin":M()}],rotate:[{rotate:U()}],"rotate-x":[{"rotate-x":U()}],"rotate-y":[{"rotate-y":U()}],"rotate-z":[{"rotate-z":U()}],scale:[{scale:re()}],"scale-x":[{"scale-x":re()}],"scale-y":[{"scale-y":re()}],"scale-z":[{"scale-z":re()}],"scale-3d":["scale-3d"],skew:[{skew:Se()}],"skew-x":[{"skew-x":Se()}],"skew-y":[{"skew-y":Se()}],transform:[{transform:[Ee,Ce,"","none","gpu","cpu"]}],"transform-origin":[{origin:M()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:X()}],"translate-x":[{"translate-x":X()}],"translate-y":[{"translate-y":X()}],"translate-z":[{"translate-z":X()}],"translate-none":["translate-none"],zoom:[{zoom:[Rn,Ee,Ce]}],accent:[{accent:K()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:K()}],"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",Ee,Ce]}],"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":K()}],"scrollbar-track-color":[{"scrollbar-track":K()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":k()}],"scroll-mx":[{"scroll-mx":k()}],"scroll-my":[{"scroll-my":k()}],"scroll-ms":[{"scroll-ms":k()}],"scroll-me":[{"scroll-me":k()}],"scroll-mbs":[{"scroll-mbs":k()}],"scroll-mbe":[{"scroll-mbe":k()}],"scroll-mt":[{"scroll-mt":k()}],"scroll-mr":[{"scroll-mr":k()}],"scroll-mb":[{"scroll-mb":k()}],"scroll-ml":[{"scroll-ml":k()}],"scroll-p":[{"scroll-p":k()}],"scroll-px":[{"scroll-px":k()}],"scroll-py":[{"scroll-py":k()}],"scroll-ps":[{"scroll-ps":k()}],"scroll-pe":[{"scroll-pe":k()}],"scroll-pbs":[{"scroll-pbs":k()}],"scroll-pbe":[{"scroll-pbe":k()}],"scroll-pt":[{"scroll-pt":k()}],"scroll-pr":[{"scroll-pr":k()}],"scroll-pb":[{"scroll-pb":k()}],"scroll-pl":[{"scroll-pl":k()}],"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",Ee,Ce]}],fill:[{fill:["none",...K()]}],"stroke-w":[{stroke:[pt,na,fs,sv]}],stroke:[{stroke:["none",...K()]}],"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":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["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-r","border-w-l"],"border-w-y":["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-r","border-color-l"],"border-color-y":["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-mr","scroll-ml"],"scroll-my":["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-pr","scroll-pl"],"scroll-py":["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"]}},U_=(t,{extend:e={},override:r={}})=>(ac(t.theme,r.theme),ac(t.classGroups,r.classGroups),ac(t.conflictingClassGroups,r.conflictingClassGroups),ac(t.conflictingClassGroupModifiers,r.conflictingClassGroupModifiers),jd(t,"postfixLookupClassGroups",r.postfixLookupClassGroups),jd(t,"orderSensitiveModifiers",r.orderSensitiveModifiers),lc(t.theme,e.theme),lc(t.classGroups,e.classGroups),lc(t.conflictingClassGroups,e.conflictingClassGroups),lc(t.conflictingClassGroupModifiers,e.conflictingClassGroupModifiers),Wd(t,e,"postfixLookupClassGroups"),Wd(t,e,"orderSensitiveModifiers"),t),jd=(t,e,r)=>{r!==void 0&&(t[e]=r)},ac=(t,e)=>{if(e)for(const r in e)jd(t,r,e[r])},lc=(t,e)=>{if(e)for(const r in e)Wd(t,e,r)},Wd=(t,e,r)=>{const n=e[r];n!==void 0&&(t[r]=t[r]?t[r].concat(n):n)},qp=t=>ov(t?typeof t=="function"?()=>t(id()):()=>U_(id(),t):id),q_=t=>{if(pn(t))return;const e=t,r={...e.extend??{}};for(const o of["theme","classGroups","conflictingClassGroups","conflictingClassGroupModifiers","postfixLookupClassGroups","orderSensitiveModifiers","cacheSize","prefix","separator","experimentalParseClassName"])e[o]!==void 0&&r[o]===void 0&&(r[o]=e[o]);const n={};if(Object.keys(r).length>0&&(n.extend=r),e.override!=null&&!pn(e.override)&&(n.override=e.override),!(!n.extend&&!n.override))return n},Y_=t=>{const e=q_(t),r=qp(e);return n=>r.mergeString(n)},$c,X_=()=>($c||($c=qp()),$c),Z_=()=>((!Br.cachedTwMerge||Br.didTwMergeConfigChange)&&(Br.didTwMergeConfigChange=!1,Br.cachedTwMerge=Y_(Br.cachedTwMergeConfig)),Br.cachedTwMerge),J_=t=>{const e=t==null?void 0:t.twMergeConfig;!e||pn(e)||$p(e,Br.cachedTwMergeConfig)||(Br.cachedTwMergeConfig=e,Br.didTwMergeConfigChange=!0)},Q_=t=>Bu(t),e1=Br.reset.bind(Br);Br.reset=()=>{$c=void 0,e1()};var t1=(t,e)=>{const r=Q_(t);return!r||!((e==null?void 0:e.twMerge)??!0)?r||void 0:r.indexOf(" ")===-1?r:(J_(e),(!!(e!=null&&e.twMergeConfig&&!pn(e.twMergeConfig))?Z_():X_().mergeString)(r)||void 0)},r1=(t,...e)=>t1(e,t),n1=Zw(r1),qf=n1.tv;const o1=qf({base:"grid gap-0.5 rounded-lg border px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4 group/alert relative w-full",variants:{variant:{default:"bg-card text-card-foreground",destructive:"bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current"}},defaultVariants:{variant:"default"}});var s1=new Set(["$$slots","$$events","$$legacy","ref","class","variant","children"]),i1=D("
      ");function ql(t,e){Ve(e,!0);let r=L(e,"ref",15,null),n=L(e,"variant",3,"default"),o=Et(e,s1);var s=i1();Rt(s,l=>({"data-slot":"alert",role:"alert",class:l,...o}),[()=>yt(o1({variant:n()}),e.class)]);var i=S(s);st(i,()=>e.children??rt),ar(s,l=>r(l),()=>r()),h(t,s),je()}var a1=new Set(["$$slots","$$events","$$legacy","ref","value","type","files","class","data-slot"]),lv=D("");function js(t,e){Ve(e,!0);let r=L(e,"ref",15,null),n=L(e,"value",15),o=L(e,"files",15),s=L(e,"data-slot",3,"input"),i=Et(e,a1);var l=Z(),c=_(l);{var u=g=>{var v=lv();Rt(v,p=>({"data-slot":s(),class:p,type:"file",...i}),[()=>yt("h-8 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors file:h-6 file:text-sm file:font-medium focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:bg-input/50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 w-full min-w-0 outline-none file:inline-flex file:border-0 file:bg-transparent file:text-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",e.class)],void 0,void 0,void 0,!0),ar(v,p=>r(p),()=>r()),sx(v,o),Nd(v,n),h(g,v)},f=g=>{var v=lv();Rt(v,p=>({"data-slot":s(),class:p,type:e.type,...i}),[()=>yt("h-8 rounded-lg border border-input bg-transparent px-2.5 py-1 text-base transition-colors file:h-6 file:text-sm file:font-medium focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:bg-input/50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 w-full min-w-0 outline-none file:inline-flex file:border-0 file:bg-transparent file:text-foreground placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",e.class)],void 0,void 0,void 0,!0),ar(v,p=>r(p),()=>r()),Nd(v,n),h(g,v)};me(c,g=>{e.type==="file"?g(u):g(f,-1)})}h(t,l),je()}function l1(t){return typeof t=="function"}function Yl(t){return t!==null&&typeof t=="object"}const c1=["string","number","bigint","boolean"];function Gd(t){return t==null||c1.includes(typeof t)?!0:Array.isArray(t)?t.every(e=>Gd(e)):typeof t=="object"?Object.getPrototypeOf(t)===Object.prototype:!1}const Wi=Symbol("box"),Vu=Symbol("is-writable");function ke(t,e){const r=z(t);return e?{[Wi]:!0,[Vu]:!0,get current(){return a(r)},set current(n){e(n)}}:{[Wi]:!0,get current(){return t()}}}function Xl(t){return Yl(t)&&Wi in t}function Yf(t){return Xl(t)&&Vu in t}function Yp(t){return Xl(t)?t:l1(t)?ke(t):Kn(t)}function u1(t){return Object.entries(t).reduce((e,[r,n])=>Xl(n)?(Yf(n)?Object.defineProperty(e,r,{get(){return n.current},set(o){n.current=o}}):Object.defineProperty(e,r,{get(){return n.current}}),e):Object.assign(e,{[r]:n}),{})}function d1(t){return Yf(t)?{[Wi]:!0,get current(){return t.current}}:t}function Kn(t){let e=fe(kr(t));return{[Wi]:!0,[Vu]:!0,get current(){return a(e)},set current(r){x(e,r,!0)}}}function ei(t){let e=fe(kr(t));return{[Wi]:!0,[Vu]:!0,get current(){return a(e)},set current(r){x(e,r,!0)}}}ei.from=Yp;ei.with=ke;ei.flatten=u1;ei.readonly=d1;ei.isBox=Xl;ei.isWritableBox=Yf;function Xp(...t){return function(e){var r;for(const n of t)if(n){if(e.defaultPrevented)return;typeof n=="function"?n.call(this,e):(r=n.current)==null||r.call(this,e)}}}var cv=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,f1=/\n/g,h1=/^\s*/,v1=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,g1=/^:\s*/,p1=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,m1=/^[;\s]*/,b1=/^\s+|\s+$/g,y1=` -`,uv="/",dv="*",ys="",x1="comment",w1="declaration";function _1(t,e){if(typeof t!="string")throw new TypeError("First argument must be a string");if(!t)return[];e=e||{};var r=1,n=1;function o(m){var b=m.match(f1);b&&(r+=b.length);var w=m.lastIndexOf(y1);n=~w?m.length-w:n+m.length}function s(){var m={line:r,column:n};return function(b){return b.position=new i(m),u(),b}}function i(m){this.start=m,this.end={line:r,column:n},this.source=e.source}i.prototype.content=t;function l(m){var b=new Error(e.source+":"+r+":"+n+": "+m);if(b.reason=m,b.filename=e.source,b.line=r,b.column=n,b.source=t,!e.silent)throw b}function c(m){var b=m.exec(t);if(b){var w=b[0];return o(w),t=t.slice(w.length),b}}function u(){c(h1)}function f(m){var b;for(m=m||[];b=g();)b!==!1&&m.push(b);return m}function g(){var m=s();if(!(uv!=t.charAt(0)||dv!=t.charAt(1))){for(var b=2;ys!=t.charAt(b)&&(dv!=t.charAt(b)||uv!=t.charAt(b+1));)++b;if(b+=2,ys===t.charAt(b-1))return l("End of comment missing");var w=t.slice(2,b-2);return n+=2,o(w),t=t.slice(b),n+=2,m({type:x1,comment:w})}}function v(){var m=s(),b=c(v1);if(b){if(g(),!c(g1))return l("property missing ':'");var w=c(p1),$=m({type:w1,property:fv(b[0].replace(cv,ys)),value:w?fv(w[0].replace(cv,ys)):ys});return c(m1),$}}function p(){var m=[];f(m);for(var b;b=v();)b!==!1&&(m.push(b),f(m));return m}return u(),p()}function fv(t){return t?t.replace(b1,ys):ys}function k1(t,e){let r=null;if(!t||typeof t!="string")return r;const n=_1(t),o=typeof e=="function";return n.forEach(s=>{if(s.type!=="declaration")return;const{property:i,value:l}=s;o?e(i,l,s):l&&(r=r||{},r[i]=l)}),r}const $1=/\d/,S1=["-","_","/","."];function P1(t=""){if(!$1.test(t))return t!==t.toLowerCase()}function C1(t){const e=[];let r="",n,o;for(const s of t){const i=S1.includes(s);if(i===!0){e.push(r),r="",n=void 0;continue}const l=P1(s);if(o===!1){if(n===!1&&l===!0){e.push(r),r=s,n=l;continue}if(n===!0&&l===!1&&r.length>1){const c=r.at(-1);e.push(r.slice(0,Math.max(0,r.length-1))),r=c+s,n=l;continue}}r+=s,n=l,o=i}return e.push(r),e}function Zp(t){return t?C1(t).map(e=>E1(e)).join(""):""}function A1(t){return T1(Zp(t||""))}function E1(t){return t?t[0].toUpperCase()+t.slice(1):""}function T1(t){return t?t[0].toLowerCase()+t.slice(1):""}function ya(t){if(!t)return{};const e={};function r(n,o){if(n.startsWith("-moz-")||n.startsWith("-webkit-")||n.startsWith("-ms-")||n.startsWith("-o-")){e[Zp(n)]=o;return}if(n.startsWith("--")){e[n]=o;return}e[A1(n)]=o}return k1(t,r),e}function fi(...t){return(...e)=>{for(const r of t)typeof r=="function"&&r(...e)}}function M1(t,e){const r=RegExp(t,"g");return n=>{if(typeof n!="string")throw new TypeError(`expected an argument of type string, but got ${typeof n}`);return n.match(r)?n.replace(r,e):n}}const O1=M1(/[A-Z]/,t=>`-${t.toLowerCase()}`);function z1(t){if(!t||typeof t!="object"||Array.isArray(t))throw new TypeError(`expected an argument of type object, but got ${typeof t}`);return Object.keys(t).map(e=>`${O1(e)}: ${t[e]};`).join(` -`)}function Jp(t={}){return z1(t).replace(` -`," ")}const I1=["onabort","onanimationcancel","onanimationend","onanimationiteration","onanimationstart","onauxclick","onbeforeinput","onbeforetoggle","onblur","oncancel","oncanplay","oncanplaythrough","onchange","onclick","onclose","oncompositionend","oncompositionstart","oncompositionupdate","oncontextlost","oncontextmenu","oncontextrestored","oncopy","oncuechange","oncut","ondblclick","ondrag","ondragend","ondragenter","ondragleave","ondragover","ondragstart","ondrop","ondurationchange","onemptied","onended","onerror","onfocus","onfocusin","onfocusout","onformdata","ongotpointercapture","oninput","oninvalid","onkeydown","onkeypress","onkeyup","onload","onloadeddata","onloadedmetadata","onloadstart","onlostpointercapture","onmousedown","onmouseenter","onmouseleave","onmousemove","onmouseout","onmouseover","onmouseup","onpaste","onpause","onplay","onplaying","onpointercancel","onpointerdown","onpointerenter","onpointerleave","onpointermove","onpointerout","onpointerover","onpointerup","onprogress","onratechange","onreset","onresize","onscroll","onscrollend","onsecuritypolicyviolation","onseeked","onseeking","onselect","onselectionchange","onselectstart","onslotchange","onstalled","onsubmit","onsuspend","ontimeupdate","ontoggle","ontouchcancel","ontouchend","ontouchmove","ontouchstart","ontransitioncancel","ontransitionend","ontransitionrun","ontransitionstart","onvolumechange","onwaiting","onwebkitanimationend","onwebkitanimationiteration","onwebkitanimationstart","onwebkittransitionend","onwheel"],N1=new Set(I1);function R1(t){return N1.has(t)}function Jn(...t){const e={...t[0]};for(let r=1;r{const s=Or(r,"focusin",o),i=Or(r,"focusout",o);return()=>{s(),i()}})))}get current(){var e;return(e=d(this,Da))==null||e.call(this),d(this,wi)?F1(d(this,wi)):null}}wi=new WeakMap,Da=new WeakMap;new L1;function D1(t){return typeof t=="function"}var Ba,go;class ti{constructor(e){C(this,Ba);C(this,go);V(this,Ba,e),V(this,go,Symbol(e))}get key(){return d(this,go)}exists(){return Zb(d(this,go))}get(){const e=Eh(d(this,go));if(e===void 0)throw new Error(`Context "${d(this,Ba)}" not found`);return e}getOr(e){const r=Eh(d(this,go));return r===void 0?e:r}set(e){return Xb(d(this,go),e)}}Ba=new WeakMap,go=new WeakMap;function B1(t,e){switch(t){case"post":ur(e);break;case"pre":Ng(e);break}}function em(t,e,r,n={}){const{lazy:o=!1}=n;let s=!o,i=Array.isArray(t)?[]:void 0;B1(e,()=>{const l=Array.isArray(t)?t.map(u=>u()):t();if(!s){s=!0,i=l;return}const c=tn(()=>r(l,i));return i=l,c})}function cn(t,e,r){em(t,"post",e,r)}function V1(t,e,r){em(t,"pre",e,r)}cn.pre=V1;function hv(t){return D1(t)?t():t}var Wo,_i,ki,$i,Go,uu,du,Si;class j1{constructor(e,r={box:"border-box"}){C(this,Wo,{width:0,height:0});C(this,_i,!1);C(this,ki);C(this,$i);C(this,Go);C(this,uu,z(()=>{var e;return(e=a(d(this,Si)))==null||e(),this.getSize().width}));C(this,du,z(()=>{var e;return(e=a(d(this,Si)))==null||e(),this.getSize().height}));C(this,Si,z(()=>{const e=hv(d(this,$i));if(e)return Ru(r=>{if(!d(this,Go))return;const n=new(d(this,Go)).ResizeObserver(o=>{V(this,_i,!0);for(const s of o){const i=d(this,ki).box==="content-box"?s.contentBoxSize:s.borderBoxSize,l=Array.isArray(i)?i:[i];d(this,Wo).width=l.reduce((c,u)=>Math.max(c,u.inlineSize),0),d(this,Wo).height=l.reduce((c,u)=>Math.max(c,u.blockSize),0)}r()});return n.observe(e),()=>{V(this,_i,!1),n.disconnect()}})}));V(this,Go,r.window??Qp),V(this,ki,r),V(this,$i,e),V(this,Wo,{width:0,height:0})}calculateSize(){const e=hv(d(this,$i));if(!e||!d(this,Go))return;const r=e.offsetWidth,n=e.offsetHeight;if(d(this,ki).box==="border-box")return{width:r,height:n};const o=d(this,Go).getComputedStyle(e),s=parseFloat(o.paddingLeft)+parseFloat(o.paddingRight),i=parseFloat(o.paddingTop)+parseFloat(o.paddingBottom),l=parseFloat(o.borderLeftWidth)+parseFloat(o.borderRightWidth),c=parseFloat(o.borderTopWidth)+parseFloat(o.borderBottomWidth),u=r-s-l,f=n-i-c;return{width:u,height:f}}getSize(){return d(this,_i)?d(this,Wo):this.calculateSize()??d(this,Wo)}get current(){var e;return(e=a(d(this,Si)))==null||e(),this.getSize()}get width(){return a(d(this,uu))}get height(){return a(d(this,du))}}Wo=new WeakMap,_i=new WeakMap,ki=new WeakMap,$i=new WeakMap,Go=new WeakMap,uu=new WeakMap,du=new WeakMap,Si=new WeakMap;function ri(t){ur(()=>()=>{t()})}function W1(t,e){return setTimeout(e,t)}function Gn(t){Lf().then(t)}const G1=1,H1=9,K1=11;function Hd(t){return Yl(t)&&t.nodeType===G1&&typeof t.nodeName=="string"}function tm(t){return Yl(t)&&t.nodeType===H1}function U1(t){var e;return Yl(t)&&((e=t.constructor)==null?void 0:e.name)==="VisualViewport"}function q1(t){return Yl(t)&&t.nodeType!==void 0}function rm(t){return q1(t)&&t.nodeType===K1&&"host"in t}function Y1(t,e){var n;if(!t||!e||!Hd(t)||!Hd(e))return!1;const r=(n=e.getRootNode)==null?void 0:n.call(e);if(t===e||t.contains(e))return!0;if(r&&rm(r)){let o=e;for(;o;){if(t===o)return!0;o=o.parentNode||o.host}}return!1}function Zl(t){return tm(t)?t:U1(t)?t.document:(t==null?void 0:t.ownerDocument)??document}function nm(t){var e;return rm(t)?nm(t.host):tm(t)?t.defaultView??window:Hd(t)?((e=t.ownerDocument)==null?void 0:e.defaultView)??window:window}function X1(t){let e=t.activeElement;for(;e!=null&&e.shadowRoot;){const r=e.shadowRoot.activeElement;if(r===e)break;e=r}return e}var Va;class Xf{constructor(e){ge(this,"element");C(this,Va,z(()=>this.element.current?this.element.current.getRootNode()??document:document));ge(this,"getDocument",()=>Zl(this.root));ge(this,"getWindow",()=>this.getDocument().defaultView??window);ge(this,"getActiveElement",()=>X1(this.root));ge(this,"isActiveElement",e=>e===this.getActiveElement());ge(this,"querySelector",e=>this.root?this.root.querySelector(e):null);ge(this,"querySelectorAll",e=>this.root?this.root.querySelectorAll(e):[]);ge(this,"setTimeout",(e,r)=>this.getWindow().setTimeout(e,r));ge(this,"clearTimeout",e=>this.getWindow().clearTimeout(e));typeof e=="function"?this.element=ke(e):this.element=e}get root(){return a(d(this,Va))}set root(e){x(d(this,Va),e)}getElementById(e){return this.root.getElementById(e)}}Va=new WeakMap;function ts(t,e){return{[My()]:r=>Xl(t)?(t.current=r,tn(()=>e==null?void 0:e(r)),()=>{"isConnected"in r&&r.isConnected||(t.current=null,e==null||e(null))}):(t(r),tn(()=>e==null?void 0:e(r)),()=>{"isConnected"in r&&r.isConnected||(t(null),e==null||e(null))})}}function om(t){return t?"true":"false"}function sm(t){return t?"":void 0}function im(t){return t?"open":"closed"}function Z1(t){return t==="starting"?{"data-starting-style":""}:t==="ending"?{"data-ending-style":""}:{}}var Pi,ja;class J1{constructor(e){C(this,Pi);C(this,ja);ge(this,"attrs");V(this,Pi,e.getVariant?e.getVariant():null),V(this,ja,d(this,Pi)?`data-${d(this,Pi)}-`:`data-${e.component}-`),this.getAttr=this.getAttr.bind(this),this.selector=this.selector.bind(this),this.attrs=Object.fromEntries(e.parts.map(r=>[r,this.getAttr(r)]))}getAttr(e,r){return r?`data-${r}-${e}`:`${d(this,ja)}${e}`}selector(e,r){return`[${this.getAttr(e,r)}]`}}Pi=new WeakMap,ja=new WeakMap;function am(t){const e=new J1(t);return{...e.attrs,selector:e.selector,getAttr:e.getAttr}}const Aa="ArrowDown",Zf="ArrowLeft",Jf="ArrowRight",Kc="ArrowUp",lm="End",cm="Enter",Q1="Escape",um="Home",e0="PageDown",t0="PageUp",Qf=" ",r0="Tab";function n0(t){return window.getComputedStyle(t).getPropertyValue("direction")}function o0(t="ltr",e="horizontal"){return{horizontal:t==="rtl"?Zf:Jf,vertical:Aa}[e]}function s0(t="ltr",e="horizontal"){return{horizontal:t==="rtl"?Jf:Zf,vertical:Kc}[e]}function i0(t="ltr",e="horizontal"){return["ltr","rtl"].includes(t)||(t="ltr"),["horizontal","vertical"].includes(e)||(e="horizontal"),{nextKey:o0(t,e),prevKey:s0(t,e)}}const dm=typeof document<"u",vv=a0();function a0(){var t,e;return dm&&((t=window==null?void 0:window.navigator)==null?void 0:t.userAgent)&&(/iP(ad|hone|od)/.test(window.navigator.userAgent)||((e=window==null?void 0:window.navigator)==null?void 0:e.maxTouchPoints)>2&&/iPad|Macintosh/.test(window==null?void 0:window.navigator.userAgent))}function ns(t){return t instanceof HTMLElement}function Sa(t){return t instanceof Element}function fm(t){return t instanceof Element||t instanceof SVGElement}function l0(t){return t!==null}function c0(t){return t instanceof HTMLInputElement&&"select"in t}var Nr,po;class u0{constructor(e){C(this,Nr);C(this,po,ei(null));V(this,Nr,e)}getCandidateNodes(){return d(this,Nr).rootNode.current?d(this,Nr).candidateSelector?Array.from(d(this,Nr).rootNode.current.querySelectorAll(d(this,Nr).candidateSelector)):d(this,Nr).candidateAttr?Array.from(d(this,Nr).rootNode.current.querySelectorAll(`[${d(this,Nr).candidateAttr}]:not([data-disabled])`)):[]:[]}focusFirstCandidate(){var r;const e=this.getCandidateNodes();e.length&&((r=e[0])==null||r.focus())}handleKeydown(e,r,n=!1){var m,b;const o=d(this,Nr).rootNode.current;if(!o||!e)return;const s=this.getCandidateNodes();if(!s.length)return;const i=s.indexOf(e),l=n0(o),{nextKey:c,prevKey:u}=i0(l,d(this,Nr).orientation.current),f=d(this,Nr).loop.current,g={[c]:i+1,[u]:i-1,[um]:0,[lm]:s.length-1};if(n){const w=c===Aa?Jf:Aa,$=u===Kc?Zf:Kc;g[w]=i+1,g[$]=i-1}let v=g[r.key];if(v===void 0)return;r.preventDefault(),v<0&&f?v=s.length-1:v===s.length&&f&&(v=0);const p=s[v];if(p)return p.focus(),d(this,po).current=p.id,(b=(m=d(this,Nr)).onCandidateFocus)==null||b.call(m,p),p}getTabIndex(e){const r=this.getCandidateNodes(),n=d(this,po).current!==null;return e&&!n&&r[0]===e?(d(this,po).current=e.id,0):(e==null?void 0:e.id)===d(this,po).current?0:-1}setCurrentTabStopId(e){d(this,po).current=e}focusCurrentTabStop(){var n;const e=d(this,po).current;if(!e)return;const r=(n=d(this,Nr).rootNode.current)==null?void 0:n.querySelector(`#${e}`);!r||!ns(r)||r.focus()}}Nr=new WeakMap,po=new WeakMap;var Ms,Vn,mo,bo,is,Kd,Ud;class d0{constructor(e){C(this,is);C(this,Ms);C(this,Vn,null);C(this,mo,null);C(this,bo,0);V(this,Ms,e),ri(()=>oe(this,is,Kd).call(this))}run(e){oe(this,is,Kd).call(this);const r=d(this,Ms).ref.current;if(!r)return;if(typeof r.getAnimations!="function"){oe(this,is,Ud).call(this,e);return}const n=d(this,bo),o=()=>{n===d(this,bo)&&oe(this,is,Ud).call(this,e)},s=()=>{if(n!==d(this,bo))return;const l=r.getAnimations();if(l.length===0){o();return}Promise.all(l.map(c=>c.finished)).then(()=>{o()}).catch(()=>{if(n!==d(this,bo))return;if(r.getAnimations().some(f=>f.pending||f.playState!=="finished")){s();return}o()})},i=()=>{V(this,Vn,window.requestAnimationFrame(()=>{V(this,Vn,null),s()}))};if(!d(this,Ms).afterTick.current){i();return}V(this,Vn,window.requestAnimationFrame(()=>{V(this,Vn,null);const l="data-starting-style";if(!r.hasAttribute(l)){i();return}V(this,mo,new MutationObserver(()=>{var c;n===d(this,bo)&&(r.hasAttribute(l)||((c=d(this,mo))==null||c.disconnect(),V(this,mo,null),i()))})),d(this,mo).observe(r,{attributes:!0,attributeFilter:[l]})}))}}Ms=new WeakMap,Vn=new WeakMap,mo=new WeakMap,bo=new WeakMap,is=new WeakSet,Kd=function(){var e;d(this,Vn)!==null&&(window.cancelAnimationFrame(d(this,Vn)),V(this,Vn,null)),(e=d(this,mo))==null||e.disconnect(),V(this,mo,null),Ph(this,bo)._++},Ud=function(e){const r=()=>{e()};d(this,Ms).afterTick?Gn(r):r()};var Kr,Wa,Ga,yo,xo,Ha,Ho,Ka,qd;class f0{constructor(e){C(this,Ka);C(this,Kr);C(this,Wa);C(this,Ga);C(this,yo,fe(!1));C(this,xo,fe(void 0));C(this,Ha,!1);C(this,Ho,null);V(this,Kr,e),x(d(this,yo),e.open.current,!0),V(this,Wa,e.enabled??!0),V(this,Ga,new d0({ref:d(this,Kr).ref,afterTick:d(this,Kr).open})),ri(()=>oe(this,Ka,qd).call(this)),cn(()=>d(this,Kr).open.current,r=>{var n,o,s,i,l,c;if(!d(this,Ha)){V(this,Ha,!0);return}if(oe(this,Ka,qd).call(this),!r&&((o=(n=d(this,Kr)).shouldSkipExitAnimation)!=null&&o.call(n))){x(d(this,yo),!1),x(d(this,xo),void 0),(i=(s=d(this,Kr)).onComplete)==null||i.call(s);return}if(r&&x(d(this,yo),!0),x(d(this,xo),r?"starting":"ending",!0),r&&V(this,Ho,window.requestAnimationFrame(()=>{V(this,Ho,null),d(this,Kr).open.current&&x(d(this,xo),void 0)})),!d(this,Wa)){r||x(d(this,yo),!1),x(d(this,xo),void 0),(c=(l=d(this,Kr)).onComplete)==null||c.call(l);return}d(this,Ga).run(()=>{var u,f;r===d(this,Kr).open.current&&(d(this,Kr).open.current||x(d(this,yo),!1),x(d(this,xo),void 0),(f=(u=d(this,Kr)).onComplete)==null||f.call(u))})})}get shouldRender(){return a(d(this,yo))}get transitionStatus(){return a(d(this,xo))}}Kr=new WeakMap,Wa=new WeakMap,Ga=new WeakMap,yo=new WeakMap,xo=new WeakMap,Ha=new WeakMap,Ho=new WeakMap,Ka=new WeakSet,qd=function(){d(this,Ho)!==null&&(window.cancelAnimationFrame(d(this,Ho)),V(this,Ho,null))};function pr(){}function Jl(t,e){return`bits-${t}`}function h0(t,e){var r=Z(),n=_(r);Qg(n,()=>e.children,o=>{var s=Z(),i=_(s);st(i,()=>e.children??rt),h(o,s)}),h(t,r)}const v0=new ti("BitsConfig");function g0(){const t=new p0(null,{});return v0.getOr(t).opts}class p0{constructor(e,r){ge(this,"opts");const n=m0(e,r);this.opts={defaultPortalTo:n(o=>o.defaultPortalTo),defaultLocale:n(o=>o.defaultLocale)}}}function m0(t,e){return r=>ke(()=>{var s,i;const o=(s=r(e))==null?void 0:s.current;if(o!==void 0)return o;if(t!==null)return(i=r(t.opts))==null?void 0:i.current})}function b0(t,e){return r=>{const n=g0();return ke(()=>{const o=r();if(o!==void 0)return o;const s=t(n).current;return s!==void 0?s:e})}}const y0=b0(t=>t.defaultPortalTo,"body");function x0(t,e){Ve(e,!0);const r=y0(()=>e.to),n=Jb();let o=z(s);function s(){if(!dm||e.disabled)return null;let g=null;return typeof r.current=="string"?g=document.querySelector(r.current):g=r.current,g}let i;function l(){i&&(jy(i),i=null)}cn([()=>a(o),()=>e.disabled],([g,v])=>{if(!g||v){l();return}return i=Jg(h0,{target:g,props:{children:e.children},context:n}),()=>{l()}});var c=Z(),u=_(c);{var f=g=>{var v=Z(),p=_(v);st(p,()=>e.children??rt),h(g,v)};me(u,g=>{e.disabled&&g(f)})}h(t,c),je()}class w0{constructor(e,r={bubbles:!0,cancelable:!0}){ge(this,"eventName");ge(this,"options");this.eventName=e,this.options=r}createEvent(e){return new CustomEvent(this.eventName,{...this.options,detail:e})}dispatch(e,r){const n=this.createEvent(r);return e.dispatchEvent(n),n}listen(e,r,n){const o=s=>{r(s)};return Or(e,this.eventName,o,n)}}function gv(t,e=500){let r=null;const n=(...o)=>{r!==null&&clearTimeout(r),r=setTimeout(()=>{t(...o)},e)};return n.destroy=()=>{r!==null&&(clearTimeout(r),r=null)},n}function hm(t,e){return t===e||t.contains(e)}function vm(t){return(t==null?void 0:t.ownerDocument)??document}function _0(t,e){const{clientX:r,clientY:n}=t,o=e.getBoundingClientRect();return ro.right||no.bottom}const k0=[cm,Qf],$0=[Aa,t0,um],gm=[Kc,e0,lm],S0=[...$0,...gm];function lo(t){return t.pointerType==="mouse"}function P0(t,{select:e=!1}={}){if(!t||!t.focus)return;const r=Zl(t);if(r.activeElement===t)return;const n=r.activeElement;t.focus({preventScroll:!0}),t!==n&&c0(t)&&e&&t.select()}function C0(t,{select:e=!1}={},r){const n=r();for(const o of t)if(P0(o,{select:e}),r()!==n)return!0}let oa=fe(!1);const un=class un{constructor(){ur(()=>(un._refs===0&&(un._cleanup=Rg(()=>{const e=[],r=o=>{x(oa,!1)},n=o=>{x(oa,!0)};return e.push(Or(document,"pointerdown",r,{capture:!0}),Or(document,"pointermove",r,{capture:!0}),Or(document,"keydown",n,{capture:!0})),fi(...e)})),un._refs++,()=>{var e;un._refs--,un._refs===0&&(x(oa,!1),(e=un._cleanup)==null||e.call(un))}))}get current(){return a(oa)}set current(e){x(oa,e,!0)}};ge(un,"_refs",0),ge(un,"_cleanup");let Yd=un;/*! -* tabbable 6.5.0 -* @license MIT, https://github.com/focus-trap/tabbable/blob/master/LICENSE -*/var pm=["input:not([inert]):not([inert] *)","select:not([inert]):not([inert] *)","textarea:not([inert]):not([inert] *)","a[href]:not([inert]):not([inert] *)","area[href]:not([inert]):not([inert] *)","button:not([inert]):not([inert] *)","[tabindex]:not(slot):not([inert]):not([inert] *)","audio[controls]:not([inert]):not([inert] *)","video[controls]:not([inert]):not([inert] *)",'[contenteditable]:not([contenteditable="false"]):not([inert]):not([inert] *)',"details>summary:first-of-type:not([inert]):not([inert] *)","details:not([inert]):not([inert] *)"],Uc=pm.join(","),mm=typeof Element>"u",Ks=mm?function(){}:Element.prototype.matches||Element.prototype.msMatchesSelector||Element.prototype.webkitMatchesSelector,qc=!mm&&Element.prototype.getRootNode?function(t){var e;return t==null||(e=t.getRootNode)===null||e===void 0?void 0:e.call(t)}:function(t){return t==null?void 0:t.ownerDocument},Yc=function(e,r){var n;r===void 0&&(r=!0);var o=e==null||(n=e.getAttribute)===null||n===void 0?void 0:n.call(e,"inert"),s=o===""||o==="true",i=s||r&&e&&(typeof e.closest=="function"?e.closest("[inert]"):Yc(e.parentNode));return i},A0=function(e){var r,n=e==null||(r=e.getAttribute)===null||r===void 0?void 0:r.call(e,"contenteditable");return n===""||n==="true"},bm=function(e,r,n){if(Yc(e))return[];var o=Array.prototype.slice.apply(e.querySelectorAll(Uc));return r&&Ks.call(e,Uc)&&o.unshift(e),o=o.filter(n),o},Xc=function(e,r,n){for(var o=[],s=Array.from(e);s.length;){var i=s.shift();if(!Yc(i,!1))if(i.tagName==="SLOT"){var l=i.assignedElements(),c=l.length?l:i.children,u=Xc(c,!0,n);n.flatten?o.push.apply(o,u):o.push({scopeParent:i,candidates:u})}else{var f=Ks.call(i,Uc);f&&n.filter(i)&&(r||!e.includes(i))&&o.push(i);var g=i.shadowRoot||typeof n.getShadowRoot=="function"&&n.getShadowRoot(i),v=!Yc(g,!1)&&(!n.shadowRootFilter||n.shadowRootFilter(i));if(g&&v){var p=Xc(g===!0?i.children:g.children,!0,n);n.flatten?o.push.apply(o,p):o.push({scopeParent:i,candidates:p})}else s.unshift.apply(s,i.children)}}return o},ym=function(e){return!isNaN(parseInt(e.getAttribute("tabindex"),10))},xm=function(e){if(!e)throw new Error("No node provided");return e.tabIndex<0&&(/^(AUDIO|VIDEO|DETAILS)$/.test(e.tagName)||A0(e))&&!ym(e)?0:e.tabIndex},E0=function(e,r){var n=xm(e);return n<0&&r&&!ym(e)?0:n},T0=function(e,r){return e.tabIndex===r.tabIndex?e.documentOrder-r.documentOrder:e.tabIndex-r.tabIndex},wm=function(e){return e.tagName==="INPUT"},M0=function(e){return wm(e)&&e.type==="hidden"},O0=function(e){var r=e.tagName==="DETAILS"&&Array.prototype.slice.apply(e.children).some(function(n){return n.tagName==="SUMMARY"});return r},z0=function(e,r){for(var n=0;nsummary:first-of-type"),u=c?e.parentElement:e;if(Ks.call(u,"details:not([open]) *"))return!0;if(!n||n==="full"||n==="full-native"||n==="legacy-full"){if(typeof o=="function"){for(var f=e;e;){var g=e.parentElement,v=qc(e);if(g&&!g.shadowRoot&&o(g)===!0)return pv(e);e.assignedSlot?e=e.assignedSlot:!g&&v!==e.ownerDocument?e=v.host:e=g}e=f}if(F0(e))return!e.getClientRects().length;if(n!=="legacy-full")return!0}else if(n==="non-zero-area")return pv(e);return!1},D0=function(e){if(/^(INPUT|BUTTON|SELECT|TEXTAREA)$/.test(e.tagName))for(var r=e.parentElement;r;){if(r.tagName==="FIELDSET"&&r.disabled){for(var n=0;n=0)},_m=function(e){var r=[],n=[];return e.forEach(function(o,s){var i=!!o.scopeParent,l=i?o.scopeParent:o,c=E0(l,i),u=i?_m(o.candidates):l;c===0?i?r.push.apply(r,u):r.push(l):n.push({documentOrder:s,tabIndex:c,item:o,isScope:i,content:u})}),n.sort(T0).reduce(function(o,s){return s.isScope?o.push.apply(o,s.content):o.push(s.content),o},[]).concat(r)},km=function(e,r){r=r||{};var n;return r.getShadowRoot?n=Xc([e],r.includeContainer,{filter:Xd.bind(null,r),flatten:!1,getShadowRoot:r.getShadowRoot,shadowRootFilter:B0}):n=bm(e,r.includeContainer,Xd.bind(null,r)),_m(n)},$m=function(e,r){r=r||{};var n;return r.getShadowRoot?n=Xc([e],r.includeContainer,{filter:Zc.bind(null,r),flatten:!0,getShadowRoot:r.getShadowRoot}):n=bm(e,r.includeContainer,Zc.bind(null,r)),n},eh=function(e,r){if(r=r||{},!e)throw new Error("No node provided");return Ks.call(e,Uc)===!1?!1:Xd(r,e)},V0=pm.concat("iframe:not([inert]):not([inert] *)").join(","),Sm=function(e,r){if(r=r||{},!e)throw new Error("No node provided");return Ks.call(e,V0)===!1?!1:Zc(r,e)};function Pa(){return{getShadowRoot:!0,displayCheck:typeof ResizeObserver=="function"&&ResizeObserver.toString().includes("[native code]")?"full":"none"}}function j0(t,e){if(!eh(t,Pa()))return W0(t,e);const r=Zl(t),n=km(r.body,Pa());e==="prev"&&n.reverse();const o=n.indexOf(t);return o===-1?r.body:n.slice(o+1)[0]}function W0(t,e){const r=Zl(t);if(!Sm(t,Pa()))return r.body;const n=$m(r.body,Pa());e==="prev"&&n.reverse();const o=n.indexOf(t);return o===-1?r.body:n.slice(o+1).find(i=>eh(i,Pa()))??r.body}function Pm(t,e,r){const n=e.toLowerCase();if(n.endsWith(" ")){const g=n.slice(0,-1);if(t.filter(b=>b.toLowerCase().startsWith(g)).length<=1)return Pm(t,g,r);const p=r==null?void 0:r.toLowerCase();if(p&&p.startsWith(g)&&p.charAt(g.length)===" "&&e.trim()===g)return r;const m=t.filter(b=>b.toLowerCase().startsWith(n));if(m.length>0){const b=r?t.indexOf(r):-1;return mv(m,Math.max(b,0)).find(I=>I!==r)||r}}const s=e.length>1&&Array.from(e).every(g=>g===e[0])?e[0]:e,i=s.toLowerCase(),l=r?t.indexOf(r):-1;let c=mv(t,Math.max(l,0));s.length===1&&(c=c.filter(g=>g!==r));const f=c.find(g=>g==null?void 0:g.toLowerCase().startsWith(i));return f!==r?f:void 0}function mv(t,e){return t.map((r,n)=>t[(e+n)%t.length])}const G0={afterMs:1e4,onChange:pr};function H0(t,e){const{afterMs:r,onChange:n,getWindow:o}={...G0,...e};let s=null,i=fe(kr(t));function l(){return o().setTimeout(()=>{x(i,t,!0),n==null||n(t)},r)}return ur(()=>()=>{s&&o().clearTimeout(s)}),ke(()=>a(i),c=>{x(i,c,!0),n==null||n(c),s&&o().clearTimeout(s),s=l()})}var wo,_o,fu,hu;class K0{constructor(e){C(this,wo);C(this,_o);C(this,fu,z(()=>d(this,wo).onMatch?d(this,wo).onMatch:e=>e.focus()));C(this,hu,z(()=>d(this,wo).getCurrentItem?d(this,wo).getCurrentItem:d(this,wo).getActiveElement));V(this,wo,e),V(this,_o,H0("",{afterMs:1e3,getWindow:e.getWindow})),this.handleTypeaheadSearch=this.handleTypeaheadSearch.bind(this),this.resetTypeahead=this.resetTypeahead.bind(this)}handleTypeaheadSearch(e,r){var c,u;if(!r.length)return;d(this,_o).current=d(this,_o).current+e;const n=a(d(this,hu))(),o=((u=(c=r.find(f=>f===n))==null?void 0:c.textContent)==null?void 0:u.trim())??"",s=r.map(f=>{var g;return((g=f.textContent)==null?void 0:g.trim())??""}),i=Pm(s,d(this,_o).current,o),l=r.find(f=>{var g;return((g=f.textContent)==null?void 0:g.trim())===i});return l&&a(d(this,fu))(l),l}resetTypeahead(){d(this,_o).current=""}get search(){return d(this,_o).current}}wo=new WeakMap,_o=new WeakMap,fu=new WeakMap,hu=new WeakMap;const U0="data-context-menu-trigger",q0="data-context-menu-content",Cm=new ti("Menu.Root"),th=new ti("Menu.Root | Menu.Sub"),Am=new ti("Menu.Content"),Y0=new w0("bitsmenuopen",{bubbles:!1,cancelable:!0}),X0=am({component:"menu",parts:["trigger","content","sub-trigger","item","group","group-heading","checkbox-group","checkbox-item","radio-group","radio-item","separator","sub-content","arrow"]});var er,Os,Ko,Ur,gn,zs,ko,Ci,De,Em,Sc,Zd,Jd,Qd,Uo,xa,Pc,wa,Cc,Tm,Ua,Mm,Ac,Ec,li,Tc;class Z0{constructor(e){C(this,De);C(this,er);C(this,Os,null);C(this,Ko,null);C(this,Ur,!1);C(this,gn,null);C(this,zs,null);C(this,ko,null);C(this,Ci,null);C(this,Uo,null);C(this,Ua,e=>{if(!d(this,Ur)||!d(this,gn)||!lo(e))return;const r=d(this,er).triggerNode(),n=d(this,er).contentNode();if(!r||!n){oe(this,De,wa).call(this);return}oe(this,De,li).call(this);const o={x:e.clientX,y:e.clientY};V(this,ko,o);const s=r.getBoundingClientRect(),i=n.getBoundingClientRect();if(d(this,gn)==="content"&&yv(o,i)){oe(this,De,xa).call(this);return}if(d(this,gn)==="trigger"&&J0(o,s,4)){oe(this,De,xa).call(this);return}if(oe(this,De,Tm).call(this,o)){oe(this,De,Ec).call(this);return}const l=oe(this,De,Sc).call(this,o,d(this,gn));if(!l){oe(this,De,wa).call(this);return}if(oe(this,De,Zd).call(this,o,l.corridor,l.intent)){oe(this,De,Ec).call(this);return}oe(this,De,wa).call(this)});V(this,er,e),cn([e.triggerNode,e.contentNode,e.enabled],([r,n,o])=>{if(oe(this,De,Cc).call(this),!r||!n||!o)return;const s=g=>{lo(g)&&(V(this,Ci,{x:g.clientX,y:g.clientY}),d(this,Ur)||oe(this,De,Jd).call(this,g,"content"))},i=g=>{lo(g)&&oe(this,De,Qd).call(this,g,"content")},l=g=>{lo(g)&&(d(this,Ur)||oe(this,De,Jd).call(this,g,"trigger"))},c=g=>{if(lo(g)){if(Sa(g.relatedTarget)){const v=d(this,er).subContentSelector(),p=g.relatedTarget.closest(v);if(p&&p!==n&&p.id&&!!n.querySelector(`[aria-controls="${p.id}"]`))return}oe(this,De,Qd).call(this,g,"trigger")}},u=g=>{lo(g)&&oe(this,De,xa).call(this)},f=g=>{lo(g)&&oe(this,De,xa).call(this)};return r.addEventListener("pointermove",s),r.addEventListener("pointerleave",i),r.addEventListener("pointerenter",u),n.addEventListener("pointermove",l),n.addEventListener("pointerleave",c),n.addEventListener("pointerenter",f),()=>{r.removeEventListener("pointermove",s),r.removeEventListener("pointerleave",i),r.removeEventListener("pointerenter",u),n.removeEventListener("pointermove",l),n.removeEventListener("pointerleave",c),n.removeEventListener("pointerenter",f),oe(this,De,Cc).call(this)}}),ri(()=>{oe(this,De,Cc).call(this)})}}er=new WeakMap,Os=new WeakMap,Ko=new WeakMap,Ur=new WeakMap,gn=new WeakMap,zs=new WeakMap,ko=new WeakMap,Ci=new WeakMap,De=new WeakSet,Em=function(){var r;const e=d(this,er).parentContentNode();return e?e.getBoundingClientRect():((r=d(this,er).triggerNode())==null?void 0:r.getBoundingClientRect())??null},Sc=function(e,r){const n=d(this,er).triggerNode(),o=d(this,er).contentNode();if(!n||!o)return null;const s=n.getBoundingClientRect(),i=o.getBoundingClientRect(),l=Q0(s,i);let c,u,f;return r==="content"?(c=d(this,Ur)?d(this,zs)??e:e,u=i):(c=d(this,Ci)??e,u=oe(this,De,Em).call(this)??s,f=i),V(this,zs,c),{corridor:e2(s,i,l),intent:t2(c,u,l,r,f),targetRect:u,side:l}},Zd=function(e,r,n){return bv(e,r)||bv(e,n)},Jd=function(e,r){const n={x:e.clientX,y:e.clientY};oe(this,De,Sc).call(this,n,r)&&(V(this,gn,r),V(this,ko,n))},Qd=function(e,r){if(!d(this,er).enabled())return;const n=d(this,er).triggerNode(),o=d(this,er).contentNode();if(!n||!o)return;const s=e.relatedTarget;if(Sa(s)&&(r==="content"&&o.contains(s)||r==="trigger"&&n.contains(s)))return;const i={x:e.clientX,y:e.clientY},l=oe(this,De,Sc).call(this,i,r);if(l){if(!yv(i,l.targetRect)&&!oe(this,De,Zd).call(this,i,l.corridor,l.intent)){oe(this,De,Tc).call(this);return}V(this,Ur,!0),V(this,gn,r),V(this,ko,i),d(this,er).setIsPointerInTransit(!0),oe(this,De,Mm).call(this),oe(this,De,Ec).call(this)}},Uo=new WeakMap,xa=function(){if(!d(this,Ur))return;const e=d(this,gn)==="trigger";oe(this,De,Ac).call(this),oe(this,De,li).call(this),V(this,Ur,!1),oe(this,De,Tc).call(this),e?(oe(this,De,Pc).call(this),V(this,Uo,setTimeout(()=>{V(this,Uo,null),d(this,er).setIsPointerInTransit(!1)},100))):d(this,er).setIsPointerInTransit(!1)},Pc=function(){d(this,Uo)!==null&&(clearTimeout(d(this,Uo)),V(this,Uo,null))},wa=function(){const e=d(this,ko);oe(this,De,Ac).call(this),oe(this,De,li).call(this),oe(this,De,Pc).call(this),V(this,Ur,!1),d(this,er).setIsPointerInTransit(!1),oe(this,De,Tc).call(this),d(this,er).onIntentExit(e)},Cc=function(){oe(this,De,Ac).call(this),oe(this,De,li).call(this),oe(this,De,Pc).call(this),d(this,Ur)&&d(this,er).setIsPointerInTransit(!1),V(this,Ur,!1),V(this,gn,null),V(this,zs,null),V(this,ko,null),V(this,Ci,null)},Tm=function(e){const r=d(this,er).contentNode();if(!r)return!1;const o=r.ownerDocument.elementFromPoint(e.x,e.y);if(!o)return!1;const s=d(this,er).subContentSelector(),i=o.closest(s);return!i||i===r?!1:i.id?!!r.querySelector(`[aria-controls="${i.id}"]`):!1},Ua=new WeakMap,Mm=function(){if(d(this,Os))return;const e=Zl(d(this,er).triggerNode()??d(this,er).contentNode());e&&(e.addEventListener("pointermove",d(this,Ua),!0),V(this,Os,()=>{e.removeEventListener("pointermove",d(this,Ua),!0),V(this,Os,null)}))},Ac=function(){var e;(e=d(this,Os))==null||e.call(this)},Ec=function(){oe(this,De,li).call(this),V(this,Ko,setTimeout(()=>{V(this,Ko,null),d(this,Ur)&&oe(this,De,wa).call(this)},500))},li=function(){d(this,Ko)!==null&&(clearTimeout(d(this,Ko)),V(this,Ko,null))},Tc=function(){V(this,gn,null),V(this,zs,null),V(this,ko,null)};function bv(t,e){const{x:r,y:n}=t;let o=!1;for(let s=0,i=e.length-1;sn!=f>n&&r<(u-l)*(n-c)/(f-c)+l&&(o=!o)}return o}function yv(t,e){return t.x>=e.left&&t.x<=e.right&&t.y>=e.top&&t.y<=e.bottom}function J0(t,e,r){return t.x>=e.left+r&&t.x<=e.right-r&&t.y>=e.top+r&&t.y<=e.bottom-r}function Q0(t,e){const r=t.left+t.width/2,n=t.top+t.height/2,o=e.left+e.width/2,s=e.top+e.height/2,i=o-r,l=s-n;return Math.abs(i)>Math.abs(l)?i>0?"right":"left":l>0?"bottom":"top"}function e2(t,e,r){switch(r){case"top":return[{x:Math.min(t.left,e.left)-2,y:t.top},{x:Math.min(t.left,e.left)-2,y:e.bottom},{x:Math.max(t.right,e.right)+2,y:e.bottom},{x:Math.max(t.right,e.right)+2,y:t.top}];case"bottom":return[{x:Math.min(t.left,e.left)-2,y:t.bottom},{x:Math.min(t.left,e.left)-2,y:e.top},{x:Math.max(t.right,e.right)+2,y:e.top},{x:Math.max(t.right,e.right)+2,y:t.bottom}];case"left":return[{x:t.left,y:Math.min(t.top,e.top)-2},{x:e.right,y:Math.min(t.top,e.top)-2},{x:e.right,y:Math.max(t.bottom,e.bottom)+2},{x:t.left,y:Math.max(t.bottom,e.bottom)+2}];case"right":return[{x:t.right,y:Math.min(t.top,e.top)-2},{x:e.left,y:Math.min(t.top,e.top)-2},{x:e.left,y:Math.max(t.bottom,e.bottom)+2},{x:t.right,y:Math.max(t.bottom,e.bottom)+2}]}}function t2(t,e,r,n,o){const i=n==="trigger"?r2(r):r,l=o?Math.min(e.top,o.top)-8:e.top-8,c=o?Math.max(e.bottom,o.bottom)+8:e.bottom+8,u=o?Math.min(e.left,o.left)-8:e.left-8,f=o?Math.max(e.right,o.right)+8:e.right+8;switch(i){case"right":return[t,{x:e.left,y:l},{x:e.left,y:c}];case"left":return[t,{x:e.right,y:l},{x:e.right,y:c}];case"bottom":return[t,{x:u,y:e.top},{x:f,y:e.top}];case"top":return[t,{x:u,y:e.bottom},{x:f,y:e.bottom}]}}function r2(t){switch(t){case"top":return"bottom";case"bottom":return"top";case"left":return"right";case"right":return"left"}}var qa,Ya;const vh=class vh{constructor(e){ge(this,"opts");ge(this,"isUsingKeyboard",new Yd);C(this,qa,fe(!1));C(this,Ya,fe(!1));ge(this,"getBitsAttr",e=>X0.getAttr(e,this.opts.variant.current));this.opts=e}static create(e){const r=new vh(e);return Cm.set(r)}get ignoreCloseAutoFocus(){return a(d(this,qa))}set ignoreCloseAutoFocus(e){x(d(this,qa),e,!0)}get isPointerInTransit(){return a(d(this,Ya))}set isPointerInTransit(e){x(d(this,Ya),e,!0)}};qa=new WeakMap,Ya=new WeakMap;let ef=vh;var Xa,Za;const gh=class gh{constructor(e,r,n){ge(this,"opts");ge(this,"root");ge(this,"parentMenu");ge(this,"contentId",ke(()=>""));C(this,Xa,fe(null));ge(this,"contentPresence");C(this,Za,fe(null));this.opts=e,this.root=r,this.parentMenu=n,this.contentPresence=new f0({ref:ke(()=>this.contentNode),open:this.opts.open,onComplete:()=>{this.opts.onOpenChangeComplete.current(this.opts.open.current)},shouldSkipExitAnimation:()=>{var o,s;return this.root.opts.variant.current!=="menubar"||this.parentMenu!==null?!1:((s=(o=this.root.opts).shouldSkipExitAnimation)==null?void 0:s.call(o))??!1}}),n&&cn(()=>n.opts.open.current,()=>{n.opts.open.current||(this.opts.open.current=!1)})}static create(e,r){return th.set(new gh(e,r,null))}get contentNode(){return a(d(this,Xa))}set contentNode(e){x(d(this,Xa),e,!0)}get triggerNode(){return a(d(this,Za))}set triggerNode(e){x(d(this,Za),e,!0)}toggleOpen(){this.opts.open.current=!this.opts.open.current}onOpen(){this.opts.open.current=!0}onClose(){this.opts.open.current=!1}};Xa=new WeakMap,Za=new WeakMap;let tf=gh;var Ja,Qa,el,tl,rl,Qn,Om,Mc,zm,nl,ol;const ph=class ph{constructor(e,r){C(this,Qn);ge(this,"opts");ge(this,"parentMenu");ge(this,"rovingFocusGroup");ge(this,"domContext");ge(this,"attachment");C(this,Ja,fe(""));C(this,Qa,0);C(this,el);C(this,tl,fe(!1));C(this,rl);ge(this,"onCloseAutoFocus",e=>{var r,n;if((n=(r=this.opts.onCloseAutoFocus).current)==null||n.call(r,e),!(e.defaultPrevented||d(this,rl))){if(this.parentMenu.root.ignoreCloseAutoFocus){e.preventDefault();return}this.parentMenu.triggerNode&&eh(this.parentMenu.triggerNode)&&(e.preventDefault(),this.parentMenu.triggerNode.focus())}});C(this,nl,z(()=>({open:this.parentMenu.opts.open.current})));C(this,ol,z(()=>({id:this.opts.id.current,role:"menu","aria-orientation":"vertical",[this.parentMenu.root.getBitsAttr("content")]:"","data-state":im(this.parentMenu.opts.open.current),...Z1(this.parentMenu.contentPresence.transitionStatus),onkeydown:this.onkeydown,onblur:this.onblur,onfocus:this.onfocus,dir:this.parentMenu.root.opts.dir.current,style:{pointerEvents:"auto",contain:"layout style"},...this.attachment})));ge(this,"popperProps",{onCloseAutoFocus:e=>this.onCloseAutoFocus(e)});this.opts=e,this.parentMenu=r,this.domContext=new Xf(e.ref),this.attachment=ts(this.opts.ref,n=>{this.parentMenu.contentNode!==n&&(this.parentMenu.contentNode=n)}),r.contentId=e.id,V(this,rl,e.isSub??!1),this.onkeydown=this.onkeydown.bind(this),this.onblur=this.onblur.bind(this),this.onfocus=this.onfocus.bind(this),this.handleInteractOutside=this.handleInteractOutside.bind(this),new Z0({contentNode:()=>this.parentMenu.contentNode,triggerNode:()=>this.parentMenu.triggerNode,parentContentNode:()=>{var n;return((n=this.parentMenu.parentMenu)==null?void 0:n.contentNode)??null},subContentSelector:()=>`[${this.parentMenu.root.getBitsAttr("sub-content")}]`,enabled:()=>{var n;return this.parentMenu.opts.open.current&&!!((n=this.parentMenu.triggerNode)!=null&&n.hasAttribute(this.parentMenu.root.getBitsAttr("sub-trigger")))},onIntentExit:n=>{this.parentMenu.opts.open.current=!1,oe(this,Qn,zm).call(this,n)},setIsPointerInTransit:n=>{this.parentMenu.root.isPointerInTransit=n}}),V(this,el,new K0({getActiveElement:()=>this.domContext.getActiveElement(),getWindow:()=>this.domContext.getWindow()}).handleTypeaheadSearch),this.rovingFocusGroup=new u0({rootNode:ke(()=>this.parentMenu.contentNode),candidateAttr:this.parentMenu.root.getBitsAttr("item"),loop:this.opts.loop,orientation:ke(()=>"vertical")}),cn(()=>this.parentMenu.contentNode,n=>{if(!n)return;const o=()=>{Gn(()=>{this.parentMenu.root.isUsingKeyboard.current&&this.rovingFocusGroup.focusFirstCandidate()})};return Y0.listen(n,o)}),ur(()=>{this.parentMenu.opts.open.current||this.domContext.getWindow().clearTimeout(d(this,Qa))})}static create(e){return Am.set(new ph(e,th.get()))}get search(){return a(d(this,Ja))}set search(e){x(d(this,Ja),e,!0)}get mounted(){return a(d(this,tl))}set mounted(e){x(d(this,tl),e,!0)}handleTabKeyDown(e){let r=this.parentMenu;for(;r.parentMenu!==null;)r=r.parentMenu;if(!r.triggerNode)return;e.preventDefault();const n=j0(r.triggerNode,e.shiftKey?"prev":"next");n?(this.parentMenu.root.ignoreCloseAutoFocus=!0,r.onClose(),Gn(()=>{n.focus(),Gn(()=>{this.parentMenu.root.ignoreCloseAutoFocus=!1})})):this.domContext.getDocument().body.focus()}onkeydown(e){var u,f;if(e.defaultPrevented)return;if(e.key===r0){this.handleTabKeyDown(e);return}const r=e.target,n=e.currentTarget;if(!ns(r)||!ns(n))return;const o=((u=r.closest(`[${this.parentMenu.root.getBitsAttr("content")}]`))==null?void 0:u.id)===this.parentMenu.contentId.current,s=e.ctrlKey||e.altKey||e.metaKey,i=e.key.length===1;if(this.rovingFocusGroup.handleKeydown(r,e)||e.code==="Space")return;const c=oe(this,Qn,Om).call(this);o&&!s&&i&&d(this,el).call(this,e.key,c),((f=e.target)==null?void 0:f.id)===this.parentMenu.contentId.current&&S0.includes(e.key)&&(e.preventDefault(),gm.includes(e.key)&&c.reverse(),C0(c,{select:!1},()=>this.domContext.getActiveElement()))}onblur(e){var r,n;Sa(e.currentTarget)&&Sa(e.target)&&((n=(r=e.currentTarget).contains)!=null&&n.call(r,e.target)||(this.domContext.getWindow().clearTimeout(d(this,Qa)),this.search=""))}onfocus(e){this.parentMenu.root.isUsingKeyboard.current&&Gn(()=>this.rovingFocusGroup.focusFirstCandidate())}onItemEnter(){return oe(this,Qn,Mc).call(this)}onItemLeave(e){if(e.currentTarget.hasAttribute(this.parentMenu.root.getBitsAttr("sub-trigger"))||oe(this,Qn,Mc).call(this)||this.parentMenu.root.isUsingKeyboard.current)return;const r=this.parentMenu.contentNode;r==null||r.focus({preventScroll:!0}),this.rovingFocusGroup.setCurrentTabStopId("")}onTriggerLeave(){return!!oe(this,Qn,Mc).call(this)}handleInteractOutside(e){var n;if(!fm(e.target))return;const r=(n=this.parentMenu.triggerNode)==null?void 0:n.id;if(e.target.id===r){e.preventDefault();return}if(e.target.closest(`#${r}`)){e.preventDefault();return}this.parentMenu.root.ignoreCloseAutoFocus=!0,Gn(()=>{this.parentMenu.root.ignoreCloseAutoFocus=!1})}get shouldRender(){return this.parentMenu.contentPresence.shouldRender}get snippetProps(){return a(d(this,nl))}set snippetProps(e){x(d(this,nl),e)}get props(){return a(d(this,ol))}set props(e){x(d(this,ol),e)}};Ja=new WeakMap,Qa=new WeakMap,el=new WeakMap,tl=new WeakMap,rl=new WeakMap,Qn=new WeakSet,Om=function(){const e=this.parentMenu.contentNode;return e?Array.from(e.querySelectorAll(`[${this.parentMenu.root.getBitsAttr("item")}]:not([data-disabled])`)):[]},Mc=function(){return this.parentMenu.root.isPointerInTransit},zm=function(e){var s;if(!e)return;const r=(s=this.parentMenu.parentMenu)==null?void 0:s.contentNode;if(!r)return;const n=this.domContext.getDocument().elementFromPoint(e.x,e.y);if(!Sa(n))return;const o=n.closest(`[${this.parentMenu.root.getBitsAttr("sub-trigger")}]`);!o||!r.contains(o)||o!==this.parentMenu.triggerNode&&o.dispatchEvent(new PointerEvent("pointermove",{bubbles:!0,cancelable:!0,pointerType:"mouse",clientX:e.x,clientY:e.y}))},nl=new WeakMap,ol=new WeakMap;let rf=ph;var Ai,sl;class n2{constructor(e,r){ge(this,"opts");ge(this,"content");ge(this,"attachment");C(this,Ai,fe(!1));C(this,sl,z(()=>({id:this.opts.id.current,tabindex:-1,role:"menuitem","aria-disabled":om(this.opts.disabled.current),"data-disabled":sm(this.opts.disabled.current),"data-highlighted":a(d(this,Ai))?"":void 0,[this.content.parentMenu.root.getBitsAttr("item")]:"",onpointermove:this.onpointermove,onpointerleave:this.onpointerleave,onfocus:this.onfocus,onblur:this.onblur,...this.attachment})));this.opts=e,this.content=r,this.attachment=ts(this.opts.ref),this.onpointermove=this.onpointermove.bind(this),this.onpointerleave=this.onpointerleave.bind(this),this.onfocus=this.onfocus.bind(this),this.onblur=this.onblur.bind(this)}onpointermove(e){if(!e.defaultPrevented&&lo(e))if(this.opts.disabled.current)this.content.onItemLeave(e);else{if(this.content.onItemEnter())return;const n=e.currentTarget;if(!ns(n))return;n.focus({preventScroll:!0})}}onpointerleave(e){e.defaultPrevented||lo(e)&&this.content.onItemLeave(e)}onfocus(e){Gn(()=>{e.defaultPrevented||this.opts.disabled.current||x(d(this,Ai),!0)})}onblur(e){Gn(()=>{e.defaultPrevented||x(d(this,Ai),!1)})}get props(){return a(d(this,sl))}set props(e){x(d(this,sl),e)}}Ai=new WeakMap,sl=new WeakMap;var il,vu,Im,al;const mh=class mh{constructor(e,r){C(this,vu);ge(this,"opts");ge(this,"item");ge(this,"root");C(this,il,!1);C(this,al,z(()=>Jn(this.item.props,{onclick:this.onclick,onpointerdown:this.onpointerdown,onpointerup:this.onpointerup,onkeydown:this.onkeydown})));this.opts=e,this.item=r,this.root=r.content.parentMenu.root,this.onkeydown=this.onkeydown.bind(this),this.onclick=this.onclick.bind(this),this.onpointerdown=this.onpointerdown.bind(this),this.onpointerup=this.onpointerup.bind(this)}static create(e){const r=new n2(e,Am.get());return new mh(e,r)}onkeydown(e){const r=this.item.content.search!=="";if(!(this.item.opts.disabled.current||r&&e.key===Qf)&&k0.includes(e.key)){if(!ns(e.currentTarget))return;e.currentTarget.click(),e.preventDefault()}}onclick(e){this.item.opts.disabled.current||oe(this,vu,Im).call(this)}onpointerup(e){var r;if(!e.defaultPrevented&&!d(this,il)){if(!ns(e.currentTarget))return;(r=e.currentTarget)==null||r.click()}}onpointerdown(e){V(this,il,!0)}get props(){return a(d(this,al))}set props(e){x(d(this,al),e)}};il=new WeakMap,vu=new WeakSet,Im=function(){if(this.item.opts.disabled.current)return;const e=new CustomEvent("menuitemselect",{bubbles:!0,cancelable:!0});if(this.opts.onSelect.current(e),e.defaultPrevented){this.item.content.parentMenu.root.isUsingKeyboard.current=!1;return}this.opts.closeOnSelect.current&&this.item.content.parentMenu.root.opts.onClose()},al=new WeakMap;let nf=mh;var ll;const bh=class bh{constructor(e,r){ge(this,"opts");ge(this,"root");ge(this,"attachment");C(this,ll,z(()=>({id:this.opts.id.current,role:"group",[this.root.getBitsAttr("separator")]:"",...this.attachment})));this.opts=e,this.root=r,this.attachment=ts(this.opts.ref)}static create(e){return new bh(e,Cm.get())}get props(){return a(d(this,ll))}set props(e){x(d(this,ll),e)}};ll=new WeakMap;let of=bh;var gu,cl;const yh=class yh{constructor(e,r){ge(this,"opts");ge(this,"parentMenu");ge(this,"attachment");ge(this,"onclick",e=>{this.opts.disabled.current||e.detail!==0||(this.parentMenu.toggleOpen(),e.preventDefault())});ge(this,"onpointerdown",e=>{if(!this.opts.disabled.current){if(e.pointerType==="touch")return e.preventDefault();e.button===0&&e.ctrlKey===!1&&(this.parentMenu.toggleOpen(),this.parentMenu.opts.open.current||e.preventDefault())}});ge(this,"onpointerup",e=>{this.opts.disabled.current||e.pointerType==="touch"&&(e.preventDefault(),this.parentMenu.toggleOpen())});ge(this,"onkeydown",e=>{if(!this.opts.disabled.current){if(e.key===Qf||e.key===cm){this.parentMenu.toggleOpen(),e.preventDefault();return}e.key===Aa&&(this.parentMenu.onOpen(),e.preventDefault())}});C(this,gu,z(()=>{if(this.parentMenu.opts.open.current&&this.parentMenu.contentId.current)return this.parentMenu.contentId.current}));C(this,cl,z(()=>({id:this.opts.id.current,disabled:this.opts.disabled.current,"aria-haspopup":"menu","aria-expanded":om(this.parentMenu.opts.open.current),"aria-controls":a(d(this,gu)),"data-disabled":sm(this.opts.disabled.current),"data-state":im(this.parentMenu.opts.open.current),[this.parentMenu.root.getBitsAttr("trigger")]:"",onclick:this.onclick,onpointerdown:this.onpointerdown,onpointerup:this.onpointerup,onkeydown:this.onkeydown,...this.attachment})));this.opts=e,this.parentMenu=r,this.attachment=ts(this.opts.ref,n=>this.parentMenu.triggerNode=n)}static create(e){return new yh(e,th.get())}get props(){return a(d(this,cl))}set props(e){x(d(this,cl),e)}};gu=new WeakMap,cl=new WeakMap;let sf=yh;globalThis.bitsDismissableLayers??(globalThis.bitsDismissableLayers=new Map);var Ei,Is,qo,Ti,Mi,Yo,ul,$o,pu,Gi,Nm,mu,Oi,bu,yu,xu,wu,dl,Rm,_u,ku;const xh=class xh{constructor(e){C(this,Gi);ge(this,"opts");C(this,Ei);C(this,Is);C(this,qo,{pointerdown:!1});C(this,Ti,!1);C(this,Mi,!1);C(this,Yo);C(this,ul);C(this,$o,pr);C(this,pu,e=>{e.defaultPrevented||this.opts.ref.current&&Gn(()=>{var r,n;!this.opts.ref.current||d(this,wu).call(this,e.target)||e.target&&!d(this,Mi)&&((n=(r=d(this,ul)).current)==null||n.call(r,e))})});C(this,mu,e=>{let r=e;r.defaultPrevented&&(r=xv(e)),d(this,Ei).current(e)});C(this,Oi,gv(e=>{if(!this.opts.ref.current){d(this,$o).call(this);return}const r=this.opts.isValidEvent.current(e,this.opts.ref.current)||i2(e,this.opts.ref.current);if(!d(this,Ti)||oe(this,Gi,Rm).call(this)||!r){d(this,$o).call(this);return}let n=e;if(n.defaultPrevented&&(n=xv(n)),d(this,Is).current!=="close"&&d(this,Is).current!=="defer-otherwise-close"){d(this,$o).call(this);return}e.pointerType==="touch"?(d(this,$o).call(this),V(this,$o,Or(d(this,Yo),"click",d(this,mu),{once:!0}))):d(this,Ei).current(n)},10));C(this,bu,e=>{d(this,qo)[e.type]=!0});C(this,yu,e=>{d(this,qo)[e.type]=!1});C(this,xu,()=>{this.opts.ref.current&&V(this,Ti,s2(this.opts.ref.current))});C(this,wu,e=>this.opts.ref.current?hm(this.opts.ref.current,e):!1);C(this,dl,gv(()=>{for(const e in d(this,qo))d(this,qo)[e]=!1;V(this,Ti,!1)},20));C(this,_u,()=>{V(this,Mi,!0)});C(this,ku,()=>{V(this,Mi,!1)});ge(this,"props",{onfocuscapture:d(this,_u),onblurcapture:d(this,ku)});this.opts=e,V(this,Is,e.interactOutsideBehavior),V(this,Ei,e.onInteractOutside),V(this,ul,e.onFocusOutside),ur(()=>{V(this,Yo,vm(this.opts.ref.current))});let r=pr;const n=()=>{d(this,dl).call(this),globalThis.bitsDismissableLayers.delete(this),d(this,Oi).destroy(),r()};cn([()=>this.opts.enabled.current,()=>this.opts.ref.current],()=>{if(!(!this.opts.enabled.current||!this.opts.ref.current))return W1(1,()=>{this.opts.ref.current&&(globalThis.bitsDismissableLayers.set(this,d(this,Is)),r(),r=oe(this,Gi,Nm).call(this))}),n}),ri(()=>{d(this,dl).destroy(),globalThis.bitsDismissableLayers.delete(this),d(this,Oi).destroy(),d(this,$o).call(this),r()})}static create(e){return new xh(e)}};Ei=new WeakMap,Is=new WeakMap,qo=new WeakMap,Ti=new WeakMap,Mi=new WeakMap,Yo=new WeakMap,ul=new WeakMap,$o=new WeakMap,pu=new WeakMap,Gi=new WeakSet,Nm=function(){return fi(Or(d(this,Yo),"pointerdown",fi(d(this,bu),d(this,xu)),{capture:!0}),Or(d(this,Yo),"pointerdown",fi(d(this,yu),d(this,Oi))),Or(d(this,Yo),"focusin",d(this,pu)))},mu=new WeakMap,Oi=new WeakMap,bu=new WeakMap,yu=new WeakMap,xu=new WeakMap,wu=new WeakMap,dl=new WeakMap,Rm=function(){return Object.values(d(this,qo)).some(Boolean)},_u=new WeakMap,ku=new WeakMap;let af=xh;function o2(t=[...globalThis.bitsDismissableLayers]){return t.findLast(([e,{current:r}])=>r==="close"||r==="ignore")}function s2(t){const e=[...globalThis.bitsDismissableLayers],r=o2(e);if(r)return r[0].opts.ref.current===t;const[n]=e[0];return n.opts.ref.current===t}function i2(t,e){const r=t.target;if(!fm(r))return!1;const n=!!r.closest(`[${U0}]`),o=!!e.closest(`[${q0}]`);return"button"in t&&t.button>0&&!n?!1:"button"in t&&t.button===0&&n&&o?!0:n&&o?!1:vm(r).documentElement.contains(r)&&!hm(e,r)&&_0(t,e)}function xv(t){const e=t.currentTarget,r=t.target;let n;t instanceof PointerEvent?n=new PointerEvent(t.type,t):n=new PointerEvent("pointerdown",t);let o=!1;return new Proxy(n,{get:(i,l)=>l==="currentTarget"?e:l==="target"?r:l==="preventDefault"?()=>{o=!0,typeof i.preventDefault=="function"&&i.preventDefault()}:l==="defaultPrevented"?o:l in i?i[l]:t[l]})}function a2(t,e){Ve(e,!0);let r=L(e,"interactOutsideBehavior",3,"close"),n=L(e,"onInteractOutside",3,pr),o=L(e,"onFocusOutside",3,pr),s=L(e,"isValidEvent",3,()=>!1);const i=af.create({id:ke(()=>e.id),interactOutsideBehavior:ke(()=>r()),onInteractOutside:ke(()=>n()),enabled:ke(()=>e.enabled),onFocusOutside:ke(()=>o()),isValidEvent:ke(()=>s()),ref:e.ref});var l=Z(),c=_(l);st(c,()=>e.children??rt,()=>({props:i.props})),h(t,l),je()}globalThis.bitsEscapeLayers??(globalThis.bitsEscapeLayers=new Map);var $u,Su;const wh=class wh{constructor(e){ge(this,"opts");ge(this,"domContext");C(this,$u,()=>Or(this.domContext.getDocument(),"keydown",d(this,Su),{passive:!1}));C(this,Su,e=>{if(e.key!==Q1||!l2(this))return;const r=new KeyboardEvent(e.type,e);e.preventDefault();const n=this.opts.escapeKeydownBehavior.current;n!=="close"&&n!=="defer-otherwise-close"||this.opts.onEscapeKeydown.current(r)});this.opts=e,this.domContext=new Xf(this.opts.ref);let r=pr;cn(()=>e.enabled.current,n=>(n&&(globalThis.bitsEscapeLayers.set(this,e.escapeKeydownBehavior),r=d(this,$u).call(this)),()=>{r(),globalThis.bitsEscapeLayers.delete(this)}))}static create(e){return new wh(e)}};$u=new WeakMap,Su=new WeakMap;let lf=wh;function l2(t){const e=[...globalThis.bitsEscapeLayers],r=e.findLast(([o,{current:s}])=>s==="close"||s==="ignore");if(r)return r[0]===t;const[n]=e[0];return n===t}function c2(t,e){Ve(e,!0);let r=L(e,"escapeKeydownBehavior",3,"close"),n=L(e,"onEscapeKeydown",3,pr);lf.create({escapeKeydownBehavior:ke(()=>r()),onEscapeKeydown:ke(()=>n()),enabled:ke(()=>e.enabled),ref:e.ref});var o=Z(),s=_(o);st(s,()=>e.children??rt),h(t,o),je()}var So,fl,Ns;const Pu=class Pu{constructor(){C(this,So,Kn([]));C(this,fl,new WeakMap);C(this,Ns,new WeakMap)}static getInstance(){return this.instance||(this.instance=new Pu),this.instance}register(e){const r=this.getActive();r&&r!==e&&r.pause();const n=document.activeElement;n&&n!==document.body&&d(this,Ns).set(e,n),d(this,So).current=d(this,So).current.filter(o=>o!==e),d(this,So).current.unshift(e)}unregister(e){d(this,So).current=d(this,So).current.filter(n=>n!==e);const r=this.getActive();r&&r.resume()}getActive(){return d(this,So).current[0]}setFocusMemory(e,r){d(this,fl).set(e,r)}getFocusMemory(e){return d(this,fl).get(e)}isActiveScope(e){return this.getActive()===e}setPreFocusMemory(e,r){d(this,Ns).set(e,r)}getPreFocusMemory(e){return d(this,Ns).get(e)}clearPreFocusMemory(e){d(this,Ns).delete(e)}};So=new WeakMap,fl=new WeakMap,Ns=new WeakMap,ge(Pu,"instance");let cf=Pu;var Xo,Rr,qr,Rs,Zo,mr,Fm,Lm,Dm,Bm,df,Oc,ff;const _h=class _h{constructor(e){C(this,mr);C(this,Xo,!1);C(this,Rr,null);C(this,qr,cf.getInstance());C(this,Rs,[]);C(this,Zo);V(this,Zo,e)}get paused(){return d(this,Xo)}pause(){V(this,Xo,!0)}resume(){V(this,Xo,!1)}mount(e){d(this,Rr)&&this.unmount(),V(this,Rr,e),d(this,qr).register(this),oe(this,mr,Bm).call(this),oe(this,mr,Lm).call(this)}unmount(){d(this,Rr)&&(oe(this,mr,Fm).call(this),oe(this,mr,Dm).call(this),d(this,qr).unregister(this),d(this,qr).clearPreFocusMemory(this),V(this,Rr,null))}static use(e){let r=null;return cn([()=>e.ref.current,()=>e.enabled.current],([n,o])=>{n&&o?(r||(r=new _h(e)),r.mount(n)):r&&(r.unmount(),r=null)}),ri(()=>{r==null||r.unmount()}),{get props(){return{tabindex:-1}}}}};Xo=new WeakMap,Rr=new WeakMap,qr=new WeakMap,Rs=new WeakMap,Zo=new WeakMap,mr=new WeakSet,Fm=function(){for(const e of d(this,Rs))e();V(this,Rs,[])},Lm=function(){if(!d(this,Rr))return;const e=new CustomEvent("focusScope.onOpenAutoFocus",{bubbles:!1,cancelable:!0});d(this,Zo).onOpenAutoFocus.current(e),e.defaultPrevented||requestAnimationFrame(()=>{if(!d(this,Rr))return;const r=oe(this,mr,Oc).call(this);r?(r.focus(),d(this,qr).setFocusMemory(this,r)):d(this,Rr).focus()})},Dm=function(){var r,n;const e=new CustomEvent("focusScope.onCloseAutoFocus",{bubbles:!1,cancelable:!0});if((n=(r=d(this,Zo).onCloseAutoFocus).current)==null||n.call(r,e),!e.defaultPrevented){const o=d(this,qr).getPreFocusMemory(this);if(o&&document.contains(o))try{o.focus()}catch{document.body.focus()}}},Bm=function(){if(!d(this,Rr)||!d(this,Zo).trap.current)return;const e=d(this,Rr),r=e.ownerDocument,n=i=>{if(d(this,Xo)||!d(this,qr).isActiveScope(this))return;const l=i.target;if(!l)return;if(e.contains(l))d(this,qr).setFocusMemory(this,l);else{const u=d(this,qr).getFocusMemory(this);if(u&&e.contains(u)&&Sm(u))i.preventDefault(),u.focus();else{const f=oe(this,mr,Oc).call(this),g=oe(this,mr,ff).call(this)[0];(f||g||e).focus()}}},o=i=>{if(!d(this,Zo).loop||d(this,Xo)||i.key!=="Tab"||!d(this,qr).isActiveScope(this))return;const l=oe(this,mr,df).call(this);if(l.length===0)return;const c=l[0],u=l[l.length-1];!i.shiftKey&&r.activeElement===u?(i.preventDefault(),c.focus()):i.shiftKey&&r.activeElement===c&&(i.preventDefault(),u.focus())};d(this,Rs).push(Or(r,"focusin",n,{capture:!0}),Or(e,"keydown",o));const s=new MutationObserver(()=>{const i=d(this,qr).getFocusMemory(this);if(i&&!e.contains(i)){const l=oe(this,mr,Oc).call(this),c=oe(this,mr,ff).call(this)[0],u=l||c;u?(u.focus(),d(this,qr).setFocusMemory(this,u)):e.focus()}});s.observe(e,{childList:!0,subtree:!0}),d(this,Rs).push(()=>s.disconnect())},df=function(){return d(this,Rr)?km(d(this,Rr),{includeContainer:!1,getShadowRoot:!0}):[]},Oc=function(){return oe(this,mr,df).call(this)[0]||null},ff=function(){return d(this,Rr)?$m(d(this,Rr),{includeContainer:!1,getShadowRoot:!0}):[]};let uf=_h;function u2(t,e){Ve(e,!0);let r=L(e,"enabled",3,!1),n=L(e,"trapFocus",3,!1),o=L(e,"loop",3,!1),s=L(e,"onCloseAutoFocus",3,pr),i=L(e,"onOpenAutoFocus",3,pr);const l=uf.use({enabled:ke(()=>r()),trap:ke(()=>n()),loop:o(),onCloseAutoFocus:ke(()=>s()),onOpenAutoFocus:ke(()=>i()),ref:e.ref});var c=Z(),u=_(c);st(u,()=>e.focusScope??rt,()=>({props:l.props})),h(t,c),je()}const wv=()=>{};globalThis.bitsTextSelectionLayers??(globalThis.bitsTextSelectionLayers=new Map);var zi,Ii,hl,vl,Cu,Vm,Au,Eu,gl;const kh=class kh{constructor(e){C(this,Cu);ge(this,"opts");ge(this,"domContext");C(this,zi,pr);C(this,Ii,!1);C(this,hl,wv);C(this,vl,wv);C(this,Au,e=>{d(this,vl).call(this,e)});C(this,Eu,e=>{const r=this.opts.ref.current,n=e.target;!ns(r)||!ns(n)||!d(this,Ii)||!f2(this)||!Y1(r,n)||(d(this,hl).call(this,e),!e.defaultPrevented&&V(this,zi,d2(r,this.domContext.getDocument().body)))});C(this,gl,()=>{d(this,zi).call(this),V(this,zi,pr)});this.opts=e,this.domContext=new Xf(e.ref);let r=pr;cn(()=>[this.opts.enabled.current,this.opts.onPointerDown.current,this.opts.onPointerUp.current],([n,o,s])=>(V(this,Ii,n),V(this,hl,o),V(this,vl,s),n&&(globalThis.bitsTextSelectionLayers.set(this,this.opts.enabled),r(),r=oe(this,Cu,Vm).call(this)),()=>{V(this,Ii,!1),r(),d(this,gl).call(this),globalThis.bitsTextSelectionLayers.delete(this)}))}static create(e){return new kh(e)}};zi=new WeakMap,Ii=new WeakMap,hl=new WeakMap,vl=new WeakMap,Cu=new WeakSet,Vm=function(){return fi(Or(this.domContext.getDocument(),"pointerdown",d(this,Eu)),Or(this.domContext.getDocument(),"pointerup",Xp(d(this,gl),d(this,Au))))},Au=new WeakMap,Eu=new WeakMap,gl=new WeakMap;let hf=kh;const _v=t=>t.style.userSelect||t.style.webkitUserSelect;function d2(t,e){const r=_v(e),n=_v(t);return cc(e,"none"),cc(t,"text"),()=>{cc(e,r),cc(t,n)}}function cc(t,e){t.style.userSelect=e,t.style.webkitUserSelect=e}function f2(t){const e=[...globalThis.bitsTextSelectionLayers];if(!e.length)return!1;const r=e.at(-1);return r?r[0]===t:!1}function h2(t,e){Ve(e,!0);let r=L(e,"preventOverflowTextSelection",3,!0),n=L(e,"onPointerDown",3,pr),o=L(e,"onPointerUp",3,pr);hf.create({id:ke(()=>e.id),onPointerDown:ke(()=>n()),onPointerUp:ke(()=>o()),enabled:ke(()=>e.enabled&&r()),ref:e.ref});var s=Z(),i=_(s);st(i,()=>e.children??rt),h(t,s),je()}globalThis.bitsIdCounter??(globalThis.bitsIdCounter={current:0});function rh(t="bits"){return globalThis.bitsIdCounter.current++,`${t}-${globalThis.bitsIdCounter.current}`}var pl,Ni,Fs,Ls,Tu,jm;class v2{constructor(e){C(this,Tu);C(this,pl);C(this,Ni,0);C(this,Fs,fe());C(this,Ls);V(this,pl,e)}get(...e){return V(this,Ni,d(this,Ni)+1),a(d(this,Fs))===void 0&&V(this,Ls,Rg(()=>{x(d(this,Fs),d(this,pl).call(this,...e),!0)})),ur(()=>()=>{oe(this,Tu,jm).call(this)}),a(d(this,Fs))}}pl=new WeakMap,Ni=new WeakMap,Fs=new WeakMap,Ls=new WeakMap,Tu=new WeakSet,jm=function(){V(this,Ni,d(this,Ni)-1),d(this,Ls)&&d(this,Ni)<=0&&(d(this,Ls).call(this),x(d(this,Fs),void 0),V(this,Ls,void 0))};const zc=new Rd;let uc=fe(null),hs=null,sa=null,ia=!1;const kv=ke(()=>{for(const t of zc.values())if(t)return!0;return!1});let ad=null;const g2=new v2(()=>{function t(){document.body.setAttribute("style",a(uc)??""),document.body.style.removeProperty("--scrollbar-width"),vv&&(hs==null||hs()),x(uc,null)}function e(){sa!==null&&(window.clearTimeout(sa),sa=null)}function r(o,s){e(),ia=!0,ad=Date.now();const i=ad,l=()=>{sa=null,ad===i&&(Wm(zc)?ia=!1:(ia=!1,s()))},c=o===null?24:o;sa=window.setTimeout(l,c)}function n(){a(uc)===null&&zc.size===0&&!ia&&x(uc,document.body.getAttribute("style"),!0)}return cn(()=>kv.current,()=>{var f,g;if(!kv.current)return;n(),ia=!1;const o=getComputedStyle(document.documentElement),s=getComputedStyle(document.body),i=((f=o.scrollbarGutter)==null?void 0:f.includes("stable"))||((g=s.scrollbarGutter)==null?void 0:g.includes("stable")),l=window.innerWidth-document.documentElement.clientWidth,u={padding:Number.parseInt(s.paddingRight??"0",10)+l,margin:Number.parseInt(s.marginRight??"0",10)};l>0&&!i&&(document.body.style.paddingRight=`${u.padding}px`,document.body.style.marginRight=`${u.margin}px`,document.body.style.setProperty("--scrollbar-width",`${l}px`)),document.body.style.overflow="hidden",vv&&(hs=Or(document,"touchmove",v=>{v.target===document.documentElement&&(v.touches.length>1||v.preventDefault())},{passive:!1})),Gn(()=>{document.body.style.pointerEvents="none",document.body.style.overflow="hidden"})}),ri(()=>()=>{hs==null||hs()}),{get lockMap(){return zc},resetBodyStyle:t,scheduleCleanupIfNoNewLocks:r,cancelPendingCleanup:e,ensureInitialStyleCaptured:n}});var Ds,ml,bl,Yr;class p2{constructor(e,r=()=>null){C(this,Ds,rh());C(this,ml);C(this,bl,()=>null);C(this,Yr);ge(this,"locked");V(this,ml,e),V(this,bl,r),V(this,Yr,g2.get()),d(this,Yr)&&(d(this,Yr).cancelPendingCleanup(),d(this,Yr).ensureInitialStyleCaptured(),d(this,Yr).lockMap.set(d(this,Ds),d(this,ml)??!1),this.locked=ke(()=>d(this,Yr).lockMap.get(d(this,Ds))??!1,n=>d(this,Yr).lockMap.set(d(this,Ds),n)),ri(()=>{if(d(this,Yr).lockMap.delete(d(this,Ds)),Wm(d(this,Yr).lockMap))return;const n=d(this,bl).call(this);d(this,Yr).scheduleCleanupIfNoNewLocks(n,()=>{d(this,Yr).resetBodyStyle()})}))}}Ds=new WeakMap,ml=new WeakMap,bl=new WeakMap,Yr=new WeakMap;function Wm(t){for(const[e,r]of t)if(r)return!0;return!1}function $v(t,e){Ve(e,!0);let r=L(e,"preventScroll",3,!0),n=L(e,"restoreScrollDelay",3,null);r()&&new p2(r(),()=>n()),je()}Yb();const m2=["top","right","bottom","left"],os=Math.min,Ao=Math.max,Jc=Math.round,dc=Math.floor,Eo=t=>({x:t,y:t}),b2={left:"right",right:"left",bottom:"top",top:"bottom"};function Gm(t,e,r){return Ao(t,os(e,r))}function Oo(t,e){return typeof t=="function"?t(e):t}function ss(t){return t.split("-")[0]}function Zi(t){return t.split("-")[1]}function nh(t){return t==="x"?"y":"x"}function oh(t){return t==="y"?"height":"width"}function Un(t){const e=t[0];return e==="t"||e==="b"?"y":"x"}function sh(t){return nh(Un(t))}function y2(t,e,r){r===void 0&&(r=!1);const n=Zi(t),o=sh(t),s=oh(o);let i=o==="x"?n===(r?"end":"start")?"right":"left":n==="start"?"bottom":"top";return e.reference[s]>e.floating[s]&&(i=Qc(i)),[i,Qc(i)]}function x2(t){const e=Qc(t);return[vf(t),e,vf(e)]}function vf(t){return t.includes("start")?t.replace("start","end"):t.replace("end","start")}const Sv=["left","right"],Pv=["right","left"],w2=["top","bottom"],_2=["bottom","top"];function k2(t,e,r){switch(t){case"top":case"bottom":return r?e?Pv:Sv:e?Sv:Pv;case"left":case"right":return e?w2:_2;default:return[]}}function $2(t,e,r,n){const o=Zi(t);let s=k2(ss(t),r==="start",n);return o&&(s=s.map(i=>i+"-"+o),e&&(s=s.concat(s.map(vf)))),s}function Qc(t){const e=ss(t);return b2[e]+t.slice(e.length)}function S2(t){var e,r,n,o;return{top:(e=t.top)!=null?e:0,right:(r=t.right)!=null?r:0,bottom:(n=t.bottom)!=null?n:0,left:(o=t.left)!=null?o:0}}function Hm(t){return typeof t!="number"?S2(t):{top:t,right:t,bottom:t,left:t}}function eu(t){const{x:e,y:r,width:n,height:o}=t;return{width:n,height:o,top:r,left:e,right:e+n,bottom:r+o,x:e,y:r}}function Cv(t,e,r){let{reference:n,floating:o}=t;const s=Un(e),i=sh(e),l=oh(i),c=ss(e),u=s==="y",f=n.x+n.width/2-o.width/2,g=n.y+n.height/2-o.height/2,v=n[l]/2-o[l]/2;let p;switch(c){case"top":p={x:f,y:n.y-o.height};break;case"bottom":p={x:f,y:n.y+n.height};break;case"right":p={x:n.x+n.width,y:g};break;case"left":p={x:n.x-o.width,y:g};break;default:p={x:n.x,y:n.y}}const m=Zi(e);return m&&(p[i]+=v*(m==="end"?1:-1)*(r&&u?-1:1)),p}async function P2(t,e){var r;e===void 0&&(e={});const{x:n,y:o,platform:s,rects:i,elements:l,strategy:c}=t,{boundary:u="clippingAncestors",rootBoundary:f="viewport",elementContext:g="floating",altBoundary:v=!1,padding:p=0}=Oo(e,t),m=Hm(p),w=l[v?g==="floating"?"reference":"floating":g],$=eu(await s.getClippingRect({element:(r=await(s.isElement==null?void 0:s.isElement(w)))==null||r?w:w.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(l.floating)),boundary:u,rootBoundary:f,strategy:c})),I=g==="floating"?{x:n,y:o,width:i.floating.width,height:i.floating.height}:i.reference,B=await(s.getOffsetParent==null?void 0:s.getOffsetParent(l.floating)),N=await(s.isElement==null?void 0:s.isElement(B))&&await(s.getScale==null?void 0:s.getScale(B))||{x:1,y:1},M=eu(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:l,rect:I,offsetParent:B,strategy:c}):I);return{top:($.top-M.top+m.top)/N.y,bottom:(M.bottom-$.bottom+m.bottom)/N.y,left:($.left-M.left+m.left)/N.x,right:(M.right-$.right+m.right)/N.x}}const C2=50,A2=async(t,e,r)=>{const{placement:n="bottom",strategy:o="absolute",middleware:s=[],platform:i}=r,l=i.detectOverflow?i:{...i,detectOverflow:P2},c=await(i.isRTL==null?void 0:i.isRTL(e));let u=await i.getElementRects({reference:t,floating:e,strategy:o}),{x:f,y:g}=Cv(u,n,c),v=n,p=0;const m={};for(let b=0;b({name:"arrow",options:t,async fn(e){const{x:r,y:n,placement:o,rects:s,platform:i,elements:l,middlewareData:c}=e,{element:u,padding:f=0}=Oo(t,e)||{};if(u==null)return{};const g=Hm(f),v={x:r,y:n},p=sh(o),m=oh(p),b=await i.getDimensions(u),w=p==="y",$=w?"top":"left",I=w?"bottom":"right",B=w?"clientHeight":"clientWidth",N=s.reference[m]+s.reference[p]-v[p]-s.floating[m],M=v[p]-s.reference[p],R=await(i.getOffsetParent==null?void 0:i.getOffsetParent(u));let F=R?R[B]:0;(!F||!await(i.isElement==null?void 0:i.isElement(R)))&&(F=l.floating[B]||s.floating[m]);const k=N/2-M/2,j=F/2-b[m]/2-1,T=os(g[$],j),ie=os(g[I],j),xe=F-b[m]-ie,J=F/2-b[m]/2+k,pe=Gm(T,J,xe),be=!c.arrow&&Zi(o)!=null&&J!==pe&&s.reference[m]/2-(Jpe<=0)){var ie,xe;const pe=(((ie=s.flip)==null?void 0:ie.index)||0)+1,be=F[pe];if(be&&(!(g==="alignment"?I!==Un(be):!1)||T.every(Te=>Un(Te.placement)===I?Te.overflows[0]>0:!0)))return{data:{index:pe,overflows:T},reset:{placement:be}};let ye=(xe=T.filter(Oe=>Oe.overflows[0]<=0).sort((Oe,Te)=>Oe.overflows[1]-Te.overflows[1])[0])==null?void 0:xe.placement;if(!ye)switch(p){case"bestFit":{var J;const Oe=(J=T.filter(Te=>{if(R){const Ne=Un(Te.placement);return Ne===I||Ne==="y"}return!0}).map(Te=>[Te.placement,Te.overflows.filter(Ne=>Ne>0).reduce((Ne,K)=>Ne+K,0)]).sort((Te,Ne)=>Te[1]-Ne[1])[0])==null?void 0:J[0];Oe&&(ye=Oe);break}case"initialPlacement":ye=l;break}if(o!==ye)return{reset:{placement:ye}}}return{}}}};function Av(t,e){return{top:t.top-e.height,right:t.right-e.width,bottom:t.bottom-e.height,left:t.left-e.width}}function Ev(t){return m2.some(e=>t[e]>=0)}const M2=function(t){return t===void 0&&(t={}),{name:"hide",options:t,async fn(e){const{rects:r,platform:n}=e,{strategy:o="referenceHidden",...s}=Oo(t,e);switch(o){case"referenceHidden":{const i=await n.detectOverflow(e,{...s,elementContext:"reference"}),l=Av(i,r.reference);return{data:{referenceHiddenOffsets:l,referenceHidden:Ev(l)}}}case"escaped":{const i=await n.detectOverflow(e,{...s,altBoundary:!0}),l=Av(i,r.floating);return{data:{escapedOffsets:l,escaped:Ev(l)}}}default:return{}}}}},Km=new Set(["left","top"]);async function O2(t,e){const{placement:r,platform:n,elements:o}=t,s=await(n.isRTL==null?void 0:n.isRTL(o.floating)),i=ss(r),l=Zi(r),c=Un(r)==="y",u=Km.has(i)?-1:1,f=s&&c?-1:1,g=Oo(e,t);let{mainAxis:v,crossAxis:p,alignmentAxis:m}=typeof g=="number"?{mainAxis:g,crossAxis:0,alignmentAxis:null}:{mainAxis:g.mainAxis||0,crossAxis:g.crossAxis||0,alignmentAxis:g.alignmentAxis};return l&&typeof m=="number"&&(p=l==="end"?m*-1:m),c?{x:p*f,y:v*u}:{x:v*u,y:p*f}}const z2=function(t){return t===void 0&&(t=0),{name:"offset",options:t,async fn(e){var r,n;const{x:o,y:s,placement:i,middlewareData:l}=e,c=await O2(e,t);return i===((r=l.offset)==null?void 0:r.placement)&&(n=l.arrow)!=null&&n.alignmentOffset?{}:{x:o+c.x,y:s+c.y,data:{...c,placement:i}}}}},I2=function(t){return t===void 0&&(t={}),{name:"shift",options:t,async fn(e){const{x:r,y:n,placement:o,platform:s}=e,{mainAxis:i=!0,crossAxis:l=!1,limiter:c={fn:I=>{let{x:B,y:N}=I;return{x:B,y:N}}},...u}=Oo(t,e),f={x:r,y:n},g=await s.detectOverflow(e,u),v=Un(o),p=nh(v);let m=f[p],b=f[v];const w=(I,B)=>Gm(B+g[I==="y"?"top":"left"],B,B-g[I==="y"?"bottom":"right"]);i&&(m=w(p,m)),l&&(b=w(v,b));const $=c.fn({...e,[p]:m,[v]:b});return{...$,data:{x:$.x-r,y:$.y-n,enabled:{[p]:i,[v]:l}}}}}},N2=function(t){return t===void 0&&(t={}),{options:t,fn(e){var r,n;const{x:o,y:s,placement:i,rects:l,middlewareData:c}=e,{offset:u=0,mainAxis:f=!0,crossAxis:g=!0}=Oo(t,e),v={x:o,y:s},p=Un(i),m=nh(p);let b=v[m],w=v[p];const $=Oo(u,e),I=typeof $=="number"?{mainAxis:$,crossAxis:0}:{mainAxis:(r=$.mainAxis)!=null?r:0,crossAxis:(n=$.crossAxis)!=null?n:0};if(f){const M=m==="y"?"height":"width",R=l.reference[m]-l.floating[M]+I.mainAxis,F=l.reference[m]+l.reference[M]-I.mainAxis;bF&&(b=F)}if(g){var B,N;const M=m==="y"?"width":"height",R=Km.has(ss(i)),F=l.reference[p]-l.floating[M]+(R&&((B=c.offset)==null?void 0:B[p])||0)+(R?0:I.crossAxis),k=l.reference[p]+l.reference[M]+(R?0:((N=c.offset)==null?void 0:N[p])||0)-(R?I.crossAxis:0);wk&&(w=k)}return{[m]:b,[p]:w}}}},R2=function(t){return t===void 0&&(t={}),{name:"size",options:t,async fn(e){const{placement:r,rects:n,platform:o,elements:s}=e,{apply:i=()=>{},...l}=Oo(t,e),c=await o.detectOverflow(e,l),u=ss(r),f=Zi(r),g=Un(r)==="y",{width:v,height:p}=n.floating;let m,b;u==="top"||u==="bottom"?(m=u,b=f===(await(o.isRTL==null?void 0:o.isRTL(s.floating))?"start":"end")?"left":"right"):(b=u,m=f==="end"?"top":"bottom");const w=p-c.top-c.bottom,$=v-c.left-c.right,I=os(p-c[m],w),B=os(v-c[b],$),N=e.middlewareData.shift,M=!N;let R=I,F=B;N!=null&&N.enabled.x&&(F=$),N!=null&&N.enabled.y&&(R=w),M&&!f&&(g?F=v-2*Ao(c.left,c.right):R=p-2*Ao(c.top,c.bottom)),await i({...e,availableWidth:F,availableHeight:R});const k=await o.getDimensions(s.floating);return v!==k.width||p!==k.height?{reset:{rects:!0}}:{}}}};function ju(){return typeof window<"u"}function Ji(t){return Um(t)?(t.nodeName||"").toLowerCase():"#document"}function en(t){var e;return(t==null||(e=t.ownerDocument)==null?void 0:e.defaultView)||window}function zo(t){var e;return(e=(Um(t)?t.ownerDocument:t.document)||window.document)==null?void 0:e.documentElement}function Um(t){return ju()?t instanceof Node||t instanceof en(t).Node:!1}function ro(t){return ju()?t instanceof Element||t instanceof en(t).Element:!1}function us(t){return ju()?t instanceof HTMLElement||t instanceof en(t).HTMLElement:!1}function Tv(t){return!ju()||typeof ShadowRoot>"u"?!1:t instanceof ShadowRoot||t instanceof en(t).ShadowRoot}function Wu(t){const{overflow:e,overflowX:r,overflowY:n,display:o}=no(t);return/auto|scroll|overlay|hidden|clip/.test(e+n+r)&&o!=="inline"&&o!=="contents"}function F2(t){return/^(table|td|th)$/.test(Ji(t))}function Gu(t){try{if(t.matches(":popover-open"))return!0}catch{}try{return t.matches(":modal")}catch{return!1}}const L2=/transform|translate|scale|rotate|perspective|filter/,D2=/paint|layout|strict|content/,vs=t=>!!t&&t!=="none";let ld;function ih(t){const e=ro(t)?no(t):t;return vs(e.transform)||vs(e.translate)||vs(e.scale)||vs(e.rotate)||vs(e.perspective)||!ah()&&(vs(e.backdropFilter)||vs(e.filter))||L2.test(e.willChange||"")||D2.test(e.contain||"")}function B2(t){let e=Us(t);for(;us(e)&&!Ea(e);){if(ih(e))return e;if(Gu(e))return null;e=Us(e)}return null}function ah(){return ld==null&&(ld=typeof CSS<"u"&&CSS.supports&&CSS.supports("-webkit-backdrop-filter","none")),ld}function Ea(t){return/^(html|body|#document)$/.test(Ji(t))}function no(t){return en(t).getComputedStyle(t)}function Hu(t){return ro(t)?{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}:{scrollLeft:t.scrollX,scrollTop:t.scrollY}}function Us(t){if(Ji(t)==="html")return t;const e=t.assignedSlot||t.parentNode||Tv(t)&&t.host||zo(t);return Tv(e)?e.host:e}function qm(t){const e=Us(t);return Ea(e)?(t.ownerDocument||t).body:us(e)&&Wu(e)?e:qm(e)}function Ta(t,e,r){var n;e===void 0&&(e=[]),r===void 0&&(r=!0);const o=qm(t),s=o===((n=t.ownerDocument)==null?void 0:n.body),i=en(o);if(s){const l=gf(i);return e.concat(i,i.visualViewport||[],Wu(o)?o:[],l&&r?Ta(l):[])}else return e.concat(o,Ta(o,[],r))}function gf(t){return t.parent&&Object.getPrototypeOf(t.parent)?t.frameElement:null}function Ym(t){const e=no(t);let r=parseFloat(e.width)||0,n=parseFloat(e.height)||0;const o=us(t),s=o?t.offsetWidth:r,i=o?t.offsetHeight:n,l=Jc(r)!==s||Jc(n)!==i;return l&&(r=s,n=i),{width:r,height:n,$:l}}function lh(t){return ro(t)?t:t.contextElement}function hi(t){const e=lh(t);if(!us(e))return Eo(1);const r=e.getBoundingClientRect(),{width:n,height:o,$:s}=Ym(e);let i=(s?Jc(r.width):r.width)/n,l=(s?Jc(r.height):r.height)/o;return(!i||!Number.isFinite(i))&&(i=1),(!l||!Number.isFinite(l))&&(l=1),{x:i,y:l}}const V2=Eo(0);function Xm(t){const e=en(t);return!ah()||!e.visualViewport?V2:{x:e.visualViewport.offsetLeft,y:e.visualViewport.offsetTop}}function j2(t,e,r){return e===void 0&&(e=!1),!!r&&e&&r===en(t)}function qs(t,e,r,n){e===void 0&&(e=!1),r===void 0&&(r=!1);const o=t.getBoundingClientRect(),s=lh(t);let i=Eo(1);e&&(n?ro(n)&&(i=hi(n)):i=hi(t));const l=j2(s,r,n)?Xm(s):Eo(0);let c=(o.left+l.x)/i.x,u=(o.top+l.y)/i.y,f=o.width/i.x,g=o.height/i.y;if(s&&n){const v=en(s),p=ro(n)?en(n):n;let m=v,b=gf(m);for(;b&&p!==m;){const w=hi(b),$=b.getBoundingClientRect(),I=no(b),B=$.left+(b.clientLeft+parseFloat(I.paddingLeft))*w.x,N=$.top+(b.clientTop+parseFloat(I.paddingTop))*w.y;c*=w.x,u*=w.y,f*=w.x,g*=w.y,c+=B,u+=N,m=en(b),b=gf(m)}}return eu({width:f,height:g,x:c,y:u})}function Ku(t,e){const r=Hu(t).scrollLeft;return e?e.left+r:qs(zo(t)).left+r}function Zm(t,e){const r=t.getBoundingClientRect(),n=r.left+e.scrollLeft-Ku(t,r),o=r.top+e.scrollTop;return{x:n,y:o}}function W2(t){let{elements:e,rect:r,offsetParent:n,strategy:o}=t;const s=o==="fixed",i=zo(n),l=e?Gu(e.floating):!1;if(n===i||l&&s)return r;let c={scrollLeft:0,scrollTop:0},u=Eo(1);const f=Eo(0),g=us(n);if((g||!s)&&((Ji(n)!=="body"||Wu(i))&&(c=Hu(n)),g)){const p=qs(n);u=hi(n),f.x=p.x+n.clientLeft,f.y=p.y+n.clientTop}const v=i&&!g&&!s?Zm(i,c):Eo(0);return{width:r.width*u.x,height:r.height*u.y,x:r.x*u.x-c.scrollLeft*u.x+f.x+v.x,y:r.y*u.y-c.scrollTop*u.y+f.y+v.y}}function G2(t){return t.getClientRects?Array.from(t.getClientRects()):[]}function H2(t){const e=Hu(t),r=t.ownerDocument.body,n=Ao(t.scrollWidth,t.clientWidth,r.scrollWidth,r.clientWidth),o=Ao(t.scrollHeight,t.clientHeight,r.scrollHeight,r.clientHeight);let s=-e.scrollLeft+Ku(t);const i=-e.scrollTop;return no(r).direction==="rtl"&&(s+=Ao(t.clientWidth,r.clientWidth)-n),{width:n,height:o,x:s,y:i}}const K2=25;function U2(t,e,r){r===void 0&&(r="viewport");const n=r==="layoutViewport",o=en(t),s=zo(t),i=o.visualViewport;let l=s.clientWidth,c=s.clientHeight,u=0,f=0;if(i){const v=!ah()||e==="fixed";n?v||(u=-i.offsetLeft,f=-i.offsetTop):(l=i.width,c=i.height,v&&(u=i.offsetLeft,f=i.offsetTop))}if(Ku(s)<=0){const v=s.ownerDocument,p=v.body,m=getComputedStyle(p),b=v.compatMode==="CSS1Compat"&&parseFloat(m.marginLeft)+parseFloat(m.marginRight)||0,w=Math.abs(s.clientWidth-p.clientWidth-b),$=getComputedStyle(s).scrollbarGutter==="stable both-edges"?w/2:w;$<=K2&&(l-=$)}return{width:l,height:c,x:u,y:f}}function q2(t,e){const r=qs(t,!0,e==="fixed"),n=r.top+t.clientTop,o=r.left+t.clientLeft,s=hi(t),i=t.clientWidth*s.x,l=t.clientHeight*s.y,c=o*s.x,u=n*s.y;return{width:i,height:l,x:c,y:u}}function Mv(t,e,r){let n;if(e==="viewport"||e==="layoutViewport")n=U2(t,r,e);else if(e==="document")n=H2(zo(t));else if(ro(e))n=q2(e,r);else{const o=Xm(t);n={x:e.x-o.x,y:e.y-o.y,width:e.width,height:e.height}}return eu(n)}function Y2(t,e){const r=e.get(t);if(r)return r;let n=Ta(t,[],!1).filter(l=>ro(l)&&Ji(l)!=="body"),o=null;const s=no(t).position==="fixed";let i=s?Us(t):t;for(;ro(i)&&!Ea(i);){const l=no(i),c=ih(i),u=o?o.position:s?"fixed":"";!c&&(u==="fixed"||u==="absolute"&&l.position==="static")?n=n.filter(g=>g!==i):o=l,i=Us(i)}return e.set(t,n),n}function X2(t){let{element:e,boundary:r,rootBoundary:n,strategy:o}=t;const i=[...r==="clippingAncestors"?Gu(e)?[]:Y2(e,this._c):[].concat(r),n],l=Mv(e,i[0],o);let c=l.top,u=l.right,f=l.bottom,g=l.left;for(let v=1;v{l(!1,1e-7)},1e3)}F=!1}try{n=new IntersectionObserver(k,{...R,root:s.ownerDocument})}catch{n=new IntersectionObserver(k,R)}n.observe(t)}const c=en(t),u=()=>l(r);return c.addEventListener("resize",u),l(!0),()=>{c.removeEventListener("resize",u),i()}}function nk(t,e,r,n){n===void 0&&(n={});const{ancestorScroll:o=!0,ancestorResize:s=!0,elementResize:i=typeof ResizeObserver=="function",layoutShift:l=typeof IntersectionObserver=="function",animationFrame:c=!1}=n,u=lh(t),f=o||s?[...u?Ta(u):[],...e?Ta(e):[]]:[];f.forEach($=>{o&&$.addEventListener("scroll",r),s&&$.addEventListener("resize",r)});const g=u&&l?rk(u,r,s):null;let v=-1,p=null;i&&(p=new ResizeObserver($=>{let[I]=$;I&&I.target===u&&p&&e&&(p.unobserve(e),cancelAnimationFrame(v),v=requestAnimationFrame(()=>{var B;(B=p)==null||B.observe(e)})),r()}),u&&!c&&p.observe(u),e&&p.observe(e));let m,b=c?qs(t):null;c&&w();function w(){const $=qs(t);b&&!Qm(b,$)&&r(),b=$,m=requestAnimationFrame(w)}return r(),()=>{var $;f.forEach(I=>{o&&I.removeEventListener("scroll",r),s&&I.removeEventListener("resize",r)}),g==null||g(),($=p)==null||$.disconnect(),p=null,c&&cancelAnimationFrame(m)}}const ok=z2,sk=I2,ik=T2,ak=R2,lk=M2,ck=E2,uk=N2,dk=(t,e,r)=>{const n=new Map,o=r??{},s={...tk,...o.platform,_c:n};return A2(t,e,{...o,platform:s})};function gs(t){return typeof t=="function"?t():t}function eb(t){return typeof window>"u"?1:(t.ownerDocument.defaultView||window).devicePixelRatio||1}function zv(t,e){const r=eb(t);return Math.round(e*r)/r}function Iv(t){return{[`--bits-${t}-content-transform-origin`]:"var(--bits-floating-transform-origin)",[`--bits-${t}-content-available-width`]:"var(--bits-floating-available-width)",[`--bits-${t}-content-available-height`]:"var(--bits-floating-available-height)",[`--bits-${t}-anchor-width`]:"var(--bits-floating-anchor-width)",[`--bits-${t}-anchor-height`]:"var(--bits-floating-anchor-height)"}}function fk(t){const e=t.whileElementsMounted,r=z(()=>gs(t.open)??!0),n=z(()=>gs(t.middleware)),o=z(()=>gs(t.transform)??!0),s=z(()=>gs(t.placement)??"bottom"),i=z(()=>gs(t.strategy)??"absolute"),l=z(()=>gs(t.sideOffset)??0),c=z(()=>gs(t.alignOffset)??0),u=t.reference;let f=fe(0),g=fe(0);const v=Kn(null);let p=fe(kr(a(i))),m=fe(kr(a(s))),b=fe(kr({})),w=fe(!1),$=!1,I=0;const B=z(()=>{const T=v.current?zv(v.current,a(f)):a(f),ie=v.current?zv(v.current,a(g)):a(g);return a(o)?{position:a(p),left:"0",top:"0",transform:`translate(${T}px, ${ie}px)`,...v.current&&eb(v.current)>=1.5&&{willChange:"transform"}}:{position:a(p),left:`${T}px`,top:`${ie}px`}});let N;function M(){if(u.current===null||v.current===null)return;const T=u.current,ie=v.current,xe=++I;dk(T,ie,{middleware:a(n),placement:a(s),strategy:a(i)}).then(J=>{if(xe!==I||u.current!==T||v.current!==ie)return;if(hk(T)){x(b,{...a(b),hide:{...a(b).hide,referenceHidden:!0}},!0);return}if(!a(r)&&a(f)!==0&&a(g)!==0){const be=Math.max(Math.abs(a(l)),Math.abs(a(c)),15);if(J.x<=be&&J.y<=be)return}x(f,J.x,!0),x(g,J.y,!0),x(p,J.strategy,!0),x(m,J.placement,!0),x(b,J.middlewareData,!0),x(w,!0)})}function R(){typeof N=="function"&&(N(),N=void 0),I++}function F(){if(R(),e===void 0){M();return}a(r)&&(u.current===null||v.current===null||(N=e(u.current,v.current,M)))}function k(){!a(r)&&v.current===null&&x(w,!1)}function j(){return[a(n),a(s),a(i),a(l),a(c),a(r)]}return ur(()=>{e===void 0&&a(r)&&M()}),ur(F),ur(()=>{if(e!==void 0){if(j(),!a(r)){$=!1;return}if(!a(w)){$=!1;return}if(!$){$=!0;return}M()}}),ur(k),ur(()=>R),{floating:v,reference:u,get strategy(){return a(p)},get placement(){return a(m)},get middlewareData(){return a(b)},get isPositioned(){return a(w)},get floatingStyles(){return a(B)},get update(){return M}}}function hk(t){return t instanceof Element?!t.isConnected||t instanceof HTMLElement&&t.hidden?!0:t.getClientRects().length===0:!1}const vk={top:"bottom",right:"left",bottom:"top",left:"right"},ch=new ti("Floating.Root"),Nv=new ti("Floating.Content"),uh=new ti("Floating.Root");class tu{constructor(){ge(this,"anchorNode",Kn(null));ge(this,"customAnchorNode",Kn(null));ge(this,"triggerNode",Kn(null));ur(()=>{this.customAnchorNode.current?typeof this.customAnchorNode.current=="string"?this.anchorNode.current=document.querySelector(this.customAnchorNode.current):this.anchorNode.current=this.customAnchorNode.current:this.anchorNode.current=this.triggerNode.current})}static create(e=!1){return e?uh.set(new tu):ch.set(new tu)}}var yl,xl,wl,Mu,_l,Ou,kl,$l,Sl,Pl,Cl,Al,El,Tl,Ml,Ol,zl,Il,Nl,Rl,Fl,Ll,Dl,Bl;const zu=class zu{constructor(e,r){ge(this,"opts");ge(this,"root");ge(this,"contentRef",Kn(null));ge(this,"wrapperRef",Kn(null));ge(this,"arrowRef",Kn(null));ge(this,"contentAttachment",ts(this.contentRef));ge(this,"wrapperAttachment",ts(this.wrapperRef));ge(this,"arrowAttachment",ts(this.arrowRef));ge(this,"arrowId",Kn(rh()));C(this,yl,z(()=>{if(typeof this.opts.style=="string")return ya(this.opts.style);if(!this.opts.style)return{}}));C(this,xl);C(this,wl,new j1(()=>this.arrowRef.current??void 0));C(this,Mu,z(()=>{var e;return((e=d(this,wl))==null?void 0:e.width)??0}));C(this,_l,z(()=>{var e;return((e=d(this,wl))==null?void 0:e.height)??0}));C(this,Ou,z(()=>{var e;return((e=this.opts.side)==null?void 0:e.current)+(this.opts.align.current!=="center"?`-${this.opts.align.current}`:"")}));C(this,kl,z(()=>Array.isArray(this.opts.collisionBoundary.current)?this.opts.collisionBoundary.current:[this.opts.collisionBoundary.current]));C(this,$l,z(()=>a(d(this,kl)).length>0));C(this,Sl,z(()=>({padding:this.opts.collisionPadding.current,boundary:a(d(this,kl)).filter(l0),altBoundary:this.hasExplicitBoundaries})));C(this,Pl,fe(void 0));C(this,Cl,fe(void 0));C(this,Al,fe(void 0));C(this,El,fe(void 0));C(this,Tl,z(()=>[ok({mainAxis:this.opts.sideOffset.current+a(d(this,_l)),alignmentAxis:this.opts.alignOffset.current}),this.opts.avoidCollisions.current&&sk({mainAxis:!0,crossAxis:!1,limiter:this.opts.sticky.current==="partial"?uk():void 0,...this.detectOverflowOptions}),this.opts.avoidCollisions.current&&ik({...this.detectOverflowOptions}),ak({...this.detectOverflowOptions,apply:({rects:e,availableWidth:r,availableHeight:n})=>{const{width:o,height:s}=e.reference;x(d(this,Pl),r,!0),x(d(this,Cl),n,!0),x(d(this,Al),o,!0),x(d(this,El),s,!0)}}),this.arrowRef.current&&ck({element:this.arrowRef.current,padding:this.opts.arrowPadding.current}),gk({arrowWidth:a(d(this,Mu)),arrowHeight:a(d(this,_l))}),this.opts.hideWhenDetached.current&&lk({strategy:"referenceHidden",...this.detectOverflowOptions})].filter(Boolean)));ge(this,"floating");C(this,Ml,z(()=>pk(this.floating.placement)));C(this,Ol,z(()=>mk(this.floating.placement)));C(this,zl,z(()=>{var e;return((e=this.floating.middlewareData.arrow)==null?void 0:e.x)??0}));C(this,Il,z(()=>{var e;return((e=this.floating.middlewareData.arrow)==null?void 0:e.y)??0}));C(this,Nl,z(()=>{var e;return((e=this.floating.middlewareData.arrow)==null?void 0:e.centerOffset)!==0}));C(this,Rl,fe());C(this,Fl,z(()=>vk[this.placedSide]));C(this,Ll,z(()=>{var e,r,n;return{id:this.opts.wrapperId.current,"data-bits-floating-content-wrapper":"",style:{...this.floating.floatingStyles,transform:this.floating.isPositioned?this.floating.floatingStyles.transform:"translate(0, -200%)",minWidth:"max-content",zIndex:this.contentZIndex,"--bits-floating-transform-origin":`${(e=this.floating.middlewareData.transformOrigin)==null?void 0:e.x} ${(r=this.floating.middlewareData.transformOrigin)==null?void 0:r.y}`,"--bits-floating-available-width":`${a(d(this,Pl))}px`,"--bits-floating-available-height":`${a(d(this,Cl))}px`,"--bits-floating-anchor-width":`${a(d(this,Al))}px`,"--bits-floating-anchor-height":`${a(d(this,El))}px`,...((n=this.floating.middlewareData.hide)==null?void 0:n.referenceHidden)&&{visibility:"hidden","pointer-events":"none"},...a(d(this,yl))},dir:this.opts.dir.current,...this.wrapperAttachment}}));C(this,Dl,z(()=>({"data-side":this.placedSide,"data-align":this.placedAlign,style:Jp({...a(d(this,yl))}),...this.contentAttachment})));C(this,Bl,z(()=>({position:"absolute",left:this.arrowX?`${this.arrowX}px`:void 0,top:this.arrowY?`${this.arrowY}px`:void 0,[this.arrowBaseSide]:0,"transform-origin":{top:"",right:"0 0",bottom:"center 0",left:"100% 0"}[this.placedSide],transform:{top:"translateY(100%)",right:"translateY(50%) rotate(90deg) translateX(-50%)",bottom:"rotate(180deg)",left:"translateY(50%) rotate(-90deg) translateX(50%)"}[this.placedSide],visibility:this.cannotCenterArrow?"hidden":void 0})));this.opts=e,this.root=r,V(this,xl,e.updatePositionStrategy),e.customAnchor&&(this.root.customAnchorNode.current=e.customAnchor.current),cn(()=>e.customAnchor.current,n=>{this.root.customAnchorNode.current=n}),this.floating=fk({strategy:()=>this.opts.strategy.current,placement:()=>a(d(this,Ou)),middleware:()=>this.middleware,reference:this.root.anchorNode,whileElementsMounted:(...n)=>{var s;return nk(...n,{animationFrame:((s=d(this,xl))==null?void 0:s.current)==="always"})},open:()=>this.opts.enabled.current,sideOffset:()=>this.opts.sideOffset.current,alignOffset:()=>this.opts.alignOffset.current}),ur(()=>{var n;this.floating.isPositioned&&((n=this.opts.onPlaced)==null||n.current())}),cn(()=>this.contentRef.current,n=>{if(!n||!this.opts.enabled.current)return;const o=nm(n),s=o.requestAnimationFrame(()=>{if(this.contentRef.current!==n||!this.opts.enabled.current)return;const i=o.getComputedStyle(n).zIndex;i!==this.contentZIndex&&(this.contentZIndex=i)});return()=>{o.cancelAnimationFrame(s)}}),ur(()=>{this.floating.floating.current=this.wrapperRef.current})}static create(e,r=!1){return r?Nv.set(new zu(e,uh.get())):Nv.set(new zu(e,ch.get()))}get hasExplicitBoundaries(){return a(d(this,$l))}set hasExplicitBoundaries(e){x(d(this,$l),e)}get detectOverflowOptions(){return a(d(this,Sl))}set detectOverflowOptions(e){x(d(this,Sl),e)}get middleware(){return a(d(this,Tl))}set middleware(e){x(d(this,Tl),e)}get placedSide(){return a(d(this,Ml))}set placedSide(e){x(d(this,Ml),e)}get placedAlign(){return a(d(this,Ol))}set placedAlign(e){x(d(this,Ol),e)}get arrowX(){return a(d(this,zl))}set arrowX(e){x(d(this,zl),e)}get arrowY(){return a(d(this,Il))}set arrowY(e){x(d(this,Il),e)}get cannotCenterArrow(){return a(d(this,Nl))}set cannotCenterArrow(e){x(d(this,Nl),e)}get contentZIndex(){return a(d(this,Rl))}set contentZIndex(e){x(d(this,Rl),e,!0)}get arrowBaseSide(){return a(d(this,Fl))}set arrowBaseSide(e){x(d(this,Fl),e)}get wrapperProps(){return a(d(this,Ll))}set wrapperProps(e){x(d(this,Ll),e)}get props(){return a(d(this,Dl))}set props(e){x(d(this,Dl),e)}get arrowStyle(){return a(d(this,Bl))}set arrowStyle(e){x(d(this,Bl),e)}};yl=new WeakMap,xl=new WeakMap,wl=new WeakMap,Mu=new WeakMap,_l=new WeakMap,Ou=new WeakMap,kl=new WeakMap,$l=new WeakMap,Sl=new WeakMap,Pl=new WeakMap,Cl=new WeakMap,Al=new WeakMap,El=new WeakMap,Tl=new WeakMap,Ml=new WeakMap,Ol=new WeakMap,zl=new WeakMap,Il=new WeakMap,Nl=new WeakMap,Rl=new WeakMap,Fl=new WeakMap,Ll=new WeakMap,Dl=new WeakMap,Bl=new WeakMap;let pf=zu;class ru{constructor(e,r){ge(this,"opts");ge(this,"root");this.opts=e,this.root=r,e.virtualEl&&e.virtualEl.current?r.triggerNode=Yp(e.virtualEl.current):r.triggerNode=e.ref}static create(e,r=!1){return r?new ru(e,uh.get()):new ru(e,ch.get())}}function gk(t){return{name:"transformOrigin",options:t,fn(e){var w,$,I;const{placement:r,rects:n,middlewareData:o}=e,i=((w=o.arrow)==null?void 0:w.centerOffset)!==0,l=i?0:t.arrowWidth,c=i?0:t.arrowHeight,[u,f]=dh(r),g={start:"0%",center:"50%",end:"100%"}[f],v=((($=o.arrow)==null?void 0:$.x)??0)+l/2,p=(((I=o.arrow)==null?void 0:I.y)??0)+c/2;let m="",b="";return u==="bottom"?(m=i?g:`${v}px`,b=`${-c}px`):u==="top"?(m=i?g:`${v}px`,b=`${n.floating.height+c}px`):u==="right"?(m=`${-c}px`,b=i?g:`${p}px`):u==="left"&&(m=`${n.floating.width+c}px`,b=i?g:`${p}px`),{data:{x:m,y:b}}}}}function dh(t){const[e,r="center"]=t.split("-");return[e,r]}function pk(t){return dh(t)[0]}function mk(t){return dh(t)[1]}function bk(t,e){Ve(e,!0);let r=L(e,"tooltip",3,!1);tu.create(r());var n=Z(),o=_(n);st(o,()=>e.children??rt),h(t,n),je()}function yk(t,e){Ve(e,!0);let r=L(e,"tooltip",3,!1);ru.create({id:ke(()=>e.id),virtualEl:ke(()=>e.virtualEl),ref:e.ref},r());var n=Z(),o=_(n);st(o,()=>e.children??rt),h(t,n),je()}function xk(t,e){Ve(e,!0);let r=L(e,"side",3,"bottom"),n=L(e,"sideOffset",3,0),o=L(e,"align",3,"center"),s=L(e,"alignOffset",3,0),i=L(e,"arrowPadding",3,0),l=L(e,"avoidCollisions",3,!0),c=L(e,"collisionBoundary",19,()=>[]),u=L(e,"collisionPadding",3,0),f=L(e,"hideWhenDetached",3,!1),g=L(e,"onPlaced",3,()=>{}),v=L(e,"sticky",3,"partial"),p=L(e,"updatePositionStrategy",3,"optimized"),m=L(e,"strategy",3,"fixed"),b=L(e,"dir",3,"ltr"),w=L(e,"style",19,()=>({})),$=L(e,"wrapperId",19,rh),I=L(e,"customAnchor",3,null),B=L(e,"tooltip",3,!1);const N=pf.create({side:ke(()=>r()),sideOffset:ke(()=>n()),align:ke(()=>o()),alignOffset:ke(()=>s()),id:ke(()=>e.id),arrowPadding:ke(()=>i()),avoidCollisions:ke(()=>l()),collisionBoundary:ke(()=>c()),collisionPadding:ke(()=>u()),hideWhenDetached:ke(()=>f()),onPlaced:ke(()=>g()),sticky:ke(()=>v()),updatePositionStrategy:ke(()=>p()),strategy:ke(()=>m()),dir:ke(()=>b()),style:ke(()=>w()),enabled:ke(()=>e.enabled),wrapperId:ke(()=>$()),customAnchor:ke(()=>I())},B()),M=z(()=>Jn(N.wrapperProps,{style:{pointerEvents:"auto"}}));var R=Z(),F=_(R);st(F,()=>e.content??rt,()=>({props:N.props,wrapperProps:a(M)})),h(t,R),je()}function wk(t,e){Ve(e,!0),Xi(()=>{var o;(o=e.onPlaced)==null||o.call(e)});var r=Z(),n=_(r);st(n,()=>e.content??rt,()=>({props:{},wrapperProps:{}})),h(t,r),je()}var _k=new Set(["$$slots","$$events","$$legacy","content","isStatic","onPlaced"]);function kk(t,e){let r=L(e,"isStatic",3,!1),n=Et(e,_k);var o=Z(),s=_(o);{var i=c=>{wk(c,{get content(){return e.content},get onPlaced(){return e.onPlaced}})},l=c=>{xk(c,Ze({get content(){return e.content},get onPlaced(){return e.onPlaced}},()=>n))};me(s,c=>{r()?c(i):c(l,-1)})}h(t,o)}var $k=new Set(["$$slots","$$events","$$legacy","popper","onEscapeKeydown","escapeKeydownBehavior","preventOverflowTextSelection","id","onPointerDown","onPointerUp","side","sideOffset","align","alignOffset","arrowPadding","avoidCollisions","collisionBoundary","collisionPadding","sticky","hideWhenDetached","updatePositionStrategy","strategy","dir","preventScroll","wrapperId","style","onPlaced","onInteractOutside","onCloseAutoFocus","onOpenAutoFocus","onFocusOutside","interactOutsideBehavior","loop","trapFocus","isValidEvent","customAnchor","isStatic","enabled","ref","tooltip","contentPointerEvents"]),Sk=D(" ",1);function tb(t,e){Ve(e,!0);let r=L(e,"interactOutsideBehavior",3,"close"),n=L(e,"trapFocus",3,!0),o=L(e,"isValidEvent",3,()=>!1),s=L(e,"customAnchor",3,null),i=L(e,"isStatic",3,!1),l=L(e,"tooltip",3,!1),c=L(e,"contentPointerEvents",3,"auto"),u=Et(e,$k);const f=z(()=>e.preventScroll??!0),g=z(()=>e.strategy??(a(f)?"fixed":"absolute"));kk(t,{get isStatic(){return i()},get id(){return e.id},get side(){return e.side},get sideOffset(){return e.sideOffset},get align(){return e.align},get alignOffset(){return e.alignOffset},get arrowPadding(){return e.arrowPadding},get avoidCollisions(){return e.avoidCollisions},get collisionBoundary(){return e.collisionBoundary},get collisionPadding(){return e.collisionPadding},get sticky(){return e.sticky},get hideWhenDetached(){return e.hideWhenDetached},get updatePositionStrategy(){return e.updatePositionStrategy},get strategy(){return a(g)},get dir(){return e.dir},get wrapperId(){return e.wrapperId},get style(){return e.style},get onPlaced(){return e.onPlaced},get customAnchor(){return s()},get enabled(){return e.enabled},get tooltip(){return l()},content:(p,m)=>{let b=()=>(m==null?void 0:m()).props,w=()=>(m==null?void 0:m()).wrapperProps;var $=Sk(),I=_($);{var B=R=>{$v(R,{get preventScroll(){return a(f)}})},N=R=>{$v(R,{get preventScroll(){return a(f)}})};me(I,R=>{e.forceMount&&e.enabled?R(B):e.forceMount||R(N,1)})}var M=y(I,2);u2(M,{get onOpenAutoFocus(){return e.onOpenAutoFocus},get onCloseAutoFocus(){return e.onCloseAutoFocus},get loop(){return e.loop},get enabled(){return e.enabled},get trapFocus(){return n()},get forceMount(){return e.forceMount},get ref(){return e.ref},focusScope:(F,k)=>{let j=()=>(k==null?void 0:k()).props;c2(F,{get onEscapeKeydown(){return e.onEscapeKeydown},get escapeKeydownBehavior(){return e.escapeKeydownBehavior},get enabled(){return e.enabled},get ref(){return e.ref},children:(T,ie)=>{a2(T,{get id(){return e.id},get onInteractOutside(){return e.onInteractOutside},get onFocusOutside(){return e.onFocusOutside},get interactOutsideBehavior(){return r()},get isValidEvent(){return o()},get enabled(){return e.enabled},get ref(){return e.ref},children:(J,pe)=>{let be=()=>(pe==null?void 0:pe()).props;h2(J,{get id(){return e.id},get preventOverflowTextSelection(){return e.preventOverflowTextSelection},get onPointerDown(){return e.onPointerDown},get onPointerUp(){return e.onPointerUp},get enabled(){return e.enabled},get ref(){return e.ref},children:(ye,Oe)=>{var Te=Z(),Ne=_(Te);{let K=z(()=>({props:Jn(u,b(),be(),j(),{style:{pointerEvents:c()}}),wrapperProps:w()}));st(Ne,()=>e.popper??rt,()=>a(K))}h(ye,Te)},$$slots:{default:!0}})},$$slots:{default:!0}})},$$slots:{default:!0}})},$$slots:{focusScope:!0}}),h(p,$)},$$slots:{content:!0}}),je()}var Pk=new Set(["$$slots","$$events","$$legacy","popper","open","onEscapeKeydown","escapeKeydownBehavior","preventOverflowTextSelection","id","onPointerDown","onPointerUp","side","sideOffset","align","alignOffset","arrowPadding","avoidCollisions","collisionBoundary","collisionPadding","sticky","hideWhenDetached","updatePositionStrategy","strategy","dir","preventScroll","wrapperId","style","onPlaced","onInteractOutside","onCloseAutoFocus","onOpenAutoFocus","onFocusOutside","interactOutsideBehavior","loop","trapFocus","isValidEvent","customAnchor","isStatic","ref","shouldRender"]);function Ck(t,e){let r=L(e,"interactOutsideBehavior",3,"close"),n=L(e,"trapFocus",3,!0),o=L(e,"isValidEvent",3,()=>!1),s=L(e,"customAnchor",3,null),i=L(e,"isStatic",3,!1),l=Et(e,Pk);var c=Z(),u=_(c);{var f=g=>{tb(g,Ze({get popper(){return e.popper},get onEscapeKeydown(){return e.onEscapeKeydown},get escapeKeydownBehavior(){return e.escapeKeydownBehavior},get preventOverflowTextSelection(){return e.preventOverflowTextSelection},get id(){return e.id},get onPointerDown(){return e.onPointerDown},get onPointerUp(){return e.onPointerUp},get side(){return e.side},get sideOffset(){return e.sideOffset},get align(){return e.align},get alignOffset(){return e.alignOffset},get arrowPadding(){return e.arrowPadding},get avoidCollisions(){return e.avoidCollisions},get collisionBoundary(){return e.collisionBoundary},get collisionPadding(){return e.collisionPadding},get sticky(){return e.sticky},get hideWhenDetached(){return e.hideWhenDetached},get updatePositionStrategy(){return e.updatePositionStrategy},get strategy(){return e.strategy},get dir(){return e.dir},get preventScroll(){return e.preventScroll},get wrapperId(){return e.wrapperId},get style(){return e.style},get onPlaced(){return e.onPlaced},get customAnchor(){return s()},get isStatic(){return i()},get enabled(){return e.open},get onInteractOutside(){return e.onInteractOutside},get onCloseAutoFocus(){return e.onCloseAutoFocus},get onOpenAutoFocus(){return e.onOpenAutoFocus},get interactOutsideBehavior(){return r()},get loop(){return e.loop},get trapFocus(){return n()},get isValidEvent(){return o()},get onFocusOutside(){return e.onFocusOutside},forceMount:!1,get ref(){return e.ref}},()=>l))};me(u,g=>{e.shouldRender&&g(f)})}h(t,c)}var Ak=new Set(["$$slots","$$events","$$legacy","popper","onEscapeKeydown","escapeKeydownBehavior","preventOverflowTextSelection","id","onPointerDown","onPointerUp","side","sideOffset","align","alignOffset","arrowPadding","avoidCollisions","collisionBoundary","collisionPadding","sticky","hideWhenDetached","updatePositionStrategy","strategy","dir","preventScroll","wrapperId","style","onPlaced","onInteractOutside","onCloseAutoFocus","onOpenAutoFocus","onFocusOutside","interactOutsideBehavior","loop","trapFocus","isValidEvent","customAnchor","isStatic","enabled"]);function Ek(t,e){let r=L(e,"interactOutsideBehavior",3,"close"),n=L(e,"trapFocus",3,!0),o=L(e,"isValidEvent",3,()=>!1),s=L(e,"customAnchor",3,null),i=L(e,"isStatic",3,!1),l=Et(e,Ak);tb(t,Ze({get popper(){return e.popper},get onEscapeKeydown(){return e.onEscapeKeydown},get escapeKeydownBehavior(){return e.escapeKeydownBehavior},get preventOverflowTextSelection(){return e.preventOverflowTextSelection},get id(){return e.id},get onPointerDown(){return e.onPointerDown},get onPointerUp(){return e.onPointerUp},get side(){return e.side},get sideOffset(){return e.sideOffset},get align(){return e.align},get alignOffset(){return e.alignOffset},get arrowPadding(){return e.arrowPadding},get avoidCollisions(){return e.avoidCollisions},get collisionBoundary(){return e.collisionBoundary},get collisionPadding(){return e.collisionPadding},get sticky(){return e.sticky},get hideWhenDetached(){return e.hideWhenDetached},get updatePositionStrategy(){return e.updatePositionStrategy},get strategy(){return e.strategy},get dir(){return e.dir},get preventScroll(){return e.preventScroll},get wrapperId(){return e.wrapperId},get style(){return e.style},get onPlaced(){return e.onPlaced},get customAnchor(){return s()},get isStatic(){return i()},get enabled(){return e.enabled},get onInteractOutside(){return e.onInteractOutside},get onCloseAutoFocus(){return e.onCloseAutoFocus},get onOpenAutoFocus(){return e.onOpenAutoFocus},get interactOutsideBehavior(){return r()},get loop(){return e.loop},get trapFocus(){return n()},get isValidEvent(){return o()},get onFocusOutside(){return e.onFocusOutside}},()=>l,{forceMount:!0}))}var Tk=new Set(["$$slots","$$events","$$legacy","child","children","ref","id","disabled","onSelect","closeOnSelect"]),Mk=D("
      ");function Ok(t,e){const r=Yi();Ve(e,!0);let n=L(e,"ref",15,null),o=L(e,"id",19,()=>Jl(r)),s=L(e,"disabled",3,!1),i=L(e,"onSelect",3,pr),l=L(e,"closeOnSelect",3,!0),c=Et(e,Tk);const u=nf.create({id:ke(()=>o()),disabled:ke(()=>s()),onSelect:ke(()=>i()),ref:ke(()=>n(),b=>n(b)),closeOnSelect:ke(()=>l())}),f=z(()=>Jn(c,u.props));var g=Z(),v=_(g);{var p=b=>{var w=Z(),$=_(w);st($,()=>e.child,()=>({props:a(f)})),h(b,w)},m=b=>{var w=Mk();Rt(w,()=>({...a(f)}));var $=S(w);st($,()=>e.children??rt),h(b,w)};me(v,b=>{e.child?b(p):b(m,-1)})}h(t,g),je()}var zk=new Set(["$$slots","$$events","$$legacy","ref","id","child","children"]),Ik=D("
      ");function Nk(t,e){const r=Yi();Ve(e,!0);let n=L(e,"ref",15,null),o=L(e,"id",19,()=>Jl(r)),s=Et(e,zk);const i=of.create({id:ke(()=>o()),ref:ke(()=>n(),v=>n(v))}),l=z(()=>Jn(s,i.props));var c=Z(),u=_(c);{var f=v=>{var p=Z(),m=_(p);st(m,()=>e.child,()=>({props:a(l)})),h(v,p)},g=v=>{var p=Ik();Rt(p,()=>({...a(l)}));var m=S(p);st(m,()=>e.children??rt),h(v,p)};me(u,v=>{e.child?v(f):v(g,-1)})}h(t,c),je()}function Rk(t,e){Ve(e,!0);let r=L(e,"open",15,!1),n=L(e,"dir",3,"ltr"),o=L(e,"onOpenChange",3,pr),s=L(e,"onOpenChangeComplete",3,pr),i=L(e,"_internal_variant",3,"dropdown-menu"),l=L(e,"_internal_should_skip_exit_animation",3,void 0);const c=ef.create({variant:ke(()=>i()),dir:ke(()=>n()),onClose:()=>{r(!1),o()(!1)},shouldSkipExitAnimation:()=>{var u;return((u=l())==null?void 0:u())??!1}});tf.create({open:ke(()=>r(),u=>{r(u),o()(u)}),onOpenChangeComplete:ke(()=>s())},c),bk(t,{children:(u,f)=>{var g=Z(),v=_(g);st(v,()=>e.children??rt),h(u,g)},$$slots:{default:!0}}),je()}var Fk=new Set(["$$slots","$$events","$$legacy","id","child","children","ref","loop","onInteractOutside","onEscapeKeydown","onCloseAutoFocus","forceMount","trapFocus","style"]),Rv=D("
      ");function Lk(t,e){const r=Yi();Ve(e,!0);let n=L(e,"id",19,()=>Jl(r)),o=L(e,"ref",15,null),s=L(e,"loop",3,!0),i=L(e,"onInteractOutside",3,pr),l=L(e,"onEscapeKeydown",3,pr),c=L(e,"onCloseAutoFocus",3,pr),u=L(e,"forceMount",3,!1),f=L(e,"trapFocus",3,!1),g=Et(e,Fk);const v=rf.create({id:ke(()=>n()),loop:ke(()=>s()),ref:ke(()=>o(),N=>o(N)),onCloseAutoFocus:ke(()=>c())}),p=z(()=>Jn(g,v.props));function m(N){if(v.handleInteractOutside(N),!N.defaultPrevented&&(i()(N),!N.defaultPrevented)){if(N.target&&N.target instanceof Element){const M=`[${v.parentMenu.root.getBitsAttr("sub-content")}]`;if(N.target.closest(M))return}v.parentMenu.onClose()}}function b(N){l()(N),!N.defaultPrevented&&v.parentMenu.onClose()}var w=Z(),$=_(w);{var I=N=>{Ek(N,Ze(()=>a(p),()=>v.popperProps,{get ref(){return v.opts.ref},get enabled(){return v.parentMenu.opts.open.current},onInteractOutside:m,onEscapeKeydown:b,get trapFocus(){return f()},get loop(){return s()},forceMount:!0,get id(){return n()},get shouldRender(){return v.shouldRender},popper:(R,F)=>{let k=()=>(F==null?void 0:F()).props,j=()=>(F==null?void 0:F()).wrapperProps;const T=z(()=>Jn(k(),{style:Iv("dropdown-menu")},{style:e.style}));var ie=Z(),xe=_(ie);{var J=be=>{var ye=Z(),Oe=_(ye);{let Te=z(()=>({props:a(T),wrapperProps:j(),...v.snippetProps}));st(Oe,()=>e.child,()=>a(Te))}h(be,ye)},pe=be=>{var ye=Rv();Rt(ye,()=>({...j()}));var Oe=S(ye);Rt(Oe,()=>({...a(T)}));var Te=S(Oe);st(Te,()=>e.children??rt),h(be,ye)};me(xe,be=>{e.child?be(J):be(pe,-1)})}h(R,ie)},$$slots:{popper:!0}}))},B=N=>{Ck(N,Ze(()=>a(p),()=>v.popperProps,{get ref(){return v.opts.ref},get open(){return v.parentMenu.opts.open.current},onInteractOutside:m,onEscapeKeydown:b,get trapFocus(){return f()},get loop(){return s()},forceMount:!1,get id(){return n()},get shouldRender(){return v.shouldRender},popper:(R,F)=>{let k=()=>(F==null?void 0:F()).props,j=()=>(F==null?void 0:F()).wrapperProps;const T=z(()=>Jn(k(),{style:Iv("dropdown-menu")},{style:e.style}));var ie=Z(),xe=_(ie);{var J=be=>{var ye=Z(),Oe=_(ye);{let Te=z(()=>({props:a(T),wrapperProps:j(),...v.snippetProps}));st(Oe,()=>e.child,()=>a(Te))}h(be,ye)},pe=be=>{var ye=Rv();Rt(ye,()=>({...j()}));var Oe=S(ye);Rt(Oe,()=>({...a(T)}));var Te=S(Oe);st(Te,()=>e.children??rt),h(be,ye)};me(xe,be=>{e.child?be(J):be(pe,-1)})}h(R,ie)},$$slots:{popper:!0}}))};me($,N=>{u()?N(I):u()||N(B,1)})}h(t,w),je()}var Dk=new Set(["$$slots","$$events","$$legacy","id","ref","child","children","disabled","type"]),Bk=D("");function Vk(t,e){const r=Yi();Ve(e,!0);let n=L(e,"id",19,()=>Jl(r)),o=L(e,"ref",15,null),s=L(e,"disabled",3,!1),i=L(e,"type",3,"button"),l=Et(e,Dk);const c=sf.create({id:ke(()=>n()),disabled:ke(()=>s()??!1),ref:ke(()=>o(),f=>o(f))}),u=z(()=>Jn(l,c.props,{type:i()}));yk(t,{get id(){return n()},get ref(){return c.opts.ref},children:(f,g)=>{var v=Z(),p=_(v);{var m=w=>{var $=Z(),I=_($);st(I,()=>e.child,()=>({props:a(u)})),h(w,$)},b=w=>{var $=Bk();Rt($,()=>({...a(u)}));var I=S($);st(I,()=>e.children??rt),h(w,$)};me(p,w=>{e.child?w(m):w(b,-1)})}h(f,v)},$$slots:{default:!0}}),je()}const jk=am({component:"label",parts:["root"]});var Vl;const $h=class $h{constructor(e){ge(this,"opts");ge(this,"attachment");C(this,Vl,z(()=>({id:this.opts.id.current,[jk.root]:"",onmousedown:this.onmousedown,...this.attachment})));this.opts=e,this.attachment=ts(this.opts.ref),this.onmousedown=this.onmousedown.bind(this)}static create(e){return new $h(e)}onmousedown(e){e.detail>1&&e.preventDefault()}get props(){return a(d(this,Vl))}set props(e){x(d(this,Vl),e)}};Vl=new WeakMap;let mf=$h;var Wk=new Set(["$$slots","$$events","$$legacy","children","child","id","ref","for"]),Gk=D("");function Hk(t,e){const r=Yi();Ve(e,!0);let n=L(e,"id",19,()=>Jl(r)),o=L(e,"ref",15,null),s=Et(e,Wk);const i=mf.create({id:ke(()=>n()),ref:ke(()=>o(),v=>o(v))}),l=z(()=>Jn(s,i.props,{for:e.for}));var c=Z(),u=_(c);{var f=v=>{var p=Z(),m=_(p);st(m,()=>e.child,()=>({props:a(l)})),h(v,p)},g=v=>{var p=Gk();Rt(p,()=>({...a(l),for:e.for}));var m=S(p);st(m,()=>e.children??rt),h(v,p)};me(u,v=>{e.child?v(f):v(g,-1)})}h(t,c),je()}var Kk=new Set(["$$slots","$$events","$$legacy","ref","class"]);function Uk(t,e){Ve(e,!0);let r=L(e,"ref",15,null),n=Et(e,Kk);var o=Z(),s=_(o);{let i=z(()=>yt("gap-2 text-sm leading-none font-medium group-data-[disabled=true]:opacity-50 peer-disabled:opacity-50 flex items-center select-none group-data-[disabled=true]:pointer-events-none peer-disabled:cursor-not-allowed",e.class));A(s,()=>Hk,(l,c)=>{c(l,Ze({"data-slot":"label",get class(){return a(i)}},()=>n,{get ref(){return r()},set ref(u){r(u)}}))})}h(t,o),je()}const Fv=qf({base:"rounded-lg border border-transparent bg-clip-padding text-sm font-medium focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg:not([class*='size-'])]:size-4 group/button inline-flex shrink-0 items-center justify-center whitespace-nowrap transition-all outline-none select-none disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",destructive:"bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-8 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-7 gap-1 rounded-[min(var(--radius-md),12px)] px-2.5 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",lg:"h-9 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",icon:"size-8","icon-xs":"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg","icon-lg":"size-9"}},defaultVariants:{variant:"default",size:"default"}});var qk=new Set(["$$slots","$$events","$$legacy","class","variant","size","ref","href","type","disabled","children"]),Yk=D(""),Xk=D("");function rr(t,e){Ve(e,!0);let r=L(e,"variant",3,"default"),n=L(e,"size",3,"default"),o=L(e,"ref",15,null),s=L(e,"href",3,void 0),i=L(e,"type",3,"button"),l=Et(e,qk);var c=Z(),u=_(c);{var f=v=>{var p=Yk();Rt(p,b=>({"data-slot":"button",class:b,href:e.disabled?void 0:s(),"aria-disabled":e.disabled,role:e.disabled?"link":void 0,tabindex:e.disabled?-1:void 0,...l}),[()=>yt(Fv({variant:r(),size:n()}),e.class)]);var m=S(p);st(m,()=>e.children??rt),ar(p,b=>o(b),()=>o()),h(v,p)},g=v=>{var p=Xk();Rt(p,b=>({"data-slot":"button",class:b,type:i(),disabled:e.disabled,...l}),[()=>yt(Fv({variant:r(),size:n()}),e.class)]);var m=S(p);st(m,()=>e.children??rt),ar(p,b=>o(b),()=>o()),h(v,p)};me(u,v=>{s()?v(f):v(g,-1)})}h(t,c),je()}var Zk=qi('');function rb(t,e){const r=Yi();let n=L(e,"class",3,"");var o=Zk(),s=S(o),i=S(s),l=y(s);Q(()=>{sr(o,0,bs(n())),kt(i,"id",r),kt(l,"fill",`url(#${r})`)}),h(t,o)}/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const Jk={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"};/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const Qk=t=>{for(const e in t)if(e.startsWith("aria-")||e==="role"||e==="title")return!0;return!1};/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const Lv=(...t)=>t.filter((e,r,n)=>!!e&&e.trim()!==""&&n.indexOf(e)===r).join(" ").trim();var e$=qi("");function Ct(t,e){const r=xt(e,["children","$$slots","$$events","$$legacy"]),n=xt(r,["name","color","size","strokeWidth","absoluteStrokeWidth","iconNode"]);Ve(e,!1);let o=L(e,"name",8,void 0),s=L(e,"color",8,"currentColor"),i=L(e,"size",8,24),l=L(e,"strokeWidth",8,2),c=L(e,"absoluteStrokeWidth",8,!1),u=L(e,"iconNode",24,()=>[]);ix();var f=e$();Rt(f,(p,m,b)=>({...Jk,...p,...n,width:i(),height:i(),stroke:s(),"stroke-width":m,class:b}),[()=>Qk(n)?void 0:{"aria-hidden":"true"},()=>(ms(c()),ms(l()),ms(i()),tn(()=>c()?Number(l())*24/Number(i()):l())),()=>(ms(Lv),ms(o()),ms(r),tn(()=>Lv("lucide-icon","lucide",o()?`lucide-${o()}`:"",r.class)))]);var g=S(f);Wt(g,1,u,xr,(p,m)=>{var b=z(()=>ng(a(m),2));let w=()=>a(b)[0],$=()=>a(b)[1];var I=Z(),B=_(I);rp(B,w,!0,(N,M)=>{Rt(N,()=>({...$()}))}),h(p,I)});var v=y(g);$t(v,e,"default",{}),h(t,f),je()}function t$(t,e){const r=xt(e,["children","$$slots","$$events","$$legacy"]);/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const n=[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2"}]];Ct(t,Ze({name:"activity"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);$t(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function r$(t,e){const r=xt(e,["children","$$slots","$$events","$$legacy"]);/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const n=[["path",{d:"m3 16 4 4 4-4"}],["path",{d:"M7 20V4"}],["path",{d:"m21 8-4-4-4 4"}],["path",{d:"M17 4v16"}]];Ct(t,Ze({name:"arrow-down-up"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);$t(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function nb(t,e){const r=xt(e,["children","$$slots","$$events","$$legacy"]);/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const n=[["path",{d:"M12 5v14"}],["path",{d:"m19 12-7 7-7-7"}]];Ct(t,Ze({name:"arrow-down"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);$t(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function ob(t,e){const r=xt(e,["children","$$slots","$$events","$$legacy"]);/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const n=[["path",{d:"m5 12 7-7 7 7"}],["path",{d:"M12 19V5"}]];Ct(t,Ze({name:"arrow-up"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);$t(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function Ic(t,e){const r=xt(e,["children","$$slots","$$events","$$legacy"]);/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const n=[["path",{d:"M20 6 9 17l-5-5"}]];Ct(t,Ze({name:"check"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);$t(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function ud(t,e){const r=xt(e,["children","$$slots","$$events","$$legacy"]);/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const n=[["path",{d:"m6 9 6 6 6-6"}]];Ct(t,Ze({name:"chevron-down"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);$t(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function n$(t,e){const r=xt(e,["children","$$slots","$$events","$$legacy"]);/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const n=[["path",{d:"m7 15 5 5 5-5"}],["path",{d:"m7 9 5-5 5 5"}]];Ct(t,Ze({name:"chevrons-up-down"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);$t(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function Ws(t,e){const r=xt(e,["children","$$slots","$$events","$$legacy"]);/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const n=[["circle",{cx:"12",cy:"12",r:"10"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16"}]];Ct(t,Ze({name:"circle-alert"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);$t(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function Dv(t,e){const r=xt(e,["children","$$slots","$$events","$$legacy"]);/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const n=[["circle",{cx:"12",cy:"12",r:"10"}],["circle",{cx:"12",cy:"12",r:"1"}]];Ct(t,Ze({name:"circle-dot"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);$t(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function o$(t,e){const r=xt(e,["children","$$slots","$$events","$$legacy"]);/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const n=[["circle",{cx:"12",cy:"12",r:"10"}],["path",{d:"M12 6v6h4"}]];Ct(t,Ze({name:"clock-3"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);$t(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function xs(t,e){const r=xt(e,["children","$$slots","$$events","$$legacy"]);/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const n=[["path",{d:"m12 14 4-4"}],["path",{d:"M3.34 19a10 10 0 1 1 17.32 0"}]];Ct(t,Ze({name:"gauge"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);$t(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function bf(t,e){const r=xt(e,["children","$$slots","$$events","$$legacy"]);/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const n=[["circle",{cx:"12",cy:"12",r:"10"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20"}],["path",{d:"M2 12h20"}]];Ct(t,Ze({name:"globe"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);$t(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function yf(t,e){const r=xt(e,["children","$$slots","$$events","$$legacy"]);/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const n=[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z"}]];Ct(t,Ze({name:"inbox"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);$t(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function s$(t,e){const r=xt(e,["children","$$slots","$$events","$$legacy"]);/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const n=[["rect",{width:"18",height:"7",x:"3",y:"3",rx:"1"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1"}]];Ct(t,Ze({name:"layout-panel-top"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);$t(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function i$(t,e){const r=xt(e,["children","$$slots","$$events","$$legacy"]);/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const n=[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"}]];Ct(t,Ze({name:"link"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);$t(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function a$(t,e){const r=xt(e,["children","$$slots","$$events","$$legacy"]);/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const n=[["path",{d:"M13 5h8"}],["path",{d:"M13 12h8"}],["path",{d:"M13 19h8"}],["path",{d:"m3 17 2 2 4-4"}],["path",{d:"m3 7 2 2 4-4"}]];Ct(t,Ze({name:"list-checks"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);$t(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function l$(t,e){const r=xt(e,["children","$$slots","$$events","$$legacy"]);/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const n=[["path",{d:"M16 5H3"}],["path",{d:"M11 12H3"}],["path",{d:"M16 19H3"}],["path",{d:"m15.5 9.5 5 5"}],["path",{d:"m20.5 9.5-5 5"}]];Ct(t,Ze({name:"list-x"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);$t(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function sb(t,e){const r=xt(e,["children","$$slots","$$events","$$legacy"]);/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const n=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56"}]];Ct(t,Ze({name:"loader-circle"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);$t(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function c$(t,e){const r=xt(e,["children","$$slots","$$events","$$legacy"]);/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const n=[["path",{d:"m16 17 5-5-5-5"}],["path",{d:"M21 12H9"}],["path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"}]];Ct(t,Ze({name:"log-out"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);$t(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function u$(t,e){const r=xt(e,["children","$$slots","$$events","$$legacy"]);/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const n=[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3"}],["path",{d:"M12 12V8"}]];Ct(t,Ze({name:"network"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);$t(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function d$(t,e){const r=xt(e,["children","$$slots","$$events","$$legacy"]);/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const n=[["path",{d:"M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z"}],["path",{d:"M12 22V12"}],["polyline",{points:"3.29 7 12 12 20.71 7"}],["path",{d:"m7.5 4.27 9 5.15"}]];Ct(t,Ze({name:"package"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);$t(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function f$(t,e){const r=xt(e,["children","$$slots","$$events","$$legacy"]);/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const n=[["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"}],["path",{d:"m15 5 4 4"}]];Ct(t,Ze({name:"pencil"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);$t(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function h$(t,e){const r=xt(e,["children","$$slots","$$events","$$legacy"]);/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const n=[["path",{d:"M5 12h14"}],["path",{d:"M12 5v14"}]];Ct(t,Ze({name:"plus"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);$t(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function v$(t,e){const r=xt(e,["children","$$slots","$$events","$$legacy"]);/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const n=[["path",{d:"M16.247 7.761a6 6 0 0 1 0 8.478"}],["path",{d:"M19.075 4.933a10 10 0 0 1 0 14.134"}],["path",{d:"M4.925 19.067a10 10 0 0 1 0-14.134"}],["path",{d:"M7.753 16.239a6 6 0 0 1 0-8.478"}],["circle",{cx:"12",cy:"12",r:"2"}]];Ct(t,Ze({name:"radio"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);$t(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function ib(t,e){const r=xt(e,["children","$$slots","$$events","$$legacy"]);/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const n=[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"}],["path",{d:"M21 3v5h-5"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"}],["path",{d:"M8 16H3v5"}]];Ct(t,Ze({name:"refresh-cw"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);$t(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function xf(t,e){const r=xt(e,["children","$$slots","$$events","$$legacy"]);/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const n=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}],["path",{d:"M3 3v5h5"}]];Ct(t,Ze({name:"rotate-ccw"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);$t(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function g$(t,e){const r=xt(e,["children","$$slots","$$events","$$legacy"]);/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const n=[["circle",{cx:"6",cy:"19",r:"3"}],["path",{d:"M9 19h8.5a3.5 3.5 0 0 0 0-7h-11a3.5 3.5 0 0 1 0-7H15"}],["circle",{cx:"18",cy:"5",r:"3"}]];Ct(t,Ze({name:"route"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);$t(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function fh(t,e){const r=xt(e,["children","$$slots","$$events","$$legacy"]);/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const n=[["path",{d:"m21 21-4.34-4.34"}],["circle",{cx:"11",cy:"11",r:"8"}]];Ct(t,Ze({name:"search"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);$t(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function p$(t,e){const r=xt(e,["children","$$slots","$$events","$$legacy"]);/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const n=[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18"}]];Ct(t,Ze({name:"server"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);$t(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function ab(t,e){const r=xt(e,["children","$$slots","$$events","$$legacy"]);/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const n=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915"}],["circle",{cx:"12",cy:"12",r:"3"}]];Ct(t,Ze({name:"settings"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);$t(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function m$(t,e){const r=xt(e,["children","$$slots","$$events","$$legacy"]);/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const n=[["path",{d:"M10 5H3"}],["path",{d:"M12 19H3"}],["path",{d:"M14 3v4"}],["path",{d:"M16 17v4"}],["path",{d:"M21 12h-9"}],["path",{d:"M21 19h-5"}],["path",{d:"M21 5h-7"}],["path",{d:"M8 10v4"}],["path",{d:"M8 12H3"}]];Ct(t,Ze({name:"sliders-horizontal"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);$t(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function aa(t,e){const r=xt(e,["children","$$slots","$$events","$$legacy"]);/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const n=[["path",{d:"M11.525 2.295a.53.53 0 0 1 .95 0l2.31 4.679a2.123 2.123 0 0 0 1.595 1.16l5.166.756a.53.53 0 0 1 .294.904l-3.736 3.638a2.123 2.123 0 0 0-.611 1.878l.882 5.14a.53.53 0 0 1-.771.56l-4.618-2.428a2.122 2.122 0 0 0-1.973 0L6.396 21.01a.53.53 0 0 1-.77-.56l.881-5.139a2.122 2.122 0 0 0-.611-1.879L2.16 9.795a.53.53 0 0 1 .294-.906l5.165-.755a2.122 2.122 0 0 0 1.597-1.16z"}]];Ct(t,Ze({name:"star"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);$t(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function b$(t,e){const r=xt(e,["children","$$slots","$$events","$$legacy"]);/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const n=[["path",{d:"M10 11v6"}],["path",{d:"M14 11v6"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6"}],["path",{d:"M3 6h18"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"}]];Ct(t,Ze({name:"trash-2"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);$t(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function y$(t,e){const r=xt(e,["children","$$slots","$$events","$$legacy"]);/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const n=[["path",{d:"M9 14 4 9l5-5"}],["path",{d:"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11"}]];Ct(t,Ze({name:"undo-2"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);$t(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}function Bv(t,e){const r=xt(e,["children","$$slots","$$events","$$legacy"]);/** - * @license lucide-svelte v1.0.1 - ISC - * - * ISC License - * - * Copyright (c) 2026 Lucide Icons and Contributors - * - * Permission to use, copy, modify, and/or distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - * - * --- - * - * The following Lucide icons are derived from the Feather project: - * - * airplay, alert-circle, alert-octagon, alert-triangle, aperture, arrow-down-circle, arrow-down-left, arrow-down-right, arrow-down, arrow-left-circle, arrow-left, arrow-right-circle, arrow-right, arrow-up-circle, arrow-up-left, arrow-up-right, arrow-up, at-sign, calendar, cast, check, chevron-down, chevron-left, chevron-right, chevron-up, chevrons-down, chevrons-left, chevrons-right, chevrons-up, circle, clipboard, clock, code, columns, command, compass, corner-down-left, corner-down-right, corner-left-down, corner-left-up, corner-right-down, corner-right-up, corner-up-left, corner-up-right, crosshair, database, divide-circle, divide-square, dollar-sign, download, external-link, feather, frown, hash, headphones, help-circle, info, italic, key, layout, life-buoy, link-2, link, loader, lock, log-in, log-out, maximize, meh, minimize, minimize-2, minus-circle, minus-square, minus, monitor, moon, more-horizontal, more-vertical, move, music, navigation-2, navigation, octagon, pause-circle, percent, plus-circle, plus-square, plus, power, radio, rss, search, server, share, shopping-bag, sidebar, smartphone, smile, square, table-2, tablet, target, terminal, trash-2, trash, triangle, tv, type, upload, x-circle, x-octagon, x-square, x, zoom-in, zoom-out - * - * The MIT License (MIT) (for the icons listed above) - * - * Copyright (c) 2013-present Cole Bemis - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - * - */const n=[["path",{d:"M18 6 6 18"}],["path",{d:"m6 6 12 12"}]];Ct(t,Ze({name:"x"},()=>r,{get iconNode(){return n},children:(o,s)=>{var i=Z(),l=_(i);$t(l,e,"default",{}),h(o,i)},$$slots:{default:!0}}))}var x$=D('
      ',1),Vv=D(" ",1),w$=D(" 登录中…",1),_$=D('
      '),k$=D('
      ');function $$(t,e){Ve(e,!0);let r=fe(""),n=fe(""),o=fe(!1),s=fe(null);Xi(()=>{var u;(u=a(s))==null||u.focus()});async function i(){if(!(!a(r)||a(o))){x(o,!0),x(n,"");try{await Zr.login(a(r)),x(r,""),e.onLogin()}catch(u){x(n,u instanceof Error?u.message:"login failed",!0)}finally{x(o,!1)}}}var l=k$(),c=S(l);A(c,()=>or,(u,f)=>{f(u,{class:"w-full max-w-sm",children:(g,v)=>{var p=Vv(),m=_(p);A(m,()=>Er,(w,$)=>{$(w,{children:(I,B)=>{var N=x$(),M=_(N),R=S(M);rb(R,{class:"size-6"});var F=y(M,2);A(F,()=>Wr,(j,T)=>{T(j,{children:(ie,xe)=>{var J=ve("Sower Admin");h(ie,J)},$$slots:{default:!0}})});var k=y(F,2);A(k,()=>Ir,(j,T)=>{T(j,{children:(ie,xe)=>{var J=ve("输入 sower 配置中的 admin 密码。");h(ie,J)},$$slots:{default:!0}})}),h(I,N)},$$slots:{default:!0}})});var b=y(m,2);A(b,()=>_r,(w,$)=>{$(w,{children:(I,B)=>{var N=_$(),M=S(N),R=S(M);Uk(R,{for:"admin-password",children:(ie,xe)=>{var J=ve("密码");h(ie,J)},$$slots:{default:!0}});var F=y(R,2);js(F,{id:"admin-password",type:"password",placeholder:"admin 密码",autocomplete:"current-password",get ref(){return a(s)},set ref(ie){x(s,ie,!0)},get value(){return a(r)},set value(ie){x(r,ie,!0)}});var k=y(M,2);{var j=ie=>{var xe=Z(),J=_(xe);A(J,()=>ql,(pe,be)=>{be(pe,{variant:"destructive",children:(ye,Oe)=>{var Te=Vv(),Ne=_(Te);Ws(Ne,{class:"size-4"});var K=y(Ne,2);A(K,()=>Ul,(Gt,Mt)=>{Mt(Gt,{children:(q,se)=>{var W=ve();Q(()=>te(W,a(n))),h(q,W)},$$slots:{default:!0}})}),h(ye,Te)},$$slots:{default:!0}})}),h(ie,xe)};me(k,ie=>{a(n)&&ie(j)})}var T=y(k,2);{let ie=z(()=>a(o)||!a(r));rr(T,{type:"submit",get disabled(){return a(ie)},children:(xe,J)=>{var pe=Z(),be=_(pe);{var ye=Te=>{var Ne=w$(),K=_(Ne);sb(K,{class:"size-4 animate-spin","aria-hidden":"true"}),h(Te,Ne)},Oe=Te=>{var Ne=ve("登录");h(Te,Ne)};me(be,Te=>{a(o)?Te(ye):Te(Oe,-1)})}h(xe,pe)},$$slots:{default:!0}})}Xg("submit",N,ie=>{ie.preventDefault(),i()}),h(I,N)},$$slots:{default:!0}})}),h(g,p)},$$slots:{default:!0}})}),h(t,l),je()}function sn(t){if(!Number.isFinite(t)||t<0)return"-";if(t<1024)return`${Math.round(t)} B`;const e=["KB","MB","GB","TB","PB"];let r=t,n=-1;do r/=1024,n++;while(r>=1024&&n0?`${e}d ${r}h`:r>0?`${r}h ${n}m`:n>0?`${n}m ${o}s`:`${o}s`}function Bt(t){return t>=1e9?`${(t/1e9).toFixed(1)}B`:t>=1e6?`${(t/1e6).toFixed(1)}M`:t>=1e3?`${(t/1e3).toFixed(1)}K`:`${t}`}function nu(t){const e=new Date(t);if(Number.isNaN(e.getTime()))return"-";const r=o=>String(o).padStart(2,"0"),n=`${r(e.getHours())}:${r(e.getMinutes())}:${r(e.getSeconds())}`;return e.toDateString()===new Date().toDateString()?n:`${e.getFullYear()}-${r(e.getMonth()+1)}-${r(e.getDate())} ${n}`}const Nc=t=>new Date(t).toTimeString().slice(0,5);function lb(t,e){const r=Object.fromEntries(e.map(o=>[o,Array(t.length).fill(0)]));let n=0;for(let o=0;o0){const l=(i-n)/1e3;if(l>0)for(const c of e)r[c][o]=s[c]/l}n=i}return r}const Zt=kr({status:null,traffic:null,history:[],totals:null,connected:!1});let qn=null,ou="",jn=null,Ss=0;function fc(t){try{return JSON.parse(t)}catch{return null}}function ao(t,e){return qn===t&&Ss===e}function P$(t,e){if(!ao(t,e))return;const r=ou;qn=null,Ss++;const n=Ss;t.close(),Zt.connected=!1,Bf().then(()=>{Ss===n&&qn===null&&su(r)}).catch(o=>{if(!(Ss!==n||qn!==null)){if(o instanceof Tr&&o.status===401){jn==null||jn();return}su(r)}})}function jv(t){jn=t}function su(t=""){if(qn&&t===ou)return;const e=qn;qn=null,e==null||e.close(),ou=t;const r=new EventSource(`/api/stream${t?`?${t}`:""}`),n=++Ss;let o=!1;qn=r,r.onopen=()=>{ao(r,n)&&(o=!1,Zt.connected=!0)},r.onerror=()=>{ao(r,n)&&(Zt.connected=!1,!o&&(o=!0,Bf().catch(s=>{ao(r,n)&&s instanceof Tr&&s.status===401&&(jn==null||jn())})))},r.addEventListener("status",s=>{if(!ao(r,n))return;const i=fc(s.data);i&&(Zt.status=i)}),r.addEventListener("traffic",s=>{if(!ao(r,n))return;const i=fc(s.data);i&&(Zt.traffic=i)}),r.addEventListener("history",s=>{if(!ao(r,n))return;const i=fc(s.data);i&&(Zt.history=i.samples)}),r.addEventListener("totals",s=>{if(!ao(r,n))return;const i=fc(s.data);i&&(Zt.totals=i)}),r.addEventListener("renew",()=>{P$(r,n)}),r.addEventListener("auth",()=>{ao(r,n)&&(jn==null||jn())})}function Wv(){const t=qn;qn=null,Ss++,t==null||t.close(),ou="",Zt.status=null,Zt.traffic=null,Zt.history=[],Zt.totals=null,Zt.connected=!1}const C$=qf({base:"h-5 gap-1 rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium transition-all has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&>svg]:size-3! group/badge inline-flex w-fit shrink-0 items-center justify-center overflow-hidden whitespace-nowrap transition-colors focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 [&>svg]:pointer-events-none",variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 text-destructive focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:focus-visible:ring-destructive/40 [a]:hover:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});var A$=new Set(["$$slots","$$events","$$legacy","ref","href","class","variant","children"]);function an(t,e){Ve(e,!0);let r=L(e,"ref",15,null),n=L(e,"variant",3,"default"),o=Et(e,A$);var s=Z(),i=_(s);rp(i,()=>e.href?"a":"span",!1,(l,c)=>{ar(l,g=>r(g),()=>r()),Rt(l,g=>({"data-slot":"badge",href:e.href,class:g,...o}),[()=>yt(C$({variant:n()}),e.class)]);var u=Z(),f=_(u);st(f,()=>e.children??rt),h(c,u)}),h(t,s),je()}var E$=D('
      ');function Ma(t,e){let r=L(e,"label",3,"加载中…");var n=E$(),o=S(n);sb(o,{class:"size-4 animate-spin","aria-hidden":"true"});var s=y(o,2),i=S(s);Q(()=>te(i,r())),h(t,n)}const ps=kr({timestamp:null,owner:null});var T$=qi(''),M$=qi(''),O$=qi(''),z$=qi(''),I$=D(''),N$=D(' ',1),R$=D(" "),F$=D('
      ',1),L$=D('
      等待采样数据…
      '),D$=D(' '),B$=D(' '),V$=D('
      ');function ui(t,e){Ve(e,!0);let r=L(e,"height",3,160),n=L(e,"label",3,"历史数据曲线"),o=L(e,"format",3,W=>String(W));const s=600,i=z(r),l=z(()=>e.series.flatMap(W=>W.values)),c=z(()=>a(l).length?Math.max(...a(l)):0),u=z(()=>a(l).length?Math.min(...a(l)):0),f=z(()=>a(c)-a(u)||1),g=z(()=>a(f)*.12),v=z(()=>a(c)+a(g)),p=z(()=>Math.max(0,a(u)-a(g))),m=z(()=>W=>e.labels.length<=1?0:W/(e.labels.length-1)*s),b=z(()=>W=>a(i)-(W-a(p))/(a(v)-a(p))*a(i)),w=z(()=>e.series.map(W=>{const ne=W.values;if(!ne.length)return{s:W,line:"",area:""};const le=ne.map((ue,P)=>`${P===0?"M":"L"}${a(m)(P).toFixed(1)},${a(b)(ue).toFixed(1)}`).join(" ");return{s:W,line:le,area:`${le} L${a(m)(ne.length-1).toFixed(1)},${a(i)} L${a(m)(0).toFixed(1)},${a(i)} Z`}})),$=z(()=>new Map(e.timestamps.map((W,ne)=>[W,ne]))),I=z(()=>e.labels.length<=2?[0,e.labels.length-1]:[0,Math.floor(e.labels.length/2),e.labels.length-1]),B=z(()=>a(I).map(W=>e.labels[W])),N=z(()=>e.labels.length>=2),M=Symbol("area-chart");let R=fe(null);const F=z(()=>a(R)==null?null:a($).get(a(R))??null),k=z(()=>ps.timestamp==null?null:a($).get(ps.timestamp)??null),j=z(()=>a(F)!=null&&a(F)>=0?a(F):a(k)!=null&&a(k)>=0?a(k):null),T=z(()=>a(j)!=null&&e.timestamps[a(j)]?new Date(e.timestamps[a(j)]).toTimeString().slice(0,8):"");let ie=fe(void 0),xe=null,J=null;function pe(){ps.owner===M&&(ps.timestamp=null,ps.owner=null)}function be(){if(xe=null,J==null)return;const W=e.timestamps[J]??null;x(R,W,!0),ps.timestamp=W,ps.owner=W==null?null:M}function ye(W){if(!a(ie))return;const ne=a(ie).getBoundingClientRect();if(ne.width===0||e.labels.length<2)return;const le=(W.clientX-ne.left)/ne.width;J=Math.max(0,Math.min(e.labels.length-1,Math.round(le*(e.labels.length-1)))),xe==null&&(xe=requestAnimationFrame(be))}function Oe(W){if(!a(N)||e.labels.length<2)return;const ne=a(j)??0;let le=null;switch(W.key){case"ArrowLeft":le=Math.max(0,ne-1);break;case"ArrowRight":le=Math.min(e.labels.length-1,ne+1);break;case"Home":le=0;break;case"End":le=e.labels.length-1;break;default:return}W.preventDefault(),J=le,be()}function Te(){xe!=null&&(cancelAnimationFrame(xe),xe=null),J=null}function Ne(){Te(),x(R,null),pe()}cp(()=>{Te(),pe()});var K=V$(),Gt=S(K);{var Mt=W=>{var ne=F$(),le=_(ne),ue=S(le),P=S(ue);Wt(P,16,()=>[.25,.5,.75],xr,(de,ae)=>{var O=T$();kt(O,"x2",s),Q(()=>{kt(O,"y1",a(i)*ae),kt(O,"y2",a(i)*ae)}),h(de,O)});var E=y(P);Wt(E,17,()=>a(w),xr,(de,ae)=>{var O=M$();Q(()=>{kt(O,"d",a(ae).area),Do(O,`fill:${a(ae).s.color}`)}),h(de,O)});var U=y(E);Wt(U,17,()=>a(w),xr,(de,ae)=>{var O=O$();Q(()=>{kt(O,"d",a(ae).line),Do(O,`stroke:${a(ae).s.color}`)}),h(de,O)});var re=y(U);{var Se=de=>{var ae=z$();Q((O,G)=>{kt(ae,"x1",O),kt(ae,"x2",G),kt(ae,"y2",a(i))},[()=>a(m)(a(j)),()=>a(m)(a(j))]),h(de,ae)};me(re,de=>{a(j)!==null&&de(Se)})}ar(ue,de=>x(ie,de),()=>a(ie));var X=y(ue,2);{var ce=de=>{var ae=N$(),O=_(ae);Wt(O,17,()=>e.series,xr,(ee,H)=>{var $e=I$();Q(nt=>Do($e,nt),[()=>`left:${a(m)(a(j))/s*100}%;top:${a(b)(a(H).values[a(j)]??0)/a(i)*100}%;background:${a(H).color}`]),h(ee,$e)});var G=y(O,2),Y=S(G);Q(ee=>{Do(G,ee),te(Y,a(T))},[()=>`left:${Math.min(92,Math.max(8,a(m)(a(j))/s*100))}%`]),h(de,ae)};me(X,de=>{a(j)!==null&&de(ce)})}var we=y(le,2);Wt(we,21,()=>a(B),xr,(de,ae)=>{var O=R$(),G=S(O);Q(()=>te(G,a(ae))),h(de,O)}),Q(()=>{kt(ue,"viewBox",`0 0 ${s} ${a(i)}`),Do(ue,`height:${a(i)}px`),kt(ue,"aria-label",n())}),Lr("pointermove",ue,ye),Xg("pointerleave",ue,Ne),Lr("keydown",ue,Oe),h(W,ne)},q=W=>{var ne=L$();Q(()=>Do(ne,`height:${a(i)}px`)),h(W,ne)};me(Gt,W=>{a(N)?W(Mt):W(q,-1)})}var se=y(Gt,2);Wt(se,21,()=>e.series,xr,(W,ne)=>{var le=B$(),ue=S(le),P=y(ue),E=y(P);{var U=re=>{var Se=D$(),X=S(Se);Q(ce=>te(X,ce),[()=>o()(a(ne).values[a(j)]??0)]),h(re,Se)};me(E,re=>{a(j)!==null&&re(U)})}Q(()=>{Do(ue,`background:${a(ne).color}`),te(P,` ${a(ne).name??""} `)}),h(W,le)}),h(t,K),je()}Ui(["pointermove","keydown"]);var hr=D(" ",1),Lo=D('
      ',1),j$=D('

      自启动以来

      '),W$=D('

      全部上游查询

      '),G$=D('

      '),hc=D('

      近 60 秒均值

      '),dd=D('
      '),H$=D('
      HTTP
      HTTPS
      SOCKS5

      ',1),K$=D('
      Block
      Direct
      Proxy

      ',1),U$=D('
      Goroutines
      堆内存
      ',1),q$=D('

      ',1);function Y$(t,e){Ve(e,!0);const r=z(()=>Zt.traffic),n=z(()=>Zt.history),o=z(()=>a(n).map(m=>Nc(m.at))),s=z(()=>a(n).map(m=>m.at)),i=z(()=>lb(a(n),["bytesUp","bytesDown","dns","conns","proxy","direct","block"])),l=m=>`${sn(m)}/s`,c=m=>`${m.toFixed(1)}/s`,u=z(()=>{const m=a(n)[0],b=a(n)[a(n).length-1];return m&&b?`${Nc(m.at)} – ${Nc(b.at)} · 进程内历史,重启后清空`:"进程内历史,重启后清空"});var f=Z(),g=_(f);{var v=m=>{Ma(m,{})},p=m=>{var b=q$(),w=_(b);{var $=q=>{var se=Z(),W=_(se);A(W,()=>ql,(ne,le)=>{le(ne,{variant:"destructive",class:"mb-4",children:(ue,P)=>{var E=hr(),U=_(E);Ws(U,{class:"size-4"});var re=y(U,2);A(re,()=>Ul,(Se,X)=>{X(Se,{children:(ce,we)=>{var de=ve("实时连接已断开,正在重连…");h(ce,de)},$$slots:{default:!0}})}),h(ue,E)},$$slots:{default:!0}})}),h(q,se)};me(w,q=>{Zt.connected||q($)})}var I=y(w,2),B=S(I);A(B,()=>or,(q,se)=>{se(q,{children:(W,ne)=>{var le=hr(),ue=_(le);A(ue,()=>Er,(E,U)=>{U(E,{children:(re,Se)=>{var X=Lo(),ce=_(X),we=S(ce);A(we,()=>Ir,(O,G)=>{G(O,{children:(Y,ee)=>{var H=ve("版本");h(Y,H)},$$slots:{default:!0}})});var de=y(we,2);d$(de,{class:"size-4 text-muted-foreground"});var ae=y(ce,2);A(ae,()=>Wr,(O,G)=>{G(O,{class:"text-xl",children:(Y,ee)=>{var H=ve();Q(()=>te(H,e.status.version||"-")),h(Y,H)},$$slots:{default:!0}})}),h(re,X)},$$slots:{default:!0}})});var P=y(ue,2);A(P,()=>_r,(E,U)=>{U(E,{children:(re,Se)=>{an(re,{variant:"secondary",children:(X,ce)=>{var we=ve();Q(()=>te(we,e.status.date||"unknown build date")),h(X,we)},$$slots:{default:!0}})},$$slots:{default:!0}})}),h(W,le)},$$slots:{default:!0}})});var N=y(B,2);A(N,()=>or,(q,se)=>{se(q,{children:(W,ne)=>{var le=hr(),ue=_(le);A(ue,()=>Er,(E,U)=>{U(E,{children:(re,Se)=>{var X=Lo(),ce=_(X),we=S(ce);A(we,()=>Ir,(O,G)=>{G(O,{children:(Y,ee)=>{var H=ve("运行时长");h(Y,H)},$$slots:{default:!0}})});var de=y(we,2);o$(de,{class:"size-4 text-muted-foreground"});var ae=y(ce,2);A(ae,()=>Wr,(O,G)=>{G(O,{class:"text-xl tabular-nums",children:(Y,ee)=>{var H=ve();Q($e=>te(H,$e),[()=>S$(a(r).uptime)]),h(Y,H)},$$slots:{default:!0}})}),h(re,X)},$$slots:{default:!0}})});var P=y(ue,2);A(P,()=>_r,(E,U)=>{U(E,{children:(re,Se)=>{var X=j$();h(re,X)},$$slots:{default:!0}})}),h(W,le)},$$slots:{default:!0}})});var M=y(N,2);A(M,()=>or,(q,se)=>{se(q,{children:(W,ne)=>{var le=hr(),ue=_(le);A(ue,()=>Er,(E,U)=>{U(E,{children:(re,Se)=>{var X=Lo(),ce=_(X),we=S(ce);A(we,()=>Ir,(O,G)=>{G(O,{children:(Y,ee)=>{var H=ve("DNS 查询");h(Y,H)},$$slots:{default:!0}})});var de=y(we,2);bf(de,{class:"size-4 text-muted-foreground"});var ae=y(ce,2);A(ae,()=>Wr,(O,G)=>{G(O,{class:"text-xl tabular-nums",children:(Y,ee)=>{var H=ve();Q($e=>te(H,$e),[()=>Bt(a(r).dnsQueries)]),h(Y,H)},$$slots:{default:!0}})}),h(re,X)},$$slots:{default:!0}})});var P=y(ue,2);A(P,()=>_r,(E,U)=>{U(E,{children:(re,Se)=>{var X=W$();h(re,X)},$$slots:{default:!0}})}),h(W,le)},$$slots:{default:!0}})});var R=y(M,2);A(R,()=>or,(q,se)=>{se(q,{children:(W,ne)=>{var le=hr(),ue=_(le);A(ue,()=>Er,(E,U)=>{U(E,{children:(re,Se)=>{var X=Lo(),ce=_(X),we=S(ce);A(we,()=>Ir,(O,G)=>{G(O,{children:(Y,ee)=>{var H=ve("代理流量");h(Y,H)},$$slots:{default:!0}})});var de=y(we,2);r$(de,{class:"size-4 text-muted-foreground"});var ae=y(ce,2);A(ae,()=>Wr,(O,G)=>{G(O,{class:"text-xl tabular-nums",children:(Y,ee)=>{var H=ve();Q($e=>te(H,$e),[()=>sn(a(r).bytesUp+a(r).bytesDown)]),h(Y,H)},$$slots:{default:!0}})}),h(re,X)},$$slots:{default:!0}})});var P=y(ue,2);A(P,()=>_r,(E,U)=>{U(E,{children:(re,Se)=>{var X=G$(),ce=S(X);Q((we,de)=>te(ce,`↑ ${we??""} / ↓ ${de??""}`),[()=>sn(a(r).bytesUp),()=>sn(a(r).bytesDown)]),h(re,X)},$$slots:{default:!0}})}),h(W,le)},$$slots:{default:!0}})});var F=y(I,2),k=S(F);A(k,()=>or,(q,se)=>{se(q,{children:(W,ne)=>{var le=hr(),ue=_(le);A(ue,()=>Er,(E,U)=>{U(E,{children:(re,Se)=>{var X=Lo(),ce=_(X),we=S(ce);A(we,()=>Ir,(O,G)=>{G(O,{children:(Y,ee)=>{var H=ve("上行速率");h(Y,H)},$$slots:{default:!0}})});var de=y(we,2);ob(de,{class:"size-4 text-muted-foreground"});var ae=y(ce,2);A(ae,()=>Wr,(O,G)=>{G(O,{class:"text-xl tabular-nums",children:(Y,ee)=>{var H=ve();Q($e=>te(H,`${$e??""}/s`),[()=>sn(a(r).rates.bytesUpPerSec)]),h(Y,H)},$$slots:{default:!0}})}),h(re,X)},$$slots:{default:!0}})});var P=y(ue,2);A(P,()=>_r,(E,U)=>{U(E,{children:(re,Se)=>{var X=hc();h(re,X)},$$slots:{default:!0}})}),h(W,le)},$$slots:{default:!0}})});var j=y(k,2);A(j,()=>or,(q,se)=>{se(q,{children:(W,ne)=>{var le=hr(),ue=_(le);A(ue,()=>Er,(E,U)=>{U(E,{children:(re,Se)=>{var X=Lo(),ce=_(X),we=S(ce);A(we,()=>Ir,(O,G)=>{G(O,{children:(Y,ee)=>{var H=ve("下行速率");h(Y,H)},$$slots:{default:!0}})});var de=y(we,2);nb(de,{class:"size-4 text-muted-foreground"});var ae=y(ce,2);A(ae,()=>Wr,(O,G)=>{G(O,{class:"text-xl tabular-nums",children:(Y,ee)=>{var H=ve();Q($e=>te(H,`${$e??""}/s`),[()=>sn(a(r).rates.bytesDownPerSec)]),h(Y,H)},$$slots:{default:!0}})}),h(re,X)},$$slots:{default:!0}})});var P=y(ue,2);A(P,()=>_r,(E,U)=>{U(E,{children:(re,Se)=>{var X=hc();h(re,X)},$$slots:{default:!0}})}),h(W,le)},$$slots:{default:!0}})});var T=y(j,2);A(T,()=>or,(q,se)=>{se(q,{children:(W,ne)=>{var le=hr(),ue=_(le);A(ue,()=>Er,(E,U)=>{U(E,{children:(re,Se)=>{var X=Lo(),ce=_(X),we=S(ce);A(we,()=>Ir,(O,G)=>{G(O,{children:(Y,ee)=>{var H=ve("DNS 速率");h(Y,H)},$$slots:{default:!0}})});var de=y(we,2);bf(de,{class:"size-4 text-muted-foreground"});var ae=y(ce,2);A(ae,()=>Wr,(O,G)=>{G(O,{class:"text-xl tabular-nums",children:(Y,ee)=>{var H=ve();Q($e=>te(H,`${$e??""}/s`),[()=>a(r).rates.dnsPerSec.toFixed(1)]),h(Y,H)},$$slots:{default:!0}})}),h(re,X)},$$slots:{default:!0}})});var P=y(ue,2);A(P,()=>_r,(E,U)=>{U(E,{children:(re,Se)=>{var X=hc();h(re,X)},$$slots:{default:!0}})}),h(W,le)},$$slots:{default:!0}})});var ie=y(T,2);A(ie,()=>or,(q,se)=>{se(q,{children:(W,ne)=>{var le=hr(),ue=_(le);A(ue,()=>Er,(E,U)=>{U(E,{children:(re,Se)=>{var X=Lo(),ce=_(X),we=S(ce);A(we,()=>Ir,(O,G)=>{G(O,{children:(Y,ee)=>{var H=ve("连接速率");h(Y,H)},$$slots:{default:!0}})});var de=y(we,2);i$(de,{class:"size-4 text-muted-foreground"});var ae=y(ce,2);A(ae,()=>Wr,(O,G)=>{G(O,{class:"text-xl tabular-nums",children:(Y,ee)=>{var H=ve();Q($e=>te(H,`${$e??""}/s`),[()=>a(r).rates.connsPerSec.toFixed(1)]),h(Y,H)},$$slots:{default:!0}})}),h(re,X)},$$slots:{default:!0}})});var P=y(ue,2);A(P,()=>_r,(E,U)=>{U(E,{children:(re,Se)=>{var X=hc();h(re,X)},$$slots:{default:!0}})}),h(W,le)},$$slots:{default:!0}})});var xe=y(F,2),J=S(xe);A(J,()=>or,(q,se)=>{se(q,{children:(W,ne)=>{var le=hr(),ue=_(le);A(ue,()=>Er,(E,U)=>{U(E,{children:(re,Se)=>{var X=dd(),ce=S(X);A(ce,()=>Ir,(de,ae)=>{ae(de,{children:(O,G)=>{var Y=ve("活跃连接");h(O,Y)},$$slots:{default:!0}})});var we=y(ce,2);u$(we,{class:"size-4 text-muted-foreground"}),h(re,X)},$$slots:{default:!0}})});var P=y(ue,2);A(P,()=>_r,(E,U)=>{U(E,{class:"space-y-2",children:(re,Se)=>{var X=H$(),ce=_(X),we=y(S(ce),2),de=S(we),ae=y(ce,2),O=y(S(ae),2),G=S(O),Y=y(ae,2),ee=y(S(Y),2),H=S(ee),$e=y(Y,2),nt=S($e);Q((ut,ze,_e)=>{te(de,a(r).active.http),te(G,a(r).active.https),te(H,a(r).active.socks5),te(nt,`累计 ${ut??""} / ${ze??""} / ${_e??""}`)},[()=>Bt(a(r).conns.http),()=>Bt(a(r).conns.https),()=>Bt(a(r).conns.socks5)]),h(re,X)},$$slots:{default:!0}})}),h(W,le)},$$slots:{default:!0}})});var pe=y(J,2);A(pe,()=>or,(q,se)=>{se(q,{children:(W,ne)=>{var le=hr(),ue=_(le);A(ue,()=>Er,(E,U)=>{U(E,{children:(re,Se)=>{var X=dd(),ce=S(X);A(ce,()=>Ir,(de,ae)=>{ae(de,{children:(O,G)=>{var Y=ve("规则命中");h(O,Y)},$$slots:{default:!0}})});var we=y(ce,2);g$(we,{class:"size-4 text-muted-foreground"}),h(re,X)},$$slots:{default:!0}})});var P=y(ue,2);A(P,()=>_r,(E,U)=>{U(E,{class:"space-y-2",children:(re,Se)=>{var X=K$(),ce=_(X),we=y(S(ce),2),de=S(we),ae=y(ce,2),O=y(S(ae),2),G=S(O),Y=y(ae,2),ee=y(S(Y),2),H=S(ee),$e=y(Y,2),nt=S($e);Q((ut,ze,_e,Me,Le,Re)=>{te(de,ut),te(G,ze),te(H,_e),te(nt,`已配置 ${Me??""} / ${Le??""} / ${Re??""} 条`)},[()=>Bt(a(r).ruleHits.block),()=>Bt(a(r).ruleHits.direct),()=>Bt(a(r).ruleHits.proxy),()=>Bt(e.status.rules.block),()=>Bt(e.status.rules.direct),()=>Bt(e.status.rules.proxy)]),h(re,X)},$$slots:{default:!0}})}),h(W,le)},$$slots:{default:!0}})});var be=y(pe,2);A(be,()=>or,(q,se)=>{se(q,{children:(W,ne)=>{var le=hr(),ue=_(le);A(ue,()=>Er,(E,U)=>{U(E,{children:(re,Se)=>{var X=dd(),ce=S(X);A(ce,()=>Ir,(de,ae)=>{ae(de,{children:(O,G)=>{var Y=ve("系统");h(O,Y)},$$slots:{default:!0}})});var we=y(ce,2);xs(we,{class:"size-4 text-muted-foreground"}),h(re,X)},$$slots:{default:!0}})});var P=y(ue,2);A(P,()=>_r,(E,U)=>{U(E,{class:"space-y-2",children:(re,Se)=>{var X=U$(),ce=_(X),we=y(S(ce),2),de=S(we),ae=y(ce,2),O=y(S(ae),2),G=S(O);Q((Y,ee)=>{te(de,Y),te(G,ee)},[()=>Bt(a(r).system.goroutines),()=>sn(a(r).system.heapAlloc)]),h(re,X)},$$slots:{default:!0}})}),h(W,le)},$$slots:{default:!0}})});var ye=y(xe,2),Oe=S(ye);A(Oe,()=>or,(q,se)=>{se(q,{children:(W,ne)=>{var le=hr(),ue=_(le);A(ue,()=>Er,(E,U)=>{U(E,{children:(re,Se)=>{var X=hr(),ce=_(X);A(ce,()=>Ir,(de,ae)=>{ae(de,{children:(O,G)=>{var Y=ve("流量历史");h(O,Y)},$$slots:{default:!0}})});var we=y(ce,2);A(we,()=>Wr,(de,ae)=>{ae(de,{class:"text-base",children:(O,G)=>{var Y=ve("上下行速率");h(O,Y)},$$slots:{default:!0}})}),h(re,X)},$$slots:{default:!0}})});var P=y(ue,2);A(P,()=>_r,(E,U)=>{U(E,{children:(re,Se)=>{{let X=z(()=>[{name:"下行",color:"var(--chart-1)",values:a(i).bytesDown},{name:"上行",color:"var(--chart-4)",values:a(i).bytesUp}]);ui(re,{label:"上下行速率历史",get series(){return a(X)},get labels(){return a(o)},get timestamps(){return a(s)},format:l})}},$$slots:{default:!0}})}),h(W,le)},$$slots:{default:!0}})});var Te=y(Oe,2);A(Te,()=>or,(q,se)=>{se(q,{children:(W,ne)=>{var le=hr(),ue=_(le);A(ue,()=>Er,(E,U)=>{U(E,{children:(re,Se)=>{var X=hr(),ce=_(X);A(ce,()=>Ir,(de,ae)=>{ae(de,{children:(O,G)=>{var Y=ve("DNS 与连接");h(O,Y)},$$slots:{default:!0}})});var we=y(ce,2);A(we,()=>Wr,(de,ae)=>{ae(de,{class:"text-base",children:(O,G)=>{var Y=ve("每秒查询 / 新建连接");h(O,Y)},$$slots:{default:!0}})}),h(re,X)},$$slots:{default:!0}})});var P=y(ue,2);A(P,()=>_r,(E,U)=>{U(E,{children:(re,Se)=>{{let X=z(()=>[{name:"DNS",color:"var(--chart-2)",values:a(i).dns},{name:"连接",color:"var(--chart-3)",values:a(i).conns}]);ui(re,{label:"DNS 与连接速率历史",get series(){return a(X)},get labels(){return a(o)},get timestamps(){return a(s)},format:c})}},$$slots:{default:!0}})}),h(W,le)},$$slots:{default:!0}})});var Ne=y(Te,2);A(Ne,()=>or,(q,se)=>{se(q,{children:(W,ne)=>{var le=hr(),ue=_(le);A(ue,()=>Er,(E,U)=>{U(E,{children:(re,Se)=>{var X=hr(),ce=_(X);A(ce,()=>Ir,(de,ae)=>{ae(de,{children:(O,G)=>{var Y=ve("活跃连接");h(O,Y)},$$slots:{default:!0}})});var we=y(ce,2);A(we,()=>Wr,(de,ae)=>{ae(de,{class:"text-base",children:(O,G)=>{var Y=ve("分协议在线数");h(O,Y)},$$slots:{default:!0}})}),h(re,X)},$$slots:{default:!0}})});var P=y(ue,2);A(P,()=>_r,(E,U)=>{U(E,{children:(re,Se)=>{{let X=z(()=>[{name:"HTTP",color:"var(--chart-1)",values:a(n).map(ce=>ce.activeHttp)},{name:"HTTPS",color:"var(--chart-4)",values:a(n).map(ce=>ce.activeHttps)},{name:"SOCKS5",color:"var(--chart-3)",values:a(n).map(ce=>ce.activeSocks)}]);ui(re,{label:"活跃连接历史",get series(){return a(X)},get labels(){return a(o)},get timestamps(){return a(s)},get format(){return Bt}})}},$$slots:{default:!0}})}),h(W,le)},$$slots:{default:!0}})});var K=y(Ne,2);A(K,()=>or,(q,se)=>{se(q,{children:(W,ne)=>{var le=hr(),ue=_(le);A(ue,()=>Er,(E,U)=>{U(E,{children:(re,Se)=>{var X=hr(),ce=_(X);A(ce,()=>Ir,(de,ae)=>{ae(de,{children:(O,G)=>{var Y=ve("规则命中");h(O,Y)},$$slots:{default:!0}})});var we=y(ce,2);A(we,()=>Wr,(de,ae)=>{ae(de,{class:"text-base",children:(O,G)=>{var Y=ve("每秒路由决策");h(O,Y)},$$slots:{default:!0}})}),h(re,X)},$$slots:{default:!0}})});var P=y(ue,2);A(P,()=>_r,(E,U)=>{U(E,{children:(re,Se)=>{{let X=z(()=>[{name:"Proxy",color:"var(--chart-1)",values:a(i).proxy},{name:"Direct",color:"var(--chart-2)",values:a(i).direct},{name:"Block",color:"var(--chart-5)",values:a(i).block}]);ui(re,{label:"规则命中速率历史",get series(){return a(X)},get labels(){return a(o)},get timestamps(){return a(s)},format:c})}},$$slots:{default:!0}})}),h(W,le)},$$slots:{default:!0}})});var Gt=y(ye,2),Mt=S(Gt);Q(()=>te(Mt,a(u))),h(m,b)};me(g,m=>{!e.status||!a(r)?m(v):m(p,-1)})}h(t,f),je()}var X$=new Set(["$$slots","$$events","$$legacy","ref","class","children"]),Z$=D("");function wf(t,e){Ve(e,!0);let r=L(e,"ref",15,null),n=Et(e,X$);var o=Z$();Rt(o,i=>({"data-slot":"table-body",class:i,...n}),[()=>yt("[&_tr:last-child]:border-0",e.class)]);var s=S(o);st(s,()=>e.children??rt),ar(o,i=>r(i),()=>r()),h(t,o),je()}var J$=new Set(["$$slots","$$events","$$legacy","ref","class","children"]),Q$=D("");function eS(t,e){Ve(e,!0);let r=L(e,"ref",15,null),n=Et(e,J$);var o=Q$();Rt(o,i=>({"data-slot":"table-caption",class:i,...n}),[()=>yt("mt-4 text-sm text-muted-foreground",e.class)]);var s=S(o);st(s,()=>e.children??rt),ar(o,i=>r(i),()=>r()),h(t,o),je()}var tS=new Set(["$$slots","$$events","$$legacy","ref","class","children"]),rS=D("");function Fr(t,e){Ve(e,!0);let r=L(e,"ref",15,null),n=Et(e,tS);var o=rS();Rt(o,i=>({"data-slot":"table-cell",class:i,...n}),[()=>yt("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0",e.class)]);var s=S(o);st(s,()=>e.children??rt),ar(o,i=>r(i),()=>r()),h(t,o),je()}var nS=new Set(["$$slots","$$events","$$legacy","ref","class","children"]),oS=D("");function Xr(t,e){Ve(e,!0);let r=L(e,"ref",15,null),n=Et(e,nS);var o=oS();Rt(o,i=>({"data-slot":"table-head",class:i,...n}),[()=>yt("h-10 px-2 text-left align-middle font-medium whitespace-nowrap text-foreground [&:has([role=checkbox])]:pr-0",e.class)]);var s=S(o);st(s,()=>e.children??rt),ar(o,i=>r(i),()=>r()),h(t,o),je()}var sS=new Set(["$$slots","$$events","$$legacy","ref","class","children"]),iS=D("");function _f(t,e){Ve(e,!0);let r=L(e,"ref",15,null),n=Et(e,sS);var o=iS();Rt(o,i=>({"data-slot":"table-header",class:i,...n}),[()=>yt("[&_tr]:border-b",e.class)]);var s=S(o);st(s,()=>e.children??rt),ar(o,i=>r(i),()=>r()),h(t,o),je()}var aS=new Set(["$$slots","$$events","$$legacy","ref","class","children"]),lS=D("");function Bo(t,e){Ve(e,!0);let r=L(e,"ref",15,null),n=Et(e,aS);var o=lS();Rt(o,i=>({"data-slot":"table-row",class:i,...n}),[()=>yt("border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted",e.class)]);var s=S(o);st(s,()=>e.children??rt),ar(o,i=>r(i),()=>r()),h(t,o),je()}var cS=new Set(["$$slots","$$events","$$legacy","ref","class","children"]),uS=D('
      ');function kf(t,e){Ve(e,!0);let r=L(e,"ref",15,null),n=Et(e,cS);var o=uS(),s=S(o);Rt(s,l=>({"data-slot":"table",class:l,...n}),[()=>yt("w-full caption-bottom text-sm",e.class)]);var i=S(s);st(i,()=>e.children??rt),ar(s,l=>r(l),()=>r()),h(t,o),je()}var dS=D(''),fS=D(" ",1),Gv=D('

      '),hS=D(' '),vS=D("
      "),gS=D('

      '),pS=D('
      路由
      '),mS=D('
      ',1),bS=D(" 添加",1),yS=D(''),xS=D('
      +
      '),wS=D('
      −
      '),_S=D(" 重置本类",1),kS=D('

      '),$S=D(" 撤销",1),SS=D('
      已删除 ,已保存。
      '),PS=D('
      已保存
      '),CS=D('

      '),AS=D('

      搜索中…

      '),ES=D('操作'),Hv=D(" ",1),TS=D(' '),fd=D(" ",1),MS=D('
      ',1),OS=D('

      暂无未命中规则的连接。

      '),zS=D('
    3. '),IS=D('
        '),NS=D('

        未命中任何 block/direct/proxy 规则的连接域名(检测直连或回退代理),自启动以来累计。

        ',1);function RS(t,e){Ve(e,!0);const r=(O,G=rt,Y=rt)=>{var ee=dS(),H=S(ee),$e=y(H);{var nt=_e=>{ob(_e,{class:"size-3.5"})},ut=_e=>{nb(_e,{class:"size-3.5"})},ze=_e=>{n$(_e,{class:"size-3.5 opacity-50"})};me($e,_e=>{a(u)===G()&&a(f)==="asc"?_e(nt):a(u)===G()?_e(ut,1):_e(ze,-1)})}Q(()=>{sr(ee,1,`inline-flex min-h-11 items-center gap-1 rounded-sm px-1 transition-colors outline-none hover:text-foreground focus-visible:ring-3 focus-visible:ring-ring/50 sm:min-h-0 ${a(u)===G()?"text-foreground":"text-muted-foreground"}`),kt(ee,"title",`按${Y()}排序`),te(H,`${Y()??""} `)}),Lr("click",ee,()=>Se(G())),h(O,ee)},n=200;let o=fe(null),s=fe(0),i=fe(0),l=fe(""),c=fe(""),u=fe("default"),f=fe("desc"),g=fe(""),v=fe(!1),p=fe(!1),m=fe(!1),b=fe(null),w=0,$,I=fe("count"),B=fe(null),N=fe("");function M(O,G){return O===w&&G===e.category}async function R(O){if(e.category==="miss")return;const G=++w,Y=e.category,ee=a(c);O||x(p,!0);try{const H=await Zr.rules(Y,{q:ee,offset:O?0:a(i),limit:n,sort:a(u),dir:a(f)});if(!M(G,Y))return;x(o,O?H.rules:[...a(o)??[],...H.rules],!0),x(s,H.total,!0),x(i,H.offset+H.rules.length),x(g,"")}catch(H){if(!M(G,Y))return;if(H instanceof Tr&&H.status===401){e.onUnauthorized();return}x(g,H instanceof Error?H.message:"load failed",!0)}finally{M(G,Y)&&x(p,!1)}}async function F(){var ee;if(e.category==="miss")return;const O=++w,G=e.category,Y=Math.max(((ee=a(o))==null?void 0:ee.length)??n,n);try{const H=await Zr.rules(G,{q:a(c),offset:0,limit:Y,sort:a(u),dir:a(f)});if(!M(O,G))return;x(o,H.rules,!0),x(s,H.total,!0),x(i,H.offset+H.rules.length),x(g,"")}catch(H){if(!M(O,G))return;if(H instanceof Tr&&H.status===401){e.onUnauthorized();return}x(g,H instanceof Error?H.message:"refresh failed",!0)}}async function k(){if(e.category==="miss")return;const O=a(l).trim();if(!O||a(v))return;const G=++w,Y=e.category;x(v,!0),x(g,"");try{if(await Zr.addRules(Y,[O]),!M(G,Y)||(x(l,""),await F(),e.category!==Y))return;await Ne(),K()}catch(ee){if(!M(G,Y))return;if(ee instanceof Tr&&ee.status===401){e.onUnauthorized();return}x(g,ee instanceof Error?ee.message:"add failed",!0)}finally{x(v,!1)}}async function j(O){var ee;if(e.category==="miss"||a(v))return;const G=++w,Y=e.category;x(v,!0),x(g,"");try{if(await Zr.removeRules(Y,[O]),!M(G,Y)||(await F(),(ee=a(b))==null||ee.focus(),e.category!==Y))return;clearTimeout(be),x(pe,O,!0),be=setTimeout(()=>x(pe,null),6e3),await Ne()}catch(H){if(!M(G,Y))return;if(H instanceof Tr&&H.status===401){e.onUnauthorized();return}x(g,H instanceof Error?H.message:"remove failed",!0)}finally{x(v,!1)}}async function T(){if(e.category==="miss"||!a(pe)||a(v))return;const O=a(pe);x(pe,null),clearTimeout(be),x(v,!0),x(g,"");try{await Zr.addRules(e.category,[O]),await F(),await Ne(),K()}catch(G){if(G instanceof Tr&&G.status===401){e.onUnauthorized();return}x(g,G instanceof Error?G.message:"undo failed",!0)}finally{x(v,!1)}}async function ie(){if(!(e.category==="miss"||a(v))){x(v,!0),x(g,"");try{await Zr.resetRules(e.category),x(J,!1),await F(),await Ne(),K()}catch(O){if(O instanceof Tr&&O.status===401){e.onUnauthorized();return}x(g,O instanceof Error?O.message:"reset failed",!0)}finally{x(v,!1)}}}let xe=fe(null),J=fe(!1),pe=fe(null),be,ye=fe(!1);const Oe=z(()=>{var O;return e.category==="miss"||(O=a(xe))==null?void 0:O.rules[e.category]}),Te=z(()=>{var O,G;return(((O=a(Oe))==null?void 0:O.add.length)??0)+(((G=a(Oe))==null?void 0:G.remove.length)??0)});async function Ne(){try{x(xe,await Zr.rulesChanges(),!0)}catch(O){O instanceof Tr&&O.status===401&&e.onUnauthorized()}}function K(){x(ye,!0),setTimeout(()=>x(ye,!1),2500)}let Gt=fe(""),Mt=fe(null),q=fe(!1),se=fe("");const W={block:"拦截",direct:"直连",proxy:"代理",auto:"自动检测"};function ne(O){switch(O){case"block":return"destructive";case"direct":return"secondary";case"proxy":return"default";default:return"outline"}}function le(O,G){if(!G)return"outline";switch(O){case"block":return"destructive";case"direct":return"secondary";default:return"default"}}async function ue(){const O=a(Gt).trim();if(!(!O||a(q))){x(q,!0),x(se,""),x(Mt,null);try{x(Mt,await Zr.rulesTest(O),!0)}catch(G){if(G instanceof Tr&&G.status===401){e.onUnauthorized();return}x(se,G instanceof Error?G.message:"test failed",!0)}finally{x(q,!1)}}}ur(()=>{e.category,clearTimeout($),clearTimeout(be),x(o,null),x(s,0),x(i,0),x(l,""),x(c,""),x(u,"default"),x(f,"desc"),x(g,""),x(v,!1),x(pe,null),x(J,!1),x(I,"count"),x(B,null),x(N,""),tn(()=>{e.category==="miss"?P():(R(!0),Ne())})});async function P(){try{const O=await Zr.ruleMiss(a(I),20);x(B,O,!0),x(N,"")}catch(O){if(O instanceof Tr&&O.status===401){e.onUnauthorized();return}x(N,O instanceof Error?O.message:"load failed",!0)}}function E(O){a(I)!==O&&(x(I,O,!0),x(B,null),P())}function U(O){x(c,O.currentTarget.value,!0),clearTimeout($),$=setTimeout(()=>{x(i,0),x(m,!0),R(!0).finally(()=>x(m,!1))},300)}const re={rule:"asc",hits:"desc",last_seen:"desc"};function Se(O){a(u)!==O?(x(u,O,!0),x(f,re[O],!0)):a(f)===re[O]?x(f,a(f)==="asc"?"desc":"asc",!0):x(u,"default"),x(i,0),R(!0)}function X(O){if(a(u)===O)return a(f)==="asc"?"ascending":"descending"}var ce=Z(),we=_(ce);{var de=O=>{var G=fd(),Y=_(G);{var ee=ze=>{var _e=Z(),Me=_(_e);A(Me,()=>ql,(Le,Re)=>{Re(Le,{variant:"destructive",class:"mb-4",children:(Fe,ot)=>{var Ge=fS(),Qe=_(Ge);Ws(Qe,{class:"size-4"});var wt=y(Qe,2);A(wt,()=>Ul,(qe,Be)=>{Be(qe,{children:(dt,zt)=>{var At=ve();Q(()=>te(At,a(g))),h(dt,At)},$$slots:{default:!0}})}),h(Fe,Ge)},$$slots:{default:!0}})}),h(ze,_e)};me(Y,ze=>{a(g)&&ze(ee)})}var H=y(Y,2);A(H,()=>or,(ze,_e)=>{_e(ze,{class:"mb-4",children:(Me,Le)=>{var Re=Z(),Fe=_(Re);A(Fe,()=>_r,(ot,Ge)=>{Ge(ot,{class:"grid gap-3 pt-6",children:(Qe,wt)=>{var qe=mS(),Be=_(qe),dt=S(Be);js(dt,{placeholder:"检测域名路由,如 example.com","aria-label":"检测域名",onkeydown:ft=>{ft.key==="Enter"&&ue()},get value(){return a(Gt)},set value(ft){x(Gt,ft,!0)}});var zt=y(dt,2);{let ft=z(()=>a(q)||!a(Gt).trim());rr(zt,{onclick:ue,get disabled(){return a(ft)},children:(ht,mt)=>{var Ie=ve();Q(()=>te(Ie,a(q)?"检测中…":"检测")),h(ht,Ie)},$$slots:{default:!0}})}var At=y(Be,2);{var _t=ft=>{var ht=Gv(),mt=S(ht);Q(()=>te(mt,a(se))),h(ft,ht)};me(At,ft=>{a(se)&&ft(_t)})}var it=y(At,2);{var Tt=ft=>{var ht=pS(),mt=S(ht),Ie=y(S(mt),2);{let at=z(()=>ne(a(Mt).route));an(Ie,{get variant(){return a(at)},children:(Ue,vt)=>{var lt=ve();Q(()=>te(lt,W[a(Mt).route])),h(Ue,lt)},$$slots:{default:!0}})}var He=y(Ie,2),he=S(He),Ye=y(mt,2);Wt(Ye,21,()=>a(Mt).matches,xr,(at,Ue)=>{var vt=vS(),lt=S(vt);{let Xe=z(()=>le(a(Ue).category,a(Ue).matched));an(lt,{get variant(){return a(Xe)},children:(et,Ot)=>{var Ft=ve();Q(()=>te(Ft,`${a(Ue).category??""}${a(Ue).matched?"":" 未命中"}`)),h(et,Ft)},$$slots:{default:!0}})}var Vt=y(lt,2);{var Je=Xe=>{var et=hS(),Ot=S(et);Q(()=>te(Ot,a(Ue).rule)),h(Xe,et)};me(Vt,Xe=>{a(Ue).matched&&Xe(Je)})}Q(()=>sr(vt,1,`flex items-center gap-2 text-sm ${a(Ue).matched?"":"opacity-60"}`)),h(at,vt)});var Ke=y(Ye,2);{var St=at=>{var Ue=gS(),vt=S(Ue);Q(()=>te(vt,a(Mt).note)),h(at,Ue)};me(Ke,at=>{a(Mt).note&&at(St)})}Q(()=>te(he,a(Mt).domain)),ga(1,ht,()=>pa,()=>({duration:ba.current?0:120})),h(ft,ht)};me(it,ft=>{a(Mt)&&ft(Tt)})}h(Qe,qe)},$$slots:{default:!0}})}),h(Me,Re)},$$slots:{default:!0}})});var $e=y(H,2);{var nt=ze=>{Ma(ze,{})},ut=ze=>{var _e=MS(),Me=_(_e),Le=S(Me),Re=S(Le);fh(Re,{class:"pointer-events-none absolute left-2.5 top-1/2 size-4 -translate-y-1/2 text-muted-foreground"});var Fe=y(Re,2);js(Fe,{get value(){return a(c)},oninput:U,placeholder:"搜索规则…","aria-label":"搜索规则",class:"pl-8"});var ot=y(Le,2),Ge=S(ot);js(Ge,{placeholder:"添加规则,如 **.example.com","aria-label":"添加规则",class:"min-w-0 font-mono",onkeydown:Ie=>{Ie.key==="Enter"&&k()},get value(){return a(l)},set value(Ie){x(l,Ie,!0)}});var Qe=y(Ge,2);{let Ie=z(()=>a(v)||!a(l).trim());rr(Qe,{class:"shrink-0 gap-1",onclick:k,get disabled(){return a(Ie)},children:(He,he)=>{var Ye=bS(),Ke=_(Ye);h$(Ke,{class:"size-4"}),h(He,Ye)},$$slots:{default:!0}})}var wt=y(ot,2),qe=S(wt);{var Be=Ie=>{var He=yS(),he=S(He);Q(()=>{var Ye,Ke;kt(He,"aria-expanded",a(J)),te(he,`自定义 +${((Ye=a(Oe))==null?void 0:Ye.add.length)??0??""} / −${((Ke=a(Oe))==null?void 0:Ke.remove.length)??0??""}`)}),Lr("click",He,()=>x(J,!a(J))),h(Ie,He)};me(qe,Ie=>{a(Te)>0&&Ie(Be)})}var dt=y(qe,2);an(dt,{variant:"secondary",class:"ml-auto shrink-0",children:(Ie,He)=>{var he=Z(),Ye=_(he);{var Ke=at=>{var Ue=ve();Q(vt=>te(Ue,`${vt??""} 条规则`),[()=>Bt(a(s))]),h(at,Ue)},St=at=>{var Ue=ve();Q((vt,lt)=>te(Ue,`${vt??""} / ${lt??""} 条规则`),[()=>Bt(a(o).length),()=>Bt(a(s))]),h(at,Ue)};me(Ye,at=>{a(o).length===a(s)?at(Ke):at(St,-1)})}h(Ie,he)},$$slots:{default:!0}});var zt=y(Me,2);{var At=Ie=>{var He=kS(),he=S(He),Ye=S(he);Wt(Ye,16,()=>a(Oe).add,Je=>Je,(Je,Xe)=>{var et=xS(),Ot=y(S(et),2),Ft=S(Ot);Q(()=>te(Ft,Xe)),h(Je,et)});var Ke=y(Ye,2);Wt(Ke,16,()=>a(Oe).remove,Je=>Je,(Je,Xe)=>{var et=wS(),Ot=y(S(et),2),Ft=S(Ot);Q(()=>te(Ft,Xe)),h(Je,et)});var St=y(he,2),at=S(St),Ue=S(at);{var vt=Je=>{var Xe=ve("自定义变更保存在 admin 状态文件,重启后仍然生效。");h(Je,Xe)},lt=Je=>{var Xe=ve("变更仅保存在内存中,重启后丢失(未配置 admin.state_file)。");h(Je,Xe)};me(Ue,Je=>{var Xe;(Xe=a(xe))!=null&&Xe.persistent?Je(vt):Je(lt,-1)})}var Vt=y(at,2);rr(Vt,{variant:"outline",size:"sm",class:"shrink-0 gap-1",onclick:ie,get disabled(){return a(v)},children:(Je,Xe)=>{var et=_S(),Ot=_(et);xf(Ot,{class:"size-3.5"}),h(Je,et)},$$slots:{default:!0}}),ga(1,He,()=>pa,()=>({duration:ba.current?0:120})),h(Ie,He)};me(zt,Ie=>{a(J)&&a(Oe)&&Ie(At)})}var _t=y(zt,2);{var it=Ie=>{var He=SS(),he=S(He),Ye=y(S(he)),Ke=S(Ye),St=y(he,2);rr(St,{variant:"ghost",size:"sm",class:"shrink-0 gap-1",onclick:T,get disabled(){return a(v)},children:(at,Ue)=>{var vt=$S(),lt=_(vt);y$(lt,{class:"size-3.5"}),h(at,vt)},$$slots:{default:!0}}),Q(()=>te(Ke,a(pe))),ga(1,He,()=>pa,()=>({duration:ba.current?0:120})),h(Ie,He)},Tt=Ie=>{var He=PS(),he=S(He);Ic(he,{class:"size-4"}),ga(1,He,()=>pa,()=>({duration:ba.current?0:120})),h(Ie,He)};me(_t,Ie=>{a(pe)?Ie(it):a(ye)&&Ie(Tt,1)})}var ft=y(_t,2);{var ht=Ie=>{var He=CS(),he=S(He);l$(he,{class:"size-5","aria-hidden":"true"});var Ye=y(he,2),Ke=S(Ye);Q(St=>te(Ke,St),[()=>a(c).trim()?`没有匹配“${a(c).trim()}”的规则。`:"该分类暂无规则。"]),h(Ie,He)},mt=Ie=>{var He=fd(),he=_(He);{var Ye=Ue=>{var vt=AS();h(Ue,vt)};me(he,Ue=>{a(m)&&Ue(Ye)})}var Ke=y(he,2);A(Ke,()=>or,(Ue,vt)=>{vt(Ue,{tabindex:-1,class:"focus:outline-none",get ref(){return a(b)},set ref(lt){x(b,lt,!0)},children:(lt,Vt)=>{var Je=Z(),Xe=_(Je);A(Xe,()=>kf,(et,Ot)=>{Ot(et,{children:(Ft,qt)=>{var lr=fd(),Ht=_(lr);A(Ht,()=>eS,(dr,cr)=>{cr(dr,{class:"px-4 pb-1 text-left",children:(Pr,tt)=>{var Pt=ve("命中统计自启动以来累计,重启后清零;升序可将零命中规则置顶,便于清理。");h(Pr,Pt)},$$slots:{default:!0}})});var It=y(Ht,2);A(It,()=>_f,(dr,cr)=>{cr(dr,{children:(Pr,tt)=>{var Pt=Z(),tr=_(Pt);A(tr,()=>Bo,(Lt,Kt)=>{Kt(Lt,{class:"hover:bg-transparent",children:(Io,ni)=>{var Cr=Hv(),Qt=_(Cr);{let Ar=z(()=>X("rule"));A(Qt,()=>Xr,(jt,Xt)=>{Xt(jt,{scope:"col",get"aria-sort"(){return a(Ar)},children:(Ut,fr)=>{r(Ut,()=>"rule",()=>"规则")},$$slots:{default:!0}})})}var Yt=y(Qt,2);{let Ar=z(()=>X("hits"));A(Yt,()=>Xr,(jt,Xt)=>{Xt(jt,{scope:"col",class:"text-right",get"aria-sort"(){return a(Ar)},children:(Ut,fr)=>{r(Ut,()=>"hits",()=>"命中次数")},$$slots:{default:!0}})})}var jr=y(Yt,2);{let Ar=z(()=>X("last_seen"));A(jr,()=>Xr,(jt,Xt)=>{Xt(jt,{scope:"col",class:"hidden text-right sm:table-cell",get"aria-sort"(){return a(Ar)},children:(Ut,fr)=>{r(Ut,()=>"last_seen",()=>"最近命中")},$$slots:{default:!0}})})}var kn=y(jr,2);A(kn,()=>Xr,(Ar,jt)=>{jt(Ar,{scope:"col",class:"w-0 text-right",children:(Xt,Ut)=>{var fr=ES();h(Xt,fr)},$$slots:{default:!0}})}),h(Io,Cr)},$$slots:{default:!0}})}),h(Pr,Pt)},$$slots:{default:!0}})});var nr=y(It,2);A(nr,()=>wf,(dr,cr)=>{cr(dr,{children:(Pr,tt)=>{var Pt=Z(),tr=_(Pt);Wt(tr,17,()=>a(o),Lt=>Lt.rule,(Lt,Kt)=>{var Io=Z(),ni=_(Io);A(ni,()=>Bo,(Cr,Qt)=>{Qt(Cr,{children:(Yt,jr)=>{var kn=Hv(),Ar=_(kn);A(Ar,()=>Fr,(fr,$n)=>{$n(fr,{class:"w-full whitespace-normal",children:(Sn,oo)=>{var In=TS(),Pn=S(In);Q(()=>te(Pn,a(Kt).rule)),h(Sn,In)},$$slots:{default:!0}})});var jt=y(Ar,2);{let fr=z(()=>a(Kt).count===0?"text-muted-foreground":"");A(jt,()=>Fr,($n,Sn)=>{Sn($n,{get class(){return`text-right tabular-nums ${a(fr)??""}`},children:(oo,In)=>{var Pn=ve();Q(Uu=>te(Pn,Uu),[()=>Bt(a(Kt).count)]),h(oo,Pn)},$$slots:{default:!0}})})}var Xt=y(jt,2);A(Xt,()=>Fr,(fr,$n)=>{$n(fr,{class:"hidden text-right text-muted-foreground tabular-nums sm:table-cell",children:(Sn,oo)=>{var In=ve();Q(Pn=>te(In,Pn),[()=>a(Kt).lastSeen?nu(a(Kt).lastSeen):"—"]),h(Sn,In)},$$slots:{default:!0}})});var Ut=y(Xt,2);A(Ut,()=>Fr,(fr,$n)=>{$n(fr,{class:"text-right",children:(Sn,oo)=>{{let In=z(()=>`删除 ${a(Kt).rule}`),Pn=z(()=>`删除 ${a(Kt).rule}`);rr(Sn,{variant:"ghost",size:"icon-sm",class:"size-11 text-muted-foreground hover:bg-destructive/10 hover:text-destructive sm:size-8",get"aria-label"(){return a(In)},get title(){return a(Pn)},onclick:()=>j(a(Kt).rule),get disabled(){return a(v)},children:(Uu,YP)=>{b$(Uu,{class:"size-4"})},$$slots:{default:!0}})}},$$slots:{default:!0}})}),h(Yt,kn)},$$slots:{default:!0}})}),h(Lt,Io)}),h(Pr,Pt)},$$slots:{default:!0}})}),h(Ft,lr)},$$slots:{default:!0}})}),h(lt,Je)},$$slots:{default:!0}})});var St=y(Ke,2);{var at=Ue=>{{let vt=z(()=>a(p)||a(v));rr(Ue,{variant:"outline",class:"mt-3 w-full",onclick:()=>R(!1),get disabled(){return a(vt)},children:(lt,Vt)=>{var Je=ve();Q(Xe=>te(Je,Xe),[()=>a(p)?"加载中…":`加载更多(已加载 ${Bt(a(o).length)} / ${Bt(a(s))})`]),h(lt,Je)},$$slots:{default:!0}})}};me(St,Ue=>{a(o).length{a(s)===0?Ie(ht):Ie(mt,-1)})}h(ze,_e)};me($e,ze=>{a(o)===null?ze(nt):ze(ut,-1)})}h(O,G)},ae=O=>{var G=NS(),Y=_(G),ee=S(Y),H=S(ee),$e=y(H,2),nt=y(Y,2);{var ut=Le=>{var Re=Gv(),Fe=S(Re);Q(()=>te(Fe,a(N))),h(Le,Re)},ze=Le=>{Ma(Le,{})},_e=Le=>{var Re=OS(),Fe=S(Re);yf(Fe,{class:"size-5","aria-hidden":"true"}),h(Le,Re)},Me=Le=>{var Re=Z(),Fe=_(Re);A(Fe,()=>or,(ot,Ge)=>{Ge(ot,{children:(Qe,wt)=>{var qe=IS();Wt(qe,23,()=>a(B),Be=>Be.rule,(Be,dt,zt)=>{var At=zS(),_t=S(At),it=S(_t),Tt=y(_t,2),ft=S(Tt),ht=y(Tt,2),mt=S(ht),Ie=y(ht,2),He=S(Ie);Q((he,Ye)=>{te(it,a(zt)+1),te(ft,a(dt).rule),sr(ht,1,`shrink-0 tabular-nums ${a(dt).count===0?"text-muted-foreground":""}`),te(mt,`${he??""} 次`),te(He,Ye)},[()=>Bt(a(dt).count),()=>a(dt).lastSeen?nu(a(dt).lastSeen):"—"]),h(Be,At)}),h(Qe,qe)},$$slots:{default:!0}})}),h(Le,Re)};me(nt,Le=>{a(N)?Le(ut):a(B)===null?Le(ze,1):a(B).length===0?Le(_e,2):Le(Me,-1)})}Q(()=>{sr(H,1,`rounded-sm px-2.5 py-1 text-xs font-medium transition-colors outline-none focus-visible:ring-3 focus-visible:ring-ring/50 ${a(I)==="count"?"bg-card text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"}`),kt(H,"aria-pressed",a(I)==="count"),sr($e,1,`rounded-sm px-2.5 py-1 text-xs font-medium transition-colors outline-none focus-visible:ring-3 focus-visible:ring-ring/50 ${a(I)==="recent"?"bg-card text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"}`),kt($e,"aria-pressed",a(I)==="recent")}),Lr("click",H,()=>E("count")),Lr("click",$e,()=>E("recent")),h(O,G)};me(we,O=>{e.category!=="miss"?O(de):O(ae,-1)})}h(t,ce),je()}Ui(["click"]);var la=D(" ",1),FS=D(''),LS=D('
        '),DS=D(''),BS=D('
        '),VS=D('

        暂无拦截记录。

        '),vc=D(" ",1),jS=D('

        '),Kv=D(" ",1),WS=D('

        自启动以来被拦截的域名,按拦截次数排序,实时推送。

        '),Uv=D('

        '),GS=D('

        上下行速率 · 全局历史

        连接与查询 · 全局历史

        ',1);function HS(t,e){Ve(e,!0);let r=L(e,"source",3,"all");const n=[{value:"bytes",label:"流量"},{value:"recent",label:"最近"},{value:"conns",label:"连接数"}];let o=fe("live");const s=z(()=>{var J,pe;return a(o)==="totals"?((J=Zt.totals)==null?void 0:J.domains)??[]:((pe=Zt.traffic)==null?void 0:pe.domains)??[]}),i=z(()=>{var J,pe;return a(o)==="totals"?((J=Zt.totals)==null?void 0:J.clients)??[]:((pe=Zt.traffic)==null?void 0:pe.clients)??[]});let l=fe(""),c=fe("bytes"),u=fe("");const f=z(()=>{var J;return((J=Zt.traffic)==null?void 0:J.blocked)??[]}),g=z(()=>{const J=a(l).trim().toLowerCase();return J?a(f).filter(pe=>pe.domain.toLowerCase().includes(J)):a(f)}),v=z(()=>{var J;return((J=n.find(pe=>pe.value===a(c)))==null?void 0:J.label)??"流量"}),p=z(()=>Zt.history),m=z(()=>a(p).map(J=>Nc(J.at))),b=z(()=>a(p).map(J=>J.at)),w=z(()=>lb(a(p),["bytesUp","bytesDown","conns","dns"])),$=J=>`${sn(J)}/s`,I=J=>`${J.toFixed(1)}/s`,B={all:"流量",http:"HTTP",https:"HTTPS",socks5:"SOCKS5",dns:"DNS"},N=z(()=>B[r()]),M=z(()=>r()==="dns"),R=z(()=>{const J=a(l).trim().toLowerCase();return J?a(s).filter(pe=>pe.domain.toLowerCase().includes(J)):a(s)}),F=z(()=>a(o)==="totals"||!a(M));ur(()=>{const J=new URLSearchParams;a(c)!=="bytes"&&J.set("sort",a(c)),r()!=="all"&&J.set("source",r()),a(u)&&J.set("client",a(u)),su(J.toString())});const k="sticky top-0 z-10 bg-card";var j=Z(),T=_(j);{var ie=J=>{Ma(J,{})},xe=J=>{var pe=GS(),be=_(pe);{var ye=ee=>{var H=Z(),$e=_(H);A($e,()=>ql,(nt,ut)=>{ut(nt,{variant:"destructive",class:"mb-4",children:(ze,_e)=>{var Me=la(),Le=_(Me);Ws(Le,{class:"size-4"});var Re=y(Le,2);A(Re,()=>Ul,(Fe,ot)=>{ot(Fe,{children:(Ge,Qe)=>{var wt=ve("实时连接已断开,正在自动重连…");h(Ge,wt)},$$slots:{default:!0}})}),h(ze,Me)},$$slots:{default:!0}})}),h(ee,H)};me(be,ee=>{Zt.connected||ee(ye)})}var Oe=y(be,2),Te=S(Oe),Ne=S(Te);fh(Ne,{class:"pointer-events-none absolute left-2.5 top-1/2 size-4 -translate-y-1/2 text-muted-foreground"});var K=y(Ne,2);js(K,{placeholder:"过滤域名…","aria-label":"过滤域名",class:"pl-8",get value(){return a(l)},set value(ee){x(l,ee,!0)}});var Gt=y(Te,2),Mt=S(Gt),q=y(Mt,2),se=y(q,2),W=y(Gt,2);{var ne=ee=>{var H=LS();Wt(H,21,()=>n,xr,($e,nt)=>{var ut=FS(),ze=S(ut);Q(()=>{sr(ut,1,`rounded-sm px-2.5 py-1 text-xs font-medium transition-colors outline-none focus-visible:ring-3 focus-visible:ring-ring/50 ${a(c)===a(nt).value?"bg-card text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"}`),kt(ut,"aria-pressed",a(c)===a(nt).value),te(ze,a(nt).label)}),Lr("click",ut,()=>x(c,a(nt).value,!0)),h($e,ut)}),h(ee,H)};me(W,ee=>{a(o)==="live"&&ee(ne)})}var le=y(W,2);an(le,{variant:"secondary",class:"justify-self-end shrink-0 sm:ml-auto",children:(ee,H)=>{var $e=Z(),nt=_($e);{var ut=Me=>{var Le=ve();Q(Re=>te(Le,`${Re??""} 次拦截`),[()=>Bt(a(g).length)]),h(Me,Le)},ze=Me=>{var Le=ve();Q(Re=>te(Le,`${Re??""} 个域名`),[()=>Bt(a(R).length)]),h(Me,Le)},_e=Me=>{var Le=ve();Q((Re,Fe)=>te(Le,`${Re??""} / ${Fe??""} 个域名`),[()=>Bt(a(R).length),()=>Bt(a(s).length)]),h(Me,Le)};me(nt,Me=>{a(o)==="blocked"?Me(ut):a(R).length===a(s).length?Me(ze,1):Me(_e,-1)})}h(ee,$e)},$$slots:{default:!0}});var ue=y(Oe,2);{var P=ee=>{var H=BS(),$e=S(H),nt=y($e,2);Wt(nt,17,()=>a(i),xr,(ut,ze)=>{var _e=DS(),Me=S(_e),Le=y(Me),Re=S(Le);Q((Fe,ot)=>{sr(_e,1,`rounded-full border px-3 py-1 font-mono text-xs transition-colors outline-none focus-visible:ring-3 focus-visible:ring-ring/50 ${a(o)==="live"&&a(u)===a(ze).ip?"border-primary/40 bg-primary/10 text-foreground":"text-muted-foreground hover:text-foreground"}`),kt(_e,"aria-pressed",a(o)==="live"&&a(u)===a(ze).ip),kt(_e,"title",Fe),te(Me,`${a(ze).ip??""} `),te(Re,ot)},[()=>`${Bt(a(ze).conns)} 次 · ↑${sn(a(ze).bytesUp)} ↓${sn(a(ze).bytesDown)}`,()=>Bt(a(ze).conns)]),Lr("click",_e,()=>{a(o)==="totals"&&x(o,"live"),x(u,a(ze).ip,!0)}),h(ut,_e)}),Q(()=>{sr($e,1,`rounded-full border px-3 py-1 text-xs font-medium transition-colors outline-none focus-visible:ring-3 focus-visible:ring-ring/50 ${a(o)==="live"&&!a(u)?"border-primary/40 bg-primary/10 text-foreground":"text-muted-foreground hover:text-foreground"}`),kt($e,"aria-pressed",a(o)==="live"&&!a(u))}),Lr("click",$e,()=>x(u,"")),h(ee,H)};me(ue,ee=>{a(o)!=="blocked"&&a(i).length>0&&ee(P)})}var E=y(ue,2),U=S(E),re=y(S(U),2);{let ee=z(()=>[{name:"下行",color:"var(--chart-1)",values:a(w).bytesDown},{name:"上行",color:"var(--chart-4)",values:a(w).bytesUp}]);ui(re,{label:"上下行速率历史(全局)",get series(){return a(ee)},get labels(){return a(m)},get timestamps(){return a(b)},format:$,height:120})}var Se=y(U,2),X=y(S(Se),2);{let ee=z(()=>[{name:"连接",color:"var(--chart-3)",values:a(w).conns},{name:"DNS",color:"var(--chart-2)",values:a(w).dns}]);ui(X,{label:"连接与查询速率历史(全局)",get series(){return a(ee)},get labels(){return a(m)},get timestamps(){return a(b)},format:I,height:120})}var ce=y(E,2);{var we=ee=>{var H=Z(),$e=_(H);{var nt=ze=>{var _e=VS(),Me=S(_e);yf(Me,{class:"size-5","aria-hidden":"true"}),h(ze,_e)},ut=ze=>{var _e=Z(),Me=_(_e);A(Me,()=>or,(Le,Re)=>{Re(Le,{class:"max-h-[70vh] overflow-auto",children:(Fe,ot)=>{var Ge=Z(),Qe=_(Ge);A(Qe,()=>kf,(wt,qe)=>{qe(wt,{children:(Be,dt)=>{var zt=la(),At=_(zt);A(At,()=>_f,(it,Tt)=>{Tt(it,{children:(ft,ht)=>{var mt=Z(),Ie=_(mt);A(Ie,()=>Bo,(He,he)=>{he(He,{children:(Ye,Ke)=>{var St=vc(),at=_(St);A(at,()=>Xr,(lt,Vt)=>{Vt(lt,{scope:"col",class:k,children:(Je,Xe)=>{var et=ve("域名");h(Je,et)},$$slots:{default:!0}})});var Ue=y(at,2);A(Ue,()=>Xr,(lt,Vt)=>{Vt(lt,{scope:"col",class:k+" text-right",children:(Je,Xe)=>{var et=ve("拦截次数");h(Je,et)},$$slots:{default:!0}})});var vt=y(Ue,2);A(vt,()=>Xr,(lt,Vt)=>{Vt(lt,{scope:"col",class:k+" text-right",children:(Je,Xe)=>{var et=ve("最近出现");h(Je,et)},$$slots:{default:!0}})}),h(Ye,St)},$$slots:{default:!0}})}),h(ft,mt)},$$slots:{default:!0}})});var _t=y(At,2);A(_t,()=>wf,(it,Tt)=>{Tt(it,{children:(ft,ht)=>{var mt=la(),Ie=_(mt);{var He=Ye=>{var Ke=Z(),St=_(Ke);A(St,()=>Bo,(at,Ue)=>{Ue(at,{children:(vt,lt)=>{var Vt=Z(),Je=_(Vt);A(Je,()=>Fr,(Xe,et)=>{et(Xe,{colspan:3,class:"py-8 text-center text-sm text-muted-foreground",children:(Ot,Ft)=>{var qt=ve();Q(()=>te(qt,`没有匹配“${a(l)??""}”的域名。`)),h(Ot,qt)},$$slots:{default:!0}})}),h(vt,Vt)},$$slots:{default:!0}})}),h(Ye,Ke)};me(Ie,Ye=>{a(g).length===0&&Ye(He)})}var he=y(Ie,2);Wt(he,17,()=>a(g),Ye=>Ye.domain,(Ye,Ke)=>{var St=Z(),at=_(St);A(at,()=>Bo,(Ue,vt)=>{vt(Ue,{children:(lt,Vt)=>{var Je=vc(),Xe=_(Je);A(Xe,()=>Fr,(Ft,qt)=>{qt(Ft,{class:"max-w-[20rem] truncate font-mono text-xs",get title(){return a(Ke).domain},children:(lr,Ht)=>{var It=ve();Q(()=>te(It,a(Ke).domain)),h(lr,It)},$$slots:{default:!0}})});var et=y(Xe,2);A(et,()=>Fr,(Ft,qt)=>{qt(Ft,{class:"text-right tabular-nums",children:(lr,Ht)=>{var It=ve();Q(nr=>te(It,nr),[()=>Bt(a(Ke).count)]),h(lr,It)},$$slots:{default:!0}})});var Ot=y(et,2);A(Ot,()=>Fr,(Ft,qt)=>{qt(Ft,{class:"text-right text-muted-foreground tabular-nums",children:(lr,Ht)=>{var It=ve();Q(nr=>te(It,nr),[()=>nu(a(Ke).lastSeen)]),h(lr,It)},$$slots:{default:!0}})}),h(lt,Je)},$$slots:{default:!0}})}),h(Ye,St)}),h(ft,mt)},$$slots:{default:!0}})}),h(Be,zt)},$$slots:{default:!0}})}),h(Fe,Ge)},$$slots:{default:!0}})}),h(ze,_e)};me($e,ze=>{a(f).length===0?ze(nt):ze(ut,-1)})}h(ee,H)},de=ee=>{var H=Z(),$e=_(H);{var nt=ze=>{var _e=jS(),Me=S(_e);yf(Me,{class:"size-5","aria-hidden":"true"});var Le=y(Me,2),Re=S(Le);Q(()=>te(Re,a(o)==="totals"?"暂无总计记录。":`暂无${a(N)}记录。`)),h(ze,_e)},ut=ze=>{var _e=Z(),Me=_(_e);A(Me,()=>or,(Le,Re)=>{Re(Le,{class:"max-h-[70vh] overflow-auto",children:(Fe,ot)=>{var Ge=Z(),Qe=_(Ge);A(Qe,()=>kf,(wt,qe)=>{qe(wt,{children:(Be,dt)=>{var zt=la(),At=_(zt);A(At,()=>_f,(it,Tt)=>{Tt(it,{children:(ft,ht)=>{var mt=Z(),Ie=_(mt);A(Ie,()=>Bo,(He,he)=>{he(He,{children:(Ye,Ke)=>{var St=Kv(),at=_(St);A(at,()=>Xr,(Xe,et)=>{et(Xe,{scope:"col",class:k,children:(Ot,Ft)=>{var qt=ve("域名");h(Ot,qt)},$$slots:{default:!0}})});var Ue=y(at,2);A(Ue,()=>Xr,(Xe,et)=>{et(Xe,{scope:"col",class:k+" text-right",children:(Ot,Ft)=>{var qt=ve("请求");h(Ot,qt)},$$slots:{default:!0}})});var vt=y(Ue,2);{var lt=Xe=>{var et=vc(),Ot=_(et);A(Ot,()=>Xr,(lr,Ht)=>{Ht(lr,{scope:"col",class:k+" text-right",children:(It,nr)=>{var dr=ve("上行");h(It,dr)},$$slots:{default:!0}})});var Ft=y(Ot,2);A(Ft,()=>Xr,(lr,Ht)=>{Ht(lr,{scope:"col",class:k+" text-right",children:(It,nr)=>{var dr=ve("下行");h(It,dr)},$$slots:{default:!0}})});var qt=y(Ft,2);A(qt,()=>Xr,(lr,Ht)=>{Ht(lr,{scope:"col",class:k+" text-right",children:(It,nr)=>{var dr=ve("总计");h(It,dr)},$$slots:{default:!0}})}),h(Xe,et)};me(vt,Xe=>{a(F)&&Xe(lt)})}var Vt=y(vt,2);A(Vt,()=>Xr,(Xe,et)=>{et(Xe,{scope:"col",class:k,children:(Ot,Ft)=>{var qt=ve("客户端");h(Ot,qt)},$$slots:{default:!0}})});var Je=y(Vt,2);A(Je,()=>Xr,(Xe,et)=>{et(Xe,{scope:"col",class:k+" text-right",children:(Ot,Ft)=>{var qt=ve("最近出现");h(Ot,qt)},$$slots:{default:!0}})}),h(Ye,St)},$$slots:{default:!0}})}),h(ft,mt)},$$slots:{default:!0}})});var _t=y(At,2);A(_t,()=>wf,(it,Tt)=>{Tt(it,{children:(ft,ht)=>{var mt=la(),Ie=_(mt);{var He=Ye=>{var Ke=Z(),St=_(Ke);A(St,()=>Bo,(at,Ue)=>{Ue(at,{children:(vt,lt)=>{var Vt=Z(),Je=_(Vt);{let Xe=z(()=>a(F)?7:4);A(Je,()=>Fr,(et,Ot)=>{Ot(et,{get colspan(){return a(Xe)},class:"py-8 text-center text-sm text-muted-foreground",children:(Ft,qt)=>{var lr=ve();Q(()=>te(lr,`没有匹配“${a(l)??""}”的域名。`)),h(Ft,lr)},$$slots:{default:!0}})})}h(vt,Vt)},$$slots:{default:!0}})}),h(Ye,Ke)};me(Ie,Ye=>{a(R).length===0&&Ye(He)})}var he=y(Ie,2);Wt(he,17,()=>a(R),Ye=>Ye.domain,(Ye,Ke)=>{var St=Z(),at=_(St);A(at,()=>Bo,(Ue,vt)=>{vt(Ue,{children:(lt,Vt)=>{var Je=Kv(),Xe=_(Je);A(Xe,()=>Fr,(Ht,It)=>{It(Ht,{class:"max-w-[20rem] truncate font-mono text-xs",get title(){return a(Ke).domain},children:(nr,dr)=>{var cr=ve();Q(()=>te(cr,a(Ke).domain)),h(nr,cr)},$$slots:{default:!0}})});var et=y(Xe,2);A(et,()=>Fr,(Ht,It)=>{It(Ht,{class:"text-right tabular-nums",children:(nr,dr)=>{var cr=ve();Q(Pr=>te(cr,Pr),[()=>Bt(a(Ke).conns)]),h(nr,cr)},$$slots:{default:!0}})});var Ot=y(et,2);{var Ft=Ht=>{var It=vc(),nr=_(It);A(nr,()=>Fr,(Pr,tt)=>{tt(Pr,{class:"text-right tabular-nums",children:(Pt,tr)=>{var Lt=ve();Q(Kt=>te(Lt,Kt),[()=>sn(a(Ke).bytesUp)]),h(Pt,Lt)},$$slots:{default:!0}})});var dr=y(nr,2);A(dr,()=>Fr,(Pr,tt)=>{tt(Pr,{class:"text-right tabular-nums",children:(Pt,tr)=>{var Lt=ve();Q(Kt=>te(Lt,Kt),[()=>sn(a(Ke).bytesDown)]),h(Pt,Lt)},$$slots:{default:!0}})});var cr=y(dr,2);A(cr,()=>Fr,(Pr,tt)=>{tt(Pr,{class:"text-right font-medium tabular-nums",children:(Pt,tr)=>{var Lt=ve();Q(Kt=>te(Lt,Kt),[()=>sn(a(Ke).bytesUp+a(Ke).bytesDown)]),h(Pt,Lt)},$$slots:{default:!0}})}),h(Ht,It)};me(Ot,Ht=>{a(F)&&Ht(Ft)})}var qt=y(Ot,2);A(qt,()=>Fr,(Ht,It)=>{It(Ht,{class:"max-w-[9rem] truncate font-mono text-xs text-muted-foreground",get title(){return a(Ke).lastClientIP},children:(nr,dr)=>{var cr=ve();Q(()=>te(cr,a(Ke).lastClientIP||"—")),h(nr,cr)},$$slots:{default:!0}})});var lr=y(qt,2);A(lr,()=>Fr,(Ht,It)=>{It(Ht,{class:"text-right text-muted-foreground tabular-nums",children:(nr,dr)=>{var cr=ve();Q(Pr=>te(cr,Pr),[()=>nu(a(Ke).lastSeen)]),h(nr,cr)},$$slots:{default:!0}})}),h(lt,Je)},$$slots:{default:!0}})}),h(Ye,St)}),h(ft,mt)},$$slots:{default:!0}})}),h(Be,zt)},$$slots:{default:!0}})}),h(Fe,Ge)},$$slots:{default:!0}})}),h(ze,_e)};me($e,ze=>{a(s).length===0?ze(nt):ze(ut,-1)})}h(ee,H)};me(ce,ee=>{a(o)==="blocked"?ee(we):ee(de,-1)})}var ae=y(ce,2);{var O=ee=>{var H=WS();h(ee,H)},G=ee=>{var H=Uv(),$e=S(H);Q(nt=>te($e,`自启动以来按流量排序的前 ${nt??""} 个域名与客户端,每 30 秒更新。`),[()=>Bt(a(s).length)]),h(ee,H)},Y=ee=>{var H=Uv(),$e=S(H);Q(()=>te($e,`按${a(v)??""}排序的前 100 个${a(M)?"DNS 查询域名":a(N)+"域名"},实时推送。`)),h(ee,H)};me(ae,ee=>{a(o)==="blocked"?ee(O):a(o)==="totals"?ee(G,1):ee(Y,-1)})}Q(()=>{sr(Mt,1,`rounded-sm px-2.5 py-1 text-xs font-medium transition-colors outline-none focus-visible:ring-3 focus-visible:ring-ring/50 ${a(o)==="live"?"bg-card text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"}`),kt(Mt,"aria-pressed",a(o)==="live"),sr(q,1,`rounded-sm px-2.5 py-1 text-xs font-medium transition-colors outline-none focus-visible:ring-3 focus-visible:ring-ring/50 ${a(o)==="totals"?"bg-card text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"}`),kt(q,"aria-pressed",a(o)==="totals"),sr(se,1,`rounded-sm px-2.5 py-1 text-xs font-medium transition-colors outline-none focus-visible:ring-3 focus-visible:ring-ring/50 ${a(o)==="blocked"?"bg-card text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"}`),kt(se,"aria-pressed",a(o)==="blocked")}),Lr("click",Mt,()=>x(o,"live")),Lr("click",q,()=>x(o,"totals")),Lr("click",se,()=>x(o,"blocked")),h(J,pe)};me(T,J=>{!Zt.traffic&&!Zt.totals?J(ie):J(xe,-1)})}h(t,j),je()}Ui(["click"]);var gc=D(" ",1),KS=D(" ",1),US=D('

        '),qS=D(' '),YS=D('
        '),XS=D('

        '),ZS=D('
        '),JS=D(""),QS=D(''),eP=D('
        '),tP=D('

        '),rP=D(' ',1),nP=D('

        '),oP=D(' ',1),sP=D('
        '),iP=D('
        '),aP=D(' ',1),lP=D(' ',1),qv=D(' '),cP=D(" 放弃",1),uP=D('
        '),dP=D('
        '),fP=D('

        标注「立即生效」的字段可在线调整并持久化到 admin 状态文件;其余字段来自配置文件,需重启生效。密钥永不回显。

        ',1);function hP(t,e){Ve(e,!0);let r=fe(null),n=fe(""),o=fe(""),s=fe(!1),i=fe(!1),l=fe(""),c=fe(!1),u=fe(""),f=fe(kr({})),g=fe(null),v=fe(""),p=kr({}),m;const b=z(()=>Object.keys(a(f)).length);let w=fe("");const $=z(()=>{var W;const q=a(w).trim().toLowerCase(),se=((W=a(r))==null?void 0:W.sections)??[];return q?se.map(ne=>({...ne,fields:ne.fields.filter(le=>le.key.toLowerCase().includes(q)||(le.value??"").toLowerCase().includes(q))})).filter(ne=>ne.fields.length>0):se}),I=z(()=>{var q;return(((q=a(r))==null?void 0:q.sections)??[]).reduce((se,W)=>se+W.fields.length,0)}),B=z(()=>a($).reduce((q,se)=>q+se.fields.length,0)),N=z(()=>{var se;const q=new Map;for(const W of((se=a(r))==null?void 0:se.sections)??[])for(const ne of W.fields)q.set(ne.key,ne);return q});function M(q,se){return se===void 0||se===""?"—":(q==null?void 0:q.type)==="list"?`${se.split(` -`).length} 条`:se}async function R(){try{x(r,await Zr.config(),!0),x(n,"")}catch(q){if(q instanceof Tr&&q.status===401)return e.onUnauthorized();x(n,q instanceof Error?q.message:"加载配置失败",!0)}}Xi(R),cp(()=>{m&&clearTimeout(m)});function F(q){const se=a(N).get(q),W=a(v).trim();if(se&&W===(se.value??"")){const{[q]:ne,...le}=a(f);x(f,le,!0)}else x(f,{...a(f),[q]:W},!0)}function k(){var se;if(a(g)==null)return;const q=a(g);F(q),x(g,null),(se=p[q])==null||se.focus()}function j(q){a(g)!=null&&a(g)!==q.key&&F(a(g)),x(g,q.key,!0),x(v,a(f)[q.key]===""?q.value??"":a(f)[q.key]??q.value??"",!0),x(o,"")}function T(){var se;if(a(g)==null)return;const q=a(g);x(g,null),(se=p[q])==null||se.focus()}function ie(q){x(f,{...a(f),[q.key]:""},!0),x(o,"")}async function xe(){if(a(r)&&(a(g)!=null&&(F(a(g)),x(g,null)),a(b)!==0)){x(i,!0),x(o,"");try{const q={};for(const[W,ne]of Object.entries(a(f))){const le=a(N).get(W),ue=W.replaceAll(".","_");q[ue]=(le==null?void 0:le.type)==="list"?ne.split(` -`).map(P=>P.trim()).filter(Boolean):ne}const se=Object.keys(a(f)).some(W=>{var ne;return((ne=a(N).get(W))==null?void 0:ne.applyMode)==="restart"});x(r,await Zr.patchConfig(a(r).revision,q),!0),x(f,{},!0),x(s,!0),x(l,se?"已保存,重启后生效。":"已应用并保存,立即生效。",!0),m=setTimeout(()=>x(s,!1),2500)}catch(q){if(q instanceof Tr&&q.status===401)return e.onUnauthorized();q instanceof Tr&&q.status===409?(x(o,"配置已被其它会话修改,已载入最新值,请确认后重新应用。"),await R()):x(o,q instanceof Error?q.message:"应用失败",!0)}finally{x(i,!1)}}}function J(){x(f,{},!0),x(o,"")}async function pe(){if(!a(c)&&confirm("重启 sower 服务使配置生效?代理连接会短暂中断。")){x(c,!0),x(u,"");try{await Zr.restart();const q=Date.now()+6e4;for(;;){await new Promise(ne=>setTimeout(ne,1e3));const se=new AbortController,W=setTimeout(()=>se.abort(),2e3);try{const ne=await fetch("/api/session",{signal:se.signal,cache:"no-store"});if(ne.status===204||ne.status===401)break}catch{}finally{clearTimeout(W)}if(Date.now()>q){x(u,"服务 60 秒内未恢复,请检查服务状态。");break}}a(u)||(await R(),x(f,{},!0),x(s,!0),x(l,"服务已重启,配置已生效。"),m=setTimeout(()=>x(s,!1),2500))}catch(q){if(q instanceof Tr&&q.status===401)return e.onUnauthorized();x(u,q instanceof Error?q.message:"重启失败",!0)}finally{x(c,!1)}}}function be(q){const se=[];for(const W of q){const ne=W.key.split(".");let le="";ne.length>=2&&(le=ne[0]==="router"?ne[1]??"":ne[0]??"");const ue=se.find(P=>P.label===le);ue?ue.fields.push(W):se.push({label:le,fields:[W]})}return se}const ye={immediate:"立即生效",restart:"重启生效",readonly:"只读"},Oe={运行:xs,远程代理:p$,DNS:bf,监听:v$,规则来源:a$},Te=q=>q.length>=8;var Ne=Z(),K=_(Ne);{var Gt=q=>{var se=Z(),W=_(se);{var ne=ue=>{var P=Z(),E=_(P);A(E,()=>ql,(U,re)=>{re(U,{variant:"destructive",children:(Se,X)=>{var ce=gc(),we=_(ce);Ws(we,{class:"size-4"});var de=y(we,2);A(de,()=>Ul,(ae,O)=>{O(ae,{children:(G,Y)=>{var ee=ve();Q(()=>te(ee,a(n))),h(G,ee)},$$slots:{default:!0}})}),h(Se,ce)},$$slots:{default:!0}})}),h(ue,P)},le=ue=>{Ma(ue,{})};me(W,ue=>{a(n)?ue(ne):ue(le,-1)})}h(q,se)},Mt=q=>{var se=fP(),W=_(se),ne=S(W),le=S(ne);fh(le,{class:"absolute left-2.5 top-1/2 size-4 -translate-y-1/2 text-muted-foreground","aria-hidden":"true"});var ue=y(le,2);js(ue,{placeholder:"过滤字段(key 或值)","aria-label":"过滤字段",class:"pl-8",get value(){return a(w)},set value(G){x(w,G,!0)}});var P=y(ne,2);{var E=G=>{rr(G,{variant:"ghost",size:"sm","aria-label":"清除过滤",onclick:()=>x(w,""),children:(Y,ee)=>{var H=ve("清除");h(Y,H)},$$slots:{default:!0}})};me(P,G=>{a(w)&&G(E)})}var U=y(P,2),re=S(U),Se=y(U,2),X=S(Se);rr(X,{variant:"outline",size:"sm",class:"gap-1",onclick:pe,get disabled(){return a(c)},children:(G,Y)=>{var ee=KS(),H=_(ee);ib(H,{class:"size-3.5","aria-hidden":"true"});var $e=y(H);Q(()=>te($e,` ${a(c)?"重启中…":"重启服务"}`)),h(G,ee)},$$slots:{default:!0}});var ce=y(W,2);{var we=G=>{var Y=US(),ee=S(Y);Q(H=>te(ee,`没有匹配「${H??""}」的字段`),[()=>a(w).trim()]),h(G,Y)},de=G=>{var Y=iP();Wt(Y,21,()=>a($),xr,(ee,H)=>{const $e=z(()=>Oe[a(H).name]??ab);var nt=Z(),ut=_(nt);{let ze=z(()=>Te(a(H).fields)?"lg:col-span-2":"");A(ut,()=>or,(_e,Me)=>{Me(_e,{get class(){return a(ze)},children:(Le,Re)=>{var Fe=gc(),ot=_(Fe);A(ot,()=>Er,(Qe,wt)=>{wt(Qe,{children:(qe,Be)=>{var dt=YS(),zt=S(dt);A(zt,()=>Wr,(_t,it)=>{it(_t,{class:"text-base",role:"heading","aria-level":2,children:(Tt,ft)=>{var ht=qS(),mt=S(ht);A(mt,()=>a($e),(He,he)=>{he(He,{class:"size-4 text-muted-foreground","aria-hidden":"true"})});var Ie=y(mt);Q(()=>te(Ie,` ${a(H).name??""}`)),h(Tt,ht)},$$slots:{default:!0}})});var At=y(zt,2);an(At,{variant:"secondary",class:"tabular-nums",title:"字段数",children:(_t,it)=>{var Tt=ve();Q(()=>te(Tt,a(H).fields.length)),h(_t,Tt)},$$slots:{default:!0}}),h(qe,dt)},$$slots:{default:!0}})});var Ge=y(ot,2);A(Ge,()=>_r,(Qe,wt)=>{wt(Qe,{children:(qe,Be)=>{const dt=z(()=>be(a(H).fields));var zt=Z(),At=_(zt);Wt(At,17,()=>a(dt),xr,(_t,it,Tt)=>{var ft=gc(),ht=_(ft);{var mt=He=>{var he=XS();kt(he,"aria-level",3),sr(he,1,`pb-1.5 pt-3 text-xs font-semibold text-muted-foreground ${Tt>0?"mt-3 border-t border-border/60 pt-2.5":""}`);var Ye=S(he);Q(()=>te(Ye,a(it).label)),h(He,he)};me(ht,He=>{a(it).label&&a(dt).length>1&&a(it).fields.length>=2&&He(mt)})}var Ie=y(ht,2);Wt(Ie,19,()=>a(it).fields,He=>He.key,(He,he,Ye)=>{const Ke=z(()=>a(f)[a(he).key]);var St=sP(),at=S(St),Ue=S(at),vt=y(at,2),lt=S(vt);{var Vt=tt=>{an(tt,{variant:"secondary",children:(Pt,tr)=>{var Lt=ve();Q(()=>te(Lt,a(he).configured?"已配置":"未配置")),h(Pt,Lt)},$$slots:{default:!0}})},Je=tt=>{{let Pt=z(()=>a(he).value==="true"?"secondary":"outline");an(tt,{get variant(){return a(Pt)},children:(tr,Lt)=>{var Kt=ve();Q(()=>te(Kt,a(he).value==="true"?"是":"否")),h(tr,Kt)},$$slots:{default:!0}})}},Xe=tt=>{var Pt=gc(),tr=_(Pt);{var Lt=Cr=>{var Qt=ZS(),Yt=S(Qt),jr=y(Yt,2),kn=S(jr);rr(kn,{variant:"ghost",size:"icon",class:"size-11 sm:size-8","aria-label":"确认修改",onclick:k,children:(jt,Xt)=>{Ic(jt,{class:"size-4 text-primary"})},$$slots:{default:!0}});var Ar=y(kn,2);rr(Ar,{variant:"ghost",size:"icon",class:"size-11 sm:size-8","aria-label":"取消修改",onclick:T,children:(jt,Xt)=>{Bv(jt,{class:"size-4 text-muted-foreground"})},$$slots:{default:!0}}),Q(jt=>{kt(Yt,"aria-label",a(he).key),kt(Yt,"placeholder",a(he).constraint??""),kt(Yt,"rows",jt)},[()=>Math.min(6,Math.max(2,a(v).split(` -`).length))]),Lr("keydown",Yt,jt=>{jt.key==="Escape"&&T(),jt.key==="Enter"&&(jt.metaKey||jt.ctrlKey)&&k()}),Nd(Yt,()=>a(v),jt=>x(v,jt)),h(Cr,Qt)},Kt=Cr=>{var Qt=eP(),Yt=S(Qt);{var jr=Xt=>{var Ut=QS();Wt(Ut,21,()=>a(he).options,xr,($n,Sn)=>{var oo=JS(),In=S(oo),Pn={};Q(()=>{te(In,a(Sn)),Pn!==(Pn=a(Sn))&&(oo.value=(oo.__value=a(Sn))??"")}),h($n,oo)});var fr;op(Ut),Q(()=>{kt(Ut,"aria-label",a(he).key),fr!==(fr=a(v))&&(Ut.value=(Ut.__value=a(v))??"",Wc(Ut,a(v)))}),Lr("change",Ut,$n=>{x(v,$n.currentTarget.value,!0),k()}),h(Xt,Ut)},kn=Xt=>{{let Ut=z(()=>a(he).constraint??"");js(Xt,{get"aria-label"(){return a(he).key},get placeholder(){return a(Ut)},class:"h-8 font-mono text-sm",onkeydown:fr=>{fr.key==="Enter"&&k(),fr.key==="Escape"&&T()},get value(){return a(v)},set value(fr){x(v,fr,!0)}})}};me(Yt,Xt=>{var Ut;a(he).type==="enum"&&((Ut=a(he).options)!=null&&Ut.length)?Xt(jr):Xt(kn,-1)})}var Ar=y(Yt,2);rr(Ar,{variant:"ghost",size:"icon",class:"size-11 shrink-0 sm:size-8","aria-label":"确认修改",onclick:k,children:(Xt,Ut)=>{Ic(Xt,{class:"size-4 text-primary"})},$$slots:{default:!0}});var jt=y(Ar,2);rr(jt,{variant:"ghost",size:"icon",class:"size-11 shrink-0 sm:size-8","aria-label":"取消修改",onclick:T,children:(Xt,Ut)=>{Bv(Xt,{class:"size-4 text-muted-foreground"})},$$slots:{default:!0}}),h(Cr,Qt)};me(tr,Cr=>{a(he).type==="list"?Cr(Lt):Cr(Kt,-1)})}var Io=y(tr,2);{var ni=Cr=>{var Qt=tP(),Yt=S(Qt);Q(()=>te(Yt,a(he).constraint)),h(Cr,Qt)};me(Io,Cr=>{a(he).constraint&&Cr(ni)})}h(tt,Pt)},et=tt=>{var Pt=oP(),tr=_(Pt),Lt=S(tr);{var Kt=Qt=>{var Yt=rP(),jr=_(Yt),kn=S(jr),Ar=y(jr,2),jt=S(Ar);Q((Xt,Ut)=>{te(kn,Xt),te(jt,Ut)},[()=>M(a(he),a(he).value),()=>a(Ke)===""?"恢复配置":M(a(he),a(Ke))]),h(Qt,Yt)},Io=Qt=>{var Yt=ve();Q(jr=>te(Yt,jr),[()=>M(a(he),a(he).value)]),h(Qt,Yt)};me(Lt,Qt=>{a(Ke)!==void 0?Qt(Kt):Qt(Io,-1)})}var ni=y(tr,2);{var Cr=Qt=>{var Yt=nP(),jr=S(Yt);Q(()=>te(jr,a(he).constraint)),h(Qt,Yt)};me(ni,Qt=>{a(he).editable&&a(he).constraint&&Qt(Cr)})}h(tt,Pt)};me(lt,tt=>{a(he).secret?tt(Vt):a(he).type==="bool"?tt(Je,1):a(g)===a(he).key?tt(Xe,2):tt(et,-1)})}var Ot=y(vt,2),Ft=S(Ot);{var qt=tt=>{an(tt,{class:"bg-primary/10 text-primary",children:(Pt,tr)=>{var Lt=ve("待应用");h(Pt,Lt)},$$slots:{default:!0}})},lr=tt=>{an(tt,{class:"bg-primary/10 text-primary",title:"该值来自控制台修改并持久化,优先于配置文件",children:(Pt,tr)=>{var Lt=ve("页面覆盖");h(Pt,Lt)},$$slots:{default:!0}})};me(Ft,tt=>{a(Ke)!==void 0?tt(qt):a(he).source==="override"&&tt(lr,1)})}var Ht=y(Ft,2);{var It=tt=>{{let Pt=z(()=>a(he).applyMode==="readonly"?"该字段不可通过控制台修改":void 0);an(tt,{variant:"secondary",class:"text-muted-foreground",get title(){return a(Pt)},children:(tr,Lt)=>{var Kt=ve();Q(()=>te(Kt,ye[a(he).applyMode])),h(tr,Kt)},$$slots:{default:!0}})}};me(Ht,tt=>{a(he).applyMode!=="immediate"&&tt(It)})}var nr=y(Ht,2);{var dr=tt=>{{let Pt=z(()=>`恢复 ${a(he).key} 配置`);rr(tt,{variant:"ghost",size:"icon",class:"size-11 sm:size-8",get"aria-label"(){return a(Pt)},title:"恢复配置文件值",onclick:()=>ie(a(he)),children:(tr,Lt)=>{xf(tr,{class:"size-3.5 text-muted-foreground"})},$$slots:{default:!0}})}};me(nr,tt=>{a(he).editable&&a(he).source==="override"&&a(Ke)===void 0&&a(g)!==a(he).key&&tt(dr)})}var cr=y(nr,2);{var Pr=tt=>{{let Pt=z(()=>`编辑 ${a(he).key}`);rr(tt,{variant:"ghost",size:"icon",class:"size-11 sm:size-8",get"aria-label"(){return a(Pt)},onclick:()=>j(a(he)),children:(tr,Lt)=>{f$(tr,{class:"size-3.5 text-muted-foreground"})},$$slots:{default:!0}})}};me(cr,tt=>{a(he).editable&&a(g)!==a(he).key&&tt(Pr)})}ar(St,(tt,Pt)=>p[Pt.key]=tt,tt=>p==null?void 0:p[tt.key],()=>[a(he)]),Q(()=>{sr(St,1,`flex flex-col gap-1.5 rounded-md py-2 first:pt-0 last:pb-0 transition-colors focus-visible:bg-muted/60 focus:outline-none sm:flex-row sm:items-center sm:gap-2 ${a(Ye)>0?"border-t border-border/60":""} ${a(he).editable?"hover:bg-muted/40":""}`),kt(at,"title",a(he).key),te(Ue,a(he).key)}),h(He,St)}),h(_t,ft)}),h(qe,zt)},$$slots:{default:!0}})}),h(Le,Fe)},$$slots:{default:!0}})})}h(ee,nt)}),h(G,Y)};me(ce,G=>{a($).length===0?G(we):G(de,-1)})}var ae=y(ce,2);{var O=G=>{var Y=dP(),ee=S(Y),H=S(ee);{var $e=Fe=>{var ot=aP(),Ge=_(ot);Ic(Ge,{class:"size-4 shrink-0 text-primary","aria-hidden":"true"});var Qe=y(Ge,2),wt=S(Qe);Q(()=>te(wt,a(l))),h(Fe,ot)},nt=Fe=>{var ot=lP(),Ge=_(ot),Qe=S(Ge),wt=y(Ge,2);Wt(wt,17,()=>Object.entries(a(f)),([qe,Be])=>qe,(qe,Be)=>{var dt=z(()=>ng(a(Be),2));let zt=()=>a(dt)[0],At=()=>a(dt)[1];const _t=z(()=>a(N).get(zt()));an(qe,{variant:"secondary",class:"font-mono text-xs",children:(it,Tt)=>{var ft=ve();Q((ht,mt)=>te(ft,`${zt()??""}: ${ht??""} → ${mt??""}`),[()=>{var ht;return M(a(_t),(ht=a(_t))==null?void 0:ht.value)},()=>At()===""?"恢复配置":M(a(_t),At())]),h(it,ft)},$$slots:{default:!0}})}),Q(()=>te(Qe,`${a(b)??""} 项待应用:`)),h(Fe,ot)};me(H,Fe=>{a(s)&&a(b)===0?Fe($e):Fe(nt,-1)})}var ut=y(H,2);{var ze=Fe=>{var ot=qv(),Ge=S(ot);Ws(Ge,{class:"size-4","aria-hidden":"true"});var Qe=y(Ge);Q(()=>te(Qe,` ${a(o)??""}`)),h(Fe,ot)};me(ut,Fe=>{a(o)&&Fe(ze)})}var _e=y(ut,2);{var Me=Fe=>{var ot=qv(),Ge=S(ot);Ws(Ge,{class:"size-4","aria-hidden":"true"});var Qe=y(Ge);Q(()=>te(Qe,` ${a(u)??""}`)),h(Fe,ot)};me(_e,Fe=>{a(u)&&Fe(Me)})}var Le=y(ee,2);{var Re=Fe=>{var ot=uP(),Ge=S(ot);rr(Ge,{variant:"ghost",size:"sm",class:"gap-1",onclick:J,get disabled(){return a(i)},children:(wt,qe)=>{var Be=cP(),dt=_(Be);xf(dt,{class:"size-3.5"}),h(wt,Be)},$$slots:{default:!0}});var Qe=y(Ge,2);rr(Qe,{size:"sm",onclick:xe,get disabled(){return a(i)},children:(wt,qe)=>{var Be=ve();Q(()=>te(Be,a(i)?"应用中…":"应用更改")),h(wt,Be)},$$slots:{default:!0}}),h(Fe,ot)};me(Le,Fe=>{a(b)>0&&Fe(Re)})}h(G,Y)};me(ae,G=>{(a(b)>0||a(o)||a(s)||a(u))&&G(O)})}Q(()=>te(re,`${(a(w)?`${a(B)} / ${a(I)}`:a(I))??""} 个字段`)),h(q,se)};me(K,q=>{a(r)?q(Mt,-1):q(Gt)})}h(t,Ne),je()}Ui(["keydown","change"]);var vP=new Set(["$$slots","$$events","$$legacy"]);function gP(t,e){let r=Et(e,vP);var n=Z(),o=_(n);A(o,()=>x0,(s,i)=>{i(s,Ze(()=>r))}),h(t,n)}var pP=new Set(["$$slots","$$events","$$legacy","ref","sideOffset","align","portalProps","class"]);function hd(t,e){Ve(e,!0);let r=L(e,"ref",15,null),n=L(e,"sideOffset",3,4),o=L(e,"align",3,"start"),s=Et(e,pP);gP(t,Ze(()=>e.portalProps,{children:(i,l)=>{var c=Z(),u=_(c);{let f=z(()=>yt("min-w-32 rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 z-50 w-(--bits-dropdown-menu-anchor-width) overflow-x-hidden overflow-y-auto outline-none data-closed:overflow-hidden",e.class));A(u,()=>Lk,(g,v)=>{v(g,Ze({"data-slot":"dropdown-menu-content",get sideOffset(){return n()},get align(){return o()},get class(){return a(f)}},()=>s,{get ref(){return r()},set ref(p){r(p)}}))})}h(i,c)},$$slots:{default:!0}})),je()}var mP=new Set(["$$slots","$$events","$$legacy","ref","class","inset","variant"]);function ca(t,e){Ve(e,!0);let r=L(e,"ref",15,null),n=L(e,"variant",3,"default"),o=Et(e,mP);var s=Z(),i=_(s);{let l=z(()=>yt("gap-1.5 rounded-md px-1.5 py-1 text-sm focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg:not([class*='size-'])]:size-4 data-[variant=destructive]:*:[svg]:text-destructive group/dropdown-menu-item relative flex cursor-default items-center outline-hidden select-none data-[inset]:pl-8 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",e.class));A(i,()=>Ok,(c,u)=>{u(c,Ze({"data-slot":"dropdown-menu-item",get"data-inset"(){return e.inset},get"data-variant"(){return n()},get class(){return a(l)}},()=>o,{get ref(){return r()},set ref(f){r(f)}}))})}h(t,s),je()}var bP=new Set(["$$slots","$$events","$$legacy","ref","class","inset","children"]),yP=D("
        ");function Yv(t,e){Ve(e,!0);let r=L(e,"ref",15,null),n=Et(e,bP);var o=yP();Rt(o,i=>({"data-slot":"dropdown-menu-label","data-inset":e.inset,class:i,...n}),[()=>yt("px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:pl-7 data-[inset]:pl-8",e.class)]);var s=S(o);st(s,()=>e.children??rt),ar(o,i=>r(i),()=>r()),h(t,o),je()}var xP=new Set(["$$slots","$$events","$$legacy","ref","class"]);function Xv(t,e){Ve(e,!0);let r=L(e,"ref",15,null),n=Et(e,xP);var o=Z(),s=_(o);{let i=z(()=>yt("-mx-1 my-1 h-px bg-border",e.class));A(s,()=>Nk,(l,c)=>{c(l,Ze({"data-slot":"dropdown-menu-separator",get class(){return a(i)}},()=>n,{get ref(){return r()},set ref(u){r(u)}}))})}h(t,o),je()}var wP=new Set(["$$slots","$$events","$$legacy","ref"]);function vd(t,e){Ve(e,!0);let r=L(e,"ref",15,null),n=Et(e,wP);var o=Z(),s=_(o);A(s,()=>Vk,(i,l)=>{l(i,Ze({"data-slot":"dropdown-menu-trigger"},()=>n,{get ref(){return r()},set ref(c){r(c)}}))}),h(t,o),je()}var _P=new Set(["$$slots","$$events","$$legacy","open"]);function gd(t,e){Ve(e,!0);let r=L(e,"open",15,!1),n=Et(e,_P);var o=Z(),s=_(o);A(s,()=>Rk,(i,l)=>{l(i,Ze(()=>n,{get open(){return r()},set open(c){r(c)}}))}),h(t,o),je()}const ws=[{key:"overview",label:"概览",description:"运行状态与流量总览"},{key:"rules",label:"规则",description:"运行期路由规则管理"},{key:"traffic",label:"流量",description:"按域名聚合的实时流量"},{key:"config",label:"配置",description:"生效配置与运行期调整"}];var kP=D(' Sower Admin',1),$P=D(' ',1),SP=D(' ',1),pd=D(" ",1),PP=D(' ',1),CP=D(' '),AP=D(' ',1),md=D("
        "),EP=D(" ",1),TP=D(" ",1),MP=D(' '),OP=D("
      1. /
      2. ",1),zP=D(' '),IP=D(''),NP=D(' ',1),RP=D(' ',1),FP=D('
        '),LP=D('

        暂无收藏。点击下方星标加入常用入口。

        '),DP=D(' ',1),BP=D('
        ',1),VP=D('
        ');function jP(t,e){Ve(e,!0);let r=L(e,"contextSegments",19,()=>[]),n=L(e,"onContextSelect",3,()=>{}),o=L(e,"onSelectItem",3,()=>{}),s=L(e,"onLogout",3,()=>{});L(e,"status",3,null);let i=L(e,"statusError",3,""),l=L(e,"currentCategory",3,void 0),c=L(e,"currentSource",3,void 0);const u={overview:xs,rules:m$,traffic:t$,config:ab};let f=fe(kr([])),g=z(()=>new Set(a(f).map(P=>P.key))),v=z(()=>a(f).map(P=>{const E=ws.find(U=>U.key===P.key);return E?{...P,item:E}:null}).filter(P=>P!==null));function p(P){return a(f).some(E=>E.key===P.key&&E.category===P.category&&E.source===P.source)}function m(P){return P.key===e.activeItem.key&&P.category===l()&&P.source===c()}function b(P){p(P)?F(a(f).filter(E=>!(E.key===P.key&&E.category===P.category&&E.source===P.source))):F([...a(f),P])}function w(){const P={key:e.activeItem.key};e.activeItem.key==="rules"&&l()&&(P.category=l()),e.activeItem.key==="traffic"&&c()&&(P.source=c()),b(P)}function $(P,E){P.preventDefault(),P.stopPropagation(),b(E)}function I(P){const E=ws.find(re=>re.key===P.key),U=P.category??P.source;return U?`${(E==null?void 0:E.label)??P.key}/${U}`:(E==null?void 0:E.label)??P.key}function B(P){return P.key==="rules"&&P.category?`/rules/${P.category}`:P.key==="traffic"&&P.source?`/traffic/${P.source}`:P.key==="overview"?"/":`/${P.key}`}function N(P,E){P.button===0&&!P.metaKey&&!P.ctrlKey&&!P.shiftKey&&!P.altKey&&(P.preventDefault(),o()(E.key,{category:E.category,source:E.source}))}const M="sower.admin.favoritePages.v1";Xi(()=>{x(f,R(),!0);const P=E=>{E.key===M&&x(f,R(),!0)};return window.addEventListener("storage",P),()=>window.removeEventListener("storage",P)});function R(){const P=new Set(ws.map(E=>E.key));try{const E=JSON.parse(localStorage.getItem(M)??"[]");return Array.isArray(E)?E.map(U=>typeof U=="string"?{key:U}:U&&typeof U=="object"&&typeof U.key=="string"?{key:U.key,category:U.category,source:U.source}:null).filter(U=>U!==null&&P.has(U.key)):[]}catch{return[]}}function F(P){x(f,P.filter((E,U)=>P.findIndex(re=>re.key===E.key&&re.category===E.category&&re.source===E.source)===U),!0);try{localStorage.setItem(M,JSON.stringify(a(f)))}catch{}}function k(P,E){if(P.preventDefault(),P.stopPropagation(),a(g).has(E)){F(a(f).filter(re=>re.key!==E));return}const U={key:E};E==="rules"&&l()&&(U.category=l()),E==="traffic"&&c()&&(U.source=c()),F([...a(f),U])}let j=fe(null);function T(P,E){const U=(P==null?void 0:P.querySelector('[aria-current="page"]'))??(P==null?void 0:P.querySelector(E));U==null||U.focus()}function ie(P){P.preventDefault(),Lf().then(()=>{T(a(j),'[data-slot="dropdown-menu-item"]')})}function xe(P){var ce,we;if(!["ArrowDown","ArrowUp","Home","End"].includes(P.key))return;const E=Array.from(((ce=a(j))==null?void 0:ce.querySelectorAll('[data-slot="dropdown-menu-item"], [data-slot="button"]'))??[]);if(E.length===0)return;P.preventDefault();const U=E.indexOf(document.activeElement),re=P.key==="End"?E.length-1:0,Se=U===-1?re:U,X=P.key==="Home"?0:P.key==="End"?E.length-1:P.key==="ArrowDown"?(Se+1)%E.length:(Se-1+E.length)%E.length;(we=E[X])==null||we.focus()}function J(P){switch(P.tone){case"strong":return"text-foreground font-semibold";case"method":return"text-primary font-mono";default:return"text-muted-foreground font-medium"}}var pe=VP(),be=S(pe),ye=S(be),Oe=S(ye),Te=S(Oe);rr(Te,{variant:"ghost",class:"h-9 gap-1.5 px-2 text-foreground",onclick:()=>o()("overview"),title:"回到概览",children:(P,E)=>{var U=kP(),re=_(U);rb(re,{class:"size-5"}),h(P,U)},$$slots:{default:!0}});var Ne=y(Oe,4),K=S(Ne);A(K,()=>gd,(P,E)=>{E(P,{children:(U,re)=>{const Se=z(()=>u[e.activeItem.key]??xs);var X=pd(),ce=_(X);A(ce,()=>vd,(de,ae)=>{ae(de,{class:"inline-flex h-9 max-w-[14rem] items-center gap-1.5 rounded-md px-2 text-sm font-semibold text-foreground transition-colors outline-none hover:bg-muted focus-visible:ring-3 focus-visible:ring-ring/50 aria-expanded:bg-muted","aria-label":"控制台分区",children:(O,G)=>{var Y=$P(),ee=_(Y);A(ee,()=>a(Se),(ut,ze)=>{ze(ut,{class:"size-4 shrink-0 text-primary"})});var H=y(ee,2),$e=S(H),nt=y(H,2);ud(nt,{class:"size-3.5 shrink-0 text-muted-foreground"}),Q(()=>te($e,e.activeItem.label)),h(O,Y)},$$slots:{default:!0}})});var we=y(ce,2);A(we,()=>hd,(de,ae)=>{ae(de,{class:"min-w-56",align:"start",children:(O,G)=>{var Y=Z(),ee=_(Y);Wt(ee,17,()=>ws,xr,(H,$e)=>{const nt=z(()=>u[a($e).key]??xs);var ut=Z(),ze=_(ut);{let _e=z(()=>yt("gap-2.5 py-2",a($e).key===e.activeItem.key&&"bg-accent text-accent-foreground"));A(ze,()=>ca,(Me,Le)=>{Le(Me,{onSelect:()=>o()(a($e).key),get class(){return a(_e)},children:(Re,Fe)=>{var ot=SP(),Ge=_(ot),Qe=S(Ge);A(Qe,()=>a(nt),(it,Tt)=>{Tt(it,{class:"size-4"})});var wt=y(Ge,2),qe=S(wt),Be=S(qe),dt=y(qe,2),zt=S(dt),At=y(wt,2);{var _t=it=>{Dv(it,{class:"ms-auto size-4 text-primary"})};me(At,it=>{a($e).key===e.activeItem.key&&it(_t)})}Q(()=>{te(Be,a($e).label),te(zt,a($e).description)}),h(Re,ot)},$$slots:{default:!0}})})}h(H,ut)}),h(O,Y)},$$slots:{default:!0}})}),h(U,X)},$$slots:{default:!0}})});var Gt=y(Ne,2);Wt(Gt,17,r,xr,(P,E)=>{var U=OP(),re=_(U),Se=y(re,2),X=S(Se);{var ce=de=>{var ae=Z(),O=_(ae);A(O,()=>gd,(G,Y)=>{Y(G,{children:(ee,H)=>{var $e=pd(),nt=_($e);{let ze=z(()=>yt("inline-flex h-9 max-w-[16rem] items-center gap-1.5 rounded-md px-2 text-sm transition-colors outline-none hover:bg-muted focus-visible:ring-3 focus-visible:ring-ring/50 aria-expanded:bg-muted",J(a(E)))),_e=z(()=>a(E).title??`${a(E).label}: ${a(E).value}`),Me=z(()=>`${a(E).label}: ${a(E).value}`);A(nt,()=>vd,(Le,Re)=>{Re(Le,{get class(){return a(ze)},get title(){return a(_e)},get"aria-label"(){return a(Me)},children:(Fe,ot)=>{var Ge=PP(),Qe=_(Ge),wt=S(Qe),qe=y(Qe,2),Be=S(qe),dt=y(qe,2);ud(dt,{class:"size-3.5 shrink-0 text-muted-foreground"}),Q(()=>{te(wt,a(E).label),te(Be,a(E).value)}),h(Fe,Ge)},$$slots:{default:!0}})})}var ut=y(nt,2);A(ut,()=>hd,(ze,_e)=>{_e(ze,{class:"min-w-44",align:"start",children:(Me,Le)=>{const Re=z(()=>({key:e.activeItem.key,category:a(E).label==="分类"?a(E).value:void 0,source:a(E).label==="source"?a(E).value:void 0})),Fe=z(()=>p(a(Re)));var ot=TP(),Ge=_(ot);Wt(Ge,17,()=>a(E).options,xr,(qe,Be,dt,zt)=>{const At=z(()=>({key:e.activeItem.key,category:a(E).label==="分类"?a(Be).value:void 0,source:a(E).label==="source"?a(Be).value:void 0})),_t=z(()=>p(a(At)));var it=md(),Tt=S(it);A(Tt,()=>ca,(ht,mt)=>{mt(ht,{onSelect:()=>n()(a(E).label,a(Be).value),class:"min-w-0 flex-1 gap-2",children:(Ie,He)=>{var he=AP(),Ye=_(he),Ke=S(Ye),St=y(Ye,2);{var at=lt=>{var Vt=CP(),Je=S(Vt);Q(()=>te(Je,a(Be).description)),h(lt,Vt)};me(St,lt=>{a(Be).description&<(at)})}var Ue=y(St,2);{var vt=lt=>{Dv(lt,{class:"ms-auto size-4 text-primary"})};me(Ue,lt=>{a(Be).active&<(vt)})}Q(()=>te(Ke,a(Be).label)),h(Ie,he)},$$slots:{default:!0}})});var ft=y(Tt,2);{let ht=z(()=>yt("mx-0.5 shrink-0 rounded-full hover:bg-primary/10 hover:text-primary",a(_t)&&"bg-primary/10 text-primary")),mt=z(()=>`${a(_t)?"取消收藏":"收藏"} ${a(Be).label}`);rr(ft,{variant:"ghost",size:"icon-xs",get class(){return a(ht)},get"aria-label"(){return a(mt)},get"aria-pressed"(){return a(_t)},onclick:Ie=>$(Ie,a(At)),children:(Ie,He)=>{{let he=z(()=>yt("size-3.5",a(_t)&&"fill-current"));aa(Ie,{get class(){return a(he)}})}},$$slots:{default:!0}})}Q(ht=>sr(it,1,ht),[()=>bs(yt("flex items-center gap-0.5 rounded-md",a(Be).active&&"bg-accent text-accent-foreground"))]),h(qe,it)});var Qe=y(Ge,2);A(Qe,()=>Xv,(qe,Be)=>{Be(qe,{})});var wt=y(Qe,2);A(wt,()=>ca,(qe,Be)=>{Be(qe,{onSelect:w,class:"gap-2",children:(dt,zt)=>{var At=EP(),_t=_(At);{let ft=z(()=>yt("size-4",a(Fe)&&"fill-current text-primary"));aa(_t,{get class(){return a(ft)}})}var it=y(_t,2),Tt=S(it);Q(()=>te(Tt,a(Fe)?"已收藏当前视图":"收藏当前视图")),h(dt,At)},$$slots:{default:!0}})}),h(Me,ot)},$$slots:{default:!0}})}),h(ee,$e)},$$slots:{default:!0}})}),h(de,ae)},we=de=>{var ae=MP(),O=S(ae),G=S(O),Y=y(O,2),ee=S(Y);Q(H=>{sr(ae,1,H),kt(ae,"title",a(E).title??`${a(E).label}: ${a(E).value}`),te(G,a(E).label),te(ee,a(E).value)},[()=>bs(yt("inline-flex h-9 max-w-[16rem] items-center gap-1.5 px-2",J(a(E))))]),h(de,ae)};me(X,de=>{var ae;(ae=a(E).options)!=null&&ae.length?de(ce):de(we,-1)})}Q(()=>{sr(re,1,`text-muted-foreground/60 ${a(E).mobileHidden?"hidden sm:list-item":""}`),sr(Se,1,a(E).mobileHidden?"hidden sm:list-item":"")}),h(P,U)});var Mt=y(be,2),q=S(Mt);{var se=P=>{var E=IP();Wt(E,21,()=>a(v).slice(0,3),xr,(U,re)=>{const Se=z(()=>m(a(re)));var X=zP(),ce=S(X);{let ae=z(()=>yt("size-3.5 shrink-0",a(Se)?"fill-current text-primary":"text-muted-foreground"));aa(ce,{get class(){return a(ae)}})}var we=y(ce,2),de=S(we);Q((ae,O,G,Y)=>{kt(X,"href",ae),sr(X,1,O),kt(X,"title",G),kt(X,"aria-current",a(Se)?"page":void 0),te(de,Y)},[()=>B(a(re)),()=>bs(yt("inline-flex h-7 items-center gap-1.5 rounded-md px-2 text-sm font-medium transition-colors outline-none hover:bg-muted focus-visible:ring-3 focus-visible:ring-ring/50",a(Se)&&"bg-primary/10 text-primary")),()=>`打开 ${I(a(re))}`,()=>I(a(re))]),Lr("click",X,ae=>N(ae,a(re))),h(U,X)}),h(P,E)};me(q,P=>{a(v).length>0&&P(se)})}var W=y(q,2);A(W,()=>gd,(P,E)=>{E(P,{children:(U,re)=>{var Se=pd(),X=_(Se);A(X,()=>vd,(we,de)=>{de(we,{class:"inline-flex h-9 items-center gap-1.5 rounded-md border border-input bg-background px-2.5 text-sm font-medium text-foreground transition-colors outline-none hover:bg-muted focus-visible:ring-3 focus-visible:ring-ring/50 aria-expanded:bg-muted sm:h-7","aria-label":"页面与收藏夹",children:(ae,O)=>{var G=NP(),Y=_(G);s$(Y,{class:"size-3.5"});var ee=y(Y,4);ud(ee,{class:"size-3 text-muted-foreground"}),h(ae,G)},$$slots:{default:!0}})});var ce=y(X,2);A(ce,()=>hd,(we,de)=>{de(we,{class:"w-64",onOpenAutoFocus:ie,onkeydown:xe,get ref(){return a(j)},set ref(ae){x(j,ae,!0)},children:(ae,O)=>{var G=BP(),Y=_(G);A(Y,()=>Yv,(_e,Me)=>{Me(_e,{children:(Le,Re)=>{var Fe=ve("收藏夹");h(Le,Fe)},$$slots:{default:!0}})});var ee=y(Y,2);{var H=_e=>{var Me=FP();Wt(Me,21,()=>a(v),xr,(Le,Re)=>{const Fe=z(()=>u[a(Re).key]??xs),ot=z(()=>m(a(Re)));var Ge=md(),Qe=S(Ge);{let qe=z(()=>B(a(Re)));A(Qe,()=>ca,(Be,dt)=>{dt(Be,{onSelect:()=>o()(a(Re).key,{category:a(Re).category,source:a(Re).source}),class:"min-w-0 flex-1 gap-2 py-1.5",get title(){return a(qe)},children:(zt,At)=>{var _t=RP(),it=_(_t),Tt=S(it);A(Tt,()=>a(Fe),(mt,Ie)=>{Ie(mt,{class:"size-3.5"})});var ft=y(it,2),ht=S(ft);Q(mt=>te(ht,mt),[()=>I(a(Re))]),h(zt,_t)},$$slots:{default:!0}})})}var wt=y(Qe,2);{let qe=z(()=>`取消收藏 ${I(a(Re))}`);rr(wt,{variant:"ghost",size:"icon-xs",class:"mx-0.5 shrink-0 rounded-full text-primary hover:bg-primary/10 hover:text-primary",get"aria-label"(){return a(qe)},onclick:Be=>$(Be,a(Re)),children:(Be,dt)=>{aa(Be,{class:"size-3.5 fill-current"})},$$slots:{default:!0}})}Q(qe=>sr(Ge,1,qe),[()=>bs(yt("flex items-center gap-0.5 rounded-md",a(ot)&&"bg-accent text-accent-foreground"))]),h(Le,Ge)}),h(_e,Me)},$e=_e=>{var Me=LP();h(_e,Me)};me(ee,_e=>{a(v).length>0?_e(H):_e($e,-1)})}var nt=y(ee,2);A(nt,()=>Xv,(_e,Me)=>{Me(_e,{})});var ut=y(nt,2);A(ut,()=>Yv,(_e,Me)=>{Me(_e,{children:(Le,Re)=>{var Fe=ve("全部页面");h(Le,Fe)},$$slots:{default:!0}})});var ze=y(ut,2);Wt(ze,21,()=>ws,xr,(_e,Me)=>{const Le=z(()=>u[a(Me).key]??xs),Re=z(()=>a(g).has(a(Me).key));var Fe=md(),ot=S(Fe);A(ot,()=>ca,(Qe,wt)=>{wt(Qe,{onSelect:()=>o()(a(Me).key),class:"min-w-0 flex-1 gap-2 py-1.5",children:(qe,Be)=>{var dt=DP(),zt=_(dt),At=S(zt);A(At,()=>a(Le),(mt,Ie)=>{Ie(mt,{class:"size-4"})});var _t=y(zt,2),it=S(_t),Tt=S(it),ft=y(it,2),ht=S(ft);Q(()=>{te(Tt,a(Me).label),te(ht,a(Me).description)}),h(qe,dt)},$$slots:{default:!0}})});var Ge=y(ot,2);{let Qe=z(()=>yt("mx-0.5 shrink-0 rounded-full hover:bg-primary/10 hover:text-primary",a(Re)&&"bg-primary/10 text-primary")),wt=z(()=>`${a(Re)?"取消收藏":"收藏"} ${a(Me).label}`);rr(Ge,{variant:"ghost",size:"icon-sm",get class(){return a(Qe)},get"aria-label"(){return a(wt)},get"aria-pressed"(){return a(Re)},onclick:qe=>k(qe,a(Me).key),children:(qe,Be)=>{{let dt=z(()=>yt("size-4",a(Re)&&"fill-current"));aa(qe,{get class(){return a(dt)}})}},$$slots:{default:!0}})}Q(Qe=>sr(Fe,1,Qe),[()=>bs(yt("flex items-center gap-0.5 rounded-md",a(Me).key===e.activeItem.key&&"bg-accent text-accent-foreground"))]),h(_e,Fe)}),h(ae,G)},$$slots:{default:!0}})}),h(U,Se)},$$slots:{default:!0}})});var ne=y(W,2);{var le=P=>{an(P,{variant:"destructive",class:"hidden sm:inline-flex",children:(E,U)=>{var re=ve("错误");h(E,re)},$$slots:{default:!0}})};me(ne,P=>{i()&&P(le)})}var ue=y(ne,2);rr(ue,{variant:"ghost",size:"icon-sm",class:"size-9 sm:size-7",title:"退出登录","aria-label":"退出登录",get onclick(){return s()},children:(P,E)=>{c$(P,{class:"size-4"})},$$slots:{default:!0}}),h(t,pe),je()}Ui(["click"]);var WP=D('

        正在恢复登录状态…

        '),GP=D(" 重试",1),HP=D('

        '),KP=D("
        "),UP=D('

        ',1);function qP(t,e){Ve(e,!0);let r=fe(!1),n=fe(!0),o=fe("");function s(){const T=window.location.pathname.replace(/\/+$/,""),[ie,xe]=T.split("/").filter(Boolean);switch(ie){case"rules":return{nav:"rules",category:["block","direct","proxy","miss"].includes(xe)?xe:void 0};case"traffic":return{nav:"traffic",source:["all","http","https","socks5","dns"].includes(xe)?xe:void 0};case"config":return{nav:"config"};default:return{nav:"overview"}}}function i(T,ie,xe){return T==="rules"&&ie?`/rules/${ie}`:T==="traffic"&&xe?`/traffic/${xe}`:T==="overview"?"/":`/${T}`}function l(T,ie){x(c,T,!0),ie!=null&&ie.category&&x(u,ie.category,!0),ie!=null&&ie.source&&x(f,ie.source,!0),history.pushState({},"",i(T,a(u),a(f)))}let c=fe(kr(s().nav)),u=fe("proxy"),f=fe("all");const g=z(()=>Zt.status),v=z(()=>ws.find(T=>T.key===a(c))??ws[0]),p=z(()=>{switch(a(c)){case"overview":return a(g)?[{label:"version",value:a(g).version||"-",tone:"strong",title:`构建日期 ${a(g).date||"未知"}`,mobileHidden:!0}]:[];case"rules":return[{label:"分类",value:a(u),tone:"strong",options:["block","direct","proxy","miss"].map(T=>({label:T,value:T,active:T===a(u)}))}];case"traffic":return[{label:"source",value:a(f),tone:"strong",options:["all","http","https","socks5","dns"].map(T=>({label:T,value:T,active:T===a(f)}))}];case"config":return[]}});function m(){x(r,!0),x(n,!1),x(o,"");const T=s();x(c,T.nav,!0),T.category&&x(u,T.category,!0),T.source&&x(f,T.source,!0),su()}async function b(){x(n,!0),x(o,"");try{await Bf(),m()}catch(T){if(T instanceof Tr&&T.status===401){$();return}x(r,!1),x(o,"无法验证当前登录状态。请检查服务连接后重试。")}finally{x(n,!1)}}async function w(){try{await Zr.logout()}catch{}finally{$()}}function $(){x(r,!1),x(n,!1),x(o,""),Wv()}function I(){const T=s();x(c,T.nav,!0),T.category&&x(u,T.category,!0),T.source&&x(f,T.source,!0)}Xi(()=>{const T=s();x(c,T.nav,!0),T.category&&x(u,T.category,!0),T.source&&x(f,T.source,!0);const ie=i(T.nav,T.category,T.source);return window.location.pathname!==ie&&history.replaceState({},"",ie),window.addEventListener("popstate",I),b(),()=>window.removeEventListener("popstate",I)}),ur(()=>(jv($),()=>{jv(null),Wv()}));function B(T,ie){T==="分类"?x(u,ie,!0):T==="source"&&x(f,ie,!0),history.pushState({},"",i(a(c),a(u),a(f)))}var N=Z(),M=_(N);{var R=T=>{var ie=WP();h(T,ie)},F=T=>{var ie=HP(),xe=S(ie),J=S(xe),pe=S(J),be=y(J,2);rr(be,{onclick:b,children:(ye,Oe)=>{var Te=GP(),Ne=_(Te);ib(Ne,{class:"size-4","aria-hidden":"true"}),h(ye,Te)},$$slots:{default:!0}}),Q(()=>te(pe,a(o))),h(T,ie)},k=T=>{$$(T,{onLogin:m})},j=T=>{var ie=UP(),xe=_(ie);jP(xe,{get activeItem(){return a(v)},get contextSegments(){return a(p)},onContextSelect:B,onSelectItem:l,get currentCategory(){return a(u)},get currentSource(){return a(f)},get status(){return a(g)},onLogout:w});var J=y(xe,2),pe=S(J),be=S(pe),ye=y(pe,2);Qg(ye,()=>a(c),Oe=>{var Te=KP(),Ne=S(Te);{var K=se=>{Y$(se,{get status(){return a(g)}})},Gt=se=>{RS(se,{get category(){return a(u)},onUnauthorized:$})},Mt=se=>{HS(se,{get source(){return a(f)}})},q=se=>{hP(se,{onUnauthorized:$})};me(Ne,se=>{a(c)==="overview"?se(K):a(c)==="rules"?se(Gt,1):a(c)==="traffic"?se(Mt,2):se(q,-1)})}ga(1,Te,()=>pa,()=>({duration:ba.current?0:120})),h(Oe,Te)}),Q(()=>te(be,a(v).label)),h(T,ie)};me(M,T=>{a(n)?T(R):a(o)?T(F,1):a(r)?T(j,-1):T(k,2)})}h(t,N),je()}const cb=document.querySelector("#app");if(!cb)throw new Error("missing #app mount point");Jg(qP,{target:cb}); diff --git a/web/dist/index.html b/web/dist/index.html index 0713447..aa5ce74 100644 --- a/web/dist/index.html +++ b/web/dist/index.html @@ -6,7 +6,7 @@ Sower Admin - + diff --git a/web/src/lib/api.ts b/web/src/lib/api.ts index 554f0f5..3794950 100644 --- a/web/src/lib/api.ts +++ b/web/src/lib/api.ts @@ -195,6 +195,10 @@ export interface ConfigChanges { router_country_rules?: string[]; } +export interface LoginInfo { + temporaryPassword: boolean; +} + export class ApiError extends Error { constructor( public status: number, @@ -227,6 +231,7 @@ export const probeSession = () => request("/api/session", { cache: "no-store" }); export const api = { + loginInfo: () => request("/api/login-info"), login: (password: string) => request("/api/session", { method: "POST", diff --git a/web/src/views/Login.svelte b/web/src/views/Login.svelte index 64df756..1b8aeae 100644 --- a/web/src/views/Login.svelte +++ b/web/src/views/Login.svelte @@ -14,10 +14,19 @@ let password = $state('') let error = $state('') let busy = $state(false) + let tempPassword = $state(false) let passwordInput: HTMLInputElement | null = $state(null) onMount(() => { passwordInput?.focus() + api + .loginInfo() + .then((info) => { + tempPassword = info.temporaryPassword + }) + .catch(() => { + // login info is best-effort; the login form still works without it + }) }) async function submit() { @@ -46,6 +55,14 @@ 输入 sower 配置中的 admin 密码。 + {#if tempPassword} + + + + 未配置固定密码,请使用 sower 启动日志中打印的临时密码登录(每次重启会更换;已登录的浏览器不受影响)。 + + + {/if}
        { e.preventDefault(); submit() }}>