@devframes/plugin-code-server 0.6.0-beta.1 → 0.6.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { n as createCodeServerDevframe } from "./src-B3tPd2XW.mjs";
1
+ import { n as createCodeServerDevframe } from "./src-DDoAZobv.mjs";
2
2
  import { createCli } from "devframe/adapters/cli";
3
3
  //#region src/cli.ts
4
4
  /**
package/dist/index.d.mts CHANGED
@@ -23,4 +23,4 @@ declare function createCodeServerDevframe(options?: CodeServerOptions): Devframe
23
23
  /** Default-configured code-server devframe. */
24
24
  declare const codeServer: DevframeDefinition;
25
25
  //#endregion
26
- export { CodeServerAuth, CodeServerDetection, CodeServerOptions, CodeServerServerInfo, CodeServerSharedState, CodeServerStartRequest, CodeServerStartResult, CodeServerStatus, CodeServerStatusResult, DEFAULT_CODE_SERVER_PORT, DEFAULT_PORT, PLUGIN_ID, STATE_KEY, createCodeServerDevframe, codeServer as default, getCookieSessionName };
26
+ export { type CodeServerAuth, type CodeServerDetection, type CodeServerOptions, type CodeServerServerInfo, type CodeServerSharedState, type CodeServerStartRequest, type CodeServerStartResult, type CodeServerStatus, type CodeServerStatusResult, DEFAULT_CODE_SERVER_PORT, DEFAULT_PORT, PLUGIN_ID, STATE_KEY, createCodeServerDevframe, codeServer as default, getCookieSessionName };
package/dist/index.mjs CHANGED
@@ -1,3 +1,3 @@
1
- import { n as createCodeServerDevframe, t as codeServer } from "./src-B3tPd2XW.mjs";
1
+ import { n as createCodeServerDevframe, t as codeServer } from "./src-DDoAZobv.mjs";
2
2
  import { DEFAULT_CODE_SERVER_PORT, DEFAULT_PORT, PLUGIN_ID, STATE_KEY, getCookieSessionName } from "./constants.mjs";
3
3
  export { DEFAULT_CODE_SERVER_PORT, DEFAULT_PORT, PLUGIN_ID, STATE_KEY, createCodeServerDevframe, codeServer as default, getCookieSessionName };
@@ -1,6 +1,5 @@
1
1
  import { CodeServerDetection, CodeServerOptions, CodeServerStartRequest, CodeServerStartResult, CodeServerStatusResult } from "../types.mjs";
2
2
  import { DevframeNodeContext } from "devframe/types";
3
- import * as _$nostics from "nostics";
4
3
  import { Diagnostic } from "nostics";
5
4
 
6
5
  //#region src/node/supervisor.d.ts
@@ -118,7 +117,7 @@ declare function reporter(d: Diagnostic, {
118
117
  * `DP_CODE_SERVER_` prefix per the built-in plugin convention, keeping it
119
118
  * collision-free with devframe core (`DF`) and the hub (`DF8xxx`).
120
119
  */
121
- declare const diagnostics: _$nostics.Diagnostics<{
120
+ declare const diagnostics: import("nostics").Diagnostics<{
122
121
  readonly DP_CODE_SERVER_0001: {
123
122
  readonly why: (p: {
124
123
  bin: string;
@@ -65,12 +65,14 @@ function detectCodeServer(bin = "code-server", timeoutMs = 5e3) {
65
65
  });
66
66
  child.on("exit", (code) => {
67
67
  clearTimeout(timer);
68
- if (code === 0) finish({
69
- installed: true,
70
- version: stdout.match(/\d+\.\d+\.\d\S*/)?.[0] ?? (stdout.trim().split(/\s+/)[0] || void 0),
71
- bin
72
- });
73
- else finish({
68
+ if (code === 0) {
69
+ const version = stdout.match(/\d+\.\d+\.\d\S*/)?.[0] ?? (stdout.trim().split(/\s+/)[0] || void 0);
70
+ finish({
71
+ installed: true,
72
+ version,
73
+ bin
74
+ });
75
+ } else finish({
74
76
  installed: false,
75
77
  bin
76
78
  });
@@ -1,6 +1,4 @@
1
1
  import { CodeServerDetection, CodeServerSharedState, CodeServerStartRequest, CodeServerStatusResult } from "../types.mjs";
2
- import * as _$devframe from "devframe";
3
- import * as _$devframe_rpc0 from "devframe/rpc";
4
2
  import { RpcDefinitionsToFunctions } from "devframe/rpc";
5
3
 
6
4
  //#region src/rpc/index.d.ts
@@ -11,13 +9,13 @@ declare const serverFunctions: readonly [{
11
9
  args?: undefined;
12
10
  returns?: undefined;
13
11
  jsonSerializable?: boolean;
14
- agent?: _$devframe.RpcFunctionAgentOptions;
15
- setup?: ((context: _$devframe.DevframeNodeContext) => _$devframe_rpc0.Thenable<_$devframe_rpc0.RpcFunctionSetupResult<[], Promise<CodeServerDetection>>>) | undefined;
12
+ agent?: import("devframe").RpcFunctionAgentOptions;
13
+ setup?: ((context: import("devframe").DevframeNodeContext) => import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[], Promise<CodeServerDetection>>>) | undefined;
16
14
  handler?: (() => Promise<CodeServerDetection>) | undefined;
17
- dump?: _$devframe_rpc0.RpcDump<[], Promise<CodeServerDetection>, _$devframe.DevframeNodeContext> | undefined;
15
+ dump?: import("devframe/rpc").RpcDump<[], Promise<CodeServerDetection>, import("devframe").DevframeNodeContext> | undefined;
18
16
  snapshot?: boolean;
19
- __cache?: WeakMap<object, _$devframe_rpc0.Thenable<_$devframe_rpc0.RpcFunctionSetupResult<[], Promise<CodeServerDetection>>>> | undefined;
20
- __promise?: _$devframe_rpc0.Thenable<_$devframe_rpc0.RpcFunctionSetupResult<[], Promise<CodeServerDetection>>> | undefined;
17
+ __cache?: WeakMap<object, import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[], Promise<CodeServerDetection>>>> | undefined;
18
+ __promise?: import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[], Promise<CodeServerDetection>>> | undefined;
21
19
  }, {
22
20
  name: "devframes-plugin-code-server:status";
23
21
  type?: "query" | undefined;
@@ -25,13 +23,13 @@ declare const serverFunctions: readonly [{
25
23
  args?: undefined;
26
24
  returns?: undefined;
27
25
  jsonSerializable?: boolean;
28
- agent?: _$devframe.RpcFunctionAgentOptions;
29
- setup?: ((context: _$devframe.DevframeNodeContext) => _$devframe_rpc0.Thenable<_$devframe_rpc0.RpcFunctionSetupResult<[], CodeServerStatusResult>>) | undefined;
26
+ agent?: import("devframe").RpcFunctionAgentOptions;
27
+ setup?: ((context: import("devframe").DevframeNodeContext) => import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[], CodeServerStatusResult>>) | undefined;
30
28
  handler?: (() => CodeServerStatusResult) | undefined;
31
- dump?: _$devframe_rpc0.RpcDump<[], CodeServerStatusResult, _$devframe.DevframeNodeContext> | undefined;
29
+ dump?: import("devframe/rpc").RpcDump<[], CodeServerStatusResult, import("devframe").DevframeNodeContext> | undefined;
32
30
  snapshot?: boolean;
33
- __cache?: WeakMap<object, _$devframe_rpc0.Thenable<_$devframe_rpc0.RpcFunctionSetupResult<[], CodeServerStatusResult>>> | undefined;
34
- __promise?: _$devframe_rpc0.Thenable<_$devframe_rpc0.RpcFunctionSetupResult<[], CodeServerStatusResult>> | undefined;
31
+ __cache?: WeakMap<object, import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[], CodeServerStatusResult>>> | undefined;
32
+ __promise?: import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[], CodeServerStatusResult>> | undefined;
35
33
  }, {
36
34
  name: "devframes-plugin-code-server:start";
37
35
  type?: "action" | undefined;
@@ -39,13 +37,13 @@ declare const serverFunctions: readonly [{
39
37
  args?: undefined;
40
38
  returns?: undefined;
41
39
  jsonSerializable?: boolean;
42
- agent?: _$devframe.RpcFunctionAgentOptions;
43
- setup?: ((context: _$devframe.DevframeNodeContext) => _$devframe_rpc0.Thenable<_$devframe_rpc0.RpcFunctionSetupResult<[req?: CodeServerStartRequest | undefined], Promise<CodeServerStatusResult>>>) | undefined;
40
+ agent?: import("devframe").RpcFunctionAgentOptions;
41
+ setup?: ((context: import("devframe").DevframeNodeContext) => import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[req?: CodeServerStartRequest | undefined], Promise<CodeServerStatusResult>>>) | undefined;
44
42
  handler?: ((req?: CodeServerStartRequest | undefined) => Promise<CodeServerStatusResult>) | undefined;
45
- dump?: _$devframe_rpc0.RpcDump<[req?: CodeServerStartRequest | undefined], Promise<CodeServerStatusResult>, _$devframe.DevframeNodeContext> | undefined;
43
+ dump?: import("devframe/rpc").RpcDump<[req?: CodeServerStartRequest | undefined], Promise<CodeServerStatusResult>, import("devframe").DevframeNodeContext> | undefined;
46
44
  snapshot?: boolean;
47
- __cache?: WeakMap<object, _$devframe_rpc0.Thenable<_$devframe_rpc0.RpcFunctionSetupResult<[req?: CodeServerStartRequest | undefined], Promise<CodeServerStatusResult>>>> | undefined;
48
- __promise?: _$devframe_rpc0.Thenable<_$devframe_rpc0.RpcFunctionSetupResult<[req?: CodeServerStartRequest | undefined], Promise<CodeServerStatusResult>>> | undefined;
45
+ __cache?: WeakMap<object, import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[req?: CodeServerStartRequest | undefined], Promise<CodeServerStatusResult>>>> | undefined;
46
+ __promise?: import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[req?: CodeServerStartRequest | undefined], Promise<CodeServerStatusResult>>> | undefined;
49
47
  }, {
50
48
  name: "devframes-plugin-code-server:stop";
51
49
  type?: "action" | undefined;
@@ -53,13 +51,13 @@ declare const serverFunctions: readonly [{
53
51
  args?: undefined;
54
52
  returns?: undefined;
55
53
  jsonSerializable?: boolean;
56
- agent?: _$devframe.RpcFunctionAgentOptions;
57
- setup?: ((context: _$devframe.DevframeNodeContext) => _$devframe_rpc0.Thenable<_$devframe_rpc0.RpcFunctionSetupResult<[], CodeServerStatusResult>>) | undefined;
54
+ agent?: import("devframe").RpcFunctionAgentOptions;
55
+ setup?: ((context: import("devframe").DevframeNodeContext) => import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[], CodeServerStatusResult>>) | undefined;
58
56
  handler?: (() => CodeServerStatusResult) | undefined;
59
- dump?: _$devframe_rpc0.RpcDump<[], CodeServerStatusResult, _$devframe.DevframeNodeContext> | undefined;
57
+ dump?: import("devframe/rpc").RpcDump<[], CodeServerStatusResult, import("devframe").DevframeNodeContext> | undefined;
60
58
  snapshot?: boolean;
61
- __cache?: WeakMap<object, _$devframe_rpc0.Thenable<_$devframe_rpc0.RpcFunctionSetupResult<[], CodeServerStatusResult>>> | undefined;
62
- __promise?: _$devframe_rpc0.Thenable<_$devframe_rpc0.RpcFunctionSetupResult<[], CodeServerStatusResult>> | undefined;
59
+ __cache?: WeakMap<object, import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[], CodeServerStatusResult>>> | undefined;
60
+ __promise?: import("devframe/rpc").Thenable<import("devframe/rpc").RpcFunctionSetupResult<[], CodeServerStatusResult>> | undefined;
63
61
  }];
64
62
  declare module 'devframe' {
65
63
  interface DevframeRpcServerFunctions extends RpcDefinitionsToFunctions<typeof serverFunctions> {}
@@ -0,0 +1 @@
1
+ @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--un-bg-opacity:100%;--un-border-opacity:100%;--un-leading:initial;--un-ring-opacity:100%;--un-text-opacity:100%}}@property --un-text-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --un-leading{syntax:"*";inherits:false}@property --un-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --un-border-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --un-bg-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --un-ring-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --un-inset-ring-color{syntax:"*";inherits:false}@property --un-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-inset-shadow-color{syntax:"*";inherits:false}@property --un-ring-color{syntax:"*";inherits:false}@property --un-ring-inset{syntax:"*";inherits:false}@property --un-ring-offset-color{syntax:"*";inherits:false}@property --un-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --un-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-shadow-color{syntax:"*";inherits:false}:root,:host{--radius-md:.375rem;--spacing:.25rem;--colors-white:#fff;--text-xs-fontSize:.75rem;--text-xs-lineHeight:1rem;--colors-neutral-800:oklch(26.9% 0 0);--colors-neutral-200:oklch(92.2% 0 0);--tracking-wider:.05em;--font-sans:DM Sans,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--fontWeight-semibold:600;--leading-relaxed:1.625;--font-mono:DM Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--colors-error-DEFAULT:#f63d68;--radius-DEFAULT:.25rem;--default-transition-timingFunction:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--radius-lg:.5rem;--radius-xl:.75rem;--colors-success-DEFAULT:#12b76a;--colors-neutral-400:oklch(70.8% 0 0);--text-sm-fontSize:.875rem;--text-sm-lineHeight:1.25rem;--text-base-fontSize:1rem;--text-base-lineHeight:1.5rem;--colors-primary-500:#578861;--fontWeight-medium:500;--leading-none:1;--colors-blue-400:oklch(70.7% .165 254.624);--colors-amber-400:oklch(82.8% .189 84.429);--colors-green-400:oklch(79.2% .209 151.711);--colors-red-400:oklch(70.4% .191 22.216);--colors-sky-400:oklch(74.6% .16 232.661);--colors-violet-400:oklch(70.2% .183 293.541);--colors-rose-400:oklch(71.2% .194 13.428);--colors-teal-400:oklch(77.7% .152 181.912);--colors-orange-400:oklch(75% .183 55.934);--colors-emerald-400:oklch(76.5% .177 163.223);--colors-neutral-600:oklch(43.9% 0 0);--colors-blue-700:oklch(48.8% .243 264.376);--colors-blue-600:oklch(54.6% .245 262.881);--colors-amber-700:oklch(55.5% .163 48.998);--colors-amber-600:oklch(66.6% .179 58.318);--colors-green-700:oklch(52.7% .154 150.069);--colors-green-600:oklch(62.7% .194 149.214);--colors-red-700:oklch(50.5% .213 27.518);--colors-red-600:oklch(57.7% .245 27.325);--colors-sky-700:oklch(50% .134 242.749);--colors-sky-600:oklch(58.8% .158 241.966);--colors-violet-700:oklch(49.1% .27 292.581);--colors-violet-600:oklch(54.1% .281 293.009);--colors-rose-700:oklch(51.4% .222 16.935);--colors-rose-600:oklch(58.6% .253 17.585);--colors-teal-700:oklch(51.1% .096 186.391);--colors-teal-600:oklch(60% .118 184.704);--colors-orange-700:oklch(55.3% .195 38.402);--colors-orange-600:oklch(64.6% .222 41.116);--colors-emerald-700:oklch(50.8% .118 165.612);--colors-emerald-600:oklch(59.6% .145 163.225);--colors-primary-600:#40704b;--colors-neutral-500:oklch(55.6% 0 0);--colors-blue-300:oklch(80.9% .105 251.813);--colors-amber-300:oklch(87.9% .169 91.605);--colors-green-300:oklch(87.1% .15 154.449);--colors-red-300:oklch(80.8% .114 19.571);--colors-sky-300:oklch(82.8% .111 230.318);--colors-violet-300:oklch(81.1% .111 293.571);--colors-rose-300:oklch(81% .117 11.638);--colors-teal-300:oklch(85.5% .138 181.071);--colors-orange-300:oklch(83.7% .128 66.29);--colors-emerald-300:oklch(84.5% .143 164.978);--colors-primary-300:#93c69d;--colors-primary-400:#75a67e;--default-font-family:var(--font-sans);--default-monoFont-family:var(--font-mono)}*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-featureSettings,normal);font-variation-settings:var(--default-font-variationSettings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-monoFont-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-monoFont-featureSettings,normal);font-variation-settings:var(--default-monoFont-variationSettings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden~=until-found])){display:none!important}*,:before,:after{border-color:#8882}.i-ph-arrow-square-out{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M224 104a8 8 0 0 1-16 0V59.32l-66.33 66.34a8 8 0 0 1-11.32-11.32L196.68 48H152a8 8 0 0 1 0-16h64a8 8 0 0 1 8 8Zm-40 24a8 8 0 0 0-8 8v72H48V80h72a8 8 0 0 0 0-16H48a16 16 0 0 0-16 16v128a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-72a8 8 0 0 0-8-8'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-arrows-clockwise{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M224 48v48a8 8 0 0 1-8 8h-48a8 8 0 0 1 0-16h28.69l-14.63-14.63a79.56 79.56 0 0 0-56.13-23.43h-.45a79.52 79.52 0 0 0-55.89 22.77a8 8 0 0 1-11.18-11.44a96 96 0 0 1 135 .79L208 76.69V48a8 8 0 0 1 16 0m-37.59 135.29a80 80 0 0 1-112.47-.66L59.31 168H88a8 8 0 0 0 0-16H40a8 8 0 0 0-8 8v48a8 8 0 0 0 16 0v-28.69l14.63 14.63A95.43 95.43 0 0 0 130 222.06h.53a95.36 95.36 0 0 0 67.07-27.33a8 8 0 0 0-11.18-11.44Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-code-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='m240 128l-48 40H64l-48-40l48-40h128Z' opacity='.2'/%3E%3Cpath d='M69.12 94.15L28.5 128l40.62 33.85a8 8 0 1 1-10.24 12.29l-48-40a8 8 0 0 1 0-12.29l48-40a8 8 0 0 1 10.24 12.3m176 27.7l-48-40a8 8 0 1 0-10.24 12.3L227.5 128l-40.62 33.85a8 8 0 1 0 10.24 12.29l48-40a8 8 0 0 0 0-12.29m-82.39-89.37a8 8 0 0 0-10.25 4.79l-64 176a8 8 0 0 0 4.79 10.26A8.1 8.1 0 0 0 96 224a8 8 0 0 0 7.52-5.27l64-176a8 8 0 0 0-4.79-10.25'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-rocket-launch-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='M184 120v61.65a8 8 0 0 1-2.34 5.65l-34.35 34.35a8 8 0 0 1-13.57-4.53L128 176Zm-48-48H74.35a8 8 0 0 0-5.65 2.34l-34.35 34.35a8 8 0 0 0 4.53 13.57L80 128ZM40 216c37.65 0 50.69-19.69 54.56-28.18l-26.38-26.38C59.69 165.31 40 178.35 40 216' opacity='.2'/%3E%3Cpath d='M223.85 47.12a16 16 0 0 0-15-15c-12.58-.75-44.73.4-71.41 27.07L132.69 64H74.36A15.9 15.9 0 0 0 63 68.68L28.7 103a16 16 0 0 0 9.07 27.16l38.47 5.37l44.21 44.21l5.37 38.49a15.94 15.94 0 0 0 10.78 12.92a16.1 16.1 0 0 0 5.1.83a15.9 15.9 0 0 0 11.3-4.68l34.32-34.3a15.9 15.9 0 0 0 4.68-11.36v-58.33l4.77-4.77c26.68-26.68 27.83-58.83 27.08-71.42M74.36 80h42.33l-39.53 39.52L40 114.34Zm74.41-9.45a76.65 76.65 0 0 1 59.11-22.47a76.46 76.46 0 0 1-22.42 59.16L128 164.68L91.32 128ZM176 181.64L141.67 216l-5.19-37.17L176 139.31Zm-74.16 9.5C97.34 201 82.29 224 40 224a8 8 0 0 1-8-8c0-42.29 23-57.34 32.86-61.85a8 8 0 0 1 6.64 14.56c-6.43 2.93-20.62 12.36-23.12 38.91c26.55-2.5 36-16.69 38.91-23.12a8 8 0 1 1 14.56 6.64Z'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.badge{font-size:var(--text-xs-fontSize);line-height:var(--un-leading,var(--text-xs-lineHeight));--un-leading:var(--leading-none);line-height:var(--leading-none);--un-font-weight:var(--fontWeight-medium);font-weight:var(--fontWeight-medium);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);border-radius:var(--radius-md);gap:calc(var(--spacing) * 1);align-items:center;display:inline-flex}.badge-active{font-size:var(--text-xs-fontSize);line-height:var(--un-leading,var(--text-xs-lineHeight));color:color-mix(in srgb, var(--colors-primary-600) var(--un-text-opacity), transparent);--un-leading:var(--leading-none);line-height:var(--leading-none);--un-font-weight:var(--fontWeight-medium);font-weight:var(--fontWeight-medium);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);border-radius:var(--radius-md);background-color:color-mix(in oklab, #8881 var(--un-bg-opacity), transparent);gap:calc(var(--spacing) * 1);align-items:center;display:inline-flex}.badge-muted{font-size:var(--text-xs-fontSize);line-height:var(--un-leading,var(--text-xs-lineHeight));color:color-mix(in srgb, var(--colors-neutral-600) var(--un-text-opacity), transparent);--un-leading:var(--leading-none);line-height:var(--leading-none);--un-font-weight:var(--fontWeight-medium);font-weight:var(--fontWeight-medium);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);border-radius:var(--radius-md);background-color:color-mix(in oklab, #8881 var(--un-bg-opacity), transparent);gap:calc(var(--spacing) * 1);align-items:center;display:inline-flex}.badge-color-amber{color:color-mix(in srgb, var(--colors-amber-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-amber-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-amber-400) 20%, transparent)}.dark .badge-color-amber{color:color-mix(in srgb, var(--colors-amber-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-amber-300) 15%, transparent);background-color:color-mix(in srgb, var(--colors-amber-400) 10%, transparent)}.badge-color-blue{color:color-mix(in srgb, var(--colors-blue-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-blue-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-blue-400) 20%, transparent)}.dark .badge-color-blue{color:color-mix(in srgb, var(--colors-blue-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-blue-300) 15%, transparent);background-color:color-mix(in srgb, var(--colors-blue-400) 10%, transparent)}.badge-color-emerald{color:color-mix(in srgb, var(--colors-emerald-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-emerald-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-emerald-400) 20%, transparent)}.dark .badge-color-emerald{color:color-mix(in srgb, var(--colors-emerald-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-emerald-300) 15%, transparent);background-color:color-mix(in srgb, var(--colors-emerald-400) 10%, transparent)}.badge-color-green{color:color-mix(in srgb, var(--colors-green-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-green-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-green-400) 20%, transparent)}.dark .badge-color-green{color:color-mix(in srgb, var(--colors-green-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-green-300) 15%, transparent);background-color:color-mix(in srgb, var(--colors-green-400) 10%, transparent)}.badge-color-orange{color:color-mix(in srgb, var(--colors-orange-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-orange-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-orange-400) 20%, transparent)}.dark .badge-color-orange{color:color-mix(in srgb, var(--colors-orange-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-orange-300) 15%, transparent);background-color:color-mix(in srgb, var(--colors-orange-400) 10%, transparent)}.badge-color-red{color:color-mix(in srgb, var(--colors-red-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-red-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-red-400) 20%, transparent)}.dark .badge-color-red{color:color-mix(in srgb, var(--colors-red-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-red-300) 15%, transparent);background-color:color-mix(in srgb, var(--colors-red-400) 10%, transparent)}.badge-color-rose{color:color-mix(in srgb, var(--colors-rose-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-rose-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-rose-400) 20%, transparent)}.dark .badge-color-rose{color:color-mix(in srgb, var(--colors-rose-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-rose-300) 15%, transparent);background-color:color-mix(in srgb, var(--colors-rose-400) 10%, transparent)}.badge-color-sky{color:color-mix(in srgb, var(--colors-sky-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-sky-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-sky-400) 20%, transparent)}.dark .badge-color-sky{color:color-mix(in srgb, var(--colors-sky-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-sky-300) 15%, transparent);background-color:color-mix(in srgb, var(--colors-sky-400) 10%, transparent)}.badge-color-teal{color:color-mix(in srgb, var(--colors-teal-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-teal-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-teal-400) 20%, transparent)}.dark .badge-color-teal{color:color-mix(in srgb, var(--colors-teal-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-teal-300) 15%, transparent);background-color:color-mix(in srgb, var(--colors-teal-400) 10%, transparent)}.badge-color-violet{color:color-mix(in srgb, var(--colors-violet-700) var(--un-text-opacity), transparent);border-width:1px;border-color:color-mix(in srgb, var(--colors-violet-600) 15%, transparent);background-color:color-mix(in srgb, var(--colors-violet-400) 20%, transparent)}.dark .badge-color-violet{color:color-mix(in srgb, var(--colors-violet-300) var(--un-text-opacity), transparent);border-color:color-mix(in srgb, var(--colors-violet-300) 15%, transparent);background-color:color-mix(in srgb, var(--colors-violet-400) 10%, transparent)}.btn-primary{color:color-mix(in srgb, var(--colors-white) var(--un-text-opacity), transparent);padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 1.5);--un-outline-style:none;border-radius:var(--radius-DEFAULT);background-color:color-mix(in srgb, var(--colors-primary-500) var(--un-bg-opacity), transparent);gap:calc(var(--spacing) * 2);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration));outline-style:none;align-items:center;display:flex}.dark .badge-active,.dark .color-active{color:color-mix(in srgb, var(--colors-primary-300) var(--un-text-opacity), transparent)}.dark .badge-muted,.dark .color-muted{color:color-mix(in srgb, var(--colors-neutral-400) var(--un-text-opacity), transparent)}.color-active{color:color-mix(in srgb, var(--colors-primary-600) var(--un-text-opacity), transparent)}.color-base,.data-\[state\=active\]\:color-base[data-state=active]{color:color-mix(in srgb, var(--colors-neutral-800) var(--un-text-opacity), transparent)}.dark .color-base,.dark .data-\[state\=active\]\:color-base[data-state=active]{color:color-mix(in srgb, var(--colors-neutral-200) var(--un-text-opacity), transparent)}.color-muted{color:color-mix(in srgb, var(--colors-neutral-600) var(--un-text-opacity), transparent)}.dark .hover\:color-base:hover{color:color-mix(in srgb, var(--colors-neutral-200) var(--un-text-opacity), transparent)}.hover\:color-base:hover{color:color-mix(in srgb, var(--colors-neutral-800) var(--un-text-opacity), transparent)}.dark .placeholder\:color-faint::placeholder,.placeholder\:color-faint::placeholder{color:color-mix(in srgb, var(--colors-neutral-500) var(--un-text-opacity), transparent)}.btn-action{padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1);--un-outline-style:none;border-width:1px;border-color:color-mix(in oklab, #8882 var(--un-border-opacity), transparent);border-radius:var(--radius-DEFAULT);opacity:.75;gap:calc(var(--spacing) * 2);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration));outline-style:none;align-items:center;display:flex}.btn-icon{--un-outline-style:none;opacity:.65;width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration));border-radius:3.40282e38px;outline-style:none;justify-content:center;align-items:center;display:flex}.btn-icon-square{--un-outline-style:none;border-width:1px;border-color:color-mix(in oklab, #8882 var(--un-border-opacity), transparent);border-radius:var(--radius-DEFAULT);opacity:.65;width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration));outline-style:none;justify-content:center;align-items:center;display:flex}.border-base{border-color:color-mix(in oklab, #8882 var(--un-border-opacity), transparent)}.border-base\!{border-color:color-mix(in oklab, #8882 var(--un-border-opacity), transparent)!important}.dark .focus-visible\:border-active:focus-visible{border-color:color-mix(in srgb, var(--colors-primary-400) 25%, transparent)}.focus-visible\:border-active:focus-visible{border-color:color-mix(in srgb, var(--colors-primary-600) 25%, transparent)}.bg-active{background-color:color-mix(in oklab, #8881 var(--un-bg-opacity), transparent)}.bg-base,.data-\[state\=active\]\:bg-base[data-state=active]{background-color:color-mix(in srgb, var(--colors-white) var(--un-bg-opacity), transparent)}.dark .bg-base,.dark .data-\[state\=active\]\:bg-base[data-state=active]{background-color:color-mix(in oklab, #111 var(--un-bg-opacity), transparent)}.bg-secondary{background-color:color-mix(in oklab, #f5f5f5 var(--un-bg-opacity), transparent)}.dark .bg-secondary{background-color:color-mix(in oklab, #1a1a1a var(--un-bg-opacity), transparent)}.hover\:bg-active:hover{background-color:color-mix(in oklab, #8881 var(--un-bg-opacity), transparent)}.btn-action:hover,.btn-icon:hover,.btn-icon-square:hover{background-color:color-mix(in oklab, #8881 var(--un-bg-opacity), transparent);opacity:1}.btn-primary:hover{background-color:color-mix(in srgb, var(--colors-primary-600) var(--un-bg-opacity), transparent)}.dark .btn-icon,.dark .btn-icon-square,.dark .op-fade{opacity:.55}.op-fade{opacity:.65}.btn-action:disabled{pointer-events:none;opacity:.3!important}.btn-icon:disabled,.btn-icon-square:disabled{opacity:.3;pointer-events:none}.btn-primary:disabled{opacity:.5;pointer-events:none}.container{width:100%}.btn-action:focus-visible,.btn-icon:focus-visible,.btn-icon-square:focus-visible,.btn-primary:focus-visible{--un-ring-shadow:var(--un-ring-inset,) 0 0 0 calc(2px + var(--un-ring-offset-width)) var(--un-ring-color,currentColor);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);--un-ring-color:color-mix(in srgb, var(--colors-primary-500) 40%, transparent)}.z-nav{z-index:30}@supports (color:color-mix(in lab, red, red)){.badge-color-amber{color:color-mix(in oklab, var(--colors-amber-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-amber-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-amber-400) 20%, transparent)}.dark .badge-color-amber{color:color-mix(in oklab, var(--colors-amber-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-amber-300) 15%, transparent);background-color:color-mix(in oklab, var(--colors-amber-400) 10%, transparent)}.badge-color-blue{color:color-mix(in oklab, var(--colors-blue-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-blue-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-blue-400) 20%, transparent)}.dark .badge-color-blue{color:color-mix(in oklab, var(--colors-blue-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-blue-300) 15%, transparent);background-color:color-mix(in oklab, var(--colors-blue-400) 10%, transparent)}.badge-color-emerald{color:color-mix(in oklab, var(--colors-emerald-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-emerald-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-emerald-400) 20%, transparent)}.dark .badge-color-emerald{color:color-mix(in oklab, var(--colors-emerald-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-emerald-300) 15%, transparent);background-color:color-mix(in oklab, var(--colors-emerald-400) 10%, transparent)}.badge-color-green{color:color-mix(in oklab, var(--colors-green-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-green-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-green-400) 20%, transparent)}.dark .badge-color-green{color:color-mix(in oklab, var(--colors-green-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-green-300) 15%, transparent);background-color:color-mix(in oklab, var(--colors-green-400) 10%, transparent)}.badge-color-orange{color:color-mix(in oklab, var(--colors-orange-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-orange-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-orange-400) 20%, transparent)}.dark .badge-color-orange{color:color-mix(in oklab, var(--colors-orange-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-orange-300) 15%, transparent);background-color:color-mix(in oklab, var(--colors-orange-400) 10%, transparent)}.badge-color-red{color:color-mix(in oklab, var(--colors-red-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-red-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-red-400) 20%, transparent)}.dark .badge-color-red{color:color-mix(in oklab, var(--colors-red-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-red-300) 15%, transparent);background-color:color-mix(in oklab, var(--colors-red-400) 10%, transparent)}.badge-color-rose{color:color-mix(in oklab, var(--colors-rose-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-rose-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-rose-400) 20%, transparent)}.dark .badge-color-rose{color:color-mix(in oklab, var(--colors-rose-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-rose-300) 15%, transparent);background-color:color-mix(in oklab, var(--colors-rose-400) 10%, transparent)}.badge-color-sky{color:color-mix(in oklab, var(--colors-sky-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-sky-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-sky-400) 20%, transparent)}.dark .badge-color-sky{color:color-mix(in oklab, var(--colors-sky-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-sky-300) 15%, transparent);background-color:color-mix(in oklab, var(--colors-sky-400) 10%, transparent)}.badge-color-teal{color:color-mix(in oklab, var(--colors-teal-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-teal-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-teal-400) 20%, transparent)}.dark .badge-color-teal{color:color-mix(in oklab, var(--colors-teal-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-teal-300) 15%, transparent);background-color:color-mix(in oklab, var(--colors-teal-400) 10%, transparent)}.badge-color-violet{color:color-mix(in oklab, var(--colors-violet-700) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-violet-600) 15%, transparent);background-color:color-mix(in oklab, var(--colors-violet-400) 20%, transparent)}.dark .badge-color-violet{color:color-mix(in oklab, var(--colors-violet-300) var(--un-text-opacity), transparent);border-color:color-mix(in oklab, var(--colors-violet-300) 15%, transparent);background-color:color-mix(in oklab, var(--colors-violet-400) 10%, transparent)}.btn-primary{color:color-mix(in oklab, var(--colors-white) var(--un-text-opacity), transparent);background-color:color-mix(in oklab, var(--colors-primary-500) var(--un-bg-opacity), transparent)}.badge-active{color:color-mix(in oklab, var(--colors-primary-600) var(--un-text-opacity), transparent)}.dark .badge-active{color:color-mix(in oklab, var(--colors-primary-300) var(--un-text-opacity), transparent)}.badge-muted{color:color-mix(in oklab, var(--colors-neutral-600) var(--un-text-opacity), transparent)}.dark .badge-muted{color:color-mix(in oklab, var(--colors-neutral-400) var(--un-text-opacity), transparent)}.color-active{color:color-mix(in oklab, var(--colors-primary-600) var(--un-text-opacity), transparent)}.dark .color-active{color:color-mix(in oklab, var(--colors-primary-300) var(--un-text-opacity), transparent)}.color-base{color:color-mix(in oklab, var(--colors-neutral-800) var(--un-text-opacity), transparent)}.dark .color-base,.dark .data-\[state\=active\]\:color-base[data-state=active]{color:color-mix(in oklab, var(--colors-neutral-200) var(--un-text-opacity), transparent)}.data-\[state\=active\]\:color-base[data-state=active]{color:color-mix(in oklab, var(--colors-neutral-800) var(--un-text-opacity), transparent)}.color-muted{color:color-mix(in oklab, var(--colors-neutral-600) var(--un-text-opacity), transparent)}.dark .color-muted{color:color-mix(in oklab, var(--colors-neutral-400) var(--un-text-opacity), transparent)}.dark .hover\:color-base:hover{color:color-mix(in oklab, var(--colors-neutral-200) var(--un-text-opacity), transparent)}.hover\:color-base:hover{color:color-mix(in oklab, var(--colors-neutral-800) var(--un-text-opacity), transparent)}.dark .placeholder\:color-faint::placeholder,.placeholder\:color-faint::placeholder{color:color-mix(in oklab, var(--colors-neutral-500) var(--un-text-opacity), transparent)}.dark .focus-visible\:border-active:focus-visible{border-color:color-mix(in oklab, var(--colors-primary-400) 25%, transparent)}.focus-visible\:border-active:focus-visible{border-color:color-mix(in oklab, var(--colors-primary-600) 25%, transparent)}.bg-base,.data-\[state\=active\]\:bg-base[data-state=active]{background-color:color-mix(in oklab, var(--colors-white) var(--un-bg-opacity), transparent)}.btn-primary:hover{background-color:color-mix(in oklab, var(--colors-primary-600) var(--un-bg-opacity), transparent)}.btn-action:focus-visible,.btn-icon:focus-visible,.btn-icon-square:focus-visible,.btn-primary:focus-visible{--un-ring-color:color-mix(in oklab, var(--colors-primary-500) 40%, transparent)}}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}.text-\[1\.35rem\]{font-size:1.35rem}.text-\[11px\]{font-size:11px}.text-base{font-size:var(--text-base-fontSize);line-height:var(--un-leading,var(--text-base-lineHeight))}.text-sm{font-size:var(--text-sm-fontSize);line-height:var(--un-leading,var(--text-sm-lineHeight))}.text-xs{font-size:var(--text-xs-fontSize);line-height:var(--un-leading,var(--text-xs-lineHeight))}.text-error{color:color-mix(in srgb, var(--colors-error-DEFAULT) var(--un-text-opacity), transparent)}.leading-relaxed{--un-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.tracking-wider{--un-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.font-semibold{--un-font-weight:var(--fontWeight-semibold);font-weight:var(--fontWeight-semibold)}.tab{tab-size:4}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.me{margin-inline-end:calc(var(--spacing) * 4)}.p-1{padding:calc(var(--spacing) * 1)}.p-6{padding:calc(var(--spacing) * 6)}.px{padding-inline:calc(var(--spacing) * 4)}.px-2,.px2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-2\.5\!{padding-inline:calc(var(--spacing) * 2.5)!important}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4\!{padding-inline:calc(var(--spacing) * 4)!important}.py-1,.py1{padding-block:calc(var(--spacing) * 1)}.py-1\!{padding-block:calc(var(--spacing) * 1)!important}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\!{padding-block:calc(var(--spacing) * 2)!important}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.outline{outline-style:var(--un-outline-style);outline-width:1px}.outline-none{--un-outline-style:none;outline-style:none}.b,.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-current{border-color:currentColor}.border-error\/30\!{border-color:color-mix(in srgb, var(--colors-error-DEFAULT) 30%, transparent)!important}.border-error\/35{border-color:color-mix(in srgb, var(--colors-error-DEFAULT) 35%, transparent)}.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.rounded{border-radius:var(--radius-DEFAULT)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.bg-error{background-color:color-mix(in srgb, var(--colors-error-DEFAULT) var(--un-bg-opacity), transparent)}.bg-error\/10{background-color:color-mix(in srgb, var(--colors-error-DEFAULT) 10%, transparent)}.bg-neutral-400{background-color:color-mix(in srgb, var(--colors-neutral-400) var(--un-bg-opacity), transparent)}.bg-success{background-color:color-mix(in srgb, var(--colors-success-DEFAULT) var(--un-bg-opacity), transparent)}.op100\!{opacity:1!important}.op75{opacity:.75}.hover\:op100:hover{opacity:1}.disabled\:op30\!:disabled{opacity:.3!important}.underline,.hover\:underline:hover{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.flex{display:flex}.inline-flex{display:inline-flex}.flex-1{flex:1}.shrink-0{flex-shrink:0}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.h-10{height:calc(var(--spacing) * 10)}.h-7\!{height:calc(var(--spacing) * 7)!important}.h-8{height:calc(var(--spacing) * 8)}.h1{height:calc(var(--spacing) * 1)}.max-w-\[560px\]{max-width:560px}.max-w-52{max-width:calc(var(--spacing) * 52)}.min-w-0{min-width:calc(var(--spacing) * 0)}.w-7\!{width:calc(var(--spacing) * 7)!important}.w-full{width:100%}.w-max{width:max-content}.block{display:block}.inline-block{display:inline-block}.cursor-pointer{cursor:pointer}.disabled\:pointer-events-none:disabled{pointer-events:none}.resize{resize:both}.select-none{-webkit-user-select:none;user-select:none}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.uppercase{text-transform:uppercase}.ring{--un-ring-shadow:var(--un-ring-inset,) 0 0 0 calc(1px + var(--un-ring-offset-width)) var(--un-ring-color,currentColor);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.focus-visible\:ring-2:focus-visible{--un-ring-shadow:var(--un-ring-inset,) 0 0 0 calc(2px + var(--un-ring-offset-width)) var(--un-ring-color,currentColor);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.focus-visible\:ring-primary-500\/40:focus-visible{--un-ring-color:color-mix(in srgb, var(--colors-primary-500) 40%, transparent)}.data-\[state\=active\]\:shadow-sm[data-state=active],.shadow-sm{--un-shadow:0 1px 3px 0 var(--un-shadow-color,#0000001a),0 1px 2px -1px var(--un-shadow-color,#0000001a);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration))}.items-center{align-items:center}.inset-0{inset:calc(var(--spacing) * 0)}.justify-center{justify-content:center}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.of-hidden{overflow:hidden}.of-x-auto{overflow-x:auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.filter{filter:var(--un-blur,) var(--un-brightness,) var(--un-contrast,) var(--un-grayscale,) var(--un-hue-rotate,) var(--un-invert,) var(--un-saturate,) var(--un-sepia,) var(--un-drop-shadow,)}@supports (color:color-mix(in lab, red, red)){.text-error{color:color-mix(in oklab, var(--colors-error-DEFAULT) var(--un-text-opacity), transparent)}.border-error\/30\!{border-color:color-mix(in oklab, var(--colors-error-DEFAULT) 30%, transparent)!important}.border-error\/35{border-color:color-mix(in oklab, var(--colors-error-DEFAULT) 35%, transparent)}.bg-error{background-color:color-mix(in oklab, var(--colors-error-DEFAULT) var(--un-bg-opacity), transparent)}.bg-error\/10{background-color:color-mix(in oklab, var(--colors-error-DEFAULT) 10%, transparent)}.bg-neutral-400{background-color:color-mix(in oklab, var(--colors-neutral-400) var(--un-bg-opacity), transparent)}.bg-success{background-color:color-mix(in oklab, var(--colors-success-DEFAULT) var(--un-bg-opacity), transparent)}.focus-visible\:ring-primary-500\/40:focus-visible{--un-ring-color:color-mix(in oklab, var(--colors-primary-500) 40%, transparent)}}@property --un-backdrop-blur{syntax:"*";inherits:false}@property --un-backdrop-brightness{syntax:"*";inherits:false}@property --un-backdrop-contrast{syntax:"*";inherits:false}@property --un-backdrop-grayscale{syntax:"*";inherits:false}@property --un-backdrop-hue-rotate{syntax:"*";inherits:false}@property --un-backdrop-invert{syntax:"*";inherits:false}@property --un-backdrop-opacity{syntax:"*";inherits:false}@property --un-backdrop-saturate{syntax:"*";inherits:false}@property --un-backdrop-sepia{syntax:"*";inherits:false}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html{color:color-mix(in srgb, var(--colors-neutral-800) var(--un-text-opacity), transparent);background-color:color-mix(in srgb, var(--colors-white) var(--un-bg-opacity), transparent)}@supports (color:color-mix(in lab, red, red)){html{color:color-mix(in oklab, var(--colors-neutral-800) var(--un-text-opacity), transparent);background-color:color-mix(in oklab, var(--colors-white) var(--un-bg-opacity), transparent)}}.dark html{color:color-mix(in srgb, var(--colors-neutral-200) var(--un-text-opacity), transparent);background-color:color-mix(in oklab, #111 var(--un-bg-opacity), transparent)}@supports (color:color-mix(in lab, red, red)){.dark html{color:color-mix(in oklab, var(--colors-neutral-200) var(--un-text-opacity), transparent)}}*{scrollbar-width:thin;scrollbar-color:#88888859 transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#8888884d;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#88888880}@keyframes af-spin{to{transform:rotate(360deg)}}@keyframes af-spin-reverse{to{transform:rotate(-360deg)}}.af-spin{animation:1s linear infinite af-spin}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:9999}html.dark::view-transition-old(root){z-index:9999}html.dark::view-transition-new(root){z-index:1}@media (prefers-reduced-motion:reduce){::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}}[data-reka-popper-content-wrapper]{z-index:70}[data-af-animate][data-state=open]{animation:.15s both af-fade-in}[data-af-animate][data-state=closed]{animation:.15s both af-fade-out}[data-af-modal][data-state=open]{animation:.18s cubic-bezier(.16,1,.3,1) both af-modal-in}[data-af-modal][data-state=closed]{animation:.15s both af-modal-out}[data-af-drawer]{animation-duration:.22s;animation-timing-function:cubic-bezier(.32,.72,0,1);animation-fill-mode:both}[data-af-drawer][data-side=right]{animation-name:af-slide-right}[data-af-drawer][data-side=left]{animation-name:af-slide-left}[data-af-drawer][data-side=top]{animation-name:af-slide-top}[data-af-drawer][data-side=bottom]{animation-name:af-slide-bottom}[data-af-drawer][data-state=closed]{animation-direction:reverse}@keyframes af-fade-in{0%{opacity:0}}@keyframes af-fade-out{to{opacity:0}}@keyframes af-modal-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.96)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes af-modal-out{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(.96)}}@keyframes af-slide-right{0%{transform:translate(100%)}}@keyframes af-slide-left{0%{transform:translate(-100%)}}@keyframes af-slide-top{0%{transform:translateY(-100%)}}@keyframes af-slide-bottom{0%{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){[data-af-animate],[data-af-modal],[data-af-drawer]{animation:none!important}}.v-popper__popper .v-popper__inner{font-size:var(--text-xs-fontSize);line-height:var(--un-leading,var(--text-xs-lineHeight));color:color-mix(in srgb, var(--colors-neutral-800) var(--un-text-opacity), transparent);padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1);border-width:1px;border-color:color-mix(in oklab, #8882 var(--un-border-opacity), transparent);border-radius:var(--radius-md);background-color:color-mix(in srgb, var(--colors-white) 75%, transparent);--un-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--un-backdrop-blur,) var(--un-backdrop-brightness,) var(--un-backdrop-contrast,) var(--un-backdrop-grayscale,) var(--un-backdrop-hue-rotate,) var(--un-backdrop-invert,) var(--un-backdrop-opacity,) var(--un-backdrop-saturate,) var(--un-backdrop-sepia,);backdrop-filter:var(--un-backdrop-blur,) var(--un-backdrop-brightness,) var(--un-backdrop-contrast,) var(--un-backdrop-grayscale,) var(--un-backdrop-hue-rotate,) var(--un-backdrop-invert,) var(--un-backdrop-opacity,) var(--un-backdrop-saturate,) var(--un-backdrop-sepia,);box-shadow:0 4px 16px #0000001f}@supports (color:color-mix(in lab, red, red)){.v-popper__popper .v-popper__inner{color:color-mix(in oklab, var(--colors-neutral-800) var(--un-text-opacity), transparent);background-color:color-mix(in oklab, var(--colors-white) 75%, transparent)}}.dark .v-popper__popper .v-popper__inner{color:color-mix(in srgb, var(--colors-neutral-200) var(--un-text-opacity), transparent);background-color:oklab(17.7638% -2.23517e-8 0/.75)}@supports (color:color-mix(in lab, red, red)){.dark .v-popper__popper .v-popper__inner{color:color-mix(in oklab, var(--colors-neutral-200) var(--un-text-opacity), transparent)}}.v-popper__popper .v-popper__arrow-outer{border-color:color-mix(in oklab, #8882 var(--un-border-opacity), transparent)}.v-popper__popper .v-popper__arrow-inner{border-color:color-mix(in srgb, var(--colors-white) 75%, transparent);visibility:visible}@supports (color:color-mix(in lab, red, red)){.v-popper__popper .v-popper__arrow-inner{border-color:color-mix(in oklab, var(--colors-white) 75%, transparent)}}.dark .v-popper__popper .v-popper__arrow-inner{border-color:oklab(17.7638% -2.23517e-8 0/.75)}.v-popper--theme-dropdown .v-popper__inner{padding:calc(var(--spacing) * 1)}.splitpanes{width:100%;height:100%;display:flex}.splitpanes--vertical{flex-direction:row}.splitpanes--horizontal{flex-direction:column}.splitpanes--dragging *{-webkit-user-select:none;user-select:none}.splitpanes__pane{width:100%;height:100%;overflow:hidden}.splitpanes--vertical>.splitpanes__pane{transition:width .2s ease-out}.splitpanes--horizontal>.splitpanes__pane{transition:height .2s ease-out}.splitpanes--dragging>.splitpanes__pane{pointer-events:none;transition:none}.splitpanes__splitter{touch-action:none;background-color:color-mix(in oklab, #8882 var(--un-bg-opacity), transparent);transition:background-color .2s;position:relative}.splitpanes__splitter:hover{background-color:color-mix(in oklab, #8886 var(--un-bg-opacity), transparent)}.splitpanes--vertical>.splitpanes__splitter{cursor:col-resize;min-width:1px}.splitpanes--horizontal>.splitpanes__splitter{cursor:row-resize;min-height:1px}.splitpanes__splitter:before{content:"";z-index:1;position:absolute;inset:-4px}html,body{height:100%;margin:0}#app{height:100%;position:relative}
@@ -0,0 +1,2 @@
1
+ (function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var e=`__connection.json`,t=`__rpc-dump/index.json`,n=`devframe_otp`,r=`devframe_auth_token`;function i(e){return typeof e==`string`?`'${e}'`:new a().serialize(e)}var a=function(){class e{#e=new Map;compare(e,t){let n=typeof e,r=typeof t;return n===`string`&&r===`string`?e.localeCompare(t):n===`number`&&r===`number`?e-t:String.prototype.localeCompare.call(this.serialize(e,!0),this.serialize(t,!0))}serialize(e,t){if(e===null)return`null`;switch(typeof e){case`string`:return t?e:`'${e}'`;case`bigint`:return`${e}n`;case`object`:return this.$object(e);case`function`:return this.$function(e)}return String(e)}serializeObject(e){let t=Object.prototype.toString.call(e);if(t!==`[object Object]`)return this.serializeBuiltInType(t.length<10?`unknown:${t}`:t.slice(8,-1),e);let n=e.constructor,r=n===Object||n===void 0?``:n.name;if(r!==``&&globalThis[r]===n)return this.serializeBuiltInType(r,e);if(typeof e.toJSON==`function`){let t=e.toJSON();return r+(typeof t==`object`&&t?this.$object(t):`(${this.serialize(t)})`)}return this.serializeObjectEntries(r,Object.entries(e))}serializeBuiltInType(e,t){let n=this[`$`+e];if(n)return n.call(this,t);if(typeof t?.entries==`function`)return this.serializeObjectEntries(e,t.entries());throw Error(`Cannot serialize ${e}`)}serializeObjectEntries(e,t){let n=Array.from(t).sort((e,t)=>this.compare(e[0],t[0])),r=`${e}{`;for(let e=0;e<n.length;e++){let[t,i]=n[e];r+=`${this.serialize(t,!0)}:${this.serialize(i)}`,e<n.length-1&&(r+=`,`)}return r+`}`}$object(e){let t=this.#e.get(e);return t===void 0&&(this.#e.set(e,`#${this.#e.size}`),t=this.serializeObject(e),this.#e.set(e,t)),t}$function(e){let t=Function.prototype.toString.call(e);return t.slice(-15)===`[native code] }`?`${e.name||``}()[native]`:`${e.name}(${e.length})${t.replace(/\s*\n\s*/g,``)}`}$Array(e){let t=`[`;for(let n=0;n<e.length;n++)t+=this.serialize(e[n]),n<e.length-1&&(t+=`,`);return t+`]`}$Date(e){try{return`Date(${e.toISOString()})`}catch{return`Date(null)`}}$ArrayBuffer(e){return`ArrayBuffer[${new Uint8Array(e).join(`,`)}]`}$Set(e){return`Set${this.$Array(Array.from(e).sort((e,t)=>this.compare(e,t)))}`}$Map(e){return this.serializeObjectEntries(`Map`,e.entries())}}for(let t of[`Error`,`RegExp`,`URL`])e.prototype[`$`+t]=function(e){return`${t}(${e})`};for(let t of[`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float32Array`,`Float64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`,`)}]`};for(let t of[`BigInt64Array`,`BigUint64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`n,`)}${e.length>0?`n`:``}]`};return e}(),o=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],s=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],c=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`,l=[],u=class{_data=new d;_hash=new d([...o]);_nDataBytes=0;_minBufferSize=0;finalize(e){e&&this._append(e);let t=this._nDataBytes*8,n=this._data.sigBytes*8;return this._data.words[n>>>5]|=128<<24-n%32,this._data.words[(n+64>>>9<<4)+14]=Math.floor(t/4294967296),this._data.words[(n+64>>>9<<4)+15]=t,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}_doProcessBlock(e,t){let n=this._hash.words,r=n[0],i=n[1],a=n[2],o=n[3],c=n[4],u=n[5],d=n[6],f=n[7];for(let n=0;n<64;n++){if(n<16)l[n]=e[t+n]|0;else{let e=l[n-15],t=(e<<25|e>>>7)^(e<<14|e>>>18)^e>>>3,r=l[n-2],i=(r<<15|r>>>17)^(r<<13|r>>>19)^r>>>10;l[n]=t+l[n-7]+i+l[n-16]}let p=c&u^~c&d,m=r&i^r&a^i&a,h=(r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22),g=(c<<26|c>>>6)^(c<<21|c>>>11)^(c<<7|c>>>25),_=f+g+p+s[n]+l[n],v=h+m;f=d,d=u,u=c,c=o+_|0,o=a,a=i,i=r,r=_+v|0}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+a|0,n[3]=n[3]+o|0,n[4]=n[4]+c|0,n[5]=n[5]+u|0,n[6]=n[6]+d|0,n[7]=n[7]+f|0}_append(e){typeof e==`string`&&(e=d.fromUtf8(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes}_process(e){let t,n=this._data.sigBytes/64;n=e?Math.ceil(n):Math.max((n|0)-this._minBufferSize,0);let r=n*16,i=Math.min(r*4,this._data.sigBytes);if(r){for(let e=0;e<r;e+=16)this._doProcessBlock(this._data.words,e);t=this._data.words.splice(0,r),this._data.sigBytes-=i}return new d(t,i)}},d=class e{words;sigBytes;constructor(e,t){e=this.words=e||[],this.sigBytes=t===void 0?e.length*4:t}static fromUtf8(t){let n=unescape(encodeURIComponent(t)),r=n.length,i=[];for(let e=0;e<r;e++)i[e>>>2]|=(n.charCodeAt(e)&255)<<24-e%4*8;return new e(i,r)}toBase64(){let e=[];for(let t=0;t<this.sigBytes;t+=3){let n=this.words[t>>>2]>>>24-t%4*8&255,r=this.words[t+1>>>2]>>>24-(t+1)%4*8&255,i=this.words[t+2>>>2]>>>24-(t+2)%4*8&255,a=n<<16|r<<8|i;for(let n=0;n<4&&t*8+n*6<this.sigBytes*8;n++)e.push(c.charAt(a>>>6*(3-n)&63))}return e.join(``)}concat(e){if(this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4),this.sigBytes%4)for(let t=0;t<e.sigBytes;t++){let n=e.words[t>>>2]>>>24-t%4*8&255;this.words[this.sigBytes+t>>>2]|=n<<24-(this.sigBytes+t)%4*8}else for(let t=0;t<e.sigBytes;t+=4)this.words[this.sigBytes+t>>>2]=e.words[t>>>2];this.sigBytes+=e.sigBytes}};function f(e){return new u().finalize(e).toBase64()}function p(e){return f(i(e))}function m(e){return p(e)}function h(e,...t){return typeof e==`function`?e(...t):e}var g=Error.captureStackTrace,_=class e extends Error{name=`Diagnostic`;docs;fix;sources;get why(){return this.message}constructor(t,n=e){super(t.why,{cause:t.cause}),this.fix=t.fix,this.docs=t.docs,this.sources=t.sources,g?.(this,n)}toJSON(){return{name:this.name,why:this.why,fix:this.fix,docs:this.docs,sources:this.sources,cause:this.cause,stack:this.stack}}};function v(e,t){return typeof e==`string`?`${e}/${t.toLowerCase()}`:e?.(t)}function y(e){let t=e.reporters??[],n={},{docsBase:r}=e;for(let i of Object.keys(e.codes)){let a=e.codes[i],o=a.docs===!1?void 0:a.docs||v(r,i),s=(e={},n={})=>{let r=new _({why:h(a.why,e),fix:h(a.fix,e),docs:o,cause:e.cause,sources:e.sources},s);r.name=i;for(let e of t)e(r,n);return r};n[i]=s}return n}function b(e,t){let n=`\x1B[${e}m`,r=`\x1B[${t}m`;return((e,...t)=>{if(Array.isArray(e)&&`raw`in e){let i=e,a=``;for(let e=0;e<i.length;e++)a+=i[e],e<t.length&&(a+=String(t[e]));return`${n}${a}${r}`}return`${n}${String(e)}${r}`})}var ee={blue:b(34,39),cyan:b(36,39),gray:b(90,39),green:b(32,39),red:b(31,39),yellow:b(33,39),bold:b(1,22),dim:b(2,22),reset:b(0,0),underline:b(4,24)};function te(e){return t=>{let n=`${e.bold(e.red(`[${t.name}]`))} ${t.message}`,r=[];return t.fix&&r.push(`${e.dim(`fix:`)} ${t.fix}`),t.sources?.length&&r.push(`${e.dim(`sources:`)} ${t.sources.join(`, `)}`),t.docs&&r.push(`${e.dim(`see:`)} ${e.cyan(t.docs)}`),r.length===0?n:[n,...r.map((t,n)=>`${e.dim(n<r.length-1?`├▶`:`╰▶`)} ${t}`)].join(`
2
+ `)}}var ne=te(ee);function re(e,{method:t=`warn`}={}){console[t](ne(e))}var x=y({docsBase:`https://devfra.me/errors`,reporters:[re],codes:{DF0019:{why:e=>`RPC function "${e.name}" has \`agent\` set but \`jsonSerializable\` is not \`true\` — MCP requires JSON-serializable data.`,fix:"Set `jsonSerializable: true` if the payload is JSON-safe, or remove `agent` to keep it RPC-only."},DF0020:{why:e=>`RPC function "${e.name}" declares \`jsonSerializable: true\` but the value at "${e.path}" is a ${e.type}.`,fix:"Either drop `jsonSerializable: true` (falls back to structured-clone) or change the value to a JSON-safe shape."},DF0021:{why:e=>`RPC function "${e.name}" is already registered`,fix:"Use the `force` parameter to overwrite an existing registration."},DF0022:{why:e=>`RPC function "${e.name}" is not registered. Use register() to add new functions.`},DF0023:{why:e=>`RPC function "${e.name}" is not registered`},DF0024:{why:e=>`Either handler or setup function must be provided for RPC function "${e.name}"`},DF0025:{why:e=>`Function "${e.name}" not found in dump store`},DF0026:{why:e=>`No dump match for "${e.name}" with args: ${e.args}`},DF0027:{why:e=>`Function "${e.name}" with type "${e.type}" cannot have dump configuration. Only "static" and "query" types support dumps.`},DF0028:{why:e=>`Function "${e.name}" with type "${e.type}" cannot use \`snapshot: true\`. Only "query" functions support this sugar; "static" functions have equivalent default behavior already.`,fix:"Remove `snapshot: true`, or change the function type to `query`."}}});function ie(e){let t=e.cause instanceof Error?e.cause:ae(e.cause)?ie(e.cause):e.cause,n=t===void 0?Error(e.message):Error(e.message,{cause:t});n.name=e.name;for(let t of Object.keys(e))t===`name`||t===`message`||t===`cause`||(n[t]=e[t]);return n}function ae(e){return typeof e==`object`&&!!e&&typeof e.message==`string`&&typeof e.name==`string`}async function oe(e,t){if(!e.setup)return{};if(typeof t==`object`&&t){e.__cache??=new WeakMap;let n=e.__cache,r=n.get(t);return r||(r=Promise.resolve(e.setup(t)),r.catch(()=>{n.get(t)===r&&n.delete(t)}),n.set(t,r)),await r}if(!e.__promise){let n=Promise.resolve(e.setup(t));n.catch(()=>{e.__promise===n&&(e.__promise=void 0)}),e.__promise=n}return await e.__promise}async function se(e,t){if(e.handler)return e.handler;let n=await oe(e,t);if(!n.handler)throw x.DF0024({name:e.name});return n.handler}var ce=class{cacheMap=new Map;options;keySerializer;constructor(e){this.options=e,this.keySerializer=e.keySerializer||(e=>m(e))}updateOptions(e){this.options={...this.options,...e}}cached(e,t){let n=this.cacheMap.get(e);if(n)return n.get(this.keySerializer(t))}has(e,t){return this.cacheMap.get(e)?.has(this.keySerializer(t))??!1}apply(e,t){let n=this.cacheMap.get(e.m)||new Map;n.set(this.keySerializer(e.a),t),this.cacheMap.set(e.m,n)}validate(e){return this.options.functions.includes(e)}clear(e){e?this.cacheMap.delete(e):this.cacheMap.clear()}},le=class{context;definitions=new Map;functions;_onChanged=[];constructor(e){this.context=e;let t=this.definitions,n=this;this.functions=new Proxy({},{get(e,r){let i=t.get(r);if(i)return se(i,n.context)},has(e,n){return t.has(n)},getOwnPropertyDescriptor(e,n){return{value:t.get(n)?.handler,configurable:!0,enumerable:!0}},ownKeys(){return Array.from(t.keys())}})}register(e,t=!1){if(this.definitions.has(e.name)&&!t)throw x.DF0021({name:e.name});ue(e),this.definitions.set(e.name,e),this._onChanged.forEach(t=>t(e.name))}update(e,t=!1){if(!this.definitions.has(e.name)&&!t)throw x.DF0022({name:e.name});ue(e),this.definitions.set(e.name,e),this._onChanged.forEach(t=>t(e.name))}onChanged(e){return this._onChanged.push(e),()=>{let t=this._onChanged.indexOf(e);t!==-1&&this._onChanged.splice(t,1)}}async getHandler(e){return await se(this.definitions.get(e),this.context)}getSchema(e){let t=this.definitions.get(e);if(!t)throw x.DF0023({name:String(e)});return{args:t.args,returns:t.returns}}has(e){return this.definitions.has(e)}get(e){return this.definitions.get(e)}list(){return Array.from(this.definitions.keys())}};function ue(e){if(e.agent&&e.jsonSerializable!==!0)throw x.DF0019({name:e.name})}function de(e,t=``){return JSON.stringify(e,function(e,n){let r=this,i=r==null?n:r[e];if(i===void 0){if(Array.isArray(r))throw S(t,`undefined`,r,e);return n}if(i===null)return n;if(typeof i==`bigint`)throw S(t,`BigInt`,r,e);if(typeof i==`object`){if(i instanceof Map)throw S(t,`Map`,r,e);if(i instanceof Set)throw S(t,`Set`,r,e);if(i instanceof Date)throw S(t,`Date`,r,e);if(Array.isArray(i))return n;let a=Object.getPrototypeOf(i);if(a!==null&&a!==Object.prototype)throw S(t,i.constructor?.name??`class instance`,r,e)}return n})}function S(e,t,n,r){let i=fe(n,r);return x.DF0020({name:e||`<anonymous>`,type:t,path:i})}function fe(e,t){return Array.isArray(e)?`[${t}]`:t===``?`<root>`:t}function pe(){let e={};function t(t,...n){let r=e[t]||[];for(let e=0,t=r.length;e<t;e++){let t=r[e];t&&t(...n)}}function n(n,...r){t(n,...r),delete e[n]}function r(t,n){return(e[t]||=[]).push(n),()=>{e[t]=e[t]?.filter(e=>n!==e)}}function i(e,t){let n=r(e,((...e)=>(n(),t(...e))));return n}return{_listeners:e,emit:t,emitOnce:n,on:r,once:i}}String.fromCharCode;var me=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,he=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,ge=/^([/\\]\s*){2,}[^/\\]/,_e=/\/$|\/\?|\/#/,ve=/^\.?\//;function ye(e,t={}){return typeof t==`boolean`&&(t={acceptRelative:t}),t.strict?me.test(e):he.test(e)||(t.acceptRelative?ge.test(e):!1)}function be(e=``,t){return t?_e.test(e):e.endsWith(`/`)}function xe(e=``,t){if(!t)return(be(e)?e.slice(0,-1):e)||`/`;if(!be(e,!0))return e||`/`;let n=e,r=``,i=e.indexOf(`#`);i!==-1&&(n=e.slice(0,i),r=e.slice(i));let[a,...o]=n.split(`?`);return((a.endsWith(`/`)?a.slice(0,-1):a)||`/`)+(o.length>0?`?${o.join(`?`)}`:``)+r}function Se(e=``,t){if(!t)return e.endsWith(`/`)?e:e+`/`;if(be(e,!0))return e||`/`;let n=e,r=``,i=e.indexOf(`#`);if(i!==-1&&(n=e.slice(0,i),r=e.slice(i),!n))return r;let[a,...o]=n.split(`?`);return a+`/`+(o.length>0?`?${o.join(`?`)}`:``)+r}function Ce(e,t){if(we(t)||ye(e))return e;let n=xe(t);if(e.startsWith(n)){let t=e[n.length];if(!t||t===`/`||t===`?`)return e}return Ee(n,e)}function we(e){return!e||e===`/`}function Te(e){return e&&e!==`/`}function Ee(e,...t){let n=e||``;for(let e of t.filter(e=>Te(e)))if(n){let t=e.replace(ve,``);n=Se(n)+t}else n=e;return n}function De(e,t){let n=e.match(he);return n||=e.match(/^\/{2,}/),n?t+e.slice(n[0].length):t+e}function Oe(e=n){try{return new URLSearchParams(globalThis.location?.search).get(e)||void 0}catch{return}}function ke(e){try{let t=new URL(globalThis.location.href);if(!t.searchParams.has(e))return;t.searchParams.delete(e),globalThis.history?.replaceState(globalThis.history.state,``,t.href)}catch{}}function Ae(e=n){let t=Oe(e);return t&&ke(e),t}async function je(e,t={}){let n=Ae(t.param??`devframe_otp`);return n?e.isTrusted?!0:e.requestTrustWithCode(n):!1}var Me=Symbol.for(`immer-nothing`),Ne=Symbol.for(`immer-draftable`),C=Symbol.for(`immer-state`);function w(e,...t){throw Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var T=Object,E=T.getPrototypeOf,Pe=`constructor`,D=`prototype`,Fe=`configurable`,Ie=`enumerable`,Le=`writable`,Re=`value`,O=e=>!!e&&!!e[C];function k(e){return e?Ve(e)||Ge(e)||!!e[Ne]||!!e[Pe]?.[Ne]||Ke(e)||qe(e):!1}var ze=T[D][Pe].toString(),Be=new WeakMap;function Ve(e){if(!e||!N(e))return!1;let t=E(e);if(t===null||t===T[D])return!0;let n=T.hasOwnProperty.call(t,Pe)&&t[Pe];if(n===Object)return!0;if(!P(n))return!1;let r=Be.get(n);return r===void 0&&(r=Function.toString.call(n),Be.set(n,r)),r===ze}function He(e,t,n=!0){A(e)===0?(n?Reflect.ownKeys(e):T.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function A(e){let t=e[C];return t?t.type_:Ge(e)?1:Ke(e)?2:qe(e)?3:0}var j=(e,t,n=A(e))=>n===2?e.has(t):T[D].hasOwnProperty.call(e,t),M=(e,t,n=A(e))=>n===2?e.get(t):e[t],Ue=(e,t,n,r=A(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function We(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t}var Ge=Array.isArray,Ke=e=>e instanceof Map,qe=e=>e instanceof Set,N=e=>typeof e==`object`,P=e=>typeof e==`function`,Je=e=>typeof e==`boolean`;function Ye(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var Xe=e=>N(e)?e?.[C]:null,F=e=>e.copy_||e.base_,Ze=e=>e.modified_?e.copy_:e.base_;function Qe(e,t){if(Ke(e))return new Map(e);if(qe(e))return new Set(e);if(Ge(e))return Array[D].slice.call(e);let n=Ve(e);if(t===!0||t===`class_only`&&!n){let t=T.getOwnPropertyDescriptors(e);delete t[C];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){let i=n[r],a=t[i];a[Le]===!1&&(a[Le]=!0,a[Fe]=!0),(a.get||a.set)&&(t[i]={[Fe]:!0,[Le]:!0,[Ie]:a[Ie],[Re]:e[i]})}return T.create(E(e),t)}else{let t=E(e);if(t!==null&&n)return{...e};let r=T.create(t);return T.assign(r,e)}}function $e(e,t=!1){return nt(e)||O(e)||!k(e)?e:(A(e)>1&&T.defineProperties(e,{set:tt,add:tt,clear:tt,delete:tt}),T.freeze(e),t&&He(e,(e,t)=>{$e(t,!0)},!1),e)}function et(){w(2)}var tt={[Re]:et};function nt(e){return e===null||!N(e)?!0:T.isFrozen(e)}var rt=`MapSet`,it=`Patches`,at=`ArrayMethods`,ot={};function I(e){let t=ot[e];return t||w(0,e),t}var st=e=>!!ot[e];function ct(e,t){ot[e]||(ot[e]=t)}var L,lt=()=>L,ut=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:st(rt)?I(rt):void 0,arrayMethodsPlugin_:st(at)?I(at):void 0});function dt(e,t){t&&(e.patchPlugin_=I(it),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function ft(e){pt(e),e.drafts_.forEach(ht),e.drafts_=null}function pt(e){e===L&&(L=e.parent_)}var mt=e=>L=ut(L,e);function ht(e){let t=e[C];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function gt(e,t){t.unfinalizedDrafts_=t.drafts_.length;let n=t.drafts_[0];if(e!==void 0&&e!==n){n[C].modified_&&(ft(t),w(4)),k(e)&&(e=_t(t,e));let{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[C].base_,e,t)}else e=_t(t,n);return vt(t,e,!0),ft(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e===Me?void 0:e}function _t(e,t){if(nt(t))return t;let n=t[C];if(!n)return Et(t,e.handledSet_,e);if(!bt(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){let{callbacks_:t}=n;if(t)for(;t.length>0;)t.pop()(e);wt(n,e)}return n.copy_}function vt(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&$e(t,n)}function yt(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var bt=(e,t)=>e.scope_===t,xt=[];function St(e,t,n,r){let i=F(e),a=e.type_;if(r!==void 0&&M(i,r,a)===t){Ue(i,r,n,a);return}if(!e.draftLocations_){let t=e.draftLocations_=new Map;He(i,(e,n)=>{if(O(n)){let r=t.get(n)||[];r.push(e),t.set(n,r)}})}let o=e.draftLocations_.get(t)??xt;for(let e of o)Ue(i,e,n,a)}function Ct(e,t,n){e.callbacks_.push(function(r){let i=t;if(!i||!bt(i,r))return;r.mapSetPlugin_?.fixSetContents(i);let a=Ze(i);St(e,i.draft_??i,a,n),wt(i,r)})}function wt(e,t){if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){let{patchPlugin_:n}=t;if(n){let r=n.getPath(e);r&&n.generatePatches_(e,r,t)}yt(e)}}function Tt(e,t,n){let{scope_:r}=e;if(O(n)){let i=n[C];bt(i,r)&&i.callbacks_.push(function(){Nt(e),St(e,n,Ze(i),t)})}else k(n)&&e.callbacks_.push(function(){let i=F(e);e.type_===3?i.has(n)&&Et(n,r.handledSet_,r):M(i,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&Et(M(e.copy_,t,e.type_),r.handledSet_,r)})}function Et(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||O(e)||t.has(e)||!k(e)||nt(e)?e:(t.add(e),He(e,(r,i)=>{if(O(i)){let t=i[C];bt(t,n)&&(Ue(e,r,Ze(t),e.type_),yt(t))}else k(i)&&Et(i,t,n)}),e)}function Dt(e,t){let n=Ge(e),r={type_:+!!n,scope_:t?t.scope_:lt(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},i=r,a=Ot;n&&(i=[r],a=R);let{revoke:o,proxy:s}=Proxy.revocable(i,a);return r.draft_=s,r.revoke_=o,[s,r]}var Ot={get(e,t){if(t===C)return e;if(t===`constructor`||t===`__proto__`){let n=F(e)[t];return new Proxy(n||{},{get:(e,t)=>t===`__proto__`||t===`prototype`?Object.freeze(Object.create(null)):Reflect.get(e,t),set:()=>!0,apply:(e,t,n)=>Reflect.apply(e,t,n)})}let n=e.scope_.arrayMethodsPlugin_,r=e.type_===1&&typeof t==`string`;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);let i=F(e);if(!j(i,t,e.type_))return At(e,i,t);let a=i[t];if(e.finalized_||!k(a)||r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&Ye(t))return a;if(a===kt(e.base_,t)){Nt(e);let n=e.type_===1?+t:t,r=Ft(e.scope_,a,e,n);return e.copy_[n]=r}return a},has(e,t){return t===`constructor`||t===`__proto__`||t===`prototype`?!1:t in F(e)},ownKeys(e){return Reflect.ownKeys(F(e))},set(e,t,n){if(t===`constructor`||t===`__proto__`||t===`prototype`)return!0;let r=jt(F(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){let r=kt(F(e),t),i=r?.[C];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(We(n,r)&&(n!==void 0||j(e.base_,t,e.type_)))return!0;Nt(e),Mt(e)}return e.copy_[t]===n&&(n!==void 0||j(e.copy_,t,e.type_))||Number.isNaN(n)&&Number.isNaN(e.copy_[t])?!0:(e.copy_[t]=n,e.assigned_.set(t,!0),Tt(e,t,n),!0)},deleteProperty(e,t){return Nt(e),kt(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),Mt(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let n=F(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[Le]:!0,[Fe]:e.type_!==1||t!==`length`,[Ie]:r[Ie],[Re]:n[t]}},defineProperty(){w(11)},getPrototypeOf(e){return E(e.base_)},setPrototypeOf(){w(12)}},R={};for(let e in Ot){let t=Ot[e];R[e]=function(){let e=arguments;return e[0]=e[0][0],t.apply(this,e)}}R.deleteProperty=function(e,t){return R.set.call(this,e,t,void 0)},R.set=function(e,t,n){return Ot.set.call(this,e[0],t,n,e[0])};function kt(e,t){let n=e[C];return(n?F(n):e)[t]}function At(e,t,n){let r=jt(t,n);return r?Re in r?r[Re]:r.get?.call(e.draft_):void 0}function jt(e,t){if(!(t in e))return;let n=E(e);for(;n;){let e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=E(n)}}function Mt(e){e.modified_||(e.modified_=!0,e.parent_&&Mt(e.parent_))}function Nt(e){e.copy_||=(e.assigned_=new Map,Qe(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var Pt=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(P(e)&&!P(t)){let n=t;t=e;let r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}P(t)||w(6),n!==void 0&&!P(n)&&w(7);let r;if(k(e)){let i=mt(this),a=Ft(i,e,void 0),o=!0;try{r=t(a),o=!1}finally{o?ft(i):pt(i)}return dt(i,n),gt(r,i)}else if(!e||!N(e)){if(r=t(e),r===void 0&&(r=e),r===Me&&(r=void 0),this.autoFreeze_&&$e(r,!0),n){let t=[],i=[];I(it).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}else w(1,e)},this.produceWithPatches=(e,t)=>{if(P(e))return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},Je(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),Je(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),Je(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){k(e)||w(8),O(e)&&(e=It(e));let t=mt(this),n=Ft(t,e,void 0);return n[C].isManual_=!0,pt(t),n}finishDraft(e,t){let n=e&&e[C];(!n||!n.isManual_)&&w(9);let{scope_:r}=n;return dt(r,t),gt(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){let r=t[n];if(r.path.length===0&&r.op===`replace`){e=r.value;break}}n>-1&&(t=t.slice(n+1));let r=I(it).applyPatches_;return O(e)?r(e,t):this.produce(e,e=>r(e,t))}};function Ft(e,t,n,r){let[i,a]=Ke(t)?I(rt).proxyMap_(t,n):qe(t)?I(rt).proxySet_(t,n):Dt(t,n);return(n?.scope_??lt()).drafts_.push(i),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&r!==void 0?Ct(n,a,r):a.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(a);let{patchPlugin_:t}=e;a.modified_&&t&&t.generatePatches_(a,[],e)}),i}function It(e){return O(e)||w(10,e),Lt(e)}function Lt(e){if(!k(e)||nt(e))return e;let t=e[C],n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=Qe(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=Qe(e,!0);return He(n,(e,t)=>{Ue(n,e,Lt(t))},r),t&&(t.finalized_=!1),n}function Rt(){function e(n,r=[]){if(n.key_!==void 0){let e=n.parent_.copy_??n.parent_.base_,t=Xe(M(e,n.key_)),i=M(e,n.key_);if(i===void 0||i!==n.draft_&&i!==n.base_&&i!==n.copy_||t!=null&&t.base_!==n.base_)return null;let a=n.parent_.type_===3,o;if(a){let e=n.parent_;o=Array.from(e.drafts_.keys()).indexOf(n.key_)}else o=n.key_;if(!(a&&e.size>o||j(e,o)))return null;r.push(o)}if(n.parent_)return e(n.parent_,r);r.reverse();try{t(n.copy_,r)}catch{return null}return r}function t(e,t){let n=e;for(let e=0;e<t.length-1;e++){let r=t[e];if(n=M(n,r),!N(n)||n===null)throw Error(`Cannot resolve path at '${t.join(`/`)}'`)}return n}let n=`replace`,r=`remove`;function i(e,t,n){if(e.scope_.processedForPatches_.has(e))return;e.scope_.processedForPatches_.add(e);let{patches_:r,inversePatches_:i}=n;switch(e.type_){case 0:case 2:return o(e,t,r,i);case 1:return a(e,t,r,i);case 3:return s(e,t,r,i)}}function a(e,t,i,a){let{base_:o,assigned_:s}=e,c=e.copy_;c.length<o.length&&([o,c]=[c,o],[i,a]=[a,i]);let l=e.allIndicesReassigned_===!0;for(let e=0;e<o.length;e++){let r=c[e],u=o[e];if((l||s?.get(e.toString()))&&r!==u){let o=r?.[C];if(o&&o.modified_)continue;let s=t.concat([e]);i.push({op:n,path:s,value:d(r)}),a.push({op:n,path:s,value:d(u)})}}for(let e=o.length;e<c.length;e++){let n=t.concat([e]);i.push({op:`add`,path:n,value:d(c[e])})}for(let e=c.length-1;o.length<=e;--e){let n=t.concat([e]);a.push({op:r,path:n})}}function o(e,t,i,a){let{base_:o,copy_:s,type_:c}=e;He(e.assigned_,(e,l)=>{let u=M(o,e,c),f=M(s,e,c),p=l?j(o,e)?n:`add`:r;if(u===f&&p===n)return;let m=t.concat(e);i.push(p===r?{op:p,path:m}:{op:p,path:m,value:d(f)}),a.push(p===`add`?{op:r,path:m}:p===r?{op:`add`,path:m,value:d(u)}:{op:n,path:m,value:d(u)})})}function s(e,t,n,i){let{base_:a,copy_:o}=e,s=0;a.forEach(e=>{if(!o.has(e)){let a=t.concat([s]);n.push({op:r,path:a,value:e}),i.unshift({op:`add`,path:a,value:e})}s++}),s=0,o.forEach(e=>{if(!a.has(e)){let a=t.concat([s]);n.push({op:`add`,path:a,value:e}),i.unshift({op:r,path:a,value:e})}s++})}function c(e,t,r){let{patches_:i,inversePatches_:a}=r;i.push({op:n,path:[],value:t===Me?void 0:t}),a.push({op:n,path:[],value:e})}function l(e,t){return t.forEach(t=>{let{path:i,op:a}=t,o=e;for(let e=0;e<i.length-1;e++){let t=A(o),n=i[e];typeof n!=`string`&&typeof n!=`number`&&(n=``+n),(t===0||t===1)&&(n===`__proto__`||n===Pe)&&w(19),P(o)&&n===D&&w(19),o=M(o,n),N(o)||w(18,i.join(`/`))}let s=A(o),c=u(t.value),l=i[i.length-1];switch(a){case n:switch(s){case 2:return o.set(l,c);case 3:w(16);default:return o[l]=c}case`add`:switch(s){case 1:return l===`-`?o.push(c):o.splice(l,0,c);case 2:return o.set(l,c);case 3:return o.add(c);default:return o[l]=c}case r:switch(s){case 1:return o.splice(l,1);case 2:return o.delete(l);case 3:return o.delete(t.value);default:return delete o[l]}default:w(17,a)}}),e}function u(e){if(!k(e))return e;if(Ge(e))return e.map(u);if(Ke(e))return new Map(Array.from(e.entries()).map(([e,t])=>[e,u(t)]));if(qe(e))return new Set(Array.from(e).map(u));let t=Object.create(E(e));for(let n in e)t[n]=u(e[n]);return j(e,Ne)&&(t[Ne]=e[Ne]),t}function d(e){return O(e)?u(e):e}ct(it,{applyPatches_:l,generatePatches_:i,generateReplacementPatches_:c,getPath:e})}var zt=new Pt,Bt=zt.produce,Vt=zt.produceWithPatches.bind(zt),Ht=zt.applyPatches.bind(zt),Ut=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`;function Wt(e=21){let t=``,n=e;for(;n--;)t+=Ut[Math.random()*64|0];return t}var Gt=1e3;function Kt(e,t){if(e.add(t),e.size>Gt){let t=e.values().next().value;t!==void 0&&e.delete(t)}}function qt(e){let{enablePatches:t=!1}=e,n=pe(),r=e.initialValue,i=new Set;return{on:n.on,value:()=>r,patch:(e,t=Wt())=>{i.has(t)||(Rt(),r=Ht(r,e),Kt(i,t),n.emit(`updated`,r,void 0,t))},mutate:(e,a=Wt())=>{if(!i.has(a))if(Kt(i,a),t){let[t,i]=Vt(r,e);r=t,n.emit(`updated`,r,i,a)}else r=Bt(r,e),n.emit(`updated`,r,void 0,a)},syncIds:i}}function Jt(e){let t=new Map,n=new Map,r=new Set,i=e.connectionMeta.backend===`static`;function a(e,t){let r=n.get(e);return r&&typeof r==`object`&&!Array.isArray(r)&&typeof t==`object`&&!Array.isArray(t)?{...r,...t}:t}e.client.register({name:`devframe:rpc:client-state:updated`,type:`event`,handler:(e,n,r)=>{let i=t.get(e);!i||i.syncIds.has(r)||i.mutate(()=>a(e,n),r)}}),e.client.register({name:`devframe:rpc:client-state:patch`,type:`event`,handler:(e,n,r)=>{let i=t.get(e);!i||i.syncIds.has(r)||i.patch(n,r)}});function o(t,n){let r=[];return r.push(n.on(`updated`,(n,r,a)=>{i||(r?e.callEvent(`devframe:rpc:server-state:patch`,t,r,a):e.callEvent(`devframe:rpc:server-state:set`,t,n,a))})),()=>{for(let e of r)e()}}return{keys:()=>Array.from(t.keys()),onKeyAdded(e){return r.add(e),()=>{r.delete(e)}},get:async(s,c)=>{if(c?.initialValue!==void 0&&n.set(s,c.initialValue),t.has(s))return t.get(s);let l=qt({initialValue:c?.initialValue,enablePatches:!1});async function u(){if(i||e.callEvent(`devframe:rpc:server-state:subscribe`,s),c?.initialValue!==void 0){t.set(s,l);for(let e of r)e(s);return e.call(`devframe:rpc:server-state:get`,s).then(e=>{e!==void 0&&l.mutate(()=>a(s,e))}).catch(e=>{console.error(`Error getting server state`,e)}),o(s,l),l}else{let n=await e.call(`devframe:rpc:server-state:get`,s);l.mutate(()=>a(s,n)),t.set(s,l);for(let e of r)e(s);return o(s,l),l}}return new Promise(t=>{if(e.isTrusted)u().then(t);else{t(l);let n=!1;e.events.on(`rpc:is-trusted:updated`,e=>{e&&!n&&(n=!0,u())})}})}}}var Yt=typeof self==`object`?self:globalThis;function Xt(e,t){let n=(t,n)=>(e.set(n,t),t),r=i=>{if(e.has(i))return e.get(i);let[a,o]=t[i];switch(a){case 0:case-1:return n(o,i);case 1:{let e=n([],i);for(let t of o)e.push(r(t));return e}case 2:{let e=n({},i);for(let[t,n]of o)e[r(t)]=r(n);return e}case 3:return n(new Date(o),i);case 4:{let{source:e,flags:t}=o;return n(new RegExp(e,t),i)}case 5:{let e=n(new Map,i);for(let[t,n]of o)e.set(r(t),r(n));return e}case 6:{let e=n(new Set,i);for(let t of o)e.add(r(t));return e}case 7:{let{name:e,message:t}=o;return n(new Yt[e](t),i)}case 8:return n(BigInt(o),i);case`BigInt`:return n(Object(BigInt(o)),i);case`ArrayBuffer`:return n(new Uint8Array(o).buffer,o);case`DataView`:{let{buffer:e}=new Uint8Array(o);return n(new DataView(e),o)}}return n(new Yt[a](o),i)};return r}function Zt(e){return Xt(new Map,e)(0)}var z=``,{toString:Qt}={},{keys:$t}=Object;function en(e){let t=typeof e;if(t!==`object`||!e)return[0,t];let n=Qt.call(e).slice(8,-1);switch(n){case`Array`:return[1,z];case`Object`:return[2,z];case`Date`:return[3,z];case`RegExp`:return[4,z];case`Map`:return[5,z];case`Set`:return[6,z];case`DataView`:return[1,n]}return n.includes(`Array`)?[1,n]:n.includes(`Error`)?[7,n]:[2,n]}function tn([e,t]){return e===0&&(t===`function`||t===`symbol`)}function nn(e,t,n,r){let i=(e,t)=>{let i=r.push(e)-1;return n.set(t,i),i},a=r=>{if(n.has(r))return n.get(r);let[o,s]=en(r);switch(o){case 0:{let t=r;switch(s){case`bigint`:o=8,t=r.toString();break;case`function`:case`symbol`:if(e)throw TypeError(`unable to serialize ${s}`);t=null;break;case`undefined`:return i([-1],r)}return i([o,t],r)}case 1:{if(s){let e=r;return s===`DataView`?e=new Uint8Array(r.buffer):s===`ArrayBuffer`&&(e=new Uint8Array(r)),i([s,[...e]],r)}let e=[],t=i([o,e],r);for(let t of r)e.push(a(t));return t}case 2:{if(s)switch(s){case`BigInt`:return i([s,r.toString()],r);case`Boolean`:case`Number`:case`String`:return i([s,r.valueOf()],r)}if(t&&`toJSON`in r)return a(r.toJSON());let n=[],c=i([o,n],r);for(let t of $t(r))(e||!tn(en(r[t])))&&n.push([a(t),a(r[t])]);return c}case 3:return i([o,r.toISOString()],r);case 4:{let{source:e,flags:t}=r;return i([o,{source:e,flags:t}],r)}case 5:{let t=[],n=i([o,t],r);for(let[n,i]of r)(e||!(tn(en(n))||tn(en(i))))&&t.push([a(n),a(i)]);return n}case 6:{let t=[],n=i([o,t],r);for(let n of r)(e||!tn(en(n)))&&t.push(a(n));return n}}let{message:c}=r;return i([o,{name:s,message:c}],r)};return a}function rn(e,t={}){let n=[];return nn(!(t.json||t.lossy),!!t.json,new Map,n)(e),n}var{parse:an,stringify:on}=JSON,sn={json:!0,lossy:!0};function cn(e){return Zt(an(e))}function ln(e){return on(rn(e,sn))}function un(e){return Zt(e)}function dn(e){return ln(e)}function fn(e){return cn(e)}function pn(e){return typeof e==`object`&&!!e&&e.type===`static`&&typeof e.path==`string`}function mn(e){return typeof e==`object`&&!!e&&e.type===`query`&&typeof e.records==`object`&&e.records!==null}function hn(e){return typeof e==`object`&&!!e&&(`output`in e||`error`in e)}function gn(e){if(e.error)throw ie(e.error);return e.output}function _n(e){return e.some(e=>e!=null)}function vn(e){return typeof e==`object`&&e&&`serialization`in e&&`data`in e?e.data:e}function yn(e,t){let n=new Map,r=new Map;function i(e,t){return t===`structured-clone`&&Array.isArray(e)?un(e):e}function a(e,t){return i(vn(e),t)}async function o(e){n.has(e.path)||n.set(e.path,t(e.path).then(t=>a(t,e.serialization)));let r=await n.get(e.path);return hn(r)?gn(r):r}async function s(e,n){return r.has(e)||r.set(e,t(e).then(e=>a(e,n))),await r.get(e)}async function c(t,n){if(!(t in e))throw Error(`[devframe-rpc] Function "${t}" not found in dump store`);let r=e[t];if(pn(r)){if(_n(n))throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`);return await o(r)}if(mn(r)){let e=m(n),i=r.records[e];if(i)return gn(await s(i,r.serialization));if(r.fallback)return gn(await s(r.fallback,r.serialization));throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`)}if(!_n(n))return r;throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`)}return{call:async(e,t)=>await c(e,t),callOptional:async(t,n)=>{if(t in e)return await c(t,n)},callEvent:async(e,t)=>{}}}async function bn(e){let n=yn(await e.fetchJsonFromBases(t),e.fetchJsonFromBases);return{isTrusted:!0,requestTrust:async()=>!0,requestTrustWithToken:async()=>!0,requestTrustWithCode:async()=>null,ensureTrusted:async()=>!0,call:(...e)=>n.call(e[0],e.slice(1)),callEvent:(...e)=>n.callEvent(e[0],e.slice(1)),callOptional:(...e)=>n.callOptional(e[0],e.slice(1))}}var xn=256,Sn=class extends Error{name=`StreamClosedError`};function Cn(e={}){let t=e.id??Wt(),n=Math.max(0,e.replayWindow??0),r=pe(),i=new AbortController,a=[],o=!1,s=0;function c(e){if(o)throw new Sn(`Cannot write to a closed stream "${t}"`);s+=1,n>0&&(a.push({seq:s,chunk:e}),a.length>n&&a.splice(0,a.length-n)),r.emit(`chunk`,s,e)}function l(e){if(o)return;o=!0;let t=Tn(e);i.abort(e),r.emit(`end`,t)}function u(){o||(o=!0,i.signal.aborted||i.abort(`stream closed`),r.emit(`end`,void 0))}function d(e){o||i.signal.aborted||i.abort(e??`aborted`)}let f=new WritableStream({write(e){c(e)},close(){u()},abort(e){l(e)}});return{id:t,signal:i.signal,get closed(){return o},get lastSeq(){return s},write:c,error:l,close:u,abort:d,writable:f,events:r,buffer:a}}function wn(e={}){let t=e.id??Wt(),n=Math.max(1,e.highWaterMark??xn),r=[],i=0,a=!1,o=!1,s,c,l,u;function d(){if(c){if(r.length>0){let e=r.shift(),t=c;c=void 0,t.resolve({value:e,done:!1});return}if(a){let e=c;if(c=void 0,s){let t=Error(s.message);t.name=s.name,e.reject(t)}else e.resolve({value:void 0,done:!0})}}}function f(){if(l){for(;r.length>0;){let e=r.shift();try{l.enqueue(e)}catch{break}}if(a&&l){try{if(s){let e=Error(s.message);e.name=s.name,l.error(e)}else l.close()}catch{}l=void 0}}}function p(t,s){if(!(a||o)&&!(t<=i)){if(i=t,r.push(s),r.length>n){let t=r.length-n;r.splice(0,t),e.onOverflow?.(t)}d(),u&&f()}}function m(e){a||(a=!0,s=e,d(),u&&f())}function h(){o||a||(o=!0,e.onCancel?.(),m(void 0))}function g(){return u||(u=new ReadableStream({start(e){l=e,f()},cancel(){h()}}),u)}return{id:t,get cancelled(){return o},get done(){return a},get lastSeenSeq(){return i},get readable(){return g()},cancel:h,_push:p,_end:m,[Symbol.asyncIterator](){return{next(){if(r.length>0)return Promise.resolve({value:r.shift(),done:!1});if(a){if(s){let e=Error(s.message);return e.name=s.name,Promise.reject(e)}return Promise.resolve({value:void 0,done:!0})}return new Promise((e,t)=>{c={resolve:e,reject:t}})},return(){return h(),Promise.resolve({value:void 0,done:!0})}}}}}function Tn(e){if(e instanceof Error)return{name:e.name||`Error`,message:e.message};if(typeof e==`string`)return{name:`Error`,message:e};try{return{name:`Error`,message:JSON.stringify(e)}}catch{return{name:`Error`,message:String(e)}}}var En=``;function Dn(e,t){return`${e}${En}${t}`}function On(e){let t=new Map,n=new Map;e.client.register({name:`devframe:streaming:chunk`,type:`event`,handler(e,n,r,i){t.get(Dn(e,n))?._push(r,i)}}),e.client.register({name:`devframe:streaming:end`,type:`event`,handler(e,n,r){let i=Dn(e,n),a=t.get(i);a&&(a._end(r),t.delete(i))}}),e.client.register({name:`devframe:streaming:upload-cancel`,type:`event`,handler(e,t){let r=Dn(e,t),i=n.get(r);i&&(i.abort(`server cancelled upload`),n.delete(r))}}),e.events.on(`rpc:is-trusted:updated`,n=>{if(n)for(let[n,r]of t){if(r.cancelled||r.done)continue;let t=n.indexOf(En);if(t<0)continue;let i=n.slice(0,t),a=n.slice(t+1);e.callEvent(`devframe:streaming:subscribe`,i,a,{afterSeq:r.lastSeenSeq})}});function r(n,r,i={}){let a=Dn(n,r),o=t.get(a);if(o)return o;let s=wn({id:r,highWaterMark:i.highWaterMark,onOverflow(e){console.warn(`[devframe] DF0029: Stream "${n}#${r}" dropped ${e} chunk(s) after exceeding the client high-water mark.`)},onCancel(){e.callEvent(`devframe:streaming:cancel`,n,r),t.delete(a)}});if(t.set(a,s),e.isTrusted)e.callEvent(`devframe:streaming:subscribe`,n,r,{afterSeq:0});else{let i=e.events.on(`rpc:is-trusted:updated`,o=>{o&&(i(),t.has(a)&&!s.cancelled&&!s.done&&e.callEvent(`devframe:streaming:subscribe`,n,r,{afterSeq:s.lastSeenSeq}))})}return s}function i(t,r){let i=Dn(t,r),a=n.get(i);if(a)return a;let o=Cn({id:r});return o.events.on(`chunk`,(n,i)=>{e.callEvent(`devframe:streaming:upload-chunk`,t,r,n,i)}),o.events.on(`end`,a=>{e.callEvent(`devframe:streaming:upload-end`,t,r,a),n.delete(i)}),n.set(i,o),o}return{subscribe:r,upload:i}}var kn=`q`,An=`s`;function jn(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var Mn=Math.random.bind(Math),Nn=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`;function Pn(e=21){let t=``,n=e;for(;n--;)t+=Nn[Mn()*64|0];return t}var Fn=6e4,In=e=>e,Ln=In,{clearTimeout:Rn,setTimeout:zn}=globalThis;function Bn(e,t){let{post:n,on:r,off:i=()=>{},eventNames:a=[],serialize:o=In,deserialize:s=Ln,resolver:c,bind:l=`rpc`,timeout:u=Fn,proxify:d=!0}=t,f=!1,p=new Map,m,h;async function g(e,r,i,a){if(f)throw Error(`[birpc] rpc is closed, cannot call "${e}"`);let s={m:e,a:r,t:kn};a&&(s.o=!0);let c=async e=>n(o(e));if(i){await c(s);return}if(m)try{await m}finally{m=void 0}let{promise:l,resolve:d,reject:g}=jn(),_=Pn();s.i=_;let v;async function y(n=s){return u>=0&&(v=zn(()=>{try{if(t.onTimeoutError?.call(h,e,r)!==!0)throw Error(`[birpc] timeout on calling "${e}"`)}catch(e){g(e)}p.delete(_)},u),typeof v==`object`&&(v=v.unref?.())),p.set(_,{resolve:d,reject:g,timeoutId:v,method:e}),await c(n),l}try{t.onRequest?await t.onRequest.call(h,s,y,d):await y()}catch(e){if(t.onGeneralError?.call(h,e)!==!0)throw e;return}finally{Rn(v),p.delete(_)}return l}let _={$call:(e,...t)=>g(e,t,!1),$callOptional:(e,...t)=>g(e,t,!1,!0),$callEvent:(e,...t)=>g(e,t,!0),$callRaw:e=>g(e.method,e.args,e.event,e.optional),$rejectPendingCalls:y,get $closed(){return f},get $meta(){return t.meta},$close:v,$functions:e};h=d?new Proxy({},{get(t,n){if(Object.prototype.hasOwnProperty.call(_,n))return _[n];if(n===`then`&&!a.includes(`then`)&&!(`then`in e))return;let r=(...e)=>g(n,e,!0);if(a.includes(n))return r.asEvent=r,r;let i=(...e)=>g(n,e,!1);return i.asEvent=r,i}}):_;function v(e){f=!0,p.forEach(({reject:t,method:n})=>{let r=Error(`[birpc] rpc is closed, cannot call "${n}"`);if(e)return e.cause??=r,t(e);t(r)}),p.clear(),i(b)}function y(e){let t=Array.from(p.values()).map(({method:t,reject:n})=>e?e({method:t,reject:n}):n(Error(`[birpc]: rejected pending call "${t}".`)));return p.clear(),t}async function b(r,...i){let a;try{a=s(r)}catch(e){if(t.onGeneralError?.call(h,e)!==!0)throw e;return}if(a.t===kn){let{m:r,a:s,o:u}=a,d,f,p=await(c?c.call(h,r,e[r]):e[r]);if(u&&(p||=()=>void 0),!p)f=Error(`[birpc] function "${r}" not found`);else try{d=await p.apply(l===`rpc`?h:e,s)}catch(e){f=e}if(a.i){if(f&&t.onFunctionError&&t.onFunctionError.call(h,f,r,s)===!0)return;if(!f)try{await n(o({t:An,i:a.i,r:d}),...i);return}catch(e){if(f=e,t.onGeneralError?.call(h,e,r,s)!==!0)throw e}try{await n(o({t:An,i:a.i,e:f}),...i)}catch(e){if(t.onGeneralError?.call(h,e,r,s)!==!0)throw e}}}else{let{i:e,r:t,e:n}=a,r=p.get(e);r&&(Rn(r.timeoutId),n?r.reject(n):r.resolve(t)),p.delete(e)}}return m=r(b),h}function Vn(e,t){let{channel:n,rpcOptions:r={}}=t;return Bn(e,{...n,timeout:-1,...r,proxify:!1})}function Hn(){}var Un=new Map;function Wn(e){let t=e.url;e.authToken&&(t=`${t}?${r}=${encodeURIComponent(e.authToken)}`);let n=new WebSocket(t),{onConnected:i=Hn,onError:a=Hn,onDisconnected:o=Hn,definitions:s=Un}=e;n.addEventListener(`open`,e=>{i(e)}),n.addEventListener(`error`,e=>{let t=e instanceof Error?e:Error(e.type);a(t)}),n.addEventListener(`close`,e=>{o(e)});let c=new Map;return{on:e=>{n.addEventListener(`message`,t=>{e(t.data)})},post:e=>{if(n.readyState===WebSocket.OPEN){n.send(e);return}if(n.readyState===WebSocket.CONNECTING){let t=()=>{i(),n.readyState===WebSocket.OPEN&&n.send(e)},r=()=>i();function i(){n.removeEventListener(`open`,t),n.removeEventListener(`close`,r)}n.addEventListener(`open`,t),n.addEventListener(`close`,r);return}a(Error(`Devframe WebSocket is not open; message dropped`))},serialize:e=>{let t;return e.t===`q`?t=e.m:(t=c.get(e.i),c.delete(e.i)),!(e.t===`s`&&`e`in e)&&t&&s.get(t)?.jsonSerializable===!0?de(e,t??``):`s:${dn(e)}`},deserialize:e=>{let t=e.startsWith(`s:`)?fn(e.slice(2)):JSON.parse(e);return t.t===`q`&&t.i&&t.m&&c.set(t.i,t.m),t}}}function Gn(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var Kn=``,qn=`?`,Jn=`major`,B=`model`,V=`name`,H=`type`,U=`vendor`,W=`version`,G=`architecture`,Yn=`console`,K=`mobile`,q=`tablet`,J=`smarttv`,Y=`wearable`,Xn=`embedded`,Zn=500,Qn=`Amazon`,$n=`Apple`,er=`ASUS`,tr=`BlackBerry`,X=`Browser`,nr=`Chrome`,rr=`Edge`,ir=`Firefox`,ar=`Google`,or=`Huawei`,sr=`LG`,cr=`Microsoft`,lr=`Motorola`,ur=`Opera`,dr=`Samsung`,fr=`Sharp`,pr=`Sony`,mr=`Xiaomi`,hr=`Zebra`,gr=`Facebook`,_r=`Chromium OS`,vr=`Mac OS`;function yr(e,t={}){let n={};for(let r of Object.keys(e)){let i=t[r];i&&i.length%2==0?n[r]=[...i,...e[r]]:n[r]=e[r]}return n}function br(e){let t={};for(let n=0;n<e.length;n++)t[e[n].toUpperCase()]=e[n];return t}function xr(e){return e.toLowerCase()}function Sr(e,t){return typeof e==`string`?xr(t).includes(xr(e)):!1}function Cr(e){return typeof e==`string`?e.replace(/[^\d.]/g,Kn).split(`.`)[0]:void 0}function wr(e,t){let n=e.replace(/^\s+/,Kn);return t===void 0?n:n.substring(0,t)}function Tr(e,t,n){let r=n??{};for(let n=0;n<t.length;n+=2){let i=t[n],a=t[n+1];for(let t=0;t<i.length;t++){let n=i[t];if(!n)break;let o=n.exec(e);if(o){for(let e=0;e<a.length;e++){let t=o[e+1],n=a[e];if(Array.isArray(n)){let e=n[0],i=n.length;if(i===2){let i=n[1];typeof i==`function`?r[e]=i(t,void 0,r):r[e]=i}else if(i===3){let i=n[1],a=n[2];typeof i==`function`&&!(`exec`in i)&&!(`test`in i)?r[e]=t?i(t,a,r):void 0:r[e]=t?t.replace(i,a):void 0}else i===4&&(r[e]=t?n[3](t.replace(n[1],n[2]),void 0,r):void 0)}else r[n]=t||void 0}return r}}}return r}function Er(e,t){for(let n in t){let r=t[n];if(Array.isArray(r)&&r.length>0){for(let t=0;t<r.length;t++)if(Sr(r[t],e))return n===qn?void 0:n}else if(Sr(r,e))return n===qn?void 0:n}return e}var Dr={"1.0":`/8`,"1.2":`/1`,"1.3":`/3`,"2.0":`/412`,"2.0.2":`/416`,"2.0.3":`/417`,"2.0.4":`/419`,"?":`/`},Or={ME:`4.90`,"NT 3.11":`NT3.51`,"NT 4.0":`NT4.0`,2e3:`NT 5.0`,XP:[`NT 5.1`,`NT 5.2`],Vista:`NT 6.0`,7:`NT 6.1`,8:`NT 6.2`,"8.1":`NT 6.3`,10:[`NT 6.4`,`NT 10.0`],RT:`ARM`},kr={browser:[[/\b(?:crmo|crios)\/([\w.]+)/i],[W,[V,`Chrome`]],[/edg(?:e|ios|a)?\/([\w.]+)/i],[W,[V,`Edge`]],[/(opera mini)\/([-\w.]+)/i,/(opera [mobileta]{3,6})\b.+version\/([-\w.]+)/i,/(opera)(?:.+version\/|[/ ]+)([\w.]+)/i],[V,W],[/opios[/ ]+([\w.]+)/i],[W,[V,`${ur} Mini`]],[/\bop(?:rg)?x\/([\w.]+)/i],[W,[V,`${ur} GX`]],[/\bopr\/([\w.]+)/i],[W,[V,ur]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[/ ]?([\w.]+)/i],[W,[V,`Baidu`]],[/(kindle)\/([\w.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[/ ]?([\w.]*)/i,/(avant|iemobile|slim)\s?(?:browser)?[/ ]?([\w.]*)/i,/(?:ms|\()(ie) ([\w.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\/([-\w.]+)/i,/(heytap|ovi)browser\/([\d.]+)/i,/(weibo)__([\d.]+)/i],[V,W],[/\bddg\/([\w.]+)/i],[W,[V,`DuckDuckGo`]],[/(?:\buc? ?browser|juc.+ucweb)[/ ]?([\w.]+)/i],[W,[V,`UC${X}`]],[/microm.+\bqbcore\/([\w.]+)/i,/\bqbcore\/([\w.]+).+microm/i,/micromessenger\/([\w.]+)/i],[W,[V,`WeChat`]],[/konqueror\/([\w.]+)/i],[W,[V,`Konqueror`]],[/trident.+rv[: ]([\w.]{1,9})\b.+like gecko/i],[W,[V,`IE`]],[/ya(?:search)?browser\/([\w.]+)/i],[W,[V,`Yandex`]],[/slbrowser\/([\w.]+)/i],[W,[V,`Smart Lenovo ${X}`]],[/(avast|avg)\/([\w.]+)/i],[[V,/(.+)/,`$1 Secure ${X}`],W],[/\bfocus\/([\w.]+)/i],[W,[V,`${ir} Focus`]],[/\bopt\/([\w.]+)/i],[W,[V,`${ur} Touch`]],[/coc_coc\w+\/([\w.]+)/i],[W,[V,`Coc Coc`]],[/dolfin\/([\w.]+)/i],[W,[V,`Dolphin`]],[/coast\/([\w.]+)/i],[W,[V,`${ur} Coast`]],[/miuibrowser\/([\w.]+)/i],[W,[V,`MIUI ${X}`]],[/fxios\/([-\w.]+)/i],[W,[V,ir]],[/\bqihu|(qi?ho{0,2}|360)browser/i],[[V,`360 ${X}`]],[/(oculus|sailfish|huawei|vivo)browser\/([\w.]+)/i],[[V,/(.+)/,`$1 ${X}`],W],[/samsungbrowser\/([\w.]+)/i],[W,[V,`${dr} Internet`]],[/(comodo_dragon)\/([\w.]+)/i],[[V,/_/g,` `],W],[/metasr[/ ]?([\d.]+)/i],[W,[V,`Sogou Explorer`]],[/(sogou)mo\w+\/([\d.]+)/i],[[V,`Sogou Mobile`],W],[/(electron)\/([\w.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w.]+))/i,/m?(qqbrowser|2345Explorer)[/ ]?([\w.]+)/i],[V,W],[/(lbbrowser)/i,/\[(linkedin)app\]/i],[V],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w.]+);)/i],[[V,gr],W],[/(Klarna)\/([\w.]+)/i,/(kakao(?:talk|story))[/ ]([\w.]+)/i,/(naver)\(.*?(\d+\.[\w.]+).*\)/i,/safari (line)\/([\w.]+)/i,/\b(line)\/([\w.]+)\/iab/i,/(alipay)client\/([\w.]+)/i,/(twitter)(?:and| f.+e\/([\w.]+))/i,/(chromium|instagram|snapchat)[/ ]([-\w.]+)/i],[V,W],[/\bgsa\/([\w.]+) .*safari\//i],[W,[V,`GSA`]],[/musical_ly(?:.+app_?version\/|_)([\w.]+)/i],[W,[V,`TikTok`]],[/headlesschrome(?:\/([\w.]+)| )/i],[W,[V,`${nr} Headless`]],[/ wv\).+(chrome)\/([\w.]+)/i],[[V,`${nr} WebView`],W],[/droid.+ version\/([\w.]+)\b.+(?:mobile safari|safari)/i],[W,[V,`Android ${X}`]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w.]+)/i],[V,W],[/version\/([\w.,]+) .*mobile\/\w+ (safari)/i],[W,[V,`Mobile Safari`]],[/version\/([\w(.|,)]+) .*(mobile ?safari|safari)/i],[W,V],[/webkit.+?(mobile ?safari|safari)(\/[\w.]+)/i],[V,[W,Er,Dr]],[/(webkit|khtml)\/([\w.]+)/i],[V,W],[/(navigator|netscape\d?)\/([-\w.]+)/i],[[V,`Netscape`],W],[/mobile vr; rv:([\w.]+)\).+firefox/i],[W,[V,`${ir} Reality`]],[/ekiohf.+(flow)\/([\w.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[/ ]?([\w.+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w.]+)$/i,/(firefox)\/([\w.]+)/i,/(mozilla)\/([\w.]+) .+rv:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[. ]?browser)[-/ ]?v?([\w.]+)/i,/(links) \(([\w.]+)/i,/panasonic;(viera)/i],[V,W],[/(cobalt)\/([\w.]+)/i],[V,[W,/master.|lts./,``]]],cpu:[[/(amd|x(?:(?:86|64)[-_])?|wow|win)64[;)]/i],[[G,`amd64`]],[/(ia32(?=;))/i],[[G,xr]],[/((?:i[346]|x)86)[;)]/i],[[G,`ia32`]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[G,`arm64`]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[G,`armhf`]],[/windows (ce|mobile); ppc;/i],[[G,`arm`]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[G,/ower/,Kn,xr]],[/(sun4\w)[;)]/i],[[G,`sparc`]],[/(avr32|ia64(?=;)|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[G,xr]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[B,[U,dr],[H,q]],[/\b((?:s[cgp]h|gt|sm)-\w+|sc[g-]?\d+a?|galaxy nexus)/i,/samsung[- ]([-\w]+)/i,/sec-(sgh\w+)/i],[B,[U,dr],[H,K]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[B,[U,$n],[H,K]],[/\((ipad);[-\w),; ]+apple/i,/applecoremedia\/[\w.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[B,[U,$n],[H,q]],[/(macintosh);/i],[B,[U,$n]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[B,[U,fr],[H,K]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[B,[U,or],[H,q]],[/(?:huawei|honor)([-\w ]+)[;)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][0-359c][adn]?)\b(?!.+d\/s)/i],[B,[U,or],[H,K]],[/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?[\w ]+)(?: bui|\))/i,/oid[^)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?\d?\w?[_ ]?(?:plus|se|lite)?)(?: bui|\))/i],[[B,/_/g,` `],[U,mr],[H,K]],[/oid[^)]+; (2\d{4}(283|rpbf)[cgl])( bui|\))/i,/\b(mi[-_ ]?pad[\w ]+)(?: bui|\))/i],[[B,/_/g,` `],[U,mr],[H,q]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[B,[U,`OPPO`],[H,K]],[/\b(opd2\d{3}a?) bui/i],[B,[U,`OPPO`],[H,q]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[B,[U,`Vivo`],[H,K]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[B,[U,`Realme`],[H,K]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w() ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[B,[U,lr],[H,K]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[B,[U,lr],[H,q]],[/((?=lg)?[vl]k-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[B,[U,sr],[H,q]],[/(lm(?:-?f100[nv]?|-[\w.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?(\w+) bui/i],[B,[U,sr],[H,K]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab[\w ]+|yt[-\w]{6}|tb[-\w]{6})/i],[B,[U,`Lenovo`],[H,q]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w.]*)/i],[[B,/_/g,` `],[U,`Nokia`],[H,K]],[/(pixel c)\b/i],[B,[U,ar],[H,q]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[B,[U,ar],[H,K]],[/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]?\d\.))/i],[B,[U,pr],[H,K]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[B,`Xperia Tablet`],[U,pr],[H,q]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[B,[U,`OnePlus`],[H,K]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[B,[U,Qn],[H,q]],[/((?:sd|kf)[0349hijor-uw]+)( bui|\)).+silk\//i],[[B,/(.+)/g,`Fire Phone $1`],[U,Qn],[H,K]],[/(playbook);[-\w),; ]+(rim)/i],[B,U,[H,q]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[B,[U,tr],[H,K]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[B,[U,er],[H,q]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[B,[U,er],[H,K]],[/(nexus 9)/i],[B,[U,`HTC`],[H,q]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!;|\.)|sony(?!-bra))[-_ ]?([-\w]*)/i],[U,[B,/_/g,` `],[H,K]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[B,[U,`Acer`],[H,q]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[B,[U,`Meizu`],[H,K]],[/; ((?:power )?armor[\w ]{0,8})(?: bui|\))/i],[B,[U,`Ulefone`],[H,K]],[/(blackberry|benq|palm(?=-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron|infinix|tecno)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[U,B,[H,K]],[/(kobo)\s(ereader|touch)/i,/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[U,B,[H,q]],[/(surface duo)/i],[B,[U,cr],[H,q]],[/droid [\d.]+; (fp\du?)(?: b|\))/i],[B,[U,`Fairphone`],[H,K]],[/(u304aa)/i],[B,[U,`AT&T`],[H,K]],[/\bsie-(\w*)/i],[B,[U,`Siemens`],[H,K]],[/\b(rct\w+) b/i],[B,[U,`RCA`],[H,q]],[/\b(venue[\d ]{2,7}) b/i],[B,[U,`Dell`],[H,q]],[/\b(q(?:mv|ta)\w+) b/i],[B,[U,`Verizon`],[H,q]],[/\b(?:barnes[& ]+noble |bn[rt])([\w+ ]*) b/i],[B,[U,`Barnes & Noble`],[H,q]],[/\b(tm\d{3}\w+) b/i],[B,[U,`NuVision`],[H,q]],[/\b(k88) b/i],[B,[U,`ZTE`],[H,q]],[/\b(nx\d{3}j) b/i],[B,[U,`ZTE`],[H,K]],[/\b(gen\d{3}) b.+49h/i],[B,[U,`Swiss`],[H,K]],[/\b(zur\d{3}) b/i],[B,[U,`Swiss`],[H,q]],[/\b((zeki)?tb.*\b) b/i],[B,[U,`Zeki`],[H,q]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[U,`Dragon Touch`],B,[H,q]],[/\b(ns-?\w{0,9}) b/i],[B,[U,`Insignia`],[H,q]],[/\b((nxa|next)-?\w{0,9}) b/i],[B,[U,`NextBook`],[H,q]],[/\b(xtreme_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[U,`Voice`],B,[H,K]],[/\b(lvtel-)?(v1[12]) b/i],[[U,`LvTel`],B,[H,K]],[/\b(ph-1) /i],[B,[U,`Essential`],[H,K]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[B,[U,`Envizen`],[H,q]],[/\b(trio[-\w. ]+) b/i],[B,[U,`MachSpeed`],[H,q]],[/\btu_(1491) b/i],[B,[U,`Rotor`],[H,q]],[/(shield[\w ]+) b/i],[B,[U,`Nvidia`],[H,q]],[/(sprint) (\w+)/i],[U,B,[H,K]],[/(kin\.[onetw]{3})/i],[[B,/\./g,` `],[U,cr],[H,K]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[B,[U,hr],[H,q]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[B,[U,hr],[H,K]],[/smart-tv.+(samsung)/i],[U,[H,J]],[/hbbtv.+maple;(\d+)/i],[[B,/^/,`SmartTV`],[U,dr],[H,J]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[U,sr],[H,J]],[/(apple) ?tv/i],[U,[B,`${$n} TV`],[H,J]],[/crkey/i],[[B,`${nr}cast`],[U,ar],[H,J]],[/droid.+aft(\w+)( bui|\))/i],[B,[U,Qn],[H,J]],[/\(dtv[);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[B,[U,fr],[H,J]],[/(bravia[\w ]+)( bui|\))/i],[B,[U,pr],[H,J]],[/(mitv-\w{5}) bui/i],[B,[U,mr],[H,J]],[/Hbbtv.*(technisat) (.*);/i],[U,B,[H,J]],[/\b(roku)[\dx]*[)/]((?:dvp-)?[\d.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w+ ]*; *(\w[^;]*);([^;]*)/i],[[U,wr],[B,wr],[H,J]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[H,J]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[U,B,[H,Yn]],[/droid.+; (shield) bui/i],[B,[U,`Nvidia`],[H,Yn]],[/(playstation [345portablevi]+)/i],[B,[U,pr],[H,Yn]],[/\b(xbox(?: one)?(?!; xbox))[); ]/i],[B,[U,cr],[H,Yn]],[/((pebble))app/i],[U,B,[H,Y]],[/(watch)(?: ?os[,/]|\d,\d\/)[\d.]+/i],[B,[U,$n],[H,Y]],[/droid.+; (glass) \d/i],[B,[U,ar],[H,Y]],[/droid.+; (wt63?0{2,3})\)/i],[B,[U,hr],[H,Y]],[/(quest( \d| pro)?)/i],[B,[U,gr],[H,Y]],[/(tesla)(?: qtcarbrowser|\/[-\w.]+)/i],[U,[H,Xn]],[/(aeobc)\b/i],[B,[U,Qn],[H,Xn]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i],[B,[H,K]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[B,[H,q]],[/\b((tablet|tab)[;/]|focus\/\d(?!.+mobile))/i],[[H,q]],[/(phone|mobile(?:[;/]| [ \w/.]*safari)|pda(?=.+windows ce))/i],[[H,K]],[/(android[-\w. ]{0,9});.+buil/i],[B,[U,`Generic`]]],engine:[[/windows.+ edge\/([\w.]+)/i],[W,[V,`${rr}HTML`]],[/webkit\/537\.36.+chrome\/(?!27)([\w.]+)/i],[W,[V,`Blink`]],[/(presto)\/([\w.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w.]+)/i,/ekioh(flow)\/([\w.]+)/i,/(khtml|tasman|links)[/ ]\(?([\w.]+)/i,/(icab)[/ ]([23]\.[\d.]+)/i,/\b(libweb)/i],[V,W],[/rv:([\w.]{1,9})\b.+(gecko)/i],[W,V]],os:[[/microsoft (windows) (vista|xp)/i],[V,W],[/(windows (?:phone(?: os)?|mobile))[/ ]?([.\w ]*)/i],[V,[W,Er,Or]],[/windows nt 6\.2; (arm)/i,/windows[/ ]?([ntce\d. ]+\w)(?!.+xbox)/i,/(?:win(?=[39n])|win 9x )([nt\d.]+)/i],[[W,Er,Or],[V,`Windows`]],[/ip[honead]{2,4}\b(?:.*os (\w+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[/ ])([\d.]+)/i,/cfnetwork\/.+darwin/i],[[W,/_/g,`.`],[V,`iOS`]],[/(mac os x) ?([\w. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[V,vr],[W,/_/g,`.`]],[/droid ([\w.]+)\b.+(android[- ]x86|harmonyos)/i],[W,V],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-/ ]?([\w.]*)/i,/(blackberry)\w*\/([\w.]*)/i,/(tizen|kaios)[/ ]([\w.]+)/i,/\((series40);/i],[V,W],[/\(bb(10);/i],[W,[V,tr]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-/ ]?([\w.]*)/i],[W,[V,`Symbian`]],[/mozilla\/[\d.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w.]+)/i],[W,[V,`${ir} OS`]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w.]+)/i],[W,[V,`webOS`]],[/watch(?: ?os[,/]|\d,\d\/)([\d.]+)/i],[W,[V,`watchOS`]],[/crkey\/([\d.]+)/i],[W,[V,`${nr}cast`]],[/(cros) \w+(?:\)| ([\w.]+)\b)/i],[[V,_r],W],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w.]*)/i,/(mint)[/() ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-/ ]?(?!chrom|package)([-\w.]*)/i,/(hurd|linux) ?([\w.]*)/i,/(gnu) ?([\w.]*)/i,/\b([-e-hrntopcs]{0,5}bsd|dragonfly)[/ ]?(?!amd|[ix346]{1,2}86)([\w.]*)/i,/(haiku) (\w+)/i],[V,W],[/(sunos) ?([\w.]*)/i],[[V,`Solaris`],W],[/((?:open)?solaris)[-/ ]?([\w.]*)/i,/(aix) ((\d)(?=[.) ])[\w.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w.]*)/i],[V,W]]};function Ar(e){return typeof e==`object`&&!!e}Object.freeze(br([V,W,Jn])),Object.freeze(br([G])),Object.freeze(br([B,U,H,Yn,K,J,q,Y,Xn])),Object.freeze(br([V,W])),Object.freeze(br([V,W]));function jr(){if(!(typeof window>`u`||!window.navigator))return window.navigator}function Mr(e){return e.length>Zn?wr(e,Zn):e}function Nr(e){if(typeof e==`string`)return{ua:Mr(e),isSelfNavigator:!1,navigator:void 0,userAgentData:void 0,regexMap:kr};let t=jr(),n=Mr(t&&t.userAgent?t.userAgent:Kn);return{ua:n,isSelfNavigator:!!(t&&t.userAgent===n),navigator:t,userAgentData:t?.userAgentData,regexMap:kr}}function Pr(e,t){if(!t&&!Ar(e))return Nr(e);let n=jr(),r=Ar(e)?void 0:e,i=Ar(e)?e:t,a=Mr(r||(n&&n.userAgent?n.userAgent:Kn)),o=n?.userAgentData;return{ua:a,isSelfNavigator:!!(n&&n.userAgent===a),navigator:n,userAgentData:o,regexMap:i?yr(kr,i):kr}}function Fr(e){let t={name:void 0,version:void 0,major:void 0};return Tr(e.ua,e.regexMap.browser,t),t.major=Cr(t.version),e.isSelfNavigator&&e.navigator?.brave&&typeof e.navigator.brave.isBrave==`function`&&(t.name=`Brave`),t}function Ir(e){let t={architecture:void 0};return Tr(e.ua,e.regexMap.cpu,t),t}function Lr(e){let t={vendor:void 0,model:void 0,type:void 0};return Tr(e.ua,e.regexMap.device,t),e.isSelfNavigator&&!t.type&&e.userAgentData?.mobile&&(t.type=K),e.isSelfNavigator&&t.model===`Macintosh`&&e.navigator&&e.navigator.standalone!==void 0&&e.navigator.maxTouchPoints&&e.navigator.maxTouchPoints>2&&(t.model=`iPad`,t.type=q),t}function Rr(e){let t={name:void 0,version:void 0};return Tr(e.ua,e.regexMap.engine,t),t}function zr(e){let t={name:void 0,version:void 0};return Tr(e.ua,e.regexMap.os,t),e.isSelfNavigator&&!t.name&&e.userAgentData?.platform&&e.userAgentData.platform!==`Unknown`&&(t.name=e.userAgentData.platform.replace(/chrome os/i,_r).replace(/macos/i,vr)),t}function Br(e,t){let n,r,i,a,o,s,c=()=>n||=Pr(e,t);return{get ua(){return c().ua},get browser(){return r||=Fr(c()),r},get engine(){return i||=Rr(c()),i},get os(){return a||=zr(c()),a},get device(){return o||=Lr(c()),o},get cpu(){return s||=Ir(c()),s}}}function Vr(e,t,n){let r=n.protocol===`https:`?`wss:`:`ws:`,i=(()=>{try{return new URL(t,n.href)}catch{return new URL(n.href)}})();if(e&&typeof e==`object`){if(e.host!=null||e.port!=null){let t=e.host??`${n.hostname}:${e.port}`,i=new URL(e.path??`/`,`${r}//${t}`);return i.protocol=r,i.href}let t=new URL(e.path??``,i);return t.protocol=r,t.href}if(typeof e==`number`)return`${r}//${n.hostname}:${e}`;let a=e??``;if(/^wss?:\/\//i.test(a))return a;if(/^https?:\/\//i.test(a))return De(a,/^https/i.test(a)?`wss://`:`ws://`);let o=new URL(a,i);return o.protocol=r,o.href}function Hr(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:i,clientRpc:a,rpcOptions:o={},wsOptions:s={}}=e,c=!1,l=Gn(),u=Vr(n.websocket,r??`./`,location),d=new Map;for(let e of n.jsonSerializableMethods??[])d.set(e,{jsonSerializable:!0});let f=Vn(a.functions,{channel:Wn({url:u,authToken:t,definitions:d,...s}),rpcOptions:o});a.register({name:`devframe:auth:revoked`,type:`event`,handler:()=>{c=!1,i.emit(`rpc:is-trusted:updated`,!1)}});let p=t;function m(){let e=Br(navigator.userAgent);return[e.browser.name,e.browser.version,`|`,e.os.name,e.os.version,e.device.type].filter(e=>e).join(` `)}async function h(e){p=e;let t=await f.$call(`anonymous:devframe:auth`,{authToken:e,ua:m(),origin:location.origin});return c=t.isTrusted,c&&l.resolve(!0),i.emit(`rpc:is-trusted:updated`,c),t.isTrusted}async function g(e){let t=(await f.$call(`anonymous:devframe:auth:exchange`,{code:e,ua:m(),origin:location.origin}))?.authToken??null;return t&&(p=t,c=!0,l.resolve(!0),i.emit(`rpc:is-trusted:updated`,!0)),t}async function _(){return c?!0:h(p??``)}async function v(e=6e4){if(c&&l.resolve(!0),e<=0)return l.promise;let t=()=>{};return await Promise.race([l.promise.then(t),new Promise((n,r)=>{let i=setTimeout(()=>{r(Error(`[devframe] Timeout waiting for rpc to be trusted`))},e);t=()=>clearTimeout(i)})]),c}return{get isTrusted(){return c},requestTrust:_,requestTrustWithToken:h,requestTrustWithCode:g,ensureTrusted:v,call:(...e)=>f.$call(...e),callEvent:(...e)=>f.$callEvent(...e),callOptional:(...e)=>f.$callOptional(...e)}}function Ur(e){return e.includes(`:`)}function Z(e,t){return Ur(t)?t:`${e}:${t}`}function Wr(e,t,n){let r=`devframe:settings:${n}:${t}`,i;function a(){return i||=e.sharedState.get(r,{initialValue:{}}),i}return{async get(e){return(await a()).value()[e]},async set(e,t){(await a()).mutate(n=>{n[e]=t})},async delete(e){(await a()).mutate(t=>{delete t[e]})},async all(){return(await a()).value()},async onChange(e){return(await a()).on(`updated`,t=>e(t))}}}function Gr(e,t){return{global:Wr(e,t,`global`),project:Wr(e,t,`project`)}}function Kr(e,t){return{namespace:t,base:e,rpc:{namespace:t,register(n){if(Ur(n.name))throw Error(`[devframe] Scoped client RPC registration for namespace "${t}" received an already-namespaced function name "${n.name}". Pass a bare name without a ":" separator.`);e.client.register({...n,name:`${t}:${n.name}`})},call:((n,...r)=>e.call(Z(t,n),...r)),callEvent:((n,...r)=>e.callEvent(Z(t,n),...r)),callOptional:((n,...r)=>e.callOptional(Z(t,n),...r)),sharedState:((n,r)=>e.sharedState.get(Z(t,n),r)),streaming:{subscribe:(n,r,i)=>e.streaming.subscribe(Z(t,n),r,i),upload:(n,r)=>e.streaming.upload(Z(t,n),r)}},settings:Gr(e,t),scope:e.scope}}var qr=`__DEVFRAME_CONNECTION_META__`,Q=`__DEVFRAME_CONNECTION_AUTH_TOKEN__`;function Jr(e){let t=[()=>e,()=>localStorage.getItem(Q)??void 0,()=>window?.[Q],()=>globalThis?.[Q],()=>parent.window?.[Q]];for(let e of t)try{let t=e();if(t)return t}catch{}}function Yr(e){try{localStorage.setItem(Q,e)}catch{}globalThis[Q]=e}function Xr(){let e=[()=>window?.[qr],()=>globalThis?.[qr],()=>parent.window?.[qr]];for(let t of e)try{let e=t();if(e)return e}catch{}}async function Zr(t={}){let{baseURL:n=`./`,rpcOptions:r={},cacheOptions:i=!1}=t,a=pe(),o=Array.isArray(n)?n:[n],s=t.connectionMeta||Xr(),c=o[0]??`./`;function l(){let t=Ce(e,c);try{return new URL(t,globalThis.location?.href).href}catch{return t}}if(!s){let t=[];for(let n of o)try{s=await fetch(Ce(e,n)).then(e=>e.json()),c=n,globalThis[qr]=s;break}catch(e){t.push(e)}if(!s)throw Error(`Failed to get connection meta from ${o.join(`, `)}`,{cause:t})}let u=new ce({functions:[],...typeof t.cacheOptions==`object`?t.cacheOptions:{}}),d={rpc:void 0},f=Jr(t.authToken);f&&Yr(f);let p=new le(d);async function m(e){let t=[c,...o.filter(e=>e!==c)].filter(e=>e!=null),n=[];for(let r of t)try{return await fetch(Ce(e,r)).then(t=>{if(!t.ok)throw Error(`Failed to fetch ${e} from ${r}: ${t.status}`);return t.json()})}catch(e){n.push(e)}throw Error(`Failed to load ${e} from ${t.join(`, `)}`,{cause:n})}let h=s.backend===`static`?await bn({fetchJsonFromBases:m}):Hr({authToken:f,connectionMeta:s,metaBaseUrl:l(),events:a,clientRpc:p,rpcOptions:{...r,async onRequest(e,t,n){if(await r.onRequest?.call(this,e,t,n),i&&u?.validate(e.m)){if(u.has(e.m,e.a))return n(u.cached(e.m,e.a));let r=await t(e);u.apply(e,r)}else await t(e)}},wsOptions:t.wsOptions}),g;try{g=new BroadcastChannel(`devframe-auth`)}catch{}let _={events:a,get isTrusted(){return h.isTrusted},connectionMeta:s,ensureTrusted:h.ensureTrusted,requestTrust:h.requestTrust,requestTrustWithToken:async e=>(Yr(e),h.requestTrustWithToken(e)),requestTrustWithCode:async e=>{let t=await h.requestTrustWithCode(e);if(!t)return!1;Yr(t);try{g?.postMessage({type:`auth-update`,authToken:t})}catch{}return!0},call:h.call,callEvent:h.callEvent,callOptional:h.callOptional,client:p,sharedState:void 0,streaming:void 0,cacheManager:u,scope:void 0};_.sharedState=Jt(_),_.streaming=On(_);let v=new Map;_.scope=(e=>{if(!e)return _;let t=v.get(e);return t||(t=Kr(_,e),v.set(e,t)),t}),d.rpc=_,h.requestTrust();let y=t.otpParam??`devframe_otp`;return y&&je(_,{param:y}),g&&(g.onmessage=e=>{e.data?.type===`auth-update`&&e.data.authToken&&_.requestTrustWithToken(e.data.authToken)}),_}var Qr=Zr,$r=`devframes-plugin-code-server:state`;function ei(e){let t=e.ownerDocument?.defaultView;return t?.HTMLIFrameElement?e instanceof t.HTMLIFrameElement:typeof HTMLIFrameElement<`u`?e instanceof HTMLIFrameElement:`src`in e}function ti(e={}){let t=new Map,n=new Map,r=e.maxPanes??1/0,i,a,o=0,s,c=!1,l=0;function u(){let t=e.document??globalThis.document;if(!t)throw Error("[iframe-pane] No document available. Provide `options.document` or run in a DOM environment.");return t}function d(){return u().defaultView}function f(){if(e.container){let t=e.container,n=t.ownerDocument.defaultView?.getComputedStyle(t).position;return(!n||n===`static`)&&(t.style.position=`relative`),t}if(!i){let t=u();i=t.createElement(`div`),i.setAttribute(`data-iframe-panes`,``),Object.assign(i.style,{position:`fixed`,inset:`0`,pointerEvents:`none`}),e.zIndex!=null&&(i.style.zIndex=String(e.zIndex)),t.body.appendChild(i)}return i}function p(){return!a&&typeof ResizeObserver<`u`&&(a=new ResizeObserver(e=>{for(let t of e)n.get(t.target)?.forEach(e=>e.update())})),a}function m(){if(s!=null)return;let e=d();if(!e){h();return}s=e.requestAnimationFrame(()=>{s=void 0,h()})}function h(){for(let e of n.values())for(let t of e)t.update()}let g=()=>m();function _(){let e=d();e&&(n.size>0?(e.addEventListener(`scroll`,g,{capture:!0,passive:!0}),e.addEventListener(`resize`,g,{passive:!0})):(e.removeEventListener(`scroll`,g,{capture:!0}),e.removeEventListener(`resize`,g),s!=null&&(e.cancelAnimationFrame(s),s=void 0)))}function v(e,t){let r=n.get(t);r||(r=new Set,n.set(t,r),p()?.observe(t)),r.add(e),_()}function y(e,t){let r=n.get(t);r&&(r.delete(e),r.size===0&&(n.delete(t),a?.unobserve(t)),_())}function b(e){e.element.style.pointerEvents=o>0?`none`:e.stateStyle.pointerEvents}function ee(e){if(t.size<=r)return;let n=[...t.values()].filter(t=>!t.isMounted&&t!==e).sort((e,t)=>e.lastActiveAt-t.lastActiveAt);for(let e of n){if(t.size<=r)break;e.dispose()}}class te{id;element;styleDefault;styleActive;styleHidden;stateKeys;target=null;isVisible=!1;isDisposed=!1;lastActiveAt=0;constructor(t,n){this.id=t,this.styleDefault={...e.styleDefault,...n.style},this.styleActive={opacity:`1`,pointerEvents:`auto`,...e.styleActive,...n.styleActive},this.styleHidden={opacity:`0.001`,pointerEvents:`none`,...e.styleHidden,...n.styleHidden},this.stateKeys=[...new Set([...Object.keys(this.styleActive),...Object.keys(this.styleHidden)])];let r=u(),i=this.element=n.element??r.createElement(n.tagName??`iframe`);if(i.setAttribute(`data-iframe-pane`,t),Object.assign(i.style,{display:`block`,position:`absolute`,left:`0px`,top:`0px`,border:`0`},this.styleDefault),n.attrs)for(let[e,t]of Object.entries(n.attrs))i.setAttribute(e,t);this.applyState(),n.onCreated?.(i),n.src!=null&&ei(i)&&(i.src=n.src),f().appendChild(i)}get iframe(){return ei(this.element)?this.element:void 0}get isMounted(){return this.target!=null}get stateStyle(){return this.isVisible?this.styleActive:this.styleHidden}applyState(){let e=this.stateStyle,t={};for(let n of this.stateKeys)n in e||(t[n]=this.styleDefault[n]??``);Object.assign(this.element.style,t,e),o>0&&(this.element.style.pointerEvents=`none`)}touch(){this.lastActiveAt=++l}mount(e){this.assertNotDisposed(),this.target!==e&&(this.target&&y(this,this.target),this.target=e,v(this,e)),this.show()}unmount(){this.target&&=(y(this,this.target),null),this.hide()}show(){this.assertNotDisposed(),this.touch(),this.isVisible=!0,this.applyState(),this.update()}hide(){this.isDisposed||(this.isVisible=!1,this.applyState())}update(){if(this.isDisposed||!this.target||!this.isVisible)return;let e=this.target.getBoundingClientRect(),t=f().getBoundingClientRect();Object.assign(this.element.style,{left:`${e.left-t.left}px`,top:`${e.top-t.top}px`,width:`${e.width}px`,height:`${e.height}px`})}dispose(){this.isDisposed||(this.unmount(),this.isDisposed=!0,this.element.remove(),t.delete(this.id),e.onPaneDisposed?.(this))}assertNotDisposed(){if(this.isDisposed)throw Error(`[iframe-pane] Pane "${this.id}" has been disposed`)}}return{list(){return[...t.values()]},get(e){return t.get(e)},has(e){return t.has(e)},ensure:((n,r={})=>{if(c)throw Error(`[iframe-pane] Manager has been disposed`);let i=t.get(n);return i?i.touch():(i=new te(n,r),i.touch(),t.set(n,i),e.onPaneCreated?.(i),ee(i)),i}),get maxPanes(){return r},set maxPanes(e){r=e,ee()},get isPointerLocked(){return o>0},lockPointerEvents(){o++,t.forEach(b);let e=!1;return()=>{e||(e=!0,o--,t.forEach(b))}},updateAll:h,get container(){return e.container??i},get isDisposed(){return c},dispose(){if(!c){c=!0;for(let e of[...t.values()])e.dispose();a?.disconnect(),a=void 0,_(),i?.remove(),i=void 0}}}}function ni(...e){return e.filter(Boolean).join(` `)}function ri({variant:e=`primary`,size:t=`md`,class:n}={}){let r={primary:`btn-primary`,secondary:`btn-action`,outline:`btn-action`,ghost:`inline-flex items-center justify-center gap-1.5 rounded px2 py1 op75 hover:op100 hover:bg-active transition disabled:pointer-events-none disabled:op30!`,destructive:`btn-action text-error border-error/30!`,link:`inline-flex items-center gap-1.5 color-active hover:underline underline-offset-2`},i=t===`sm`?e===`primary`?`text-sm px-2.5! py-1!`:`text-sm`:t===`lg`?`text-base px-4! py-2!`:``;return ni(r[e],i,n)}function ii(e){return ni(`color-active hover:underline underline-offset-2`,e)}function ai(e){return ni(`inline-block size-4 rounded-full border-2 border-current border-t-transparent animate-spin`,e)}var oi=`https://coder.com/docs/code-server/latest/install`,si=`https://github.com/coder/code-server`,ci=ti(),li=0,ui=[{label:`Install script (Linux / macOS)`,command:`curl -fsSL https://code-server.dev/install.sh | sh`},{label:`npm`,command:`npm install -g code-server`},{label:`Homebrew`,command:`brew install code-server`}];function di(e){let{detection:t,server:n,auth:r,busy:i}=e;return n.status===`running`&&n.port!=null?r?`running`:`starting`:n.status===`starting`||i&&n.status!==`error`?`starting`:t.checked?t.installed?`launch`:`not-installed`:`connecting`}function $(e,t,n){let r=document.createElement(e);return t&&(r.className=t),n!=null&&(r.textContent=n),r}function fi(e,t=``){return $(`span`,ni(e,`shrink-0`,t))}function pi(){let e=$(`p`,`flex items-center gap-1.5 mb-2.5 text-xs tracking-wider uppercase color-muted`);return e.append(fi(`i-ph-code-duotone`,`text-sm`),document.createTextNode(`code-server`)),e}function mi(e){return`${location.protocol}//${location.hostname}:${e}/`}function hi(e){document.cookie=`${e.cookieName}=${e.cookieValue}; path=/; SameSite=Lax`}function gi(e,t={}){let n=t.resolveEditorUrl??mi,r=t.applyAuth??hi,i=()=>t.actions?.launch?.(),a=()=>t.actions?.recheck?.(),o=$(`div`,`absolute inset-0 flex flex-col of-hidden bg-base color-base font-sans`);e.append(o);let s=`code-server-editor-${++li}`,c=$(`div`,`dcs-frame flex-1 w-full`),l=null;function u(...e){ci.get(s)?.unmount(),l=null;let t=$(`div`,`flex-1 flex items-center justify-center p-6`),n=$(`div`,`w-full max-w-[560px]`);n.append(...e),t.append(n),o.replaceChildren(t)}function d(){let e=$(`div`,`flex items-center gap-2.5`);e.append($(`div`,ai(`color-muted`)),$(`span`,`text-sm color-muted`,`Connecting to devframe…`)),u(e)}function f(e){let t=[];t.push(pi()),t.push($(`h1`,`mb-2 text-[1.35rem] font-semibold`,`code-server is not installed`)),t.push($(`p`,`mb-5 text-sm leading-relaxed color-muted`,`Install code-server (VS Code in the browser) to open the editor here. Pick whichever fits your setup, then re-check.`));let n=$(`div`,`flex flex-col gap-3 mb-5`);for(let{label:e,command:t}of ui){let r=$(`div`);r.append($(`label`,`block mb-1 text-xs color-muted`,e));let i=$(`div`,`flex items-center gap-2 px-2.5 py-2 rounded-md border border-base bg-secondary`);i.append($(`code`,`flex-1 of-x-auto whitespace-nowrap font-mono text-xs color-base`,t));let a=$(`button`,ri({variant:`outline`,size:`sm`,class:`shrink-0 text-[11px]`}),`Copy`);a.onclick=()=>{navigator.clipboard?.writeText(t).then(()=>{a.textContent=`Copied`,setTimeout(()=>{a.textContent=`Copy`},1200)}).catch(()=>{})},i.append(a),r.append(i),n.append(r)}t.push(n);let r=$(`div`,`flex flex-wrap items-center gap-2.5`),i=$(`button`,ri({variant:`primary`}));i.append(fi(`i-ph-arrows-clockwise`,ni(`size-4`,e&&`animate-spin`)),document.createTextNode(e?`Checking…`:`Re-check`)),i.disabled=e,i.onclick=a,r.append(i),r.append(g(`Installation docs`,oi)),r.append(g(`GitHub`,si)),t.push(r),u(...t)}function p(e){let{detection:t,server:n,busy:r}=e,a=[];a.push(pi()),a.push($(`h1`,`mb-2 text-[1.35rem] font-semibold`,`Launch the editor`)),a.push($(`p`,`mb-5 text-sm leading-relaxed color-muted`,`Start a code-server instance scoped to this workspace and open VS Code right here. The server runs with a generated password and the editor is signed in automatically.`)),n.status===`error`&&n.error&&a.push($(`div`,`mb-4 px-3 py-2.5 rounded-md border border-error/35 bg-error/10 text-error text-sm whitespace-pre-wrap break-words`,n.error));let o=$(`div`,`flex flex-wrap gap-x-4 gap-y-1.5 mb-5 text-xs color-muted`);if(t.version){let e=$(`span`);e.append(document.createTextNode(`version `),$(`code`,`font-mono color-base`,t.version)),o.append(e)}let s=$(`span`);s.append(document.createTextNode(`binary `),$(`code`,`font-mono color-base`,t.bin)),o.append(s),a.push(o);let c=$(`div`,`flex flex-wrap items-center gap-2.5`),l=$(`button`,ri({variant:`primary`}));r?l.append($(`span`,ai()),document.createTextNode(`Starting…`)):l.append(fi(`i-ph-rocket-launch-duotone`,`size-4`),document.createTextNode(`Launch code-server`)),l.disabled=r??!1,l.onclick=i,c.append(l),a.push(c),u(...a)}function m(){let e=$(`div`,`flex items-center gap-2.5`);e.append($(`div`,ai(`color-muted`)),$(`span`,`text-sm color-muted`,`Starting code-server…`)),u(e)}function h(e){let t=n(e.server.port);l!==t&&(e.auth&&r(e.auth),l=t);let i=ci.ensure(s,{src:t,attrs:{allow:`clipboard-read; clipboard-write; cross-origin-isolated`},style:{border:`0`}});i.iframe.src!==t&&(i.iframe.src=t),o.firstElementChild!==c&&o.replaceChildren(c),i.mount(c)}function g(e,t){let n=$(`a`,ii(`inline-flex items-center gap-1 text-sm`));return n.append(document.createTextNode(e),fi(`i-ph-arrow-square-out`,`size-3.5`)),n.href=t,n.target=`_blank`,n.rel=`noreferrer`,n}function _(e){switch(di(e)){case`running`:h(e);break;case`starting`:m();break;case`connecting`:d();break;case`not-installed`:f(e.busy??!1);break;case`launch`:p(e);break}}return{update:_,dispose(){ci.get(s)?.dispose(),o.remove()}}}async function _i(e,t={}){let n=t.rpc??await Qr();n.connectionMeta.backend===`websocket`&&await n.ensureTrusted(5e3).catch(()=>{});let r={checked:!1,installed:!1,bin:`code-server`},i={status:`stopped`},a,o=!1,s=!1,c=gi(e,{actions:{launch:f,recheck:m}});function l(){s||c.update({detection:r,server:i,auth:a,busy:o})}function u(e){r=e.detection,i=e.server,e.auth&&(a=e.auth)}async function d(e,...t){try{return await n.call(e,...t)}catch(e){i={status:`error`,error:e instanceof Error?e.message:String(e)};return}}async function f(){if(o)return;o=!0,l();let e=await d(`devframes-plugin-code-server:start`,{});e&&u(e),o=!1,l()}async function p(){if(o)return;o=!0,l();let e=await d(`devframes-plugin-code-server:stop`);e&&u(e),a=void 0,o=!1,l()}async function m(){o||(o=!0,l(),await d(`devframes-plugin-code-server:detect`),o=!1,l())}l();let h=await d(`devframes-plugin-code-server:status`);h&&u(h),l();let g=await n.sharedState.get($r,{initialValue:{detection:r,server:i}}),_=g.value();r=_.detection??r,i=_.server??i;let v=g.on(`updated`,e=>{if(r=e.detection??r,i=e.server??i,i.status===`running`&&!a){d(`devframes-plugin-code-server:status`).then(e=>{e?.auth&&(a=e.auth),l()});return}l()});return l(),{rpc:n,stop:p,dispose(){s=!0,v?.(),c.dispose()}}}var vi=document.getElementById(`app`);if(!vi)throw Error(`#app mount node missing from index.html`);_i(vi).catch(e=>{vi.textContent=`Failed to connect: ${e instanceof Error?e.message:String(e)}`});
@@ -5,8 +5,8 @@
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
6
  <base href="./" />
7
7
  <title>Code Server</title>
8
- <script type="module" crossorigin src="./assets/index-D5nEkfpr.js"></script>
9
- <link rel="stylesheet" crossorigin href="./assets/index-DzYBAZJX.css">
8
+ <script type="module" crossorigin src="./assets/index-YehLpv48.js"></script>
9
+ <link rel="stylesheet" crossorigin href="./assets/index-BTp0l7z2.css">
10
10
  </head>
11
11
  <body>
12
12
  <div id="app"></div>
@@ -4,7 +4,7 @@ import { fileURLToPath } from "node:url";
4
4
  import { defineDevframe } from "devframe/types";
5
5
  //#region package.json
6
6
  var name = "@devframes/plugin-code-server";
7
- var version = "0.6.0-beta.1";
7
+ var version = "0.6.0-beta.3";
8
8
  var description = "Run code-server (VS Code in the browser) as a devframe panel — detect a local install, launch it on demand, and embed the editor in an auto-authenticated iframe.";
9
9
  var homepage = "https://github.com/devframes/devframe#readme";
10
10
  //#endregion
package/dist/vite.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { n as createCodeServerDevframe } from "./src-B3tPd2XW.mjs";
1
+ import { n as createCodeServerDevframe } from "./src-DDoAZobv.mjs";
2
2
  import { viteDevBridge } from "devframe/helpers/vite";
3
3
  //#region src/vite.ts
4
4
  /**
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@devframes/plugin-code-server",
3
3
  "type": "module",
4
- "version": "0.6.0-beta.1",
4
+ "version": "0.6.0-beta.3",
5
5
  "description": "Run code-server (VS Code in the browser) as a devframe panel — detect a local install, launch it on demand, and embed the editor in an auto-authenticated iframe.",
6
6
  "author": "Anthony Fu <anthonyfu117@hotmail.com>",
7
7
  "license": "MIT",
@@ -41,7 +41,7 @@
41
41
  ],
42
42
  "peerDependencies": {
43
43
  "vite": "^8.0.0",
44
- "devframe": "0.6.0-beta.1"
44
+ "devframe": "0.6.0-beta.3"
45
45
  },
46
46
  "peerDependenciesMeta": {
47
47
  "vite": {
@@ -55,18 +55,18 @@
55
55
  },
56
56
  "devDependencies": {
57
57
  "@antfu/design": "^0.2.1",
58
- "@iconify-json/ph": "^1.2.0",
58
+ "@iconify-json/ph": "^1.2.2",
59
59
  "@storybook/html-vite": "^10.4.6",
60
- "@types/node": "^25.9.1",
61
- "colorjs.io": "^0.6.0",
60
+ "@types/node": "^26.1.0",
61
+ "colorjs.io": "^0.6.1",
62
62
  "h3": "2.0.1-rc.22",
63
63
  "storybook": "^10.4.6",
64
- "tsdown": "^0.22.0",
65
- "unocss": "^66.0.0",
66
- "vite": "^8.0.14",
67
- "vitest": "^4.1.7",
64
+ "tsdown": "^0.22.3",
65
+ "unocss": "^66.7.5",
66
+ "vite": "^8.1.3",
67
+ "vitest": "^4.1.10",
68
68
  "ws": "^8.21.0",
69
- "devframe": "0.6.0-beta.1"
69
+ "devframe": "0.6.0-beta.3"
70
70
  },
71
71
  "scripts": {
72
72
  "build": "tsdown && vite build --config src/spa/vite.config.ts",
@@ -1,2 +0,0 @@
1
- (function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var e=`__connection.json`,t=`__rpc-dump/index.json`,n=`devframe_otp`;function r(e){return typeof e==`string`?`'${e}'`:new i().serialize(e)}var i=function(){class e{#e=new Map;compare(e,t){let n=typeof e,r=typeof t;return n===`string`&&r===`string`?e.localeCompare(t):n===`number`&&r===`number`?e-t:String.prototype.localeCompare.call(this.serialize(e,!0),this.serialize(t,!0))}serialize(e,t){if(e===null)return`null`;switch(typeof e){case`string`:return t?e:`'${e}'`;case`bigint`:return`${e}n`;case`object`:return this.$object(e);case`function`:return this.$function(e)}return String(e)}serializeObject(e){let t=Object.prototype.toString.call(e);if(t!==`[object Object]`)return this.serializeBuiltInType(t.length<10?`unknown:${t}`:t.slice(8,-1),e);let n=e.constructor,r=n===Object||n===void 0?``:n.name;if(r!==``&&globalThis[r]===n)return this.serializeBuiltInType(r,e);if(typeof e.toJSON==`function`){let t=e.toJSON();return r+(typeof t==`object`&&t?this.$object(t):`(${this.serialize(t)})`)}return this.serializeObjectEntries(r,Object.entries(e))}serializeBuiltInType(e,t){let n=this[`$`+e];if(n)return n.call(this,t);if(typeof t?.entries==`function`)return this.serializeObjectEntries(e,t.entries());throw Error(`Cannot serialize ${e}`)}serializeObjectEntries(e,t){let n=Array.from(t).sort((e,t)=>this.compare(e[0],t[0])),r=`${e}{`;for(let e=0;e<n.length;e++){let[t,i]=n[e];r+=`${this.serialize(t,!0)}:${this.serialize(i)}`,e<n.length-1&&(r+=`,`)}return r+`}`}$object(e){let t=this.#e.get(e);return t===void 0&&(this.#e.set(e,`#${this.#e.size}`),t=this.serializeObject(e),this.#e.set(e,t)),t}$function(e){let t=Function.prototype.toString.call(e);return t.slice(-15)===`[native code] }`?`${e.name||``}()[native]`:`${e.name}(${e.length})${t.replace(/\s*\n\s*/g,``)}`}$Array(e){let t=`[`;for(let n=0;n<e.length;n++)t+=this.serialize(e[n]),n<e.length-1&&(t+=`,`);return t+`]`}$Date(e){try{return`Date(${e.toISOString()})`}catch{return`Date(null)`}}$ArrayBuffer(e){return`ArrayBuffer[${new Uint8Array(e).join(`,`)}]`}$Set(e){return`Set${this.$Array(Array.from(e).sort((e,t)=>this.compare(e,t)))}`}$Map(e){return this.serializeObjectEntries(`Map`,e.entries())}}for(let t of[`Error`,`RegExp`,`URL`])e.prototype[`$`+t]=function(e){return`${t}(${e})`};for(let t of[`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float32Array`,`Float64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`,`)}]`};for(let t of[`BigInt64Array`,`BigUint64Array`])e.prototype[`$`+t]=function(e){return`${t}[${e.join(`n,`)}${e.length>0?`n`:``}]`};return e}(),a=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],o=[1116352408,1899447441,-1245643825,-373957723,961987163,1508970993,-1841331548,-1424204075,-670586216,310598401,607225278,1426881987,1925078388,-2132889090,-1680079193,-1046744716,-459576895,-272742522,264347078,604807628,770255983,1249150122,1555081692,1996064986,-1740746414,-1473132947,-1341970488,-1084653625,-958395405,-710438585,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,-2117940946,-1838011259,-1564481375,-1474664885,-1035236496,-949202525,-778901479,-694614492,-200395387,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,-2067236844,-1933114872,-1866530822,-1538233109,-1090935817,-965641998],s=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`,c=[],l=class{_data=new u;_hash=new u([...a]);_nDataBytes=0;_minBufferSize=0;finalize(e){e&&this._append(e);let t=this._nDataBytes*8,n=this._data.sigBytes*8;return this._data.words[n>>>5]|=128<<24-n%32,this._data.words[(n+64>>>9<<4)+14]=Math.floor(t/4294967296),this._data.words[(n+64>>>9<<4)+15]=t,this._data.sigBytes=this._data.words.length*4,this._process(),this._hash}_doProcessBlock(e,t){let n=this._hash.words,r=n[0],i=n[1],a=n[2],s=n[3],l=n[4],u=n[5],d=n[6],f=n[7];for(let n=0;n<64;n++){if(n<16)c[n]=e[t+n]|0;else{let e=c[n-15],t=(e<<25|e>>>7)^(e<<14|e>>>18)^e>>>3,r=c[n-2],i=(r<<15|r>>>17)^(r<<13|r>>>19)^r>>>10;c[n]=t+c[n-7]+i+c[n-16]}let p=l&u^~l&d,m=r&i^r&a^i&a,h=(r<<30|r>>>2)^(r<<19|r>>>13)^(r<<10|r>>>22),g=(l<<26|l>>>6)^(l<<21|l>>>11)^(l<<7|l>>>25),_=f+g+p+o[n]+c[n],v=h+m;f=d,d=u,u=l,l=s+_|0,s=a,a=i,i=r,r=_+v|0}n[0]=n[0]+r|0,n[1]=n[1]+i|0,n[2]=n[2]+a|0,n[3]=n[3]+s|0,n[4]=n[4]+l|0,n[5]=n[5]+u|0,n[6]=n[6]+d|0,n[7]=n[7]+f|0}_append(e){typeof e==`string`&&(e=u.fromUtf8(e)),this._data.concat(e),this._nDataBytes+=e.sigBytes}_process(e){let t,n=this._data.sigBytes/64;n=e?Math.ceil(n):Math.max((n|0)-this._minBufferSize,0);let r=n*16,i=Math.min(r*4,this._data.sigBytes);if(r){for(let e=0;e<r;e+=16)this._doProcessBlock(this._data.words,e);t=this._data.words.splice(0,r),this._data.sigBytes-=i}return new u(t,i)}},u=class e{words;sigBytes;constructor(e,t){e=this.words=e||[],this.sigBytes=t===void 0?e.length*4:t}static fromUtf8(t){let n=unescape(encodeURIComponent(t)),r=n.length,i=[];for(let e=0;e<r;e++)i[e>>>2]|=(n.charCodeAt(e)&255)<<24-e%4*8;return new e(i,r)}toBase64(){let e=[];for(let t=0;t<this.sigBytes;t+=3){let n=this.words[t>>>2]>>>24-t%4*8&255,r=this.words[t+1>>>2]>>>24-(t+1)%4*8&255,i=this.words[t+2>>>2]>>>24-(t+2)%4*8&255,a=n<<16|r<<8|i;for(let n=0;n<4&&t*8+n*6<this.sigBytes*8;n++)e.push(s.charAt(a>>>6*(3-n)&63))}return e.join(``)}concat(e){if(this.words[this.sigBytes>>>2]&=4294967295<<32-this.sigBytes%4*8,this.words.length=Math.ceil(this.sigBytes/4),this.sigBytes%4)for(let t=0;t<e.sigBytes;t++){let n=e.words[t>>>2]>>>24-t%4*8&255;this.words[this.sigBytes+t>>>2]|=n<<24-(this.sigBytes+t)%4*8}else for(let t=0;t<e.sigBytes;t+=4)this.words[this.sigBytes+t>>>2]=e.words[t>>>2];this.sigBytes+=e.sigBytes}};function d(e){return new l().finalize(e).toBase64()}function f(e){return d(r(e))}function p(e){return f(e)}function m(e,...t){return typeof e==`function`?e(...t):e}var h=Error.captureStackTrace,g=class e extends Error{name=`Diagnostic`;docs;fix;sources;get why(){return this.message}constructor(t,n=e){super(t.why,{cause:t.cause}),this.fix=t.fix,this.docs=t.docs,this.sources=t.sources,h?.(this,n)}toJSON(){return{name:this.name,why:this.why,fix:this.fix,docs:this.docs,sources:this.sources,cause:this.cause,stack:this.stack}}};function _(e,t){return typeof e==`string`?`${e}/${t.toLowerCase()}`:e?.(t)}function v(e){let t=e.reporters??[],n={},{docsBase:r}=e;for(let i of Object.keys(e.codes)){let a=e.codes[i],o=a.docs===!1?void 0:a.docs||_(r,i),s=(e={},n={})=>{let r=new g({why:m(a.why,e),fix:m(a.fix,e),docs:o,cause:e.cause,sources:e.sources},s);r.name=i;for(let e of t)e(r,n);return r};n[i]=s}return n}function y(e,t){let n=`\x1B[${e}m`,r=`\x1B[${t}m`;return((e,...t)=>{if(Array.isArray(e)&&`raw`in e){let i=e,a=``;for(let e=0;e<i.length;e++)a+=i[e],e<t.length&&(a+=String(t[e]));return`${n}${a}${r}`}return`${n}${String(e)}${r}`})}var ee={blue:y(34,39),cyan:y(36,39),gray:y(90,39),green:y(32,39),red:y(31,39),yellow:y(33,39),bold:y(1,22),dim:y(2,22),reset:y(0,0),underline:y(4,24)};function te(e){return t=>{let n=`${e.bold(e.red(`[${t.name}]`))} ${t.message}`,r=[];return t.fix&&r.push(`${e.dim(`fix:`)} ${t.fix}`),t.sources?.length&&r.push(`${e.dim(`sources:`)} ${t.sources.join(`, `)}`),t.docs&&r.push(`${e.dim(`see:`)} ${e.cyan(t.docs)}`),r.length===0?n:[n,...r.map((t,n)=>`${e.dim(n<r.length-1?`├▶`:`╰▶`)} ${t}`)].join(`
2
- `)}}var ne=te(ee);function re(e,{method:t=`warn`}={}){console[t](ne(e))}var b=v({docsBase:`https://devfra.me/errors`,reporters:[re],codes:{DF0019:{why:e=>`RPC function "${e.name}" has \`agent\` set but \`jsonSerializable\` is not \`true\` — MCP requires JSON-serializable data.`,fix:"Set `jsonSerializable: true` if the payload is JSON-safe, or remove `agent` to keep it RPC-only."},DF0020:{why:e=>`RPC function "${e.name}" declares \`jsonSerializable: true\` but the value at "${e.path}" is a ${e.type}.`,fix:"Either drop `jsonSerializable: true` (falls back to structured-clone) or change the value to a JSON-safe shape."},DF0021:{why:e=>`RPC function "${e.name}" is already registered`,fix:"Use the `force` parameter to overwrite an existing registration."},DF0022:{why:e=>`RPC function "${e.name}" is not registered. Use register() to add new functions.`},DF0023:{why:e=>`RPC function "${e.name}" is not registered`},DF0024:{why:e=>`Either handler or setup function must be provided for RPC function "${e.name}"`},DF0025:{why:e=>`Function "${e.name}" not found in dump store`},DF0026:{why:e=>`No dump match for "${e.name}" with args: ${e.args}`},DF0027:{why:e=>`Function "${e.name}" with type "${e.type}" cannot have dump configuration. Only "static" and "query" types support dumps.`},DF0028:{why:e=>`Function "${e.name}" with type "${e.type}" cannot use \`snapshot: true\`. Only "query" functions support this sugar; "static" functions have equivalent default behavior already.`,fix:"Remove `snapshot: true`, or change the function type to `query`."}}});function ie(e){let t=e.cause instanceof Error?e.cause:ae(e.cause)?ie(e.cause):e.cause,n=t===void 0?Error(e.message):Error(e.message,{cause:t});n.name=e.name;for(let t of Object.keys(e))t===`name`||t===`message`||t===`cause`||(n[t]=e[t]);return n}function ae(e){return typeof e==`object`&&!!e&&typeof e.message==`string`&&typeof e.name==`string`}async function oe(e,t){if(!e.setup)return{};if(typeof t==`object`&&t){e.__cache??=new WeakMap;let n=e.__cache.get(t);return n||(n=Promise.resolve(e.setup(t)),e.__cache.set(t,n)),await n}return e.__promise??=Promise.resolve(e.setup(t)),await e.__promise}async function se(e,t){if(e.handler)return e.handler;let n=await oe(e,t);if(!n.handler)throw b.DF0024({name:e.name});return n.handler}var ce=class{cacheMap=new Map;options;keySerializer;constructor(e){this.options=e,this.keySerializer=e.keySerializer||(e=>p(e))}updateOptions(e){this.options={...this.options,...e}}cached(e,t){let n=this.cacheMap.get(e);if(n)return n.get(this.keySerializer(t))}apply(e,t){let n=this.cacheMap.get(e.m)||new Map;n.set(this.keySerializer(e.a),t),this.cacheMap.set(e.m,n)}validate(e){return this.options.functions.includes(e)}clear(e){e?this.cacheMap.delete(e):this.cacheMap.clear()}},le=class{context;definitions=new Map;functions;_onChanged=[];constructor(e){this.context=e;let t=this.definitions,n=this;this.functions=new Proxy({},{get(e,r){let i=t.get(r);if(i)return se(i,n.context)},has(e,n){return t.has(n)},getOwnPropertyDescriptor(e,n){return{value:t.get(n)?.handler,configurable:!0,enumerable:!0}},ownKeys(){return Array.from(t.keys())}})}register(e,t=!1){if(this.definitions.has(e.name)&&!t)throw b.DF0021({name:e.name});ue(e),this.definitions.set(e.name,e),this._onChanged.forEach(t=>t(e.name))}update(e,t=!1){if(!this.definitions.has(e.name)&&!t)throw b.DF0022({name:e.name});ue(e),this.definitions.set(e.name,e),this._onChanged.forEach(t=>t(e.name))}onChanged(e){return this._onChanged.push(e),()=>{let t=this._onChanged.indexOf(e);t!==-1&&this._onChanged.splice(t,1)}}async getHandler(e){return await se(this.definitions.get(e),this.context)}getSchema(e){let t=this.definitions.get(e);if(!t)throw b.DF0023({name:String(e)});return{args:t.args,returns:t.returns}}has(e){return this.definitions.has(e)}get(e){return this.definitions.get(e)}list(){return Array.from(this.definitions.keys())}};function ue(e){if(e.agent&&e.jsonSerializable!==!0)throw b.DF0019({name:e.name})}function de(e,t=``){return JSON.stringify(e,function(e,n){let r=this,i=r==null?n:r[e];if(i===void 0){if(Array.isArray(r))throw x(t,`undefined`,r,e);return n}if(i===null)return n;if(typeof i==`bigint`)throw x(t,`BigInt`,r,e);if(typeof i==`object`){if(i instanceof Map)throw x(t,`Map`,r,e);if(i instanceof Set)throw x(t,`Set`,r,e);if(i instanceof Date)throw x(t,`Date`,r,e);if(Array.isArray(i))return n;let a=Object.getPrototypeOf(i);if(a!==null&&a!==Object.prototype)throw x(t,i.constructor?.name??`class instance`,r,e)}return n})}function x(e,t,n,r){let i=fe(n,r);return b.DF0020({name:e||`<anonymous>`,type:t,path:i})}function fe(e,t){return Array.isArray(e)?`[${t}]`:t===``?`<root>`:t}function pe(){let e={};function t(t,...n){let r=e[t]||[];for(let e=0,t=r.length;e<t;e++){let t=r[e];t&&t(...n)}}function n(n,...r){t(n,...r),delete e[n]}function r(t,n){return(e[t]||=[]).push(n),()=>{e[t]=e[t]?.filter(e=>n!==e)}}function i(e,t){let n=r(e,((...e)=>(n(),t(...e))));return n}return{_listeners:e,emit:t,emitOnce:n,on:r,once:i}}String.fromCharCode;var me=/^[\s\w\0+.-]{2,}:([/\\]{1,2})/,he=/^[\s\w\0+.-]{2,}:([/\\]{2})?/,ge=/^([/\\]\s*){2,}[^/\\]/,_e=/\/$|\/\?|\/#/,ve=/^\.?\//;function ye(e,t={}){return typeof t==`boolean`&&(t={acceptRelative:t}),t.strict?me.test(e):he.test(e)||(t.acceptRelative?ge.test(e):!1)}function be(e=``,t){return t?_e.test(e):e.endsWith(`/`)}function xe(e=``,t){if(!t)return(be(e)?e.slice(0,-1):e)||`/`;if(!be(e,!0))return e||`/`;let n=e,r=``,i=e.indexOf(`#`);i!==-1&&(n=e.slice(0,i),r=e.slice(i));let[a,...o]=n.split(`?`);return((a.endsWith(`/`)?a.slice(0,-1):a)||`/`)+(o.length>0?`?${o.join(`?`)}`:``)+r}function Se(e=``,t){if(!t)return e.endsWith(`/`)?e:e+`/`;if(be(e,!0))return e||`/`;let n=e,r=``,i=e.indexOf(`#`);if(i!==-1&&(n=e.slice(0,i),r=e.slice(i),!n))return r;let[a,...o]=n.split(`?`);return a+`/`+(o.length>0?`?${o.join(`?`)}`:``)+r}function Ce(e,t){if(we(t)||ye(e))return e;let n=xe(t);if(e.startsWith(n)){let t=e[n.length];if(!t||t===`/`||t===`?`)return e}return Ee(n,e)}function we(e){return!e||e===`/`}function Te(e){return e&&e!==`/`}function Ee(e,...t){let n=e||``;for(let e of t.filter(e=>Te(e)))if(n){let t=e.replace(ve,``);n=Se(n)+t}else n=e;return n}function De(e,t){let n=e.match(he);return n||=e.match(/^\/{2,}/),n?t+e.slice(n[0].length):t+e}function Oe(e=n){try{return new URLSearchParams(globalThis.location?.search).get(e)||void 0}catch{return}}function ke(e){try{let t=new URL(globalThis.location.href);if(!t.searchParams.has(e))return;t.searchParams.delete(e),globalThis.history?.replaceState(globalThis.history.state,``,t.href)}catch{}}function Ae(e=n){let t=Oe(e);return t&&ke(e),t}async function je(e,t={}){let n=Ae(t.param??`devframe_otp`);return n?e.isTrusted?!0:e.requestTrustWithCode(n):!1}var Me=Symbol.for(`immer-nothing`),S=Symbol.for(`immer-draftable`),C=Symbol.for(`immer-state`);function w(e,...t){throw Error(`[Immer] minified error nr: ${e}. Full error at: https://bit.ly/3cXEKWf`)}var T=Object,E=T.getPrototypeOf,Ne=`constructor`,Pe=`prototype`,Fe=`configurable`,Ie=`enumerable`,Le=`writable`,Re=`value`,D=e=>!!e&&!!e[C];function O(e){return e?Ve(e)||j(e)||!!e[S]||!!e[Ne]?.[S]||M(e)||N(e):!1}var ze=T[Pe][Ne].toString(),Be=new WeakMap;function Ve(e){if(!e||!P(e))return!1;let t=E(e);if(t===null||t===T[Pe])return!0;let n=T.hasOwnProperty.call(t,Ne)&&t[Ne];if(n===Object)return!0;if(!F(n))return!1;let r=Be.get(n);return r===void 0&&(r=Function.toString.call(n),Be.set(n,r)),r===ze}function He(e,t,n=!0){k(e)===0?(n?Reflect.ownKeys(e):T.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function k(e){let t=e[C];return t?t.type_:j(e)?1:M(e)?2:N(e)?3:0}var Ue=(e,t,n=k(e))=>n===2?e.has(t):T[Pe].hasOwnProperty.call(e,t),A=(e,t,n=k(e))=>n===2?e.get(t):e[t],We=(e,t,n,r=k(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function Ge(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t}var j=Array.isArray,M=e=>e instanceof Map,N=e=>e instanceof Set,P=e=>typeof e==`object`,F=e=>typeof e==`function`,Ke=e=>typeof e==`boolean`;function qe(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var Je=e=>P(e)?e?.[C]:null,I=e=>e.copy_||e.base_,Ye=e=>e.modified_?e.copy_:e.base_;function Xe(e,t){if(M(e))return new Map(e);if(N(e))return new Set(e);if(j(e))return Array[Pe].slice.call(e);let n=Ve(e);if(t===!0||t===`class_only`&&!n){let t=T.getOwnPropertyDescriptors(e);delete t[C];let n=Reflect.ownKeys(t);for(let r=0;r<n.length;r++){let i=n[r],a=t[i];a[Le]===!1&&(a[Le]=!0,a[Fe]=!0),(a.get||a.set)&&(t[i]={[Fe]:!0,[Le]:!0,[Ie]:a[Ie],[Re]:e[i]})}return T.create(E(e),t)}else{let t=E(e);if(t!==null&&n)return{...e};let r=T.create(t);return T.assign(r,e)}}function Ze(e,t=!1){return et(e)||D(e)||!O(e)?e:(k(e)>1&&T.defineProperties(e,{set:$e,add:$e,clear:$e,delete:$e}),T.freeze(e),t&&He(e,(e,t)=>{Ze(t,!0)},!1),e)}function Qe(){w(2)}var $e={[Re]:Qe};function et(e){return e===null||!P(e)?!0:T.isFrozen(e)}var tt=`MapSet`,nt=`Patches`,rt=`ArrayMethods`,it={};function L(e){let t=it[e];return t||w(0,e),t}var at=e=>!!it[e];function ot(e,t){it[e]||(it[e]=t)}var st,ct=()=>st,lt=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:at(tt)?L(tt):void 0,arrayMethodsPlugin_:at(rt)?L(rt):void 0});function ut(e,t){t&&(e.patchPlugin_=L(nt),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function dt(e){ft(e),e.drafts_.forEach(mt),e.drafts_=null}function ft(e){e===st&&(st=e.parent_)}var pt=e=>st=lt(st,e);function mt(e){let t=e[C];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function ht(e,t){t.unfinalizedDrafts_=t.drafts_.length;let n=t.drafts_[0];if(e!==void 0&&e!==n){n[C].modified_&&(dt(t),w(4)),O(e)&&(e=gt(t,e));let{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[C].base_,e,t)}else e=gt(t,n);return _t(t,e,!0),dt(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e===Me?void 0:e}function gt(e,t){if(et(t))return t;let n=t[C];if(!n)return Tt(t,e.handledSet_,e);if(!yt(n,e))return t;if(!n.modified_)return n.base_;if(!n.finalized_){let{callbacks_:t}=n;if(t)for(;t.length>0;)t.pop()(e);Ct(n,e)}return n.copy_}function _t(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Ze(t,n)}function vt(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var yt=(e,t)=>e.scope_===t,bt=[];function xt(e,t,n,r){let i=I(e),a=e.type_;if(r!==void 0&&A(i,r,a)===t){We(i,r,n,a);return}if(!e.draftLocations_){let t=e.draftLocations_=new Map;He(i,(e,n)=>{if(D(n)){let r=t.get(n)||[];r.push(e),t.set(n,r)}})}let o=e.draftLocations_.get(t)??bt;for(let e of o)We(i,e,n,a)}function St(e,t,n){e.callbacks_.push(function(r){let i=t;if(!i||!yt(i,r))return;r.mapSetPlugin_?.fixSetContents(i);let a=Ye(i);xt(e,i.draft_??i,a,n),Ct(i,r)})}function Ct(e,t){if(e.modified_&&!e.finalized_&&(e.type_===3||e.type_===1&&e.allIndicesReassigned_||(e.assigned_?.size??0)>0)){let{patchPlugin_:n}=t;if(n){let r=n.getPath(e);r&&n.generatePatches_(e,r,t)}vt(e)}}function wt(e,t,n){let{scope_:r}=e;if(D(n)){let i=n[C];yt(i,r)&&i.callbacks_.push(function(){Nt(e),xt(e,n,Ye(i),t)})}else O(n)&&e.callbacks_.push(function(){let i=I(e);e.type_===3?i.has(n)&&Tt(n,r.handledSet_,r):A(i,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&Tt(A(e.copy_,t,e.type_),r.handledSet_,r)})}function Tt(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||D(e)||t.has(e)||!O(e)||et(e)?e:(t.add(e),He(e,(r,i)=>{if(D(i)){let t=i[C];yt(t,n)&&(We(e,r,Ye(t),e.type_),vt(t))}else O(i)&&Tt(i,t,n)}),e)}function Et(e,t){let n=j(e),r={type_:+!!n,scope_:t?t.scope_:ct(),modified_:!1,finalized_:!1,assigned_:void 0,parent_:t,base_:e,draft_:null,copy_:null,revoke_:null,isManual_:!1,callbacks_:void 0},i=r,a=Dt;n&&(i=[r],a=Ot);let{revoke:o,proxy:s}=Proxy.revocable(i,a);return r.draft_=s,r.revoke_=o,[s,r]}var Dt={get(e,t){if(t===C)return e;let n=e.scope_.arrayMethodsPlugin_,r=e.type_===1&&typeof t==`string`;if(r&&n?.isArrayOperationMethod(t))return n.createMethodInterceptor(e,t);let i=I(e);if(!Ue(i,t,e.type_))return At(e,i,t);let a=i[t];if(e.finalized_||!O(a)||r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&qe(t))return a;if(a===kt(e.base_,t)){Nt(e);let n=e.type_===1?+t:t,r=Ft(e.scope_,a,e,n);return e.copy_[n]=r}return a},has(e,t){return t in I(e)},ownKeys(e){return Reflect.ownKeys(I(e))},set(e,t,n){let r=jt(I(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){let r=kt(I(e),t),i=r?.[C];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(Ge(n,r)&&(n!==void 0||Ue(e.base_,t,e.type_)))return!0;Nt(e),Mt(e)}return e.copy_[t]===n&&(n!==void 0||t in e.copy_)||Number.isNaN(n)&&Number.isNaN(e.copy_[t])?!0:(e.copy_[t]=n,e.assigned_.set(t,!0),wt(e,t,n),!0)},deleteProperty(e,t){return Nt(e),kt(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),Mt(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let n=I(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[Le]:!0,[Fe]:e.type_!==1||t!==`length`,[Ie]:r[Ie],[Re]:n[t]}},defineProperty(){w(11)},getPrototypeOf(e){return E(e.base_)},setPrototypeOf(){w(12)}},Ot={};for(let e in Dt){let t=Dt[e];Ot[e]=function(){let e=arguments;return e[0]=e[0][0],t.apply(this,e)}}Ot.deleteProperty=function(e,t){return Ot.set.call(this,e,t,void 0)},Ot.set=function(e,t,n){return Dt.set.call(this,e[0],t,n,e[0])};function kt(e,t){let n=e[C];return(n?I(n):e)[t]}function At(e,t,n){let r=jt(t,n);return r?Re in r?r[Re]:r.get?.call(e.draft_):void 0}function jt(e,t){if(!(t in e))return;let n=E(e);for(;n;){let e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=E(n)}}function Mt(e){e.modified_||(e.modified_=!0,e.parent_&&Mt(e.parent_))}function Nt(e){e.copy_||=(e.assigned_=new Map,Xe(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var Pt=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(F(e)&&!F(t)){let n=t;t=e;let r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}F(t)||w(6),n!==void 0&&!F(n)&&w(7);let r;if(O(e)){let i=pt(this),a=Ft(i,e,void 0),o=!0;try{r=t(a),o=!1}finally{o?dt(i):ft(i)}return ut(i,n),ht(r,i)}else if(!e||!P(e)){if(r=t(e),r===void 0&&(r=e),r===Me&&(r=void 0),this.autoFreeze_&&Ze(r,!0),n){let t=[],i=[];L(nt).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}else w(1,e)},this.produceWithPatches=(e,t)=>{if(F(e))return(t,...n)=>this.produceWithPatches(t,t=>e(t,...n));let n,r;return[this.produce(e,t,(e,t)=>{n=e,r=t}),n,r]},Ke(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),Ke(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),Ke(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){O(e)||w(8),D(e)&&(e=It(e));let t=pt(this),n=Ft(t,e,void 0);return n[C].isManual_=!0,ft(t),n}finishDraft(e,t){let n=e&&e[C];(!n||!n.isManual_)&&w(9);let{scope_:r}=n;return ut(r,t),ht(void 0,r)}setAutoFreeze(e){this.autoFreeze_=e}setUseStrictShallowCopy(e){this.useStrictShallowCopy_=e}setUseStrictIteration(e){this.useStrictIteration_=e}shouldUseStrictIteration(){return this.useStrictIteration_}applyPatches(e,t){let n;for(n=t.length-1;n>=0;n--){let r=t[n];if(r.path.length===0&&r.op===`replace`){e=r.value;break}}n>-1&&(t=t.slice(n+1));let r=L(nt).applyPatches_;return D(e)?r(e,t):this.produce(e,e=>r(e,t))}};function Ft(e,t,n,r){let[i,a]=M(t)?L(tt).proxyMap_(t,n):N(t)?L(tt).proxySet_(t,n):Et(t,n);return(n?.scope_??ct()).drafts_.push(i),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&r!==void 0?St(n,a,r):a.callbacks_.push(function(e){e.mapSetPlugin_?.fixSetContents(a);let{patchPlugin_:t}=e;a.modified_&&t&&t.generatePatches_(a,[],e)}),i}function It(e){return D(e)||w(10,e),Lt(e)}function Lt(e){if(!O(e)||et(e))return e;let t=e[C],n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=Xe(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=Xe(e,!0);return He(n,(e,t)=>{We(n,e,Lt(t))},r),t&&(t.finalized_=!1),n}function Rt(){function e(n,r=[]){if(n.key_!==void 0){let e=n.parent_.copy_??n.parent_.base_,t=Je(A(e,n.key_)),i=A(e,n.key_);if(i===void 0||i!==n.draft_&&i!==n.base_&&i!==n.copy_||t!=null&&t.base_!==n.base_)return null;let a=n.parent_.type_===3,o;if(a){let e=n.parent_;o=Array.from(e.drafts_.keys()).indexOf(n.key_)}else o=n.key_;if(!(a&&e.size>o||Ue(e,o)))return null;r.push(o)}if(n.parent_)return e(n.parent_,r);r.reverse();try{t(n.copy_,r)}catch{return null}return r}function t(e,t){let n=e;for(let e=0;e<t.length-1;e++){let r=t[e];if(n=A(n,r),!P(n)||n===null)throw Error(`Cannot resolve path at '${t.join(`/`)}'`)}return n}let n=`replace`,r=`remove`;function i(e,t,n){if(e.scope_.processedForPatches_.has(e))return;e.scope_.processedForPatches_.add(e);let{patches_:r,inversePatches_:i}=n;switch(e.type_){case 0:case 2:return o(e,t,r,i);case 1:return a(e,t,r,i);case 3:return s(e,t,r,i)}}function a(e,t,i,a){let{base_:o,assigned_:s}=e,c=e.copy_;c.length<o.length&&([o,c]=[c,o],[i,a]=[a,i]);let l=e.allIndicesReassigned_===!0;for(let e=0;e<o.length;e++){let r=c[e],u=o[e];if((l||s?.get(e.toString()))&&r!==u){let o=r?.[C];if(o&&o.modified_)continue;let s=t.concat([e]);i.push({op:n,path:s,value:d(r)}),a.push({op:n,path:s,value:d(u)})}}for(let e=o.length;e<c.length;e++){let n=t.concat([e]);i.push({op:`add`,path:n,value:d(c[e])})}for(let e=c.length-1;o.length<=e;--e){let n=t.concat([e]);a.push({op:r,path:n})}}function o(e,t,i,a){let{base_:o,copy_:s,type_:c}=e;He(e.assigned_,(e,l)=>{let u=A(o,e,c),f=A(s,e,c),p=l?Ue(o,e)?n:`add`:r;if(u===f&&p===n)return;let m=t.concat(e);i.push(p===r?{op:p,path:m}:{op:p,path:m,value:d(f)}),a.push(p===`add`?{op:r,path:m}:p===r?{op:`add`,path:m,value:d(u)}:{op:n,path:m,value:d(u)})})}function s(e,t,n,i){let{base_:a,copy_:o}=e,s=0;a.forEach(e=>{if(!o.has(e)){let a=t.concat([s]);n.push({op:r,path:a,value:e}),i.unshift({op:`add`,path:a,value:e})}s++}),s=0,o.forEach(e=>{if(!a.has(e)){let a=t.concat([s]);n.push({op:`add`,path:a,value:e}),i.unshift({op:r,path:a,value:e})}s++})}function c(e,t,r){let{patches_:i,inversePatches_:a}=r;i.push({op:n,path:[],value:t===Me?void 0:t}),a.push({op:n,path:[],value:e})}function l(e,t){return t.forEach(t=>{let{path:i,op:a}=t,o=e;for(let e=0;e<i.length-1;e++){let t=k(o),n=i[e];typeof n!=`string`&&typeof n!=`number`&&(n=``+n),(t===0||t===1)&&(n===`__proto__`||n===Ne)&&w(19),F(o)&&n===Pe&&w(19),o=A(o,n),P(o)||w(18,i.join(`/`))}let s=k(o),c=u(t.value),l=i[i.length-1];switch(a){case n:switch(s){case 2:return o.set(l,c);case 3:w(16);default:return o[l]=c}case`add`:switch(s){case 1:return l===`-`?o.push(c):o.splice(l,0,c);case 2:return o.set(l,c);case 3:return o.add(c);default:return o[l]=c}case r:switch(s){case 1:return o.splice(l,1);case 2:return o.delete(l);case 3:return o.delete(t.value);default:return delete o[l]}default:w(17,a)}}),e}function u(e){if(!O(e))return e;if(j(e))return e.map(u);if(M(e))return new Map(Array.from(e.entries()).map(([e,t])=>[e,u(t)]));if(N(e))return new Set(Array.from(e).map(u));let t=Object.create(E(e));for(let n in e)t[n]=u(e[n]);return Ue(e,S)&&(t[S]=e[S]),t}function d(e){return D(e)?u(e):e}ot(nt,{applyPatches_:l,generatePatches_:i,generateReplacementPatches_:c,getPath:e})}var zt=new Pt,Bt=zt.produce,Vt=zt.produceWithPatches.bind(zt),Ht=zt.applyPatches.bind(zt),Ut=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`;function Wt(e=21){let t=``,n=e;for(;n--;)t+=Ut[Math.random()*64|0];return t}function Gt(e){let{enablePatches:t=!1}=e,n=pe(),r=e.initialValue,i=new Set;return{on:n.on,value:()=>r,patch:(e,t=Wt())=>{i.has(t)||(Rt(),r=Ht(r,e),i.add(t),n.emit(`updated`,r,void 0,t))},mutate:(e,a=Wt())=>{if(!i.has(a))if(i.add(a),t){let[t,i]=Vt(r,e);r=t,n.emit(`updated`,r,i,a)}else r=Bt(r,e),n.emit(`updated`,r,void 0,a)},syncIds:i}}function Kt(e){let t=new Map,n=new Map,r=new Set,i=e.connectionMeta.backend===`static`;function a(e,t){let r=n.get(e);return r&&typeof r==`object`&&!Array.isArray(r)&&typeof t==`object`&&!Array.isArray(t)?{...r,...t}:t}e.client.register({name:`devframe:rpc:client-state:updated`,type:`event`,handler:(e,n,r)=>{let i=t.get(e);!i||i.syncIds.has(r)||i.mutate(()=>a(e,n),r)}}),e.client.register({name:`devframe:rpc:client-state:patch`,type:`event`,handler:(e,n,r)=>{let i=t.get(e);!i||i.syncIds.has(r)||i.patch(n,r)}});function o(t,n){let r=[];return r.push(n.on(`updated`,(n,r,a)=>{i||(r?e.callEvent(`devframe:rpc:server-state:patch`,t,r,a):e.callEvent(`devframe:rpc:server-state:set`,t,n,a))})),()=>{for(let e of r)e()}}return{keys:()=>Array.from(t.keys()),onKeyAdded(e){return r.add(e),()=>{r.delete(e)}},get:async(s,c)=>{if(c?.initialValue!==void 0&&n.set(s,c.initialValue),t.has(s))return t.get(s);let l=Gt({initialValue:c?.initialValue,enablePatches:!1});async function u(){if(i||e.callEvent(`devframe:rpc:server-state:subscribe`,s),c?.initialValue!==void 0){t.set(s,l);for(let e of r)e(s);return e.call(`devframe:rpc:server-state:get`,s).then(e=>{e!==void 0&&l.mutate(()=>a(s,e))}).catch(e=>{console.error(`Error getting server state`,e)}),o(s,l),l}else{let n=await e.call(`devframe:rpc:server-state:get`,s);l.mutate(()=>a(s,n)),t.set(s,l);for(let e of r)e(s);return o(s,l),l}}return new Promise(t=>{e.isTrusted?u().then(t):(t(l),e.events.on(`rpc:is-trusted:updated`,e=>{e&&u()}))})}}}var qt=typeof self==`object`?self:globalThis;function Jt(e,t){let n=(t,n)=>(e.set(n,t),t),r=i=>{if(e.has(i))return e.get(i);let[a,o]=t[i];switch(a){case 0:case-1:return n(o,i);case 1:{let e=n([],i);for(let t of o)e.push(r(t));return e}case 2:{let e=n({},i);for(let[t,n]of o)e[r(t)]=r(n);return e}case 3:return n(new Date(o),i);case 4:{let{source:e,flags:t}=o;return n(new RegExp(e,t),i)}case 5:{let e=n(new Map,i);for(let[t,n]of o)e.set(r(t),r(n));return e}case 6:{let e=n(new Set,i);for(let t of o)e.add(r(t));return e}case 7:{let{name:e,message:t}=o;return n(new qt[e](t),i)}case 8:return n(BigInt(o),i);case`BigInt`:return n(Object(BigInt(o)),i);case`ArrayBuffer`:return n(new Uint8Array(o).buffer,o);case`DataView`:{let{buffer:e}=new Uint8Array(o);return n(new DataView(e),o)}}return n(new qt[a](o),i)};return r}function Yt(e){return Jt(new Map,e)(0)}var R=``,{toString:Xt}={},{keys:Zt}=Object;function Qt(e){let t=typeof e;if(t!==`object`||!e)return[0,t];let n=Xt.call(e).slice(8,-1);switch(n){case`Array`:return[1,R];case`Object`:return[2,R];case`Date`:return[3,R];case`RegExp`:return[4,R];case`Map`:return[5,R];case`Set`:return[6,R];case`DataView`:return[1,n]}return n.includes(`Array`)?[1,n]:n.includes(`Error`)?[7,n]:[2,n]}function $t([e,t]){return e===0&&(t===`function`||t===`symbol`)}function en(e,t,n,r){let i=(e,t)=>{let i=r.push(e)-1;return n.set(t,i),i},a=r=>{if(n.has(r))return n.get(r);let[o,s]=Qt(r);switch(o){case 0:{let t=r;switch(s){case`bigint`:o=8,t=r.toString();break;case`function`:case`symbol`:if(e)throw TypeError(`unable to serialize ${s}`);t=null;break;case`undefined`:return i([-1],r)}return i([o,t],r)}case 1:{if(s){let e=r;return s===`DataView`?e=new Uint8Array(r.buffer):s===`ArrayBuffer`&&(e=new Uint8Array(r)),i([s,[...e]],r)}let e=[],t=i([o,e],r);for(let t of r)e.push(a(t));return t}case 2:{if(s)switch(s){case`BigInt`:return i([s,r.toString()],r);case`Boolean`:case`Number`:case`String`:return i([s,r.valueOf()],r)}if(t&&`toJSON`in r)return a(r.toJSON());let n=[],c=i([o,n],r);for(let t of Zt(r))(e||!$t(Qt(r[t])))&&n.push([a(t),a(r[t])]);return c}case 3:return i([o,r.toISOString()],r);case 4:{let{source:e,flags:t}=r;return i([o,{source:e,flags:t}],r)}case 5:{let t=[],n=i([o,t],r);for(let[n,i]of r)(e||!($t(Qt(n))||$t(Qt(i))))&&t.push([a(n),a(i)]);return n}case 6:{let t=[],n=i([o,t],r);for(let n of r)(e||!$t(Qt(n)))&&t.push(a(n));return n}}let{message:c}=r;return i([o,{name:s,message:c}],r)};return a}function tn(e,t={}){let n=[];return en(!(t.json||t.lossy),!!t.json,new Map,n)(e),n}var{parse:nn,stringify:rn}=JSON,an={json:!0,lossy:!0};function on(e){return Yt(nn(e))}function sn(e){return rn(tn(e,an))}function cn(e){return Yt(e)}function ln(e){return sn(e)}function un(e){return on(e)}function dn(e){return typeof e==`object`&&!!e&&e.type===`static`&&typeof e.path==`string`}function fn(e){return typeof e==`object`&&!!e&&e.type===`query`&&typeof e.records==`object`&&e.records!==null}function pn(e){return typeof e==`object`&&!!e&&(`output`in e||`error`in e)}function mn(e){if(e.error)throw ie(e.error);return e.output}function hn(e){return e.some(e=>e!=null)}function gn(e){return typeof e==`object`&&e&&`serialization`in e&&`data`in e?e.data:e}function _n(e,t){let n=new Map,r=new Map;function i(e,t){return t===`structured-clone`&&Array.isArray(e)?cn(e):e}function a(e,t){return i(gn(e),t)}async function o(e){n.has(e.path)||n.set(e.path,t(e.path).then(t=>a(t,e.serialization)));let r=await n.get(e.path);return pn(r)?mn(r):r}async function s(e,n){return r.has(e)||r.set(e,t(e).then(e=>a(e,n))),await r.get(e)}async function c(t,n){if(!(t in e))throw Error(`[devframe-rpc] Function "${t}" not found in dump store`);let r=e[t];if(dn(r)){if(hn(n))throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`);return await o(r)}if(fn(r)){let e=p(n),i=r.records[e];if(i)return mn(await s(i,r.serialization));if(r.fallback)return mn(await s(r.fallback,r.serialization));throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`)}if(!hn(n))return r;throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`)}return{call:async(e,t)=>await c(e,t),callOptional:async(t,n)=>{if(t in e)return await c(t,n)},callEvent:async(e,t)=>{}}}async function vn(e){let n=_n(await e.fetchJsonFromBases(t),e.fetchJsonFromBases);return{isTrusted:!0,requestTrust:async()=>!0,requestTrustWithToken:async()=>!0,requestTrustWithCode:async()=>null,ensureTrusted:async()=>!0,call:(...e)=>n.call(e[0],e.slice(1)),callEvent:(...e)=>n.callEvent(e[0],e.slice(1)),callOptional:(...e)=>n.callOptional(e[0],e.slice(1))}}var yn=256,bn=class extends Error{name=`StreamClosedError`};function xn(e={}){let t=e.id??Wt(),n=Math.max(0,e.replayWindow??0),r=pe(),i=new AbortController,a=[],o=!1,s=0;function c(e){if(o)throw new bn(`Cannot write to a closed stream "${t}"`);s+=1,n>0&&(a.push({seq:s,chunk:e}),a.length>n&&a.splice(0,a.length-n)),r.emit(`chunk`,s,e)}function l(e){if(o)return;o=!0;let t=Cn(e);i.abort(e),r.emit(`end`,t)}function u(){o||(o=!0,i.signal.aborted||i.abort(`stream closed`),r.emit(`end`,void 0))}function d(e){o||i.signal.aborted||i.abort(e??`aborted`)}let f=new WritableStream({write(e){c(e)},close(){u()},abort(e){l(e)}});return{id:t,signal:i.signal,get closed(){return o},get lastSeq(){return s},write:c,error:l,close:u,abort:d,writable:f,events:r,buffer:a}}function Sn(e={}){let t=e.id??Wt(),n=Math.max(1,e.highWaterMark??yn),r=[],i=0,a=!1,o=!1,s,c,l,u;function d(){if(c){if(r.length>0){let e=r.shift(),t=c;c=void 0,t.resolve({value:e,done:!1});return}if(a){let e=c;if(c=void 0,s){let t=Error(s.message);t.name=s.name,e.reject(t)}else e.resolve({value:void 0,done:!0})}}}function f(){if(l){for(;r.length>0;){let e=r.shift();try{l.enqueue(e)}catch{break}}if(a&&l){try{if(s){let e=Error(s.message);e.name=s.name,l.error(e)}else l.close()}catch{}l=void 0}}}function p(t,s){if(!(a||o)&&!(t<=i)){if(i=t,r.push(s),r.length>n){let t=r.length-n;r.splice(0,t),e.onOverflow?.(t)}d(),u&&f()}}function m(e){a||(a=!0,s=e,d(),u&&f())}function h(){o||a||(o=!0,e.onCancel?.(),m(void 0))}function g(){return u||(u=new ReadableStream({start(e){l=e,f()},cancel(){h()}}),u)}return{id:t,get cancelled(){return o},get done(){return a},get lastSeenSeq(){return i},get readable(){return g()},cancel:h,_push:p,_end:m,[Symbol.asyncIterator](){return{next(){if(r.length>0)return Promise.resolve({value:r.shift(),done:!1});if(a){if(s){let e=Error(s.message);return e.name=s.name,Promise.reject(e)}return Promise.resolve({value:void 0,done:!0})}return new Promise((e,t)=>{c={resolve:e,reject:t}})},return(){return h(),Promise.resolve({value:void 0,done:!0})}}}}}function Cn(e){if(e instanceof Error)return{name:e.name||`Error`,message:e.message};if(typeof e==`string`)return{name:`Error`,message:e};try{return{name:`Error`,message:JSON.stringify(e)}}catch{return{name:`Error`,message:String(e)}}}var wn=``;function Tn(e,t){return`${e}${wn}${t}`}function En(e){let t=new Map,n=new Map;e.client.register({name:`devframe:streaming:chunk`,type:`event`,handler(e,n,r,i){t.get(Tn(e,n))?._push(r,i)}}),e.client.register({name:`devframe:streaming:end`,type:`event`,handler(e,n,r){let i=Tn(e,n),a=t.get(i);a&&(a._end(r),t.delete(i))}}),e.client.register({name:`devframe:streaming:upload-cancel`,type:`event`,handler(e,t){let r=Tn(e,t),i=n.get(r);i&&(i.abort(`server cancelled upload`),n.delete(r))}}),e.events.on(`rpc:is-trusted:updated`,n=>{if(n)for(let[n,r]of t){if(r.cancelled||r.done)continue;let t=n.indexOf(wn);if(t<0)continue;let i=n.slice(0,t),a=n.slice(t+1);e.callEvent(`devframe:streaming:subscribe`,i,a,{afterSeq:r.lastSeenSeq})}});function r(n,r,i={}){let a=Tn(n,r),o=t.get(a);if(o)return o;let s=Sn({id:r,highWaterMark:i.highWaterMark,onOverflow(e){console.warn(`[devframe] DF0029: Stream "${n}#${r}" dropped ${e} chunk(s) after exceeding the client high-water mark.`)},onCancel(){e.callEvent(`devframe:streaming:cancel`,n,r),t.delete(a)}});if(t.set(a,s),e.isTrusted)e.callEvent(`devframe:streaming:subscribe`,n,r,{afterSeq:0});else{let i=e.events.on(`rpc:is-trusted:updated`,o=>{o&&(i(),t.has(a)&&!s.cancelled&&!s.done&&e.callEvent(`devframe:streaming:subscribe`,n,r,{afterSeq:s.lastSeenSeq}))})}return s}function i(t,r){let i=Tn(t,r),a=n.get(i);if(a)return a;let o=xn({id:r});return o.events.on(`chunk`,(n,i)=>{e.callEvent(`devframe:streaming:upload-chunk`,t,r,n,i)}),o.events.on(`end`,a=>{e.callEvent(`devframe:streaming:upload-end`,t,r,a),n.delete(i)}),n.set(i,o),o}return{subscribe:r,upload:i}}var Dn=`q`,On=`s`;function kn(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var An=Math.random.bind(Math),jn=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`;function Mn(e=21){let t=``,n=e;for(;n--;)t+=jn[An()*64|0];return t}var Nn=6e4,Pn=e=>e,Fn=Pn,{clearTimeout:In,setTimeout:Ln}=globalThis;function Rn(e,t){let{post:n,on:r,off:i=()=>{},eventNames:a=[],serialize:o=Pn,deserialize:s=Fn,resolver:c,bind:l=`rpc`,timeout:u=Nn,proxify:d=!0}=t,f=!1,p=new Map,m,h;async function g(e,r,i,a){if(f)throw Error(`[birpc] rpc is closed, cannot call "${e}"`);let s={m:e,a:r,t:Dn};a&&(s.o=!0);let c=async e=>n(o(e));if(i){await c(s);return}if(m)try{await m}finally{m=void 0}let{promise:l,resolve:d,reject:g}=kn(),_=Mn();s.i=_;let v;async function y(n=s){return u>=0&&(v=Ln(()=>{try{if(t.onTimeoutError?.call(h,e,r)!==!0)throw Error(`[birpc] timeout on calling "${e}"`)}catch(e){g(e)}p.delete(_)},u),typeof v==`object`&&(v=v.unref?.())),p.set(_,{resolve:d,reject:g,timeoutId:v,method:e}),await c(n),l}try{t.onRequest?await t.onRequest.call(h,s,y,d):await y()}catch(e){if(t.onGeneralError?.call(h,e)!==!0)throw e;return}finally{In(v),p.delete(_)}return l}let _={$call:(e,...t)=>g(e,t,!1),$callOptional:(e,...t)=>g(e,t,!1,!0),$callEvent:(e,...t)=>g(e,t,!0),$callRaw:e=>g(e.method,e.args,e.event,e.optional),$rejectPendingCalls:y,get $closed(){return f},get $meta(){return t.meta},$close:v,$functions:e};h=d?new Proxy({},{get(t,n){if(Object.prototype.hasOwnProperty.call(_,n))return _[n];if(n===`then`&&!a.includes(`then`)&&!(`then`in e))return;let r=(...e)=>g(n,e,!0);if(a.includes(n))return r.asEvent=r,r;let i=(...e)=>g(n,e,!1);return i.asEvent=r,i}}):_;function v(e){f=!0,p.forEach(({reject:t,method:n})=>{let r=Error(`[birpc] rpc is closed, cannot call "${n}"`);if(e)return e.cause??=r,t(e);t(r)}),p.clear(),i(ee)}function y(e){let t=Array.from(p.values()).map(({method:t,reject:n})=>e?e({method:t,reject:n}):n(Error(`[birpc]: rejected pending call "${t}".`)));return p.clear(),t}async function ee(r,...i){let a;try{a=s(r)}catch(e){if(t.onGeneralError?.call(h,e)!==!0)throw e;return}if(a.t===Dn){let{m:r,a:s,o:u}=a,d,f,p=await(c?c.call(h,r,e[r]):e[r]);if(u&&(p||=()=>void 0),!p)f=Error(`[birpc] function "${r}" not found`);else try{d=await p.apply(l===`rpc`?h:e,s)}catch(e){f=e}if(a.i){if(f&&t.onFunctionError&&t.onFunctionError.call(h,f,r,s)===!0)return;if(!f)try{await n(o({t:On,i:a.i,r:d}),...i);return}catch(e){if(f=e,t.onGeneralError?.call(h,e,r,s)!==!0)throw e}try{await n(o({t:On,i:a.i,e:f}),...i)}catch(e){if(t.onGeneralError?.call(h,e,r,s)!==!0)throw e}}}else{let{i:e,r:t,e:n}=a,r=p.get(e);r&&(In(r.timeoutId),n?r.reject(n):r.resolve(t)),p.delete(e)}}return m=r(ee),h}function zn(e,t){let{channel:n,rpcOptions:r={}}=t;return Rn(e,{...n,timeout:-1,...r,proxify:!1})}function Bn(){}var Vn=new Map;function Hn(e){let t=e.url;e.authToken&&(t=`${t}?devframe_auth_token=${encodeURIComponent(e.authToken)}`);let n=new WebSocket(t),{onConnected:r=Bn,onError:i=Bn,onDisconnected:a=Bn,definitions:o=Vn}=e;n.addEventListener(`open`,e=>{r(e)}),n.addEventListener(`error`,e=>{i(e instanceof Error?e:Error(e.type))}),n.addEventListener(`close`,e=>{a(e)});let s=new Map;return{on:e=>{n.addEventListener(`message`,t=>{e(t.data)})},post:e=>{if(n.readyState===WebSocket.OPEN)n.send(e);else{function t(){n.send(e),n.removeEventListener(`open`,t)}n.addEventListener(`open`,t)}},serialize:e=>{let t;return e.t===`q`?t=e.m:(t=s.get(e.i),s.delete(e.i)),!(e.t===`s`&&`e`in e)&&t&&o.get(t)?.jsonSerializable===!0?de(e,t??``):`s:${ln(e)}`},deserialize:e=>{let t=e.startsWith(`s:`)?un(e.slice(2)):JSON.parse(e);return t.t===`q`&&t.i&&t.m&&s.set(t.i,t.m),t}}}function Un(){let e,t;return{promise:new Promise((n,r)=>{e=n,t=r}),resolve:e,reject:t}}var Wn=``,Gn=`?`,Kn=`major`,z=`model`,B=`name`,V=`type`,H=`vendor`,U=`version`,W=`architecture`,qn=`console`,G=`mobile`,K=`tablet`,q=`smarttv`,J=`wearable`,Jn=`embedded`,Yn=500,Xn=`Amazon`,Zn=`Apple`,Qn=`ASUS`,$n=`BlackBerry`,Y=`Browser`,er=`Chrome`,tr=`Edge`,nr=`Firefox`,rr=`Google`,ir=`Huawei`,ar=`LG`,or=`Microsoft`,sr=`Motorola`,cr=`Opera`,lr=`Samsung`,ur=`Sharp`,dr=`Sony`,fr=`Xiaomi`,pr=`Zebra`,mr=`Facebook`,hr=`Chromium OS`,gr=`Mac OS`;function _r(e,t={}){let n={};for(let r of Object.keys(e)){let i=t[r];i&&i.length%2==0?n[r]=[...i,...e[r]]:n[r]=e[r]}return n}function vr(e){let t={};for(let n=0;n<e.length;n++)t[e[n].toUpperCase()]=e[n];return t}function yr(e){return e.toLowerCase()}function br(e,t){return typeof e==`string`?yr(t).includes(yr(e)):!1}function xr(e){return typeof e==`string`?e.replace(/[^\d.]/g,Wn).split(`.`)[0]:void 0}function Sr(e,t){let n=e.replace(/^\s+/,Wn);return t===void 0?n:n.substring(0,t)}function X(e,t,n){let r=n??{};for(let n=0;n<t.length;n+=2){let i=t[n],a=t[n+1];for(let t=0;t<i.length;t++){let n=i[t];if(!n)break;let o=n.exec(e);if(o){for(let e=0;e<a.length;e++){let t=o[e+1],n=a[e];if(Array.isArray(n)){let e=n[0],i=n.length;if(i===2){let i=n[1];typeof i==`function`?r[e]=i(t,void 0,r):r[e]=i}else if(i===3){let i=n[1],a=n[2];typeof i==`function`&&!(`exec`in i)&&!(`test`in i)?r[e]=t?i(t,a,r):void 0:r[e]=t?t.replace(i,a):void 0}else i===4&&(r[e]=t?n[3](t.replace(n[1],n[2]),void 0,r):void 0)}else r[n]=t||void 0}return r}}}return r}function Cr(e,t){for(let n in t){let r=t[n];if(Array.isArray(r)&&r.length>0){for(let t=0;t<r.length;t++)if(br(r[t],e))return n===Gn?void 0:n}else if(br(r,e))return n===Gn?void 0:n}return e}var wr={"1.0":`/8`,"1.2":`/1`,"1.3":`/3`,"2.0":`/412`,"2.0.2":`/416`,"2.0.3":`/417`,"2.0.4":`/419`,"?":`/`},Tr={ME:`4.90`,"NT 3.11":`NT3.51`,"NT 4.0":`NT4.0`,2e3:`NT 5.0`,XP:[`NT 5.1`,`NT 5.2`],Vista:`NT 6.0`,7:`NT 6.1`,8:`NT 6.2`,"8.1":`NT 6.3`,10:[`NT 6.4`,`NT 10.0`],RT:`ARM`},Er={browser:[[/\b(?:crmo|crios)\/([\w.]+)/i],[U,[B,`Chrome`]],[/edg(?:e|ios|a)?\/([\w.]+)/i],[U,[B,`Edge`]],[/(opera mini)\/([-\w.]+)/i,/(opera [mobileta]{3,6})\b.+version\/([-\w.]+)/i,/(opera)(?:.+version\/|[/ ]+)([\w.]+)/i],[B,U],[/opios[/ ]+([\w.]+)/i],[U,[B,`${cr} Mini`]],[/\bop(?:rg)?x\/([\w.]+)/i],[U,[B,`${cr} GX`]],[/\bopr\/([\w.]+)/i],[U,[B,cr]],[/\bb[ai]*d(?:uhd|[ub]*[aekoprswx]{5,6})[/ ]?([\w.]+)/i],[U,[B,`Baidu`]],[/(kindle)\/([\w.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[/ ]?([\w.]*)/i,/(avant|iemobile|slim)\s?(?:browser)?[/ ]?([\w.]*)/i,/(?:ms|\()(ie) ([\w.]+)/i,/(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\/([-\w.]+)/i,/(heytap|ovi)browser\/([\d.]+)/i,/(weibo)__([\d.]+)/i],[B,U],[/\bddg\/([\w.]+)/i],[U,[B,`DuckDuckGo`]],[/(?:\buc? ?browser|juc.+ucweb)[/ ]?([\w.]+)/i],[U,[B,`UC${Y}`]],[/microm.+\bqbcore\/([\w.]+)/i,/\bqbcore\/([\w.]+).+microm/i,/micromessenger\/([\w.]+)/i],[U,[B,`WeChat`]],[/konqueror\/([\w.]+)/i],[U,[B,`Konqueror`]],[/trident.+rv[: ]([\w.]{1,9})\b.+like gecko/i],[U,[B,`IE`]],[/ya(?:search)?browser\/([\w.]+)/i],[U,[B,`Yandex`]],[/slbrowser\/([\w.]+)/i],[U,[B,`Smart Lenovo ${Y}`]],[/(avast|avg)\/([\w.]+)/i],[[B,/(.+)/,`$1 Secure ${Y}`],U],[/\bfocus\/([\w.]+)/i],[U,[B,`${nr} Focus`]],[/\bopt\/([\w.]+)/i],[U,[B,`${cr} Touch`]],[/coc_coc\w+\/([\w.]+)/i],[U,[B,`Coc Coc`]],[/dolfin\/([\w.]+)/i],[U,[B,`Dolphin`]],[/coast\/([\w.]+)/i],[U,[B,`${cr} Coast`]],[/miuibrowser\/([\w.]+)/i],[U,[B,`MIUI ${Y}`]],[/fxios\/([-\w.]+)/i],[U,[B,nr]],[/\bqihu|(qi?ho{0,2}|360)browser/i],[[B,`360 ${Y}`]],[/(oculus|sailfish|huawei|vivo)browser\/([\w.]+)/i],[[B,/(.+)/,`$1 ${Y}`],U],[/samsungbrowser\/([\w.]+)/i],[U,[B,`${lr} Internet`]],[/(comodo_dragon)\/([\w.]+)/i],[[B,/_/g,` `],U],[/metasr[/ ]?([\d.]+)/i],[U,[B,`Sogou Explorer`]],[/(sogou)mo\w+\/([\d.]+)/i],[[B,`Sogou Mobile`],U],[/(electron)\/([\w.]+) safari/i,/(tesla)(?: qtcarbrowser|\/(20\d\d\.[-\w.]+))/i,/m?(qqbrowser|2345Explorer)[/ ]?([\w.]+)/i],[B,U],[/(lbbrowser)/i,/\[(linkedin)app\]/i],[B],[/((?:fban\/fbios|fb_iab\/fb4a)(?!.+fbav)|;fbav\/([\w.]+);)/i],[[B,mr],U],[/(Klarna)\/([\w.]+)/i,/(kakao(?:talk|story))[/ ]([\w.]+)/i,/(naver)\(.*?(\d+\.[\w.]+).*\)/i,/safari (line)\/([\w.]+)/i,/\b(line)\/([\w.]+)\/iab/i,/(alipay)client\/([\w.]+)/i,/(twitter)(?:and| f.+e\/([\w.]+))/i,/(chromium|instagram|snapchat)[/ ]([-\w.]+)/i],[B,U],[/\bgsa\/([\w.]+) .*safari\//i],[U,[B,`GSA`]],[/musical_ly(?:.+app_?version\/|_)([\w.]+)/i],[U,[B,`TikTok`]],[/headlesschrome(?:\/([\w.]+)| )/i],[U,[B,`${er} Headless`]],[/ wv\).+(chrome)\/([\w.]+)/i],[[B,`${er} WebView`],U],[/droid.+ version\/([\w.]+)\b.+(?:mobile safari|safari)/i],[U,[B,`Android ${Y}`]],[/(chrome|omniweb|arora|[tizenoka]{5} ?browser)\/v?([\w.]+)/i],[B,U],[/version\/([\w.,]+) .*mobile\/\w+ (safari)/i],[U,[B,`Mobile Safari`]],[/version\/([\w(.|,)]+) .*(mobile ?safari|safari)/i],[U,B],[/webkit.+?(mobile ?safari|safari)(\/[\w.]+)/i],[B,[U,Cr,wr]],[/(webkit|khtml)\/([\w.]+)/i],[B,U],[/(navigator|netscape\d?)\/([-\w.]+)/i],[[B,`Netscape`],U],[/mobile vr; rv:([\w.]+)\).+firefox/i],[U,[B,`${nr} Reality`]],[/ekiohf.+(flow)\/([\w.]+)/i,/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[/ ]?([\w.+]+)/i,/(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\/([-\w.]+)$/i,/(firefox)\/([\w.]+)/i,/(mozilla)\/([\w.]+) .+rv:.+gecko\/\d+/i,/(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[. ]?browser)[-/ ]?v?([\w.]+)/i,/(links) \(([\w.]+)/i,/panasonic;(viera)/i],[B,U],[/(cobalt)\/([\w.]+)/i],[B,[U,/master.|lts./,``]]],cpu:[[/(amd|x(?:(?:86|64)[-_])?|wow|win)64[;)]/i],[[W,`amd64`]],[/(ia32(?=;))/i],[[W,yr]],[/((?:i[346]|x)86)[;)]/i],[[W,`ia32`]],[/\b(aarch64|arm(v?8e?l?|_?64))\b/i],[[W,`arm64`]],[/\b(arm(?:v[67])?ht?n?[fl]p?)\b/i],[[W,`armhf`]],[/windows (ce|mobile); ppc;/i],[[W,`arm`]],[/((?:ppc|powerpc)(?:64)?)(?: mac|;|\))/i],[[W,/ower/,Wn,yr]],[/(sun4\w)[;)]/i],[[W,`sparc`]],[/(avr32|ia64(?=;)|68k(?=\))|\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\b|pa-risc)/i],[[W,yr]]],device:[[/\b(sch-i[89]0\d|shw-m380s|sm-[ptx]\w{2,4}|gt-[pn]\d{2,4}|sgh-t8[56]9|nexus 10)/i],[z,[H,lr],[V,K]],[/\b((?:s[cgp]h|gt|sm)-\w+|sc[g-]?\d+a?|galaxy nexus)/i,/samsung[- ]([-\w]+)/i,/sec-(sgh\w+)/i],[z,[H,lr],[V,G]],[/(?:\/|\()(ip(?:hone|od)[\w, ]*)(?:\/|;)/i],[z,[H,Zn],[V,G]],[/\((ipad);[-\w),; ]+apple/i,/applecoremedia\/[\w.]+ \((ipad)/i,/\b(ipad)\d\d?,\d\d?[;\]].+ios/i],[z,[H,Zn],[V,K]],[/(macintosh);/i],[z,[H,Zn]],[/\b(sh-?[altvz]?\d\d[a-ekm]?)/i],[z,[H,ur],[V,G]],[/\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\d{2})\b(?!.+d\/s)/i],[z,[H,ir],[V,K]],[/(?:huawei|honor)([-\w ]+)[;)]/i,/\b(nexus 6p|\w{2,4}e?-[atu]?[ln][\dx][0-359c][adn]?)\b(?!.+d\/s)/i],[z,[H,ir],[V,G]],[/\b(poco[\w ]+|m2\d{3}j\d\d[a-z]{2})(?: bui|\))/i,/\b; (\w+) build\/hm\1/i,/\b(hm[-_ ]?note?[_ ]?(?:\d\w)?) bui/i,/\b(redmi[\-_ ]?[\w ]+)(?: bui|\))/i,/oid[^)]+; (m?[12][0-389][01]\w{3,6}[c-y])( bui|; wv|\))/i,/\b(mi[-_ ]?(?:a\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?\d?\w?[_ ]?(?:plus|se|lite)?)(?: bui|\))/i],[[z,/_/g,` `],[H,fr],[V,G]],[/oid[^)]+; (2\d{4}(283|rpbf)[cgl])( bui|\))/i,/\b(mi[-_ ]?pad[\w ]+)(?: bui|\))/i],[[z,/_/g,` `],[H,fr],[V,K]],[/; (\w+) bui.+ oppo/i,/\b(cph[12]\d{3}|p(?:af|c[al]|d\w|e[ar])[mt]\d0|x9007|a101op)\b/i],[z,[H,`OPPO`],[V,G]],[/\b(opd2\d{3}a?) bui/i],[z,[H,`OPPO`],[V,K]],[/vivo (\w+)(?: bui|\))/i,/\b(v[12]\d{3}\w?[at])(?: bui|;)/i],[z,[H,`Vivo`],[V,G]],[/\b(rmx[1-3]\d{3})(?: bui|;|\))/i],[z,[H,`Realme`],[V,G]],[/\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\b[\w ]+build\//i,/\bmot(?:orola)?[- ](\w*)/i,/((?:moto[\w() ]+|xt\d{3,4}|nexus 6)(?= bui|\)))/i],[z,[H,sr],[V,G]],[/\b(mz60\d|xoom[2 ]{0,2}) build\//i],[z,[H,sr],[V,K]],[/((?=lg)?[vl]k-?\d{3}) bui| 3\.[-\w; ]{10}lg?-([06cv9]{3,4})/i],[z,[H,ar],[V,K]],[/(lm(?:-?f100[nv]?|-[\w.]+)(?= bui|\))|nexus [45])/i,/\blg[-e;/ ]+((?!browser|netcast|android tv)\w+)/i,/\blg-?(\w+) bui/i],[z,[H,ar],[V,G]],[/(ideatab[-\w ]+)/i,/lenovo ?(s[56]000[-\w]+|tab[\w ]+|yt[-\w]{6}|tb[-\w]{6})/i],[z,[H,`Lenovo`],[V,K]],[/(?:maemo|nokia).*(n900|lumia \d+)/i,/nokia[-_ ]?([-\w.]*)/i],[[z,/_/g,` `],[H,`Nokia`],[V,G]],[/(pixel c)\b/i],[z,[H,rr],[V,K]],[/droid.+; (pixel[\daxl ]{0,6})(?: bui|\))/i],[z,[H,rr],[V,G]],[/droid.+ (a?\d[0-2]{2}so|[c-g]\d{4}|so[-gl]\w+|xq-a\w[4-7][12])(?= bui|\).+chrome\/(?![1-6]?\d\.))/i],[z,[H,dr],[V,G]],[/sony tablet [ps]/i,/\b(?:sony)?sgp\w+(?: bui|\))/i],[[z,`Xperia Tablet`],[H,dr],[V,K]],[/ (kb2005|in20[12]5|be20[12][59])\b/i,/(?:one)?(?:plus)? (a\d0\d\d)(?: b|\))/i],[z,[H,`OnePlus`],[V,G]],[/(alexa)webm/i,/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\))/i,/(kf[a-z]+)( bui|\)).+silk\//i],[z,[H,Xn],[V,K]],[/((?:sd|kf)[0349hijor-uw]+)( bui|\)).+silk\//i],[[z,/(.+)/g,`Fire Phone $1`],[H,Xn],[V,G]],[/(playbook);[-\w),; ]+(rim)/i],[z,H,[V,K]],[/\b((?:bb[a-f]|st[hv])100-\d)/i,/\(bb10; (\w+)/i],[z,[H,$n],[V,G]],[/(?:\b|asus_)(transfo[prime ]{4,10} \w+|eeepc|slider \w+|nexus 7|padfone|p00[cj])/i],[z,[H,Qn],[V,K]],[/ (z[bes]6[027][012][km][ls]|zenfone \d\w?)\b/i],[z,[H,Qn],[V,G]],[/(nexus 9)/i],[z,[H,`HTC`],[V,K]],[/(htc)[-;_ ]{1,2}([\w ]+(?=\)| bui)|\w+)/i,/(zte)[- ]([\w ]+?)(?: bui|\/|\))/i,/(alcatel|geeksphone|nexian|panasonic(?!;|\.)|sony(?!-bra))[-_ ]?([-\w]*)/i],[H,[z,/_/g,` `],[V,G]],[/droid.+; ([ab][1-7]-?[0178a]\d\d?)/i],[z,[H,`Acer`],[V,K]],[/droid.+; (m[1-5] note) bui/i,/\bmz-([-\w]{2,})/i],[z,[H,`Meizu`],[V,G]],[/; ((?:power )?armor[\w ]{0,8})(?: bui|\))/i],[z,[H,`Ulefone`],[V,G]],[/(blackberry|benq|palm(?=-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron|infinix|tecno)[-_ ]?([-\w]*)/i,/(hp) ([\w ]+\w)/i,/(asus)-?(\w+)/i,/(microsoft); (lumia[\w ]+)/i,/(lenovo)[-_ ]?([-\w]+)/i,/(jolla)/i,/(oppo) ?([\w ]+) bui/i],[H,z,[V,G]],[/(kobo)\s(ereader|touch)/i,/(archos) (gamepad2?)/i,/(hp).+(touchpad(?!.+tablet)|tablet)/i,/(kindle)\/([\w.]+)/i,/(nook)[\w ]+build\/(\w+)/i,/(dell) (strea[kpr\d ]*[\dko])/i,/(le[- ]+pan)[- ]+(\w{1,9}) bui/i,/(trinity)[- ]*(t\d{3}) bui/i,/(gigaset)[- ]+(q\w{1,9}) bui/i,/(vodafone) ([\w ]+)(?:\)| bui)/i],[H,z,[V,K]],[/(surface duo)/i],[z,[H,or],[V,K]],[/droid [\d.]+; (fp\du?)(?: b|\))/i],[z,[H,`Fairphone`],[V,G]],[/(u304aa)/i],[z,[H,`AT&T`],[V,G]],[/\bsie-(\w*)/i],[z,[H,`Siemens`],[V,G]],[/\b(rct\w+) b/i],[z,[H,`RCA`],[V,K]],[/\b(venue[\d ]{2,7}) b/i],[z,[H,`Dell`],[V,K]],[/\b(q(?:mv|ta)\w+) b/i],[z,[H,`Verizon`],[V,K]],[/\b(?:barnes[& ]+noble |bn[rt])([\w+ ]*) b/i],[z,[H,`Barnes & Noble`],[V,K]],[/\b(tm\d{3}\w+) b/i],[z,[H,`NuVision`],[V,K]],[/\b(k88) b/i],[z,[H,`ZTE`],[V,K]],[/\b(nx\d{3}j) b/i],[z,[H,`ZTE`],[V,G]],[/\b(gen\d{3}) b.+49h/i],[z,[H,`Swiss`],[V,G]],[/\b(zur\d{3}) b/i],[z,[H,`Swiss`],[V,K]],[/\b((zeki)?tb.*\b) b/i],[z,[H,`Zeki`],[V,K]],[/\b([yr]\d{2}) b/i,/\b(dragon[- ]+touch |dt)(\w{5}) b/i],[[H,`Dragon Touch`],z,[V,K]],[/\b(ns-?\w{0,9}) b/i],[z,[H,`Insignia`],[V,K]],[/\b((nxa|next)-?\w{0,9}) b/i],[z,[H,`NextBook`],[V,K]],[/\b(xtreme_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i],[[H,`Voice`],z,[V,G]],[/\b(lvtel-)?(v1[12]) b/i],[[H,`LvTel`],z,[V,G]],[/\b(ph-1) /i],[z,[H,`Essential`],[V,G]],[/\b(v(100md|700na|7011|917g).*\b) b/i],[z,[H,`Envizen`],[V,K]],[/\b(trio[-\w. ]+) b/i],[z,[H,`MachSpeed`],[V,K]],[/\btu_(1491) b/i],[z,[H,`Rotor`],[V,K]],[/(shield[\w ]+) b/i],[z,[H,`Nvidia`],[V,K]],[/(sprint) (\w+)/i],[H,z,[V,G]],[/(kin\.[onetw]{3})/i],[[z,/\./g,` `],[H,or],[V,G]],[/droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\)/i],[z,[H,pr],[V,K]],[/droid.+; (ec30|ps20|tc[2-8]\d[kx])\)/i],[z,[H,pr],[V,G]],[/smart-tv.+(samsung)/i],[H,[V,q]],[/hbbtv.+maple;(\d+)/i],[[z,/^/,`SmartTV`],[H,lr],[V,q]],[/(nux; netcast.+smarttv|lg (netcast\.tv-201\d|android tv))/i],[[H,ar],[V,q]],[/(apple) ?tv/i],[H,[z,`${Zn} TV`],[V,q]],[/crkey/i],[[z,`${er}cast`],[H,rr],[V,q]],[/droid.+aft(\w+)( bui|\))/i],[z,[H,Xn],[V,q]],[/\(dtv[);].+(aquos)/i,/(aquos-tv[\w ]+)\)/i],[z,[H,ur],[V,q]],[/(bravia[\w ]+)( bui|\))/i],[z,[H,dr],[V,q]],[/(mitv-\w{5}) bui/i],[z,[H,fr],[V,q]],[/Hbbtv.*(technisat) (.*);/i],[H,z,[V,q]],[/\b(roku)[\dx]*[)/]((?:dvp-)?[\d.]*)/i,/hbbtv\/\d+\.\d+\.\d+ +\([\w+ ]*; *(\w[^;]*);([^;]*)/i],[[H,Sr],[z,Sr],[V,q]],[/\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\b/i],[[V,q]],[/(ouya)/i,/(nintendo) ([wids3utch]+)/i],[H,z,[V,qn]],[/droid.+; (shield) bui/i],[z,[H,`Nvidia`],[V,qn]],[/(playstation [345portablevi]+)/i],[z,[H,dr],[V,qn]],[/\b(xbox(?: one)?(?!; xbox))[); ]/i],[z,[H,or],[V,qn]],[/((pebble))app/i],[H,z,[V,J]],[/(watch)(?: ?os[,/]|\d,\d\/)[\d.]+/i],[z,[H,Zn],[V,J]],[/droid.+; (glass) \d/i],[z,[H,rr],[V,J]],[/droid.+; (wt63?0{2,3})\)/i],[z,[H,pr],[V,J]],[/(quest( \d| pro)?)/i],[z,[H,mr],[V,J]],[/(tesla)(?: qtcarbrowser|\/[-\w.]+)/i],[H,[V,Jn]],[/(aeobc)\b/i],[z,[H,Xn],[V,Jn]],[/droid .+?; ([^;]+?)(?: bui|; wv\)|\) applew).+? mobile safari/i],[z,[V,G]],[/droid .+?; ([^;]+?)(?: bui|\) applew).+?(?! mobile) safari/i],[z,[V,K]],[/\b((tablet|tab)[;/]|focus\/\d(?!.+mobile))/i],[[V,K]],[/(phone|mobile(?:[;/]| [ \w/.]*safari)|pda(?=.+windows ce))/i],[[V,G]],[/(android[-\w. ]{0,9});.+buil/i],[z,[H,`Generic`]]],engine:[[/windows.+ edge\/([\w.]+)/i],[U,[B,`${tr}HTML`]],[/webkit\/537\.36.+chrome\/(?!27)([\w.]+)/i],[U,[B,`Blink`]],[/(presto)\/([\w.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\/([\w.]+)/i,/ekioh(flow)\/([\w.]+)/i,/(khtml|tasman|links)[/ ]\(?([\w.]+)/i,/(icab)[/ ]([23]\.[\d.]+)/i,/\b(libweb)/i],[B,U],[/rv:([\w.]{1,9})\b.+(gecko)/i],[U,B]],os:[[/microsoft (windows) (vista|xp)/i],[B,U],[/(windows (?:phone(?: os)?|mobile))[/ ]?([.\w ]*)/i],[B,[U,Cr,Tr]],[/windows nt 6\.2; (arm)/i,/windows[/ ]?([ntce\d. ]+\w)(?!.+xbox)/i,/(?:win(?=[39n])|win 9x )([nt\d.]+)/i],[[U,Cr,Tr],[B,`Windows`]],[/ip[honead]{2,4}\b(?:.*os (\w+) like mac|; opera)/i,/(?:ios;fbsv\/|iphone.+ios[/ ])([\d.]+)/i,/cfnetwork\/.+darwin/i],[[U,/_/g,`.`],[B,`iOS`]],[/(mac os x) ?([\w. ]*)/i,/(macintosh|mac_powerpc\b)(?!.+haiku)/i],[[B,gr],[U,/_/g,`.`]],[/droid ([\w.]+)\b.+(android[- ]x86|harmonyos)/i],[U,B],[/(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-/ ]?([\w.]*)/i,/(blackberry)\w*\/([\w.]*)/i,/(tizen|kaios)[/ ]([\w.]+)/i,/\((series40);/i],[B,U],[/\(bb(10);/i],[U,[B,$n]],[/(?:symbian ?os|symbos|s60(?=;)|series60)[-/ ]?([\w.]*)/i],[U,[B,`Symbian`]],[/mozilla\/[\d.]+ \((?:mobile|tablet|tv|mobile; [\w ]+); rv:.+ gecko\/([\w.]+)/i],[U,[B,`${nr} OS`]],[/web0s;.+rt(tv)/i,/\b(?:hp)?wos(?:browser)?\/([\w.]+)/i],[U,[B,`webOS`]],[/watch(?: ?os[,/]|\d,\d\/)([\d.]+)/i],[U,[B,`watchOS`]],[/crkey\/([\d.]+)/i],[U,[B,`${er}cast`]],[/(cros) \w+(?:\)| ([\w.]+)\b)/i],[[B,hr],U],[/panasonic;(viera)/i,/(netrange)mmh/i,/(nettv)\/(\d+\.[\w.]+)/i,/(nintendo|playstation) ([wids345portablevuch]+)/i,/(xbox); +xbox ([^);]+)/i,/\b(joli|palm)\b ?(?:os)?\/?([\w.]*)/i,/(mint)[/() ]?(\w*)/i,/(mageia|vectorlinux)[; ]/i,/([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-/ ]?(?!chrom|package)([-\w.]*)/i,/(hurd|linux) ?([\w.]*)/i,/(gnu) ?([\w.]*)/i,/\b([-e-hrntopcs]{0,5}bsd|dragonfly)[/ ]?(?!amd|[ix346]{1,2}86)([\w.]*)/i,/(haiku) (\w+)/i],[B,U],[/(sunos) ?([\w.]*)/i],[[B,`Solaris`],U],[/((?:open)?solaris)[-/ ]?([\w.]*)/i,/(aix) ((\d)(?=[.) ])[\w.])*/i,/\b(beos|os\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,/(unix) ?([\w.]*)/i],[B,U]]};function Dr(e){return typeof e==`object`&&!!e}Object.freeze(vr([B,U,Kn])),Object.freeze(vr([W])),Object.freeze(vr([z,H,V,qn,G,q,K,J,Jn])),Object.freeze(vr([B,U])),Object.freeze(vr([B,U]));function Or(){if(!(typeof window>`u`||!window.navigator))return window.navigator}function kr(e){return e.length>Yn?Sr(e,Yn):e}function Ar(e){if(typeof e==`string`)return{ua:kr(e),isSelfNavigator:!1,navigator:void 0,userAgentData:void 0,regexMap:Er};let t=Or(),n=kr(t&&t.userAgent?t.userAgent:Wn);return{ua:n,isSelfNavigator:!!(t&&t.userAgent===n),navigator:t,userAgentData:t?.userAgentData,regexMap:Er}}function jr(e,t){if(!t&&!Dr(e))return Ar(e);let n=Or(),r=Dr(e)?void 0:e,i=Dr(e)?e:t,a=kr(r||(n&&n.userAgent?n.userAgent:Wn)),o=n?.userAgentData;return{ua:a,isSelfNavigator:!!(n&&n.userAgent===a),navigator:n,userAgentData:o,regexMap:i?_r(Er,i):Er}}function Mr(e){let t={name:void 0,version:void 0,major:void 0};return X(e.ua,e.regexMap.browser,t),t.major=xr(t.version),e.isSelfNavigator&&e.navigator?.brave&&typeof e.navigator.brave.isBrave==`function`&&(t.name=`Brave`),t}function Nr(e){let t={architecture:void 0};return X(e.ua,e.regexMap.cpu,t),t}function Pr(e){let t={vendor:void 0,model:void 0,type:void 0};return X(e.ua,e.regexMap.device,t),e.isSelfNavigator&&!t.type&&e.userAgentData?.mobile&&(t.type=G),e.isSelfNavigator&&t.model===`Macintosh`&&e.navigator&&e.navigator.standalone!==void 0&&e.navigator.maxTouchPoints&&e.navigator.maxTouchPoints>2&&(t.model=`iPad`,t.type=K),t}function Fr(e){let t={name:void 0,version:void 0};return X(e.ua,e.regexMap.engine,t),t}function Ir(e){let t={name:void 0,version:void 0};return X(e.ua,e.regexMap.os,t),e.isSelfNavigator&&!t.name&&e.userAgentData?.platform&&e.userAgentData.platform!==`Unknown`&&(t.name=e.userAgentData.platform.replace(/chrome os/i,hr).replace(/macos/i,gr)),t}function Lr(e,t){let n,r,i,a,o,s,c=()=>n||=jr(e,t);return{get ua(){return c().ua},get browser(){return r||=Mr(c()),r},get engine(){return i||=Fr(c()),i},get os(){return a||=Ir(c()),a},get device(){return o||=Pr(c()),o},get cpu(){return s||=Nr(c()),s}}}function Rr(e,t,n){let r=n.protocol===`https:`?`wss:`:`ws:`,i=(()=>{try{return new URL(t,n.href)}catch{return new URL(n.href)}})();if(e&&typeof e==`object`){if(e.host!=null||e.port!=null){let t=e.host??`${n.hostname}:${e.port}`,i=new URL(e.path??`/`,`${r}//${t}`);return i.protocol=r,i.href}let t=new URL(e.path??``,i);return t.protocol=r,t.href}if(typeof e==`number`)return`${r}//${n.hostname}:${e}`;let a=e??``;if(/^wss?:\/\//i.test(a))return a;if(/^https?:\/\//i.test(a))return De(a,/^https/i.test(a)?`wss://`:`ws://`);let o=new URL(a,i);return o.protocol=r,o.href}function zr(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:i,clientRpc:a,rpcOptions:o={},wsOptions:s={}}=e,c=!1,l=Un(),u=Rr(n.websocket,r??`./`,location),d=new Map;for(let e of n.jsonSerializableMethods??[])d.set(e,{jsonSerializable:!0});let f=zn(a.functions,{channel:Hn({url:u,authToken:t,definitions:d,...s}),rpcOptions:o});a.register({name:`devframe:auth:revoked`,type:`event`,handler:()=>{c=!1,i.emit(`rpc:is-trusted:updated`,!1)}});let p=t;function m(){let e=Lr(navigator.userAgent);return[e.browser.name,e.browser.version,`|`,e.os.name,e.os.version,e.device.type].filter(e=>e).join(` `)}async function h(e){p=e;let t=await f.$call(`devframe:anonymous:auth`,{authToken:e,ua:m(),origin:location.origin});return c=t.isTrusted,c&&l.resolve(!0),i.emit(`rpc:is-trusted:updated`,c),t.isTrusted}async function g(e){let t=(await f.$call(`devframe:auth:exchange`,{code:e,ua:m(),origin:location.origin}))?.authToken??null;return t&&(p=t,c=!0,l.resolve(!0),i.emit(`rpc:is-trusted:updated`,!0)),t}async function _(){return c?!0:h(p??``)}async function v(e=6e4){if(c&&l.resolve(!0),e<=0)return l.promise;let t=()=>{};return await Promise.race([l.promise.then(t),new Promise((n,r)=>{let i=setTimeout(()=>{r(Error(`[devframe] Timeout waiting for rpc to be trusted`))},e);t=()=>clearTimeout(i)})]),c}return{get isTrusted(){return c},requestTrust:_,requestTrustWithToken:h,requestTrustWithCode:g,ensureTrusted:v,call:(...e)=>f.$call(...e),callEvent:(...e)=>f.$callEvent(...e),callOptional:(...e)=>f.$callOptional(...e)}}function Br(e){return e.includes(`:`)}function Z(e,t){return Br(t)?t:`${e}:${t}`}function Vr(e,t,n){let r=`devframe:settings:${n}:${t}`,i;function a(){return i||=e.sharedState.get(r,{initialValue:{}}),i}return{async get(e){return(await a()).value()[e]},async set(e,t){(await a()).mutate(n=>{n[e]=t})},async delete(e){(await a()).mutate(t=>{delete t[e]})},async all(){return(await a()).value()},async onChange(e){return(await a()).on(`updated`,t=>e(t))}}}function Hr(e,t){return{global:Vr(e,t,`global`),project:Vr(e,t,`project`)}}function Ur(e,t){return{namespace:t,base:e,rpc:{namespace:t,register(n){if(Br(n.name))throw Error(`[devframe] Scoped client RPC registration for namespace "${t}" received an already-namespaced function name "${n.name}". Pass a bare name without a ":" separator.`);e.client.register({...n,name:`${t}:${n.name}`})},call:((n,...r)=>e.call(Z(t,n),...r)),callEvent:((n,...r)=>e.callEvent(Z(t,n),...r)),callOptional:((n,...r)=>e.callOptional(Z(t,n),...r)),sharedState:((n,r)=>e.sharedState.get(Z(t,n),r)),streaming:{subscribe:(n,r,i)=>e.streaming.subscribe(Z(t,n),r,i),upload:(n,r)=>e.streaming.upload(Z(t,n),r)}},settings:Hr(e,t),scope:e.scope}}var Wr=`__DEVFRAME_CONNECTION_META__`,Q=`__DEVFRAME_CONNECTION_AUTH_TOKEN__`;function Gr(e){let t=[()=>e,()=>localStorage.getItem(Q)??void 0,()=>window?.[Q],()=>globalThis?.[Q],()=>parent.window?.[Q]];for(let e of t)try{let t=e();if(t)return t}catch{}}function Kr(e){try{localStorage.setItem(Q,e)}catch{}globalThis[Q]=e}function qr(){let e=[()=>window?.[Wr],()=>globalThis?.[Wr],()=>parent.window?.[Wr]];for(let t of e)try{let e=t();if(e)return e}catch{}}async function Jr(t={}){let{baseURL:n=`./`,rpcOptions:r={},cacheOptions:i=!1}=t,a=pe(),o=Array.isArray(n)?n:[n],s=t.connectionMeta||qr(),c=o[0]??`./`;function l(){let t=Ce(e,c);try{return new URL(t,globalThis.location?.href).href}catch{return t}}if(!s){let t=[];for(let n of o)try{s=await fetch(Ce(e,n)).then(e=>e.json()),c=n,globalThis[Wr]=s;break}catch(e){t.push(e)}if(!s)throw Error(`Failed to get connection meta from ${o.join(`, `)}`,{cause:t})}let u=new ce({functions:[],...typeof t.cacheOptions==`object`?t.cacheOptions:{}}),d={rpc:void 0},f=Gr(t.authToken);f&&Kr(f);let p=new le(d);async function m(e){let t=[c,...o.filter(e=>e!==c)].filter(e=>e!=null),n=[];for(let r of t)try{return await fetch(Ce(e,r)).then(t=>{if(!t.ok)throw Error(`Failed to fetch ${e} from ${r}: ${t.status}`);return t.json()})}catch(e){n.push(e)}throw Error(`Failed to load ${e} from ${t.join(`, `)}`,{cause:n})}let h=s.backend===`static`?await vn({fetchJsonFromBases:m}):zr({authToken:f,connectionMeta:s,metaBaseUrl:l(),events:a,clientRpc:p,rpcOptions:{...r,async onRequest(e,t,n){if(await r.onRequest?.call(this,e,t,n),i&&u?.validate(e.m)){let r=u.cached(e.m,e.a);if(r)return n(r);{let n=await t(e);u?.apply(e,n)}}else await t(e)}},wsOptions:t.wsOptions}),g;try{g=new BroadcastChannel(`devframe-auth`)}catch{}let _={events:a,get isTrusted(){return h.isTrusted},connectionMeta:s,ensureTrusted:h.ensureTrusted,requestTrust:h.requestTrust,requestTrustWithToken:async e=>(Kr(e),h.requestTrustWithToken(e)),requestTrustWithCode:async e=>{let t=await h.requestTrustWithCode(e);if(!t)return!1;Kr(t);try{g?.postMessage({type:`auth-update`,authToken:t})}catch{}return!0},call:h.call,callEvent:h.callEvent,callOptional:h.callOptional,client:p,sharedState:void 0,streaming:void 0,cacheManager:u,scope:void 0};_.sharedState=Kt(_),_.streaming=En(_);let v=new Map;_.scope=(e=>{if(!e)return _;let t=v.get(e);return t||(t=Ur(_,e),v.set(e,t)),t}),d.rpc=_,h.requestTrust();let y=t.otpParam??`devframe_otp`;return y&&je(_,{param:y}),g&&(g.onmessage=e=>{e.data?.type===`auth-update`&&e.data.authToken&&_.requestTrustWithToken(e.data.authToken)}),_}var Yr=Jr,Xr=`devframes-plugin-code-server:state`;function Zr(e){let t=e.ownerDocument?.defaultView;return t?.HTMLIFrameElement?e instanceof t.HTMLIFrameElement:typeof HTMLIFrameElement<`u`?e instanceof HTMLIFrameElement:`src`in e}function Qr(e={}){let t=new Map,n=new Map,r=e.maxPanes??1/0,i,a,o=0,s,c=!1,l=0;function u(){let t=e.document??globalThis.document;if(!t)throw Error("[iframe-pane] No document available. Provide `options.document` or run in a DOM environment.");return t}function d(){return u().defaultView}function f(){if(e.container){let t=e.container,n=t.ownerDocument.defaultView?.getComputedStyle(t).position;return(!n||n===`static`)&&(t.style.position=`relative`),t}if(!i){let t=u();i=t.createElement(`div`),i.setAttribute(`data-iframe-panes`,``),Object.assign(i.style,{position:`fixed`,inset:`0`,pointerEvents:`none`}),e.zIndex!=null&&(i.style.zIndex=String(e.zIndex)),t.body.appendChild(i)}return i}function p(){return!a&&typeof ResizeObserver<`u`&&(a=new ResizeObserver(e=>{for(let t of e)n.get(t.target)?.forEach(e=>e.update())})),a}function m(){if(s!=null)return;let e=d();if(!e){h();return}s=e.requestAnimationFrame(()=>{s=void 0,h()})}function h(){for(let e of n.values())for(let t of e)t.update()}let g=()=>m();function _(){let e=d();e&&(n.size>0?(e.addEventListener(`scroll`,g,{capture:!0,passive:!0}),e.addEventListener(`resize`,g,{passive:!0})):(e.removeEventListener(`scroll`,g,{capture:!0}),e.removeEventListener(`resize`,g),s!=null&&(e.cancelAnimationFrame(s),s=void 0)))}function v(e,t){let r=n.get(t);r||(r=new Set,n.set(t,r),p()?.observe(t)),r.add(e),_()}function y(e,t){let r=n.get(t);r&&(r.delete(e),r.size===0&&(n.delete(t),a?.unobserve(t)),_())}function ee(e){e.element.style.pointerEvents=o>0?`none`:e.stateStyle.pointerEvents}function te(e){if(t.size<=r)return;let n=[...t.values()].filter(t=>!t.isMounted&&t!==e).sort((e,t)=>e.lastActiveAt-t.lastActiveAt);for(let e of n){if(t.size<=r)break;e.dispose()}}class ne{id;element;styleDefault;styleActive;styleHidden;stateKeys;target=null;isVisible=!1;isDisposed=!1;lastActiveAt=0;constructor(t,n){this.id=t,this.styleDefault={...e.styleDefault,...n.style},this.styleActive={opacity:`1`,pointerEvents:`auto`,...e.styleActive,...n.styleActive},this.styleHidden={opacity:`0.001`,pointerEvents:`none`,...e.styleHidden,...n.styleHidden},this.stateKeys=[...new Set([...Object.keys(this.styleActive),...Object.keys(this.styleHidden)])];let r=u(),i=this.element=n.element??r.createElement(n.tagName??`iframe`);if(i.setAttribute(`data-iframe-pane`,t),Object.assign(i.style,{display:`block`,position:`absolute`,left:`0px`,top:`0px`,border:`0`},this.styleDefault),n.attrs)for(let[e,t]of Object.entries(n.attrs))i.setAttribute(e,t);this.applyState(),n.onCreated?.(i),n.src!=null&&Zr(i)&&(i.src=n.src),f().appendChild(i)}get iframe(){return Zr(this.element)?this.element:void 0}get isMounted(){return this.target!=null}get stateStyle(){return this.isVisible?this.styleActive:this.styleHidden}applyState(){let e=this.stateStyle,t={};for(let n of this.stateKeys)n in e||(t[n]=this.styleDefault[n]??``);Object.assign(this.element.style,t,e),o>0&&(this.element.style.pointerEvents=`none`)}touch(){this.lastActiveAt=++l}mount(e){this.assertNotDisposed(),this.target!==e&&(this.target&&y(this,this.target),this.target=e,v(this,e)),this.show()}unmount(){this.target&&=(y(this,this.target),null),this.hide()}show(){this.assertNotDisposed(),this.touch(),this.isVisible=!0,this.applyState(),this.update()}hide(){this.isDisposed||(this.isVisible=!1,this.applyState())}update(){if(this.isDisposed||!this.target||!this.isVisible)return;let e=this.target.getBoundingClientRect(),t=f().getBoundingClientRect();Object.assign(this.element.style,{left:`${e.left-t.left}px`,top:`${e.top-t.top}px`,width:`${e.width}px`,height:`${e.height}px`})}dispose(){this.isDisposed||(this.unmount(),this.isDisposed=!0,this.element.remove(),t.delete(this.id),e.onPaneDisposed?.(this))}assertNotDisposed(){if(this.isDisposed)throw Error(`[iframe-pane] Pane "${this.id}" has been disposed`)}}return{list(){return[...t.values()]},get(e){return t.get(e)},has(e){return t.has(e)},ensure:((n,r={})=>{if(c)throw Error(`[iframe-pane] Manager has been disposed`);let i=t.get(n);return i?i.touch():(i=new ne(n,r),i.touch(),t.set(n,i),e.onPaneCreated?.(i),te(i)),i}),get maxPanes(){return r},set maxPanes(e){r=e,te()},get isPointerLocked(){return o>0},lockPointerEvents(){o++,t.forEach(ee);let e=!1;return()=>{e||(e=!0,o--,t.forEach(ee))}},updateAll:h,get container(){return e.container??i},get isDisposed(){return c},dispose(){if(!c){c=!0;for(let e of[...t.values()])e.dispose();a?.disconnect(),a=void 0,_(),i?.remove(),i=void 0}}}}function $r(...e){return e.filter(Boolean).join(` `)}function ei({variant:e=`primary`,size:t=`md`,class:n}={}){let r={primary:`btn-primary`,secondary:`btn-action`,outline:`btn-action`,ghost:`inline-flex items-center justify-center gap-1.5 rounded px2 py1 op75 hover:op100 hover:bg-active transition disabled:pointer-events-none disabled:op30!`,destructive:`btn-action text-error border-error/30!`,link:`inline-flex items-center gap-1.5 color-active hover:underline underline-offset-2`},i=t===`sm`?e===`primary`?`text-sm px-2.5! py-1!`:`text-sm`:t===`lg`?`text-base px-4! py-2!`:``;return $r(r[e],i,n)}function ti(e){return $r(`color-active hover:underline underline-offset-2`,e)}function ni(e){return $r(`inline-block size-4 rounded-full border-2 border-current border-t-transparent animate-spin`,e)}var ri=`https://coder.com/docs/code-server/latest/install`,ii=`https://github.com/coder/code-server`,ai=Qr(),oi=0,si=[{label:`Install script (Linux / macOS)`,command:`curl -fsSL https://code-server.dev/install.sh | sh`},{label:`npm`,command:`npm install -g code-server`},{label:`Homebrew`,command:`brew install code-server`}];function ci(e){let{detection:t,server:n,auth:r,busy:i}=e;return n.status===`running`&&n.port!=null?r?`running`:`starting`:n.status===`starting`||i&&n.status!==`error`?`starting`:t.checked?t.installed?`launch`:`not-installed`:`connecting`}function $(e,t,n){let r=document.createElement(e);return t&&(r.className=t),n!=null&&(r.textContent=n),r}function li(e,t=``){return $(`span`,$r(e,`shrink-0`,t))}function ui(){let e=$(`p`,`flex items-center gap-1.5 mb-2.5 text-xs tracking-wider uppercase color-muted`);return e.append(li(`i-ph-code-duotone`,`text-sm`),document.createTextNode(`code-server`)),e}function di(e){return`${location.protocol}//${location.hostname}:${e}/`}function fi(e){document.cookie=`${e.cookieName}=${e.cookieValue}; path=/; SameSite=Lax`}function pi(e,t={}){let n=t.resolveEditorUrl??di,r=t.applyAuth??fi,i=()=>t.actions?.launch?.(),a=()=>t.actions?.recheck?.(),o=$(`div`,`absolute inset-0 flex flex-col of-hidden bg-base color-base font-sans`);e.append(o);let s=`code-server-editor-${++oi}`,c=$(`div`,`dcs-frame flex-1 w-full`),l=null;function u(...e){ai.get(s)?.unmount(),l=null;let t=$(`div`,`flex-1 flex items-center justify-center p-6`),n=$(`div`,`w-full max-w-[560px]`);n.append(...e),t.append(n),o.replaceChildren(t)}function d(){let e=$(`div`,`flex items-center gap-2.5`);e.append($(`div`,ni(`color-muted`)),$(`span`,`text-sm color-muted`,`Connecting to devframe…`)),u(e)}function f(e){let t=[];t.push(ui()),t.push($(`h1`,`mb-2 text-[1.35rem] font-semibold`,`code-server is not installed`)),t.push($(`p`,`mb-5 text-sm leading-relaxed color-muted`,`Install code-server (VS Code in the browser) to open the editor here. Pick whichever fits your setup, then re-check.`));let n=$(`div`,`flex flex-col gap-3 mb-5`);for(let{label:e,command:t}of si){let r=$(`div`);r.append($(`label`,`block mb-1 text-xs color-muted`,e));let i=$(`div`,`flex items-center gap-2 px-2.5 py-2 rounded-md border border-base bg-secondary`);i.append($(`code`,`flex-1 of-x-auto whitespace-nowrap font-mono text-xs color-base`,t));let a=$(`button`,ei({variant:`outline`,size:`sm`,class:`shrink-0 text-[11px]`}),`Copy`);a.onclick=()=>{navigator.clipboard?.writeText(t).then(()=>{a.textContent=`Copied`,setTimeout(()=>{a.textContent=`Copy`},1200)}).catch(()=>{})},i.append(a),r.append(i),n.append(r)}t.push(n);let r=$(`div`,`flex flex-wrap items-center gap-2.5`),i=$(`button`,ei({variant:`primary`}));i.append(li(`i-ph-arrows-clockwise`,$r(`size-4`,e&&`animate-spin`)),document.createTextNode(e?`Checking…`:`Re-check`)),i.disabled=e,i.onclick=a,r.append(i),r.append(g(`Installation docs`,ri)),r.append(g(`GitHub`,ii)),t.push(r),u(...t)}function p(e){let{detection:t,server:n,busy:r}=e,a=[];a.push(ui()),a.push($(`h1`,`mb-2 text-[1.35rem] font-semibold`,`Launch the editor`)),a.push($(`p`,`mb-5 text-sm leading-relaxed color-muted`,`Start a code-server instance scoped to this workspace and open VS Code right here. The server runs with a generated password and the editor is signed in automatically.`)),n.status===`error`&&n.error&&a.push($(`div`,`mb-4 px-3 py-2.5 rounded-md border border-error/35 bg-error/10 text-error text-sm whitespace-pre-wrap break-words`,n.error));let o=$(`div`,`flex flex-wrap gap-x-4 gap-y-1.5 mb-5 text-xs color-muted`);if(t.version){let e=$(`span`);e.append(document.createTextNode(`version `),$(`code`,`font-mono color-base`,t.version)),o.append(e)}let s=$(`span`);s.append(document.createTextNode(`binary `),$(`code`,`font-mono color-base`,t.bin)),o.append(s),a.push(o);let c=$(`div`,`flex flex-wrap items-center gap-2.5`),l=$(`button`,ei({variant:`primary`}));r?l.append($(`span`,ni()),document.createTextNode(`Starting…`)):l.append(li(`i-ph-rocket-launch-duotone`,`size-4`),document.createTextNode(`Launch code-server`)),l.disabled=r??!1,l.onclick=i,c.append(l),a.push(c),u(...a)}function m(){let e=$(`div`,`flex items-center gap-2.5`);e.append($(`div`,ni(`color-muted`)),$(`span`,`text-sm color-muted`,`Starting code-server…`)),u(e)}function h(e){let t=n(e.server.port);l!==t&&(e.auth&&r(e.auth),l=t);let i=ai.ensure(s,{src:t,attrs:{allow:`clipboard-read; clipboard-write; cross-origin-isolated`},style:{border:`0`}});i.iframe.src!==t&&(i.iframe.src=t),o.firstElementChild!==c&&o.replaceChildren(c),i.mount(c)}function g(e,t){let n=$(`a`,ti(`inline-flex items-center gap-1 text-sm`));return n.append(document.createTextNode(e),li(`i-ph-arrow-square-out`,`size-3.5`)),n.href=t,n.target=`_blank`,n.rel=`noreferrer`,n}function _(e){switch(ci(e)){case`running`:h(e);break;case`starting`:m();break;case`connecting`:d();break;case`not-installed`:f(e.busy??!1);break;case`launch`:p(e);break}}return{update:_,dispose(){ai.get(s)?.dispose(),o.remove()}}}async function mi(e,t={}){let n=t.rpc??await Yr();n.connectionMeta.backend===`websocket`&&await n.ensureTrusted(5e3).catch(()=>{});let r={checked:!1,installed:!1,bin:`code-server`},i={status:`stopped`},a,o=!1,s=!1,c=pi(e,{actions:{launch:f,recheck:m}});function l(){s||c.update({detection:r,server:i,auth:a,busy:o})}function u(e){r=e.detection,i=e.server,e.auth&&(a=e.auth)}async function d(e,...t){try{return await n.call(e,...t)}catch(e){i={status:`error`,error:e instanceof Error?e.message:String(e)};return}}async function f(){if(o)return;o=!0,l();let e=await d(`devframes-plugin-code-server:start`,{});e&&u(e),o=!1,l()}async function p(){if(o)return;o=!0,l();let e=await d(`devframes-plugin-code-server:stop`);e&&u(e),a=void 0,o=!1,l()}async function m(){o||(o=!0,l(),await d(`devframes-plugin-code-server:detect`),o=!1,l())}l();let h=await d(`devframes-plugin-code-server:status`);h&&u(h),l();let g=await n.sharedState.get(Xr,{initialValue:{detection:r,server:i}}),_=g.value();r=_.detection??r,i=_.server??i;let v=g.on(`updated`,e=>{if(r=e.detection??r,i=e.server??i,i.status===`running`&&!a){d(`devframes-plugin-code-server:status`).then(e=>{e?.auth&&(a=e.auth),l()});return}l()});return l(),{rpc:n,stop:p,dispose(){s=!0,v?.(),c.dispose()}}}var hi=document.getElementById(`app`);if(!hi)throw Error(`#app mount node missing from index.html`);mi(hi).catch(e=>{hi.textContent=`Failed to connect: ${e instanceof Error?e.message:String(e)}`});
@@ -1 +0,0 @@
1
- @supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--un-bg-opacity:100%;--un-border-opacity:100%;--un-text-opacity:100%;--un-leading:initial;--un-ring-opacity:100%}}@property --un-text-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --un-leading{syntax:"*";inherits:false}@property --un-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --un-border-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --un-bg-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --un-ring-opacity{syntax:"<percentage>";inherits:false;initial-value:100%}@property --un-inset-ring-color{syntax:"*";inherits:false}@property --un-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-inset-shadow-color{syntax:"*";inherits:false}@property --un-ring-color{syntax:"*";inherits:false}@property --un-ring-inset{syntax:"*";inherits:false}@property --un-ring-offset-color{syntax:"*";inherits:false}@property --un-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --un-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --un-shadow-color{syntax:"*";inherits:false}:root,:host{--radius-md:.375rem;--spacing:.25rem;--colors-white:#fff;--text-xs-fontSize:.75rem;--text-xs-lineHeight:1rem;--colors-neutral-800:oklch(26.9% 0 0);--colors-neutral-200:oklch(92.2% 0 0);--tracking-wider:.05em;--font-sans:DM Sans,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--fontWeight-semibold:600;--leading-relaxed:1.625;--font-mono:DM Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--colors-error-DEFAULT:#f63d68;--radius-DEFAULT:.25rem;--default-transition-timingFunction:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--radius-lg:.5rem;--radius-xl:.75rem;--colors-success-DEFAULT:#12b76a;--colors-neutral-400:oklch(70.8% 0 0);--text-sm-fontSize:.875rem;--text-sm-lineHeight:1.25rem;--text-base-fontSize:1rem;--text-base-lineHeight:1.5rem;--colors-primary-500:#578861;--fontWeight-medium:500;--leading-none:1;--colors-blue-400:oklch(70.7% .165 254.624);--colors-amber-400:oklch(82.8% .189 84.429);--colors-green-400:oklch(79.2% .209 151.711);--colors-red-400:oklch(70.4% .191 22.216);--colors-sky-400:oklch(74.6% .16 232.661);--colors-violet-400:oklch(70.2% .183 293.541);--colors-rose-400:oklch(71.2% .194 13.428);--colors-teal-400:oklch(77.7% .152 181.912);--colors-orange-400:oklch(75% .183 55.934);--colors-emerald-400:oklch(76.5% .177 163.223);--colors-neutral-600:oklch(43.9% 0 0);--colors-blue-700:oklch(48.8% .243 264.376);--colors-blue-600:oklch(54.6% .245 262.881);--colors-amber-700:oklch(55.5% .163 48.998);--colors-amber-600:oklch(66.6% .179 58.318);--colors-green-700:oklch(52.7% .154 150.069);--colors-green-600:oklch(62.7% .194 149.214);--colors-red-700:oklch(50.5% .213 27.518);--colors-red-600:oklch(57.7% .245 27.325);--colors-sky-700:oklch(50% .134 242.749);--colors-sky-600:oklch(58.8% .158 241.966);--colors-violet-700:oklch(49.1% .27 292.581);--colors-violet-600:oklch(54.1% .281 293.009);--colors-rose-700:oklch(51.4% .222 16.935);--colors-rose-600:oklch(58.6% .253 17.585);--colors-teal-700:oklch(51.1% .096 186.391);--colors-teal-600:oklch(60% .118 184.704);--colors-orange-700:oklch(55.3% .195 38.402);--colors-orange-600:oklch(64.6% .222 41.116);--colors-emerald-700:oklch(50.8% .118 165.612);--colors-emerald-600:oklch(59.6% .145 163.225);--colors-primary-600:#40704b;--colors-neutral-500:oklch(55.6% 0 0);--colors-blue-300:oklch(80.9% .105 251.813);--colors-amber-300:oklch(87.9% .169 91.605);--colors-green-300:oklch(87.1% .15 154.449);--colors-red-300:oklch(80.8% .114 19.571);--colors-sky-300:oklch(82.8% .111 230.318);--colors-violet-300:oklch(81.1% .111 293.571);--colors-rose-300:oklch(81% .117 11.638);--colors-teal-300:oklch(85.5% .138 181.071);--colors-orange-300:oklch(83.7% .128 66.29);--colors-emerald-300:oklch(84.5% .143 164.978);--colors-primary-300:#93c69d;--colors-primary-400:#75a67e;--default-font-family:var(--font-sans);--default-monoFont-family:var(--font-mono)}*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-featureSettings,normal);font-variation-settings:var(--default-font-variationSettings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-monoFont-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-monoFont-featureSettings,normal);font-variation-settings:var(--default-monoFont-variationSettings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden~=until-found])){display:none!important}*,:before,:after{border-color:#8882}.i-ph-arrow-square-out{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M224 104a8 8 0 0 1-16 0V59.32l-66.33 66.34a8 8 0 0 1-11.32-11.32L196.68 48H152a8 8 0 0 1 0-16h64a8 8 0 0 1 8 8Zm-40 24a8 8 0 0 0-8 8v72H48V80h72a8 8 0 0 0 0-16H48a16 16 0 0 0-16 16v128a16 16 0 0 0 16 16h128a16 16 0 0 0 16-16v-72a8 8 0 0 0-8-8'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-arrows-clockwise{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M224 48v48a8 8 0 0 1-8 8h-48a8 8 0 0 1 0-16h28.69l-14.63-14.63a79.56 79.56 0 0 0-56.13-23.43h-.45a79.52 79.52 0 0 0-55.89 22.77a8 8 0 0 1-11.18-11.44a96 96 0 0 1 135 .79L208 76.69V48a8 8 0 0 1 16 0m-37.59 135.29a80 80 0 0 1-112.47-.66L59.31 168H88a8 8 0 0 0 0-16H40a8 8 0 0 0-8 8v48a8 8 0 0 0 16 0v-28.69l14.63 14.63A95.43 95.43 0 0 0 130 222.06h.53a95.36 95.36 0 0 0 67.07-27.33a8 8 0 0 0-11.18-11.44Z'/%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-code-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='m240 128l-48 40H64l-48-40l48-40h128Z' opacity='.2'/%3E%3Cpath d='M69.12 94.15L28.5 128l40.62 33.85a8 8 0 1 1-10.24 12.29l-48-40a8 8 0 0 1 0-12.29l48-40a8 8 0 0 1 10.24 12.3m176 27.7l-48-40a8 8 0 1 0-10.24 12.3L227.5 128l-40.62 33.85a8 8 0 1 0 10.24 12.29l48-40a8 8 0 0 0 0-12.29m-82.39-89.37a8 8 0 0 0-10.25 4.79l-64 176a8 8 0 0 0 4.79 10.26A8.1 8.1 0 0 0 96 224a8 8 0 0 0 7.52-5.27l64-176a8 8 0 0 0-4.79-10.25'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.i-ph-rocket-launch-duotone{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 256 256' width='1.11em' height='1.11em' xmlns='http://www.w3.org/2000/svg' %3E%3Cg fill='currentColor'%3E%3Cpath d='M184 120v61.65a8 8 0 0 1-2.34 5.65l-34.35 34.35a8 8 0 0 1-13.57-4.53L128 176Zm-48-48H74.35a8 8 0 0 0-5.65 2.34l-34.35 34.35a8 8 0 0 0 4.53 13.57L80 128ZM40 216c37.65 0 50.69-19.69 54.56-28.18l-26.38-26.38C59.69 165.31 40 178.35 40 216' opacity='.2'/%3E%3Cpath d='M223.85 47.12a16 16 0 0 0-15-15c-12.58-.75-44.73.4-71.41 27.07L132.69 64H74.36A15.9 15.9 0 0 0 63 68.68L28.7 103a16 16 0 0 0 9.07 27.16l38.47 5.37l44.21 44.21l5.37 38.49a15.94 15.94 0 0 0 10.78 12.92a16.1 16.1 0 0 0 5.1.83a15.9 15.9 0 0 0 11.3-4.68l34.32-34.3a15.9 15.9 0 0 0 4.68-11.36v-58.33l4.77-4.77c26.68-26.68 27.83-58.83 27.08-71.42M74.36 80h42.33l-39.53 39.52L40 114.34Zm74.41-9.45a76.65 76.65 0 0 1 59.11-22.47a76.46 76.46 0 0 1-22.42 59.16L128 164.68L91.32 128ZM176 181.64L141.67 216l-5.19-37.17L176 139.31Zm-74.16 9.5C97.34 201 82.29 224 40 224a8 8 0 0 1-8-8c0-42.29 23-57.34 32.86-61.85a8 8 0 0 1 6.64 14.56c-6.43 2.93-20.62 12.36-23.12 38.91c26.55-2.5 36-16.69 38.91-23.12a8 8 0 1 1 14.56 6.64Z'/%3E%3C/g%3E%3C/svg%3E");-webkit-mask:var(--un-icon) no-repeat;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;color:inherit;background-color:currentColor;width:1.11em;height:1.11em;-webkit-mask-size:100% 100%;mask-size:100% 100%}.badge{font-size:var(--text-xs-fontSize);line-height:var(--un-leading,var(--text-xs-lineHeight));--un-leading:var(--leading-none);line-height:var(--leading-none);--un-font-weight:var(--fontWeight-medium);font-weight:var(--fontWeight-medium);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);border-radius:var(--radius-md);gap:calc(var(--spacing) * 1);align-items:center;display:inline-flex}.badge-active{font-size:var(--text-xs-fontSize);line-height:var(--un-leading,var(--text-xs-lineHeight));color:color-mix(in srgb, var(--colors-primary-600) var(--un-text-opacity), transparent) ;--un-leading:var(--leading-none);line-height:var(--leading-none);--un-font-weight:var(--fontWeight-medium);font-weight:var(--fontWeight-medium);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);border-radius:var(--radius-md);background-color:color-mix(in oklab, #8881 var(--un-bg-opacity), transparent) ;gap:calc(var(--spacing) * 1);align-items:center;display:inline-flex}.badge-muted{font-size:var(--text-xs-fontSize);line-height:var(--un-leading,var(--text-xs-lineHeight));color:color-mix(in srgb, var(--colors-neutral-600) var(--un-text-opacity), transparent) ;--un-leading:var(--leading-none);line-height:var(--leading-none);--un-font-weight:var(--fontWeight-medium);font-weight:var(--fontWeight-medium);padding-inline:calc(var(--spacing) * 1.5);padding-block:calc(var(--spacing) * .5);border-radius:var(--radius-md);background-color:color-mix(in oklab, #8881 var(--un-bg-opacity), transparent) ;gap:calc(var(--spacing) * 1);align-items:center;display:inline-flex}.badge-color-amber{color:color-mix(in srgb, var(--colors-amber-700) var(--un-text-opacity), transparent) ;border-width:1px;border-color:color-mix(in srgb, var(--colors-amber-600) 15%, transparent) ;background-color:color-mix(in srgb, var(--colors-amber-400) 20%, transparent) }.dark .badge-color-amber{color:color-mix(in srgb, var(--colors-amber-300) var(--un-text-opacity), transparent) ;border-color:color-mix(in srgb, var(--colors-amber-300) 15%, transparent) ;background-color:color-mix(in srgb, var(--colors-amber-400) 10%, transparent) }.badge-color-blue{color:color-mix(in srgb, var(--colors-blue-700) var(--un-text-opacity), transparent) ;border-width:1px;border-color:color-mix(in srgb, var(--colors-blue-600) 15%, transparent) ;background-color:color-mix(in srgb, var(--colors-blue-400) 20%, transparent) }.dark .badge-color-blue{color:color-mix(in srgb, var(--colors-blue-300) var(--un-text-opacity), transparent) ;border-color:color-mix(in srgb, var(--colors-blue-300) 15%, transparent) ;background-color:color-mix(in srgb, var(--colors-blue-400) 10%, transparent) }.badge-color-emerald{color:color-mix(in srgb, var(--colors-emerald-700) var(--un-text-opacity), transparent) ;border-width:1px;border-color:color-mix(in srgb, var(--colors-emerald-600) 15%, transparent) ;background-color:color-mix(in srgb, var(--colors-emerald-400) 20%, transparent) }.dark .badge-color-emerald{color:color-mix(in srgb, var(--colors-emerald-300) var(--un-text-opacity), transparent) ;border-color:color-mix(in srgb, var(--colors-emerald-300) 15%, transparent) ;background-color:color-mix(in srgb, var(--colors-emerald-400) 10%, transparent) }.badge-color-green{color:color-mix(in srgb, var(--colors-green-700) var(--un-text-opacity), transparent) ;border-width:1px;border-color:color-mix(in srgb, var(--colors-green-600) 15%, transparent) ;background-color:color-mix(in srgb, var(--colors-green-400) 20%, transparent) }.dark .badge-color-green{color:color-mix(in srgb, var(--colors-green-300) var(--un-text-opacity), transparent) ;border-color:color-mix(in srgb, var(--colors-green-300) 15%, transparent) ;background-color:color-mix(in srgb, var(--colors-green-400) 10%, transparent) }.badge-color-orange{color:color-mix(in srgb, var(--colors-orange-700) var(--un-text-opacity), transparent) ;border-width:1px;border-color:color-mix(in srgb, var(--colors-orange-600) 15%, transparent) ;background-color:color-mix(in srgb, var(--colors-orange-400) 20%, transparent) }.dark .badge-color-orange{color:color-mix(in srgb, var(--colors-orange-300) var(--un-text-opacity), transparent) ;border-color:color-mix(in srgb, var(--colors-orange-300) 15%, transparent) ;background-color:color-mix(in srgb, var(--colors-orange-400) 10%, transparent) }.badge-color-red{color:color-mix(in srgb, var(--colors-red-700) var(--un-text-opacity), transparent) ;border-width:1px;border-color:color-mix(in srgb, var(--colors-red-600) 15%, transparent) ;background-color:color-mix(in srgb, var(--colors-red-400) 20%, transparent) }.dark .badge-color-red{color:color-mix(in srgb, var(--colors-red-300) var(--un-text-opacity), transparent) ;border-color:color-mix(in srgb, var(--colors-red-300) 15%, transparent) ;background-color:color-mix(in srgb, var(--colors-red-400) 10%, transparent) }.badge-color-rose{color:color-mix(in srgb, var(--colors-rose-700) var(--un-text-opacity), transparent) ;border-width:1px;border-color:color-mix(in srgb, var(--colors-rose-600) 15%, transparent) ;background-color:color-mix(in srgb, var(--colors-rose-400) 20%, transparent) }.dark .badge-color-rose{color:color-mix(in srgb, var(--colors-rose-300) var(--un-text-opacity), transparent) ;border-color:color-mix(in srgb, var(--colors-rose-300) 15%, transparent) ;background-color:color-mix(in srgb, var(--colors-rose-400) 10%, transparent) }.badge-color-sky{color:color-mix(in srgb, var(--colors-sky-700) var(--un-text-opacity), transparent) ;border-width:1px;border-color:color-mix(in srgb, var(--colors-sky-600) 15%, transparent) ;background-color:color-mix(in srgb, var(--colors-sky-400) 20%, transparent) }.dark .badge-color-sky{color:color-mix(in srgb, var(--colors-sky-300) var(--un-text-opacity), transparent) ;border-color:color-mix(in srgb, var(--colors-sky-300) 15%, transparent) ;background-color:color-mix(in srgb, var(--colors-sky-400) 10%, transparent) }.badge-color-teal{color:color-mix(in srgb, var(--colors-teal-700) var(--un-text-opacity), transparent) ;border-width:1px;border-color:color-mix(in srgb, var(--colors-teal-600) 15%, transparent) ;background-color:color-mix(in srgb, var(--colors-teal-400) 20%, transparent) }.dark .badge-color-teal{color:color-mix(in srgb, var(--colors-teal-300) var(--un-text-opacity), transparent) ;border-color:color-mix(in srgb, var(--colors-teal-300) 15%, transparent) ;background-color:color-mix(in srgb, var(--colors-teal-400) 10%, transparent) }.badge-color-violet{color:color-mix(in srgb, var(--colors-violet-700) var(--un-text-opacity), transparent) ;border-width:1px;border-color:color-mix(in srgb, var(--colors-violet-600) 15%, transparent) ;background-color:color-mix(in srgb, var(--colors-violet-400) 20%, transparent) }.dark .badge-color-violet{color:color-mix(in srgb, var(--colors-violet-300) var(--un-text-opacity), transparent) ;border-color:color-mix(in srgb, var(--colors-violet-300) 15%, transparent) ;background-color:color-mix(in srgb, var(--colors-violet-400) 10%, transparent) }.btn-primary{color:color-mix(in srgb, var(--colors-white) var(--un-text-opacity), transparent) ;padding-inline:calc(var(--spacing) * 3);padding-block:calc(var(--spacing) * 1.5);--un-outline-style:none;border-radius:var(--radius-DEFAULT);background-color:color-mix(in srgb, var(--colors-primary-500) var(--un-bg-opacity), transparent) ;gap:calc(var(--spacing) * 2);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration));outline-style:none;align-items:center;display:flex}.dark .badge-active,.dark .color-active{color:color-mix(in srgb, var(--colors-primary-300) var(--un-text-opacity), transparent) }.dark .badge-muted,.dark .color-muted{color:color-mix(in srgb, var(--colors-neutral-400) var(--un-text-opacity), transparent) }.color-active{color:color-mix(in srgb, var(--colors-primary-600) var(--un-text-opacity), transparent) }.color-base,.data-\[state\=active\]\:color-base[data-state=active]{color:color-mix(in srgb, var(--colors-neutral-800) var(--un-text-opacity), transparent) }.dark .color-base,.dark .data-\[state\=active\]\:color-base[data-state=active]{color:color-mix(in srgb, var(--colors-neutral-200) var(--un-text-opacity), transparent) }.color-muted{color:color-mix(in srgb, var(--colors-neutral-600) var(--un-text-opacity), transparent) }.dark .hover\:color-base:hover{color:color-mix(in srgb, var(--colors-neutral-200) var(--un-text-opacity), transparent) }.hover\:color-base:hover{color:color-mix(in srgb, var(--colors-neutral-800) var(--un-text-opacity), transparent) }.dark .placeholder\:color-faint::placeholder,.placeholder\:color-faint::placeholder{color:color-mix(in srgb, var(--colors-neutral-500) var(--un-text-opacity), transparent) }.btn-action{padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1);--un-outline-style:none;border-width:1px;border-color:color-mix(in oklab, #8882 var(--un-border-opacity), transparent) ;border-radius:var(--radius-DEFAULT);opacity:.75;gap:calc(var(--spacing) * 2);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration));outline-style:none;align-items:center;display:flex}.btn-icon{--un-outline-style:none;opacity:.65;width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration));border-radius:3.40282e38px;outline-style:none;justify-content:center;align-items:center;display:flex}.btn-icon-square{--un-outline-style:none;border-width:1px;border-color:color-mix(in oklab, #8882 var(--un-border-opacity), transparent) ;border-radius:var(--radius-DEFAULT);opacity:.65;width:calc(var(--spacing) * 9);height:calc(var(--spacing) * 9);transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration));outline-style:none;justify-content:center;align-items:center;display:flex}.border-base{border-color:color-mix(in oklab, #8882 var(--un-border-opacity), transparent) }.border-base\!{border-color:color-mix(in oklab, #8882 var(--un-border-opacity), transparent) !important}.dark .focus-visible\:border-active:focus-visible{border-color:color-mix(in srgb, var(--colors-primary-400) 25%, transparent) }.focus-visible\:border-active:focus-visible{border-color:color-mix(in srgb, var(--colors-primary-600) 25%, transparent) }.bg-active{background-color:color-mix(in oklab, #8881 var(--un-bg-opacity), transparent) }.bg-base,.data-\[state\=active\]\:bg-base[data-state=active]{background-color:color-mix(in srgb, var(--colors-white) var(--un-bg-opacity), transparent) }.dark .bg-base,.dark .data-\[state\=active\]\:bg-base[data-state=active]{background-color:color-mix(in oklab, #111 var(--un-bg-opacity), transparent) }.bg-secondary{background-color:color-mix(in oklab, #f5f5f5 var(--un-bg-opacity), transparent) }.dark .bg-secondary{background-color:color-mix(in oklab, #1a1a1a var(--un-bg-opacity), transparent) }.hover\:bg-active:hover{background-color:color-mix(in oklab, #8881 var(--un-bg-opacity), transparent) }.btn-action:hover,.btn-icon:hover,.btn-icon-square:hover{background-color:color-mix(in oklab, #8881 var(--un-bg-opacity), transparent) ;opacity:1}.btn-primary:hover{background-color:color-mix(in srgb, var(--colors-primary-600) var(--un-bg-opacity), transparent) }.dark .btn-icon,.dark .btn-icon-square,.dark .op-fade{opacity:.55}.op-fade{opacity:.65}.btn-action:disabled{pointer-events:none;opacity:.3!important}.btn-icon:disabled,.btn-icon-square:disabled{opacity:.3;pointer-events:none}.btn-primary:disabled{opacity:.5;pointer-events:none}.container{width:100%}.btn-action:focus-visible,.btn-icon:focus-visible,.btn-icon-square:focus-visible,.btn-primary:focus-visible{--un-ring-shadow:var(--un-ring-inset,) 0 0 0 calc(2px + var(--un-ring-offset-width)) var(--un-ring-color,currentColor);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);--un-ring-color:color-mix(in srgb, var(--colors-primary-500) 40%, transparent) }.z-nav{z-index:30}@supports (color:color-mix(in lab, red, red)){.badge-color-amber{color:color-mix(in oklab, var(--colors-amber-700) var(--un-text-opacity), transparent) ;border-color:color-mix(in oklab, var(--colors-amber-600) 15%, transparent) ;background-color:color-mix(in oklab, var(--colors-amber-400) 20%, transparent) }.dark .badge-color-amber{color:color-mix(in oklab, var(--colors-amber-300) var(--un-text-opacity), transparent) ;border-color:color-mix(in oklab, var(--colors-amber-300) 15%, transparent) ;background-color:color-mix(in oklab, var(--colors-amber-400) 10%, transparent) }.badge-color-blue{color:color-mix(in oklab, var(--colors-blue-700) var(--un-text-opacity), transparent) ;border-color:color-mix(in oklab, var(--colors-blue-600) 15%, transparent) ;background-color:color-mix(in oklab, var(--colors-blue-400) 20%, transparent) }.dark .badge-color-blue{color:color-mix(in oklab, var(--colors-blue-300) var(--un-text-opacity), transparent) ;border-color:color-mix(in oklab, var(--colors-blue-300) 15%, transparent) ;background-color:color-mix(in oklab, var(--colors-blue-400) 10%, transparent) }.badge-color-emerald{color:color-mix(in oklab, var(--colors-emerald-700) var(--un-text-opacity), transparent) ;border-color:color-mix(in oklab, var(--colors-emerald-600) 15%, transparent) ;background-color:color-mix(in oklab, var(--colors-emerald-400) 20%, transparent) }.dark .badge-color-emerald{color:color-mix(in oklab, var(--colors-emerald-300) var(--un-text-opacity), transparent) ;border-color:color-mix(in oklab, var(--colors-emerald-300) 15%, transparent) ;background-color:color-mix(in oklab, var(--colors-emerald-400) 10%, transparent) }.badge-color-green{color:color-mix(in oklab, var(--colors-green-700) var(--un-text-opacity), transparent) ;border-color:color-mix(in oklab, var(--colors-green-600) 15%, transparent) ;background-color:color-mix(in oklab, var(--colors-green-400) 20%, transparent) }.dark .badge-color-green{color:color-mix(in oklab, var(--colors-green-300) var(--un-text-opacity), transparent) ;border-color:color-mix(in oklab, var(--colors-green-300) 15%, transparent) ;background-color:color-mix(in oklab, var(--colors-green-400) 10%, transparent) }.badge-color-orange{color:color-mix(in oklab, var(--colors-orange-700) var(--un-text-opacity), transparent) ;border-color:color-mix(in oklab, var(--colors-orange-600) 15%, transparent) ;background-color:color-mix(in oklab, var(--colors-orange-400) 20%, transparent) }.dark .badge-color-orange{color:color-mix(in oklab, var(--colors-orange-300) var(--un-text-opacity), transparent) ;border-color:color-mix(in oklab, var(--colors-orange-300) 15%, transparent) ;background-color:color-mix(in oklab, var(--colors-orange-400) 10%, transparent) }.badge-color-red{color:color-mix(in oklab, var(--colors-red-700) var(--un-text-opacity), transparent) ;border-color:color-mix(in oklab, var(--colors-red-600) 15%, transparent) ;background-color:color-mix(in oklab, var(--colors-red-400) 20%, transparent) }.dark .badge-color-red{color:color-mix(in oklab, var(--colors-red-300) var(--un-text-opacity), transparent) ;border-color:color-mix(in oklab, var(--colors-red-300) 15%, transparent) ;background-color:color-mix(in oklab, var(--colors-red-400) 10%, transparent) }.badge-color-rose{color:color-mix(in oklab, var(--colors-rose-700) var(--un-text-opacity), transparent) ;border-color:color-mix(in oklab, var(--colors-rose-600) 15%, transparent) ;background-color:color-mix(in oklab, var(--colors-rose-400) 20%, transparent) }.dark .badge-color-rose{color:color-mix(in oklab, var(--colors-rose-300) var(--un-text-opacity), transparent) ;border-color:color-mix(in oklab, var(--colors-rose-300) 15%, transparent) ;background-color:color-mix(in oklab, var(--colors-rose-400) 10%, transparent) }.badge-color-sky{color:color-mix(in oklab, var(--colors-sky-700) var(--un-text-opacity), transparent) ;border-color:color-mix(in oklab, var(--colors-sky-600) 15%, transparent) ;background-color:color-mix(in oklab, var(--colors-sky-400) 20%, transparent) }.dark .badge-color-sky{color:color-mix(in oklab, var(--colors-sky-300) var(--un-text-opacity), transparent) ;border-color:color-mix(in oklab, var(--colors-sky-300) 15%, transparent) ;background-color:color-mix(in oklab, var(--colors-sky-400) 10%, transparent) }.badge-color-teal{color:color-mix(in oklab, var(--colors-teal-700) var(--un-text-opacity), transparent) ;border-color:color-mix(in oklab, var(--colors-teal-600) 15%, transparent) ;background-color:color-mix(in oklab, var(--colors-teal-400) 20%, transparent) }.dark .badge-color-teal{color:color-mix(in oklab, var(--colors-teal-300) var(--un-text-opacity), transparent) ;border-color:color-mix(in oklab, var(--colors-teal-300) 15%, transparent) ;background-color:color-mix(in oklab, var(--colors-teal-400) 10%, transparent) }.badge-color-violet{color:color-mix(in oklab, var(--colors-violet-700) var(--un-text-opacity), transparent) ;border-color:color-mix(in oklab, var(--colors-violet-600) 15%, transparent) ;background-color:color-mix(in oklab, var(--colors-violet-400) 20%, transparent) }.dark .badge-color-violet{color:color-mix(in oklab, var(--colors-violet-300) var(--un-text-opacity), transparent) ;border-color:color-mix(in oklab, var(--colors-violet-300) 15%, transparent) ;background-color:color-mix(in oklab, var(--colors-violet-400) 10%, transparent) }.btn-primary{color:color-mix(in oklab, var(--colors-white) var(--un-text-opacity), transparent) ;background-color:color-mix(in oklab, var(--colors-primary-500) var(--un-bg-opacity), transparent) }.badge-active{color:color-mix(in oklab, var(--colors-primary-600) var(--un-text-opacity), transparent) }.dark .badge-active{color:color-mix(in oklab, var(--colors-primary-300) var(--un-text-opacity), transparent) }.badge-muted{color:color-mix(in oklab, var(--colors-neutral-600) var(--un-text-opacity), transparent) }.dark .badge-muted{color:color-mix(in oklab, var(--colors-neutral-400) var(--un-text-opacity), transparent) }.color-active{color:color-mix(in oklab, var(--colors-primary-600) var(--un-text-opacity), transparent) }.dark .color-active{color:color-mix(in oklab, var(--colors-primary-300) var(--un-text-opacity), transparent) }.color-base{color:color-mix(in oklab, var(--colors-neutral-800) var(--un-text-opacity), transparent) }.dark .color-base,.dark .data-\[state\=active\]\:color-base[data-state=active]{color:color-mix(in oklab, var(--colors-neutral-200) var(--un-text-opacity), transparent) }.data-\[state\=active\]\:color-base[data-state=active]{color:color-mix(in oklab, var(--colors-neutral-800) var(--un-text-opacity), transparent) }.color-muted{color:color-mix(in oklab, var(--colors-neutral-600) var(--un-text-opacity), transparent) }.dark .color-muted{color:color-mix(in oklab, var(--colors-neutral-400) var(--un-text-opacity), transparent) }.dark .hover\:color-base:hover{color:color-mix(in oklab, var(--colors-neutral-200) var(--un-text-opacity), transparent) }.hover\:color-base:hover{color:color-mix(in oklab, var(--colors-neutral-800) var(--un-text-opacity), transparent) }.dark .placeholder\:color-faint::placeholder,.placeholder\:color-faint::placeholder{color:color-mix(in oklab, var(--colors-neutral-500) var(--un-text-opacity), transparent) }.dark .focus-visible\:border-active:focus-visible{border-color:color-mix(in oklab, var(--colors-primary-400) 25%, transparent) }.focus-visible\:border-active:focus-visible{border-color:color-mix(in oklab, var(--colors-primary-600) 25%, transparent) }.bg-base,.data-\[state\=active\]\:bg-base[data-state=active]{background-color:color-mix(in oklab, var(--colors-white) var(--un-bg-opacity), transparent) }.btn-primary:hover{background-color:color-mix(in oklab, var(--colors-primary-600) var(--un-bg-opacity), transparent) }.btn-action:focus-visible,.btn-icon:focus-visible,.btn-icon-square:focus-visible,.btn-primary:focus-visible{--un-ring-color:color-mix(in oklab, var(--colors-primary-500) 40%, transparent) }}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}@property --scroll-fade-t{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-b{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-s{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-e{syntax:"<length-percentage>";inherits:false;initial-value:0}@property --scroll-fade-mask{syntax:"*";inherits:false}@property --shimmer-angle{syntax:"<angle>";inherits:true;initial-value:20deg}@property --shimmer-image{syntax:"*";inherits:false}@property --shimmer-text-fill{syntax:"*";inherits:false}.text-\[1\.35rem\]{font-size:1.35rem}.text-\[11px\]{font-size:11px}.text-base{font-size:var(--text-base-fontSize);line-height:var(--un-leading,var(--text-base-lineHeight))}.text-sm{font-size:var(--text-sm-fontSize);line-height:var(--un-leading,var(--text-sm-lineHeight))}.text-xs{font-size:var(--text-xs-fontSize);line-height:var(--un-leading,var(--text-xs-lineHeight))}.text-error{color:color-mix(in srgb, var(--colors-error-DEFAULT) var(--un-text-opacity), transparent) }.leading-relaxed{--un-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.tracking-wider{--un-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.font-semibold{--un-font-weight:var(--fontWeight-semibold);font-weight:var(--fontWeight-semibold)}.tab{tab-size:4}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.me{margin-inline-end:calc(var(--spacing) * 4)}.p-1{padding:calc(var(--spacing) * 1)}.p-6{padding:calc(var(--spacing) * 6)}.px{padding-inline:calc(var(--spacing) * 4)}.px-2,.px2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-2\.5\!{padding-inline:calc(var(--spacing) * 2.5)!important}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4\!{padding-inline:calc(var(--spacing) * 4)!important}.py-1,.py1{padding-block:calc(var(--spacing) * 1)}.py-1\!{padding-block:calc(var(--spacing) * 1)!important}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\!{padding-block:calc(var(--spacing) * 2)!important}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.outline{outline-style:var(--un-outline-style);outline-width:1px}.outline-none{--un-outline-style:none;outline-style:none}.b,.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-current{border-color:currentColor}.border-error\/30\!{border-color:color-mix(in srgb, var(--colors-error-DEFAULT) 30%, transparent) !important}.border-error\/35{border-color:color-mix(in srgb, var(--colors-error-DEFAULT) 35%, transparent) }.border-transparent{border-color:#0000}.border-t-transparent{border-top-color:#0000}.rounded{border-radius:var(--radius-DEFAULT)}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.bg-error{background-color:color-mix(in srgb, var(--colors-error-DEFAULT) var(--un-bg-opacity), transparent) }.bg-error\/10{background-color:color-mix(in srgb, var(--colors-error-DEFAULT) 10%, transparent) }.bg-neutral-400{background-color:color-mix(in srgb, var(--colors-neutral-400) var(--un-bg-opacity), transparent) }.bg-success{background-color:color-mix(in srgb, var(--colors-success-DEFAULT) var(--un-bg-opacity), transparent) }.op100\!{opacity:1!important}.op75{opacity:.75}.hover\:op100:hover{opacity:1}.disabled\:op30\!:disabled{opacity:.3!important}.underline,.hover\:underline:hover{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.flex{display:flex}.inline-flex{display:inline-flex}.flex-1{flex:1}.shrink-0{flex-shrink:0}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-y-1\.5{row-gap:calc(var(--spacing) * 1.5)}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.size-3\.5{width:calc(var(--spacing) * 3.5);height:calc(var(--spacing) * 3.5)}.size-4{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.h-10{height:calc(var(--spacing) * 10)}.h-7\!{height:calc(var(--spacing) * 7)!important}.h-8{height:calc(var(--spacing) * 8)}.h1{height:calc(var(--spacing) * 1)}.max-w-\[560px\]{max-width:560px}.max-w-52{max-width:calc(var(--spacing) * 52)}.min-w-0{min-width:calc(var(--spacing) * 0)}.w-7\!{width:calc(var(--spacing) * 7)!important}.w-full{width:100%}.w-max{width:max-content}.block{display:block}.inline-block{display:inline-block}.cursor-pointer{cursor:pointer}.disabled\:pointer-events-none:disabled{pointer-events:none}.resize{resize:both}.select-none{-webkit-user-select:none;user-select:none}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.uppercase{text-transform:uppercase}.ring{--un-ring-shadow:var(--un-ring-inset,) 0 0 0 calc(1px + var(--un-ring-offset-width)) var(--un-ring-color,currentColor);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.focus-visible\:ring-2:focus-visible{--un-ring-shadow:var(--un-ring-inset,) 0 0 0 calc(2px + var(--un-ring-offset-width)) var(--un-ring-color,currentColor);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.focus-visible\:ring-primary-500\/40:focus-visible{--un-ring-color:color-mix(in srgb, var(--colors-primary-500) 40%, transparent) }.data-\[state\=active\]\:shadow-sm[data-state=active],.shadow-sm{--un-shadow:0 1px 3px 0 var(--un-shadow-color,#0000001a),0 1px 2px -1px var(--un-shadow-color,#0000001a);box-shadow:var(--un-inset-shadow), var(--un-inset-ring-shadow), var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,--un-gradient-from,--un-gradient-via,--un-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--un-ease,var(--default-transition-timingFunction));transition-duration:var(--un-duration,var(--default-transition-duration))}.items-center{align-items:center}.inset-0{inset:calc(var(--spacing) * 0)}.justify-center{justify-content:center}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.of-hidden{overflow:hidden}.of-x-auto{overflow-x:auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.filter{filter:var(--un-blur,) var(--un-brightness,) var(--un-contrast,) var(--un-grayscale,) var(--un-hue-rotate,) var(--un-invert,) var(--un-saturate,) var(--un-sepia,) var(--un-drop-shadow,)}@supports (color:color-mix(in lab, red, red)){.text-error{color:color-mix(in oklab, var(--colors-error-DEFAULT) var(--un-text-opacity), transparent) }.border-error\/30\!{border-color:color-mix(in oklab, var(--colors-error-DEFAULT) 30%, transparent) !important}.border-error\/35{border-color:color-mix(in oklab, var(--colors-error-DEFAULT) 35%, transparent) }.bg-error{background-color:color-mix(in oklab, var(--colors-error-DEFAULT) var(--un-bg-opacity), transparent) }.bg-error\/10{background-color:color-mix(in oklab, var(--colors-error-DEFAULT) 10%, transparent) }.bg-neutral-400{background-color:color-mix(in oklab, var(--colors-neutral-400) var(--un-bg-opacity), transparent) }.bg-success{background-color:color-mix(in oklab, var(--colors-success-DEFAULT) var(--un-bg-opacity), transparent) }.focus-visible\:ring-primary-500\/40:focus-visible{--un-ring-color:color-mix(in oklab, var(--colors-primary-500) 40%, transparent) }}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html{color:color-mix(in srgb, var(--colors-neutral-800) var(--un-text-opacity), transparent) ;background-color:color-mix(in srgb, var(--colors-white) var(--un-bg-opacity), transparent) }@supports (color:color-mix(in lab, red, red)){html{color:color-mix(in oklab, var(--colors-neutral-800) var(--un-text-opacity), transparent) ;background-color:color-mix(in oklab, var(--colors-white) var(--un-bg-opacity), transparent) }}.dark html{color:color-mix(in srgb, var(--colors-neutral-200) var(--un-text-opacity), transparent) ;background-color:color-mix(in oklab, #111 var(--un-bg-opacity), transparent) }@supports (color:color-mix(in lab, red, red)){.dark html{color:color-mix(in oklab, var(--colors-neutral-200) var(--un-text-opacity), transparent) }}*{scrollbar-width:thin;scrollbar-color:#88888859 transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#8888884d;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#88888880}@keyframes af-spin{to{transform:rotate(360deg)}}@keyframes af-spin-reverse{to{transform:rotate(-360deg)}}.af-spin{animation:1s linear infinite af-spin}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:9999}html.dark::view-transition-old(root){z-index:9999}html.dark::view-transition-new(root){z-index:1}@media (prefers-reduced-motion:reduce){::view-transition-old(root){animation:none!important}::view-transition-new(root){animation:none!important}}[data-reka-popper-content-wrapper]{z-index:70}[data-af-animate][data-state=open]{animation:.15s both af-fade-in}[data-af-animate][data-state=closed]{animation:.15s both af-fade-out}[data-af-modal][data-state=open]{animation:.18s cubic-bezier(.16,1,.3,1) both af-modal-in}[data-af-modal][data-state=closed]{animation:.15s both af-modal-out}[data-af-drawer]{animation-duration:.22s;animation-timing-function:cubic-bezier(.32,.72,0,1);animation-fill-mode:both}[data-af-drawer][data-side=right]{animation-name:af-slide-right}[data-af-drawer][data-side=left]{animation-name:af-slide-left}[data-af-drawer][data-side=top]{animation-name:af-slide-top}[data-af-drawer][data-side=bottom]{animation-name:af-slide-bottom}[data-af-drawer][data-state=closed]{animation-direction:reverse}@keyframes af-fade-in{0%{opacity:0}}@keyframes af-fade-out{to{opacity:0}}@keyframes af-modal-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.96)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes af-modal-out{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(.96)}}@keyframes af-slide-right{0%{transform:translate(100%)}}@keyframes af-slide-left{0%{transform:translate(-100%)}}@keyframes af-slide-top{0%{transform:translateY(-100%)}}@keyframes af-slide-bottom{0%{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){[data-af-animate],[data-af-modal],[data-af-drawer]{animation:none!important}}.v-popper__popper .v-popper__inner{font-size:var(--text-xs-fontSize);line-height:var(--un-leading,var(--text-xs-lineHeight));color:color-mix(in srgb, var(--colors-neutral-800) var(--un-text-opacity), transparent) ;padding-inline:calc(var(--spacing) * 2);padding-block:calc(var(--spacing) * 1);border-width:1px;border-color:color-mix(in oklab, #8882 var(--un-border-opacity), transparent) ;border-radius:var(--radius-md);background-color:color-mix(in srgb, var(--colors-white) 75%, transparent) ;--un-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--un-backdrop-blur,) var(--un-backdrop-brightness,) var(--un-backdrop-contrast,) var(--un-backdrop-grayscale,) var(--un-backdrop-hue-rotate,) var(--un-backdrop-invert,) var(--un-backdrop-opacity,) var(--un-backdrop-saturate,) var(--un-backdrop-sepia,);backdrop-filter:var(--un-backdrop-blur,) var(--un-backdrop-brightness,) var(--un-backdrop-contrast,) var(--un-backdrop-grayscale,) var(--un-backdrop-hue-rotate,) var(--un-backdrop-invert,) var(--un-backdrop-opacity,) var(--un-backdrop-saturate,) var(--un-backdrop-sepia,);box-shadow:0 4px 16px #0000001f}@supports (color:color-mix(in lab, red, red)){.v-popper__popper .v-popper__inner{color:color-mix(in oklab, var(--colors-neutral-800) var(--un-text-opacity), transparent) ;background-color:color-mix(in oklab, var(--colors-white) 75%, transparent) }}.dark .v-popper__popper .v-popper__inner{color:color-mix(in srgb, var(--colors-neutral-200) var(--un-text-opacity), transparent) ;background-color:oklab(17.7638% -2.23517e-8 0/.75)}@supports (color:color-mix(in lab, red, red)){.dark .v-popper__popper .v-popper__inner{color:color-mix(in oklab, var(--colors-neutral-200) var(--un-text-opacity), transparent) }}@property --un-backdrop-blur{syntax:"*";inherits:false}@property --un-backdrop-brightness{syntax:"*";inherits:false}@property --un-backdrop-contrast{syntax:"*";inherits:false}@property --un-backdrop-grayscale{syntax:"*";inherits:false}@property --un-backdrop-hue-rotate{syntax:"*";inherits:false}@property --un-backdrop-invert{syntax:"*";inherits:false}@property --un-backdrop-opacity{syntax:"*";inherits:false}@property --un-backdrop-saturate{syntax:"*";inherits:false}@property --un-backdrop-sepia{syntax:"*";inherits:false}.v-popper__popper .v-popper__arrow-outer{border-color:color-mix(in oklab, #8882 var(--un-border-opacity), transparent) }.v-popper__popper .v-popper__arrow-inner{border-color:color-mix(in srgb, var(--colors-white) 75%, transparent) ;visibility:visible}@supports (color:color-mix(in lab, red, red)){.v-popper__popper .v-popper__arrow-inner{border-color:color-mix(in oklab, var(--colors-white) 75%, transparent) }}.dark .v-popper__popper .v-popper__arrow-inner{border-color:oklab(17.7638% -2.23517e-8 0/.75)}.v-popper--theme-dropdown .v-popper__inner{padding:calc(var(--spacing) * 1)}.splitpanes{width:100%;height:100%;display:flex}.splitpanes--vertical{flex-direction:row}.splitpanes--horizontal{flex-direction:column}.splitpanes--dragging *{-webkit-user-select:none;user-select:none}.splitpanes__pane{width:100%;height:100%;overflow:hidden}.splitpanes--vertical>.splitpanes__pane{transition:width .2s ease-out}.splitpanes--horizontal>.splitpanes__pane{transition:height .2s ease-out}.splitpanes--dragging>.splitpanes__pane{pointer-events:none;transition:none}.splitpanes__splitter{touch-action:none;background-color:color-mix(in oklab, #8882 var(--un-bg-opacity), transparent) ;transition:background-color .2s;position:relative}.splitpanes__splitter:hover{background-color:color-mix(in oklab, #8886 var(--un-bg-opacity), transparent) }.splitpanes--vertical>.splitpanes__splitter{cursor:col-resize;min-width:1px}.splitpanes--horizontal>.splitpanes__splitter{cursor:row-resize;min-height:1px}.splitpanes__splitter:before{content:"";z-index:1;position:absolute;inset:-4px}html,body{height:100%;margin:0}#app{height:100%;position:relative}