diff --git a/CHANGELOG.md b/CHANGELOG.md index 4699b64..24ea997 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,32 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [1.0.0-beta.4] - 2026-09-27 + +### Added + +- Ctrl or Cmd K finds a skill, a decision, a file or a repository by name from + any screen, asking the core for the code because a graph is too large to hold + on a screen +- The Overview leads with the one thing worth doing, and carries the last few + reviews and the files that change most and are depended on most +- Folders sit under the owner their name carries, say when each was last read, + and show a read as it happens +- Adding a folder searches for one by name rather than walking the tree +- Which uses a skill has is answered from the list, for every use and every + skill, including the folders a coding agent syncs and nothing here may edit +- Reading a skill and changing one are two screens +- The model is chosen from what the core can reach, and saving a key says + whether the provider accepts the pair + +### Fixed + +- A query for a drawing reaches the core, which narrows it, rather than being + applied to whatever had already been sent +- Opening a review no longer narrows the listing to that review's repository +- Choosing all repositories survives a screen that can only show one +- The view is built against the design package it is locked to + ## [1.0.0-beta.3] ### Added diff --git a/README.md b/README.md index 9f02ab4..9c68ede 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,9 @@ It never parses code. The grammars and the graph shape live in the Python core, Starts the core on a free port and waits for it to answer. Restarts it when it dies, backing off as failures repeat. Serves its own HTTP surface on `127.0.0.1:8930`, where `/health` reports whether the core is up and how many times it has been started, and `/api/repositories` and `/api/graph` read the index. -It also serves the local view at `/`: Overview, Graph, Knowledge, Reviews, Skills, Repositories, Settings. The assets are embedded in the binary, so the view works with no network and cannot drift from the agent serving it. +It also serves the local view at `/`: Overview, Reviews, Skills, Knowledge, Graphs, Repositories, Settings. The assets are embedded in the binary, so the view works with no network and cannot drift from the agent serving it. + +Ctrl or Cmd K finds a skill, a decision, a file or a repository by name from any screen. The smaller kinds are held and narrowed here; the code is narrowed by the core, because a graph is thousands of nodes. The view is Vue, built by Vite from `ui/`: Tailwind for the design tokens, lucide for icons, force-graph in 2D and 3d-force-graph for Tree, Radial, Layered and Force. @@ -20,14 +22,16 @@ Loopback is the default because the agent reads a working tree. The machine it r ## Running it -Building needs Go and npm: `make build` builds the view, then the binary that embeds it. `make build-go` skips the view when nothing about it changed, and `make ui-dev` runs it against an agent already running. +Building needs Go and npm: `make build` builds the view, then the binary that embeds it. `make build-go` skips the view when nothing about it changed. + +To work on the view, leave an agent running and start `make ui-dev` beside it. The dev server hands `/api` and `/health` to the agent on `127.0.0.1:8930`, or wherever `SOURCEANT_AGENT_URL` points, and reloads as the sources change. A change only reaches the binary through `make build`, since what it serves is the view embedded when it was built. ```bash make build ./sourceant-agent ``` -It starts whatever `sourceant install` put on this machine, reading `~/.sourceant/config.json`: a container, or the core as a program. A container binds every interface inside and is published to loopback outside, because one binding the container's own loopback could be reached by nothing. +It starts whatever `sourceant setup` put on this machine, reading `~/.sourceant/config.json`: a container, or the core as a program. A container binds every interface inside and is published to loopback outside, because one binding the container's own loopback could be reached by nothing. With nothing installed it looks for `sourceant` on `PATH`, which is what somebody working on the core itself already has. See [sourceant/cli](https://github.com/sourceant/cli) to install one, and [sourceant/sourceant](https://github.com/sourceant/sourceant) for the core. diff --git a/VERSION b/VERSION index b0a2ffd..1bdfe3e 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.0.0-beta.3 +1.0.0-beta.4 diff --git a/internal/api/review_test.go b/internal/api/review_test.go index 31843b3..37755e4 100644 --- a/internal/api/review_test.go +++ b/internal/api/review_test.go @@ -74,11 +74,22 @@ func TestAskingForAReviewAnswersWithWhereToFindIt(t *testing.T) { if started.ID == "" { t.Error("answered without a name, so nobody could come back for it") } - if reader.asked.Against != "dev" || !reader.asked.UseModel { + if reader.asked.Against != "dev" || reader.asked.UseModel == nil || !*reader.asked.UseModel { t.Errorf("asked %+v, want what was sent", reader.asked) } } +func TestAReviewWithNoModelFlagLeavesTheChoiceToTheCore(t *testing.T) { + reader := &stubReader{} + server := New(reader, stubSupervisor{}, "dev", "") + + body(t, server, http.MethodPost, "/api/reviews", `{"repository":"acme/billing"}`) + + if reader.asked.UseModel != nil { + t.Errorf("sent %v, want nothing said", *reader.asked.UseModel) + } +} + func TestOneReviewComesBackByName(t *testing.T) { reader := &stubReader{reviewed: core.Review{ Ready: false, diff --git a/internal/api/server.go b/internal/api/server.go index 622f139..32e74d0 100644 --- a/internal/api/server.go +++ b/internal/api/server.go @@ -13,6 +13,7 @@ import ( "net" "net/http" "strconv" + "strings" "time" "github.com/sourceant/agent/internal/browse" @@ -25,6 +26,7 @@ type Reader interface { Healthy(ctx context.Context) bool Repositories(ctx context.Context) ([]core.Repository, error) Graph(ctx context.Context, repository string, opts core.GraphOptions) (core.Graph, error) + Nodes(ctx context.Context, repository string, opts core.NodeOptions) (core.NodePage, error) Attention(ctx context.Context, repository string) (core.Attention, error) Register(ctx context.Context, path, name string) (core.Repository, error) Forget(ctx context.Context, path string) error @@ -41,6 +43,9 @@ type Reader interface { Reviewed(ctx context.Context, id string) (core.Reading, error) Reviews(ctx context.Context, repository string) ([]core.Reading, error) Settings(ctx context.Context) ([]core.Setting, error) + Uses(ctx context.Context) ([]core.Use, error) + Models(ctx context.Context) ([]core.Offering, error) + CheckModel(ctx context.Context, model, key, baseURL string) (core.Usable, error) SetSetting(ctx context.Context, key string, value any) (core.Setting, error) ResetSetting(ctx context.Context, key string) (core.Setting, error) } @@ -120,6 +125,10 @@ func (s *Server) Handler() http.Handler { mux.HandleFunc("GET /api/settings", s.settings) mux.HandleFunc("PUT /api/settings", s.setSetting) mux.HandleFunc("DELETE /api/settings", s.resetSetting) + mux.HandleFunc("GET /api/nodes", s.nodes) + mux.HandleFunc("GET /api/skills/uses", s.uses) + mux.HandleFunc("GET /api/models", s.models) + mux.HandleFunc("POST /api/models/check", s.checkModel) mux.HandleFunc("GET /api/skills", s.skills) mux.HandleFunc("GET /api/skills/{id...}", s.skill) mux.HandleFunc("PUT /api/skills", s.recordSkill) @@ -178,6 +187,7 @@ func (s *Server) graph(w http.ResponseWriter, r *http.Request) { PathPrefix: r.URL.Query().Get("path_prefix"), IncludeTests: r.URL.Query().Get("include_tests") == "true", NodeLimit: limit, + Query: r.URL.Query().Get("q"), }) if err != nil { fail(w, err) @@ -186,6 +196,32 @@ func (s *Server) graph(w http.ResponseWriter, r *http.Request) { write(w, http.StatusOK, graph) } +// A page of nodes, for a screen that wants a count rather than a drawing. +func (s *Server) nodes(w http.ResponseWriter, r *http.Request) { + repository := r.URL.Query().Get("repository") + if repository == "" { + write(w, http.StatusBadRequest, problem{Error: "name a repository"}) + return + } + limit, err := strconv.Atoi(r.URL.Query().Get("limit")) + if err != nil { + limit = 0 + } + page, err := s.reader.Nodes(r.Context(), repository, core.NodeOptions{ + Labels: r.URL.Query()["labels"], + FilePath: r.URL.Query().Get("file_path"), + Limit: limit, + }) + if err != nil { + fail(w, err) + return + } + if page.Nodes == nil { + page.Nodes = []core.Node{} + } + write(w, http.StatusOK, page) +} + func (s *Server) attention(w http.ResponseWriter, r *http.Request) { repository := r.URL.Query().Get("repository") if repository == "" { @@ -429,6 +465,48 @@ func (s *Server) setSetting(w http.ResponseWriter, r *http.Request) { write(w, http.StatusOK, setting) } +func (s *Server) uses(w http.ResponseWriter, r *http.Request) { + offered, err := s.reader.Uses(r.Context()) + if err != nil { + fail(w, err) + return + } + if offered == nil { + offered = []core.Use{} + } + write(w, http.StatusOK, offered) +} + +func (s *Server) models(w http.ResponseWriter, r *http.Request) { + offered, err := s.reader.Models(r.Context()) + if err != nil { + fail(w, err) + return + } + // None is an empty list, never a null, so a screen can draw it. + if offered == nil { + offered = []core.Offering{} + } + write(w, http.StatusOK, offered) +} + +func (s *Server) checkModel(w http.ResponseWriter, r *http.Request) { + var body struct { + Model string `json:"model"` + APIKey string `json:"api_key"` + BaseURL string `json:"base_url"` + } + if !readBody(w, r, &body) { + return + } + answer, err := s.reader.CheckModel(r.Context(), body.Model, body.APIKey, body.BaseURL) + if err != nil { + fail(w, err) + return + } + write(w, http.StatusOK, answer) +} + func (s *Server) resetSetting(w http.ResponseWriter, r *http.Request) { key := r.URL.Query().Get("key") if key == "" { @@ -444,6 +522,18 @@ func (s *Server) resetSetting(w http.ResponseWriter, r *http.Request) { } func (s *Server) browse(w http.ResponseWriter, r *http.Request) { + // A name to search for answers with what matches it, anywhere under home, + // rather than with one directory's contents. + if term := r.URL.Query().Get("q"); strings.TrimSpace(term) != "" { + found, err := browse.Find(term) + if err != nil { + write(w, http.StatusNotFound, problem{Error: err.Error()}) + return + } + write(w, http.StatusOK, browse.Listing{Path: browse.Home(), Entries: found}) + return + } + listing, err := browse.At(r.URL.Query().Get("path")) if err != nil { write(w, http.StatusNotFound, problem{Error: err.Error()}) diff --git a/internal/api/server_test.go b/internal/api/server_test.go index f99bcc5..05171e9 100644 --- a/internal/api/server_test.go +++ b/internal/api/server_test.go @@ -6,8 +6,11 @@ import ( "errors" "net/http" "net/http/httptest" + "os" + "path/filepath" "testing" + "github.com/sourceant/agent/internal/browse" "github.com/sourceant/agent/internal/core" ) @@ -21,6 +24,7 @@ type stubReader struct { err error askedFor string askedOptions core.GraphOptions + askedLabels []string askedEverything bool askedUpdate bool askedDryRun bool @@ -33,6 +37,10 @@ type stubReader struct { asked core.Ask stated core.Stated settings []core.Setting + offered []core.Offering + usable core.Usable + askedModel string + askedKey string setKey string setValue any registered core.Repository @@ -145,6 +153,25 @@ func (s *stubReader) Settings(context.Context) ([]core.Setting, error) { return s.settings, s.err } +func (s *stubReader) Nodes(_ context.Context, repository string, opts core.NodeOptions) (core.NodePage, error) { + s.askedFor = repository + s.askedLabels = opts.Labels + return core.NodePage{Total: 1204}, s.err +} + +func (s *stubReader) Uses(context.Context) ([]core.Use, error) { + return []core.Use{{ID: "review", Label: "Code review"}}, s.err +} + +func (s *stubReader) Models(context.Context) ([]core.Offering, error) { + return s.offered, s.err +} + +func (s *stubReader) CheckModel(_ context.Context, model, key, _ string) (core.Usable, error) { + s.askedModel, s.askedKey = model, key + return s.usable, s.err +} + func (s *stubReader) SetSetting(_ context.Context, key string, value any) (core.Setting, error) { s.setKey, s.setValue = key, value return core.Setting{Key: key}, s.err @@ -209,12 +236,17 @@ func TestGraphPassesOnWhatNarrowsADrawing(t *testing.T) { reader := &stubReader{} server := New(reader, stubSupervisor{}, "dev", "") - call(t, server, "/api/graph?repository=acme/billing&path_prefix=app/&include_tests=true&node_limit=200") + call(t, server, "/api/graph?repository=acme/billing&path_prefix=app/&include_tests=true&node_limit=200&q=charge") if reader.askedFor != "acme/billing" { t.Errorf("asked for %q, want acme/billing", reader.askedFor) } - want := core.GraphOptions{PathPrefix: "app/", IncludeTests: true, NodeLimit: 200} + want := core.GraphOptions{ + PathPrefix: "app/", + IncludeTests: true, + NodeLimit: 200, + Query: "charge", + } if reader.askedOptions != want { t.Errorf("asked with %+v, want %+v", reader.askedOptions, want) } @@ -265,3 +297,41 @@ func decode(t *testing.T, response *httptest.ResponseRecorder, into any) { t.Fatalf("decoding %q: %v", response.Body.String(), err) } } + +func TestBrowsingBySearchAnswersWithWhatMatches(t *testing.T) { + root := t.TempDir() + for _, dir := range []string{"work/billing/.git", "work/notes"} { + if err := os.MkdirAll(filepath.Join(root, dir), 0o755); err != nil { + t.Fatalf("building the tree: %v", err) + } + } + t.Setenv("HOME", root) + server := New(&stubReader{up: true}, stubSupervisor{}, "1.2.3", "http://127.0.0.1:8931") + + response := call(t, server, "/api/browse?q=bill") + + var listing browse.Listing + decode(t, response, &listing) + if len(listing.Entries) != 1 || listing.Entries[0].Name != "billing" { + t.Fatalf("got %v, want the billing directory", listing.Entries) + } + if !listing.Entries[0].Repository { + t.Error("a working tree was not marked as one") + } +} + +func TestBrowsingWithNoSearchStillListsOneDirectory(t *testing.T) { + root := t.TempDir() + if err := os.MkdirAll(filepath.Join(root, "work"), 0o755); err != nil { + t.Fatalf("building the tree: %v", err) + } + server := New(&stubReader{up: true}, stubSupervisor{}, "1.2.3", "http://127.0.0.1:8931") + + response := call(t, server, "/api/browse?path="+root) + + var listing browse.Listing + decode(t, response, &listing) + if listing.Path != root || len(listing.Entries) != 1 { + t.Fatalf("got %v at %s, want the one directory", listing.Entries, listing.Path) + } +} diff --git a/internal/api/writes_test.go b/internal/api/writes_test.go index 5bbd6a2..92af580 100644 --- a/internal/api/writes_test.go +++ b/internal/api/writes_test.go @@ -143,3 +143,76 @@ func TestBrowsingNowhereSaysSo(t *testing.T) { t.Errorf("got %d, want 404", response.Code) } } + +// The list of models is the core's, because the thing that would make the call +// is the thing that knows what it can call. +func TestTheModelsThisMachineCanNameAreListed(t *testing.T) { + reader := &stubReader{offered: []core.Offering{ + {Provider: "anthropic", Models: []string{"anthropic/claude-sonnet-4-5"}}, + }} + server := New(reader, stubSupervisor{}, "dev", "") + + response := call(t, server, "/api/models") + + if response.Code != http.StatusOK { + t.Fatalf("got %d, want 200", response.Code) + } + if !strings.Contains(response.Body.String(), "anthropic/claude-sonnet-4-5") { + t.Errorf("the model is missing from %s", response.Body.String()) + } +} + +func TestAMachineWithNoModelsAnswersAnEmptyList(t *testing.T) { + server := New(&stubReader{}, stubSupervisor{}, "dev", "") + + response := call(t, server, "/api/models") + + if strings.TrimSpace(response.Body.String()) != "[]" { + t.Errorf("got %s, want an empty list a screen can draw", response.Body.String()) + } +} + +func TestAKeyIsCheckedAgainstTheProviderRatherThanGuessedAt(t *testing.T) { + reader := &stubReader{usable: core.Usable{Usable: false, Reason: "No access to that model."}} + server := New(reader, stubSupervisor{}, "dev", "") + + response := body(t, server, http.MethodPost, "/api/models/check", + `{"model":"anthropic/one","api_key":"sk-test"}`) + + if response.Code != http.StatusOK { + t.Fatalf("got %d, want 200", response.Code) + } + if reader.askedModel != "anthropic/one" || reader.askedKey != "sk-test" { + t.Errorf("asked about %q with %q, want what was sent", reader.askedModel, reader.askedKey) + } + if !strings.Contains(response.Body.String(), "No access to that model.") { + t.Errorf("the reason is missing from %s", response.Body.String()) + } +} + +// A screen that wants a number does not want a graph: the count comes back +// without the nodes. +func TestNodesAnswersTheCountWithoutTheWholeScope(t *testing.T) { + reader := &stubReader{} + server := New(reader, stubSupervisor{}, "dev", "") + + response := call(t, server, "/api/nodes?repository=acme/billing&labels=file&limit=1") + + if response.Code != http.StatusOK { + t.Fatalf("got %d, want 200", response.Code) + } + if reader.askedFor != "acme/billing" || len(reader.askedLabels) != 1 { + t.Errorf("asked for %q with %v, want the repository and the label", reader.askedFor, reader.askedLabels) + } + if !strings.Contains(response.Body.String(), "1204") { + t.Errorf("the count is missing from %s", response.Body.String()) + } +} + +func TestNodesRefusesToGuessWhichRepositoryIsMeant(t *testing.T) { + server := New(&stubReader{}, stubSupervisor{}, "dev", "") + + if code := call(t, server, "/api/nodes").Code; code != http.StatusBadRequest { + t.Errorf("got %d, want 400", code) + } +} diff --git a/internal/browse/browse.go b/internal/browse/browse.go index d12bd12..bcbd366 100644 --- a/internal/browse/browse.go +++ b/internal/browse/browse.go @@ -80,3 +80,78 @@ func isRepository(path string) bool { info, err := os.Stat(filepath.Join(path, ".git")) return err == nil && (info.IsDir() || info.Mode().IsRegular()) } + +// How far down the walk goes, and how much it answers with. +const ( + Depth = 6 + Results = 40 +) + +// skipped names a directory whose contents nobody is looking for. +var skipped = map[string]bool{ + "node_modules": true, + "vendor": true, + "__pycache__": true, + "target": true, + "dist": true, + "build": true, + ".venv": true, + "venv": true, +} + +// Find looks for directories whose name contains term, starting at home. +func Find(term string) ([]Entry, error) { + term = strings.ToLower(strings.TrimSpace(term)) + if term == "" { + return nil, nil + } + + root := Home() + found := make([]Entry, 0, Results) + walk := func(path string, entry os.DirEntry, err error) error { + if err != nil { + // A directory this user cannot read is not a reason to stop. + return nil + } + if !entry.IsDir() { + return nil + } + name := entry.Name() + if path != root && (strings.HasPrefix(name, ".") || skipped[name]) { + return filepath.SkipDir + } + if depthOf(root, path) > Depth { + return filepath.SkipDir + } + if path != root && strings.Contains(strings.ToLower(name), term) { + found = append(found, Entry{Name: name, Path: path, Repository: isRepository(path)}) + if len(found) >= Results { + return filepath.SkipAll + } + } + return nil + } + if err := filepath.WalkDir(root, walk); err != nil { + return nil, err + } + + sort.SliceStable(found, func(i, j int) bool { + if found[i].Repository != found[j].Repository { + return found[i].Repository + } + left, right := depthOf(root, found[i].Path), depthOf(root, found[j].Path) + if left != right { + return left < right + } + return found[i].Path < found[j].Path + }) + return found, nil +} + +func depthOf(root, path string) int { + relative, err := filepath.Rel(root, path) + if err != nil { + return 0 + } + return len(strings.Split(relative, string(filepath.Separator))) +} diff --git a/internal/browse/browse_test.go b/internal/browse/browse_test.go index ab26c12..3621eb4 100644 --- a/internal/browse/browse_test.go +++ b/internal/browse/browse_test.go @@ -3,6 +3,7 @@ package browse import ( "os" "path/filepath" + "strings" "testing" ) @@ -101,3 +102,71 @@ func TestADirectoryThatIsNotThereIsAnError(t *testing.T) { t.Fatal("listed a directory that does not exist") } } + +func TestItFindsAFolderByName(t *testing.T) { + root := tree(t) + t.Setenv("HOME", root) + + found, err := Find("bill") + if err != nil { + t.Fatalf("finding: %v", err) + } + + if len(found) != 1 || found[0].Name != "billing" { + t.Fatalf("got %v, want the billing directory", found) + } + if !found[0].Repository { + t.Error("the billing directory is a working tree and was not marked as one") + } +} + +func TestItAnswersWithWorkingTreesFirst(t *testing.T) { + root := tree(t) + if err := os.MkdirAll(filepath.Join(root, "notes-billing"), 0o755); err != nil { + t.Fatalf("building the tree: %v", err) + } + t.Setenv("HOME", root) + + found, err := Find("billing") + if err != nil { + t.Fatalf("finding: %v", err) + } + + if len(found) != 2 || !found[0].Repository || found[0].Name != "billing" { + t.Fatalf("got %v, want the working tree first", found) + } +} + +func TestItLeavesDependenciesAndHiddenDirectoriesAlone(t *testing.T) { + root := tree(t) + for _, dir := range []string{"work/node_modules/billing-ui", ".hidden/billing-old"} { + if err := os.MkdirAll(filepath.Join(root, dir), 0o755); err != nil { + t.Fatalf("building the tree: %v", err) + } + } + t.Setenv("HOME", root) + + found, err := Find("billing") + if err != nil { + t.Fatalf("finding: %v", err) + } + + for _, entry := range found { + if strings.Contains(entry.Path, "node_modules") || strings.Contains(entry.Path, ".hidden") { + t.Errorf("%s should not have been walked", entry.Path) + } + } +} + +func TestItAnswersWithNothingForAnEmptyTerm(t *testing.T) { + root := tree(t) + t.Setenv("HOME", root) + + found, err := Find(" ") + if err != nil { + t.Fatalf("finding: %v", err) + } + if len(found) != 0 { + t.Errorf("got %v, want nothing", found) + } +} diff --git a/internal/core/client.go b/internal/core/client.go index 1888db3..180f2aa 100644 --- a/internal/core/client.go +++ b/internal/core/client.go @@ -26,9 +26,14 @@ type envelope[T any] struct { } // Repository is one repository registered on this machine. +// +// IndexedAt is empty until it has been read, which is not the same as nothing +// having changed since, and Reading says a read is under way now. type Repository struct { - Name string `json:"name"` - Path string `json:"path"` + Name string `json:"name"` + Path string `json:"path"` + IndexedAt string `json:"indexed_at"` + Reading bool `json:"reading"` } // Node is one file, import or symbol in a repository's graph. @@ -164,6 +169,10 @@ type GraphOptions struct { PathPrefix string IncludeTests bool NodeLimit int + // Query narrows to nodes whose name, id or path holds this, which the core + // does: a graph is thousands of nodes and a screen that filters what it was + // sent has already been sent all of them. + Query string } // Graph reads one repository's whole scope. @@ -178,9 +187,46 @@ func (c *Client) Graph(ctx context.Context, repository string, opts GraphOptions if opts.NodeLimit > 0 { query.Set("node_limit", strconv.Itoa(opts.NodeLimit)) } + if opts.Query != "" { + query.Set("q", opts.Query) + } return get[Graph](ctx, c, "/api/code/graph", query) } +// NodePage is a page of nodes, and how many there are in all. +type NodePage struct { + Nodes []Node `json:"nodes"` + Total int `json:"total"` + HasMore bool `json:"has_more"` +} + +// NodeOptions narrows a page of nodes to what the index can narrow on without +// reading the whole scope. +type NodeOptions struct { + Labels []string + FilePath string + Limit int + Offset int +} + +// Nodes is a page of one repository's nodes, filtered by label or by file. +func (c *Client) Nodes(ctx context.Context, repository string, opts NodeOptions) (NodePage, error) { + query := url.Values{"repository": {repository}} + for _, label := range opts.Labels { + query.Add("labels", label) + } + if opts.FilePath != "" { + query.Set("file_path", opts.FilePath) + } + if opts.Limit > 0 { + query.Set("limit", strconv.Itoa(opts.Limit)) + } + if opts.Offset > 0 { + query.Set("offset", strconv.Itoa(opts.Offset)) + } + return get[NodePage](ctx, c, "/api/code/nodes", query) +} + // Worth is one file where recent change has landed on something the rest of // the code leans on. type Worth struct { @@ -336,9 +382,14 @@ type Skill struct { Origin string `json:"origin"` Path string `json:"path"` Paths []string `json:"paths"` - Reviews *bool `json:"reviews"` - Automatic bool `json:"automatic"` - Body string `json:"body,omitempty"` + // Type is how it is read: prose the reviewer is told, or a pass of its own. + Type string `json:"type"` + Reviews *bool `json:"reviews"` + // Applications is what the skill is for: a purpose, and whether it applies to + // it. + Applications map[string]bool `json:"applications"` + Automatic bool `json:"automatic"` + Body string `json:"body,omitempty"` } // SkillPage is the skills on hand. @@ -359,6 +410,18 @@ func (c *Client) Skills(ctx context.Context, repository string) (SkillPage, erro }) } +// Use is one thing this product does, that a skill can be for. +type Use struct { + ID string `json:"id"` + Label string `json:"label"` +} + +// Uses is what a skill can be used for, read from the core so every screen +// offers the same list. +func (c *Client) Uses(ctx context.Context) ([]Use, error) { + return get[[]Use](ctx, c, "/api/skills/uses", nil) +} + // Skill is one rule in full, so a person can read what a check was made against. func (c *Client) Skill(ctx context.Context, id, repository string) (Skill, error) { return get[Skill](ctx, c, "/api/skills/"+id, url.Values{"repository": {repository}}) @@ -377,6 +440,12 @@ type Stated struct { Body string `json:"body"` Paths []string `json:"paths"` Reviews *bool `json:"reviews"` + // What it is for, and how it is read. + Applications map[string]bool `json:"applications"` + Type string `json:"type"` + // Automatic is whether this product may pick it without being asked, which + // is not one of the uses. + Automatic bool `json:"automatic"` } // RecordSkill writes a skill down, in a repository or on this machine. @@ -515,7 +584,8 @@ type Ask struct { Title string `json:"title"` Description string `json:"description"` Skills []string `json:"skills"` - UseModel bool `json:"use_model"` + // Absent rather than false when nobody said, so the core decides. + UseModel *bool `json:"use_model,omitempty"` } // Reading is one review, whether it has finished or not. @@ -575,8 +645,11 @@ type Setting struct { Secret bool `json:"secret"` // Listed is several of something rather than one thing, kept one to a // line, so a screen draws it as a list rather than as a box of text. - Listed bool `json:"listed"` - IsSet *bool `json:"is_set"` + Listed bool `json:"listed"` + // Advanced is tuning rather than a choice, kept out of the way of the + // settings somebody actually has to answer. + Advanced bool `json:"advanced"` + IsSet *bool `json:"is_set"` } // Settings is everything configurable on this machine. @@ -590,6 +663,30 @@ func (c *Client) SetSetting(ctx context.Context, key string, value any) (Setting nil, map[string]any{"value": value}) } +// Offering is one provider and the models it can be asked for. +type Offering struct { + Provider string `json:"provider"` + Models []string `json:"models"` +} + +// Models is every model this machine can name, by provider, read from the core +// that would make the call. +func (c *Client) Models(ctx context.Context) ([]Offering, error) { + return get[[]Offering](ctx, c, "/api/local/settings/models", nil) +} + +// Usable is whether a key may ask for a model, and why not when it may not. +type Usable struct { + Usable bool `json:"usable"` + Reason string `json:"reason"` +} + +// CheckModel asks the provider whether this pair works. +func (c *Client) CheckModel(ctx context.Context, model, key, baseURL string) (Usable, error) { + return send[Usable](ctx, c, http.MethodPost, "/api/local/settings/models/check", nil, + map[string]string{"model": model, "api_key": key, "base_url": baseURL}) +} + // ResetSetting puts one setting back to what it would be if nobody had touched it. func (c *Client) ResetSetting(ctx context.Context, key string) (Setting, error) { return send[Setting](ctx, c, http.MethodDelete, diff --git a/internal/ui/assets/assets/index-BGVtFZd1.css b/internal/ui/assets/assets/index-BGVtFZd1.css deleted file mode 100644 index 2e5a503..0000000 --- a/internal/ui/assets/assets/index-BGVtFZd1.css +++ /dev/null @@ -1 +0,0 @@ -*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root,.dark{color-scheme:dark;--background: 240 10% 3.9%;--foreground: 0 0% 98%;--card: 240 9% 7%;--card-foreground: 0 0% 98%;--popover: 240 9% 7%;--popover-foreground: 0 0% 98%;--primary: 357 89% 47%;--primary-foreground: 0 0% 100%;--secondary: 240 4% 16%;--secondary-foreground: 0 0% 98%;--muted: 240 5% 14%;--muted-foreground: 240 5% 64.9%;--accent: 240 4% 16%;--accent-foreground: 0 0% 98%;--destructive: 0 62.8% 50.6%;--destructive-foreground: 0 0% 98%;--success: 142 71% 45%;--success-foreground: 0 0% 98%;--warning: 38 92% 50%;--warning-foreground: 0 0% 98%;--border: 240 6% 16%;--input: 240 6% 16%;--ring: 357 89% 47%;--radius: .25rem;--brand: 357 89% 47%;--pillar-memory: 217 91% 60%;--pillar-graph: 262 83% 66%;--pillar-review: 142 71% 45%;--pillar-tokens: 38 92% 50%}.\!dark{color-scheme:dark!important;--background: 240 10% 3.9% !important;--foreground: 0 0% 98% !important;--card: 240 9% 7% !important;--card-foreground: 0 0% 98% !important;--popover: 240 9% 7% !important;--popover-foreground: 0 0% 98% !important;--primary: 357 89% 47% !important;--primary-foreground: 0 0% 100% !important;--secondary: 240 4% 16% !important;--secondary-foreground: 0 0% 98% !important;--muted: 240 5% 14% !important;--muted-foreground: 240 5% 64.9% !important;--accent: 240 4% 16% !important;--accent-foreground: 0 0% 98% !important;--destructive: 0 62.8% 50.6% !important;--destructive-foreground: 0 0% 98% !important;--success: 142 71% 45% !important;--success-foreground: 0 0% 98% !important;--warning: 38 92% 50% !important;--warning-foreground: 0 0% 98% !important;--border: 240 6% 16% !important;--input: 240 6% 16% !important;--ring: 357 89% 47% !important;--radius: .25rem !important;--brand: 357 89% 47% !important;--pillar-memory: 217 91% 60% !important;--pillar-graph: 262 83% 66% !important;--pillar-review: 142 71% 45% !important;--pillar-tokens: 38 92% 50% !important}.light{color-scheme:light;--background: 240 20% 98%;--foreground: 240 10% 10%;--card: 0 0% 100%;--card-foreground: 240 10% 10%;--popover: 0 0% 100%;--popover-foreground: 240 10% 10%;--primary: 357 89% 47%;--primary-foreground: 0 0% 100%;--secondary: 240 10% 94%;--secondary-foreground: 240 10% 20%;--muted: 240 10% 94%;--muted-foreground: 240 5% 45%;--accent: 357 60% 96%;--accent-foreground: 357 70% 40%;--destructive: 0 84% 60%;--destructive-foreground: 0 0% 100%;--success: 142 70% 35%;--success-foreground: 0 0% 100%;--warning: 38 92% 45%;--warning-foreground: 0 0% 100%;--border: 240 10% 90%;--input: 240 10% 90%;--ring: 357 89% 47%;--brand: 357 89% 47%;--pillar-memory: 217 91% 55%;--pillar-graph: 262 83% 58%;--pillar-review: 142 71% 40%;--pillar-tokens: 38 92% 45%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));font-family:Inter,system-ui,sans-serif;color:hsl(var(--foreground));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media(min-width:1400px){.container{max-width:1400px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body: oklch(37.3% .034 259.733);--tw-prose-headings: oklch(21% .034 264.665);--tw-prose-lead: oklch(44.6% .03 256.802);--tw-prose-links: oklch(21% .034 264.665);--tw-prose-bold: oklch(21% .034 264.665);--tw-prose-counters: oklch(55.1% .027 264.364);--tw-prose-bullets: oklch(87.2% .01 258.338);--tw-prose-hr: oklch(92.8% .006 264.531);--tw-prose-quotes: oklch(21% .034 264.665);--tw-prose-quote-borders: oklch(92.8% .006 264.531);--tw-prose-captions: oklch(55.1% .027 264.364);--tw-prose-kbd: oklch(21% .034 264.665);--tw-prose-kbd-shadows: color-mix(in oklab, oklch(21% .034 264.665) 10%, transparent);--tw-prose-code: oklch(21% .034 264.665);--tw-prose-pre-code: oklch(92.8% .006 264.531);--tw-prose-pre-bg: oklch(27.8% .033 256.848);--tw-prose-th-borders: oklch(87.2% .01 258.338);--tw-prose-td-borders: oklch(92.8% .006 264.531);--tw-prose-invert-body: oklch(87.2% .01 258.338);--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: oklch(70.7% .022 261.325);--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: oklch(70.7% .022 261.325);--tw-prose-invert-bullets: oklch(44.6% .03 256.802);--tw-prose-invert-hr: oklch(37.3% .034 259.733);--tw-prose-invert-quotes: oklch(96.7% .003 264.542);--tw-prose-invert-quote-borders: oklch(37.3% .034 259.733);--tw-prose-invert-captions: oklch(70.7% .022 261.325);--tw-prose-invert-kbd: #fff;--tw-prose-invert-kbd-shadows: rgb(255 255 255 / 10%);--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: oklch(87.2% .01 258.338);--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: oklch(44.6% .03 256.802);--tw-prose-invert-td-borders: oklch(37.3% .034 259.733);font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.7142857}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;line-height:1.5555556;margin-top:.8888889em;margin-bottom:.8888889em}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em;padding-inline-start:1.1111111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.1428571em;margin-top:0;margin-bottom:.8em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.4285714em;margin-top:1.6em;margin-bottom:.8em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;margin-top:1.5555556em;margin-bottom:.4444444em;line-height:1.5555556}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.4285714em;margin-bottom:.5714286em;line-height:1.4285714}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;border-radius:.3125rem;padding-top:.1428571em;padding-inline-end:.3571429em;padding-bottom:.1428571em;padding-inline-start:.3571429em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.6666667;margin-top:1.6666667em;margin-bottom:1.6666667em;border-radius:.25rem;padding-top:.6666667em;padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.2857143em;margin-bottom:.2857143em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.2857143em;padding-inline-start:1.5714286em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.8571429em;margin-bottom:2.8571429em}.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.6666667em;padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.3333333;margin-top:.6666667em}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.light .gradient-text{--tw-gradient-from: #9333ea var(--tw-gradient-from-position);--tw-gradient-to: rgb(147 51 234 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: rgb(124 58 237 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #7c3aed var(--tw-gradient-via-position), var(--tw-gradient-to);--tw-gradient-to: #db2777 var(--tw-gradient-to-position)}.light .glass{border-bottom-width:1px;border-color:hsl(var(--border) / .5);background-color:hsl(var(--background) / .9);--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.glow{box-shadow:0 0 60px -15px hsl(var(--primary) / .3)}.light .glow{box-shadow:0 0 60px -15px hsl(var(--primary) / .15)}.glow-sm{box-shadow:0 0 30px -10px hsl(var(--primary) / .2)}.light .glow-sm{box-shadow:0 0 30px -10px hsl(var(--primary) / .1)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.left-2\.5{left:.625rem}.right-0{right:0}.right-4{right:1rem}.top-1\/2{top:50%}.top-4{top:1rem}.top-full{top:100%}.z-40{z-index:40}.z-50{z-index:50}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-\[85vh\]{max-height:85vh}.min-h-0{min-height:0px}.min-h-10{min-height:2.5rem}.min-h-7{min-height:1.75rem}.min-h-8{min-height:2rem}.min-h-\[24rem\]{min-height:24rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-10{min-width:2.5rem}.min-w-7{min-width:1.75rem}.min-w-8{min-width:2rem}.max-w-2xl{max-width:42rem}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-up{animation:fade-up .4s ease-out}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize-y{resize:vertical}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-1{row-gap:.25rem}.gap-y-1\.5{row-gap:.375rem}.gap-y-2{row-gap:.5rem}.gap-y-3{row-gap:.75rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-amber-600\/20{border-color:#d9770633}.border-blue-600\/20{border-color:#2563eb33}.border-border{border-color:hsl(var(--border))}.border-border\/60{border-color:hsl(var(--border) / .6)}.border-cyan-600\/20{border-color:#0891b233}.border-destructive\/40{border-color:hsl(var(--destructive) / .4)}.border-destructive\/60{border-color:hsl(var(--destructive) / .6)}.border-emerald-600\/20{border-color:#05966933}.border-input{border-color:hsl(var(--input))}.border-lime-600\/20{border-color:#65a30d33}.border-pink-600\/20{border-color:#db277733}.border-primary\/30{border-color:hsl(var(--primary) / .3)}.border-primary\/40{border-color:hsl(var(--primary) / .4)}.border-red-600\/20{border-color:#dc262633}.border-success\/40{border-color:hsl(var(--success) / .4)}.border-transparent{border-color:transparent}.border-violet-600\/20{border-color:#7c3aed33}.border-warning\/40{border-color:hsl(var(--warning) / .4)}.bg-amber-600{--tw-bg-opacity: 1;background-color:rgb(217 119 6 / var(--tw-bg-opacity, 1))}.bg-amber-600\/10{background-color:#d977061a}.bg-background{background-color:hsl(var(--background))}.bg-background\/80{background-color:hsl(var(--background) / .8)}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-blue-600\/10{background-color:#2563eb1a}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-card\/80{background-color:hsl(var(--card) / .8)}.bg-cyan-600{--tw-bg-opacity: 1;background-color:rgb(8 145 178 / var(--tw-bg-opacity, 1))}.bg-cyan-600\/10{background-color:#0891b21a}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/10{background-color:hsl(var(--destructive) / .1)}.bg-destructive\/15{background-color:hsl(var(--destructive) / .15)}.bg-destructive\/5{background-color:hsl(var(--destructive) / .05)}.bg-emerald-600{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity, 1))}.bg-emerald-600\/10{background-color:#0596691a}.bg-lime-600{--tw-bg-opacity: 1;background-color:rgb(101 163 13 / var(--tw-bg-opacity, 1))}.bg-lime-600\/10{background-color:#65a30d1a}.bg-muted{background-color:hsl(var(--muted))}.bg-muted-foreground{background-color:hsl(var(--muted-foreground))}.bg-muted\/30{background-color:hsl(var(--muted) / .3)}.bg-muted\/40{background-color:hsl(var(--muted) / .4)}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-muted\/60{background-color:hsl(var(--muted) / .6)}.bg-pillar-graph{--tw-bg-opacity: 1;background-color:hsl(var(--pillar-graph) / var(--tw-bg-opacity, 1))}.bg-pillar-graph\/15{background-color:hsl(var(--pillar-graph) / .15)}.bg-pillar-memory\/15{background-color:hsl(var(--pillar-memory) / .15)}.bg-pillar-review\/15{background-color:hsl(var(--pillar-review) / .15)}.bg-pillar-tokens\/15{background-color:hsl(var(--pillar-tokens) / .15)}.bg-pink-600{--tw-bg-opacity: 1;background-color:rgb(219 39 119 / var(--tw-bg-opacity, 1))}.bg-pink-600\/10{background-color:#db27771a}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-primary\/15{background-color:hsl(var(--primary) / .15)}.bg-primary\/20{background-color:hsl(var(--primary) / .2)}.bg-primary\/5{background-color:hsl(var(--primary) / .05)}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-red-600\/10{background-color:#dc26261a}.bg-secondary{background-color:hsl(var(--secondary))}.bg-success{background-color:hsl(var(--success))}.bg-success\/10{background-color:hsl(var(--success) / .1)}.bg-success\/15{background-color:hsl(var(--success) / .15)}.bg-success\/20{background-color:hsl(var(--success) / .2)}.bg-success\/5{background-color:hsl(var(--success) / .05)}.bg-violet-600{--tw-bg-opacity: 1;background-color:rgb(124 58 237 / var(--tw-bg-opacity, 1))}.bg-violet-600\/10{background-color:#7c3aed1a}.bg-warning{background-color:hsl(var(--warning))}.bg-warning\/10{background-color:hsl(var(--warning) / .1)}.bg-warning\/15{background-color:hsl(var(--warning) / .15)}.bg-warning\/20{background-color:hsl(var(--warning) / .2)}.bg-warning\/5{background-color:hsl(var(--warning) / .05)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-10{padding:2.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-4{padding-bottom:1rem}.pl-2{padding-left:.5rem}.pl-2\.5{padding-left:.625rem}.pl-3{padding-left:.75rem}.pl-5{padding-left:1.25rem}.pl-8{padding-left:2rem}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-3{padding-right:.75rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-5{padding-top:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.font-mono{font-family:JetBrains Mono,monospace}.font-sans{font-family:Inter,system-ui,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-relaxed{line-height:1.625}.tracking-normal{letter-spacing:0em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-brand{color:hsl(var(--brand))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-cyan-600{--tw-text-opacity: 1;color:rgb(8 145 178 / var(--tw-text-opacity, 1))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-foreground{color:hsl(var(--foreground))}.text-lime-600{--tw-text-opacity: 1;color:rgb(101 163 13 / var(--tw-text-opacity, 1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/50{color:hsl(var(--muted-foreground) / .5)}.text-pillar-graph{--tw-text-opacity: 1;color:hsl(var(--pillar-graph) / var(--tw-text-opacity, 1))}.text-pillar-memory{--tw-text-opacity: 1;color:hsl(var(--pillar-memory) / var(--tw-text-opacity, 1))}.text-pillar-review{--tw-text-opacity: 1;color:hsl(var(--pillar-review) / var(--tw-text-opacity, 1))}.text-pillar-tokens{--tw-text-opacity: 1;color:hsl(var(--pillar-tokens) / var(--tw-text-opacity, 1))}.text-pink-600{--tw-text-opacity: 1;color:rgb(219 39 119 / var(--tw-text-opacity, 1))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-success{color:hsl(var(--success))}.text-violet-600{--tw-text-opacity: 1;color:rgb(124 58 237 / var(--tw-text-opacity, 1))}.text-warning{color:hsl(var(--warning))}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.hover\:glow:hover{box-shadow:0 0 60px -15px hsl(var(--primary) / .3)}.light .hover\:glow:hover{box-shadow:0 0 60px -15px hsl(var(--primary) / .15)}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.first\:pt-0:first-child{padding-top:0}.last\:pb-0:last-child{padding-bottom:0}.hover\:-translate-y-1:hover{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-primary\/50:hover{border-color:hsl(var(--primary) / .5)}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-background\/60:hover{background-color:hsl(var(--background) / .6)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:underline:hover{text-decoration-line:underline}.focus\:border-destructive:focus{border-color:hsl(var(--destructive))}.focus\:border-primary\/50:focus{border-color:hsl(var(--primary) / .5)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.prose-headings\:font-semibold :is(:where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] *))){font-weight:600}.prose-headings\:text-foreground :is(:where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--foreground))}.prose-p\:text-muted-foreground :is(:where(p):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--muted-foreground))}.prose-a\:text-primary :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--primary))}.prose-a\:no-underline :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){text-decoration-line:none}.hover\:prose-a\:underline :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{text-decoration-line:underline}.prose-blockquote\:border-border :is(:where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *))){border-color:hsl(var(--border))}.prose-blockquote\:text-muted-foreground :is(:where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--muted-foreground))}.prose-strong\:text-foreground :is(:where(strong):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--foreground))}.prose-em\:text-foreground :is(:where(em):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--foreground))}.prose-code\:rounded :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){border-radius:.25rem}.prose-code\:bg-muted\/60 :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){background-color:hsl(var(--muted) / .6)}.prose-code\:px-1 :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){padding-left:.25rem;padding-right:.25rem}.prose-code\:py-0\.5 :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){padding-top:.125rem;padding-bottom:.125rem}.prose-code\:text-foreground :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--foreground))}.prose-code\:before\:content-none :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))):before{--tw-content: none;content:var(--tw-content)}.prose-code\:after\:content-none :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))):after{--tw-content: none;content:var(--tw-content)}.prose-pre\:border :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){border-width:1px}.prose-pre\:bg-muted\/50 :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){background-color:hsl(var(--muted) / .5)}.prose-pre\:text-foreground :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--foreground))}.prose-li\:text-muted-foreground :is(:where(li):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--muted-foreground))}.prose-th\:text-foreground :is(:where(th):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--foreground))}.prose-td\:text-muted-foreground :is(:where(td):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--muted-foreground))}.prose-hr\:border-border :is(:where(hr):not(:where([class~=not-prose],[class~=not-prose] *))){border-color:hsl(var(--border))}@media(min-width:640px){.sm\:mr-3{margin-right:.75rem}.sm\:block{display:block}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.sm\:px-4{padding-left:1rem;padding-right:1rem}}@media(min-width:1024px){.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[16rem_1fr\]{grid-template-columns:16rem 1fr}.lg\:grid-cols-\[18rem_1fr\]{grid-template-columns:18rem 1fr}.lg\:grid-cols-\[1fr_20rem\]{grid-template-columns:1fr 20rem}.lg\:items-start{align-items:flex-start}.lg\:px-6{padding-left:1.5rem;padding-right:1.5rem}.lg\:pb-6{padding-bottom:1.5rem}.lg\:pt-4{padding-top:1rem}}@media(min-width:1280px){.xl\:inline{display:inline}}@media(min-width:1536px){.\32xl\:px-2\.5{padding-left:.625rem;padding-right:.625rem}}.\[\&\>p\]\:inline>p{display:inline} diff --git a/internal/ui/assets/assets/index-D2AaWofz.js b/internal/ui/assets/assets/index-D2AaWofz.js new file mode 100644 index 0000000..34f8774 --- /dev/null +++ b/internal/ui/assets/assets/index-D2AaWofz.js @@ -0,0 +1,313 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/force-graph-HZtkkbK0.js","assets/radial-aO03NmL0.js","assets/Paired-DNTqsPj0.js","assets/index-DHVCIEzJ.js","assets/3d-force-graph-B8lgMx4q.js","assets/three.module-D-PgY1-x.js"])))=>i.map(i=>d[i]); +var U0=Object.defineProperty;var J0=(e,t,n)=>t in e?U0(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var T1=(e,t,n)=>J0(e,typeof t!="symbol"?t+"":t,n);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))l(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const a of o.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&l(a)}).observe(document,{childList:!0,subtree:!0});function n(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function l(s){if(s.ep)return;s.ep=!0;const o=n(s);fetch(s.href,o)}})();/** +* @vue/shared v3.5.42 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function O5(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const N1={},p3=[],ee=()=>{},hn=()=>!1,st=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),ot=e=>e.startsWith("onUpdate:"),s2=Object.assign,G5=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},z0=Object.prototype.hasOwnProperty,L1=(e,t)=>z0.call(e,t),C1=Array.isArray,$e=e=>p4(e)==="[object Map]",b3=e=>p4(e)==="[object Set]",v6=e=>p4(e)==="[object Date]",F1=e=>typeof e=="function",z1=e=>typeof e=="string",L2=e=>typeof e=="symbol",V1=e=>e!==null&&typeof e=="object",An=e=>(V1(e)||F1(e))&&F1(e.then)&&F1(e.catch),pn=Object.prototype.toString,p4=e=>pn.call(e),j0=e=>p4(e).slice(8,-1),mn=e=>p4(e)==="[object Object]",W5=e=>z1(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,V3=O5(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),at=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},X0=/-\w/g,y2=at(e=>e.replace(X0,t=>t.slice(1).toUpperCase())),q0=/\B([A-Z])/g,xe=at(e=>e.replace(q0,"-$1").toLowerCase()),rt=at(e=>e.charAt(0).toUpperCase()+e.slice(1)),St=at(e=>e?`on${rt(e)}`:""),d2=(e,t)=>!Object.is(e,t),S4=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:l,value:n})},L5=e=>{const t=parseFloat(e);return isNaN(t)?e:t},el=e=>{const t=z1(e)?Number(e):NaN;return isNaN(t)?e:t};let y6;const it=()=>y6||(y6=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function M2(e){if(C1(e)){const t={};for(let n=0;n{if(n){const l=n.split(nl);l.length>1&&(t[l[0].trim()]=l[1].trim())}}),t}function o1(e){let t="";if(z1(e))t=e;else if(C1(e))for(let n=0;nE3(n,t))}const bn=e=>!!(e&&e.__v_isRef===!0),F=e=>z1(e)?e:e==null?"":C1(e)||V1(e)&&(e.toString===pn||!F1(e.toString))?bn(e)?F(e.value):JSON.stringify(e,kn,2):String(e),kn=(e,t)=>bn(t)?kn(e,t.value):$e(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[l,s],o)=>(n[Rt(l,o)+" =>"]=s,n),{})}:b3(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>Rt(n))}:L2(t)?Rt(t):V1(t)&&!C1(t)&&!mn(t)?String(t):t,Rt=(e,t="")=>{var n;return L2(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** +* @vue/reactivity v3.5.42 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let u2;class il{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&u2&&(u2.active?(this.parent=u2,this.index=(u2.scopes||(u2.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const l=this.scopes.slice();for(t=0,n=l.length;t0&&--this._on===0){if(u2===this)u2=this.prevScope;else{let t=u2;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,l;for(n=0,l=this.effects.length;n0)return;if(P3){let t=P3;for(P3=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;T3;){let t=T3;for(T3=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(l){e||(e=l)}t=n}}if(e)throw e}function _n(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function In(e){let t,n=e.depsTail,l=n;for(;l;){const s=l.prevDep;l.version===-1?(l===n&&(n=s),P5(l),ul(l)):t=l,l.dep.activeLink=l.prevActiveLink,l.prevActiveLink=void 0,l=s}e.deps=t,e.depsTail=n}function u5(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(Mn(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function Mn(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===z3)||(e.globalVersion=z3,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!u5(e))))return;e.flags|=2;const t=e.dep,n=U1,l=G2;U1=e,G2=!0;try{_n(e);const s=e.fn(e._value);(t.version===0||d2(s,e._value))&&(e.flags|=128,e._value=s,t.version++)}catch(s){throw t.version++,s}finally{U1=n,G2=l,In(e),e.flags&=-3}}function P5(e,t=!1){const{dep:n,prevSub:l,nextSub:s}=e;if(l&&(l.nextSub=s,e.prevSub=void 0),s&&(s.prevSub=l,e.nextSub=void 0),n.subs===e&&(n.subs=l,!l&&n.computed)){n.computed.flags&=-5;for(let o=n.computed.deps;o;o=o.nextDep)P5(o,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function ul(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let G2=!0;const En=[];function ve(){En.push(G2),G2=!1}function ye(){const e=En.pop();G2=e===void 0?!0:e}function k6(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=U1;U1=void 0;try{t()}finally{U1=n}}}let z3=0;class dl{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class ct{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!U1||!G2||U1===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==U1)n=this.activeLink=new dl(U1,this),U1.deps?(n.prevDep=U1.depsTail,U1.depsTail.nextDep=n,U1.depsTail=n):U1.deps=U1.depsTail=n,Dn(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const l=n.nextDep;l.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=l),n.prevDep=U1.depsTail,n.nextDep=void 0,U1.depsTail.nextDep=n,U1.depsTail=n,U1.deps===n&&(U1.deps=l)}return n}trigger(t){this.version++,z3++,this.notify(t)}notify(t){V5();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{T5()}}}function Dn(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let l=t.deps;l;l=l.nextDep)Dn(l)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const d5=new WeakMap,n3=Symbol(""),f5=Symbol(""),j3=Symbol("");function p2(e,t,n){if(G2&&U1){let l=d5.get(e);l||d5.set(e,l=new Map);let s=l.get(n);s||(l.set(n,s=new ct),s.map=l,s.key=n),s.track()}}function Ae(e,t,n,l,s,o){const a=d5.get(e);if(!a){z3++;return}const r=i=>{i&&i.trigger()};if(V5(),t==="clear")a.forEach(r);else{const i=C1(e),c=i&&W5(n);if(i&&n==="length"){const u=Number(l);a.forEach((d,A)=>{(A==="length"||A===j3||!L2(A)&&A>=u)&&r(d)})}else switch((n!==void 0||a.has(void 0))&&r(a.get(n)),c&&r(a.get(j3)),t){case"add":i?c&&r(a.get("length")):(r(a.get(n3)),$e(e)&&r(a.get(f5)));break;case"delete":i||(r(a.get(n3)),$e(e)&&r(a.get(f5)));break;case"set":$e(e)&&r(a.get(n3));break}}T5()}function c3(e){const t=K1(e);return t===e?t:(p2(t,"iterate",j3),R2(e)?t:t.map(V2))}function ut(e){return p2(e=K1(e),"iterate",j3),e}function z2(e,t){return be(e)?k3(l3(e)?V2(t):t):V2(t)}const fl={__proto__:null,[Symbol.iterator](){return Nt(this,Symbol.iterator,e=>z2(this,e))},concat(...e){return c3(this).concat(...e.map(t=>C1(t)?c3(t):t))},entries(){return Nt(this,"entries",e=>(e[1]=z2(this,e[1]),e))},every(e,t){return re(this,"every",e,t,void 0,arguments)},filter(e,t){return re(this,"filter",e,t,n=>n.map(l=>z2(this,l)),arguments)},find(e,t){return re(this,"find",e,t,n=>z2(this,n),arguments)},findIndex(e,t){return re(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return re(this,"findLast",e,t,n=>z2(this,n),arguments)},findLastIndex(e,t){return re(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return re(this,"forEach",e,t,void 0,arguments)},includes(...e){return Kt(this,"includes",e)},indexOf(...e){return Kt(this,"indexOf",e)},join(e){return c3(this).join(e)},lastIndexOf(...e){return Kt(this,"lastIndexOf",e)},map(e,t){return re(this,"map",e,t,void 0,arguments)},pop(){return S3(this,"pop")},push(...e){return S3(this,"push",e)},reduce(e,...t){return x6(this,"reduce",e,t)},reduceRight(e,...t){return x6(this,"reduceRight",e,t)},shift(){return S3(this,"shift")},some(e,t){return re(this,"some",e,t,void 0,arguments)},splice(...e){return S3(this,"splice",e)},toReversed(){return c3(this).toReversed()},toSorted(e){return c3(this).toSorted(e)},toSpliced(...e){return c3(this).toSpliced(...e)},unshift(...e){return S3(this,"unshift",e)},values(){return Nt(this,"values",e=>z2(this,e))}};function Nt(e,t,n){const l=ut(e),s=l[t]();return l!==e&&!R2(e)&&(s._next=s.next,s.next=()=>{const o=s._next();return o.done||(o.value=n(o.value)),o}),s}const hl=Array.prototype;function re(e,t,n,l,s,o){const a=ut(e),r=a!==e&&!R2(e),i=a[t];if(i!==hl[t]){const d=i.apply(e,o);return r?V2(d):d}let c=n;a!==e&&(r?c=function(d,A){return n.call(this,z2(e,d),A,e)}:n.length>2&&(c=function(d,A){return n.call(this,d,A,e)}));const u=i.call(a,c,l);return r&&s?s(u):u}function x6(e,t,n,l){const s=ut(e),o=s!==e&&!R2(e);let a=n,r=!1;s!==e&&(o?(r=l.length===0,a=function(c,u,d){return r&&(r=!1,c=z2(e,c)),n.call(this,c,z2(e,u),d,e)}):n.length>3&&(a=function(c,u,d){return n.call(this,c,u,d,e)}));const i=s[t](a,...l);return r?z2(e,i):i}function Kt(e,t,n){const l=K1(e);p2(l,"iterate",j3);const s=l[t](...n);return(s===-1||s===!1)&&U5(n[0])?(n[0]=K1(n[0]),l[t](...n)):s}function S3(e,t,n=[]){ve(),V5();const l=K1(e)[t].apply(e,n);return T5(),ye(),l}const Al=O5("__proto__,__v_isRef,__isVue"),Zn=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(L2));function pl(e){L2(e)||(e=String(e));const t=K1(this);return p2(t,"has",e),t.hasOwnProperty(e)}class Fn{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,l){if(n==="__v_skip")return t.__v_skip;const s=this._isReadonly,o=this._isShallow;if(n==="__v_isReactive")return!s;if(n==="__v_isReadonly")return s;if(n==="__v_isShallow")return o;if(n==="__v_raw")return l===(s?o?_l:$n:o?Rn:Sn).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(l)?t:void 0;const a=C1(t);if(!s){let i;if(a&&(i=fl[n]))return i;if(n==="hasOwnProperty")return pl}const r=Reflect.get(t,n,i2(t)?t:l);if((L2(n)?Zn.has(n):Al(n))||(s||p2(t,"get",n),o))return r;if(i2(r)){const i=a&&W5(n)?r:r.value;return s&&V1(i)?A5(i):i}return V1(r)?s?A5(r):dt(r):r}}class Bn extends Fn{constructor(t=!1){super(!1,t)}set(t,n,l,s){let o=t[n];const a=C1(t)&&W5(n);if(!this._isShallow){const c=be(o);if(!R2(l)&&!be(l)&&(o=K1(o),l=K1(l)),!a&&i2(o)&&!i2(l))return c||(o.value=l),!0}const r=a?Number(n)e,b4=e=>Reflect.getPrototypeOf(e);function bl(e,t,n){return function(...l){const s=this.__v_raw,o=K1(s),a=$e(o),r=e==="entries"||e===Symbol.iterator&&a,i=e==="keys"&&a,c=s[e](...l),u=n?h5:t?k3:V2;return!t&&p2(o,"iterate",i?f5:n3),s2(Object.create(c),{next(){const{value:d,done:A}=c.next();return A?{value:d,done:A}:{value:r?[u(d[0]),u(d[1])]:u(d),done:A}}})}}function k4(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function kl(e,t){const n={get(s){const o=this.__v_raw,a=K1(o),r=K1(s);e||(d2(s,r)&&p2(a,"get",s),p2(a,"get",r));const{has:i}=b4(a),c=t?h5:e?k3:V2;if(i.call(a,s))return c(o.get(s));if(i.call(a,r))return c(o.get(r));o!==a&&o.get(s)},get size(){const s=this.__v_raw;return!e&&p2(K1(s),"iterate",n3),s.size},has(s){const o=this.__v_raw,a=K1(o),r=K1(s);return e||(d2(s,r)&&p2(a,"has",s),p2(a,"has",r)),s===r?o.has(s):o.has(s)||o.has(r)},forEach(s,o){const a=this,r=a.__v_raw,i=K1(r),c=t?h5:e?k3:V2;return!e&&p2(i,"iterate",n3),r.forEach((u,d)=>s.call(o,c(u),c(d),a))}};return s2(n,e?{add:k4("add"),set:k4("set"),delete:k4("delete"),clear:k4("clear")}:{add(s){const o=K1(this),a=b4(o),r=K1(s),i=!t&&!R2(s)&&!be(s)?r:s;return a.has.call(o,i)||d2(s,i)&&a.has.call(o,s)||d2(r,i)&&a.has.call(o,r)||(o.add(i),Ae(o,"add",i,i)),this},set(s,o){!t&&!R2(o)&&!be(o)&&(o=K1(o));const a=K1(this),{has:r,get:i}=b4(a);let c=r.call(a,s);c||(s=K1(s),c=r.call(a,s));const u=i.call(a,s);return a.set(s,o),c?d2(o,u)&&Ae(a,"set",s,o):Ae(a,"add",s,o),this},delete(s){const o=K1(this),{has:a,get:r}=b4(o);let i=a.call(o,s);i||(s=K1(s),i=a.call(o,s)),r&&r.call(o,s);const c=o.delete(s);return i&&Ae(o,"delete",s,void 0),c},clear(){const s=K1(this),o=s.size!==0,a=s.clear();return o&&Ae(s,"clear",void 0,void 0),a}}),["keys","values","entries",Symbol.iterator].forEach(s=>{n[s]=bl(s,e,t)}),n}function H5(e,t){const n=kl(e,t);return(l,s,o)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?l:Reflect.get(L1(n,s)&&s in l?n:l,s,o)}const xl={get:H5(!1,!1)},wl={get:H5(!1,!0)},Cl={get:H5(!0,!1)};const Sn=new WeakMap,Rn=new WeakMap,$n=new WeakMap,_l=new WeakMap;function Il(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function dt(e){return be(e)?e:Y5(e,!1,gl,xl,Sn)}function Nn(e){return Y5(e,!1,yl,wl,Rn)}function A5(e){return Y5(e,!0,vl,Cl,$n)}function Y5(e,t,n,l,s){if(!V1(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const o=s.get(e);if(o)return o;const a=Il(j0(e));if(a===0)return e;const r=new Proxy(e,a===2?l:n);return s.set(e,r),r}function l3(e){return be(e)?l3(e.__v_raw):!!(e&&e.__v_isReactive)}function be(e){return!!(e&&e.__v_isReadonly)}function R2(e){return!!(e&&e.__v_isShallow)}function U5(e){return e?!!e.__v_raw:!1}function K1(e){const t=e&&e.__v_raw;return t?K1(t):e}function Ml(e){return!L1(e,"__v_skip")&&Object.isExtensible(e)&&gn(e,"__v_skip",!0),e}const V2=e=>V1(e)?dt(e):e,k3=e=>V1(e)?A5(e):e;function i2(e){return e?e.__v_isRef===!0:!1}function P(e){return Kn(e,!1)}function El(e){return Kn(e,!0)}function Kn(e,t){return i2(e)?e:new Dl(e,t)}class Dl{constructor(t,n){this.dep=new ct,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:K1(t),this._value=n?t:V2(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,l=this.__v_isShallow||R2(t)||be(t);t=l?t:K1(t),d2(t,n)&&(this._rawValue=t,this._value=l?t:V2(t),this.dep.trigger())}}function f(e){return i2(e)?e.value:e}const Zl={get:(e,t,n)=>t==="__v_raw"?e:f(Reflect.get(e,t,n)),set:(e,t,n,l)=>{const s=e[t];return i2(s)&&!i2(n)?(s.value=n,!0):Reflect.set(e,t,n,l)}};function Qn(e){return l3(e)?e:new Proxy(e,Zl)}class Fl{constructor(t){this.__v_isRef=!0,this._value=void 0;const n=this.dep=new ct,{get:l,set:s}=t(n.track.bind(n),n.trigger.bind(n));this._get=l,this._set=s}get value(){return this._value=this._get()}set value(t){this._set(t)}}function Bl(e){return new Fl(e)}class Sl{constructor(t,n,l){this.fn=t,this.setter=n,this._value=void 0,this.dep=new ct(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=z3-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=l}notify(){if(this.flags|=16,!(this.flags&8)&&U1!==this)return Cn(this,!0),!0}get value(){const t=this.dep.track();return Mn(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function Rl(e,t,n=!1){let l,s;return F1(e)?l=e:(l=e.get,s=e.set),new Sl(l,s,n)}const x4={},Q4=new WeakMap;let ze;function $l(e,t=!1,n=ze){if(n){let l=Q4.get(n);l||Q4.set(n,l=[]),l.push(e)}}function Nl(e,t,n=N1){const{immediate:l,deep:s,once:o,scheduler:a,augmentJob:r,call:i}=n,c=I=>s?I:R2(I)||s===!1||s===0?pe(I,1):pe(I);let u,d,A,m,p=!1,g=!1;if(i2(e)?(d=()=>e.value,p=R2(e)):l3(e)?(d=()=>c(e),p=!0):C1(e)?(g=!0,p=e.some(I=>l3(I)||R2(I)),d=()=>e.map(I=>{if(i2(I))return I.value;if(l3(I))return c(I);if(F1(I))return i?i(I,2):I()})):F1(e)?t?d=i?()=>i(e,2):e:d=()=>{if(A){ve();try{A()}finally{ye()}}const I=ze;ze=u;try{return i?i(e,3,[m]):e(m)}finally{ze=I}}:d=ee,t&&s){const I=d,w=s===!0?1/0:s;d=()=>pe(I(),w)}const x=cl(),$=()=>{u.stop(),x&&x.active&&G5(x.effects,u)};if(o&&t){const I=t;t=(...w)=>{const S=I(...w);return $(),S}}let k=g?new Array(e.length).fill(x4):x4;const K=I=>{if(!(!(u.flags&1)||!u.dirty&&!I))if(t){const w=u.run();if(I||s||p||(g?w.some((S,B)=>d2(S,k[B])):d2(w,k))){A&&A();const S=ze;ze=u;try{const B=[w,k===x4?void 0:g&&k[0]===x4?[]:k,m];k=w,i?i(t,3,B):t(...B)}finally{ze=S}}}else u.run()};return r&&r(K),u=new xn(d),u.scheduler=a?()=>a(K,!1):K,m=I=>$l(I,!1,u),A=u.onStop=()=>{const I=Q4.get(u);if(I){if(i)i(I,4);else for(const w of I)w();Q4.delete(u)}},t?l?K(!0):k=u.run():a?a(K.bind(null,!0),!0):u.run(),$.pause=u.pause.bind(u),$.resume=u.resume.bind(u),$.stop=$,$}function pe(e,t=1/0,n){if(t<=0||!V1(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,i2(e))pe(e.value,t,n);else if(C1(e))for(let l=0;l{pe(l,t,n)});else if(mn(e)){for(const l in e)pe(e[l],t,n);for(const l of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,l)&&pe(e[l],t,n)}return e}/** +* @vue/runtime-core v3.5.42 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function m4(e,t,n,l){try{return l?e(...l):e()}catch(s){ft(s,t,n)}}function $2(e,t,n,l){if(F1(e)){const s=m4(e,t,n,l);return s&&An(s)&&s.catch(o=>{ft(o,t,n)}),s}if(C1(e)){const s=[];for(let o=0;o>>1,s=C2[l],o=q3(s);o=q3(n)?C2.push(e):C2.splice(Ql(t),0,e),e.flags|=1,Gn()}}function Gn(){O4||(O4=On.then(Ln))}function Ol(e){if(!C1(e))Ze&&e.id===-1?Ze.splice(f3+1,0,e):e.flags&1||(m3.push(e),e.flags|=1);else for(let t=0;tq3(n)-q3(l));if(m3.length=0,Ze){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function Ln(e){try{for(J2=0;J2{l._d&&H4(-1);const o=G4(t),a=ge.length;let r;try{r=e(...s)}finally{for(let i=ge.length;i>a;i--)e6();G4(o),l._d&&H4(1)}return r};return l._n=!0,l._c=!0,l._d=!0,l}function te(e,t){if(f2===null)return e;const n=yt(f2),l=e.dirs||(e.dirs=[]);for(let s=0;s1)return n&&F1(t)?t.call(l&&l.proxy):t}}const Gl=Symbol.for("v-scx"),Wl=()=>W2(Gl);function Ll(e,t){return z5(e,null,{flush:"sync"})}function P1(e,t,n){return z5(e,t,n)}function z5(e,t,n=N1){const{immediate:l,deep:s,flush:o,once:a}=n,r=s2({},n),i=t&&l||!t&&o!=="post";let c;if(s4){if(o==="sync"){const m=Wl();c=m.__watcherHandles||(m.__watcherHandles=[])}else if(!i){const m=()=>{};return m.stop=ee,m.resume=ee,m.pause=ee,m}}const u=g2;r.call=(m,p,g)=>$2(m,u,p,g);let d=!1;o==="post"?r.scheduler=m=>{k2(m,u&&u.suspense)}:o!=="sync"&&(d=!0,r.scheduler=(m,p)=>{p?m():J5(m)}),r.augmentJob=m=>{t&&(m.flags|=4),d&&(m.flags|=2,u&&(m.id=u.uid,m.i=u))};const A=Nl(e,t,r);return s4&&(c?c.push(A):i&&A()),A}function Vl(e,t,n){const l=this.proxy,s=z1(e)?e.includes(".")?Tn(l,e):()=>l[e]:e.bind(l,l);let o;F1(t)?o=t:(o=t.handler,n=t);const a=g4(this),r=z5(s,o.bind(l),n);return a(),r}function Tn(e,t){const n=t.split(".");return()=>{let l=e;for(let s=0;se.__isTeleport,je=e=>e&&(e.disabled||e.disabled===""),Tl=e=>e&&(e.defer||e.defer===""),C6=e=>typeof SVGElement<"u"&&e instanceof SVGElement,_6=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,p5=(e,t)=>{const n=e&&e.to;return z1(n)?t?t(n):null:n},Pl={name:"Teleport",__isTeleport:!0,process(e,t,n,l,s,o,a,r,i,c){const{mc:u,pc:d,pbc:A,o:{insert:m,querySelector:p,createText:g,createComment:x,parentNode:$}}=c,k=je(t.props);let{dynamicChildren:K}=t;const I=(B,_,D)=>{B.shapeFlag&16&&u(B.children,_,D,s,o,a,r,i)},w=(B=t)=>{const _=je(B.props),D=B.target=p5(B.props,p),C=m5(D,B,g,m);D&&(a!=="svg"&&C6(D)?a="svg":a!=="mathml"&&_6(D)&&(a="mathml"),s&&s.isCE&&(s.ce._teleportTargets||(s.ce._teleportTargets=new Set)).add(D),_||(I(B,D,C),G3(B,!1)))},S=B=>{const _=()=>{if(De.get(B)===_){if(De.delete(B),je(B.props)){const D=$(B.el)||n;I(B,D,B.anchor),G3(B,!0)}w(B)}};De.set(B,_),k2(_,o)};if(e==null){const B=t.el=g(""),_=t.anchor=g("");if(m(B,n,l),m(_,n,l),Tl(t.props)||o&&o.pendingBranch){S(t);return}k&&(I(t,n,_),G3(t,!0)),w()}else{t.el=e.el;const B=t.anchor=e.anchor,_=De.get(e);if(_){_.flags|=8,De.delete(e),S(t);return}t.targetStart=e.targetStart;const D=t.target=e.target,C=t.targetAnchor=e.targetAnchor,N=je(e.props),G=N?n:D,j=N?B:C;if(a==="svg"||C6(D)?a="svg":(a==="mathml"||_6(D))&&(a="mathml"),K?(A(e.dynamicChildren,K,G,s,o,a,r),q5(e,t,!0)):i||d(e,t,G,j,s,o,a,r,!1),k)N?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):w4(t,n,B,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const f1=p5(t.props,p);f1&&(t.target=f1,w4(t,f1,null,c,0))}else N&&w4(t,D,C,c,1);G3(t,k)}},remove(e,t,n,{um:l,o:{remove:s}},o){const{shapeFlag:a,children:r,anchor:i,targetStart:c,targetAnchor:u,target:d,props:A}=e,m=je(A),p=o||!m,g=De.get(e);if(g&&(g.flags|=8,De.delete(e)),d&&(s(c),s(u)),o&&s(i),!g&&(m||d)&&a&16)for(let x=0;x{e.isMounted=!0}),mt(()=>{e.isUnmounting=!0}),e}const Z2=[Function,Array],Hn={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Z2,onEnter:Z2,onAfterEnter:Z2,onEnterCancelled:Z2,onBeforeLeave:Z2,onLeave:Z2,onAfterLeave:Z2,onLeaveCancelled:Z2,onBeforeAppear:Z2,onAppear:Z2,onAfterAppear:Z2,onAppearCancelled:Z2},Yn=e=>{const t=e.subTree;return t.component?Yn(t.component):t},Jl={name:"BaseTransition",props:Hn,setup(e,{slots:t}){const n=t6(),l=Ul();return()=>{const s=t.default&&zn(t.default(),!0),o=s&&s.length?Un(s):n.subTree?O():void 0;if(!o)return;const a=K1(e),{mode:r}=a;if(l.isLeaving)return Qt(o);const i=W4(o);if(!i)return Qt(o);let c=g5(i,a,l,n,d=>c=d);i.type!==m2&&e4(i,c);let u=n.subTree&&W4(n.subTree);if(u&&u.type!==m2&&!Xe(u,i)&&Yn(n).type!==m2){let d=g5(u,a,l,n);if(e4(u,d),r==="out-in"&&i.type!==m2)return l.isLeaving=!0,d.afterLeave=()=>{l.isLeaving=!1,n.job.flags&8||n.update(),delete d.afterLeave,u=void 0},Qt(o);r==="in-out"&&i.type!==m2?d.delayLeave=(A,m,p)=>{const g=Jn(l,u);g[String(u.key)]=u,A[S2]=()=>{m(),A[S2]=void 0,delete c.delayedLeave,u=void 0},c.delayedLeave=()=>{p(),delete c.delayedLeave,u=void 0}}:u=void 0}else u&&(u=void 0);return o}}};function Un(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==m2){t=n;break}}return t}const zl=Jl;function Jn(e,t){const{leavingVNodes:n}=e;let l=n.get(t.type);return l||(l=Object.create(null),n.set(t.type,l)),l}function g5(e,t,n,l,s){const{appear:o,mode:a,persisted:r=!1,onBeforeEnter:i,onEnter:c,onAfterEnter:u,onEnterCancelled:d,onBeforeLeave:A,onLeave:m,onAfterLeave:p,onLeaveCancelled:g,onBeforeAppear:x,onAppear:$,onAfterAppear:k,onAppearCancelled:K}=t,I=String(e.key),w=Jn(n,e),S=(D,C)=>{D&&$2(D,l,9,C)},B=(D,C)=>{const N=C[1];S(D,C),C1(D)?D.every(G=>G.length<=1)&&N():D.length<=1&&N()},_={mode:a,persisted:r,beforeEnter(D){let C=i;if(!n.isMounted)if(o)C=x||i;else return;D[S2]&&D[S2](!0);const N=w[I];N&&Xe(e,N)&&N.el[S2]&&N.el[S2](),S(C,[D])},enter(D){if(w[I]===e)return;let C=c,N=u,G=d;if(!n.isMounted)if(o)C=$||c,N=k||u,G=K||d;else return;let j=!1;D[R3]=u1=>{j||(j=!0,u1?S(G,[D]):S(N,[D]),_.delayedLeave&&_.delayedLeave(),D[R3]=void 0)};const f1=D[R3].bind(null,!1);C?B(C,[D,f1]):f1()},leave(D,C){const N=String(e.key);if(D[R3]&&D[R3](!0),n.isUnmounting)return C();S(A,[D]);let G=!1;D[S2]=f1=>{G||(G=!0,C(),f1?S(g,[D]):S(p,[D]),D[S2]=void 0,w[N]===e&&delete w[N])};const j=D[S2].bind(null,!1);w[N]=e,m?B(m,[D,j]):j()},clone(D){const C=g5(D,t,n,l,s);return s&&s(C),C}};return _}function Qt(e){if(At(e))return e=Ne(e),e.children=null,e}function W4(e){if(!At(e))return ht(e.type)&&e.children?Un(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&F1(n.default))return n.default()}}function e4(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;e4(ht(n.type)&&W4(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function zn(e,t=!1,n){let l=[],s=0;for(let o=0;o1)for(let o=0;oH3(g,t&&(C1(t)?t[x]:t),n,l,s));return}if(g3(l)&&!s){l.shapeFlag&512&&l.type.__asyncResolved&&l.component.subTree.component&&H3(e,t,n,l.component.subTree);return}const o=l.shapeFlag&4?yt(l.component):l.el,a=s?null:o,{i:r,r:i}=e,c=t&&t.r,u=r.refs===N1?r.refs={}:r.refs,d=r.setupState,A=K1(d),m=d===N1?hn:g=>I6(u,g)?!1:L1(A,g),p=(g,x)=>!(x&&I6(u,x));if(c!=null&&c!==i){if(M6(t),z1(c))u[c]=null,m(c)&&(d[c]=null);else if(i2(c)){const g=t;p(c,g.k)&&(c.value=null),g.k&&(u[g.k]=null)}}if(F1(i))m4(i,r,12,[a,u]);else{const g=z1(i),x=i2(i);if(g||x){const $=()=>{if(e.f){const k=g?m(i)?d[i]:u[i]:p()||!e.k?i.value:u[e.k];if(s)C1(k)&&G5(k,o);else if(C1(k))k.includes(o)||k.push(o);else if(g)u[i]=[o],m(i)&&(d[i]=u[i]);else{const K=[o];p(i,e.k)&&(i.value=K),e.k&&(u[e.k]=K)}}else g?(u[i]=a,m(i)&&(d[i]=a)):x&&(p(i,e.k)&&(i.value=a),e.k&&(u[e.k]=a))};if(a){const k=()=>{$(),L4.delete(e)};k.id=-1,L4.set(e,k),k2(k,n)}else M6(e),$()}}}function M6(e){const t=L4.get(e);t&&(t.flags|=8,L4.delete(e))}it().requestIdleCallback;it().cancelIdleCallback;const g3=e=>!!e.type.__asyncLoader,At=e=>e.type.__isKeepAlive;function jl(e,t){Xn(e,"a",t)}function Xl(e,t){Xn(e,"da",t)}function Xn(e,t,n=g2){const l=e.__wdc||(e.__wdc=()=>{let s=n;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(pt(t,l,n),n){let s=n.parent;for(;s&&s.parent;)At(s.parent.vnode)&&ql(l,t,n,s),s=s.parent}}function ql(e,t,n,l){const s=pt(t,e,l,!0);a3(()=>{G5(l[t],s)},n)}function pt(e,t,n=g2,l=!1){if(n){const s=n[e]||(n[e]=[]),o=t.__weh||(t.__weh=(...a)=>{ve();const r=g4(n),i=$2(t,n,e,a);return r(),ye(),i});return l?s.unshift(o):s.push(o),o}}const we=e=>(t,n=g2)=>{(!s4||e==="sp")&&pt(e,(...l)=>t(...l),n)},es=we("bm"),o2=we("m"),ts=we("bu"),ns=we("u"),mt=we("bum"),a3=we("um"),ls=we("sp"),ss=we("rtg"),os=we("rtc");function as(e,t=g2){pt("ec",e,t)}const qn="components";function V4(e,t){return t8(qn,e,!0,t)||e}const e8=Symbol.for("v-ndc");function h2(e){return z1(e)?t8(qn,e,!1)||e:e||e8}function t8(e,t,n=!0,l=!1){const s=f2||g2;if(s){const o=s.type;{const r=Ts(o,!1);if(r&&(r===t||r===y2(t)||r===rt(y2(t))))return o}const a=E6(s[e]||o[e],t)||E6(s.appContext[e],t);return!a&&l?o:a}}function E6(e,t){return e&&(e[t]||e[y2(t)]||e[rt(y2(t))])}function _1(e,t,n,l){let s;const o=n,a=C1(e);if(a||z1(e)){const r=a&&l3(e);let i=!1,c=!1;r&&(i=!R2(e),c=be(e),e=ut(e)),s=new Array(e.length);for(let u=0,d=e.length;ut(r,i,void 0,o));else{const r=Object.keys(e);s=new Array(r.length);for(let i=0,c=r.length;i{const o=l.fn(...s);return o&&(o.key=l.key),o}:l.fn)}return e}function O1(e,t,n,l,s,o){if(n==null&&(n={}),f2.ce||f2.parent&&g3(f2.parent)&&f2.parent.ce){const c=n,u=Object.keys(c).length>0;return t!=="default"&&(c.name=t),h(),Q(e1,null,[E("slot",c,l&&l())],u?-2:64)}let a=e[t];a&&a._c&&(a._d=!1);const r=ge.length;h();let i;try{const c=a&&n8(a(n)),u=n.key||o||c&&c.key;i=Q(e1,{key:(u&&!L2(u)?u:`_${t}`)+(!c&&l?"_fb":"")},c||(l?l():[]),c&&e._===1?64:-2)}catch(c){for(let u=ge.length;u>r;u--)e6();throw c}finally{a&&a._c&&(a._d=!0)}return i.scopeId&&(i.slotScopeIds=[i.scopeId+"-s"]),i}function n8(e){return e.some(t=>n4(t)?!(t.type===m2||t.type===e1&&!n8(t.children)):!0)?e:null}const y5=e=>e?x8(e)?yt(e):y5(e.parent):null,Y3=s2(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>y5(e.parent),$root:e=>y5(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>s8(e),$forceUpdate:e=>e.f||(e.f=()=>{J5(e.update)}),$nextTick:e=>e.n||(e.n=X3.bind(e.proxy)),$watch:e=>Vl.bind(e)}),Ot=(e,t)=>e!==N1&&!e.__isScriptSetup&&L1(e,t),rs={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:l,data:s,props:o,accessCache:a,type:r,appContext:i}=e;if(t[0]!=="$"){const A=a[t];if(A!==void 0)switch(A){case 1:return l[t];case 2:return s[t];case 4:return n[t];case 3:return o[t]}else{if(Ot(l,t))return a[t]=1,l[t];if(s!==N1&&L1(s,t))return a[t]=2,s[t];if(L1(o,t))return a[t]=3,o[t];if(n!==N1&&L1(n,t))return a[t]=4,n[t];b5&&(a[t]=0)}}const c=Y3[t];let u,d;if(c)return t==="$attrs"&&p2(e.attrs,"get",""),c(e);if((u=r.__cssModules)&&(u=u[t]))return u;if(n!==N1&&L1(n,t))return a[t]=4,n[t];if(d=i.config.globalProperties,L1(d,t))return d[t]},set({_:e},t,n){const{data:l,setupState:s,ctx:o}=e;return Ot(s,t)?(s[t]=n,!0):l!==N1&&L1(l,t)?(l[t]=n,!0):L1(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:l,appContext:s,props:o,type:a}},r){let i;return!!(n[r]||e!==N1&&r[0]!=="$"&&L1(e,r)||Ot(t,r)||L1(o,r)||L1(l,r)||L1(Y3,r)||L1(s.config.globalProperties,r)||(i=a.__cssModules)&&i[r])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:L1(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function T4(e){return C1(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}function D6(e,t){return!e||!t?e||t:C1(e)&&C1(t)?e.concat(t):s2({},T4(e),T4(t))}let b5=!0;function is(e){const t=s8(e),n=e.proxy,l=e.ctx;b5=!1,t.beforeCreate&&Z6(t.beforeCreate,e,"bc");const{data:s,computed:o,methods:a,watch:r,provide:i,inject:c,created:u,beforeMount:d,mounted:A,beforeUpdate:m,updated:p,activated:g,deactivated:x,beforeDestroy:$,beforeUnmount:k,destroyed:K,unmounted:I,render:w,renderTracked:S,renderTriggered:B,errorCaptured:_,serverPrefetch:D,expose:C,inheritAttrs:N,components:G,directives:j,filters:f1}=t;if(c&&cs(c,l,null),a)for(const M1 in a){const i1=a[M1];F1(i1)&&(l[M1]=i1.bind(n))}if(s){const M1=s.call(n,n);V1(M1)&&(e.data=dt(M1))}if(b5=!0,o)for(const M1 in o){const i1=o[M1],v1=F1(i1)?i1.bind(n,n):F1(i1.get)?i1.get.bind(n,n):ee,r1=!F1(i1)&&F1(i1.set)?i1.set.bind(n):ee,H1=z({get:v1,set:r1});Object.defineProperty(l,M1,{enumerable:!0,configurable:!0,get:()=>H1.value,set:b1=>H1.value=b1})}if(r)for(const M1 in r)l8(r[M1],l,n,M1);if(i){const M1=F1(i)?i.call(n):i;Reflect.ownKeys(M1).forEach(i1=>{R4(i1,M1[i1])})}u&&Z6(u,e,"c");function A1(M1,i1){C1(i1)?i1.forEach(v1=>M1(v1.bind(n))):i1&&M1(i1.bind(n))}if(A1(es,d),A1(o2,A),A1(ts,m),A1(ns,p),A1(jl,g),A1(Xl,x),A1(as,_),A1(os,S),A1(ss,B),A1(mt,k),A1(a3,I),A1(ls,D),C1(C))if(C.length){const M1=e.exposed||(e.exposed={});C.forEach(i1=>{Object.defineProperty(M1,i1,{get:()=>n[i1],set:v1=>n[i1]=v1,enumerable:!0})})}else e.exposed||(e.exposed={});w&&e.render===ee&&(e.render=w),N!=null&&(e.inheritAttrs=N),G&&(e.components=G),j&&(e.directives=j),D&&jn(e)}function cs(e,t,n=ee){C1(e)&&(e=k5(e));for(const l in e){const s=e[l];let o;V1(s)?"default"in s?o=W2(s.from||l,s.default,!0):o=W2(s.from||l):o=W2(s),i2(o)?Object.defineProperty(t,l,{enumerable:!0,configurable:!0,get:()=>o.value,set:a=>o.value=a}):t[l]=o}}function Z6(e,t,n){$2(C1(e)?e.map(l=>l.bind(t.proxy)):e.bind(t.proxy),t,n)}function l8(e,t,n,l){let s=l.includes(".")?Tn(n,l):()=>n[l];if(z1(e)){const o=t[e];F1(o)&&P1(s,o)}else if(F1(e))P1(s,e.bind(n));else if(V1(e))if(C1(e))e.forEach(o=>l8(o,t,n,l));else{const o=F1(e.handler)?e.handler.bind(n):t[e.handler];F1(o)&&P1(s,o,e)}}function s8(e){const t=e.type,{mixins:n,extends:l}=t,{mixins:s,optionsCache:o,config:{optionMergeStrategies:a}}=e.appContext,r=o.get(t);let i;return r?i=r:!s.length&&!n&&!l?i=t:(i={},s.length&&s.forEach(c=>P4(i,c,a,!0)),P4(i,t,a)),V1(t)&&o.set(t,i),i}function P4(e,t,n,l=!1){const{mixins:s,extends:o}=t;o&&P4(e,o,n,!0),s&&s.forEach(a=>P4(e,a,n,!0));for(const a in t)if(!(l&&a==="expose")){const r=us[a]||n&&n[a];e[a]=r?r(e[a],t[a]):t[a]}return e}const us={data:F6,props:B6,emits:B6,methods:W3,computed:W3,beforeCreate:b2,created:b2,beforeMount:b2,mounted:b2,beforeUpdate:b2,updated:b2,beforeDestroy:b2,beforeUnmount:b2,destroyed:b2,unmounted:b2,activated:b2,deactivated:b2,errorCaptured:b2,serverPrefetch:b2,components:W3,directives:W3,watch:fs,provide:F6,inject:ds};function F6(e,t){return t?e?function(){return s2(F1(e)?e.call(this,this):e,F1(t)?t.call(this,this):t)}:t:e}function ds(e,t){return W3(k5(e),k5(t))}function k5(e){if(C1(e)){const t={};for(let n=0;n{let u,d=N1,A;return Ll(()=>{const m=e[s];d2(u,m)&&(u=m,c())}),{get(){return i(),n.get?n.get(u):u},set(m){const p=n.set?n.set(m):m;if(!d2(p,u)&&!(d!==N1&&d2(m,d)))return;const g=l.vnode.props,x=!!(g&&(t in g||s in g||o in g)&&(`onUpdate:${t}`in g||`onUpdate:${s}`in g||`onUpdate:${o}`in g));x||(u=m,c()),l.emit(`update:${t}`,p),d2(m,d)&&(d2(m,p)&&!d2(p,A)||x&&d!==N1&&!d2(p,u))&&c(),d=m,A=p}}});return r[Symbol.iterator]=()=>{let i=0;return{next(){return i<2?{value:i++?a||N1:r,done:!1}:{done:!0}}}},r}const a8=(e,t)=>t==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${y2(t)}Modifiers`]||e[`${xe(t)}Modifiers`];function ms(e,t,...n){if(e.isUnmounted)return;const l=e.vnode.props||N1;let s=n;const o=t.startsWith("update:"),a=o&&a8(l,t.slice(7));a&&(a.trim&&(s=n.map(u=>z1(u)?u.trim():u)),a.number&&(s=s.map(L5)));let r,i=l[r=St(t)]||l[r=St(y2(t))];!i&&o&&(i=l[r=St(xe(t))]),i&&$2(i,e,6,s);const c=l[r+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[r])return;e.emitted[r]=!0,$2(c,e,6,s)}}const gs=new WeakMap;function r8(e,t,n=!1){const l=n?gs:t.emitsCache,s=l.get(e);if(s!==void 0)return s;const o=e.emits;let a={},r=!1;if(!F1(e)){const i=c=>{const u=r8(c,t,!0);u&&(r=!0,s2(a,u))};!n&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}return!o&&!r?(V1(e)&&l.set(e,null),null):(C1(o)?o.forEach(i=>a[i]=null):s2(a,o),V1(e)&&l.set(e,a),a)}function gt(e,t){return!e||!st(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),L1(e,t[0].toLowerCase()+t.slice(1))||L1(e,xe(t))||L1(e,t))}function S6(e){const{type:t,vnode:n,proxy:l,withProxy:s,propsOptions:[o],slots:a,attrs:r,emit:i,render:c,renderCache:u,props:d,data:A,setupState:m,ctx:p,inheritAttrs:g}=e,x=G4(e);let $,k;try{if(n.shapeFlag&4){const I=s||l,w=I;$=j2(c.call(w,I,u,d,m,A,p)),k=r}else{const I=t;$=j2(I.length>1?I(d,{attrs:r,slots:a,emit:i}):I(d,null)),k=t.props?r:vs(r)}}catch(I){ge.length=0,ft(I,e,1),$=E(m2)}let K=$;if(k&&g!==!1){const I=Object.keys(k),{shapeFlag:w}=K;I.length&&w&7&&(o&&I.some(ot)&&(k=ys(k,o)),K=Ne(K,k,!1,!0))}if(n.dirs&&(K=Ne(K,null,!1,!0),K.dirs=K.dirs?K.dirs.concat(n.dirs):n.dirs),n.transition){const I=ht(K.type)&&W4(K)||K;e4(I,n.transition)}return $=K,G4(x),$}const vs=e=>{let t;for(const n in e)(n==="class"||n==="style"||st(n))&&((t||(t={}))[n]=e[n]);return t},ys=(e,t)=>{const n={};for(const l in e)(!ot(l)||!(l.slice(9)in t))&&(n[l]=e[l]);return n};function bs(e,t,n){const{props:l,children:s,component:o}=e,{props:a,children:r,patchFlag:i}=t,c=o.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&i>=0){if(i&1024)return!0;if(i&16)return l?R6(l,a,c):!!a;if(i&8){const u=t.dynamicProps;for(let d=0;dObject.create(c8),d8=e=>Object.getPrototypeOf(e)===c8;function xs(e,t,n,l=!1){const s={},o=u8();e.propsDefaults=Object.create(null),f8(e,t,s,o);for(const a in e.propsOptions[0])a in s||(s[a]=void 0);n?e.props=l?s:Nn(s):e.type.props?e.props=s:e.props=o,e.attrs=o}function ws(e,t,n,l){const{props:s,attrs:o,vnode:{patchFlag:a}}=e,r=K1(s),[i]=e.propsOptions;let c=!1;if((l||a>0)&&!(a&16)){if(a&8){const u=e.vnode.dynamicProps;for(let d=0;d{i=!0;const[A,m]=h8(d,t,!0);s2(a,A),m&&r.push(...m)};!n&&t.mixins.length&&t.mixins.forEach(u),e.extends&&u(e.extends),e.mixins&&e.mixins.forEach(u)}if(!o&&!i)return V1(e)&&l.set(e,p3),p3;if(C1(o))for(let u=0;ue==="_"||e==="_ctx"||e==="$stable",X5=e=>C1(e)?e.map(j2):[j2(e)],_s=(e,t,n)=>{if(t._n)return t;const l=M((...s)=>X5(t(...s)),n);return l._c=!1,l},A8=(e,t,n)=>{const l=e._ctx;for(const s in e){if(j5(s))continue;const o=e[s];if(F1(o))t[s]=_s(s,o,l);else if(o!=null){const a=X5(o);t[s]=()=>a}}},p8=(e,t)=>{const n=X5(t);e.slots.default=()=>n},m8=(e,t,n)=>{for(const l in t)(n||!j5(l))&&(e[l]=t[l])},Is=(e,t,n)=>{const l=e.slots=u8();if(e.vnode.shapeFlag&32){const s=t._;s?(m8(l,t,n),n&&gn(l,"_",s,!0)):A8(t,l)}else t&&p8(e,t)},Ms=(e,t,n)=>{const{vnode:l,slots:s}=e;let o=!0,a=N1;if(l.shapeFlag&32){const r=t._;r?n&&r===1?o=!1:m8(s,t,n):(o=!t.$stable,A8(t,s)),a=t}else t&&(p8(e,t),a={default:1});if(o)for(const r in s)!j5(r)&&a[r]==null&&delete s[r]},k2=Bs;function Es(e){return Ds(e)}function Ds(e,t){const n=it();n.__VUE__=!0;const{insert:l,remove:s,patchProp:o,createElement:a,createText:r,createComment:i,setText:c,setElementText:u,parentNode:d,nextSibling:A,setScopeId:m=ee,insertStaticContent:p}=e,g=(b,Z,R,U=null,J=null,Y=null,a1=void 0,n1=null,l1=!!Z.dynamicChildren)=>{if(b===Z)return;b&&!Xe(b,Z)&&(U=L(b),b1(b,J,Y,!0),b=null),Z.patchFlag===-2&&(l1=!1,Z.dynamicChildren=null);const{type:q,ref:k1,shapeFlag:c1}=Z;switch(q){case vt:x(b,Z,R,U);break;case m2:$(b,Z,R,U);break;case $4:b==null&&k(Z,R,U,a1);break;case e1:G(b,Z,R,U,J,Y,a1,n1,l1);break;default:c1&1?w(b,Z,R,U,J,Y,a1,n1,l1):c1&6?j(b,Z,R,U,J,Y,a1,n1,l1):(c1&64||c1&128)&&q.process(b,Z,R,U,J,Y,a1,n1,l1,p1)}k1!=null&&J?H3(k1,b&&b.ref,Y,Z||b,!Z):k1==null&&b&&b.ref!=null&&H3(b.ref,null,Y,b,!0)},x=(b,Z,R,U)=>{if(b==null)l(Z.el=r(Z.children),R,U);else{const J=Z.el=b.el;Z.children!==b.children&&c(J,Z.children)}},$=(b,Z,R,U)=>{b==null?l(Z.el=i(Z.children||""),R,U):Z.el=b.el},k=(b,Z,R,U)=>{[b.el,b.anchor]=p(b.children,Z,R,U,b.el,b.anchor)},K=({el:b,anchor:Z},R,U)=>{let J;for(;b&&b!==Z;)J=A(b),l(b,R,U),b=J;l(Z,R,U)},I=({el:b,anchor:Z})=>{let R;for(;b&&b!==Z;)R=A(b),s(b),b=R;s(Z)},w=(b,Z,R,U,J,Y,a1,n1,l1)=>{if(Z.type==="svg"?a1="svg":Z.type==="math"&&(a1="mathml"),b==null)S(Z,R,U,J,Y,a1,n1,l1);else{const q=b.el&&b.el._isVueCE?b.el:null;try{q&&q._beginPatch(),D(b,Z,J,Y,a1,n1,l1)}finally{q&&q._endPatch()}}},S=(b,Z,R,U,J,Y,a1,n1)=>{let l1,q;const{props:k1,shapeFlag:c1,transition:y1,dirs:I1}=b;if(l1=b.el=a(b.type,Y,k1&&k1.is,k1),c1&8?u(l1,b.children):c1&16&&_(b.children,l1,null,U,J,Gt(b,Y),a1,n1),I1&&We(b,null,U,"created"),B(l1,b,b.scopeId,a1,U),k1){for(const H in k1)H!=="value"&&!V3(H)&&o(l1,H,null,k1[H],Y,U);"value"in k1&&o(l1,"value",null,k1.value,Y),(q=k1.onVnodeBeforeMount)&&Y2(q,U,b)}I1&&We(b,null,U,"beforeMount");const T=Zs(J,y1);T&&y1.beforeEnter(l1),l(l1,Z,R),((q=k1&&k1.onVnodeMounted)||T||I1)&&k2(()=>{try{q&&Y2(q,U,b),T&&y1.enter(l1),I1&&We(b,null,U,"mounted")}finally{}},J)},B=(b,Z,R,U,J)=>{if(R&&m(b,R),U)for(let Y=0;Y{for(let q=l1;q{const n1=Z.el=b.el;let{patchFlag:l1,dynamicChildren:q,dirs:k1}=Z;l1|=b.patchFlag&16;const c1=b.props||N1,y1=Z.props||N1;let I1;if(R&&Le(R,!1),(I1=y1.onVnodeBeforeUpdate)&&Y2(I1,R,Z,b),k1&&We(Z,b,R,"beforeUpdate"),R&&Le(R,!0),q&&(!b.dynamicChildren||b.dynamicChildren.length!==q.length)&&(l1=0,a1=!1,q=null),(c1.innerHTML&&y1.innerHTML==null||c1.textContent&&y1.textContent==null)&&u(n1,""),q?C(b.dynamicChildren,q,n1,R,U,Gt(Z,J),Y):a1||i1(b,Z,n1,null,R,U,Gt(Z,J),Y,!1),l1>0){if(l1&16)N(n1,c1,y1,R,J);else if(l1&2&&c1.class!==y1.class&&o(n1,"class",null,y1.class,J),l1&4&&o(n1,"style",c1.style,y1.style,J),l1&8){const T=Z.dynamicProps;for(let H=0;H{I1&&Y2(I1,R,Z,b),k1&&We(Z,b,R,"updated")},U)},C=(b,Z,R,U,J,Y,a1)=>{for(let n1=0;n1{if(Z!==R){if(Z!==N1)for(const Y in Z)!V3(Y)&&!(Y in R)&&o(b,Y,Z[Y],null,J,U);for(const Y in R){if(V3(Y))continue;const a1=R[Y],n1=Z[Y];a1!==n1&&Y!=="value"&&o(b,Y,n1,a1,J,U)}"value"in R&&o(b,"value",Z.value,R.value,J)}},G=(b,Z,R,U,J,Y,a1,n1,l1)=>{const q=Z.el=b?b.el:r(""),k1=Z.anchor=b?b.anchor:r("");let{patchFlag:c1,dynamicChildren:y1,slotScopeIds:I1}=Z;I1&&(n1=n1?n1.concat(I1):I1),b==null?(l(q,R,U),l(k1,R,U),_(Z.children||[],R,k1,J,Y,a1,n1,l1)):c1>0&&c1&64&&y1&&b.dynamicChildren&&b.dynamicChildren.length===y1.length?(C(b.dynamicChildren,y1,R,J,Y,a1,n1),(Z.key!=null||J&&Z===J.subTree)&&q5(b,Z,!0)):i1(b,Z,R,k1,J,Y,a1,n1,l1)},j=(b,Z,R,U,J,Y,a1,n1,l1)=>{Z.slotScopeIds=n1,b==null?Z.shapeFlag&512?J.ctx.activate(Z,R,U,a1,l1):f1(Z,R,U,J,Y,a1,l1):u1(b,Z,l1)},f1=(b,Z,R,U,J,Y,a1)=>{const n1=b.component=Os(b,U,J);if(At(b)&&(n1.ctx.renderer=p1),Gs(n1,!1,a1),n1.asyncDep){if(J&&J.registerDep(n1,A1,a1),!b.el){const l1=n1.subTree=E(m2);$(null,l1,Z,R),b.placeholder=l1.el}}else A1(n1,b,Z,R,J,Y,a1)},u1=(b,Z,R)=>{const U=Z.component=b.component;if(bs(b,Z,R))if(U.asyncDep&&!U.asyncResolved){M1(U,Z,R);return}else U.next=Z,U.update();else Z.el=b.el,U.vnode=Z},A1=(b,Z,R,U,J,Y,a1)=>{const n1=()=>{if(b.isMounted){let{next:c1,bu:y1,u:I1,parent:T,vnode:H}=b;{const _2=g8(b);if(_2){c1&&(c1.el=H.el,M1(b,c1,a1)),_2.asyncDep.then(()=>{k2(()=>{b.isUnmounted||q()},J)});return}}let Z1=c1,R1;Le(b,!1),c1?(c1.el=H.el,M1(b,c1,a1)):c1=H,y1&&S4(y1),(R1=c1.props&&c1.props.onVnodeBeforeUpdate)&&Y2(R1,T,c1,H),Le(b,!0);const t1=S6(b),e2=b.subTree;b.subTree=t1,g(e2,t1,d(e2.el),L(e2),b,J,Y),c1.el=t1.el,Z1===null&&ks(b,t1.el),I1&&k2(I1,J),(R1=c1.props&&c1.props.onVnodeUpdated)&&k2(()=>Y2(R1,T,c1,H),J)}else{let c1;const{el:y1,props:I1}=Z,{bm:T,m:H,parent:Z1,root:R1,type:t1}=b,e2=g3(Z);Le(b,!1),T&&S4(T),!e2&&(c1=I1&&I1.onVnodeBeforeMount)&&Y2(c1,Z1,Z),Le(b,!0);{R1.ce&&R1.ce._hasShadowRoot()&&R1.ce._injectChildStyle(t1,b.parent?b.parent.type:void 0);const _2=b.subTree=S6(b);g(null,_2,R,U,b,J,Y),Z.el=_2.el}if(H&&k2(H,J),!e2&&(c1=I1&&I1.onVnodeMounted)){const _2=Z;k2(()=>Y2(c1,Z1,_2),J)}(Z.shapeFlag&256||Z1&&g3(Z1.vnode)&&Z1.vnode.shapeFlag&256)&&b.a&&k2(b.a,J),b.isMounted=!0,Z=R=U=null}};b.scope.on();const l1=b.effect=new xn(n1);b.scope.off();const q=b.update=l1.run.bind(l1),k1=b.job=l1.runIfDirty.bind(l1);k1.i=b,k1.id=b.uid,l1.scheduler=()=>J5(k1),Le(b,!0),q()},M1=(b,Z,R)=>{Z.component=b;const U=b.vnode.props;b.vnode=Z,b.next=null,ws(b,Z.props,U,R),Ms(b,Z.children,R),ve(),w6(b),ye()},i1=(b,Z,R,U,J,Y,a1,n1,l1=!1)=>{const q=b&&b.children,k1=b?b.shapeFlag:0,c1=Z.children,{patchFlag:y1,shapeFlag:I1}=Z;if(y1>0){if(y1&128){r1(q,c1,R,U,J,Y,a1,n1,l1);return}else if(y1&256){v1(q,c1,R,U,J,Y,a1,n1,l1);return}}I1&8?(k1&16&&m1(q,J,Y),c1!==q&&u(R,c1)):k1&16?I1&16?r1(q,c1,R,U,J,Y,a1,n1,l1):m1(q,J,Y,!0):(k1&8&&u(R,""),I1&16&&_(c1,R,U,J,Y,a1,n1,l1))},v1=(b,Z,R,U,J,Y,a1,n1,l1)=>{b=b||p3,Z=Z||p3;const q=b.length,k1=Z.length,c1=Math.min(q,k1);let y1;for(y1=0;y1k1?m1(b,J,Y,!0,!1,c1):_(Z,R,U,J,Y,a1,n1,l1,c1)},r1=(b,Z,R,U,J,Y,a1,n1,l1)=>{let q=0;const k1=Z.length;let c1=b.length-1,y1=k1-1;for(;q<=c1&&q<=y1;){const I1=b[q],T=Z[q]=l1?he(Z[q]):j2(Z[q]);if(Xe(I1,T))g(I1,T,R,null,J,Y,a1,n1,l1);else break;q++}for(;q<=c1&&q<=y1;){const I1=b[c1],T=Z[y1]=l1?he(Z[y1]):j2(Z[y1]);if(Xe(I1,T))g(I1,T,R,null,J,Y,a1,n1,l1);else break;c1--,y1--}if(q>c1){if(q<=y1){const I1=y1+1,T=I1y1)for(;q<=c1;)b1(b[q],J,Y,!0),q++;else{const I1=q,T=q,H=new Map;for(q=T;q<=y1;q++){const A2=Z[q]=l1?he(Z[q]):j2(Z[q]);A2.key!=null&&H.set(A2.key,q)}let Z1,R1=0;const t1=y1-T+1;let e2=!1,_2=0;const _e=new Array(t1);for(q=0;q=t1){b1(A2,J,Y,!0);continue}let I2;if(A2.key!=null)I2=H.get(A2.key);else for(Z1=T;Z1<=y1;Z1++)if(_e[Z1-T]===0&&Xe(A2,Z[Z1])){I2=Z1;break}I2===void 0?b1(A2,J,Y,!0):(_e[I2-T]=q+1,I2>=_2?_2=I2:e2=!0,g(A2,Z[I2],R,null,J,Y,a1,n1,l1),R1++)}const F3=e2?Fs(_e):p3;for(Z1=F3.length-1,q=t1-1;q>=0;q--){const A2=T+q,I2=Z[A2],B3=Z[A2+1],$1=A2+1{const{el:Y,type:a1,transition:n1,children:l1,shapeFlag:q}=b;if(q&6){H1(b.component.subTree,Z,R,U);return}if(q&128){b.suspense.move(Z,R,U);return}if(q&64){a1.move(b,Z,R,p1);return}if(a1===e1){l(Y,Z,R);for(let c1=0;c1n1.enter(Y),J));else{const{leave:c1,delayLeave:y1,afterLeave:I1}=n1,T=()=>{b.ctx.isUnmounted?s(Y):l(Y,Z,R)},H=()=>{const Z1=Y._isLeaving||!!Y[S2];Y._isLeaving&&Y[S2](!0),n1.persisted&&!Z1?T():c1(Y,()=>{T(),I1&&I1()})};y1?y1(Y,T,H):H()}else l(Y,Z,R)},b1=(b,Z,R,U=!1,J=!1)=>{const{type:Y,props:a1,ref:n1,children:l1,dynamicChildren:q,shapeFlag:k1,patchFlag:c1,dirs:y1,cacheIndex:I1,memo:T}=b;if(c1===-2&&(J=!1),n1!=null&&(ve(),H3(n1,null,R,b,!0),ye()),I1!=null&&(Z.renderCache[I1]=void 0),k1&256){Z.ctx.deactivate(b);return}const H=k1&1&&y1,Z1=!g3(b);let R1;if(Z1&&(R1=a1&&a1.onVnodeBeforeUnmount)&&Y2(R1,Z,b),k1&6)s1(b.component,R,U);else{if(k1&128){b.suspense.unmount(R,U);return}H&&We(b,null,Z,"beforeUnmount"),k1&64?b.type.remove(b,Z,R,p1,U):q&&!q.hasOnce&&(Y!==e1||c1>0&&c1&64)?m1(q,Z,R,!1,!0):(Y===e1&&c1&384||!J&&k1&16)&&m1(l1,Z,R),U&&q1(b)}const t1=T!=null&&I1==null;(Z1&&(R1=a1&&a1.onVnodeUnmounted)||H||t1)&&k2(()=>{R1&&Y2(R1,Z,b),H&&We(b,null,Z,"unmounted"),t1&&(b.el=null)},R)},q1=b=>{const{type:Z,el:R,anchor:U,transition:J}=b;if(Z===e1){j1(R,U);return}if(Z===$4){I(b);return}const Y=()=>{s(R),J&&!J.persisted&&J.afterLeave&&J.afterLeave()};if(b.shapeFlag&1&&J&&!J.persisted){const{leave:a1,delayLeave:n1}=J,l1=()=>a1(R,Y);n1?n1(b.el,Y,l1):l1()}else Y()},j1=(b,Z)=>{let R;for(;b!==Z;)R=A(b),s(b),b=R;s(Z)},s1=(b,Z,R)=>{const{bum:U,scope:J,job:Y,subTree:a1,um:n1,m:l1,a:q}=b;N6(l1),N6(q),U&&S4(U),J.stop(),Y&&(Y.flags|=8,b1(a1,b,Z,R)),n1&&k2(n1,Z),k2(()=>{b.isUnmounted=!0},Z)},m1=(b,Z,R,U=!1,J=!1,Y=0)=>{for(let a1=Y;a1{if(b.shapeFlag&6)return L(b.component.subTree);if(b.shapeFlag&128)return b.suspense.next();const Z=A(b.anchor||b.el),R=Z&&Z[Pn];return R?A(R):Z};let X=!1;const W=(b,Z,R)=>{let U;b==null?Z._vnode&&(b1(Z._vnode,null,null,!0),U=Z._vnode.component):g(Z._vnode||null,b,Z,null,null,null,R),Z._vnode=b,X||(X=!0,w6(U),Wn(),X=!1)},p1={p:g,um:b1,m:H1,r:q1,mt:f1,mc:_,pc:i1,pbc:C,n:L,o:e};return{render:W,hydrate:void 0,createApp:As(W)}}function Gt({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function Le({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function Zs(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function q5(e,t,n=!1){const l=e.children,s=t.children;if(C1(l)&&C1(s))for(let o=0;o>1,e[n[r]]0&&(t[l]=n[o-1]),n[o]=l)}}for(o=n.length,a=n[o-1];o-- >0;)n[o]=a,a=t[a];return n}function g8(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:g8(t)}function N6(e){if(e)for(let t=0;te.__isSuspense;function Bs(e,t){t&&t.pendingBranch?C1(e)?t.effects.push(...e):t.effects.push(e):Ol(e)}const e1=Symbol.for("v-fgt"),vt=Symbol.for("v-txt"),m2=Symbol.for("v-cmt"),$4=Symbol.for("v-stc"),ge=[];let E2=null;function h(e=!1){ge.push(E2=e?null:[])}function e6(){ge.pop(),E2=ge[ge.length-1]||null}let t4=1;function H4(e,t=!1){t4+=e,e<0&&E2&&t&&(E2.hasOnce=!0)}function b8(e){return e.dynamicChildren=t4>0?E2||p3:null,e6(),t4>0&&E2&&E2.push(e),e}function y(e,t,n,l,s,o){return b8(v(e,t,n,l,s,o,!0))}function Q(e,t,n,l,s){return b8(E(e,t,n,l,s,!0))}function n4(e){return e?e.__v_isVNode===!0:!1}function Xe(e,t){return e.type===t.type&&e.key===t.key}const k8=({key:e})=>e??null,N4=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?z1(e)||i2(e)||F1(e)?{i:f2,r:e,k:t,f:!!n}:e:null);function v(e,t=null,n=null,l=0,s=null,o=e===e1?0:1,a=!1,r=!1){const i={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&k8(t),ref:t&&N4(t),scopeId:Vn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:l,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:f2};return r?(Y4(i,n),o&128&&e.normalize(i)):n&&(i.shapeFlag|=z1(n)?8:16),t4>0&&!a&&E2&&(i.patchFlag>0||o&6)&&i.patchFlag!==32&&E2.push(i),i}const E=Ss;function Ss(e,t=null,n=null,l=0,s=null,o=!1){if((!e||e===e8)&&(e=m2),n4(e)){const r=Ne(e,t,!0);return n&&Y4(r,n),t4>0&&!o&&E2&&(r.shapeFlag&6?E2[E2.indexOf(e)]=r:E2.push(r)),r.patchFlag=-2,r}if(Ps(e)&&(e=e.__vccOpts),t){t=Rs(t);let{class:r,style:i}=t;r&&!z1(r)&&(t.class=o1(r)),V1(i)&&(U5(i)&&!C1(i)&&(i=s2({},i)),t.style=M2(i))}const a=z1(e)?1:y8(e)?128:ht(e)?64:V1(e)?4:F1(e)?2:0;return v(e,t,n,l,s,a,o,!0)}function Rs(e){return e?U5(e)||d8(e)?s2({},e):e:null}function Ne(e,t,n=!1,l=!1){const{props:s,ref:o,patchFlag:a,children:r,transition:i}=e,c=t?Ns(s||{},t):s,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&k8(c),ref:t&&t.ref?n&&o?C1(o)?o.concat(N4(t)):[o,N4(t)]:N4(t):o,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:r,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==e1?a===-1?16:a|16:a,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:i,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Ne(e.ssContent),ssFallback:e.ssFallback&&Ne(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return i&&l&&e4(u,i.clone(u)),u}function V(e=" ",t=0){return E(vt,null,e,t)}function $s(e,t){const n=E($4,null,e);return n.staticCount=t,n}function O(e="",t=!1){return t?(h(),Q(m2,null,e)):E(m2,null,e)}function j2(e){return e==null||typeof e=="boolean"?E(m2):C1(e)?E(e1,null,e.slice()):n4(e)?he(e):E(vt,null,String(e))}function he(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Ne(e)}function Y4(e,t){let n=0;const{shapeFlag:l}=e;if(t==null)t=null;else if(C1(t))n=16;else if(typeof t=="object")if(l&65){const s=t.default;s&&(s._c&&(s._d=!1),Y4(e,s()),s._c&&(s._d=!0));return}else{n=32;const s=t._;!s&&!d8(t)?t._ctx=f2:s===3&&f2&&(f2.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(F1(t)){if(l&65){Y4(e,{default:t});return}t={default:t,_ctx:f2},n=32}else t=String(t),l&64?(n=16,t=[V(t)]):n=8;e.children=t,e.shapeFlag|=n}function Ns(...e){const t={};for(let n=0;ng2||f2;let U4,l4;{const e=it(),t=(n,l)=>{let s;return(s=e[n])||(s=e[n]=[]),s.push(l),o=>{s.length>1?s.forEach(a=>a(o)):s[0](o)}};U4=t("__VUE_INSTANCE_SETTERS__",n=>g2=n),l4=t("__VUE_SSR_SETTERS__",n=>s4=n)}const g4=e=>{const t=g2;return U4(e),e.scope.on(),()=>{e.scope.off(),U4(t)}},K6=()=>{g2&&g2.scope.off(),U4(null)};function x8(e){return e.vnode.shapeFlag&4}let s4=!1;function Gs(e,t=!1,n=!1){t&&l4(t);const{props:l,children:s}=e.vnode,o=x8(e);xs(e,l,o,t),Is(e,s,n||t);const a=o?Ws(e,t):void 0;return t&&l4(!1),a}function Ws(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,rs);const{setup:l}=n;if(l){ve();const s=e.setupContext=l.length>1?Vs(e):null,o=g4(e),a=m4(l,e,0,[e.props,s]),r=An(a);if(ye(),o(),(r||e.sp)&&!g3(e)&&jn(e),r){if(a.then(K6,K6),t)return a.then(i=>{l4(!0);try{Q6(e,i,t)}finally{l4(!1)}}).catch(i=>{ft(i,e,0)});e.asyncDep=a}else Q6(e,a)}else w8(e)}function Q6(e,t,n){F1(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:V1(t)&&(e.setupState=Qn(t)),w8(e)}function w8(e,t,n){const l=e.type;e.render||(e.render=l.render||ee);{const s=g4(e);ve();try{is(e)}finally{ye(),s()}}}const Ls={get(e,t){return p2(e,"get",""),e[t]}};function Vs(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,Ls),slots:e.slots,emit:e.emit,expose:t}}function yt(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Qn(Ml(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Y3)return Y3[n](e)},has(t,n){return n in t||n in Y3}})):e.proxy}function Ts(e,t=!0){return F1(e)?e.displayName||e.name:e.name||t&&e.__name}function Ps(e){return F1(e)&&"__vccOpts"in e}const z=(e,t)=>Rl(e,t,s4);function x3(e,t,n){try{H4(-1);const l=arguments.length;return l===2?V1(t)&&!C1(t)?n4(t)?E(e,null,[t]):E(e,t):E(e,null,t):(l>3?n=Array.prototype.slice.call(arguments,2):l===3&&n4(n)&&(n=[n]),E(e,t,n))}finally{H4(1)}}const Hs="3.5.42";/** +* @vue/runtime-dom v3.5.42 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let w5;const O6=typeof window<"u"&&window.trustedTypes;if(O6)try{w5=O6.createPolicy("vue",{createHTML:e=>e})}catch{}const C8=w5?e=>w5.createHTML(e):e=>e,Ys="http://www.w3.org/2000/svg",Us="http://www.w3.org/1998/Math/MathML",fe=typeof document<"u"?document:null,G6=fe&&fe.createElement("template"),Js={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,l)=>{const s=t==="svg"?fe.createElementNS(Ys,e):t==="mathml"?fe.createElementNS(Us,e):n?fe.createElement(e,{is:n}):fe.createElement(e);return e==="select"&&l&&l.multiple!=null&&s.setAttribute("multiple",l.multiple),s},createText:e=>fe.createTextNode(e),createComment:e=>fe.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>fe.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,l,s,o){const a=n?n.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),n),!(s===o||!(s=s.nextSibling)););else{G6.innerHTML=C8(l==="svg"?`${e}`:l==="mathml"?`${e}`:e);const r=G6.content;if(l==="svg"||l==="mathml"){const i=r.firstChild;for(;i.firstChild;)r.appendChild(i.firstChild);r.removeChild(i)}t.insertBefore(r,n)}return[a?a.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ie="transition",$3="animation",o4=Symbol("_vtc"),_8={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},zs=s2({},Hn,_8),js=e=>(e.displayName="Transition",e.props=zs,e),I8=js((e,{slots:t})=>x3(zl,Xs(e),t)),Ve=(e,t=[])=>{C1(e)?e.forEach(n=>n(...t)):e&&e(...t)},W6=e=>e?C1(e)?e.some(t=>t.length>1):e.length>1:!1;function Xs(e){const t={};for(const G in e)G in _8||(t[G]=e[G]);if(e.css===!1)return t;const{name:n="v",type:l,duration:s,enterFromClass:o=`${n}-enter-from`,enterActiveClass:a=`${n}-enter-active`,enterToClass:r=`${n}-enter-to`,appearFromClass:i=o,appearActiveClass:c=a,appearToClass:u=r,leaveFromClass:d=`${n}-leave-from`,leaveActiveClass:A=`${n}-leave-active`,leaveToClass:m=`${n}-leave-to`}=e,p=qs(s),g=p&&p[0],x=p&&p[1],{onBeforeEnter:$,onEnter:k,onEnterCancelled:K,onLeave:I,onLeaveCancelled:w,onBeforeAppear:S=$,onAppear:B=k,onAppearCancelled:_=K}=t,D=(G,j,f1,u1)=>{G._enterCancelled=u1,Te(G,j?u:r),Te(G,j?c:a),f1&&f1()},C=(G,j)=>{G._isLeaving=!1,Te(G,d),Te(G,m),Te(G,A),j&&j()},N=G=>(j,f1)=>{const u1=G?B:k,A1=()=>D(j,G,f1);Ve(u1,[j,A1]),L6(()=>{Te(j,G?i:o),ie(j,G?u:r),W6(u1)||V6(j,l,g,A1)})};return s2(t,{onBeforeEnter(G){Ve($,[G]),ie(G,o),ie(G,a)},onBeforeAppear(G){Ve(S,[G]),ie(G,i),ie(G,c)},onEnter:N(!1),onAppear:N(!0),onLeave(G,j){G._isLeaving=!0;const f1=()=>C(G,j);ie(G,d),G._enterCancelled?(ie(G,A),H6(G)):(H6(G),ie(G,A)),L6(()=>{G._isLeaving&&(Te(G,d),ie(G,m),W6(I)||V6(G,l,x,f1))}),Ve(I,[G,f1])},onEnterCancelled(G){D(G,!1,void 0,!0),Ve(K,[G])},onAppearCancelled(G){D(G,!0,void 0,!0),Ve(_,[G])},onLeaveCancelled(G){C(G),Ve(w,[G])}})}function qs(e){if(e==null)return null;if(V1(e))return[Wt(e.enter),Wt(e.leave)];{const t=Wt(e);return[t,t]}}function Wt(e){return el(e)}function ie(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[o4]||(e[o4]=new Set)).add(t)}function Te(e,t){t.split(/\s+/).forEach(l=>l&&e.classList.remove(l));const n=e[o4];n&&(n.delete(t),n.size||(e[o4]=void 0))}function L6(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let eo=0;function V6(e,t,n,l){const s=e._endId=++eo,o=()=>{s===e._endId&&l()};if(n!=null)return setTimeout(o,n);const{type:a,timeout:r,propCount:i}=to(e,t);if(!a)return l();const c=a+"end";let u=0;const d=()=>{e.removeEventListener(c,A),o()},A=m=>{m.target===e&&++u>=i&&d()};setTimeout(()=>{u(n[p]||"").split(", "),s=l(`${Ie}Delay`),o=l(`${Ie}Duration`),a=T6(s,o),r=l(`${$3}Delay`),i=l(`${$3}Duration`),c=T6(r,i);let u=null,d=0,A=0;t===Ie?a>0&&(u=Ie,d=a,A=o.length):t===$3?c>0&&(u=$3,d=c,A=i.length):(d=Math.max(a,c),u=d>0?a>c?Ie:$3:null,A=u?u===Ie?o.length:i.length:0);const m=u===Ie&&/\b(?:transform|all)(?:,|$)/.test(l(`${Ie}Property`).toString());return{type:u,timeout:d,propCount:A,hasTransform:m}}function T6(e,t){for(;e.lengthP6(n)+P6(e[l])))}function P6(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function H6(e){return(e?e.ownerDocument:document).body.offsetHeight}function no(e,t,n){const l=e[o4];l&&(t=(t?[t,...l]:[...l]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const J4=Symbol("_vod"),M8=Symbol("_vsh"),n6={name:"show",beforeMount(e,{value:t},{transition:n}){e[J4]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):N3(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:l}){!t!=!n&&(l?t?(l.beforeEnter(e),N3(e,!0),l.enter(e)):l.leave(e,()=>{N3(e,!1)}):N3(e,t))},beforeUnmount(e,{value:t}){N3(e,t)}};function N3(e,t){e.style.display=t?e[J4]:"none",e[M8]=!t}const lo=Symbol(""),so=/(?:^|;)\s*display\s*:/;function oo(e,t,n){const l=e.style,s=z1(n);let o=!1;if(n&&!s){if(t)if(z1(t))for(const a of t.split(";")){const r=a.slice(0,a.indexOf(":")).trim();n[r]==null&&L3(l,r,"")}else for(const a in t)n[a]==null&&L3(l,a,"");for(const a in n){a==="display"&&(o=!0);const r=n[a];r!=null?ro(e,a,!z1(t)&&t?t[a]:void 0,r)||L3(l,a,r):L3(l,a,"")}}else if(s){if(t!==n){const a=l[lo];a&&(n+=";"+a),l.cssText=n,o=so.test(n)}}else t&&e.removeAttribute("style");J4 in e&&(e[J4]=o?l.display:"",e[M8]&&(l.display="none"))}const C4=/\s*!important$/;function L3(e,t,n){if(C1(n))n.forEach(l=>L3(e,t,l));else if(n==null&&(n=""),t.startsWith("--"))C4.test(n)?e.setProperty(t,n.replace(C4,""),"important"):e.setProperty(t,n);else{const l=ao(e,t);C4.test(n)?e.setProperty(xe(l),n.replace(C4,""),"important"):e[l]=n}}const Y6=["Webkit","Moz","ms"],Lt={};function ao(e,t){const n=Lt[t];if(n)return n;let l=y2(t);if(l!=="filter"&&l in e)return Lt[t]=l;l=rt(l);for(let s=0;sVt||(Ao.then(()=>Vt=0),Vt=Date.now());function mo(e,t){const n=l=>{if(!l._vts)l._vts=Date.now();else if(l._vts<=n.attached)return;const s=n.value;if(C1(s)){const o=l.stopImmediatePropagation;l.stopImmediatePropagation=()=>{o.call(l),l._stopped=!0};const a=s.slice(),r=[l];for(let i=0;ie.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,go=(e,t,n,l,s,o)=>{const a=s==="svg";t==="class"?no(e,l,a):t==="style"?oo(e,n,l):st(t)?ot(t)||co(e,t,n,l,o):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):vo(e,t,l,a))?(z6(e,t,l),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&J6(e,t,l,a,o,t!=="value")):e._isVueCE&&(yo(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!z1(l)))?z6(e,y2(t),l,o,t):(t==="true-value"?e._trueValue=l:t==="false-value"&&(e._falseValue=l),J6(e,t,l,a))};function vo(e,t,n,l){if(l)return!!(t==="innerHTML"||t==="textContent"||t in e&&X6(t)&&F1(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;if(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")return!1}return X6(t)&&z1(n)?!1:t in e}function yo(e,t){const n=e._def.props;if(!n)return!1;const l=y2(t);return Array.isArray(n)?n.some(s=>y2(s)===l):Object.keys(n).some(s=>y2(s)===l)}const z4=e=>{const t=e.props["onUpdate:modelValue"]||!1;return C1(t)?n=>S4(t,n):t};function bo(e){e.target.composing=!0}function q6(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const e3=Symbol("_assign"),_4=Symbol("_initialValue");function Tt(e,t,n){return t&&(e=e.trim()),n&&(e=L5(e)),e}const C5={created(e,{modifiers:{lazy:t,trim:n,number:l}},s){e.parentNode&&(e.type==="text"?e[_4]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[_4]=e.defaultValue.replace(/\r\n?/g,` +`))),e[e3]=z4(s);const o=l||s.props&&s.props.type==="number";qe(e,t?"change":"input",a=>{a.target.composing||e[e3](Tt(e.value,n,o))}),(n||o)&&qe(e,"change",()=>{e.value=Tt(e.value,n,o)}),t||(qe(e,"compositionstart",bo),qe(e,"compositionend",q6),qe(e,"change",q6))},mounted(e,{value:t,modifiers:{trim:n,number:l}}){const s=t??"",o=e[_4];delete e[_4],o!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==o?e[e3](Tt(e.value,n,l)):e.value=s},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:l,trim:s,number:o}},a){if(e[e3]=z4(a),e.composing)return;const r=(o||e.type==="number")&&!/^0\d/.test(e.value)?L5(e.value):e.value,i=t??"";if(r===i)return;const c=e.getRootNode();(c instanceof Document||c instanceof ShadowRoot)&&c.activeElement===e&&e.type!=="range"&&(l&&t===n||s&&e.value.trim()===i)||(e.value=i)}},bt={deep:!0,created(e,t,n){e[e3]=z4(n),qe(e,"change",()=>{const l=e._modelValue,s=ko(e),o=e.checked,a=e[e3];if(C1(l)){const r=yn(l,s),i=r!==-1;if(o&&!i)a(l.concat(s));else if(!o&&i){const c=[...l];c.splice(r,1),a(c)}}else if(b3(l)){const r=new Set(l);o?r.add(s):r.delete(s),a(r)}else a(E8(e,o))})},mounted:e7,beforeUpdate(e,t,n){e[e3]=z4(n),e7(e,t,n)}};function e7(e,{value:t,oldValue:n},l){e._modelValue=t;let s;if(C1(t))s=yn(t,l.props.value)>-1;else if(b3(t))s=t.has(l.props.value);else{if(t===n)return;s=E3(t,E8(e,!0))}e.checked!==s&&(e.checked=s)}function ko(e){return"_value"in e?e._value:e.value}function E8(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const xo=["ctrl","shift","alt","meta"],wo={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>xo.some(n=>e[`${n}Key`]&&!t.includes(n))},K2=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),l=t.join(".");return n[l]||(n[l]=((s,...o)=>{for(let a=0;a{const n=e._withKeys||(e._withKeys={}),l=t.join(".");return n[l]||(n[l]=(s=>{if(!("key"in s))return;const o=xe(s.key);if(t.some(a=>a===o||Co[a]===o))return e(s)}))},_o=s2({patchProp:go},Js);let t7;function Io(){return t7||(t7=Es(_o))}const Mo=((...e)=>{const t=Io().createApp(...e),{mount:n}=t;return t.mount=l=>{const s=Do(l);if(!s)return;const o=t._component;!F1(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.nodeType===1&&(s.textContent="");const a=n(s,!1,Eo(s));return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),a},t});function Eo(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function Do(e){return z1(e)?document.querySelector(e):e}/*! + * vue-router v4.6.4 + * (c) 2025 Eduardo San Martin Morote + * @license MIT + */const h3=typeof document<"u";function D8(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Zo(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&D8(e.default)}const W1=Object.assign;function Pt(e,t){const n={};for(const l in t){const s=t[l];n[l]=T2(s)?s.map(e):e(s)}return n}const U3=()=>{},T2=Array.isArray;function n7(e,t){const n={};for(const l in e)n[l]=l in t?t[l]:e[l];return n}const Z8=/#/g,Fo=/&/g,Bo=/\//g,So=/=/g,Ro=/\?/g,F8=/\+/g,$o=/%5B/g,No=/%5D/g,B8=/%5E/g,Ko=/%60/g,S8=/%7B/g,Qo=/%7C/g,R8=/%7D/g,Oo=/%20/g;function l6(e){return e==null?"":encodeURI(""+e).replace(Qo,"|").replace($o,"[").replace(No,"]")}function Go(e){return l6(e).replace(S8,"{").replace(R8,"}").replace(B8,"^")}function _5(e){return l6(e).replace(F8,"%2B").replace(Oo,"+").replace(Z8,"%23").replace(Fo,"%26").replace(Ko,"`").replace(S8,"{").replace(R8,"}").replace(B8,"^")}function Wo(e){return _5(e).replace(So,"%3D")}function Lo(e){return l6(e).replace(Z8,"%23").replace(Ro,"%3F")}function Vo(e){return Lo(e).replace(Bo,"%2F")}function a4(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const To=/\/$/,Po=e=>e.replace(To,"");function Ht(e,t,n="/"){let l,s={},o="",a="";const r=t.indexOf("#");let i=t.indexOf("?");return i=r>=0&&i>r?-1:i,i>=0&&(l=t.slice(0,i),o=t.slice(i,r>0?r:t.length),s=e(o.slice(1))),r>=0&&(l=l||t.slice(0,r),a=t.slice(r,t.length)),l=Jo(l??t,n),{fullPath:l+o+a,path:l,query:s,hash:a4(a)}}function Ho(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function l7(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Yo(e,t,n){const l=t.matched.length-1,s=n.matched.length-1;return l>-1&&l===s&&w3(t.matched[l],n.matched[s])&&$8(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function w3(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function $8(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!Uo(e[n],t[n]))return!1;return!0}function Uo(e,t){return T2(e)?s7(e,t):T2(t)?s7(t,e):(e==null?void 0:e.valueOf())===(t==null?void 0:t.valueOf())}function s7(e,t){return T2(t)?e.length===t.length&&e.every((n,l)=>n===t[l]):e.length===1&&e[0]===t}function Jo(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),l=e.split("/"),s=l[l.length-1];(s===".."||s===".")&&l.push("");let o=n.length-1,a,r;for(a=0;a1&&o--;else break;return n.slice(0,o).join("/")+"/"+l.slice(a).join("/")}const Me={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let I5=(function(e){return e.pop="pop",e.push="push",e})({}),Yt=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function zo(e){if(!e)if(h3){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Po(e)}const jo=/^[^#]+#/;function Xo(e,t){return e.replace(jo,"#")+t}function qo(e,t){const n=document.documentElement.getBoundingClientRect(),l=e.getBoundingClientRect();return{behavior:t.behavior,left:l.left-n.left-(t.left||0),top:l.top-n.top-(t.top||0)}}const kt=()=>({left:window.scrollX,top:window.scrollY});function ea(e){let t;if("el"in e){const n=e.el,l=typeof n=="string"&&n.startsWith("#"),s=typeof n=="string"?l?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!s)return;t=qo(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function o7(e,t){return(history.state?history.state.position-t:-1)+e}const M5=new Map;function ta(e,t){M5.set(e,t)}function na(e){const t=M5.get(e);return M5.delete(e),t}function la(e){return typeof e=="string"||e&&typeof e=="object"}function N8(e){return typeof e=="string"||typeof e=="symbol"}let t2=(function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e})({});const K8=Symbol("");t2.MATCHER_NOT_FOUND+"",t2.NAVIGATION_GUARD_REDIRECT+"",t2.NAVIGATION_ABORTED+"",t2.NAVIGATION_CANCELLED+"",t2.NAVIGATION_DUPLICATED+"";function C3(e,t){return W1(new Error,{type:e,[K8]:!0},t)}function ce(e,t){return e instanceof Error&&K8 in e&&(t==null||!!(e.type&t))}const sa=["params","query","hash"];function oa(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of sa)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function aa(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let l=0;ls&&_5(s)):[l&&_5(l)]).forEach(s=>{s!==void 0&&(t+=(t.length?"&":"")+n,s!=null&&(t+="="+s))})}return t}function ra(e){const t={};for(const n in e){const l=e[n];l!==void 0&&(t[n]=T2(l)?l.map(s=>s==null?null:""+s):l==null?l:""+l)}return t}const ia=Symbol(""),r7=Symbol(""),xt=Symbol(""),s6=Symbol(""),E5=Symbol("");function K3(){let e=[];function t(l){return e.push(l),()=>{const s=e.indexOf(l);s>-1&&e.splice(s,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function Fe(e,t,n,l,s,o=a=>a()){const a=l&&(l.enterCallbacks[s]=l.enterCallbacks[s]||[]);return()=>new Promise((r,i)=>{const c=A=>{A===!1?i(C3(t2.NAVIGATION_ABORTED,{from:n,to:t})):A instanceof Error?i(A):la(A)?i(C3(t2.NAVIGATION_GUARD_REDIRECT,{from:t,to:A})):(a&&l.enterCallbacks[s]===a&&typeof A=="function"&&a.push(A),r())},u=o(()=>e.call(l&&l.instances[s],t,n,c));let d=Promise.resolve(u);e.length<3&&(d=d.then(c)),d.catch(A=>i(A))})}function Ut(e,t,n,l,s=o=>o()){const o=[];for(const a of e)for(const r in a.components){let i=a.components[r];if(!(t!=="beforeRouteEnter"&&!a.instances[r]))if(D8(i)){const c=(i.__vccOpts||i)[t];c&&o.push(Fe(c,n,l,a,r,s))}else{let c=i();o.push(()=>c.then(u=>{if(!u)throw new Error(`Couldn't resolve component "${r}" at "${a.path}"`);const d=Zo(u)?u.default:u;a.mods[r]=u,a.components[r]=d;const A=(d.__vccOpts||d)[t];return A&&Fe(A,n,l,a,r,s)()}))}}return o}function ca(e,t){const n=[],l=[],s=[],o=Math.max(t.matched.length,e.matched.length);for(let a=0;aw3(c,r))?l.push(r):n.push(r));const i=e.matched[a];i&&(t.matched.find(c=>w3(c,i))||s.push(i))}return[n,l,s]}/*! + * vue-router v4.6.4 + * (c) 2025 Eduardo San Martin Morote + * @license MIT + */let ua=()=>location.protocol+"//"+location.host;function Q8(e,t){const{pathname:n,search:l,hash:s}=t,o=e.indexOf("#");if(o>-1){let a=s.includes(e.slice(o))?e.slice(o).length:1,r=s.slice(a);return r[0]!=="/"&&(r="/"+r),l7(r,"")}return l7(n,e)+l+s}function da(e,t,n,l){let s=[],o=[],a=null;const r=({state:A})=>{const m=Q8(e,location),p=n.value,g=t.value;let x=0;if(A){if(n.value=m,t.value=A,a&&a===p){a=null;return}x=g?A.position-g.position:0}else l(m);s.forEach($=>{$(n.value,p,{delta:x,type:I5.pop,direction:x?x>0?Yt.forward:Yt.back:Yt.unknown})})};function i(){a=n.value}function c(A){s.push(A);const m=()=>{const p=s.indexOf(A);p>-1&&s.splice(p,1)};return o.push(m),m}function u(){if(document.visibilityState==="hidden"){const{history:A}=window;if(!A.state)return;A.replaceState(W1({},A.state,{scroll:kt()}),"")}}function d(){for(const A of o)A();o=[],window.removeEventListener("popstate",r),window.removeEventListener("pagehide",u),document.removeEventListener("visibilitychange",u)}return window.addEventListener("popstate",r),window.addEventListener("pagehide",u),document.addEventListener("visibilitychange",u),{pauseListeners:i,listen:c,destroy:d}}function i7(e,t,n,l=!1,s=!1){return{back:e,current:t,forward:n,replaced:l,position:window.history.length,scroll:s?kt():null}}function fa(e){const{history:t,location:n}=window,l={value:Q8(e,n)},s={value:t.state};s.value||o(l.value,{back:null,current:l.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(i,c,u){const d=e.indexOf("#"),A=d>-1?(n.host&&document.querySelector("base")?e:e.slice(d))+i:ua()+e+i;try{t[u?"replaceState":"pushState"](c,"",A),s.value=c}catch(m){console.error(m),n[u?"replace":"assign"](A)}}function a(i,c){o(i,W1({},t.state,i7(s.value.back,i,s.value.forward,!0),c,{position:s.value.position}),!0),l.value=i}function r(i,c){const u=W1({},s.value,t.state,{forward:i,scroll:kt()});o(u.current,u,!0),o(i,W1({},i7(l.value,i,null),{position:u.position+1},c),!1),l.value=i}return{location:l,state:s,push:r,replace:a}}function ha(e){e=zo(e);const t=fa(e),n=da(e,t.state,t.location,t.replace);function l(o,a=!0){a||n.pauseListeners(),history.go(o)}const s=W1({location:"",base:e,go:l,createHref:Xo.bind(null,e)},t,n);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}let t3=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var r2=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(r2||{});const Aa={type:t3.Static,value:""},pa=/[a-zA-Z0-9_]/;function ma(e){if(!e)return[[]];if(e==="/")return[[Aa]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${n})/"${c}": ${m}`)}let n=r2.Static,l=n;const s=[];let o;function a(){o&&s.push(o),o=[]}let r=0,i,c="",u="";function d(){c&&(n===r2.Static?o.push({type:t3.Static,value:c}):n===r2.Param||n===r2.ParamRegExp||n===r2.ParamRegExpEnd?(o.length>1&&(i==="*"||i==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),o.push({type:t3.Param,value:c,regexp:u,repeatable:i==="*"||i==="+",optional:i==="*"||i==="?"})):t("Invalid state to consume buffer"),c="")}function A(){c+=i}for(;rt.length?t.length===1&&t[0]===w2.Static+w2.Segment?1:-1:0}function O8(e,t){let n=0;const l=e.score,s=t.score;for(;n0&&t[t.length-1]<0}const ka={strict:!1,end:!0,sensitive:!1};function xa(e,t,n){const l=ya(ma(e.path),n),s=W1(l,{record:e,parent:t,children:[],alias:[]});return t&&!s.record.aliasOf==!t.record.aliasOf&&t.children.push(s),s}function wa(e,t){const n=[],l=new Map;t=n7(ka,t);function s(d){return l.get(d)}function o(d,A,m){const p=!m,g=f7(d);g.aliasOf=m&&m.record;const x=n7(t,d),$=[g];if("alias"in d){const I=typeof d.alias=="string"?[d.alias]:d.alias;for(const w of I)$.push(f7(W1({},g,{components:m?m.record.components:g.components,path:w,aliasOf:m?m.record:g})))}let k,K;for(const I of $){const{path:w}=I;if(A&&w[0]!=="/"){const S=A.record.path,B=S[S.length-1]==="/"?"":"/";I.path=A.record.path+(w&&B+w)}if(k=xa(I,A,x),m?m.alias.push(k):(K=K||k,K!==k&&K.alias.push(k),p&&d.name&&!h7(k)&&a(d.name)),G8(k)&&i(k),g.children){const S=g.children;for(let B=0;B{a(K)}:U3}function a(d){if(N8(d)){const A=l.get(d);A&&(l.delete(d),n.splice(n.indexOf(A),1),A.children.forEach(a),A.alias.forEach(a))}else{const A=n.indexOf(d);A>-1&&(n.splice(A,1),d.record.name&&l.delete(d.record.name),d.children.forEach(a),d.alias.forEach(a))}}function r(){return n}function i(d){const A=Ia(d,n);n.splice(A,0,d),d.record.name&&!h7(d)&&l.set(d.record.name,d)}function c(d,A){let m,p={},g,x;if("name"in d&&d.name){if(m=l.get(d.name),!m)throw C3(t2.MATCHER_NOT_FOUND,{location:d});x=m.record.name,p=W1(d7(A.params,m.keys.filter(K=>!K.optional).concat(m.parent?m.parent.keys.filter(K=>K.optional):[]).map(K=>K.name)),d.params&&d7(d.params,m.keys.map(K=>K.name))),g=m.stringify(p)}else if(d.path!=null)g=d.path,m=n.find(K=>K.re.test(g)),m&&(p=m.parse(g),x=m.record.name);else{if(m=A.name?l.get(A.name):n.find(K=>K.re.test(A.path)),!m)throw C3(t2.MATCHER_NOT_FOUND,{location:d,currentLocation:A});x=m.record.name,p=W1({},A.params,d.params),g=m.stringify(p)}const $=[];let k=m;for(;k;)$.unshift(k.record),k=k.parent;return{name:x,path:g,params:p,matched:$,meta:_a($)}}e.forEach(d=>o(d));function u(){n.length=0,l.clear()}return{addRoute:o,resolve:c,removeRoute:a,clearRoutes:u,getRoutes:r,getRecordMatcher:s}}function d7(e,t){const n={};for(const l of t)l in e&&(n[l]=e[l]);return n}function f7(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Ca(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Ca(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const l in e.components)t[l]=typeof n=="object"?n[l]:n;return t}function h7(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function _a(e){return e.reduce((t,n)=>W1(t,n.meta),{})}function Ia(e,t){let n=0,l=t.length;for(;n!==l;){const o=n+l>>1;O8(e,t[o])<0?l=o:n=o+1}const s=Ma(e);return s&&(l=t.lastIndexOf(s,l-1)),l}function Ma(e){let t=e;for(;t=t.parent;)if(G8(t)&&O8(e,t)===0)return t}function G8({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function A7(e){const t=W2(xt),n=W2(s6),l=z(()=>{const i=f(e.to);return t.resolve(i)}),s=z(()=>{const{matched:i}=l.value,{length:c}=i,u=i[c-1],d=n.matched;if(!u||!d.length)return-1;const A=d.findIndex(w3.bind(null,u));if(A>-1)return A;const m=p7(i[c-2]);return c>1&&p7(u)===m&&d[d.length-1].path!==m?d.findIndex(w3.bind(null,i[c-2])):A}),o=z(()=>s.value>-1&&Ba(n.params,l.value.params)),a=z(()=>s.value>-1&&s.value===n.matched.length-1&&$8(n.params,l.value.params));function r(i={}){if(Fa(i)){const c=t[f(e.replace)?"replace":"push"](f(e.to)).catch(U3);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>c),c}return Promise.resolve()}return{route:l,href:z(()=>l.value.href),isActive:o,isExactActive:a,navigate:r}}function Ea(e){return e.length===1?e[0]:e}const Da=G1({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:A7,setup(e,{slots:t}){const n=dt(A7(e)),{options:l}=W2(xt),s=z(()=>({[m7(e.activeClass,l.linkActiveClass,"router-link-active")]:n.isActive,[m7(e.exactActiveClass,l.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const o=t.default&&Ea(t.default(n));return e.custom?o:x3("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:s.value},o)}}}),Za=Da;function Fa(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function Ba(e,t){for(const n in t){const l=t[n],s=e[n];if(typeof l=="string"){if(l!==s)return!1}else if(!T2(s)||s.length!==l.length||l.some((o,a)=>o.valueOf()!==s[a].valueOf()))return!1}return!0}function p7(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const m7=(e,t,n)=>e??t??n,Sa=G1({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const l=W2(E5),s=z(()=>e.route||l.value),o=W2(r7,0),a=z(()=>{let c=f(o);const{matched:u}=s.value;let d;for(;(d=u[c])&&!d.components;)c++;return c}),r=z(()=>s.value.matched[a.value]);R4(r7,z(()=>a.value+1)),R4(ia,r),R4(E5,s);const i=P();return P1(()=>[i.value,r.value,e.name],([c,u,d],[A,m,p])=>{u&&(u.instances[d]=c,m&&m!==u&&c&&c===A&&(u.leaveGuards.size||(u.leaveGuards=m.leaveGuards),u.updateGuards.size||(u.updateGuards=m.updateGuards))),c&&u&&(!m||!w3(u,m)||!A)&&(u.enterCallbacks[d]||[]).forEach(g=>g(c))},{flush:"post"}),()=>{const c=s.value,u=e.name,d=r.value,A=d&&d.components[u];if(!A)return g7(n.default,{Component:A,route:c});const m=d.props[u],p=m?m===!0?c.params:typeof m=="function"?m(c):m:null,x=x3(A,W1({},p,t,{onVnodeUnmounted:$=>{$.component.isUnmounted&&(d.instances[u]=null)},ref:i}));return g7(n.default,{Component:x,route:c})||x}}});function g7(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const Ra=Sa;function $a(e){const t=wa(e.routes,e),n=e.parseQuery||aa,l=e.stringifyQuery||a7,s=e.history,o=K3(),a=K3(),r=K3(),i=El(Me);let c=Me;h3&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const u=Pt.bind(null,L=>""+L),d=Pt.bind(null,Vo),A=Pt.bind(null,a4);function m(L,X){let W,p1;return N8(L)?(W=t.getRecordMatcher(L),p1=X):p1=L,t.addRoute(p1,W)}function p(L){const X=t.getRecordMatcher(L);X&&t.removeRoute(X)}function g(){return t.getRoutes().map(L=>L.record)}function x(L){return!!t.getRecordMatcher(L)}function $(L,X){if(X=W1({},X||i.value),typeof L=="string"){const R=Ht(n,L,X.path),U=t.resolve({path:R.path},X),J=s.createHref(R.fullPath);return W1(R,U,{params:A(U.params),hash:a4(R.hash),redirectedFrom:void 0,href:J})}let W;if(L.path!=null)W=W1({},L,{path:Ht(n,L.path,X.path).path});else{const R=W1({},L.params);for(const U in R)R[U]==null&&delete R[U];W=W1({},L,{params:d(R)}),X.params=d(X.params)}const p1=t.resolve(W,X),D1=L.hash||"";p1.params=u(A(p1.params));const b=Ho(l,W1({},L,{hash:Go(D1),path:p1.path})),Z=s.createHref(b);return W1({fullPath:b,hash:D1,query:l===a7?ra(L.query):L.query||{}},p1,{redirectedFrom:void 0,href:Z})}function k(L){return typeof L=="string"?Ht(n,L,i.value.path):W1({},L)}function K(L,X){if(c!==L)return C3(t2.NAVIGATION_CANCELLED,{from:X,to:L})}function I(L){return B(L)}function w(L){return I(W1(k(L),{replace:!0}))}function S(L,X){const W=L.matched[L.matched.length-1];if(W&&W.redirect){const{redirect:p1}=W;let D1=typeof p1=="function"?p1(L,X):p1;return typeof D1=="string"&&(D1=D1.includes("?")||D1.includes("#")?D1=k(D1):{path:D1},D1.params={}),W1({query:L.query,hash:L.hash,params:D1.path!=null?{}:L.params},D1)}}function B(L,X){const W=c=$(L),p1=i.value,D1=L.state,b=L.force,Z=L.replace===!0,R=S(W,p1);if(R)return B(W1(k(R),{state:typeof R=="object"?W1({},D1,R.state):D1,force:b,replace:Z}),X||W);const U=W;U.redirectedFrom=X;let J;return!b&&Yo(l,p1,W)&&(J=C3(t2.NAVIGATION_DUPLICATED,{to:U,from:p1}),H1(p1,p1,!0,!1)),(J?Promise.resolve(J):C(U,p1)).catch(Y=>ce(Y)?ce(Y,t2.NAVIGATION_GUARD_REDIRECT)?Y:r1(Y):i1(Y,U,p1)).then(Y=>{if(Y){if(ce(Y,t2.NAVIGATION_GUARD_REDIRECT))return B(W1({replace:Z},k(Y.to),{state:typeof Y.to=="object"?W1({},D1,Y.to.state):D1,force:b}),X||U)}else Y=G(U,p1,!0,Z,D1);return N(U,p1,Y),Y})}function _(L,X){const W=K(L,X);return W?Promise.reject(W):Promise.resolve()}function D(L){const X=j1.values().next().value;return X&&typeof X.runWithContext=="function"?X.runWithContext(L):L()}function C(L,X){let W;const[p1,D1,b]=ca(L,X);W=Ut(p1.reverse(),"beforeRouteLeave",L,X);for(const R of p1)R.leaveGuards.forEach(U=>{W.push(Fe(U,L,X))});const Z=_.bind(null,L,X);return W.push(Z),m1(W).then(()=>{W=[];for(const R of o.list())W.push(Fe(R,L,X));return W.push(Z),m1(W)}).then(()=>{W=Ut(D1,"beforeRouteUpdate",L,X);for(const R of D1)R.updateGuards.forEach(U=>{W.push(Fe(U,L,X))});return W.push(Z),m1(W)}).then(()=>{W=[];for(const R of b)if(R.beforeEnter)if(T2(R.beforeEnter))for(const U of R.beforeEnter)W.push(Fe(U,L,X));else W.push(Fe(R.beforeEnter,L,X));return W.push(Z),m1(W)}).then(()=>(L.matched.forEach(R=>R.enterCallbacks={}),W=Ut(b,"beforeRouteEnter",L,X,D),W.push(Z),m1(W))).then(()=>{W=[];for(const R of a.list())W.push(Fe(R,L,X));return W.push(Z),m1(W)}).catch(R=>ce(R,t2.NAVIGATION_CANCELLED)?R:Promise.reject(R))}function N(L,X,W){r.list().forEach(p1=>D(()=>p1(L,X,W)))}function G(L,X,W,p1,D1){const b=K(L,X);if(b)return b;const Z=X===Me,R=h3?history.state:{};W&&(p1||Z?s.replace(L.fullPath,W1({scroll:Z&&R&&R.scroll},D1)):s.push(L.fullPath,D1)),i.value=L,H1(L,X,W,Z),r1()}let j;function f1(){j||(j=s.listen((L,X,W)=>{if(!s1.listening)return;const p1=$(L),D1=S(p1,s1.currentRoute.value);if(D1){B(W1(D1,{replace:!0,force:!0}),p1).catch(U3);return}c=p1;const b=i.value;h3&&ta(o7(b.fullPath,W.delta),kt()),C(p1,b).catch(Z=>ce(Z,t2.NAVIGATION_ABORTED|t2.NAVIGATION_CANCELLED)?Z:ce(Z,t2.NAVIGATION_GUARD_REDIRECT)?(B(W1(k(Z.to),{force:!0}),p1).then(R=>{ce(R,t2.NAVIGATION_ABORTED|t2.NAVIGATION_DUPLICATED)&&!W.delta&&W.type===I5.pop&&s.go(-1,!1)}).catch(U3),Promise.reject()):(W.delta&&s.go(-W.delta,!1),i1(Z,p1,b))).then(Z=>{Z=Z||G(p1,b,!1),Z&&(W.delta&&!ce(Z,t2.NAVIGATION_CANCELLED)?s.go(-W.delta,!1):W.type===I5.pop&&ce(Z,t2.NAVIGATION_ABORTED|t2.NAVIGATION_DUPLICATED)&&s.go(-1,!1)),N(p1,b,Z)}).catch(U3)}))}let u1=K3(),A1=K3(),M1;function i1(L,X,W){r1(L);const p1=A1.list();return p1.length?p1.forEach(D1=>D1(L,X,W)):console.error(L),Promise.reject(L)}function v1(){return M1&&i.value!==Me?Promise.resolve():new Promise((L,X)=>{u1.add([L,X])})}function r1(L){return M1||(M1=!L,f1(),u1.list().forEach(([X,W])=>L?W(L):X()),u1.reset()),L}function H1(L,X,W,p1){const{scrollBehavior:D1}=e;if(!h3||!D1)return Promise.resolve();const b=!W&&na(o7(L.fullPath,0))||(p1||!W)&&history.state&&history.state.scroll||null;return X3().then(()=>D1(L,X,b)).then(Z=>Z&&ea(Z)).catch(Z=>i1(Z,L,X))}const b1=L=>s.go(L);let q1;const j1=new Set,s1={currentRoute:i,listening:!0,addRoute:m,removeRoute:p,clearRoutes:t.clearRoutes,hasRoute:x,getRoutes:g,resolve:$,options:e,push:I,replace:w,go:b1,back:()=>b1(-1),forward:()=>b1(1),beforeEach:o.add,beforeResolve:a.add,afterEach:r.add,onError:A1.add,isReady:v1,install(L){L.component("RouterLink",Za),L.component("RouterView",Ra),L.config.globalProperties.$router=s1,Object.defineProperty(L.config.globalProperties,"$route",{enumerable:!0,get:()=>f(i)}),h3&&!q1&&i.value===Me&&(q1=!0,I(s.location).catch(p1=>{}));const X={};for(const p1 in Me)Object.defineProperty(X,p1,{get:()=>i.value[p1],enumerable:!0});L.provide(xt,s1),L.provide(s6,Nn(X)),L.provide(E5,i);const W=L.unmount;j1.add(L),L.unmount=function(){j1.delete(L),j1.size<1&&(c=Me,j&&j(),j=null,i.value=Me,q1=!1,M1=!1),W()}}};function m1(L){return L.reduce((X,W)=>X.then(()=>D(W)),Promise.resolve())}return s1}function Ce(){return W2(xt)}function Oe(e){return W2(s6)}function W8(e){var t,n,l="";if(typeof e=="string"||typeof e=="number")l+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(t=0;t{const n=new Array(e.length+t.length);for(let l=0;l({classGroupId:e,validator:t}),V8=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),j4="-",v7=[],Qa="arbitrary..",Oa=e=>{const t=Wa(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:l}=e;return{getClassGroupId:a=>{if(a.startsWith("[")&&a.endsWith("]"))return Ga(a);const r=a.split(j4),i=r[0]===""&&r.length>1?1:0;return T8(r,i,t)},getConflictingClassGroupIds:(a,r)=>{if(r){const i=l[a],c=n[a];return i?c?Na(c,i):i:c||v7}return n[a]||v7}}},T8=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;const s=e[t],o=n.nextPart.get(s);if(o){const c=T8(e,t+1,o);if(c)return c}const a=n.validators;if(a===null)return;const r=t===0?e.join(j4):e.slice(t).join(j4),i=a.length;for(let c=0;ce.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),n=t.indexOf(":"),l=t.slice(0,n);return l?Qa+l:void 0})(),Wa=e=>{const{theme:t,classGroups:n}=e;return La(n,t)},La=(e,t)=>{const n=V8();for(const l in e){const s=e[l];o6(s,n,l,t)}return n},o6=(e,t,n,l)=>{const s=e.length;for(let o=0;o{if(typeof e=="string"){Ta(e,t,n);return}if(typeof e=="function"){Pa(e,t,n,l);return}Ha(e,t,n,l)},Ta=(e,t,n)=>{const l=e===""?t:P8(t,e);l.classGroupId=n},Pa=(e,t,n,l)=>{if(Ya(e)){o6(e(l),t,n,l);return}t.validators===null&&(t.validators=[]),t.validators.push(Ka(n,e))},Ha=(e,t,n,l)=>{const s=Object.entries(e),o=s.length;for(let a=0;a{let n=e;const l=t.split(j4),s=l.length;for(let o=0;o"isThemeGetter"in e&&e.isThemeGetter===!0,Ua=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=Object.create(null),l=Object.create(null);const s=(o,a)=>{n[o]=a,t++,t>e&&(t=0,l=n,n=Object.create(null))};return{get(o){let a=n[o];if(a!==void 0)return a;if((a=l[o])!==void 0)return s(o,a),a},set(o,a){o in n?n[o]=a:s(o,a)}}},D5="!",y7=":",Ja=[],b7=(e,t,n,l,s)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:l,isExternal:s}),za=e=>{const{prefix:t,experimentalParseClassName:n}=e;let l=s=>{const o=[];let a=0,r=0,i=0,c;const u=s.length;for(let g=0;gi?c-i:void 0;return b7(o,m,A,p)};if(t){const s=t+y7,o=l;l=a=>a.startsWith(s)?o(a.slice(s.length)):b7(Ja,!1,a,void 0,!0)}if(n){const s=l;l=o=>n({className:o,parseClassName:s})}return l},ja=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((n,l)=>{t.set(n,1e6+l)}),n=>{const l=[];let s=[];for(let o=0;o0&&(s.sort(),l.push(...s),s=[]),l.push(a)):s.push(a)}return s.length>0&&(s.sort(),l.push(...s)),l}},Xa=e=>({cache:Ua(e.cacheSize),parseClassName:za(e),sortModifiers:ja(e),postfixLookupClassGroupIds:qa(e),...Oa(e)}),qa=e=>{const t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let l=0;l{const{parseClassName:n,getClassGroupId:l,getConflictingClassGroupIds:s,sortModifiers:o,postfixLookupClassGroupIds:a}=t,r=[],i=e.trim().split(er);let c="";for(let u=i.length-1;u>=0;u-=1){const d=i[u],{isExternal:A,modifiers:m,hasImportantModifier:p,baseClassName:g,maybePostfixModifierPosition:x}=n(d);if(A){c=d+(c.length>0?" "+c:c);continue}let $=!!x,k;if($){const B=g.substring(0,x);k=l(B);const _=k&&a[k]?l(g):void 0;_&&_!==k&&(k=_,$=!1)}else k=l(g);if(!k){if(!$){c=d+(c.length>0?" "+c:c);continue}if(k=l(g),!k){c=d+(c.length>0?" "+c:c);continue}$=!1}const K=m.length===0?"":m.length===1?m[0]:o(m).join(":"),I=p?K+D5:K,w=I+k;if(r.indexOf(w)>-1)continue;r.push(w);const S=s(k,$);for(let B=0;B0?" "+c:c)}return c},nr=(...e)=>{let t=0,n,l,s="";for(;t{if(typeof e=="string")return e;let t,n="";for(let l=0;l{let n,l,s,o;const a=i=>{const c=t.reduce((u,d)=>d(u),e());return n=Xa(c),l=n.cache.get,s=n.cache.set,o=r,r(i)},r=i=>{const c=l(i);if(c)return c;const u=tr(i,n);return s(i,u),u};return o=a,(...i)=>o(nr(...i))},sr=[],a2=e=>{const t=n=>n[e]||sr;return t.isThemeGetter=!0,t},Y8=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,U8=/^\((?:(\w[\w-]*):)?(.+)\)$/i,or=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,ar=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,rr=/\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$/,ir=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,cr=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,ur=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,Ee=e=>or.test(e),S1=e=>!!e&&!Number.isNaN(Number(e)),U2=e=>!!e&&Number.isInteger(Number(e)),Jt=e=>e.endsWith("%")&&S1(e.slice(0,-1)),ue=e=>ar.test(e),J8=()=>!0,dr=e=>rr.test(e)&&!ir.test(e),a6=()=>!1,fr=e=>cr.test(e),hr=e=>ur.test(e),Ar=e=>!d1(e)&&!h1(e),pr=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),mr=e=>Ge(e,X8,a6),d1=e=>Y8.test(e),Pe=e=>Ge(e,q8,dr),k7=e=>Ge(e,Cr,S1),gr=e=>Ge(e,t0,J8),vr=e=>Ge(e,e0,a6),x7=e=>Ge(e,z8,a6),yr=e=>Ge(e,j8,hr),I4=e=>Ge(e,n0,fr),h1=e=>U8.test(e),Q3=e=>r3(e,q8),br=e=>r3(e,e0),w7=e=>r3(e,z8),kr=e=>r3(e,X8),xr=e=>r3(e,j8),M4=e=>r3(e,n0,!0),wr=e=>r3(e,t0,!0),Ge=(e,t,n)=>{const l=Y8.exec(e);return l?l[1]?t(l[1]):n(l[2]):!1},r3=(e,t,n=!1)=>{const l=U8.exec(e);return l?l[1]?t(l[1]):n:!1},z8=e=>e==="position"||e==="percentage",j8=e=>e==="image"||e==="url",X8=e=>e==="length"||e==="size"||e==="bg-size",q8=e=>e==="length",Cr=e=>e==="number",e0=e=>e==="family-name",t0=e=>e==="number"||e==="weight",n0=e=>e==="shadow",_r=()=>{const e=a2("color"),t=a2("font"),n=a2("text"),l=a2("font-weight"),s=a2("tracking"),o=a2("leading"),a=a2("breakpoint"),r=a2("container"),i=a2("spacing"),c=a2("radius"),u=a2("shadow"),d=a2("inset-shadow"),A=a2("text-shadow"),m=a2("drop-shadow"),p=a2("blur"),g=a2("perspective"),x=a2("aspect"),$=a2("ease"),k=a2("animate"),K=()=>["auto","avoid","all","avoid-page","page","left","right","column"],I=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],w=()=>[...I(),h1,d1],S=()=>["auto","hidden","clip","visible","scroll"],B=()=>["auto","contain","none"],_=()=>[h1,d1,i],D=()=>[Ee,"full","auto",..._()],C=()=>[U2,"none","subgrid",h1,d1],N=()=>["auto",{span:["full",U2,h1,d1]},U2,h1,d1],G=()=>[U2,"auto",h1,d1],j=()=>["auto","min","max","fr",h1,d1],f1=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],u1=()=>["start","end","center","stretch","center-safe","end-safe"],A1=()=>["auto",..._()],M1=()=>[Ee,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",..._()],i1=()=>[Ee,"screen","full","dvw","lvw","svw","min","max","fit",..._()],v1=()=>[Ee,"screen","full","lh","dvh","lvh","svh","min","max","fit",..._()],r1=()=>[e,h1,d1],H1=()=>[...I(),w7,x7,{position:[h1,d1]}],b1=()=>["no-repeat",{repeat:["","x","y","space","round"]}],q1=()=>["auto","cover","contain",kr,mr,{size:[h1,d1]}],j1=()=>[Jt,Q3,Pe],s1=()=>["","none","full",c,h1,d1],m1=()=>["",S1,Q3,Pe],L=()=>["solid","dashed","dotted","double"],X=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],W=()=>[S1,Jt,w7,x7],p1=()=>["","none",p,h1,d1],D1=()=>["none",S1,h1,d1],b=()=>["none",S1,h1,d1],Z=()=>[S1,h1,d1],R=()=>[Ee,"full",..._()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[ue],breakpoint:[ue],color:[J8],container:[ue],"drop-shadow":[ue],ease:["in","out","in-out"],font:[Ar],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[ue],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[ue],shadow:[ue],spacing:["px",S1],text:[ue],"text-shadow":[ue],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",Ee,d1,h1,x]}],container:["container"],"container-type":[{"@container":["","normal","size",h1,d1]}],"container-named":[pr],columns:[{columns:[S1,d1,h1,r]}],"break-after":[{"break-after":K()}],"break-before":[{"break-before":K()}],"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:w()}],overflow:[{overflow:S()}],"overflow-x":[{"overflow-x":S()}],"overflow-y":[{"overflow-y":S()}],overscroll:[{overscroll:B()}],"overscroll-x":[{"overscroll-x":B()}],"overscroll-y":[{"overscroll-y":B()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:D()}],"inset-x":[{"inset-x":D()}],"inset-y":[{"inset-y":D()}],start:[{"inset-s":D(),start:D()}],end:[{"inset-e":D(),end:D()}],"inset-bs":[{"inset-bs":D()}],"inset-be":[{"inset-be":D()}],top:[{top:D()}],right:[{right:D()}],bottom:[{bottom:D()}],left:[{left:D()}],visibility:["visible","invisible","collapse"],z:[{z:[U2,"auto",h1,d1]}],basis:[{basis:[Ee,"full","auto",r,..._()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[S1,Ee,"auto","initial","none",d1]}],grow:[{grow:["",S1,h1,d1]}],shrink:[{shrink:["",S1,h1,d1]}],order:[{order:[U2,"first","last","none",h1,d1]}],"grid-cols":[{"grid-cols":C()}],"col-start-end":[{col:N()}],"col-start":[{"col-start":G()}],"col-end":[{"col-end":G()}],"grid-rows":[{"grid-rows":C()}],"row-start-end":[{row:N()}],"row-start":[{"row-start":G()}],"row-end":[{"row-end":G()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":j()}],"auto-rows":[{"auto-rows":j()}],gap:[{gap:_()}],"gap-x":[{"gap-x":_()}],"gap-y":[{"gap-y":_()}],"justify-content":[{justify:[...f1(),"normal"]}],"justify-items":[{"justify-items":[...u1(),"normal"]}],"justify-self":[{"justify-self":["auto",...u1()]}],"align-content":[{content:["normal",...f1()]}],"align-items":[{items:[...u1(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...u1(),{baseline:["","last"]}]}],"place-content":[{"place-content":f1()}],"place-items":[{"place-items":[...u1(),"baseline"]}],"place-self":[{"place-self":["auto",...u1()]}],p:[{p:_()}],px:[{px:_()}],py:[{py:_()}],ps:[{ps:_()}],pe:[{pe:_()}],pbs:[{pbs:_()}],pbe:[{pbe:_()}],pt:[{pt:_()}],pr:[{pr:_()}],pb:[{pb:_()}],pl:[{pl:_()}],m:[{m:A1()}],mx:[{mx:A1()}],my:[{my:A1()}],ms:[{ms:A1()}],me:[{me:A1()}],mbs:[{mbs:A1()}],mbe:[{mbe:A1()}],mt:[{mt:A1()}],mr:[{mr:A1()}],mb:[{mb:A1()}],ml:[{ml:A1()}],"space-x":[{"space-x":_()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":_()}],"space-y-reverse":["space-y-reverse"],size:[{size:M1()}],"inline-size":[{inline:["auto",...i1()]}],"min-inline-size":[{"min-inline":["auto",...i1()]}],"max-inline-size":[{"max-inline":["none",...i1()]}],"block-size":[{block:["auto",...v1()]}],"min-block-size":[{"min-block":["auto",...v1()]}],"max-block-size":[{"max-block":["none",...v1()]}],w:[{w:[r,"screen",...M1()]}],"min-w":[{"min-w":[r,"screen","none",...M1()]}],"max-w":[{"max-w":[r,"screen","none","prose",{screen:[a]},...M1()]}],h:[{h:["screen","lh",...M1()]}],"min-h":[{"min-h":["screen","lh","none",...M1()]}],"max-h":[{"max-h":["screen","lh",...M1()]}],"font-size":[{text:["base",n,Q3,Pe]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[l,wr,gr]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Jt,d1]}],"font-family":[{font:[br,vr,t]}],"font-features":[{"font-features":[d1]}],"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:[s,h1,d1]}],"line-clamp":[{"line-clamp":[S1,"none",h1,k7]}],leading:[{leading:[o,..._()]}],"list-image":[{"list-image":["none",h1,d1]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",h1,d1]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:r1()}],"text-color":[{text:r1()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...L(),"wavy"]}],"text-decoration-thickness":[{decoration:[S1,"from-font","auto",h1,Pe]}],"text-decoration-color":[{decoration:r1()}],"underline-offset":[{"underline-offset":[S1,"auto",h1,d1]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:_()}],"tab-size":[{tab:[U2,h1,d1]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",h1,d1]}],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",h1,d1]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:H1()}],"bg-repeat":[{bg:b1()}],"bg-size":[{bg:q1()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},U2,h1,d1],radial:["",h1,d1],conic:[U2,h1,d1]},xr,yr]}],"bg-color":[{bg:r1()}],"gradient-from-pos":[{from:j1()}],"gradient-via-pos":[{via:j1()}],"gradient-to-pos":[{to:j1()}],"gradient-from":[{from:r1()}],"gradient-via":[{via:r1()}],"gradient-to":[{to:r1()}],rounded:[{rounded:s1()}],"rounded-s":[{"rounded-s":s1()}],"rounded-e":[{"rounded-e":s1()}],"rounded-t":[{"rounded-t":s1()}],"rounded-r":[{"rounded-r":s1()}],"rounded-b":[{"rounded-b":s1()}],"rounded-l":[{"rounded-l":s1()}],"rounded-ss":[{"rounded-ss":s1()}],"rounded-se":[{"rounded-se":s1()}],"rounded-ee":[{"rounded-ee":s1()}],"rounded-es":[{"rounded-es":s1()}],"rounded-tl":[{"rounded-tl":s1()}],"rounded-tr":[{"rounded-tr":s1()}],"rounded-br":[{"rounded-br":s1()}],"rounded-bl":[{"rounded-bl":s1()}],"border-w":[{border:m1()}],"border-w-x":[{"border-x":m1()}],"border-w-y":[{"border-y":m1()}],"border-w-s":[{"border-s":m1()}],"border-w-e":[{"border-e":m1()}],"border-w-bs":[{"border-bs":m1()}],"border-w-be":[{"border-be":m1()}],"border-w-t":[{"border-t":m1()}],"border-w-r":[{"border-r":m1()}],"border-w-b":[{"border-b":m1()}],"border-w-l":[{"border-l":m1()}],"divide-x":[{"divide-x":m1()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":m1()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...L(),"hidden","none"]}],"divide-style":[{divide:[...L(),"hidden","none"]}],"border-color":[{border:r1()}],"border-color-x":[{"border-x":r1()}],"border-color-y":[{"border-y":r1()}],"border-color-s":[{"border-s":r1()}],"border-color-e":[{"border-e":r1()}],"border-color-bs":[{"border-bs":r1()}],"border-color-be":[{"border-be":r1()}],"border-color-t":[{"border-t":r1()}],"border-color-r":[{"border-r":r1()}],"border-color-b":[{"border-b":r1()}],"border-color-l":[{"border-l":r1()}],"divide-color":[{divide:r1()}],"outline-style":[{outline:[...L(),"none","hidden"]}],"outline-offset":[{"outline-offset":[S1,h1,d1]}],"outline-w":[{outline:["",S1,Q3,Pe]}],"outline-color":[{outline:r1()}],shadow:[{shadow:["","none",u,M4,I4]}],"shadow-color":[{shadow:r1()}],"inset-shadow":[{"inset-shadow":["none",d,M4,I4]}],"inset-shadow-color":[{"inset-shadow":r1()}],"ring-w":[{ring:m1()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:r1()}],"ring-offset-w":[{"ring-offset":[S1,Pe]}],"ring-offset-color":[{"ring-offset":r1()}],"inset-ring-w":[{"inset-ring":m1()}],"inset-ring-color":[{"inset-ring":r1()}],"text-shadow":[{"text-shadow":["none",A,M4,I4]}],"text-shadow-color":[{"text-shadow":r1()}],opacity:[{opacity:[S1,h1,d1]}],"mix-blend":[{"mix-blend":[...X(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":X()}],"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":[S1]}],"mask-image-linear-from-pos":[{"mask-linear-from":W()}],"mask-image-linear-to-pos":[{"mask-linear-to":W()}],"mask-image-linear-from-color":[{"mask-linear-from":r1()}],"mask-image-linear-to-color":[{"mask-linear-to":r1()}],"mask-image-t-from-pos":[{"mask-t-from":W()}],"mask-image-t-to-pos":[{"mask-t-to":W()}],"mask-image-t-from-color":[{"mask-t-from":r1()}],"mask-image-t-to-color":[{"mask-t-to":r1()}],"mask-image-r-from-pos":[{"mask-r-from":W()}],"mask-image-r-to-pos":[{"mask-r-to":W()}],"mask-image-r-from-color":[{"mask-r-from":r1()}],"mask-image-r-to-color":[{"mask-r-to":r1()}],"mask-image-b-from-pos":[{"mask-b-from":W()}],"mask-image-b-to-pos":[{"mask-b-to":W()}],"mask-image-b-from-color":[{"mask-b-from":r1()}],"mask-image-b-to-color":[{"mask-b-to":r1()}],"mask-image-l-from-pos":[{"mask-l-from":W()}],"mask-image-l-to-pos":[{"mask-l-to":W()}],"mask-image-l-from-color":[{"mask-l-from":r1()}],"mask-image-l-to-color":[{"mask-l-to":r1()}],"mask-image-x-from-pos":[{"mask-x-from":W()}],"mask-image-x-to-pos":[{"mask-x-to":W()}],"mask-image-x-from-color":[{"mask-x-from":r1()}],"mask-image-x-to-color":[{"mask-x-to":r1()}],"mask-image-y-from-pos":[{"mask-y-from":W()}],"mask-image-y-to-pos":[{"mask-y-to":W()}],"mask-image-y-from-color":[{"mask-y-from":r1()}],"mask-image-y-to-color":[{"mask-y-to":r1()}],"mask-image-radial":[{"mask-radial":[h1,d1]}],"mask-image-radial-from-pos":[{"mask-radial-from":W()}],"mask-image-radial-to-pos":[{"mask-radial-to":W()}],"mask-image-radial-from-color":[{"mask-radial-from":r1()}],"mask-image-radial-to-color":[{"mask-radial-to":r1()}],"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":I()}],"mask-image-conic-pos":[{"mask-conic":[S1]}],"mask-image-conic-from-pos":[{"mask-conic-from":W()}],"mask-image-conic-to-pos":[{"mask-conic-to":W()}],"mask-image-conic-from-color":[{"mask-conic-from":r1()}],"mask-image-conic-to-color":[{"mask-conic-to":r1()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:H1()}],"mask-repeat":[{mask:b1()}],"mask-size":[{mask:q1()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",h1,d1]}],filter:[{filter:["","none",h1,d1]}],blur:[{blur:p1()}],brightness:[{brightness:[S1,h1,d1]}],contrast:[{contrast:[S1,h1,d1]}],"drop-shadow":[{"drop-shadow":["","none",m,M4,I4]}],"drop-shadow-color":[{"drop-shadow":r1()}],grayscale:[{grayscale:["",S1,h1,d1]}],"hue-rotate":[{"hue-rotate":[S1,h1,d1]}],invert:[{invert:["",S1,h1,d1]}],saturate:[{saturate:[S1,h1,d1]}],sepia:[{sepia:["",S1,h1,d1]}],"backdrop-filter":[{"backdrop-filter":["","none",h1,d1]}],"backdrop-blur":[{"backdrop-blur":p1()}],"backdrop-brightness":[{"backdrop-brightness":[S1,h1,d1]}],"backdrop-contrast":[{"backdrop-contrast":[S1,h1,d1]}],"backdrop-grayscale":[{"backdrop-grayscale":["",S1,h1,d1]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[S1,h1,d1]}],"backdrop-invert":[{"backdrop-invert":["",S1,h1,d1]}],"backdrop-opacity":[{"backdrop-opacity":[S1,h1,d1]}],"backdrop-saturate":[{"backdrop-saturate":[S1,h1,d1]}],"backdrop-sepia":[{"backdrop-sepia":["",S1,h1,d1]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":_()}],"border-spacing-x":[{"border-spacing-x":_()}],"border-spacing-y":[{"border-spacing-y":_()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",h1,d1]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[S1,"initial",h1,d1]}],ease:[{ease:["linear","initial",$,h1,d1]}],delay:[{delay:[S1,h1,d1]}],animate:[{animate:["none",k,h1,d1]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[g,h1,d1]}],"perspective-origin":[{"perspective-origin":w()}],rotate:[{rotate:D1()}],"rotate-x":[{"rotate-x":D1()}],"rotate-y":[{"rotate-y":D1()}],"rotate-z":[{"rotate-z":D1()}],scale:[{scale:b()}],"scale-x":[{"scale-x":b()}],"scale-y":[{"scale-y":b()}],"scale-z":[{"scale-z":b()}],"scale-3d":["scale-3d"],skew:[{skew:Z()}],"skew-x":[{"skew-x":Z()}],"skew-y":[{"skew-y":Z()}],transform:[{transform:[h1,d1,"","none","gpu","cpu"]}],"transform-origin":[{origin:w()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:R()}],"translate-x":[{"translate-x":R()}],"translate-y":[{"translate-y":R()}],"translate-z":[{"translate-z":R()}],"translate-none":["translate-none"],zoom:[{zoom:[U2,h1,d1]}],accent:[{accent:r1()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:r1()}],"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",h1,d1]}],"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":r1()}],"scrollbar-track-color":[{"scrollbar-track":r1()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":_()}],"scroll-mx":[{"scroll-mx":_()}],"scroll-my":[{"scroll-my":_()}],"scroll-ms":[{"scroll-ms":_()}],"scroll-me":[{"scroll-me":_()}],"scroll-mbs":[{"scroll-mbs":_()}],"scroll-mbe":[{"scroll-mbe":_()}],"scroll-mt":[{"scroll-mt":_()}],"scroll-mr":[{"scroll-mr":_()}],"scroll-mb":[{"scroll-mb":_()}],"scroll-ml":[{"scroll-ml":_()}],"scroll-p":[{"scroll-p":_()}],"scroll-px":[{"scroll-px":_()}],"scroll-py":[{"scroll-py":_()}],"scroll-ps":[{"scroll-ps":_()}],"scroll-pe":[{"scroll-pe":_()}],"scroll-pbs":[{"scroll-pbs":_()}],"scroll-pbe":[{"scroll-pbe":_()}],"scroll-pt":[{"scroll-pt":_()}],"scroll-pr":[{"scroll-pr":_()}],"scroll-pb":[{"scroll-pb":_()}],"scroll-pl":[{"scroll-pl":_()}],"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",h1,d1]}],fill:[{fill:["none",...r1()]}],"stroke-w":[{stroke:[S1,Q3,Pe,k7]}],stroke:[{stroke:["none",...r1()]}],"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"]}},Ir=lr(_r);function E1(...e){return Ir(L8(e))}const Mr=["src","alt"],Er={key:1,class:"flex h-full w-full items-center justify-center bg-muted font-medium text-muted-foreground"},Dr=G1({__name:"Avatar",props:{src:{},alt:{},fallback:{default:"?"},size:{default:"md"},class:{}},setup(e){const t=e,n={sm:"h-8 w-8 text-xs",md:"h-10 w-10 text-sm",lg:"h-12 w-12 text-base"},l=P(!1),s=z(()=>!t.src||l.value);return(o,a)=>(h(),y("div",{class:o1(f(E1)("relative flex shrink-0 overflow-hidden rounded-full",n[e.size],t.class))},[s.value?(h(),y("div",Er,F(e.fallback),1)):(h(),y("img",{key:0,src:e.src??void 0,alt:e.alt,class:"aspect-square h-full w-full object-cover",onError:a[0]||(a[0]=r=>l.value=!0)},null,40,Mr))],2))}}),C7=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,_7=L8,wt=(e,t)=>n=>{var l;if((t==null?void 0:t.variants)==null)return _7(e,n==null?void 0:n.class,n==null?void 0:n.className);const{variants:s,defaultVariants:o}=t,a=Object.keys(s).map(c=>{const u=n==null?void 0:n[c],d=o==null?void 0:o[c];if(u===null)return null;const A=C7(u)||C7(d);return s[c][A]}),r=n&&Object.entries(n).reduce((c,u)=>{let[d,A]=u;return A===void 0||(c[d]=A),c},{}),i=t==null||(l=t.compoundVariants)===null||l===void 0?void 0:l.reduce((c,u)=>{let{class:d,className:A,...m}=u;return Object.entries(m).every(p=>{let[g,x]=p;return Array.isArray(x)?x.includes({...o,...r}[g]):{...o,...r}[g]===x})?[...c,d,A]:c},[]);return _7(e,a,i,n==null?void 0:n.class,n==null?void 0:n.className)},n2=G1({__name:"Badge",props:{variant:{default:"default"},class:{}},setup(e){const t=wt("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow",secondary:"border-transparent bg-secondary text-secondary-foreground",destructive:"border-transparent bg-destructive text-destructive-foreground shadow",outline:"text-foreground",success:"border-transparent bg-success/20 text-success",warning:"border-transparent bg-warning/20 text-warning",glow:"border-primary/30 bg-primary/10 text-primary"}},defaultVariants:{variant:"default"}}),n=e;return(l,s)=>(h(),y("div",{class:o1(f(E1)(f(t)({variant:e.variant}),n.class))},[O1(l.$slots,"default")],2))}}),x1=G1({__name:"Button",props:{variant:{default:"default"},size:{default:"default"},as:{default:"button"},class:{},disabled:{type:Boolean}},setup(e){const t=wt("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline",glow:"bg-primary text-primary-foreground shadow-lg hover:bg-primary/90 glow-sm hover:glow"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-11 rounded-md px-8",xl:"h-12 rounded-lg px-10 text-base",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),n=e;return(l,s)=>(h(),Q(h2(e.as),{class:o1(f(E1)(f(t)({variant:e.variant,size:e.size}),n.class)),disabled:e.disabled},{default:M(()=>[O1(l.$slots,"default")]),_:3},8,["class","disabled"]))}}),Q1=G1({__name:"Card",props:{class:{},hover:{type:Boolean,default:!1},glow:{type:Boolean,default:!1}},setup(e){const t=e;return(n,l)=>(h(),y("div",{class:o1(f(E1)("rounded-lg border bg-card text-card-foreground shadow-sm",e.hover&&"transition-all duration-200 hover:border-primary/50 hover:-translate-y-1",e.glow&&"glow-sm",t.class))},[O1(n.$slots,"default")],2))}}),Zr="modulepreload",Fr=function(e){return"/"+e},I7={},E4=function(t,n,l){let s=Promise.resolve();if(n&&n.length>0){let a=function(c){return Promise.all(c.map(u=>Promise.resolve(u).then(d=>({status:"fulfilled",value:d}),d=>({status:"rejected",reason:d}))))};document.getElementsByTagName("link");const r=document.querySelector("meta[property=csp-nonce]"),i=(r==null?void 0:r.nonce)||(r==null?void 0:r.getAttribute("nonce"));s=a(n.map(c=>{if(c=Fr(c),c in I7)return;I7[c]=!0;const u=c.endsWith(".css"),d=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${d}`))return;const A=document.createElement("link");if(A.rel=u?"stylesheet":Zr,u||(A.as="script"),A.crossOrigin="",A.href=c,i&&A.setAttribute("nonce",i),document.head.appendChild(A),u)return new Promise((m,p)=>{A.addEventListener("load",m),A.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${c}`)))})}))}function o(a){const r=new Event("vite:preloadError",{cancelable:!0});if(r.payload=a,window.dispatchEvent(r),!r.defaultPrevented)throw a}return s.then(a=>{for(const r of a||[])r.status==="rejected"&&o(r.reason);return t().catch(o)})},M7={intent:"bg-fuchsia-600/10 text-fuchsia-600 border-fuchsia-600/20",decision:"bg-blue-600/10 text-blue-600 border-blue-600/20",constraint:"bg-amber-600/10 text-amber-600 border-amber-600/20",workaround:"bg-red-600/10 text-red-600 border-red-600/20",convention:"bg-violet-600/10 text-violet-600 border-violet-600/20",pattern:"bg-emerald-600/10 text-emerald-600 border-emerald-600/20",discussion:"bg-cyan-600/10 text-cyan-600 border-cyan-600/20",review:"bg-pink-600/10 text-pink-600 border-pink-600/20",plan:"bg-lime-600/10 text-lime-600 border-lime-600/20"},Br={intent:"bg-fuchsia-600",decision:"bg-blue-600",constraint:"bg-amber-600",workaround:"bg-red-600",convention:"bg-violet-600",pattern:"bg-emerald-600",discussion:"bg-cyan-600",review:"bg-pink-600",plan:"bg-lime-600"},zt={system:"#7c3aed",part:"#d97706",contract:"#0891b2",intent:"#c026d3",decision:"#2563eb",constraint:"#d97706",workaround:"#dc2626",convention:"#7c3aed",pattern:"#059669",discussion:"#0891b2",review:"#db2777",plan:"#65a30d"},Sr=["Intent","Decision","Constraint","Workaround","Convention","Pattern","Discussion","Review","Plan"],Rr={Intent:"What this exists to do, who for, and what it deliberately is not",Decision:"A deliberate choice made about architecture, tooling, or approach",Constraint:"A hard limitation imposed by external factors or requirements",Workaround:"A temporary fix for a known issue or limitation",Convention:"An established principle or standard the team follows",Pattern:"An observed model, recurring choice, or emergent practice",Discussion:"Key points from a team discussion or debate",Review:"Insights surfaced during code review",Plan:"A future intention or roadmap item"};function l0(){const e="bg-muted text-muted-foreground border-border";function t(o){return M7[(o??"").toLowerCase()]??e}function n(o){return Br[(o??"").toLowerCase()]??"bg-muted-foreground"}function l(o){return zt[(o??"").toLowerCase()]??"#a1a1aa"}const s=Object.keys(zt).map(o=>({kind:o,label:o.charAt(0).toUpperCase()+o.slice(1),color:zt[o]}));return{tone:t,fill:n,ink:l,legend:s,kinds:Object.keys(M7),kindOptions:Sr,kindDescriptions:Rr}}const D4="#6b7280",$r=G1({__name:"CodeGraph",props:{height:{default:"460px"},repo:{default:""},mode:{default:"2d"},data:{default:null},hidden:{default:()=>[]}},emits:["select"],setup(e,{expose:t,emit:n}){const l=n,s=e,o=D=>[typeof D.source=="object"?D.source:null,typeof D.target=="object"?D.target:null],a=D=>{const[C,N]=o(D);return C&&N&&C.community===N.community&&C.community!==null?C:null},r=P(null);let i=null,c=null,u=null;const d=new Map,{ink:A}=l0(),m=["#4E79A7","#F28E2B","#E15759","#76B7B2","#59A14F","#EDC948","#B07AA1","#FF9DA7","#9C755F","#BAB0AC"];function p(D){if(typeof D.community=="number")return m[D.community%m.length];const C=(D.kind||"").toLowerCase();return C==="code"?"#E20C18":C==="file"||["class","function","method","module","route","variable","symbol"].includes(C)?D4:A(C)}function g(D){return D&&D.length>28?`${D.slice(0,27)}…`:D}const x=z(()=>!!s.data&&s.data.nodes.length>0);t({hasGraph:x});const $=z(()=>new Set(s.hidden));function k(){const D=s.data??{nodes:[],links:[]},C=D.nodes.filter(u1=>typeof u1.community!="number"||!$.value.has(u1.community)),N=new Set(C.map(u1=>u1.id)),G=Math.max(1,...C.map(u1=>u1.degree??0)),j=C.map(u1=>{const A1=d.get(u1.id);return{...u1,...A1??{},color:p(u1),radius:Math.min(3+2.4*Math.sqrt(u1.degree??0),11),named:(u1.degree??0)>=Math.max(4,G*.5)}}),f1=D.links.filter(u1=>N.has(String(u1.source))&&N.has(String(u1.target))).map(u1=>({...u1}));return{nodes:j,links:f1}}function K(D){return Math.max(.06,Math.min(.5,Math.sqrt(400/Math.max(1,D))))}function I(D,C){const N=parseInt(D.slice(1),16),G=Math.max(0,Math.min(1,C)).toFixed(3);return`rgba(${N>>16&255}, ${N>>8&255}, ${N&255}, ${G})`}const w=D=>D==="tree"?"td":D==="radial"?"radialout":D==="layered"?"zout":null;function S(){if(i)for(const D of i.graphData().nodes)Number.isFinite(D.x)&&d.set(D.id,{x:D.x,y:D.y,z:D.z??0})}function B(){var D;S(),i&&((D=i._destructor)==null||D.call(i),i=null),r.value&&(r.value.innerHTML="")}async function _(D){var f1,u1;if(!r.value)return;const C=D==="2d"?"2d":"3d";if(i&&c===C){C==="3d"&&i.dagMode(w(D)),S(),i.graphData(k());return}if(B(),c=C,C==="2d"){const A1=(await E4(async()=>{const{default:s1}=await import("./force-graph-HZtkkbK0.js");return{default:s1}},__vite__mapDeps([0,1,2]))).default,{forceCollide:M1,forceManyBody:i1,forceX:v1,forceY:r1}=await E4(async()=>{const{forceCollide:s1,forceManyBody:m1,forceX:L,forceY:X}=await import("./index-DHVCIEzJ.js");return{forceCollide:s1,forceManyBody:m1,forceX:L,forceY:X}},__vite__mapDeps([3,1])),H1=k(),b1=K(H1.links.length);let q1=null;i=new A1(r.value),i.backgroundColor("rgba(0,0,0,0)").graphData(H1).nodeRelSize(4).nodeColor(s1=>s1.color).nodeLabel(s1=>s1.path?`${s1.name} — ${s1.path}`:s1.name).nodeCanvasObject((s1,m1,L)=>{const X=!q1||q1===s1.id;if(m1.globalAlpha=X?1:.25,m1.beginPath(),m1.arc(s1.x,s1.y,s1.radius,0,2*Math.PI),m1.fillStyle=s1.color,m1.fill(),!s1.named&&q1!==s1.id){m1.globalAlpha=1;return}const W=Math.max(11/L,1.5);m1.font=`${W}px ui-sans-serif, system-ui, sans-serif`,m1.fillStyle=s1.color,m1.textAlign="left",m1.textBaseline="middle",m1.fillText(g(s1.name),s1.x+s1.radius+2/L,s1.y),m1.globalAlpha=1}).nodePointerAreaPaint((s1,m1,L)=>{L.fillStyle=m1,L.beginPath(),L.arc(s1.x,s1.y,s1.radius+2,0,2*Math.PI),L.fill()}).linkColor(s1=>{const m1=a(s1);return I(m1?m1.color:D4,b1*(m1?1.6:1))}).linkWidth(.6).linkDirectionalArrowLength(2.5).linkDirectionalArrowRelPos(1).linkLabel(s1=>s1.type??"").onNodeHover(s1=>{var m1;q1=s1?s1.id:null,r.value&&(r.value.style.cursor=s1?"pointer":""),(m1=i==null?void 0:i.refresh)==null||m1.call(i)}).width(r.value.clientWidth).height(r.value.clientHeight).onNodeClick(s1=>l("select",String(s1.id))),i.d3AlphaDecay(.02).d3VelocityDecay(.35).cooldownTicks(220),i.d3Force("charge",i1().strength(-140).distanceMax(420)),i.d3Force("center",null),i.d3Force("x",v1(0).strength(.03)),i.d3Force("y",r1(0).strength(.03)),i.d3Force("collide",M1(s1=>s1.radius+2).iterations(2)),(f1=i.d3Force("link"))==null||f1.distance(s1=>a(s1)?26:70).strength(s1=>a(s1)?.7:.08);let j1=!1;i.onEngineTick(()=>{!j1&&i.d3Force("link")&&(j1=!0,setTimeout(()=>i==null?void 0:i.zoomToFit(600,60),700))}),i.onEngineStop(()=>{S(),i==null||i.zoomToFit(600,60)});return}const N=(await E4(async()=>{const{default:A1}=await import("./3d-force-graph-B8lgMx4q.js");return{default:A1}},__vite__mapDeps([4,5,2,1]))).default,G=await E4(()=>import("./three.module-D-PgY1-x.js").then(A1=>A1.df),[]),j=k();i=new N(r.value),i.backgroundColor("rgba(0,0,0,0)").showNavInfo(!1).onDagError(()=>{}).dagLevelDistance(46).dagMode(w(D)).graphData(j).nodeLabel(A1=>A1.path?`${A1.name} — ${A1.path}`:A1.name).nodeThreeObject(A1=>{const M1=new G.SphereGeometry(A1.radius,12,10),i1=new G.MeshLambertMaterial({color:A1.color,transparent:!0,opacity:.92});return new G.Mesh(M1,i1)}).linkColor(()=>D4).linkOpacity(K(j.links.length)).linkWidth(.5).linkDirectionalArrowLength(2).linkDirectionalArrowRelPos(1).linkLabel(A1=>A1.type??"").width(r.value.clientWidth).height(r.value.clientHeight).onNodeClick(A1=>l("select",String(A1.id))),(u1=i.d3Force("charge"))==null||u1.strength(-140).distanceMax(420),i.onEngineStop(()=>{S(),i==null||i.zoomToFit(600,60)})}return o2(async()=>{await _(s.mode),u=new ResizeObserver(()=>{i&&r.value&&i.width(r.value.clientWidth).height(r.value.clientHeight)}),r.value&&u.observe(r.value)}),P1(()=>s.mode,D=>_(D)),P1(()=>s.repo,()=>{d.clear(),_(s.mode)}),P1(()=>s.data,()=>_(s.mode)),P1(()=>s.hidden,()=>_(s.mode),{deep:!0}),mt(()=>{u&&(u.disconnect(),u=null),B()}),(D,C)=>(h(),y("div",{ref_key:"el",ref:r,style:M2({height:s.height}),class:"w-full"},null,4))}});/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Nr=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const E7=e=>e==="";/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Kr=(...e)=>e.filter((t,n,l)=>!!t&&t.trim()!==""&&l.indexOf(t)===n).join(" ").trim();/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const D7=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Qr=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,l)=>l?l.toUpperCase():n.toLowerCase());/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Or=e=>{const t=Qr(e);return t.charAt(0).toUpperCase()+t.slice(1)};/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */var O3={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-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Gr=({name:e,iconNode:t,absoluteStrokeWidth:n,"absolute-stroke-width":l,strokeWidth:s,"stroke-width":o,size:a=O3.width,color:r=O3.stroke,...i},{slots:c})=>x3("svg",{...O3,...i,width:a,height:a,stroke:r,"stroke-width":E7(n)||E7(l)||n===!0||l===!0?Number(s||o||O3["stroke-width"])*24/Number(a):s||o||O3["stroke-width"],class:Kr("lucide",i.class,...e?[`lucide-${D7(Or(e))}-icon`,`lucide-${D7(e)}`]:["lucide-icon"]),...!c.default&&!Nr(i)&&{"aria-hidden":"true"}},[...t.map(u=>x3(...u)),...c.default?[c.default()]:[]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const B1=(e,t)=>(n,{slots:l,attrs:s})=>x3(Gr,{...s,...n,iconNode:t,name:e},l);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Ct=B1("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const s0=B1("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Wr=B1("arrow-up-right",[["path",{d:"M7 7h10v10",key:"1tivn9"}],["path",{d:"M7 17 17 7",key:"1vkiza"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const r6=B1("book-open-check",[["path",{d:"M12 21V7",key:"gj6g52"}],["path",{d:"m16 12 2 2 4-4",key:"mdajum"}],["path",{d:"M22 6V4a1 1 0 0 0-1-1h-5a4 4 0 0 0-4 4 4 4 0 0 0-4-4H3a1 1 0 0 0-1 1v13a1 1 0 0 0 1 1h6a3 3 0 0 1 3 3 3 3 0 0 1 3-3h6a1 1 0 0 0 1-1v-1.3",key:"8arnkb"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const K4=B1("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const _t=B1("boxes",[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Lr=B1("bug",[["path",{d:"M12 20v-9",key:"1qisl0"}],["path",{d:"M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z",key:"uouzyp"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M21 21a4 4 0 0 0-3.81-4",key:"1b0z45"}],["path",{d:"M21 5a4 4 0 0 1-3.55 3.97",key:"5cxbf6"}],["path",{d:"M22 13h-4",key:"1jl80f"}],["path",{d:"M3 21a4 4 0 0 1 3.81-4",key:"1fjd4g"}],["path",{d:"M3 5a4 4 0 0 0 3.55 3.97",key:"1d7oge"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M9 7.13V6a3 3 0 1 1 6 0v1.13",key:"1vgav8"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Ke=B1("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const It=B1("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Vr=B1("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const o0=B1("chevron-right",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Z5=B1("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const i6=B1("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const X4=B1("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Tr=B1("crosshair",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"22",x2:"18",y1:"12",y2:"12",key:"l9bcsi"}],["line",{x1:"6",x2:"2",y1:"12",y2:"12",key:"13hhkx"}],["line",{x1:"12",x2:"12",y1:"6",y2:"2",key:"10w3f3"}],["line",{x1:"12",x2:"12",y1:"22",y2:"18",key:"15g9kq"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Mt=B1("file-code",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Z7=B1("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const c6=B1("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Pr=B1("git-commit-horizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Hr=B1("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const a0=B1("layout-dashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const q4=B1("lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const r0=B1("link-2",[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const v2=B1("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Yr=B1("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Ur=B1("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const i0=B1("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Et=B1("network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const F5=B1("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const le=B1("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const u6=B1("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const Jr=B1("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const _3=B1("scroll-text",[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const ke=B1("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const B5=B1("settings",[["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",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const s3=B1("shield-check",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const S5=B1("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const c0=B1("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const v4=B1("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const et=B1("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const u0=B1("wand-sparkles",[["path",{d:"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72",key:"ul74o6"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"M5 6v4",key:"ilb8ba"}],["path",{d:"M19 14v4",key:"blhpug"}],["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M7 8H3",key:"zfb6yr"}],["path",{d:"M21 16h-4",key:"1cnmox"}],["path",{d:"M11 3H9",key:"1obp7u"}]]);/** + * @license lucide-vue-next v0.563.0 - ISC + * + * This source code is licensed under the ISC license. + * See the LICENSE file in the root directory of this source tree. + */const i3=B1("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),zr=["aria-label","aria-expanded"],jr={key:0,class:"absolute right-1 top-1 h-1.5 w-1.5 rounded-full bg-primary"},Xr={key:1,class:"rounded-lg border bg-card shadow-lg"},qr={class:"flex items-center gap-2 px-3"},ei=["value","aria-expanded","aria-activedescendant","aria-label","placeholder"],ti={class:"absolute left-0 right-0 top-full mt-1 overflow-hidden rounded-lg border bg-card shadow-lg"},ni={key:0,class:"border-b px-3 py-2 text-xs text-muted-foreground"},li=["aria-label"],si={key:0,role:"presentation",class:"px-3 pb-1 pt-2 text-[11px] font-medium uppercase tracking-wide text-muted-foreground"},oi=["id","aria-selected"],ai=["onMouseenter","onClick"],ri={class:"min-w-0 flex-1"},ii={class:"block truncate"},ci={key:0,class:"block truncate text-xs text-muted-foreground"},ui={key:1,role:"status",class:"px-3 py-5 text-sm text-muted-foreground"},di=G1({__name:"GlobalSearch",props:{modelValue:{default:""},groups:{default:()=>[]},open:{type:Boolean,default:!1},context:{},placeholder:{default:"Search"},loading:{type:Boolean,default:!1},emptyLabel:{default:"No matches. Try another name or phrase."},label:{default:"Search"},class:{}},emits:["update:modelValue","update:open","select"],setup(e,{emit:t}){const n=e,l=t,s=P(0),o=P(),a=P(),r=P(),i=z(()=>n.groups.flatMap(p=>p.items.map(g=>({item:g,group:p.id}))));P1(()=>n.modelValue,()=>{s.value=0}),P1(i,()=>{s.value=Math.min(s.value,Math.max(0,i.value.length-1))}),P1(()=>n.open,async p=>{var g,x;p?(await X3(),(g=a.value)==null||g.focus()):(await X3(),(x=r.value)==null||x.focus())});function c(p){i.value.length&&(s.value=(s.value+p+i.value.length)%i.value.length)}function u(p=s.value){const g=i.value[p];g&&(l("select",g.item,g.group),l("update:open",!1))}function d(p,g){return i.value.findIndex(x=>x.group===p.id&&x.item.id===g.id)}function A(p){(p.metaKey||p.ctrlKey)&&p.key.toLowerCase()==="k"&&(p.preventDefault(),l("update:open",!n.open))}function m(p){n.open&&o.value&&!p.composedPath().includes(o.value)&&l("update:open",!1)}return o2(()=>{document.addEventListener("keydown",A),document.addEventListener("click",m,!0)}),a3(()=>{document.removeEventListener("keydown",A),document.removeEventListener("click",m,!0)}),(p,g)=>(h(),y("div",{ref_key:"root",ref:o,class:o1(f(E1)("z-50",e.open?"absolute left-1/2 top-1/2 w-[calc(100%-1rem)] max-w-xl -translate-x-1/2 -translate-y-1/2":"shrink-0",n.class))},[e.open?(h(),y("div",Xr,[v("div",qr,[e.loading?(h(),Q(f(v2),{key:0,class:"h-4 w-4 shrink-0 animate-spin text-muted-foreground"})):(h(),Q(f(ke),{key:1,class:"h-4 w-4 shrink-0 text-muted-foreground"})),v("input",{ref_key:"field",ref:a,value:e.modelValue,role:"combobox","aria-autocomplete":"list","aria-controls":"global-search-results","aria-expanded":e.open,"aria-activedescendant":i.value.length?`global-search-${s.value}`:void 0,"aria-label":e.label,placeholder:e.placeholder,class:"h-10 min-w-0 flex-1 bg-transparent text-sm outline-none",onInput:g[1]||(g[1]=x=>p.$emit("update:modelValue",x.target.value)),onKeydown:[g[2]||(g[2]=A3(K2(x=>c(1),["prevent"]),["down"])),g[3]||(g[3]=A3(K2(x=>c(-1),["prevent"]),["up"])),g[4]||(g[4]=A3(K2(x=>u(),["prevent"]),["enter"])),g[5]||(g[5]=A3(K2(x=>p.$emit("update:open",!1),["stop","prevent"]),["esc"]))]},null,40,ei),v("button",{type:"button","aria-label":"Close search",class:"rounded p-1 text-muted-foreground hover:bg-muted",onClick:g[6]||(g[6]=x=>p.$emit("update:open",!1))},[E(f(i3),{class:"h-4 w-4"})])]),v("div",ti,[e.context?(h(),y("p",ni,F(e.context),1)):O("",!0),v("ul",{id:"global-search-results",role:"listbox","aria-label":e.label,class:"max-h-[60vh] overflow-y-auto py-1"},[(h(!0),y(e1,null,_1(e.groups,x=>(h(),y(e1,{key:x.id},[x.items.length?(h(),y("li",si,F(x.label),1)):O("",!0),(h(!0),y(e1,null,_1(x.items,$=>(h(),y("li",{id:`global-search-${d(x,$)}`,key:`${x.id}:${$.id}`,role:"option","aria-selected":d(x,$)===s.value},[v("button",{type:"button",tabindex:"-1",class:o1(["flex w-full items-center gap-3 px-3 py-2 text-left text-sm",d(x,$)===s.value?"bg-muted":"hover:bg-muted/50"]),onMouseenter:k=>s.value=d(x,$),onMousedown:g[7]||(g[7]=K2(()=>{},["prevent"])),onClick:k=>u(d(x,$))},[v("span",ri,[v("span",ii,F($.label),1),$.detail?(h(),y("span",ci,F($.detail),1)):O("",!0)]),E(f(Wr),{class:"h-3 w-3 shrink-0 text-muted-foreground"})],42,ai)],8,oi))),128))],64))),128))],8,li),!i.value.length&&!e.loading?(h(),y("p",ui,F(e.emptyLabel),1)):O("",!0)])])):(h(),y("button",{key:0,ref_key:"trigger",ref:r,type:"button",class:"relative rounded-full p-2 text-muted-foreground hover:bg-muted hover:text-foreground focus-visible:ring-2 focus-visible:ring-primary/40","aria-label":e.label,title:"Search (Ctrl / ⌘ K)","aria-haspopup":"listbox","aria-expanded":e.open,onClick:g[0]||(g[0]=K2(x=>p.$emit("update:open",!0),["stop"]))},[E(f(ke),{class:"h-4 w-4"}),e.modelValue?(h(),y("span",jr)):O("",!0)],8,zr))],2))}}),fi=["for"],hi={key:1,class:"mt-1 text-xs text-destructive"},Ai={key:2,class:"mt-1 text-xs text-muted-foreground"},Q2=G1({__name:"Field",props:{label:{},hint:{},error:{},for:{},class:{}},setup(e){const t=e;return(n,l)=>(h(),y("div",{class:o1(f(E1)("w-full",t.class))},[e.label?(h(),y("label",{key:0,for:t.for,class:"mb-1.5 flex items-center gap-2 text-xs font-medium uppercase tracking-wider text-muted-foreground"},[V(F(e.label)+" ",1),O1(n.$slots,"label")],8,fi)):O("",!0),O1(n.$slots,"default"),e.error?(h(),y("p",hi,F(e.error),1)):e.hint?(h(),y("p",Ai,F(e.hint),1)):O("",!0)],2))}}),d6=wt(["w-full rounded-md border bg-muted/50 text-foreground outline-none transition-colors","placeholder:text-muted-foreground focus:border-primary/50","disabled:cursor-not-allowed disabled:opacity-50"].join(" "),{variants:{size:{sm:"h-8 px-3 text-xs",default:"h-9 px-3 text-sm",lg:"h-11 px-4 text-base"},invalid:{true:"border-destructive/60 focus:border-destructive",false:""}},defaultVariants:{size:"default",invalid:!1}}),pi=wt(["w-full resize-y rounded-md border bg-muted/50 text-foreground outline-none transition-colors","placeholder:text-muted-foreground focus:border-primary/50","disabled:cursor-not-allowed disabled:opacity-50"].join(" "),{variants:{size:{sm:"px-3 py-1.5 text-xs",default:"px-3 py-2 text-sm",lg:"px-4 py-2.5 text-base"},invalid:{true:"border-destructive/60 focus:border-destructive",false:""}},defaultVariants:{size:"default",invalid:!1}}),mi=["value"],P2=G1({__name:"Input",props:{modelValue:{},size:{default:"default"},class:{},invalid:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(e){const t=e;return(n,l)=>(h(),y("input",{value:e.modelValue,class:o1(f(E1)(f(d6)({size:e.size,invalid:e.invalid}),t.class)),onInput:l[0]||(l[0]=s=>n.$emit("update:modelValue",s.target.value))},null,42,mi))}}),gi={class:"flex items-start gap-4"},vi={class:"min-w-0 flex-1"},yi={class:"mb-1 flex flex-wrap items-center gap-2"},bi={class:"break-all font-semibold"},ki={key:0,class:"break-all font-mono text-sm text-muted-foreground"},xi={key:1,class:"mt-2 flex flex-wrap items-center gap-x-4 gap-y-1 text-sm text-muted-foreground"},wi={key:1,class:"flex shrink-0 items-center gap-1"},tt=G1({__name:"ItemCard",props:{title:{},subtitle:{},pillar:{default:"graph"},hover:{type:Boolean,default:!1},class:{}},setup(e){const t=e,n={memory:"bg-pillar-memory/15 text-pillar-memory",graph:"bg-pillar-graph/15 text-pillar-graph",review:"bg-pillar-review/15 text-pillar-review",tokens:"bg-pillar-tokens/15 text-pillar-tokens",brand:"bg-primary/15 text-primary"};return(l,s)=>(h(),Q(Q1,{hover:e.hover,class:o1(f(E1)("p-5",t.class))},{default:M(()=>[v("div",gi,[l.$slots.icon?(h(),y("div",{key:0,class:o1(f(E1)("flex h-11 w-11 shrink-0 items-center justify-center rounded-lg",n[e.pillar]))},[O1(l.$slots,"icon")],2)):O("",!0),v("div",vi,[v("div",yi,[v("h3",bi,F(e.title),1),O1(l.$slots,"badges")]),e.subtitle?(h(),y("p",ki,F(e.subtitle),1)):O("",!0),O1(l.$slots,"default"),l.$slots.meta?(h(),y("div",xi,[O1(l.$slots,"meta")])):O("",!0)]),l.$slots.actions?(h(),y("div",wi,[O1(l.$slots,"actions")])):O("",!0)])]),_:3},8,["hover","class"]))}}),Ci={class:"flex min-w-0 items-center gap-3"},_i={class:"min-w-0"},Ii={class:"flex flex-wrap items-center gap-2"},Mi={class:"text-xl font-semibold"},Ei={key:1,class:"mt-1.5 flex flex-wrap items-center gap-x-3 gap-y-1.5 text-sm text-muted-foreground"},Di={key:0,class:"flex flex-wrap items-center gap-2"},se=G1({__name:"PageHead",props:{title:{},sub:{},pillar:{default:"graph"},tone:{},mono:{type:Boolean,default:!1},class:{}},setup(e){const t=e,n={memory:"bg-pillar-memory/15 text-pillar-memory",graph:"bg-pillar-graph/15 text-pillar-graph",review:"bg-pillar-review/15 text-pillar-review",tokens:"bg-pillar-tokens/15 text-pillar-tokens",brand:"bg-primary/15 text-primary"},l={neutral:"bg-muted text-muted-foreground",info:"bg-primary/15 text-primary",success:"bg-success/15 text-success",warning:"bg-warning/15 text-warning",danger:"bg-destructive/15 text-destructive"},s=z(()=>t.tone?l[t.tone]:n[t.pillar]);return(o,a)=>(h(),y("div",{class:o1(f(E1)("mb-6 flex flex-wrap items-start justify-between gap-4",t.class))},[v("div",Ci,[O1(o.$slots,"back"),o.$slots.icon?(h(),y("div",{key:0,class:o1(f(E1)("flex h-11 w-11 shrink-0 items-center justify-center rounded-lg",s.value))},[O1(o.$slots,"icon")],2)):O("",!0),v("div",_i,[v("div",Ii,[v("h1",Mi,F(e.title),1),O1(o.$slots,"badges")]),e.sub?(h(),y("p",{key:0,class:o1(f(E1)("text-sm text-muted-foreground",e.mono&&"break-all font-mono"))},F(e.sub),3)):O("",!0),o.$slots.meta?(h(),y("div",Ei,[O1(o.$slots,"meta")])):O("",!0)])]),o.$slots.actions?(h(),y("div",Di,[O1(o.$slots,"actions")])):O("",!0)],2))}}),Zi=["value"],ne=G1({__name:"Select",props:{modelValue:{},size:{default:"default"},class:{},invalid:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(e){const t=e;return(n,l)=>(h(),y("select",{value:e.modelValue,class:o1(f(E1)(f(d6)({size:e.size,invalid:e.invalid}),"w-auto",t.class)),onChange:l[0]||(l[0]=s=>n.$emit("update:modelValue",s.target.value))},[O1(n.$slots,"default")],42,Zi))}}),Fi=["aria-expanded","disabled"],Bi={key:0,class:"absolute z-50 mt-1 w-full overflow-hidden rounded-md border bg-card shadow-lg"},Si={class:"relative border-b"},Ri=["placeholder"],$i={class:"max-h-64 overflow-y-auto p-1"},Ni={class:"min-w-0 flex-1 truncate text-muted-foreground"},Ki={key:0,class:"px-2 pb-1 pt-2 text-[11px] font-medium uppercase tracking-wider text-muted-foreground"},Qi=["onClick","onMousemove"],Oi={class:"min-w-0 flex-1 truncate"},Gi={key:0,class:"shrink-0 text-[11px] text-muted-foreground"},Wi={key:1,class:"px-2 py-6 text-center text-sm text-muted-foreground"},Li=G1({__name:"SearchableSelect",props:{modelValue:{default:""},options:{},placeholder:{default:"Choose one"},searchPlaceholder:{default:"Search"},emptyLabel:{},size:{default:"default"},class:{},invalid:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,l=t,s=P(!1),o=P(""),a=P(0),r=P(null),i=P(null),c=z(()=>n.options.find(k=>k.value===n.modelValue)),u=z(()=>{const k=o.value.trim().toLowerCase();return k?n.options.filter(K=>K.label.toLowerCase().includes(k)||K.value.toLowerCase().includes(k)||(K.group??"").toLowerCase().includes(k)||(K.hint??"").toLowerCase().includes(k)):n.options}),d=z(()=>n.emptyLabel?[null,...u.value]:[...u.value]);function A(k,K){const I=u.value[K-1];return k.group&&k.group!==(I==null?void 0:I.group)?k.group:""}function m(k){l("update:modelValue",k),p()}function p(){s.value=!1,o.value=""}async function g(){var k;n.disabled||(s.value=!0,a.value=Math.max(0,d.value.findIndex(K=>(K==null?void 0:K.value)===n.modelValue)),await X3(),(k=i.value)==null||k.focus())}function x(k){if(!s.value){(k.key==="Enter"||k.key==="ArrowDown"||k.key===" ")&&(k.preventDefault(),g());return}if(k.key==="Escape"){p();return}if(k.key==="ArrowDown"&&(k.preventDefault(),a.value=Math.min(a.value+1,d.value.length-1)),k.key==="ArrowUp"&&(k.preventDefault(),a.value=Math.max(a.value-1,0)),k.key==="Enter"){k.preventDefault();const K=d.value[a.value];K!==void 0&&m((K==null?void 0:K.value)??"")}}P1(o,()=>{a.value=0});function $(k){s.value&&r.value&&!r.value.contains(k.target)&&p()}return o2(()=>document.addEventListener("mousedown",$)),mt(()=>document.removeEventListener("mousedown",$)),(k,K)=>{var I;return h(),y("div",{ref_key:"root",ref:r,class:"relative"},[v("button",{type:"button",role:"combobox","aria-expanded":s.value,disabled:e.disabled,class:o1(f(E1)(f(d6)({size:e.size,invalid:e.invalid}),"flex items-center gap-2 text-left",n.class)),onClick:K[0]||(K[0]=w=>s.value?p():g()),onKeydown:x},[v("span",{class:o1(["min-w-0 flex-1 truncate",c.value?"":"text-muted-foreground"])},F(((I=c.value)==null?void 0:I.label)??(e.modelValue||e.placeholder)),3),E(f(It),{class:"h-4 w-4 shrink-0 text-muted-foreground"})],42,Fi),s.value?(h(),y("div",Bi,[v("div",Si,[E(f(ke),{class:"absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground"}),te(v("input",{ref_key:"field",ref:i,"onUpdate:modelValue":K[1]||(K[1]=w=>o.value=w),class:"w-full bg-transparent py-2 pl-8 pr-2 text-sm outline-none placeholder:text-muted-foreground",placeholder:e.searchPlaceholder,onKeydown:x},null,40,Ri),[[C5,o.value]])]),v("div",$i,[e.emptyLabel?(h(),y("button",{key:0,type:"button",class:o1(["flex w-full items-center gap-2 rounded px-2 py-1.5 text-left text-sm",a.value===0?"bg-muted":"hover:bg-muted/60"]),onClick:K[2]||(K[2]=w=>m("")),onMousemove:K[3]||(K[3]=w=>a.value=0)},[E(f(Ke),{class:o1(["h-3.5 w-3.5 shrink-0",e.modelValue?"opacity-0":""])},null,8,["class"]),v("span",Ni,F(e.emptyLabel),1)],34)):O("",!0),(h(!0),y(e1,null,_1(u.value,(w,S)=>(h(),y(e1,{key:w.value},[A(w,S)?(h(),y("p",Ki,F(w.group),1)):O("",!0),v("button",{type:"button",class:o1(["flex w-full items-center gap-2 rounded px-2 py-1.5 text-left text-sm",a.value===(e.emptyLabel?S+1:S)?"bg-muted":"hover:bg-muted/60"]),onClick:B=>m(w.value),onMousemove:B=>a.value=e.emptyLabel?S+1:S},[E(f(Ke),{class:o1(["h-3.5 w-3.5 shrink-0",w.value===e.modelValue?"":"opacity-0"])},null,8,["class"]),v("span",Oi,F(w.label),1),w.hint?(h(),y("span",Gi,F(w.hint),1)):O("",!0)],42,Qi)],64))),128)),u.value.length?O("",!0):(h(),y("p",Wi," Nothing matches. "))])])):O("",!0)],512)}}}),Vi={class:"w-full border-collapse text-sm"},Ti={key:0,class:"sr-only"},Pi={class:"border-b bg-muted/30"},f6=G1({__name:"Table",props:{columns:{},rows:{},rowKey:{type:[String,Function],default:"id"},label:{},dense:{type:Boolean,default:!1},class:{}},setup(e){const t=e,n=(l,s)=>typeof t.rowKey=="function"?t.rowKey(l,s):String(l[t.rowKey]??s);return(l,s)=>(h(),y("div",{class:o1(f(E1)("w-full overflow-x-auto rounded-lg border",t.class))},[v("table",Vi,[e.label?(h(),y("caption",Ti,F(e.label),1)):O("",!0),v("thead",null,[v("tr",Pi,[(h(!0),y(e1,null,_1(e.columns,o=>(h(),y("th",{key:o.id,scope:"col",style:M2(o.width?{width:o.width}:void 0),class:o1(f(E1)("px-2.5 py-1.5 text-[11px] font-medium uppercase tracking-wide text-muted-foreground",o.align==="right"?"text-right":"text-left",o.narrow&&"hidden sm:table-cell"))},F(o.label),7))),128))])]),v("tbody",null,[(h(!0),y(e1,null,_1(e.rows,(o,a)=>(h(),y("tr",{key:n(o,a),class:"border-b last:border-0 transition-colors hover:bg-muted/40"},[(h(!0),y(e1,null,_1(e.columns,r=>(h(),y("td",{key:r.id,class:o1(f(E1)("px-2.5 align-middle",e.dense?"py-1":"py-1.5",r.align==="right"?"text-right":"text-left",r.narrow&&"hidden sm:table-cell"))},[O1(l.$slots,r.id,{row:o,index:a},()=>[V(F(o[r.id]),1)])],2))),128))]))),128))])])],2))}}),Hi=["aria-label"],Yi=["aria-pressed","disabled","title","onClick"],Ui={key:1,class:"opacity-60"},D3=G1({__name:"Tabs",props:{modelValue:{},tabs:{},label:{},size:{default:"default"},class:{}},emits:["update:modelValue"],setup(e){const t=e,n={sm:"gap-1 px-1.5 py-0.5 text-[10px]",default:"gap-1.5 px-2.5 py-1 text-xs",lg:"gap-2 px-3 py-1 text-sm"};return(l,s)=>(h(),y("div",{role:"group","aria-label":e.label,class:o1(f(E1)("inline-flex rounded-md border bg-card p-0.5",t.class))},[(h(!0),y(e1,null,_1(e.tabs,o=>(h(),y("button",{key:o.id,type:"button","aria-pressed":e.modelValue===o.id,disabled:o.disabled,title:o.title,class:o1(f(E1)("inline-flex shrink-0 items-center rounded font-medium transition-colors disabled:pointer-events-none disabled:opacity-40",n[e.size],e.modelValue===o.id?"bg-primary/15 text-primary":"text-muted-foreground hover:text-foreground")),onClick:a=>l.$emit("update:modelValue",o.id)},[o.icon?(h(),Q(h2(o.icon),{key:0,class:o1(e.size==="sm"?"h-3 w-3":"h-3.5 w-3.5")},null,8,["class"])):O("",!0),V(" "+F(o.label)+" ",1),o.count?(h(),y("span",Ui,F(o.count),1)):O("",!0)],10,Yi))),128))],10,Hi))}}),Ji=["value","rows"],R5=G1({__name:"Textarea",props:{modelValue:{},rows:{default:3},size:{default:"default"},class:{},invalid:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(e){const t=e;return(n,l)=>(h(),y("textarea",{value:e.modelValue,rows:e.rows,class:o1(f(E1)(f(pi)({size:e.size,invalid:e.invalid}),t.class)),onInput:l[0]||(l[0]=s=>n.$emit("update:modelValue",s.target.value))},null,42,Ji))}}),zi={key:0,class:"space-y-1.5"},ji={class:"flex gap-2"},d0=G1({__name:"ListInput",props:{modelValue:{default:()=>[]},placeholder:{},noun:{default:"entry"},mono:{type:Boolean,default:!1},size:{default:"default"},class:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,l=t,s=P("");function o(){const r=s.value.trim();if(!r||n.modelValue.includes(r)){s.value="";return}l("update:modelValue",[...n.modelValue,r]),s.value=""}function a(r){l("update:modelValue",n.modelValue.filter(i=>i!==r))}return(r,i)=>(h(),y("div",{class:o1(f(E1)("space-y-2",n.class))},[e.modelValue.length?(h(),y("ul",zi,[(h(!0),y(e1,null,_1(e.modelValue,c=>(h(),y("li",{key:c,class:"flex items-center gap-2 rounded-md border bg-muted/40 py-1 pl-3 pr-1 text-sm"},[v("span",{class:o1(f(E1)("min-w-0 flex-1 break-all",e.mono&&"font-mono text-xs"))},F(c),3),E(x1,{variant:"ghost",size:"icon",class:"h-6 w-6 shrink-0","aria-label":`Remove ${c}`,onClick:u=>a(c)},{default:M(()=>[E(f(i3),{class:"h-3.5 w-3.5"})]),_:1},8,["aria-label","onClick"])]))),128))])):O("",!0),v("div",ji,[E(P2,{modelValue:s.value,"onUpdate:modelValue":i[0]||(i[0]=c=>s.value=c),size:e.size,placeholder:e.placeholder,class:o1(e.mono?"font-mono":void 0),"aria-label":`Add ${e.noun}`,onKeydown:A3(K2(o,["prevent"]),["enter"])},null,8,["modelValue","size","placeholder","class","aria-label","onKeydown"]),E(x1,{size:e.size,variant:"outline",class:"shrink-0",disabled:!s.value.trim(),onClick:o},{default:M(()=>[E(f(le),{class:"mr-1.5 h-3.5 w-3.5"}),i[1]||(i[1]=V(" Add ",-1))]),_:1},8,["size","disabled"])])],2))}}),Xi={class:"min-w-0 truncate"},qi=["aria-label"],F7=G1({__name:"Chip",props:{tone:{default:"default"},removable:{type:Boolean,default:!1},label:{},class:{}},emits:["remove"],setup(e){const t=e,n={default:"border-primary/30 bg-primary/10 text-foreground",success:"border-success/40 bg-success/10 text-foreground",warning:"border-warning/40 bg-warning/10 text-foreground",danger:"border-destructive/40 bg-destructive/10 text-foreground",muted:"border-border bg-muted/60 text-muted-foreground"};return(l,s)=>(h(),y("span",{class:o1(f(E1)("inline-flex max-w-full items-center gap-1 rounded-full border py-0.5 pl-2.5 text-xs",e.removable?"pr-1":"pr-2.5",n[e.tone],t.class))},[O1(l.$slots,"mark"),v("span",Xi,[O1(l.$slots,"default")]),e.removable?(h(),y("button",{key:0,type:"button",class:"shrink-0 rounded-full p-0.5 text-muted-foreground transition-colors hover:bg-background/60 hover:text-foreground","aria-label":e.label?`Remove ${e.label}`:"Remove",onClick:s[0]||(s[0]=o=>l.$emit("remove"))},[E(f(i3),{class:"h-3 w-3"})],8,qi)):O("",!0)],2))}}),ec=["title"],tc={class:"relative flex h-2 w-2 shrink-0"},nc={key:1,class:"sr-only"},J3=G1({__name:"DotIndicator",props:{tone:{default:"neutral"},title:{},label:{},pulse:{type:Boolean,default:!1},class:{}},setup(e){const t=e,n={neutral:"bg-muted-foreground",info:"bg-primary",success:"bg-success",warning:"bg-warning",danger:"bg-destructive"},l={neutral:"text-muted-foreground",info:"text-primary",success:"text-success",warning:"text-warning",danger:"text-destructive"};return(s,o)=>(h(),y("span",{class:o1(f(E1)("inline-flex items-center gap-1.5 align-middle",t.class)),title:e.title},[v("span",tc,[e.pulse?(h(),y("span",{key:0,class:o1(f(E1)("absolute inline-flex h-full w-full animate-ping rounded-full opacity-60",n[e.tone]))},null,2)):O("",!0),v("span",{class:o1(f(E1)("relative inline-flex h-2 w-2 rounded-full",n[e.tone]))},null,2)]),e.label?(h(),y("span",{key:0,class:o1(f(E1)("text-xs font-medium",l[e.tone]))},F(e.label),3)):(h(),y("span",nc,F(e.title),1))],10,ec))}}),B7={};function lc(e){let t=B7[e];if(t)return t;t=B7[e]=[];for(let n=0;n<128;n++){const l=String.fromCharCode(n);t.push(l)}for(let n=0;n=55296&&u<=57343?s+="���":s+=String.fromCharCode(u),o+=6;continue}}if((r&248)===240&&o+91114111?s+="����":(d-=65536,s+=String.fromCharCode(55296+(d>>10),56320+(d&1023))),o+=9;continue}}s+="�"}return s})}I3.defaultChars=";/?:@&=+$,#";I3.componentChars="";const S7={};function sc(e){let t=S7[e];if(t)return t;t=S7[e]=[];for(let n=0;n<128;n++){const l=String.fromCharCode(n);/^[0-9a-z]$/i.test(l)?t.push(l):t.push("%"+("0"+n.toString(16).toUpperCase()).slice(-2))}for(let n=0;n"u"&&(n=!0);const l=sc(t);let s="";for(let o=0,a=e.length;o=55296&&r<=57343){if(r>=55296&&r<=56319&&o+1=56320&&i<=57343){s+=encodeURIComponent(e[o]+e[o+1]),o++;continue}}s+="%EF%BF%BD";continue}s+=encodeURIComponent(e[o])}return s}me.defaultChars=";/?:@&=+$,-_.!~*'()#";me.componentChars="-_.!~*'()";function $5(e){let t="";return t+=e.protocol||"",t+=e.slashes?"//":"",t+=e.auth?e.auth+"@":"",e.hostname&&e.hostname.indexOf(":")!==-1?t+="["+e.hostname+"]":t+=e.hostname||"",t+=e.port?":"+e.port:"",t+=e.pathname||"",t+=e.search||"",t+=e.hash||"",t}function nt(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}const oc=/^([a-z0-9.+-]+:)/i,ac=/:[0-9]*$/,rc=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,ic=["<",">",'"',"`"," ","\r",` +`," "],cc=["{","}","|","\\","^","`"].concat(ic),uc=["'"].concat(cc),R7=["%","/","?",";","#"].concat(uc),$7=["/","?","#"],dc=255,N7=/^[+a-z0-9A-Z_-]{0,63}$/,fc=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,K7={javascript:!0,"javascript:":!0},Q7={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function N5(e,t){if(e&&e instanceof nt)return e;const n=new nt;return n.parse(e,t),n}nt.prototype.parse=function(e,t){let n,l,s,o=e;if(o=o.trim(),!t&&e.split("#").length===1){const c=rc.exec(o);if(c)return this.pathname=c[1],c[2]&&(this.search=c[2]),this}let a=oc.exec(o);if(a&&(a=a[0],n=a.toLowerCase(),this.protocol=a,o=o.substr(a.length)),(t||a||o.match(/^\/\/[^@\/]+@[^@\/]+/))&&(s=o.substr(0,2)==="//",s&&!(a&&K7[a])&&(o=o.substr(2),this.slashes=!0)),!K7[a]&&(s||a&&!Q7[a])){let c=-1;for(let p=0;p<$7.length;p++)l=o.indexOf($7[p]),l!==-1&&(c===-1||l127?k+="x":k+=$[K];if(!k.match(N7)){const K=p.slice(0,g),I=p.slice(g+1),w=$.match(fc);w&&(K.push(w[1]),I.unshift(w[2])),I.length&&(o=I.join(".")+o),this.hostname=K.join(".");break}}}}this.hostname.length>dc&&(this.hostname=""),m&&(this.hostname=this.hostname.substr(1,this.hostname.length-2))}const r=o.indexOf("#");r!==-1&&(this.hash=o.substr(r),o=o.slice(0,r));const i=o.indexOf("?");return i!==-1&&(this.search=o.substr(i),o=o.slice(0,i)),o&&(this.pathname=o),Q7[n]&&this.hostname&&!this.pathname&&(this.pathname=""),this};nt.prototype.parseHost=function(e){let t=ac.exec(e);t&&(t=t[0],t!==":"&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)};const hc=Object.freeze(Object.defineProperty({__proto__:null,decode:I3,encode:me,format:$5,parse:N5},Symbol.toStringTag,{value:"Module"})),f0=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,h0=/[\0-\x1F\x7F-\x9F]/,Ac=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u0890\u0891\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD80D[\uDC30-\uDC3F]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/,h6=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B4E\u1B4F\u1B5A-\u1B60\u1B7D-\u1B7F\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDD6E\uDEAD\uDED0\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9\uDFD4\uDFD5\uDFD7\uDFD8]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2\uDF00-\uDF09\uDFE1]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDF43-\uDF4F\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDD6D-\uDD6F\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD839\uDDFF|\uD83A[\uDD5E\uDD5F]/,A0=/[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u0888\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20C1\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2429\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFF\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E5\u31EF\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBD2\uFD40-\uFD4F\uFD90\uFD91\uFDC8-\uFDCF\uFDFC-\uFDFF\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD803[\uDD8E\uDD8F\uDED1-\uDED8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDC00-\uDCEF\uDCFA-\uDCFC\uDD00-\uDEB3\uDEBA-\uDED0\uDEE0-\uDEF0\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED8\uDEDC-\uDEEC\uDEF0-\uDEFC\uDF00-\uDFD9\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0-\uDCBB\uDCC0\uDCC1\uDCD0-\uDCD8\uDD00-\uDE57\uDE60-\uDE6D\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF-\uDEF8\uDF00-\uDF92\uDF94-\uDFEF\uDFFA]/,p0=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/,pc=Object.freeze(Object.defineProperty({__proto__:null,Any:f0,Cc:h0,Cf:Ac,P:h6,S:A0,Z:p0},Symbol.toStringTag,{value:"Module"})),mc=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);function gc(e){return e>=55296&&e<=57343||e>1114111?65533:mc.get(e)??e}function vc(e){const t=atob(e),n=t.length&-2,l=new Uint16Array(n/2);for(let s=0,o=0;s=X1.ZERO&&e<=X1.NINE}function bc(e){return e>=X1.UPPER_A&&e<=X1.UPPER_F||e>=X1.LOWER_A&&e<=X1.LOWER_F}function kc(e){return e>=X1.UPPER_A&&e<=X1.UPPER_Z||e>=X1.LOWER_A&&e<=X1.LOWER_Z||K5(e)}function xc(e){return e===X1.EQUALS||kc(e)}var c2;(function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"})(c2||(c2={}));var Se;(function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"})(Se||(Se={}));class wc{constructor(t,n,l){T1(this,"decodeTree");T1(this,"emitCodePoint");T1(this,"errors");T1(this,"state",c2.EntityStart);T1(this,"consumed",1);T1(this,"result",0);T1(this,"treeIndex",0);T1(this,"excess",1);T1(this,"decodeMode",Se.Strict);T1(this,"runConsumed",0);this.decodeTree=t,this.emitCodePoint=n,this.errors=l}startEntity(t){this.decodeMode=t,this.state=c2.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1,this.runConsumed=0}write(t,n){switch(this.state){case c2.EntityStart:return t.charCodeAt(n)===X1.NUM?(this.state=c2.NumericStart,this.consumed+=1,this.stateNumericStart(t,n+1)):(this.state=c2.NamedEntity,this.stateNamedEntity(t,n));case c2.NumericStart:return this.stateNumericStart(t,n);case c2.NumericDecimal:return this.stateNumericDecimal(t,n);case c2.NumericHex:return this.stateNumericHex(t,n);case c2.NamedEntity:return this.stateNamedEntity(t,n)}}stateNumericStart(t,n){return n>=t.length?-1:(t.charCodeAt(n)|O7)===X1.LOWER_X?(this.state=c2.NumericHex,this.consumed+=1,this.stateNumericHex(t,n+1)):(this.state=c2.NumericDecimal,this.stateNumericDecimal(t,n))}stateNumericHex(t,n){for(;n>14;for(;n>7;if(this.runConsumed===0){const i=s&x2.JUMP_TABLE;if(t.charCodeAt(n)!==i)return this.result===0?0:this.emitNotTerminatedNamedEntity();n++,this.excess++,this.runConsumed++}for(;this.runConsumed=t.length)return-1;const i=this.runConsumed-1,c=l[this.treeIndex+1+(i>>1)],u=i%2===0?c&255:c>>8&255;if(t.charCodeAt(n)!==u)return this.runConsumed=0,this.result===0?0:this.emitNotTerminatedNamedEntity();n++,this.excess++,this.runConsumed++}this.runConsumed=0,this.treeIndex+=1+(r>>1),s=l[this.treeIndex],o=(s&x2.VALUE_LENGTH)>>14}if(n>=t.length)break;const a=t.charCodeAt(n);if(a===X1.SEMI&&o!==0&&(s&x2.FLAG13)!==0)return this.emitNamedEntityData(this.treeIndex,o,this.consumed+this.excess);if(this.treeIndex=_c(l,s,this.treeIndex+Math.max(1,o),a),this.treeIndex<0)return this.result===0||this.decodeMode===Se.Attribute&&(o===0||xc(a))?0:this.emitNotTerminatedNamedEntity();if(s=l[this.treeIndex],o=(s&x2.VALUE_LENGTH)>>14,o!==0){if(a===X1.SEMI)return this.emitNamedEntityData(this.treeIndex,o,this.consumed+this.excess);this.decodeMode!==Se.Strict&&(s&x2.FLAG13)===0&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}n++,this.excess++}return-1}emitNotTerminatedNamedEntity(){var s;const{result:t,decodeTree:n}=this,l=(n[t]&x2.VALUE_LENGTH)>>14;return this.emitNamedEntityData(t,l,this.consumed),(s=this.errors)==null||s.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(t,n,l){const{decodeTree:s}=this;return this.emitCodePoint(n===1?s[t]&~(x2.VALUE_LENGTH|x2.FLAG13):s[t+1],l),n===3&&this.emitCodePoint(s[t+2],l),l}end(){var t;switch(this.state){case c2.NamedEntity:return this.result!==0&&(this.decodeMode!==Se.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case c2.NumericDecimal:return this.emitNumericEntity(0,2);case c2.NumericHex:return this.emitNumericEntity(0,3);case c2.NumericStart:return(t=this.errors)==null||t.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case c2.EntityStart:return 0}}}function Cc(e){let t="";const n=new wc(e,l=>t+=String.fromCodePoint(l));return function(s,o){let a=0,r=0;for(;(r=s.indexOf("&",r))>=0;){t+=s.slice(a,r),n.startEntity(o);const c=n.write(s,r+1);if(c<0){a=r+n.end();break}a=r+c,r=c===0?a+1:a}const i=t+s.slice(a);return t="",i}}function _c(e,t,n,l){const s=(t&x2.BRANCH_LENGTH)>>7,o=t&x2.JUMP_TABLE;if(s===0)return o!==0&&l===o?n:-1;if(o){const c=l-o;return c<0||c>=s?-1:e[n+c]-1}const a=s+1>>1;let r=0,i=s-1;for(;r<=i;){const c=r+i>>>1,u=c>>1,A=e[n+u]>>(c&1)*8&255;if(Al)i=c-1;else return e[n+a+c]}return-1}const Ic=Cc(yc);function m0(e){return Ic(e,Se.Strict)}var Mc=class{constructor(e={}){T1(this,"src_Any",f0.source);T1(this,"src_Cc",h0.source);T1(this,"src_Z",p0.source);T1(this,"src_P",h6.source);T1(this,"src_ZPCc",[this.src_Z,this.src_P,this.src_Cc].join("|"));T1(this,"src_ZCc",[this.src_Z,this.src_Cc].join("|"));T1(this,"cache",{});T1(this,"opts",{maxLength:1e4,urlAuth:!1,schema_names:[]});this.opts={...this.opts,...e}}set(e={}){return this.opts={...this.opts,...e},this.cache={},this}escapeRE(e){return e.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}nestedPairRE(e,t,n=4){const l=this.escapeRE(e),s=this.escapeRE(t),o=`(?:(?!${this.src_ZCc}|${l}|${s}).)`;let a=`${l}${o}{0,1000}${s}`;for(let r=2;r<=n;r++)a=`${l}(?:${o}|${a}){0,1000}${s}`;return a}get_text_separators(){var e;return(e=this.cache).text_separators??(e.text_separators=/[><\uff5c]/)}get_pseudo_letter(){var e;return(e=this.cache).src_pseudo_letter??(e.src_pseudo_letter=new RegExp(`(?:(?!${this.get_text_separators().source}|${this.src_ZPCc})${this.src_Any})`))}get_ipv4_addr(){var e;return(e=this.cache).src_ip4??(e.src_ip4=new RegExp("(?:(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])[.]){3}(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])"))}get_ipv6_addr(){var n;const e="[0-9A-Fa-f]{1,4}",t=`(?:(?:${e}:${e})|${this.get_ipv4_addr().source})`;return(n=this.cache).src_ip6_addr??(n.src_ip6_addr=new RegExp(`(?:(?:${e}:){6}${t}|::(?:${e}:){5}${t}|(?:${e})?::(?:${e}:){4}${t}|(?:(?:${e}:){0,1}${e})?::(?:${e}:){3}${t}|(?:(?:${e}:){0,2}${e})?::(?:${e}:){2}${t}|(?:(?:${e}:){0,3}${e})?::${e}:${t}|(?:(?:${e}:){0,4}${e})?::${t}|(?:(?:${e}:){0,5}${e})?::${e}|(?:(?:${e}:){0,6}${e})?::)`))}get_ipv6_url_host(){var e;return(e=this.cache).src_ip6_host??(e.src_ip6_host=new RegExp(`\\[${this.get_ipv6_addr().source}\\]`))}get_ipv6_mail_host(){var e;return(e=this.cache).src_ipv6_mail_host??(e.src_ipv6_mail_host=new RegExp(`\\[IPv6:${this.get_ipv6_addr().source}\\]`))}get_auth(){var e;return(e=this.cache).src_auth??(e.src_auth=new RegExp(`(?:(?:(?!${this.src_ZCc}|[@/\\[\\]()]).){1,50}@)?`))}get_port(){var e;return(e=this.cache).src_port??(e.src_port=new RegExp("(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?"))}get_host_terminator(){var e;return(e=this.cache).src_host_terminator??(e.src_host_terminator=new RegExp(`(?=$|${this.get_text_separators().source}|${this.src_ZPCc})(?!${this.opts["---"]?"-(?!--)|":"-|"}_|:\\d|\\.-|\\.(?!$|${this.src_ZPCc}))`))}get_path_terminator(){var e;return(e=this.cache).src_path_terminator??(e.src_path_terminator=new RegExp(`${this.src_ZPCc}|${this.get_text_separators().source}`))}get_path(){var e;return(e=this.cache).src_path??(e.src_path=new RegExp(`(?:[/?#](?:${this.nestedPairRE("[","]")}|${this.nestedPairRE("(",")")}|${this.nestedPairRE("{","}")}|\\"(?:(?!${this.src_ZCc}|["]).){1,100}\\"|\\'(?:(?!${this.src_ZCc}|[']).){1,100}\\'|\\'(?=${this.get_pseudo_letter().source}|[-])|\\.{2,20}[:]?[a-zA-Z0-9%/&]|\\.(?!${this.src_ZCc}|[.]|$)|`+(this.opts["---"]?"\\-(?!--(?:[^-]|$))(?:-{0,19})|":"\\-{1,20}|")+`,(?!${this.src_ZCc}|$)|;(?!${this.src_ZCc}|$)|\\!{1,20}(?!${this.src_ZCc}|[!]|$)|\\?(?!${this.src_ZCc}|[?]|$)|`+this.get_path_extra().source+`[\\\\/:%@#&=_~*]|(?!${this.get_path_terminator().source}).){1,${this.opts.maxLength}}|\\/)?`))}get_mail_name(){var e;return(e=this.cache).src_mail_name??(e.src_mail_name=new RegExp("[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9](?:[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9]|[.](?=[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9])){0,63}"))}get_xn(){var e;return(e=this.cache).src_xn??(e.src_xn=new RegExp("xn--[a-z0-9\\-]{1,59}"))}get_tld(){if(this.cache.tld)return this.cache.tld;const e=[...new Set(this.opts.tlds||[])].sort().reverse().join("|");return this.cache.tld=new RegExp(`${e||"$#none#$"}|${this.get_xn().source}`),this.cache.tld}get_domain_root(){var e;return(e=this.cache).src_domain_root??(e.src_domain_root=new RegExp("(?:"+this.get_xn().source+`|${this.get_pseudo_letter().source}{1,63})`))}get_domain(){var e;return(e=this.cache).src_domain??(e.src_domain=new RegExp("(?:"+this.get_xn().source+`|(?:${this.get_pseudo_letter().source})|(?:${this.get_pseudo_letter().source}(?:-|${this.get_pseudo_letter().source}){0,61}${this.get_pseudo_letter().source}))`))}get_url_host_port(){var e;return(e=this.cache).url_host_port??(e.url_host_port=new RegExp("(?:"+this.get_ipv6_url_host().source+`|(?:(?:(?:${this.get_domain().source})\\.){0,10}${this.get_domain().source}))`+this.get_port().source+this.get_host_terminator().source))}get_fuzzy_url_host_port(){var e;return(e=this.cache).fuzzy_url_host_port??(e.fuzzy_url_host_port=new RegExp("(?:"+(this.opts.fuzzyIP?this.get_ipv4_addr().source+"|":"")+`(?:(?:(?:${this.get_domain().source})\\.){1,10}(?:${this.get_tld().source})))`+this.get_host_terminator().source))}get_mail_host(){var e;return(e=this.cache).src_mail_host??(e.src_mail_host=new RegExp("(?:"+this.get_ipv6_mail_host().source+`|(?:(?:(?:${this.get_domain().source})\\.){0,4}${this.get_domain().source}))`+this.get_host_terminator().source))}get_fuzzy_mail_host(){var e;return(e=this.cache).src_fuzzy_mail_host??(e.src_fuzzy_mail_host=new RegExp("(?:"+this.get_ipv6_mail_host().source+`|(?:(?:(?:${this.get_domain().source})[.]){1,4}${this.get_domain_root().source}))`+this.get_host_terminator().source))}get_path_extra(){var e;return(e=this.cache).src_path_extra??(e.src_path_extra=new RegExp(""))}get_fuzzy_mail_host_search(){var e;return(e=this.cache).mail_fuzzy_host_search??(e.mail_fuzzy_host_search=new RegExp(`@${this.get_fuzzy_mail_host().source}`,"ig"))}get_fuzzy_link_search(){var e;return(e=this.cache).link_fuzzy_search??(e.link_fuzzy_search=new RegExp(`(^|(?![.:/\\-_@])(?:[$+<=>^\`||]|${this.src_ZPCc}))(?:(?![$+<=>^\`||])${this.get_fuzzy_url_host_port().source}${this.get_path().source})`,"ig"))}get_http_validator(){var e;return(e=this.cache).http_validator??(e.http_validator=new RegExp("\\/\\/"+(this.opts.urlAuth?this.get_auth().source:"")+this.get_url_host_port().source+this.get_path().source,"iy"))}get_relative_proto_validator(){var e;return(e=this.cache).relative_proto_validator??(e.relative_proto_validator=new RegExp((this.opts.urlAuth?this.get_auth().source:"")+`(?:localhost|${this.get_ipv6_url_host().source}|(?:(?:${this.get_domain().source})[.]){1,10}${this.get_domain_root().source})`+this.get_port().source+this.get_host_terminator().source+this.get_path().source,"iy"))}get_mail_name_validator(){var e;return(e=this.cache).mail_name_validator??(e.mail_name_validator=new RegExp(`(?:^|${this.get_text_separators().source}|"|\\(|${this.src_ZCc})(${this.get_mail_name().source})$`))}get_mailto_validator(){var e;return(e=this.cache).mailto_validator??(e.mailto_validator=new RegExp(`${this.get_mail_name().source}@${this.get_mail_host().source}`,"iy"))}get_schema_names(){var e;return(e=this.cache).schema_names??(e.schema_names=new RegExp((this.opts.schema_names||[]).map(t=>this.escapeRE(t)).join("|")))}get_schema_search(){var e;return(e=this.cache).schema_search??(e.schema_search=new RegExp(`(^|(?!_)(?:[><|]|${this.src_ZPCc}))(${this.get_schema_names().source})`,"ig"))}get_schema_at_start(){var e;return(e=this.cache).schema_at_start??(e.schema_at_start=new RegExp(`^${this.get_schema_search().source}`,"i"))}},jt={validate:(e,t,n)=>{const l=n.re.get_http_validator();l.lastIndex=t;const s=l.exec(e);return s?s[0].length:0},normalize:(e,t)=>t.normalize(e)},Ec={"http:":jt,"https:":jt,"ftp:":jt,"//":{validate:function(e,t,n){const l=n.re.get_relative_proto_validator();l.lastIndex=t;const s=l.exec(e);return s?t>=3&&e[t-3]===":"||t>=3&&e[t-3]==="/"?0:s[0].length:0},normalize:(e,t)=>t.normalize(e)},"mailto:":{validate:function(e,t,n){const l=n.re.get_mailto_validator();l.lastIndex=t;const s=l.exec(e);return s?s[0].length:0},normalize:(e,t)=>t.normalize(e)}},Dc="a:cdefgilmnoqrstuwxz|b:abdefghijmnorstvwyz|c:acdfghiklmnoruvwxyz|d:ejkmoz|e:cegrstu|f:ijkmor|g:abdefghilmnpqrstuwy|h:kmnrtu|i:delmnoqrst|j:emop|k:eghimnprwyz|l:abcikrstuvy|m:acdeghklmnopqrstuvwxyz|n:acefgilopruz|o:m|p:aefghklmnrstwy|q:a|r:eosuw|s:abcdeghijklmnortuvxyz|t:cdfghjklmnortvwz|u:agksyz|v:aceginu|w:fs|y:et|z:amw",Zc="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф";function Fc(){const e=Zc.split("|");return Dc.split("|").forEach(t=>{const n=t.indexOf(":"),l=t.slice(0,n);for(const s of t.slice(n+1))e.push(l+s)}),e}var Bc={fuzzyLink:!1,fuzzyEmail:!0,fuzzyIP:!1,"---":!1,tlds:Fc(),urlAuth:!1,maxLength:1e4},G7=class{constructor(e,t,n,l){T1(this,"schema");T1(this,"index");T1(this,"lastIndex");T1(this,"raw");T1(this,"text");T1(this,"url");const s=e.slice(n,l);this.schema=t.toLowerCase(),this.index=n,this.lastIndex=l,this.raw=s,this.text=s,this.url=s}},Sc=class{constructor(e={}){T1(this,"__opts__");T1(this,"__schemas__");T1(this,"re");const{rebuilder:t,...n}=e;this.__opts__={...Bc,...n},this.__schemas__={...Ec},this.re=t||new Mc,this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)})}add(e,t=null){if(!t)delete this.__schemas__[e];else{const n={normalize:(l,s)=>s.normalize(l),...t};this.__schemas__[e]=n}return this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}set(e={}){return this.__opts__={...this.__opts__,...e},this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}test(e){if(!e.length)return!1;let t,n;for(n=this.re.get_schema_search(),n.lastIndex=0;(t=n.exec(e))!==null;)if(this.testSchemaAt(e,t[2],n.lastIndex))return!0;if(this.__opts__.fuzzyLink&&this.__schemas__["http:"]&&(n=this.re.get_fuzzy_link_search(),n.lastIndex=0,n.exec(e)!==null))return!0;if(this.__opts__.fuzzyEmail&&this.__schemas__["mailto:"]&&e.indexOf("@")>=0){const l=this.re.get_fuzzy_mail_host_search(),s=this.re.get_mail_name_validator();for(l.lastIndex=0;(t=l.exec(e))!==null;){const o=e.slice(Math.max(0,t.index-65),t.index);if(s.test(o))return!0}}return!1}testSchemaAt(e,t,n){return this.__schemas__[t.toLowerCase()]?this.__schemas__[t.toLowerCase()].validate(e.slice(0,n+this.__opts__.maxLength),n,this):0}match(e){const t=[],n=this.re.get_schema_search();let l,s,o,a,r,i,c=!1,u=!1,d=!1,A=0;if(!e.length)return null;for(n.lastIndex=0,this.__opts__.fuzzyLink&&this.__schemas__["http:"]&&(l=this.re.get_fuzzy_link_search(),l.lastIndex=0),this.__opts__.fuzzyEmail&&this.__schemas__["mailto:"]&&(s=this.re.get_fuzzy_mail_host_search(),s.lastIndex=0,o=this.re.get_mail_name_validator());;){const m=Math.max(A-1,0);if(s&&o&&!d&&(!r||r.index=A)break;s.lastIndex=A)break;l.lastIndexp.lastIndex))&&(p=a);let g;if(!c)for(;;){if(!i){n.lastIndexp.index)break;const k=i;i=void 0;const K=this.testSchemaAt(e,k.schema,k.lastIndex);if(K){g={schema:k.schema,index:k.index,lastIndex:k.lastIndex+K};break}}let x=g;if((!x||r&&(r.indexx.lastIndex))&&(x=r),(!x||a&&(a.indexx.lastIndex))&&(x=a),!x)break;x===r?r=void 0:x===a&&(a=void 0);const $=new G7(e,x.schema,x.index,x.lastIndex);$.schema?this.__schemas__[$.schema].normalize($,this):this.normalize($),t.push($),A=x.lastIndex}return t.length?t:null}matchAtStart(e){if(!e.length)return null;const t=this.re.get_schema_at_start().exec(e);if(!t)return null;const n=this.testSchemaAt(e,t[2],t[0].length);if(!n)return null;const l=new G7(e,t[2],t.index+t[1].length,t.index+t[0].length+n);return this.__schemas__[l.schema].normalize(l,this),l}tlds(e,t=!1){return e=Array.isArray(e)?e:[e],t?this.__opts__.tlds=this.__opts__.tlds.concat(e):this.__opts__.tlds=e,this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}normalize(e){e.schema||(e.url=`http://${e.url}`),e.schema==="mailto:"&&!/^mailto:/i.test(e.url)&&(e.url=`mailto:${e.url}`)}};const y3=2147483647,X2=36,A6=1,r4=26,Rc=38,$c=700,g0=72,v0=128,y0="-",Nc=/^xn--/,Kc=/[^\0-\x7F]/,Qc=/[\x2E\u3002\uFF0E\uFF61]/g,Oc={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},Xt=X2-A6,q2=Math.floor,qt=String.fromCharCode;function Be(e){throw new RangeError(Oc[e])}function Gc(e,t){const n=[];let l=e.length;for(;l--;)n[l]=t(e[l]);return n}function b0(e,t){const n=e.split("@");let l="";n.length>1&&(l=n[0]+"@",e=n[1]),e=e.replace(Qc,".");const s=e.split("."),o=Gc(s,t).join(".");return l+o}function k0(e){const t=[];let n=0;const l=e.length;for(;n=55296&&s<=56319&&nString.fromCodePoint(...e),Lc=function(e){return e>=48&&e<58?26+(e-48):e>=65&&e<91?e-65:e>=97&&e<123?e-97:X2},W7=function(e,t){return e+22+75*(e<26)-((t!=0)<<5)},x0=function(e,t,n){let l=0;for(e=n?q2(e/$c):e>>1,e+=q2(e/t);e>Xt*r4>>1;l+=X2)e=q2(e/Xt);return q2(l+(Xt+1)*e/(e+Rc))},w0=function(e){const t=[],n=e.length;let l=0,s=v0,o=g0,a=e.lastIndexOf(y0);a<0&&(a=0);for(let r=0;r=128&&Be("not-basic"),t.push(e.charCodeAt(r));for(let r=a>0?a+1:0;r=n&&Be("invalid-input");const A=Lc(e.charCodeAt(r++));A>=X2&&Be("invalid-input"),A>q2((y3-l)/u)&&Be("overflow"),l+=A*u;const m=d<=o?A6:d>=o+r4?r4:d-o;if(Aq2(y3/p)&&Be("overflow"),u*=p}const c=t.length+1;o=x0(l-i,c,i==0),q2(l/c)>y3-s&&Be("overflow"),s+=q2(l/c),l%=c,t.splice(l++,0,s)}return String.fromCodePoint(...t)},C0=function(e){const t=[];e=k0(e);const n=e.length;let l=v0,s=0,o=g0;for(const i of e)i<128&&t.push(qt(i));const a=t.length;let r=a;for(a&&t.push(y0);r=l&&uq2((y3-s)/c)&&Be("overflow"),s+=(i-l)*c,l=i;for(const u of e)if(uy3&&Be("overflow"),u===l){let d=s;for(let A=X2;;A+=X2){const m=A<=o?A6:A>=o+r4?r4:A-o;if(d{let n={};for(var l in e)V7(n,l,{get:e[l],enumerable:!0});return V7(n,Symbol.toStringTag,{value:"Module"}),n},Pc=_0({arrayReplaceAt:()=>Hc,asciiTrim:()=>Zt,callable:()=>I0,escapeHtml:()=>Qe,escapeRE:()=>n9,fromCodePoint:()=>i4,isMdAsciiPunct:()=>d4,isPunctChar:()=>E0,isPunctCharCode:()=>u4,isSpace:()=>J1,isValidEntityCode:()=>p6,isWhiteSpace:()=>c4,lib:()=>l9,normalizeReference:()=>Dt,unescapeAll:()=>M3,unescapeMd:()=>zc});function I0(e){const t=function(...n){return Reflect.construct(e,n,new.target&&new.target!==t?new.target:e)};return Object.defineProperty(t,"name",{value:e.name}),Object.setPrototypeOf(t,e),t.prototype=e.prototype,t}function Hc(e,t,n){return[].concat(e.slice(0,t),n,e.slice(t+1))}function p6(e){return!(e>=55296&&e<=57343||e>=64976&&e<=65007||(e&65535)===65535||(e&65535)===65534||e>=0&&e<=8||e===11||e>=14&&e<=31||e>=127&&e<=159||e>1114111)}function i4(e){if(e>65535){e-=65536;const t=55296+(e>>10),n=56320+(e&1023);return String.fromCharCode(t,n)}return String.fromCharCode(e)}var M0=/\\([!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])/g,Yc=new RegExp(`${M0.source}|${/&([a-z#][a-z0-9]{1,31});/gi.source}`,"gi"),Uc=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i;function Jc(e,t){if(t.charCodeAt(0)===35&&Uc.test(t)){const l=t[1].toLowerCase()==="x"?parseInt(t.slice(2),16):parseInt(t.slice(1),10);return p6(l)?i4(l):e}const n=m0(e);return n!==e?n:e}function zc(e){return e.indexOf("\\")<0?e:e.replace(M0,"$1")}function M3(e){return e.indexOf("\\")<0&&e.indexOf("&")<0?e:e.replace(Yc,function(t,n,l){return n||Jc(t,l)})}var jc=/[&<>"]/,Xc=/[&<>"]/g,qc={"&":"&","<":"<",">":">",'"':"""};function e9(e){return qc[e]}function Qe(e){return jc.test(e)?e.replace(Xc,e9):e}var t9=/[.?*+^$[\]\\(){}|-]/g;function n9(e){return e.replace(t9,"\\$&")}function J1(e){switch(e){case 9:case 32:return!0}return!1}function c4(e){if(e>=8192&&e<=8202)return!0;switch(e){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1}function E0(e){return h6.test(e)||A0.test(e)}function u4(e){return E0(i4(e))}function d4(e){switch(e){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}}function Dt(e){return e=e.trim().replace(/\s+/g," "),e.toLowerCase().toUpperCase()}function T7(e){return e===32||e===9||e===10||e===13}function Zt(e){let t=0;for(;t=t&&T7(e.charCodeAt(n));n--);return e.slice(t,n+1)}var l9={mdurl:hc,ucmicro:pc};function s9(e,t,n){let l,s,o,a;const r=e.posMax,i=e.pos;for(e.pos=t+1,l=1;e.pos32))return o;if(l===41){if(a===0)break;a--}s++}return t===s||a!==0||(o.str=M3(e.slice(t,s)),o.pos=s,o.ok=!0),o}function a9(e,t,n,l){let s,o=t;const a={ok:!1,can_continue:!1,pos:0,str:"",marker:0};if(l)a.str=l.str,a.marker=l.marker;else{if(o>=n)return a;let r=e.charCodeAt(o);if(r!==34&&r!==39&&r!==40)return a;t++,o++,r===40&&(r=41),a.marker=r}for(;oo9,parseLinkLabel:()=>s9,parseLinkTitle:()=>a9});function f4(e){"@babel/helpers - typeof";return f4=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},f4(e)}function i9(e,t){if(f4(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var l=n.call(e,t);if(f4(l)!="object")return l;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function c9(e){var t=i9(e,"string");return f4(t)=="symbol"?t:t+""}function g1(e,t,n){return(t=c9(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var o3=class{constructor(e,t,n){g1(this,"map",null),g1(this,"level",0),g1(this,"children",null),g1(this,"content",""),g1(this,"markup",""),g1(this,"info",""),g1(this,"block",!1),g1(this,"hidden",!1),this.type=e,this.tag=t,this.attrs=null,this.nesting=n,this.meta=null}attrIndex(e){if(!this.attrs)return-1;const t=this.attrs;for(let n=0,l=t.length;n=0&&(n=this.attrs[t][1]),n}attrJoin(e,t){const n=this.attrIndex(e);n<0?this.attrPush([e,t]):this.attrs[n][1]=`${this.attrs[n][1]} ${t}`}},h4=class{constructor(){g1(this,"__rules__",[]),g1(this,"__cache__",null)}__find__(e){for(let t=0;t{t.enabled&&t.alt.forEach(n=>{n&&e.add(n)})}),this.__cache__=Object.create(null),this.__cache__[""]=[],this.__rules__.forEach(t=>{t.enabled&&this.__cache__[""].push(t.fn)}),e.forEach(t=>{this.__cache__[t]=[],this.__rules__.forEach(n=>{n.enabled&&n.alt.indexOf(t)>=0&&this.__cache__[t].push(n.fn)})})}at(e,t,n={}){const l=this.__find__(e);if(l===-1)throw new Error(`Parser rule not found: ${e}`);this.__rules__[l].fn=t,this.__rules__[l].alt=n.alt||[],this.__cache__=null}before(e,t,n,l={}){const s=this.__find__(e);if(s===-1)throw new Error(`Parser rule not found: ${e}`);this.__rules__.splice(s,0,{name:t,enabled:!0,fn:n,alt:l.alt||[]}),this.__cache__=null}after(e,t,n,l={}){const s=this.__find__(e);if(s===-1)throw new Error(`Parser rule not found: ${e}`);this.__rules__.splice(s+1,0,{name:t,enabled:!0,fn:n,alt:l.alt||[]}),this.__cache__=null}push(e,t,n={}){this.__rules__.push({name:e,enabled:!0,fn:t,alt:n.alt||[]}),this.__cache__=null}enable(e,t=!1){Array.isArray(e)||(e=[e]);const n=[];return e.forEach(l=>{const s=this.__find__(l);if(s<0){if(t)return;throw new Error(`Rules manager: invalid rule name ${l}`)}this.__rules__[s].enabled=!0,n.push(l)}),this.__cache__=null,n}enableOnly(e,t=!1){Array.isArray(e)||(e=[e]),this.__rules__.forEach(n=>{n.enabled=!1}),this.enable(e,t)}disable(e,t=!1){Array.isArray(e)||(e=[e]);const n=[];return e.forEach(l=>{const s=this.__find__(l);if(s<0){if(t)return;throw new Error(`Rules manager: invalid rule name ${l}`)}this.__rules__[s].enabled=!1,n.push(l)}),this.__cache__=null,n}getRules(e){return this.__cache__||this.__compile__(),this.__cache__[e]||[]}},oe={};oe.code_inline=function(e,t,n,l,s){const o=e[t];return`${Qe(o.content)}`};oe.code_block=function(e,t,n,l,s){const o=e[t];return`${Qe(e[t].content)} +`};oe.fence=function(e,t,n,l,s){const o=e[t],a=o.info?M3(o.info).trim():"";let r="",i="";if(a){const u=a.split(/(\s+)/g);r=u[0],i=u.slice(2).join("")}let c;if(n.highlight?c=n.highlight(o.content,r,i)||Qe(o.content):c=Qe(o.content),c.indexOf("${c} +`}return`
${c}
+`};oe.image=function(e,t,n,l,s){const o=e[t];return o.attrs[o.attrIndex("alt")][1]=s.renderInlineAsText(o.children,n,l),s.renderToken(e,t,n)};oe.hardbreak=function(e,t,n){return n.xhtmlOut?`
+`:`
+`};oe.softbreak=function(e,t,n){return n.breaks?n.xhtmlOut?`
+`:`
+`:` +`};oe.text=function(e,t){return Qe(e[t].content)};oe.html_block=function(e,t){return e[t].content};oe.html_inline=function(e,t){return e[t].content};var D0=class{constructor(){g1(this,"rules",Object.assign({},oe))}renderAttrs(e){let t,n,l;if(!e.attrs)return"";for(l="",t=0,n=e.attrs.length;t=0&&e[o].hidden&&e[o].nesting===0;)o--;l.block&&l.nesting!==-1&&o>=0&&e[o].hidden&&e[o].nesting===-1&&(s+=` +`),s+=(l.nesting===-1?" +`:">",s}renderInline(e,t,n){let l="";const s=this.rules;for(let o=0,a=e.length;o\s]/i.test(e)}function g9(e){return/^<\/a\s*>/i.test(e)}function v9(e){const t=e.tokens;if(e.md.options.linkify)for(let n=0,l=t.length;n=0;r--){const i=s[r];if(i.type==="link_close"){for(r--;s[r].level!==i.level&&s[r].type!=="link_open";)r--;continue}if(i.type==="html_inline"&&(m9(i.content)&&a>0&&a--,g9(i.content)&&a++),!(a>0)&&i.type==="text"&&e.md.linkify.test(i.content)){const c=i.content;let u=e.md.linkify.match(c);const d=[];let A=i.level,m=0;u.length>0&&u[0].index===0&&r>0&&s[r-1].type==="text_special"&&(u=u.slice(1));for(let p=0;pm){const S=new e.Token("text","",0);S.content=c.slice(m,k),S.level=A,d.push(S)}const K=new e.Token("link_open","a",1);K.attrs=[["href",x]],K.level=A++,K.markup="linkify",K.info="auto",d.push(K);const I=new e.Token("text","",0);I.content=$,I.level=A,d.push(I);const w=new e.Token("link_close","a",-1);w.level=--A,w.markup="linkify",w.info="auto",d.push(w),m=u[p].lastIndex}if(m0){let r=s.length;for(const d of o)r+=d.nodes.length-1;const i=new Array(r);let c=0,u=0;o.reverse();for(let d=0;d=0;n--){const l=e[n];l.type==="text"&&!t&&(l.content=l.content.replace(b9,x9)),l.type==="link_open"&&l.info==="auto"&&t--,l.type==="link_close"&&l.info==="auto"&&t++}}function C9(e){let t=0;for(let n=e.length-1;n>=0;n--){const l=e[n];l.type==="text"&&!t&&F0.test(l.content)&&(l.content=l.content.replace(/\+-/g,"±").replace(/\.{2,}/g,"…").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---(?=[^-]|$)/gm,"$1—").replace(/(^|\s)--(?=\s|$)/gm,"$1–").replace(/(^|[^-\s])--(?=[^-\s]|$)/gm,"$1–")),l.type==="link_open"&&l.info==="auto"&&t--,l.type==="link_close"&&l.info==="auto"&&t++}}function _9(e){let t;if(e.md.options.typographer)for(t=e.tokens.length-1;t>=0;t--)e.tokens[t].type==="inline"&&(y9.test(e.tokens[t].content)&&w9(e.tokens[t].children),F0.test(e.tokens[t].content)&&C9(e.tokens[t].children))}var I9=/['"]/,P7=/['"]/g,H7="’";function Z4(e,t,n,l){e[t]||(e[t]=[]),e[t].push({pos:n,ch:l})}function M9(e,t){let n="",l=0;t.sort((s,o)=>s.pos-o.pos);for(let s=0;s=0&&!(l[n].level<=r);n--);if(l.length=n+1,a.type!=="text")continue;const i=a.content;let c=0;const u=i.length;e:for(;c=0)g=i.charCodeAt(d.index-1);else for(n=o-1;n>=0&&!(e[n].type==="softbreak"||e[n].type==="hardbreak");n--)if(e[n].content){g=e[n].content.charCodeAt(e[n].content.length-1);break}let x=32;if(c=48&&g<=57&&(m=A=!1),A&&m&&(A=$,m=k),!A&&!m){p&&Z4(s,o,d.index,H7);continue}if(m)for(n=l.length-1;n>=0;n--){let w=l[n];if(l[n].level=0;t--)e.tokens[t].type!=="inline"||!I9.test(e.tokens[t].content)||E9(e.tokens[t].children,e)}function Z9(e){let t,n;const l=e.length;for(t=0;t0&&this.level++,this.tokens.push(l),l}isEmpty(e){return this.bMarks[e]+this.tShift[e]>=this.eMarks[e]}skipEmptyLines(e){for(let t=this.lineMax;et;)if(!J1(this.src.charCodeAt(--e)))return e+1;return e}skipChars(e,t){for(let n=this.src.length;en;)if(t!==this.src.charCodeAt(--e))return e+1;return e}getLines(e,t,n,l){if(e>=t)return"";const s=new Array(t-e);for(let o=0,a=e;an?s[o]=new Array(r-n+1).join(" ")+this.src.slice(c,u):s[o]=this.src.slice(c,u)}return s.join("")}},B9=65536;function t5(e,t){const n=e.bMarks[t]+e.tShift[t],l=e.eMarks[t];return e.src.slice(n,l)}function Y7(e){const t=[],n=e.length;let l=0,s=e.charCodeAt(l),o=!1,a=0,r="";for(;ln)return!1;let s=t+1;if(e.sCount[s]=4)return!1;let o=e.bMarks[s]+e.tShift[s];if(o>=e.eMarks[s])return!1;const a=e.src.charCodeAt(o++);if(a!==124&&a!==45&&a!==58||o>=e.eMarks[s])return!1;const r=e.src.charCodeAt(o++);if(r!==124&&r!==45&&r!==58&&!J1(r)||a===45&&J1(r))return!1;for(;o=4)return!1;c=Y7(i),c.length&&c[0]===""&&c.shift(),c.length&&c[c.length-1]===""&&c.pop();const d=c.length;if(d===0||d!==u.length)return!1;if(l)return!0;const A=e.parentType;e.parentType="table";const m=e.md.block.ruler.getRules("blockquote"),p=e.push("table_open","table",1),g=[t,0];p.map=g;const x=e.push("thead_open","thead",1);x.map=[t,t+1];const $=e.push("tr_open","tr",1);$.map=[t,t+1];for(let I=0;I=4||(c=Y7(i),c.length&&c[0]===""&&c.shift(),c.length&&c[c.length-1]===""&&c.pop(),K+=d-c.length,K>B9))break;if(s===t+2){const S=e.push("tbody_open","tbody",1);S.map=k=[t+2,0]}const w=e.push("tr_open","tr",1);w.map=[s,s+1];for(let S=0;S=4){l++,s=l;continue}break}e.line=s;const o=e.push("code_block","code",0);return o.content=e.getLines(t,s,4+e.blkIndent,!1)+` +`,o.map=[t,e.line],!0}function $9(e,t,n,l){let s=e.bMarks[t]+e.tShift[t],o=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||s+3>o)return!1;const a=e.src.charCodeAt(s);if(a!==126&&a!==96)return!1;let r=s;s=e.skipChars(s,a);let i=s-r;if(i<3)return!1;const c=e.src.slice(r,s),u=e.src.slice(s,o);if(a===96&&u.indexOf(String.fromCharCode(a))>=0)return!1;if(l)return!0;let d=t,A=!1;for(;d++,!(d>=n||(s=r=e.bMarks[d]+e.tShift[d],o=e.eMarks[d],s=4)&&(s=e.skipChars(s,a),!(s-r=4||e.src.charCodeAt(s)!==62)return!1;if(l)return!0;const r=[],i=[],c=[],u=[],d=e.md.block.ruler.getRules("blockquote"),A=e.parentType;e.parentType="blockquote";let m=!1,p;for(p=t;p=o)break;if(e.src.charCodeAt(s++)===62&&!K){let w=e.sCount[p]+1,S,B;e.src.charCodeAt(s)===32?(s++,w++,B=!1,S=!0):e.src.charCodeAt(s)===9?(S=!0,(e.bsCount[p]+w)%4===3?(s++,w++,B=!1):B=!0):S=!1;let _=w;for(r.push(e.bMarks[p]),e.bMarks[p]=s;s=o,i.push(e.bsCount[p]),e.bsCount[p]=e.sCount[p]+1+(S?1:0),c.push(e.sCount[p]),e.sCount[p]=_-w,u.push(e.tShift[p]),e.tShift[p]=s-e.bMarks[p];continue}if(m)break;let I=!1;for(let w=0,S=d.length;w";const $=[t,0];x.map=$,e.md.block.tokenize(e,t,p);const k=e.push("blockquote_close","blockquote",-1);k.markup=">",e.lineMax=a,e.parentType=A,$[1]=e.line;for(let K=0;K=4)return!1;let o=e.bMarks[t]+e.tShift[t];const a=e.src.charCodeAt(o++);if(a!==42&&a!==45&&a!==95)return!1;let r=1;for(;o=l)return-1;let o=e.src.charCodeAt(s++);if(o<48||o>57)return-1;for(;;){if(s>=l)return-1;if(o=e.src.charCodeAt(s++),o>=48&&o<=57){if(s-n>=10)return-1;continue}if(o===41||o===46)break;return-1}return s=4||e.listIndent>=0&&e.sCount[i]-e.listIndent>=4&&e.sCount[i]=e.blkIndent&&(u=!0);let d,A,m;if((m=J7(e,i))>=0){if(d=!0,a=e.bMarks[i]+e.tShift[i],A=Number(e.src.slice(a,m-1)),u&&A!==1)return!1}else if((m=U7(e,i))>=0)d=!1;else return!1;if(u&&e.skipSpaces(m)>=e.eMarks[i])return!1;if(l)return!0;const p=e.src.charCodeAt(m-1),g=e.tokens.length;d?(r=e.push("ordered_list_open","ol",1),A!==1&&(r.attrs=[["start",A]])):r=e.push("bullet_list_open","ul",1);const x=[i,0];r.map=x,r.markup=String.fromCharCode(p);let $=!1;const k=e.md.block.ruler.getRules("list"),K=e.parentType;for(e.parentType="list";i=s?B=1:B=w-I,B>4&&(B=1);const _=I+B;r=e.push("list_item_open","li",1),r.markup=String.fromCharCode(p);const D=[i,0];r.map=D,d&&(r.info=e.src.slice(a,m-1));const C=e.tight,N=e.tShift[i],G=e.sCount[i],j=e.listIndent;if(e.listIndent=e.blkIndent,e.blkIndent=_,e.tight=!0,e.tShift[i]=S-e.bMarks[i],e.sCount[i]=w,S>=s&&e.isEmpty(i+1)?e.line=Math.min(e.line+2,n):e.md.block.tokenize(e,i,n),(!e.tight||$)&&(c=!1),$=e.line-i>1&&e.isEmpty(e.line-1),e.blkIndent=e.listIndent,e.listIndent=j,e.tShift[i]=N,e.sCount[i]=G,e.tight=C,r=e.push("list_item_close","li",-1),r.markup=String.fromCharCode(p),i=e.line,D[1]=i,i>=n||e.sCount[i]=4)break;let f1=!1;for(let u1=0,A1=k.length;u1=4||e.src.charCodeAt(s)!==91)return!1;function r(I){const w=e.lineMax;if(I>=w||e.isEmpty(I))return null;let S=!1;if(e.sCount[I]-e.blkIndent>3&&(S=!0),e.sCount[I]<0&&(S=!0),!S){const D=e.md.block.ruler.getRules("reference"),C=e.parentType;e.parentType="reference";let N=!1;for(let G=0,j=D.length;G"u"&&(e.env.references={}),typeof e.env.references[$]>"u"&&(e.env.references[$]={title:x,href:d});const k=e.push("reference_definition","",0);k.map=[t,a],k.hidden=!0;const K=Object.create(null);return K.label=$,k.meta=K,e.line=a,!0}var W9=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],R0=`<[A-Za-z][A-Za-z0-9\\-]*(?:\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\s*=\\s*(?:[^"'=<>\`\\x00-\\x20]+|'[^']*'|"[^"]*"))?)*\\s*\\/?>`,$0="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",L9=new RegExp(`^(?:${R0}|${$0}||<[?][\\s\\S]*?[?]>|]*>|)`),V9=new RegExp(`^(?:${R0}|${$0})`),He=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,!0],[/^/,!0],[/^<\?/,/\?>/,!0],[/^/,!0],[/^/,!0],[new RegExp(`^|$))`,"i"),/^$/,!0],[new RegExp(`${V9.source}\\s*$`),/^$/,!1]];function T9(e,t,n,l){let s=e.bMarks[t]+e.tShift[t],o=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||!e.md.options.html||e.src.charCodeAt(s)!==60)return!1;let a=e.src.slice(s,o),r=0;for(;r=4)return!1;let a=e.src.charCodeAt(s);if(a!==35||s>=o)return!1;let r=1;for(a=e.src.charCodeAt(++s);a===35&&s6||ss&&J1(e.src.charCodeAt(i-1))&&(o=i),e.line=t+1;const c=e.push("heading_open",`h${r}`,1);c.markup="########".slice(0,r),c.map=[t,e.line];const u=e.push("inline","",0);u.content=Zt(e.src.slice(s,o)),u.map=[t,e.line],u.children=[];const d=e.push("heading_close",`h${r}`,-1);return d.markup="########".slice(0,r),!0}function H9(e,t,n){const l=e.md.block.ruler.getRules("paragraph");if(e.sCount[t]-e.blkIndent>=4)return!1;const s=e.parentType;e.parentType="paragraph";let o=0,a,r=t+1;for(;r3)continue;if(e.sCount[r]>=e.blkIndent){let m=e.bMarks[r]+e.tShift[r];const p=e.eMarks[r];if(m=p))){o=a===61?1:2;break}}if(e.sCount[r]<0)continue;let A=!1;for(let m=0,p=l.length;m3||e.sCount[o]<0)continue;let c=!1;for(let u=0,d=l.length;u=n||e.sCount[a]=o){e.line=n;break}const i=e.line;let c=!1;for(let u=0;u=e.line)throw new Error("block rule didn't increment state.line");break}if(!c)throw new Error("none of the block rules matched");e.tight=!r,e.isEmpty(e.line-1)&&(r=!0),a=e.line,a0&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],s={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(l),this.tokens_meta.push(s),l}scanDelims(e,t){const n=this.posMax,l=this.src.charCodeAt(e);let s;if(e===0)s=32;else if(e===1)s=this.src.charCodeAt(0),(s&63488)===55296&&(s=65533);else if(s=this.src.charCodeAt(e-1),(s&64512)===56320){const p=this.src.charCodeAt(e-2);s=(p&64512)===55296?65536+(p-55296<<10)+(s-56320):65533}else(s&64512)===55296&&(s=65533);let o=e;for(;o=65&&e<=90||e>=97&&e<=122}function j9(e){return e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e===43||e===45||e===46}function X9(e,t){if(!e.md.options.linkify||e.linkLevel>0)return!1;const n=e.pos,l=e.posMax;if(n+3>l||e.src.charCodeAt(n)!==58||e.src.charCodeAt(n+1)!==47||e.src.charCodeAt(n+2)!==47)return!1;const s=n-Math.min(10,e.pending.length,n);let o=n;for(;o>s&&j9(e.src.charCodeAt(o-1));)o--;if(o===n||!z9(e.src.charCodeAt(o)))return!1;const a=n-o,r=e.md.linkify.matchAtStart(e.src.slice(o));if(!r)return!1;let i=r.url;if(i.length<=a)return!1;let c=i.length;for(;c>0&&i.charCodeAt(c-1)===42;)c--;c!==i.length&&(i=i.slice(0,c));const u=e.md.normalizeLink(i);if(!e.md.validateLink(u))return!1;if(!t){e.pending=e.pending.slice(0,-a);const d=e.push("link_open","a",1);d.attrs=[["href",u]],d.markup="linkify",d.info="auto";const A=e.push("text","",0);A.content=e.md.normalizeLinkText(i);const m=e.push("link_close","a",-1);m.markup="linkify",m.info="auto"}return e.pos+=i.length-a,!0}function q9(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==10)return!1;const l=e.pending.length-1,s=e.posMax;if(!t)if(l>=0&&e.pending.charCodeAt(l)===32)if(l>=1&&e.pending.charCodeAt(l-1)===32){let o=l-1;for(;o>=1&&e.pending.charCodeAt(o-1)===32;)o--;e.pending=e.pending.slice(0,o),e.push("hardbreak","br",0)}else e.pending=e.pending.slice(0,-1),e.push("softbreak","br",0);else e.push("softbreak","br",0);for(n++;n?@[]^_`{|}~-".split("").forEach(function(e){m6[e.charCodeAt(0)]=1});function eu(e,t){let n=e.pos;const l=e.posMax;if(e.src.charCodeAt(n)!==92||(n++,n>=l))return!1;let s=e.src.charCodeAt(n);if(s===10){for(t||e.push("hardbreak","br",0),n++;n=55296&&s<=56319&&n+1=56320&&r<=57343&&(o+=e.src[n+1],n++)}const a="\\"+o;if(!t){const r=e.push("text_special","",0);s<256&&m6[s]!==0?r.content=o:r.content=a,r.markup=a,r.info="escape"}return e.pos=n+1,!0}function tu(e){const t={};let n=0;for(;(n=e.indexOf("`",n))!==-1;){const l=n;for(;e.charCodeAt(++n)===96;);t[n-l]=l}return t}function nu(e,t){var n;const l=e.pos;if(e.src.charCodeAt(l)!==96)return!1;const s=e.posMax;let o=l+1;for(;o=o){let i=o,c;for(;(c=e.src.indexOf("`",i))!==-1&&cs)break;if(i-c===r){if(!t){const u=e.push("code_inline","code",0);u.markup=a;let d=e.src.slice(o,c).replace(/\n/g," ");d.startsWith(" ")&&d.endsWith(" ")&&/[^ ]/.test(d)&&(d=d.slice(1,-1)),u.content=d}return e.pos=i,!0}}}return t||(e.pending+=a),e.pos=o,!0}function lu(e,t){const n=e.pos,l=e.src.charCodeAt(n);if(t||l!==126)return!1;const s=e.scanDelims(e.pos,!0);let o=s.length;const a=String.fromCharCode(l);if(o<2)return!1;let r;o%2&&(r=e.push("text","",0),r.content=a,o--);for(let i=0;i=0;l--){const s=t[l];if(s.marker!==95&&s.marker!==42||s.end===-1)continue;const o=t[s.end],a=l>0&&t[l-1].end===s.end+1&&t[l-1].marker===s.marker&&t[l-1].token===s.token-1&&t[s.end+1].token===o.token+1,r=String.fromCharCode(s.marker),i=e.tokens[s.token];i.type=a?"strong_open":"em_open",i.tag=a?"strong":"em",i.nesting=1,i.markup=a?r+r:r,i.content="";const c=e.tokens[o.token];c.type=a?"strong_close":"em_close",c.tag=a?"strong":"em",c.nesting=-1,c.markup=a?r+r:r,c.content="",a&&(e.tokens[t[l-1].token].content="",e.tokens[t[s.end+1].token].content="",l--)}}function au(e){const t=e.tokens_meta,n=e.tokens_meta.length;j7(e,e.delimiters);for(let s=0;s=d)return!1;if(i=p,s=e.md.helpers.parseLinkDestination(e.src,p,e.posMax),s.ok){for(a=e.md.normalizeLink(s.str),e.md.validateLink(a)?p=s.pos:a="",i=p;p=d||e.src.charCodeAt(p)!==41)&&(c=!0),p++}if(c){if(typeof e.env.references>"u")return!1;if(p=0?l=e.src.slice(i,p++):p=m+1):p=m+1,l||(l=e.src.slice(A,m)),l=Dt(l),o=e.env.references[l],!o)return e.pos=u,!1;a=o.href,r=o.title}if(!t){e.pos=A,e.posMax=m;const g=e.push("link_open","a",1),x=[["href",a]];if(g.attrs=x,r&&x.push(["title",r]),l){const $=Object.create(null);$.label=l,g.meta=$}e.linkLevel++,e.md.inline.tokenize(e),e.linkLevel--,e.push("link_close","a",-1)}return e.pos=p,e.posMax=d,!0}function iu(e,t){let n,l,s,o,a,r,i,c,u="";const d=e.pos,A=e.posMax;if(e.src.charCodeAt(e.pos)!==33||e.src.charCodeAt(e.pos+1)!==91)return!1;const m=e.pos+2,p=e.md.helpers.parseLinkLabel(e,e.pos+1,!1);if(p<0)return!1;if(o=p+1,o=A)return!1;for(c=o,r=e.md.helpers.parseLinkDestination(e.src,o,e.posMax),r.ok&&(u=e.md.normalizeLink(r.str),e.md.validateLink(u)?o=r.pos:u=""),c=o;o=A||e.src.charCodeAt(o)!==41)return e.pos=d,!1;o++}else{if(typeof e.env.references>"u")return!1;if(o=0?s=e.src.slice(c,o++):o=p+1):o=p+1,s||(s=e.src.slice(m,p)),s=Dt(s),a=e.env.references[s],!a)return e.pos=d,!1;u=a.href,i=a.title}if(!t){l=e.src.slice(m,p);const g=[];e.md.inline.parse(l,e.md,e.env,g);const x=e.push("image","img",0),$=[["src",u],["alt",""]];if(x.attrs=$,x.children=g,x.content=l,i&&$.push(["title",i]),s){const k=Object.create(null);k.label=s,x.meta=k}}return e.pos=o,e.posMax=A,!0}var cu=/^([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/,uu=/^([a-zA-Z][a-zA-Z0-9+.-]{1,31}):([^<>\x00-\x20]*)$/;function du(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==60)return!1;const l=e.pos,s=e.posMax;for(;;){if(++n>=s)return!1;const a=e.src.charCodeAt(n);if(a===60)return!1;if(a===62)break}const o=e.src.slice(l+1,n);if(uu.test(o)){const a=e.md.normalizeLink(o);if(!e.md.validateLink(a))return!1;if(!t){const r=e.push("link_open","a",1);r.attrs=[["href",a]],r.markup="autolink",r.info="auto";const i=e.push("text","",0);i.content=e.md.normalizeLinkText(o);const c=e.push("link_close","a",-1);c.markup="autolink",c.info="auto"}return e.pos+=o.length+2,!0}if(cu.test(o)){const a=e.md.normalizeLink(`mailto:${o}`);if(!e.md.validateLink(a))return!1;if(!t){const r=e.push("link_open","a",1);r.attrs=[["href",a]],r.markup="autolink",r.info="auto";const i=e.push("text","",0);i.content=e.md.normalizeLinkText(o);const c=e.push("link_close","a",-1);c.markup="autolink",c.info="auto"}return e.pos+=o.length+2,!0}return!1}function fu(e){return/^\s]/i.test(e)}function hu(e){return/^<\/a\s*>/i.test(e)}function Au(e){const t=e|32;return t>=97&&t<=122}function pu(e,t){if(!e.md.options.html)return!1;const n=e.posMax,l=e.pos;if(e.src.charCodeAt(l)!==60||l+2>=n)return!1;const s=e.src.charCodeAt(l+1);if(s!==33&&s!==63&&s!==47&&!Au(s))return!1;const o=e.src.slice(l).match(L9);if(!o)return!1;if(!t){const a=e.push("html_inline","",0);a.content=o[0],fu(a.content)&&e.linkLevel++,hu(a.content)&&e.linkLevel--}return e.pos+=o[0].length,!0}var mu=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,gu=/^&([a-z][a-z0-9]{1,31});/i;function vu(e,t){const n=e.pos,l=e.posMax;if(e.src.charCodeAt(n)!==38||n+1>=l)return!1;if(e.src.charCodeAt(n+1)===35){const s=e.src.slice(n).match(mu);if(s){if(!t){const o=s[1][0].toLowerCase()==="x"?parseInt(s[1].slice(1),16):parseInt(s[1],10),a=e.push("text_special","",0);a.content=p6(o)?i4(o):i4(65533),a.markup=s[0],a.info="entity"}return e.pos+=s[0].length,!0}}else{const s=e.src.slice(n).match(gu);if(s){const o=m0(s[0]);if(o!==s[0]){if(!t){const a=e.push("text_special","",0);a.content=o,a.markup=s[0],a.info="entity"}return e.pos+=s[0].length,!0}}}return!1}function X7(e){const t={},n=e.length;if(!n)return;let l=0,s=-2;const o=[];for(let a=0;ai;c-=o[c]+1){const d=e[c];if(d.marker===r.marker&&d.open&&d.end<0){let A=!1;if((d.close||r.open)&&(d.length+r.length)%3===0&&(d.length%3!==0||r.length%3!==0)&&(A=!0),!A){const m=c>0&&!e[c-1].open?o[c-1]+1:0;o[a]=a-c+m,o[c]=m,r.open=!1,d.end=a,d.close=!1,u=-1,s=-2;break}}}u!==-1&&(t[r.marker][(r.open?3:0)+(r.length||0)%3]=u)}}function yu(e){const t=e.tokens_meta,n=e.tokens_meta.length;X7(e.delimiters);for(let s=0;s0&&l++,s[t].type==="text"&&t+1=e.pos)throw new Error("inline rule didn't increment state.pos");break}}else e.pos=e.posMax;a||e.pos++,o[t]=e.pos}tokenize(e){const t=this.ruler.getRules(""),n=t.length,l=e.posMax,s=e.md.options.maxNesting;for(;e.pos=e.pos)throw new Error("inline rule didn't increment state.pos");break}}if(a){if(e.pos>=l)break;continue}e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()}parse(e,t,n,l){const s=new this.State(e,t,n,l);this.tokenize(s);const o=this.ruler2.getRules(""),a=o.length;for(let r=0;r=0))try{t.hostname=L7.toASCII(t.hostname)}catch{}return t.auth&&(t.auth=me(t.auth)),t.hostname&&(t.hostname=me(t.hostname)),t.pathname&&(t.pathname=me(t.pathname)),t.search&&(t.search=me(t.search)),t.hash&&(t.hash=me(t.hash)),$5(t)}normalizeLinkText(e){const t=N5(e,!0);if(t.hostname&&(!t.protocol||q7.indexOf(t.protocol)>=0))try{t.hostname=L7.toUnicode(t.hostname)}catch{}return I3($5(t),I3.defaultChars+"%")}constructor(...e){g1(this,"inline",new G0),g1(this,"block",new N0),g1(this,"core",new B0),g1(this,"renderer",new D0),g1(this,"linkify",new Sc),g1(this,"utils",Pc),g1(this,"helpers",Object.assign({},r9));const[t,n]=e;typeof t=="string"?(this.configure(t),n&&this.set(n)):(this.configure("default"),this.set(t||{}))}set(e){return Object.assign(this.options,e),this}configure(e){let t;if(typeof e=="string"){const s=e;if(t=ku[s],!t)throw new Error(`Wrong 'markdown-it' preset "${s}", check name`)}else t=e;if(!t)throw new Error("Wrong `markdown-it` preset, can't be empty");t.options&&(this.options={...t.options});const n=t.components;if(n){var l;["core","block","inline"].forEach(o=>{var a;const r=(a=n[o])===null||a===void 0?void 0:a.rules;r&&this[o].ruler.enableOnly(r)});const s=(l=n.inline)===null||l===void 0?void 0:l.rules2;s&&this.inline.ruler2.enableOnly(s)}return this}enable(e,t=!1){let n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(s=>{n=n.concat(this[s].ruler.enable(e,!0))}),n=n.concat(this.inline.ruler2.enable(e,!0));const l=e.filter(s=>n.indexOf(s)<0);if(l.length&&!t)throw new Error(`MarkdownIt. Failed to enable unknown rule(s): ${l}`);return this}disable(e,t=!1){let n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(s=>{n=n.concat(this[s].ruler.disable(e,!0))}),n=n.concat(this.inline.ruler2.disable(e,!0));const l=e.filter(s=>n.indexOf(s)<0);if(l.length&&!t)throw new Error(`MarkdownIt. Failed to disable unknown rule(s): ${l}`);return this}use(e,...t){return e.apply(e,[this,...t]),this}parse(e,t){if(typeof e!="string")throw new Error("Input data should be a String");const n=new this.core.State(e,this,t);return this.core.process(n),n.tokens}render(e,t={}){return this.renderer.render(this.parse(e,t),this.options,t)}parseInline(e,t){const n=new this.core.State(e,this,t);return n.inlineMode=!0,this.core.process(n),n.tokens}renderInline(e,t={}){return this.renderer.render(this.parseInline(e,t),this.options,t)}};g1(ae,"Token",o3);g1(ae,"Ruler",h4);g1(ae,"Renderer",D0);g1(ae,"ParserCore",B0);g1(ae,"StateCore",Z0);g1(ae,"ParserBlock",N0);g1(ae,"StateBlock",S0);g1(ae,"ParserInline",G0);g1(ae,"StateInline",K0);var Cu=I0(ae);const _u=["innerHTML"],B2=G1({__name:"Markdown",props:{source:{},class:{}},setup(e){const t=e,n=new Cu({html:!1,linkify:!0,breaks:!1}),l=z(()=>n.render(t.source??"")),s=["prose prose-sm max-w-none","prose-headings:text-foreground prose-headings:font-semibold","prose-p:text-muted-foreground prose-li:text-muted-foreground","prose-strong:text-foreground prose-em:text-foreground","prose-a:text-primary prose-a:no-underline hover:prose-a:underline","prose-code:text-foreground prose-code:before:content-none prose-code:after:content-none","prose-code:rounded prose-code:bg-muted/60 prose-code:px-1 prose-code:py-0.5","prose-pre:bg-muted/50 prose-pre:text-foreground prose-pre:border","prose-blockquote:border-border prose-blockquote:text-muted-foreground","prose-hr:border-border prose-th:text-foreground prose-td:text-muted-foreground"].join(" ");return(o,a)=>(h(),y("div",{class:o1(f(E1)(f(s),t.class)),innerHTML:l.value},null,10,_u))}}),Iu={key:0,class:"space-y-2 border-b bg-muted/30 p-3"},Mu={class:"px-3 py-2"},Eu={key:0,class:"overflow-x-auto border-t bg-destructive/10 px-3 py-2 font-mono text-xs"},Du={key:1,class:"overflow-x-auto border-t bg-success/10 px-3 py-2 font-mono text-xs"},Zu={key:1,class:"p-4 text-sm text-muted-foreground"},Fu={key:2,class:"overflow-x-auto"},Bu={class:"w-full border-collapse font-mono text-xs leading-relaxed"},Su={class:"w-12 select-none border-r px-2 text-right align-top text-muted-foreground"},Ru={class:"w-12 select-none border-r px-2 text-right align-top text-muted-foreground"},$u={class:"w-4 select-none pl-2 align-top text-muted-foreground"},Nu={class:"whitespace-pre-wrap break-all py-0.5 pr-3 align-top"},Ku={colspan:"4",class:"px-3 py-2"},Qu={class:"px-3 py-2"},Ou={key:0,class:"overflow-x-auto border-t bg-destructive/10 px-3 py-2 font-mono text-xs"},Gu={key:1,class:"overflow-x-auto border-t bg-success/10 px-3 py-2 font-mono text-xs"},Wu=G1({__name:"Diff",props:{patch:{default:""},notes:{default:()=>[]},class:{}},setup(e){const t=e,n={neutral:"bg-card",info:"border-primary/30 bg-primary/5",success:"border-success/40 bg-success/5",warning:"border-warning/40 bg-warning/5",danger:"border-destructive/40 bg-destructive/5"};function l(u){return u.severity==="blocking"?n.danger:n[u.tone??"neutral"]??n.neutral}const s=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/,o=z(()=>{const u=[];let d=0,A=0,m=!1;for(const p of(t.patch??"").split(` +`)){const g=s.exec(p);if(g){d=Number(g[1]),A=Number(g[2]),m=!0,u.push({kind:"hunk",text:p,before:null,after:null});continue}m&&(p.startsWith("+")?u.push({kind:"added",text:p.slice(1),before:null,after:A++}):p.startsWith("-")?u.push({kind:"removed",text:p.slice(1),before:d++,after:null}):p.startsWith("\\")?u.push({kind:"meta",text:p,before:null,after:null}):u.push({kind:"kept",text:p.slice(1),before:d++,after:A++}))}return u}),a={added:"bg-success/10",removed:"bg-destructive/10",hunk:"bg-muted/60 text-muted-foreground",meta:"text-muted-foreground",kept:""},r={added:"+",removed:"-",kept:" ",hunk:"",meta:""},i=z(()=>{const u=new Map;for(const d of t.notes??[])d.line&&u.set(d.line,[...u.get(d.line)??[],d]);return u}),c=z(()=>(t.notes??[]).filter(u=>!u.line));return(u,d)=>(h(),y("div",{class:o1(f(E1)("overflow-hidden rounded-md border",t.class))},[c.value.length?(h(),y("div",Iu,[(h(!0),y(e1,null,_1(c.value,(A,m)=>(h(),y("div",{key:m,class:o1(["rounded border text-sm",l(A)])},[v("div",Mu,[A.from?(h(),Q(J3,{key:0,tone:A.severity==="blocking"?"danger":A.tone??"neutral",title:String(A.from),label:String(A.from).toLowerCase(),class:"mr-2"},null,8,["tone","title","label"])):O("",!0),E(B2,{source:A.detail,class:"inline [&>p]:inline"},null,8,["source"])]),A.replacing?(h(),y("pre",Eu,F(A.replacing),1)):O("",!0),A.code?(h(),y("pre",Du,F(A.code),1)):O("",!0)],2))),128))])):O("",!0),o.value.length?(h(),y("div",Fu,[v("table",Bu,[v("tbody",null,[(h(!0),y(e1,null,_1(o.value,(A,m)=>(h(),y(e1,{key:m},[v("tr",{class:o1(a[A.kind])},[v("td",Su,F(A.before??""),1),v("td",Ru,F(A.after??""),1),v("td",$u,F(r[A.kind]),1),v("td",Nu,F(A.text),1)],2),(h(!0),y(e1,null,_1(i.value.get(A.after??-1)??[],(p,g)=>(h(),y("tr",{key:`${m}-${g}`},[v("td",Ku,[v("div",{class:o1(["rounded border font-sans text-sm",l(p)])},[v("div",Qu,[p.from?(h(),Q(J3,{key:0,tone:p.severity==="blocking"?"danger":p.tone??"neutral",title:String(p.from),label:String(p.from).toLowerCase(),class:"mr-2"},null,8,["tone","title","label"])):O("",!0),E(B2,{source:p.detail,class:"inline [&>p]:inline"},null,8,["source"])]),p.replacing?(h(),y("pre",Ou,F(p.replacing),1)):O("",!0),p.code?(h(),y("pre",Gu,F(p.code),1)):O("",!0)],2)])]))),128))],64))),128))])])])):(h(),y("div",Zu," Nothing to show for this one. It may be a file git stores whole rather than as lines. "))],2))}}),Lu={class:"flex items-center gap-2.5"},Vu=G1({__name:"Logo",props:{size:{default:"md"},showText:{type:Boolean,default:!0}},setup(e){const t={sm:"h-7 w-7 min-h-7 min-w-7",md:"h-8 w-8 min-h-8 min-w-8",lg:"h-10 w-10 min-h-10 min-w-10"},n={sm:"text-base",md:"text-lg",lg:"text-xl"};return(l,s)=>(h(),y("div",Lu,[v("div",{class:o1([t[e.size],"relative flex-shrink-0"])},[...s[0]||(s[0]=[$s('',1)])],2),e.showText?(h(),y("span",{key:0,class:o1([n[e.size],"font-semibold tracking-tight"])},[...s[1]||(s[1]=[v("span",{class:"text-brand"},"Source",-1),v("span",{class:"text-brand"},"Ant",-1),v("span",{class:"text-muted-foreground font-normal ml-1"},"Memory",-1)])],2)):O("",!0)]))}}),Tu={key:0,class:"fixed inset-0 z-50 flex items-center justify-center p-4"},g6=G1({__name:"Modal",props:{open:{type:Boolean},class:{},maxWidth:{default:"lg"}},emits:["close"],setup(e,{emit:t}){const n=e,l=t,s={sm:"max-w-sm",md:"max-w-md",lg:"max-w-lg",xl:"max-w-xl","2xl":"max-w-2xl"};function o(a){a.key==="Escape"&&l("close")}return o2(()=>window.addEventListener("keydown",o)),a3(()=>window.removeEventListener("keydown",o)),(a,r)=>(h(),Q(Yl,{to:"body"},[E(I8,{"enter-active-class":"transition duration-200","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-active-class":"transition duration-150","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:M(()=>[e.open?(h(),y("div",Tu,[v("div",{class:"absolute inset-0 bg-background/80 backdrop-blur-sm",onClick:r[0]||(r[0]=i=>l("close"))}),E(Q1,{class:o1(f(E1)("relative w-full max-h-[85vh] overflow-auto p-6 animate-fade-up",s[e.maxWidth],n.class))},{default:M(()=>[v("button",{class:"absolute top-4 right-4 p-1 rounded-md text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",onClick:r[1]||(r[1]=i=>l("close"))},[E(f(i3),{class:"h-4 w-4"})]),O1(a.$slots,"default")]),_:3},8,["class"])])):O("",!0)]),_:3})]))}}),Pu=["role"],Hu={class:"min-w-0 flex-1"},l2=G1({__name:"Notice",props:{tone:{default:"info"},icon:{type:Boolean,default:!0},class:{}},setup(e){const t=e,n={info:"border-border bg-muted/50 text-foreground",success:"border-success/40 bg-success/10 text-foreground",warning:"border-warning/40 bg-warning/10 text-foreground",danger:"border-destructive/40 bg-destructive/10 text-foreground"},l={info:Hr,success:i6,warning:et,danger:Z5},s={info:"text-muted-foreground",success:"text-success",warning:"text-warning",danger:"text-destructive"},o=z(()=>l[t.tone]);return(a,r)=>(h(),y("div",{class:o1(f(E1)("flex gap-3 rounded-md border px-4 py-3 text-sm",n[e.tone],t.class)),role:e.tone==="danger"?"alert":"status"},[e.icon?(h(),Q(h2(o.value),{key:0,class:o1(f(E1)("mt-0.5 h-4 w-4 shrink-0",s[e.tone]))},null,8,["class"])):O("",!0),v("div",Hu,[O1(a.$slots,"default")]),O1(a.$slots,"actions")],10,Pu))}}),Yu={class:"relative flex h-2 w-2 shrink-0"},Uu={key:0,class:"text-muted-foreground tabular-nums"},W0=G1({__name:"Status",props:{tone:{default:"neutral"},label:{},count:{default:null},busy:{type:Boolean,default:!1},class:{}},setup(e){const t=e,n={neutral:"bg-muted-foreground",info:"bg-primary",success:"bg-success",warning:"bg-warning",danger:"bg-destructive"},l={neutral:"text-muted-foreground",info:"text-foreground",success:"text-foreground",warning:"text-foreground",danger:"text-foreground"},s=z(()=>t.count===null||t.count===void 0?null:t.count);return(o,a)=>(h(),y("span",{class:o1(f(E1)("inline-flex items-center gap-2 text-sm font-medium",l[e.tone],t.class)),role:"status"},[v("span",Yu,[e.busy?(h(),y("span",{key:0,class:o1(f(E1)("absolute inline-flex h-full w-full animate-ping rounded-full opacity-60",n[e.tone]))},null,2)):O("",!0),v("span",{class:o1(f(E1)("relative inline-flex h-2 w-2 rounded-full",n[e.tone]))},null,2)]),v("span",null,F(e.label),1),s.value!==null?(h(),y("span",Uu,F(s.value),1)):O("",!0)],2))}}),Ju={key:0,class:"mb-3 flex justify-center text-muted-foreground"},zu={key:1,class:"mx-auto mt-1 max-w-lg text-sm text-muted-foreground"},ju={key:2,class:"mt-4 flex flex-wrap items-center justify-center gap-2"},Re=G1({__name:"Empty",props:{title:{},compact:{type:Boolean,default:!1},class:{}},setup(e){const t=e;return(n,l)=>(h(),Q(Q1,{class:o1(f(E1)("px-6 text-center",t.compact?"py-8":"py-16",t.class))},{default:M(()=>[n.$slots.icon?(h(),y("div",Ju,[O1(n.$slots,"icon")])):O("",!0),v("h2",{class:o1(f(E1)("font-semibold",t.compact?"text-base":"text-lg"))},F(e.title),3),n.$slots.default?(h(),y("p",zu,[O1(n.$slots,"default")])):O("",!0),n.$slots.actions?(h(),y("div",ju,[O1(n.$slots,"actions")])):O("",!0)]),_:3},8,["class"]))}}),Xu={class:"relative flex items-center justify-center"},qu={class:"animate-fade-in space-y-1.5"},L0=G1({__name:"Loading",props:{label:{default:"Working"},source:{},note:{},size:{default:"md"},fill:{type:Boolean,default:!0},class:{}},setup(e){const t=e,n={sm:"h-10 w-10",md:"h-14 w-14",lg:"h-16 w-16"},l={sm:"h-14 w-14",md:"h-20 w-20",lg:"h-24 w-24"},s={sm:"h-1.5 w-1.5",md:"h-2 w-2",lg:"h-2.5 w-2.5"},o={sm:"text-xs",md:"text-sm",lg:"text-base"},a={sm:"text-[11px]",md:"text-xs",lg:"text-sm"},r=z(()=>t.size==="sm"?"py-8":"py-16"),i=z(()=>t.source?`${t.label} from ${t.source}`:t.label);return(c,u)=>(h(),y("div",{class:o1(f(E1)("flex flex-col items-center justify-center gap-5 px-6 text-center",e.fill?"min-h-0 flex-1":r.value,t.class)),role:"status","aria-live":"polite"},[v("div",Xu,[v("span",{class:o1(f(E1)("absolute animate-pulse rounded-full bg-primary/25 blur-2xl",l[e.size])),"aria-hidden":"true"},null,2),v("span",{class:o1(f(E1)("rounded-full border-2 border-border/70",n[e.size])),"aria-hidden":"true"},null,2),v("span",{class:o1(f(E1)("absolute animate-spin rounded-full border-2 border-transparent border-t-primary border-r-primary/50",n[e.size])),"aria-hidden":"true"},null,2),v("span",{class:o1(f(E1)("absolute animate-pulse rounded-full bg-primary",s[e.size])),"aria-hidden":"true"},null,2)]),v("div",qu,[v("p",{class:o1(f(E1)("font-medium text-foreground",o[e.size]))},F(i.value),3),e.note||c.$slots.default?(h(),y("p",{key:0,class:o1(f(E1)("mx-auto max-w-md text-muted-foreground",a[e.size]))},[O1(c.$slots,"default",{},()=>[V(F(e.note),1)])],2)):O("",!0)])],2))}}),ed={key:0,class:"shrink-0"},td={class:"truncate"},nd=G1({__name:"Origin",props:{name:{},mono:{type:Boolean,default:!0},class:{}},setup(e){const t=e;return(n,l)=>(h(),y("span",{class:o1(f(E1)("inline-flex max-w-full items-center gap-1 rounded border border-border/60 bg-muted/40 px-1.5 py-0.5 text-[11px] text-muted-foreground",t.mono&&"font-mono",t.class))},[n.$slots.icon?(h(),y("span",ed,[O1(n.$slots,"icon")])):O("",!0),v("span",td,F(e.name),1)],2))}}),ld={class:"font-semibold"},sd={class:"mt-3"},Ye=G1({__name:"Section",props:{title:{},tone:{default:"neutral"},count:{default:null},collapsible:{type:Boolean,default:!1},closed:{type:Boolean,default:!1},class:{}},setup(e){const t=e,n=P(!t.closed),l={neutral:"text-muted-foreground",info:"text-primary",success:"text-success",warning:"text-warning",danger:"text-destructive"},s={neutral:"bg-muted text-muted-foreground",info:"bg-primary/10 text-primary",success:"bg-success/10 text-success",warning:"bg-warning/10 text-warning",danger:"bg-destructive/10 text-destructive"},o=z(()=>t.collapsible?n.value:!0);return(a,r)=>(h(),y("section",{class:o1(f(E1)("py-4 first:pt-0 last:pb-0",t.class))},[(h(),Q(h2(e.collapsible?"button":"div"),{type:e.collapsible?"button":void 0,"aria-expanded":e.collapsible?String(n.value):void 0,class:o1(f(E1)("flex w-full items-center gap-2 text-left",e.collapsible&&"cursor-pointer")),onClick:r[0]||(r[0]=i=>e.collapsible&&(n.value=!n.value))},{default:M(()=>[a.$slots.icon?(h(),y("span",{key:0,class:o1(f(E1)("shrink-0",l[e.tone]))},[O1(a.$slots,"icon")],2)):O("",!0),v("h2",ld,F(e.title),1),e.count!==null?(h(),y("span",{key:1,class:o1(f(E1)("rounded-full px-2 py-0.5 text-xs font-medium tabular-nums",s[e.tone]))},F(e.count),3)):O("",!0),e.collapsible?(h(),Q(f(It),{key:2,class:o1(f(E1)("ml-auto h-4 w-4 shrink-0 text-muted-foreground transition-transform",n.value&&"rotate-180"))},null,8,["class"])):O("",!0)]),_:3},8,["type","aria-expanded","class"])),te(v("div",sd,[O1(a.$slots,"default")],512),[[n6,o.value]])],2))}});function O2(e){return e.replace(/&/g,"&").replace(/'/g,"'").replace(/"/g,""").replace(//g,">")}function od(e){var t,n,l,s,o,a,r;const i=(t=e.meta)===null||t===void 0?void 0:t.title,c=(n=e.meta)===null||n===void 0?void 0:n.creator,u=(l=e.meta)===null||l===void 0?void 0:l.source,d=(o=(s=e.meta)===null||s===void 0?void 0:s.license)===null||o===void 0?void 0:o.url,A=ad(e);return!i&&!c&&!u&&!d&&!A?"":''+(i?`${O2(i)}`:"")+(c?`${O2(c)}`:"")+(u?`${O2((r=(a=e.meta)===null||a===void 0?void 0:a.source)!==null&&r!==void 0?r:"")}`:"")+(d?`${O2(d)}`:"")+(A?`${O2(A)}`:"")+""}function ad(e){var t,n,l,s,o,a,r,i,c,u,d,A,m,p,g;let x=!((t=e.meta)===null||t===void 0)&&t.title?`„${(n=e.meta)===null||n===void 0?void 0:n.title}”`:"Design",$=`„${(s=(l=e.meta)===null||l===void 0?void 0:l.creator)!==null&&s!==void 0?s:"Unknown"}”`;!((o=e.meta)===null||o===void 0)&&o.source&&(x+=` (${e.meta.source})`);let k="";return((r=(a=e.meta)===null||a===void 0?void 0:a.license)===null||r===void 0?void 0:r.name)!=="MIT"&&((i=e.meta)===null||i===void 0?void 0:i.creator)!=="DiceBear"&&(!((c=e.meta)===null||c===void 0)&&c.title)&&(k+="Remix of "),k+=`${x} by ${$}`,!((d=(u=e.meta)===null||u===void 0?void 0:u.license)===null||d===void 0)&&d.name&&(k+=`, licensed under „${(m=(A=e.meta)===null||A===void 0?void 0:A.license)===null||m===void 0?void 0:m.name}”`,!((g=(p=e.meta)===null||p===void 0?void 0:p.license)===null||g===void 0)&&g.url&&(k+=` (${e.meta.license.url})`)),k}const en=-2147483648,rd=2147483647,id=1024;function V0(e){return e^=e<<13,e^=e>>17,e^=e<<5,e}function cd(e){let t=0;for(let n=0;nt=V0(t),l=(s,o)=>Math.floor((n()-en)/(rd-en)*(o+1-s)+s);return{seed:e,next:n,bool(s=50){return l(1,100)<=s},integer(s,o){return l(s,o)},pick(s,o){var a;return s.length===0?(n(),o):(a=s[l(0,s.length-1)])!==null&&a!==void 0?a:o},shuffle(s){const o=lt(n().toString()),a=[...s];for(let r=a.length-1;r>0;r--){const i=o.integer(0,r);[a[r],a[i]]=[a[i],a[r]]}return a},string(s,o="abcdefghijklmnopqrstuvwxyz1234567890"){const a=lt(n().toString());let r="";for(let i=0;i`;switch(l){case"solid":return c+e.body;case"gradientLinear":return``+e.body}}function dd(e,t){let{width:n,height:l,x:s,y:o}=Z3(e),a=t?(t-100)/100:0,r=(n/2+s)*a*-1,i=(l/2+o)*a*-1;return`${e.body}`}function fd(e,t,n){let l=Z3(e),s=(l.width+l.x*2)*((t??0)/100),o=(l.height+l.y*2)*((n??0)/100);return`${e.body}`}function hd(e,t){let{width:n,height:l,x:s,y:o}=Z3(e);return`${e.body}`}function Ad(e){let{width:t,x:n}=Z3(e);return`${e.body}`}function pd(e,t){let{width:n,height:l,x:s,y:o}=Z3(e),a=t?n*t/100:0,r=t?l*t/100:0;return`${e.body}`}function md(e){const t={xmlns:"http://www.w3.org/2000/svg",...e.attributes};return Object.keys(t).map(n=>`${O2(n)}="${O2(t[n])}"`).join(" ")}function gd(e){const t=lt(Math.random().toString()),n={};return e.body.replace(/(id="|url\(#)([a-z0-9-_]+)([")])/gi,(l,s,o,a)=>(n[o]=n[o]||t.string(8),`${s}${n[o]}${a}`))}const vd={properties:{seed:{type:"string"},flip:{type:"boolean",default:!1},rotate:{type:"integer",minimum:0,maximum:360,default:0},scale:{type:"integer",minimum:0,maximum:200,default:100},radius:{type:"integer",minimum:0,maximum:50,default:0},size:{type:"integer",minimum:1},backgroundColor:{type:"array",items:{type:"string",pattern:"^(transparent|[a-fA-F0-9]{6})$"}},backgroundType:{type:"array",items:{type:"string",enum:["solid","gradientLinear"]},default:["solid"]},backgroundRotation:{type:"array",items:{type:"integer",minimum:-360,maximum:360},default:[0,360]},translateX:{type:"integer",minimum:-100,maximum:100,default:0},translateY:{type:"integer",minimum:-100,maximum:100,default:0},clip:{type:"boolean",default:!0},randomizeIds:{type:"boolean",default:!1}}};function tn(e){var t;let n={},l=(t=e.properties)!==null&&t!==void 0?t:{};return Object.keys(l).forEach(s=>{let o=l[s];typeof o=="object"&&o.default!==void 0&&(Array.isArray(o.default)?n[s]=[...o.default]:typeof o.default=="object"?n[s]={...o.default}:n[s]=o.default)}),n}function yd(e,t){var n;let l={...tn(vd),...tn((n=e.schema)!==null&&n!==void 0?n:{}),...t};return JSON.parse(JSON.stringify(l))}function nn(e){return e==="transparent"?e:`#${e}`}function bd(e,t,n){var l;let s=e.shuffle(t);s.length<=1||t.length==2&&n=="gradientLinear"?(s=t,e.next()):s=e.shuffle(t),s.length===0&&(s=["transparent"]);const o=s[0],a=(l=s[1])!==null&&l!==void 0?l:s[0];return{primary:nn(o),secondary:nn(a)}}function kd(e,t={}){var n,l,s,o,a;t=yd(e,t);const r=lt(t.seed),i=e.create({prng:r,options:t}),c=r.pick((n=t.backgroundType)!==null&&n!==void 0?n:[],"solid"),{primary:u,secondary:d}=bd(r,(l=t.backgroundColor)!==null&&l!==void 0?l:[],c),A=r.integer(!((s=t.backgroundRotation)===null||s===void 0)&&s.length?Math.min(...t.backgroundRotation):0,!((o=t.backgroundRotation)===null||o===void 0)&&o.length?Math.max(...t.backgroundRotation):0);t.size&&(i.attributes.width=t.size.toString(),i.attributes.height=t.size.toString()),t.scale!==void 0&&t.scale!==100&&(i.body=dd(i,t.scale)),t.flip&&(i.body=Ad(i)),t.rotate&&(i.body=hd(i,t.rotate)),(t.translateX||t.translateY)&&(i.body=fd(i,t.translateX,t.translateY)),u!=="transparent"&&d!=="transparent"&&(i.body=ud(i,u,d,c,A)),(t.radius||t.clip)&&(i.body=pd(i,(a=t.radius)!==null&&a!==void 0?a:0)),t.randomizeIds&&(i.body=gd(i));const m=md(i),p=od(e),g=`${p}${i.body}`;return{toString:()=>g,toJson:()=>{var x;return{svg:g,extra:{primaryBackgroundColor:u,secondaryBackgroundColor:d,backgroundType:c,backgroundRotation:A,...(x=i.extra)===null||x===void 0?void 0:x.call(i)}}},toDataUri:()=>`data:image/svg+xml;utf8,${encodeURIComponent(g)}`}}const xd={variant01:(e,t)=>''},wd={variant25:(e,t)=>'',variant24:(e,t)=>'',variant23:(e,t)=>'',variant22:(e,t)=>'',variant21:(e,t)=>'',variant20:(e,t)=>'',variant19:(e,t)=>'',variant18:(e,t)=>'',variant17:(e,t)=>'',variant16:(e,t)=>'',variant15:(e,t)=>'',variant14:(e,t)=>'',variant13:(e,t)=>'',variant12:(e,t)=>'',variant11:(e,t)=>'',variant10:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`},variant09:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`},variant08:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`},variant07:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`},variant06:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`},variant05:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`},variant04:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`},variant03:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`},variant02:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`},variant01:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`}},Cd={variant63:(e,t)=>'',variant62:(e,t)=>'',variant61:(e,t)=>'',variant60:(e,t)=>'',variant59:(e,t)=>'',variant58:(e,t)=>'',variant57:(e,t)=>'',variant56:(e,t)=>'',variant55:(e,t)=>'',variant54:(e,t)=>'',variant53:(e,t)=>'',variant52:(e,t)=>'',variant51:(e,t)=>'',variant50:(e,t)=>'',variant49:(e,t)=>'',variant48:(e,t)=>'',variant47:(e,t)=>'',variant46:(e,t)=>'',variant45:(e,t)=>'',variant44:(e,t)=>'',variant43:(e,t)=>'',variant42:(e,t)=>'',variant41:(e,t)=>'',variant40:(e,t)=>'',variant39:(e,t)=>'',variant38:(e,t)=>'',variant37:(e,t)=>'',variant36:(e,t)=>'',variant35:(e,t)=>'',variant34:(e,t)=>'',variant33:(e,t)=>'',variant32:(e,t)=>'',variant31:(e,t)=>'',variant30:(e,t)=>'',variant29:(e,t)=>'',variant28:(e,t)=>'',variant27:(e,t)=>'',variant26:(e,t)=>'',variant25:(e,t)=>'',variant24:(e,t)=>'',variant23:(e,t)=>'',variant22:(e,t)=>'',variant21:(e,t)=>'',variant20:(e,t)=>'',variant19:(e,t)=>'',variant18:(e,t)=>'',variant17:(e,t)=>'',variant16:(e,t)=>'',variant15:(e,t)=>'',variant14:(e,t)=>'',variant13:(e,t)=>'',variant12:(e,t)=>'',variant11:(e,t)=>'',variant10:(e,t)=>'',variant09:(e,t)=>'',variant08:(e,t)=>'',variant07:(e,t)=>'',variant06:(e,t)=>'',variant05:(e,t)=>'',variant04:(e,t)=>'',variant03:(e,t)=>'',variant02:(e,t)=>'',variant01:(e,t)=>'',hat:(e,t)=>''},_d={variant30:(e,t)=>'',variant29:(e,t)=>'',variant28:(e,t)=>'',variant27:(e,t)=>'',variant26:(e,t)=>'',variant25:(e,t)=>'',variant24:(e,t)=>'',variant23:(e,t)=>'',variant22:(e,t)=>'',variant21:(e,t)=>'',variant20:(e,t)=>'',variant19:(e,t)=>'',variant18:(e,t)=>'',variant17:(e,t)=>'',variant16:(e,t)=>'',variant15:(e,t)=>'',variant14:(e,t)=>'',variant13:(e,t)=>'',variant12:(e,t)=>'',variant11:(e,t)=>'',variant10:(e,t)=>'',variant09:(e,t)=>'',variant08:(e,t)=>'',variant07:(e,t)=>'',variant06:(e,t)=>'',variant05:(e,t)=>'',variant04:(e,t)=>'',variant03:(e,t)=>'',variant02:(e,t)=>'',variant01:(e,t)=>''},Id={variant12:(e,t)=>'',variant11:(e,t)=>'',variant10:(e,t)=>'',variant09:(e,t)=>'',variant08:(e,t)=>'',variant07:(e,t)=>'',variant06:(e,t)=>'',variant05:(e,t)=>'',variant04:(e,t)=>'',variant03:(e,t)=>'',variant02:(e,t)=>'',variant01:(e,t)=>''},Md={variant20:(e,t)=>'',variant19:(e,t)=>'',variant18:(e,t)=>'',variant17:(e,t)=>'',variant16:(e,t)=>'',variant15:(e,t)=>'',variant14:(e,t)=>'',variant13:(e,t)=>'',variant12:(e,t)=>'',variant11:(e,t)=>'',variant10:(e,t)=>'',variant09:(e,t)=>'',variant08:(e,t)=>'',variant07:(e,t)=>'',variant06:(e,t)=>'',variant05:(e,t)=>'',variant04:(e,t)=>'',variant03:(e,t)=>'',variant02:(e,t)=>'',variant01:(e,t)=>''},Ed={variant05:(e,t)=>'',variant04:(e,t)=>'',variant03:(e,t)=>'',variant02:(e,t)=>'',variant01:(e,t)=>''},Dd={variant11:(e,t)=>'',variant10:(e,t)=>'',variant09:(e,t)=>'',variant08:(e,t)=>'',variant07:(e,t)=>'',variant06:(e,t)=>'',variant05:(e,t)=>'',variant04:(e,t)=>'',variant03:(e,t)=>'',variant02:(e,t)=>'',variant01:(e,t)=>''},Zd={variant13:(e,t)=>'',variant12:(e,t)=>'',variant11:(e,t)=>'',variant10:(e,t)=>'',variant09:(e,t)=>'',variant08:(e,t)=>'',variant07:(e,t)=>'',variant06:(e,t)=>'',variant05:(e,t)=>'',variant04:(e,t)=>'',variant03:(e,t)=>'',variant02:(e,t)=>'',variant01:(e,t)=>''},Fd={wavePointLongArms:(e,t)=>'',waveOkLongArms:(e,t)=>'',waveLongArms:(e,t)=>'',waveLongArm:(e,t)=>'',pointLongArm:(e,t)=>'',okLongArm:(e,t)=>'',point:(e,t)=>'',ok:(e,t)=>'',hand:(e,t)=>'',handPhone:(e,t)=>''},Bd={electric:(e,t)=>'',saturn:(e,t)=>'',galaxy:(e,t)=>''},Sd=Object.freeze(Object.defineProperty({__proto__:null,base:xd,beard:Id,body:wd,bodyIcon:Bd,brows:Zd,eyes:Ed,gesture:Fd,glasses:Dd,hair:Cd,lips:_d,nose:Md},Symbol.toStringTag,{value:"Module"}));function N2({prng:e,group:t,values:n=[]}){const l=Sd,s=e.pick(n);if(s&&l[t][s])return{name:s,value:l[t][s]}}function Rd({prng:e,options:t}){const n=N2({prng:e,group:"base",values:t.base}),l=N2({prng:e,group:"body",values:t.body}),s=N2({prng:e,group:"hair",values:t.hair}),o=N2({prng:e,group:"lips",values:t.lips}),a=N2({prng:e,group:"beard",values:t.beard}),r=N2({prng:e,group:"nose",values:t.nose}),i=N2({prng:e,group:"eyes",values:t.eyes}),c=N2({prng:e,group:"glasses",values:t.glasses}),u=N2({prng:e,group:"brows",values:t.brows}),d=N2({prng:e,group:"gesture",values:t.gesture}),A=N2({prng:e,group:"bodyIcon",values:t.bodyIcon});return{base:n,body:l,hair:s,lips:o,beard:e.bool(t.beardProbability)?a:void 0,nose:r,eyes:i,glasses:e.bool(t.glassesProbability)?c:void 0,brows:u,gesture:e.bool(t.gestureProbability)?d:void 0,bodyIcon:e.bool(t.bodyIconProbability)?A:void 0}}function $d({prng:e,options:t}){return{}}const Nd={$schema:"http://json-schema.org/draft-07/schema#",properties:{base:{type:"array",items:{type:"string",enum:["variant01"]},default:["variant01"]},beard:{type:"array",items:{type:"string",enum:["variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},default:["variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},beardProbability:{type:"integer",minimum:0,maximum:100,default:10},body:{type:"array",items:{type:"string",enum:["variant25","variant24","variant23","variant22","variant21","variant20","variant19","variant18","variant17","variant16","variant15","variant14","variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},default:["variant25","variant24","variant23","variant22","variant21","variant20","variant19","variant18","variant17","variant16","variant15","variant14","variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},bodyIcon:{type:"array",items:{type:"string",enum:["electric","saturn","galaxy"]},default:["electric","saturn","galaxy"]},bodyIconProbability:{type:"integer",minimum:0,maximum:100,default:75},brows:{type:"array",items:{type:"string",enum:["variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},default:["variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},eyes:{type:"array",items:{type:"string",enum:["variant05","variant04","variant03","variant02","variant01"]},default:["variant05","variant04","variant03","variant02","variant01"]},gesture:{type:"array",items:{type:"string",enum:["wavePointLongArms","waveOkLongArms","waveLongArms","waveLongArm","pointLongArm","okLongArm","point","ok","hand","handPhone"]},default:["wavePointLongArms","waveOkLongArms","waveLongArms","waveLongArm","pointLongArm","okLongArm","point","ok","hand","handPhone"]},gestureProbability:{type:"integer",minimum:0,maximum:100,default:10},glasses:{type:"array",items:{type:"string",enum:["variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},default:["variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},glassesProbability:{type:"integer",minimum:0,maximum:100,default:20},hair:{type:"array",items:{type:"string",enum:["variant63","variant62","variant61","variant60","variant59","variant58","variant57","variant56","variant55","variant54","variant53","variant52","variant51","variant50","variant49","variant48","variant47","variant46","variant45","variant44","variant43","variant42","variant41","variant40","variant39","variant38","variant37","variant36","variant35","variant34","variant33","variant32","variant31","variant30","variant29","variant28","variant27","variant26","variant25","variant24","variant23","variant22","variant21","variant20","variant19","variant18","variant17","variant16","variant15","variant14","variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01","hat"]},default:["variant63","variant62","variant61","variant60","variant59","variant58","variant57","variant56","variant55","variant54","variant53","variant52","variant51","variant50","variant49","variant48","variant47","variant46","variant45","variant44","variant43","variant42","variant41","variant40","variant39","variant38","variant37","variant36","variant35","variant34","variant33","variant32","variant31","variant30","variant29","variant28","variant27","variant26","variant25","variant24","variant23","variant22","variant21","variant20","variant19","variant18","variant17","variant16","variant15","variant14","variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01","hat"]},lips:{type:"array",items:{type:"string",enum:["variant30","variant29","variant28","variant27","variant26","variant25","variant24","variant23","variant22","variant21","variant20","variant19","variant18","variant17","variant16","variant15","variant14","variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},default:["variant30","variant29","variant28","variant27","variant26","variant25","variant24","variant23","variant22","variant21","variant20","variant19","variant18","variant17","variant16","variant15","variant14","variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},nose:{type:"array",items:{type:"string",enum:["variant20","variant19","variant18","variant17","variant16","variant15","variant14","variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},default:["variant20","variant19","variant18","variant17","variant16","variant15","variant14","variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]}}},Kd={title:"Notionists",creator:"Zoish",source:"https://heyzoish.gumroad.com/l/notionists",homepage:"https://bio.link/heyzoish",license:{name:"CC0 1.0",url:"https://creativecommons.org/publicdomain/zero/1.0/"}},Qd=({prng:e,options:t})=>{var n,l,s,o,a,r,i,c,u,d,A,m,p,g,x,$,k,K,I,w;const S=Rd({prng:e,options:t}),B=$d({prng:e,options:t});return{attributes:{viewBox:"0 0 1744 1744",fill:"none","shape-rendering":"auto"},body:`${(l=(n=S.base)===null||n===void 0?void 0:n.value(S,B))!==null&&l!==void 0?l:""}${(o=(s=S.body)===null||s===void 0?void 0:s.value(S,B))!==null&&o!==void 0?o:""}${(r=(a=S.hair)===null||a===void 0?void 0:a.value(S,B))!==null&&r!==void 0?r:""}${(c=(i=S.lips)===null||i===void 0?void 0:i.value(S,B))!==null&&c!==void 0?c:""}${(d=(u=S.beard)===null||u===void 0?void 0:u.value(S,B))!==null&&d!==void 0?d:""}${(m=(A=S.nose)===null||A===void 0?void 0:A.value(S,B))!==null&&m!==void 0?m:""}${(g=(p=S.eyes)===null||p===void 0?void 0:p.value(S,B))!==null&&g!==void 0?g:""}${($=(x=S.glasses)===null||x===void 0?void 0:x.value(S,B))!==null&&$!==void 0?$:""}${(K=(k=S.brows)===null||k===void 0?void 0:k.value(S,B))!==null&&K!==void 0?K:""}${(w=(I=S.gesture)===null||I===void 0?void 0:I.value(S,B))!==null&&w!==void 0?w:""}`,extra:()=>({...Object.entries(S).reduce((_,[D,C])=>(_[D]=C==null?void 0:C.name,_),{}),...Object.entries(B).reduce((_,[D,C])=>(_[`${D}Color`]=C,_),{})})}},Od=Object.freeze(Object.defineProperty({__proto__:null,create:Qd,meta:Kd,schema:Nd},Symbol.toStringTag,{value:"Module"})),Q5=P(!0);function ln(e){Q5.value=e,document.documentElement.classList.toggle("dark",e),document.documentElement.classList.toggle("light",!e);try{localStorage.setItem("sourceant-theme",e?"dark":"light")}catch{}}function T0(){return{isDark:Q5,toggleTheme:()=>ln(!Q5.value),restoreTheme:()=>{let e=null;try{e=localStorage.getItem("sourceant-theme")}catch{e=null}ln(e!=="light")}}}async function Y1(e,t={}){const n=await fetch(e,{...t,headers:t.body?{"Content-Type":"application/json"}:void 0}),l=await n.text(),s=l?JSON.parse(l):null;if(!n.ok)throw new Error((s==null?void 0:s.error)||`the agent answered ${n.status}`);return s}const F2=e=>new URLSearchParams(Object.entries(e).filter(([,t])=>t!==""&&t!==!1)),w1={status:()=>Y1("/health"),repositories:()=>Y1("/api/repositories"),addRepository:(e,t)=>Y1("/api/repositories",{method:"POST",body:JSON.stringify({path:e,name:t})}),dropRepository:e=>Y1(`/api/repositories?${F2({path:e})}`,{method:"DELETE"}),index:(e="",{everything:t=!1,update:n=!1}={})=>Y1("/api/index",{method:"POST",body:JSON.stringify({repository:e,everything:t,update:n})}),attention:e=>Y1(`/api/attention?${F2({repository:e})}`),graph:(e,{includeTests:t=!1,pathPrefix:n="",q:l="",nodeLimit:s=0}={})=>Y1(`/api/graph?${F2({repository:e,include_tests:t,path_prefix:n,q:l,node_limit:s||""})}`),nodes:(e,{labels:t=[],limit:n=1}={})=>Y1(`/api/nodes?${F2({repository:e,limit:n})}${t.map(l=>`&labels=${encodeURIComponent(l)}`).join("")}`),knowledge:e=>Y1(`/api/knowledge?${F2({repository:e,limit:100})}`),recordKnowledge:e=>Y1("/api/knowledge",{method:"PUT",body:JSON.stringify(e)}),forgetKnowledge:(e,t)=>Y1(`/api/knowledge?${F2({repository:e,id:t})}`,{method:"DELETE"}),browse:(e="",t="")=>Y1(`/api/browse?${F2({path:e,q:t})}`),initialize:(e,{dryRun:t=!1,useModel:n=!1}={})=>Y1("/api/knowledge/initialize",{method:"POST",body:JSON.stringify({repository:e,dry_run:t,use_model:n})}),skills:(e="")=>Y1(`/api/skills?${F2({repository:e})}`),uses:()=>Y1("/api/skills/uses"),skill:(e,t="")=>Y1(`/api/skills/${e}?${F2({repository:t})}`),recordSkill:e=>Y1("/api/skills",{method:"PUT",body:JSON.stringify({scope:"repository",paths:[],applications:{},type:"",...e})}),forgetSkill:(e,t,n)=>Y1(`/api/skills?${F2({repository:e,scope:t,id:n})}`,{method:"DELETE"}),startReview:(e,{against:t="",title:n="",description:l="",skills:s=[],useModel:o=!0}={})=>Y1("/api/reviews",{method:"POST",body:JSON.stringify({repository:e,against:t,title:n,description:l,skills:s,use_model:o})}),reviewed:e=>Y1(`/api/reviews/${e}`),reviews:(e="")=>Y1(`/api/reviews?${F2({repository:e})}`),settings:()=>Y1("/api/settings"),models:()=>Y1("/api/models"),checkModel:(e="",t="",n="")=>Y1("/api/models/check",{method:"POST",body:JSON.stringify({model:e,api_key:t,base_url:n})}),setSetting:(e,t)=>Y1("/api/settings",{method:"PUT",body:JSON.stringify({key:e,value:t})}),resetSetting:e=>Y1(`/api/settings?${F2({key:e})}`,{method:"DELETE"})},Ue=P([]),u3=P(""),s5=P(""),o5=P(!1),Ft="";function H2({all:e=!1}={}){const t=z(()=>e&&!u3.value&&Ue.value.length>1),n=z(()=>{var s;return u3.value||((s=Ue.value[0])==null?void 0:s.name)||""});async function l(){var s;o5.value=!0;try{Ue.value=await w1.repositories(),s5.value=""}catch(o){Ue.value=[],s5.value=`${o.message}. Is sourceant-agent running?`}finally{o5.value=!1}u3.value!==Ft&&(Ue.value.some(o=>o.name===u3.value)||(u3.value=((s=Ue.value[0])==null?void 0:s.name)??""))}return{repositories:Ue,chosen:u3,one:n,error:s5,loading:o5,mixed:t,fetchRepositories:l}}const B4=5,sn=2,Gd={__name:"Finder",props:{pages:{type:Array,required:!0}},setup(e){const t=e,n=Ce(),{repositories:l,chosen:s,fetchRepositories:o}=H2(),a=P(!1),r=P(""),i=P(!1),c=P([]),u=P([]),d=P([]);let A="",m=null;const p=z(()=>r.value.trim().toLowerCase()),g=I=>String(I??"").toLowerCase().includes(p.value),x=z(()=>p.value.lengthg(w.name)||g(w.description)).slice(0,B4).map(w=>({id:w.id,label:w.name,detail:w.description}))},{id:"knowledge",label:"Knowledge",items:u.value.filter(w=>g(w.id)||g(w.summary)).slice(0,B4).map(w=>({id:w.id,label:w.id,detail:w.summary}))},{id:"code",label:"Code",items:d.value.slice(0,B4).map(w=>({id:w.id,label:w.name||w.id,detail:w.path}))},{id:"repositories",label:"Repositories",items:l.value.filter(w=>g(w.name)||g(w.path)).slice(0,B4).map(w=>({id:w.name,label:w.name,detail:w.path}))},{id:"pages",label:"Go to",items:t.pages.filter(w=>g(w.name)).map(w=>({id:w.href,label:w.name}))}].filter(w=>w.items.length));async function $(){if(A===s.value)return;A=s.value;const[I,w]=await Promise.all([w1.skills(s.value).catch(()=>({skills:[]})),s.value?w1.knowledge(s.value).catch(()=>({items:[]})):{items:[]}]);c.value=I.skills??[],u.value=w.items??[]}async function k(){if(clearTimeout(m),p.value.length{i.value=!0;try{const I=await w1.graph(s.value,{q:r.value.trim(),nodeLimit:5e3});d.value=I.nodes??[]}catch{d.value=[]}i.value=!1},250)}P1(a,async I=>{I&&(l.value.length||await o(),await $())}),P1(r,k);function K(I,w){const S=r.value.trim();r.value="",w==="pages"?n.push(I.id):w==="repositories"?n.push(`/repositories/${I.id}`):w==="skills"?n.push(`/skills/${I.id}`):w==="knowledge"?n.push({path:"/knowledge",query:{find:S}}):w==="code"&&n.push({path:"/graph",query:{repository:s.value,q:S}})}return(I,w)=>(h(),Q(f(di),{modelValue:r.value,"onUpdate:modelValue":w[0]||(w[0]=S=>r.value=S),open:a.value,"onUpdate:open":w[1]||(w[1]=S=>a.value=S),groups:x.value,loading:i.value,context:f(s)?`This machine · ${f(s)}`:"This machine",placeholder:"Find a skill, a decision, a file…",label:"Find anything on this machine","empty-label":r.value.trim().length<2?"Type at least two letters.":"Nothing here matches that.",onSelect:K},null,8,["modelValue","open","groups","loading","context","empty-label"]))}},Wd=["value"],Ld={key:2,class:"flex items-center gap-2 text-sm"},Vd=["id"],Td={class:"text-muted-foreground"},on={__name:"SettingField",props:D6({setting:{type:Object,required:!0},options:{type:Array,default:()=>[]}},{modelValue:{required:!0},modelModifiers:{}}),emits:D6(["reset"],["update:modelValue"]),setup(e){const t=ps(e,"modelValue");function n(l){return l.secret?l.is_set:String(l.value??"")!==String(l.default??"")}return(l,s)=>(h(),Q(f(Q2),{label:e.setting.label,for:e.setting.key,hint:e.setting.description},{label:M(()=>[e.setting.secret&&e.setting.is_set?(h(),Q(f(n2),{key:0,variant:"success"},{default:M(()=>[...s[6]||(s[6]=[V("set",-1)])]),_:1})):O("",!0),n(e.setting)?(h(),y("button",{key:1,type:"button",class:"inline-flex items-center gap-1 text-[11px] font-normal normal-case tracking-normal text-muted-foreground hover:text-foreground",onClick:s[0]||(s[0]=o=>l.$emit("reset",e.setting))},[E(f(Jr),{class:"h-3 w-3"}),s[7]||(s[7]=V(" put back ",-1))])):O("",!0)]),default:M(()=>{var o;return[e.options.length?(h(),Q(f(Li),{key:0,modelValue:t.value,"onUpdate:modelValue":s[1]||(s[1]=a=>t.value=a),options:e.options,"empty-label":"Nothing chosen",placeholder:"Choose one","search-placeholder":"Search"},null,8,["modelValue","options"])):(o=e.setting.choices)!=null&&o.length?(h(),Q(f(ne),{key:1,id:e.setting.key,modelValue:t.value,"onUpdate:modelValue":s[2]||(s[2]=a=>t.value=a),class:"w-full"},{default:M(()=>[(h(!0),y(e1,null,_1(e.setting.choices,a=>(h(),y("option",{key:a,value:a},F(a),9,Wd))),128))]),_:1},8,["id","modelValue"])):e.setting.type==="bool"?(h(),y("label",Ld,[te(v("input",{id:e.setting.key,"onUpdate:modelValue":s[3]||(s[3]=a=>t.value=a),type:"checkbox",class:"h-3.5 w-3.5 rounded border"},null,8,Vd),[[bt,t.value]]),v("span",Td,F(t.value?"On":"Off"),1)])):e.setting.listed||e.setting.type==="json"?(h(),Q(f(d0),{key:3,modelValue:t.value,"onUpdate:modelValue":s[4]||(s[4]=a=>t.value=a),mono:"",noun:e.setting.type==="json"?"a path":"a folder",placeholder:e.setting.type==="json"?"node_modules":"/home/you/work/knowledgebase/skills"},null,8,["modelValue","noun","placeholder"])):(h(),Q(f(P2),{key:4,id:e.setting.key,modelValue:t.value,"onUpdate:modelValue":s[5]||(s[5]=a=>t.value=a),type:e.setting.secret?"password":e.setting.type==="int"||e.setting.type==="float"?"number":"text",autocomplete:e.setting.secret?"off":void 0,placeholder:e.setting.secret&&e.setting.is_set?"Leave empty to keep what is set":String(e.setting.default??"")},null,8,["id","modelValue","type","autocomplete","placeholder"]))]}),_:1},8,["label","for","hint"]))}},Pd={class:"space-y-4"},Hd={key:0,class:"flex items-center gap-2 py-6 text-sm text-muted-foreground"},Yd={key:0,class:"space-y-4 border-t pt-4"},Ud={key:1,class:"py-6 text-sm text-muted-foreground"},Jd={key:3,class:"flex items-center gap-3"},zd={key:0,class:"text-xs text-success"},a5="model.name",P0={__name:"SettingsPanel",props:{group:{type:String,required:!0}},emits:["saved"],setup(e,{emit:t}){const n=e,l=t,s=P([]),o=P({}),a=P(!1),r=P(!0),i=P(""),c=P(!1),u=z(()=>s.value.filter(_=>_.group===n.group)),d=P([]),A=z(()=>u.value.filter(_=>!_.advanced)),m=z(()=>u.value.filter(_=>_.advanced)),p=P(!1);function g(_){return _.secret?"":_.listed?String(_.value??"").split(` +`).map(D=>D.trim()).filter(Boolean):_.value??""}const x=(_,D)=>_.listed?(D??[]).join(` +`):D,$=(_,D)=>String(x(_,D)??"")===String(_.value??""),k=z(()=>u.value.some(_=>{const D=o.value[_.key];return _.secret?!!D:!$(_,D)})),K=z(()=>{var C;const _=d.value.flatMap(N=>N.models.map(G=>({value:G,label:G,group:N.provider}))),D=String(((C=s.value.find(N=>N.key===a5))==null?void 0:C.value)??"");return D&&!_.some(N=>N.value===D)?[{value:D,label:D,group:"In force"},..._]:_}),I=_=>_.key===a5?K.value:[];async function w(){r.value=!0;try{s.value=await w1.settings(),o.value=Object.fromEntries(u.value.map(_=>[_.key,g(_)])),u.value.some(_=>_.key===a5)&&!d.value.length&&(d.value=await w1.models().catch(()=>[])),i.value=""}catch(_){i.value=_.message}finally{r.value=!1}}async function S(){a.value=!0,c.value=!1,i.value="";try{for(const _ of u.value){const D=o.value[_.key];_.secret&&!D||!_.secret&&$(_,D)||await w1.setSetting(_.key,x(_,D))}await w(),c.value=!0,l("saved")}catch(_){i.value=_.message}finally{a.value=!1}}async function B(_){i.value="";try{await w1.resetSetting(_.key),await w()}catch(D){i.value=D.message}}return P1(()=>n.group,w),o2(w),(_,D)=>(h(),y("div",Pd,[r.value?(h(),y("p",Hd,[E(f(v2),{class:"h-4 w-4 animate-spin"}),D[1]||(D[1]=V(" Reading what this machine can be told. ",-1))])):(h(),y(e1,{key:1},[(h(!0),y(e1,null,_1(A.value,C=>(h(),Q(on,{key:C.key,modelValue:o.value[C.key],"onUpdate:modelValue":N=>o.value[C.key]=N,setting:C,options:I(C),onReset:B},null,8,["modelValue","onUpdate:modelValue","setting","options"]))),128)),m.value.length?(h(),y("div",Yd,[v("button",{type:"button",class:"flex items-center gap-1.5 text-sm text-muted-foreground hover:text-foreground",onClick:D[0]||(D[0]=C=>p.value=!p.value)},[p.value?(h(),Q(f(It),{key:0,class:"h-3.5 w-3.5"})):(h(),Q(f(o0),{key:1,class:"h-3.5 w-3.5"})),V(" Tuning ("+F(m.value.length)+") ",1)]),(h(!0),y(e1,null,_1(m.value,C=>te((h(),Q(on,{key:C.key,modelValue:o.value[C.key],"onUpdate:modelValue":N=>o.value[C.key]=N,setting:C,onReset:B},null,8,["modelValue","onUpdate:modelValue","setting"])),[[n6,p.value]])),128))])):O("",!0),u.value.length?O("",!0):(h(),y("p",Ud," Nothing in this group is configurable here. ")),i.value?(h(),Q(f(l2),{key:2,tone:"danger"},{default:M(()=>[V(F(i.value),1)]),_:1})):O("",!0),u.value.length?(h(),y("div",Jd,[E(f(x1),{disabled:a.value||!k.value,onClick:S},{default:M(()=>[a.value?(h(),Q(f(v2),{key:0,class:"mr-1.5 h-3.5 w-3.5 animate-spin"})):(h(),Q(f(Ke),{key:1,class:"mr-1.5 h-3.5 w-3.5"})),D[2]||(D[2]=V(" Save ",-1))]),_:1},8,["disabled"]),c.value&&!k.value?(h(),y("span",zd,"Saved.")):O("",!0),O1(_.$slots,"after")])):O("",!0)],64))]))}},jd={class:"relative mb-3"},Xd={class:"mb-2 text-xs font-mono text-muted-foreground break-all"},qd={class:"h-64 overflow-y-auto rounded-md border bg-muted/30"},ef=["onClick"],tf={class:"min-w-0 flex-1 truncate text-left"},nf={key:0,class:"block truncate font-mono text-xs text-muted-foreground"},lf={key:1,class:"px-3 py-6 text-center text-sm text-muted-foreground"},sf={key:2,class:"px-3 py-6 text-center text-sm text-muted-foreground"},of={class:"mt-2 text-xs text-muted-foreground"},af={class:"font-mono"},rf={key:1,role:"status",class:"mt-3 text-sm text-muted-foreground"},cf={class:"flex items-center gap-2 pt-5"},H0={__name:"FolderPicker",props:{open:Boolean},emits:["close","added"],setup(e,{emit:t}){const n=e,l=t,s=P(null),o=P(""),a=P(!1),r=P(""),i=P(""),c=P(!1),u=P(!1);async function d(g){try{s.value=await w1.browse(g),u.value=!1,i.value="",r.value=""}catch(x){r.value=x.message}}let A;async function m(){const g=i.value.trim();if(!g)return d("");clearTimeout(A),A=setTimeout(async()=>{c.value=!0;try{s.value=await w1.browse("",g),u.value=!0,r.value=""}catch(x){r.value=x.message}finally{c.value=!1}},250)}P1(()=>n.open,g=>{g&&(o.value="",i.value="",u.value=!1,r.value="",a.value=!1,d(""))});async function p(){if(s.value){a.value=!0,r.value="";try{await w1.addRepository(s.value.path,o.value.trim()),l("added"),l("close")}catch(g){r.value=g.message}finally{a.value=!1}}}return(g,x)=>(h(),Q(f(g6),{open:e.open,"max-width":"lg",onClose:x[5]||(x[5]=$=>l("close"))},{default:M(()=>{var $,k,K,I,w;return[x[10]||(x[10]=v("h2",{class:"text-lg font-semibold mb-3"},"Add folder or repository",-1)),v("div",jd,[E(f(ke),{class:"pointer-events-none absolute left-3 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground"}),E(f(P2),{modelValue:i.value,"onUpdate:modelValue":x[0]||(x[0]=S=>i.value=S),class:"pl-9 pr-9",placeholder:"Search for a folder by name",onInput:m,onKeydown:A3(K2(m,["prevent"]),["enter"])},null,8,["modelValue","onKeydown"]),i.value?(h(),y("button",{key:0,type:"button",class:"absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground","aria-label":"Clear the search",onClick:x[1]||(x[1]=S=>d(""))},[E(f(i3),{class:"h-3.5 w-3.5"})])):O("",!0)]),v("p",Xd,F(u.value?`Matches under ${($=s.value)==null?void 0:$.path}`:(k=s.value)==null?void 0:k.path),1),v("div",qd,[(K=s.value)!=null&&K.parent&&!u.value?(h(),y("button",{key:0,class:"flex w-full items-center gap-2 px-3 py-2 text-sm hover:bg-accent",onClick:x[2]||(x[2]=S=>d(s.value.parent))},[E(f(Vr),{class:"h-3.5 w-3.5"}),x[6]||(x[6]=v("span",{class:"text-muted-foreground"},"Up one",-1))])):O("",!0),(h(!0),y(e1,null,_1(((I=s.value)==null?void 0:I.entries)??[],S=>(h(),y("button",{key:S.path,class:"flex w-full items-center gap-2 px-3 py-2 text-sm hover:bg-accent",onClick:B=>d(S.path)},[E(f(c6),{class:"h-3.5 w-3.5 shrink-0 text-muted-foreground"}),v("span",tf,[V(F(S.name)+" ",1),u.value?(h(),y("span",nf,F(S.path),1)):O("",!0)]),S.repository?(h(),Q(f(n2),{key:0,variant:"glow",class:"ml-auto shrink-0"},{default:M(()=>[...x[7]||(x[7]=[V("git",-1)])]),_:1})):O("",!0)],8,ef))),128)),c.value?(h(),y("p",lf," Looking… ")):s.value&&s.value.entries.length===0?(h(),y("p",sf,F(u.value?"Nothing under your home folder matches that.":"Nothing inside."),1)):O("",!0)]),E(f(Q2),{label:"Name it (optional)",for:"repo-name",class:"mt-4"},{default:M(()=>[E(f(P2),{id:"repo-name",modelValue:o.value,"onUpdate:modelValue":x[3]||(x[3]=S=>o.value=S),placeholder:"Taken from the git remote, or the folder name"},null,8,["modelValue"])]),_:1}),v("p",of,[x[8]||(x[8]=V(" Adding ",-1)),v("code",af,F((w=s.value)==null?void 0:w.path),1)]),r.value?(h(),Q(f(l2),{key:0,tone:"danger",class:"mt-3"},{default:M(()=>[V(F(r.value),1)]),_:1})):O("",!0),a.value?(h(),y("p",rf," Reading this repository. Large repositories can take several minutes. ")):O("",!0),v("div",cf,[E(f(x1),{disabled:a.value||!s.value,onClick:p},{default:M(()=>[a.value?(h(),Q(f(v2),{key:0,class:"mr-1.5 h-3.5 w-3.5 animate-spin"})):(h(),Q(f(le),{key:1,class:"mr-1.5 h-3.5 w-3.5"})),V(" "+F(a.value?"Reading…":"Add and index"),1)]),_:1},8,["disabled"]),E(f(x1),{variant:"outline",onClick:x[4]||(x[4]=S=>l("close"))},{default:M(()=>[...x[9]||(x[9]=[V("Cancel",-1)])]),_:1})])]}),_:1},8,["open"]))}},uf={class:"flex items-center gap-2"},an="sourceant-onboarded",df={__name:"Onboarding",setup(e){const{repositories:t,fetchRepositories:n}=H2(),l=P(!1),s=P("folder"),o=P(!1),a=z(()=>t.value.length>0);function r(){try{localStorage.setItem(an,"yes")}catch{}l.value=!1}return o2(async()=>{let i=null;try{i=localStorage.getItem(an)}catch{i=null}i||(await n(),s.value=t.value.length?"model":"folder",l.value=!0)}),(i,c)=>(h(),Q(f(g6),{open:l.value,"max-width":"xl",onClose:r},{default:M(()=>[s.value==="folder"?(h(),y(e1,{key:0},[c[4]||(c[4]=v("h2",{class:"text-lg font-semibold mb-1"},"Point it at some code",-1)),c[5]||(c[5]=v("p",{class:"text-sm text-muted-foreground mb-5"}," SourceAnt reads a folder on this machine into a graph, and keeps what you record about it beside the code it belongs to. Nothing leaves this machine. ",-1)),v("div",uf,[E(f(x1),{onClick:c[0]||(c[0]=u=>o.value=!0)},{default:M(()=>[E(f(le),{class:"mr-1.5 h-3.5 w-3.5"}),c[3]||(c[3]=V(" Add folder or repository ",-1))]),_:1}),E(f(x1),{variant:"outline",onClick:c[1]||(c[1]=u=>s.value="model")},{default:M(()=>[a.value?(h(),y(e1,{key:0},[V("Next")],64)):(h(),y(e1,{key:1},[V("Skip for now")],64)),E(f(s0),{class:"ml-1.5 h-3.5 w-3.5"})]),_:1})]),E(H0,{open:o.value,onClose:c[2]||(c[2]=u=>o.value=!1),onAdded:f(n)},null,8,["open","onAdded"])],64)):(h(),y(e1,{key:1},[c[7]||(c[7]=v("h2",{class:"text-lg font-semibold mb-1"},"Add a model and API key",-1)),c[8]||(c[8]=v("p",{class:"text-sm text-muted-foreground mb-5"}," Reading your code and reading what it already states about itself need no model at all. Proposing what nobody wrote down does. Your key stays on this machine and goes to that provider and nowhere else. ",-1)),E(P0,{group:"Model",onSaved:r}),E(f(x1),{variant:"ghost",class:"mt-4",onClick:r},{default:M(()=>[...c[6]||(c[6]=[V("Skip for now",-1)])]),_:1})],64))]),_:1},8,["open"]))}},ff={class:"flex h-screen flex-col bg-background"},hf={class:"z-40 h-12 shrink-0 border-b bg-card/80 backdrop-blur-sm"},Af={class:"flex items-center h-full min-w-0 px-3 gap-1 sm:px-4"},pf={class:"hidden lg:flex items-center gap-0.5 min-w-0"},mf={class:"hidden xl:inline"},gf={class:"relative shrink-0","data-dropdown":"user"},vf={key:0,class:"absolute top-full right-0 mt-1 w-52 bg-card border rounded-lg shadow-lg py-1 z-50"},yf=["aria-label"],bf={key:0,class:"lg:hidden shrink-0 border-b bg-card px-4 py-2 space-y-0.5"},kf={class:"min-h-0 flex-1 overflow-y-auto"},xf={class:"container mx-auto flex h-full flex-col px-4 pb-4 pt-3 lg:px-6 lg:pb-6 lg:pt-4"},wf={__name:"App",setup(e){const{isDark:t,toggleTheme:n,restoreTheme:l}=T0(),s=Oe(),o=P(!1),a=P(!1),r=[{name:"Overview",href:"/",icon:a0},{name:"Reviews",href:"/reviews",icon:s3},{name:"Skills",href:"/skills",icon:r6},{name:"Knowledge",href:"/knowledge",icon:K4},{name:"Graphs",href:"/graph",icon:Et},{name:"Repositories",href:"/repositories",icon:_t},{name:"Settings",href:"/settings",icon:B5}],i=z(()=>kd(Od,{seed:location.hostname||"sourceant",radius:50}).toDataUri());function c(u){u.target.closest('[data-dropdown="user"]')||(a.value=!1)}return o2(()=>{l(),document.addEventListener("click",c)}),a3(()=>document.removeEventListener("click",c)),(u,d)=>{const A=V4("RouterLink"),m=V4("RouterView");return h(),y("div",ff,[v("header",hf,[v("div",Af,[E(A,{to:"/",class:"shrink-0 mr-1 sm:mr-3"},{default:M(()=>[E(f(Vu),{size:"sm","show-text":!1})]),_:1}),d[7]||(d[7]=v("span",{class:"hidden lg:block h-4 w-px bg-border mx-1 shrink-0"},null,-1)),v("nav",pf,[(h(),y(e1,null,_1(r,p=>E(A,{key:p.href,to:p.href,title:p.name,class:o1(["flex shrink-0 items-center gap-1.5 px-2 py-1 rounded-md text-sm transition-colors 2xl:px-2.5",f(s).path===p.href?"bg-primary/10 text-primary font-medium":"text-muted-foreground hover:bg-muted hover:text-foreground"])},{default:M(()=>[(h(),Q(h2(p.icon),{class:"h-3.5 w-3.5 shrink-0"})),v("span",mf,F(p.name),1)]),_:2},1032,["to","title","class"])),64))]),d[8]||(d[8]=v("div",{class:"flex-1 min-w-0"},null,-1)),E(Gd,{pages:r}),v("div",gf,[v("button",{class:"flex items-center gap-1.5 p-1 rounded-md hover:bg-muted transition-colors","aria-label":"Account",onClick:d[0]||(d[0]=K2(p=>a.value=!a.value,["stop"]))},[E(f(Dr),{src:i.value,size:"sm",class:"h-6 w-6"},null,8,["src"])]),E(I8,{"enter-active-class":"transition duration-100 ease-out","enter-from-class":"opacity-0 scale-95","enter-to-class":"opacity-100 scale-100","leave-active-class":"transition duration-75 ease-in","leave-from-class":"opacity-100 scale-100","leave-to-class":"opacity-0 scale-95"},{default:M(()=>[a.value?(h(),y("div",vf,[d[6]||(d[6]=v("div",{class:"px-3 py-2 border-b"},[v("p",{class:"text-sm font-medium truncate"},"This machine"),v("p",{class:"text-xs text-muted-foreground truncate"},"Nothing here has been shared.")],-1)),E(A,{to:"/settings",class:"flex items-center gap-2 px-3 py-1.5 text-sm hover:bg-muted transition-colors",onClick:d[1]||(d[1]=p=>a.value=!1)},{default:M(()=>[E(f(B5),{class:"h-3.5 w-3.5 text-muted-foreground"}),d[5]||(d[5]=V(" Settings ",-1))]),_:1}),v("button",{class:"flex items-center gap-2 w-full px-3 py-1.5 text-sm hover:bg-muted transition-colors",onClick:d[2]||(d[2]=(...p)=>f(n)&&f(n)(...p))},[(h(),Q(h2(f(t)?f(c0):f(i0)),{class:"h-3.5 w-3.5 text-muted-foreground"})),v("span",null,F(f(t)?"Light mode":"Dark mode"),1)])])):O("",!0)]),_:1})]),v("button",{class:"lg:hidden shrink-0 p-1 rounded-md hover:bg-muted transition-colors","aria-label":o.value?"Close menu":"Open menu",onClick:d[3]||(d[3]=p=>o.value=!o.value)},[o.value?(h(),Q(f(i3),{key:1,class:"h-5 w-5"})):(h(),Q(f(Yr),{key:0,class:"h-5 w-5"}))],8,yf)])]),o.value?(h(),y("div",bf,[(h(),y(e1,null,_1(r,p=>E(A,{key:p.href,to:p.href,class:o1(["flex items-center gap-2 px-3 py-2 rounded-md text-sm transition-colors",f(s).path===p.href?"bg-primary/10 text-primary font-medium":"text-muted-foreground hover:bg-muted hover:text-foreground"]),onClick:d[4]||(d[4]=g=>o.value=!1)},{default:M(()=>[(h(),Q(h2(p.icon),{class:"h-4 w-4"})),V(" "+F(p.name),1)]),_:2},1032,["to","class"])),64))])):O("",!0),v("main",kf,[v("div",xf,[E(m)])]),E(df)])}}},y4={__name:"EmptyMachine",setup(e){return(t,n)=>(h(),Q(f(Q1),{class:"text-center py-16 px-6"},{default:M(()=>[n[1]||(n[1]=v("h2",{class:"text-lg font-semibold mb-1"},"Nothing indexed yet",-1)),n[2]||(n[2]=v("p",{class:"text-muted-foreground text-sm mb-4 max-w-lg mx-auto"}," Point SourceAnt at a folder on this machine and it reads the code into a graph you can look at and record against. ",-1)),E(f(x1),{as:"a",href:"/repositories",variant:"glow"},{default:M(()=>[E(f(le),{class:"mr-2 h-4 w-4"}),n[0]||(n[0]=V(" Add a repository ",-1))]),_:1})]),_:1}))}};function A4(e){if(!e)return"";const t=new Date(e),n=Math.round((Date.now()-t.getTime())/6e4);if(n<1)return"just now";if(n<60)return`${n} minute${n===1?"":"s"} ago`;const l=Math.round(n/60);return l<24?`${l} hour${l===1?"":"s"} ago`:t.toLocaleDateString()}const Cf={class:"min-w-0 flex-1"},_f={class:"font-semibold"},If={class:"text-sm text-muted-foreground"},Mf={class:"mb-3 grid gap-3 sm:grid-cols-2 lg:grid-cols-4"},Ef={class:"mt-1 text-2xl font-semibold tabular-nums"},Df={class:"mt-0.5 text-xs text-muted-foreground"},Zf={class:"mt-1 text-2xl font-semibold tabular-nums"},Ff={class:"mt-1 text-2xl font-semibold tabular-nums"},Bf={class:"mt-0.5 text-xs text-muted-foreground"},Sf={class:"mt-1 text-2xl font-semibold tabular-nums"},Rf={class:"mb-3 grid gap-3 lg:grid-cols-2"},$f={class:"mb-3 flex items-center justify-between gap-3"},Nf={class:"flex items-center gap-2 text-sm font-semibold"},Kf={key:1,class:"divide-y"},Qf=["onClick"],Of={class:"min-w-0 flex-1 truncate"},Gf={class:"shrink-0 text-xs text-muted-foreground"},Wf={class:"mb-3 flex items-center justify-between gap-3"},Lf={class:"flex items-center gap-2 text-sm font-semibold"},Vf={key:0,class:"mt-0.5 text-xs text-muted-foreground"},Tf={key:1,class:"divide-y"},Pf={class:"min-w-0 flex-1 truncate font-mono text-xs"},Hf={class:"shrink-0 text-xs text-muted-foreground"},Yf=["onClick"],Uf={class:"tabular-nums"},Jf={class:"tabular-nums"},zf={class:"text-muted-foreground"},jf={class:"flex flex-wrap gap-2"},rn=5,Xf={__name:"Overview",setup(e){const t=Ce(),{repositories:n,error:l,fetchRepositories:s}=H2(),o=P([]),a=P([]),r=P({files:[],since:""}),i=P([]),c=P(!0),u=[{id:"repository",label:"Repository"},{id:"files",label:"Files",align:"right"},{id:"knowledge",label:"Knowledge",align:"right",narrow:!0},{id:"read",label:"Last read",narrow:!0}],d=z(()=>({files:o.value.reduce((I,w)=>I+w.files,0),knowledge:o.value.reduce((I,w)=>I+w.knowledge,0),proposed:o.value.reduce((I,w)=>I+w.proposed,0),skills:o.value.reduce((I,w)=>I+w.skills,0)})),A=z(()=>n.value.filter(I=>!I.indexed_at)),m=z(()=>n.value.filter(I=>I.reading)),p=z(()=>a.value.filter(I=>I.status==="failed")),g=z(()=>{var S,B;const I=(S=i.value.find(_=>_.key==="model.name"))==null?void 0:S.value,w=(B=i.value.find(_=>_.key==="model.api_key"))==null?void 0:B.is_set;return I&&w?String(I):""}),x=z(()=>g.value?A.value.length?{tone:"warning",icon:u6,title:`${A.value.length} folder${A.value.length===1?"":"s"} never read`,detail:"Nothing can be answered about a folder that has not been read.",label:"Repositories",to:"/repositories"}:d.value.proposed?{tone:"info",icon:q4,title:`${d.value.proposed} proposal${d.value.proposed===1?"":"s"} waiting`,detail:"Nothing proposed is used until somebody agrees to it.",label:"Knowledge",to:"/knowledge"}:p.value.length?{tone:"warning",icon:et,title:`${p.value.length} review${p.value.length===1?"":"s"} failed`,detail:p.value[0].error||"Ask for it again.",label:"Reviews",to:"/reviews"}:null:{tone:"warning",icon:et,title:"No model configured",detail:"Reviews read a change but cannot judge it.",label:"Choose a model",to:"/settings?group=Model"}),$={warning:"border-warning/40 bg-warning/5",info:"border-primary/30 bg-primary/5",success:"border-success/40 bg-success/5"},k=z(()=>o.value.map(I=>({id:I.repository.name,repository:I.repository,files:I.files,knowledge:I.knowledge})));function K(I){return I.reading?"Reading…":I.indexed_at?A4(I.indexed_at):"Never"}return o2(async()=>{await s();const[I,w]=await Promise.all([w1.reviews().catch(()=>[]),w1.settings().catch(()=>[])]);a.value=I.slice(0,rn),i.value=w,o.value=await Promise.all(n.value.map(async B=>{const[_,D,C]=await Promise.all([w1.nodes(B.name,{labels:["File"]}).catch(()=>({total:0})),w1.knowledge(B.name).catch(()=>({items:[],total:0})),w1.skills(B.name).catch(()=>({total:0}))]);return{repository:B,files:_.total,knowledge:D.total,proposed:(D.items??[]).filter(N=>N.status==="proposed").length,skills:C.total}}));const S=n.value[0];S&&(r.value=await w1.attention(S.name).catch(()=>({files:[],since:""}))),c.value=!1}),(I,w)=>(h(),y("div",null,[E(f(se),{pillar:"memory",title:"Overview",sub:"What SourceAnt has on this machine."},{icon:M(()=>[E(f(a0),{class:"h-6 w-6"})]),_:1}),f(l)?(h(),Q(f(l2),{key:0,tone:"danger",class:"mb-4"},{default:M(()=>[V(F(f(l)),1)]),_:1})):O("",!0),!f(l)&&f(n).length===0?(h(),Q(y4,{key:1})):f(n).length?(h(),y(e1,{key:2},[x.value?(h(),Q(f(Q1),{key:0,class:o1(["mb-3 flex flex-wrap items-center gap-4 p-5",$[x.value.tone]])},{default:M(()=>[(h(),Q(h2(x.value.icon),{class:"h-5 w-5 shrink-0"})),v("div",Cf,[v("p",_f,F(x.value.title),1),v("p",If,F(x.value.detail),1)]),E(f(x1),{size:"sm",variant:"outline",onClick:w[0]||(w[0]=S=>f(t).push(x.value.to))},{default:M(()=>[V(F(x.value.label)+" ",1),E(f(s0),{class:"ml-1.5 h-3.5 w-3.5"})]),_:1})]),_:1},8,["class"])):O("",!0),v("div",Mf,[E(f(Q1),{class:"p-4"},{default:M(()=>[w[4]||(w[4]=v("p",{class:"text-xs text-muted-foreground"},"Repositories",-1)),v("p",Ef,F(f(n).length),1),v("p",Df,[m.value.length?(h(),y(e1,{key:0},[V(F(m.value.length)+" reading now",1)],64)):A.value.length?(h(),y(e1,{key:1},[V(F(A.value.length)+" never read",1)],64)):(h(),y(e1,{key:2},[V("all read")],64))])]),_:1}),E(f(Q1),{class:"p-4"},{default:M(()=>[w[5]||(w[5]=v("p",{class:"text-xs text-muted-foreground"},"Files",-1)),v("p",Zf,[c.value?(h(),Q(f(v2),{key:0,class:"h-5 w-5 animate-spin"})):(h(),y(e1,{key:1},[V(F(d.value.files.toLocaleString()),1)],64))]),w[6]||(w[6]=v("p",{class:"mt-0.5 text-xs text-muted-foreground"},"indexed",-1))]),_:1}),E(f(Q1),{class:"p-4"},{default:M(()=>[w[7]||(w[7]=v("p",{class:"text-xs text-muted-foreground"},"Knowledge",-1)),v("p",Ff,F(d.value.knowledge.toLocaleString()),1),v("p",Bf,F(d.value.proposed?`${d.value.proposed} waiting for you`:"nothing waiting"),1)]),_:1}),E(f(Q1),{class:"p-4"},{default:M(()=>[w[8]||(w[8]=v("p",{class:"text-xs text-muted-foreground"},"Skills",-1)),v("p",Sf,F(d.value.skills.toLocaleString()),1),w[9]||(w[9]=v("p",{class:"mt-0.5 text-xs text-muted-foreground"},"read against your work",-1))]),_:1})]),v("div",Rf,[E(f(Q1),{class:"p-5"},{default:M(()=>[v("div",$f,[v("h2",Nf,[E(f(s3),{class:"h-4 w-4"}),w[10]||(w[10]=V(" Recent reviews ",-1))]),E(f(x1),{variant:"ghost",size:"sm",onClick:w[1]||(w[1]=S=>f(t).push("/reviews"))},{default:M(()=>[...w[11]||(w[11]=[V("All",-1)])]),_:1})]),a.value.length?(h(),y("ul",Kf,[(h(!0),y(e1,null,_1(a.value,S=>(h(),y("li",{key:S.id},[v("button",{type:"button",class:"flex w-full items-baseline gap-2 py-2 text-left text-sm hover:text-primary",onClick:B=>f(t).push(`/reviews/${S.id}`)},[E(f(n2),{variant:S.status==="done"?"success":S.status==="failed"?"destructive":"secondary"},{default:M(()=>[V(F(S.status),1)]),_:2},1032,["variant"]),v("span",Of,F(S.title||S.repository),1),v("span",Gf,F(f(A4)(S.started)),1)],8,Qf)]))),128))])):(h(),Q(f(Re),{key:0,title:"No reviews yet",compact:""},{default:M(()=>[...w[12]||(w[12]=[V(" A review reads what a checkout has that its default branch does not. ",-1)])]),_:1}))]),_:1}),E(f(Q1),{class:"p-5"},{default:M(()=>[v("div",Wf,[v("div",null,[v("h2",Lf,[E(f(Mt),{class:"h-4 w-4"}),w[13]||(w[13]=V(" Changed most, depended on most ",-1))]),r.value.since?(h(),y("p",Vf," Last "+F(r.value.since)+". ",1)):O("",!0)])]),r.value.files.length?(h(),y("ul",Tf,[(h(!0),y(e1,null,_1(r.value.files.slice(0,rn),S=>(h(),y("li",{key:S.path,class:"flex items-baseline gap-2 py-2 text-sm"},[v("span",Pf,F(S.path),1),v("span",Hf,F(S.changes)+" changes · "+F(S.dependants)+" dependants ",1)]))),128))])):(h(),Q(f(Re),{key:0,title:"None",compact:""},{default:M(()=>[...w[14]||(w[14]=[V(" A file appears here when it is both changing and depended on. ",-1)])]),_:1}))]),_:1})]),E(f(f6),{columns:u,rows:k.value,"row-key":"id",label:"Repositories",class:"mb-3"},{repository:M(({row:S})=>[v("button",{type:"button",class:"block max-w-md truncate text-left font-medium hover:text-primary",onClick:B=>f(t).push(`/repositories/${S.repository.name}`)},F(S.repository.name),9,Yf)]),files:M(({row:S})=>[v("span",Uf,F(S.files.toLocaleString()),1)]),knowledge:M(({row:S})=>[v("span",Jf,F(S.knowledge.toLocaleString()),1)]),read:M(({row:S})=>[v("span",zf,F(K(S.repository)),1)]),_:1},8,["rows"]),v("div",jf,[E(f(x1),{variant:"outline",size:"sm",onClick:w[2]||(w[2]=S=>f(t).push("/reviews"))},{default:M(()=>[E(f(s3),{class:"mr-1.5 h-3.5 w-3.5"}),w[15]||(w[15]=V(" Review a checkout ",-1))]),_:1}),E(f(x1),{variant:"outline",size:"sm",onClick:w[3]||(w[3]=S=>f(t).push("/skills"))},{default:M(()=>[E(f(r6),{class:"mr-1.5 h-3.5 w-3.5"}),w[16]||(w[16]=V(" Skills ",-1))]),_:1})])],64)):O("",!0)]))}};function qf(){const e=P(null),t=P(!1),n=P(null);async function l(s,o,a={}){t.value=!0,n.value=null;try{e.value=await w1.graph(`${s}/${o}`,a),n.value=null}catch(r){e.value=null,n.value=r}finally{t.value=!1}}return{graph:e,loading:t,fetchCodeGraph:l,failureFor:()=>n.value}}function eh(){const e=P(null);async function t(){return e.value={nodes:[],links:[]},e.value}return{fetchGraph:t,failureFor:()=>null}}const th={key:0},nh={class:"inline-flex w-full rounded-md border bg-muted/40 p-0.5"},lh=["onClick"],sh={class:"mt-1.5 text-[11px] text-muted-foreground"},oh={key:1},ah={class:"relative"},rh={key:2},ih={class:"space-y-0.5"},ch=["onClick"],uh={class:"flex-1 truncate text-foreground"},dh={class:"tabular-nums text-muted-foreground"},fh={key:3},hh={class:"flex flex-wrap gap-1.5"},Ah=["onClick"],ph={key:4},mh={class:"flex cursor-pointer items-center gap-2 text-[11px] text-muted-foreground"},gh={key:5},vh={key:6},yh={class:"mb-1.5 flex items-center justify-between"},bh=["disabled"],kh={key:0,class:"mt-1 text-[11px] text-muted-foreground"},xh={key:1,class:"mt-1.5 space-y-1.5"},wh={class:"flex items-start gap-1.5 text-[11px]"},Ch={class:"min-w-0 break-words"},_h={class:"font-medium"},Ih={class:"min-w-0"},Mh={class:"min-w-0"},Eh={class:"overflow-hidden rounded-lg border bg-card"},Dh={class:"text-xs text-muted-foreground"},Zh={class:"space-y-1"},Fh={class:"mx-auto max-w-sm text-xs text-muted-foreground"},Bh={key:0,class:"mt-2 text-xs text-warning"},Sh={key:1,class:"mt-2 text-xs text-muted-foreground"},Rh={key:2,class:"mt-2 text-xs text-muted-foreground"},Y0=G1({__name:"GraphWorkbench",props:{repository:{},sources:{default:()=>["knowledge","code"]},controls:{default:()=>["filter","kinds","parts","layouts","depth","retired"]},height:{default:"640px"},find:{}},emits:["select"],setup(e,{expose:t,emit:n}){const l=e,s=n,{fetchGraph:o,failureFor:a}=eh(),{legend:r}=l0(),{graph:i,loading:c,fetchCodeGraph:u,failureFor:d}=qf(),A=P(l.sources[0]??"knowledge"),m=P(null),p=P(!1),g=z(()=>A.value==="code"?i.value:m.value),x=z(()=>A.value==="code"?c.value:p.value),$=z(()=>A.value==="code"?d("code-graph"):a("graph")),k=z(()=>l.repository.split("/").pop()??l.repository),K=z(()=>!!g.value&&g.value.nodes.length>0);function I(X){return l.controls.includes(X)}const w=P(""),S=P(2),B=P([]),_=P(l.find??""),D=P("2d"),C=P([]),N=P(!1),G=z(()=>!!w.value),j=z(()=>{var W;const X=(W=g.value)==null?void 0:W.nodes.find(p1=>p1.id===w.value);return(X==null?void 0:X.name)??w.value.replace(/^(file|symbol):/,"")}),f1=z(()=>{var X;return((X=g.value)==null?void 0:X.communities)??[]}),u1=P(50),A1=z(()=>f1.value.slice(0,u1.value));P1(f1,()=>{u1.value=50});const M1=[{id:"2d",label:"2D"},{id:"3d",label:"3D"},{id:"tree",label:"Tree"},{id:"radial",label:"Radial"},{id:"layered",label:"Layered"},{id:"web",label:"Force"}],i1={knowledge:"Knowledge",code:"Code"},v1=["#4E79A7","#F28E2B","#E15759","#76B7B2","#59A14F","#EDC948","#B07AA1","#FF9DA7","#9C755F","#BAB0AC"];async function r1(){const[X,W]=l.repository.split("/");if(!X||!W){m.value=null;return}if(A.value==="code"){await u(X,W,{focus:w.value||void 0,depth:G.value?S.value:void 0,q:_.value.trim()||void 0});return}p.value=!0;try{m.value=await o(X,W,{focus:w.value||void 0,depth:G.value?S.value:void 0,kind:B.value,q:_.value.trim()||void 0,status:N.value?"all":void 0})}finally{p.value=!1}}let H1=null;function b1(){H1&&clearTimeout(H1),H1=setTimeout(r1,250)}P1([S,B,_,N],b1,{deep:!0}),P1(w,r1),P1(A,()=>{w.value="",C.value=[],r1()}),P1(()=>l.repository,()=>{w.value="",C.value=[],r1()},{immediate:!0});function q1(X){s("select",X),I("depth")&&(w.value=w.value===X?"":X)}function j1(){w.value=""}function s1(X){B.value=B.value.includes(X)?B.value.filter(W=>W!==X):[...B.value,X]}function m1(X){C.value=C.value.includes(X)?C.value.filter(W=>W!==X):[...C.value,X]}const L=z(()=>l.sources.length>1||I("filter")||I("kinds")||I("parts")||I("layouts")||I("depth")||I("retired"));return t({reload:r1}),(X,W)=>{var p1,D1,b,Z;return h(),y("div",{class:o1(["grid gap-4 lg:items-start",L.value?"lg:grid-cols-[16rem_1fr]":""])},[L.value?(h(),y("aside",{key:0,class:"space-y-4 overflow-y-auto rounded-lg border bg-card p-3",style:M2({height:e.height})},[e.sources.length>1?(h(),y("div",th,[W[6]||(W[6]=v("p",{class:"mb-1.5 text-[11px] font-medium uppercase tracking-wide text-muted-foreground"},"Draw",-1)),v("div",nh,[(h(!0),y(e1,null,_1(e.sources,R=>(h(),y("button",{key:R,type:"button",class:o1(["flex-1 rounded px-2 py-1 text-xs font-medium transition-colors",A.value===R?"bg-card text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"]),onClick:U=>A.value=R},F(i1[R]),11,lh))),128))]),v("p",sh,F(A.value==="code"?"What is defined and what calls what, read from the code.":"What your team decided, and the files it covers."),1)])):O("",!0),I("filter")?(h(),y("div",oh,[W[7]||(W[7]=v("label",{class:"mb-1.5 block text-[11px] font-medium uppercase tracking-wide text-muted-foreground"}," Only what mentions ",-1)),v("div",ah,[E(f(ke),{class:"pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground"}),te(v("input",{"onUpdate:modelValue":W[0]||(W[0]=R=>_.value=R),type:"search",placeholder:"a word",class:"w-full rounded-md border bg-background py-1.5 pl-8 pr-2 text-sm"},null,512),[[C5,_.value]])])])):O("",!0),I("parts")&&A.value==="code"&&f1.value.length?(h(),y("div",rh,[W[8]||(W[8]=v("p",{class:"mb-1.5 text-[11px] font-medium uppercase tracking-wide text-muted-foreground"},"Parts",-1)),v("ul",ih,[(h(!0),y(e1,null,_1(A1.value,R=>(h(),y("li",{key:R.id},[v("button",{type:"button",class:o1(["flex w-full items-center gap-2 rounded-md px-1 py-1 text-left text-[11px] transition-colors hover:bg-muted",C.value.includes(R.id)?"opacity-40":""]),onClick:U=>m1(R.id)},[v("span",{class:"h-2.5 w-2.5 shrink-0 rounded-full",style:M2({backgroundColor:v1[R.id%v1.length]})},null,4),v("span",uh,F(R.name),1),v("span",dh,F(R.size),1)],10,ch)]))),128))]),u1.valueu1.value+=50)},{default:M(()=>[V("Show more parts ("+F(u1.value)+" of "+F(f1.value.length)+")",1)]),_:1})):O("",!0),W[9]||(W[9]=v("p",{class:"mt-1.5 text-[11px] text-muted-foreground"}," Grouped by what calls what. Click one to hide it. ",-1))])):O("",!0),I("kinds")&&A.value==="knowledge"?(h(),y("div",fh,[W[10]||(W[10]=v("p",{class:"mb-1.5 text-[11px] font-medium uppercase tracking-wide text-muted-foreground"},"Kinds",-1)),v("div",hh,[(h(!0),y(e1,null,_1(f(r),R=>(h(),y("button",{key:R.label,type:"button",class:o1(["inline-flex items-center gap-1.5 rounded-full border px-2 py-0.5 text-[11px] transition-colors",B.value.includes(R.label.toLowerCase())?"border-primary/40 bg-primary/10 text-primary":"text-muted-foreground hover:text-foreground"]),onClick:U=>s1(R.label.toLowerCase())},[v("span",{class:"h-2 w-2 rounded-sm",style:M2({backgroundColor:R.color})},null,4),V(" "+F(R.label),1)],10,Ah))),128)),B.value.length?(h(),y("button",{key:0,type:"button",class:"text-[11px] text-muted-foreground underline-offset-2 hover:underline",onClick:W[2]||(W[2]=R=>B.value=[])},"Any")):O("",!0)])])):O("",!0),I("retired")&&A.value==="knowledge"?(h(),y("div",ph,[v("label",mh,[te(v("input",{"onUpdate:modelValue":W[3]||(W[3]=R=>N.value=R),type:"checkbox",class:"h-3 w-3 rounded border"},null,512),[[bt,N.value]]),W[11]||(W[11]=V(" Include retired records ",-1))])])):O("",!0),I("layouts")?(h(),y("div",gh,[W[12]||(W[12]=v("p",{class:"mb-1.5 text-[11px] font-medium uppercase tracking-wide text-muted-foreground"},"Shape",-1)),E(f(D3),{modelValue:D.value,"onUpdate:modelValue":W[4]||(W[4]=R=>D.value=R),tabs:M1,label:"Shape",class:"grid w-full grid-cols-2"},null,8,["modelValue"])])):O("",!0),I("depth")?(h(),y("div",vh,[v("div",yh,[v("span",{class:o1(["text-[11px] font-medium uppercase tracking-wide",G.value?"text-muted-foreground":"text-muted-foreground/50"])}," Steps out ",2),v("span",{class:o1(["font-mono text-xs",G.value?"":"opacity-50"])},F(S.value),3)]),te(v("input",{"onUpdate:modelValue":W[5]||(W[5]=R=>S.value=R),type:"range",min:"1",max:"5",disabled:!G.value,class:"w-full"},null,8,bh),[[C5,S.value,void 0,{number:!0}]]),G.value?(h(),y("div",xh,[v("p",wh,[E(f(Tr),{class:"mt-0.5 h-3 w-3 shrink-0 text-primary"}),v("span",Ch,[W[13]||(W[13]=V("From ",-1)),v("span",_h,F(j.value),1)])]),v("button",{type:"button",class:"inline-flex w-full items-center justify-center gap-1 rounded-md border px-2 py-1 text-[11px] hover:bg-muted",onClick:j1},[E(f(i3),{class:"h-3 w-3"}),W[14]||(W[14]=V(" Draw everything ",-1))])])):(h(),y("p",kh," Click anything on the graph to walk out from it. "))])):O("",!0)],4)):O("",!0),v("div",Ih,[v("div",{class:o1(["grid gap-4",X.$slots.inspector?"lg:grid-cols-[1fr_20rem]":""])},[v("div",Mh,[v("div",Eh,[x.value?(h(),y("div",{key:0,class:"flex",style:M2({height:e.height})},[E(f(L0),{label:A.value==="code"?"Reading the code":"Reading the knowledge graph",note:"Large repositories can take longer to load.",size:"sm"},null,8,["label"])],4)):$.value?(h(),y("div",{key:1,role:"alert",class:"flex flex-col items-center justify-center gap-3 px-6 text-center",style:M2({height:e.height})},[W[16]||(W[16]=v("p",{class:"text-sm font-medium"},"Could not load this graph",-1)),v("p",Dh,F($.value.message),1),E(f(x1),{variant:"outline",size:"sm",onClick:r1},{default:M(()=>[...W[15]||(W[15]=[V("Try again",-1)])]),_:1})],4)):K.value?(h(),Q(f($r),{key:3,repo:k.value,mode:D.value,data:g.value,hidden:C.value,height:e.height,onSelect:q1},null,8,["repo","mode","data","hidden","height"])):(h(),y("div",{key:2,class:"flex flex-col items-center justify-center gap-3 px-6 text-center",style:M2({height:e.height})},[E(f(Et),{class:"h-7 w-7 text-muted-foreground"}),v("div",Zh,[W[17]||(W[17]=v("p",{class:"text-sm font-medium"},"Nothing to draw",-1)),v("p",Fh,F(A.value==="code"?"This repository has not been read yet, so there is no code map for it.":"Initialize this repository and approve what it proposes, and its decisions appear here."),1)])],4))]),(p1=g.value)!=null&&p1.truncated?(h(),y("p",Bh," More than fits in one drawing, so this is the most connected part of it. Narrow it"+F(L.value?" on the left":"")+", or click something to walk out from it. ",1)):O("",!0),K.value?(h(),y("p",Sh,F((D1=g.value)==null?void 0:D1.nodes.length)+" symbols, "+F((b=g.value)==null?void 0:b.links.length)+" connections. ",1)):O("",!0),K.value&&!((Z=g.value)!=null&&Z.links.length)?(h(),y("p",Rh," No connections were found between these files. ")):O("",!0)]),X.$slots.inspector?(h(),y("div",{key:0,class:"overflow-y-auto rounded-lg border bg-card",style:M2({height:e.height})},[O1(X.$slots,"inspector")],4)):O("",!0)],2)])],2)}}}),$h={class:"flex h-full min-h-0 flex-col"},Nh=["value"],Kh={__name:"Graph",setup(e){const t=Oe(),{repositories:n,chosen:l,one:s,error:o,fetchRepositories:a}=H2();return o2(async()=>{await a();const r=String(t.query.repository??"");r&&n.value.some(i=>i.name===r)&&(l.value=r)}),(r,i)=>(h(),y("div",$h,[E(f(se),{title:"Graphs",sub:"Your code, and how it holds together."},{icon:M(()=>[E(f(Et),{class:"h-6 w-6"})]),actions:M(()=>[f(n).length>1?(h(),Q(f(ne),{key:0,"model-value":f(s),size:"sm","aria-label":"Repository","onUpdate:modelValue":i[0]||(i[0]=c=>l.value=c)},{default:M(()=>[(h(!0),y(e1,null,_1(f(n),c=>(h(),y("option",{key:c.name,value:c.name},F(c.name),9,Nh))),128))]),_:1},8,["model-value"])):O("",!0)]),_:1}),f(o)?(h(),Q(f(l2),{key:0,tone:"danger",class:"mb-4"},{default:M(()=>[V(F(f(o)),1)]),_:1})):O("",!0),f(n).length===0?(h(),Q(y4,{key:1})):(h(),Q(Y0,{key:f(s),repository:f(s),find:String(f(t).query.q??""),sources:["code"],controls:["filter","kinds","parts","layouts","depth"],height:"calc(100vh - 15rem)"},null,8,["repository","find"]))]))}},Qh=["value"],Oh=["value"],Gh={key:3,class:"relative"},Wh=["value"],Lh={key:4,class:"grid gap-3"},Vh={class:"text-sm text-muted-foreground"},Th={key:0,class:"mt-2 grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 text-xs"},Ph={class:"break-all font-mono"},Hh={class:"text-lg font-semibold mb-4"},Yh={class:"space-y-4"},Uh={class:"flex items-center gap-2 pt-2"},Jh={__name:"Knowledge",setup(e){const t=["decision","convention","constraint","pattern","workaround","requirement"],{repositories:n,chosen:l,error:s,mixed:o,fetchRepositories:a}=H2({all:!0});async function r(C){C&&(l.value=C)}const i=Oe(),c=P([]),u=P(String(i.query.find??"")),d=z(()=>{const C=u.value.trim().toLowerCase();return C?c.value.filter(N=>`${N.id} ${N.summary??""} ${N.kind??""}`.toLowerCase().includes(C)):c.value}),A=P(null),m=P({id:"",kind:"decision",summary:"",why:""}),p=P(""),g=P(!1),x=P(!1),$=P(!1),k=P(null),K=P(!1);async function I(){try{const C=await w1.settings(),N=C.find(j=>j.key==="model.name"),G=C.find(j=>j.key==="model.api_key");K.value=!!(N!=null&&N.value)&&!!(G!=null&&G.is_set)}catch{K.value=!1}}async function w(C=!1){const N=C?$:x;N.value=!0,k.value=null;try{const G=await w1.initialize(l.value,{useModel:C});k.value=G.recorded,s.value="",await S()}catch(G){s.value=G.message}finally{N.value=!1}}async function S(){if(l.value)try{const C=await w1.knowledge(l.value);c.value=C.items,s.value=""}catch(C){c.value=[],s.value=C.message}}function B(C){var N;A.value=C??{fresh:!0},m.value=C?{id:C.id,kind:C.kind,summary:C.summary,why:((N=C.properties)==null?void 0:N.why)??""}:{id:"",kind:"decision",summary:"",why:""},p.value=""}async function _(){var C,N,G;if(!m.value.id.trim()||!m.value.summary.trim()){p.value="A name and what is true are both needed.";return}g.value=!0;try{await w1.recordKnowledge({repository:l.value,id:m.value.id.trim(),kind:m.value.kind,status:((C=A.value)==null?void 0:C.status)??"accepted",summary:m.value.summary.trim(),properties:m.value.why.trim()?{...((N=A.value)==null?void 0:N.properties)??{},why:m.value.why.trim()}:((G=A.value)==null?void 0:G.properties)??{}}),A.value=null,await S()}catch(j){p.value=j.message}finally{g.value=!1}}async function D(C){if(confirm(`Forget ${C.id}?`)){try{await w1.forgetKnowledge(l.value,C.id)}catch(N){s.value=N.message}await S()}}return P1(l,S),o2(async()=>{await a(),await Promise.all([S(),I()])}),(C,N)=>{const G=V4("X");return h(),y("div",null,[E(f(se),{pillar:"memory",title:"Knowledge",sub:"The decisions, conventions and constraints behind this code."},{icon:M(()=>[E(f(q4),{class:"h-6 w-6"})]),actions:M(()=>[f(n).length>1?(h(),Q(f(ne),{key:0,modelValue:f(l),"onUpdate:modelValue":N[0]||(N[0]=j=>i2(l)?l.value=j:null),size:"sm","aria-label":"Repository"},{default:M(()=>[v("option",{value:f(Ft)},"All repositories",8,Qh),(h(!0),y(e1,null,_1(f(n),j=>(h(),y("option",{key:j.name,value:j.name},F(j.name),9,Oh))),128))]),_:1},8,["modelValue"])):O("",!0),f(n).length&&f(l)?(h(),Q(f(x1),{key:1,size:"sm",variant:"outline",disabled:x.value,onClick:w},{default:M(()=>[x.value?(h(),Q(f(v2),{key:0,class:"mr-2 h-4 w-4 animate-spin"})):(h(),Q(f(S5),{key:1,class:"mr-2 h-4 w-4"})),V(" "+F(x.value?"Finding…":"Find in what the repo states"),1)]),_:1},8,["disabled"])):O("",!0),f(n).length&&K.value&&f(l)?(h(),Q(f(x1),{key:2,size:"sm",variant:"outline",disabled:$.value,onClick:N[1]||(N[1]=j=>w(!0))},{default:M(()=>[$.value?(h(),Q(f(v2),{key:0,class:"mr-2 h-4 w-4 animate-spin"})):(h(),Q(f(u0),{key:1,class:"mr-2 h-4 w-4"})),V(" "+F($.value?"Finding…":"Find more with a model"),1)]),_:1},8,["disabled"])):O("",!0),c.value.length>5?(h(),y("div",Gh,[E(f(ke),{class:"pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground"}),E(f(P2),{modelValue:u.value,"onUpdate:modelValue":N[2]||(N[2]=j=>u.value=j),size:"sm",placeholder:"Find something recorded",class:"w-56 pl-8","aria-label":"Find something recorded"},null,8,["modelValue"])])):O("",!0),f(n).length&&f(l)?(h(),Q(f(x1),{key:4,size:"sm",variant:"glow",onClick:N[3]||(N[3]=j=>B(null))},{default:M(()=>[E(f(le),{class:"mr-2 h-4 w-4"}),N[11]||(N[11]=V(" Record something ",-1))]),_:1})):f(n).length?(h(),Q(f(ne),{key:5,"model-value":"",size:"sm","aria-label":"Choose a repository","onUpdate:modelValue":r},{default:M(()=>[N[12]||(N[12]=v("option",{value:""},"Choose a repository…",-1)),(h(!0),y(e1,null,_1(f(n),j=>(h(),y("option",{key:j.name,value:j.name},F(j.name),9,Wh))),128))]),_:1})):O("",!0)]),_:1}),f(s)?(h(),Q(f(l2),{key:0,tone:"danger",class:"mb-4"},{default:M(()=>[V(F(f(s)),1)]),_:1})):O("",!0),k.value!==null?(h(),Q(f(l2),{key:1,tone:"info",class:"mb-4"},{default:M(()=>[k.value?(h(),y(e1,{key:0},[V(" Read "+F(k.value)+" thing"+F(k.value===1?"":"s")+" this repository already states. Nobody has agreed to any of it, so it is all proposed. ",1)],64)):(h(),y(e1,{key:1},[V(" This repository does not state anything in the places projects usually write these down: a decision record, or a conventions section in a contributing guide. ")],64))]),_:1})):O("",!0),f(n).length===0?(h(),Q(y4,{key:2})):c.value.length===0?(h(),Q(f(Re),{key:3,title:"Nothing recorded yet"},{actions:M(()=>[E(f(x1),{variant:"glow",onClick:N[4]||(N[4]=j=>B(null))},{default:M(()=>[E(f(le),{class:"mr-2 h-4 w-4"}),N[13]||(N[13]=V(" Record something ",-1))]),_:1}),E(f(x1),{variant:"outline",disabled:x.value,onClick:w},{default:M(()=>[x.value?(h(),Q(f(v2),{key:0,class:"mr-2 h-4 w-4 animate-spin"})):(h(),Q(f(S5),{key:1,class:"mr-2 h-4 w-4"})),N[14]||(N[14]=V(" Read what the repo states ",-1))]),_:1},8,["disabled"])]),default:M(()=>[N[15]||(N[15]=V(" Why a thing is the way it is outlives the code that does it. Write one down and every agent reading this repository over MCP gets it too. ",-1))]),_:1})):(h(),y("div",Lh,[(h(!0),y(e1,null,_1(d.value,j=>(h(),Q(f(tt),{key:`${j.repository??""}${j.id}`,title:j.id,pillar:"memory"},{icon:M(()=>[E(f(q4),{class:"h-5 w-5"})]),badges:M(()=>[E(f(n2),{variant:"secondary"},{default:M(()=>[V(F(j.kind),1)]),_:2},1024),j.status?(h(),Q(f(n2),{key:0,variant:"outline"},{default:M(()=>[V(F(j.status),1)]),_:2},1024)):O("",!0),f(o)&&j.repository?(h(),Q(f(nd),{key:1,name:j.repository},{icon:M(()=>[E(f(_t),{class:"h-3 w-3"})]),_:1},8,["name"])):O("",!0)]),actions:M(()=>[j.status===C.PROPOSED?(h(),y(e1,{key:0},[E(f(x1),{variant:"outline",size:"sm",disabled:C.deciding===j.id,"aria-label":`Accept ${j.id}`,onClick:f1=>C.decide(j,C.ACCEPTED)},{default:M(()=>[C.deciding===j.id?(h(),Q(f(v2),{key:0,class:"mr-1.5 h-3.5 w-3.5 animate-spin"})):(h(),Q(f(Ke),{key:1,class:"mr-1.5 h-3.5 w-3.5"})),N[17]||(N[17]=V(" Accept ",-1))]),_:2},1032,["disabled","aria-label","onClick"]),E(f(x1),{variant:"ghost",size:"icon","aria-label":`Throw out ${j.id}`,onClick:f1=>C.decide(j,null)},{default:M(()=>[E(G,{class:"h-4 w-4"})]),_:1},8,["aria-label","onClick"])],64)):(h(),y(e1,{key:1},[E(f(x1),{variant:"ghost",size:"icon","aria-label":"Edit",onClick:f1=>B(j)},{default:M(()=>[E(f(F5),{class:"h-4 w-4"})]),_:1},8,["onClick"]),E(f(x1),{variant:"ghost",size:"icon","aria-label":"Remove",onClick:f1=>D(j)},{default:M(()=>[E(f(v4),{class:"h-4 w-4"})]),_:1},8,["onClick"])],64))]),default:M(()=>{var f1;return[v("p",Vh,F(j.summary),1),(f1=j.properties)!=null&&f1.why?(h(),y("dl",Th,[N[16]||(N[16]=v("dt",{class:"text-muted-foreground"},"why",-1)),v("dd",Ph,F(j.properties.why),1)])):O("",!0)]}),_:2},1032,["title"]))),128))])),E(f(g6),{open:!!A.value,"max-width":"xl",onClose:N[10]||(N[10]=j=>A.value=null)},{default:M(()=>{var j;return[v("h2",Hh,F((j=A.value)!=null&&j.fresh?"Record something":"Edit"),1),v("div",Yh,[E(f(Q2),{label:"Name",hint:"What this will be called, and how it is found again."},{default:M(()=>{var f1;return[E(f(P2),{modelValue:m.value.id,"onUpdate:modelValue":N[5]||(N[5]=u1=>m.value.id=u1),readonly:!((f1=A.value)!=null&&f1.fresh),placeholder:"retry-limit"},null,8,["modelValue","readonly"])]}),_:1}),E(f(Q2),{label:"Kind"},{default:M(()=>[E(f(ne),{modelValue:m.value.kind,"onUpdate:modelValue":N[6]||(N[6]=f1=>m.value.kind=f1),class:"w-full"},{default:M(()=>[(h(),y(e1,null,_1(t,f1=>v("option",{key:f1},F(f1),1)),64))]),_:1},8,["modelValue"])]),_:1}),E(f(Q2),{label:"What is true"},{default:M(()=>[E(f(R5),{modelValue:m.value.summary,"onUpdate:modelValue":N[7]||(N[7]=f1=>m.value.summary=f1),placeholder:"Charges retry three times, then stop."},null,8,["modelValue"])]),_:1}),E(f(Q2),{label:"Why",hint:"What stops somebody undoing it next year."},{default:M(()=>[E(f(R5),{modelValue:m.value.why,"onUpdate:modelValue":N[8]||(N[8]=f1=>m.value.why=f1),placeholder:"The provider rate limits after four."},null,8,["modelValue"])]),_:1}),p.value?(h(),Q(f(l2),{key:0,tone:"danger"},{default:M(()=>[V(F(p.value),1)]),_:1})):O("",!0),v("div",Uh,[E(f(x1),{disabled:g.value,onClick:_},{default:M(()=>[E(f(Ke),{class:"mr-1.5 h-3.5 w-3.5"}),N[18]||(N[18]=V(" Save ",-1))]),_:1},8,["disabled"]),E(f(x1),{variant:"outline",onClick:N[9]||(N[9]=f1=>A.value=null)},{default:M(()=>[...N[19]||(N[19]=[V("Cancel",-1)])]),_:1})])])]}),_:1},8,["open"])])}}},zh={key:0,class:"relative"},jh={key:2,class:"space-y-6"},Xh={key:0,class:"text-xs font-semibold uppercase tracking-wide text-muted-foreground"},qh={class:"flex items-center gap-1.5"},eA={class:"flex items-center gap-1.5"},tA={class:"flex items-center gap-1.5"},nA={key:1,class:"text-primary"},lA={__name:"Repositories",setup(e){const t=Ce(),{repositories:n,error:l,fetchRepositories:s}=H2(),o=P({}),a=P(""),r=P(!1),i=P(""),c=P({}),u=z(()=>n.value.some(B=>B.reading)),d=z(()=>{const B=i.value.trim().toLowerCase();return B?n.value.filter(_=>_.name.toLowerCase().includes(B)||_.path.toLowerCase().includes(B)):n.value}),A=z(()=>{const B=new Map;for(const _ of d.value){const D=_.name.includes("/")?_.name.split("/")[0]:"Elsewhere";B.has(D)||B.set(D,[]),B.get(D).push(_)}return[...B.entries()].map(([_,D])=>({owner:_,items:D})).sort((_,D)=>_.owner.localeCompare(D.owner))}),m=z(()=>A.value.length>1),p=B=>m.value&&B.name.includes("/")?B.name.slice(B.name.indexOf("/")+1):B.name;let g=null;async function x(){for(const B of n.value){const _=await w1.graph(B.name).catch(()=>null);o.value={...o.value,[B.name]:_?{files:_.nodes.filter(D=>D.kind==="file").length,links:_.links.length}:null}}}async function $(){await s(),await x(),k()}function k(){clearTimeout(g),u.value&&(g=setTimeout(async()=>{await s(),u.value||await x(),k()},2e3))}async function K(B){a.value=B;try{const[_]=await w1.index(B);c.value={...c.value,[B]:_},l.value=""}catch(_){l.value=_.message}a.value="",await $()}function I(B){return B?B.indexed?`Read ${B.indexed.toLocaleString()} files just now.`:"Nothing had changed.":""}function w(B){return B.reading?"Reading…":B.indexed_at?`Read ${A4(B.indexed_at)}`:"Not read yet"}async function S(B){if(confirm(`Stop covering ${B.path}? + +What was already indexed is left alone.`)){try{await w1.dropRepository(B.path)}catch(_){l.value=_.message}await $()}}return o2($),a3(()=>clearTimeout(g)),(B,_)=>(h(),y("div",null,[E(f(se),{title:"Repositories",sub:"The folders SourceAnt reads on this machine."},{icon:M(()=>[E(f(_t),{class:"h-6 w-6"})]),actions:M(()=>[f(n).length>3?(h(),y("div",zh,[E(f(ke),{class:"pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground"}),E(f(P2),{modelValue:i.value,"onUpdate:modelValue":_[0]||(_[0]=D=>i.value=D),size:"sm",placeholder:"Find a folder",class:"w-48 pl-8","aria-label":"Find a folder"},null,8,["modelValue"])])):O("",!0),E(f(x1),{variant:"glow",onClick:_[1]||(_[1]=D=>r.value=!0)},{default:M(()=>[E(f(le),{class:"mr-2 h-4 w-4"}),_[4]||(_[4]=V(" Add folder or repository ",-1))]),_:1})]),_:1}),f(l)?(h(),Q(f(l2),{key:0,tone:"danger",class:"mb-4"},{default:M(()=>[V(F(f(l)),1)]),_:1})):O("",!0),f(n).length===0?(h(),Q(f(Re),{key:1,title:"No folders yet"},{actions:M(()=>[E(f(x1),{variant:"glow",onClick:_[2]||(_[2]=D=>r.value=!0)},{default:M(()=>[E(f(le),{class:"mr-2 h-4 w-4"}),_[5]||(_[5]=V(" Add folder or repository ",-1))]),_:1})]),default:M(()=>[_[6]||(_[6]=V(" Point SourceAnt at a repository and it reads the files into a graph. ",-1))]),_:1})):(h(),y("div",jh,[(h(!0),y(e1,null,_1(A.value,D=>(h(),y("div",{key:D.owner,class:"space-y-3"},[m.value?(h(),y("h2",Xh,F(D.owner)+" ("+F(D.items.length)+") ",1)):O("",!0),(h(!0),y(e1,null,_1(D.items,C=>(h(),Q(f(tt),{key:C.path,title:p(C),subtitle:C.path,hover:"",class:"cursor-pointer",onClick:N=>f(t).push(`/repositories/${C.name}`)},{icon:M(()=>[E(f(c6),{class:"h-5 w-5"})]),meta:M(()=>[o.value[C.name]?(h(),y(e1,{key:0},[v("span",qh,[E(f(Mt),{class:"h-3.5 w-3.5"}),V(F(o.value[C.name].files.toLocaleString())+" files ",1)]),v("span",eA,[E(f(r0),{class:"h-3.5 w-3.5"}),V(F(o.value[C.name].links.toLocaleString())+" links ",1)])],64)):O("",!0),v("span",tA,[C.reading?(h(),Q(f(v2),{key:0,class:"h-3.5 w-3.5 animate-spin"})):O("",!0),V(" "+F(w(C)),1)]),c.value[C.name]?(h(),y("span",nA,F(I(c.value[C.name])),1)):O("",!0)]),actions:M(()=>[E(f(x1),{variant:"outline",size:"sm",disabled:a.value===C.name||C.reading,onClick:K2(N=>K(C.name),["stop"])},{default:M(()=>[a.value===C.name?(h(),Q(f(v2),{key:0,class:"mr-1.5 h-3.5 w-3.5 animate-spin"})):(h(),Q(f(u6),{key:1,class:"mr-1.5 h-3.5 w-3.5"})),V(" "+F(a.value===C.name?"Reading…":"Re-index"),1)]),_:2},1032,["disabled","onClick"]),E(f(x1),{variant:"ghost",size:"icon","aria-label":`Remove ${C.name}`,onClick:K2(N=>S(C),["stop"])},{default:M(()=>[E(f(v4),{class:"h-4 w-4"})]),_:1},8,["aria-label","onClick"])]),_:2},1032,["title","subtitle","onClick"]))),128))]))),128))])),E(H0,{open:r.value,onClose:_[3]||(_[3]=D=>r.value=!1),onAdded:$},null,8,["open"])]))}};function Bt(){const e=Ce();return t=>e.push(t)}const sA={class:"flex h-full min-h-0 flex-col"},oA={key:1,class:"space-y-3"},aA={class:"flex flex-wrap gap-x-8 gap-y-3"},rA={class:"flex items-center gap-1.5 text-xs uppercase tracking-wider text-muted-foreground"},iA={class:"mt-0.5 text-lg font-semibold"},cA={key:0,class:"mt-4 text-sm text-primary"},uA={key:1,class:"mt-4 text-sm text-muted-foreground"},dA={class:"mt-4 flex flex-wrap gap-2"},fA={class:"mb-4 mt-0.5 text-sm text-muted-foreground"},hA={class:"space-y-2"},AA=["title"],pA={class:"hidden h-1.5 w-24 shrink-0 overflow-hidden rounded-full bg-muted sm:block"},mA={class:"w-28 shrink-0 text-right text-xs tabular-nums text-muted-foreground"},gA={class:"w-24 shrink-0 text-right text-xs tabular-nums text-muted-foreground"},vA={key:2,class:"space-y-3"},yA={class:"text-sm text-muted-foreground"},bA={key:3,class:"space-y-3"},kA={class:"text-sm text-muted-foreground"},xA={__name:"Repository",setup(e){const t=Oe(),n=Ce(),l=Bt(),{repositories:s,chosen:o,fetchRepositories:a}=H2(),r=z(()=>String(t.params.name??"")),i=z(()=>s.value.find(B=>B.name===r.value)),c=P("overview"),u=P(null),d=P([]),A=P([]),m=P({files:[],since:""}),p=P(!1),g=P(null),x=P(""),$=z(()=>{var B,_,D;return[{label:"Files",value:((B=u.value)==null?void 0:B.files)??0,icon:Mt},{label:"Connections",value:((_=u.value)==null?void 0:_.links)??0,icon:r0},{label:"Parts",value:((D=u.value)==null?void 0:D.parts)??0,icon:Et},{label:"Recorded",value:d.value.length,icon:K4},{label:"Rules",value:A.value.length,icon:_3}]}),k=z(()=>{var B;return((B=m.value.files[0])==null?void 0:B.changes)||1}),K=z(()=>[{id:"overview",label:"Overview"},{id:"knowledge",label:`Knowledge${d.value.length?` ${d.value.length}`:""}`},{id:"skills",label:`Skills${A.value.length?` ${A.value.length}`:""}`},{id:"graph",label:"Graph"}]);async function I(){if(!r.value)return;o.value=r.value;const[B,_,D,C]=await Promise.all([w1.graph(r.value).catch(()=>null),w1.knowledge(r.value).catch(()=>({items:[]})),w1.skills(r.value).catch(()=>({skills:[]})),w1.attention(r.value).catch(()=>({files:[],since:""}))]);u.value=B?{files:B.nodes.filter(N=>N.kind==="file").length,links:B.links.length,parts:(B.communities??[]).length}:null,d.value=_.items??[],A.value=D.skills??[],m.value=C}async function w(){p.value=!0;try{const[B]=await w1.index(r.value);g.value=B,x.value=""}catch(B){x.value=B.message}p.value=!1,await I()}async function S(){if(confirm(`Stop covering ${i.value.path}? + +What was already indexed is left alone.`))try{await w1.dropRepository(i.value.path),await a(),n.push("/repositories")}catch(B){x.value=B.message}}return P1(r,I),o2(async()=>{await a(),await I()}),(B,_)=>{var D;return h(),y("div",sA,[E(f(se),{title:r.value,sub:(D=i.value)==null?void 0:D.path,mono:""},{back:M(()=>[E(f(x1),{variant:"ghost",size:"icon","aria-label":"Back to repositories",onClick:_[0]||(_[0]=C=>f(l)("/repositories"))},{default:M(()=>[E(f(Ct),{class:"h-4 w-4"})]),_:1})]),icon:M(()=>[E(f(c6),{class:"h-5 w-5"})]),badges:M(()=>{var C;return[E(f(n2),{variant:(C=u.value)!=null&&C.files?"success":"warning"},{default:M(()=>{var N;return[V(F((N=u.value)!=null&&N.files?"Indexed":"Not indexed"),1)]}),_:1},8,["variant"])]}),actions:M(()=>[E(f(x1),{variant:"outline",disabled:p.value,onClick:w},{default:M(()=>[p.value?(h(),Q(f(v2),{key:0,class:"mr-1.5 h-3.5 w-3.5 animate-spin"})):(h(),Q(f(u6),{key:1,class:"mr-1.5 h-3.5 w-3.5"})),V(" "+F(p.value?"Reading…":"Re-index"),1)]),_:1},8,["disabled"]),E(f(x1),{variant:"ghost",size:"icon","aria-label":"Stop covering this folder",onClick:S},{default:M(()=>[E(f(v4),{class:"h-4 w-4"})]),_:1})]),_:1},8,["title","sub"]),x.value?(h(),Q(f(l2),{key:0,tone:"danger",class:"mb-4"},{default:M(()=>[V(F(x.value),1)]),_:1})):O("",!0),E(f(D3),{modelValue:c.value,"onUpdate:modelValue":_[1]||(_[1]=C=>c.value=C),tabs:K.value,label:"What to look at",class:"mb-4 w-fit"},null,8,["modelValue","tabs"]),c.value==="overview"?(h(),y("div",oA,[E(f(Q1),{class:"p-5"},{default:M(()=>[v("dl",aA,[(h(!0),y(e1,null,_1($.value,C=>(h(),y("div",{key:C.label},[v("dt",rA,[(h(),Q(h2(C.icon),{class:"h-3.5 w-3.5"})),V(F(C.label),1)]),v("dd",iA,F(C.value.toLocaleString()),1)]))),128))]),g.value?(h(),y("p",cA,[g.value.indexed?(h(),y(e1,{key:0},[V("Read "+F(g.value.indexed.toLocaleString())+" files just now.",1)],64)):(h(),y(e1,{key:1},[V("Nothing had changed.")],64))])):u.value===null?(h(),y("p",uA," Not read yet. Re-index to read it. ")):O("",!0),v("div",dA,[E(f(x1),{variant:"outline",size:"sm",onClick:_[2]||(_[2]=C=>f(n).push("/reviews"))},{default:M(()=>[E(f(s3),{class:"mr-1.5 h-3.5 w-3.5"}),_[6]||(_[6]=V(" Review what has changed ",-1))]),_:1}),E(f(x1),{variant:"outline",size:"sm",onClick:_[3]||(_[3]=C=>f(n).push("/knowledge"))},{default:M(()=>[E(f(K4),{class:"mr-1.5 h-3.5 w-3.5"}),_[7]||(_[7]=V(" Record something ",-1))]),_:1})])]),_:1}),m.value.files.length?(h(),Q(f(Q1),{key:0,class:"p-5"},{default:M(()=>[_[8]||(_[8]=v("h2",{class:"font-semibold"},"Where to look first",-1)),v("p",fA," Files that have been changing in the last "+F(m.value.since)+" and that the rest of the code leans on. Either on its own says little: something everything imports and nobody touches is settled, and something nothing imports that changes daily is a scratch pad. Where they meet is where a change is most likely to catch somebody out, and is the shortest list worth reading first. ",1),v("ul",hA,[(h(!0),y(e1,null,_1(m.value.files,C=>(h(),y("li",{key:C.path,class:"flex items-center gap-3"},[v("span",{class:"min-w-0 flex-1 truncate font-mono text-sm",title:C.path},F(C.path),9,AA),v("span",pA,[v("span",{class:"block h-full rounded-full bg-pillar-graph",style:M2({width:`${Math.max(4,C.changes/k.value*100)}%`})},null,4)]),v("span",mA,F(C.changes)+" change"+F(C.changes===1?"":"s"),1),v("span",gA,F(C.dependants)+" depend"+F(C.dependants===1?"s":""),1)]))),128))])]),_:1})):O("",!0)])):c.value==="knowledge"?(h(),y("div",vA,[(h(!0),y(e1,null,_1(d.value,C=>(h(),Q(f(tt),{key:C.id,title:C.id,pillar:"memory"},{icon:M(()=>[E(f(K4),{class:"h-5 w-5"})]),badges:M(()=>[E(f(n2),{variant:"secondary"},{default:M(()=>[V(F(C.kind),1)]),_:2},1024),C.status?(h(),Q(f(n2),{key:0,variant:"outline"},{default:M(()=>[V(F(C.status),1)]),_:2},1024)):O("",!0)]),default:M(()=>[v("p",yA,F(C.summary),1)]),_:2},1032,["title"]))),128)),d.value.length?O("",!0):(h(),Q(f(Q1),{key:0,class:"p-10 text-center"},{default:M(()=>[_[10]||(_[10]=v("p",{class:"font-medium"},"Nothing recorded about this repository yet.",-1)),E(f(x1),{class:"mt-3",variant:"outline",onClick:_[4]||(_[4]=C=>f(n).push("/knowledge"))},{default:M(()=>[..._[9]||(_[9]=[V("Record something",-1)])]),_:1})]),_:1}))])):c.value==="skills"?(h(),y("div",bA,[(h(!0),y(e1,null,_1(A.value,C=>(h(),Q(f(tt),{key:C.id,title:C.name,subtitle:C.path,pillar:"review"},{icon:M(()=>[E(f(_3),{class:"h-5 w-5"})]),badges:M(()=>[E(f(n2),{variant:C.origin==="repository"?"success":"outline"},{default:M(()=>[V(F(C.origin==="repository"?"this repository":C.origin),1)]),_:2},1032,["variant"])]),default:M(()=>[v("p",kA,F(C.description),1)]),_:2},1032,["title","subtitle"]))),128)),A.value.length?O("",!0):(h(),Q(f(Q1),{key:0,class:"p-10 text-center"},{default:M(()=>[_[12]||(_[12]=v("p",{class:"font-medium"},"Nothing written down for this repository yet.",-1)),E(f(x1),{class:"mt-3",variant:"outline",onClick:_[5]||(_[5]=C=>f(n).push("/skills/new"))},{default:M(()=>[..._[11]||(_[11]=[V("Add skill",-1)])]),_:1})]),_:1}))])):(h(),Q(Y0,{key:r.value,repository:r.value,sources:["code"],controls:["filter","kinds","parts","layouts","depth"],height:"calc(100vh - 19rem)"},null,8,["repository"]))])}}},wA={class:"flex h-full min-h-0 flex-col"},CA={key:0},_A=["value"],IA=["value"],MA=["value"],EA={class:"mb-2 flex items-center justify-between gap-3"},DA={key:0,class:"relative"},ZA=["onClick"],FA={key:0,class:"block max-w-md truncate text-xs text-destructive"},BA={class:"font-mono text-xs text-muted-foreground"},SA={class:"text-muted-foreground"},RA={class:"tabular-nums text-muted-foreground"},$A={class:"mb-3 flex flex-wrap items-center gap-x-3 gap-y-2"},NA={class:"ml-auto flex flex-wrap items-center gap-1.5"},KA=["value"],QA={key:1,class:"min-h-0 flex-1 overflow-y-auto"},OA={class:"min-w-0 flex-1 truncate font-medium"},GA={class:"shrink-0 font-mono text-xs text-muted-foreground"},WA={class:"shrink-0 text-xs text-muted-foreground"},LA={class:"shrink-0 text-xs text-muted-foreground"},VA={key:0,class:"mt-2 whitespace-pre-wrap pl-5 text-sm text-muted-foreground"},TA={key:2,class:"min-h-0 flex-1 overflow-y-auto"},PA={class:"divide-y"},HA={class:"flex cursor-pointer items-center gap-2 text-sm"},YA={class:"font-medium"},UA={class:"min-w-0 flex-1 truncate text-muted-foreground"},JA={class:"flex cursor-pointer items-center gap-2 text-sm"},zA={class:"font-medium"},jA={class:"min-w-0 flex-1 truncate text-muted-foreground"},XA={class:"space-y-2"},qA={class:"space-y-2"},ep={class:"space-y-2"},tp={class:"space-y-1.5 text-sm"},np=["onClick"],lp={class:"font-mono text-xs"},sp={key:3,class:"grid min-h-0 flex-1 gap-3 lg:grid-cols-[18rem_1fr]"},op={class:"min-h-0 flex-1 overflow-y-auto py-1"},ap=["onClick"],rp=["title"],ip={class:"shrink-0 text-[10px] uppercase text-muted-foreground"},cp={class:"min-h-0 overflow-y-auto"},up={class:"mb-2 flex flex-wrap items-center gap-2"},dp={class:"break-all font-mono text-sm"},fp=1500,cn={__name:"Reviews",setup(e){const t=Oe(),n=Ce(),l=Bt(),{repositories:s,chosen:o,error:a,fetchRepositories:r}=H2({all:!0}),i=P(!1),c=P(!1),u=P(null),d=P(null),A=P(!1),m=P(""),p=P([]),g=P(""),x=P([]),$=P([]),k=P(""),K=[{id:"status",label:"Status",width:"6rem"},{id:"review",label:"Review"},{id:"repository",label:"Repository",narrow:!0},{id:"started",label:"Started",narrow:!0},{id:"took",label:"Took",align:"right",narrow:!0}];function I(T){if(!T.finished||!T.started)return"";const H=Math.round((new Date(T.finished)-new Date(T.started))/1e3);return H<1?"instant":H<60?`${H}s`:`${Math.round(H/60)}m`}const w=z(()=>{const T=k.value.trim().toLowerCase();return T?$.value.filter(H=>`${H.title??""} ${H.repository??""} ${H.status??""}`.toLowerCase().includes(T)):$.value}),S=P("overview"),B=z(()=>{var T;return((T=u.value)==null?void 0:T.changed)??[]}),_=z(()=>String(t.params.id??"")),D=z(()=>x.value.filter(T=>!p.value.includes(T.id))),C=z(()=>Object.fromEntries(x.value.map(T=>[T.id,T]))),N=T=>{var H;return((H=C.value[T])==null?void 0:H.name)??T},G=T=>{var H;return(H=A1.value.find(Z1=>Z1.skill===T))==null?void 0:H.passed};function j(T){p.value=p.value.filter(H=>H!==T)}function f1(T){T&&!p.value.includes(T)&&(p.value=[...p.value,T]),g.value=""}const u1=z(()=>{var T;return((T=u.value)==null?void 0:T.where)??null}),A1=z(()=>{var T;return((T=u.value)==null?void 0:T.verdicts)??[]}),M1=z(()=>A1.value.flatMap(T=>T.findings.map(H=>({...H,skill:T.skill})))),i1=z(()=>M1.value.filter(T=>T.severity==="blocking")),v1=z(()=>M1.value.filter(T=>T.severity!=="blocking")),r1=z(()=>{const T={};for(const H of M1.value)H.path&&(T[H.path]=(T[H.path]??0)+(H.severity==="blocking"?10:1));for(const H of m1.value)T[H.path]=(T[H.path]??0)+1;return T}),H1=z(()=>[...B.value].sort((T,H)=>(r1.value[H.path]??0)-(r1.value[T.path]??0))),b1=z(()=>B.value.find(T=>T.path===m.value)??H1.value[0]??null),q1=z(()=>M1.value.filter(T=>!T.path)),j1=z(()=>{var T;return((T=u.value)==null?void 0:T.review)??null}),s1=z(()=>{var T;return((T=j1.value)==null?void 0:T.summary)??null}),m1=z(()=>{var T;return((T=j1.value)==null?void 0:T.suggestions)??[]}),L=z(()=>A1.value.filter(T=>!T.passed)),X=z(()=>{var T;return((T=u.value)==null?void 0:T.commits)??[]}),W=z(()=>{var T,H;return!!((T=s1.value)!=null&&T.overview)||L.value.length>0||q1.value.length>0||m1.value.length>0||Object.keys(((H=j1.value)==null?void 0:H.notes)??{}).length>0}),p1=z(()=>{const T=[{id:"overview",label:"Overview"},{id:"details",label:`Files${B.value.length?` ${B.value.length}`:""}`}];return T.push({id:"commits",label:`Commits${X.value.length?` ${X.value.length}`:""}`}),T}),D1={APPROVE:{label:"Approved",tone:"success"},REQUEST_CHANGES:{label:"Changes requested",tone:"danger"},COMMENT:{label:"Commented",tone:"warning"}},b=z(()=>{var H;if(i1.value.length)return{label:"Changes requested",tone:"danger",count:i1.value.length};const T=(H=j1.value)==null?void 0:H.verdict;return T&&D1[T]?{...D1[T],count:m1.value.length||null}:!A1.value.length&&!j1.value?{label:"Not reviewed",tone:"neutral",count:null}:{label:"Commented",tone:"warning",count:v1.value.length||null}}),Z={success:i6,danger:Z5,warning:Ur,neutral:s3},R=z(()=>u.value?Z[b.value.tone]:s3),U={BUG:"danger",SECURITY:"danger",PERFORMANCE:"warning",REFACTOR:"info",STYLE:"neutral",CLARITY:"neutral",TEST:"info",DOCUMENTATION:"neutral"},J=T=>U[String(T||"").toUpperCase()]??"info",Y=T=>[...M1.value.filter(H=>H.path===T).map(H=>({...H,from:H.skill,tone:H.severity==="blocking"?"danger":"warning"})),...m1.value.filter(H=>H.path===T).map(H=>({line:H.start_line,severity:"suggestion",detail:H.comment,code:H.suggested_code,replacing:H.existing_code,from:H.category||"review",tone:J(H.category)}))];async function a1(T){T&&(o.value=T,await Promise.all([q(),n1()]))}async function n1(){try{$.value=await w1.reviews(o.value)}catch{$.value=[]}}async function l1(){try{const T=await w1.settings(),H=T.find(R1=>R1.key==="model.name"),Z1=T.find(R1=>R1.key==="model.api_key");A.value=!!(H!=null&&H.value)&&!!(Z1!=null&&Z1.is_set)}catch{A.value=!1}}async function q(){try{x.value=(await w1.skills(o.value)).skills}catch{x.value=[]}}let k1=null;function c1(){k1&&clearTimeout(k1),k1=null}async function y1(T){c1();const H=T?c:i;H.value=!0,a.value="";try{const Z1=await w1.startReview(o.value,{useModel:T,skills:[...p.value]});n.replace(`/reviews/${Z1.id}`),await I1(Z1.id,T)}catch(Z1){a.value=Z1.message,H.value=!1}}async function I1(T,H=!0){const Z1=H?c:i;let R1;try{R1=await w1.reviewed(T)}catch(t1){a.value=t1.message,Z1.value=!1;return}if(d.value=R1,R1.status==="running"){Z1.value=!0,k1=setTimeout(()=>I1(T,H),fp);return}if(Z1.value=!1,R1.status==="failed"){a.value=R1.error;return}u.value=R1.review,m.value="",S.value="overview",p.value=(R1.review.skills??[]).map(t1=>t1.id)}return P1(o,()=>{c1(),q(),n1()}),P1(_,T=>{if(c1(),!T){u.value=null,d.value=null,n1();return}I1(T)}),a3(c1),o2(async()=>{await r(),await Promise.all([l1(),q(),n1()]),_.value&&await I1(_.value)}),(T,H)=>{var R1;const Z1=V4("RouterLink");return h(),y("div",wA,[E(f(se),{pillar:"review",title:u1.value?`${u1.value.branch||"no branch"} → ${u1.value.against}`:"Reviews",sub:u1.value?u1.value.path:"Your work read here, before anybody else is asked to read it.",mono:!!u1.value,tone:u.value?b.value.tone:void 0},v5({icon:M(()=>[(h(),Q(h2(R.value),{class:"h-6 w-6"}))]),actions:M(()=>[f(s).length>1?(h(),Q(f(ne),{key:0,modelValue:f(o),"onUpdate:modelValue":H[1]||(H[1]=t1=>i2(o)?o.value=t1:null),size:"sm","aria-label":"Repository"},{default:M(()=>[v("option",{value:f(Ft)},"All repositories",8,_A),(h(!0),y(e1,null,_1(f(s),t1=>(h(),y("option",{key:t1.name,value:t1.name},F(t1.name),9,IA))),128))]),_:1},8,["modelValue"])):O("",!0),f(s).length&&f(o)?(h(),Q(f(x1),{key:1,size:"sm",variant:"outline",disabled:i.value,onClick:H[2]||(H[2]=t1=>y1(!1))},{default:M(()=>[i.value?(h(),Q(f(v2),{key:0,class:"mr-2 h-4 w-4 animate-spin"})):(h(),Q(f(Mt),{key:1,class:"mr-2 h-4 w-4"})),V(" "+F(i.value?"Reading…":"Read what changed"),1)]),_:1},8,["disabled"])):O("",!0),f(s).length&&A.value&&f(o)?(h(),Q(f(x1),{key:2,size:"sm",variant:"glow",disabled:c.value,onClick:H[3]||(H[3]=t1=>y1(!0))},{default:M(()=>[c.value?(h(),Q(f(v2),{key:0,class:"mr-2 h-4 w-4 animate-spin"})):(h(),Q(f(u0),{key:1,class:"mr-2 h-4 w-4"})),V(" "+F(c.value?"Reviewing…":"Review it"),1)]),_:1},8,["disabled"])):f(s).length&&A.value?(h(),Q(f(ne),{key:3,"model-value":"",size:"sm","aria-label":"Choose a repository to review","onUpdate:modelValue":a1},{default:M(()=>[H[6]||(H[6]=v("option",{value:""},"Choose a repository…",-1)),(h(!0),y(e1,null,_1(f(s),t1=>(h(),y("option",{key:t1.name,value:t1.name},F(t1.name),9,MA))),128))]),_:1})):O("",!0)]),_:2},[_.value?{name:"back",fn:M(()=>[E(f(x1),{variant:"ghost",size:"icon","aria-label":"Back to reviews",onClick:H[0]||(H[0]=t1=>f(l)("/reviews"))},{default:M(()=>[E(f(Ct),{class:"h-4 w-4"})]),_:1})]),key:"0"}:void 0,u.value?{name:"meta",fn:M(()=>[E(f(W0),{label:b.value.label,tone:b.value.tone,count:b.value.count},null,8,["label","tone","count"]),u1.value?(h(),y("span",CA,F(u1.value.commits)+" commit"+F(u1.value.commits===1?"":"s")+" ahead",1)):O("",!0),v("span",null,F(B.value.length)+" file"+F(B.value.length===1?"":"s"),1)]),key:"1"}:void 0]),1032,["title","sub","mono","tone"]),f(a)?(h(),Q(f(l2),{key:0,tone:"danger",class:"mb-4"},{default:M(()=>[V(F(f(a)),1)]),_:1})):O("",!0),f(s).length===0?(h(),Q(y4,{key:1})):(h(),y(e1,{key:2},[!A.value&&f(o)?(h(),Q(f(l2),{key:0,tone:"info",class:"mb-4"},{default:M(()=>[H[8]||(H[8]=V(" No model is configured, so nothing here can be judged. Reading what changed needs nothing. ",-1)),E(Z1,{to:"/settings?group=Model",class:"font-medium underline"},{default:M(()=>[...H[7]||(H[7]=[V(" Choose a model ",-1)])]),_:1}),H[9]||(H[9]=V(" to have the work read against your skills. ",-1))]),_:1})):O("",!0),u.value?(h(),y(e1,{key:2},[v("div",$A,[E(f(D3),{modelValue:S.value,"onUpdate:modelValue":H[5]||(H[5]=t1=>S.value=t1),tabs:p1.value,label:"What to look at",class:"w-fit"},null,8,["modelValue","tabs"]),v("div",NA,[H[14]||(H[14]=v("span",{class:"text-xs uppercase tracking-wider text-muted-foreground"}," Skills applied ",-1)),(h(!0),y(e1,null,_1(p.value,t1=>(h(),Q(f(F7),{key:t1,label:N(t1),tone:G(t1)===void 0?"default":G(t1)?"success":"danger",removable:"",onRemove:e2=>j(t1)},{default:M(()=>[V(F(N(t1)),1)]),_:2},1032,["label","tone","onRemove"]))),128)),p.value.length?O("",!0):(h(),Q(f(F7),{key:0,tone:"muted"},{default:M(()=>[...H[12]||(H[12]=[V("Whatever applies",-1)])]),_:1})),D.value.length?(h(),Q(f(ne),{key:1,"model-value":g.value,size:"sm","aria-label":"Add a skill","onUpdate:modelValue":f1},{default:M(()=>[H[13]||(H[13]=v("option",{value:""},"Add…",-1)),(h(!0),y(e1,null,_1(D.value,t1=>(h(),y("option",{key:t1.id,value:t1.id},F(t1.name),9,KA))),128))]),_:1},8,["model-value"])):O("",!0)])]),u.value.note&&!j1.value?(h(),Q(f(l2),{key:0,tone:"info",class:"mb-3"},{default:M(()=>[V(F(u.value.note),1)]),_:1})):O("",!0),S.value==="commits"?(h(),y("div",QA,[X.value.length?(h(),Q(f(Q1),{key:1,class:"divide-y px-4 py-1"},{default:M(()=>[(h(!0),y(e1,null,_1(X.value,t1=>(h(),y("div",{key:t1.sha,class:"py-2.5"},[(h(),Q(h2(t1.body?"details":"div"),{class:o1(t1.body&&"group")},{default:M(()=>[(h(),Q(h2(t1.body?"summary":"div"),{class:o1(["flex items-baseline gap-2 text-sm",t1.body&&"cursor-pointer list-none"])},{default:M(()=>[E(f(Pr),{class:"h-3.5 w-3.5 shrink-0 self-center text-muted-foreground"}),v("span",OA,F(t1.subject),1),v("span",GA,F(t1.sha.slice(0,8)),1),v("span",WA,F(t1.author),1),v("span",LA,F(f(A4)(t1.at)),1)]),_:2},1032,["class"])),t1.body?(h(),y("p",VA,F(t1.body),1)):O("",!0)]),_:2},1032,["class"]))]))),128))]),_:1})):(h(),Q(f(Re),{key:0,title:"Nothing committed on this branch",compact:""},{default:M(()=>[...H[15]||(H[15]=[V(" Everything here is uncommitted work, which is in the diff rather than in a commit. ",-1)])]),_:1}))])):S.value==="overview"?(h(),y("div",TA,[B.value.length?W.value?(h(),Q(f(Q1),{key:2,class:"divide-y px-5 py-1"},{default:M(()=>{var t1,e2,_2,_e,F3,A2,I2,B3;return[(t1=s1.value)!=null&&t1.overview?(h(),Q(f(Ye),{key:0,title:"What this change does",tone:"info"},{icon:M(()=>[E(f(Z7),{class:"h-4 w-4"})]),default:M(()=>[E(f(B2),{source:s1.value.overview},null,8,["source"])]),_:1})):O("",!0),L.value.length||q1.value.length?(h(),Q(f(Ye),{key:1,title:"Skill checks",tone:"warning",count:L.value.length+q1.value.length,collapsible:"",closed:""},{icon:M(()=>[E(f(et),{class:"h-4 w-4"})]),default:M(()=>[v("ul",PA,[(h(!0),y(e1,null,_1(L.value,$1=>(h(),y("li",{key:$1.skill,class:"py-2 first:pt-0"},[v("details",null,[v("summary",HA,[E(f(J3),{tone:"danger",title:`${$1.skill} is not met`},null,8,["title"]),v("span",YA,F($1.skill),1),v("span",UA,F(($1.note||"").split(` +`)[0]),1)]),$1.note?(h(),Q(f(B2),{key:0,source:$1.note,class:"mt-2 pl-5 text-sm text-muted-foreground"},null,8,["source"])):O("",!0)])]))),128)),(h(!0),y(e1,null,_1(q1.value,($1,D2)=>(h(),y("li",{key:`o${D2}`,class:"py-2 first:pt-0"},[v("details",null,[v("summary",JA,[E(f(J3),{tone:$1.severity==="blocking"?"danger":"warning",title:$1.skill||"A skill"},null,8,["tone","title"]),v("span",zA,F($1.skill),1),v("span",jA,F(($1.detail||"").split(` +`)[0]),1)]),E(f(B2),{source:$1.detail,class:"mt-2 pl-5 text-sm text-muted-foreground"},null,8,["source"])])]))),128))])]),_:1},8,["count"])):O("",!0),(_2=(e2=s1.value)==null?void 0:e2.critical_issues)!=null&&_2.length?(h(),Q(f(Ye),{key:2,title:"Worth stopping for",tone:"danger",count:s1.value.critical_issues.length,collapsible:""},{icon:M(()=>[E(f(Z5),{class:"h-4 w-4"})]),default:M(()=>[v("ul",XA,[(h(!0),y(e1,null,_1(s1.value.critical_issues,($1,D2)=>(h(),y("li",{key:D2},[E(f(B2),{source:$1},null,8,["source"])]))),128))])]),_:1},8,["count"])):O("",!0),(F3=(_e=s1.value)==null?void 0:_e.key_improvements)!=null&&F3.length?(h(),Q(f(Ye),{key:3,title:"Recommended changes",tone:"warning",count:s1.value.key_improvements.length,collapsible:""},{icon:M(()=>[E(f(q4),{class:"h-4 w-4"})]),default:M(()=>[v("ul",qA,[(h(!0),y(e1,null,_1(s1.value.key_improvements,($1,D2)=>(h(),y("li",{key:D2},[E(f(B2),{source:$1},null,8,["source"])]))),128))])]),_:1},8,["count"])):O("",!0),(I2=(A2=s1.value)==null?void 0:A2.minor_suggestions)!=null&&I2.length?(h(),Q(f(Ye),{key:4,title:"Nice to have",count:s1.value.minor_suggestions.length,collapsible:"",closed:""},{icon:M(()=>[E(f(S5),{class:"h-4 w-4"})]),default:M(()=>[v("ul",ep,[(h(!0),y(e1,null,_1(s1.value.minor_suggestions,($1,D2)=>(h(),y("li",{key:D2},[E(f(B2),{source:$1},null,8,["source"])]))),128))])]),_:1},8,["count"])):O("",!0),m1.value.length?(h(),Q(f(Ye),{key:5,title:"Suggestions",tone:"info",count:m1.value.length,collapsible:""},{icon:M(()=>[E(f(Lr),{class:"h-4 w-4"})]),default:M(()=>[H[16]||(H[16]=v("p",{class:"mb-3 text-sm text-muted-foreground"}," Each one is drawn against the line it is about, under Files. ",-1)),v("ul",tp,[(h(!0),y(e1,null,_1(m1.value,($1,D2)=>(h(),y("li",{key:D2,class:"flex gap-2"},[$1.category?(h(),Q(f(J3),{key:0,tone:J($1.category),title:$1.category,label:$1.category.toLowerCase(),class:"mt-0.5 shrink-0"},null,8,["tone","title","label"])):O("",!0),v("button",{type:"button",class:"min-w-0 text-left hover:underline",onClick:hm=>{m.value=$1.path,S.value="details"}},[v("span",lp,F($1.path)+":"+F($1.start_line),1),E(f(B2),{source:$1.comment,class:"text-muted-foreground"},null,8,["source"])],8,np)]))),128))])]),_:1},8,["count"])):O("",!0),(h(!0),y(e1,null,_1(((B3=j1.value)==null?void 0:B3.notes)??{},($1,D2)=>(h(),Q(f(Ye),{key:D2,title:String(D2).replace(/_/g," "),collapsible:"",closed:"",class:"capitalize"},{icon:M(()=>[E(f(Z7),{class:"h-4 w-4"})]),default:M(()=>[E(f(B2),{source:$1,class:"normal-case"},null,8,["source"])]),_:2},1032,["title"]))),128))]}),_:1})):(h(),Q(f(Re),{key:1,title:"Read, not judged",compact:""},{default:M(()=>[V(F(u.value.note||"No model was asked, so nothing was judged."),1)]),_:1})):(h(),Q(f(Re),{key:0,title:"No changes",compact:""},{default:M(()=>{var t1,e2;return[V(F(((t1=u1.value)==null?void 0:t1.branch)||"This checkout")+" matches "+F(((e2=u1.value)==null?void 0:e2.against)||"its base")+". Nothing to read. ",1)]}),_:1}))])):(h(),y("div",sp,[E(f(Q1),{class:"flex min-h-0 flex-col overflow-hidden"},{default:M(()=>[H[17]||(H[17]=v("div",{class:"border-b px-3 py-2 text-xs uppercase tracking-wider text-muted-foreground"}," Changed ",-1)),v("ul",op,[(h(!0),y(e1,null,_1(H1.value,t1=>{var e2;return h(),y("li",{key:t1.path},[v("button",{type:"button",class:o1(["flex w-full items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors",((e2=b1.value)==null?void 0:e2.path)===t1.path?"bg-primary/10 text-primary":"hover:bg-muted"]),onClick:_2=>m.value=t1.path},[v("span",{class:"min-w-0 flex-1 truncate font-mono text-xs",title:t1.path},F(t1.path),9,rp),Y(t1.path).length?(h(),Q(f(n2),{key:0,variant:r1.value[t1.path]>=10?"destructive":"secondary"},{default:M(()=>[V(F(Y(t1.path).length),1)]),_:2},1032,["variant"])):O("",!0),v("span",ip,F(t1.change.slice(0,3)),1)],10,ap)])}),128))])]),_:1}),v("div",cp,[b1.value?(h(),y(e1,{key:0},[v("div",up,[v("span",dp,F(b1.value.path),1),E(f(n2),{variant:"secondary"},{default:M(()=>[V(F(b1.value.change),1)]),_:1})]),E(f(Wu),{patch:b1.value.patch,notes:Y(b1.value.path)},null,8,["patch","notes"])],64)):(h(),Q(f(Q1),{key:1,class:"p-10 text-center text-sm text-muted-foreground"},{default:M(()=>[...H[18]||(H[18]=[V(" Nothing has changed in this checkout. ",-1)])]),_:1}))])]))],64)):(h(),y(e1,{key:1},[((R1=d.value)==null?void 0:R1.status)==="running"?(h(),Q(f(L0),{key:0,label:"Reading it",note:"This keeps going whether or not anybody is watching, and the link to it keeps working."})):(h(),y(e1,{key:1},[$.value.length?O("",!0):(h(),Q(f(Re),{key:0,title:"Nothing read here yet"},v5({icon:M(()=>[E(f(s3),{class:"h-8 w-8"})]),default:M(()=>[H[10]||(H[10]=V(" Everything comes off the checkout, so work you have not pushed, or not committed, still gets a review. ",-1))]),_:2},[f(o)?void 0:{name:"actions",fn:M(()=>[(h(!0),y(e1,null,_1(f(s),t1=>(h(),Q(f(x1),{key:t1.name,size:"sm",variant:"outline",onClick:e2=>a1(t1.name)},{default:M(()=>[E(f(_t),{class:"mr-2 h-4 w-4"}),V(" "+F(t1.name),1)]),_:2},1032,["onClick"]))),128))]),key:"0"}]),1024)),$.value.length?(h(),y(e1,{key:1},[v("div",EA,[H[11]||(H[11]=v("p",{class:"text-xs uppercase tracking-wider text-muted-foreground"},"Earlier",-1)),$.value.length>5?(h(),y("div",DA,[E(f(ke),{class:"pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground"}),E(f(P2),{modelValue:k.value,"onUpdate:modelValue":H[4]||(H[4]=t1=>k.value=t1),size:"sm",placeholder:"Find a review",class:"w-48 pl-8","aria-label":"Find a review"},null,8,["modelValue"])])):O("",!0)]),E(f(f6),{columns:K,rows:w.value,"row-key":"id",label:"Earlier reviews"},{status:M(({row:t1})=>[E(f(n2),{variant:t1.status==="done"?"success":t1.status==="failed"?"destructive":"secondary"},{default:M(()=>[V(F(t1.status),1)]),_:2},1032,["variant"])]),review:M(({row:t1})=>[v("button",{type:"button",class:"block max-w-md truncate text-left font-medium hover:text-primary",onClick:e2=>f(n).push(`/reviews/${t1.id}`)},F(t1.title||"Unnamed"),9,ZA),t1.error?(h(),y("span",FA,F(t1.error),1)):O("",!0)]),repository:M(({row:t1})=>[v("span",BA,F(t1.repository),1)]),started:M(({row:t1})=>[v("span",SA,F(f(A4)(t1.started)),1)]),took:M(({row:t1})=>[v("span",RA,F(I(t1)),1)]),_:1},8,["rows"])],64)):O("",!0)],64))],64))],64))])}}},hp={key:1,class:"py-10 text-center text-sm text-muted-foreground"},Ap={class:"text-sm"},pp={class:"mt-4 grid gap-4 border-t pt-4 text-sm sm:grid-cols-3"},mp={class:"flex flex-wrap gap-1"},gp={key:0,class:"flex flex-wrap gap-1 font-mono text-xs"},vp={key:1,class:"text-muted-foreground"},yp="repository",r5="global",bp={__name:"Skill",setup(e){const t=[yp,r5],n=Oe(),l=Ce(),s=Bt(),{chosen:o,fetchRepositories:a}=H2(),r=z(()=>String(n.params.id??"")),i=P(null),c=P([]),u=P(!0),d=P(""),A=z(()=>!!i.value&&!t.includes(i.value.origin)),m=z(()=>i.value?A.value?i.value.origin:i.value.origin===r5?"everywhere":o.value:""),p=$=>{var k,K;return((K=(k=i.value)==null?void 0:k.applications)==null?void 0:K[$])!==!1};async function g(){u.value=!0,d.value="",c.value.length||(c.value=await w1.uses().catch(()=>[]));try{i.value=await w1.skill(r.value,o.value)}catch($){d.value=$.message,i.value=null}finally{u.value=!1}}async function x(){if(confirm(`Forget ${i.value.name}? + +It stops being read for ${m.value}.`))try{await w1.forgetSkill(i.value.origin===r5?"":o.value,i.value.origin,r.value),l.push("/skills")}catch($){d.value=$.message}}return P1(r,g),o2(async()=>{await a(),await g()}),($,k)=>{var K,I,w;return h(),y("div",null,[E(f(se),{pillar:"review",title:((K=i.value)==null?void 0:K.name)||r.value,sub:(I=i.value)==null?void 0:I.path,mono:!!((w=i.value)!=null&&w.path)},v5({back:M(()=>[E(f(x1),{variant:"ghost",size:"icon","aria-label":"Back to skills",onClick:k[0]||(k[0]=S=>f(s)("/skills"))},{default:M(()=>[E(f(Ct),{class:"h-4 w-4"})]),_:1})]),icon:M(()=>[E(f(_3),{class:"h-5 w-5"})]),badges:M(()=>[i.value?(h(),Q(f(n2),{key:0,variant:A.value?"outline":"success"},{default:M(()=>[V(F(m.value),1)]),_:1},8,["variant"])):O("",!0),i.value&&!i.value.automatic?(h(),Q(f(n2),{key:1,variant:"outline"},{default:M(()=>[...k[3]||(k[3]=[V("manual",-1)])]),_:1})):O("",!0)]),_:2},[i.value?{name:"actions",fn:M(()=>[A.value?O("",!0):(h(),Q(f(x1),{key:0,variant:"ghost",size:"icon","aria-label":"Forget this skill",onClick:x},{default:M(()=>[E(f(v4),{class:"h-4 w-4"})]),_:1})),E(f(x1),{size:"sm",onClick:k[1]||(k[1]=S=>f(l).push(`/skills/${r.value}/edit`))},{default:M(()=>[(h(),Q(h2(A.value?f(X4):f(F5)),{class:"mr-1.5 h-3.5 w-3.5"})),V(" "+F(A.value?"Copy":"Edit"),1)]),_:1})]),key:"0"}:void 0]),1032,["title","sub","mono"]),d.value?(h(),Q(f(l2),{key:0,tone:"danger",class:"mb-4"},{default:M(()=>[V(F(d.value),1)]),_:1})):O("",!0),u.value?(h(),y("p",hp,"Loading.")):i.value?(h(),y(e1,{key:2},[A.value?(h(),Q(f(l2),{key:0,tone:"info",class:"mb-4"},{default:M(()=>[...k[4]||(k[4]=[V(" Read-only file. Copy keeps your own, which is then the one used. ",-1)])]),_:1})):O("",!0),E(f(Q1),{class:"mb-3 p-5"},{default:M(()=>{var S;return[v("p",Ap,F(i.value.description),1),v("dl",pp,[v("div",null,[k[5]||(k[5]=v("dt",{class:"mb-1.5 text-xs uppercase tracking-wide text-muted-foreground"},"Skill uses",-1)),v("dd",mp,[(h(!0),y(e1,null,_1(c.value,B=>(h(),y("span",{key:B.id,class:o1(["rounded-full border px-2 py-0.5 text-[11px]",p(B.id)?"border-primary/30 bg-primary/10 text-foreground":"border-border text-muted-foreground line-through"])},F(B.label),3))),128))])]),v("div",null,[k[6]||(k[6]=v("dt",{class:"mb-1.5 text-xs uppercase tracking-wide text-muted-foreground"},"Files",-1)),(S=i.value.paths)!=null&&S.length?(h(),y("dd",gp,[(h(!0),y(e1,null,_1(i.value.paths,B=>(h(),y("span",{key:B,class:"rounded bg-muted px-1.5 py-0.5"},F(B),1))),128))])):(h(),y("dd",vp,"Any"))]),v("div",null,[k[7]||(k[7]=v("dt",{class:"mb-1.5 text-xs uppercase tracking-wide text-muted-foreground"},"Selection",-1)),v("dd",null,F(i.value.automatic?"Automatic":"Only when named"),1)])])]}),_:1}),i.value.body?(h(),Q(f(Q1),{key:1,class:"p-5"},{default:M(()=>[E(f(B2),{source:i.value.body},null,8,["source"])]),_:1})):(h(),Q(f(Q1),{key:2,class:"p-10 text-center"},{default:M(()=>[E(f(_3),{class:"mx-auto mb-3 h-8 w-8 text-muted-foreground"}),k[9]||(k[9]=v("p",{class:"font-medium"},"Nothing written down.",-1)),k[10]||(k[10]=v("p",{class:"mx-auto mt-1 max-w-md text-sm text-muted-foreground"}," The body is what a person reads and what a model is given when your work is checked against this skill. ",-1)),A.value?O("",!0):(h(),Q(f(x1),{key:0,class:"mt-4",size:"sm",onClick:k[2]||(k[2]=S=>f(l).push(`/skills/${r.value}/edit`))},{default:M(()=>[E(f(F5),{class:"mr-1.5 h-3.5 w-3.5"}),k[8]||(k[8]=V(" Write it ",-1))]),_:1}))]),_:1}))],64)):O("",!0)])}}},kp={class:"flex h-full min-h-0 flex-col"},xp={key:2,class:"py-10 text-center text-sm text-muted-foreground"},wp={class:"grid gap-4 lg:grid-cols-3"},Cp={class:"mt-4 border-t pt-3"},_p={class:"truncate"},Ip={class:"mt-4 grid gap-4 lg:grid-cols-3"},Mp=["value"],Ep={class:"flex flex-wrap gap-1.5"},Dp=["aria-pressed","onClick"],Zp={class:"mt-3 flex items-center gap-2 text-sm"},Fp={class:"mb-2 flex items-center justify-between gap-3"},Bp={class:"text-xs text-muted-foreground"},Sp={key:1,class:"text-sm text-muted-foreground"},Rp="new",i5="repository",de="global",un={__name:"SkillForm",setup(e){const t=[i5,de],n=Oe(),l=Ce(),s=Bt(),{repositories:o,chosen:a,fetchRepositories:r}=H2(),i=z(()=>String(n.params.id??"")),c=z(()=>!i.value||i.value===Rp),u=P(null),d=P({name:"",description:"",body:"",paths:[],applications:{},automatic:!0,type:""}),A=P(de),m=P("write"),p=P(!1),g=P(!1),x=P(""),$=P(!0),k=P([]),K=[{id:"write",label:"Write"},{id:"preview",label:"Preview"}],I=i1=>i1.toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,64),w=z(()=>c.value?I(d.value.name):i.value),S=i1=>{var v1;return((v1=d.value.applications)==null?void 0:v1[i1])!==!1};function B(i1){const v1={...d.value.applications};S(i1)?v1[i1]=!1:delete v1[i1],d.value.applications=v1}const _=z(()=>A.value===de),D=z(()=>[{id:de,label:"Everywhere"},...o.value.map(i1=>({id:i1.name,label:i1.name}))]),C=z(()=>{const i1=k.value.filter(v1=>!S(v1.id)).map(v1=>v1.label);return[_.value?"Everywhere":A.value,i1.length?`not for ${i1.join(", ").toLowerCase()}`:"all uses",d.value.automatic?"automatic":"only when named",d.value.paths.length?`${d.value.paths.length} file pattern${d.value.paths.length===1?"":"s"}`:""].filter(Boolean).join(" · ")}),N=z(()=>!!u.value&&!t.includes(u.value.origin)),G=z(()=>N.value),j=z(()=>!!w.value&&!!d.value.description.trim()),f1=z(()=>c.value?!!(d.value.name||d.value.description||d.value.body):u.value?d.value.name!==u.value.name||d.value.description!==u.value.description||d.value.body!==(u.value.body??"")||d.value.paths.join(` +`)!==(u.value.paths??[]).join(` +`)||d.value.automatic!==(u.value.automatic??!0)||JSON.stringify(d.value.applications)!==JSON.stringify(u.value.applications??{}):!1),u1=z(()=>d.value.body?d.value.body.split(` +`).length:0);async function A1(){if($.value=!0,x.value="",k.value.length||(k.value=await w1.uses().catch(()=>[])),c.value){u.value=null,d.value={name:"",description:"",body:"",paths:[],applications:{},automatic:!0,type:""},A.value=n.query.for||a.value||de,$.value=!1;return}try{const i1=await w1.skill(i.value,a.value);u.value=i1,A.value=i1.origin===i5?a.value:i1.origin===de?de:a.value||de,d.value={name:i1.name,description:i1.description,body:i1.body??"",paths:[...i1.paths??[]],applications:{...i1.applications??{}},automatic:i1.automatic??!0,type:i1.type??""}}catch(i1){x.value=i1.message}finally{$.value=!1}}async function M1(){g.value=!0,x.value="";try{const i1=await w1.recordSkill({scope:_.value?de:i5,repository:_.value?"":A.value,id:w.value,name:d.value.name||w.value,description:d.value.description,body:d.value.body,paths:d.value.paths,applications:d.value.applications,automatic:d.value.automatic,type:d.value.type});l.replace(`/skills/${i1.id}`)}catch(i1){x.value=i1.message}finally{g.value=!1}}return P1(i,A1),o2(async()=>{await r(),await A1()}),(i1,v1)=>{var r1,H1;return h(),y("div",kp,[E(f(se),{pillar:"review",title:c.value?"Add skill":d.value.name||i.value,sub:(r1=u.value)==null?void 0:r1.path,mono:!!((H1=u.value)!=null&&H1.path)},{back:M(()=>[E(f(x1),{variant:"ghost",size:"icon","aria-label":"Back",onClick:v1[0]||(v1[0]=b1=>f(s)(u.value?`/skills/${i.value}`:"/skills"))},{default:M(()=>[E(f(Ct),{class:"h-4 w-4"})]),_:1})]),icon:M(()=>[E(f(_3),{class:"h-5 w-5"})]),badges:M(()=>[w.value?(h(),Q(f(n2),{key:0,variant:"outline",class:"font-mono"},{default:M(()=>[V(F(w.value),1)]),_:1})):O("",!0)]),actions:M(()=>[E(f(x1),{variant:"outline",size:"sm",onClick:v1[1]||(v1[1]=b1=>f(s)(u.value?`/skills/${i.value}`:"/skills"))},{default:M(()=>[...v1[10]||(v1[10]=[V(" Cancel ",-1)])]),_:1}),E(f(x1),{size:"sm",disabled:g.value||!f1.value||!j.value,onClick:M1},{default:M(()=>[g.value?(h(),Q(f(v2),{key:0,class:"mr-1.5 h-3.5 w-3.5 animate-spin"})):(h(),Q(h2(G.value?f(X4):f(Ke)),{key:1,class:"mr-1.5 h-3.5 w-3.5"})),V(" "+F(G.value?"Copy":c.value?"Add":"Save"),1)]),_:1},8,["disabled"])]),_:1},8,["title","sub","mono"]),G.value?(h(),Q(f(l2),{key:0,tone:"info",class:"mb-4"},{default:M(()=>[...v1[11]||(v1[11]=[V(" Read-only file. Copy keeps your own, which is then the one used. ",-1)])]),_:1})):O("",!0),x.value?(h(),Q(f(l2),{key:1,tone:"danger",class:"mb-4"},{default:M(()=>[V(F(x.value),1)]),_:1})):O("",!0),$.value?(h(),y("p",xp,"Loading.")):(h(),y(e1,{key:3},[E(f(Q1),{class:"mb-3 p-5"},{default:M(()=>[v("div",wp,[E(f(Q2),{label:"Name",for:"skill-name"},{default:M(()=>[E(f(P2),{id:"skill-name",modelValue:d.value.name,"onUpdate:modelValue":v1[2]||(v1[2]=b1=>d.value.name=b1),placeholder:"Retry limit"},null,8,["modelValue"])]),_:1}),E(f(Q2),{class:"lg:col-span-2",label:"Description",for:"skill-description",hint:"Matched against a change during automatic selection."},{default:M(()=>[E(f(P2),{id:"skill-description",modelValue:d.value.description,"onUpdate:modelValue":v1[3]||(v1[3]=b1=>d.value.description=b1),placeholder:"Use when a change touches how a charge is retried."},null,8,["modelValue"])]),_:1})]),v("div",Cp,[v("button",{type:"button",class:"flex w-full items-center gap-1.5 text-left text-sm text-muted-foreground hover:text-foreground",onClick:v1[4]||(v1[4]=b1=>p.value=!p.value)},[p.value?(h(),Q(f(It),{key:0,class:"h-3.5 w-3.5 shrink-0"})):(h(),Q(f(o0),{key:1,class:"h-3.5 w-3.5 shrink-0"})),v("span",_p,F(C.value),1)]),te(v("div",Ip,[E(f(Q2),{label:"Scope",for:"skill-belongs"},{default:M(()=>[E(f(ne),{id:"skill-belongs",modelValue:A.value,"onUpdate:modelValue":v1[5]||(v1[5]=b1=>A.value=b1),disabled:!!u.value&&!N.value,class:"w-full"},{default:M(()=>[(h(!0),y(e1,null,_1(D.value,b1=>(h(),y("option",{key:b1.id,value:b1.id},F(b1.label),9,Mp))),128))]),_:1},8,["modelValue","disabled"])]),_:1}),E(f(Q2),{class:"lg:col-span-2",label:"Skill uses"},{default:M(()=>[v("div",Ep,[(h(!0),y(e1,null,_1(k.value,b1=>(h(),y("button",{key:b1.id,type:"button","aria-pressed":S(b1.id),class:o1(["rounded-full border px-2.5 py-0.5 text-xs transition-colors hover:border-primary/50",S(b1.id)?"border-primary/30 bg-primary/10 text-foreground":"border-border text-muted-foreground line-through"]),onClick:q1=>B(b1.id)},F(b1.label),11,Dp))),128))]),v("label",Zp,[te(v("input",{"onUpdate:modelValue":v1[6]||(v1[6]=b1=>d.value.automatic=b1),type:"checkbox",class:"h-3.5 w-3.5 rounded border"},null,512),[[bt,d.value.automatic]]),v1[12]||(v1[12]=V(" Allow automatic selection ",-1))]),v1[13]||(v1[13]=v("p",{class:"mt-1 text-xs text-muted-foreground"}," Off: read only when something names it. ",-1))]),_:1}),E(f(Q2),{class:"lg:col-span-3",label:"Files",for:"skill-paths",hint:"Globs, one a line. Limits selection to these."},{default:M(()=>[E(f(d0),{modelValue:d.value.paths,"onUpdate:modelValue":v1[7]||(v1[7]=b1=>d.value.paths=b1),mono:"",size:"sm",noun:"a pattern",placeholder:"db/migrations/**"},null,8,["modelValue"])]),_:1})],512),[[n6,p.value]])])]),_:1}),v("div",Fp,[E(f(D3),{modelValue:m.value,"onUpdate:modelValue":v1[8]||(v1[8]=b1=>m.value=b1),tabs:K,label:"Write or preview"},null,8,["modelValue"]),v("p",Bp,F(u1.value)+" line"+F(u1.value===1?"":"s")+" · markdown",1)]),m.value==="write"?(h(),Q(f(R5),{key:0,modelValue:d.value.body,"onUpdate:modelValue":v1[9]||(v1[9]=b1=>d.value.body=b1),class:"min-h-[24rem] flex-1 resize-none font-mono leading-relaxed",placeholder:"Never edit a migration that has already run. Add a new one instead.","aria-label":"The skill"},null,8,["modelValue"])):(h(),Q(f(Q1),{key:1,class:"min-h-[24rem] flex-1 overflow-auto p-5"},{default:M(()=>[d.value.body?(h(),Q(f(B2),{key:0,source:d.value.body},null,8,["source"])):(h(),y("p",Sp,"Nothing written yet."))]),_:1}))],64))])}}},$p=["value"],Np=["value"],Kp={class:"relative"},Qp={class:"mb-2 flex flex-wrap items-center justify-between gap-3"},Op={class:"flex items-center gap-2 text-sm text-muted-foreground"},Gp=["onClick"],Wp={class:"block font-medium"},Lp={class:"block truncate text-xs text-muted-foreground"},Vp={class:"flex flex-wrap gap-1"},Tp=["aria-pressed","title","onClick"],Je="repository",d3="global",dn="skills.uses",Pp={__name:"Skills",setup(e){const t=[Je,d3],n=[{id:"skill",label:"Skill"},{id:"uses",label:"Skill uses",width:"22rem"},{id:"source",label:"Source",narrow:!0},{id:"actions",label:"",align:"right",width:"3rem"}],l=Ce(),{repositories:s,chosen:o,error:a,fetchRepositories:r}=H2({all:!0}),i=P([]),c=P(""),u=P("all"),d=P({}),A=P([]),m=P(!1),p=[{id:"all",label:"All"},{id:Je,label:"This repository"},{id:d3,label:"Everywhere"},{id:"agents",label:"Your coding agents"}],g=z(()=>{const D=c.value.trim().toLowerCase();return i.value.filter(C=>u.value===Je&&C.origin!==Je||u.value===d3&&C.origin!==d3||u.value==="agents"&&t.includes(C.origin)||m.value&&!K(C)?!1:D?C.name.toLowerCase().includes(D)||C.description.toLowerCase().includes(D):!0)}),x=D=>t.includes(D.origin),$=D=>D.origin===d3?"everywhere":D.origin===Je?o.value:D.origin;function k(D,C){var G,j;const N=(G=d.value[D.id])==null?void 0:G[C];return typeof N=="boolean"?N:((j=D.applications)==null?void 0:j[C])!==!1}const K=D=>k(D,"review");async function I(D,C){const N=!k(D,C);try{x(D)?await w(D,C,N):await S(D,C,N),a.value=""}catch(G){a.value=G.message}await B()}async function w(D,C,N){const G=await w1.skill(D.id,D.origin===Je?o.value:""),j={...G.applications??{}};N?delete j[C]:j[C]=!1,await w1.recordSkill({scope:D.origin,repository:D.origin===Je?o.value:"",id:G.id,name:G.name,description:G.description,body:G.body??"",paths:G.paths??[],type:G.type??"",automatic:G.automatic??!0,applications:j}),await S(D,C,null)}async function S(D,C,N){const G={...d.value,[D.id]:{...d.value[D.id]}};N===null?delete G[D.id][C]:G[D.id][C]=N,Object.keys(G[D.id]).length||delete G[D.id],await w1.setSetting(dn,G),d.value=G}async function B(){var D;try{const[C,N,G]=await Promise.all([w1.skills(o.value),w1.settings(),A.value.length?A.value:w1.uses()]);i.value=C.skills;const j=(D=N.find(f1=>f1.key===dn))==null?void 0:D.value;d.value=j&&typeof j=="object"?j:{},A.value=G,a.value=""}catch(C){i.value=[],a.value=C.message}}async function _(D){if(confirm(`Forget ${D.name}? + +The file is removed from ${$(D)}.`))try{await w1.forgetSkill(D.origin===d3?"":o.value,D.origin,D.id),await B()}catch(C){a.value=C.message}}return P1(o,B),o2(async()=>{await r(),await B()}),(D,C)=>(h(),y("div",null,[E(f(se),{pillar:"review",title:"Skills",sub:"What your work is read against: this repository's, this machine's, and your own."},{icon:M(()=>[E(f(r6),{class:"h-6 w-6"})]),actions:M(()=>[f(s).length>1?(h(),Q(f(ne),{key:0,modelValue:f(o),"onUpdate:modelValue":C[0]||(C[0]=N=>i2(o)?o.value=N:null),size:"sm","aria-label":"Repository"},{default:M(()=>[v("option",{value:f(Ft)},"All repositories",8,$p),(h(!0),y(e1,null,_1(f(s),N=>(h(),y("option",{key:N.name,value:N.name},F(N.name),9,Np))),128))]),_:1},8,["modelValue"])):O("",!0),v("div",Kp,[E(f(ke),{class:"pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground"}),E(f(P2),{modelValue:c.value,"onUpdate:modelValue":C[1]||(C[1]=N=>c.value=N),size:"sm",placeholder:"Find a skill",class:"w-48 pl-8","aria-label":"Find a skill"},null,8,["modelValue"])]),f(s).length?(h(),Q(f(x1),{key:1,size:"sm",variant:"glow",onClick:C[2]||(C[2]=N=>f(l).push({path:"/skills/new",query:{for:f(o)}}))},{default:M(()=>[E(f(le),{class:"mr-2 h-4 w-4"}),C[6]||(C[6]=V(" Add skill ",-1))]),_:1})):O("",!0)]),_:1}),f(a)?(h(),Q(f(l2),{key:0,tone:"danger",class:"mb-4"},{default:M(()=>[V(F(f(a)),1)]),_:1})):O("",!0),f(s).length===0?(h(),Q(y4,{key:1})):(h(),y(e1,{key:2},[v("div",Qp,[E(f(D3),{modelValue:u.value,"onUpdate:modelValue":C[3]||(C[3]=N=>u.value=N),tabs:p,label:"Where they are kept"},null,8,["modelValue"]),v("label",Op,[te(v("input",{"onUpdate:modelValue":C[4]||(C[4]=N=>m.value=N),type:"checkbox",class:"h-3.5 w-3.5 rounded border"},null,512),[[bt,m.value]]),C[7]||(C[7]=V(" Used by code review ",-1))])]),C[12]||(C[12]=v("p",{class:"mb-4 text-xs text-muted-foreground"}," Used for everything unless turned off. A review reads five at most. ",-1)),g.value.length?(h(),Q(f(f6),{key:0,columns:n,rows:g.value,"row-key":"id",label:"Skills"},{skill:M(({row:N})=>[v("button",{type:"button",class:"block max-w-xl text-left",onClick:G=>f(l).push(`/skills/${N.id}`)},[v("span",Wp,[V(F(N.name)+" ",1),N.automatic?O("",!0):(h(),Q(f(n2),{key:0,variant:"outline",class:"ml-1.5"},{default:M(()=>[...C[8]||(C[8]=[V("manual",-1)])]),_:1}))]),v("span",Lp,F(N.description),1)],8,Gp)]),uses:M(({row:N})=>[v("div",Vp,[(h(!0),y(e1,null,_1(A.value,G=>(h(),y("button",{key:G.id,type:"button","aria-pressed":k(N,G.id),title:`${G.label}: ${k(N,G.id)?"on":"off"}`,class:o1(["rounded-full border px-2 py-0.5 text-[11px] transition-colors hover:border-primary/50",k(N,G.id)?"border-primary/30 bg-primary/10 text-foreground":"border-border text-muted-foreground line-through"]),onClick:j=>I(N,G.id)},F(G.label),11,Tp))),128))])]),source:M(({row:N})=>[E(f(n2),{variant:x(N)?"success":"outline"},{default:M(()=>[V(F($(N)),1)]),_:2},1032,["variant"])]),actions:M(({row:N})=>[x(N)?(h(),Q(f(x1),{key:0,variant:"ghost",size:"icon","aria-label":`Forget ${N.name}`,onClick:G=>_(N)},{default:M(()=>[E(f(v4),{class:"h-4 w-4"})]),_:1},8,["aria-label","onClick"])):O("",!0)]),_:1},8,["rows"])):(h(),Q(f(Q1),{key:1,class:"p-10 text-center"},{default:M(()=>[E(f(_3),{class:"mx-auto mb-3 h-8 w-8 text-muted-foreground"}),C[10]||(C[10]=v("p",{class:"font-medium"},"No skills here.",-1)),C[11]||(C[11]=v("p",{class:"mx-auto mt-1 max-w-lg text-sm text-muted-foreground"}," Claude's and Codex's own folders are read, as is anything your team committed. What you write here is kept beside the index, not in a checkout. ",-1)),E(f(x1),{class:"mt-4",variant:"glow",onClick:C[5]||(C[5]=N=>f(l).push({path:"/skills/new",query:{for:f(o)}}))},{default:M(()=>[E(f(le),{class:"mr-2 h-4 w-4"}),C[9]||(C[9]=V(" Add skill ",-1))]),_:1})]),_:1}))],64))]))}},Hp={class:"space-y-4"},Yp={class:"mb-3 flex flex-wrap items-center justify-between gap-2"},Up={class:"font-mono text-sm text-muted-foreground"},Jp={class:"mb-2 flex flex-wrap items-center justify-between gap-2"},zp={class:"overflow-x-auto rounded-md bg-muted/50 p-3 text-xs"},jp={class:"mb-2 flex flex-wrap items-center justify-between gap-2"},Xp={class:"overflow-x-auto rounded-md bg-muted/50 p-3 text-xs"},qp={__name:"McpPanel",setup(e){const t=P(""),n=P(null),l=P(""),s=z(()=>window.location.origin),o=z(()=>JSON.stringify({mcpServers:{sourceant:{command:"sourceant",args:["mcp"],env:{SOURCEANT_UI_URL:s.value}}}},null,2)),a=z(()=>JSON.stringify({mcpServers:{sourceant:{type:"http",url:`${s.value}/mcp`}}},null,2));async function r(i,c){await navigator.clipboard.writeText(c),l.value=i,setTimeout(()=>l.value="",1500)}return o2(async()=>{t.value=`${s.value}/mcp`;try{const i=await fetch(t.value,{method:"GET"});n.value=i.status!==404}catch{n.value=!1}}),(i,c)=>(h(),y("div",Hp,[E(f(Q1),{class:"p-5"},{default:M(()=>[v("div",Yp,[c[2]||(c[2]=v("h2",{class:"font-semibold"},"Endpoint",-1)),E(f(W0),{label:n.value===null?"Checking":n.value?"Serving":"Not mounted",tone:n.value===null?"neutral":n.value?"success":"warning",busy:n.value===null},null,8,["label","tone","busy"])]),v("p",Up,F(t.value),1),n.value===!1?(h(),Q(f(l2),{key:0,tone:"info",class:"mt-3"},{default:M(()=>[...c[3]||(c[3]=[V(" Nothing is mounted there. The HTTP endpoint is served when this machine is running in local mode; over stdio it needs no endpoint at all. ",-1)])]),_:1})):O("",!0)]),_:1}),E(f(Q1),{class:"p-5"},{default:M(()=>[v("div",Jp,[c[4]||(c[4]=v("h2",{class:"font-semibold"},"Over stdio",-1)),E(f(x1),{size:"sm",variant:"outline",onClick:c[0]||(c[0]=u=>r("stdio",o.value))},{default:M(()=>[(h(),Q(h2(l.value==="stdio"?f(Ke):f(X4)),{class:"mr-2 h-3.5 w-3.5"})),V(" "+F(l.value==="stdio"?"Copied":"Copy"),1)]),_:1})]),c[5]||(c[5]=v("p",{class:"mb-3 text-sm text-muted-foreground"}," One process per client, started by the client. A review asked for this way is handed to this agent, so it finishes even after the client goes away. ",-1)),v("pre",zp,[v("code",null,F(o.value),1)])]),_:1}),E(f(Q1),{class:"p-5"},{default:M(()=>[v("div",jp,[c[6]||(c[6]=v("h2",{class:"font-semibold"},"Over HTTP",-1)),E(f(x1),{size:"sm",variant:"outline",onClick:c[1]||(c[1]=u=>r("http",a.value))},{default:M(()=>[(h(),Q(h2(l.value==="http"?f(Ke):f(X4)),{class:"mr-2 h-3.5 w-3.5"})),V(" "+F(l.value==="http"?"Copied":"Copy"),1)]),_:1})]),c[7]||(c[7]=v("p",{class:"mb-3 text-sm text-muted-foreground"}," One server, several clients. Reachable from this machine only. ",-1)),v("pre",Xp,[v("code",null,F(a.value),1)])]),_:1})]))}},em={key:0,class:"grid gap-x-4 gap-y-2 text-sm sm:grid-cols-[auto_1fr]"},tm={class:"font-mono"},nm={class:"break-all font-mono"},lm={class:"font-mono"},sm={key:0,class:"ml-2 text-xs text-muted-foreground"},om={class:"break-all font-mono"},am={class:"font-mono"},rm={class:"font-mono"},im={class:"mb-1 font-semibold"},cm={key:0,class:"mb-4 text-sm text-muted-foreground"},um={key:1,class:"mt-4 flex items-center gap-2 text-sm text-muted-foreground"},c5="overview",fn="mcp",dm={__name:"Settings",setup(e){const t=Oe(),{isDark:n,toggleTheme:l}=T0(),s=P(null),o=P([]),a=P([]),r=P(""),i=P(c5),c=P(null),u=P(!1),d=z(()=>[{id:c5,label:"Overview"},...a.value.map(p=>({id:p,label:p})),{id:fn,label:"MCP"}]),A=z(()=>{var g;return((g=s.value)==null?void 0:g.model)||"None chosen"});async function m(){if(c.value=null,i.value==="Model"){u.value=!0;try{c.value=await w1.checkModel()}catch{c.value=null}u.value=!1}}return o2(async()=>{var p,g;try{const[x,$,k]=await Promise.all([w1.status(),w1.settings(),w1.repositories().catch(()=>[])]);s.value={...x,model:((p=$.find(I=>I.key==="model.name"))==null?void 0:p.value)??"",keySet:!!((g=$.find(I=>I.key==="model.api_key"))!=null&&g.is_set)},o.value=k,a.value=[...new Set($.map(I=>I.group).filter(Boolean))].sort();const K=String(t.query.group??"");a.value.includes(K)&&(i.value=K)}catch(x){r.value=x.message}}),(p,g)=>(h(),y("div",null,[E(f(se),{pillar:"tokens",title:"Settings",sub:"What is running, and how this looks."},{icon:M(()=>[E(f(B5),{class:"h-6 w-6"})]),actions:M(()=>[E(f(D3),{modelValue:i.value,"onUpdate:modelValue":g[0]||(g[0]=x=>i.value=x),tabs:d.value,label:"Settings"},null,8,["modelValue","tabs"])]),_:1}),r.value?(h(),Q(f(l2),{key:0,tone:"danger",class:"mb-4"},{default:M(()=>[V(F(r.value),1)]),_:1})):O("",!0),i.value===c5?(h(),y(e1,{key:1},[E(f(Q1),{class:"mb-3 p-5"},{default:M(()=>[g[9]||(g[9]=v("h2",{class:"mb-3 font-semibold"},"This machine",-1)),s.value?(h(),y("dl",em,[g[4]||(g[4]=v("dt",{class:"text-muted-foreground"},"Agent",-1)),v("dd",tm,F(s.value.version),1),g[5]||(g[5]=v("dt",{class:"text-muted-foreground"},"Indexer",-1)),v("dd",nm,[V(F(s.value.core_url)+" ",1),E(f(n2),{variant:s.value.core_up?"success":"destructive",class:"ml-2"},{default:M(()=>[V(F(s.value.core_up?"answering":"not answering"),1)]),_:1},8,["variant"])]),g[6]||(g[6]=v("dt",{class:"text-muted-foreground"},"Starts",-1)),v("dd",lm,[V(F(s.value.core_starts)+" ",1),s.value.core_starts>1?(h(),y("span",sm," a number that keeps climbing is an indexer that keeps dying ")):O("",!0)]),s.value.last_exit?(h(),y(e1,{key:0},[g[1]||(g[1]=v("dt",{class:"text-muted-foreground"},"Last exit",-1)),v("dd",om,F(s.value.last_exit),1)],64)):O("",!0),g[7]||(g[7]=v("dt",{class:"text-muted-foreground"},"Folders read",-1)),v("dd",am,F(o.value.length),1),g[8]||(g[8]=v("dt",{class:"text-muted-foreground"},"Model",-1)),v("dd",rm,[V(F(A.value)+" ",1),s.value.model&&s.value.keySet?(h(),Q(f(n2),{key:0,variant:"success",class:"ml-2"},{default:M(()=>[...g[2]||(g[2]=[V("key set",-1)])]),_:1})):s.value.model?(h(),Q(f(n2),{key:1,variant:"warning",class:"ml-2"},{default:M(()=>[...g[3]||(g[3]=[V("no key",-1)])]),_:1})):O("",!0)])])):O("",!0),g[10]||(g[10]=v("p",{class:"mt-4 text-xs text-muted-foreground"},[V(" Where the indexer comes from is chosen at install time and kept in "),v("code",{class:"font-mono"},"~/.sourceant/config.json"),V(". Nothing on this page has left this machine. ")],-1))]),_:1}),E(f(Q1),{class:"p-5"},{default:M(()=>[g[11]||(g[11]=v("h2",{class:"mb-1 font-semibold"},"Appearance",-1)),g[12]||(g[12]=v("p",{class:"mb-4 text-sm text-muted-foreground"}," Kept in this browser, so it follows the screen rather than the machine. ",-1)),E(f(x1),{variant:"outline",onClick:f(l)},{default:M(()=>[(h(),Q(h2(f(n)?f(c0):f(i0)),{class:"mr-2 h-4 w-4"})),V(" "+F(f(n)?"Light mode":"Dark mode"),1)]),_:1},8,["onClick"])]),_:1})],64)):i.value===fn?(h(),Q(qp,{key:2})):(h(),Q(f(Q1),{key:3,class:"p-5"},{default:M(()=>[v("h2",im,F(i.value),1),i.value==="Model"?(h(),y("p",cm," Reading a repository needs none of this. Anything that proposes or judges rather than reads does, and it stays off until you say which model to ask. ")):O("",!0),(h(),Q(P0,{key:i.value,group:i.value,onSaved:m},null,8,["group"])),u.value?(h(),y("p",um,[E(f(v2),{class:"h-3.5 w-3.5 animate-spin"}),g[13]||(g[13]=V(" Asking the provider whether that key can use that model. ",-1))])):c.value?(h(),Q(f(l2),{key:2,tone:c.value.usable?"success":"danger",class:"mt-4"},{default:M(()=>[c.value.usable?(h(),y(e1,{key:0},[E(f(i6),{class:"mr-1.5 inline h-3.5 w-3.5"}),g[14]||(g[14]=V(" That key can use that model. ",-1))],64)):(h(),y(e1,{key:1},[V(F(c.value.reason),1)],64))]),_:1},8,["tone"])):O("",!0)]),_:1}))]))}},fm=$a({history:ha(),routes:[{path:"/",component:Xf},{path:"/graph",component:Kh},{path:"/knowledge",component:Jh},{path:"/reviews",component:cn},{path:"/reviews/:id",component:cn},{path:"/skills",component:Pp},{path:"/skills/new",component:un},{path:"/skills/:id(.*)/edit",component:un},{path:"/skills/:id(.*)",component:bp},{path:"/repositories",component:lA},{path:"/repositories/:name(.*)",component:xA},{path:"/settings",component:dm},{path:"/:rest(.*)*",redirect:"/"}]});Mo(wf).use(fm).mount("#app"); diff --git a/internal/ui/assets/assets/index-WjZ6Jgkb.js b/internal/ui/assets/assets/index-WjZ6Jgkb.js deleted file mode 100644 index 6972fd8..0000000 --- a/internal/ui/assets/assets/index-WjZ6Jgkb.js +++ /dev/null @@ -1,384 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/force-graph-HZtkkbK0.js","assets/radial-aO03NmL0.js","assets/Paired-DNTqsPj0.js","assets/index-DHVCIEzJ.js","assets/3d-force-graph-B8lgMx4q.js","assets/three.module-D-PgY1-x.js"])))=>i.map(i=>d[i]); -var Bn=Object.defineProperty;var Sn=(e,t,n)=>t in e?Bn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var O1=(e,t,n)=>Sn(e,typeof t!="symbol"?t+"":t,n);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))l(o);new MutationObserver(o=>{for(const r of o)if(r.type==="childList")for(const s of r.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&l(s)}).observe(document,{childList:!0,subtree:!0});function n(o){const r={};return o.integrity&&(r.integrity=o.integrity),o.referrerPolicy&&(r.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?r.credentials="include":o.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function l(o){if(o.ep)return;o.ep=!0;const r=n(o);fetch(o.href,r)}})();/** -* @vue/shared v3.5.42 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function yt(e){const t=Object.create(null);for(const n of e.split(","))t[n]=1;return n=>n in t}const W1={},le=[],z2=()=>{},H7=()=>!1,J4=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),z4=e=>e.startsWith("onUpdate:"),r2=Object.assign,bt=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},Rn=Object.prototype.hasOwnProperty,N1=(e,t)=>Rn.call(e,t),v1=Array.isArray,M3=e=>u4(e)==="[object Map]",ie=e=>u4(e)==="[object Set]",zt=e=>u4(e)==="[object Date]",I1=e=>typeof e=="function",T1=e=>typeof e=="string",G2=e=>typeof e=="symbol",G1=e=>e!==null&&typeof e=="object",T7=e=>(G1(e)||I1(e))&&I1(e.then)&&I1(e.catch),Y7=Object.prototype.toString,u4=e=>Y7.call(e),Qn=e=>u4(e).slice(8,-1),V7=e=>u4(e)==="[object Object]",kt=e=>T1(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Se=yt(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),j4=e=>{const t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},Nn=/-\w/g,b2=j4(e=>e.replace(Nn,t=>t.slice(1).toUpperCase())),Kn=/\B([A-Z])/g,Z3=j4(e=>e.replace(Kn,"-$1").toLowerCase()),X4=j4(e=>e.charAt(0).toUpperCase()+e.slice(1)),y5=j4(e=>e?`on${X4(e)}`:""),V2=(e,t)=>!Object.is(e,t),D4=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:l,value:n})},Ct=e=>{const t=parseFloat(e);return isNaN(t)?e:t},Gn=e=>{const t=T1(e)?Number(e):NaN;return isNaN(t)?e:t};let jt;const q4=()=>jt||(jt=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function S2(e){if(v1(e)){const t={};for(let n=0;n{if(n){const l=n.split($n);l.length>1&&(t[l[0].trim()]=l[1].trim())}}),t}function f1(e){let t="";if(T1(e))t=e;else if(v1(e))for(let n=0;npe(n,t))}const j7=e=>!!(e&&e.__v_isRef===!0),N=e=>T1(e)?e:e==null?"":v1(e)||G1(e)&&(e.toString===Y7||!I1(e.toString))?j7(e)?N(e.value):JSON.stringify(e,X7,2):String(e),X7=(e,t)=>j7(t)?X7(e,t.value):M3(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[l,o],r)=>(n[b5(l,r)+" =>"]=o,n),{})}:ie(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>b5(n))}:G2(t)?b5(t):G1(t)&&!v1(t)&&!V7(t)?String(t):t,b5=(e,t="")=>{var n;return G2(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** -* @vue/reactivity v3.5.42 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let a2;class Yn{constructor(t=!1){this.detached=t,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!t&&a2&&(a2.active?(this.parent=a2,this.index=(a2.scopes||(a2.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes){const l=this.scopes.slice();for(t=0,n=l.length;t0&&--this._on===0){if(a2===this)a2=this.prevScope;else{let t=a2;for(;t;){if(t.prevScope===this){t.prevScope=this.prevScope;break}t=t.prevScope}}this.prevScope=void 0}}stop(t){if(this._active){this._active=!1;let n,l;for(n=0,l=this.effects.length;n0)return;if(Qe){let t=Qe;for(Qe=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;Re;){let t=Re;for(Re=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(l){e||(e=l)}t=n}}if(e)throw e}function n8(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function l8(e){let t,n=e.depsTail,l=n;for(;l;){const o=l.prevDep;l.version===-1?(l===n&&(n=o),_t(l),Un(l)):t=l,l.dep.activeLink=l.prevActiveLink,l.prevActiveLink=void 0,l=o}e.deps=t,e.depsTail=n}function V5(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(o8(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function o8(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===Pe)||(e.globalVersion=Pe,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!V5(e))))return;e.flags|=2;const t=e.dep,n=P1,l=N2;P1=e,N2=!0;try{n8(e);const o=e.fn(e._value);(t.version===0||V2(o,e._value))&&(e.flags|=128,e._value=o,t.version++)}catch(o){throw t.version++,o}finally{P1=n,N2=l,l8(e),e.flags&=-3}}function _t(e,t=!1){const{dep:n,prevSub:l,nextSub:o}=e;if(l&&(l.nextSub=o,e.prevSub=void 0),o&&(o.prevSub=l,e.nextSub=void 0),n.subs===e&&(n.subs=l,!l&&n.computed)){n.computed.flags&=-5;for(let r=n.computed.deps;r;r=r.nextDep)_t(r,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Un(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}let N2=!0;const r8=[];function u3(){r8.push(N2),N2=!1}function d3(){const e=r8.pop();N2=e===void 0?!0:e}function qt(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=P1;P1=void 0;try{t()}finally{P1=n}}}let Pe=0;class Jn{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class It{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(t){if(!P1||!N2||P1===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==P1)n=this.activeLink=new Jn(P1,this),P1.deps?(n.prevDep=P1.depsTail,P1.depsTail.nextDep=n,P1.depsTail=n):P1.deps=P1.depsTail=n,s8(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const l=n.nextDep;l.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=l),n.prevDep=P1.depsTail,n.nextDep=void 0,P1.depsTail.nextDep=n,P1.depsTail=n,P1.deps===n&&(P1.deps=l)}return n}trigger(t){this.version++,Pe++,this.notify(t)}notify(t){wt();try{for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{xt()}}}function s8(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let l=t.deps;l;l=l.nextDep)s8(l)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}const U5=new WeakMap,Y3=Symbol(""),J5=Symbol(""),He=Symbol("");function f2(e,t,n){if(N2&&P1){let l=U5.get(e);l||U5.set(e,l=new Map);let o=l.get(n);o||(l.set(n,o=new It),o.map=l,o.key=n),o.track()}}function s3(e,t,n,l,o,r){const s=U5.get(e);if(!s){Pe++;return}const a=i=>{i&&i.trigger()};if(wt(),t==="clear")s.forEach(a);else{const i=v1(e),c=i&&kt(n);if(i&&n==="length"){const d=Number(l);s.forEach((u,A)=>{(A==="length"||A===He||!G2(A)&&A>=d)&&a(u)})}else switch((n!==void 0||s.has(void 0))&&a(s.get(n)),c&&a(s.get(He)),t){case"add":i?c&&a(s.get("length")):(a(s.get(Y3)),M3(e)&&a(s.get(J5)));break;case"delete":i||(a(s.get(Y3)),M3(e)&&a(s.get(J5)));break;case"set":M3(e)&&a(s.get(Y3));break}}xt()}function X3(e){const t=R1(e);return t===e?t:(f2(t,"iterate",He),E2(e)?t:t.map(O2))}function e5(e){return f2(e=R1(e),"iterate",He),e}function T2(e,t){return f3(e)?ce(V3(e)?O2(t):t):O2(t)}const zn={__proto__:null,[Symbol.iterator](){return C5(this,Symbol.iterator,e=>T2(this,e))},concat(...e){return X3(this).concat(...e.map(t=>v1(t)?X3(t):t))},entries(){return C5(this,"entries",e=>(e[1]=T2(this,e[1]),e))},every(e,t){return e3(this,"every",e,t,void 0,arguments)},filter(e,t){return e3(this,"filter",e,t,n=>n.map(l=>T2(this,l)),arguments)},find(e,t){return e3(this,"find",e,t,n=>T2(this,n),arguments)},findIndex(e,t){return e3(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return e3(this,"findLast",e,t,n=>T2(this,n),arguments)},findLastIndex(e,t){return e3(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return e3(this,"forEach",e,t,void 0,arguments)},includes(...e){return w5(this,"includes",e)},indexOf(...e){return w5(this,"indexOf",e)},join(e){return X3(this).join(e)},lastIndexOf(...e){return w5(this,"lastIndexOf",e)},map(e,t){return e3(this,"map",e,t,void 0,arguments)},pop(){return be(this,"pop")},push(...e){return be(this,"push",e)},reduce(e,...t){return e6(this,"reduce",e,t)},reduceRight(e,...t){return e6(this,"reduceRight",e,t)},shift(){return be(this,"shift")},some(e,t){return e3(this,"some",e,t,void 0,arguments)},splice(...e){return be(this,"splice",e)},toReversed(){return X3(this).toReversed()},toSorted(e){return X3(this).toSorted(e)},toSpliced(...e){return X3(this).toSpliced(...e)},unshift(...e){return be(this,"unshift",e)},values(){return C5(this,"values",e=>T2(this,e))}};function C5(e,t,n){const l=e5(e),o=l[t]();return l!==e&&!E2(e)&&(o._next=o.next,o.next=()=>{const r=o._next();return r.done||(r.value=n(r.value)),r}),o}const jn=Array.prototype;function e3(e,t,n,l,o,r){const s=e5(e),a=s!==e&&!E2(e),i=s[t];if(i!==jn[t]){const u=i.apply(e,r);return a?O2(u):u}let c=n;s!==e&&(a?c=function(u,A){return n.call(this,T2(e,u),A,e)}:n.length>2&&(c=function(u,A){return n.call(this,u,A,e)}));const d=i.call(s,c,l);return a&&o?o(d):d}function e6(e,t,n,l){const o=e5(e),r=o!==e&&!E2(e);let s=n,a=!1;o!==e&&(r?(a=l.length===0,s=function(c,d,u){return a&&(a=!1,c=T2(e,c)),n.call(this,c,T2(e,d),u,e)}):n.length>3&&(s=function(c,d,u){return n.call(this,c,d,u,e)}));const i=o[t](s,...l);return a?T2(e,i):i}function w5(e,t,n){const l=R1(e);f2(l,"iterate",He);const o=l[t](...n);return(o===-1||o===!1)&&Dt(n[0])?(n[0]=R1(n[0]),l[t](...n)):o}function be(e,t,n=[]){u3(),wt();const l=R1(e)[t].apply(e,n);return xt(),d3(),l}const Xn=yt("__proto__,__v_isRef,__isVue"),a8=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(G2));function qn(e){G2(e)||(e=String(e));const t=R1(this);return f2(t,"has",e),t.hasOwnProperty(e)}class i8{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,l){if(n==="__v_skip")return t.__v_skip;const o=this._isReadonly,r=this._isShallow;if(n==="__v_isReactive")return!o;if(n==="__v_isReadonly")return o;if(n==="__v_isShallow")return r;if(n==="__v_raw")return l===(o?r?cl:f8:r?d8:u8).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(l)?t:void 0;const s=v1(t);if(!o){let i;if(s&&(i=zn[n]))return i;if(n==="hasOwnProperty")return qn}const a=Reflect.get(t,n,n2(t)?t:l);if((G2(n)?a8.has(n):Xn(n))||(o||f2(t,"get",n),r))return a;if(n2(a)){const i=s&&kt(n)?a:a.value;return o&&G1(i)?j5(i):i}return G1(a)?o?j5(a):t5(a):a}}class c8 extends i8{constructor(t=!1){super(!1,t)}set(t,n,l,o){let r=t[n];const s=v1(t)&&kt(n);if(!this._isShallow){const c=f3(r);if(!E2(l)&&!f3(l)&&(r=R1(r),l=R1(l)),!s&&n2(r)&&!n2(l))return c||(r.value=l),!0}const a=s?Number(n)e,m4=e=>Reflect.getPrototypeOf(e);function ol(e,t,n){return function(...l){const o=this.__v_raw,r=R1(o),s=M3(r),a=e==="entries"||e===Symbol.iterator&&s,i=e==="keys"&&s,c=o[e](...l),d=n?z5:t?ce:O2;return!t&&f2(r,"iterate",i?J5:Y3),r2(Object.create(c),{next(){const{value:u,done:A}=c.next();return A?{value:u,done:A}:{value:a?[d(u[0]),d(u[1])]:d(u),done:A}}})}}function g4(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function rl(e,t){const n={get(o){const r=this.__v_raw,s=R1(r),a=R1(o);e||(V2(o,a)&&f2(s,"get",o),f2(s,"get",a));const{has:i}=m4(s),c=t?z5:e?ce:O2;if(i.call(s,o))return c(r.get(o));if(i.call(s,a))return c(r.get(a));r!==s&&r.get(o)},get size(){const o=this.__v_raw;return!e&&f2(R1(o),"iterate",Y3),o.size},has(o){const r=this.__v_raw,s=R1(r),a=R1(o);return e||(V2(o,a)&&f2(s,"has",o),f2(s,"has",a)),o===a?r.has(o):r.has(o)||r.has(a)},forEach(o,r){const s=this,a=s.__v_raw,i=R1(a),c=t?z5:e?ce:O2;return!e&&f2(i,"iterate",Y3),a.forEach((d,u)=>o.call(r,c(d),c(u),s))}};return r2(n,e?{add:g4("add"),set:g4("set"),delete:g4("delete"),clear:g4("clear")}:{add(o){const r=R1(this),s=m4(r),a=R1(o),i=!t&&!E2(o)&&!f3(o)?a:o;return s.has.call(r,i)||V2(o,i)&&s.has.call(r,o)||V2(a,i)&&s.has.call(r,a)||(r.add(i),s3(r,"add",i,i)),this},set(o,r){!t&&!E2(r)&&!f3(r)&&(r=R1(r));const s=R1(this),{has:a,get:i}=m4(s);let c=a.call(s,o);c||(o=R1(o),c=a.call(s,o));const d=i.call(s,o);return s.set(o,r),c?V2(r,d)&&s3(s,"set",o,r):s3(s,"add",o,r),this},delete(o){const r=R1(this),{has:s,get:a}=m4(r);let i=s.call(r,o);i||(o=R1(o),i=s.call(r,o)),a&&a.call(r,o);const c=r.delete(o);return i&&s3(r,"delete",o,void 0),c},clear(){const o=R1(this),r=o.size!==0,s=o.clear();return r&&s3(o,"clear",void 0,void 0),s}}),["keys","values","entries",Symbol.iterator].forEach(o=>{n[o]=ol(o,e,t)}),n}function Mt(e,t){const n=rl(e,t);return(l,o,r)=>o==="__v_isReactive"?!e:o==="__v_isReadonly"?e:o==="__v_raw"?l:Reflect.get(N1(n,o)&&o in l?n:l,o,r)}const sl={get:Mt(!1,!1)},al={get:Mt(!1,!0)},il={get:Mt(!0,!1)};const u8=new WeakMap,d8=new WeakMap,f8=new WeakMap,cl=new WeakMap;function ul(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function t5(e){return f3(e)?e:Et(e,!1,tl,sl,u8)}function A8(e){return Et(e,!1,ll,al,d8)}function j5(e){return Et(e,!0,nl,il,f8)}function Et(e,t,n,l,o){if(!G1(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;const r=o.get(e);if(r)return r;const s=ul(Qn(e));if(s===0)return e;const a=new Proxy(e,s===2?l:n);return o.set(e,a),a}function V3(e){return f3(e)?V3(e.__v_raw):!!(e&&e.__v_isReactive)}function f3(e){return!!(e&&e.__v_isReadonly)}function E2(e){return!!(e&&e.__v_isShallow)}function Dt(e){return e?!!e.__v_raw:!1}function R1(e){const t=e&&e.__v_raw;return t?R1(t):e}function dl(e){return!N1(e,"__v_skip")&&Object.isExtensible(e)&&U7(e,"__v_skip",!0),e}const O2=e=>G1(e)?t5(e):e,ce=e=>G1(e)?j5(e):e;function n2(e){return e?e.__v_isRef===!0:!1}function z(e){return h8(e,!1)}function fl(e){return h8(e,!0)}function h8(e,t){return n2(e)?e:new Al(e,t)}class Al{constructor(t,n){this.dep=new It,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:R1(t),this._value=n?t:O2(t),this.__v_isShallow=n}get value(){return this.dep.track(),this._value}set value(t){const n=this._rawValue,l=this.__v_isShallow||E2(t)||f3(t);t=l?t:R1(t),V2(t,n)&&(this._rawValue=t,this._value=l?t:O2(t),this.dep.trigger())}}function f(e){return n2(e)?e.value:e}const hl={get:(e,t,n)=>t==="__v_raw"?e:f(Reflect.get(e,t,n)),set:(e,t,n,l)=>{const o=e[t];return n2(o)&&!n2(n)?(o.value=n,!0):Reflect.set(e,t,n,l)}};function p8(e){return V3(e)?e:new Proxy(e,hl)}class pl{constructor(t,n,l){this.fn=t,this.setter=n,this._value=void 0,this.dep=new It(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Pe-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=l}notify(){if(this.flags|=16,!(this.flags&8)&&P1!==this)return t8(this,!0),!0}get value(){const t=this.dep.track();return o8(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter&&this.setter(t)}}function ml(e,t,n=!1){let l,o;return I1(e)?l=e:(l=e.get,o=e.set),new pl(l,o,n)}const v4={},R4=new WeakMap;let $3;function gl(e,t=!1,n=$3){if(n){let l=R4.get(n);l||R4.set(n,l=[]),l.push(e)}}function vl(e,t,n=W1){const{immediate:l,deep:o,once:r,scheduler:s,augmentJob:a,call:i}=n,c=_=>o?_:E2(_)||o===!1||o===0?a3(_,1):a3(_);let d,u,A,m,p=!1,y=!1;if(n2(e)?(u=()=>e.value,p=E2(e)):V3(e)?(u=()=>c(e),p=!0):v1(e)?(y=!0,p=e.some(_=>V3(_)||E2(_)),u=()=>e.map(_=>{if(n2(_))return _.value;if(V3(_))return c(_);if(I1(_))return i?i(_,2):_()})):I1(e)?t?u=i?()=>i(e,2):e:u=()=>{if(A){u3();try{A()}finally{d3()}}const _=$3;$3=d;try{return i?i(e,3,[m]):e(m)}finally{$3=_}}:u=z2,t&&o){const _=u,R=o===!0?1/0:o;u=()=>a3(_(),R)}const k=Vn(),F=()=>{d.stop(),k&&k.active&&bt(k.effects,d)};if(r&&t){const _=t;t=(...R)=>{const $=_(...R);return F(),$}}let M=y?new Array(e.length).fill(v4):v4;const E=_=>{if(!(!(d.flags&1)||!d.dirty&&!_))if(t){const R=d.run();if(_||o||p||(y?R.some(($,D)=>V2($,M[D])):V2(R,M))){A&&A();const $=$3;$3=d;try{const D=[R,M===v4?void 0:y&&M[0]===v4?[]:M,m];M=R,i?i(t,3,D):t(...D)}finally{$3=$}}}else d.run()};return a&&a(E),d=new q7(u),d.scheduler=s?()=>s(E,!1):E,m=_=>gl(_,!1,d),A=d.onStop=()=>{const _=R4.get(d);if(_){if(i)i(_,4);else for(const R of _)R();R4.delete(d)}},t?l?E(!0):M=d.run():s?s(E.bind(null,!0),!0):d.run(),F.pause=d.pause.bind(d),F.resume=d.resume.bind(d),F.stop=F,F}function a3(e,t=1/0,n){if(t<=0||!G1(e)||e.__v_skip||(n=n||new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,n2(e))a3(e.value,t,n);else if(v1(e))for(let l=0;l{a3(l,t,n)});else if(V7(e)){for(const l in e)a3(e[l],t,n);for(const l of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,l)&&a3(e[l],t,n)}return e}/** -* @vue/runtime-core v3.5.42 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function d4(e,t,n,l){try{return l?e(...l):e()}catch(o){n5(o,t,n)}}function D2(e,t,n,l){if(I1(e)){const o=d4(e,t,n,l);return o&&T7(o)&&o.catch(r=>{n5(r,t,n)}),o}if(v1(e)){const o=[];for(let r=0;r>>1,o=y2[l],r=Te(o);r=Te(n)?y2.push(e):y2.splice(bl(t),0,e),e.flags|=1,v8()}}function v8(){Q4||(Q4=m8.then(b8))}function kl(e){if(!v1(e))w3&&e.id===-1?w3.splice(te+1,0,e):e.flags&1||(oe.push(e),e.flags|=1);else for(let t=0;tTe(n)-Te(l));if(oe.length=0,w3){for(let n=0;ne.id==null?e.flags&2?-1:1/0:e.id;function b8(e){try{for(H2=0;H2{l._d&&$4(-1);const r=N4(t),s=c3.length;let a;try{a=e(...o)}finally{for(let i=c3.length;i>s;i--)Qt();N4(r),l._d&&$4(1)}return a};return l._n=!0,l._c=!0,l._d=!0,l}function Ne(e,t){if(i2===null)return e;const n=i5(i2),l=e.dirs||(e.dirs=[]);for(let o=0;o1)return n&&I1(t)?t.call(l&&l.proxy):t}}const Cl=Symbol.for("v-scx"),wl=()=>K2(Cl);function t2(e,t,n){return C8(e,t,n)}function C8(e,t,n=W1){const{immediate:l,deep:o,flush:r,once:s}=n,a=r2({},n),i=t&&l||!t&&r!=="post";let c;if(je){if(r==="sync"){const m=wl();c=m.__watcherHandles||(m.__watcherHandles=[])}else if(!i){const m=()=>{};return m.stop=z2,m.resume=z2,m.pause=z2,m}}const d=h2;a.call=(m,p,y)=>D2(m,d,p,y);let u=!1;r==="post"?a.scheduler=m=>{m2(m,d&&d.suspense)}:r!=="sync"&&(u=!0,a.scheduler=(m,p)=>{p?m():Zt(m)}),a.augmentJob=m=>{t&&(m.flags|=4),u&&(m.flags|=2,d&&(m.id=d.uid,m.i=d))};const A=vl(e,t,a);return je&&(c?c.push(A):i&&A()),A}function xl(e,t,n){const l=this.proxy,o=T1(e)?e.includes(".")?w8(l,e):()=>l[e]:e.bind(l,l);let r;I1(t)?r=t:(r=t.handler,n=t);const s=A4(this),a=C8(o,r.bind(l),n);return s(),a}function w8(e,t){const n=t.split(".");return()=>{let l=e;for(let o=0;oe.__isTeleport,W3=e=>e&&(e.disabled||e.disabled===""),_l=e=>e&&(e.defer||e.defer===""),n6=e=>typeof SVGElement<"u"&&e instanceof SVGElement,l6=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,X5=(e,t)=>{const n=e&&e.to;return T1(n)?t?t(n):null:n},Il={name:"Teleport",__isTeleport:!0,process(e,t,n,l,o,r,s,a,i,c){const{mc:d,pc:u,pbc:A,o:{insert:m,querySelector:p,createText:y,createComment:k,parentNode:F}}=c,M=W3(t.props);let{dynamicChildren:E}=t;const _=(D,x,Q)=>{D.shapeFlag&16&&d(D.children,x,Q,o,r,s,a,i)},R=(D=t)=>{const x=W3(D.props),Q=D.target=X5(D.props,p),B=q5(Q,D,y,m);Q&&(s!=="svg"&&n6(Q)?s="svg":s!=="mathml"&&l6(Q)&&(s="mathml"),o&&o.isCE&&(o.ce._teleportTargets||(o.ce._teleportTargets=new Set)).add(Q),x||(_(D,Q,B),Ze(D,!1)))},$=D=>{const x=()=>{if(C3.get(D)===x){if(C3.delete(D),W3(D.props)){const Q=F(D.el)||n;_(D,Q,D.anchor),Ze(D,!0)}R(D)}};C3.set(D,x),m2(x,r)};if(e==null){const D=t.el=y(""),x=t.anchor=y("");if(m(D,n,l),m(x,n,l),_l(t.props)||r&&r.pendingBranch){$(t);return}M&&(_(t,n,x),Ze(t,!0)),R()}else{t.el=e.el;const D=t.anchor=e.anchor,x=C3.get(e);if(x){x.flags|=8,C3.delete(e),$(t);return}t.targetStart=e.targetStart;const Q=t.target=e.target,B=t.targetAnchor=e.targetAnchor,X=W3(e.props),Y=X?n:Q,m1=X?D:B;if(s==="svg"||n6(Q)?s="svg":(s==="mathml"||l6(Q))&&(s="mathml"),E?(A(e.dynamicChildren,E,Y,o,r,s,a),Rt(e,t,!0)):i||u(e,t,Y,m1,o,r,s,a,!1),M)X?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):y4(t,n,D,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const w1=X5(t.props,p);w1&&(t.target=w1,y4(t,w1,null,c,0))}else X&&y4(t,Q,B,c,1);Ze(t,M)}},remove(e,t,n,{um:l,o:{remove:o}},r){const{shapeFlag:s,children:a,anchor:i,targetStart:c,targetAnchor:d,target:u,props:A}=e,m=W3(A),p=r||!m,y=C3.get(e);if(y&&(y.flags|=8,C3.delete(e)),u&&(o(c),o(d)),r&&o(i),!y&&(m||u)&&s&16)for(let k=0;k{e.isMounted=!0}),Ft(()=>{e.isUnmounting=!0}),e}const _2=[Function,Array],_8={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:_2,onEnter:_2,onAfterEnter:_2,onEnterCancelled:_2,onBeforeLeave:_2,onLeave:_2,onAfterLeave:_2,onLeaveCancelled:_2,onBeforeAppear:_2,onAppear:_2,onAfterAppear:_2,onAppearCancelled:_2},I8=e=>{const t=e.subTree;return t.component?I8(t.component):t},Zl={name:"BaseTransition",props:_8,setup(e,{slots:t}){const n=e0(),l=Dl();return()=>{const o=t.default&&D8(t.default(),!0),r=o&&o.length?M8(o):n.subTree?P():void 0;if(!r)return;const s=R1(e),{mode:a}=s;if(l.isLeaving)return x5(r);const i=K4(r);if(!i)return x5(r);let c=et(i,s,l,n,u=>c=u);i.type!==A2&&Ye(i,c);let d=n.subTree&&K4(n.subTree);if(d&&d.type!==A2&&!L3(d,i)&&I8(n).type!==A2){let u=et(d,s,l,n);if(Ye(d,u),a==="out-in"&&i.type!==A2)return l.isLeaving=!0,u.afterLeave=()=>{l.isLeaving=!1,n.job.flags&8||n.update(),delete u.afterLeave,d=void 0},x5(r);a==="in-out"&&i.type!==A2?u.delayLeave=(A,m,p)=>{const y=E8(l,d);y[String(d.key)]=d,A[I2]=()=>{m(),A[I2]=void 0,delete c.delayedLeave,d=void 0},c.delayedLeave=()=>{p(),delete c.delayedLeave,d=void 0}}:d=void 0}else d&&(d=void 0);return r}}};function M8(e){let t=e[0];if(e.length>1){for(const n of e)if(n.type!==A2){t=n;break}}return t}const Fl=Zl;function E8(e,t){const{leavingVNodes:n}=e;let l=n.get(t.type);return l||(l=Object.create(null),n.set(t.type,l)),l}function et(e,t,n,l,o){const{appear:r,mode:s,persisted:a=!1,onBeforeEnter:i,onEnter:c,onAfterEnter:d,onEnterCancelled:u,onBeforeLeave:A,onLeave:m,onAfterLeave:p,onLeaveCancelled:y,onBeforeAppear:k,onAppear:F,onAfterAppear:M,onAppearCancelled:E}=t,_=String(e.key),R=E8(n,e),$=(Q,B)=>{Q&&D2(Q,l,9,B)},D=(Q,B)=>{const X=B[1];$(Q,B),v1(Q)?Q.every(Y=>Y.length<=1)&&X():Q.length<=1&&X()},x={mode:s,persisted:a,beforeEnter(Q){let B=i;if(!n.isMounted)if(r)B=k||i;else return;Q[I2]&&Q[I2](!0);const X=R[_];X&&L3(e,X)&&X.el[I2]&&X.el[I2](),$(B,[Q])},enter(Q){if(R[_]===e)return;let B=c,X=d,Y=u;if(!n.isMounted)if(r)B=F||c,X=M||d,Y=E||u;else return;let m1=!1;Q[ke]=r1=>{m1||(m1=!0,r1?$(Y,[Q]):$(X,[Q]),x.delayedLeave&&x.delayedLeave(),Q[ke]=void 0)};const w1=Q[ke].bind(null,!1);B?D(B,[Q,w1]):w1()},leave(Q,B){const X=String(e.key);if(Q[ke]&&Q[ke](!0),n.isUnmounting)return B();$(A,[Q]);let Y=!1;Q[I2]=w1=>{Y||(Y=!0,B(),w1?$(y,[Q]):$(p,[Q]),Q[I2]=void 0,R[X]===e&&delete R[X])};const m1=Q[I2].bind(null,!1);R[X]=e,m?D(m,[Q,m1]):m1()},clone(Q){const B=et(Q,t,n,l,o);return o&&o(B),B}};return x}function x5(e){if(o5(e))return e=E3(e),e.children=null,e}function K4(e){if(!o5(e))return l5(e.type)&&e.children?M8(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&I1(n.default))return n.default()}}function Ye(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;const n=e.component.subTree;Ye(l5(n.type)&&K4(n)||n,t)}else e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function D8(e,t=!1,n){let l=[],o=0;for(let r=0;r1)for(let r=0;rKe(y,t&&(v1(t)?t[k]:t),n,l,o));return}if(re(l)&&!o){l.shapeFlag&512&&l.type.__asyncResolved&&l.component.subTree.component&&Ke(e,t,n,l.component.subTree);return}const r=l.shapeFlag&4?i5(l.component):l.el,s=o?null:r,{i:a,r:i}=e,c=t&&t.r,d=a.refs===W1?a.refs={}:a.refs,u=a.setupState,A=R1(u),m=u===W1?H7:y=>o6(d,y)?!1:N1(A,y),p=(y,k)=>!(k&&o6(d,k));if(c!=null&&c!==i){if(r6(t),T1(c))d[c]=null,m(c)&&(u[c]=null);else if(n2(c)){const y=t;p(c,y.k)&&(c.value=null),y.k&&(d[y.k]=null)}}if(I1(i))d4(i,a,12,[s,d]);else{const y=T1(i),k=n2(i);if(y||k){const F=()=>{if(e.f){const M=y?m(i)?u[i]:d[i]:p()||!e.k?i.value:d[e.k];if(o)v1(M)&&bt(M,r);else if(v1(M))M.includes(r)||M.push(r);else if(y)d[i]=[r],m(i)&&(u[i]=d[i]);else{const E=[r];p(i,e.k)&&(i.value=E),e.k&&(d[e.k]=E)}}else y?(d[i]=s,m(i)&&(u[i]=s)):k&&(p(i,e.k)&&(i.value=s),e.k&&(d[e.k]=s))};if(s){const M=()=>{F(),G4.delete(e)};M.id=-1,G4.set(e,M),m2(M,n)}else r6(e),F()}}}function r6(e){const t=G4.get(e);t&&(t.flags|=8,G4.delete(e))}q4().requestIdleCallback;q4().cancelIdleCallback;const re=e=>!!e.type.__asyncLoader,o5=e=>e.type.__isKeepAlive;function Bl(e,t){F8(e,"a",t)}function Sl(e,t){F8(e,"da",t)}function F8(e,t,n=h2){const l=e.__wdc||(e.__wdc=()=>{let o=n;for(;o;){if(o.isDeactivated)return;o=o.parent}return e()});if(r5(t,l,n),n){let o=n.parent;for(;o&&o.parent;)o5(o.parent.vnode)&&Rl(l,t,n,o),o=o.parent}}function Rl(e,t,n,l){const o=r5(t,e,l,!0);f4(()=>{bt(l[t],o)},n)}function r5(e,t,n=h2,l=!1){if(n){const o=n[e]||(n[e]=[]),r=t.__weh||(t.__weh=(...s)=>{u3();const a=A4(n),i=D2(t,n,e,s);return a(),d3(),i});return l?o.unshift(r):o.push(r),r}}const p3=e=>(t,n=h2)=>{(!je||e==="sp")&&r5(e,(...l)=>t(...l),n)},Ql=p3("bm"),d2=p3("m"),Nl=p3("bu"),Kl=p3("u"),Ft=p3("bum"),f4=p3("um"),Gl=p3("sp"),Ol=p3("rtg"),$l=p3("rtc");function Wl(e,t=h2){r5("ec",e,t)}const B8="components";function Ve(e,t){return R8(B8,e,!0,t)||e}const S8=Symbol.for("v-ndc");function k2(e){return T1(e)?R8(B8,e,!1)||e:e||S8}function R8(e,t,n=!0,l=!1){const o=i2||h2;if(o){const r=o.type;{const a=Io(r,!1);if(a&&(a===t||a===b2(t)||a===X4(b2(t))))return r}const s=s6(o[e]||r[e],t)||s6(o.appContext[e],t);return!s&&l?r:s}}function s6(e,t){return e&&(e[t]||e[b2(t)]||e[X4(b2(t))])}function _1(e,t,n,l){let o;const r=n,s=v1(e);if(s||T1(e)){const a=s&&V3(e);let i=!1,c=!1;a&&(i=!E2(e),c=f3(e),e=e5(e)),o=new Array(e.length);for(let d=0,u=e.length;dt(a,i,void 0,r));else{const a=Object.keys(e);o=new Array(a.length);for(let i=0,c=a.length;i{const r=l.fn(...o);return r&&(r.key=l.key),r}:l.fn)}return e}function K1(e,t,n,l,o,r){if(n==null&&(n={}),i2.ce||i2.parent&&re(i2.parent)&&i2.parent.ce){const c=n,d=Object.keys(c).length>0;return t!=="default"&&(c.name=t),h(),G(n1,null,[I("slot",c,l&&l())],d?-2:64)}let s=e[t];s&&s._c&&(s._d=!1);const a=c3.length;h();let i;try{const c=s&&Q8(s(n)),d=n.key||r||c&&c.key;i=G(n1,{key:(d&&!G2(d)?d:`_${t}`)+(!c&&l?"_fb":"")},c||(l?l():[]),c&&e._===1?64:-2)}catch(c){for(let d=c3.length;d>a;d--)Qt();throw c}finally{s&&s._c&&(s._d=!0)}return i.scopeId&&(i.slotScopeIds=[i.scopeId+"-s"]),i}function Q8(e){return e.some(t=>Je(t)?!(t.type===A2||t.type===n1&&!Q8(t.children)):!0)?e:null}const tt=e=>e?t0(e)?i5(e):tt(e.parent):null,Ge=r2(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>tt(e.parent),$root:e=>tt(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>K8(e),$forceUpdate:e=>e.f||(e.f=()=>{Zt(e.update)}),$nextTick:e=>e.n||(e.n=g8.bind(e.proxy)),$watch:e=>xl.bind(e)}),_5=(e,t)=>e!==W1&&!e.__isScriptSetup&&N1(e,t),Ll={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:l,data:o,props:r,accessCache:s,type:a,appContext:i}=e;if(t[0]!=="$"){const A=s[t];if(A!==void 0)switch(A){case 1:return l[t];case 2:return o[t];case 4:return n[t];case 3:return r[t]}else{if(_5(l,t))return s[t]=1,l[t];if(o!==W1&&N1(o,t))return s[t]=2,o[t];if(N1(r,t))return s[t]=3,r[t];if(n!==W1&&N1(n,t))return s[t]=4,n[t];nt&&(s[t]=0)}}const c=Ge[t];let d,u;if(c)return t==="$attrs"&&f2(e.attrs,"get",""),c(e);if((d=a.__cssModules)&&(d=d[t]))return d;if(n!==W1&&N1(n,t))return s[t]=4,n[t];if(u=i.config.globalProperties,N1(u,t))return u[t]},set({_:e},t,n){const{data:l,setupState:o,ctx:r}=e;return _5(o,t)?(o[t]=n,!0):l!==W1&&N1(l,t)?(l[t]=n,!0):N1(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(r[t]=n,!0)},has({_:{data:e,setupState:t,accessCache:n,ctx:l,appContext:o,props:r,type:s}},a){let i;return!!(n[a]||e!==W1&&a[0]!=="$"&&N1(e,a)||_5(t,a)||N1(r,a)||N1(l,a)||N1(Ge,a)||N1(o.config.globalProperties,a)||(i=s.__cssModules)&&i[a])},defineProperty(e,t,n){return n.get!=null?e._.accessCache[t]=0:N1(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function i6(e){return v1(e)?e.reduce((t,n)=>(t[n]=null,t),{}):e}let nt=!0;function Pl(e){const t=K8(e),n=e.proxy,l=e.ctx;nt=!1,t.beforeCreate&&c6(t.beforeCreate,e,"bc");const{data:o,computed:r,methods:s,watch:a,provide:i,inject:c,created:d,beforeMount:u,mounted:A,beforeUpdate:m,updated:p,activated:y,deactivated:k,beforeDestroy:F,beforeUnmount:M,destroyed:E,unmounted:_,render:R,renderTracked:$,renderTriggered:D,errorCaptured:x,serverPrefetch:Q,expose:B,inheritAttrs:X,components:Y,directives:m1,filters:w1}=t;if(c&&Hl(c,l,null),s)for(const b1 in s){const y1=s[b1];I1(y1)&&(l[b1]=y1.bind(n))}if(o){const b1=o.call(n,n);G1(b1)&&(e.data=t5(b1))}if(nt=!0,r)for(const b1 in r){const y1=r[b1],k1=I1(y1)?y1.bind(n,n):I1(y1.get)?y1.get.bind(n,n):z2,c1=!I1(y1)&&I1(y1.set)?y1.set.bind(n):z2,L1=t1({get:k1,set:c1});Object.defineProperty(l,b1,{enumerable:!0,configurable:!0,get:()=>L1.value,set:S1=>L1.value=S1})}if(a)for(const b1 in a)N8(a[b1],l,n,b1);if(i){const b1=I1(i)?i.call(n):i;Reflect.ownKeys(b1).forEach(y1=>{Z4(y1,b1[y1])})}d&&c6(d,e,"c");function l1(b1,y1){v1(y1)?y1.forEach(k1=>b1(k1.bind(n))):y1&&b1(y1.bind(n))}if(l1(Ql,u),l1(d2,A),l1(Nl,m),l1(Kl,p),l1(Bl,y),l1(Sl,k),l1(Wl,x),l1($l,$),l1(Ol,D),l1(Ft,M),l1(f4,_),l1(Gl,Q),v1(B))if(B.length){const b1=e.exposed||(e.exposed={});B.forEach(y1=>{Object.defineProperty(b1,y1,{get:()=>n[y1],set:k1=>n[y1]=k1,enumerable:!0})})}else e.exposed||(e.exposed={});R&&e.render===z2&&(e.render=R),X!=null&&(e.inheritAttrs=X),Y&&(e.components=Y),m1&&(e.directives=m1),Q&&Z8(e)}function Hl(e,t,n=z2){v1(e)&&(e=lt(e));for(const l in e){const o=e[l];let r;G1(o)?"default"in o?r=K2(o.from||l,o.default,!0):r=K2(o.from||l):r=K2(o),n2(r)?Object.defineProperty(t,l,{enumerable:!0,configurable:!0,get:()=>r.value,set:s=>r.value=s}):t[l]=r}}function c6(e,t,n){D2(v1(e)?e.map(l=>l.bind(t.proxy)):e.bind(t.proxy),t,n)}function N8(e,t,n,l){let o=l.includes(".")?w8(n,l):()=>n[l];if(T1(e)){const r=t[e];I1(r)&&t2(o,r)}else if(I1(e))t2(o,e.bind(n));else if(G1(e))if(v1(e))e.forEach(r=>N8(r,t,n,l));else{const r=I1(e.handler)?e.handler.bind(n):t[e.handler];I1(r)&&t2(o,r,e)}}function K8(e){const t=e.type,{mixins:n,extends:l}=t,{mixins:o,optionsCache:r,config:{optionMergeStrategies:s}}=e.appContext,a=r.get(t);let i;return a?i=a:!o.length&&!n&&!l?i=t:(i={},o.length&&o.forEach(c=>O4(i,c,s,!0)),O4(i,t,s)),G1(t)&&r.set(t,i),i}function O4(e,t,n,l=!1){const{mixins:o,extends:r}=t;r&&O4(e,r,n,!0),o&&o.forEach(s=>O4(e,s,n,!0));for(const s in t)if(!(l&&s==="expose")){const a=Tl[s]||n&&n[s];e[s]=a?a(e[s],t[s]):t[s]}return e}const Tl={data:u6,props:d6,emits:d6,methods:Fe,computed:Fe,beforeCreate:p2,created:p2,beforeMount:p2,mounted:p2,beforeUpdate:p2,updated:p2,beforeDestroy:p2,beforeUnmount:p2,destroyed:p2,unmounted:p2,activated:p2,deactivated:p2,errorCaptured:p2,serverPrefetch:p2,components:Fe,directives:Fe,watch:Vl,provide:u6,inject:Yl};function u6(e,t){return t?e?function(){return r2(I1(e)?e.call(this,this):e,I1(t)?t.call(this,this):t)}:t:e}function Yl(e,t){return Fe(lt(e),lt(t))}function lt(e){if(v1(e)){const t={};for(let n=0;nt==="modelValue"||t==="model-value"?e.modelModifiers:e[`${t}Modifiers`]||e[`${b2(t)}Modifiers`]||e[`${Z3(t)}Modifiers`];function jl(e,t,...n){if(e.isUnmounted)return;const l=e.vnode.props||W1;let o=n;const r=t.startsWith("update:"),s=r&&zl(l,t.slice(7));s&&(s.trim&&(o=n.map(d=>T1(d)?d.trim():d)),s.number&&(o=o.map(Ct)));let a,i=l[a=y5(t)]||l[a=y5(b2(t))];!i&&r&&(i=l[a=y5(Z3(t))]),i&&D2(i,e,6,o);const c=l[a+"Once"];if(c){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,D2(c,e,6,o)}}const Xl=new WeakMap;function O8(e,t,n=!1){const l=n?Xl:t.emitsCache,o=l.get(e);if(o!==void 0)return o;const r=e.emits;let s={},a=!1;if(!I1(e)){const i=c=>{const d=O8(c,t,!0);d&&(a=!0,r2(s,d))};!n&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}return!r&&!a?(G1(e)&&l.set(e,null),null):(v1(r)?r.forEach(i=>s[i]=null):r2(s,r),G1(e)&&l.set(e,s),s)}function s5(e,t){return!e||!J4(t)?!1:(t=t.slice(2),t=t==="Once"?t:t.replace(/Once$/,""),N1(e,t[0].toLowerCase()+t.slice(1))||N1(e,Z3(t))||N1(e,t))}function f6(e){const{type:t,vnode:n,proxy:l,withProxy:o,propsOptions:[r],slots:s,attrs:a,emit:i,render:c,renderCache:d,props:u,data:A,setupState:m,ctx:p,inheritAttrs:y}=e,k=N4(e);let F,M;try{if(n.shapeFlag&4){const _=o||l,R=_;F=Y2(c.call(R,_,d,u,m,A,p)),M=a}else{const _=t;F=Y2(_.length>1?_(u,{attrs:a,slots:s,emit:i}):_(u,null)),M=t.props?a:ql(a)}}catch(_){c3.length=0,n5(_,e,1),F=I(A2)}let E=F;if(M&&y!==!1){const _=Object.keys(M),{shapeFlag:R}=E;_.length&&R&7&&(r&&_.some(z4)&&(M=eo(M,r)),E=E3(E,M,!1,!0))}if(n.dirs&&(E=E3(E,null,!1,!0),E.dirs=E.dirs?E.dirs.concat(n.dirs):n.dirs),n.transition){const _=l5(E.type)&&K4(E)||E;Ye(_,n.transition)}return F=E,N4(k),F}const ql=e=>{let t;for(const n in e)(n==="class"||n==="style"||J4(n))&&((t||(t={}))[n]=e[n]);return t},eo=(e,t)=>{const n={};for(const l in e)(!z4(l)||!(l.slice(9)in t))&&(n[l]=e[l]);return n};function to(e,t,n){const{props:l,children:o,component:r}=e,{props:s,children:a,patchFlag:i}=t,c=r.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&i>=0){if(i&1024)return!0;if(i&16)return l?A6(l,s,c):!!s;if(i&8){const d=t.dynamicProps;for(let u=0;uObject.create(W8),P8=e=>Object.getPrototypeOf(e)===W8;function lo(e,t,n,l=!1){const o={},r=L8();e.propsDefaults=Object.create(null),H8(e,t,o,r);for(const s in e.propsOptions[0])s in o||(o[s]=void 0);n?e.props=l?o:A8(o):e.type.props?e.props=o:e.props=r,e.attrs=r}function oo(e,t,n,l){const{props:o,attrs:r,vnode:{patchFlag:s}}=e,a=R1(o),[i]=e.propsOptions;let c=!1;if((l||s>0)&&!(s&16)){if(s&8){const d=e.vnode.dynamicProps;for(let u=0;u{i=!0;const[A,m]=T8(u,t,!0);r2(s,A),m&&a.push(...m)};!n&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!r&&!i)return G1(e)&&l.set(e,le),le;if(v1(r))for(let d=0;de==="_"||e==="_ctx"||e==="$stable",St=e=>v1(e)?e.map(Y2):[Y2(e)],so=(e,t,n)=>{if(t._n)return t;const l=w((...o)=>St(t(...o)),n);return l._c=!1,l},Y8=(e,t,n)=>{const l=e._ctx;for(const o in e){if(Bt(o))continue;const r=e[o];if(I1(r))t[o]=so(o,r,l);else if(r!=null){const s=St(r);t[o]=()=>s}}},V8=(e,t)=>{const n=St(t);e.slots.default=()=>n},U8=(e,t,n)=>{for(const l in t)(n||!Bt(l))&&(e[l]=t[l])},ao=(e,t,n)=>{const l=e.slots=L8();if(e.vnode.shapeFlag&32){const o=t._;o?(U8(l,t,n),n&&U7(l,"_",o,!0)):Y8(t,l)}else t&&V8(e,t)},io=(e,t,n)=>{const{vnode:l,slots:o}=e;let r=!0,s=W1;if(l.shapeFlag&32){const a=t._;a?n&&a===1?r=!1:U8(o,t,n):(r=!t.$stable,Y8(t,o)),s=t}else t&&(V8(e,t),s={default:1});if(r)for(const a in o)!Bt(a)&&s[a]==null&&delete o[a]},m2=ho;function co(e){return uo(e)}function uo(e,t){const n=q4();n.__VUE__=!0;const{insert:l,remove:o,patchProp:r,createElement:s,createText:a,createComment:i,setText:c,setElementText:d,parentNode:u,nextSibling:A,setScopeId:m=z2,insertStaticContent:p}=e,y=(g,v,Z,L=null,T=null,W=null,a1=void 0,e1=null,j=!!v.dynamicChildren)=>{if(g===v)return;g&&!L3(g,v)&&(L=S(g),S1(g,T,W,!0),g=null),v.patchFlag===-2&&(j=!1,v.dynamicChildren=null);const{type:V,ref:g1,shapeFlag:i1}=v;switch(V){case a5:k(g,v,Z,L);break;case A2:F(g,v,Z,L);break;case F4:g==null&&M(v,Z,L,a1);break;case n1:Y(g,v,Z,L,T,W,a1,e1,j);break;default:i1&1?R(g,v,Z,L,T,W,a1,e1,j):i1&6?m1(g,v,Z,L,T,W,a1,e1,j):(i1&64||i1&128)&&V.process(g,v,Z,L,T,W,a1,e1,j,A1)}g1!=null&&T?Ke(g1,g&&g.ref,W,v||g,!v):g1==null&&g&&g.ref!=null&&Ke(g.ref,null,W,g,!0)},k=(g,v,Z,L)=>{if(g==null)l(v.el=a(v.children),Z,L);else{const T=v.el=g.el;v.children!==g.children&&c(T,v.children)}},F=(g,v,Z,L)=>{g==null?l(v.el=i(v.children||""),Z,L):v.el=g.el},M=(g,v,Z,L)=>{[g.el,g.anchor]=p(g.children,v,Z,L,g.el,g.anchor)},E=({el:g,anchor:v},Z,L)=>{let T;for(;g&&g!==v;)T=A(g),l(g,Z,L),g=T;l(v,Z,L)},_=({el:g,anchor:v})=>{let Z;for(;g&&g!==v;)Z=A(g),o(g),g=Z;o(v)},R=(g,v,Z,L,T,W,a1,e1,j)=>{if(v.type==="svg"?a1="svg":v.type==="math"&&(a1="mathml"),g==null)$(v,Z,L,T,W,a1,e1,j);else{const V=g.el&&g.el._isVueCE?g.el:null;try{V&&V._beginPatch(),Q(g,v,T,W,a1,e1,j)}finally{V&&V._endPatch()}}},$=(g,v,Z,L,T,W,a1,e1)=>{let j,V;const{props:g1,shapeFlag:i1,transition:K,dirs:O}=g;if(j=g.el=s(g.type,W,g1&&g1.is,g1),i1&8?d(j,g.children):i1&16&&x(g.children,j,null,L,T,I5(g,W),a1,e1),O&&S3(g,null,L,"created"),D(j,g,g.scopeId,a1,L),g1){for(const H in g1)H!=="value"&&!Se(H)&&r(j,H,null,g1[H],W,L);"value"in g1&&r(j,"value",null,g1.value,W),(V=g1.onVnodeBeforeMount)&&W2(V,L,g)}O&&S3(g,null,L,"beforeMount");const p1=fo(T,K);p1&&K.beforeEnter(j),l(j,v,Z),((V=g1&&g1.onVnodeMounted)||p1||O)&&m2(()=>{try{V&&W2(V,L,g),p1&&K.enter(j),O&&S3(g,null,L,"mounted")}finally{}},T)},D=(g,v,Z,L,T)=>{if(Z&&m(g,Z),L)for(let W=0;W{for(let V=j;V{const e1=v.el=g.el;let{patchFlag:j,dynamicChildren:V,dirs:g1}=v;j|=g.patchFlag&16;const i1=g.props||W1,K=v.props||W1;let O;if(Z&&R3(Z,!1),(O=K.onVnodeBeforeUpdate)&&W2(O,Z,v,g),g1&&S3(v,g,Z,"beforeUpdate"),Z&&R3(Z,!0),V&&(!g.dynamicChildren||g.dynamicChildren.length!==V.length)&&(j=0,a1=!1,V=null),(i1.innerHTML&&K.innerHTML==null||i1.textContent&&K.textContent==null)&&d(e1,""),V?B(g.dynamicChildren,V,e1,Z,L,I5(v,T),W):a1||y1(g,v,e1,null,Z,L,I5(v,T),W,!1),j>0){if(j&16)X(e1,i1,K,Z,T);else if(j&2&&i1.class!==K.class&&r(e1,"class",null,K.class,T),j&4&&r(e1,"style",i1.style,K.style,T),j&8){const p1=v.dynamicProps;for(let H=0;H{O&&W2(O,Z,v,g),g1&&S3(v,g,Z,"updated")},L)},B=(g,v,Z,L,T,W,a1)=>{for(let e1=0;e1{if(v!==Z){if(v!==W1)for(const W in v)!Se(W)&&!(W in Z)&&r(g,W,v[W],null,T,L);for(const W in Z){if(Se(W))continue;const a1=Z[W],e1=v[W];a1!==e1&&W!=="value"&&r(g,W,e1,a1,T,L)}"value"in Z&&r(g,"value",v.value,Z.value,T)}},Y=(g,v,Z,L,T,W,a1,e1,j)=>{const V=v.el=g?g.el:a(""),g1=v.anchor=g?g.anchor:a("");let{patchFlag:i1,dynamicChildren:K,slotScopeIds:O}=v;O&&(e1=e1?e1.concat(O):O),g==null?(l(V,Z,L),l(g1,Z,L),x(v.children||[],Z,g1,T,W,a1,e1,j)):i1>0&&i1&64&&K&&g.dynamicChildren&&g.dynamicChildren.length===K.length?(B(g.dynamicChildren,K,Z,T,W,a1,e1),(v.key!=null||T&&v===T.subTree)&&Rt(g,v,!0)):y1(g,v,Z,g1,T,W,a1,e1,j)},m1=(g,v,Z,L,T,W,a1,e1,j)=>{v.slotScopeIds=e1,g==null?v.shapeFlag&512?T.ctx.activate(v,Z,L,a1,j):w1(v,Z,L,T,W,a1,j):r1(g,v,j)},w1=(g,v,Z,L,T,W,a1)=>{const e1=g.component=ko(g,L,T);if(o5(g)&&(e1.ctx.renderer=A1),Co(e1,!1,a1),e1.asyncDep){if(T&&T.registerDep(e1,l1,a1),!g.el){const j=e1.subTree=I(A2);F(null,j,v,Z),g.placeholder=j.el}}else l1(e1,g,v,Z,T,W,a1)},r1=(g,v,Z)=>{const L=v.component=g.component;if(to(g,v,Z))if(L.asyncDep&&!L.asyncResolved){b1(L,v,Z);return}else L.next=v,L.update();else v.el=g.el,L.vnode=v},l1=(g,v,Z,L,T,W,a1)=>{const e1=()=>{if(g.isMounted){let{next:i1,bu:K,u:O,parent:p1,vnode:H}=g;{const w2=J8(g);if(w2){i1&&(i1.el=H.el,b1(g,i1,a1)),w2.asyncDep.then(()=>{m2(()=>{g.isUnmounted||V()},T)});return}}let D1=i1,V1;R3(g,!1),i1?(i1.el=H.el,b1(g,i1,a1)):i1=H,K&&D4(K),(V1=i1.props&&i1.props.onVnodeBeforeUpdate)&&W2(V1,p1,i1,H),R3(g,!0);const e2=f6(g),C2=g.subTree;g.subTree=e2,y(C2,e2,u(C2.el),S(C2),g,T,W),i1.el=e2.el,D1===null&&no(g,e2.el),O&&m2(O,T),(V1=i1.props&&i1.props.onVnodeUpdated)&&m2(()=>W2(V1,p1,i1,H),T)}else{let i1;const{el:K,props:O}=v,{bm:p1,m:H,parent:D1,root:V1,type:e2}=g,C2=re(v);R3(g,!1),p1&&D4(p1),!C2&&(i1=O&&O.onVnodeBeforeMount)&&W2(i1,D1,v),R3(g,!0);{V1.ce&&V1.ce._hasShadowRoot()&&V1.ce._injectChildStyle(e2,g.parent?g.parent.type:void 0);const w2=g.subTree=f6(g);y(null,w2,Z,L,g,T,W),v.el=w2.el}if(H&&m2(H,T),!C2&&(i1=O&&O.onVnodeMounted)){const w2=v;m2(()=>W2(i1,D1,w2),T)}(v.shapeFlag&256||D1&&re(D1.vnode)&&D1.vnode.shapeFlag&256)&&g.a&&m2(g.a,T),g.isMounted=!0,v=Z=L=null}};g.scope.on();const j=g.effect=new q7(e1);g.scope.off();const V=g.update=j.run.bind(j),g1=g.job=j.runIfDirty.bind(j);g1.i=g,g1.id=g.uid,j.scheduler=()=>Zt(g1),R3(g,!0),V()},b1=(g,v,Z)=>{v.component=g;const L=g.vnode.props;g.vnode=v,g.next=null,oo(g,v.props,L,Z),io(g,v.children,Z),u3(),t6(g),d3()},y1=(g,v,Z,L,T,W,a1,e1,j=!1)=>{const V=g&&g.children,g1=g?g.shapeFlag:0,i1=v.children,{patchFlag:K,shapeFlag:O}=v;if(K>0){if(K&128){c1(V,i1,Z,L,T,W,a1,e1,j);return}else if(K&256){k1(V,i1,Z,L,T,W,a1,e1,j);return}}O&8?(g1&16&&q(V,T,W),i1!==V&&d(Z,i1)):g1&16?O&16?c1(V,i1,Z,L,T,W,a1,e1,j):q(V,T,W,!0):(g1&8&&d(Z,""),O&16&&x(i1,Z,L,T,W,a1,e1,j))},k1=(g,v,Z,L,T,W,a1,e1,j)=>{g=g||le,v=v||le;const V=g.length,g1=v.length,i1=Math.min(V,g1);let K;for(K=0;Kg1?q(g,T,W,!0,!1,i1):x(v,Z,L,T,W,a1,e1,j,i1)},c1=(g,v,Z,L,T,W,a1,e1,j)=>{let V=0;const g1=v.length;let i1=g.length-1,K=g1-1;for(;V<=i1&&V<=K;){const O=g[V],p1=v[V]=j?r3(v[V]):Y2(v[V]);if(L3(O,p1))y(O,p1,Z,null,T,W,a1,e1,j);else break;V++}for(;V<=i1&&V<=K;){const O=g[i1],p1=v[K]=j?r3(v[K]):Y2(v[K]);if(L3(O,p1))y(O,p1,Z,null,T,W,a1,e1,j);else break;i1--,K--}if(V>i1){if(V<=K){const O=K+1,p1=OK)for(;V<=i1;)S1(g[V],T,W,!0),V++;else{const O=V,p1=V,H=new Map;for(V=p1;V<=K;V++){const M1=v[V]=j?r3(v[V]):Y2(v[V]);M1.key!=null&&H.set(M1.key,V)}let D1,V1=0;const e2=K-p1+1;let C2=!1,w2=0;const v3=new Array(e2);for(V=0;V=e2){S1(M1,T,W,!0);continue}let U1;if(M1.key!=null)U1=H.get(M1.key);else for(D1=p1;D1<=K;D1++)if(v3[D1-p1]===0&&L3(M1,v[D1])){U1=D1;break}U1===void 0?S1(M1,T,W,!0):(v3[U1-p1]=V+1,U1>=w2?w2=U1:C2=!0,y(M1,v[U1],Z,null,T,W,a1,e1,j),V1++)}const ye=C2?Ao(v3):le;for(D1=ye.length-1,V=e2-1;V>=0;V--){const M1=p1+V,U1=v[M1],v5=v[M1+1],Jt=M1+1{const{el:W,type:a1,transition:e1,children:j,shapeFlag:V}=g;if(V&6){L1(g.component.subTree,v,Z,L);return}if(V&128){g.suspense.move(v,Z,L);return}if(V&64){a1.move(g,v,Z,A1);return}if(a1===n1){l(W,v,Z);for(let i1=0;i1e1.enter(W),T));else{const{leave:i1,delayLeave:K,afterLeave:O}=e1,p1=()=>{g.ctx.isUnmounted?o(W):l(W,v,Z)},H=()=>{const D1=W._isLeaving||!!W[I2];W._isLeaving&&W[I2](!0),e1.persisted&&!D1?p1():i1(W,()=>{p1(),O&&O()})};K?K(W,p1,H):H()}else l(W,v,Z)},S1=(g,v,Z,L=!1,T=!1)=>{const{type:W,props:a1,ref:e1,children:j,dynamicChildren:V,shapeFlag:g1,patchFlag:i1,dirs:K,cacheIndex:O,memo:p1}=g;if(i1===-2&&(T=!1),e1!=null&&(u3(),Ke(e1,null,Z,g,!0),d3()),O!=null&&(v.renderCache[O]=void 0),g1&256){v.ctx.deactivate(g);return}const H=g1&1&&K,D1=!re(g);let V1;if(D1&&(V1=a1&&a1.onVnodeBeforeUnmount)&&W2(V1,v,g),g1&6)s1(g.component,Z,L);else{if(g1&128){g.suspense.unmount(Z,L);return}H&&S3(g,null,v,"beforeUnmount"),g1&64?g.type.remove(g,v,Z,A1,L):V&&!V.hasOnce&&(W!==n1||i1>0&&i1&64)?q(V,v,Z,!1,!0):(W===n1&&i1&384||!T&&g1&16)&&q(j,v,Z),L&&Y1(g)}const e2=p1!=null&&O==null;(D1&&(V1=a1&&a1.onVnodeUnmounted)||H||e2)&&m2(()=>{V1&&W2(V1,v,g),H&&S3(g,null,v,"unmounted"),e2&&(g.el=null)},Z)},Y1=g=>{const{type:v,el:Z,anchor:L,transition:T}=g;if(v===n1){q1(Z,L);return}if(v===F4){_(g);return}const W=()=>{o(Z),T&&!T.persisted&&T.afterLeave&&T.afterLeave()};if(g.shapeFlag&1&&T&&!T.persisted){const{leave:a1,delayLeave:e1}=T,j=()=>a1(Z,W);e1?e1(g.el,W,j):j()}else W()},q1=(g,v)=>{let Z;for(;g!==v;)Z=A(g),o(g),g=Z;o(v)},s1=(g,v,Z)=>{const{bum:L,scope:T,job:W,subTree:a1,um:e1,m:j,a:V}=g;p6(j),p6(V),L&&D4(L),T.stop(),W&&(W.flags|=8,S1(a1,g,v,Z)),e1&&m2(e1,v),m2(()=>{g.isUnmounted=!0},v)},q=(g,v,Z,L=!1,T=!1,W=0)=>{for(let a1=W;a1{if(g.shapeFlag&6)return S(g.component.subTree);if(g.shapeFlag&128)return g.suspense.next();const v=A(g.anchor||g.el),Z=v&&v[x8];return Z?A(Z):v};let o1=!1;const J=(g,v,Z)=>{let L;g==null?v._vnode&&(S1(v._vnode,null,null,!0),L=v._vnode.component):y(v._vnode||null,g,v,null,null,null,Z),v._vnode=g,o1||(o1=!0,t6(L),y8(),o1=!1)},A1={p:y,um:S1,m:L1,r:Y1,mt:w1,mc:x,pc:y1,pbc:B,n:S,o:e};return{render:J,hydrate:void 0,createApp:Jl(J)}}function I5({type:e,props:t},n){return n==="svg"&&e==="foreignObject"||n==="mathml"&&e==="annotation-xml"&&t&&t.encoding&&t.encoding.includes("html")?void 0:n}function R3({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function fo(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Rt(e,t,n=!1){const l=e.children,o=t.children;if(v1(l)&&v1(o))for(let r=0;r>1,e[n[a]]0&&(t[l]=n[r-1]),n[r]=l)}}for(r=n.length,s=n[r-1];r-- >0;)n[r]=s,s=t[s];return n}function J8(e){const t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:J8(t)}function p6(e){if(e)for(let t=0;te.__isSuspense;function ho(e,t){t&&t.pendingBranch?v1(e)?t.effects.push(...e):t.effects.push(e):kl(e)}const n1=Symbol.for("v-fgt"),a5=Symbol.for("v-txt"),A2=Symbol.for("v-cmt"),F4=Symbol.for("v-stc"),c3=[];let x2=null;function h(e=!1){c3.push(x2=e?null:[])}function Qt(){c3.pop(),x2=c3[c3.length-1]||null}let Ue=1;function $4(e,t=!1){Ue+=e,e<0&&x2&&t&&(x2.hasOnce=!0)}function X8(e){return e.dynamicChildren=Ue>0?x2||le:null,Qt(),Ue>0&&x2&&x2.push(e),e}function C(e,t,n,l,o,r){return X8(b(e,t,n,l,o,r,!0))}function G(e,t,n,l,o){return X8(I(e,t,n,l,o,!0))}function Je(e){return e?e.__v_isVNode===!0:!1}function L3(e,t){return e.type===t.type&&e.key===t.key}const q8=({key:e})=>e??null,B4=({ref:e,ref_key:t,ref_for:n})=>(typeof e=="number"&&(e=""+e),e!=null?T1(e)||n2(e)||I1(e)?{i:i2,r:e,k:t,f:!!n}:e:null);function b(e,t=null,n=null,l=0,o=null,r=e===n1?0:1,s=!1,a=!1){const i={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&q8(t),ref:t&&B4(t),scopeId:k8,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:r,patchFlag:l,dynamicProps:o,dynamicChildren:null,appContext:null,ctx:i2};return a?(W4(i,n),r&128&&e.normalize(i)):n&&(i.shapeFlag|=T1(n)?8:16),Ue>0&&!s&&x2&&(i.patchFlag>0||r&6)&&i.patchFlag!==32&&x2.push(i),i}const I=po;function po(e,t=null,n=null,l=0,o=null,r=!1){if((!e||e===S8)&&(e=A2),Je(e)){const a=E3(e,t,!0);return n&&W4(a,n),Ue>0&&!r&&x2&&(a.shapeFlag&6?x2[x2.indexOf(e)]=a:x2.push(a)),a.patchFlag=-2,a}if(Mo(e)&&(e=e.__vccOpts),t){t=mo(t);let{class:a,style:i}=t;a&&!T1(a)&&(t.class=f1(a)),G1(i)&&(Dt(i)&&!v1(i)&&(i=r2({},i)),t.style=S2(i))}const s=T1(e)?1:j8(e)?128:l5(e)?64:G1(e)?4:I1(e)?2:0;return b(e,t,n,l,o,s,r,!0)}function mo(e){return e?Dt(e)||P8(e)?r2({},e):e:null}function E3(e,t,n=!1,l=!1){const{props:o,ref:r,patchFlag:s,children:a,transition:i}=e,c=t?vo(o||{},t):o,d={__v_isVNode:!0,__v_skip:!0,type:e.type,props:c,key:c&&q8(c),ref:t&&t.ref?n&&r?v1(r)?r.concat(B4(t)):[r,B4(t)]:B4(t):r,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:a,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==n1?s===-1?16:s|16:s,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:i,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&E3(e.ssContent),ssFallback:e.ssFallback&&E3(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce};return i&&l&&Ye(d,i.clone(d)),d}function U(e=" ",t=0){return I(a5,null,e,t)}function go(e,t){const n=I(F4,null,e);return n.staticCount=t,n}function P(e="",t=!1){return t?(h(),G(A2,null,e)):I(A2,null,e)}function Y2(e){return e==null||typeof e=="boolean"?I(A2):v1(e)?I(n1,null,e.slice()):Je(e)?r3(e):I(a5,null,String(e))}function r3(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:E3(e)}function W4(e,t){let n=0;const{shapeFlag:l}=e;if(t==null)t=null;else if(v1(t))n=16;else if(typeof t=="object")if(l&65){const o=t.default;o&&(o._c&&(o._d=!1),W4(e,o()),o._c&&(o._d=!0));return}else{n=32;const o=t._;!o&&!P8(t)?t._ctx=i2:o===3&&i2&&(i2.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else if(I1(t)){if(l&65){W4(e,{default:t});return}t={default:t,_ctx:i2},n=32}else t=String(t),l&64?(n=16,t=[U(t)]):n=8;e.children=t,e.shapeFlag|=n}function vo(...e){const t={};for(let n=0;nh2||i2;let L4,ze;{const e=q4(),t=(n,l)=>{let o;return(o=e[n])||(o=e[n]=[]),o.push(l),r=>{o.length>1?o.forEach(s=>s(r)):o[0](r)}};L4=t("__VUE_INSTANCE_SETTERS__",n=>h2=n),ze=t("__VUE_SSR_SETTERS__",n=>je=n)}const A4=e=>{const t=h2;return L4(e),e.scope.on(),()=>{e.scope.off(),L4(t)}},m6=()=>{h2&&h2.scope.off(),L4(null)};function t0(e){return e.vnode.shapeFlag&4}let je=!1;function Co(e,t=!1,n=!1){t&&ze(t);const{props:l,children:o}=e.vnode,r=t0(e);lo(e,l,r,t),ao(e,o,n||t);const s=r?wo(e,t):void 0;return t&&ze(!1),s}function wo(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,Ll);const{setup:l}=n;if(l){u3();const o=e.setupContext=l.length>1?_o(e):null,r=A4(e),s=d4(l,e,0,[e.props,o]),a=T7(s);if(d3(),r(),(a||e.sp)&&!re(e)&&Z8(e),a){if(s.then(m6,m6),t)return s.then(i=>{ze(!0);try{g6(e,i,t)}finally{ze(!1)}}).catch(i=>{n5(i,e,0)});e.asyncDep=s}else g6(e,s)}else n0(e)}function g6(e,t,n){I1(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:G1(t)&&(e.setupState=p8(t)),n0(e)}function n0(e,t,n){const l=e.type;e.render||(e.render=l.render||z2);{const o=A4(e);u3();try{Pl(e)}finally{d3(),o()}}}const xo={get(e,t){return f2(e,"get",""),e[t]}};function _o(e){const t=n=>{e.exposed=n||{}};return{attrs:new Proxy(e.attrs,xo),slots:e.slots,emit:e.emit,expose:t}}function i5(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(p8(dl(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in Ge)return Ge[n](e)},has(t,n){return n in t||n in Ge}})):e.proxy}function Io(e,t=!0){return I1(e)?e.displayName||e.name:e.name||t&&e.__name}function Mo(e){return I1(e)&&"__vccOpts"in e}const t1=(e,t)=>ml(e,t,je);function A3(e,t,n){try{$4(-1);const l=arguments.length;return l===2?G1(t)&&!v1(t)?Je(t)?I(e,null,[t]):I(e,t):I(e,null,t):(l>3?n=Array.prototype.slice.call(arguments,2):l===3&&Je(n)&&(n=[n]),I(e,t,n))}finally{$4(1)}}const Eo="3.5.42";/** -* @vue/runtime-dom v3.5.42 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let rt;const v6=typeof window<"u"&&window.trustedTypes;if(v6)try{rt=v6.createPolicy("vue",{createHTML:e=>e})}catch{}const l0=rt?e=>rt.createHTML(e):e=>e,Do="http://www.w3.org/2000/svg",Zo="http://www.w3.org/1998/Math/MathML",o3=typeof document<"u"?document:null,y6=o3&&o3.createElement("template"),Fo={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,l)=>{const o=t==="svg"?o3.createElementNS(Do,e):t==="mathml"?o3.createElementNS(Zo,e):n?o3.createElement(e,{is:n}):o3.createElement(e);return e==="select"&&l&&l.multiple!=null&&o.setAttribute("multiple",l.multiple),o},createText:e=>o3.createTextNode(e),createComment:e=>o3.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>o3.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,l,o,r){const s=n?n.previousSibling:t.lastChild;if(o&&(o===r||o.nextSibling))for(;t.insertBefore(o.cloneNode(!0),n),!(o===r||!(o=o.nextSibling)););else{y6.innerHTML=l0(l==="svg"?`${e}`:l==="mathml"?`${e}`:e);const a=y6.content;if(l==="svg"||l==="mathml"){const i=a.firstChild;for(;i.firstChild;)a.appendChild(i.firstChild);a.removeChild(i)}t.insertBefore(a,n)}return[s?s.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},y3="transition",Ce="animation",Xe=Symbol("_vtc"),o0={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Bo=r2({},_8,o0),So=e=>(e.displayName="Transition",e.props=Bo,e),r0=So((e,{slots:t})=>A3(Fl,Ro(e),t)),Q3=(e,t=[])=>{v1(e)?e.forEach(n=>n(...t)):e&&e(...t)},b6=e=>e?v1(e)?e.some(t=>t.length>1):e.length>1:!1;function Ro(e){const t={};for(const Y in e)Y in o0||(t[Y]=e[Y]);if(e.css===!1)return t;const{name:n="v",type:l,duration:o,enterFromClass:r=`${n}-enter-from`,enterActiveClass:s=`${n}-enter-active`,enterToClass:a=`${n}-enter-to`,appearFromClass:i=r,appearActiveClass:c=s,appearToClass:d=a,leaveFromClass:u=`${n}-leave-from`,leaveActiveClass:A=`${n}-leave-active`,leaveToClass:m=`${n}-leave-to`}=e,p=Qo(o),y=p&&p[0],k=p&&p[1],{onBeforeEnter:F,onEnter:M,onEnterCancelled:E,onLeave:_,onLeaveCancelled:R,onBeforeAppear:$=F,onAppear:D=M,onAppearCancelled:x=E}=t,Q=(Y,m1,w1,r1)=>{Y._enterCancelled=r1,N3(Y,m1?d:a),N3(Y,m1?c:s),w1&&w1()},B=(Y,m1)=>{Y._isLeaving=!1,N3(Y,u),N3(Y,m),N3(Y,A),m1&&m1()},X=Y=>(m1,w1)=>{const r1=Y?D:M,l1=()=>Q(m1,Y,w1);Q3(r1,[m1,l1]),k6(()=>{N3(m1,Y?i:r),t3(m1,Y?d:a),b6(r1)||C6(m1,l,y,l1)})};return r2(t,{onBeforeEnter(Y){Q3(F,[Y]),t3(Y,r),t3(Y,s)},onBeforeAppear(Y){Q3($,[Y]),t3(Y,i),t3(Y,c)},onEnter:X(!1),onAppear:X(!0),onLeave(Y,m1){Y._isLeaving=!0;const w1=()=>B(Y,m1);t3(Y,u),Y._enterCancelled?(t3(Y,A),_6(Y)):(_6(Y),t3(Y,A)),k6(()=>{Y._isLeaving&&(N3(Y,u),t3(Y,m),b6(_)||C6(Y,l,k,w1))}),Q3(_,[Y,w1])},onEnterCancelled(Y){Q(Y,!1,void 0,!0),Q3(E,[Y])},onAppearCancelled(Y){Q(Y,!0,void 0,!0),Q3(x,[Y])},onLeaveCancelled(Y){B(Y),Q3(R,[Y])}})}function Qo(e){if(e==null)return null;if(G1(e))return[M5(e.enter),M5(e.leave)];{const t=M5(e);return[t,t]}}function M5(e){return Gn(e)}function t3(e,t){t.split(/\s+/).forEach(n=>n&&e.classList.add(n)),(e[Xe]||(e[Xe]=new Set)).add(t)}function N3(e,t){t.split(/\s+/).forEach(l=>l&&e.classList.remove(l));const n=e[Xe];n&&(n.delete(t),n.size||(e[Xe]=void 0))}function k6(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let No=0;function C6(e,t,n,l){const o=e._endId=++No,r=()=>{o===e._endId&&l()};if(n!=null)return setTimeout(r,n);const{type:s,timeout:a,propCount:i}=Ko(e,t);if(!s)return l();const c=s+"end";let d=0;const u=()=>{e.removeEventListener(c,A),r()},A=m=>{m.target===e&&++d>=i&&u()};setTimeout(()=>{d(n[p]||"").split(", "),o=l(`${y3}Delay`),r=l(`${y3}Duration`),s=w6(o,r),a=l(`${Ce}Delay`),i=l(`${Ce}Duration`),c=w6(a,i);let d=null,u=0,A=0;t===y3?s>0&&(d=y3,u=s,A=r.length):t===Ce?c>0&&(d=Ce,u=c,A=i.length):(u=Math.max(s,c),d=u>0?s>c?y3:Ce:null,A=d?d===y3?r.length:i.length:0);const m=d===y3&&/\b(?:transform|all)(?:,|$)/.test(l(`${y3}Property`).toString());return{type:d,timeout:u,propCount:A,hasTransform:m}}function w6(e,t){for(;e.lengthx6(n)+x6(e[l])))}function x6(e){return e==="auto"?0:Number(e.slice(0,-1).replace(",","."))*1e3}function _6(e){return(e?e.ownerDocument:document).body.offsetHeight}function Go(e,t,n){const l=e[Xe];l&&(t=(t?[t,...l]:[...l]).join(" ")),t==null?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}const P4=Symbol("_vod"),s0=Symbol("_vsh"),Oo={name:"show",beforeMount(e,{value:t},{transition:n}){e[P4]=e.style.display==="none"?"":e.style.display,n&&t?n.beforeEnter(e):we(e,t)},mounted(e,{value:t},{transition:n}){n&&t&&n.enter(e)},updated(e,{value:t,oldValue:n},{transition:l}){!t!=!n&&(l?t?(l.beforeEnter(e),we(e,!0),l.enter(e)):l.leave(e,()=>{we(e,!1)}):we(e,t))},beforeUnmount(e,{value:t}){we(e,t)}};function we(e,t){e.style.display=t?e[P4]:"none",e[s0]=!t}const $o=Symbol(""),Wo=/(?:^|;)\s*display\s*:/;function Lo(e,t,n){const l=e.style,o=T1(n);let r=!1;if(n&&!o){if(t)if(T1(t))for(const s of t.split(";")){const a=s.slice(0,s.indexOf(":")).trim();n[a]==null&&Be(l,a,"")}else for(const s in t)n[s]==null&&Be(l,s,"");for(const s in n){s==="display"&&(r=!0);const a=n[s];a!=null?Ho(e,s,!T1(t)&&t?t[s]:void 0,a)||Be(l,s,a):Be(l,s,"")}}else if(o){if(t!==n){const s=l[$o];s&&(n+=";"+s),l.cssText=n,r=Wo.test(n)}}else t&&e.removeAttribute("style");P4 in e&&(e[P4]=r?l.display:"",e[s0]&&(l.display="none"))}const b4=/\s*!important$/;function Be(e,t,n){if(v1(n))n.forEach(l=>Be(e,t,l));else if(n==null&&(n=""),t.startsWith("--"))b4.test(n)?e.setProperty(t,n.replace(b4,""),"important"):e.setProperty(t,n);else{const l=Po(e,t);b4.test(n)?e.setProperty(Z3(l),n.replace(b4,""),"important"):e[l]=n}}const I6=["Webkit","Moz","ms"],E5={};function Po(e,t){const n=E5[t];if(n)return n;let l=b2(t);if(l!=="filter"&&l in e)return E5[t]=l;l=X4(l);for(let o=0;oD5||(zo.then(()=>D5=0),D5=Date.now());function Xo(e,t){const n=l=>{if(!l._vts)l._vts=Date.now();else if(l._vts<=n.attached)return;const o=n.value;if(v1(o)){const r=l.stopImmediatePropagation;l.stopImmediatePropagation=()=>{r.call(l),l._stopped=!0};const s=o.slice(),a=[l];for(let i=0;ie.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,qo=(e,t,n,l,o,r)=>{const s=o==="svg";t==="class"?Go(e,l,s):t==="style"?Lo(e,n,l):J4(t)?z4(t)||Yo(e,t,n,l,r):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):er(e,t,l,s))?(D6(e,t,l),!e.tagName.includes("-")&&(t==="value"||t==="checked"||t==="selected")&&E6(e,t,l,s,r,t!=="value")):e._isVueCE&&(tr(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!T1(l)))?D6(e,b2(t),l,r,t):(t==="true-value"?e._trueValue=l:t==="false-value"&&(e._falseValue=l),E6(e,t,l,s))};function er(e,t,n,l){if(l)return!!(t==="innerHTML"||t==="textContent"||t in e&&F6(t)&&I1(n));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="autocorrect"||t==="sandbox"&&e.tagName==="IFRAME"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const o=e.tagName;if(o==="IMG"||o==="VIDEO"||o==="CANVAS"||o==="SOURCE")return!1}return F6(t)&&T1(n)?!1:t in e}function tr(e,t){const n=e._def.props;if(!n)return!1;const l=b2(t);return Array.isArray(n)?n.some(o=>b2(o)===l):Object.keys(n).some(o=>b2(o)===l)}const H4=e=>{const t=e.props["onUpdate:modelValue"]||!1;return v1(t)?n=>D4(t,n):t};function nr(e){e.target.composing=!0}function B6(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const H3=Symbol("_assign"),k4=Symbol("_initialValue");function Z5(e,t,n){return t&&(e=e.trim()),n&&(e=Ct(e)),e}const S6={created(e,{modifiers:{lazy:t,trim:n,number:l}},o){e.parentNode&&(e.type==="text"?e[k4]=e.defaultValue.replace(/[\r\n]/g,""):e.type==="textarea"&&(e[k4]=e.defaultValue.replace(/\r\n?/g,` -`))),e[H3]=H4(o);const r=l||o.props&&o.props.type==="number";P3(e,t?"change":"input",s=>{s.target.composing||e[H3](Z5(e.value,n,r))}),(n||r)&&P3(e,"change",()=>{e.value=Z5(e.value,n,r)}),t||(P3(e,"compositionstart",nr),P3(e,"compositionend",B6),P3(e,"change",B6))},mounted(e,{value:t,modifiers:{trim:n,number:l}}){const o=t??"",r=e[k4];delete e[k4],r!==void 0&&(e.type==="text"||e.type==="textarea")&&e.value!==r?e[H3](Z5(e.value,n,l)):e.value=o},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:l,trim:o,number:r}},s){if(e[H3]=H4(s),e.composing)return;const a=(r||e.type==="number")&&!/^0\d/.test(e.value)?Ct(e.value):e.value,i=t??"";if(a===i)return;const c=e.getRootNode();(c instanceof Document||c instanceof ShadowRoot)&&c.activeElement===e&&e.type!=="range"&&(l&&t===n||o&&e.value.trim()===i)||(e.value=i)}},a0={deep:!0,created(e,t,n){e[H3]=H4(n),P3(e,"change",()=>{const l=e._modelValue,o=lr(e),r=e.checked,s=e[H3];if(v1(l)){const a=z7(l,o),i=a!==-1;if(r&&!i)s(l.concat(o));else if(!r&&i){const c=[...l];c.splice(a,1),s(c)}}else if(ie(l)){const a=new Set(l);r?a.add(o):a.delete(o),s(a)}else s(i0(e,r))})},mounted:R6,beforeUpdate(e,t,n){e[H3]=H4(n),R6(e,t,n)}};function R6(e,{value:t,oldValue:n},l){e._modelValue=t;let o;if(v1(t))o=z7(t,l.props.value)>-1;else if(ie(t))o=t.has(l.props.value);else{if(t===n)return;o=pe(t,i0(e,!0))}e.checked!==o&&(e.checked=o)}function lr(e){return"_value"in e?e._value:e.value}function i0(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const or=["ctrl","shift","alt","meta"],rr={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&e.button!==0,middle:e=>"button"in e&&e.button!==1,right:e=>"button"in e&&e.button!==2,exact:(e,t)=>or.some(n=>e[`${n}Key`]&&!t.includes(n))},qe=(e,t)=>{if(!e)return e;const n=e._withMods||(e._withMods={}),l=t.join(".");return n[l]||(n[l]=((o,...r)=>{for(let s=0;s{const n=e._withKeys||(e._withKeys={}),l=t.join(".");return n[l]||(n[l]=(o=>{if(!("key"in o))return;const r=Z3(o.key);if(t.some(s=>s===r||sr[s]===r))return e(o)}))},ir=r2({patchProp:qo},Fo);let Q6;function cr(){return Q6||(Q6=co(ir))}const ur=((...e)=>{const t=cr().createApp(...e),{mount:n}=t;return t.mount=l=>{const o=fr(l);if(!o)return;const r=t._component;!I1(r)&&!r.render&&!r.template&&(r.template=o.innerHTML),o.nodeType===1&&(o.textContent="");const s=n(o,!1,dr(o));return o instanceof Element&&(o.removeAttribute("v-cloak"),o.setAttribute("data-v-app","")),s},t});function dr(e){if(e instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&e instanceof MathMLElement)return"mathml"}function fr(e){return T1(e)?document.querySelector(e):e}/*! - * vue-router v4.6.4 - * (c) 2025 Eduardo San Martin Morote - * @license MIT - */const ne=typeof document<"u";function c0(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function Ar(e){return e.__esModule||e[Symbol.toStringTag]==="Module"||e.default&&c0(e.default)}const Q1=Object.assign;function F5(e,t){const n={};for(const l in t){const o=t[l];n[l]=$2(o)?o.map(e):e(o)}return n}const Oe=()=>{},$2=Array.isArray;function N6(e,t){const n={};for(const l in e)n[l]=l in t?t[l]:e[l];return n}const u0=/#/g,hr=/&/g,pr=/\//g,mr=/=/g,gr=/\?/g,d0=/\+/g,vr=/%5B/g,yr=/%5D/g,f0=/%5E/g,br=/%60/g,A0=/%7B/g,kr=/%7C/g,h0=/%7D/g,Cr=/%20/g;function Nt(e){return e==null?"":encodeURI(""+e).replace(kr,"|").replace(vr,"[").replace(yr,"]")}function wr(e){return Nt(e).replace(A0,"{").replace(h0,"}").replace(f0,"^")}function st(e){return Nt(e).replace(d0,"%2B").replace(Cr,"+").replace(u0,"%23").replace(hr,"%26").replace(br,"`").replace(A0,"{").replace(h0,"}").replace(f0,"^")}function xr(e){return st(e).replace(mr,"%3D")}function _r(e){return Nt(e).replace(u0,"%23").replace(gr,"%3F")}function Ir(e){return _r(e).replace(pr,"%2F")}function e4(e){if(e==null)return null;try{return decodeURIComponent(""+e)}catch{}return""+e}const Mr=/\/$/,Er=e=>e.replace(Mr,"");function B5(e,t,n="/"){let l,o={},r="",s="";const a=t.indexOf("#");let i=t.indexOf("?");return i=a>=0&&i>a?-1:i,i>=0&&(l=t.slice(0,i),r=t.slice(i,a>0?a:t.length),o=e(r.slice(1))),a>=0&&(l=l||t.slice(0,a),s=t.slice(a,t.length)),l=Br(l??t,n),{fullPath:l+r+s,path:l,query:o,hash:e4(s)}}function Dr(e,t){const n=t.query?e(t.query):"";return t.path+(n&&"?")+n+(t.hash||"")}function K6(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Zr(e,t,n){const l=t.matched.length-1,o=n.matched.length-1;return l>-1&&l===o&&ue(t.matched[l],n.matched[o])&&p0(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function ue(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function p0(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!Fr(e[n],t[n]))return!1;return!0}function Fr(e,t){return $2(e)?G6(e,t):$2(t)?G6(t,e):(e==null?void 0:e.valueOf())===(t==null?void 0:t.valueOf())}function G6(e,t){return $2(t)?e.length===t.length&&e.every((n,l)=>n===t[l]):e.length===1&&e[0]===t}function Br(e,t){if(e.startsWith("/"))return e;if(!e)return t;const n=t.split("/"),l=e.split("/"),o=l[l.length-1];(o===".."||o===".")&&l.push("");let r=n.length-1,s,a;for(s=0;s1&&r--;else break;return n.slice(0,r).join("/")+"/"+l.slice(s).join("/")}const b3={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};let at=(function(e){return e.pop="pop",e.push="push",e})({}),S5=(function(e){return e.back="back",e.forward="forward",e.unknown="",e})({});function Sr(e){if(!e)if(ne){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Er(e)}const Rr=/^[^#]+#/;function Qr(e,t){return e.replace(Rr,"#")+t}function Nr(e,t){const n=document.documentElement.getBoundingClientRect(),l=e.getBoundingClientRect();return{behavior:t.behavior,left:l.left-n.left-(t.left||0),top:l.top-n.top-(t.top||0)}}const c5=()=>({left:window.scrollX,top:window.scrollY});function Kr(e){let t;if("el"in e){const n=e.el,l=typeof n=="string"&&n.startsWith("#"),o=typeof n=="string"?l?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!o)return;t=Nr(o,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.scrollX,t.top!=null?t.top:window.scrollY)}function O6(e,t){return(history.state?history.state.position-t:-1)+e}const it=new Map;function Gr(e,t){it.set(e,t)}function Or(e){const t=it.get(e);return it.delete(e),t}function $r(e){return typeof e=="string"||e&&typeof e=="object"}function m0(e){return typeof e=="string"||typeof e=="symbol"}let X1=(function(e){return e[e.MATCHER_NOT_FOUND=1]="MATCHER_NOT_FOUND",e[e.NAVIGATION_GUARD_REDIRECT=2]="NAVIGATION_GUARD_REDIRECT",e[e.NAVIGATION_ABORTED=4]="NAVIGATION_ABORTED",e[e.NAVIGATION_CANCELLED=8]="NAVIGATION_CANCELLED",e[e.NAVIGATION_DUPLICATED=16]="NAVIGATION_DUPLICATED",e})({});const g0=Symbol("");X1.MATCHER_NOT_FOUND+"",X1.NAVIGATION_GUARD_REDIRECT+"",X1.NAVIGATION_ABORTED+"",X1.NAVIGATION_CANCELLED+"",X1.NAVIGATION_DUPLICATED+"";function de(e,t){return Q1(new Error,{type:e,[g0]:!0},t)}function n3(e,t){return e instanceof Error&&g0 in e&&(t==null||!!(e.type&t))}const Wr=["params","query","hash"];function Lr(e){if(typeof e=="string")return e;if(e.path!=null)return e.path;const t={};for(const n of Wr)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}function Pr(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let l=0;lo&&st(o)):[l&&st(l)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+n,o!=null&&(t+="="+o))})}return t}function Hr(e){const t={};for(const n in e){const l=e[n];l!==void 0&&(t[n]=$2(l)?l.map(o=>o==null?null:""+o):l==null?l:""+l)}return t}const Tr=Symbol(""),W6=Symbol(""),u5=Symbol(""),Kt=Symbol(""),ct=Symbol("");function xe(){let e=[];function t(l){return e.push(l),()=>{const o=e.indexOf(l);o>-1&&e.splice(o,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function x3(e,t,n,l,o,r=s=>s()){const s=l&&(l.enterCallbacks[o]=l.enterCallbacks[o]||[]);return()=>new Promise((a,i)=>{const c=A=>{A===!1?i(de(X1.NAVIGATION_ABORTED,{from:n,to:t})):A instanceof Error?i(A):$r(A)?i(de(X1.NAVIGATION_GUARD_REDIRECT,{from:t,to:A})):(s&&l.enterCallbacks[o]===s&&typeof A=="function"&&s.push(A),a())},d=r(()=>e.call(l&&l.instances[o],t,n,c));let u=Promise.resolve(d);e.length<3&&(u=u.then(c)),u.catch(A=>i(A))})}function R5(e,t,n,l,o=r=>r()){const r=[];for(const s of e)for(const a in s.components){let i=s.components[a];if(!(t!=="beforeRouteEnter"&&!s.instances[a]))if(c0(i)){const c=(i.__vccOpts||i)[t];c&&r.push(x3(c,n,l,s,a,o))}else{let c=i();r.push(()=>c.then(d=>{if(!d)throw new Error(`Couldn't resolve component "${a}" at "${s.path}"`);const u=Ar(d)?d.default:d;s.mods[a]=d,s.components[a]=u;const A=(u.__vccOpts||u)[t];return A&&x3(A,n,l,s,a,o)()}))}}return r}function Yr(e,t){const n=[],l=[],o=[],r=Math.max(t.matched.length,e.matched.length);for(let s=0;sue(c,a))?l.push(a):n.push(a));const i=e.matched[s];i&&(t.matched.find(c=>ue(c,i))||o.push(i))}return[n,l,o]}/*! - * vue-router v4.6.4 - * (c) 2025 Eduardo San Martin Morote - * @license MIT - */let Vr=()=>location.protocol+"//"+location.host;function v0(e,t){const{pathname:n,search:l,hash:o}=t,r=e.indexOf("#");if(r>-1){let s=o.includes(e.slice(r))?e.slice(r).length:1,a=o.slice(s);return a[0]!=="/"&&(a="/"+a),K6(a,"")}return K6(n,e)+l+o}function Ur(e,t,n,l){let o=[],r=[],s=null;const a=({state:A})=>{const m=v0(e,location),p=n.value,y=t.value;let k=0;if(A){if(n.value=m,t.value=A,s&&s===p){s=null;return}k=y?A.position-y.position:0}else l(m);o.forEach(F=>{F(n.value,p,{delta:k,type:at.pop,direction:k?k>0?S5.forward:S5.back:S5.unknown})})};function i(){s=n.value}function c(A){o.push(A);const m=()=>{const p=o.indexOf(A);p>-1&&o.splice(p,1)};return r.push(m),m}function d(){if(document.visibilityState==="hidden"){const{history:A}=window;if(!A.state)return;A.replaceState(Q1({},A.state,{scroll:c5()}),"")}}function u(){for(const A of r)A();r=[],window.removeEventListener("popstate",a),window.removeEventListener("pagehide",d),document.removeEventListener("visibilitychange",d)}return window.addEventListener("popstate",a),window.addEventListener("pagehide",d),document.addEventListener("visibilitychange",d),{pauseListeners:i,listen:c,destroy:u}}function L6(e,t,n,l=!1,o=!1){return{back:e,current:t,forward:n,replaced:l,position:window.history.length,scroll:o?c5():null}}function Jr(e){const{history:t,location:n}=window,l={value:v0(e,n)},o={value:t.state};o.value||r(l.value,{back:null,current:l.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function r(i,c,d){const u=e.indexOf("#"),A=u>-1?(n.host&&document.querySelector("base")?e:e.slice(u))+i:Vr()+e+i;try{t[d?"replaceState":"pushState"](c,"",A),o.value=c}catch(m){console.error(m),n[d?"replace":"assign"](A)}}function s(i,c){r(i,Q1({},t.state,L6(o.value.back,i,o.value.forward,!0),c,{position:o.value.position}),!0),l.value=i}function a(i,c){const d=Q1({},o.value,t.state,{forward:i,scroll:c5()});r(d.current,d,!0),r(i,Q1({},L6(l.value,i,null),{position:d.position+1},c),!1),l.value=i}return{location:l,state:o,push:a,replace:s}}function zr(e){e=Sr(e);const t=Jr(e),n=Ur(e,t.state,t.location,t.replace);function l(r,s=!0){s||n.pauseListeners(),history.go(r)}const o=Q1({location:"",base:e,go:l,createHref:Qr.bind(null,e)},t,n);return Object.defineProperty(o,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(o,"state",{enumerable:!0,get:()=>t.state.value}),o}let T3=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({});var o2=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(o2||{});const jr={type:T3.Static,value:""},Xr=/[a-zA-Z0-9_]/;function qr(e){if(!e)return[[]];if(e==="/")return[[jr]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(m){throw new Error(`ERR (${n})/"${c}": ${m}`)}let n=o2.Static,l=n;const o=[];let r;function s(){r&&o.push(r),r=[]}let a=0,i,c="",d="";function u(){c&&(n===o2.Static?r.push({type:T3.Static,value:c}):n===o2.Param||n===o2.ParamRegExp||n===o2.ParamRegExpEnd?(r.length>1&&(i==="*"||i==="+")&&t(`A repeatable param (${c}) must be alone in its segment. eg: '/:ids+.`),r.push({type:T3.Param,value:c,regexp:d,repeatable:i==="*"||i==="+",optional:i==="*"||i==="?"})):t("Invalid state to consume buffer"),c="")}function A(){c+=i}for(;at.length?t.length===1&&t[0]===v2.Static+v2.Segment?1:-1:0}function y0(e,t){let n=0;const l=e.score,o=t.score;for(;n0&&t[t.length-1]<0}const os={strict:!1,end:!0,sensitive:!1};function rs(e,t,n){const l=ns(qr(e.path),n),o=Q1(l,{record:e,parent:t,children:[],alias:[]});return t&&!o.record.aliasOf==!t.record.aliasOf&&t.children.push(o),o}function ss(e,t){const n=[],l=new Map;t=N6(os,t);function o(u){return l.get(u)}function r(u,A,m){const p=!m,y=Y6(u);y.aliasOf=m&&m.record;const k=N6(t,u),F=[y];if("alias"in u){const _=typeof u.alias=="string"?[u.alias]:u.alias;for(const R of _)F.push(Y6(Q1({},y,{components:m?m.record.components:y.components,path:R,aliasOf:m?m.record:y})))}let M,E;for(const _ of F){const{path:R}=_;if(A&&R[0]!=="/"){const $=A.record.path,D=$[$.length-1]==="/"?"":"/";_.path=A.record.path+(R&&D+R)}if(M=rs(_,A,k),m?m.alias.push(M):(E=E||M,E!==M&&E.alias.push(M),p&&u.name&&!V6(M)&&s(u.name)),b0(M)&&i(M),y.children){const $=y.children;for(let D=0;D<$.length;D++)r($[D],M,m&&m.children[D])}m=m||M}return E?()=>{s(E)}:Oe}function s(u){if(m0(u)){const A=l.get(u);A&&(l.delete(u),n.splice(n.indexOf(A),1),A.children.forEach(s),A.alias.forEach(s))}else{const A=n.indexOf(u);A>-1&&(n.splice(A,1),u.record.name&&l.delete(u.record.name),u.children.forEach(s),u.alias.forEach(s))}}function a(){return n}function i(u){const A=cs(u,n);n.splice(A,0,u),u.record.name&&!V6(u)&&l.set(u.record.name,u)}function c(u,A){let m,p={},y,k;if("name"in u&&u.name){if(m=l.get(u.name),!m)throw de(X1.MATCHER_NOT_FOUND,{location:u});k=m.record.name,p=Q1(T6(A.params,m.keys.filter(E=>!E.optional).concat(m.parent?m.parent.keys.filter(E=>E.optional):[]).map(E=>E.name)),u.params&&T6(u.params,m.keys.map(E=>E.name))),y=m.stringify(p)}else if(u.path!=null)y=u.path,m=n.find(E=>E.re.test(y)),m&&(p=m.parse(y),k=m.record.name);else{if(m=A.name?l.get(A.name):n.find(E=>E.re.test(A.path)),!m)throw de(X1.MATCHER_NOT_FOUND,{location:u,currentLocation:A});k=m.record.name,p=Q1({},A.params,u.params),y=m.stringify(p)}const F=[];let M=m;for(;M;)F.unshift(M.record),M=M.parent;return{name:k,path:y,params:p,matched:F,meta:is(F)}}e.forEach(u=>r(u));function d(){n.length=0,l.clear()}return{addRoute:r,resolve:c,removeRoute:s,clearRoutes:d,getRoutes:a,getRecordMatcher:o}}function T6(e,t){const n={};for(const l of t)l in e&&(n[l]=e[l]);return n}function Y6(e){const t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:as(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function as(e){const t={},n=e.props||!1;if("component"in e)t.default=n;else for(const l in e.components)t[l]=typeof n=="object"?n[l]:n;return t}function V6(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function is(e){return e.reduce((t,n)=>Q1(t,n.meta),{})}function cs(e,t){let n=0,l=t.length;for(;n!==l;){const r=n+l>>1;y0(e,t[r])<0?l=r:n=r+1}const o=us(e);return o&&(l=t.lastIndexOf(o,l-1)),l}function us(e){let t=e;for(;t=t.parent;)if(b0(t)&&y0(e,t)===0)return t}function b0({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function U6(e){const t=K2(u5),n=K2(Kt),l=t1(()=>{const i=f(e.to);return t.resolve(i)}),o=t1(()=>{const{matched:i}=l.value,{length:c}=i,d=i[c-1],u=n.matched;if(!d||!u.length)return-1;const A=u.findIndex(ue.bind(null,d));if(A>-1)return A;const m=J6(i[c-2]);return c>1&&J6(d)===m&&u[u.length-1].path!==m?u.findIndex(ue.bind(null,i[c-2])):A}),r=t1(()=>o.value>-1&&ps(n.params,l.value.params)),s=t1(()=>o.value>-1&&o.value===n.matched.length-1&&p0(n.params,l.value.params));function a(i={}){if(hs(i)){const c=t[f(e.replace)?"replace":"push"](f(e.to)).catch(Oe);return e.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>c),c}return Promise.resolve()}return{route:l,href:t1(()=>l.value.href),isActive:r,isExactActive:s,navigate:a}}function ds(e){return e.length===1?e[0]:e}const fs=$1({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"},viewTransition:Boolean},useLink:U6,setup(e,{slots:t}){const n=t5(U6(e)),{options:l}=K2(u5),o=t1(()=>({[z6(e.activeClass,l.linkActiveClass,"router-link-active")]:n.isActive,[z6(e.exactActiveClass,l.linkExactActiveClass,"router-link-exact-active")]:n.isExactActive}));return()=>{const r=t.default&&ds(t.default(n));return e.custom?r:A3("a",{"aria-current":n.isExactActive?e.ariaCurrentValue:null,href:n.href,onClick:n.navigate,class:o.value},r)}}}),As=fs;function hs(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function ps(e,t){for(const n in t){const l=t[n],o=e[n];if(typeof l=="string"){if(l!==o)return!1}else if(!$2(o)||o.length!==l.length||l.some((r,s)=>r.valueOf()!==o[s].valueOf()))return!1}return!0}function J6(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const z6=(e,t,n)=>e??t??n,ms=$1({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:n}){const l=K2(ct),o=t1(()=>e.route||l.value),r=K2(W6,0),s=t1(()=>{let c=f(r);const{matched:d}=o.value;let u;for(;(u=d[c])&&!u.components;)c++;return c}),a=t1(()=>o.value.matched[s.value]);Z4(W6,t1(()=>s.value+1)),Z4(Tr,a),Z4(ct,o);const i=z();return t2(()=>[i.value,a.value,e.name],([c,d,u],[A,m,p])=>{d&&(d.instances[u]=c,m&&m!==d&&c&&c===A&&(d.leaveGuards.size||(d.leaveGuards=m.leaveGuards),d.updateGuards.size||(d.updateGuards=m.updateGuards))),c&&d&&(!m||!ue(d,m)||!A)&&(d.enterCallbacks[u]||[]).forEach(y=>y(c))},{flush:"post"}),()=>{const c=o.value,d=e.name,u=a.value,A=u&&u.components[d];if(!A)return j6(n.default,{Component:A,route:c});const m=u.props[d],p=m?m===!0?c.params:typeof m=="function"?m(c):m:null,k=A3(A,Q1({},p,t,{onVnodeUnmounted:F=>{F.component.isUnmounted&&(u.instances[d]=null)},ref:i}));return j6(n.default,{Component:k,route:c})||k}}});function j6(e,t){if(!e)return null;const n=e(t);return n.length===1?n[0]:n}const gs=ms;function vs(e){const t=ss(e.routes,e),n=e.parseQuery||Pr,l=e.stringifyQuery||$6,o=e.history,r=xe(),s=xe(),a=xe(),i=fl(b3);let c=b3;ne&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const d=F5.bind(null,S=>""+S),u=F5.bind(null,Ir),A=F5.bind(null,e4);function m(S,o1){let J,A1;return m0(S)?(J=t.getRecordMatcher(S),A1=o1):A1=S,t.addRoute(A1,J)}function p(S){const o1=t.getRecordMatcher(S);o1&&t.removeRoute(o1)}function y(){return t.getRoutes().map(S=>S.record)}function k(S){return!!t.getRecordMatcher(S)}function F(S,o1){if(o1=Q1({},o1||i.value),typeof S=="string"){const Z=B5(n,S,o1.path),L=t.resolve({path:Z.path},o1),T=o.createHref(Z.fullPath);return Q1(Z,L,{params:A(L.params),hash:e4(Z.hash),redirectedFrom:void 0,href:T})}let J;if(S.path!=null)J=Q1({},S,{path:B5(n,S.path,o1.path).path});else{const Z=Q1({},S.params);for(const L in Z)Z[L]==null&&delete Z[L];J=Q1({},S,{params:u(Z)}),o1.params=u(o1.params)}const A1=t.resolve(J,o1),x1=S.hash||"";A1.params=d(A(A1.params));const g=Dr(l,Q1({},S,{hash:wr(x1),path:A1.path})),v=o.createHref(g);return Q1({fullPath:g,hash:x1,query:l===$6?Hr(S.query):S.query||{}},A1,{redirectedFrom:void 0,href:v})}function M(S){return typeof S=="string"?B5(n,S,i.value.path):Q1({},S)}function E(S,o1){if(c!==S)return de(X1.NAVIGATION_CANCELLED,{from:o1,to:S})}function _(S){return D(S)}function R(S){return _(Q1(M(S),{replace:!0}))}function $(S,o1){const J=S.matched[S.matched.length-1];if(J&&J.redirect){const{redirect:A1}=J;let x1=typeof A1=="function"?A1(S,o1):A1;return typeof x1=="string"&&(x1=x1.includes("?")||x1.includes("#")?x1=M(x1):{path:x1},x1.params={}),Q1({query:S.query,hash:S.hash,params:x1.path!=null?{}:S.params},x1)}}function D(S,o1){const J=c=F(S),A1=i.value,x1=S.state,g=S.force,v=S.replace===!0,Z=$(J,A1);if(Z)return D(Q1(M(Z),{state:typeof Z=="object"?Q1({},x1,Z.state):x1,force:g,replace:v}),o1||J);const L=J;L.redirectedFrom=o1;let T;return!g&&Zr(l,A1,J)&&(T=de(X1.NAVIGATION_DUPLICATED,{to:L,from:A1}),L1(A1,A1,!0,!1)),(T?Promise.resolve(T):B(L,A1)).catch(W=>n3(W)?n3(W,X1.NAVIGATION_GUARD_REDIRECT)?W:c1(W):y1(W,L,A1)).then(W=>{if(W){if(n3(W,X1.NAVIGATION_GUARD_REDIRECT))return D(Q1({replace:v},M(W.to),{state:typeof W.to=="object"?Q1({},x1,W.to.state):x1,force:g}),o1||L)}else W=Y(L,A1,!0,v,x1);return X(L,A1,W),W})}function x(S,o1){const J=E(S,o1);return J?Promise.reject(J):Promise.resolve()}function Q(S){const o1=q1.values().next().value;return o1&&typeof o1.runWithContext=="function"?o1.runWithContext(S):S()}function B(S,o1){let J;const[A1,x1,g]=Yr(S,o1);J=R5(A1.reverse(),"beforeRouteLeave",S,o1);for(const Z of A1)Z.leaveGuards.forEach(L=>{J.push(x3(L,S,o1))});const v=x.bind(null,S,o1);return J.push(v),q(J).then(()=>{J=[];for(const Z of r.list())J.push(x3(Z,S,o1));return J.push(v),q(J)}).then(()=>{J=R5(x1,"beforeRouteUpdate",S,o1);for(const Z of x1)Z.updateGuards.forEach(L=>{J.push(x3(L,S,o1))});return J.push(v),q(J)}).then(()=>{J=[];for(const Z of g)if(Z.beforeEnter)if($2(Z.beforeEnter))for(const L of Z.beforeEnter)J.push(x3(L,S,o1));else J.push(x3(Z.beforeEnter,S,o1));return J.push(v),q(J)}).then(()=>(S.matched.forEach(Z=>Z.enterCallbacks={}),J=R5(g,"beforeRouteEnter",S,o1,Q),J.push(v),q(J))).then(()=>{J=[];for(const Z of s.list())J.push(x3(Z,S,o1));return J.push(v),q(J)}).catch(Z=>n3(Z,X1.NAVIGATION_CANCELLED)?Z:Promise.reject(Z))}function X(S,o1,J){a.list().forEach(A1=>Q(()=>A1(S,o1,J)))}function Y(S,o1,J,A1,x1){const g=E(S,o1);if(g)return g;const v=o1===b3,Z=ne?history.state:{};J&&(A1||v?o.replace(S.fullPath,Q1({scroll:v&&Z&&Z.scroll},x1)):o.push(S.fullPath,x1)),i.value=S,L1(S,o1,J,v),c1()}let m1;function w1(){m1||(m1=o.listen((S,o1,J)=>{if(!s1.listening)return;const A1=F(S),x1=$(A1,s1.currentRoute.value);if(x1){D(Q1(x1,{replace:!0,force:!0}),A1).catch(Oe);return}c=A1;const g=i.value;ne&&Gr(O6(g.fullPath,J.delta),c5()),B(A1,g).catch(v=>n3(v,X1.NAVIGATION_ABORTED|X1.NAVIGATION_CANCELLED)?v:n3(v,X1.NAVIGATION_GUARD_REDIRECT)?(D(Q1(M(v.to),{force:!0}),A1).then(Z=>{n3(Z,X1.NAVIGATION_ABORTED|X1.NAVIGATION_DUPLICATED)&&!J.delta&&J.type===at.pop&&o.go(-1,!1)}).catch(Oe),Promise.reject()):(J.delta&&o.go(-J.delta,!1),y1(v,A1,g))).then(v=>{v=v||Y(A1,g,!1),v&&(J.delta&&!n3(v,X1.NAVIGATION_CANCELLED)?o.go(-J.delta,!1):J.type===at.pop&&n3(v,X1.NAVIGATION_ABORTED|X1.NAVIGATION_DUPLICATED)&&o.go(-1,!1)),X(A1,g,v)}).catch(Oe)}))}let r1=xe(),l1=xe(),b1;function y1(S,o1,J){c1(S);const A1=l1.list();return A1.length?A1.forEach(x1=>x1(S,o1,J)):console.error(S),Promise.reject(S)}function k1(){return b1&&i.value!==b3?Promise.resolve():new Promise((S,o1)=>{r1.add([S,o1])})}function c1(S){return b1||(b1=!S,w1(),r1.list().forEach(([o1,J])=>S?J(S):o1()),r1.reset()),S}function L1(S,o1,J,A1){const{scrollBehavior:x1}=e;if(!ne||!x1)return Promise.resolve();const g=!J&&Or(O6(S.fullPath,0))||(A1||!J)&&history.state&&history.state.scroll||null;return g8().then(()=>x1(S,o1,g)).then(v=>v&&Kr(v)).catch(v=>y1(v,S,o1))}const S1=S=>o.go(S);let Y1;const q1=new Set,s1={currentRoute:i,listening:!0,addRoute:m,removeRoute:p,clearRoutes:t.clearRoutes,hasRoute:k,getRoutes:y,resolve:F,options:e,push:_,replace:R,go:S1,back:()=>S1(-1),forward:()=>S1(1),beforeEach:r.add,beforeResolve:s.add,afterEach:a.add,onError:l1.add,isReady:k1,install(S){S.component("RouterLink",As),S.component("RouterView",gs),S.config.globalProperties.$router=s1,Object.defineProperty(S.config.globalProperties,"$route",{enumerable:!0,get:()=>f(i)}),ne&&!Y1&&i.value===b3&&(Y1=!0,_(o.location).catch(A1=>{}));const o1={};for(const A1 in b3)Object.defineProperty(o1,A1,{get:()=>i.value[A1],enumerable:!0});S.provide(u5,s1),S.provide(Kt,A8(o1)),S.provide(ct,i);const J=S.unmount;q1.add(S),S.unmount=function(){q1.delete(S),q1.size<1&&(c=b3,m1&&m1(),m1=null,i.value=b3,Y1=!1,b1=!1),J()}}};function q(S){return S.reduce((o1,J)=>o1.then(()=>Q(J)),Promise.resolve())}return s1}function me(){return K2(u5)}function d5(e){return K2(Kt)}function k0(e){var t,n,l="";if(typeof e=="string"||typeof e=="number")l+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t{const n=new Array(e.length+t.length);for(let l=0;l({classGroupId:e,validator:t}),w0=(e=new Map,t=null,n)=>({nextPart:e,validators:t,classGroupId:n}),T4="-",X6=[],ks="arbitrary..",Cs=e=>{const t=xs(e),{conflictingClassGroups:n,conflictingClassGroupModifiers:l}=e;return{getClassGroupId:s=>{if(s.startsWith("[")&&s.endsWith("]"))return ws(s);const a=s.split(T4),i=a[0]===""&&a.length>1?1:0;return x0(a,i,t)},getConflictingClassGroupIds:(s,a)=>{if(a){const i=l[s],c=n[s];return i?c?ys(c,i):i:c||X6}return n[s]||X6}}},x0=(e,t,n)=>{if(e.length-t===0)return n.classGroupId;const o=e[t],r=n.nextPart.get(o);if(r){const c=x0(e,t+1,r);if(c)return c}const s=n.validators;if(s===null)return;const a=t===0?e.join(T4):e.slice(t).join(T4),i=s.length;for(let c=0;ce.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),n=t.indexOf(":"),l=t.slice(0,n);return l?ks+l:void 0})(),xs=e=>{const{theme:t,classGroups:n}=e;return _s(n,t)},_s=(e,t)=>{const n=w0();for(const l in e){const o=e[l];Gt(o,n,l,t)}return n},Gt=(e,t,n,l)=>{const o=e.length;for(let r=0;r{if(typeof e=="string"){Ms(e,t,n);return}if(typeof e=="function"){Es(e,t,n,l);return}Ds(e,t,n,l)},Ms=(e,t,n)=>{const l=e===""?t:_0(t,e);l.classGroupId=n},Es=(e,t,n,l)=>{if(Zs(e)){Gt(e(l),t,n,l);return}t.validators===null&&(t.validators=[]),t.validators.push(bs(n,e))},Ds=(e,t,n,l)=>{const o=Object.entries(e),r=o.length;for(let s=0;s{let n=e;const l=t.split(T4),o=l.length;for(let r=0;r"isThemeGetter"in e&&e.isThemeGetter===!0,Fs=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,n=Object.create(null),l=Object.create(null);const o=(r,s)=>{n[r]=s,t++,t>e&&(t=0,l=n,n=Object.create(null))};return{get(r){let s=n[r];if(s!==void 0)return s;if((s=l[r])!==void 0)return o(r,s),s},set(r,s){r in n?n[r]=s:o(r,s)}}},ut="!",q6=":",Bs=[],e7=(e,t,n,l,o)=>({modifiers:e,hasImportantModifier:t,baseClassName:n,maybePostfixModifierPosition:l,isExternal:o}),Ss=e=>{const{prefix:t,experimentalParseClassName:n}=e;let l=o=>{const r=[];let s=0,a=0,i=0,c;const d=o.length;for(let y=0;yi?c-i:void 0;return e7(r,m,A,p)};if(t){const o=t+q6,r=l;l=s=>s.startsWith(o)?r(s.slice(o.length)):e7(Bs,!1,s,void 0,!0)}if(n){const o=l;l=r=>n({className:r,parseClassName:o})}return l},Rs=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((n,l)=>{t.set(n,1e6+l)}),n=>{const l=[];let o=[];for(let r=0;r0&&(o.sort(),l.push(...o),o=[]),l.push(s)):o.push(s)}return o.length>0&&(o.sort(),l.push(...o)),l}},Qs=e=>({cache:Fs(e.cacheSize),parseClassName:Ss(e),sortModifiers:Rs(e),postfixLookupClassGroupIds:Ns(e),...Cs(e)}),Ns=e=>{const t=Object.create(null),n=e.postfixLookupClassGroups;if(n)for(let l=0;l{const{parseClassName:n,getClassGroupId:l,getConflictingClassGroupIds:o,sortModifiers:r,postfixLookupClassGroupIds:s}=t,a=[],i=e.trim().split(Ks);let c="";for(let d=i.length-1;d>=0;d-=1){const u=i[d],{isExternal:A,modifiers:m,hasImportantModifier:p,baseClassName:y,maybePostfixModifierPosition:k}=n(u);if(A){c=u+(c.length>0?" "+c:c);continue}let F=!!k,M;if(F){const D=y.substring(0,k);M=l(D);const x=M&&s[M]?l(y):void 0;x&&x!==M&&(M=x,F=!1)}else M=l(y);if(!M){if(!F){c=u+(c.length>0?" "+c:c);continue}if(M=l(y),!M){c=u+(c.length>0?" "+c:c);continue}F=!1}const E=m.length===0?"":m.length===1?m[0]:r(m).join(":"),_=p?E+ut:E,R=_+M;if(a.indexOf(R)>-1)continue;a.push(R);const $=o(M,F);for(let D=0;D<$.length;++D){const x=$[D];a.push(_+x)}c=u+(c.length>0?" "+c:c)}return c},Os=(...e)=>{let t=0,n,l,o="";for(;t{if(typeof e=="string")return e;let t,n="";for(let l=0;l{let n,l,o,r;const s=i=>{const c=t.reduce((d,u)=>u(d),e());return n=Qs(c),l=n.cache.get,o=n.cache.set,r=a,a(i)},a=i=>{const c=l(i);if(c)return c;const d=Gs(i,n);return o(i,d),d};return r=s,(...i)=>r(Os(...i))},Ws=[],l2=e=>{const t=n=>n[e]||Ws;return t.isThemeGetter=!0,t},M0=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,E0=/^\((?:(\w[\w-]*):)?(.+)\)$/i,Ls=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,Ps=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,Hs=/\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$/,Ts=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,Ys=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,Vs=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,k3=e=>Ls.test(e),Z1=e=>!!e&&!Number.isNaN(Number(e)),L2=e=>!!e&&Number.isInteger(Number(e)),Q5=e=>e.endsWith("%")&&Z1(e.slice(0,-1)),l3=e=>Ps.test(e),D0=()=>!0,Us=e=>Hs.test(e)&&!Ts.test(e),Ot=()=>!1,Js=e=>Ys.test(e),zs=e=>Vs.test(e),js=e=>!u1(e)&&!d1(e),Xs=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),qs=e=>F3(e,B0,Ot),u1=e=>M0.test(e),K3=e=>F3(e,S0,Us),t7=e=>F3(e,aa,Z1),ea=e=>F3(e,Q0,D0),ta=e=>F3(e,R0,Ot),n7=e=>F3(e,Z0,Ot),na=e=>F3(e,F0,zs),C4=e=>F3(e,N0,Js),d1=e=>E0.test(e),_e=e=>j3(e,S0),la=e=>j3(e,R0),l7=e=>j3(e,Z0),oa=e=>j3(e,B0),ra=e=>j3(e,F0),w4=e=>j3(e,N0,!0),sa=e=>j3(e,Q0,!0),F3=(e,t,n)=>{const l=M0.exec(e);return l?l[1]?t(l[1]):n(l[2]):!1},j3=(e,t,n=!1)=>{const l=E0.exec(e);return l?l[1]?t(l[1]):n:!1},Z0=e=>e==="position"||e==="percentage",F0=e=>e==="image"||e==="url",B0=e=>e==="length"||e==="size"||e==="bg-size",S0=e=>e==="length",aa=e=>e==="number",R0=e=>e==="family-name",Q0=e=>e==="number"||e==="weight",N0=e=>e==="shadow",ia=()=>{const e=l2("color"),t=l2("font"),n=l2("text"),l=l2("font-weight"),o=l2("tracking"),r=l2("leading"),s=l2("breakpoint"),a=l2("container"),i=l2("spacing"),c=l2("radius"),d=l2("shadow"),u=l2("inset-shadow"),A=l2("text-shadow"),m=l2("drop-shadow"),p=l2("blur"),y=l2("perspective"),k=l2("aspect"),F=l2("ease"),M=l2("animate"),E=()=>["auto","avoid","all","avoid-page","page","left","right","column"],_=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],R=()=>[..._(),d1,u1],$=()=>["auto","hidden","clip","visible","scroll"],D=()=>["auto","contain","none"],x=()=>[d1,u1,i],Q=()=>[k3,"full","auto",...x()],B=()=>[L2,"none","subgrid",d1,u1],X=()=>["auto",{span:["full",L2,d1,u1]},L2,d1,u1],Y=()=>[L2,"auto",d1,u1],m1=()=>["auto","min","max","fr",d1,u1],w1=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],r1=()=>["start","end","center","stretch","center-safe","end-safe"],l1=()=>["auto",...x()],b1=()=>[k3,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...x()],y1=()=>[k3,"screen","full","dvw","lvw","svw","min","max","fit",...x()],k1=()=>[k3,"screen","full","lh","dvh","lvh","svh","min","max","fit",...x()],c1=()=>[e,d1,u1],L1=()=>[..._(),l7,n7,{position:[d1,u1]}],S1=()=>["no-repeat",{repeat:["","x","y","space","round"]}],Y1=()=>["auto","cover","contain",oa,qs,{size:[d1,u1]}],q1=()=>[Q5,_e,K3],s1=()=>["","none","full",c,d1,u1],q=()=>["",Z1,_e,K3],S=()=>["solid","dashed","dotted","double"],o1=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],J=()=>[Z1,Q5,l7,n7],A1=()=>["","none",p,d1,u1],x1=()=>["none",Z1,d1,u1],g=()=>["none",Z1,d1,u1],v=()=>[Z1,d1,u1],Z=()=>[k3,"full",...x()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[l3],breakpoint:[l3],color:[D0],container:[l3],"drop-shadow":[l3],ease:["in","out","in-out"],font:[js],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[l3],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[l3],shadow:[l3],spacing:["px",Z1],text:[l3],"text-shadow":[l3],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",k3,u1,d1,k]}],container:["container"],"container-type":[{"@container":["","normal","size",d1,u1]}],"container-named":[Xs],columns:[{columns:[Z1,u1,d1,a]}],"break-after":[{"break-after":E()}],"break-before":[{"break-before":E()}],"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:R()}],overflow:[{overflow:$()}],"overflow-x":[{"overflow-x":$()}],"overflow-y":[{"overflow-y":$()}],overscroll:[{overscroll:D()}],"overscroll-x":[{"overscroll-x":D()}],"overscroll-y":[{"overscroll-y":D()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:Q()}],"inset-x":[{"inset-x":Q()}],"inset-y":[{"inset-y":Q()}],start:[{"inset-s":Q(),start:Q()}],end:[{"inset-e":Q(),end:Q()}],"inset-bs":[{"inset-bs":Q()}],"inset-be":[{"inset-be":Q()}],top:[{top:Q()}],right:[{right:Q()}],bottom:[{bottom:Q()}],left:[{left:Q()}],visibility:["visible","invisible","collapse"],z:[{z:[L2,"auto",d1,u1]}],basis:[{basis:[k3,"full","auto",a,...x()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[Z1,k3,"auto","initial","none",u1]}],grow:[{grow:["",Z1,d1,u1]}],shrink:[{shrink:["",Z1,d1,u1]}],order:[{order:[L2,"first","last","none",d1,u1]}],"grid-cols":[{"grid-cols":B()}],"col-start-end":[{col:X()}],"col-start":[{"col-start":Y()}],"col-end":[{"col-end":Y()}],"grid-rows":[{"grid-rows":B()}],"row-start-end":[{row:X()}],"row-start":[{"row-start":Y()}],"row-end":[{"row-end":Y()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":m1()}],"auto-rows":[{"auto-rows":m1()}],gap:[{gap:x()}],"gap-x":[{"gap-x":x()}],"gap-y":[{"gap-y":x()}],"justify-content":[{justify:[...w1(),"normal"]}],"justify-items":[{"justify-items":[...r1(),"normal"]}],"justify-self":[{"justify-self":["auto",...r1()]}],"align-content":[{content:["normal",...w1()]}],"align-items":[{items:[...r1(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...r1(),{baseline:["","last"]}]}],"place-content":[{"place-content":w1()}],"place-items":[{"place-items":[...r1(),"baseline"]}],"place-self":[{"place-self":["auto",...r1()]}],p:[{p:x()}],px:[{px:x()}],py:[{py:x()}],ps:[{ps:x()}],pe:[{pe:x()}],pbs:[{pbs:x()}],pbe:[{pbe:x()}],pt:[{pt:x()}],pr:[{pr:x()}],pb:[{pb:x()}],pl:[{pl:x()}],m:[{m:l1()}],mx:[{mx:l1()}],my:[{my:l1()}],ms:[{ms:l1()}],me:[{me:l1()}],mbs:[{mbs:l1()}],mbe:[{mbe:l1()}],mt:[{mt:l1()}],mr:[{mr:l1()}],mb:[{mb:l1()}],ml:[{ml:l1()}],"space-x":[{"space-x":x()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":x()}],"space-y-reverse":["space-y-reverse"],size:[{size:b1()}],"inline-size":[{inline:["auto",...y1()]}],"min-inline-size":[{"min-inline":["auto",...y1()]}],"max-inline-size":[{"max-inline":["none",...y1()]}],"block-size":[{block:["auto",...k1()]}],"min-block-size":[{"min-block":["auto",...k1()]}],"max-block-size":[{"max-block":["none",...k1()]}],w:[{w:[a,"screen",...b1()]}],"min-w":[{"min-w":[a,"screen","none",...b1()]}],"max-w":[{"max-w":[a,"screen","none","prose",{screen:[s]},...b1()]}],h:[{h:["screen","lh",...b1()]}],"min-h":[{"min-h":["screen","lh","none",...b1()]}],"max-h":[{"max-h":["screen","lh",...b1()]}],"font-size":[{text:["base",n,_e,K3]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[l,sa,ea]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",Q5,u1]}],"font-family":[{font:[la,ta,t]}],"font-features":[{"font-features":[u1]}],"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,d1,u1]}],"line-clamp":[{"line-clamp":[Z1,"none",d1,t7]}],leading:[{leading:[r,...x()]}],"list-image":[{"list-image":["none",d1,u1]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",d1,u1]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:c1()}],"text-color":[{text:c1()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...S(),"wavy"]}],"text-decoration-thickness":[{decoration:[Z1,"from-font","auto",d1,K3]}],"text-decoration-color":[{decoration:c1()}],"underline-offset":[{"underline-offset":[Z1,"auto",d1,u1]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:x()}],"tab-size":[{tab:[L2,d1,u1]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",d1,u1]}],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",d1,u1]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:L1()}],"bg-repeat":[{bg:S1()}],"bg-size":[{bg:Y1()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},L2,d1,u1],radial:["",d1,u1],conic:[L2,d1,u1]},ra,na]}],"bg-color":[{bg:c1()}],"gradient-from-pos":[{from:q1()}],"gradient-via-pos":[{via:q1()}],"gradient-to-pos":[{to:q1()}],"gradient-from":[{from:c1()}],"gradient-via":[{via:c1()}],"gradient-to":[{to:c1()}],rounded:[{rounded:s1()}],"rounded-s":[{"rounded-s":s1()}],"rounded-e":[{"rounded-e":s1()}],"rounded-t":[{"rounded-t":s1()}],"rounded-r":[{"rounded-r":s1()}],"rounded-b":[{"rounded-b":s1()}],"rounded-l":[{"rounded-l":s1()}],"rounded-ss":[{"rounded-ss":s1()}],"rounded-se":[{"rounded-se":s1()}],"rounded-ee":[{"rounded-ee":s1()}],"rounded-es":[{"rounded-es":s1()}],"rounded-tl":[{"rounded-tl":s1()}],"rounded-tr":[{"rounded-tr":s1()}],"rounded-br":[{"rounded-br":s1()}],"rounded-bl":[{"rounded-bl":s1()}],"border-w":[{border:q()}],"border-w-x":[{"border-x":q()}],"border-w-y":[{"border-y":q()}],"border-w-s":[{"border-s":q()}],"border-w-e":[{"border-e":q()}],"border-w-bs":[{"border-bs":q()}],"border-w-be":[{"border-be":q()}],"border-w-t":[{"border-t":q()}],"border-w-r":[{"border-r":q()}],"border-w-b":[{"border-b":q()}],"border-w-l":[{"border-l":q()}],"divide-x":[{"divide-x":q()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":q()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...S(),"hidden","none"]}],"divide-style":[{divide:[...S(),"hidden","none"]}],"border-color":[{border:c1()}],"border-color-x":[{"border-x":c1()}],"border-color-y":[{"border-y":c1()}],"border-color-s":[{"border-s":c1()}],"border-color-e":[{"border-e":c1()}],"border-color-bs":[{"border-bs":c1()}],"border-color-be":[{"border-be":c1()}],"border-color-t":[{"border-t":c1()}],"border-color-r":[{"border-r":c1()}],"border-color-b":[{"border-b":c1()}],"border-color-l":[{"border-l":c1()}],"divide-color":[{divide:c1()}],"outline-style":[{outline:[...S(),"none","hidden"]}],"outline-offset":[{"outline-offset":[Z1,d1,u1]}],"outline-w":[{outline:["",Z1,_e,K3]}],"outline-color":[{outline:c1()}],shadow:[{shadow:["","none",d,w4,C4]}],"shadow-color":[{shadow:c1()}],"inset-shadow":[{"inset-shadow":["none",u,w4,C4]}],"inset-shadow-color":[{"inset-shadow":c1()}],"ring-w":[{ring:q()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:c1()}],"ring-offset-w":[{"ring-offset":[Z1,K3]}],"ring-offset-color":[{"ring-offset":c1()}],"inset-ring-w":[{"inset-ring":q()}],"inset-ring-color":[{"inset-ring":c1()}],"text-shadow":[{"text-shadow":["none",A,w4,C4]}],"text-shadow-color":[{"text-shadow":c1()}],opacity:[{opacity:[Z1,d1,u1]}],"mix-blend":[{"mix-blend":[...o1(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":o1()}],"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":[Z1]}],"mask-image-linear-from-pos":[{"mask-linear-from":J()}],"mask-image-linear-to-pos":[{"mask-linear-to":J()}],"mask-image-linear-from-color":[{"mask-linear-from":c1()}],"mask-image-linear-to-color":[{"mask-linear-to":c1()}],"mask-image-t-from-pos":[{"mask-t-from":J()}],"mask-image-t-to-pos":[{"mask-t-to":J()}],"mask-image-t-from-color":[{"mask-t-from":c1()}],"mask-image-t-to-color":[{"mask-t-to":c1()}],"mask-image-r-from-pos":[{"mask-r-from":J()}],"mask-image-r-to-pos":[{"mask-r-to":J()}],"mask-image-r-from-color":[{"mask-r-from":c1()}],"mask-image-r-to-color":[{"mask-r-to":c1()}],"mask-image-b-from-pos":[{"mask-b-from":J()}],"mask-image-b-to-pos":[{"mask-b-to":J()}],"mask-image-b-from-color":[{"mask-b-from":c1()}],"mask-image-b-to-color":[{"mask-b-to":c1()}],"mask-image-l-from-pos":[{"mask-l-from":J()}],"mask-image-l-to-pos":[{"mask-l-to":J()}],"mask-image-l-from-color":[{"mask-l-from":c1()}],"mask-image-l-to-color":[{"mask-l-to":c1()}],"mask-image-x-from-pos":[{"mask-x-from":J()}],"mask-image-x-to-pos":[{"mask-x-to":J()}],"mask-image-x-from-color":[{"mask-x-from":c1()}],"mask-image-x-to-color":[{"mask-x-to":c1()}],"mask-image-y-from-pos":[{"mask-y-from":J()}],"mask-image-y-to-pos":[{"mask-y-to":J()}],"mask-image-y-from-color":[{"mask-y-from":c1()}],"mask-image-y-to-color":[{"mask-y-to":c1()}],"mask-image-radial":[{"mask-radial":[d1,u1]}],"mask-image-radial-from-pos":[{"mask-radial-from":J()}],"mask-image-radial-to-pos":[{"mask-radial-to":J()}],"mask-image-radial-from-color":[{"mask-radial-from":c1()}],"mask-image-radial-to-color":[{"mask-radial-to":c1()}],"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":_()}],"mask-image-conic-pos":[{"mask-conic":[Z1]}],"mask-image-conic-from-pos":[{"mask-conic-from":J()}],"mask-image-conic-to-pos":[{"mask-conic-to":J()}],"mask-image-conic-from-color":[{"mask-conic-from":c1()}],"mask-image-conic-to-color":[{"mask-conic-to":c1()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:L1()}],"mask-repeat":[{mask:S1()}],"mask-size":[{mask:Y1()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",d1,u1]}],filter:[{filter:["","none",d1,u1]}],blur:[{blur:A1()}],brightness:[{brightness:[Z1,d1,u1]}],contrast:[{contrast:[Z1,d1,u1]}],"drop-shadow":[{"drop-shadow":["","none",m,w4,C4]}],"drop-shadow-color":[{"drop-shadow":c1()}],grayscale:[{grayscale:["",Z1,d1,u1]}],"hue-rotate":[{"hue-rotate":[Z1,d1,u1]}],invert:[{invert:["",Z1,d1,u1]}],saturate:[{saturate:[Z1,d1,u1]}],sepia:[{sepia:["",Z1,d1,u1]}],"backdrop-filter":[{"backdrop-filter":["","none",d1,u1]}],"backdrop-blur":[{"backdrop-blur":A1()}],"backdrop-brightness":[{"backdrop-brightness":[Z1,d1,u1]}],"backdrop-contrast":[{"backdrop-contrast":[Z1,d1,u1]}],"backdrop-grayscale":[{"backdrop-grayscale":["",Z1,d1,u1]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[Z1,d1,u1]}],"backdrop-invert":[{"backdrop-invert":["",Z1,d1,u1]}],"backdrop-opacity":[{"backdrop-opacity":[Z1,d1,u1]}],"backdrop-saturate":[{"backdrop-saturate":[Z1,d1,u1]}],"backdrop-sepia":[{"backdrop-sepia":["",Z1,d1,u1]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":x()}],"border-spacing-x":[{"border-spacing-x":x()}],"border-spacing-y":[{"border-spacing-y":x()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",d1,u1]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[Z1,"initial",d1,u1]}],ease:[{ease:["linear","initial",F,d1,u1]}],delay:[{delay:[Z1,d1,u1]}],animate:[{animate:["none",M,d1,u1]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[y,d1,u1]}],"perspective-origin":[{"perspective-origin":R()}],rotate:[{rotate:x1()}],"rotate-x":[{"rotate-x":x1()}],"rotate-y":[{"rotate-y":x1()}],"rotate-z":[{"rotate-z":x1()}],scale:[{scale:g()}],"scale-x":[{"scale-x":g()}],"scale-y":[{"scale-y":g()}],"scale-z":[{"scale-z":g()}],"scale-3d":["scale-3d"],skew:[{skew:v()}],"skew-x":[{"skew-x":v()}],"skew-y":[{"skew-y":v()}],transform:[{transform:[d1,u1,"","none","gpu","cpu"]}],"transform-origin":[{origin:R()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:Z()}],"translate-x":[{"translate-x":Z()}],"translate-y":[{"translate-y":Z()}],"translate-z":[{"translate-z":Z()}],"translate-none":["translate-none"],zoom:[{zoom:[L2,d1,u1]}],accent:[{accent:c1()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:c1()}],"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",d1,u1]}],"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":c1()}],"scrollbar-track-color":[{"scrollbar-track":c1()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":x()}],"scroll-mx":[{"scroll-mx":x()}],"scroll-my":[{"scroll-my":x()}],"scroll-ms":[{"scroll-ms":x()}],"scroll-me":[{"scroll-me":x()}],"scroll-mbs":[{"scroll-mbs":x()}],"scroll-mbe":[{"scroll-mbe":x()}],"scroll-mt":[{"scroll-mt":x()}],"scroll-mr":[{"scroll-mr":x()}],"scroll-mb":[{"scroll-mb":x()}],"scroll-ml":[{"scroll-ml":x()}],"scroll-p":[{"scroll-p":x()}],"scroll-px":[{"scroll-px":x()}],"scroll-py":[{"scroll-py":x()}],"scroll-ps":[{"scroll-ps":x()}],"scroll-pe":[{"scroll-pe":x()}],"scroll-pbs":[{"scroll-pbs":x()}],"scroll-pbe":[{"scroll-pbe":x()}],"scroll-pt":[{"scroll-pt":x()}],"scroll-pr":[{"scroll-pr":x()}],"scroll-pb":[{"scroll-pb":x()}],"scroll-pl":[{"scroll-pl":x()}],"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",d1,u1]}],fill:[{fill:["none",...c1()]}],"stroke-w":[{stroke:[Z1,_e,K3,t7]}],stroke:[{stroke:["none",...c1()]}],"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"]}},ca=$s(ia);function E1(...e){return ca(C0(e))}const ua=["src","alt"],da={key:1,class:"flex h-full w-full items-center justify-center bg-muted font-medium text-muted-foreground"},fa=$1({__name:"Avatar",props:{src:{},alt:{},fallback:{default:"?"},size:{default:"md"},class:{}},setup(e){const t=e,n={sm:"h-8 w-8 text-xs",md:"h-10 w-10 text-sm",lg:"h-12 w-12 text-base"},l=z(!1),o=t1(()=>!t.src||l.value);return(r,s)=>(h(),C("div",{class:f1(f(E1)("relative flex shrink-0 overflow-hidden rounded-full",n[e.size],t.class))},[o.value?(h(),C("div",da,N(e.fallback),1)):(h(),C("img",{key:0,src:e.src??void 0,alt:e.alt,class:"aspect-square h-full w-full object-cover",onError:s[0]||(s[0]=a=>l.value=!0)},null,40,ua))],2))}}),o7=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,r7=C0,f5=(e,t)=>n=>{var l;if((t==null?void 0:t.variants)==null)return r7(e,n==null?void 0:n.class,n==null?void 0:n.className);const{variants:o,defaultVariants:r}=t,s=Object.keys(o).map(c=>{const d=n==null?void 0:n[c],u=r==null?void 0:r[c];if(d===null)return null;const A=o7(d)||o7(u);return o[c][A]}),a=n&&Object.entries(n).reduce((c,d)=>{let[u,A]=d;return A===void 0||(c[u]=A),c},{}),i=t==null||(l=t.compoundVariants)===null||l===void 0?void 0:l.reduce((c,d)=>{let{class:u,className:A,...m}=d;return Object.entries(m).every(p=>{let[y,k]=p;return Array.isArray(k)?k.includes({...r,...a}[y]):{...r,...a}[y]===k})?[...c,u,A]:c},[]);return r7(e,s,i,n==null?void 0:n.class,n==null?void 0:n.className)},c2=$1({__name:"Badge",props:{variant:{default:"default"},class:{}},setup(e){const t=f5("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground shadow",secondary:"border-transparent bg-secondary text-secondary-foreground",destructive:"border-transparent bg-destructive text-destructive-foreground shadow",outline:"text-foreground",success:"border-transparent bg-success/20 text-success",warning:"border-transparent bg-warning/20 text-warning",glow:"border-primary/30 bg-primary/10 text-primary"}},defaultVariants:{variant:"default"}}),n=e;return(l,o)=>(h(),C("div",{class:f1(f(E1)(f(t)({variant:e.variant}),n.class))},[K1(l.$slots,"default")],2))}}),C1=$1({__name:"Button",props:{variant:{default:"default"},size:{default:"default"},as:{default:"button"},class:{},disabled:{type:Boolean}},setup(e){const t=f5("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline",glow:"bg-primary text-primary-foreground shadow-lg hover:bg-primary/90 glow-sm hover:glow"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-11 rounded-md px-8",xl:"h-12 rounded-lg px-10 text-base",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),n=e;return(l,o)=>(h(),G(k2(e.as),{class:f1(f(E1)(f(t)({variant:e.variant,size:e.size}),n.class)),disabled:e.disabled},{default:w(()=>[K1(l.$slots,"default")]),_:3},8,["class","disabled"]))}}),z1=$1({__name:"Card",props:{class:{},hover:{type:Boolean,default:!1},glow:{type:Boolean,default:!1}},setup(e){const t=e;return(n,l)=>(h(),C("div",{class:f1(f(E1)("rounded-lg border bg-card text-card-foreground shadow-sm",e.hover&&"transition-all duration-200 hover:border-primary/50 hover:-translate-y-1",e.glow&&"glow-sm",t.class))},[K1(n.$slots,"default")],2))}}),Aa="modulepreload",ha=function(e){return"/"+e},s7={},x4=function(t,n,l){let o=Promise.resolve();if(n&&n.length>0){let s=function(c){return Promise.all(c.map(d=>Promise.resolve(d).then(u=>({status:"fulfilled",value:u}),u=>({status:"rejected",reason:u}))))};document.getElementsByTagName("link");const a=document.querySelector("meta[property=csp-nonce]"),i=(a==null?void 0:a.nonce)||(a==null?void 0:a.getAttribute("nonce"));o=s(n.map(c=>{if(c=ha(c),c in s7)return;s7[c]=!0;const d=c.endsWith(".css"),u=d?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${u}`))return;const A=document.createElement("link");if(A.rel=d?"stylesheet":Aa,d||(A.as="script"),A.crossOrigin="",A.href=c,i&&A.setAttribute("nonce",i),document.head.appendChild(A),d)return new Promise((m,p)=>{A.addEventListener("load",m),A.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${c}`)))})}))}function r(s){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=s,window.dispatchEvent(a),!a.defaultPrevented)throw s}return o.then(s=>{for(const a of s||[])a.status==="rejected"&&r(a.reason);return t().catch(r)})},a7={decision:"bg-blue-600/10 text-blue-600 border-blue-600/20",constraint:"bg-amber-600/10 text-amber-600 border-amber-600/20",workaround:"bg-red-600/10 text-red-600 border-red-600/20",convention:"bg-violet-600/10 text-violet-600 border-violet-600/20",pattern:"bg-emerald-600/10 text-emerald-600 border-emerald-600/20",discussion:"bg-cyan-600/10 text-cyan-600 border-cyan-600/20",review:"bg-pink-600/10 text-pink-600 border-pink-600/20",plan:"bg-lime-600/10 text-lime-600 border-lime-600/20"},pa={decision:"bg-blue-600",constraint:"bg-amber-600",workaround:"bg-red-600",convention:"bg-violet-600",pattern:"bg-emerald-600",discussion:"bg-cyan-600",review:"bg-pink-600",plan:"bg-lime-600"},N5={system:"#7c3aed",part:"#d97706",contract:"#0891b2",decision:"#2563eb",constraint:"#d97706",workaround:"#dc2626",convention:"#7c3aed",pattern:"#059669",discussion:"#0891b2",review:"#db2777",plan:"#65a30d"};function K0(){const e="bg-muted text-muted-foreground border-border";function t(r){return a7[(r??"").toLowerCase()]??e}function n(r){return pa[(r??"").toLowerCase()]??"bg-muted-foreground"}function l(r){return N5[(r??"").toLowerCase()]??"#a1a1aa"}const o=Object.keys(N5).map(r=>({kind:r,label:r.charAt(0).toUpperCase()+r.slice(1),color:N5[r]}));return{tone:t,fill:n,ink:l,legend:o,kinds:Object.keys(a7)}}const _4="#6b7280",ma=$1({__name:"CodeGraph",props:{height:{default:"460px"},repo:{default:""},mode:{default:"2d"},data:{default:null},hidden:{default:()=>[]}},emits:["select"],setup(e,{expose:t,emit:n}){const l=n,o=e,r=Q=>[typeof Q.source=="object"?Q.source:null,typeof Q.target=="object"?Q.target:null],s=Q=>{const[B,X]=r(Q);return B&&X&&B.community===X.community&&B.community!==null?B:null},a=z(null);let i=null,c=null,d=null;const u=new Map,{ink:A}=K0(),m=["#4E79A7","#F28E2B","#E15759","#76B7B2","#59A14F","#EDC948","#B07AA1","#FF9DA7","#9C755F","#BAB0AC"];function p(Q){if(typeof Q.community=="number")return m[Q.community%m.length];const B=(Q.kind||"").toLowerCase();return B==="code"?"#E20C18":B==="file"||["class","function","method","module","route","variable","symbol"].includes(B)?_4:A(B)}function y(Q){return Q&&Q.length>28?`${Q.slice(0,27)}…`:Q}const k=t1(()=>!!o.data&&o.data.nodes.length>0);t({hasGraph:k});const F=t1(()=>new Set(o.hidden));function M(){const Q=o.data??{nodes:[],links:[]},B=Q.nodes.filter(r1=>typeof r1.community!="number"||!F.value.has(r1.community)),X=new Set(B.map(r1=>r1.id)),Y=Math.max(1,...B.map(r1=>r1.degree??0)),m1=B.map(r1=>{const l1=u.get(r1.id);return{...r1,...l1??{},color:p(r1),radius:Math.min(3+2.4*Math.sqrt(r1.degree??0),11),named:(r1.degree??0)>=Math.max(4,Y*.5)}}),w1=Q.links.filter(r1=>X.has(String(r1.source))&&X.has(String(r1.target))).map(r1=>({...r1}));return{nodes:m1,links:w1}}function E(Q){return Math.max(.06,Math.min(.5,Math.sqrt(400/Math.max(1,Q))))}function _(Q,B){const X=parseInt(Q.slice(1),16),Y=Math.max(0,Math.min(1,B)).toFixed(3);return`rgba(${X>>16&255}, ${X>>8&255}, ${X&255}, ${Y})`}const R=Q=>Q==="tree"?"td":Q==="radial"?"radialout":Q==="layered"?"zout":null;function $(){if(i)for(const Q of i.graphData().nodes)Number.isFinite(Q.x)&&u.set(Q.id,{x:Q.x,y:Q.y,z:Q.z??0})}function D(){var Q;$(),i&&((Q=i._destructor)==null||Q.call(i),i=null),a.value&&(a.value.innerHTML="")}async function x(Q){var w1,r1;if(!a.value)return;const B=Q==="2d"?"2d":"3d";if(i&&c===B){B==="3d"&&i.dagMode(R(Q)),$(),i.graphData(M());return}if(D(),c=B,B==="2d"){const l1=(await x4(async()=>{const{default:s1}=await import("./force-graph-HZtkkbK0.js");return{default:s1}},__vite__mapDeps([0,1,2]))).default,{forceCollide:b1,forceManyBody:y1,forceX:k1,forceY:c1}=await x4(async()=>{const{forceCollide:s1,forceManyBody:q,forceX:S,forceY:o1}=await import("./index-DHVCIEzJ.js");return{forceCollide:s1,forceManyBody:q,forceX:S,forceY:o1}},__vite__mapDeps([3,1])),L1=M(),S1=E(L1.links.length);let Y1=null;i=new l1(a.value),i.backgroundColor("rgba(0,0,0,0)").graphData(L1).nodeRelSize(4).nodeColor(s1=>s1.color).nodeLabel(s1=>s1.path?`${s1.name} — ${s1.path}`:s1.name).nodeCanvasObject((s1,q,S)=>{const o1=!Y1||Y1===s1.id;if(q.globalAlpha=o1?1:.25,q.beginPath(),q.arc(s1.x,s1.y,s1.radius,0,2*Math.PI),q.fillStyle=s1.color,q.fill(),!s1.named&&Y1!==s1.id){q.globalAlpha=1;return}const J=Math.max(11/S,1.5);q.font=`${J}px ui-sans-serif, system-ui, sans-serif`,q.fillStyle=s1.color,q.textAlign="left",q.textBaseline="middle",q.fillText(y(s1.name),s1.x+s1.radius+2/S,s1.y),q.globalAlpha=1}).nodePointerAreaPaint((s1,q,S)=>{S.fillStyle=q,S.beginPath(),S.arc(s1.x,s1.y,s1.radius+2,0,2*Math.PI),S.fill()}).linkColor(s1=>{const q=s(s1);return _(q?q.color:_4,S1*(q?1.6:1))}).linkWidth(.6).linkDirectionalArrowLength(2.5).linkDirectionalArrowRelPos(1).linkLabel(s1=>s1.type??"").onNodeHover(s1=>{var q;Y1=s1?s1.id:null,a.value&&(a.value.style.cursor=s1?"pointer":""),(q=i==null?void 0:i.refresh)==null||q.call(i)}).width(a.value.clientWidth).height(a.value.clientHeight).onNodeClick(s1=>l("select",String(s1.id))),i.d3AlphaDecay(.02).d3VelocityDecay(.35).cooldownTicks(220),i.d3Force("charge",y1().strength(-140).distanceMax(420)),i.d3Force("center",null),i.d3Force("x",k1(0).strength(.03)),i.d3Force("y",c1(0).strength(.03)),i.d3Force("collide",b1(s1=>s1.radius+2).iterations(2)),(w1=i.d3Force("link"))==null||w1.distance(s1=>s(s1)?26:70).strength(s1=>s(s1)?.7:.08);let q1=!1;i.onEngineTick(()=>{!q1&&i.d3Force("link")&&(q1=!0,setTimeout(()=>i==null?void 0:i.zoomToFit(600,60),700))}),i.onEngineStop(()=>{$(),i==null||i.zoomToFit(600,60)});return}const X=(await x4(async()=>{const{default:l1}=await import("./3d-force-graph-B8lgMx4q.js");return{default:l1}},__vite__mapDeps([4,5,2,1]))).default,Y=await x4(()=>import("./three.module-D-PgY1-x.js").then(l1=>l1.df),[]),m1=M();i=new X(a.value),i.backgroundColor("rgba(0,0,0,0)").showNavInfo(!1).onDagError(()=>{}).dagLevelDistance(46).dagMode(R(Q)).graphData(m1).nodeLabel(l1=>l1.path?`${l1.name} — ${l1.path}`:l1.name).nodeThreeObject(l1=>{const b1=new Y.SphereGeometry(l1.radius,12,10),y1=new Y.MeshLambertMaterial({color:l1.color,transparent:!0,opacity:.92});return new Y.Mesh(b1,y1)}).linkColor(()=>_4).linkOpacity(E(m1.links.length)).linkWidth(.5).linkDirectionalArrowLength(2).linkDirectionalArrowRelPos(1).linkLabel(l1=>l1.type??"").width(a.value.clientWidth).height(a.value.clientHeight).onNodeClick(l1=>l("select",String(l1.id))),(r1=i.d3Force("charge"))==null||r1.strength(-140).distanceMax(420),i.onEngineStop(()=>{$(),i==null||i.zoomToFit(600,60)})}return d2(async()=>{await x(o.mode),d=new ResizeObserver(()=>{i&&a.value&&i.width(a.value.clientWidth).height(a.value.clientHeight)}),a.value&&d.observe(a.value)}),t2(()=>o.mode,Q=>x(Q)),t2(()=>o.repo,()=>{u.clear(),x(o.mode)}),t2(()=>o.data,()=>x(o.mode)),t2(()=>o.hidden,()=>x(o.mode),{deep:!0}),Ft(()=>{d&&(d.disconnect(),d=null),D()}),(Q,B)=>(h(),C("div",{ref_key:"el",ref:a,style:S2({height:o.height}),class:"w-full"},null,4))}}),ga=["for"],va={key:1,class:"mt-1 text-xs text-destructive"},ya={key:2,class:"mt-1 text-xs text-muted-foreground"},R2=$1({__name:"Field",props:{label:{},hint:{},error:{},for:{},class:{}},setup(e){const t=e;return(n,l)=>(h(),C("div",{class:f1(f(E1)("w-full",t.class))},[e.label?(h(),C("label",{key:0,for:t.for,class:"mb-1.5 flex items-center gap-2 text-xs font-medium uppercase tracking-wider text-muted-foreground"},[U(N(e.label)+" ",1),K1(n.$slots,"label")],8,ga)):P("",!0),K1(n.$slots,"default"),e.error?(h(),C("p",va,N(e.error),1)):e.hint?(h(),C("p",ya,N(e.hint),1)):P("",!0)],2))}}),G0=f5(["w-full rounded-md border bg-muted/50 text-foreground outline-none transition-colors","placeholder:text-muted-foreground focus:border-primary/50","disabled:cursor-not-allowed disabled:opacity-50"].join(" "),{variants:{size:{sm:"h-8 px-3 text-xs",default:"h-9 px-3 text-sm",lg:"h-11 px-4 text-base"},invalid:{true:"border-destructive/60 focus:border-destructive",false:""}},defaultVariants:{size:"default",invalid:!1}}),ba=f5(["w-full resize-y rounded-md border bg-muted/50 text-foreground outline-none transition-colors","placeholder:text-muted-foreground focus:border-primary/50","disabled:cursor-not-allowed disabled:opacity-50"].join(" "),{variants:{size:{sm:"px-3 py-1.5 text-xs",default:"px-3 py-2 text-sm",lg:"px-4 py-2.5 text-base"},invalid:{true:"border-destructive/60 focus:border-destructive",false:""}},defaultVariants:{size:"default",invalid:!1}}),ka=["value"],J3=$1({__name:"Input",props:{modelValue:{},size:{default:"default"},class:{},invalid:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(e){const t=e;return(n,l)=>(h(),C("input",{value:e.modelValue,class:f1(f(E1)(f(G0)({size:e.size,invalid:e.invalid}),t.class)),onInput:l[0]||(l[0]=o=>n.$emit("update:modelValue",o.target.value))},null,42,ka))}}),Ca={class:"flex items-start gap-4"},wa={class:"min-w-0 flex-1"},xa={class:"mb-1 flex flex-wrap items-center gap-2"},_a={class:"break-all font-semibold"},Ia={key:0,class:"break-all font-mono text-sm text-muted-foreground"},Ma={key:1,class:"mt-2 flex flex-wrap items-center gap-x-4 gap-y-1 text-sm text-muted-foreground"},Ea={key:1,class:"flex shrink-0 items-center gap-1"},z3=$1({__name:"ItemCard",props:{title:{},subtitle:{},pillar:{default:"graph"},hover:{type:Boolean,default:!1},class:{}},setup(e){const t=e,n={memory:"bg-pillar-memory/15 text-pillar-memory",graph:"bg-pillar-graph/15 text-pillar-graph",review:"bg-pillar-review/15 text-pillar-review",tokens:"bg-pillar-tokens/15 text-pillar-tokens",brand:"bg-primary/15 text-primary"};return(l,o)=>(h(),G(z1,{hover:e.hover,class:f1(f(E1)("p-5",t.class))},{default:w(()=>[b("div",Ca,[l.$slots.icon?(h(),C("div",{key:0,class:f1(f(E1)("flex h-11 w-11 shrink-0 items-center justify-center rounded-lg",n[e.pillar]))},[K1(l.$slots,"icon")],2)):P("",!0),b("div",wa,[b("div",xa,[b("h3",_a,N(e.title),1),K1(l.$slots,"badges")]),e.subtitle?(h(),C("p",Ia,N(e.subtitle),1)):P("",!0),K1(l.$slots,"default"),l.$slots.meta?(h(),C("div",Ma,[K1(l.$slots,"meta")])):P("",!0)]),l.$slots.actions?(h(),C("div",Ea,[K1(l.$slots,"actions")])):P("",!0)])]),_:3},8,["hover","class"]))}}),Da={class:"flex min-w-0 items-center gap-3"},Za={class:"min-w-0"},Fa={class:"flex flex-wrap items-center gap-2"},Ba={class:"text-xl font-semibold"},Sa={key:1,class:"mt-1.5 flex flex-wrap items-center gap-x-3 gap-y-1.5 text-sm text-muted-foreground"},Ra={key:0,class:"flex flex-wrap items-center gap-2"},m3=$1({__name:"PageHead",props:{title:{},sub:{},pillar:{default:"graph"},tone:{},mono:{type:Boolean,default:!1},class:{}},setup(e){const t=e,n={memory:"bg-pillar-memory/15 text-pillar-memory",graph:"bg-pillar-graph/15 text-pillar-graph",review:"bg-pillar-review/15 text-pillar-review",tokens:"bg-pillar-tokens/15 text-pillar-tokens",brand:"bg-primary/15 text-primary"},l={neutral:"bg-muted text-muted-foreground",info:"bg-primary/15 text-primary",success:"bg-success/15 text-success",warning:"bg-warning/15 text-warning",danger:"bg-destructive/15 text-destructive"},o=t1(()=>t.tone?l[t.tone]:n[t.pillar]);return(r,s)=>(h(),C("div",{class:f1(f(E1)("mb-6 flex flex-wrap items-start justify-between gap-4",t.class))},[b("div",Da,[K1(r.$slots,"back"),r.$slots.icon?(h(),C("div",{key:0,class:f1(f(E1)("flex h-11 w-11 shrink-0 items-center justify-center rounded-lg",o.value))},[K1(r.$slots,"icon")],2)):P("",!0),b("div",Za,[b("div",Fa,[b("h1",Ba,N(e.title),1),K1(r.$slots,"badges")]),e.sub?(h(),C("p",{key:0,class:f1(f(E1)("text-sm text-muted-foreground",e.mono&&"break-all font-mono"))},N(e.sub),3)):P("",!0),r.$slots.meta?(h(),C("div",Sa,[K1(r.$slots,"meta")])):P("",!0)])]),r.$slots.actions?(h(),C("div",Ra,[K1(r.$slots,"actions")])):P("",!0)],2))}}),Qa=["value"],j2=$1({__name:"Select",props:{modelValue:{},size:{default:"default"},class:{},invalid:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(e){const t=e;return(n,l)=>(h(),C("select",{value:e.modelValue,class:f1(f(E1)(f(G0)({size:e.size,invalid:e.invalid}),"w-auto",t.class)),onChange:l[0]||(l[0]=o=>n.$emit("update:modelValue",o.target.value))},[K1(n.$slots,"default")],42,Qa))}}),Na=["aria-label"],Ka=["aria-pressed","onClick"],ge=$1({__name:"Tabs",props:{modelValue:{},tabs:{},label:{},class:{}},emits:["update:modelValue"],setup(e){const t=e;return(n,l)=>(h(),C("div",{role:"group","aria-label":e.label,class:f1(f(E1)("inline-flex rounded-md border bg-card p-0.5",t.class))},[(h(!0),C(n1,null,_1(e.tabs,o=>(h(),C("button",{key:o.id,type:"button","aria-pressed":e.modelValue===o.id,class:f1(f(E1)("rounded px-3 py-1 text-xs font-medium transition-colors",e.modelValue===o.id?"bg-primary/15 text-primary":"text-muted-foreground hover:text-foreground")),onClick:r=>n.$emit("update:modelValue",o.id)},N(o.label),11,Ka))),128))],10,Na))}}),Ga=["value","rows"],dt=$1({__name:"Textarea",props:{modelValue:{},rows:{default:3},size:{default:"default"},class:{},invalid:{type:Boolean,default:!1}},emits:["update:modelValue"],setup(e){const t=e;return(n,l)=>(h(),C("textarea",{value:e.modelValue,rows:e.rows,class:f1(f(E1)(f(ba)({size:e.size,invalid:e.invalid}),t.class)),onInput:l[0]||(l[0]=o=>n.$emit("update:modelValue",o.target.value))},null,42,Ga))}});/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Oa=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const i7=e=>e==="";/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const $a=(...e)=>e.filter((t,n,l)=>!!t&&t.trim()!==""&&l.indexOf(t)===n).join(" ").trim();/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const c7=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Wa=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,l)=>l?l.toUpperCase():n.toLowerCase());/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const La=e=>{const t=Wa(e);return t.charAt(0).toUpperCase()+t.slice(1)};/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */var Ie={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-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Pa=({name:e,iconNode:t,absoluteStrokeWidth:n,"absolute-stroke-width":l,strokeWidth:o,"stroke-width":r,size:s=Ie.width,color:a=Ie.stroke,...i},{slots:c})=>A3("svg",{...Ie,...i,width:s,height:s,stroke:a,"stroke-width":i7(n)||i7(l)||n===!0||l===!0?Number(o||r||Ie["stroke-width"])*24/Number(s):o||r||Ie["stroke-width"],class:$a("lucide",i.class,...e?[`lucide-${c7(La(e))}-icon`,`lucide-${c7(e)}`]:["lucide-icon"]),...!c.default&&!Oa(i)&&{"aria-hidden":"true"}},[...t.map(d=>A3(...d)),...c.default?[c.default()]:[]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const B3=(e,t)=>(n,{slots:l,attrs:o})=>A3(Pa,{...o,...n,iconNode:t,name:e},l);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ha=B3("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ta=B3("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ya=B3("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Va=B3("info",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 16v-4",key:"1dtifu"}],["path",{d:"M12 8h.01",key:"e9boi3"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ua=B3("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Ja=B3("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const za=B3("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const $t=B3("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]),ja={key:0,class:"space-y-1.5"},Xa={class:"flex gap-2"},O0=$1({__name:"ListInput",props:{modelValue:{default:()=>[]},placeholder:{},noun:{default:"entry"},mono:{type:Boolean,default:!1},size:{default:"default"},class:{}},emits:["update:modelValue"],setup(e,{emit:t}){const n=e,l=t,o=z("");function r(){const a=o.value.trim();if(!a||n.modelValue.includes(a)){o.value="";return}l("update:modelValue",[...n.modelValue,a]),o.value=""}function s(a){l("update:modelValue",n.modelValue.filter(i=>i!==a))}return(a,i)=>(h(),C("div",{class:f1(f(E1)("space-y-2",n.class))},[e.modelValue.length?(h(),C("ul",ja,[(h(!0),C(n1,null,_1(e.modelValue,c=>(h(),C("li",{key:c,class:"flex items-center gap-2 rounded-md border bg-muted/40 py-1 pl-3 pr-1 text-sm"},[b("span",{class:f1(f(E1)("min-w-0 flex-1 break-all",e.mono&&"font-mono text-xs"))},N(c),3),I(C1,{variant:"ghost",size:"icon",class:"h-6 w-6 shrink-0","aria-label":`Remove ${c}`,onClick:d=>s(c)},{default:w(()=>[I(f($t),{class:"h-3.5 w-3.5"})]),_:1},8,["aria-label","onClick"])]))),128))])):P("",!0),b("div",Xa,[I(J3,{modelValue:o.value,"onUpdate:modelValue":i[0]||(i[0]=c=>o.value=c),size:e.size,placeholder:e.placeholder,class:f1(e.mono?"font-mono":void 0),"aria-label":`Add ${e.noun}`,onKeydown:ar(qe(r,["prevent"]),["enter"])},null,8,["modelValue","size","placeholder","class","aria-label","onKeydown"]),I(C1,{size:e.size,variant:"outline",class:"shrink-0",disabled:!o.value.trim(),onClick:r},{default:w(()=>[I(f(Ja),{class:"mr-1.5 h-3.5 w-3.5"}),i[1]||(i[1]=U(" Add ",-1))]),_:1},8,["size","disabled"])])],2))}}),qa={class:"min-w-0 truncate"},ei=["aria-label"],u7=$1({__name:"Chip",props:{tone:{default:"default"},removable:{type:Boolean,default:!1},label:{},class:{}},emits:["remove"],setup(e){const t=e,n={default:"border-primary/30 bg-primary/10 text-foreground",success:"border-success/40 bg-success/10 text-foreground",warning:"border-warning/40 bg-warning/10 text-foreground",danger:"border-destructive/40 bg-destructive/10 text-foreground",muted:"border-border bg-muted/60 text-muted-foreground"};return(l,o)=>(h(),C("span",{class:f1(f(E1)("inline-flex max-w-full items-center gap-1 rounded-full border py-0.5 pl-2.5 text-xs",e.removable?"pr-1":"pr-2.5",n[e.tone],t.class))},[K1(l.$slots,"mark"),b("span",qa,[K1(l.$slots,"default")]),e.removable?(h(),C("button",{key:0,type:"button",class:"shrink-0 rounded-full p-0.5 text-muted-foreground transition-colors hover:bg-background/60 hover:text-foreground","aria-label":e.label?`Remove ${e.label}`:"Remove",onClick:o[0]||(o[0]=r=>l.$emit("remove"))},[I(f($t),{class:"h-3 w-3"})],8,ei)):P("",!0)],2))}}),ti=["title"],ni={class:"relative flex h-2 w-2 shrink-0"},li={key:1,class:"sr-only"},$e=$1({__name:"DotIndicator",props:{tone:{default:"neutral"},title:{},label:{},pulse:{type:Boolean,default:!1},class:{}},setup(e){const t=e,n={neutral:"bg-muted-foreground",info:"bg-primary",success:"bg-success",warning:"bg-warning",danger:"bg-destructive"},l={neutral:"text-muted-foreground",info:"text-primary",success:"text-success",warning:"text-warning",danger:"text-destructive"};return(o,r)=>(h(),C("span",{class:f1(f(E1)("inline-flex items-center gap-1.5 align-middle",t.class)),title:e.title},[b("span",ni,[e.pulse?(h(),C("span",{key:0,class:f1(f(E1)("absolute inline-flex h-full w-full animate-ping rounded-full opacity-60",n[e.tone]))},null,2)):P("",!0),b("span",{class:f1(f(E1)("relative inline-flex h-2 w-2 rounded-full",n[e.tone]))},null,2)]),e.label?(h(),C("span",{key:0,class:f1(f(E1)("text-xs font-medium",l[e.tone]))},N(e.label),3)):(h(),C("span",li,N(e.title),1))],10,ti))}}),d7={};function oi(e){let t=d7[e];if(t)return t;t=d7[e]=[];for(let n=0;n<128;n++){const l=String.fromCharCode(n);t.push(l)}for(let n=0;n=55296&&d<=57343?o+="���":o+=String.fromCharCode(d),r+=6;continue}}if((a&248)===240&&r+91114111?o+="����":(u-=65536,o+=String.fromCharCode(55296+(u>>10),56320+(u&1023))),r+=9;continue}}o+="�"}return o})}fe.defaultChars=";/?:@&=+$,#";fe.componentChars="";const f7={};function ri(e){let t=f7[e];if(t)return t;t=f7[e]=[];for(let n=0;n<128;n++){const l=String.fromCharCode(n);/^[0-9a-z]$/i.test(l)?t.push(l):t.push("%"+("0"+n.toString(16).toUpperCase()).slice(-2))}for(let n=0;n"u"&&(n=!0);const l=ri(t);let o="";for(let r=0,s=e.length;r=55296&&a<=57343){if(a>=55296&&a<=56319&&r+1=56320&&i<=57343){o+=encodeURIComponent(e[r]+e[r+1]),r++;continue}}o+="%EF%BF%BD";continue}o+=encodeURIComponent(e[r])}return o}i3.defaultChars=";/?:@&=+$,-_.!~*'()#";i3.componentChars="-_.!~*'()";function ft(e){let t="";return t+=e.protocol||"",t+=e.slashes?"//":"",t+=e.auth?e.auth+"@":"",e.hostname&&e.hostname.indexOf(":")!==-1?t+="["+e.hostname+"]":t+=e.hostname||"",t+=e.port?":"+e.port:"",t+=e.pathname||"",t+=e.search||"",t+=e.hash||"",t}function Y4(){this.protocol=null,this.slashes=null,this.auth=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.pathname=null}const si=/^([a-z0-9.+-]+:)/i,ai=/:[0-9]*$/,ii=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,ci=["<",">",'"',"`"," ","\r",` -`," "],ui=["{","}","|","\\","^","`"].concat(ci),di=["'"].concat(ui),A7=["%","/","?",";","#"].concat(di),h7=["/","?","#"],fi=255,p7=/^[+a-z0-9A-Z_-]{0,63}$/,Ai=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,m7={javascript:!0,"javascript:":!0},g7={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0};function At(e,t){if(e&&e instanceof Y4)return e;const n=new Y4;return n.parse(e,t),n}Y4.prototype.parse=function(e,t){let n,l,o,r=e;if(r=r.trim(),!t&&e.split("#").length===1){const c=ii.exec(r);if(c)return this.pathname=c[1],c[2]&&(this.search=c[2]),this}let s=si.exec(r);if(s&&(s=s[0],n=s.toLowerCase(),this.protocol=s,r=r.substr(s.length)),(t||s||r.match(/^\/\/[^@\/]+@[^@\/]+/))&&(o=r.substr(0,2)==="//",o&&!(s&&m7[s])&&(r=r.substr(2),this.slashes=!0)),!m7[s]&&(o||s&&!g7[s])){let c=-1;for(let p=0;p127?M+="x":M+=F[E];if(!M.match(p7)){const E=p.slice(0,y),_=p.slice(y+1),R=F.match(Ai);R&&(E.push(R[1]),_.unshift(R[2])),_.length&&(r=_.join(".")+r),this.hostname=E.join(".");break}}}}this.hostname.length>fi&&(this.hostname=""),m&&(this.hostname=this.hostname.substr(1,this.hostname.length-2))}const a=r.indexOf("#");a!==-1&&(this.hash=r.substr(a),r=r.slice(0,a));const i=r.indexOf("?");return i!==-1&&(this.search=r.substr(i),r=r.slice(0,i)),r&&(this.pathname=r),g7[n]&&this.hostname&&!this.pathname&&(this.pathname=""),this};Y4.prototype.parseHost=function(e){let t=ai.exec(e);t&&(t=t[0],t!==":"&&(this.port=t.substr(1)),e=e.substr(0,e.length-t.length)),e&&(this.hostname=e)};const hi=Object.freeze(Object.defineProperty({__proto__:null,decode:fe,encode:i3,format:ft,parse:At},Symbol.toStringTag,{value:"Module"})),$0=/[\0-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,W0=/[\0-\x1F\x7F-\x9F]/,pi=/[\xAD\u0600-\u0605\u061C\u06DD\u070F\u0890\u0891\u08E2\u180E\u200B-\u200F\u202A-\u202E\u2060-\u2064\u2066-\u206F\uFEFF\uFFF9-\uFFFB]|\uD804[\uDCBD\uDCCD]|\uD80D[\uDC30-\uDC3F]|\uD82F[\uDCA0-\uDCA3]|\uD834[\uDD73-\uDD7A]|\uDB40[\uDC01\uDC20-\uDC7F]/,Wt=/[!-#%-\*,-\/:;\?@\[-\]_\{\}\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061D-\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B4E\u1B4F\u1B5A-\u1B60\u1B7D-\u1B7F\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u2E52-\u2E5D\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD803[\uDD6E\uDEAD\uDED0\uDF55-\uDF59\uDF86-\uDF89]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC8\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9\uDFD4\uDFD5\uDFD7\uDFD8]|\uD805[\uDC4B-\uDC4F\uDC5A\uDC5B\uDC5D\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDE60-\uDE6C\uDEB9\uDF3C-\uDF3E]|\uD806[\uDC3B\uDD44-\uDD46\uDDE2\uDE3F-\uDE46\uDE9A-\uDE9C\uDE9E-\uDEA2\uDF00-\uDF09\uDFE1]|\uD807[\uDC41-\uDC45\uDC70\uDC71\uDEF7\uDEF8\uDF43-\uDF4F\uDFFF]|\uD809[\uDC70-\uDC74]|\uD80B[\uDFF1\uDFF2]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD81B[\uDD6D-\uDD6F\uDE97-\uDE9A\uDFE2]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]|\uD839\uDDFF|\uD83A[\uDD5E\uDD5F]/,L0=/[\$\+<->\^`\|~\xA2-\xA6\xA8\xA9\xAC\xAE-\xB1\xB4\xB8\xD7\xF7\u02C2-\u02C5\u02D2-\u02DF\u02E5-\u02EB\u02ED\u02EF-\u02FF\u0375\u0384\u0385\u03F6\u0482\u058D-\u058F\u0606-\u0608\u060B\u060E\u060F\u06DE\u06E9\u06FD\u06FE\u07F6\u07FE\u07FF\u0888\u09F2\u09F3\u09FA\u09FB\u0AF1\u0B70\u0BF3-\u0BFA\u0C7F\u0D4F\u0D79\u0E3F\u0F01-\u0F03\u0F13\u0F15-\u0F17\u0F1A-\u0F1F\u0F34\u0F36\u0F38\u0FBE-\u0FC5\u0FC7-\u0FCC\u0FCE\u0FCF\u0FD5-\u0FD8\u109E\u109F\u1390-\u1399\u166D\u17DB\u1940\u19DE-\u19FF\u1B61-\u1B6A\u1B74-\u1B7C\u1FBD\u1FBF-\u1FC1\u1FCD-\u1FCF\u1FDD-\u1FDF\u1FED-\u1FEF\u1FFD\u1FFE\u2044\u2052\u207A-\u207C\u208A-\u208C\u20A0-\u20C1\u2100\u2101\u2103-\u2106\u2108\u2109\u2114\u2116-\u2118\u211E-\u2123\u2125\u2127\u2129\u212E\u213A\u213B\u2140-\u2144\u214A-\u214D\u214F\u218A\u218B\u2190-\u2307\u230C-\u2328\u232B-\u2429\u2440-\u244A\u249C-\u24E9\u2500-\u2767\u2794-\u27C4\u27C7-\u27E5\u27F0-\u2982\u2999-\u29D7\u29DC-\u29FB\u29FE-\u2B73\u2B76-\u2BFF\u2CE5-\u2CEA\u2E50\u2E51\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFF\u3004\u3012\u3013\u3020\u3036\u3037\u303E\u303F\u309B\u309C\u3190\u3191\u3196-\u319F\u31C0-\u31E5\u31EF\u3200-\u321E\u322A-\u3247\u3250\u3260-\u327F\u328A-\u32B0\u32C0-\u33FF\u4DC0-\u4DFF\uA490-\uA4C6\uA700-\uA716\uA720\uA721\uA789\uA78A\uA828-\uA82B\uA836-\uA839\uAA77-\uAA79\uAB5B\uAB6A\uAB6B\uFB29\uFBB2-\uFBD2\uFD40-\uFD4F\uFD90\uFD91\uFDC8-\uFDCF\uFDFC-\uFDFF\uFE62\uFE64-\uFE66\uFE69\uFF04\uFF0B\uFF1C-\uFF1E\uFF3E\uFF40\uFF5C\uFF5E\uFFE0-\uFFE6\uFFE8-\uFFEE\uFFFC\uFFFD]|\uD800[\uDD37-\uDD3F\uDD79-\uDD89\uDD8C-\uDD8E\uDD90-\uDD9C\uDDA0\uDDD0-\uDDFC]|\uD802[\uDC77\uDC78\uDEC8]|\uD803[\uDD8E\uDD8F\uDED1-\uDED8]|\uD805\uDF3F|\uD807[\uDFD5-\uDFF1]|\uD81A[\uDF3C-\uDF3F\uDF45]|\uD82F\uDC9C|\uD833[\uDC00-\uDCEF\uDCFA-\uDCFC\uDD00-\uDEB3\uDEBA-\uDED0\uDEE0-\uDEF0\uDF50-\uDFC3]|\uD834[\uDC00-\uDCF5\uDD00-\uDD26\uDD29-\uDD64\uDD6A-\uDD6C\uDD83\uDD84\uDD8C-\uDDA9\uDDAE-\uDDEA\uDE00-\uDE41\uDE45\uDF00-\uDF56]|\uD835[\uDEC1\uDEDB\uDEFB\uDF15\uDF35\uDF4F\uDF6F\uDF89\uDFA9\uDFC3]|\uD836[\uDC00-\uDDFF\uDE37-\uDE3A\uDE6D-\uDE74\uDE76-\uDE83\uDE85\uDE86]|\uD838[\uDD4F\uDEFF]|\uD83B[\uDCAC\uDCB0\uDD2E\uDEF0\uDEF1]|\uD83C[\uDC00-\uDC2B\uDC30-\uDC93\uDCA0-\uDCAE\uDCB1-\uDCBF\uDCC1-\uDCCF\uDCD1-\uDCF5\uDD0D-\uDDAD\uDDE6-\uDE02\uDE10-\uDE3B\uDE40-\uDE48\uDE50\uDE51\uDE60-\uDE65\uDF00-\uDFFF]|\uD83D[\uDC00-\uDED8\uDEDC-\uDEEC\uDEF0-\uDEFC\uDF00-\uDFD9\uDFE0-\uDFEB\uDFF0]|\uD83E[\uDC00-\uDC0B\uDC10-\uDC47\uDC50-\uDC59\uDC60-\uDC87\uDC90-\uDCAD\uDCB0-\uDCBB\uDCC0\uDCC1\uDCD0-\uDCD8\uDD00-\uDE57\uDE60-\uDE6D\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF-\uDEF8\uDF00-\uDF92\uDF94-\uDFEF\uDFFA]/,P0=/[ \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/,mi=Object.freeze(Object.defineProperty({__proto__:null,Any:$0,Cc:W0,Cf:pi,P:Wt,S:L0,Z:P0},Symbol.toStringTag,{value:"Module"})),gi=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);function vi(e){return e>=55296&&e<=57343||e>1114111?65533:gi.get(e)??e}function yi(e){const t=atob(e),n=t.length&-2,l=new Uint16Array(n/2);for(let o=0,r=0;o=J1.ZERO&&e<=J1.NINE}function ki(e){return e>=J1.UPPER_A&&e<=J1.UPPER_F||e>=J1.LOWER_A&&e<=J1.LOWER_F}function Ci(e){return e>=J1.UPPER_A&&e<=J1.UPPER_Z||e>=J1.LOWER_A&&e<=J1.LOWER_Z||ht(e)}function wi(e){return e===J1.EQUALS||Ci(e)}var s2;(function(e){e[e.EntityStart=0]="EntityStart",e[e.NumericStart=1]="NumericStart",e[e.NumericDecimal=2]="NumericDecimal",e[e.NumericHex=3]="NumericHex",e[e.NamedEntity=4]="NamedEntity"})(s2||(s2={}));var I3;(function(e){e[e.Legacy=0]="Legacy",e[e.Strict=1]="Strict",e[e.Attribute=2]="Attribute"})(I3||(I3={}));class xi{constructor(t,n,l){O1(this,"decodeTree");O1(this,"emitCodePoint");O1(this,"errors");O1(this,"state",s2.EntityStart);O1(this,"consumed",1);O1(this,"result",0);O1(this,"treeIndex",0);O1(this,"excess",1);O1(this,"decodeMode",I3.Strict);O1(this,"runConsumed",0);this.decodeTree=t,this.emitCodePoint=n,this.errors=l}startEntity(t){this.decodeMode=t,this.state=s2.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1,this.runConsumed=0}write(t,n){switch(this.state){case s2.EntityStart:return t.charCodeAt(n)===J1.NUM?(this.state=s2.NumericStart,this.consumed+=1,this.stateNumericStart(t,n+1)):(this.state=s2.NamedEntity,this.stateNamedEntity(t,n));case s2.NumericStart:return this.stateNumericStart(t,n);case s2.NumericDecimal:return this.stateNumericDecimal(t,n);case s2.NumericHex:return this.stateNumericHex(t,n);case s2.NamedEntity:return this.stateNamedEntity(t,n)}}stateNumericStart(t,n){return n>=t.length?-1:(t.charCodeAt(n)|v7)===J1.LOWER_X?(this.state=s2.NumericHex,this.consumed+=1,this.stateNumericHex(t,n+1)):(this.state=s2.NumericDecimal,this.stateNumericDecimal(t,n))}stateNumericHex(t,n){for(;n>14;for(;n>7;if(this.runConsumed===0){const i=o&g2.JUMP_TABLE;if(t.charCodeAt(n)!==i)return this.result===0?0:this.emitNotTerminatedNamedEntity();n++,this.excess++,this.runConsumed++}for(;this.runConsumed=t.length)return-1;const i=this.runConsumed-1,c=l[this.treeIndex+1+(i>>1)],d=i%2===0?c&255:c>>8&255;if(t.charCodeAt(n)!==d)return this.runConsumed=0,this.result===0?0:this.emitNotTerminatedNamedEntity();n++,this.excess++,this.runConsumed++}this.runConsumed=0,this.treeIndex+=1+(a>>1),o=l[this.treeIndex],r=(o&g2.VALUE_LENGTH)>>14}if(n>=t.length)break;const s=t.charCodeAt(n);if(s===J1.SEMI&&r!==0&&(o&g2.FLAG13)!==0)return this.emitNamedEntityData(this.treeIndex,r,this.consumed+this.excess);if(this.treeIndex=Ii(l,o,this.treeIndex+Math.max(1,r),s),this.treeIndex<0)return this.result===0||this.decodeMode===I3.Attribute&&(r===0||wi(s))?0:this.emitNotTerminatedNamedEntity();if(o=l[this.treeIndex],r=(o&g2.VALUE_LENGTH)>>14,r!==0){if(s===J1.SEMI)return this.emitNamedEntityData(this.treeIndex,r,this.consumed+this.excess);this.decodeMode!==I3.Strict&&(o&g2.FLAG13)===0&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}n++,this.excess++}return-1}emitNotTerminatedNamedEntity(){var o;const{result:t,decodeTree:n}=this,l=(n[t]&g2.VALUE_LENGTH)>>14;return this.emitNamedEntityData(t,l,this.consumed),(o=this.errors)==null||o.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(t,n,l){const{decodeTree:o}=this;return this.emitCodePoint(n===1?o[t]&~(g2.VALUE_LENGTH|g2.FLAG13):o[t+1],l),n===3&&this.emitCodePoint(o[t+2],l),l}end(){var t;switch(this.state){case s2.NamedEntity:return this.result!==0&&(this.decodeMode!==I3.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case s2.NumericDecimal:return this.emitNumericEntity(0,2);case s2.NumericHex:return this.emitNumericEntity(0,3);case s2.NumericStart:return(t=this.errors)==null||t.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case s2.EntityStart:return 0}}}function _i(e){let t="";const n=new xi(e,l=>t+=String.fromCodePoint(l));return function(o,r){let s=0,a=0;for(;(a=o.indexOf("&",a))>=0;){t+=o.slice(s,a),n.startEntity(r);const c=n.write(o,a+1);if(c<0){s=a+n.end();break}s=a+c,a=c===0?s+1:s}const i=t+o.slice(s);return t="",i}}function Ii(e,t,n,l){const o=(t&g2.BRANCH_LENGTH)>>7,r=t&g2.JUMP_TABLE;if(o===0)return r!==0&&l===r?n:-1;if(r){const c=l-r;return c<0||c>=o?-1:e[n+c]-1}const s=o+1>>1;let a=0,i=o-1;for(;a<=i;){const c=a+i>>>1,d=c>>1,A=e[n+d]>>(c&1)*8&255;if(Al)i=c-1;else return e[n+s+c]}return-1}const Mi=_i(bi);function H0(e){return Mi(e,I3.Strict)}var Ei=class{constructor(e={}){O1(this,"src_Any",$0.source);O1(this,"src_Cc",W0.source);O1(this,"src_Z",P0.source);O1(this,"src_P",Wt.source);O1(this,"src_ZPCc",[this.src_Z,this.src_P,this.src_Cc].join("|"));O1(this,"src_ZCc",[this.src_Z,this.src_Cc].join("|"));O1(this,"cache",{});O1(this,"opts",{maxLength:1e4,urlAuth:!1,schema_names:[]});this.opts={...this.opts,...e}}set(e={}){return this.opts={...this.opts,...e},this.cache={},this}escapeRE(e){return e.replace(/[.?*+^$[\]\\(){}|-]/g,"\\$&")}nestedPairRE(e,t,n=4){const l=this.escapeRE(e),o=this.escapeRE(t),r=`(?:(?!${this.src_ZCc}|${l}|${o}).)`;let s=`${l}${r}{0,1000}${o}`;for(let a=2;a<=n;a++)s=`${l}(?:${r}|${s}){0,1000}${o}`;return s}get_text_separators(){var e;return(e=this.cache).text_separators??(e.text_separators=/[><\uff5c]/)}get_pseudo_letter(){var e;return(e=this.cache).src_pseudo_letter??(e.src_pseudo_letter=new RegExp(`(?:(?!${this.get_text_separators().source}|${this.src_ZPCc})${this.src_Any})`))}get_ipv4_addr(){var e;return(e=this.cache).src_ip4??(e.src_ip4=new RegExp("(?:(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])[.]){3}(?:25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]|[0-9])"))}get_ipv6_addr(){var n;const e="[0-9A-Fa-f]{1,4}",t=`(?:(?:${e}:${e})|${this.get_ipv4_addr().source})`;return(n=this.cache).src_ip6_addr??(n.src_ip6_addr=new RegExp(`(?:(?:${e}:){6}${t}|::(?:${e}:){5}${t}|(?:${e})?::(?:${e}:){4}${t}|(?:(?:${e}:){0,1}${e})?::(?:${e}:){3}${t}|(?:(?:${e}:){0,2}${e})?::(?:${e}:){2}${t}|(?:(?:${e}:){0,3}${e})?::${e}:${t}|(?:(?:${e}:){0,4}${e})?::${t}|(?:(?:${e}:){0,5}${e})?::${e}|(?:(?:${e}:){0,6}${e})?::)`))}get_ipv6_url_host(){var e;return(e=this.cache).src_ip6_host??(e.src_ip6_host=new RegExp(`\\[${this.get_ipv6_addr().source}\\]`))}get_ipv6_mail_host(){var e;return(e=this.cache).src_ipv6_mail_host??(e.src_ipv6_mail_host=new RegExp(`\\[IPv6:${this.get_ipv6_addr().source}\\]`))}get_auth(){var e;return(e=this.cache).src_auth??(e.src_auth=new RegExp(`(?:(?:(?!${this.src_ZCc}|[@/\\[\\]()]).){1,50}@)?`))}get_port(){var e;return(e=this.cache).src_port??(e.src_port=new RegExp("(?::(?:6(?:[0-4]\\d{3}|5(?:[0-4]\\d{2}|5(?:[0-2]\\d|3[0-5])))|[1-5]?\\d{1,4}))?"))}get_host_terminator(){var e;return(e=this.cache).src_host_terminator??(e.src_host_terminator=new RegExp(`(?=$|${this.get_text_separators().source}|${this.src_ZPCc})(?!${this.opts["---"]?"-(?!--)|":"-|"}_|:\\d|\\.-|\\.(?!$|${this.src_ZPCc}))`))}get_path_terminator(){var e;return(e=this.cache).src_path_terminator??(e.src_path_terminator=new RegExp(`${this.src_ZPCc}|${this.get_text_separators().source}`))}get_path(){var e;return(e=this.cache).src_path??(e.src_path=new RegExp(`(?:[/?#](?:${this.nestedPairRE("[","]")}|${this.nestedPairRE("(",")")}|${this.nestedPairRE("{","}")}|\\"(?:(?!${this.src_ZCc}|["]).){1,100}\\"|\\'(?:(?!${this.src_ZCc}|[']).){1,100}\\'|\\'(?=${this.get_pseudo_letter().source}|[-])|\\.{2,20}[:]?[a-zA-Z0-9%/&]|\\.(?!${this.src_ZCc}|[.]|$)|`+(this.opts["---"]?"\\-(?!--(?:[^-]|$))(?:-{0,19})|":"\\-{1,20}|")+`,(?!${this.src_ZCc}|$)|;(?!${this.src_ZCc}|$)|\\!{1,20}(?!${this.src_ZCc}|[!]|$)|\\?(?!${this.src_ZCc}|[?]|$)|`+this.get_path_extra().source+`[\\\\/:%@#&=_~*]|(?!${this.get_path_terminator().source}).){1,${this.opts.maxLength}}|\\/)?`))}get_mail_name(){var e;return(e=this.cache).src_mail_name??(e.src_mail_name=new RegExp("[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9](?:[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9]|[.](?=[-!#$%&'*+/=?^_`{|}~a-zA-Z0-9])){0,63}"))}get_xn(){var e;return(e=this.cache).src_xn??(e.src_xn=new RegExp("xn--[a-z0-9\\-]{1,59}"))}get_tld(){if(this.cache.tld)return this.cache.tld;const e=[...new Set(this.opts.tlds||[])].sort().reverse().join("|");return this.cache.tld=new RegExp(`${e||"$#none#$"}|${this.get_xn().source}`),this.cache.tld}get_domain_root(){var e;return(e=this.cache).src_domain_root??(e.src_domain_root=new RegExp("(?:"+this.get_xn().source+`|${this.get_pseudo_letter().source}{1,63})`))}get_domain(){var e;return(e=this.cache).src_domain??(e.src_domain=new RegExp("(?:"+this.get_xn().source+`|(?:${this.get_pseudo_letter().source})|(?:${this.get_pseudo_letter().source}(?:-|${this.get_pseudo_letter().source}){0,61}${this.get_pseudo_letter().source}))`))}get_url_host_port(){var e;return(e=this.cache).url_host_port??(e.url_host_port=new RegExp("(?:"+this.get_ipv6_url_host().source+`|(?:(?:(?:${this.get_domain().source})\\.){0,10}${this.get_domain().source}))`+this.get_port().source+this.get_host_terminator().source))}get_fuzzy_url_host_port(){var e;return(e=this.cache).fuzzy_url_host_port??(e.fuzzy_url_host_port=new RegExp("(?:"+(this.opts.fuzzyIP?this.get_ipv4_addr().source+"|":"")+`(?:(?:(?:${this.get_domain().source})\\.){1,10}(?:${this.get_tld().source})))`+this.get_host_terminator().source))}get_mail_host(){var e;return(e=this.cache).src_mail_host??(e.src_mail_host=new RegExp("(?:"+this.get_ipv6_mail_host().source+`|(?:(?:(?:${this.get_domain().source})\\.){0,4}${this.get_domain().source}))`+this.get_host_terminator().source))}get_fuzzy_mail_host(){var e;return(e=this.cache).src_fuzzy_mail_host??(e.src_fuzzy_mail_host=new RegExp("(?:"+this.get_ipv6_mail_host().source+`|(?:(?:(?:${this.get_domain().source})[.]){1,4}${this.get_domain_root().source}))`+this.get_host_terminator().source))}get_path_extra(){var e;return(e=this.cache).src_path_extra??(e.src_path_extra=new RegExp(""))}get_fuzzy_mail_host_search(){var e;return(e=this.cache).mail_fuzzy_host_search??(e.mail_fuzzy_host_search=new RegExp(`@${this.get_fuzzy_mail_host().source}`,"ig"))}get_fuzzy_link_search(){var e;return(e=this.cache).link_fuzzy_search??(e.link_fuzzy_search=new RegExp(`(^|(?![.:/\\-_@])(?:[$+<=>^\`||]|${this.src_ZPCc}))(?:(?![$+<=>^\`||])${this.get_fuzzy_url_host_port().source}${this.get_path().source})`,"ig"))}get_http_validator(){var e;return(e=this.cache).http_validator??(e.http_validator=new RegExp("\\/\\/"+(this.opts.urlAuth?this.get_auth().source:"")+this.get_url_host_port().source+this.get_path().source,"iy"))}get_relative_proto_validator(){var e;return(e=this.cache).relative_proto_validator??(e.relative_proto_validator=new RegExp((this.opts.urlAuth?this.get_auth().source:"")+`(?:localhost|${this.get_ipv6_url_host().source}|(?:(?:${this.get_domain().source})[.]){1,10}${this.get_domain_root().source})`+this.get_port().source+this.get_host_terminator().source+this.get_path().source,"iy"))}get_mail_name_validator(){var e;return(e=this.cache).mail_name_validator??(e.mail_name_validator=new RegExp(`(?:^|${this.get_text_separators().source}|"|\\(|${this.src_ZCc})(${this.get_mail_name().source})$`))}get_mailto_validator(){var e;return(e=this.cache).mailto_validator??(e.mailto_validator=new RegExp(`${this.get_mail_name().source}@${this.get_mail_host().source}`,"iy"))}get_schema_names(){var e;return(e=this.cache).schema_names??(e.schema_names=new RegExp((this.opts.schema_names||[]).map(t=>this.escapeRE(t)).join("|")))}get_schema_search(){var e;return(e=this.cache).schema_search??(e.schema_search=new RegExp(`(^|(?!_)(?:[><|]|${this.src_ZPCc}))(${this.get_schema_names().source})`,"ig"))}get_schema_at_start(){var e;return(e=this.cache).schema_at_start??(e.schema_at_start=new RegExp(`^${this.get_schema_search().source}`,"i"))}},K5={validate:(e,t,n)=>{const l=n.re.get_http_validator();l.lastIndex=t;const o=l.exec(e);return o?o[0].length:0},normalize:(e,t)=>t.normalize(e)},Di={"http:":K5,"https:":K5,"ftp:":K5,"//":{validate:function(e,t,n){const l=n.re.get_relative_proto_validator();l.lastIndex=t;const o=l.exec(e);return o?t>=3&&e[t-3]===":"||t>=3&&e[t-3]==="/"?0:o[0].length:0},normalize:(e,t)=>t.normalize(e)},"mailto:":{validate:function(e,t,n){const l=n.re.get_mailto_validator();l.lastIndex=t;const o=l.exec(e);return o?o[0].length:0},normalize:(e,t)=>t.normalize(e)}},Zi="a:cdefgilmnoqrstuwxz|b:abdefghijmnorstvwyz|c:acdfghiklmnoruvwxyz|d:ejkmoz|e:cegrstu|f:ijkmor|g:abdefghilmnpqrstuwy|h:kmnrtu|i:delmnoqrst|j:emop|k:eghimnprwyz|l:abcikrstuvy|m:acdeghklmnopqrstuvwxyz|n:acefgilopruz|o:m|p:aefghklmnrstwy|q:a|r:eosuw|s:abcdeghijklmnortuvxyz|t:cdfghjklmnortvwz|u:agksyz|v:aceginu|w:fs|y:et|z:amw",Fi="biz|com|edu|gov|net|org|pro|web|xxx|aero|asia|coop|info|museum|name|shop|рф";function Bi(){const e=Fi.split("|");return Zi.split("|").forEach(t=>{const n=t.indexOf(":"),l=t.slice(0,n);for(const o of t.slice(n+1))e.push(l+o)}),e}var Si={fuzzyLink:!1,fuzzyEmail:!0,fuzzyIP:!1,"---":!1,tlds:Bi(),urlAuth:!1,maxLength:1e4},y7=class{constructor(e,t,n,l){O1(this,"schema");O1(this,"index");O1(this,"lastIndex");O1(this,"raw");O1(this,"text");O1(this,"url");const o=e.slice(n,l);this.schema=t.toLowerCase(),this.index=n,this.lastIndex=l,this.raw=o,this.text=o,this.url=o}},Ri=class{constructor(e={}){O1(this,"__opts__");O1(this,"__schemas__");O1(this,"re");const{rebuilder:t,...n}=e;this.__opts__={...Si,...n},this.__schemas__={...Di},this.re=t||new Ei,this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)})}add(e,t=null){if(!t)delete this.__schemas__[e];else{const n={normalize:(l,o)=>o.normalize(l),...t};this.__schemas__[e]=n}return this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}set(e={}){return this.__opts__={...this.__opts__,...e},this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}test(e){if(!e.length)return!1;let t,n;for(n=this.re.get_schema_search(),n.lastIndex=0;(t=n.exec(e))!==null;)if(this.testSchemaAt(e,t[2],n.lastIndex))return!0;if(this.__opts__.fuzzyLink&&this.__schemas__["http:"]&&(n=this.re.get_fuzzy_link_search(),n.lastIndex=0,n.exec(e)!==null))return!0;if(this.__opts__.fuzzyEmail&&this.__schemas__["mailto:"]&&e.indexOf("@")>=0){const l=this.re.get_fuzzy_mail_host_search(),o=this.re.get_mail_name_validator();for(l.lastIndex=0;(t=l.exec(e))!==null;){const r=e.slice(Math.max(0,t.index-65),t.index);if(o.test(r))return!0}}return!1}testSchemaAt(e,t,n){return this.__schemas__[t.toLowerCase()]?this.__schemas__[t.toLowerCase()].validate(e.slice(0,n+this.__opts__.maxLength),n,this):0}match(e){const t=[],n=this.re.get_schema_search();let l,o,r,s,a,i,c=!1,d=!1,u=!1,A=0;if(!e.length)return null;for(n.lastIndex=0,this.__opts__.fuzzyLink&&this.__schemas__["http:"]&&(l=this.re.get_fuzzy_link_search(),l.lastIndex=0),this.__opts__.fuzzyEmail&&this.__schemas__["mailto:"]&&(o=this.re.get_fuzzy_mail_host_search(),o.lastIndex=0,r=this.re.get_mail_name_validator());;){const m=Math.max(A-1,0);if(o&&r&&!u&&(!a||a.index=A)break;o.lastIndex=A)break;l.lastIndexp.lastIndex))&&(p=s);let y;if(!c)for(;;){if(!i){n.lastIndexp.index)break;const M=i;i=void 0;const E=this.testSchemaAt(e,M.schema,M.lastIndex);if(E){y={schema:M.schema,index:M.index,lastIndex:M.lastIndex+E};break}}let k=y;if((!k||a&&(a.indexk.lastIndex))&&(k=a),(!k||s&&(s.indexk.lastIndex))&&(k=s),!k)break;k===a?a=void 0:k===s&&(s=void 0);const F=new y7(e,k.schema,k.index,k.lastIndex);F.schema?this.__schemas__[F.schema].normalize(F,this):this.normalize(F),t.push(F),A=k.lastIndex}return t.length?t:null}matchAtStart(e){if(!e.length)return null;const t=this.re.get_schema_at_start().exec(e);if(!t)return null;const n=this.testSchemaAt(e,t[2],t[0].length);if(!n)return null;const l=new y7(e,t[2],t.index+t[1].length,t.index+t[0].length+n);return this.__schemas__[l.schema].normalize(l,this),l}tlds(e,t=!1){return e=Array.isArray(e)?e:[e],t?this.__opts__.tlds=this.__opts__.tlds.concat(e):this.__opts__.tlds=e,this.re.set({...this.__opts__,schema_names:Object.keys(this.__schemas__)}),this}normalize(e){e.schema||(e.url=`http://${e.url}`),e.schema==="mailto:"&&!/^mailto:/i.test(e.url)&&(e.url=`mailto:${e.url}`)}};const ae=2147483647,U2=36,Lt=1,t4=26,Qi=38,Ni=700,T0=72,Y0=128,V0="-",Ki=/^xn--/,Gi=/[^\0-\x7F]/,Oi=/[\x2E\u3002\uFF0E\uFF61]/g,$i={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},G5=U2-Lt,J2=Math.floor,O5=String.fromCharCode;function _3(e){throw new RangeError($i[e])}function Wi(e,t){const n=[];let l=e.length;for(;l--;)n[l]=t(e[l]);return n}function U0(e,t){const n=e.split("@");let l="";n.length>1&&(l=n[0]+"@",e=n[1]),e=e.replace(Oi,".");const o=e.split("."),r=Wi(o,t).join(".");return l+r}function J0(e){const t=[];let n=0;const l=e.length;for(;n=55296&&o<=56319&&nString.fromCodePoint(...e),Pi=function(e){return e>=48&&e<58?26+(e-48):e>=65&&e<91?e-65:e>=97&&e<123?e-97:U2},b7=function(e,t){return e+22+75*(e<26)-((t!=0)<<5)},z0=function(e,t,n){let l=0;for(e=n?J2(e/Ni):e>>1,e+=J2(e/t);e>G5*t4>>1;l+=U2)e=J2(e/G5);return J2(l+(G5+1)*e/(e+Qi))},j0=function(e){const t=[],n=e.length;let l=0,o=Y0,r=T0,s=e.lastIndexOf(V0);s<0&&(s=0);for(let a=0;a=128&&_3("not-basic"),t.push(e.charCodeAt(a));for(let a=s>0?s+1:0;a=n&&_3("invalid-input");const A=Pi(e.charCodeAt(a++));A>=U2&&_3("invalid-input"),A>J2((ae-l)/d)&&_3("overflow"),l+=A*d;const m=u<=r?Lt:u>=r+t4?t4:u-r;if(AJ2(ae/p)&&_3("overflow"),d*=p}const c=t.length+1;r=z0(l-i,c,i==0),J2(l/c)>ae-o&&_3("overflow"),o+=J2(l/c),l%=c,t.splice(l++,0,o)}return String.fromCodePoint(...t)},X0=function(e){const t=[];e=J0(e);const n=e.length;let l=Y0,o=0,r=T0;for(const i of e)i<128&&t.push(O5(i));const s=t.length;let a=s;for(s&&t.push(V0);a=l&&dJ2((ae-o)/c)&&_3("overflow"),o+=(i-l)*c,l=i;for(const d of e)if(dae&&_3("overflow"),d===l){let u=o;for(let A=U2;;A+=U2){const m=A<=r?Lt:A>=r+t4?t4:A-r;if(u{let n={};for(var l in e)C7(n,l,{get:e[l],enumerable:!0});return C7(n,Symbol.toStringTag,{value:"Module"}),n},Yi=q0({arrayReplaceAt:()=>Vi,asciiTrim:()=>h5,callable:()=>en,escapeHtml:()=>D3,escapeRE:()=>lc,fromCodePoint:()=>n4,isMdAsciiPunct:()=>r4,isPunctChar:()=>nn,isPunctCharCode:()=>o4,isSpace:()=>H1,isValidEntityCode:()=>Pt,isWhiteSpace:()=>l4,lib:()=>oc,normalizeReference:()=>A5,unescapeAll:()=>Ae,unescapeMd:()=>ji});function en(e){const t=function(...n){return Reflect.construct(e,n,new.target&&new.target!==t?new.target:e)};return Object.defineProperty(t,"name",{value:e.name}),Object.setPrototypeOf(t,e),t.prototype=e.prototype,t}function Vi(e,t,n){return[].concat(e.slice(0,t),n,e.slice(t+1))}function Pt(e){return!(e>=55296&&e<=57343||e>=64976&&e<=65007||(e&65535)===65535||(e&65535)===65534||e>=0&&e<=8||e===11||e>=14&&e<=31||e>=127&&e<=159||e>1114111)}function n4(e){if(e>65535){e-=65536;const t=55296+(e>>10),n=56320+(e&1023);return String.fromCharCode(t,n)}return String.fromCharCode(e)}var tn=/\\([!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])/g,Ui=new RegExp(`${tn.source}|${/&([a-z#][a-z0-9]{1,31});/gi.source}`,"gi"),Ji=/^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))$/i;function zi(e,t){if(t.charCodeAt(0)===35&&Ji.test(t)){const l=t[1].toLowerCase()==="x"?parseInt(t.slice(2),16):parseInt(t.slice(1),10);return Pt(l)?n4(l):e}const n=H0(e);return n!==e?n:e}function ji(e){return e.indexOf("\\")<0?e:e.replace(tn,"$1")}function Ae(e){return e.indexOf("\\")<0&&e.indexOf("&")<0?e:e.replace(Ui,function(t,n,l){return n||zi(t,l)})}var Xi=/[&<>"]/,qi=/[&<>"]/g,ec={"&":"&","<":"<",">":">",'"':"""};function tc(e){return ec[e]}function D3(e){return Xi.test(e)?e.replace(qi,tc):e}var nc=/[.?*+^$[\]\\(){}|-]/g;function lc(e){return e.replace(nc,"\\$&")}function H1(e){switch(e){case 9:case 32:return!0}return!1}function l4(e){if(e>=8192&&e<=8202)return!0;switch(e){case 9:case 10:case 11:case 12:case 13:case 32:case 160:case 5760:case 8239:case 8287:case 12288:return!0}return!1}function nn(e){return Wt.test(e)||L0.test(e)}function o4(e){return nn(n4(e))}function r4(e){switch(e){case 33:case 34:case 35:case 36:case 37:case 38:case 39:case 40:case 41:case 42:case 43:case 44:case 45:case 46:case 47:case 58:case 59:case 60:case 61:case 62:case 63:case 64:case 91:case 92:case 93:case 94:case 95:case 96:case 123:case 124:case 125:case 126:return!0;default:return!1}}function A5(e){return e=e.trim().replace(/\s+/g," "),e.toLowerCase().toUpperCase()}function w7(e){return e===32||e===9||e===10||e===13}function h5(e){let t=0;for(;t=t&&w7(e.charCodeAt(n));n--);return e.slice(t,n+1)}var oc={mdurl:hi,ucmicro:mi};function rc(e,t,n){let l,o,r,s;const a=e.posMax,i=e.pos;for(e.pos=t+1,l=1;e.pos32))return r;if(l===41){if(s===0)break;s--}o++}return t===o||s!==0||(r.str=Ae(e.slice(t,o)),r.pos=o,r.ok=!0),r}function ac(e,t,n,l){let o,r=t;const s={ok:!1,can_continue:!1,pos:0,str:"",marker:0};if(l)s.str=l.str,s.marker=l.marker;else{if(r>=n)return s;let a=e.charCodeAt(r);if(a!==34&&a!==39&&a!==40)return s;t++,r++,a===40&&(a=41),s.marker=a}for(;rsc,parseLinkLabel:()=>rc,parseLinkTitle:()=>ac});function s4(e){"@babel/helpers - typeof";return s4=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},s4(e)}function cc(e,t){if(s4(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var l=n.call(e,t);if(s4(l)!="object")return l;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function uc(e){var t=cc(e,"string");return s4(t)=="symbol"?t:t+""}function h1(e,t,n){return(t=uc(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var U3=class{constructor(e,t,n){h1(this,"map",null),h1(this,"level",0),h1(this,"children",null),h1(this,"content",""),h1(this,"markup",""),h1(this,"info",""),h1(this,"block",!1),h1(this,"hidden",!1),this.type=e,this.tag=t,this.attrs=null,this.nesting=n,this.meta=null}attrIndex(e){if(!this.attrs)return-1;const t=this.attrs;for(let n=0,l=t.length;n=0&&(n=this.attrs[t][1]),n}attrJoin(e,t){const n=this.attrIndex(e);n<0?this.attrPush([e,t]):this.attrs[n][1]=`${this.attrs[n][1]} ${t}`}},a4=class{constructor(){h1(this,"__rules__",[]),h1(this,"__cache__",null)}__find__(e){for(let t=0;t{t.enabled&&t.alt.forEach(n=>{n&&e.add(n)})}),this.__cache__=Object.create(null),this.__cache__[""]=[],this.__rules__.forEach(t=>{t.enabled&&this.__cache__[""].push(t.fn)}),e.forEach(t=>{this.__cache__[t]=[],this.__rules__.forEach(n=>{n.enabled&&n.alt.indexOf(t)>=0&&this.__cache__[t].push(n.fn)})})}at(e,t,n={}){const l=this.__find__(e);if(l===-1)throw new Error(`Parser rule not found: ${e}`);this.__rules__[l].fn=t,this.__rules__[l].alt=n.alt||[],this.__cache__=null}before(e,t,n,l={}){const o=this.__find__(e);if(o===-1)throw new Error(`Parser rule not found: ${e}`);this.__rules__.splice(o,0,{name:t,enabled:!0,fn:n,alt:l.alt||[]}),this.__cache__=null}after(e,t,n,l={}){const o=this.__find__(e);if(o===-1)throw new Error(`Parser rule not found: ${e}`);this.__rules__.splice(o+1,0,{name:t,enabled:!0,fn:n,alt:l.alt||[]}),this.__cache__=null}push(e,t,n={}){this.__rules__.push({name:e,enabled:!0,fn:t,alt:n.alt||[]}),this.__cache__=null}enable(e,t=!1){Array.isArray(e)||(e=[e]);const n=[];return e.forEach(l=>{const o=this.__find__(l);if(o<0){if(t)return;throw new Error(`Rules manager: invalid rule name ${l}`)}this.__rules__[o].enabled=!0,n.push(l)}),this.__cache__=null,n}enableOnly(e,t=!1){Array.isArray(e)||(e=[e]),this.__rules__.forEach(n=>{n.enabled=!1}),this.enable(e,t)}disable(e,t=!1){Array.isArray(e)||(e=[e]);const n=[];return e.forEach(l=>{const o=this.__find__(l);if(o<0){if(t)return;throw new Error(`Rules manager: invalid rule name ${l}`)}this.__rules__[o].enabled=!1,n.push(l)}),this.__cache__=null,n}getRules(e){return this.__cache__||this.__compile__(),this.__cache__[e]||[]}},X2={};X2.code_inline=function(e,t,n,l,o){const r=e[t];return`${D3(r.content)}`};X2.code_block=function(e,t,n,l,o){const r=e[t];return`${D3(e[t].content)} -`};X2.fence=function(e,t,n,l,o){const r=e[t],s=r.info?Ae(r.info).trim():"";let a="",i="";if(s){const d=s.split(/(\s+)/g);a=d[0],i=d.slice(2).join("")}let c;if(n.highlight?c=n.highlight(r.content,a,i)||D3(r.content):c=D3(r.content),c.indexOf("${c} -`}return`
${c}
-`};X2.image=function(e,t,n,l,o){const r=e[t];return r.attrs[r.attrIndex("alt")][1]=o.renderInlineAsText(r.children,n,l),o.renderToken(e,t,n)};X2.hardbreak=function(e,t,n){return n.xhtmlOut?`
-`:`
-`};X2.softbreak=function(e,t,n){return n.breaks?n.xhtmlOut?`
-`:`
-`:` -`};X2.text=function(e,t){return D3(e[t].content)};X2.html_block=function(e,t){return e[t].content};X2.html_inline=function(e,t){return e[t].content};var ln=class{constructor(){h1(this,"rules",Object.assign({},X2))}renderAttrs(e){let t,n,l;if(!e.attrs)return"";for(l="",t=0,n=e.attrs.length;t=0&&e[r].hidden&&e[r].nesting===0;)r--;l.block&&l.nesting!==-1&&r>=0&&e[r].hidden&&e[r].nesting===-1&&(o+=` -`),o+=(l.nesting===-1?" -`:">",o}renderInline(e,t,n){let l="";const o=this.rules;for(let r=0,s=e.length;r\s]/i.test(e)}function vc(e){return/^<\/a\s*>/i.test(e)}function yc(e){const t=e.tokens;if(e.md.options.linkify)for(let n=0,l=t.length;n=0;a--){const i=o[a];if(i.type==="link_close"){for(a--;o[a].level!==i.level&&o[a].type!=="link_open";)a--;continue}if(i.type==="html_inline"&&(gc(i.content)&&s>0&&s--,vc(i.content)&&s++),!(s>0)&&i.type==="text"&&e.md.linkify.test(i.content)){const c=i.content;let d=e.md.linkify.match(c);const u=[];let A=i.level,m=0;d.length>0&&d[0].index===0&&a>0&&o[a-1].type==="text_special"&&(d=d.slice(1));for(let p=0;pm){const $=new e.Token("text","",0);$.content=c.slice(m,M),$.level=A,u.push($)}const E=new e.Token("link_open","a",1);E.attrs=[["href",k]],E.level=A++,E.markup="linkify",E.info="auto",u.push(E);const _=new e.Token("text","",0);_.content=F,_.level=A,u.push(_);const R=new e.Token("link_close","a",-1);R.level=--A,R.markup="linkify",R.info="auto",u.push(R),m=d[p].lastIndex}if(m0){let a=o.length;for(const u of r)a+=u.nodes.length-1;const i=new Array(a);let c=0,d=0;r.reverse();for(let u=0;u=0;n--){const l=e[n];l.type==="text"&&!t&&(l.content=l.content.replace(kc,wc)),l.type==="link_open"&&l.info==="auto"&&t--,l.type==="link_close"&&l.info==="auto"&&t++}}function _c(e){let t=0;for(let n=e.length-1;n>=0;n--){const l=e[n];l.type==="text"&&!t&&rn.test(l.content)&&(l.content=l.content.replace(/\+-/g,"±").replace(/\.{2,}/g,"…").replace(/([?!])…/g,"$1..").replace(/([?!]){4,}/g,"$1$1$1").replace(/,{2,}/g,",").replace(/(^|[^-])---(?=[^-]|$)/gm,"$1—").replace(/(^|\s)--(?=\s|$)/gm,"$1–").replace(/(^|[^-\s])--(?=[^-\s]|$)/gm,"$1–")),l.type==="link_open"&&l.info==="auto"&&t--,l.type==="link_close"&&l.info==="auto"&&t++}}function Ic(e){let t;if(e.md.options.typographer)for(t=e.tokens.length-1;t>=0;t--)e.tokens[t].type==="inline"&&(bc.test(e.tokens[t].content)&&xc(e.tokens[t].children),rn.test(e.tokens[t].content)&&_c(e.tokens[t].children))}var Mc=/['"]/,x7=/['"]/g,_7="’";function I4(e,t,n,l){e[t]||(e[t]=[]),e[t].push({pos:n,ch:l})}function Ec(e,t){let n="",l=0;t.sort((o,r)=>o.pos-r.pos);for(let o=0;o=0&&!(l[n].level<=a);n--);if(l.length=n+1,s.type!=="text")continue;const i=s.content;let c=0;const d=i.length;e:for(;c=0)y=i.charCodeAt(u.index-1);else for(n=r-1;n>=0&&!(e[n].type==="softbreak"||e[n].type==="hardbreak");n--)if(e[n].content){y=e[n].content.charCodeAt(e[n].content.length-1);break}let k=32;if(c=48&&y<=57&&(m=A=!1),A&&m&&(A=F,m=M),!A&&!m){p&&I4(o,r,u.index,_7);continue}if(m)for(n=l.length-1;n>=0;n--){let R=l[n];if(l[n].level=0;t--)e.tokens[t].type!=="inline"||!Mc.test(e.tokens[t].content)||Dc(e.tokens[t].children,e)}function Fc(e){let t,n;const l=e.length;for(t=0;t0&&this.level++,this.tokens.push(l),l}isEmpty(e){return this.bMarks[e]+this.tShift[e]>=this.eMarks[e]}skipEmptyLines(e){for(let t=this.lineMax;et;)if(!H1(this.src.charCodeAt(--e)))return e+1;return e}skipChars(e,t){for(let n=this.src.length;en;)if(t!==this.src.charCodeAt(--e))return e+1;return e}getLines(e,t,n,l){if(e>=t)return"";const o=new Array(t-e);for(let r=0,s=e;sn?o[r]=new Array(a-n+1).join(" ")+this.src.slice(c,d):o[r]=this.src.slice(c,d)}return o.join("")}},Sc=65536;function W5(e,t){const n=e.bMarks[t]+e.tShift[t],l=e.eMarks[t];return e.src.slice(n,l)}function I7(e){const t=[],n=e.length;let l=0,o=e.charCodeAt(l),r=!1,s=0,a="";for(;ln)return!1;let o=t+1;if(e.sCount[o]=4)return!1;let r=e.bMarks[o]+e.tShift[o];if(r>=e.eMarks[o])return!1;const s=e.src.charCodeAt(r++);if(s!==124&&s!==45&&s!==58||r>=e.eMarks[o])return!1;const a=e.src.charCodeAt(r++);if(a!==124&&a!==45&&a!==58&&!H1(a)||s===45&&H1(a))return!1;for(;r=4)return!1;c=I7(i),c.length&&c[0]===""&&c.shift(),c.length&&c[c.length-1]===""&&c.pop();const u=c.length;if(u===0||u!==d.length)return!1;if(l)return!0;const A=e.parentType;e.parentType="table";const m=e.md.block.ruler.getRules("blockquote"),p=e.push("table_open","table",1),y=[t,0];p.map=y;const k=e.push("thead_open","thead",1);k.map=[t,t+1];const F=e.push("tr_open","tr",1);F.map=[t,t+1];for(let _=0;_=4||(c=I7(i),c.length&&c[0]===""&&c.shift(),c.length&&c[c.length-1]===""&&c.pop(),E+=u-c.length,E>Sc))break;if(o===t+2){const $=e.push("tbody_open","tbody",1);$.map=M=[t+2,0]}const R=e.push("tr_open","tr",1);R.map=[o,o+1];for(let $=0;$=4){l++,o=l;continue}break}e.line=o;const r=e.push("code_block","code",0);return r.content=e.getLines(t,o,4+e.blkIndent,!1)+` -`,r.map=[t,e.line],!0}function Nc(e,t,n,l){let o=e.bMarks[t]+e.tShift[t],r=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||o+3>r)return!1;const s=e.src.charCodeAt(o);if(s!==126&&s!==96)return!1;let a=o;o=e.skipChars(o,s);let i=o-a;if(i<3)return!1;const c=e.src.slice(a,o),d=e.src.slice(o,r);if(s===96&&d.indexOf(String.fromCharCode(s))>=0)return!1;if(l)return!0;let u=t,A=!1;for(;u++,!(u>=n||(o=a=e.bMarks[u]+e.tShift[u],r=e.eMarks[u],o=4)&&(o=e.skipChars(o,s),!(o-a=4||e.src.charCodeAt(o)!==62)return!1;if(l)return!0;const a=[],i=[],c=[],d=[],u=e.md.block.ruler.getRules("blockquote"),A=e.parentType;e.parentType="blockquote";let m=!1,p;for(p=t;p=r)break;if(e.src.charCodeAt(o++)===62&&!E){let R=e.sCount[p]+1,$,D;e.src.charCodeAt(o)===32?(o++,R++,D=!1,$=!0):e.src.charCodeAt(o)===9?($=!0,(e.bsCount[p]+R)%4===3?(o++,R++,D=!1):D=!0):$=!1;let x=R;for(a.push(e.bMarks[p]),e.bMarks[p]=o;o=r,i.push(e.bsCount[p]),e.bsCount[p]=e.sCount[p]+1+($?1:0),c.push(e.sCount[p]),e.sCount[p]=x-R,d.push(e.tShift[p]),e.tShift[p]=o-e.bMarks[p];continue}if(m)break;let _=!1;for(let R=0,$=u.length;R<$;R++)if(u[R](e,p,n,!0)){_=!0;break}if(_){e.lineMax=p,e.blkIndent!==0&&(a.push(e.bMarks[p]),i.push(e.bsCount[p]),d.push(e.tShift[p]),c.push(e.sCount[p]),e.sCount[p]-=e.blkIndent);break}a.push(e.bMarks[p]),i.push(e.bsCount[p]),d.push(e.tShift[p]),c.push(e.sCount[p]),e.sCount[p]=-1}const y=e.blkIndent;e.blkIndent=0;const k=e.push("blockquote_open","blockquote",1);k.markup=">";const F=[t,0];k.map=F,e.md.block.tokenize(e,t,p);const M=e.push("blockquote_close","blockquote",-1);M.markup=">",e.lineMax=s,e.parentType=A,F[1]=e.line;for(let E=0;E=4)return!1;let r=e.bMarks[t]+e.tShift[t];const s=e.src.charCodeAt(r++);if(s!==42&&s!==45&&s!==95)return!1;let a=1;for(;r=l)return-1;let r=e.src.charCodeAt(o++);if(r<48||r>57)return-1;for(;;){if(o>=l)return-1;if(r=e.src.charCodeAt(o++),r>=48&&r<=57){if(o-n>=10)return-1;continue}if(r===41||r===46)break;return-1}return o=4||e.listIndent>=0&&e.sCount[i]-e.listIndent>=4&&e.sCount[i]=e.blkIndent&&(d=!0);let u,A,m;if((m=E7(e,i))>=0){if(u=!0,s=e.bMarks[i]+e.tShift[i],A=Number(e.src.slice(s,m-1)),d&&A!==1)return!1}else if((m=M7(e,i))>=0)u=!1;else return!1;if(d&&e.skipSpaces(m)>=e.eMarks[i])return!1;if(l)return!0;const p=e.src.charCodeAt(m-1),y=e.tokens.length;u?(a=e.push("ordered_list_open","ol",1),A!==1&&(a.attrs=[["start",A]])):a=e.push("bullet_list_open","ul",1);const k=[i,0];a.map=k,a.markup=String.fromCharCode(p);let F=!1;const M=e.md.block.ruler.getRules("list"),E=e.parentType;for(e.parentType="list";i=o?D=1:D=R-_,D>4&&(D=1);const x=_+D;a=e.push("list_item_open","li",1),a.markup=String.fromCharCode(p);const Q=[i,0];a.map=Q,u&&(a.info=e.src.slice(s,m-1));const B=e.tight,X=e.tShift[i],Y=e.sCount[i],m1=e.listIndent;if(e.listIndent=e.blkIndent,e.blkIndent=x,e.tight=!0,e.tShift[i]=$-e.bMarks[i],e.sCount[i]=R,$>=o&&e.isEmpty(i+1)?e.line=Math.min(e.line+2,n):e.md.block.tokenize(e,i,n),(!e.tight||F)&&(c=!1),F=e.line-i>1&&e.isEmpty(e.line-1),e.blkIndent=e.listIndent,e.listIndent=m1,e.tShift[i]=X,e.sCount[i]=Y,e.tight=B,a=e.push("list_item_close","li",-1),a.markup=String.fromCharCode(p),i=e.line,Q[1]=i,i>=n||e.sCount[i]=4)break;let w1=!1;for(let r1=0,l1=M.length;r1=4||e.src.charCodeAt(o)!==91)return!1;function a(_){const R=e.lineMax;if(_>=R||e.isEmpty(_))return null;let $=!1;if(e.sCount[_]-e.blkIndent>3&&($=!0),e.sCount[_]<0&&($=!0),!$){const Q=e.md.block.ruler.getRules("reference"),B=e.parentType;e.parentType="reference";let X=!1;for(let Y=0,m1=Q.length;Y"u"&&(e.env.references={}),typeof e.env.references[F]>"u"&&(e.env.references[F]={title:k,href:u});const M=e.push("reference_definition","",0);M.map=[t,s],M.hidden=!0;const E=Object.create(null);return E.label=F,M.meta=E,e.line=s,!0}var Lc=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hr","html","iframe","legend","li","link","main","menu","menuitem","nav","noframes","ol","optgroup","option","p","param","search","section","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"],cn=`<[A-Za-z][A-Za-z0-9\\-]*(?:\\s+[a-zA-Z_:][a-zA-Z0-9:._-]*(?:\\s*=\\s*(?:[^"'=<>\`\\x00-\\x20]+|'[^']*'|"[^"]*"))?)*\\s*\\/?>`,un="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",Pc=new RegExp(`^(?:${cn}|${un}||<[?][\\s\\S]*?[?]>|]*>|)`),Hc=new RegExp(`^(?:${cn}|${un})`),G3=[[/^<(script|pre|style|textarea)(?=(\s|>|$))/i,/<\/(script|pre|style|textarea)>/i,!0],[/^/,!0],[/^<\?/,/\?>/,!0],[/^/,!0],[/^/,!0],[new RegExp(`^|$))`,"i"),/^$/,!0],[new RegExp(`${Hc.source}\\s*$`),/^$/,!1]];function Tc(e,t,n,l){let o=e.bMarks[t]+e.tShift[t],r=e.eMarks[t];if(e.sCount[t]-e.blkIndent>=4||!e.md.options.html||e.src.charCodeAt(o)!==60)return!1;let s=e.src.slice(o,r),a=0;for(;a=4)return!1;let s=e.src.charCodeAt(o);if(s!==35||o>=r)return!1;let a=1;for(s=e.src.charCodeAt(++o);s===35&&o6||oo&&H1(e.src.charCodeAt(i-1))&&(r=i),e.line=t+1;const c=e.push("heading_open",`h${a}`,1);c.markup="########".slice(0,a),c.map=[t,e.line];const d=e.push("inline","",0);d.content=h5(e.src.slice(o,r)),d.map=[t,e.line],d.children=[];const u=e.push("heading_close",`h${a}`,-1);return u.markup="########".slice(0,a),!0}function Vc(e,t,n){const l=e.md.block.ruler.getRules("paragraph");if(e.sCount[t]-e.blkIndent>=4)return!1;const o=e.parentType;e.parentType="paragraph";let r=0,s,a=t+1;for(;a3)continue;if(e.sCount[a]>=e.blkIndent){let m=e.bMarks[a]+e.tShift[a];const p=e.eMarks[a];if(m=p))){r=s===61?1:2;break}}if(e.sCount[a]<0)continue;let A=!1;for(let m=0,p=l.length;m3||e.sCount[r]<0)continue;let c=!1;for(let d=0,u=l.length;d=n||e.sCount[s]=r){e.line=n;break}const i=e.line;let c=!1;for(let d=0;d=e.line)throw new Error("block rule didn't increment state.line");break}if(!c)throw new Error("none of the block rules matched");e.tight=!a,e.isEmpty(e.line-1)&&(a=!0),s=e.line,s0&&(this.level++,this._prev_delimiters.push(this.delimiters),this.delimiters=[],o={delimiters:this.delimiters}),this.pendingLevel=this.level,this.tokens.push(l),this.tokens_meta.push(o),l}scanDelims(e,t){const n=this.posMax,l=this.src.charCodeAt(e);let o;if(e===0)o=32;else if(e===1)o=this.src.charCodeAt(0),(o&63488)===55296&&(o=65533);else if(o=this.src.charCodeAt(e-1),(o&64512)===56320){const p=this.src.charCodeAt(e-2);o=(p&64512)===55296?65536+(p-55296<<10)+(o-56320):65533}else(o&64512)===55296&&(o=65533);let r=e;for(;r=65&&e<=90||e>=97&&e<=122}function Xc(e){return e>=65&&e<=90||e>=97&&e<=122||e>=48&&e<=57||e===43||e===45||e===46}function qc(e,t){if(!e.md.options.linkify||e.linkLevel>0)return!1;const n=e.pos,l=e.posMax;if(n+3>l||e.src.charCodeAt(n)!==58||e.src.charCodeAt(n+1)!==47||e.src.charCodeAt(n+2)!==47)return!1;const o=n-Math.min(10,e.pending.length,n);let r=n;for(;r>o&&Xc(e.src.charCodeAt(r-1));)r--;if(r===n||!jc(e.src.charCodeAt(r)))return!1;const s=n-r,a=e.md.linkify.matchAtStart(e.src.slice(r));if(!a)return!1;let i=a.url;if(i.length<=s)return!1;let c=i.length;for(;c>0&&i.charCodeAt(c-1)===42;)c--;c!==i.length&&(i=i.slice(0,c));const d=e.md.normalizeLink(i);if(!e.md.validateLink(d))return!1;if(!t){e.pending=e.pending.slice(0,-s);const u=e.push("link_open","a",1);u.attrs=[["href",d]],u.markup="linkify",u.info="auto";const A=e.push("text","",0);A.content=e.md.normalizeLinkText(i);const m=e.push("link_close","a",-1);m.markup="linkify",m.info="auto"}return e.pos+=i.length-s,!0}function e9(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==10)return!1;const l=e.pending.length-1,o=e.posMax;if(!t)if(l>=0&&e.pending.charCodeAt(l)===32)if(l>=1&&e.pending.charCodeAt(l-1)===32){let r=l-1;for(;r>=1&&e.pending.charCodeAt(r-1)===32;)r--;e.pending=e.pending.slice(0,r),e.push("hardbreak","br",0)}else e.pending=e.pending.slice(0,-1),e.push("softbreak","br",0);else e.push("softbreak","br",0);for(n++;n?@[]^_`{|}~-".split("").forEach(function(e){Ht[e.charCodeAt(0)]=1});function t9(e,t){let n=e.pos;const l=e.posMax;if(e.src.charCodeAt(n)!==92||(n++,n>=l))return!1;let o=e.src.charCodeAt(n);if(o===10){for(t||e.push("hardbreak","br",0),n++;n=55296&&o<=56319&&n+1=56320&&a<=57343&&(r+=e.src[n+1],n++)}const s="\\"+r;if(!t){const a=e.push("text_special","",0);o<256&&Ht[o]!==0?a.content=r:a.content=s,a.markup=s,a.info="escape"}return e.pos=n+1,!0}function n9(e){const t={};let n=0;for(;(n=e.indexOf("`",n))!==-1;){const l=n;for(;e.charCodeAt(++n)===96;);t[n-l]=l}return t}function l9(e,t){var n;const l=e.pos;if(e.src.charCodeAt(l)!==96)return!1;const o=e.posMax;let r=l+1;for(;r=r){let i=r,c;for(;(c=e.src.indexOf("`",i))!==-1&&co)break;if(i-c===a){if(!t){const d=e.push("code_inline","code",0);d.markup=s;let u=e.src.slice(r,c).replace(/\n/g," ");u.startsWith(" ")&&u.endsWith(" ")&&/[^ ]/.test(u)&&(u=u.slice(1,-1)),d.content=u}return e.pos=i,!0}}}return t||(e.pending+=s),e.pos=r,!0}function o9(e,t){const n=e.pos,l=e.src.charCodeAt(n);if(t||l!==126)return!1;const o=e.scanDelims(e.pos,!0);let r=o.length;const s=String.fromCharCode(l);if(r<2)return!1;let a;r%2&&(a=e.push("text","",0),a.content=s,r--);for(let i=0;i=0;l--){const o=t[l];if(o.marker!==95&&o.marker!==42||o.end===-1)continue;const r=t[o.end],s=l>0&&t[l-1].end===o.end+1&&t[l-1].marker===o.marker&&t[l-1].token===o.token-1&&t[o.end+1].token===r.token+1,a=String.fromCharCode(o.marker),i=e.tokens[o.token];i.type=s?"strong_open":"em_open",i.tag=s?"strong":"em",i.nesting=1,i.markup=s?a+a:a,i.content="";const c=e.tokens[r.token];c.type=s?"strong_close":"em_close",c.tag=s?"strong":"em",c.nesting=-1,c.markup=s?a+a:a,c.content="",s&&(e.tokens[t[l-1].token].content="",e.tokens[t[o.end+1].token].content="",l--)}}function a9(e){const t=e.tokens_meta,n=e.tokens_meta.length;Z7(e,e.delimiters);for(let o=0;o=u)return!1;if(i=p,o=e.md.helpers.parseLinkDestination(e.src,p,e.posMax),o.ok){for(s=e.md.normalizeLink(o.str),e.md.validateLink(s)?p=o.pos:s="",i=p;p=u||e.src.charCodeAt(p)!==41)&&(c=!0),p++}if(c){if(typeof e.env.references>"u")return!1;if(p=0?l=e.src.slice(i,p++):p=m+1):p=m+1,l||(l=e.src.slice(A,m)),l=A5(l),r=e.env.references[l],!r)return e.pos=d,!1;s=r.href,a=r.title}if(!t){e.pos=A,e.posMax=m;const y=e.push("link_open","a",1),k=[["href",s]];if(y.attrs=k,a&&k.push(["title",a]),l){const F=Object.create(null);F.label=l,y.meta=F}e.linkLevel++,e.md.inline.tokenize(e),e.linkLevel--,e.push("link_close","a",-1)}return e.pos=p,e.posMax=u,!0}function c9(e,t){let n,l,o,r,s,a,i,c,d="";const u=e.pos,A=e.posMax;if(e.src.charCodeAt(e.pos)!==33||e.src.charCodeAt(e.pos+1)!==91)return!1;const m=e.pos+2,p=e.md.helpers.parseLinkLabel(e,e.pos+1,!1);if(p<0)return!1;if(r=p+1,r=A)return!1;for(c=r,a=e.md.helpers.parseLinkDestination(e.src,r,e.posMax),a.ok&&(d=e.md.normalizeLink(a.str),e.md.validateLink(d)?r=a.pos:d=""),c=r;r=A||e.src.charCodeAt(r)!==41)return e.pos=u,!1;r++}else{if(typeof e.env.references>"u")return!1;if(r=0?o=e.src.slice(c,r++):r=p+1):r=p+1,o||(o=e.src.slice(m,p)),o=A5(o),s=e.env.references[o],!s)return e.pos=u,!1;d=s.href,i=s.title}if(!t){l=e.src.slice(m,p);const y=[];e.md.inline.parse(l,e.md,e.env,y);const k=e.push("image","img",0),F=[["src",d],["alt",""]];if(k.attrs=F,k.children=y,k.content=l,i&&F.push(["title",i]),o){const M=Object.create(null);M.label=o,k.meta=M}}return e.pos=r,e.posMax=A,!0}var u9=/^([a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)$/,d9=/^([a-zA-Z][a-zA-Z0-9+.-]{1,31}):([^<>\x00-\x20]*)$/;function f9(e,t){let n=e.pos;if(e.src.charCodeAt(n)!==60)return!1;const l=e.pos,o=e.posMax;for(;;){if(++n>=o)return!1;const s=e.src.charCodeAt(n);if(s===60)return!1;if(s===62)break}const r=e.src.slice(l+1,n);if(d9.test(r)){const s=e.md.normalizeLink(r);if(!e.md.validateLink(s))return!1;if(!t){const a=e.push("link_open","a",1);a.attrs=[["href",s]],a.markup="autolink",a.info="auto";const i=e.push("text","",0);i.content=e.md.normalizeLinkText(r);const c=e.push("link_close","a",-1);c.markup="autolink",c.info="auto"}return e.pos+=r.length+2,!0}if(u9.test(r)){const s=e.md.normalizeLink(`mailto:${r}`);if(!e.md.validateLink(s))return!1;if(!t){const a=e.push("link_open","a",1);a.attrs=[["href",s]],a.markup="autolink",a.info="auto";const i=e.push("text","",0);i.content=e.md.normalizeLinkText(r);const c=e.push("link_close","a",-1);c.markup="autolink",c.info="auto"}return e.pos+=r.length+2,!0}return!1}function A9(e){return/^\s]/i.test(e)}function h9(e){return/^<\/a\s*>/i.test(e)}function p9(e){const t=e|32;return t>=97&&t<=122}function m9(e,t){if(!e.md.options.html)return!1;const n=e.posMax,l=e.pos;if(e.src.charCodeAt(l)!==60||l+2>=n)return!1;const o=e.src.charCodeAt(l+1);if(o!==33&&o!==63&&o!==47&&!p9(o))return!1;const r=e.src.slice(l).match(Pc);if(!r)return!1;if(!t){const s=e.push("html_inline","",0);s.content=r[0],A9(s.content)&&e.linkLevel++,h9(s.content)&&e.linkLevel--}return e.pos+=r[0].length,!0}var g9=/^&#((?:x[a-f0-9]{1,6}|[0-9]{1,7}));/i,v9=/^&([a-z][a-z0-9]{1,31});/i;function y9(e,t){const n=e.pos,l=e.posMax;if(e.src.charCodeAt(n)!==38||n+1>=l)return!1;if(e.src.charCodeAt(n+1)===35){const o=e.src.slice(n).match(g9);if(o){if(!t){const r=o[1][0].toLowerCase()==="x"?parseInt(o[1].slice(1),16):parseInt(o[1],10),s=e.push("text_special","",0);s.content=Pt(r)?n4(r):n4(65533),s.markup=o[0],s.info="entity"}return e.pos+=o[0].length,!0}}else{const o=e.src.slice(n).match(v9);if(o){const r=H0(o[0]);if(r!==o[0]){if(!t){const s=e.push("text_special","",0);s.content=r,s.markup=o[0],s.info="entity"}return e.pos+=o[0].length,!0}}}return!1}function F7(e){const t={},n=e.length;if(!n)return;let l=0,o=-2;const r=[];for(let s=0;si;c-=r[c]+1){const u=e[c];if(u.marker===a.marker&&u.open&&u.end<0){let A=!1;if((u.close||a.open)&&(u.length+a.length)%3===0&&(u.length%3!==0||a.length%3!==0)&&(A=!0),!A){const m=c>0&&!e[c-1].open?r[c-1]+1:0;r[s]=s-c+m,r[c]=m,a.open=!1,u.end=s,u.close=!1,d=-1,o=-2;break}}}d!==-1&&(t[a.marker][(a.open?3:0)+(a.length||0)%3]=d)}}function b9(e){const t=e.tokens_meta,n=e.tokens_meta.length;F7(e.delimiters);for(let o=0;o0&&l++,o[t].type==="text"&&t+1=e.pos)throw new Error("inline rule didn't increment state.pos");break}}else e.pos=e.posMax;s||e.pos++,r[t]=e.pos}tokenize(e){const t=this.ruler.getRules(""),n=t.length,l=e.posMax,o=e.md.options.maxNesting;for(;e.pos=e.pos)throw new Error("inline rule didn't increment state.pos");break}}if(s){if(e.pos>=l)break;continue}e.pending+=e.src[e.pos++]}e.pending&&e.pushPending()}parse(e,t,n,l){const o=new this.State(e,t,n,l);this.tokenize(o);const r=this.ruler2.getRules(""),s=r.length;for(let a=0;a=0))try{t.hostname=k7.toASCII(t.hostname)}catch{}return t.auth&&(t.auth=i3(t.auth)),t.hostname&&(t.hostname=i3(t.hostname)),t.pathname&&(t.pathname=i3(t.pathname)),t.search&&(t.search=i3(t.search)),t.hash&&(t.hash=i3(t.hash)),ft(t)}normalizeLinkText(e){const t=At(e,!0);if(t.hostname&&(!t.protocol||B7.indexOf(t.protocol)>=0))try{t.hostname=k7.toUnicode(t.hostname)}catch{}return fe(ft(t),fe.defaultChars+"%")}constructor(...e){h1(this,"inline",new pn),h1(this,"block",new dn),h1(this,"core",new sn),h1(this,"renderer",new ln),h1(this,"linkify",new Ri),h1(this,"utils",Yi),h1(this,"helpers",Object.assign({},ic));const[t,n]=e;typeof t=="string"?(this.configure(t),n&&this.set(n)):(this.configure("default"),this.set(t||{}))}set(e){return Object.assign(this.options,e),this}configure(e){let t;if(typeof e=="string"){const o=e;if(t=C9[o],!t)throw new Error(`Wrong 'markdown-it' preset "${o}", check name`)}else t=e;if(!t)throw new Error("Wrong `markdown-it` preset, can't be empty");t.options&&(this.options={...t.options});const n=t.components;if(n){var l;["core","block","inline"].forEach(r=>{var s;const a=(s=n[r])===null||s===void 0?void 0:s.rules;a&&this[r].ruler.enableOnly(a)});const o=(l=n.inline)===null||l===void 0?void 0:l.rules2;o&&this.inline.ruler2.enableOnly(o)}return this}enable(e,t=!1){let n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(o=>{n=n.concat(this[o].ruler.enable(e,!0))}),n=n.concat(this.inline.ruler2.enable(e,!0));const l=e.filter(o=>n.indexOf(o)<0);if(l.length&&!t)throw new Error(`MarkdownIt. Failed to enable unknown rule(s): ${l}`);return this}disable(e,t=!1){let n=[];Array.isArray(e)||(e=[e]),["core","block","inline"].forEach(o=>{n=n.concat(this[o].ruler.disable(e,!0))}),n=n.concat(this.inline.ruler2.disable(e,!0));const l=e.filter(o=>n.indexOf(o)<0);if(l.length&&!t)throw new Error(`MarkdownIt. Failed to disable unknown rule(s): ${l}`);return this}use(e,...t){return e.apply(e,[this,...t]),this}parse(e,t){if(typeof e!="string")throw new Error("Input data should be a String");const n=new this.core.State(e,this,t);return this.core.process(n),n.tokens}render(e,t={}){return this.renderer.render(this.parse(e,t),this.options,t)}parseInline(e,t){const n=new this.core.State(e,this,t);return n.inlineMode=!0,this.core.process(n),n.tokens}renderInline(e,t={}){return this.renderer.render(this.parseInline(e,t),this.options,t)}};h1(q2,"Token",U3);h1(q2,"Ruler",a4);h1(q2,"Renderer",ln);h1(q2,"ParserCore",sn);h1(q2,"StateCore",on);h1(q2,"ParserBlock",dn);h1(q2,"StateBlock",an);h1(q2,"ParserInline",pn);h1(q2,"StateInline",fn);var _9=en(q2);const I9=["innerHTML"],B2=$1({__name:"Markdown",props:{source:{},class:{}},setup(e){const t=e,n=new _9({html:!1,linkify:!0,breaks:!1}),l=t1(()=>n.render(t.source??"")),o=["prose prose-sm max-w-none","prose-headings:text-foreground prose-headings:font-semibold","prose-p:text-muted-foreground prose-li:text-muted-foreground","prose-strong:text-foreground prose-em:text-foreground","prose-a:text-primary prose-a:no-underline hover:prose-a:underline","prose-code:text-foreground prose-code:before:content-none prose-code:after:content-none","prose-code:rounded prose-code:bg-muted/60 prose-code:px-1 prose-code:py-0.5","prose-pre:bg-muted/50 prose-pre:text-foreground prose-pre:border","prose-blockquote:border-border prose-blockquote:text-muted-foreground","prose-hr:border-border prose-th:text-foreground prose-td:text-muted-foreground"].join(" ");return(r,s)=>(h(),C("div",{class:f1(f(E1)(f(o),t.class)),innerHTML:l.value},null,10,I9))}}),M9={key:0,class:"space-y-2 border-b bg-muted/30 p-3"},E9={class:"px-3 py-2"},D9={key:0,class:"overflow-x-auto border-t bg-destructive/10 px-3 py-2 font-mono text-xs"},Z9={key:1,class:"overflow-x-auto border-t bg-success/10 px-3 py-2 font-mono text-xs"},F9={key:1,class:"p-4 text-sm text-muted-foreground"},B9={key:2,class:"overflow-x-auto"},S9={class:"w-full border-collapse font-mono text-xs leading-relaxed"},R9={class:"w-12 select-none border-r px-2 text-right align-top text-muted-foreground"},Q9={class:"w-12 select-none border-r px-2 text-right align-top text-muted-foreground"},N9={class:"w-4 select-none pl-2 align-top text-muted-foreground"},K9={class:"whitespace-pre-wrap break-all py-0.5 pr-3 align-top"},G9={colspan:"4",class:"px-3 py-2"},O9={class:"px-3 py-2"},$9={key:0,class:"overflow-x-auto border-t bg-destructive/10 px-3 py-2 font-mono text-xs"},W9={key:1,class:"overflow-x-auto border-t bg-success/10 px-3 py-2 font-mono text-xs"},L9=$1({__name:"Diff",props:{patch:{default:""},notes:{default:()=>[]},class:{}},setup(e){const t=e,n={neutral:"bg-card",info:"border-primary/30 bg-primary/5",success:"border-success/40 bg-success/5",warning:"border-warning/40 bg-warning/5",danger:"border-destructive/40 bg-destructive/5"};function l(d){return d.severity==="blocking"?n.danger:n[d.tone??"neutral"]??n.neutral}const o=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@/,r=t1(()=>{const d=[];let u=0,A=0,m=!1;for(const p of(t.patch??"").split(` -`)){const y=o.exec(p);if(y){u=Number(y[1]),A=Number(y[2]),m=!0,d.push({kind:"hunk",text:p,before:null,after:null});continue}m&&(p.startsWith("+")?d.push({kind:"added",text:p.slice(1),before:null,after:A++}):p.startsWith("-")?d.push({kind:"removed",text:p.slice(1),before:u++,after:null}):p.startsWith("\\")?d.push({kind:"meta",text:p,before:null,after:null}):d.push({kind:"kept",text:p.slice(1),before:u++,after:A++}))}return d}),s={added:"bg-success/10",removed:"bg-destructive/10",hunk:"bg-muted/60 text-muted-foreground",meta:"text-muted-foreground",kept:""},a={added:"+",removed:"-",kept:" ",hunk:"",meta:""},i=t1(()=>{const d=new Map;for(const u of t.notes??[])u.line&&d.set(u.line,[...d.get(u.line)??[],u]);return d}),c=t1(()=>(t.notes??[]).filter(d=>!d.line));return(d,u)=>(h(),C("div",{class:f1(f(E1)("overflow-hidden rounded-md border",t.class))},[c.value.length?(h(),C("div",M9,[(h(!0),C(n1,null,_1(c.value,(A,m)=>(h(),C("div",{key:m,class:f1(["rounded border text-sm",l(A)])},[b("div",E9,[A.from?(h(),G($e,{key:0,tone:A.severity==="blocking"?"danger":A.tone??"neutral",title:String(A.from),label:String(A.from).toLowerCase(),class:"mr-2"},null,8,["tone","title","label"])):P("",!0),I(B2,{source:A.detail,class:"inline [&>p]:inline"},null,8,["source"])]),A.replacing?(h(),C("pre",D9,N(A.replacing),1)):P("",!0),A.code?(h(),C("pre",Z9,N(A.code),1)):P("",!0)],2))),128))])):P("",!0),r.value.length?(h(),C("div",B9,[b("table",S9,[b("tbody",null,[(h(!0),C(n1,null,_1(r.value,(A,m)=>(h(),C(n1,{key:m},[b("tr",{class:f1(s[A.kind])},[b("td",R9,N(A.before??""),1),b("td",Q9,N(A.after??""),1),b("td",N9,N(a[A.kind]),1),b("td",K9,N(A.text),1)],2),(h(!0),C(n1,null,_1(i.value.get(A.after??-1)??[],(p,y)=>(h(),C("tr",{key:`${m}-${y}`},[b("td",G9,[b("div",{class:f1(["rounded border font-sans text-sm",l(p)])},[b("div",O9,[p.from?(h(),G($e,{key:0,tone:p.severity==="blocking"?"danger":p.tone??"neutral",title:String(p.from),label:String(p.from).toLowerCase(),class:"mr-2"},null,8,["tone","title","label"])):P("",!0),I(B2,{source:p.detail,class:"inline [&>p]:inline"},null,8,["source"])]),p.replacing?(h(),C("pre",$9,N(p.replacing),1)):P("",!0),p.code?(h(),C("pre",W9,N(p.code),1)):P("",!0)],2)])]))),128))],64))),128))])])])):(h(),C("div",F9," Nothing to show for this one. It may be a file git stores whole rather than as lines. "))],2))}}),P9={class:"flex items-center gap-2.5"},H9=$1({__name:"Logo",props:{size:{default:"md"},showText:{type:Boolean,default:!0}},setup(e){const t={sm:"h-7 w-7 min-h-7 min-w-7",md:"h-8 w-8 min-h-8 min-w-8",lg:"h-10 w-10 min-h-10 min-w-10"},n={sm:"text-base",md:"text-lg",lg:"text-xl"};return(l,o)=>(h(),C("div",P9,[b("div",{class:f1([t[e.size],"relative flex-shrink-0"])},[...o[0]||(o[0]=[go('',1)])],2),e.showText?(h(),C("span",{key:0,class:f1([n[e.size],"font-semibold tracking-tight"])},[...o[1]||(o[1]=[b("span",{class:"text-brand"},"Source",-1),b("span",{class:"text-brand"},"Ant",-1),b("span",{class:"text-muted-foreground font-normal ml-1"},"Memory",-1)])],2)):P("",!0)]))}}),T9={key:0,class:"fixed inset-0 z-50 flex items-center justify-center p-4"},Tt=$1({__name:"Modal",props:{open:{type:Boolean},class:{},maxWidth:{default:"lg"}},emits:["close"],setup(e,{emit:t}){const n=e,l=t,o={sm:"max-w-sm",md:"max-w-md",lg:"max-w-lg",xl:"max-w-xl","2xl":"max-w-2xl"};function r(s){s.key==="Escape"&&l("close")}return d2(()=>window.addEventListener("keydown",r)),f4(()=>window.removeEventListener("keydown",r)),(s,a)=>(h(),G(El,{to:"body"},[I(r0,{"enter-active-class":"transition duration-200","enter-from-class":"opacity-0","enter-to-class":"opacity-100","leave-active-class":"transition duration-150","leave-from-class":"opacity-100","leave-to-class":"opacity-0"},{default:w(()=>[e.open?(h(),C("div",T9,[b("div",{class:"absolute inset-0 bg-background/80 backdrop-blur-sm",onClick:a[0]||(a[0]=i=>l("close"))}),I(z1,{class:f1(f(E1)("relative w-full max-h-[85vh] overflow-auto p-6 animate-fade-up",o[e.maxWidth],n.class))},{default:w(()=>[b("button",{class:"absolute top-4 right-4 p-1 rounded-md text-muted-foreground hover:text-foreground hover:bg-muted transition-colors",onClick:a[1]||(a[1]=i=>l("close"))},[I(f($t),{class:"h-4 w-4"})]),K1(s.$slots,"default")]),_:3},8,["class"])])):P("",!0)]),_:3})]))}}),Y9=["role"],V9={class:"min-w-0 flex-1"},u2=$1({__name:"Notice",props:{tone:{default:"info"},icon:{type:Boolean,default:!0},class:{}},setup(e){const t=e,n={info:"border-border bg-muted/50 text-foreground",success:"border-success/40 bg-success/10 text-foreground",warning:"border-warning/40 bg-warning/10 text-foreground",danger:"border-destructive/40 bg-destructive/10 text-foreground"},l={info:Va,success:Ya,warning:za,danger:Ta},o={info:"text-muted-foreground",success:"text-success",warning:"text-warning",danger:"text-destructive"},r=t1(()=>l[t.tone]);return(s,a)=>(h(),C("div",{class:f1(f(E1)("flex gap-3 rounded-md border px-4 py-3 text-sm",n[e.tone],t.class)),role:e.tone==="danger"?"alert":"status"},[e.icon?(h(),G(k2(r.value),{key:0,class:f1(f(E1)("mt-0.5 h-4 w-4 shrink-0",o[e.tone]))},null,8,["class"])):P("",!0),b("div",V9,[K1(s.$slots,"default")]),K1(s.$slots,"actions")],10,Y9))}}),U9={class:"relative flex h-2 w-2 shrink-0"},J9={key:0,class:"text-muted-foreground tabular-nums"},mn=$1({__name:"Status",props:{tone:{default:"neutral"},label:{},count:{default:null},busy:{type:Boolean,default:!1},class:{}},setup(e){const t=e,n={neutral:"bg-muted-foreground",info:"bg-primary",success:"bg-success",warning:"bg-warning",danger:"bg-destructive"},l={neutral:"text-muted-foreground",info:"text-foreground",success:"text-foreground",warning:"text-foreground",danger:"text-foreground"},o=t1(()=>t.count===null||t.count===void 0?null:t.count);return(r,s)=>(h(),C("span",{class:f1(f(E1)("inline-flex items-center gap-2 text-sm font-medium",l[e.tone],t.class)),role:"status"},[b("span",U9,[e.busy?(h(),C("span",{key:0,class:f1(f(E1)("absolute inline-flex h-full w-full animate-ping rounded-full opacity-60",n[e.tone]))},null,2)):P("",!0),b("span",{class:f1(f(E1)("relative inline-flex h-2 w-2 rounded-full",n[e.tone]))},null,2)]),b("span",null,N(e.label),1),o.value!==null?(h(),C("span",J9,N(o.value),1)):P("",!0)],2))}}),z9={key:0,class:"mb-3 flex justify-center text-muted-foreground"},j9={key:1,class:"mx-auto mt-1 max-w-lg text-sm text-muted-foreground"},X9={key:2,class:"mt-4 flex flex-wrap items-center justify-center gap-2"},We=$1({__name:"Empty",props:{title:{},compact:{type:Boolean,default:!1},class:{}},setup(e){const t=e;return(n,l)=>(h(),G(z1,{class:f1(f(E1)("px-6 text-center",t.compact?"py-8":"py-16",t.class))},{default:w(()=>[n.$slots.icon?(h(),C("div",z9,[K1(n.$slots,"icon")])):P("",!0),b("h2",{class:f1(f(E1)("font-semibold",t.compact?"text-base":"text-lg"))},N(e.title),3),n.$slots.default?(h(),C("p",j9,[K1(n.$slots,"default")])):P("",!0),n.$slots.actions?(h(),C("div",X9,[K1(n.$slots,"actions")])):P("",!0)]),_:3},8,["class"]))}}),q9={class:"relative flex items-center justify-center"},eu={key:0,class:"max-w-md text-sm text-muted-foreground"},tu=$1({__name:"Loading",props:{label:{default:"Working"},note:{},size:{default:"md"},fill:{type:Boolean,default:!0},class:{}},setup(e){const t=e,n={sm:"h-5 w-5",md:"h-8 w-8",lg:"h-10 w-10"},l={sm:"text-sm",md:"text-base",lg:"text-lg"},o=t1(()=>t.size==="sm"?"py-8":"py-16");return(r,s)=>(h(),C("div",{class:f1(f(E1)("flex flex-col items-center justify-center gap-3 text-center",e.fill?"min-h-0 flex-1":o.value,t.class)),role:"status","aria-live":"polite"},[b("span",q9,[b("span",{class:f1(f(E1)("absolute inline-flex animate-ping rounded-full bg-primary/20",n[e.size]))},null,2),I(f(Ua),{class:f1(f(E1)("relative animate-spin text-muted-foreground",n[e.size]))},null,8,["class"])]),b("p",{class:f1(f(E1)("font-medium",l[e.size]))},N(e.label),3),e.note||r.$slots.default?(h(),C("p",eu,[K1(r.$slots,"default",{},()=>[U(N(e.note),1)])])):P("",!0)],2))}}),nu={key:0,class:"shrink-0"},lu={class:"truncate"},gn=$1({__name:"Origin",props:{name:{},mono:{type:Boolean,default:!0},class:{}},setup(e){const t=e;return(n,l)=>(h(),C("span",{class:f1(f(E1)("inline-flex max-w-full items-center gap-1 rounded border border-border/60 bg-muted/40 px-1.5 py-0.5 text-[11px] text-muted-foreground",t.mono&&"font-mono",t.class))},[n.$slots.icon?(h(),C("span",nu,[K1(n.$slots,"icon")])):P("",!0),b("span",lu,N(e.name),1)],2))}}),ou={class:"font-semibold"},ru={class:"mt-3"},O3=$1({__name:"Section",props:{title:{},tone:{default:"neutral"},count:{default:null},collapsible:{type:Boolean,default:!1},closed:{type:Boolean,default:!1},class:{}},setup(e){const t=e,n=z(!t.closed),l={neutral:"text-muted-foreground",info:"text-primary",success:"text-success",warning:"text-warning",danger:"text-destructive"},o={neutral:"bg-muted text-muted-foreground",info:"bg-primary/10 text-primary",success:"bg-success/10 text-success",warning:"bg-warning/10 text-warning",danger:"bg-destructive/10 text-destructive"},r=t1(()=>t.collapsible?n.value:!0);return(s,a)=>(h(),C("section",{class:f1(f(E1)("py-4 first:pt-0 last:pb-0",t.class))},[(h(),G(k2(e.collapsible?"button":"div"),{type:e.collapsible?"button":void 0,"aria-expanded":e.collapsible?String(n.value):void 0,class:f1(f(E1)("flex w-full items-center gap-2 text-left",e.collapsible&&"cursor-pointer")),onClick:a[0]||(a[0]=i=>e.collapsible&&(n.value=!n.value))},{default:w(()=>[s.$slots.icon?(h(),C("span",{key:0,class:f1(f(E1)("shrink-0",l[e.tone]))},[K1(s.$slots,"icon")],2)):P("",!0),b("h2",ou,N(e.title),1),e.count!==null?(h(),C("span",{key:1,class:f1(f(E1)("rounded-full px-2 py-0.5 text-xs font-medium tabular-nums",o[e.tone]))},N(e.count),3)):P("",!0),e.collapsible?(h(),G(f(Ha),{key:2,class:f1(f(E1)("ml-auto h-4 w-4 shrink-0 text-muted-foreground transition-transform",n.value&&"rotate-180"))},null,8,["class"])):P("",!0)]),_:3},8,["type","aria-expanded","class"])),Ne(b("div",ru,[K1(s.$slots,"default")],512),[[Oo,r.value]])],2))}});/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const su=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0;return!1};/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const S7=e=>e==="";/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const au=(...e)=>e.filter((t,n,l)=>!!t&&t.trim()!==""&&l.indexOf(t)===n).join(" ").trim();/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const R7=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase();/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const iu=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,n,l)=>l?l.toUpperCase():n.toLowerCase());/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const cu=e=>{const t=iu(e);return t.charAt(0).toUpperCase()+t.slice(1)};/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */var Me={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-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const uu=({name:e,iconNode:t,absoluteStrokeWidth:n,"absolute-stroke-width":l,strokeWidth:o,"stroke-width":r,size:s=Me.width,color:a=Me.stroke,...i},{slots:c})=>A3("svg",{...Me,...i,width:s,height:s,stroke:a,"stroke-width":S7(n)||S7(l)||n===!0||l===!0?Number(o||r||Me["stroke-width"])*24/Number(s):o||r||Me["stroke-width"],class:au("lucide",i.class,...e?[`lucide-${R7(cu(e))}-icon`,`lucide-${R7(e)}`]:["lucide-icon"]),...!c.default&&!su(i)&&{"aria-hidden":"true"}},[...t.map(d=>A3(...d)),...c.default?[c.default()]:[]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const F1=(e,t)=>(n,{slots:l,attrs:o})=>A3(uu,{...o,...n,iconNode:t,name:e},l);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Yt=F1("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const du=F1("arrow-right",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const vn=F1("book-open-check",[["path",{d:"M12 21V7",key:"gj6g52"}],["path",{d:"m16 12 2 2 4-4",key:"mdajum"}],["path",{d:"M22 6V4a1 1 0 0 0-1-1h-5a4 4 0 0 0-4 4 4 4 0 0 0-4-4H3a1 1 0 0 0-1 1v13a1 1 0 0 0 1 1h6a3 3 0 0 1 3 3 3 3 0 0 1 3-3h6a1 1 0 0 0 1-1v-1.3",key:"8arnkb"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const S4=F1("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const i4=F1("boxes",[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const fu=F1("bug",[["path",{d:"M12 20v-9",key:"1qisl0"}],["path",{d:"M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z",key:"uouzyp"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M21 21a4 4 0 0 0-3.81-4",key:"1b0z45"}],["path",{d:"M21 5a4 4 0 0 1-3.55 3.97",key:"5cxbf6"}],["path",{d:"M22 13h-4",key:"1jl80f"}],["path",{d:"M3 21a4 4 0 0 1 3.81-4",key:"1fjd4g"}],["path",{d:"M3 5a4 4 0 0 0 3.55 3.97",key:"1d7oge"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M9 7.13V6a3 3 0 1 1 6 0v1.13",key:"1vgav8"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const he=F1("check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Au=F1("chevron-up",[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Q7=F1("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const hu=F1("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const pu=F1("clock",[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const pt=F1("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const mu=F1("crosshair",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"22",x2:"18",y1:"12",y2:"12",key:"l9bcsi"}],["line",{x1:"6",x2:"2",y1:"12",y2:"12",key:"13hhkx"}],["line",{x1:"12",x2:"12",y1:"6",y2:"2",key:"10w3f3"}],["line",{x1:"12",x2:"12",y1:"22",y2:"18",key:"15g9kq"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const p5=F1("file-code",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const N7=F1("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const m5=F1("folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const gu=F1("git-commit-horizontal",[["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}],["line",{x1:"3",x2:"9",y1:"12",y2:"12",key:"1dyftd"}],["line",{x1:"15",x2:"21",y1:"12",y2:"12",key:"oup4p8"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const yn=F1("layout-dashboard",[["rect",{width:"7",height:"9",x:"3",y:"3",rx:"1",key:"10lvy0"}],["rect",{width:"7",height:"5",x:"14",y:"3",rx:"1",key:"16une8"}],["rect",{width:"7",height:"9",x:"14",y:"12",rx:"1",key:"1hutg5"}],["rect",{width:"7",height:"5",x:"3",y:"16",rx:"1",key:"ldoo1y"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const V4=F1("lightbulb",[["path",{d:"M15 14c.2-1 .7-1.7 1.5-2.5 1-.9 1.5-2.2 1.5-3.5A6 6 0 0 0 6 8c0 1 .2 2.2 1.5 3.5.7.7 1.3 1.5 1.5 2.5",key:"1gvzjb"}],["path",{d:"M9 18h6",key:"x1upvd"}],["path",{d:"M10 22h4",key:"ceow96"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const bn=F1("link-2",[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const M2=F1("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const vu=F1("menu",[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const yu=F1("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const kn=F1("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const g5=F1("network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const bu=F1("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const h3=F1("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Cn=F1("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const ku=F1("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const c4=F1("scroll-text",[["path",{d:"M15 12h-5",key:"r7krc0"}],["path",{d:"M15 8h-5",key:"1khuty"}],["path",{d:"M19 17V5a2 2 0 0 0-2-2H4",key:"zz82l3"}],["path",{d:"M8 21h12a2 2 0 0 0 2-2v-1a1 1 0 0 0-1-1H11a1 1 0 0 0-1 1v1a2 2 0 1 1-4 0V5a2 2 0 1 0-4 0v2a1 1 0 0 0 1 1h3",key:"1ph1d7"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const wn=F1("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const mt=F1("settings",[["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",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Le=F1("shield-check",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const gt=F1("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const xn=F1("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const h4=F1("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const Cu=F1("triangle-alert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const _n=F1("wand-sparkles",[["path",{d:"m21.64 3.64-1.28-1.28a1.21 1.21 0 0 0-1.72 0L2.36 18.64a1.21 1.21 0 0 0 0 1.72l1.28 1.28a1.2 1.2 0 0 0 1.72 0L21.64 5.36a1.2 1.2 0 0 0 0-1.72",key:"ul74o6"}],["path",{d:"m14 7 3 3",key:"1r5n42"}],["path",{d:"M5 6v4",key:"ilb8ba"}],["path",{d:"M19 14v4",key:"blhpug"}],["path",{d:"M10 2v2",key:"7u0qdc"}],["path",{d:"M7 8H3",key:"zfb6yr"}],["path",{d:"M21 16h-4",key:"1cnmox"}],["path",{d:"M11 3H9",key:"1obp7u"}]]);/** - * @license lucide-vue-next v0.563.0 - ISC - * - * This source code is licensed under the ISC license. - * See the LICENSE file in the root directory of this source tree. - */const In=F1("x",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);function Q2(e){return e.replace(/&/g,"&").replace(/'/g,"'").replace(/"/g,""").replace(//g,">")}function wu(e){var t,n,l,o,r,s,a;const i=(t=e.meta)===null||t===void 0?void 0:t.title,c=(n=e.meta)===null||n===void 0?void 0:n.creator,d=(l=e.meta)===null||l===void 0?void 0:l.source,u=(r=(o=e.meta)===null||o===void 0?void 0:o.license)===null||r===void 0?void 0:r.url,A=xu(e);return!i&&!c&&!d&&!u&&!A?"":''+(i?`${Q2(i)}`:"")+(c?`${Q2(c)}`:"")+(d?`${Q2((a=(s=e.meta)===null||s===void 0?void 0:s.source)!==null&&a!==void 0?a:"")}`:"")+(u?`${Q2(u)}`:"")+(A?`${Q2(A)}`:"")+""}function xu(e){var t,n,l,o,r,s,a,i,c,d,u,A,m,p,y;let k=!((t=e.meta)===null||t===void 0)&&t.title?`„${(n=e.meta)===null||n===void 0?void 0:n.title}”`:"Design",F=`„${(o=(l=e.meta)===null||l===void 0?void 0:l.creator)!==null&&o!==void 0?o:"Unknown"}”`;!((r=e.meta)===null||r===void 0)&&r.source&&(k+=` (${e.meta.source})`);let M="";return((a=(s=e.meta)===null||s===void 0?void 0:s.license)===null||a===void 0?void 0:a.name)!=="MIT"&&((i=e.meta)===null||i===void 0?void 0:i.creator)!=="DiceBear"&&(!((c=e.meta)===null||c===void 0)&&c.title)&&(M+="Remix of "),M+=`${k} by ${F}`,!((u=(d=e.meta)===null||d===void 0?void 0:d.license)===null||u===void 0)&&u.name&&(M+=`, licensed under „${(m=(A=e.meta)===null||A===void 0?void 0:A.license)===null||m===void 0?void 0:m.name}”`,!((y=(p=e.meta)===null||p===void 0?void 0:p.license)===null||y===void 0)&&y.url&&(M+=` (${e.meta.license.url})`)),M}const K7=-2147483648,_u=2147483647,Iu=1024;function Mn(e){return e^=e<<13,e^=e>>17,e^=e<<5,e}function Mu(e){let t=0;for(let n=0;nt=Mn(t),l=(o,r)=>Math.floor((n()-K7)/(_u-K7)*(r+1-o)+o);return{seed:e,next:n,bool(o=50){return l(1,100)<=o},integer(o,r){return l(o,r)},pick(o,r){var s;return o.length===0?(n(),r):(s=o[l(0,o.length-1)])!==null&&s!==void 0?s:r},shuffle(o){const r=U4(n().toString()),s=[...o];for(let a=s.length-1;a>0;a--){const i=r.integer(0,a);[s[a],s[i]]=[s[i],s[a]]}return s},string(o,r="abcdefghijklmnopqrstuvwxyz1234567890"){const s=U4(n().toString());let a="";for(let i=0;i`;switch(l){case"solid":return c+e.body;case"gradientLinear":return``+e.body}}function Du(e,t){let{width:n,height:l,x:o,y:r}=ve(e),s=t?(t-100)/100:0,a=(n/2+o)*s*-1,i=(l/2+r)*s*-1;return`${e.body}`}function Zu(e,t,n){let l=ve(e),o=(l.width+l.x*2)*((t??0)/100),r=(l.height+l.y*2)*((n??0)/100);return`${e.body}`}function Fu(e,t){let{width:n,height:l,x:o,y:r}=ve(e);return`${e.body}`}function Bu(e){let{width:t,x:n}=ve(e);return`${e.body}`}function Su(e,t){let{width:n,height:l,x:o,y:r}=ve(e),s=t?n*t/100:0,a=t?l*t/100:0;return`${e.body}`}function Ru(e){const t={xmlns:"http://www.w3.org/2000/svg",...e.attributes};return Object.keys(t).map(n=>`${Q2(n)}="${Q2(t[n])}"`).join(" ")}function Qu(e){const t=U4(Math.random().toString()),n={};return e.body.replace(/(id="|url\(#)([a-z0-9-_]+)([")])/gi,(l,o,r,s)=>(n[r]=n[r]||t.string(8),`${o}${n[r]}${s}`))}const Nu={properties:{seed:{type:"string"},flip:{type:"boolean",default:!1},rotate:{type:"integer",minimum:0,maximum:360,default:0},scale:{type:"integer",minimum:0,maximum:200,default:100},radius:{type:"integer",minimum:0,maximum:50,default:0},size:{type:"integer",minimum:1},backgroundColor:{type:"array",items:{type:"string",pattern:"^(transparent|[a-fA-F0-9]{6})$"}},backgroundType:{type:"array",items:{type:"string",enum:["solid","gradientLinear"]},default:["solid"]},backgroundRotation:{type:"array",items:{type:"integer",minimum:-360,maximum:360},default:[0,360]},translateX:{type:"integer",minimum:-100,maximum:100,default:0},translateY:{type:"integer",minimum:-100,maximum:100,default:0},clip:{type:"boolean",default:!0},randomizeIds:{type:"boolean",default:!1}}};function G7(e){var t;let n={},l=(t=e.properties)!==null&&t!==void 0?t:{};return Object.keys(l).forEach(o=>{let r=l[o];typeof r=="object"&&r.default!==void 0&&(Array.isArray(r.default)?n[o]=[...r.default]:typeof r.default=="object"?n[o]={...r.default}:n[o]=r.default)}),n}function Ku(e,t){var n;let l={...G7(Nu),...G7((n=e.schema)!==null&&n!==void 0?n:{}),...t};return JSON.parse(JSON.stringify(l))}function O7(e){return e==="transparent"?e:`#${e}`}function Gu(e,t,n){var l;let o=e.shuffle(t);o.length<=1||t.length==2&&n=="gradientLinear"?(o=t,e.next()):o=e.shuffle(t),o.length===0&&(o=["transparent"]);const r=o[0],s=(l=o[1])!==null&&l!==void 0?l:o[0];return{primary:O7(r),secondary:O7(s)}}function Ou(e,t={}){var n,l,o,r,s;t=Ku(e,t);const a=U4(t.seed),i=e.create({prng:a,options:t}),c=a.pick((n=t.backgroundType)!==null&&n!==void 0?n:[],"solid"),{primary:d,secondary:u}=Gu(a,(l=t.backgroundColor)!==null&&l!==void 0?l:[],c),A=a.integer(!((o=t.backgroundRotation)===null||o===void 0)&&o.length?Math.min(...t.backgroundRotation):0,!((r=t.backgroundRotation)===null||r===void 0)&&r.length?Math.max(...t.backgroundRotation):0);t.size&&(i.attributes.width=t.size.toString(),i.attributes.height=t.size.toString()),t.scale!==void 0&&t.scale!==100&&(i.body=Du(i,t.scale)),t.flip&&(i.body=Bu(i)),t.rotate&&(i.body=Fu(i,t.rotate)),(t.translateX||t.translateY)&&(i.body=Zu(i,t.translateX,t.translateY)),d!=="transparent"&&u!=="transparent"&&(i.body=Eu(i,d,u,c,A)),(t.radius||t.clip)&&(i.body=Su(i,(s=t.radius)!==null&&s!==void 0?s:0)),t.randomizeIds&&(i.body=Qu(i));const m=Ru(i),p=wu(e),y=`${p}${i.body}`;return{toString:()=>y,toJson:()=>{var k;return{svg:y,extra:{primaryBackgroundColor:d,secondaryBackgroundColor:u,backgroundType:c,backgroundRotation:A,...(k=i.extra)===null||k===void 0?void 0:k.call(i)}}},toDataUri:()=>`data:image/svg+xml;utf8,${encodeURIComponent(y)}`}}const $u={variant01:(e,t)=>''},Wu={variant25:(e,t)=>'',variant24:(e,t)=>'',variant23:(e,t)=>'',variant22:(e,t)=>'',variant21:(e,t)=>'',variant20:(e,t)=>'',variant19:(e,t)=>'',variant18:(e,t)=>'',variant17:(e,t)=>'',variant16:(e,t)=>'',variant15:(e,t)=>'',variant14:(e,t)=>'',variant13:(e,t)=>'',variant12:(e,t)=>'',variant11:(e,t)=>'',variant10:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`},variant09:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`},variant08:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`},variant07:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`},variant06:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`},variant05:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`},variant04:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`},variant03:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`},variant02:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`},variant01:(e,t)=>{var n,l;return`${(l=(n=e.bodyIcon)===null||n===void 0?void 0:n.value(e,t))!==null&&l!==void 0?l:""}`}},Lu={variant63:(e,t)=>'',variant62:(e,t)=>'',variant61:(e,t)=>'',variant60:(e,t)=>'',variant59:(e,t)=>'',variant58:(e,t)=>'',variant57:(e,t)=>'',variant56:(e,t)=>'',variant55:(e,t)=>'',variant54:(e,t)=>'',variant53:(e,t)=>'',variant52:(e,t)=>'',variant51:(e,t)=>'',variant50:(e,t)=>'',variant49:(e,t)=>'',variant48:(e,t)=>'',variant47:(e,t)=>'',variant46:(e,t)=>'',variant45:(e,t)=>'',variant44:(e,t)=>'',variant43:(e,t)=>'',variant42:(e,t)=>'',variant41:(e,t)=>'',variant40:(e,t)=>'',variant39:(e,t)=>'',variant38:(e,t)=>'',variant37:(e,t)=>'',variant36:(e,t)=>'',variant35:(e,t)=>'',variant34:(e,t)=>'',variant33:(e,t)=>'',variant32:(e,t)=>'',variant31:(e,t)=>'',variant30:(e,t)=>'',variant29:(e,t)=>'',variant28:(e,t)=>'',variant27:(e,t)=>'',variant26:(e,t)=>'',variant25:(e,t)=>'',variant24:(e,t)=>'',variant23:(e,t)=>'',variant22:(e,t)=>'',variant21:(e,t)=>'',variant20:(e,t)=>'',variant19:(e,t)=>'',variant18:(e,t)=>'',variant17:(e,t)=>'',variant16:(e,t)=>'',variant15:(e,t)=>'',variant14:(e,t)=>'',variant13:(e,t)=>'',variant12:(e,t)=>'',variant11:(e,t)=>'',variant10:(e,t)=>'',variant09:(e,t)=>'',variant08:(e,t)=>'',variant07:(e,t)=>'',variant06:(e,t)=>'',variant05:(e,t)=>'',variant04:(e,t)=>'',variant03:(e,t)=>'',variant02:(e,t)=>'',variant01:(e,t)=>'',hat:(e,t)=>''},Pu={variant30:(e,t)=>'',variant29:(e,t)=>'',variant28:(e,t)=>'',variant27:(e,t)=>'',variant26:(e,t)=>'',variant25:(e,t)=>'',variant24:(e,t)=>'',variant23:(e,t)=>'',variant22:(e,t)=>'',variant21:(e,t)=>'',variant20:(e,t)=>'',variant19:(e,t)=>'',variant18:(e,t)=>'',variant17:(e,t)=>'',variant16:(e,t)=>'',variant15:(e,t)=>'',variant14:(e,t)=>'',variant13:(e,t)=>'',variant12:(e,t)=>'',variant11:(e,t)=>'',variant10:(e,t)=>'',variant09:(e,t)=>'',variant08:(e,t)=>'',variant07:(e,t)=>'',variant06:(e,t)=>'',variant05:(e,t)=>'',variant04:(e,t)=>'',variant03:(e,t)=>'',variant02:(e,t)=>'',variant01:(e,t)=>''},Hu={variant12:(e,t)=>'',variant11:(e,t)=>'',variant10:(e,t)=>'',variant09:(e,t)=>'',variant08:(e,t)=>'',variant07:(e,t)=>'',variant06:(e,t)=>'',variant05:(e,t)=>'',variant04:(e,t)=>'',variant03:(e,t)=>'',variant02:(e,t)=>'',variant01:(e,t)=>''},Tu={variant20:(e,t)=>'',variant19:(e,t)=>'',variant18:(e,t)=>'',variant17:(e,t)=>'',variant16:(e,t)=>'',variant15:(e,t)=>'',variant14:(e,t)=>'',variant13:(e,t)=>'',variant12:(e,t)=>'',variant11:(e,t)=>'',variant10:(e,t)=>'',variant09:(e,t)=>'',variant08:(e,t)=>'',variant07:(e,t)=>'',variant06:(e,t)=>'',variant05:(e,t)=>'',variant04:(e,t)=>'',variant03:(e,t)=>'',variant02:(e,t)=>'',variant01:(e,t)=>''},Yu={variant05:(e,t)=>'',variant04:(e,t)=>'',variant03:(e,t)=>'',variant02:(e,t)=>'',variant01:(e,t)=>''},Vu={variant11:(e,t)=>'',variant10:(e,t)=>'',variant09:(e,t)=>'',variant08:(e,t)=>'',variant07:(e,t)=>'',variant06:(e,t)=>'',variant05:(e,t)=>'',variant04:(e,t)=>'',variant03:(e,t)=>'',variant02:(e,t)=>'',variant01:(e,t)=>''},Uu={variant13:(e,t)=>'',variant12:(e,t)=>'',variant11:(e,t)=>'',variant10:(e,t)=>'',variant09:(e,t)=>'',variant08:(e,t)=>'',variant07:(e,t)=>'',variant06:(e,t)=>'',variant05:(e,t)=>'',variant04:(e,t)=>'',variant03:(e,t)=>'',variant02:(e,t)=>'',variant01:(e,t)=>''},Ju={wavePointLongArms:(e,t)=>'',waveOkLongArms:(e,t)=>'',waveLongArms:(e,t)=>'',waveLongArm:(e,t)=>'',pointLongArm:(e,t)=>'',okLongArm:(e,t)=>'',point:(e,t)=>'',ok:(e,t)=>'',hand:(e,t)=>'',handPhone:(e,t)=>''},zu={electric:(e,t)=>'',saturn:(e,t)=>'',galaxy:(e,t)=>''},ju=Object.freeze(Object.defineProperty({__proto__:null,base:$u,beard:Hu,body:Wu,bodyIcon:zu,brows:Uu,eyes:Yu,gesture:Ju,glasses:Vu,hair:Lu,lips:Pu,nose:Tu},Symbol.toStringTag,{value:"Module"}));function Z2({prng:e,group:t,values:n=[]}){const l=ju,o=e.pick(n);if(o&&l[t][o])return{name:o,value:l[t][o]}}function Xu({prng:e,options:t}){const n=Z2({prng:e,group:"base",values:t.base}),l=Z2({prng:e,group:"body",values:t.body}),o=Z2({prng:e,group:"hair",values:t.hair}),r=Z2({prng:e,group:"lips",values:t.lips}),s=Z2({prng:e,group:"beard",values:t.beard}),a=Z2({prng:e,group:"nose",values:t.nose}),i=Z2({prng:e,group:"eyes",values:t.eyes}),c=Z2({prng:e,group:"glasses",values:t.glasses}),d=Z2({prng:e,group:"brows",values:t.brows}),u=Z2({prng:e,group:"gesture",values:t.gesture}),A=Z2({prng:e,group:"bodyIcon",values:t.bodyIcon});return{base:n,body:l,hair:o,lips:r,beard:e.bool(t.beardProbability)?s:void 0,nose:a,eyes:i,glasses:e.bool(t.glassesProbability)?c:void 0,brows:d,gesture:e.bool(t.gestureProbability)?u:void 0,bodyIcon:e.bool(t.bodyIconProbability)?A:void 0}}function qu({prng:e,options:t}){return{}}const ed={$schema:"http://json-schema.org/draft-07/schema#",properties:{base:{type:"array",items:{type:"string",enum:["variant01"]},default:["variant01"]},beard:{type:"array",items:{type:"string",enum:["variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},default:["variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},beardProbability:{type:"integer",minimum:0,maximum:100,default:10},body:{type:"array",items:{type:"string",enum:["variant25","variant24","variant23","variant22","variant21","variant20","variant19","variant18","variant17","variant16","variant15","variant14","variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},default:["variant25","variant24","variant23","variant22","variant21","variant20","variant19","variant18","variant17","variant16","variant15","variant14","variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},bodyIcon:{type:"array",items:{type:"string",enum:["electric","saturn","galaxy"]},default:["electric","saturn","galaxy"]},bodyIconProbability:{type:"integer",minimum:0,maximum:100,default:75},brows:{type:"array",items:{type:"string",enum:["variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},default:["variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},eyes:{type:"array",items:{type:"string",enum:["variant05","variant04","variant03","variant02","variant01"]},default:["variant05","variant04","variant03","variant02","variant01"]},gesture:{type:"array",items:{type:"string",enum:["wavePointLongArms","waveOkLongArms","waveLongArms","waveLongArm","pointLongArm","okLongArm","point","ok","hand","handPhone"]},default:["wavePointLongArms","waveOkLongArms","waveLongArms","waveLongArm","pointLongArm","okLongArm","point","ok","hand","handPhone"]},gestureProbability:{type:"integer",minimum:0,maximum:100,default:10},glasses:{type:"array",items:{type:"string",enum:["variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},default:["variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},glassesProbability:{type:"integer",minimum:0,maximum:100,default:20},hair:{type:"array",items:{type:"string",enum:["variant63","variant62","variant61","variant60","variant59","variant58","variant57","variant56","variant55","variant54","variant53","variant52","variant51","variant50","variant49","variant48","variant47","variant46","variant45","variant44","variant43","variant42","variant41","variant40","variant39","variant38","variant37","variant36","variant35","variant34","variant33","variant32","variant31","variant30","variant29","variant28","variant27","variant26","variant25","variant24","variant23","variant22","variant21","variant20","variant19","variant18","variant17","variant16","variant15","variant14","variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01","hat"]},default:["variant63","variant62","variant61","variant60","variant59","variant58","variant57","variant56","variant55","variant54","variant53","variant52","variant51","variant50","variant49","variant48","variant47","variant46","variant45","variant44","variant43","variant42","variant41","variant40","variant39","variant38","variant37","variant36","variant35","variant34","variant33","variant32","variant31","variant30","variant29","variant28","variant27","variant26","variant25","variant24","variant23","variant22","variant21","variant20","variant19","variant18","variant17","variant16","variant15","variant14","variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01","hat"]},lips:{type:"array",items:{type:"string",enum:["variant30","variant29","variant28","variant27","variant26","variant25","variant24","variant23","variant22","variant21","variant20","variant19","variant18","variant17","variant16","variant15","variant14","variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},default:["variant30","variant29","variant28","variant27","variant26","variant25","variant24","variant23","variant22","variant21","variant20","variant19","variant18","variant17","variant16","variant15","variant14","variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},nose:{type:"array",items:{type:"string",enum:["variant20","variant19","variant18","variant17","variant16","variant15","variant14","variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]},default:["variant20","variant19","variant18","variant17","variant16","variant15","variant14","variant13","variant12","variant11","variant10","variant09","variant08","variant07","variant06","variant05","variant04","variant03","variant02","variant01"]}}},td={title:"Notionists",creator:"Zoish",source:"https://heyzoish.gumroad.com/l/notionists",homepage:"https://bio.link/heyzoish",license:{name:"CC0 1.0",url:"https://creativecommons.org/publicdomain/zero/1.0/"}},nd=({prng:e,options:t})=>{var n,l,o,r,s,a,i,c,d,u,A,m,p,y,k,F,M,E,_,R;const $=Xu({prng:e,options:t}),D=qu({prng:e,options:t});return{attributes:{viewBox:"0 0 1744 1744",fill:"none","shape-rendering":"auto"},body:`${(l=(n=$.base)===null||n===void 0?void 0:n.value($,D))!==null&&l!==void 0?l:""}${(r=(o=$.body)===null||o===void 0?void 0:o.value($,D))!==null&&r!==void 0?r:""}${(a=(s=$.hair)===null||s===void 0?void 0:s.value($,D))!==null&&a!==void 0?a:""}${(c=(i=$.lips)===null||i===void 0?void 0:i.value($,D))!==null&&c!==void 0?c:""}${(u=(d=$.beard)===null||d===void 0?void 0:d.value($,D))!==null&&u!==void 0?u:""}${(m=(A=$.nose)===null||A===void 0?void 0:A.value($,D))!==null&&m!==void 0?m:""}${(y=(p=$.eyes)===null||p===void 0?void 0:p.value($,D))!==null&&y!==void 0?y:""}${(F=(k=$.glasses)===null||k===void 0?void 0:k.value($,D))!==null&&F!==void 0?F:""}${(E=(M=$.brows)===null||M===void 0?void 0:M.value($,D))!==null&&E!==void 0?E:""}${(R=(_=$.gesture)===null||_===void 0?void 0:_.value($,D))!==null&&R!==void 0?R:""}`,extra:()=>({...Object.entries($).reduce((x,[Q,B])=>(x[Q]=B==null?void 0:B.name,x),{}),...Object.entries(D).reduce((x,[Q,B])=>(x[`${Q}Color`]=B,x),{})})}},ld=Object.freeze(Object.defineProperty({__proto__:null,create:nd,meta:td,schema:ed},Symbol.toStringTag,{value:"Module"})),vt=z(!0);function $7(e){vt.value=e,document.documentElement.classList.toggle("dark",e),document.documentElement.classList.toggle("light",!e);try{localStorage.setItem("sourceant-theme",e?"dark":"light")}catch{}}function En(){return{isDark:vt,toggleTheme:()=>$7(!vt.value),restoreTheme:()=>{let e=null;try{e=localStorage.getItem("sourceant-theme")}catch{e=null}$7(e!=="light")}}}async function j1(e,t={}){const n=await fetch(e,{...t,headers:t.body?{"Content-Type":"application/json"}:void 0}),l=await n.text(),o=l?JSON.parse(l):null;if(!n.ok)throw new Error((o==null?void 0:o.error)||`the agent answered ${n.status}`);return o}const F2=e=>new URLSearchParams(Object.entries(e).filter(([,t])=>t!==""&&t!==!1)),B1={status:()=>j1("/health"),repositories:()=>j1("/api/repositories"),addRepository:(e,t)=>j1("/api/repositories",{method:"POST",body:JSON.stringify({path:e,name:t})}),dropRepository:e=>j1(`/api/repositories?${F2({path:e})}`,{method:"DELETE"}),index:(e="",{everything:t=!1,update:n=!1}={})=>j1("/api/index",{method:"POST",body:JSON.stringify({repository:e,everything:t,update:n})}),attention:e=>j1(`/api/attention?${F2({repository:e})}`),graph:(e,{includeTests:t=!1,pathPrefix:n=""}={})=>j1(`/api/graph?${F2({repository:e,include_tests:t,path_prefix:n})}`),knowledge:e=>j1(`/api/knowledge?${F2({repository:e,limit:100})}`),recordKnowledge:e=>j1("/api/knowledge",{method:"PUT",body:JSON.stringify(e)}),forgetKnowledge:(e,t)=>j1(`/api/knowledge?${F2({repository:e,id:t})}`,{method:"DELETE"}),browse:(e="")=>j1(`/api/browse?${F2({path:e})}`),initialize:(e,{dryRun:t=!1,useModel:n=!1}={})=>j1("/api/knowledge/initialize",{method:"POST",body:JSON.stringify({repository:e,dry_run:t,use_model:n})}),skills:(e="")=>j1(`/api/skills?${F2({repository:e})}`),skill:(e,t="")=>j1(`/api/skills/${e}?${F2({repository:t})}`),recordSkill:e=>j1("/api/skills",{method:"PUT",body:JSON.stringify({scope:"repository",paths:[],reviews:null,...e})}),forgetSkill:(e,t,n)=>j1(`/api/skills?${F2({repository:e,scope:t,id:n})}`,{method:"DELETE"}),startReview:(e,{against:t="",title:n="",description:l="",skills:o=[],useModel:r=!0}={})=>j1("/api/reviews",{method:"POST",body:JSON.stringify({repository:e,against:t,title:n,description:l,skills:o,use_model:r})}),reviewed:e=>j1(`/api/reviews/${e}`),reviews:(e="")=>j1(`/api/reviews?${F2({repository:e})}`),settings:()=>j1("/api/settings"),setSetting:(e,t)=>j1("/api/settings",{method:"PUT",body:JSON.stringify({key:e,value:t})}),resetSetting:e=>j1(`/api/settings?${F2({key:e})}`,{method:"DELETE"})},od={class:"space-y-4"},rd={key:0,class:"flex items-center gap-2 py-6 text-sm text-muted-foreground"},sd=["onClick"],ad=["value"],id={key:1,class:"flex items-center gap-2 text-sm"},cd=["id","onUpdate:modelValue"],ud={class:"text-muted-foreground"},dd={key:0,class:"py-6 text-sm text-muted-foreground"},fd={key:2,class:"flex items-center gap-3"},Ad={key:0,class:"text-xs text-success"},Dn={__name:"SettingsPanel",props:{group:{type:String,required:!0}},emits:["saved"],setup(e,{emit:t}){const n=e,l=t,o=z([]),r=z({}),s=z(!1),a=z(!0),i=z(""),c=z(!1),d=t1(()=>o.value.filter(E=>E.group===n.group));function u(E){return E.secret?"":E.listed?String(E.value??"").split(` -`).map(_=>_.trim()).filter(Boolean):E.value??""}const A=(E,_)=>E.listed?(_??[]).join(` -`):_,m=(E,_)=>String(A(E,_)??"")===String(E.value??""),p=t1(()=>d.value.some(E=>{const _=r.value[E.key];return E.secret?!!_:!m(E,_)}));async function y(){a.value=!0;try{o.value=await B1.settings(),r.value=Object.fromEntries(d.value.map(E=>[E.key,u(E)])),i.value=""}catch(E){i.value=E.message}finally{a.value=!1}}async function k(){s.value=!0,c.value=!1,i.value="";try{for(const E of d.value){const _=r.value[E.key];E.secret&&!_||!E.secret&&m(E,_)||await B1.setSetting(E.key,A(E,_))}await y(),c.value=!0,l("saved")}catch(E){i.value=E.message}finally{s.value=!1}}async function F(E){i.value="";try{await B1.resetSetting(E.key),await y()}catch(_){i.value=_.message}}function M(E){return E.secret?E.is_set:String(E.value??"")!==String(E.default??"")}return t2(()=>n.group,y),d2(y),(E,_)=>(h(),C("div",od,[a.value?(h(),C("p",rd,[I(f(M2),{class:"h-4 w-4 animate-spin"}),_[0]||(_[0]=U(" Reading what this machine can be told. ",-1))])):(h(),C(n1,{key:1},[(h(!0),C(n1,null,_1(d.value,R=>(h(),G(f(R2),{key:R.key,label:R.label,for:R.key,hint:R.description},{label:w(()=>[R.secret&&R.is_set?(h(),G(f(c2),{key:0,variant:"success"},{default:w(()=>[..._[1]||(_[1]=[U("set",-1)])]),_:1})):P("",!0),M(R)?(h(),C("button",{key:1,type:"button",class:"inline-flex items-center gap-1 text-[11px] font-normal normal-case tracking-normal text-muted-foreground hover:text-foreground",onClick:$=>F(R)},[I(f(ku),{class:"h-3 w-3"}),_[2]||(_[2]=U(" put back ",-1))],8,sd)):P("",!0)]),default:w(()=>{var $;return[($=R.choices)!=null&&$.length?(h(),G(f(j2),{key:0,id:R.key,modelValue:r.value[R.key],"onUpdate:modelValue":D=>r.value[R.key]=D,class:"w-full"},{default:w(()=>[(h(!0),C(n1,null,_1(R.choices,D=>(h(),C("option",{key:D,value:D},N(D),9,ad))),128))]),_:2},1032,["id","modelValue","onUpdate:modelValue"])):R.type==="bool"?(h(),C("label",id,[Ne(b("input",{id:R.key,"onUpdate:modelValue":D=>r.value[R.key]=D,type:"checkbox",class:"h-3.5 w-3.5 rounded border"},null,8,cd),[[a0,r.value[R.key]]]),b("span",ud,N(r.value[R.key]?"On":"Off"),1)])):R.listed?(h(),G(f(O0),{key:2,modelValue:r.value[R.key],"onUpdate:modelValue":D=>r.value[R.key]=D,mono:"",noun:"a folder",placeholder:"/home/you/work/knowledgebase/skills"},null,8,["modelValue","onUpdate:modelValue"])):(h(),G(f(J3),{key:3,id:R.key,modelValue:r.value[R.key],"onUpdate:modelValue":D=>r.value[R.key]=D,type:R.secret?"password":R.type==="int"||R.type==="float"?"number":"text",autocomplete:R.secret?"off":void 0,placeholder:R.secret&&R.is_set?"Leave empty to keep what is set":String(R.default??"")},null,8,["id","modelValue","onUpdate:modelValue","type","autocomplete","placeholder"]))]}),_:2},1032,["label","for","hint"]))),128)),d.value.length?P("",!0):(h(),C("p",dd," Nothing in this group is configurable here. ")),i.value?(h(),G(f(u2),{key:1,tone:"danger"},{default:w(()=>[U(N(i.value),1)]),_:1})):P("",!0),d.value.length?(h(),C("div",fd,[I(f(C1),{disabled:s.value||!p.value,onClick:k},{default:w(()=>[s.value?(h(),G(f(M2),{key:0,class:"mr-1.5 h-3.5 w-3.5 animate-spin"})):(h(),G(f(he),{key:1,class:"mr-1.5 h-3.5 w-3.5"})),_[3]||(_[3]=U(" Save ",-1))]),_:1},8,["disabled"]),c.value&&!p.value?(h(),C("span",Ad,"Saved.")):P("",!0),K1(E.$slots,"after")])):P("",!0)],64))]))}},hd={class:"mb-2 text-xs font-mono text-muted-foreground break-all"},pd={class:"h-64 overflow-y-auto rounded-md border bg-muted/30"},md=["onClick"],gd={class:"truncate"},vd={key:1,class:"px-3 py-6 text-center text-sm text-muted-foreground"},yd={class:"mt-2 text-xs text-muted-foreground"},bd={class:"font-mono"},kd={class:"flex items-center gap-2 pt-5"},Zn={__name:"FolderPicker",props:{open:Boolean},emits:["close","added"],setup(e,{emit:t}){const n=e,l=t,o=z(null),r=z(""),s=z(!1),a=z("");async function i(d){try{o.value=await B1.browse(d),a.value=""}catch(u){a.value=u.message}}t2(()=>n.open,d=>{d&&(r.value="",a.value="",s.value=!1,i(""))});async function c(){if(o.value){s.value=!0,a.value="";try{await B1.addRepository(o.value.path,r.value.trim()),await B1.index("",{everything:!0}),l("added"),l("close")}catch(d){a.value=d.message}finally{s.value=!1}}}return(d,u)=>(h(),G(f(Tt),{open:e.open,"max-width":"lg",onClose:u[3]||(u[3]=A=>l("close"))},{default:w(()=>{var A,m,p,y;return[u[8]||(u[8]=b("h2",{class:"text-lg font-semibold mb-3"},"Add a folder",-1)),b("p",hd,N((A=o.value)==null?void 0:A.path),1),b("div",pd,[(m=o.value)!=null&&m.parent?(h(),C("button",{key:0,class:"flex w-full items-center gap-2 px-3 py-2 text-sm hover:bg-accent",onClick:u[0]||(u[0]=k=>i(o.value.parent))},[I(f(Au),{class:"h-3.5 w-3.5"}),u[4]||(u[4]=b("span",{class:"text-muted-foreground"},"Up one",-1))])):P("",!0),(h(!0),C(n1,null,_1(((p=o.value)==null?void 0:p.entries)??[],k=>(h(),C("button",{key:k.path,class:"flex w-full items-center gap-2 px-3 py-2 text-sm hover:bg-accent",onClick:F=>i(k.path)},[I(f(m5),{class:"h-3.5 w-3.5 text-muted-foreground"}),b("span",gd,N(k.name),1),k.repository?(h(),G(f(c2),{key:0,variant:"glow",class:"ml-auto shrink-0"},{default:w(()=>[...u[5]||(u[5]=[U("git",-1)])]),_:1})):P("",!0)],8,md))),128)),o.value&&o.value.entries.length===0?(h(),C("p",vd," Nothing inside. ")):P("",!0)]),I(f(R2),{label:"Name it (optional)",for:"repo-name",class:"mt-4"},{default:w(()=>[I(f(J3),{id:"repo-name",modelValue:r.value,"onUpdate:modelValue":u[1]||(u[1]=k=>r.value=k),placeholder:"Taken from the git remote, or the folder name"},null,8,["modelValue"])]),_:1}),b("p",yd,[u[6]||(u[6]=U(" Adding ",-1)),b("code",bd,N((y=o.value)==null?void 0:y.path),1)]),a.value?(h(),G(f(u2),{key:0,tone:"danger",class:"mt-3"},{default:w(()=>[U(N(a.value),1)]),_:1})):P("",!0),b("div",kd,[I(f(C1),{disabled:s.value||!o.value,onClick:c},{default:w(()=>[s.value?(h(),G(f(M2),{key:0,class:"mr-1.5 h-3.5 w-3.5 animate-spin"})):(h(),G(f(h3),{key:1,class:"mr-1.5 h-3.5 w-3.5"})),U(" "+N(s.value?"Reading…":"Add and index"),1)]),_:1},8,["disabled"]),I(f(C1),{variant:"outline",onClick:u[2]||(u[2]=k=>l("close"))},{default:w(()=>[...u[7]||(u[7]=[U("Cancel",-1)])]),_:1})])]}),_:1},8,["open"]))}},q3=z([]),Ee=z(""),H5=z(""),T5=z(!1),Vt="";function g3({all:e=!1}={}){const t=t1(()=>e&&!Ee.value&&q3.value.length>1);async function n(){var l;T5.value=!0;try{q3.value=await B1.repositories(),H5.value=""}catch(o){q3.value=[],H5.value=`${o.message}. Is sourceant-agent running?`}finally{T5.value=!1}Ee.value===Vt&&e||q3.value.some(o=>o.name===Ee.value)||(Ee.value=((l=q3.value[0])==null?void 0:l.name)??"")}return{repositories:q3,chosen:Ee,error:H5,loading:T5,mixed:t,fetchRepositories:n}}const Cd={class:"flex items-center gap-2"},W7="sourceant-onboarded",wd={__name:"Onboarding",setup(e){const{repositories:t,fetchRepositories:n}=g3(),l=z(!1),o=z("folder"),r=z(!1),s=t1(()=>t.value.length>0);function a(){try{localStorage.setItem(W7,"yes")}catch{}l.value=!1}return d2(async()=>{let i=null;try{i=localStorage.getItem(W7)}catch{i=null}i||(await n(),l.value=t.value.length===0)}),(i,c)=>(h(),G(f(Tt),{open:l.value,"max-width":"xl",onClose:a},{default:w(()=>[o.value==="folder"?(h(),C(n1,{key:0},[c[4]||(c[4]=b("h2",{class:"text-lg font-semibold mb-1"},"Point it at some code",-1)),c[5]||(c[5]=b("p",{class:"text-sm text-muted-foreground mb-5"}," SourceAnt reads a folder on this machine into a graph, and keeps what you record about it beside the code it belongs to. Nothing leaves this machine. ",-1)),b("div",Cd,[I(f(C1),{onClick:c[0]||(c[0]=d=>r.value=!0)},{default:w(()=>[I(f(h3),{class:"mr-1.5 h-3.5 w-3.5"}),c[3]||(c[3]=U(" Add a folder ",-1))]),_:1}),I(f(C1),{variant:"outline",onClick:c[1]||(c[1]=d=>o.value="model")},{default:w(()=>[s.value?(h(),C(n1,{key:0},[U("Next")],64)):(h(),C(n1,{key:1},[U("Skip for now")],64)),I(f(du),{class:"ml-1.5 h-3.5 w-3.5"})]),_:1})]),I(Zn,{open:r.value,onClose:c[2]||(c[2]=d=>r.value=!1),onAdded:f(n)},null,8,["open","onAdded"])],64)):(h(),C(n1,{key:1},[c[7]||(c[7]=b("h2",{class:"text-lg font-semibold mb-1"},"Bring a model, or don't",-1)),c[8]||(c[8]=b("p",{class:"text-sm text-muted-foreground mb-5"}," Reading your code and reading what it already states about itself need no model at all. Proposing what nobody wrote down does. Your key stays on this machine and goes to that provider and nowhere else. ",-1)),I(Dn,{group:"Model",onSaved:a},{after:w(()=>[I(f(C1),{variant:"ghost",onClick:a},{default:w(()=>[...c[6]||(c[6]=[U("Not now",-1)])]),_:1})]),_:1})],64))]),_:1},8,["open"]))}},xd={class:"flex h-screen flex-col bg-background"},_d={class:"z-40 h-12 shrink-0 border-b bg-card/80 backdrop-blur-sm"},Id={class:"flex items-center h-full min-w-0 px-3 gap-1 sm:px-4"},Md={class:"hidden lg:flex items-center gap-0.5 min-w-0"},Ed={class:"hidden xl:inline"},Dd={class:"relative shrink-0","data-dropdown":"user"},Zd={key:0,class:"absolute top-full right-0 mt-1 w-52 bg-card border rounded-lg shadow-lg py-1 z-50"},Fd=["aria-label"],Bd={key:0,class:"lg:hidden shrink-0 border-b bg-card px-4 py-2 space-y-0.5"},Sd={class:"min-h-0 flex-1 overflow-y-auto"},Rd={class:"container mx-auto flex h-full flex-col px-4 pb-4 pt-3 lg:px-6 lg:pb-6 lg:pt-4"},Qd={__name:"App",setup(e){const{isDark:t,toggleTheme:n,restoreTheme:l}=En(),o=d5(),r=z(!1),s=z(!1),a=[{name:"Overview",href:"/",icon:yn},{name:"Knowledge",href:"/knowledge",icon:S4},{name:"Graphs",href:"/graph",icon:g5},{name:"Reviews",href:"/reviews",icon:Le},{name:"Skills",href:"/skills",icon:vn},{name:"Repositories",href:"/repositories",icon:i4},{name:"Settings",href:"/settings",icon:mt}],i=t1(()=>Ou(ld,{seed:location.hostname||"sourceant",radius:50}).toDataUri());function c(d){d.target.closest('[data-dropdown="user"]')||(s.value=!1)}return d2(()=>{l(),document.addEventListener("click",c)}),f4(()=>document.removeEventListener("click",c)),(d,u)=>{const A=Ve("RouterLink"),m=Ve("RouterView");return h(),C("div",xd,[b("header",_d,[b("div",Id,[I(A,{to:"/",class:"shrink-0 mr-1 sm:mr-3"},{default:w(()=>[I(f(H9),{size:"sm","show-text":!1})]),_:1}),u[7]||(u[7]=b("span",{class:"hidden lg:block h-4 w-px bg-border mx-1 shrink-0"},null,-1)),b("nav",Md,[(h(),C(n1,null,_1(a,p=>I(A,{key:p.href,to:p.href,title:p.name,class:f1(["flex shrink-0 items-center gap-1.5 px-2 py-1 rounded-md text-sm transition-colors 2xl:px-2.5",f(o).path===p.href?"bg-primary/10 text-primary font-medium":"text-muted-foreground hover:bg-muted hover:text-foreground"])},{default:w(()=>[(h(),G(k2(p.icon),{class:"h-3.5 w-3.5 shrink-0"})),b("span",Ed,N(p.name),1)]),_:2},1032,["to","title","class"])),64))]),u[8]||(u[8]=b("div",{class:"flex-1 min-w-0"},null,-1)),b("div",Dd,[b("button",{class:"flex items-center gap-1.5 p-1 rounded-md hover:bg-muted transition-colors","aria-label":"Account",onClick:u[0]||(u[0]=qe(p=>s.value=!s.value,["stop"]))},[I(f(fa),{src:i.value,size:"sm",class:"h-6 w-6"},null,8,["src"])]),I(r0,{"enter-active-class":"transition duration-100 ease-out","enter-from-class":"opacity-0 scale-95","enter-to-class":"opacity-100 scale-100","leave-active-class":"transition duration-75 ease-in","leave-from-class":"opacity-100 scale-100","leave-to-class":"opacity-0 scale-95"},{default:w(()=>[s.value?(h(),C("div",Zd,[u[6]||(u[6]=b("div",{class:"px-3 py-2 border-b"},[b("p",{class:"text-sm font-medium truncate"},"This machine"),b("p",{class:"text-xs text-muted-foreground truncate"},"Nothing here has been shared.")],-1)),I(A,{to:"/settings",class:"flex items-center gap-2 px-3 py-1.5 text-sm hover:bg-muted transition-colors",onClick:u[1]||(u[1]=p=>s.value=!1)},{default:w(()=>[I(f(mt),{class:"h-3.5 w-3.5 text-muted-foreground"}),u[5]||(u[5]=U(" Settings ",-1))]),_:1}),b("button",{class:"flex items-center gap-2 w-full px-3 py-1.5 text-sm hover:bg-muted transition-colors",onClick:u[2]||(u[2]=(...p)=>f(n)&&f(n)(...p))},[(h(),G(k2(f(t)?f(xn):f(kn)),{class:"h-3.5 w-3.5 text-muted-foreground"})),b("span",null,N(f(t)?"Light mode":"Dark mode"),1)])])):P("",!0)]),_:1})]),b("button",{class:"lg:hidden shrink-0 p-1 rounded-md hover:bg-muted transition-colors","aria-label":r.value?"Close menu":"Open menu",onClick:u[3]||(u[3]=p=>r.value=!r.value)},[r.value?(h(),G(f(In),{key:1,class:"h-5 w-5"})):(h(),G(f(vu),{key:0,class:"h-5 w-5"}))],8,Fd)])]),r.value?(h(),C("div",Bd,[(h(),C(n1,null,_1(a,p=>I(A,{key:p.href,to:p.href,class:f1(["flex items-center gap-2 px-3 py-2 rounded-md text-sm transition-colors",f(o).path===p.href?"bg-primary/10 text-primary font-medium":"text-muted-foreground hover:bg-muted hover:text-foreground"]),onClick:u[4]||(u[4]=y=>r.value=!1)},{default:w(()=>[(h(),G(k2(p.icon),{class:"h-4 w-4"})),U(" "+N(p.name),1)]),_:2},1032,["to","class"])),64))])):P("",!0),b("main",Sd,[b("div",Rd,[I(m)])]),I(wd)])}}},p4={__name:"EmptyMachine",setup(e){return(t,n)=>(h(),G(f(z1),{class:"text-center py-16 px-6"},{default:w(()=>[n[1]||(n[1]=b("h2",{class:"text-lg font-semibold mb-1"},"Nothing indexed yet",-1)),n[2]||(n[2]=b("p",{class:"text-muted-foreground text-sm mb-4 max-w-lg mx-auto"}," Point SourceAnt at a folder on this machine and it reads the code into a graph you can look at and record against. ",-1)),I(f(C1),{as:"a",href:"/repositories",variant:"glow"},{default:w(()=>[I(f(h3),{class:"mr-2 h-4 w-4"}),n[0]||(n[0]=U(" Add a repository ",-1))]),_:1})]),_:1}))}},Nd={class:"grid gap-3 mb-6 sm:grid-cols-2 lg:grid-cols-4"},Kd={class:"text-xs text-muted-foreground capitalize"},Gd={class:"mt-1 text-2xl font-semibold tabular-nums"},Od={class:"grid gap-3"},$d={class:"flex items-center gap-1.5"},Wd={class:"flex items-center gap-1.5"},Ld={__name:"Overview",setup(e){const{repositories:t,error:n,fetchRepositories:l}=g3(),o=z([]),r=t1(()=>({repositories:t.value.length,files:o.value.reduce((s,a)=>s+a.files,0),nodes:o.value.reduce((s,a)=>s+a.nodes,0),knowledge:o.value.reduce((s,a)=>s+a.knowledge,0)}));return d2(async()=>{await l(),o.value=await Promise.all(t.value.map(async s=>{const[a,i]=await Promise.all([B1.graph(s.name).catch(()=>null),B1.knowledge(s.name).catch(()=>null)]);return{repository:s,files:a?a.nodes.filter(c=>c.kind==="file").length:0,nodes:a?a.nodes.length:0,knowledge:i?i.total:0}}))}),(s,a)=>(h(),C("div",null,[I(f(m3),{pillar:"memory",title:"Overview",sub:"What SourceAnt has on this machine."},{icon:w(()=>[I(f(yn),{class:"h-6 w-6"})]),_:1}),f(n)?(h(),G(f(u2),{key:0,tone:"danger",class:"mb-4"},{default:w(()=>[U(N(f(n)),1)]),_:1})):P("",!0),!f(n)&&f(t).length===0?(h(),G(p4,{key:1})):f(t).length?(h(),C(n1,{key:2},[b("div",Nd,[(h(!0),C(n1,null,_1(r.value,(i,c)=>(h(),G(f(z1),{key:c,class:"p-5"},{default:w(()=>[b("p",Kd,N(c),1),b("p",Gd,N(i.toLocaleString()),1)]),_:2},1024))),128))]),b("div",Od,[(h(!0),C(n1,null,_1(o.value,i=>(h(),G(f(z3),{key:i.repository.name,title:i.repository.name,subtitle:i.repository.path,hover:""},{icon:w(()=>[I(f(m5),{class:"h-5 w-5"})]),badges:w(()=>[I(f(c2),{variant:i.files?"success":"warning"},{default:w(()=>[U(N(i.files?"Indexed":"Not indexed"),1)]),_:2},1032,["variant"])]),meta:w(()=>[b("span",$d,[I(f(p5),{class:"h-3.5 w-3.5"}),U(N(i.files.toLocaleString())+" files ",1)]),b("span",Wd,[I(f(V4),{class:"h-3.5 w-3.5"}),U(N(i.knowledge.toLocaleString())+" recorded ",1)])]),actions:w(()=>[I(f(C1),{as:"a",href:"/graph",variant:"ghost",size:"sm"},{default:w(()=>[...a[0]||(a[0]=[U("Graph",-1)])]),_:1})]),_:2},1032,["title","subtitle"]))),128))]),a[1]||(a[1]=b("p",{class:"mt-4 text-xs text-muted-foreground"}," Reviews are not here. A review reads a pull request, and nothing on this machine produces one. ",-1))],64)):P("",!0)]))}};function Pd(){const e=z(null),t=z(!1),n=z(null);async function l(o,r,s={}){t.value=!0;try{e.value=await B1.graph(`${o}/${r}`,s),n.value=null}catch(a){e.value=null,n.value=a}finally{t.value=!1}}return{graph:e,loading:t,fetchCodeGraph:l,failureFor:()=>n.value}}function Hd(){const e=z(null);async function t(){return e.value={nodes:[],links:[]},e.value}return{fetchGraph:t,failureFor:()=>null}}const Td={key:0},Yd={class:"inline-flex w-full rounded-md border bg-muted/40 p-0.5"},Vd=["onClick"],Ud={class:"mt-1.5 text-[11px] text-muted-foreground"},Jd={key:1},zd={class:"relative"},jd={key:2},Xd={class:"space-y-0.5"},qd=["onClick"],ef={class:"flex-1 truncate text-foreground"},tf={class:"tabular-nums text-muted-foreground"},nf={key:3},lf={class:"flex flex-wrap gap-1.5"},of=["onClick"],rf={key:4},sf={class:"flex cursor-pointer items-center gap-2 text-[11px] text-muted-foreground"},af={key:5},cf={key:6},uf={class:"mb-1.5 flex items-center justify-between"},df=["disabled"],ff={key:0,class:"mt-1 text-[11px] text-muted-foreground"},Af={key:1,class:"mt-1.5 space-y-1.5"},hf={class:"flex items-start gap-1.5 text-[11px]"},pf={class:"min-w-0 break-words"},mf={class:"font-medium"},gf={class:"min-w-0"},vf={class:"min-w-0"},yf={class:"overflow-hidden rounded-lg border bg-card"},bf={class:"space-y-1"},kf={class:"mx-auto max-w-sm text-xs text-muted-foreground"},Cf={key:0,class:"mt-2 text-xs text-warning"},wf={key:1,class:"mt-2 text-xs text-muted-foreground"},Fn=$1({__name:"GraphWorkbench",props:{repository:{},sources:{default:()=>["knowledge","code"]},controls:{default:()=>["filter","kinds","parts","layouts","depth","retired"]},height:{default:"640px"}},emits:["select"],setup(e,{expose:t,emit:n}){const l=e,o=n,{fetchGraph:r,failureFor:s}=Hd(),{legend:a}=K0(),{graph:i,loading:c,fetchCodeGraph:d,failureFor:u}=Pd(),A=z(l.sources[0]??"knowledge"),m=z(null),p=z(!1),y=t1(()=>A.value==="code"?i.value:m.value),k=t1(()=>A.value==="code"?c.value:p.value),F=t1(()=>A.value==="code"?u("code-graph"):s("graph")),M=t1(()=>l.repository.split("/").pop()??l.repository),E=t1(()=>!!y.value&&y.value.nodes.length>0);function _(q){return l.controls.includes(q)}const R=z(""),$=z(2),D=z([]),x=z(""),Q=z("2d"),B=z([]),X=z(!1),Y=t1(()=>!!R.value),m1=t1(()=>{var S;const q=(S=y.value)==null?void 0:S.nodes.find(o1=>o1.id===R.value);return(q==null?void 0:q.name)??R.value.replace(/^(file|symbol):/,"")}),w1=t1(()=>{var q;return((q=y.value)==null?void 0:q.communities)??[]}),r1=[{id:"2d",label:"2D"},{id:"3d",label:"3D"},{id:"tree",label:"Tree"},{id:"radial",label:"Radial"},{id:"layered",label:"Layered"},{id:"web",label:"Force"}],l1={knowledge:"Knowledge",code:"Code"},b1=["#4E79A7","#F28E2B","#E15759","#76B7B2","#59A14F","#EDC948","#B07AA1","#FF9DA7","#9C755F","#BAB0AC"];async function y1(){const[q,S]=l.repository.split("/");if(!q||!S){m.value=null;return}if(A.value==="code"){await d(q,S,{focus:R.value||void 0,depth:Y.value?$.value:void 0,q:x.value.trim()||void 0});return}p.value=!0;try{m.value=await r(q,S,{focus:R.value||void 0,depth:Y.value?$.value:void 0,kind:D.value,q:x.value.trim()||void 0,status:X.value?"all":void 0})}finally{p.value=!1}}let k1=null;function c1(){k1&&clearTimeout(k1),k1=setTimeout(y1,250)}t2([$,D,x,X],c1,{deep:!0}),t2(R,y1),t2(A,()=>{R.value="",B.value=[],y1()}),t2(()=>l.repository,()=>{R.value="",B.value=[],y1()},{immediate:!0});function L1(q){o("select",q),_("depth")&&(R.value=R.value===q?"":q)}function S1(){R.value=""}function Y1(q){D.value=D.value.includes(q)?D.value.filter(S=>S!==q):[...D.value,q]}function q1(q){B.value=B.value.includes(q)?B.value.filter(S=>S!==q):[...B.value,q]}const s1=t1(()=>l.sources.length>1||_("filter")||_("kinds")||_("parts")||_("layouts")||_("depth")||_("retired"));return t({reload:y1}),(q,S)=>{var A1,x1,g;const o1=Ve("UiLoadFailure"),J=Ve("UiLoadingState");return h(),C("div",{class:f1(["grid gap-4 lg:items-start",s1.value?"lg:grid-cols-[16rem_1fr]":""])},[s1.value?(h(),C("aside",{key:0,class:"space-y-4 overflow-y-auto rounded-lg border bg-card p-3",style:S2({height:e.height})},[e.sources.length>1?(h(),C("div",Td,[S[5]||(S[5]=b("p",{class:"mb-1.5 text-[11px] font-medium uppercase tracking-wide text-muted-foreground"},"Draw",-1)),b("div",Yd,[(h(!0),C(n1,null,_1(e.sources,v=>(h(),C("button",{key:v,type:"button",class:f1(["flex-1 rounded px-2 py-1 text-xs font-medium transition-colors",A.value===v?"bg-card text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"]),onClick:Z=>A.value=v},N(l1[v]),11,Vd))),128))]),b("p",Ud,N(A.value==="code"?"What is defined and what calls what, read from the code.":"What your team decided, and the files it covers."),1)])):P("",!0),_("filter")?(h(),C("div",Jd,[S[6]||(S[6]=b("label",{class:"mb-1.5 block text-[11px] font-medium uppercase tracking-wide text-muted-foreground"}," Only what mentions ",-1)),b("div",zd,[I(f(wn),{class:"pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground"}),Ne(b("input",{"onUpdate:modelValue":S[0]||(S[0]=v=>x.value=v),type:"search",placeholder:"a word",class:"w-full rounded-md border bg-background py-1.5 pl-8 pr-2 text-sm"},null,512),[[S6,x.value]])])])):P("",!0),_("parts")&&A.value==="code"&&w1.value.length?(h(),C("div",jd,[S[7]||(S[7]=b("p",{class:"mb-1.5 text-[11px] font-medium uppercase tracking-wide text-muted-foreground"},"Parts",-1)),b("ul",Xd,[(h(!0),C(n1,null,_1(w1.value,v=>(h(),C("li",{key:v.id},[b("button",{type:"button",class:f1(["flex w-full items-center gap-2 rounded-md px-1 py-1 text-left text-[11px] transition-colors hover:bg-muted",B.value.includes(v.id)?"opacity-40":""]),onClick:Z=>q1(v.id)},[b("span",{class:"h-2.5 w-2.5 shrink-0 rounded-full",style:S2({backgroundColor:b1[v.id%b1.length]})},null,4),b("span",ef,N(v.name),1),b("span",tf,N(v.size),1)],10,qd)]))),128))]),S[8]||(S[8]=b("p",{class:"mt-1.5 text-[11px] text-muted-foreground"}," Grouped by what calls what. Click one to hide it. ",-1))])):P("",!0),_("kinds")&&A.value==="knowledge"?(h(),C("div",nf,[S[9]||(S[9]=b("p",{class:"mb-1.5 text-[11px] font-medium uppercase tracking-wide text-muted-foreground"},"Kinds",-1)),b("div",lf,[(h(!0),C(n1,null,_1(f(a),v=>(h(),C("button",{key:v.label,type:"button",class:f1(["inline-flex items-center gap-1.5 rounded-full border px-2 py-0.5 text-[11px] transition-colors",D.value.includes(v.label.toLowerCase())?"border-primary/40 bg-primary/10 text-primary":"text-muted-foreground hover:text-foreground"]),onClick:Z=>Y1(v.label.toLowerCase())},[b("span",{class:"h-2 w-2 rounded-sm",style:S2({backgroundColor:v.color})},null,4),U(" "+N(v.label),1)],10,of))),128)),D.value.length?(h(),C("button",{key:0,type:"button",class:"text-[11px] text-muted-foreground underline-offset-2 hover:underline",onClick:S[1]||(S[1]=v=>D.value=[])},"Any")):P("",!0)])])):P("",!0),_("retired")&&A.value==="knowledge"?(h(),C("div",rf,[b("label",sf,[Ne(b("input",{"onUpdate:modelValue":S[2]||(S[2]=v=>X.value=v),type:"checkbox",class:"h-3 w-3 rounded border"},null,512),[[a0,X.value]]),S[10]||(S[10]=U(" Include retired records ",-1))])])):P("",!0),_("layouts")?(h(),C("div",af,[S[11]||(S[11]=b("p",{class:"mb-1.5 text-[11px] font-medium uppercase tracking-wide text-muted-foreground"},"Shape",-1)),I(f(ge),{modelValue:Q.value,"onUpdate:modelValue":S[3]||(S[3]=v=>Q.value=v),tabs:r1,label:"Shape",class:"grid w-full grid-cols-2"},null,8,["modelValue"])])):P("",!0),_("depth")?(h(),C("div",cf,[b("div",uf,[b("span",{class:f1(["text-[11px] font-medium uppercase tracking-wide",Y.value?"text-muted-foreground":"text-muted-foreground/50"])}," Steps out ",2),b("span",{class:f1(["font-mono text-xs",Y.value?"":"opacity-50"])},N($.value),3)]),Ne(b("input",{"onUpdate:modelValue":S[4]||(S[4]=v=>$.value=v),type:"range",min:"1",max:"5",disabled:!Y.value,class:"w-full"},null,8,df),[[S6,$.value,void 0,{number:!0}]]),Y.value?(h(),C("div",Af,[b("p",hf,[I(f(mu),{class:"mt-0.5 h-3 w-3 shrink-0 text-primary"}),b("span",pf,[S[12]||(S[12]=U("From ",-1)),b("span",mf,N(m1.value),1)])]),b("button",{type:"button",class:"inline-flex w-full items-center justify-center gap-1 rounded-md border px-2 py-1 text-[11px] hover:bg-muted",onClick:S1},[I(f(In),{class:"h-3 w-3"}),S[13]||(S[13]=U(" Draw everything ",-1))])])):(h(),C("p",ff," Click anything on the graph to walk out from it. "))])):P("",!0)],4)):P("",!0),b("div",gf,[b("div",{class:f1(["grid gap-4",q.$slots.inspector?"lg:grid-cols-[1fr_20rem]":""])},[b("div",vf,[b("div",yf,[F.value?(h(),G(o1,{key:0,what:"this graph",message:F.value,onRetry:y1},null,8,["message"])):k.value?(h(),C("div",{key:1,style:S2({height:e.height})},[I(J,{label:A.value==="code"?"Reading the code":"Reading the knowledge graph",compact:""},null,8,["label"])],4)):E.value?(h(),G(f(ma),{key:3,repo:M.value,mode:Q.value,data:y.value,hidden:B.value,height:e.height,onSelect:L1},null,8,["repo","mode","data","hidden","height"])):(h(),C("div",{key:2,class:"flex flex-col items-center justify-center gap-3 px-6 text-center",style:S2({height:e.height})},[I(f(g5),{class:"h-7 w-7 text-muted-foreground"}),b("div",bf,[S[14]||(S[14]=b("p",{class:"text-sm font-medium"},"Nothing to draw",-1)),b("p",kf,N(A.value==="code"?"This repository has not been read yet, so there is no code map for it.":"Initialize this repository and approve what it proposes, and its decisions appear here."),1)])],4))]),(A1=y.value)!=null&&A1.truncated?(h(),C("p",Cf," More than fits in one drawing, so this is the most connected part of it. Narrow it"+N(s1.value?" on the left":"")+", or click something to walk out from it. ",1)):E.value?(h(),C("p",wf,N((x1=y.value)==null?void 0:x1.nodes.length)+" symbols, "+N((g=y.value)==null?void 0:g.links.length)+" connections. ",1)):P("",!0)]),q.$slots.inspector?(h(),C("div",{key:0,class:"overflow-y-auto rounded-lg border bg-card",style:S2({height:e.height})},[K1(q.$slots,"inspector")],4)):P("",!0)],2)])],2)}}}),xf={class:"flex h-full min-h-0 flex-col"},_f=["value"],If={__name:"Graph",setup(e){const{repositories:t,chosen:n,error:l,fetchRepositories:o}=g3();return d2(o),(r,s)=>(h(),C("div",xf,[I(f(m3),{title:"Graphs",sub:"Your code, and how it holds together."},{icon:w(()=>[I(f(g5),{class:"h-6 w-6"})]),actions:w(()=>[f(t).length>1?(h(),G(f(j2),{key:0,modelValue:f(n),"onUpdate:modelValue":s[0]||(s[0]=a=>n2(n)?n.value=a:null),size:"sm","aria-label":"Repository"},{default:w(()=>[(h(!0),C(n1,null,_1(f(t),a=>(h(),C("option",{key:a.name,value:a.name},N(a.name),9,_f))),128))]),_:1},8,["modelValue"])):P("",!0)]),_:1}),f(l)?(h(),G(f(u2),{key:0,tone:"danger",class:"mb-4"},{default:w(()=>[U(N(f(l)),1)]),_:1})):P("",!0),f(t).length===0?(h(),G(p4,{key:1})):(h(),G(Fn,{key:f(n),repository:f(n),sources:["code"],controls:["filter","kinds","parts","layouts","depth"],height:"calc(100vh - 15rem)"},null,8,["repository"]))]))}},Mf=["value"],Ef=["value"],Df=["value"],Zf={key:4,class:"grid gap-3"},Ff={class:"text-sm text-muted-foreground"},Bf={key:0,class:"mt-2 grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 text-xs"},Sf={class:"break-all font-mono"},Rf={class:"text-lg font-semibold mb-4"},Qf={class:"space-y-4"},Nf={class:"flex items-center gap-2 pt-2"},Kf={__name:"Knowledge",setup(e){const t=["decision","convention","constraint","pattern","workaround","requirement"],{repositories:n,chosen:l,error:o,mixed:r,fetchRepositories:s}=g3({all:!0});async function a(D){D&&(l.value=D)}const i=z([]),c=z(null),d=z({id:"",kind:"decision",summary:"",why:""}),u=z(""),A=z(!1),m=z(!1),p=z(!1),y=z(null),k=z(!1);async function F(){try{const D=await B1.settings(),x=D.find(B=>B.key==="model.name"),Q=D.find(B=>B.key==="model.api_key");k.value=!!(x!=null&&x.value)&&!!(Q!=null&&Q.is_set)}catch{k.value=!1}}async function M(D=!1){const x=D?p:m;x.value=!0,y.value=null;try{const Q=await B1.initialize(l.value,{useModel:D});y.value=Q.recorded,o.value="",await E()}catch(Q){o.value=Q.message}finally{x.value=!1}}async function E(){if(l.value)try{const D=await B1.knowledge(l.value);i.value=D.items,o.value=""}catch(D){i.value=[],o.value=D.message}}function _(D){var x;c.value=D??{fresh:!0},d.value=D?{id:D.id,kind:D.kind,summary:D.summary,why:((x=D.properties)==null?void 0:x.why)??""}:{id:"",kind:"decision",summary:"",why:""},u.value=""}async function R(){var D,x,Q;if(!d.value.id.trim()||!d.value.summary.trim()){u.value="A name and what is true are both needed.";return}A.value=!0;try{await B1.recordKnowledge({repository:l.value,id:d.value.id.trim(),kind:d.value.kind,status:((D=c.value)==null?void 0:D.status)??"accepted",summary:d.value.summary.trim(),properties:d.value.why.trim()?{...((x=c.value)==null?void 0:x.properties)??{},why:d.value.why.trim()}:((Q=c.value)==null?void 0:Q.properties)??{}}),c.value=null,await E()}catch(B){u.value=B.message}finally{A.value=!1}}async function $(D){if(confirm(`Forget ${D.id}?`)){try{await B1.forgetKnowledge(l.value,D.id)}catch(x){o.value=x.message}await E()}}return t2(l,E),d2(async()=>{await s(),await Promise.all([E(),F()])}),(D,x)=>{const Q=Ve("X");return h(),C("div",null,[I(f(m3),{pillar:"memory",title:"Knowledge",sub:"The decisions, conventions and constraints behind this code."},{icon:w(()=>[I(f(V4),{class:"h-6 w-6"})]),actions:w(()=>[f(n).length>1?(h(),G(f(j2),{key:0,modelValue:f(l),"onUpdate:modelValue":x[0]||(x[0]=B=>n2(l)?l.value=B:null),size:"sm","aria-label":"Repository"},{default:w(()=>[b("option",{value:f(Vt)},"All repositories",8,Mf),(h(!0),C(n1,null,_1(f(n),B=>(h(),C("option",{key:B.name,value:B.name},N(B.name),9,Ef))),128))]),_:1},8,["modelValue"])):P("",!0),f(n).length&&f(l)?(h(),G(f(C1),{key:1,size:"sm",variant:"outline",disabled:m.value,onClick:M},{default:w(()=>[m.value?(h(),G(f(M2),{key:0,class:"mr-2 h-4 w-4 animate-spin"})):(h(),G(f(gt),{key:1,class:"mr-2 h-4 w-4"})),U(" "+N(m.value?"Finding…":"Find in what the repo states"),1)]),_:1},8,["disabled"])):P("",!0),f(n).length&&k.value&&f(l)?(h(),G(f(C1),{key:2,size:"sm",variant:"outline",disabled:p.value,onClick:x[1]||(x[1]=B=>M(!0))},{default:w(()=>[p.value?(h(),G(f(M2),{key:0,class:"mr-2 h-4 w-4 animate-spin"})):(h(),G(f(_n),{key:1,class:"mr-2 h-4 w-4"})),U(" "+N(p.value?"Finding…":"Find more with a model"),1)]),_:1},8,["disabled"])):P("",!0),f(n).length&&f(l)?(h(),G(f(C1),{key:3,size:"sm",variant:"glow",onClick:x[2]||(x[2]=B=>_(null))},{default:w(()=>[I(f(h3),{class:"mr-2 h-4 w-4"}),x[10]||(x[10]=U(" Record something ",-1))]),_:1})):f(n).length?(h(),G(f(j2),{key:4,"model-value":"",size:"sm","aria-label":"Choose a repository","onUpdate:modelValue":a},{default:w(()=>[x[11]||(x[11]=b("option",{value:""},"Choose a repository…",-1)),(h(!0),C(n1,null,_1(f(n),B=>(h(),C("option",{key:B.name,value:B.name},N(B.name),9,Df))),128))]),_:1})):P("",!0)]),_:1}),f(o)?(h(),G(f(u2),{key:0,tone:"danger",class:"mb-4"},{default:w(()=>[U(N(f(o)),1)]),_:1})):P("",!0),y.value!==null?(h(),G(f(u2),{key:1,tone:"info",class:"mb-4"},{default:w(()=>[y.value?(h(),C(n1,{key:0},[U(" Read "+N(y.value)+" thing"+N(y.value===1?"":"s")+" this repository already states. Nobody has agreed to any of it, so it is all proposed. ",1)],64)):(h(),C(n1,{key:1},[U(" This repository does not state anything in the places projects usually write these down: a decision record, or a conventions section in a contributing guide. ")],64))]),_:1})):P("",!0),f(n).length===0?(h(),G(p4,{key:2})):i.value.length===0?(h(),G(f(We),{key:3,title:"Nothing recorded yet"},{actions:w(()=>[I(f(C1),{variant:"glow",onClick:x[3]||(x[3]=B=>_(null))},{default:w(()=>[I(f(h3),{class:"mr-2 h-4 w-4"}),x[12]||(x[12]=U(" Record something ",-1))]),_:1}),I(f(C1),{variant:"outline",disabled:m.value,onClick:M},{default:w(()=>[m.value?(h(),G(f(M2),{key:0,class:"mr-2 h-4 w-4 animate-spin"})):(h(),G(f(gt),{key:1,class:"mr-2 h-4 w-4"})),x[13]||(x[13]=U(" Read what the repo states ",-1))]),_:1},8,["disabled"])]),default:w(()=>[x[14]||(x[14]=U(" Why a thing is the way it is outlives the code that does it. Write one down and every agent reading this repository over MCP gets it too. ",-1))]),_:1})):(h(),C("div",Zf,[(h(!0),C(n1,null,_1(i.value,B=>(h(),G(f(z3),{key:`${B.repository??""}${B.id}`,title:B.id,pillar:"memory"},{icon:w(()=>[I(f(V4),{class:"h-5 w-5"})]),badges:w(()=>[I(f(c2),{variant:"secondary"},{default:w(()=>[U(N(B.kind),1)]),_:2},1024),B.status?(h(),G(f(c2),{key:0,variant:"outline"},{default:w(()=>[U(N(B.status),1)]),_:2},1024)):P("",!0),f(r)&&B.repository?(h(),G(f(gn),{key:1,name:B.repository},{icon:w(()=>[I(f(i4),{class:"h-3 w-3"})]),_:1},8,["name"])):P("",!0)]),actions:w(()=>[B.status===D.PROPOSED?(h(),C(n1,{key:0},[I(f(C1),{variant:"outline",size:"sm",disabled:D.deciding===B.id,"aria-label":`Accept ${B.id}`,onClick:X=>D.decide(B,D.ACCEPTED)},{default:w(()=>[D.deciding===B.id?(h(),G(f(M2),{key:0,class:"mr-1.5 h-3.5 w-3.5 animate-spin"})):(h(),G(f(he),{key:1,class:"mr-1.5 h-3.5 w-3.5"})),x[16]||(x[16]=U(" Accept ",-1))]),_:2},1032,["disabled","aria-label","onClick"]),I(f(C1),{variant:"ghost",size:"icon","aria-label":`Throw out ${B.id}`,onClick:X=>D.decide(B,null)},{default:w(()=>[I(Q,{class:"h-4 w-4"})]),_:1},8,["aria-label","onClick"])],64)):(h(),C(n1,{key:1},[I(f(C1),{variant:"ghost",size:"icon","aria-label":"Edit",onClick:X=>_(B)},{default:w(()=>[I(f(bu),{class:"h-4 w-4"})]),_:1},8,["onClick"]),I(f(C1),{variant:"ghost",size:"icon","aria-label":"Remove",onClick:X=>$(B)},{default:w(()=>[I(f(h4),{class:"h-4 w-4"})]),_:1},8,["onClick"])],64))]),default:w(()=>{var X;return[b("p",Ff,N(B.summary),1),(X=B.properties)!=null&&X.why?(h(),C("dl",Bf,[x[15]||(x[15]=b("dt",{class:"text-muted-foreground"},"why",-1)),b("dd",Sf,N(B.properties.why),1)])):P("",!0)]}),_:2},1032,["title"]))),128))])),I(f(Tt),{open:!!c.value,"max-width":"xl",onClose:x[9]||(x[9]=B=>c.value=null)},{default:w(()=>{var B;return[b("h2",Rf,N((B=c.value)!=null&&B.fresh?"Record something":"Edit"),1),b("div",Qf,[I(f(R2),{label:"Name",hint:"What this will be called, and how it is found again."},{default:w(()=>{var X;return[I(f(J3),{modelValue:d.value.id,"onUpdate:modelValue":x[4]||(x[4]=Y=>d.value.id=Y),readonly:!((X=c.value)!=null&&X.fresh),placeholder:"retry-limit"},null,8,["modelValue","readonly"])]}),_:1}),I(f(R2),{label:"Kind"},{default:w(()=>[I(f(j2),{modelValue:d.value.kind,"onUpdate:modelValue":x[5]||(x[5]=X=>d.value.kind=X),class:"w-full"},{default:w(()=>[(h(),C(n1,null,_1(t,X=>b("option",{key:X},N(X),1)),64))]),_:1},8,["modelValue"])]),_:1}),I(f(R2),{label:"What is true"},{default:w(()=>[I(f(dt),{modelValue:d.value.summary,"onUpdate:modelValue":x[6]||(x[6]=X=>d.value.summary=X),placeholder:"Charges retry three times, then stop."},null,8,["modelValue"])]),_:1}),I(f(R2),{label:"Why",hint:"What stops somebody undoing it next year."},{default:w(()=>[I(f(dt),{modelValue:d.value.why,"onUpdate:modelValue":x[7]||(x[7]=X=>d.value.why=X),placeholder:"The provider rate limits after four."},null,8,["modelValue"])]),_:1}),u.value?(h(),G(f(u2),{key:0,tone:"danger"},{default:w(()=>[U(N(u.value),1)]),_:1})):P("",!0),b("div",Nf,[I(f(C1),{disabled:A.value,onClick:R},{default:w(()=>[I(f(he),{class:"mr-1.5 h-3.5 w-3.5"}),x[17]||(x[17]=U(" Save ",-1))]),_:1},8,["disabled"]),I(f(C1),{variant:"outline",onClick:x[8]||(x[8]=X=>c.value=null)},{default:w(()=>[...x[18]||(x[18]=[U("Cancel",-1)])]),_:1})])])]}),_:1},8,["open"])])}}},Gf={key:2,class:"grid gap-3"},Of={class:"flex items-center gap-1.5"},$f={class:"flex items-center gap-1.5"},Wf={key:1},Lf={key:2},Pf={key:3,class:"text-primary"},Hf={__name:"Repositories",setup(e){const t=me(),{repositories:n,error:l,fetchRepositories:o}=g3(),r=z({}),s=z(""),a=z(!1),i=z({});async function c(){for(const p of n.value){const y=await B1.graph(p.name).catch(()=>null);r.value={...r.value,[p.name]:y?{files:y.nodes.filter(k=>k.kind==="file").length,links:y.links.length}:null}}}async function d(){await o(),await c()}async function u(p){s.value=p;try{const[y]=await B1.index(p);i.value={...i.value,[p]:y},l.value=""}catch(y){l.value=y.message}s.value="",await c()}function A(p){return p?p.indexed?`Read ${p.indexed.toLocaleString()} files just now.`:"Nothing had changed.":""}async function m(p){if(confirm(`Stop covering ${p.path}? - -What was already indexed is left alone.`)){try{await B1.dropRepository(p.path)}catch(y){l.value=y.message}await d()}}return d2(d),(p,y)=>(h(),C("div",null,[I(f(m3),{title:"Repositories",sub:"The folders SourceAnt reads on this machine."},{icon:w(()=>[I(f(i4),{class:"h-6 w-6"})]),actions:w(()=>[I(f(C1),{variant:"glow",onClick:y[0]||(y[0]=k=>a.value=!0)},{default:w(()=>[I(f(h3),{class:"mr-2 h-4 w-4"}),y[3]||(y[3]=U(" Add a folder ",-1))]),_:1})]),_:1}),f(l)?(h(),G(f(u2),{key:0,tone:"danger",class:"mb-4"},{default:w(()=>[U(N(f(l)),1)]),_:1})):P("",!0),f(n).length===0?(h(),G(f(We),{key:1,title:"No folders yet"},{actions:w(()=>[I(f(C1),{variant:"glow",onClick:y[1]||(y[1]=k=>a.value=!0)},{default:w(()=>[I(f(h3),{class:"mr-2 h-4 w-4"}),y[4]||(y[4]=U(" Add a folder ",-1))]),_:1})]),default:w(()=>[y[5]||(y[5]=U(" Point SourceAnt at a repository and it reads the files into a graph. ",-1))]),_:1})):(h(),C("div",Gf,[(h(!0),C(n1,null,_1(f(n),k=>(h(),G(f(z3),{key:k.path,title:k.name,subtitle:k.path,hover:"",class:"cursor-pointer",onClick:F=>f(t).push(`/repositories/${k.name}`)},{icon:w(()=>[I(f(m5),{class:"h-5 w-5"})]),meta:w(()=>[r.value[k.name]?(h(),C(n1,{key:0},[b("span",Of,[I(f(p5),{class:"h-3.5 w-3.5"}),U(N(r.value[k.name].files.toLocaleString())+" files ",1)]),b("span",$f,[I(f(bn),{class:"h-3.5 w-3.5"}),U(N(r.value[k.name].links.toLocaleString())+" links ",1)])],64)):r.value[k.name]===null?(h(),C("span",Wf,"Not read yet. Re-index to read it.")):(h(),C("span",Lf,"Reading…")),i.value[k.name]?(h(),C("span",Pf,N(A(i.value[k.name])),1)):P("",!0)]),actions:w(()=>[I(f(C1),{variant:"outline",size:"sm",disabled:s.value===k.name,onClick:qe(F=>u(k.name),["stop"])},{default:w(()=>[s.value===k.name?(h(),G(f(M2),{key:0,class:"mr-1.5 h-3.5 w-3.5 animate-spin"})):(h(),G(f(Cn),{key:1,class:"mr-1.5 h-3.5 w-3.5"})),U(" "+N(s.value===k.name?"Reading…":"Re-index"),1)]),_:2},1032,["disabled","onClick"]),I(f(C1),{variant:"ghost",size:"icon","aria-label":`Remove ${k.name}`,onClick:qe(F=>m(k),["stop"])},{default:w(()=>[I(f(h4),{class:"h-4 w-4"})]),_:1},8,["aria-label","onClick"])]),_:2},1032,["title","subtitle","onClick"]))),128))])),I(Zn,{open:a.value,onClose:y[2]||(y[2]=k=>a.value=!1),onAdded:d},null,8,["open"])]))}};function Ut(){const e=me();return t=>e.push(t)}const Tf={class:"flex h-full min-h-0 flex-col"},Yf={key:1,class:"space-y-3"},Vf={class:"flex flex-wrap gap-x-8 gap-y-3"},Uf={class:"flex items-center gap-1.5 text-xs uppercase tracking-wider text-muted-foreground"},Jf={class:"mt-0.5 text-lg font-semibold"},zf={key:0,class:"mt-4 text-sm text-primary"},jf={key:1,class:"mt-4 text-sm text-muted-foreground"},Xf={class:"mt-4 flex flex-wrap gap-2"},qf={class:"mb-4 mt-0.5 text-sm text-muted-foreground"},eA={class:"space-y-2"},tA=["title"],nA={class:"hidden h-1.5 w-24 shrink-0 overflow-hidden rounded-full bg-muted sm:block"},lA={class:"w-28 shrink-0 text-right text-xs tabular-nums text-muted-foreground"},oA={class:"w-24 shrink-0 text-right text-xs tabular-nums text-muted-foreground"},rA={key:2,class:"space-y-3"},sA={class:"text-sm text-muted-foreground"},aA={key:3,class:"space-y-3"},iA={class:"text-sm text-muted-foreground"},cA={__name:"Repository",setup(e){const t=d5(),n=me(),l=Ut(),{repositories:o,chosen:r,fetchRepositories:s}=g3(),a=t1(()=>String(t.params.name??"")),i=t1(()=>o.value.find(D=>D.name===a.value)),c=z("overview"),d=z(null),u=z([]),A=z([]),m=z({files:[],since:""}),p=z(!1),y=z(null),k=z(""),F=t1(()=>{var D,x,Q;return[{label:"Files",value:((D=d.value)==null?void 0:D.files)??0,icon:p5},{label:"Connections",value:((x=d.value)==null?void 0:x.links)??0,icon:bn},{label:"Parts",value:((Q=d.value)==null?void 0:Q.parts)??0,icon:g5},{label:"Recorded",value:u.value.length,icon:S4},{label:"Rules",value:A.value.length,icon:c4}]}),M=t1(()=>{var D;return((D=m.value.files[0])==null?void 0:D.changes)||1}),E=t1(()=>[{id:"overview",label:"Overview"},{id:"knowledge",label:`Knowledge${u.value.length?` ${u.value.length}`:""}`},{id:"skills",label:`Skills${A.value.length?` ${A.value.length}`:""}`},{id:"graph",label:"Graph"}]);async function _(){if(!a.value)return;r.value=a.value;const[D,x,Q,B]=await Promise.all([B1.graph(a.value).catch(()=>null),B1.knowledge(a.value).catch(()=>({items:[]})),B1.skills(a.value).catch(()=>({skills:[]})),B1.attention(a.value).catch(()=>({files:[],since:""}))]);d.value=D?{files:D.nodes.filter(X=>X.kind==="file").length,links:D.links.length,parts:(D.communities??[]).length}:null,u.value=x.items??[],A.value=Q.skills??[],m.value=B}async function R(){p.value=!0;try{const[D]=await B1.index(a.value);y.value=D,k.value=""}catch(D){k.value=D.message}p.value=!1,await _()}async function $(){if(confirm(`Stop covering ${i.value.path}? - -What was already indexed is left alone.`))try{await B1.dropRepository(i.value.path),await s(),n.push("/repositories")}catch(D){k.value=D.message}}return t2(a,_),d2(async()=>{await s(),await _()}),(D,x)=>{var Q;return h(),C("div",Tf,[I(f(m3),{title:a.value,sub:(Q=i.value)==null?void 0:Q.path,mono:""},{back:w(()=>[I(f(C1),{variant:"ghost",size:"icon","aria-label":"Back to repositories",onClick:x[0]||(x[0]=B=>f(l)("/repositories"))},{default:w(()=>[I(f(Yt),{class:"h-4 w-4"})]),_:1})]),icon:w(()=>[I(f(m5),{class:"h-5 w-5"})]),badges:w(()=>{var B;return[I(f(c2),{variant:(B=d.value)!=null&&B.files?"success":"warning"},{default:w(()=>{var X;return[U(N((X=d.value)!=null&&X.files?"Indexed":"Not indexed"),1)]}),_:1},8,["variant"])]}),actions:w(()=>[I(f(C1),{variant:"outline",disabled:p.value,onClick:R},{default:w(()=>[p.value?(h(),G(f(M2),{key:0,class:"mr-1.5 h-3.5 w-3.5 animate-spin"})):(h(),G(f(Cn),{key:1,class:"mr-1.5 h-3.5 w-3.5"})),U(" "+N(p.value?"Reading…":"Re-index"),1)]),_:1},8,["disabled"]),I(f(C1),{variant:"ghost",size:"icon","aria-label":"Stop covering this folder",onClick:$},{default:w(()=>[I(f(h4),{class:"h-4 w-4"})]),_:1})]),_:1},8,["title","sub"]),k.value?(h(),G(f(u2),{key:0,tone:"danger",class:"mb-4"},{default:w(()=>[U(N(k.value),1)]),_:1})):P("",!0),I(f(ge),{modelValue:c.value,"onUpdate:modelValue":x[1]||(x[1]=B=>c.value=B),tabs:E.value,label:"What to look at",class:"mb-4 w-fit"},null,8,["modelValue","tabs"]),c.value==="overview"?(h(),C("div",Yf,[I(f(z1),{class:"p-5"},{default:w(()=>[b("dl",Vf,[(h(!0),C(n1,null,_1(F.value,B=>(h(),C("div",{key:B.label},[b("dt",Uf,[(h(),G(k2(B.icon),{class:"h-3.5 w-3.5"})),U(N(B.label),1)]),b("dd",Jf,N(B.value.toLocaleString()),1)]))),128))]),y.value?(h(),C("p",zf,[y.value.indexed?(h(),C(n1,{key:0},[U("Read "+N(y.value.indexed.toLocaleString())+" files just now.",1)],64)):(h(),C(n1,{key:1},[U("Nothing had changed.")],64))])):d.value===null?(h(),C("p",jf," Not read yet. Re-index to read it. ")):P("",!0),b("div",Xf,[I(f(C1),{variant:"outline",size:"sm",onClick:x[2]||(x[2]=B=>f(n).push("/reviews"))},{default:w(()=>[I(f(Le),{class:"mr-1.5 h-3.5 w-3.5"}),x[6]||(x[6]=U(" Review what has changed ",-1))]),_:1}),I(f(C1),{variant:"outline",size:"sm",onClick:x[3]||(x[3]=B=>f(n).push("/knowledge"))},{default:w(()=>[I(f(S4),{class:"mr-1.5 h-3.5 w-3.5"}),x[7]||(x[7]=U(" Record something ",-1))]),_:1})])]),_:1}),m.value.files.length?(h(),G(f(z1),{key:0,class:"p-5"},{default:w(()=>[x[8]||(x[8]=b("h2",{class:"font-semibold"},"Where to look first",-1)),b("p",qf," Files that have been changing in the last "+N(m.value.since)+" and that the rest of the code leans on. Either on its own says little: something everything imports and nobody touches is settled, and something nothing imports that changes daily is a scratch pad. Where they meet is where a change is most likely to catch somebody out, and is the shortest list worth reading first. ",1),b("ul",eA,[(h(!0),C(n1,null,_1(m.value.files,B=>(h(),C("li",{key:B.path,class:"flex items-center gap-3"},[b("span",{class:"min-w-0 flex-1 truncate font-mono text-sm",title:B.path},N(B.path),9,tA),b("span",nA,[b("span",{class:"block h-full rounded-full bg-pillar-graph",style:S2({width:`${Math.max(4,B.changes/M.value*100)}%`})},null,4)]),b("span",lA,N(B.changes)+" change"+N(B.changes===1?"":"s"),1),b("span",oA,N(B.dependants)+" depend"+N(B.dependants===1?"s":""),1)]))),128))])]),_:1})):P("",!0)])):c.value==="knowledge"?(h(),C("div",rA,[(h(!0),C(n1,null,_1(u.value,B=>(h(),G(f(z3),{key:B.id,title:B.id,pillar:"memory"},{icon:w(()=>[I(f(S4),{class:"h-5 w-5"})]),badges:w(()=>[I(f(c2),{variant:"secondary"},{default:w(()=>[U(N(B.kind),1)]),_:2},1024),B.status?(h(),G(f(c2),{key:0,variant:"outline"},{default:w(()=>[U(N(B.status),1)]),_:2},1024)):P("",!0)]),default:w(()=>[b("p",sA,N(B.summary),1)]),_:2},1032,["title"]))),128)),u.value.length?P("",!0):(h(),G(f(z1),{key:0,class:"p-10 text-center"},{default:w(()=>[x[10]||(x[10]=b("p",{class:"font-medium"},"Nothing recorded about this repository yet.",-1)),I(f(C1),{class:"mt-3",variant:"outline",onClick:x[4]||(x[4]=B=>f(n).push("/knowledge"))},{default:w(()=>[...x[9]||(x[9]=[U("Record something",-1)])]),_:1})]),_:1}))])):c.value==="skills"?(h(),C("div",aA,[(h(!0),C(n1,null,_1(A.value,B=>(h(),G(f(z3),{key:B.id,title:B.name,subtitle:B.path,pillar:"review"},{icon:w(()=>[I(f(c4),{class:"h-5 w-5"})]),badges:w(()=>[I(f(c2),{variant:B.origin==="repository"?"success":"outline"},{default:w(()=>[U(N(B.origin==="repository"?"this repository":B.origin),1)]),_:2},1032,["variant"])]),default:w(()=>[b("p",iA,N(B.description),1)]),_:2},1032,["title","subtitle"]))),128)),A.value.length?P("",!0):(h(),G(f(z1),{key:0,class:"p-10 text-center"},{default:w(()=>[x[12]||(x[12]=b("p",{class:"font-medium"},"Nothing written down for this repository yet.",-1)),I(f(C1),{class:"mt-3",variant:"outline",onClick:x[5]||(x[5]=B=>f(n).push("/skills/new"))},{default:w(()=>[...x[11]||(x[11]=[U("Write one down",-1)])]),_:1})]),_:1}))])):(h(),G(Fn,{key:a.value,repository:a.value,sources:["code"],controls:["filter","kinds","parts","layouts","depth"],height:"calc(100vh - 19rem)"},null,8,["repository"]))])}}},uA={class:"flex h-full min-h-0 flex-col"},dA={key:0},fA=["value"],AA=["value"],hA=["value"],pA={class:"space-y-2"},mA={key:1,class:"font-mono"},gA={class:"mb-3 flex flex-wrap items-center gap-x-3 gap-y-2"},vA={class:"ml-auto flex flex-wrap items-center gap-1.5"},yA=["value"],bA={key:1,class:"min-h-0 flex-1 overflow-y-auto"},kA={class:"min-w-0 flex-1 truncate font-medium"},CA={class:"shrink-0 font-mono text-xs text-muted-foreground"},wA={class:"shrink-0 text-xs text-muted-foreground"},xA={class:"shrink-0 text-xs text-muted-foreground"},_A={key:0,class:"mt-2 whitespace-pre-wrap pl-5 text-sm text-muted-foreground"},IA={key:2,class:"min-h-0 flex-1 overflow-y-auto"},MA={class:"divide-y"},EA={class:"flex cursor-pointer items-center gap-2 text-sm"},DA={class:"font-medium"},ZA={class:"min-w-0 flex-1 truncate text-muted-foreground"},FA={class:"flex cursor-pointer items-center gap-2 text-sm"},BA={class:"font-medium"},SA={class:"min-w-0 flex-1 truncate text-muted-foreground"},RA={class:"space-y-2"},QA={class:"space-y-2"},NA={class:"space-y-2"},KA={class:"space-y-1.5 text-sm"},GA=["onClick"],OA={class:"font-mono text-xs"},$A={key:3,class:"grid min-h-0 flex-1 gap-3 lg:grid-cols-[18rem_1fr]"},WA={class:"min-h-0 flex-1 overflow-y-auto py-1"},LA=["onClick"],PA=["title"],HA={class:"shrink-0 text-[10px] uppercase text-muted-foreground"},TA={class:"min-h-0 overflow-y-auto"},YA={class:"mb-2 flex flex-wrap items-center gap-2"},VA={class:"break-all font-mono text-sm"},UA=1500,L7={__name:"Reviews",setup(e){const t=d5(),n=me(),l=Ut(),{repositories:o,chosen:r,error:s,mixed:a,fetchRepositories:i}=g3({all:!0}),c=z(!1),d=z(!1),u=z(null),A=z(null),m=z(!1),p=z(""),y=z([]),k=z(""),F=z([]),M=z([]),E=z("overview"),_=t1(()=>{var K;return((K=u.value)==null?void 0:K.changed)??[]}),R=t1(()=>String(t.params.id??"")),$=t1(()=>F.value.filter(K=>!y.value.includes(K.id))),D=t1(()=>Object.fromEntries(F.value.map(K=>[K.id,K]))),x=K=>{var O;return((O=D.value[K])==null?void 0:O.name)??K},Q=K=>{var O;return(O=m1.value.find(p1=>p1.skill===K))==null?void 0:O.passed};function B(K){y.value=y.value.filter(O=>O!==K)}function X(K){K&&!y.value.includes(K)&&(y.value=[...y.value,K]),k.value=""}const Y=t1(()=>{var K;return((K=u.value)==null?void 0:K.where)??null}),m1=t1(()=>{var K;return((K=u.value)==null?void 0:K.verdicts)??[]}),w1=t1(()=>m1.value.flatMap(K=>K.findings.map(O=>({...O,skill:K.skill})))),r1=t1(()=>w1.value.filter(K=>K.severity==="blocking")),l1=t1(()=>w1.value.filter(K=>K.severity!=="blocking")),b1=t1(()=>{const K={};for(const O of w1.value)O.path&&(K[O.path]=(K[O.path]??0)+(O.severity==="blocking"?10:1));for(const O of Y1.value)K[O.path]=(K[O.path]??0)+1;return K}),y1=t1(()=>[..._.value].sort((K,O)=>(b1.value[O.path]??0)-(b1.value[K.path]??0))),k1=t1(()=>_.value.find(K=>K.path===p.value)??y1.value[0]??null),c1=t1(()=>w1.value.filter(K=>!K.path)),L1=t1(()=>{var K;return((K=u.value)==null?void 0:K.review)??null}),S1=t1(()=>{var K;return((K=L1.value)==null?void 0:K.summary)??null}),Y1=t1(()=>{var K;return((K=L1.value)==null?void 0:K.suggestions)??[]}),q1=t1(()=>m1.value.filter(K=>!K.passed)),s1=t1(()=>{var K;return((K=u.value)==null?void 0:K.commits)??[]}),q=t1(()=>{var K,O;return!!((K=S1.value)!=null&&K.overview)||q1.value.length>0||c1.value.length>0||Y1.value.length>0||Object.keys(((O=L1.value)==null?void 0:O.notes)??{}).length>0}),S=t1(()=>{const K=[{id:"overview",label:"Overview"},{id:"details",label:`Files${_.value.length?` ${_.value.length}`:""}`}];return K.push({id:"commits",label:`Commits${s1.value.length?` ${s1.value.length}`:""}`}),K}),o1={APPROVE:{label:"Approved",tone:"success"},REQUEST_CHANGES:{label:"Changes requested",tone:"danger"},COMMENT:{label:"Commented",tone:"warning"}},J=t1(()=>{var O;if(r1.value.length)return{label:"Changes requested",tone:"danger",count:r1.value.length};const K=(O=L1.value)==null?void 0:O.verdict;return K&&o1[K]?{...o1[K],count:Y1.value.length||null}:!m1.value.length&&!L1.value?{label:"Not reviewed",tone:"neutral",count:null}:{label:"Commented",tone:"warning",count:l1.value.length||null}}),A1={success:hu,danger:Q7,warning:yu,neutral:Le},x1=t1(()=>u.value?A1[J.value.tone]:Le),g={BUG:"danger",SECURITY:"danger",PERFORMANCE:"warning",REFACTOR:"info",STYLE:"neutral",CLARITY:"neutral",TEST:"info",DOCUMENTATION:"neutral"},v=K=>g[String(K||"").toUpperCase()]??"info",Z=K=>[...w1.value.filter(O=>O.path===K).map(O=>({...O,from:O.skill,tone:O.severity==="blocking"?"danger":"warning"})),...Y1.value.filter(O=>O.path===K).map(O=>({line:O.start_line,severity:"suggestion",detail:O.comment,code:O.suggested_code,replacing:O.existing_code,from:O.category||"review",tone:v(O.category)}))];async function L(K){K&&(r.value=K,await Promise.all([e1(),T()]))}async function T(){try{M.value=await B1.reviews(r.value)}catch{M.value=[]}}function W(K){if(!K)return"";const O=new Date(K),p1=Math.round((Date.now()-O.getTime())/6e4);if(p1<1)return"just now";if(p1<60)return`${p1} minute${p1===1?"":"s"} ago`;const H=Math.round(p1/60);return H<24?`${H} hour${H===1?"":"s"} ago`:O.toLocaleDateString()}async function a1(){try{const K=await B1.settings(),O=K.find(H=>H.key==="model.name"),p1=K.find(H=>H.key==="model.api_key");m.value=!!(O!=null&&O.value)&&!!(p1!=null&&p1.is_set)}catch{m.value=!1}}async function e1(){try{F.value=(await B1.skills(r.value)).skills}catch{F.value=[]}}let j=null;function V(){j&&clearTimeout(j),j=null}async function g1(K){V();const O=K?d:c;O.value=!0,s.value="";try{const p1=await B1.startReview(r.value,{useModel:K,skills:[...y.value]});n.replace(`/reviews/${p1.id}`),await i1(p1.id,K)}catch(p1){s.value=p1.message,O.value=!1}}async function i1(K,O=!0){const p1=O?d:c;let H;try{H=await B1.reviewed(K)}catch(D1){s.value=D1.message,p1.value=!1;return}if(A.value=H,H.status==="running"){p1.value=!0,j=setTimeout(()=>i1(K,O),UA);return}if(p1.value=!1,H.status==="failed"){s.value=H.error;return}H.repository&&H.repository!==r.value&&(r.value=H.repository),u.value=H.review,p.value="",E.value="overview",T(),H.repository&&(r.value=H.repository),y.value=(H.review.skills??[]).map(D1=>D1.id)}return t2(r,()=>{V(),e1(),T()}),t2(R,K=>{if(V(),!K){u.value=null,A.value=null,T();return}i1(K)}),f4(V),d2(async()=>{await i(),await Promise.all([a1(),e1(),T()]),R.value&&await i1(R.value)}),(K,O)=>{var p1;return h(),C("div",uA,[I(f(m3),{pillar:"review",title:Y.value?`${Y.value.branch||"no branch"} → ${Y.value.against}`:"Reviews",sub:Y.value?Y.value.path:"Your work read here, before anybody else is asked to read it.",mono:!!Y.value,tone:u.value?J.value.tone:void 0},a6({icon:w(()=>[(h(),G(k2(x1.value),{class:"h-6 w-6"}))]),actions:w(()=>[f(o).length>1?(h(),G(f(j2),{key:0,modelValue:f(r),"onUpdate:modelValue":O[1]||(O[1]=H=>n2(r)?r.value=H:null),size:"sm","aria-label":"Repository"},{default:w(()=>[b("option",{value:f(Vt)},"All repositories",8,fA),(h(!0),C(n1,null,_1(f(o),H=>(h(),C("option",{key:H.name,value:H.name},N(H.name),9,AA))),128))]),_:1},8,["modelValue"])):P("",!0),f(o).length&&f(r)?(h(),G(f(C1),{key:1,size:"sm",variant:"outline",disabled:c.value,onClick:O[2]||(O[2]=H=>g1(!1))},{default:w(()=>[c.value?(h(),G(f(M2),{key:0,class:"mr-2 h-4 w-4 animate-spin"})):(h(),G(f(p5),{key:1,class:"mr-2 h-4 w-4"})),U(" "+N(c.value?"Reading…":"Read what changed"),1)]),_:1},8,["disabled"])):P("",!0),f(o).length&&m.value&&f(r)?(h(),G(f(C1),{key:2,size:"sm",variant:"glow",disabled:d.value,onClick:O[3]||(O[3]=H=>g1(!0))},{default:w(()=>[d.value?(h(),G(f(M2),{key:0,class:"mr-2 h-4 w-4 animate-spin"})):(h(),G(f(_n),{key:1,class:"mr-2 h-4 w-4"})),U(" "+N(d.value?"Reviewing…":"Review it"),1)]),_:1},8,["disabled"])):f(o).length&&m.value?(h(),G(f(j2),{key:3,"model-value":"",size:"sm","aria-label":"Choose a repository to review","onUpdate:modelValue":L},{default:w(()=>[O[5]||(O[5]=b("option",{value:""},"Choose a repository…",-1)),(h(!0),C(n1,null,_1(f(o),H=>(h(),C("option",{key:H.name,value:H.name},N(H.name),9,hA))),128))]),_:1})):P("",!0)]),_:2},[R.value?{name:"back",fn:w(()=>[I(f(C1),{variant:"ghost",size:"icon","aria-label":"Back to reviews",onClick:O[0]||(O[0]=H=>f(l)("/reviews"))},{default:w(()=>[I(f(Yt),{class:"h-4 w-4"})]),_:1})]),key:"0"}:void 0,u.value?{name:"meta",fn:w(()=>[I(f(mn),{label:J.value.label,tone:J.value.tone,count:J.value.count},null,8,["label","tone","count"]),Y.value?(h(),C("span",dA,N(Y.value.commits)+" commit"+N(Y.value.commits===1?"":"s")+" ahead",1)):P("",!0),b("span",null,N(_.value.length)+" file"+N(_.value.length===1?"":"s"),1)]),key:"1"}:void 0]),1032,["title","sub","mono","tone"]),f(s)?(h(),G(f(u2),{key:0,tone:"danger",class:"mb-4"},{default:w(()=>[U(N(f(s)),1)]),_:1})):P("",!0),f(o).length===0?(h(),G(p4,{key:1})):(h(),C(n1,{key:2},[!m.value&&f(r)?(h(),G(f(u2),{key:0,tone:"info",class:"mb-4"},{default:w(()=>[...O[6]||(O[6]=[U(" No model is configured, so nothing here can be judged. Reading what changed needs nothing. Choose a model in Settings to have the work read against your skills. ",-1)])]),_:1})):P("",!0),u.value?(h(),C(n1,{key:2},[b("div",gA,[I(f(ge),{modelValue:E.value,"onUpdate:modelValue":O[4]||(O[4]=H=>E.value=H),tabs:S.value,label:"What to look at",class:"w-fit"},null,8,["modelValue","tabs"]),b("div",vA,[O[11]||(O[11]=b("span",{class:"text-xs uppercase tracking-wider text-muted-foreground"}," Skills applied ",-1)),(h(!0),C(n1,null,_1(y.value,H=>(h(),G(f(u7),{key:H,label:x(H),tone:Q(H)===void 0?"default":Q(H)?"success":"danger",removable:"",onRemove:D1=>B(H)},{default:w(()=>[U(N(x(H)),1)]),_:2},1032,["label","tone","onRemove"]))),128)),y.value.length?P("",!0):(h(),G(f(u7),{key:0,tone:"muted"},{default:w(()=>[...O[9]||(O[9]=[U("Whatever applies",-1)])]),_:1})),$.value.length?(h(),G(f(j2),{key:1,"model-value":k.value,size:"sm","aria-label":"Add a skill","onUpdate:modelValue":X},{default:w(()=>[O[10]||(O[10]=b("option",{value:""},"Add…",-1)),(h(!0),C(n1,null,_1($.value,H=>(h(),C("option",{key:H.id,value:H.id},N(H.name),9,yA))),128))]),_:1},8,["model-value"])):P("",!0)])]),u.value.note&&!L1.value?(h(),G(f(u2),{key:0,tone:"info",class:"mb-3"},{default:w(()=>[U(N(u.value.note),1)]),_:1})):P("",!0),E.value==="commits"?(h(),C("div",bA,[s1.value.length?(h(),G(f(z1),{key:1,class:"divide-y px-4 py-1"},{default:w(()=>[(h(!0),C(n1,null,_1(s1.value,H=>(h(),C("div",{key:H.sha,class:"py-2.5"},[(h(),G(k2(H.body?"details":"div"),{class:f1(H.body&&"group")},{default:w(()=>[(h(),G(k2(H.body?"summary":"div"),{class:f1(["flex items-baseline gap-2 text-sm",H.body&&"cursor-pointer list-none"])},{default:w(()=>[I(f(gu),{class:"h-3.5 w-3.5 shrink-0 self-center text-muted-foreground"}),b("span",kA,N(H.subject),1),b("span",CA,N(H.sha.slice(0,8)),1),b("span",wA,N(H.author),1),b("span",xA,N(W(H.at)),1)]),_:2},1032,["class"])),H.body?(h(),C("p",_A,N(H.body),1)):P("",!0)]),_:2},1032,["class"]))]))),128))]),_:1})):(h(),G(f(We),{key:0,title:"Nothing committed on this branch",compact:""},{default:w(()=>[...O[12]||(O[12]=[U(" Everything here is uncommitted work, which is in the diff rather than in a commit. ",-1)])]),_:1}))])):E.value==="overview"?(h(),C("div",IA,[q.value?(h(),G(f(z1),{key:1,class:"divide-y px-5 py-1"},{default:w(()=>{var H,D1,V1,e2,C2,w2,v3,ye;return[(H=S1.value)!=null&&H.overview?(h(),G(f(O3),{key:0,title:"What this change does",tone:"info"},{icon:w(()=>[I(f(N7),{class:"h-4 w-4"})]),default:w(()=>[I(f(B2),{source:S1.value.overview},null,8,["source"])]),_:1})):P("",!0),q1.value.length||c1.value.length?(h(),G(f(O3),{key:1,title:"Against what this team wrote down",tone:"warning",count:q1.value.length+c1.value.length,collapsible:"",closed:""},{icon:w(()=>[I(f(Cu),{class:"h-4 w-4"})]),default:w(()=>[b("ul",MA,[(h(!0),C(n1,null,_1(q1.value,M1=>(h(),C("li",{key:M1.skill,class:"py-2 first:pt-0"},[b("details",null,[b("summary",EA,[I(f($e),{tone:"danger",title:`${M1.skill} is not met`},null,8,["title"]),b("span",DA,N(M1.skill),1),b("span",ZA,N((M1.note||"").split(` -`)[0]),1)]),M1.note?(h(),G(f(B2),{key:0,source:M1.note,class:"mt-2 pl-5 text-sm text-muted-foreground"},null,8,["source"])):P("",!0)])]))),128)),(h(!0),C(n1,null,_1(c1.value,(M1,U1)=>(h(),C("li",{key:`o${U1}`,class:"py-2 first:pt-0"},[b("details",null,[b("summary",FA,[I(f($e),{tone:M1.severity==="blocking"?"danger":"warning",title:M1.skill||"A skill"},null,8,["tone","title"]),b("span",BA,N(M1.skill),1),b("span",SA,N((M1.detail||"").split(` -`)[0]),1)]),I(f(B2),{source:M1.detail,class:"mt-2 pl-5 text-sm text-muted-foreground"},null,8,["source"])])]))),128))])]),_:1},8,["count"])):P("",!0),(V1=(D1=S1.value)==null?void 0:D1.critical_issues)!=null&&V1.length?(h(),G(f(O3),{key:2,title:"Worth stopping for",tone:"danger",count:S1.value.critical_issues.length,collapsible:""},{icon:w(()=>[I(f(Q7),{class:"h-4 w-4"})]),default:w(()=>[b("ul",RA,[(h(!0),C(n1,null,_1(S1.value.critical_issues,(M1,U1)=>(h(),C("li",{key:U1},[I(f(B2),{source:M1},null,8,["source"])]))),128))])]),_:1},8,["count"])):P("",!0),(C2=(e2=S1.value)==null?void 0:e2.key_improvements)!=null&&C2.length?(h(),G(f(O3),{key:3,title:"Worth changing",tone:"warning",count:S1.value.key_improvements.length,collapsible:""},{icon:w(()=>[I(f(V4),{class:"h-4 w-4"})]),default:w(()=>[b("ul",QA,[(h(!0),C(n1,null,_1(S1.value.key_improvements,(M1,U1)=>(h(),C("li",{key:U1},[I(f(B2),{source:M1},null,8,["source"])]))),128))])]),_:1},8,["count"])):P("",!0),(v3=(w2=S1.value)==null?void 0:w2.minor_suggestions)!=null&&v3.length?(h(),G(f(O3),{key:4,title:"Nice to have",count:S1.value.minor_suggestions.length,collapsible:"",closed:""},{icon:w(()=>[I(f(gt),{class:"h-4 w-4"})]),default:w(()=>[b("ul",NA,[(h(!0),C(n1,null,_1(S1.value.minor_suggestions,(M1,U1)=>(h(),C("li",{key:U1},[I(f(B2),{source:M1},null,8,["source"])]))),128))])]),_:1},8,["count"])):P("",!0),Y1.value.length?(h(),G(f(O3),{key:5,title:"Suggestions",tone:"info",count:Y1.value.length,collapsible:""},{icon:w(()=>[I(f(fu),{class:"h-4 w-4"})]),default:w(()=>[O[13]||(O[13]=b("p",{class:"mb-3 text-sm text-muted-foreground"}," Each one is drawn against the line it is about, under Files. ",-1)),b("ul",KA,[(h(!0),C(n1,null,_1(Y1.value,(M1,U1)=>(h(),C("li",{key:U1,class:"flex gap-2"},[M1.category?(h(),G(f($e),{key:0,tone:v(M1.category),title:M1.category,label:M1.category.toLowerCase(),class:"mt-0.5 shrink-0"},null,8,["tone","title","label"])):P("",!0),b("button",{type:"button",class:"min-w-0 text-left hover:underline",onClick:v5=>{p.value=M1.path,E.value="details"}},[b("span",OA,N(M1.path)+":"+N(M1.start_line),1),I(f(B2),{source:M1.comment,class:"text-muted-foreground"},null,8,["source"])],8,GA)]))),128))])]),_:1},8,["count"])):P("",!0),(h(!0),C(n1,null,_1(((ye=L1.value)==null?void 0:ye.notes)??{},(M1,U1)=>(h(),G(f(O3),{key:U1,title:String(U1).replace(/_/g," "),collapsible:"",closed:"",class:"capitalize"},{icon:w(()=>[I(f(N7),{class:"h-4 w-4"})]),default:w(()=>[I(f(B2),{source:M1,class:"normal-case"},null,8,["source"])]),_:2},1032,["title"]))),128))]}),_:1})):(h(),G(f(We),{key:0,title:"Read, not judged",compact:""},{default:w(()=>[U(N(u.value.note||"Ask for a review to have it read properly."),1)]),_:1}))])):(h(),C("div",$A,[I(f(z1),{class:"flex min-h-0 flex-col overflow-hidden"},{default:w(()=>[O[14]||(O[14]=b("div",{class:"border-b px-3 py-2 text-xs uppercase tracking-wider text-muted-foreground"}," Changed ",-1)),b("ul",WA,[(h(!0),C(n1,null,_1(y1.value,H=>{var D1;return h(),C("li",{key:H.path},[b("button",{type:"button",class:f1(["flex w-full items-center gap-2 px-3 py-1.5 text-left text-sm transition-colors",((D1=k1.value)==null?void 0:D1.path)===H.path?"bg-primary/10 text-primary":"hover:bg-muted"]),onClick:V1=>p.value=H.path},[b("span",{class:"min-w-0 flex-1 truncate font-mono text-xs",title:H.path},N(H.path),9,PA),Z(H.path).length?(h(),G(f(c2),{key:0,variant:b1.value[H.path]>=10?"destructive":"secondary"},{default:w(()=>[U(N(Z(H.path).length),1)]),_:2},1032,["variant"])):P("",!0),b("span",HA,N(H.change.slice(0,3)),1)],10,LA)])}),128))])]),_:1}),b("div",TA,[k1.value?(h(),C(n1,{key:0},[b("div",YA,[b("span",VA,N(k1.value.path),1),I(f(c2),{variant:"secondary"},{default:w(()=>[U(N(k1.value.change),1)]),_:1})]),I(f(L9),{patch:k1.value.patch,notes:Z(k1.value.path)},null,8,["patch","notes"])],64)):(h(),G(f(z1),{key:1,class:"p-10 text-center text-sm text-muted-foreground"},{default:w(()=>[...O[15]||(O[15]=[U(" Nothing has changed in this checkout. ",-1)])]),_:1}))])]))],64)):(h(),C(n1,{key:1},[((p1=A.value)==null?void 0:p1.status)==="running"?(h(),G(f(tu),{key:0,label:"Reading it",note:"This keeps going whether or not anybody is watching, and the link to it keeps working."})):(h(),C(n1,{key:1},[M.value.length?P("",!0):(h(),G(f(We),{key:0,title:"Nothing read here yet"},a6({icon:w(()=>[I(f(Le),{class:"h-8 w-8"})]),default:w(()=>[O[7]||(O[7]=U(" Everything comes off the checkout, so work you have not pushed, or not committed, still gets a review. ",-1))]),_:2},[f(r)?void 0:{name:"actions",fn:w(()=>[(h(!0),C(n1,null,_1(f(o),H=>(h(),G(f(C1),{key:H.name,size:"sm",variant:"outline",onClick:D1=>L(H.name)},{default:w(()=>[I(f(i4),{class:"mr-2 h-4 w-4"}),U(" "+N(H.name),1)]),_:2},1032,["onClick"]))),128))]),key:"0"}]),1024)),M.value.length?(h(),C(n1,{key:1},[O[8]||(O[8]=b("p",{class:"mb-2 text-xs uppercase tracking-wider text-muted-foreground"},"Earlier",-1)),b("div",pA,[(h(!0),C(n1,null,_1(M.value,H=>(h(),G(f(z3),{key:H.id,title:H.title||H.repository,subtitle:H.id,pillar:"review",hover:"",class:"cursor-pointer",onClick:D1=>f(n).push(`/reviews/${H.id}`)},{icon:w(()=>[I(f(pu),{class:"h-5 w-5"})]),badges:w(()=>[I(f(c2),{variant:H.status==="done"?"success":H.status==="failed"?"destructive":"secondary"},{default:w(()=>[U(N(H.status),1)]),_:2},1032,["variant"])]),meta:w(()=>[b("span",null,N(W(H.started)),1),f(a)?(h(),G(f(gn),{key:0,name:H.repository},{icon:w(()=>[I(f(i4),{class:"h-3 w-3"})]),_:1},8,["name"])):(h(),C("span",mA,N(H.repository),1))]),_:2},1032,["title","subtitle","onClick"]))),128))])],64)):P("",!0)],64))],64))],64))])}}},JA={class:"flex h-full min-h-0 flex-col"},zA={key:0,class:"text-xs text-success"},jA={key:2,class:"py-10 text-center text-sm text-muted-foreground"},XA=["value"],qA={class:"flex flex-wrap gap-1.5"},eh={class:"mt-2 text-xs text-muted-foreground"},th={class:"mb-2 flex items-center justify-between gap-3"},nh={class:"text-xs text-muted-foreground"},lh={class:"grid min-h-0 flex-1 gap-3 lg:grid-cols-2"},oh={key:1,class:"text-sm text-muted-foreground"},rh="new",E4="repository",P2="global",sh={__name:"Skill",setup(e){const t=[E4,P2],n=d5(),l=me(),o=Ut(),{repositories:r,chosen:s,fetchRepositories:a}=g3(),i=t1(()=>String(n.params.id??"")),c=t1(()=>i.value===rh),d=z(null),u=z({id:"",name:"",description:"",body:"",paths:[],reviews:null}),A=z(P2),m=z("write"),p=z(!1),y=z(!1),k=z(""),F=z(!0),M=[{id:"write",label:"Write"},{id:"preview",label:"Preview"}],E=[{id:null,label:"When it looks relevant"},{id:!0,label:"Always"},{id:!1,label:"Never"}],_=t1(()=>u.value.reviews===!0?"Read against every change here.":u.value.reviews===!1?"Left out of reviews entirely.":"Picked when what it says matches what a change touches."),R=t1(()=>D.value?"Kept on this machine and read for every repository you work in.":`Kept on this machine and read for ${A.value}. Nothing is written into the checkout.`),$=t1(()=>[{id:P2,label:"Everywhere"},...r.value.map(r1=>({id:r1.name,label:r1.name}))]),D=t1(()=>A.value===P2),x=t1(()=>!!d.value&&!t.includes(d.value.origin)),Q=t1(()=>x.value),B=t1(()=>c.value?!!(u.value.id||u.value.description||u.value.body):d.value?u.value.name!==d.value.name||u.value.description!==d.value.description||u.value.body!==(d.value.body??"")||u.value.paths.join(` -`)!==(d.value.paths??[]).join(` -`)||u.value.reviews!==d.value.reviews:!1),X=t1(()=>u.value.body?u.value.body.split(` -`).length:0);async function Y(){if(F.value=!0,k.value="",c.value){d.value=null,u.value={id:"",name:"",description:"",body:"",paths:[],reviews:null},A.value=n.query.for||s.value||P2,F.value=!1;return}try{const r1=await B1.skill(i.value,s.value);d.value=r1,A.value=r1.origin===E4?s.value:r1.origin===P2?P2:s.value||P2,u.value={id:r1.id.split("/").pop(),name:r1.name,description:r1.description,body:r1.body??"",paths:[...r1.paths??[]],reviews:r1.reviews}}catch(r1){k.value=r1.message}finally{F.value=!1}}async function m1(){p.value=!0,y.value=!1,k.value="";try{const r1=await B1.recordSkill({scope:D.value?P2:E4,repository:D.value?"":A.value,id:u.value.id||u.value.name,name:u.value.name||u.value.id,description:u.value.description,body:u.value.body,paths:u.value.paths,reviews:u.value.reviews});y.value=!0,c.value||r1.id!==i.value?l.replace(`/skills/${r1.id}`):await Y()}catch(r1){k.value=r1.message}finally{p.value=!1}}async function w1(){const r1=D.value?"everywhere":A.value;if(confirm(`Forget ${u.value.name}? - -It stops being read for ${r1}.`))try{await B1.forgetSkill(D.value?"":A.value,D.value?P2:E4,i.value),l.push("/skills")}catch(l1){k.value=l1.message}}return t2(i,Y),d2(async()=>{await a(),await Y()}),(r1,l1)=>{var b1,y1;return h(),C("div",JA,[I(f(m3),{pillar:"review",title:c.value?"A new skill":u.value.name||i.value,sub:((b1=d.value)==null?void 0:b1.path)||R.value,mono:!!((y1=d.value)!=null&&y1.path)},{back:w(()=>[I(f(C1),{variant:"ghost",size:"icon","aria-label":"Back to skills",onClick:l1[0]||(l1[0]=k1=>f(o)("/skills"))},{default:w(()=>[I(f(Yt),{class:"h-4 w-4"})]),_:1})]),icon:w(()=>[I(f(c4),{class:"h-5 w-5"})]),badges:w(()=>[d.value?(h(),G(f(c2),{key:0,variant:x.value?"outline":"success"},{default:w(()=>[U(N(x.value?d.value.origin:D.value?"everywhere":A.value),1)]),_:1},8,["variant"])):P("",!0)]),actions:w(()=>[y.value&&!B.value?(h(),C("span",zA,"Saved.")):P("",!0),d.value&&!x.value?(h(),G(f(C1),{key:1,variant:"ghost",size:"icon","aria-label":"Forget this skill",onClick:w1},{default:w(()=>[I(f(h4),{class:"h-4 w-4"})]),_:1})):P("",!0),I(f(C1),{size:"sm",disabled:p.value||!B.value,onClick:m1},{default:w(()=>[p.value?(h(),G(f(M2),{key:0,class:"mr-1.5 h-3.5 w-3.5 animate-spin"})):(h(),G(k2(Q.value?f(pt):f(he)),{key:1,class:"mr-1.5 h-3.5 w-3.5"})),U(" "+N(Q.value?"Save your own copy":"Save"),1)]),_:1},8,["disabled"])]),_:1},8,["title","sub","mono"]),Q.value?(h(),G(f(u2),{key:0,tone:"info",class:"mb-4"},{default:w(()=>[...l1[7]||(l1[7]=[U(" This one is not ours to change: it belongs to your coding agent, or your team committed it to the repository. Saving keeps a copy of our own, for whatever you choose below, and the copy is then the one that gets used. ",-1)])]),_:1})):P("",!0),k.value?(h(),G(f(u2),{key:1,tone:"danger",class:"mb-4"},{default:w(()=>[U(N(k.value),1)]),_:1})):P("",!0),F.value?(h(),C("p",jA,"Reading it.")):(h(),C(n1,{key:3},[I(f(z1),{class:"mb-3 grid gap-4 p-5 lg:grid-cols-3"},{default:w(()=>[I(f(R2),{label:"Name",for:"skill-id",hint:"Lower case words joined by hyphens. It names the folder the skill is saved in."},{default:w(()=>[I(f(J3),{id:"skill-id",modelValue:u.value.id,"onUpdate:modelValue":l1[1]||(l1[1]=k1=>u.value.id=k1),readonly:!!d.value&&!x.value,placeholder:"retry-limit"},null,8,["modelValue","readonly"])]),_:1}),I(f(R2),{label:"Used for",for:"skill-belongs",hint:D.value?"Read for every repository you work in.":"Read only when reviewing that repository."},{default:w(()=>[I(f(j2),{id:"skill-belongs",modelValue:A.value,"onUpdate:modelValue":l1[2]||(l1[2]=k1=>A.value=k1),disabled:!!d.value&&!x.value,class:"w-full"},{default:w(()=>[(h(!0),C(n1,null,_1($.value,k1=>(h(),C("option",{key:k1.id,value:k1.id},N(k1.label),9,XA))),128))]),_:1},8,["modelValue","disabled"])]),_:1},8,["hint"]),I(f(R2),{label:"When it applies",for:"skill-description",hint:"One sentence. It decides whether a change gets read against this skill."},{default:w(()=>[I(f(J3),{id:"skill-description",modelValue:u.value.description,"onUpdate:modelValue":l1[3]||(l1[3]=k1=>u.value.description=k1),placeholder:"Use when a change adds or edits a database migration."},null,8,["modelValue"])]),_:1})]),_:1}),I(f(z1),{class:"mb-3 grid gap-4 p-5 lg:grid-cols-2"},{default:w(()=>[I(f(R2),{label:"Files it is about",for:"skill-paths",hint:`Globs, one to a line. Named here, a change is read against this only when it - touches one of them, whatever the wording says. Left empty, the wording decides.`},{default:w(()=>[I(f(O0),{modelValue:u.value.paths,"onUpdate:modelValue":l1[4]||(l1[4]=k1=>u.value.paths=k1),mono:"",size:"sm",noun:"a pattern",placeholder:"db/migrations/**"},null,8,["modelValue"])]),_:1}),I(f(R2),{label:"Use in reviews",hint:"Not everything you teach an agent is about judging a change."},{default:w(()=>[b("div",qA,[(h(),C(n1,null,_1(E,k1=>I(f(C1),{key:String(k1.id),size:"sm",variant:u.value.reviews===k1.id?"default":"outline",onClick:c1=>u.value.reviews=k1.id},{default:w(()=>[U(N(k1.label),1)]),_:2},1032,["variant","onClick"])),64))]),b("p",eh,N(_.value),1)]),_:1})]),_:1}),b("div",th,[I(f(ge),{modelValue:m.value,"onUpdate:modelValue":l1[5]||(l1[5]=k1=>m.value=k1),tabs:M,label:"Write or preview",class:"lg:hidden"},null,8,["modelValue"]),l1[8]||(l1[8]=b("p",{class:"hidden text-xs uppercase tracking-wider text-muted-foreground lg:block"}," What it says ",-1)),b("p",nh,N(X.value)+" line"+N(X.value===1?"":"s")+" · markdown ",1)]),b("div",lh,[I(f(dt),{modelValue:u.value.body,"onUpdate:modelValue":l1[6]||(l1[6]=k1=>u.value.body=k1),class:f1(["h-full min-h-[24rem] resize-none font-mono leading-relaxed",m.value==="write"?"":"hidden lg:block"]),placeholder:"Never edit a migration that has already run. Add a new one instead.","aria-label":"What the skill says"},null,8,["modelValue","class"]),I(f(z1),{class:f1(["h-full min-h-[24rem] overflow-auto p-5",m.value==="preview"?"":"hidden lg:block"])},{default:w(()=>[u.value.body?(h(),G(f(B2),{key:0,source:u.value.body},null,8,["source"])):(h(),C("p",oh," Nothing written yet. What appears here is what a person reads, and what a model is given when your work is checked against this skill. "))]),_:1},8,["class"])])],64))])}}},ah=["value"],ih={class:"relative"},ch={key:0,class:"space-y-3"},uh={class:"text-sm text-muted-foreground"},dh={key:0,class:"text-success"},fh={key:1},Ah={key:2},hh={key:3,class:"font-mono"},De="repository",ee="global",ph={__name:"Skills",setup(e){const t=[De,ee],n=me(),{repositories:l,chosen:o,error:r,fetchRepositories:s}=g3(),a=z([]),i=z(""),c=z("all"),d=[{id:"all",label:"All"},{id:De,label:"This repository"},{id:ee,label:"Everywhere"},{id:"agents",label:"Your coding agents"}],u=t1(()=>{const k=i.value.trim().toLowerCase();return a.value.filter(F=>c.value===De&&F.origin!==De||c.value===ee&&F.origin!==ee||c.value==="agents"&&t.includes(F.origin)?!1:k?F.name.toLowerCase().includes(k)||F.description.toLowerCase().includes(k):!0)}),A=k=>t.includes(k.origin),m=k=>k.origin===ee?"everywhere":k.origin===De?o.value:k.origin;async function p(){try{const k=await B1.skills(o.value);a.value=k.skills,r.value=""}catch(k){a.value=[],r.value=k.message}}async function y(k){if(confirm(`Forget ${k.name}? - -The file is removed from ${m(k)}.`))try{await B1.forgetSkill(k.origin===ee?"":o.value,k.origin,k.id),await p()}catch(F){r.value=F.message}}return t2(o,p),d2(async()=>{await s(),await p()}),(k,F)=>(h(),C("div",null,[I(f(m3),{pillar:"review",title:"Skills",sub:"What your work is read against: this repository's, this machine's, and your own."},{icon:w(()=>[I(f(vn),{class:"h-6 w-6"})]),actions:w(()=>[f(l).length>1?(h(),G(f(j2),{key:0,modelValue:f(o),"onUpdate:modelValue":F[0]||(F[0]=M=>n2(o)?o.value=M:null),size:"sm","aria-label":"Repository"},{default:w(()=>[(h(!0),C(n1,null,_1(f(l),M=>(h(),C("option",{key:M.name,value:M.name},N(M.name),9,ah))),128))]),_:1},8,["modelValue"])):P("",!0),b("div",ih,[I(f(wn),{class:"pointer-events-none absolute left-2.5 top-1/2 h-3.5 w-3.5 -translate-y-1/2 text-muted-foreground"}),I(f(J3),{modelValue:i.value,"onUpdate:modelValue":F[1]||(F[1]=M=>i.value=M),size:"sm",placeholder:"Find a skill",class:"w-48 pl-8","aria-label":"Find a skill"},null,8,["modelValue"])]),f(l).length?(h(),G(f(C1),{key:1,size:"sm",variant:"glow",onClick:F[2]||(F[2]=M=>f(n).push({path:"/skills/new",query:{for:f(o)}}))},{default:w(()=>[I(f(h3),{class:"mr-2 h-4 w-4"}),F[5]||(F[5]=U(" Write one down ",-1))]),_:1})):P("",!0)]),_:1}),f(r)?(h(),G(f(u2),{key:0,tone:"danger",class:"mb-4"},{default:w(()=>[U(N(f(r)),1)]),_:1})):P("",!0),f(l).length===0?(h(),G(p4,{key:1})):(h(),C(n1,{key:2},[I(f(ge),{modelValue:c.value,"onUpdate:modelValue":F[3]||(F[3]=M=>c.value=M),tabs:d,label:"Where they are kept",class:"mb-4"},null,8,["modelValue"]),u.value.length?(h(),C("div",ch,[(h(!0),C(n1,null,_1(u.value,M=>(h(),G(f(z3),{key:M.id,title:M.name,subtitle:M.path,pillar:"review",hover:"",class:"cursor-pointer",onClick:E=>f(n).push(`/skills/${M.id}`)},{icon:w(()=>[I(f(c4),{class:"h-5 w-5"})]),badges:w(()=>[I(f(c2),{variant:A(M)?"success":"outline"},{default:w(()=>[U(N(m(M)),1)]),_:2},1032,["variant"])]),meta:w(()=>{var E;return[M.reviews===!0?(h(),C("span",dh,"always in reviews")):M.reviews===!1?(h(),C("span",fh,"not used in reviews")):M.automatic?P("",!0):(h(),C("span",Ah,"only when you invoke it")),(E=M.paths)!=null&&E.length?(h(),C("span",hh,N(M.paths.join(" ")),1)):P("",!0)]}),actions:w(()=>[A(M)?(h(),G(f(C1),{key:0,variant:"ghost",size:"icon","aria-label":`Forget ${M.name}`,onClick:qe(E=>y(M),["stop"])},{default:w(()=>[I(f(h4),{class:"h-4 w-4"})]),_:1},8,["aria-label","onClick"])):P("",!0)]),default:w(()=>[b("p",uh,N(M.description),1)]),_:2},1032,["title","subtitle","onClick"]))),128))])):(h(),G(f(z1),{key:1,class:"p-10 text-center"},{default:w(()=>[I(f(c4),{class:"mx-auto mb-3 h-8 w-8 text-muted-foreground"}),F[7]||(F[7]=b("p",{class:"font-medium"},"Nothing written down here yet.",-1)),F[8]||(F[8]=b("p",{class:"mx-auto mt-1 max-w-lg text-sm text-muted-foreground"}," A skill says when it applies and what it says to do. Anything you have already taught Claude or Codex is read from their own folders, and anything your team committed is read from the repository. What you write here is kept beside the index rather than in anybody's checkout. ",-1)),I(f(C1),{class:"mt-4",variant:"glow",onClick:F[4]||(F[4]=M=>f(n).push({path:"/skills/new",query:{for:f(o)}}))},{default:w(()=>[I(f(h3),{class:"mr-2 h-4 w-4"}),F[6]||(F[6]=U(" Write one down ",-1))]),_:1})]),_:1}))],64))]))}},mh={class:"space-y-4"},gh={class:"mb-3 flex flex-wrap items-center justify-between gap-2"},vh={class:"font-mono text-sm text-muted-foreground"},yh={class:"mb-2 flex flex-wrap items-center justify-between gap-2"},bh={class:"overflow-x-auto rounded-md bg-muted/50 p-3 text-xs"},kh={class:"mb-2 flex flex-wrap items-center justify-between gap-2"},Ch={class:"overflow-x-auto rounded-md bg-muted/50 p-3 text-xs"},wh={__name:"McpPanel",setup(e){const t=z(""),n=z(null),l=z(""),o=t1(()=>window.location.origin),r=t1(()=>JSON.stringify({mcpServers:{sourceant:{command:"sourceant",args:["mcp"],env:{SOURCEANT_UI_URL:o.value}}}},null,2)),s=t1(()=>JSON.stringify({mcpServers:{sourceant:{type:"http",url:`${o.value}/mcp`}}},null,2));async function a(i,c){await navigator.clipboard.writeText(c),l.value=i,setTimeout(()=>l.value="",1500)}return d2(async()=>{t.value=`${o.value}/mcp`;try{const i=await fetch(t.value,{method:"GET"});n.value=i.status!==404}catch{n.value=!1}}),(i,c)=>(h(),C("div",mh,[I(f(z1),{class:"p-5"},{default:w(()=>[b("div",gh,[c[2]||(c[2]=b("h2",{class:"font-semibold"},"Endpoint",-1)),I(f(mn),{label:n.value===null?"Checking":n.value?"Serving":"Not mounted",tone:n.value===null?"neutral":n.value?"success":"warning",busy:n.value===null},null,8,["label","tone","busy"])]),b("p",vh,N(t.value),1),n.value===!1?(h(),G(f(u2),{key:0,tone:"info",class:"mt-3"},{default:w(()=>[...c[3]||(c[3]=[U(" Nothing is mounted there. The HTTP endpoint is served when this machine is running in local mode; over stdio it needs no endpoint at all. ",-1)])]),_:1})):P("",!0)]),_:1}),I(f(z1),{class:"p-5"},{default:w(()=>[b("div",yh,[c[4]||(c[4]=b("h2",{class:"font-semibold"},"Over stdio",-1)),I(f(C1),{size:"sm",variant:"outline",onClick:c[0]||(c[0]=d=>a("stdio",r.value))},{default:w(()=>[(h(),G(k2(l.value==="stdio"?f(he):f(pt)),{class:"mr-2 h-3.5 w-3.5"})),U(" "+N(l.value==="stdio"?"Copied":"Copy"),1)]),_:1})]),c[5]||(c[5]=b("p",{class:"mb-3 text-sm text-muted-foreground"}," One process per client, started by the client. A review asked for this way is handed to this agent, so it finishes even after the client goes away. ",-1)),b("pre",bh,[b("code",null,N(r.value),1)])]),_:1}),I(f(z1),{class:"p-5"},{default:w(()=>[b("div",kh,[c[6]||(c[6]=b("h2",{class:"font-semibold"},"Over HTTP",-1)),I(f(C1),{size:"sm",variant:"outline",onClick:c[1]||(c[1]=d=>a("http",s.value))},{default:w(()=>[(h(),G(k2(l.value==="http"?f(he):f(pt)),{class:"mr-2 h-3.5 w-3.5"})),U(" "+N(l.value==="http"?"Copied":"Copy"),1)]),_:1})]),c[7]||(c[7]=b("p",{class:"mb-3 text-sm text-muted-foreground"}," One server, several clients. Reachable from this machine only. ",-1)),b("pre",Ch,[b("code",null,N(s.value),1)])]),_:1})]))}},xh={key:0,class:"grid gap-x-4 gap-y-2 text-sm sm:grid-cols-[auto_1fr]"},_h={class:"font-mono"},Ih={class:"break-all font-mono"},Mh={class:"font-mono"},Eh={key:0,class:"ml-2 text-xs text-muted-foreground"},Dh={class:"break-all font-mono"},Zh={class:"font-mono"},Fh={class:"font-mono"},Bh={class:"mb-1 font-semibold"},Sh={key:0,class:"mb-4 text-sm text-muted-foreground"},Y5="overview",P7="mcp",Rh={__name:"Settings",setup(e){const{isDark:t,toggleTheme:n}=En(),l=z(null),o=z([]),r=z([]),s=z(""),a=z(Y5),i=t1(()=>[{id:Y5,label:"Overview"},...r.value.map(d=>({id:d,label:d})),{id:P7,label:"MCP"}]),c=t1(()=>{var u;return((u=l.value)==null?void 0:u.model)||"None chosen"});return d2(async()=>{var d,u;try{const[A,m,p]=await Promise.all([B1.status(),B1.settings(),B1.repositories().catch(()=>[])]);l.value={...A,model:((d=m.find(y=>y.key==="model.name"))==null?void 0:d.value)??"",keySet:!!((u=m.find(y=>y.key==="model.api_key"))!=null&&u.is_set)},o.value=p,r.value=[...new Set(m.map(y=>y.group).filter(Boolean))].sort()}catch(A){s.value=A.message}}),(d,u)=>(h(),C("div",null,[I(f(m3),{pillar:"tokens",title:"Settings",sub:"What is running, and how this looks."},{icon:w(()=>[I(f(mt),{class:"h-6 w-6"})]),actions:w(()=>[I(f(ge),{modelValue:a.value,"onUpdate:modelValue":u[0]||(u[0]=A=>a.value=A),tabs:i.value,label:"Settings"},null,8,["modelValue","tabs"])]),_:1}),s.value?(h(),G(f(u2),{key:0,tone:"danger",class:"mb-4"},{default:w(()=>[U(N(s.value),1)]),_:1})):P("",!0),a.value===Y5?(h(),C(n1,{key:1},[I(f(z1),{class:"mb-3 p-5"},{default:w(()=>[u[9]||(u[9]=b("h2",{class:"mb-3 font-semibold"},"This machine",-1)),l.value?(h(),C("dl",xh,[u[4]||(u[4]=b("dt",{class:"text-muted-foreground"},"Agent",-1)),b("dd",_h,N(l.value.version),1),u[5]||(u[5]=b("dt",{class:"text-muted-foreground"},"Indexer",-1)),b("dd",Ih,[U(N(l.value.core_url)+" ",1),I(f(c2),{variant:l.value.core_up?"success":"destructive",class:"ml-2"},{default:w(()=>[U(N(l.value.core_up?"answering":"not answering"),1)]),_:1},8,["variant"])]),u[6]||(u[6]=b("dt",{class:"text-muted-foreground"},"Starts",-1)),b("dd",Mh,[U(N(l.value.core_starts)+" ",1),l.value.core_starts>1?(h(),C("span",Eh," a number that keeps climbing is an indexer that keeps dying ")):P("",!0)]),l.value.last_exit?(h(),C(n1,{key:0},[u[1]||(u[1]=b("dt",{class:"text-muted-foreground"},"Last exit",-1)),b("dd",Dh,N(l.value.last_exit),1)],64)):P("",!0),u[7]||(u[7]=b("dt",{class:"text-muted-foreground"},"Folders read",-1)),b("dd",Zh,N(o.value.length),1),u[8]||(u[8]=b("dt",{class:"text-muted-foreground"},"Model",-1)),b("dd",Fh,[U(N(c.value)+" ",1),l.value.model&&l.value.keySet?(h(),G(f(c2),{key:0,variant:"success",class:"ml-2"},{default:w(()=>[...u[2]||(u[2]=[U("key set",-1)])]),_:1})):l.value.model?(h(),G(f(c2),{key:1,variant:"warning",class:"ml-2"},{default:w(()=>[...u[3]||(u[3]=[U("no key",-1)])]),_:1})):P("",!0)])])):P("",!0),u[10]||(u[10]=b("p",{class:"mt-4 text-xs text-muted-foreground"},[U(" Where the indexer comes from is chosen at install time and kept in "),b("code",{class:"font-mono"},"~/.sourceant/config.json"),U(". Nothing on this page has left this machine. ")],-1))]),_:1}),I(f(z1),{class:"p-5"},{default:w(()=>[u[11]||(u[11]=b("h2",{class:"mb-1 font-semibold"},"Appearance",-1)),u[12]||(u[12]=b("p",{class:"mb-4 text-sm text-muted-foreground"}," Kept in this browser, so it follows the screen rather than the machine. ",-1)),I(f(C1),{variant:"outline",onClick:f(n)},{default:w(()=>[(h(),G(k2(f(t)?f(xn):f(kn)),{class:"mr-2 h-4 w-4"})),U(" "+N(f(t)?"Light mode":"Dark mode"),1)]),_:1},8,["onClick"])]),_:1})],64)):a.value===P7?(h(),G(wh,{key:2})):(h(),G(f(z1),{key:3,class:"p-5"},{default:w(()=>[b("h2",Bh,N(a.value),1),a.value==="Model"?(h(),C("p",Sh," Reading a repository needs none of this. Anything that proposes or judges rather than reads does, and it stays off until you say which model to ask. ")):P("",!0),(h(),G(Dn,{key:a.value,group:a.value},null,8,["group"]))]),_:1}))]))}},Qh=vs({history:zr(),routes:[{path:"/",component:Ld},{path:"/graph",component:If},{path:"/knowledge",component:Kf},{path:"/reviews",component:L7},{path:"/reviews/:id",component:L7},{path:"/skills",component:ph},{path:"/skills/:id(.*)",component:sh},{path:"/repositories",component:Hf},{path:"/repositories/:name(.*)",component:cA},{path:"/settings",component:Rh},{path:"/:rest(.*)*",redirect:"/"}]});ur(Qd).use(Qh).mount("#app"); diff --git a/internal/ui/assets/assets/index-fisHDyED.css b/internal/ui/assets/assets/index-fisHDyED.css new file mode 100644 index 0000000..70ae6b1 --- /dev/null +++ b/internal/ui/assets/assets/index-fisHDyED.css @@ -0,0 +1 @@ +*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:JetBrains Mono,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root,.dark{color-scheme:dark;--background: 240 10% 3.9%;--foreground: 0 0% 98%;--card: 240 9% 7%;--card-foreground: 0 0% 98%;--popover: 240 9% 7%;--popover-foreground: 0 0% 98%;--primary: 357 89% 47%;--primary-foreground: 0 0% 100%;--secondary: 240 4% 16%;--secondary-foreground: 0 0% 98%;--muted: 240 5% 14%;--muted-foreground: 240 5% 64.9%;--accent: 240 4% 16%;--accent-foreground: 0 0% 98%;--destructive: 0 62.8% 50.6%;--destructive-foreground: 0 0% 98%;--success: 142 71% 45%;--success-foreground: 0 0% 98%;--warning: 38 92% 50%;--warning-foreground: 0 0% 98%;--border: 240 6% 16%;--input: 240 6% 16%;--ring: 357 89% 47%;--radius: .25rem;--brand: 357 89% 47%;--pillar-memory: 217 91% 60%;--pillar-graph: 262 83% 66%;--pillar-review: 142 71% 45%;--pillar-tokens: 38 92% 50%;--severity-critical: 0 72% 51%;--severity-high: 25 90% 48%;--severity-moderate: 38 92% 50%;--severity-low: 217 91% 60%;--figure-1: 217 91% 55%;--figure-2: 330 81% 50%;--figure-3: 32 95% 44%;--figure-4: 160 94% 30%;--figure-5: 262 83% 58%;--figure-6: 192 91% 36%}.\!dark{color-scheme:dark!important;--background: 240 10% 3.9% !important;--foreground: 0 0% 98% !important;--card: 240 9% 7% !important;--card-foreground: 0 0% 98% !important;--popover: 240 9% 7% !important;--popover-foreground: 0 0% 98% !important;--primary: 357 89% 47% !important;--primary-foreground: 0 0% 100% !important;--secondary: 240 4% 16% !important;--secondary-foreground: 0 0% 98% !important;--muted: 240 5% 14% !important;--muted-foreground: 240 5% 64.9% !important;--accent: 240 4% 16% !important;--accent-foreground: 0 0% 98% !important;--destructive: 0 62.8% 50.6% !important;--destructive-foreground: 0 0% 98% !important;--success: 142 71% 45% !important;--success-foreground: 0 0% 98% !important;--warning: 38 92% 50% !important;--warning-foreground: 0 0% 98% !important;--border: 240 6% 16% !important;--input: 240 6% 16% !important;--ring: 357 89% 47% !important;--radius: .25rem !important;--brand: 357 89% 47% !important;--pillar-memory: 217 91% 60% !important;--pillar-graph: 262 83% 66% !important;--pillar-review: 142 71% 45% !important;--pillar-tokens: 38 92% 50% !important;--severity-critical: 0 72% 51% !important;--severity-high: 25 90% 48% !important;--severity-moderate: 38 92% 50% !important;--severity-low: 217 91% 60% !important;--figure-1: 217 91% 55% !important;--figure-2: 330 81% 50% !important;--figure-3: 32 95% 44% !important;--figure-4: 160 94% 30% !important;--figure-5: 262 83% 58% !important;--figure-6: 192 91% 36% !important}.light{color-scheme:light;--background: 240 20% 98%;--foreground: 240 10% 10%;--card: 0 0% 100%;--card-foreground: 240 10% 10%;--popover: 0 0% 100%;--popover-foreground: 240 10% 10%;--primary: 357 89% 47%;--primary-foreground: 0 0% 100%;--secondary: 240 10% 94%;--secondary-foreground: 240 10% 20%;--muted: 240 10% 94%;--muted-foreground: 240 5% 45%;--accent: 357 60% 96%;--accent-foreground: 357 70% 40%;--destructive: 0 84% 60%;--destructive-foreground: 0 0% 100%;--success: 142 70% 35%;--success-foreground: 0 0% 100%;--warning: 38 92% 45%;--warning-foreground: 0 0% 100%;--border: 240 10% 90%;--input: 240 10% 90%;--ring: 357 89% 47%;--brand: 357 89% 47%;--pillar-memory: 217 91% 55%;--pillar-graph: 262 83% 58%;--pillar-review: 142 71% 40%;--pillar-tokens: 38 92% 45%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));font-family:Inter,system-ui,sans-serif;color:hsl(var(--foreground));-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media(min-width:1400px){.container{max-width:1400px}}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body: #374151;--tw-prose-headings: #111827;--tw-prose-lead: #4b5563;--tw-prose-links: #111827;--tw-prose-bold: #111827;--tw-prose-counters: #6b7280;--tw-prose-bullets: #d1d5db;--tw-prose-hr: #e5e7eb;--tw-prose-quotes: #111827;--tw-prose-quote-borders: #e5e7eb;--tw-prose-captions: #6b7280;--tw-prose-kbd: #111827;--tw-prose-kbd-shadows: rgb(17 24 39 / 10%);--tw-prose-code: #111827;--tw-prose-pre-code: #e5e7eb;--tw-prose-pre-bg: #1f2937;--tw-prose-th-borders: #d1d5db;--tw-prose-td-borders: #e5e7eb;--tw-prose-invert-body: #d1d5db;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #9ca3af;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #9ca3af;--tw-prose-invert-bullets: #4b5563;--tw-prose-invert-hr: #374151;--tw-prose-invert-quotes: #f3f4f6;--tw-prose-invert-quote-borders: #374151;--tw-prose-invert-captions: #9ca3af;--tw-prose-invert-kbd: #fff;--tw-prose-invert-kbd-shadows: rgb(255 255 255 / 10%);--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #d1d5db;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #4b5563;--tw-prose-invert-td-borders: #374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.prose-sm{font-size:.875rem;line-height:1.7142857}.prose-sm :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;line-height:1.5555556;margin-top:.8888889em;margin-bottom:.8888889em}.prose-sm :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.3333333em;margin-bottom:1.3333333em;padding-inline-start:1.1111111em}.prose-sm :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:2.1428571em;margin-top:0;margin-bottom:.8em;line-height:1.2}.prose-sm :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.4285714em;margin-top:1.6em;margin-bottom:.8em;line-height:1.4}.prose-sm :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:1.2857143em;margin-top:1.5555556em;margin-bottom:.4444444em;line-height:1.5555556}.prose-sm :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.4285714em;margin-bottom:.5714286em;line-height:1.4285714}.prose-sm :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;border-radius:.3125rem;padding-top:.1428571em;padding-inline-end:.3571429em;padding-bottom:.1428571em;padding-inline-start:.3571429em}.prose-sm :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em}.prose-sm :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.9em}.prose-sm :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8888889em}.prose-sm :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.6666667;margin-top:1.6666667em;margin-bottom:1.6666667em;border-radius:.25rem;padding-top:.6666667em;padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em;padding-inline-start:1.5714286em}.prose-sm :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.2857143em;margin-bottom:.2857143em}.prose-sm :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.4285714em}.prose-sm :where(.prose-sm>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(.prose-sm>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(.prose-sm>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(.prose-sm>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.1428571em}.prose-sm :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5714286em;margin-bottom:.5714286em}.prose-sm :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em;margin-bottom:1.1428571em}.prose-sm :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.1428571em}.prose-sm :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.2857143em;padding-inline-start:1.5714286em}.prose-sm :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2.8571429em;margin-bottom:2.8571429em}.prose-sm :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.5}.prose-sm :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.6666667em;padding-inline-end:1em;padding-bottom:.6666667em;padding-inline-start:1em}.prose-sm :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose-sm :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose-sm :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.7142857em;margin-bottom:1.7142857em}.prose-sm :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose-sm :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){font-size:.8571429em;line-height:1.3333333;margin-top:.6666667em}.prose-sm :where(.prose-sm>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose-sm :where(.prose-sm>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.light .gradient-text{--tw-gradient-from: #9333ea var(--tw-gradient-from-position);--tw-gradient-to: rgb(147 51 234 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);--tw-gradient-to: rgb(124 58 237 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #7c3aed var(--tw-gradient-via-position), var(--tw-gradient-to);--tw-gradient-to: #db2777 var(--tw-gradient-to-position)}.light .glass{border-bottom-width:1px;border-color:hsl(var(--border) / .5);background-color:hsl(var(--background) / .9);--tw-backdrop-blur: blur(24px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.glow{box-shadow:0 0 60px -15px hsl(var(--primary) / .3)}.light .glow{box-shadow:0 0 60px -15px hsl(var(--primary) / .15)}.glow-sm{box-shadow:0 0 30px -10px hsl(var(--primary) / .2)}.light .glow-sm{box-shadow:0 0 30px -10px hsl(var(--primary) / .1)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.inset-y-0{top:0;bottom:0}.left-0{left:0}.left-1\/2{left:50%}.left-2\.5{left:.625rem}.left-3{left:.75rem}.right-0{right:0}.right-1{right:.25rem}.right-3{right:.75rem}.right-4{right:1rem}.top-1{top:.25rem}.top-1\/2{top:50%}.top-3{top:.75rem}.top-4{top:1rem}.top-full{top:100%}.z-40{z-index:40}.z-50{z-index:50}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-1\.5{margin-left:.375rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-1\.5{margin-right:.375rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-full{height:100%}.h-screen{height:100vh}.max-h-64{max-height:16rem}.max-h-\[60vh\]{max-height:60vh}.max-h-\[85vh\]{max-height:85vh}.min-h-0{min-height:0px}.min-h-10{min-height:2.5rem}.min-h-7{min-height:1.75rem}.min-h-8{min-height:2rem}.min-h-\[24rem\]{min-height:24rem}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-48{width:12rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[calc\(100\%-1rem\)\]{width:calc(100% - 1rem)}.w-auto{width:auto}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-10{min-width:2.5rem}.min-w-7{min-width:1.75rem}.min-w-8{min-width:2rem}.max-w-2xl{max-width:42rem}.max-w-full{max-width:100%}.max-w-lg{max-width:32rem}.max-w-md{max-width:28rem}.max-w-none{max-width:none}.max-w-sm{max-width:24rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.flex-shrink-0,.shrink-0{flex-shrink:0}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-full{--tw-translate-x: -100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-2{--tw-translate-y: -.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-full{--tw-translate-x: 100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-100{--tw-scale-x: 1;--tw-scale-y: 1;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-95{--tw-scale-x: .95;--tw-scale-y: .95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fade-in .3s ease-out}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-up{animation:fade-up .4s ease-out}@keyframes ping{75%,to{transform:scale(2);opacity:0}}.animate-ping{animation:ping 1s cubic-bezier(0,0,.2,1) infinite}@keyframes pulse{50%{opacity:.5}0%,to{opacity:1}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes shimmer{to{transform:translate(100%)}}.animate-shimmer{animation:shimmer 2s infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.resize-none{resize:none}.resize-y{resize:vertical}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-1{row-gap:.25rem}.gap-y-1\.5{row-gap:.375rem}.gap-y-2{row-gap:.5rem}.gap-y-3{row-gap:.75rem}.space-y-0\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.125rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.125rem * var(--tw-space-y-reverse))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.self-center{align-self:center}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-amber-600\/20{border-color:#d9770633}.border-blue-600\/20{border-color:#2563eb33}.border-border{border-color:hsl(var(--border))}.border-border\/60{border-color:hsl(var(--border) / .6)}.border-border\/70{border-color:hsl(var(--border) / .7)}.border-cyan-600\/20{border-color:#0891b233}.border-destructive\/30{border-color:hsl(var(--destructive) / .3)}.border-destructive\/40{border-color:hsl(var(--destructive) / .4)}.border-destructive\/60{border-color:hsl(var(--destructive) / .6)}.border-emerald-600\/20{border-color:#05966933}.border-fuchsia-600\/20{border-color:#c026d333}.border-input{border-color:hsl(var(--input))}.border-lime-600\/20{border-color:#65a30d33}.border-pink-600\/20{border-color:#db277733}.border-primary\/30{border-color:hsl(var(--primary) / .3)}.border-primary\/40{border-color:hsl(var(--primary) / .4)}.border-red-600\/20{border-color:#dc262633}.border-success\/40{border-color:hsl(var(--success) / .4)}.border-transparent{border-color:transparent}.border-violet-600\/20{border-color:#7c3aed33}.border-warning\/40{border-color:hsl(var(--warning) / .4)}.border-r-primary\/50{border-right-color:hsl(var(--primary) / .5)}.border-t-primary{border-top-color:hsl(var(--primary))}.bg-amber-600{--tw-bg-opacity: 1;background-color:rgb(217 119 6 / var(--tw-bg-opacity, 1))}.bg-amber-600\/10{background-color:#d977061a}.bg-background{background-color:hsl(var(--background))}.bg-background\/80{background-color:hsl(var(--background) / .8)}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-blue-600\/10{background-color:#2563eb1a}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-card\/80{background-color:hsl(var(--card) / .8)}.bg-cyan-600{--tw-bg-opacity: 1;background-color:rgb(8 145 178 / var(--tw-bg-opacity, 1))}.bg-cyan-600\/10{background-color:#0891b21a}.bg-destructive{background-color:hsl(var(--destructive))}.bg-destructive\/10{background-color:hsl(var(--destructive) / .1)}.bg-destructive\/15{background-color:hsl(var(--destructive) / .15)}.bg-destructive\/5{background-color:hsl(var(--destructive) / .05)}.bg-emerald-600{--tw-bg-opacity: 1;background-color:rgb(5 150 105 / var(--tw-bg-opacity, 1))}.bg-emerald-600\/10{background-color:#0596691a}.bg-fuchsia-600{--tw-bg-opacity: 1;background-color:rgb(192 38 211 / var(--tw-bg-opacity, 1))}.bg-fuchsia-600\/10{background-color:#c026d31a}.bg-lime-600{--tw-bg-opacity: 1;background-color:rgb(101 163 13 / var(--tw-bg-opacity, 1))}.bg-lime-600\/10{background-color:#65a30d1a}.bg-muted{background-color:hsl(var(--muted))}.bg-muted-foreground{background-color:hsl(var(--muted-foreground))}.bg-muted\/30{background-color:hsl(var(--muted) / .3)}.bg-muted\/40{background-color:hsl(var(--muted) / .4)}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-muted\/60{background-color:hsl(var(--muted) / .6)}.bg-pillar-graph{--tw-bg-opacity: 1;background-color:hsl(var(--pillar-graph) / var(--tw-bg-opacity, 1))}.bg-pillar-graph\/15{background-color:hsl(var(--pillar-graph) / .15)}.bg-pillar-memory\/15{background-color:hsl(var(--pillar-memory) / .15)}.bg-pillar-review\/15{background-color:hsl(var(--pillar-review) / .15)}.bg-pillar-tokens\/15{background-color:hsl(var(--pillar-tokens) / .15)}.bg-pink-600{--tw-bg-opacity: 1;background-color:rgb(219 39 119 / var(--tw-bg-opacity, 1))}.bg-pink-600\/10{background-color:#db27771a}.bg-primary{background-color:hsl(var(--primary))}.bg-primary\/10{background-color:hsl(var(--primary) / .1)}.bg-primary\/15{background-color:hsl(var(--primary) / .15)}.bg-primary\/25{background-color:hsl(var(--primary) / .25)}.bg-primary\/5{background-color:hsl(var(--primary) / .05)}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-red-600\/10{background-color:#dc26261a}.bg-secondary{background-color:hsl(var(--secondary))}.bg-success{background-color:hsl(var(--success))}.bg-success\/10{background-color:hsl(var(--success) / .1)}.bg-success\/15{background-color:hsl(var(--success) / .15)}.bg-success\/20{background-color:hsl(var(--success) / .2)}.bg-success\/5{background-color:hsl(var(--success) / .05)}.bg-transparent{background-color:transparent}.bg-violet-600{--tw-bg-opacity: 1;background-color:rgb(124 58 237 / var(--tw-bg-opacity, 1))}.bg-violet-600\/10{background-color:#7c3aed1a}.bg-warning{background-color:hsl(var(--warning))}.bg-warning\/10{background-color:hsl(var(--warning) / .1)}.bg-warning\/15{background-color:hsl(var(--warning) / .15)}.bg-warning\/20{background-color:hsl(var(--warning) / .2)}.bg-warning\/5{background-color:hsl(var(--warning) / .05)}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-transparent{--tw-gradient-from: transparent var(--tw-gradient-from-position);--tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-foreground\/\[0\.06\]{--tw-gradient-to: hsl(var(--foreground) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), hsl(var(--foreground) / .06) var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-transparent{--tw-gradient-to: transparent var(--tw-gradient-to-position)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-10{padding:2.5rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-14{padding-top:3.5rem;padding-bottom:3.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-1{padding-bottom:.25rem}.pb-4{padding-bottom:1rem}.pl-2{padding-left:.5rem}.pl-2\.5{padding-left:.625rem}.pl-3{padding-left:.75rem}.pl-5{padding-left:1.25rem}.pl-8{padding-left:2rem}.pl-9{padding-left:2.25rem}.pr-1{padding-right:.25rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-3{padding-right:.75rem}.pr-9{padding-right:2.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.align-middle{vertical-align:middle}.font-mono{font-family:JetBrains Mono,monospace}.font-sans{font-family:Inter,system-ui,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-relaxed{line-height:1.625}.tracking-normal{letter-spacing:0em}.tracking-tight{letter-spacing:-.025em}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-brand{color:hsl(var(--brand))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-cyan-600{--tw-text-opacity: 1;color:rgb(8 145 178 / var(--tw-text-opacity, 1))}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(5 150 105 / var(--tw-text-opacity, 1))}.text-foreground{color:hsl(var(--foreground))}.text-fuchsia-600{--tw-text-opacity: 1;color:rgb(192 38 211 / var(--tw-text-opacity, 1))}.text-lime-600{--tw-text-opacity: 1;color:rgb(101 163 13 / var(--tw-text-opacity, 1))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/50{color:hsl(var(--muted-foreground) / .5)}.text-pillar-graph{--tw-text-opacity: 1;color:hsl(var(--pillar-graph) / var(--tw-text-opacity, 1))}.text-pillar-memory{--tw-text-opacity: 1;color:hsl(var(--pillar-memory) / var(--tw-text-opacity, 1))}.text-pillar-review{--tw-text-opacity: 1;color:hsl(var(--pillar-review) / var(--tw-text-opacity, 1))}.text-pillar-tokens{--tw-text-opacity: 1;color:hsl(var(--pillar-tokens) / var(--tw-text-opacity, 1))}.text-pink-600{--tw-text-opacity: 1;color:rgb(219 39 119 / var(--tw-text-opacity, 1))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-success{color:hsl(var(--success))}.text-violet-600{--tw-text-opacity: 1;color:rgb(124 58 237 / var(--tw-text-opacity, 1))}.text-warning{color:hsl(var(--warning))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.underline-offset-2{text-underline-offset:2px}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.blur-2xl{--tw-blur: blur(40px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-75{transition-duration:75ms}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.hover\:glow:hover{box-shadow:0 0 60px -15px hsl(var(--primary) / .3)}.light .hover\:glow:hover{box-shadow:0 0 60px -15px hsl(var(--primary) / .15)}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.first\:pt-0:first-child{padding-top:0}.last\:border-0:last-child{border-width:0px}.last\:pb-0:last-child{padding-bottom:0}.hover\:-translate-y-1:hover{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:border-primary\/50:hover{border-color:hsl(var(--primary) / .5)}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-background\/60:hover{background-color:hsl(var(--background) / .6)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/40:hover{background-color:hsl(var(--muted) / .4)}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-muted\/60:hover{background-color:hsl(var(--muted) / .6)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:underline:hover{text-decoration-line:underline}.focus\:border-destructive:focus{border-color:hsl(var(--destructive))}.focus\:border-primary\/50:focus{border-color:hsl(var(--primary) / .5)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-primary\/40:focus-visible{--tw-ring-color: hsl(var(--primary) / .4)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.prose-headings\:font-semibold :is(:where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] *))){font-weight:600}.prose-headings\:text-foreground :is(:where(h1,h2,h3,h4,h5,h6,th):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--foreground))}.prose-p\:text-muted-foreground :is(:where(p):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--muted-foreground))}.prose-a\:text-primary :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--primary))}.prose-a\:no-underline :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){text-decoration-line:none}.hover\:prose-a\:underline :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))):hover{text-decoration-line:underline}.prose-blockquote\:border-border :is(:where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *))){border-color:hsl(var(--border))}.prose-blockquote\:text-muted-foreground :is(:where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--muted-foreground))}.prose-strong\:text-foreground :is(:where(strong):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--foreground))}.prose-em\:text-foreground :is(:where(em):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--foreground))}.prose-code\:rounded :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){border-radius:.25rem}.prose-code\:bg-muted\/60 :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){background-color:hsl(var(--muted) / .6)}.prose-code\:px-1 :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){padding-left:.25rem;padding-right:.25rem}.prose-code\:py-0\.5 :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){padding-top:.125rem;padding-bottom:.125rem}.prose-code\:text-foreground :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--foreground))}.prose-code\:before\:content-none :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))):before{--tw-content: none;content:var(--tw-content)}.prose-code\:after\:content-none :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))):after{--tw-content: none;content:var(--tw-content)}.prose-pre\:border :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){border-width:1px}.prose-pre\:bg-muted\/50 :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){background-color:hsl(var(--muted) / .5)}.prose-pre\:text-foreground :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--foreground))}.prose-li\:text-muted-foreground :is(:where(li):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--muted-foreground))}.prose-th\:text-foreground :is(:where(th):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--foreground))}.prose-td\:text-muted-foreground :is(:where(td):not(:where([class~=not-prose],[class~=not-prose] *))){color:hsl(var(--muted-foreground))}.prose-hr\:border-border :is(:where(hr):not(:where([class~=not-prose],[class~=not-prose] *))){border-color:hsl(var(--border))}@media(min-width:640px){.sm\:mr-3{margin-right:.75rem}.sm\:block{display:block}.sm\:table-cell{display:table-cell}.sm\:w-\[32\%\]{width:32%}.sm\:w-\[40\%\]{width:40%}.sm\:w-\[55\%\]{width:55%}.sm\:min-w-\[22rem\]{min-width:22rem}.sm\:min-w-\[26rem\]{min-width:26rem}.sm\:min-w-\[32rem\]{min-width:32rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-\[auto_1fr\]{grid-template-columns:auto 1fr}.sm\:px-4{padding-left:1rem;padding-right:1rem}}@media(min-width:1024px){.lg\:col-span-2{grid-column:span 2 / span 2}.lg\:col-span-3{grid-column:span 3 / span 3}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[16rem_1fr\]{grid-template-columns:16rem 1fr}.lg\:grid-cols-\[18rem_1fr\]{grid-template-columns:18rem 1fr}.lg\:grid-cols-\[1fr_20rem\]{grid-template-columns:1fr 20rem}.lg\:items-start{align-items:flex-start}.lg\:px-6{padding-left:1.5rem;padding-right:1.5rem}.lg\:pb-6{padding-bottom:1.5rem}.lg\:pt-4{padding-top:1rem}}@media(min-width:1280px){.xl\:inline{display:inline}}@media(min-width:1536px){.\32xl\:px-2\.5{padding-left:.625rem;padding-right:.625rem}}.\[\&\>p\]\:inline>p{display:inline} diff --git a/internal/ui/assets/index.html b/internal/ui/assets/index.html index bb15d90..981f32d 100644 --- a/internal/ui/assets/index.html +++ b/internal/ui/assets/index.html @@ -5,8 +5,8 @@ SourceAnt - - + +
diff --git a/ui/package-lock.json b/ui/package-lock.json index cf7110c..e8fb0f0 100644 --- a/ui/package-lock.json +++ b/ui/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@dicebear/collection": "^9.2.2", "@dicebear/core": "^9.2.2", - "@sourceant/design": "^0.1.0", + "@sourceant/design": "github:sourceant/design#1a403b6", "@tailwindcss/typography": "^0.5.20", "3d-force-graph": "^1.80.0", "class-variance-authority": "^0.7.1", @@ -1449,6 +1449,24 @@ "win32" ] }, + "node_modules/@sourceant/design": { + "version": "0.3.0", + "resolved": "git+ssh://git@github.com/sourceant/design.git#1a403b636a89429423cbcb530a85213bd94fc08c", + "license": "MIT", + "peerDependencies": { + "@tailwindcss/typography": "^0.5.20", + "3d-force-graph": "^1.80.0", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "d3-force-3d": "^3.0.6", + "force-graph": "^1.51.4", + "lucide-vue-next": "^0.563.0", + "markdown-it": "^15.0.1", + "tailwind-merge": "^3.4.0", + "three-spritetext": "^1.10.0", + "vue": "^3.5.0" + } + }, "node_modules/@tailwindcss/typography": { "version": "0.5.20", "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.20.tgz", diff --git a/ui/package.json b/ui/package.json index f800fbd..90a9c96 100644 --- a/ui/package.json +++ b/ui/package.json @@ -14,7 +14,7 @@ "dependencies": { "@dicebear/collection": "^9.2.2", "@dicebear/core": "^9.2.2", - "@sourceant/design": "^0.1.0", + "@sourceant/design": "github:sourceant/design#1a403b6", "@tailwindcss/typography": "^0.5.20", "3d-force-graph": "^1.80.0", "class-variance-authority": "^0.7.1", diff --git a/ui/src/App.vue b/ui/src/App.vue index e86be45..89b90c1 100644 --- a/ui/src/App.vue +++ b/ui/src/App.vue @@ -18,6 +18,7 @@ import { import { createAvatar } from '@dicebear/core' import { notionists } from '@dicebear/collection' import { useTheme } from '~/composables/useTheme' +import Finder from '~/components/Finder.vue' import Onboarding from '~/components/Onboarding.vue' const { isDark, toggleTheme, restoreTheme } = useTheme() @@ -30,10 +31,10 @@ const userOpen = ref(false) * being read has not been proposed to anybody yet. */ const navigation = [ { name: 'Overview', href: '/', icon: LayoutDashboard }, - { name: 'Knowledge', href: '/knowledge', icon: BookOpen }, - { name: 'Graphs', href: '/graph', icon: Network }, { name: 'Reviews', href: '/reviews', icon: ShieldCheck }, { name: 'Skills', href: '/skills', icon: BookOpenCheck }, + { name: 'Knowledge', href: '/knowledge', icon: BookOpen }, + { name: 'Graphs', href: '/graph', icon: Network }, { name: 'Repositories', href: '/repositories', icon: Boxes }, { name: 'Settings', href: '/settings', icon: Settings }, ] @@ -85,6 +86,8 @@ onUnmounted(() => document.removeEventListener('click', closeDropdowns))
+ +