@bodhiapp/bodhi-js-core 0.0.30 → 0.0.32
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/bodhi-core.cjs.js +4 -4
- package/dist/bodhi-core.esm.js +431 -284
- package/dist/cli/setup-modal.js +1 -1
- package/dist/direct-client-base.d.ts +12 -6
- package/dist/facade-client-base.d.ts +12 -1
- package/dist/index.d.ts +1 -0
- package/dist/interface.d.ts +28 -0
- package/dist/mcp-fetch.d.ts +23 -0
- package/dist/mcp.cjs.js +1 -0
- package/dist/mcp.d.ts +19 -0
- package/dist/mcp.esm.js +18 -0
- package/dist/openai-client-compat.d.ts +1 -13
- package/dist/types/auth.d.ts +3 -0
- package/dist/types/index.cjs.js +1 -1
- package/dist/types/index.d.ts +4 -1
- package/dist/types/index.esm.js +67 -46
- package/dist/types/storage.d.ts +31 -0
- package/package.json +22 -6
package/dist/bodhi-core.esm.js
CHANGED
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
import { unwrapResponse as
|
|
2
|
-
import { BodhiApiError as
|
|
3
|
-
import { createOperationError as
|
|
4
|
-
import { EXTENSION_STATE_NOT_FOUND as
|
|
5
|
-
import { UAParser as
|
|
6
|
-
import { DEFAULT_SETUP_STATE as $, isRequestMessage as
|
|
1
|
+
import { unwrapResponse as g, BodhiError as h, BodhiApiError as L } from "@bodhiapp/bodhi-browser-types";
|
|
2
|
+
import { BodhiApiError as Ae, BodhiError as Te, unwrapResponse as ze } from "@bodhiapp/bodhi-browser-types";
|
|
3
|
+
import { createOperationError as M, throwAccessRequestDenialError as I, buildResponse as U, buildError as D, buildEvent as F, DIRECT_STATE_NOT_INITIALIZED as b, NOOP_STATE_CALLBACK as N, backendServerNotReady as B, BACKEND_SERVER_NOT_CONNECTED as V, BACKEND_SERVER_NOT_REACHABLE as S, isDirectState as k, SERVER_ERROR_CODES as E, isExtensionState as q } from "./types/index.esm.js";
|
|
4
|
+
import { EXTENSION_STATE_NOT_FOUND as Pe, EXTENSION_STATE_NOT_INITIALIZED as Oe, INITIAL_AUTH_STATE as Le, InMemoryStorage as Me, PENDING_EXTENSION_READY as Ie, createApiError as Ue, createDirectStateNotReachable as De, createDirectStateNotReady as Fe, createDirectStateReady as Be, createExtensionStateNotFound as Ve, createExtensionStateNotInitialized as qe, getBackendServerState as $e, getExtensionId as He, getServerUrl as Qe, handleRequest as Ke, isAuthError as Ge, isAuthLoading as We, isAuthenticated as Ze, isClientReady as Ye, isDirectClientReady as Xe, isDirectServerReady as Je, isExtensionClientReady as et, isExtensionServerReady as tt, isServerReady as nt } from "./types/index.esm.js";
|
|
5
|
+
import { UAParser as _ } from "ua-parser-js";
|
|
6
|
+
import { DEFAULT_SETUP_STATE as $, isRequestMessage as H, MSG as Q } from "@bodhiapp/setup-modal-types";
|
|
7
7
|
const K = 2e3, G = 3e5;
|
|
8
|
-
function W(
|
|
9
|
-
const n = t?.intervalMs ?? K, r = t?.timeoutMs ?? G,
|
|
10
|
-
return new Promise((i,
|
|
8
|
+
function W(s, e, t) {
|
|
9
|
+
const n = t?.intervalMs ?? K, r = t?.timeoutMs ?? G, a = Date.now();
|
|
10
|
+
return new Promise((i, c) => {
|
|
11
11
|
const l = async () => {
|
|
12
|
-
if (Date.now() -
|
|
13
|
-
|
|
12
|
+
if (Date.now() - a >= r) {
|
|
13
|
+
c(M("timeout_error", "Access request polling timed out"));
|
|
14
14
|
return;
|
|
15
15
|
}
|
|
16
16
|
try {
|
|
17
|
-
const d = await
|
|
18
|
-
if (
|
|
17
|
+
const d = await s(e), p = g(d), o = p.status;
|
|
18
|
+
if (o === "approved") {
|
|
19
19
|
i(p);
|
|
20
20
|
return;
|
|
21
21
|
}
|
|
22
|
-
(
|
|
22
|
+
(o === "denied" || o === "expired" || o === "failed") && I(o), setTimeout(l, n);
|
|
23
23
|
} catch (d) {
|
|
24
24
|
if (d instanceof h) {
|
|
25
|
-
|
|
25
|
+
c(d);
|
|
26
26
|
return;
|
|
27
27
|
}
|
|
28
|
-
|
|
28
|
+
c(d);
|
|
29
29
|
}
|
|
30
30
|
};
|
|
31
31
|
l();
|
|
32
32
|
});
|
|
33
33
|
}
|
|
34
|
-
class
|
|
34
|
+
class de {
|
|
35
35
|
constructor(e) {
|
|
36
36
|
this.body = {}, this.body.app_client_id = e;
|
|
37
37
|
}
|
|
@@ -65,7 +65,7 @@ class ue {
|
|
|
65
65
|
return n;
|
|
66
66
|
}
|
|
67
67
|
}
|
|
68
|
-
class
|
|
68
|
+
class fe {
|
|
69
69
|
constructor() {
|
|
70
70
|
this.options = {}, this.mcpServers = [];
|
|
71
71
|
}
|
|
@@ -95,35 +95,35 @@ class ce {
|
|
|
95
95
|
return this.mcpServers.length > 0 && (e.requested = { mcp_servers: [...this.mcpServers] }), e;
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
|
-
async function
|
|
99
|
-
const n = t?.intervalMs ?? 2e3, r = t?.timeoutMs ?? 3e5,
|
|
100
|
-
if (!
|
|
98
|
+
async function pe(s, e, t) {
|
|
99
|
+
const n = t?.intervalMs ?? 2e3, r = t?.timeoutMs ?? 3e5, a = window.open(s, "_bodhi_review", "width=600,height=700");
|
|
100
|
+
if (!a)
|
|
101
101
|
throw new Error("Failed to open review popup - popup may be blocked");
|
|
102
|
-
return new Promise((i,
|
|
102
|
+
return new Promise((i, c) => {
|
|
103
103
|
const l = Date.now();
|
|
104
104
|
let d = null;
|
|
105
105
|
const p = () => {
|
|
106
106
|
d && clearTimeout(d);
|
|
107
|
-
},
|
|
108
|
-
if (!
|
|
107
|
+
}, o = () => Date.now() - l >= r ? (p(), a?.close(), c(new Error("Access request review timed out")), !0) : !1, u = async () => {
|
|
108
|
+
if (!o()) {
|
|
109
109
|
try {
|
|
110
|
-
const
|
|
111
|
-
if (
|
|
112
|
-
p(),
|
|
110
|
+
const f = await e();
|
|
111
|
+
if (f !== null) {
|
|
112
|
+
p(), a.closed || a.close(), i(f);
|
|
113
113
|
return;
|
|
114
114
|
}
|
|
115
115
|
} catch {
|
|
116
116
|
}
|
|
117
|
-
if (
|
|
117
|
+
if (a.closed) {
|
|
118
118
|
try {
|
|
119
|
-
const
|
|
120
|
-
if (
|
|
121
|
-
p(), i(
|
|
119
|
+
const f = await e();
|
|
120
|
+
if (f !== null) {
|
|
121
|
+
p(), i(f);
|
|
122
122
|
return;
|
|
123
123
|
}
|
|
124
124
|
} catch {
|
|
125
125
|
}
|
|
126
|
-
p(),
|
|
126
|
+
p(), c(new Error("Review popup was closed before approval"));
|
|
127
127
|
return;
|
|
128
128
|
}
|
|
129
129
|
d = setTimeout(u, n);
|
|
@@ -132,7 +132,7 @@ async function de(a, e, t) {
|
|
|
132
132
|
u();
|
|
133
133
|
});
|
|
134
134
|
}
|
|
135
|
-
const j = 3e4,
|
|
135
|
+
const j = 3e4, C = {
|
|
136
136
|
debug: 0,
|
|
137
137
|
info: 1,
|
|
138
138
|
warn: 2,
|
|
@@ -144,11 +144,11 @@ class Z {
|
|
|
144
144
|
this.prefix = e, this.level = t;
|
|
145
145
|
}
|
|
146
146
|
shouldLog(e) {
|
|
147
|
-
return
|
|
147
|
+
return C[e] >= C[this.level];
|
|
148
148
|
}
|
|
149
149
|
ts() {
|
|
150
|
-
const e = /* @__PURE__ */ new Date(), t = e.getHours().toString().padStart(2, "0"), n = e.getMinutes().toString().padStart(2, "0"), r = e.getSeconds().toString().padStart(2, "0"),
|
|
151
|
-
return `${t}:${n}:${r}.${
|
|
150
|
+
const e = /* @__PURE__ */ new Date(), t = e.getHours().toString().padStart(2, "0"), n = e.getMinutes().toString().padStart(2, "0"), r = e.getSeconds().toString().padStart(2, "0"), a = e.getMilliseconds().toString().padStart(3, "0");
|
|
151
|
+
return `${t}:${n}:${r}.${a}`;
|
|
152
152
|
}
|
|
153
153
|
debug(...e) {
|
|
154
154
|
this.shouldLog("debug") && console.log(`[${this.prefix}] ${this.ts()}`, ...e);
|
|
@@ -163,11 +163,11 @@ class Z {
|
|
|
163
163
|
this.shouldLog("error") && console.error(`[${this.prefix}] ${this.ts()}`, ...e);
|
|
164
164
|
}
|
|
165
165
|
}
|
|
166
|
-
function
|
|
167
|
-
return "handleOAuthCallback" in
|
|
166
|
+
function he(s) {
|
|
167
|
+
return "handleOAuthCallback" in s;
|
|
168
168
|
}
|
|
169
|
-
function
|
|
170
|
-
const e = new
|
|
169
|
+
function me() {
|
|
170
|
+
const e = new _().getBrowser(), t = e.name?.toLowerCase() || "", n = e.name || "Unknown Browser";
|
|
171
171
|
if (t.includes("chrome"))
|
|
172
172
|
return { name: "Google Chrome", type: "chrome" };
|
|
173
173
|
if (t.includes("edge"))
|
|
@@ -181,21 +181,21 @@ function pe() {
|
|
|
181
181
|
return (!r || r.toLowerCase() === "unknown") && (r = "Unknown Browser"), { name: r, type: "unknown" };
|
|
182
182
|
}
|
|
183
183
|
}
|
|
184
|
-
function
|
|
185
|
-
const t = new
|
|
184
|
+
function ge() {
|
|
185
|
+
const t = new _().getOS().name?.toLowerCase() || "";
|
|
186
186
|
return t.includes("mac") ? { name: "macOS", type: "macos" } : t.includes("windows") ? { name: "Windows", type: "windows" } : t.includes("linux") || t.includes("ubuntu") || t.includes("fedora") || t.includes("debian") ? { name: "Linux", type: "linux" } : { name: "Unknown", type: "unknown" };
|
|
187
187
|
}
|
|
188
|
-
function Y(
|
|
188
|
+
function Y(s) {
|
|
189
189
|
return {
|
|
190
|
-
ACCESS_TOKEN: `${
|
|
191
|
-
REFRESH_TOKEN: `${
|
|
192
|
-
EXPIRES_AT: `${
|
|
193
|
-
CODE_VERIFIER: `${
|
|
194
|
-
STATE: `${
|
|
195
|
-
ACCESS_REQUEST_ID: `${
|
|
190
|
+
ACCESS_TOKEN: `${s}:access_token`,
|
|
191
|
+
REFRESH_TOKEN: `${s}:refresh_token`,
|
|
192
|
+
EXPIRES_AT: `${s}:expires_at`,
|
|
193
|
+
CODE_VERIFIER: `${s}:code_verifier`,
|
|
194
|
+
STATE: `${s}:state`,
|
|
195
|
+
ACCESS_REQUEST_ID: `${s}:access_request_id`
|
|
196
196
|
};
|
|
197
197
|
}
|
|
198
|
-
const
|
|
198
|
+
const ve = {
|
|
199
199
|
// Facade-level (BodhiClientUserPrefsManager user prefs)
|
|
200
200
|
EXT: "bodhi-js-sdk:ext:",
|
|
201
201
|
WEB: "bodhi-js-sdk:web:",
|
|
@@ -205,8 +205,8 @@ const me = {
|
|
|
205
205
|
WEB_DIRECT: "bodhi-js-sdk:web:direct:",
|
|
206
206
|
WEB_EXT: "bodhi-js-sdk:web:ext:"
|
|
207
207
|
};
|
|
208
|
-
function
|
|
209
|
-
return `${
|
|
208
|
+
function ye(s, e) {
|
|
209
|
+
return `${s}:${e}`;
|
|
210
210
|
}
|
|
211
211
|
class X {
|
|
212
212
|
/**
|
|
@@ -286,7 +286,7 @@ class X {
|
|
|
286
286
|
}
|
|
287
287
|
}
|
|
288
288
|
const J = '<!doctype html>\n<html lang="en">\n <head>\n <meta charset="UTF-8" />\n <link rel="icon" type="image/svg+xml" href="/vite.svg" />\n <meta name="viewport" content="width=device-width, initial-scale=1.0" />\n <title>Vite + React + TS</title>\n <script type="module" crossorigin>function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll(\'link[rel="modulepreload"]\'))t(e);new MutationObserver(e=>{for(const n of e)if("childList"===n.type)for(const e of n.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&t(e)}).observe(document,{childList:!0,subtree:!0})}function t(e){if(e.ep)return;e.ep=!0;const t=function(e){const t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?t.credentials="include":"anonymous"===e.crossOrigin?t.credentials="omit":t.credentials="same-origin",t}(e);fetch(e.href,t)}}();var t,n,r,a,l={exports:{}},s={},i={exports:{}},o={};function u(){if(t)return o;t=1;var e=Symbol.for("react.element"),n=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),a=Symbol.for("react.strict_mode"),l=Symbol.for("react.profiler"),s=Symbol.for("react.provider"),i=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),c=Symbol.for("react.suspense"),d=Symbol.for("react.memo"),f=Symbol.for("react.lazy"),p=Symbol.iterator;var m={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},h=Object.assign,g={};function v(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}function y(){}function b(e,t,n){this.props=e,this.context=t,this.refs=g,this.updater=n||m}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},y.prototype=v.prototype;var x=b.prototype=new y;x.constructor=b,h(x,v.prototype),x.isPureReactComponent=!0;var w=Array.isArray,k=Object.prototype.hasOwnProperty,S={current:null},N={key:!0,ref:!0,__self:!0,__source:!0};function j(t,n,r){var a,l={},s=null,i=null;if(null!=n)for(a in void 0!==n.ref&&(i=n.ref),void 0!==n.key&&(s=""+n.key),n)k.call(n,a)&&!N.hasOwnProperty(a)&&(l[a]=n[a]);var o=arguments.length-2;if(1===o)l.children=r;else if(1<o){for(var u=Array(o),c=0;c<o;c++)u[c]=arguments[c+2];l.children=u}if(t&&t.defaultProps)for(a in o=t.defaultProps)void 0===l[a]&&(l[a]=o[a]);return{$$typeof:e,type:t,key:s,ref:i,props:l,_owner:S.current}}function C(t){return"object"==typeof t&&null!==t&&t.$$typeof===e}var E=/\\/+/g;function A(e,t){return"object"==typeof e&&null!==e&&null!=e.key?function(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(e){return t[e]})}(""+e.key):t.toString(36)}function z(t,r,a,l,s){var i=typeof t;"undefined"!==i&&"boolean"!==i||(t=null);var o=!1;if(null===t)o=!0;else switch(i){case"string":case"number":o=!0;break;case"object":switch(t.$$typeof){case e:case n:o=!0}}if(o)return s=s(o=t),t=""===l?"."+A(o,0):l,w(s)?(a="",null!=t&&(a=t.replace(E,"$&/")+"/"),z(s,r,a,"",function(e){return e})):null!=s&&(C(s)&&(s=function(t,n){return{$$typeof:e,type:t.type,key:n,ref:t.ref,props:t.props,_owner:t._owner}}(s,a+(!s.key||o&&o.key===s.key?"":(""+s.key).replace(E,"$&/")+"/")+t)),r.push(s)),1;if(o=0,l=""===l?".":l+":",w(t))for(var u=0;u<t.length;u++){var c=l+A(i=t[u],u);o+=z(i,r,a,c,s)}else if(c=function(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=p&&e[p]||e["@@iterator"])?e:null}(t),"function"==typeof c)for(t=c.call(t),u=0;!(i=t.next()).done;)o+=z(i=i.value,r,a,c=l+A(i,u++),s);else if("object"===i)throw r=String(t),Error("Objects are not valid as a React child (found: "+("[object Object]"===r?"object with keys {"+Object.keys(t).join(", ")+"}":r)+"). If you meant to render a collection of children, use an array instead.");return o}function P(e,t,n){if(null==e)return e;var r=[],a=0;return z(e,r,"","",function(e){return t.call(n,e,a++)}),r}function _(e){if(-1===e._status){var t=e._result;(t=t()).then(function(t){0!==e._status&&-1!==e._status||(e._status=1,e._result=t)},function(t){0!==e._status&&-1!==e._status||(e._status=2,e._result=t)}),-1===e._status&&(e._status=0,e._result=t)}if(1===e._status)return e._result.default;throw e._result}var L={current:null},O={transition:null},T={ReactCurrentDispatcher:L,ReactCurrentBatchConfig:O,ReactCurrentOwner:S};function M(){throw Error("act(...) is not supported in production builds of React.")}return o.Children={map:P,forEach:function(e,t,n){P(e,function(){t.apply(this,arguments)},n)},count:function(e){var t=0;return P(e,function(){t++}),t},toArray:function(e){return P(e,function(e){return e})||[]},only:function(e){if(!C(e))throw Error("React.Children.only expected to receive a single React element child.");return e}},o.Component=v,o.Fragment=r,o.Profiler=l,o.PureComponent=b,o.StrictMode=a,o.Suspense=c,o.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=T,o.act=M,o.cloneElement=function(t,n,r){if(null==t)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+t+".");var a=h({},t.props),l=t.key,s=t.ref,i=t._owner;if(null!=n){if(void 0!==n.ref&&(s=n.ref,i=S.current),void 0!==n.key&&(l=""+n.key),t.type&&t.type.defaultProps)var o=t.type.defaultProps;for(u in n)k.call(n,u)&&!N.hasOwnProperty(u)&&(a[u]=void 0===n[u]&&void 0!==o?o[u]:n[u])}var u=arguments.length-2;if(1===u)a.children=r;else if(1<u){o=Array(u);for(var c=0;c<u;c++)o[c]=arguments[c+2];a.children=o}return{$$typeof:e,type:t.type,key:l,ref:s,props:a,_owner:i}},o.createContext=function(e){return(e={$$typeof:i,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null}).Provider={$$typeof:s,_context:e},e.Consumer=e},o.createElement=j,o.createFactory=function(e){var t=j.bind(null,e);return t.type=e,t},o.createRef=function(){return{current:null}},o.forwardRef=function(e){return{$$typeof:u,render:e}},o.isValidElement=C,o.lazy=function(e){return{$$typeof:f,_payload:{_status:-1,_result:e},_init:_}},o.memo=function(e,t){return{$$typeof:d,type:e,compare:void 0===t?null:t}},o.startTransition=function(e){var t=O.transition;O.transition={};try{e()}finally{O.transition=t}},o.unstable_act=M,o.useCallback=function(e,t){return L.current.useCallback(e,t)},o.useContext=function(e){return L.current.useContext(e)},o.useDebugValue=function(){},o.useDeferredValue=function(e){return L.current.useDeferredValue(e)},o.useEffect=function(e,t){return L.current.useEffect(e,t)},o.useId=function(){return L.current.useId()},o.useImperativeHandle=function(e,t,n){return L.current.useImperativeHandle(e,t,n)},o.useInsertionEffect=function(e,t){return L.current.useInsertionEffect(e,t)},o.useLayoutEffect=function(e,t){return L.current.useLayoutEffect(e,t)},o.useMemo=function(e,t){return L.current.useMemo(e,t)},o.useReducer=function(e,t,n){return L.current.useReducer(e,t,n)},o.useRef=function(e){return L.current.useRef(e)},o.useState=function(e){return L.current.useState(e)},o.useSyncExternalStore=function(e,t,n){return L.current.useSyncExternalStore(e,t,n)},o.useTransition=function(){return L.current.useTransition()},o.version="18.3.1",o}function c(){return n||(n=1,i.exports=u()),i.exports}\n/**\n * @license React\n * react-jsx-runtime.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */var d=(a||(a=1,l.exports=function(){if(r)return s;r=1;var e=c(),t=Symbol.for("react.element"),n=Symbol.for("react.fragment"),a=Object.prototype.hasOwnProperty,l=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,i={key:!0,ref:!0,__self:!0,__source:!0};function o(e,n,r){var s,o={},u=null,c=null;for(s in void 0!==r&&(u=""+r),void 0!==n.key&&(u=""+n.key),void 0!==n.ref&&(c=n.ref),n)a.call(n,s)&&!i.hasOwnProperty(s)&&(o[s]=n[s]);if(e&&e.defaultProps)for(s in n=e.defaultProps)void 0===o[s]&&(o[s]=n[s]);return{$$typeof:t,type:e,key:u,ref:c,props:o,_owner:l.current}}return s.Fragment=n,s.jsx=o,s.jsxs=o,s}()),l.exports),f=(e=>(e.PLATFORM_CHECK="platform-check",e.SERVER_SETUP="server-setup",e.LNA_SETUP="lna-setup",e.EXTENSION_SETUP="extension-setup",e.COMPLETE="complete",e))(f||{});const p={extension:{status:"not-installed",error:{message:"Loading...",code:"ext-not-installed"}},server:{status:"pending-extension-ready",error:{message:"Loading...",code:"server-pending-ext-ready"}},lna:{status:"prompt"},lnaServer:{status:"pending-lna-ready"},env:{browser:"unknown",os:"unknown"},browsers:[],os:[],userConfirmations:{serverInstall:!1},selectedConnection:null};function m(e){return"request"===e.kind}function h(e){return"response"===e.kind}function g(e){return"error"===e.kind}function v(e){return"event"===e.kind}var y=c();const b=e(y),x=(...e)=>e.filter((e,t,n)=>Boolean(e)&&n.indexOf(e)===t).join(" ");\n/**\n * @license lucide-react v0.441.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n/**\n * @license lucide-react v0.441.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\nvar w={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};\n/**\n * @license lucide-react v0.441.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */const k=y.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:n=2,absoluteStrokeWidth:r,className:a="",children:l,iconNode:s,...i},o)=>y.createElement("svg",{ref:o,...w,width:t,height:t,stroke:e,strokeWidth:r?24*Number(n)/Number(t):n,className:x("lucide",a),...i},[...s.map(([e,t])=>y.createElement(e,t)),...Array.isArray(l)?l:[l]])),S=(e,t)=>{const n=y.forwardRef(({className:n,...r},a)=>{return y.createElement(k,{ref:a,iconNode:t,className:x(`lucide-${l=e,l.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase()}`,n),...r});var l});return n.displayName=`${e}`,n},N=S("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]),j=S("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]]),C=S("ChevronDown",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]),E=S("ChevronRight",[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]]),A=S("CircleAlert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]),z=S("CircleCheckBig",[["path",{d:"M21.801 10A10 10 0 1 1 17 3.335",key:"yps3ct"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]]),P=S("CircleCheck",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]]),_=S("CircleMinus",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 12h8",key:"1wcyev"}]]),L=S("CircleX",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]),O=S("Clock",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["polyline",{points:"12 6 12 12 16 14",key:"68esgv"}]]),T=S("CloudDownload",[["path",{d:"M12 13v8l-4-4",key:"1f5nwf"}],["path",{d:"m12 21 4-4",key:"1lfcce"}],["path",{d:"M4.393 15.269A7 7 0 1 1 15.71 8h1.79a4.5 4.5 0 0 1 2.436 8.284",key:"ui1hmy"}]]),M=S("Copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]),R=S("Download",[["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["polyline",{points:"7 10 12 15 17 10",key:"2ggqvy"}],["line",{x1:"12",x2:"12",y1:"15",y2:"3",key:"1vk2je"}]]),I=S("ExternalLink",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]),F=S("Laptop",[["path",{d:"M20 16V7a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v9m16 0H4m16 0 1.28 2.55a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45L4 16",key:"tarvll"}]]),D=S("LoaderCircle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]),U=S("RefreshCw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]),B=S("Server",[["rect",{width:"20",height:"8",x:"2",y:"2",rx:"2",ry:"2",key:"ngkwjq"}],["rect",{width:"20",height:"8",x:"2",y:"14",rx:"2",ry:"2",key:"iecqi9"}],["line",{x1:"6",x2:"6.01",y1:"6",y2:"6",key:"16zg32"}],["line",{x1:"6",x2:"6.01",y1:"18",y2:"18",key:"nzw8ys"}]]),Q=S("SkipForward",[["polygon",{points:"5 4 15 12 5 20 5 4",key:"16p6eg"}],["line",{x1:"19",x2:"19",y1:"5",y2:"19",key:"futhcm"}]]),V=S("TriangleAlert",[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),H=S("Wifi",[["path",{d:"M12 20h.01",key:"zekei9"}],["path",{d:"M2 8.82a15 15 0 0 1 20 0",key:"dnpr2z"}],["path",{d:"M5 12.859a10 10 0 0 1 14 0",key:"1x1e6c"}],["path",{d:"M8.5 16.429a5 5 0 0 1 7 0",key:"1bycff"}]]),q=S("X",[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]]);\n/**\n * @license lucide-react v0.441.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */class W{static request(e,t){return{kind:"request",type:e,requestId:crypto.randomUUID(),payload:t}}static response(e,t,n){return{kind:"response",type:e,requestId:t,payload:n}}static error(e,t){return{kind:"error",requestId:e,error:t}}static event(e,t){return{kind:"event",type:e,payload:t}}}let Y=class{constructor(e,t={}){this.target=e,this.options={timeout:t.timeout??1e3,expectedOrigin:t.expectedOrigin??null,debug:t.debug??!1},this.validatedOrigin=this.options.expectedOrigin,this.messageListener=this.handleIncomingMessage.bind(this),window.addEventListener("message",this.messageListener),this.options.debug}pendingRequests=new Map;eventHandlers=new Map;requestHandlers=new Map;validatedOrigin=null;options;messageListener=null;async request(e,t){const n=W.request(e,t);return new Promise((t,r)=>{const a=window.setTimeout(()=>{this.pendingRequests.delete(n.requestId),r(new Error(`Request timeout after ${this.options.timeout}ms: ${e}`))},this.options.timeout);this.pendingRequests.set(n.requestId,{resolve:t,reject:r,timeoutId:a,type:e});const l=this.validatedOrigin||"*";this.options.debug,this.target.postMessage(n,l)})}emit(e,t){const n=W.event(e,t),r=this.validatedOrigin||"*";this.options.debug,this.target.postMessage(n,r)}on(e,t){return this.eventHandlers.has(e)||this.eventHandlers.set(e,new Set),this.eventHandlers.get(e).add(t),this.options.debug,()=>{const n=this.eventHandlers.get(e);n&&(n.delete(t),0===n.size&&this.eventHandlers.delete(e))}}handle(e,t){this.requestHandlers.set(e,t),this.options.debug}validateOrigin(e){return null!==this.validatedOrigin?e.origin===this.validatedOrigin||(this.options.debug,!1):(this.validatedOrigin=e.origin,this.options.debug,!0)}handleIncomingMessage(e){if(!this.validateOrigin(e))return;const t=e.data;if(!t||"object"!=typeof t||!("kind"in t))return;const n=t;this.options.debug,h(n)?this.handleResponse(n):g(n)?this.handleError(n):v(n)?this.handleEvent(n):m(n)&&this.handleRequest(n)}handleResponse(e){if(!h(e))return;const t=this.pendingRequests.get(e.requestId);t?(window.clearTimeout(t.timeoutId),this.pendingRequests.delete(e.requestId),t.resolve(e.payload)):this.options.debug}handleError(e){if(!g(e))return;const t=this.pendingRequests.get(e.requestId);if(!t)return void this.options.debug;window.clearTimeout(t.timeoutId),this.pendingRequests.delete(e.requestId);const n=new Error(e.error.message);n.code=e.error.code,n.details=e.error.details,t.reject(n)}handleEvent(e){if(!v(e))return;const t=this.eventHandlers.get(e.type);t&&0!==t.size?t.forEach(t=>{try{const n=t(e.payload);n&&"function"==typeof n.then&&n.catch(e=>{})}catch(n){}}):this.options.debug}async handleRequest(e){if(!m(e))return;const t=this.requestHandlers.get(e.type);if(!t){const t=W.error(e.requestId,{code:"NO_HANDLER",message:`No handler registered for message type: ${e.type}`}),n=this.validatedOrigin||"*";return void this.target.postMessage(t,n)}try{const n=await t(e.payload),r=W.response(e.type,e.requestId,n),a=this.validatedOrigin||"*";this.target.postMessage(r,a)}catch(n){const t=W.error(e.requestId,{code:"HANDLER_ERROR",message:n instanceof Error?n.message:"Unknown error",details:n}),r=this.validatedOrigin||"*";this.target.postMessage(t,r)}}getValidatedOrigin(){return this.validatedOrigin}dispose(){this.messageListener&&(window.removeEventListener("message",this.messageListener),this.messageListener=null),this.pendingRequests.forEach(e=>{window.clearTimeout(e.timeoutId),e.reject(new Error("MessageChannel disposed"))}),this.pendingRequests.clear(),this.eventHandlers.clear(),this.requestHandlers.clear(),this.options.debug}};const K=e=>{let t;const n=new Set,r=(e,r)=>{const a="function"==typeof e?e(t):e;if(!Object.is(a,t)){const e=t;t=(null!=r?r:"object"!=typeof a||null===a)?a:Object.assign({},t,a),n.forEach(n=>n(t,e))}},a=()=>t,l={setState:r,getState:a,getInitialState:()=>s,subscribe:e=>(n.add(e),()=>n.delete(e))},s=t=e(r,a,l);return l},G=e=>e;const X=e=>{const t=(e=>e?K(e):K)(e),n=e=>function(e,t=G){const n=b.useSyncExternalStore(e.subscribe,b.useCallback(()=>t(e.getState()),[e,t]),b.useCallback(()=>t(e.getInitialState()),[e,t]));return b.useDebugValue(n),n}(t,e);return Object.assign(n,t),n},$={currentStep:f.PLATFORM_CHECK,isRefreshing:!1,extensionStep:{browserOverride:null,extensionAccordionOpen:!1,serverAccordionOpen:!1},lnaStep:{serverUrl:"",lnaAccordionOpen:!1,serverAccordionOpen:!1},serverStep:{osOverride:null}},Z=(J=(e,t)=>({setupState:p,channel:null,ui:$,setSetupState:n=>{e({setupState:n}),t().resetTempOverrides()},initChannel:()=>{let n=t().channel;return n||(n=new Y(window.parent,{debug:!1,timeout:1e3}),e({channel:n})),n},sendMessage:async(e,n)=>t().initChannel().request(e,n),setCurrentStep:t=>e(e=>({ui:{...e.ui,currentStep:t}})),setIsRefreshing:t=>e(e=>({ui:{...e.ui,isRefreshing:t}})),setBrowserOverride:t=>e(e=>({ui:{...e.ui,extensionStep:{...e.ui.extensionStep,browserOverride:t}}})),setExtensionAccordionOpen:t=>e(e=>({ui:{...e.ui,extensionStep:{...e.ui.extensionStep,extensionAccordionOpen:t}}})),setExtensionServerAccordionOpen:t=>e(e=>({ui:{...e.ui,extensionStep:{...e.ui.extensionStep,serverAccordionOpen:t}}})),setServerUrl:t=>e(e=>({ui:{...e.ui,lnaStep:{...e.ui.lnaStep,serverUrl:t}}})),setLnaAccordionOpen:t=>e(e=>({ui:{...e.ui,lnaStep:{...e.ui.lnaStep,lnaAccordionOpen:t}}})),setLnaServerAccordionOpen:t=>e(e=>({ui:{...e.ui,lnaStep:{...e.ui.lnaStep,serverAccordionOpen:t}}})),setOSOverride:t=>e(e=>({ui:{...e.ui,serverStep:{...e.ui.serverStep,osOverride:t}}})),resetTempOverrides:()=>e(e=>({ui:{...e.ui,extensionStep:{...e.ui.extensionStep,browserOverride:null},serverStep:{...e.ui.serverStep,osOverride:null}}}))}))?X(J):X;var J;function ee(e){const{setupState:t}=e;return t.browsers.some(e=>e.id===t.env.browser&&"supported"===e.status)}function te(e){const{setupState:t}=e;return t.os.some(e=>e.id===t.env.os&&"supported"===e.status)}function ne(e){return ee(e)&&te(e)}function re(e){const{setupState:t}=e;return t.browsers.find(e=>e.id===t.env.browser)}function ae(e){const{setupState:t}=e;return t.os.find(e=>e.id===t.env.os)}function le(e){const t=re(e);return t?.name||"Unknown Browser"}function se(e){const t=ae(e);return t?.name||"Unknown OS"}function ie(e){const{setupState:t}=e;return"granted"===t.lna.status&&"ready"===t.lnaServer.status}function oe(e){const{setupState:t}=e;return"ready"===t.extension.status&&"ready"===t.server.status}function ue(e){return ne(e)&&function(e){return ie(e)||oe(e)}(e)}function ce(e){const{setupState:t}=e;return 0===t.browsers.length&&0===t.os.length}function de(e){const{setupState:t}=e;return t.userConfirmations.serverInstall}function fe(e){const{setupState:t}=e;if(!ne(e))return f.PLATFORM_CHECK;if(!de(e))return f.SERVER_SETUP;if(ie(e))return f.COMPLETE;const n=t.lna.status;return"prompt"===n||"granted"===n||"unreachable"===n||"denied"===n||"unsupported"===n?f.LNA_SETUP:"ready"!==t.extension.status||"ready"!==t.server.status?f.EXTENSION_SETUP:f.COMPLETE}function pe(e,t){const{setupState:n}=e,r=ne(e),a=ie(e),l=oe(e);switch(t){case f.PLATFORM_CHECK:return r?"complete":"not-supported";case f.SERVER_SETUP:return de(e)?"complete":"incomplete";case f.LNA_SETUP:{const e=n.lna.status,t=n.lnaServer.status;return"granted"===e&&"ready"===t?"complete":"granted"===e&&"error"===t?"error":"granted"===e&&"ready"!==t?"warning":"skipped"===e?"skipped":"unreachable"===e?"error":"denied"===e||"unsupported"===e?"warning":"incomplete"}case f.EXTENSION_SETUP:{const e=n.extension.status,t=n.server.status;return l?"complete":"unreachable"===e||"unsupported"===e?"error":"ready"!==e||"unreachable"!==t&&"error"!==t?"incomplete":"error"}case f.COMPLETE:return a||l?"complete":"incomplete";default:return"incomplete"}}function me(e){const{setupState:t,ui:n}=e;return n.extensionStep.browserOverride??t.env.browser}function he(e){const{setupState:t,ui:n}=e;return n.serverStep.osOverride??t.env.os}function ge({onStepClick:e}){const t=Z(e=>e.ui.currentStep),n=Z(ce),r=Z(e=>pe(e,f.PLATFORM_CHECK)),a=Z(e=>pe(e,f.SERVER_SETUP)),l=Z(e=>pe(e,f.LNA_SETUP)),s=Z(e=>pe(e,f.EXTENSION_SETUP)),i=Z(e=>pe(e,f.COMPLETE)),o=[{id:f.PLATFORM_CHECK,name:"Platform",icon:d.jsx(F,{}),status:r},{id:f.SERVER_SETUP,name:"Server",icon:d.jsx(B,{}),status:a},{id:f.LNA_SETUP,name:"Direct",icon:d.jsx(H,{}),status:l},{id:f.EXTENSION_SETUP,name:"Extension",icon:d.jsx(T,{}),status:s},{id:f.COMPLETE,name:"Complete",icon:d.jsx(z,{}),status:i}];return d.jsx("div",{className:"flex items-center w-full",children:o.map((r,a)=>{const l=(e=>{const r=t===e.id;return n?r?{circleClass:"w-10 h-10 flex items-center justify-center rounded-full bg-gray-100 text-gray-400 ring-2 ring-blue-300",icon:e.icon,textClass:"text-gray-500",clickable:!1}:{circleClass:"w-10 h-10 flex items-center justify-center rounded-full bg-gray-100 text-gray-300",icon:e.icon,textClass:"text-gray-400",clickable:!1}:"complete"===e.status?{circleClass:"w-10 h-10 flex items-center justify-center rounded-full bg-green-100 text-green-600",icon:d.jsx(z,{className:"w-6 h-6"}),textClass:"text-green-600",clickable:!0}:"skipped"===e.status?{circleClass:"w-10 h-10 flex items-center justify-center rounded-full bg-gray-100 text-gray-400",icon:e.icon,textClass:"text-gray-400 line-through",clickable:!0}:"not-supported"===e.status||"error"===e.status?{circleClass:"w-10 h-10 flex items-center justify-center rounded-full bg-red-100 text-red-600",icon:d.jsx(L,{className:"w-6 h-6"}),textClass:"text-red-600",clickable:!0}:"warning"===e.status?{circleClass:"w-10 h-10 flex items-center justify-center rounded-full bg-amber-100 text-amber-600",icon:e.icon,textClass:"text-amber-600",clickable:!0}:r?{circleClass:"w-10 h-10 flex items-center justify-center rounded-full bg-blue-100 text-blue-600 ring-2 ring-blue-300",icon:e.icon,textClass:"text-blue-600 font-medium",clickable:!0}:{circleClass:"w-10 h-10 flex items-center justify-center rounded-full bg-gray-100 text-gray-400 border-2 border-gray-200 hover:bg-gray-200 transition-colors",icon:e.icon,textClass:"text-gray-500 hover:text-gray-700",clickable:!0}})(r);return d.jsxs(y.Fragment,{children:[d.jsxs("div",{className:`flex flex-col items-center ${l.clickable?"cursor-pointer hover:opacity-80":"cursor-default"} transition-opacity`,"data-testid":`step-${r.id}`,onClick:()=>l.clickable&&e(r.id),children:[d.jsx("div",{className:l.circleClass,children:l.icon}),d.jsx("span",{className:`mt-2 text-xs ${l.textClass} transition-colors`,children:r.name})]}),a<o.length-1&&d.jsx("div",{className:"flex-1 h-0.5 mx-2 transition-colors "+("complete"===r.status&&"complete"===o[a+1].status?"bg-green-300":"complete"===r.status?"bg-gradient-to-r from-green-300 to-gray-200":"not-supported"===r.status?"bg-gradient-to-r from-red-300 to-gray-200":"bg-gray-200")})]},r.id)})})}var ve={color:void 0,size:void 0,className:void 0,style:void 0,attr:void 0},ye=b.createContext&&b.createContext(ve),be=["attr","size","title"];function xe(e,t){if(null==e)return{};var n,r,a=function(e,t){if(null==e)return{};var n={};for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){if(t.indexOf(r)>=0)continue;n[r]=e[r]}return n}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}function we(){return we=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},we.apply(this,arguments)}function ke(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function Se(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ke(Object(n),!0).forEach(function(t){Ne(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ke(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function Ne(e,t,n){var r;return(t="symbol"==typeof(r=function(e,t){if("object"!=typeof e||!e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t);if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?r:r+"")in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function je(e){return e&&e.map((e,t)=>b.createElement(e.tag,Se({key:t},e.attr),je(e.child)))}function Ce(e){return t=>b.createElement(Ee,we({attr:Se({},e.attr)},t),je(e.child))}function Ee(e){var t=t=>{var n,{attr:r,size:a,title:l}=e,s=xe(e,be),i=a||t.size||"1em";return t.className&&(n=t.className),e.className&&(n=(n?n+" ":"")+e.className),b.createElement("svg",we({stroke:"currentColor",fill:"currentColor",strokeWidth:"0"},t.attr,r,s,{className:n,style:Se(Se({color:e.color||t.color},t.style),e.style),height:i,width:i,xmlns:"http://www.w3.org/2000/svg"}),l&&b.createElement("title",null,l),e.children)};return void 0!==ye?b.createElement(ye.Consumer,null,e=>t(e)):t(ve)}function Ae(e){return Ce({attr:{viewBox:"0 0 384 512"},child:[{tag:"path",attr:{d:"M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 4 184.8 4 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 75.8-17.9 31.8 0 48.3 17.9 76.4 17.9 48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z"},child:[]}]})(e)}function ze(e){return Ce({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M220.8 123.3c1 .5 1.8 1.7 3 1.7 1.1 0 2.8-.4 2.9-1.5.2-1.4-1.9-2.3-3.2-2.9-1.7-.7-3.9-1-5.5-.1-.4.2-.8.7-.6 1.1.3 1.3 2.3 1.1 3.4 1.7zm-21.9 1.7c1.2 0 2-1.2 3-1.7 1.1-.6 3.1-.4 3.5-1.6.2-.4-.2-.9-.6-1.1-1.6-.9-3.8-.6-5.5.1-1.3.6-3.4 1.5-3.2 2.9.1 1 1.8 1.5 2.8 1.4zM420 403.8c-3.6-4-5.3-11.6-7.2-19.7-1.8-8.1-3.9-16.8-10.5-22.4-1.3-1.1-2.6-2.1-4-2.9-1.3-.8-2.7-1.5-4.1-2 9.2-27.3 5.6-54.5-3.7-79.1-11.4-30.1-31.3-56.4-46.5-74.4-17.1-21.5-33.7-41.9-33.4-72C311.1 85.4 315.7.1 234.8 0 132.4-.2 158 103.4 156.9 135.2c-1.7 23.4-6.4 41.8-22.5 64.7-18.9 22.5-45.5 58.8-58.1 96.7-6 17.9-8.8 36.1-6.2 53.3-6.5 5.8-11.4 14.7-16.6 20.2-4.2 4.3-10.3 5.9-17 8.3s-14 6-18.5 14.5c-2.1 3.9-2.8 8.1-2.8 12.4 0 3.9.6 7.9 1.2 11.8 1.2 8.1 2.5 15.7.8 20.8-5.2 14.4-5.9 24.4-2.2 31.7 3.8 7.3 11.4 10.5 20.1 12.3 17.3 3.6 40.8 2.7 59.3 12.5 19.8 10.4 39.9 14.1 55.9 10.4 11.6-2.6 21.1-9.6 25.9-20.2 12.5-.1 26.3-5.4 48.3-6.6 14.9-1.2 33.6 5.3 55.1 4.1.6 2.3 1.4 4.6 2.5 6.7v.1c8.3 16.7 23.8 24.3 40.3 23 16.6-1.3 34.1-11 48.3-27.9 13.6-16.4 36-23.2 50.9-32.2 7.4-4.5 13.4-10.1 13.9-18.3.4-8.2-4.4-17.3-15.5-29.7zM223.7 87.3c9.8-22.2 34.2-21.8 44-.4 6.5 14.2 3.6 30.9-4.3 40.4-1.6-.8-5.9-2.6-12.6-4.9 1.1-1.2 3.1-2.7 3.9-4.6 4.8-11.8-.2-27-9.1-27.3-7.3-.5-13.9 10.8-11.8 23-4.1-2-9.4-3.5-13-4.4-1-6.9-.3-14.6 2.9-21.8zM183 75.8c10.1 0 20.8 14.2 19.1 33.5-3.5 1-7.1 2.5-10.2 4.6 1.2-8.9-3.3-20.1-9.6-19.6-8.4.7-9.8 21.2-1.8 28.1 1 .8 1.9-.2-5.9 5.5-15.6-14.6-10.5-52.1 8.4-52.1zm-13.6 60.7c6.2-4.6 13.6-10 14.1-10.5 4.7-4.4 13.5-14.2 27.9-14.2 7.1 0 15.6 2.3 25.9 8.9 6.3 4.1 11.3 4.4 22.6 9.3 8.4 3.5 13.7 9.7 10.5 18.2-2.6 7.1-11 14.4-22.7 18.1-11.1 3.6-19.8 16-38.2 14.9-3.9-.2-7-1-9.6-2.1-8-3.5-12.2-10.4-20-15-8.6-4.8-13.2-10.4-14.7-15.3-1.4-4.9 0-9 4.2-12.3zm3.3 334c-2.7 35.1-43.9 34.4-75.3 18-29.9-15.8-68.6-6.5-76.5-21.9-2.4-4.7-2.4-12.7 2.6-26.4v-.2c2.4-7.6.6-16-.6-23.9-1.2-7.8-1.8-15 .9-20 3.5-6.7 8.5-9.1 14.8-11.3 10.3-3.7 11.8-3.4 19.6-9.9 5.5-5.7 9.5-12.9 14.3-18 5.1-5.5 10-8.1 17.7-6.9 8.1 1.2 15.1 6.8 21.9 16l19.6 35.6c9.5 19.9 43.1 48.4 41 68.9zm-1.4-25.9c-4.1-6.6-9.6-13.6-14.4-19.6 7.1 0 14.2-2.2 16.7-8.9 2.3-6.2 0-14.9-7.4-24.9-13.5-18.2-38.3-32.5-38.3-32.5-13.5-8.4-21.1-18.7-24.6-29.9s-3-23.3-.3-35.2c5.2-22.9 18.6-45.2 27.2-59.2 2.3-1.7.8 3.2-8.7 20.8-8.5 16.1-24.4 53.3-2.6 82.4.6-20.7 5.5-41.8 13.8-61.5 12-27.4 37.3-74.9 39.3-112.7 1.1.8 4.6 3.2 6.2 4.1 4.6 2.7 8.1 6.7 12.6 10.3 12.4 10 28.5 9.2 42.4 1.2 6.2-3.5 11.2-7.5 15.9-9 9.9-3.1 17.8-8.6 22.3-15 7.7 30.4 25.7 74.3 37.2 95.7 6.1 11.4 18.3 35.5 23.6 64.6 3.3-.1 7 .4 10.9 1.4 13.8-35.7-11.7-74.2-23.3-84.9-4.7-4.6-4.9-6.6-2.6-6.5 12.6 11.2 29.2 33.7 35.2 59 2.8 11.6 3.3 23.7.4 35.7 16.4 6.8 35.9 17.9 30.7 34.8-2.2-.1-3.2 0-4.2 0 3.2-10.1-3.9-17.6-22.8-26.1-19.6-8.6-36-8.6-38.3 12.5-12.1 4.2-18.3 14.7-21.4 27.3-2.8 11.2-3.6 24.7-4.4 39.9-.5 7.7-3.6 18-6.8 29-32.1 22.9-76.7 32.9-114.3 7.2zm257.4-11.5c-.9 16.8-41.2 19.9-63.2 46.5-13.2 15.7-29.4 24.4-43.6 25.5s-26.5-4.8-33.7-19.3c-4.7-11.1-2.4-23.1 1.1-36.3 3.7-14.2 9.2-28.8 9.9-40.6.8-15.2 1.7-28.5 4.2-38.7 2.6-10.3 6.6-17.2 13.7-21.1.3-.2.7-.3 1-.5.8 13.2 7.3 26.6 18.8 29.5 12.6 3.3 30.7-7.5 38.4-16.3 9-.3 15.7-.9 22.6 5.1 9.9 8.5 7.1 30.3 17.1 41.6 10.6 11.6 14 19.5 13.7 24.6zM173.3 148.7c2 1.9 4.7 4.5 8 7.1 6.6 5.2 15.8 10.6 27.3 10.6 11.6 0 22.5-5.9 31.8-10.8 4.9-2.6 10.9-7 14.8-10.4s5.9-6.3 3.1-6.6-2.6 2.6-6 5.1c-4.4 3.2-9.7 7.4-13.9 9.8-7.4 4.2-19.5 10.2-29.9 10.2s-18.7-4.8-24.9-9.7c-3.1-2.5-5.7-5-7.7-6.9-1.5-1.4-1.9-4.6-4.3-4.9-1.4-.1-1.8 3.7 1.7 6.5z"},child:[]}]})(e)}function Pe(e){return Ce({attr:{viewBox:"0 0 448 512"},child:[{tag:"path",attr:{d:"M0 93.7l183.6-25.3v177.4H0V93.7zm0 324.6l183.6 25.3V268.4H0v149.9zm203.8 28L448 480V268.4H203.8v177.9zm0-380.6v180.1H448V32L203.8 65.7z"},child:[]}]})(e)}function _e(e){return Ce({attr:{viewBox:"0 0 576 512"},child:[{tag:"path",attr:{d:"M528 0H48C21.5 0 0 21.5 0 48v320c0 26.5 21.5 48 48 48h192l-16 48h-72c-13.3 0-24 10.7-24 24s10.7 24 24 24h272c13.3 0 24-10.7 24-24s-10.7-24-24-24h-72l-16-48h192c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48zm-16 352H64V64h448v288z"},child:[]}]})(e)}function Le(e){return Ce({attr:{role:"img",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M20.452 3.445a11.002 11.002 0 00-2.482-1.908C16.944.997 15.098.093 12.477.032c-.734-.017-1.457.03-2.174.144-.72.114-1.398.292-2.118.56-1.017.377-1.996.975-2.574 1.554.583-.349 1.476-.733 2.55-.992a10.083 10.083 0 013.729-.167c2.341.34 4.178 1.381 5.48 2.625a8.066 8.066 0 011.298 1.587c1.468 2.382 1.33 5.376.184 7.142-.85 1.312-2.67 2.544-4.37 2.53-.583-.023-1.438-.152-2.25-.566-2.629-1.343-3.021-4.688-1.118-6.306-.632-.136-1.82.13-2.646 1.363-.742 1.107-.7 2.816-.242 4.028a6.473 6.473 0 01-.59-1.895 7.695 7.695 0 01.416-3.845A8.212 8.212 0 019.45 5.399c.896-1.069 1.908-1.72 2.75-2.005-.54-.471-1.411-.738-2.421-.767C8.31 2.583 6.327 3.061 4.7 4.41a8.148 8.148 0 00-1.976 2.414c-.455.836-.691 1.659-.697 1.678.122-1.445.704-2.994 1.248-4.055-.79.413-1.827 1.668-2.41 3.042C.095 9.37-.2 11.608.14 13.989c.966 5.668 5.9 9.982 11.843 9.982C18.62 23.971 24 18.591 24 11.956a11.93 11.93 0 00-3.548-8.511z"},child:[]}]})(e)}function Oe(e){return Ce({attr:{role:"img",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M12 0C8.21 0 4.831 1.757 2.632 4.501l3.953 6.848A5.454 5.454 0 0 1 12 6.545h10.691A12 12 0 0 0 12 0zM1.931 5.47A11.943 11.943 0 0 0 0 12c0 6.012 4.42 10.991 10.189 11.864l3.953-6.847a5.45 5.45 0 0 1-6.865-2.29zm13.342 2.166a5.446 5.446 0 0 1 1.45 7.09l.002.001h-.002l-5.344 9.257c.206.01.413.016.621.016 6.627 0 12-5.373 12-12 0-1.54-.29-3.011-.818-4.364zM12 16.364a4.364 4.364 0 1 1 0-8.728 4.364 4.364 0 0 1 0 8.728Z"},child:[]}]})(e)}function Te(e){return Ce({attr:{role:"img",viewBox:"0 0 24 24"},child:[{tag:"path",attr:{d:"M12 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0zm-.004.953h.006c.063 0 .113.05.113.113v1.842c0 .063-.05.113-.113.113h-.006a.112.112 0 0 1-.113-.113V1.066c0-.063.05-.113.113-.113zm-.941.041c.056.001.104.046.11.104l.077.918a.112.112 0 0 1-.101.12h-.01a.11.11 0 0 1-.12-.1l-.08-.919a.112.112 0 0 1 .102-.12h.01l.012-.003zm1.892 0H12.965a.113.113 0 0 1 .103.121l-.08.92a.111.111 0 0 1-.12.102h-.009a.111.111 0 0 1-.101-.121l.078-.92a.112.112 0 0 1 .111-.102zm-2.838.123a.11.11 0 0 1 .106.092l.32 1.818c.01.06-.03.119-.09.13l-.01.001a.111.111 0 0 1-.128-.09l-.32-1.818a.111.111 0 0 1 .09-.129l.01-.002a.103.103 0 0 1 .022-.002zm3.784.002h.021l.008.002c.061.01.102.07.092.131l-.32 1.814c-.011.062-.07.101-.132.09h-.005a.113.113 0 0 1-.092-.13l.32-1.815a.111.111 0 0 1 .108-.092zm-4.715.203c.048.002.09.035.103.084l.239.893a.112.112 0 0 1-.079.139l-.005.001a.114.114 0 0 1-.14-.08l-.237-.894a.11.11 0 0 1 .078-.137l.006-.002a.123.123 0 0 1 .035-.004zm5.644 0a.11.11 0 0 1 .033.004l.006.002c.06.016.097.079.08.139l-.24.892a.112.112 0 0 1-.137.08l-.005-.002a.114.114 0 0 1-.08-.138l.24-.893a.112.112 0 0 1 .103-.084zm-6.562.285a.11.11 0 0 1 .107.073L9 3.42a.107.107 0 0 1-.064.139l-.012.005a.11.11 0 0 1-.14-.066L8.15 1.76a.11.11 0 0 1 .065-.14l.014-.005a.106.106 0 0 1 .03-.008zm7.469.002c.014 0 .028.001.042.006l.012.006c.057.02.087.082.067.139l-.633 1.738a.11.11 0 0 1-.14.066l-.013-.003A.11.11 0 0 1 15 3.42l.633-1.738a.108.108 0 0 1 .096-.073zm-8.352.366a.112.112 0 0 1 .105.064l.393.838a.112.112 0 0 1-.055.148l-.008.004a.11.11 0 0 1-.146-.054l-.395-.838a.112.112 0 0 1 .055-.149l.008-.004a.11.11 0 0 1 .043-.01zm9.246 0a.11.11 0 0 1 .043.01l.006.003a.11.11 0 0 1 .053.149l-.391.838a.112.112 0 0 1-.148.054l-.006-.002a.112.112 0 0 1-.055-.148l.393-.84a.112.112 0 0 1 .105-.064zm-10.092.44c.04-.002.08.018.102.056l.922 1.597a.113.113 0 0 1-.041.155l-.006.002a.113.113 0 0 1-.154-.041l-.922-1.598a.113.113 0 0 1 .04-.154l.007-.002a.11.11 0 0 1 .052-.016zm10.94.001c.018 0 .035.004.052.014l.004.002a.114.114 0 0 1 .041.156l-.923 1.596a.114.114 0 0 1-.157.04l-.004-.001a.112.112 0 0 1-.04-.155l.925-1.595a.113.113 0 0 1 .102-.057zM5.729 2.93a.11.11 0 0 1 .093.047l.532.753a.114.114 0 0 1-.028.159l-.004.002a.114.114 0 0 1-.158-.028l-.531-.752a.114.114 0 0 1 .027-.158l.006-.002a.113.113 0 0 1 .063-.021zm12.542 0a.11.11 0 0 1 .063.02l.006.003a.112.112 0 0 1 .027.156l-.531.756a.112.112 0 0 1-.156.028l-.006-.004a.112.112 0 0 1-.028-.157l.532-.755a.11.11 0 0 1 .093-.047zm.747.578a.11.11 0 0 1 .08.027l.006.004c.047.04.053.111.013.158L17.932 5.11a.11.11 0 0 1-.157.016l-.005-.006a.11.11 0 0 1-.014-.156l1.185-1.414a.114.114 0 0 1 .077-.041zM4.984 3.51a.11.11 0 0 1 .077.039L6.244 4.96a.112.112 0 0 1-.014.158l-.003.004a.112.112 0 0 1-.159-.014L4.883 3.697a.112.112 0 0 1 .013-.158l.006-.004a.111.111 0 0 1 .082-.025zm-.714.64c.027 0 .055.01.076.032l.658.66a.107.107 0 0 1 0 .152l-.01.01a.107.107 0 0 1-.152 0l-.66-.658a.11.11 0 0 1 0-.155l.01-.01a.111.111 0 0 1 .078-.03zm15.462 0c.028 0 .055.01.077.032l.007.007a.109.109 0 0 1 0 .155l-.658.66a.109.109 0 0 1-.154 0l-.008-.008a.109.109 0 0 1 0-.154l.658-.66a.11.11 0 0 1 .078-.032zm.707.66c.038 0 .071.02.092.075a.112.112 0 0 1-.023.117l-7.606 8.08c-3.084 2.024-6.149 4.04-9.222 6.05-.078.051-.17.082-.211-.028a.112.112 0 0 1 .023-.118l7.594-8.08c3.084-2.023 6.161-4.039 9.234-6.049a.247.247 0 0 1 .12-.046zm-16.824.045a.109.109 0 0 1 .08.026l1.416 1.187a.11.11 0 0 1 .014.157l-.006.005a.11.11 0 0 1-.156.014L3.549 5.057a.109.109 0 0 1-.014-.155l.006-.007a.108.108 0 0 1 .074-.04zm17.336.756c.036 0 .072.017.094.05l.004.003a.114.114 0 0 1-.028.158l-.753.53a.112.112 0 0 1-.157-.028l-.004-.004a.114.114 0 0 1 .028-.158l.754-.53a.113.113 0 0 1 .062-.02zm-17.904.002c.02 0 .042.007.06.02l.76.531c.05.035.06.103.026.152l-.006.01a.109.109 0 0 1-.153.026l-.76-.532a.109.109 0 0 1-.025-.152l.006-.01a.108.108 0 0 1 .092-.045zm-.512.803c.018 0 .036.006.053.016l1.596.923a.111.111 0 0 1 .04.153l-.003.006a.111.111 0 0 1-.153.04L2.473 6.63a.111.111 0 0 1-.041-.152l.004-.006a.11.11 0 0 1 .1-.055zm18.932 0a.11.11 0 0 1 .1.055l.001.004a.113.113 0 0 1-.04.154l-1.596.926a.113.113 0 0 1-.155-.041l-.002-.004a.113.113 0 0 1 .041-.155l1.596-.925a.115.115 0 0 1 .055-.014zm-19.373.846c.014 0 .029.003.043.01l.838.392a.11.11 0 0 1 .052.147l-.004.01a.11.11 0 0 1-.146.052l-.838-.393a.11.11 0 0 1-.053-.146l.004-.01a.109.109 0 0 1 .104-.062zm19.81.002a.11.11 0 0 1 .106.062l.002.008a.11.11 0 0 1-.053.146l-.838.393a.11.11 0 0 1-.146-.053l-.004-.008a.11.11 0 0 1 .052-.146l.838-.393a.11.11 0 0 1 .043-.01zm-20.183.88c.014 0 .028.001.043.006l1.732.631a.112.112 0 0 1 .067.145l-.002.006a.11.11 0 0 1-.143.066l-1.732-.63a.113.113 0 0 1-.069-.145l.002-.004a.115.115 0 0 1 .102-.074zm20.549 0a.113.113 0 0 1 .11.075l.003.004a.115.115 0 0 1-.069.146l-1.732.629a.112.112 0 0 1-.145-.066l-.001-.006a.113.113 0 0 1 .068-.145l1.732-.63a.11.11 0 0 1 .034-.006zm-20.836.909a.11.11 0 0 1 .033.004l.892.24c.06.016.096.077.08.137l-.002.007a.11.11 0 0 1-.136.079l-.895-.239a.113.113 0 0 1-.078-.138l.002-.006a.113.113 0 0 1 .104-.084zm21.13.002a.115.115 0 0 1 .106.084v.004a.112.112 0 0 1-.078.138l-.893.239a.112.112 0 0 1-.138-.079v-.005a.112.112 0 0 1 .078-.14l.892-.237a.11.11 0 0 1 .033-.004zm-21.335.93.023.001 1.814.323c.062.01.101.069.09.13v.006a.111.111 0 0 1-.13.09l-1.815-.322a.113.113 0 0 1-.092-.131l.002-.006a.11.11 0 0 1 .108-.092zm21.519.001h.022c.052.002.1.038.109.092v.006c.01.062-.03.12-.092.13l-1.814.321a.113.113 0 0 1-.131-.092v-.005a.113.113 0 0 1 .092-.131l1.814-.32zm-21.644.944h.011l.922.084a.11.11 0 0 1 .102.119l-.002.01a.11.11 0 0 1-.121.1l-.922-.083a.11.11 0 0 1-.1-.12v-.009a.111.111 0 0 1 .11-.101zm21.779.002h.012c.056 0 .106.043.11.101v.008a.111.111 0 0 1-.1.121l-.923.08a.111.111 0 0 1-.12-.101v-.008a.111.111 0 0 1 .1-.121l.92-.08zm-11.82.73L6.091 16.95c2.02-1.324 4.039-2.646 6.066-3.976l-1.095-1.31zm11.87.219c.063 0 .114.05.114.113v.004c0 .063-.05.113-.113.113l-1.844.004a.113.113 0 0 1-.113-.113v-.004c0-.063.05-.113.113-.113l1.844-.004zm-21.869.002h1.844c.062 0 .112.05.112.111v.008c0 .062-.05.111-.112.111H1.064a.111.111 0 0 1-.11-.111v-.008c0-.061.049-.111.11-.111zm.952.875h.011a.11.11 0 0 1 .11.101v.006a.111.111 0 0 1-.102.121l-.922.08a.11.11 0 0 1-.119-.101l-.002-.006a.111.111 0 0 1 .102-.121l.922-.08zm19.955 0h.011l.922.08a.11.11 0 0 1 .102.119v.008a.112.112 0 0 1-.121.101l-.922-.08a.11.11 0 0 1-.102-.119v-.008a.111.111 0 0 1 .11-.101zm-18.924.705c.053.001.098.04.107.094l.002.004c.011.061-.03.12-.092.13l-1.812.32a.113.113 0 0 1-.13-.091v-.004a.115.115 0 0 1 .09-.133l1.811-.318a.117.117 0 0 1 .024-.002zm17.902 0c.008 0 .016 0 .024.002l1.816.32c.061.011.1.07.09.131v.004a.113.113 0 0 1-.131.092l-1.816-.32a.112.112 0 0 1-.09-.131v-.004a.113.113 0 0 1 .107-.094zM2.332 14.477a.11.11 0 0 1 .104.082l.002.005c.016.06-.02.121-.08.137l-.891.24a.112.112 0 0 1-.137-.08l-.002-.006a.112.112 0 0 1 .08-.136l.89-.239a.112.112 0 0 1 .034-.003zm19.332 0c.011 0 .024 0 .035.003l.893.239c.06.016.096.077.08.136l-.002.006a.111.111 0 0 1-.137.078l-.894-.238a.111.111 0 0 1-.078-.137l.002-.005a.109.109 0 0 1 .101-.082zm-18.213.517a.11.11 0 0 1 .11.074l.002.004a.112.112 0 0 1-.067.145l-1.732.63a.113.113 0 0 1-.145-.068l-.002-.004a.113.113 0 0 1 .069-.144L3.418 15a.11.11 0 0 1 .033-.006zm17.086 0c.015 0 .029 0 .043.006l1.734.63a.111.111 0 0 1 .067.143l-.002.008a.111.111 0 0 1-.143.067l-1.734-.631a.111.111 0 0 1-.066-.143l.002-.008a.111.111 0 0 1 .1-.072zM2.92 16.117a.109.109 0 0 1 .103.063l.004.01a.108.108 0 0 1-.052.144l-.838.393a.11.11 0 0 1-.147-.055l-.004-.008a.11.11 0 0 1 .053-.146l.838-.391a.112.112 0 0 1 .043-.01zm18.158 0a.11.11 0 0 1 .043.01l.838.39c.056.027.08.093.055.149l-.002.004a.112.112 0 0 1-.149.055l-.838-.391a.112.112 0 0 1-.054-.148l.002-.004a.112.112 0 0 1 .105-.065zm-16.957.315c.04-.001.078.02.1.056l.004.004a.11.11 0 0 1-.041.153l-1.596.921a.113.113 0 0 1-.154-.04l-.002-.005a.113.113 0 0 1 .04-.154l1.596-.922a.109.109 0 0 1 .053-.013zm15.756 0c.018 0 .036.004.053.013l1.597.924a.11.11 0 0 1 .041.152l-.002.004a.11.11 0 0 1-.152.041l-1.598-.921a.113.113 0 0 1-.04-.155l.001-.002a.111.111 0 0 1 .1-.056zm.328 1.193a.11.11 0 0 1 .06.021l.758.534c.05.035.061.102.026.152l-.004.008a.111.111 0 0 1-.154.027l-.756-.535a.109.109 0 0 1-.028-.152l.006-.008a.11.11 0 0 1 .092-.047zm-16.412.002c.035 0 .072.016.094.047l.004.008a.109.109 0 0 1-.028.152l-.756.531a.108.108 0 0 1-.152-.025l-.006-.008a.109.109 0 0 1 .028-.152l.755-.534a.107.107 0 0 1 .061-.019zm15.162.102a.112.112 0 0 1 .082.025l1.414 1.187a.11.11 0 0 1 .014.157l-.004.004a.113.113 0 0 1-.158.013L18.89 17.93a.11.11 0 0 1-.014-.157l.004-.005a.108.108 0 0 1 .074-.04zm-12.812 1.12a.11.11 0 0 1 .08.026l.007.008a.11.11 0 0 1 .014.154L5.06 20.451a.11.11 0 0 1-.155.012l-.008-.006a.11.11 0 0 1-.013-.154l1.185-1.414a.11.11 0 0 1 .075-.04zm11.703 0c.032 0 .065.015.088.042l1.181 1.41c.04.048.035.12-.013.16l-.002.002a.114.114 0 0 1-.16-.014l-1.182-1.41a.114.114 0 0 1 .013-.16l.002-.002a.115.115 0 0 1 .073-.027zm-12.928.114c.027 0 .054.01.074.031l.014.012a.107.107 0 0 1 0 .15l-.662.66a.105.105 0 0 1-.149 0l-.011-.011a.105.105 0 0 1 0-.149l.66-.662a.105.105 0 0 1 .074-.031zm14.164 0c.027 0 .053.01.074.031l.66.662a.106.106 0 0 1 0 .15l-.011.012a.106.106 0 0 1-.15-.002l-.66-.66a.106.106 0 0 1 .001-.15l.01-.012a.108.108 0 0 1 .076-.031zm-11.627.797c.018 0 .034.006.05.015l.007.004a.11.11 0 0 1 .04.15l-.921 1.598a.11.11 0 0 1-.15.041l-.008-.004a.111.111 0 0 1-.04-.152l.922-1.596a.113.113 0 0 1 .1-.056zm9.088.002a.11.11 0 0 1 .1.054l.925 1.596a.113.113 0 0 1-.04.154h-.005a.11.11 0 0 1-.152-.039l-.926-1.595a.113.113 0 0 1 .041-.155l.004-.002a.108.108 0 0 1 .053-.013zm-10.285.324c.021 0 .043.008.062.021l.004.002c.051.036.063.106.028.157l-.53.755a.112.112 0 0 1-.156.028l-.004-.002a.112.112 0 0 1-.027-.156l.53-.756a.113.113 0 0 1 .093-.05zm11.484.002c.036 0 .072.015.094.047l.53.756c.035.05.023.12-.028.156l-.004.002a.112.112 0 0 1-.156-.028l-.53-.755a.112.112 0 0 1 .028-.157l.004-.002a.112.112 0 0 1 .062-.02zm-8.863.342a.11.11 0 0 1 .043.006l.012.005c.056.02.084.081.064.137l-.633 1.74a.105.105 0 0 1-.136.063l-.014-.004a.106.106 0 0 1-.065-.137l.633-1.74a.107.107 0 0 1 .096-.07zm6.232 0a.107.107 0 0 1 .106.07l.633 1.738a.107.107 0 0 1-.065.137l-.015.006a.107.107 0 0 1-.137-.065L15 20.578a.107.107 0 0 1 .064-.137l.014-.005a.117.117 0 0 1 .033-.006zm-4.695.41c.008 0 .014 0 .021.002l.006.002c.062.01.101.067.09.129l-.318 1.812a.113.113 0 0 1-.131.092l-.004-.002a.111.111 0 0 1-.092-.129l.32-1.812a.113.113 0 0 1 .108-.094zm3.146.002c.008-.002.015 0 .022 0a.111.111 0 0 1 .107.092l.32 1.812c.012.061-.03.12-.091.131l-.004.002a.113.113 0 0 1-.13-.092l-.321-1.812a.113.113 0 0 1 .092-.131l.005-.002zm-5.79.119a.11.11 0 0 1 .042.01l.004.002a.114.114 0 0 1 .055.15l-.393.834a.112.112 0 0 1-.148.055l-.004-.002a.112.112 0 0 1-.055-.149l.393-.836a.112.112 0 0 1 .105-.064zm8.458 0a.108.108 0 0 1 .104.062l.39.84a.11.11 0 0 1-.052.147l-.008.004a.11.11 0 0 1-.146-.055l-.391-.838a.11.11 0 0 1 .053-.146l.008-.004a.11.11 0 0 1 .042-.01zm-4.236.018H12c.063 0 .115.05.115.113l.002 1.84c0 .063-.05.113-.113.113h-.006a.113.113 0 0 1-.113-.113l-.004-1.838c0-.063.05-.115.113-.115zm-2.592.578c.011 0 .022 0 .034.004l.005.002c.06.016.095.077.079.136l-.24.893a.111.111 0 0 1-.137.078l-.006-.002a.111.111 0 0 1-.078-.137l.24-.89a.113.113 0 0 1 .103-.084zm5.196.002a.11.11 0 0 1 .103.082l.24.89a.11.11 0 0 1-.078.137l-.006.002a.11.11 0 0 1-.136-.078l-.24-.89a.11.11 0 0 1 .078-.138l.005-.002a.112.112 0 0 1 .034-.003zm-3.475.302h.01l.008.002c.061.006.107.06.101.121l-.08.92a.112.112 0 0 1-.121.102h-.008a.11.11 0 0 1-.1-.121l.08-.922a.111.111 0 0 1 .11-.102zm1.736 0h.02a.11.11 0 0 1 .107.102l.08.924a.11.11 0 0 1-.101.119l-.008.002a.11.11 0 0 1-.12-.102l-.08-.924a.112.112 0 0 1 .102-.12z"},child:[]}]})(e)}const Me=(e,t="w-6 h-6")=>{switch(e){case"chrome":return d.jsx(Oe,{className:`${t} text-blue-500`});case"edge":return d.jsx(_e,{className:`${t} text-blue-600`});case"firefox":return d.jsx(Le,{className:`${t} text-orange-500`});case"safari":return d.jsx(Te,{className:`${t} text-blue-400`});default:return d.jsx(_e,{className:`${t} text-gray-500`})}},Re=(e,t="w-6 h-6")=>{switch(e){case"macos":return d.jsx(Ae,{className:`${t} text-gray-700`});case"windows":return d.jsx(Pe,{className:`${t} text-blue-600`});case"linux":return d.jsx(ze,{className:`${t} text-orange-600`});default:return d.jsx(_e,{className:`${t} text-gray-500`})}};function Ie({type:e,value:t,supportedOptions:n,onChange:r,disabled:a=!1}){const[l,s]=y.useState(!1),i=y.useRef(null),o=n.map(t=>({id:t.id,name:t.name,icon:"browser"===e?Me(t.id,"w-8 h-8"):Re(t.id,"w-8 h-8"),isSupported:"supported"===t.status})),u=o.find(e=>e.id===t)||{name:"browser"===e?"Unknown Browser":"Unknown OS",icon:"browser"===e?Me(t,"w-8 h-8"):Re(t,"w-8 h-8"),isSupported:!1};y.useEffect(()=>{const e=e=>{i.current&&!i.current.contains(e.target)&&s(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]);return d.jsxs("div",{className:"relative",ref:i,children:[d.jsxs("button",{type:"button",onClick:()=>!a&&s(!l),disabled:a,"data-testid":`${e}-dropdown`,className:"relative w-full bg-white border border-gray-300 rounded-lg shadow-sm pl-3 pr-10 py-3 text-left cursor-default focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 sm:text-sm "+(a?"bg-gray-50 text-gray-500 cursor-not-allowed":"hover:bg-gray-50"),children:[d.jsxs("div",{className:"flex items-center",children:[d.jsx("div",{className:"flex-shrink-0",children:u.icon}),d.jsxs("div",{className:"ml-3 flex-grow",children:[d.jsx("span",{className:"block truncate font-medium",children:u.name}),!u.isSupported&&d.jsx("span",{className:"text-xs text-amber-600",children:"Coming Soon"})]})]}),d.jsx("span",{className:"ml-3 absolute inset-y-0 right-0 flex items-center pr-2 pointer-events-none",children:d.jsx(C,{className:"h-5 w-5 text-gray-400","aria-hidden":"true"})})]}),l&&!a&&d.jsx("div",{className:"absolute z-10 mt-1 w-full bg-white shadow-lg max-h-56 rounded-lg py-1 text-base ring-1 ring-black ring-opacity-5 overflow-auto focus:outline-none sm:text-sm",children:o.map(n=>d.jsxs("div",{"data-testid":`${e}-option-${n.id}`,className:"cursor-pointer select-none relative py-2 pl-3 pr-9 hover:bg-gray-50 "+(n.id===t?"bg-blue-50 text-blue-900":"text-gray-900"),onClick:()=>{return e=n.id,r(e),void s(!1);var e},children:[d.jsxs("div",{className:"flex items-center",children:[d.jsx("div",{className:"flex-shrink-0",children:n.icon}),d.jsxs("div",{className:"ml-3 flex-grow",children:[d.jsx("span",{className:"block truncate font-medium "+(n.id===t?"font-semibold":"font-normal"),children:n.name}),!n.isSupported&&d.jsx("span",{className:"text-xs text-amber-600",children:"Coming Soon"})]})]}),n.id===t&&d.jsx("span",{className:"absolute inset-y-0 right-0 flex items-center pr-4 text-blue-600",children:d.jsx("svg",{className:"h-5 w-5",viewBox:"0 0 20 20",fill:"currentColor",children:d.jsx("path",{fillRule:"evenodd",d:"M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z",clipRule:"evenodd"})})})]},n.id))})]})}function Fe({isOpen:e,onToggle:t,icon:n,label:r,statusText:a,children:l,testId:s,contentTestId:i}){return d.jsxs("div",{className:"bg-gray-50 rounded-lg border border-gray-200",children:[d.jsxs("button",{onClick:t,className:"w-full flex items-center justify-between p-4","data-testid":s,children:[d.jsxs("div",{className:"flex items-center",children:[n,d.jsx("span",{className:"font-medium",children:r}),d.jsx("span",{className:"ml-2 text-sm text-gray-500",children:a})]}),e?d.jsx(C,{className:"w-5 h-5 text-gray-500"}):d.jsx(E,{className:"w-5 h-5 text-gray-500"})]}),e&&d.jsx("div",{className:"px-4 pb-4","data-testid":i,children:l})]})}function De({items:e}){return d.jsxs("div",{className:"p-3 bg-white border border-gray-200 rounded-md",children:[d.jsx("h5",{className:"text-sm font-medium text-gray-900 mb-2",children:"Troubleshooting"}),d.jsx("ul",{className:"text-sm text-gray-600 space-y-1 list-disc list-inside",children:e.map((e,t)=>d.jsx("li",{children:e},t))})]})}const Ue="http://localhost:1135",Be=(e=Ue)=>`${e}/setup`,Qe=(e=Ue)=>`${e}/admin`;function Ve(){const e=Z(e=>e.setupState),t=Z(e=>e.ui.extensionStep.extensionAccordionOpen),n=Z(e=>e.ui.extensionStep.serverAccordionOpen),r=Z(e=>e.setBrowserOverride),a=Z(e=>e.setExtensionAccordionOpen),l=Z(e=>e.setExtensionServerAccordionOpen),s=Z(me),[i,o]=y.useState("idle"),{extension:u,server:c,env:f,browsers:p}=e;y.useEffect(()=>{"ready"!==u.status?(a(!0),l(!1)):(a(!1),"ready"!==c.status&&"pending-extension-ready"!==c.status&&l(!0))},[u.status,c.status,a,l]);const m=p.find(e=>e.id===s),h=async()=>{const e=p.find(e=>e.id===s);if(e&&"supported"===e.status)try{await navigator.clipboard.writeText(e.extension_url),o("copied"),setTimeout(()=>o("idle"),2e3)}catch{o("failed"),setTimeout(()=>o("idle"),4e3)}},g=()=>{const e=p.find(e=>e.id===s);e&&"not-supported"===e.status&&e.github_issue_url&&window.open(e.github_issue_url,"_blank","noopener")};return d.jsxs("div",{className:"space-y-4","data-testid":"extension-setup-step",children:[d.jsx(Fe,{isOpen:t,onToggle:()=>a(!t),icon:"ready"===u.status?d.jsx(P,{className:"w-5 h-5 text-green-500 mr-2"}):d.jsx(A,{className:"w-5 h-5 text-amber-500 mr-2"}),label:"Extension Installation",statusText:"ready"===u.status?"Ready":"Action Required",testId:"extension-accordion-header",contentTestId:"extension-accordion-content",children:d.jsxs("div",{className:"space-y-4",children:["ready"===u.status?d.jsxs("div",{className:"flex items-center text-green-600 py-2",children:[d.jsx(P,{className:"w-4 h-4 mr-2"}),d.jsxs("span",{children:["Extension version ",u.version," is connected and ready."]})]}):d.jsxs("div",{className:"flex items-start text-amber-600 py-2",children:[d.jsx(A,{className:"w-4 h-4 mr-2 mt-0.5 flex-shrink-0"}),d.jsxs("div",{children:[d.jsx("p",{className:"font-medium","data-testid":"p-ext-error-message",children:u.error.message}),d.jsxs("p",{className:"text-sm text-gray-500","data-testid":"p-ext-error-code",children:["Error Code: ",u.error.code]})]})]}),d.jsxs("div",{"data-testid":"browser-selection-section",children:[d.jsx("label",{className:"block text-sm font-medium text-gray-700 mb-2",children:"Select Browser (for extension store link)"}),d.jsx(Ie,{type:"browser",value:s,supportedOptions:p,onChange:e=>(e=>{r(e)})(e)}),d.jsxs("p",{className:"mt-1 text-xs text-gray-500",children:["Auto-selected: ",p.find(e=>e.id===f.browser)?.name||"Unknown Browser",". Change selection to view other browser options."]})]}),"supported"===m?.status?d.jsxs("div",{className:"space-y-4",children:[d.jsxs("div",{className:"space-y-2",children:[d.jsx("input",{type:"text",readOnly:!0,value:m.extension_url,className:"w-full px-3 py-2 border border-gray-300 rounded-md text-sm bg-gray-50 cursor-pointer select-all focus:outline-none focus:ring-2 focus:ring-blue-500",onClick:e=>e.currentTarget.select()}),d.jsxs("button",{onClick:h,className:"w-full flex items-center justify-center px-4 py-2 border border-transparent rounded-md shadow-sm text-sm font-medium text-white focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500 "+("copied"===i?"bg-green-600 hover:bg-green-700":"failed"===i?"bg-red-600 hover:bg-red-700":"bg-blue-600 hover:bg-blue-700"),children:[d.jsx(M,{className:"w-4 h-4 mr-2"}),"copied"===i?"Copied!":"failed"===i?"Copy failed, select above text and copy manually":`Copy Extension URL for ${m.name}`]})]}),d.jsxs("div",{className:"bg-blue-50 border border-blue-200 rounded-md p-3",children:[d.jsxs("h5",{className:"text-sm font-medium text-blue-900 mb-2",children:["Installation Instructions for ",m.name]}),d.jsxs("ol",{className:"text-sm text-blue-800 space-y-1 list-decimal list-inside",children:[d.jsx("li",{children:"Copy the URL above and open it in a new tab"}),d.jsxs("li",{children:[\'Click "Add to \',m.name,\'" or "Install"\']}),d.jsx("li",{children:"Accept the permissions when prompted"}),d.jsx("li",{children:"Look for the Bodhi icon in your browser toolbar"}),d.jsx("li",{children:"Refresh this page and open this setup window again"})]})]})]}):d.jsx("div",{className:"space-y-4",children:d.jsx("div",{className:"bg-amber-50 border border-amber-200 rounded-md p-3",children:d.jsx("div",{className:"flex items-start",children:d.jsxs("div",{className:"ml-3",children:[d.jsxs("h5",{className:"text-sm font-medium text-amber-900",children:[m?.name||"Selected Browser"," - Coming Soon"]}),d.jsxs("p",{className:"mt-1 text-sm text-amber-800",children:["Support for ",m?.name||"this browser"," is in development."]}),m?.github_issue_url&&d.jsxs("button",{onClick:g,className:"mt-2 inline-flex items-center text-sm text-amber-700 hover:text-amber-900",children:["Track Progress ",d.jsx(I,{className:"w-3 h-3 ml-1"})]})]})})})}),"ready"!==u.status&&d.jsx(De,{items:["Make sure you\'re using a supported browser version","Check that the extension is enabled in your browser settings","Try refreshing this page after installing the extension","Restart your browser if the extension isn\'t detected"]})]})}),d.jsx(Fe,{isOpen:n,onToggle:()=>l(!n),icon:"ready"===c.status?d.jsx(P,{className:"w-5 h-5 text-green-500 mr-2"}):"ready"!==u.status?d.jsx("span",{className:"w-5 h-5 mr-2 text-gray-400 flex items-center justify-center",children:"—"}):d.jsx(A,{className:"w-5 h-5 text-amber-500 mr-2"}),label:"Server Status",statusText:"ready"===c.status?"Connected":"ready"!==u.status?"Pending Extension":"Action Required",testId:"server-accordion-header",contentTestId:"server-accordion-content",children:"ready"!==u.status?d.jsx("div",{className:"text-sm text-gray-500 py-2",children:"Server connection will be verified once extension is installed."}):"ready"===c.status?d.jsxs("div",{className:"flex items-center text-green-600 py-2",children:[d.jsx(P,{className:"w-4 h-4 mr-2"}),d.jsxs("span",{children:["Server v",c.version," connected successfully"]})]}):d.jsxs("div",{className:"space-y-4",children:[d.jsxs("div",{className:"flex items-start text-amber-600",children:[d.jsx(A,{className:"w-4 h-4 mr-2 mt-0.5 flex-shrink-0"}),d.jsxs("div",{children:[d.jsx("p",{className:"font-medium","data-testid":"p-server-error-message",children:c.error?.message||"Server connection failed"}),c.error?.code&&d.jsxs("p",{className:"text-sm text-gray-500","data-testid":"p-server-error-code",children:["Error: ",c.error.code]})]})]}),"setup"===c.status&&d.jsxs("div",{className:"bg-blue-50 border border-blue-200 rounded-md p-3",children:[d.jsx("p",{className:"text-sm text-blue-800 mb-2",children:"Server needs initial configuration."}),d.jsx("a",{href:Be(Ue),target:"_blank",rel:"noopener noreferrer",className:"text-sm text-blue-600 hover:underline",children:"Open Server Setup →"})]}),"resource_admin"===c.status&&d.jsxs("div",{className:"bg-blue-50 border border-blue-200 rounded-md p-3",children:[d.jsx("p",{className:"text-sm text-blue-800 mb-2",children:"Server requires admin approval."}),d.jsx("a",{href:Qe(Ue),target:"_blank",rel:"noopener noreferrer",className:"text-sm text-blue-600 hover:underline",children:"Open Admin Panel →"})]}),("unreachable"===c.status||"error"===c.status)&&d.jsx(De,{items:["Make sure the Bodhi App Server is running","Check that your firewall isn\'t blocking the server","Verify the server is running on port 1135","Try restarting the server application"]})]})})]})}function He(){const e=Z(e=>e.setupState),t=Z(e=>e.ui.lnaStep.serverUrl),n=Z(e=>e.ui.lnaStep.lnaAccordionOpen),r=Z(e=>e.ui.lnaStep.serverAccordionOpen),a=Z(e=>e.setServerUrl),l=Z(e=>e.setLnaAccordionOpen),s=Z(e=>e.setLnaServerAccordionOpen),i=Z(e=>e.sendMessage),[o,u]=y.useState(""),{lna:c,lnaServer:f}=e;y.useEffect(()=>{t||("granted"===c.status||"unreachable"===c.status||"prompt"===c.status&&c.serverUrl||"skipped"===c.status&&c.serverUrl?a(c.serverUrl):a(Ue))},[t,c,a]),y.useEffect(()=>{"granted"!==c.status?l(!0):"ready"!==f.status&&s(!0)},[c.status,f.status,l,s]);const p=()=>{!function(e){if(!e||"string"!=typeof e)return!1;try{const t=new URL(e);return"http:"===t.protocol||"https:"===t.protocol}catch{return!1}}(t)?u(function(e){if(!e||""===e.trim())return"Server URL is required";try{const t=new URL(e);if("http:"!==t.protocol&&"https:"!==t.protocol)return"URL must use http:// or https:// protocol"}catch{return"Please enter a valid URL (e.g., http://localhost:1135)"}return"Invalid URL format"}(t)):(u(""),i("modal:lna:connect",{serverUrl:t}).catch(e=>{u("Failed to connect. Please try again.")}))},m=()=>{i("modal:lna:skip",void 0).catch(e=>{})},h=()=>{switch(c.status){case"granted":return"Reconnect";case"unreachable":case"denied":return"Try Again";default:return"Connect"}},g=()=>{switch(c.status){case"granted":case"unreachable":case"denied":return d.jsx(U,{className:"w-4 h-4"});default:return d.jsx(H,{className:"w-4 h-4"})}};return d.jsxs("div",{className:"space-y-4","data-testid":"lna-setup-step",children:[d.jsx("h2",{className:"text-xl font-semibold text-gray-900",children:"Direct Connection"}),d.jsx(Fe,{isOpen:n,onToggle:()=>l(!n),icon:"granted"===c.status?d.jsx(P,{className:"w-5 h-5 text-green-500 mr-2"}):"skipped"===c.status?d.jsx("span",{className:"w-5 h-5 mr-2 text-gray-400 flex items-center justify-center",children:"—"}):"unreachable"===c.status?d.jsx(L,{className:"w-5 h-5 text-red-500 mr-2"}):"denied"===c.status?d.jsx(V,{className:"w-5 h-5 text-amber-500 mr-2"}):"unsupported"===c.status?d.jsx(V,{className:"w-5 h-5 text-gray-500 mr-2"}):d.jsx(A,{className:"w-5 h-5 text-amber-500 mr-2"}),label:"LNA Connection",statusText:(()=>{switch(c.status){case"granted":return"Connected";case"skipped":return"Skipped";case"unreachable":return"Connection Failed";case"denied":return"Permission Denied";case"unsupported":return"Not Supported";default:return"Not Connected"}})(),testId:"lna-accordion-header",contentTestId:"lna-accordion-content",children:d.jsxs("div",{className:"space-y-4",children:["granted"===c.status&&d.jsxs("div",{className:"flex items-center text-green-600 py-2",children:[d.jsx(P,{className:"w-4 h-4 mr-2"}),d.jsxs("span",{children:["Direct connection established to ",c.serverUrl]})]}),"prompt"===c.status&&d.jsxs("div",{className:"text-gray-600 py-2",children:[d.jsx("p",{children:"Configure direct connection to your local Bodhi server."}),d.jsx("p",{className:"text-sm text-gray-500 mt-1",children:"Direct connection allows websites to connect to localhost without a browser extension."})]}),"unsupported"===c.status&&d.jsxs("div",{className:"flex items-start text-amber-600 py-2",children:[d.jsx(V,{className:"w-4 h-4 mr-2 mt-0.5 flex-shrink-0"}),d.jsxs("div",{children:[d.jsx("p",{className:"font-medium",children:"Browser Not Supported"}),d.jsx("p",{className:"text-sm text-gray-500",children:"Your browser does not support Local Network Access. You can still try to connect, or use the browser extension instead."})]})]}),"unreachable"===c.status&&d.jsxs("div",{className:"flex items-start text-red-600 py-2",children:[d.jsx(L,{className:"w-4 h-4 mr-2 mt-0.5 flex-shrink-0"}),d.jsxs("div",{children:[d.jsx("p",{className:"font-medium",children:"Connection Failed"}),d.jsx("p",{className:"text-sm",children:c.error.message}),d.jsxs("p",{className:"text-sm text-gray-500",children:["Could not connect to ",c.serverUrl]})]})]}),"denied"===c.status&&d.jsxs("div",{className:"flex items-start text-amber-600 py-2",children:[d.jsx(V,{className:"w-4 h-4 mr-2 mt-0.5 flex-shrink-0"}),d.jsxs("div",{children:[d.jsx("p",{className:"font-medium",children:"Permission Denied"}),d.jsx("p",{className:"text-sm",children:c.error.message}),d.jsx("p",{className:"text-sm text-gray-500",children:"Your browser requires permission to access local network resources."})]})]}),"skipped"===c.status&&d.jsxs("div",{className:"text-gray-600 py-2",children:[d.jsx("p",{children:"Direct connection skipped. Using browser extension instead."}),d.jsx("p",{className:"text-sm text-gray-500 mt-1",children:"You can still enable direct connection by entering a server URL below."})]}),d.jsxs("div",{children:[d.jsx("label",{htmlFor:"lna-url",className:"block text-sm font-medium text-gray-700 mb-1",children:"Server URL"}),d.jsx("input",{id:"lna-url",type:"text","data-testid":"lna-url-input",value:t,onChange:e=>{a(e.target.value),o&&u("")},className:"w-full px-3 py-2 border rounded-md shadow-sm focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-blue-500 "+(o?"border-red-300":"border-gray-300"),placeholder:Ue}),o&&d.jsx("p",{className:"mt-1 text-sm text-red-600","data-testid":"url-error-message",children:o})]}),d.jsxs("div",{className:"flex gap-3",children:[d.jsx("button",{"data-testid":"lna-connect-button",onClick:p,className:"flex-1 px-4 py-2 bg-blue-600 text-white rounded-md hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 transition-colors",children:d.jsxs("div",{className:"flex items-center justify-center gap-2",children:[g(),h()]})}),"skipped"!==c.status&&d.jsx("button",{"data-testid":"lna-skip-button",onClick:m,className:"px-4 py-2 bg-gray-100 text-gray-700 rounded-md hover:bg-gray-200 focus:outline-none focus:ring-2 focus:ring-gray-500 focus:ring-offset-2 transition-colors",children:d.jsxs("div",{className:"flex items-center justify-center gap-2",children:[d.jsx(Q,{className:"w-4 h-4"}),"Skip"]})})]})]})}),d.jsx(Fe,{isOpen:r,onToggle:()=>s(!r),icon:"ready"===f.status?d.jsx(P,{className:"w-5 h-5 text-green-500 mr-2"}):"granted"!==c.status?d.jsx("span",{className:"w-5 h-5 mr-2 text-gray-400 flex items-center justify-center",children:"—"}):"pending-lna-ready"===f.status?d.jsx(D,{className:"w-5 h-5 text-blue-500 animate-spin mr-2"}):d.jsx(A,{className:"w-5 h-5 text-amber-500 mr-2"}),label:"Server Status",statusText:(()=>{if("granted"!==c.status)return"Pending LNA";switch(f.status){case"ready":return"Connected";case"setup":return"Setup Required";case"resource_admin":return"Admin Required";case"error":return"Error";default:return"Checking..."}})(),testId:"lna-server-accordion-header",contentTestId:"lna-server-status",children:"granted"!==c.status?d.jsx("div",{className:"text-sm text-gray-500 py-2",children:"Server status will be checked once LNA connection is established."}):"pending-lna-ready"===f.status?d.jsxs("div",{className:"flex items-center text-gray-500 py-2",children:[d.jsx(D,{className:"w-4 h-4 animate-spin mr-2"}),d.jsx("span",{children:"Checking server..."})]}):"ready"===f.status?d.jsxs("div",{className:"flex items-center text-green-600 py-2",children:[d.jsx(P,{className:"w-4 h-4 mr-2"}),d.jsxs("span",{children:["Server v",f.version," connected successfully"]})]}):d.jsxs("div",{className:"space-y-4",children:["setup"===f.status&&d.jsxs(d.Fragment,{children:[d.jsxs("div",{className:"flex items-start text-amber-600",children:[d.jsx(V,{className:"w-4 h-4 mr-2 mt-0.5 flex-shrink-0"}),d.jsx("div",{children:d.jsx("p",{className:"font-medium",children:"Server requires initial setup"})})]}),d.jsxs("div",{className:"bg-blue-50 border border-blue-200 rounded-md p-3",children:[d.jsx("p",{className:"text-sm text-blue-800 mb-2",children:"Complete the server setup to continue."}),d.jsxs("a",{href:Be(c.serverUrl),target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-sm text-blue-600 hover:text-blue-700","data-testid":"lna-server-setup-link",children:["Complete server setup",d.jsx(I,{className:"w-3 h-3"})]})]})]}),"resource_admin"===f.status&&d.jsxs(d.Fragment,{children:[d.jsxs("div",{className:"flex items-start text-amber-600",children:[d.jsx(V,{className:"w-4 h-4 mr-2 mt-0.5 flex-shrink-0"}),d.jsx("div",{children:d.jsx("p",{className:"font-medium",children:"Server requires resource configuration"})})]}),d.jsxs("div",{className:"bg-blue-50 border border-blue-200 rounded-md p-3",children:[d.jsx("p",{className:"text-sm text-blue-800 mb-2",children:"Configure server resources to continue."}),d.jsxs("a",{href:Qe(c.serverUrl),target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-1 text-sm text-blue-600 hover:text-blue-700","data-testid":"lna-server-admin-link",children:["Configure resources",d.jsx(I,{className:"w-3 h-3"})]})]})]}),"error"===f.status&&d.jsxs(d.Fragment,{children:[d.jsxs("div",{className:"flex items-start text-red-600",children:[d.jsx(L,{className:"w-4 h-4 mr-2 mt-0.5 flex-shrink-0"}),d.jsxs("div",{children:[d.jsx("p",{className:"font-medium",children:"Server connection error"}),d.jsx("p",{className:"text-sm",children:f.error.message})]})]}),d.jsx(De,{items:["Make sure the Bodhi App Server is running","Check that your firewall isn\'t blocking the server","Verify the server is running on the configured port","Try restarting the server application"]})]})]})})]})}function qe(){return d.jsxs("div",{className:"space-y-6","data-testid":"loading-skeleton",children:[d.jsxs("div",{className:"text-center animate-pulse",children:[d.jsx("div",{className:"h-6 bg-gray-200 rounded w-64 mx-auto mb-2"}),d.jsx("div",{className:"h-4 bg-gray-200 rounded w-96 mx-auto"})]}),d.jsx("div",{className:"bg-white rounded-lg border border-gray-200 p-4 animate-pulse",children:d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsxs("div",{className:"flex items-center",children:[d.jsx("div",{className:"w-10 h-10 bg-gray-200 rounded"}),d.jsxs("div",{className:"ml-3",children:[d.jsx("div",{className:"h-4 bg-gray-200 rounded w-32 mb-2"}),d.jsx("div",{className:"h-3 bg-gray-200 rounded w-24"})]})]}),d.jsx("div",{className:"h-6 bg-gray-200 rounded-full w-20"})]})}),d.jsx("div",{className:"bg-white rounded-lg border border-gray-200 p-4 animate-pulse",children:d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsxs("div",{className:"flex items-center",children:[d.jsx("div",{className:"w-10 h-10 bg-gray-200 rounded"}),d.jsxs("div",{className:"ml-3",children:[d.jsx("div",{className:"h-4 bg-gray-200 rounded w-40 mb-2"}),d.jsx("div",{className:"h-3 bg-gray-200 rounded w-20"})]})]}),d.jsx("div",{className:"h-6 bg-gray-200 rounded-full w-20"})]})}),d.jsxs("div",{className:"flex items-center justify-center pt-4",children:[d.jsx(D,{className:"w-5 h-5 text-blue-500 animate-spin mr-2"}),d.jsx("span",{className:"text-sm text-gray-500",children:"Detecting platform..."})]})]})}function We(){const e=Z(e=>e.setupState),t=Z(re),n=Z(ae),r=Z(ee),a=Z(te),l=Z(le),s=Z(se),{env:i}=e,o=()=>r?"Supported":"Not Supported",u=()=>a?"Supported":"Not Supported";return d.jsxs("div",{className:"space-y-6","data-testid":"platform-check-step",children:[d.jsxs("div",{className:"text-center","data-testid":"platform-check-header",children:[d.jsx("h3",{className:"text-lg font-semibold text-gray-900 mb-2","data-testid":"platform-check-title",children:"Platform Compatibility Check"}),d.jsx("p",{className:"text-gray-600","data-testid":"platform-check-description",children:"Verifying your browser and operating system compatibility"})]}),d.jsxs("div",{className:"bg-white rounded-lg border border-gray-200 p-4","data-testid":"browser-detection-section",children:[d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsxs("div",{className:"flex items-center",children:[d.jsx("div",{className:"flex-shrink-0","data-testid":"browser-icon",children:Me(i.browser)}),d.jsxs("div",{className:"ml-3",children:[d.jsx("h4",{className:"text-sm font-medium text-gray-900","data-testid":"browser-section-title",children:"Detected Browser"}),d.jsx("p",{className:"text-sm text-gray-500","data-testid":"browser-name",children:l}),d.jsx("p",{className:"text-xs text-gray-400 mt-1","data-testid":"browser-reliability-warning",children:"Detection can be unreliable"})]})]}),d.jsx("div",{className:"flex items-center space-x-2",children:d.jsx("span",{className:"inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium "+(r?"text-green-600 bg-green-50":"not-supported"===t?.status?"text-red-600 bg-red-50":"text-amber-600 bg-amber-50"),"data-testid":"browser-status-badge",children:r?d.jsxs(d.Fragment,{children:[d.jsx(z,{className:"w-3 h-3 mr-1"}),d.jsx("span",{"data-testid":"browser-status-text",children:o()})]}):d.jsxs(d.Fragment,{children:[d.jsx(L,{className:"w-3 h-3 mr-1"}),d.jsx("span",{"data-testid":"browser-status-text",children:o()})]})})})]}),!r&&d.jsx("div",{className:"mt-3 p-3 rounded-md "+("not-supported"===t?.status?"bg-red-50":"bg-amber-50"),"data-testid":"browser-warning-section",children:d.jsxs("p",{className:"text-sm "+("not-supported"===t?.status?"text-red-800":"text-amber-800"),"data-testid":"browser-warning-text",children:["not-supported"===t?.status?"This browser is not supported by Bodhi Platform.":"We couldn\'t detect your browser reliably. Your browser might still be supported - try proceeding with setup.","not-supported"===t?.status&&t.github_issue_url&&d.jsxs(d.Fragment,{children:[" ",d.jsxs("a",{href:t.github_issue_url,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center underline "+("not-supported"===t?.status?"text-red-700 hover:text-red-900":"text-amber-700 hover:text-amber-900"),"data-testid":"browser-support-link",children:["Request support ",d.jsx(I,{className:"w-3 h-3 ml-1"})]})]})]})})]}),d.jsxs("div",{className:"bg-white rounded-lg border border-gray-200 p-4","data-testid":"os-detection-section",children:[d.jsxs("div",{className:"flex items-center justify-between",children:[d.jsxs("div",{className:"flex items-center",children:[d.jsx("div",{className:"flex-shrink-0","data-testid":"os-icon",children:Re(i.os)}),d.jsxs("div",{className:"ml-3",children:[d.jsx("h4",{className:"text-sm font-medium text-gray-900","data-testid":"os-section-title",children:"Detected Operating System"}),d.jsx("p",{className:"text-sm text-gray-500","data-testid":"os-name",children:s}),d.jsx("p",{className:"text-xs text-gray-400 mt-1","data-testid":"os-reliability-warning",children:"Detection can be unreliable"})]})]}),d.jsx("div",{className:"flex items-center space-x-2",children:d.jsx("span",{className:"inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium "+(a?"text-green-600 bg-green-50":"not-supported"===n?.status?"text-red-600 bg-red-50":"text-amber-600 bg-amber-50"),"data-testid":"os-status-badge",children:a?d.jsxs(d.Fragment,{children:[d.jsx(z,{className:"w-3 h-3 mr-1"}),d.jsx("span",{"data-testid":"os-status-text",children:u()})]}):d.jsxs(d.Fragment,{children:[d.jsx(L,{className:"w-3 h-3 mr-1"}),d.jsx("span",{"data-testid":"os-status-text",children:u()})]})})})]}),!a&&d.jsx("div",{className:"mt-3 p-3 rounded-md "+("not-supported"===n?.status?"bg-red-50":"bg-amber-50"),"data-testid":"os-warning-section",children:d.jsxs("p",{className:"text-sm "+("not-supported"===n?.status?"text-red-800":"text-amber-800"),"data-testid":"os-warning-text",children:["not-supported"===n?.status?"This operating system is not supported by Bodhi Platform.":"We couldn\'t detect your OS reliably. Your operating system might still be supported - try proceeding with setup.","not-supported"===n?.status&&n.github_issue_url&&d.jsxs(d.Fragment,{children:[" ",d.jsxs("a",{href:n.github_issue_url,target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center underline "+("not-supported"===n?.status?"text-red-700 hover:text-red-900":"text-amber-700 hover:text-amber-900"),"data-testid":"os-support-link",children:["Request support ",d.jsx(I,{className:"w-3 h-3 ml-1"})]})]})]})})]})]})}function Ye(){const e=Z(e=>e.setupState),t=Z(e=>e.setOSOverride),n=Z(e=>e.sendMessage),r=Z(he),{env:a,os:l}=e;y.useEffect(()=>{t(null)},[a.os,t]);const s=l.find(e=>e.id===r);return d.jsx("div",{className:"space-y-6 min-h-0","data-testid":"server-setup-step",children:d.jsxs("div",{className:"bg-gray-50 p-4 rounded-lg min-h-0",children:[d.jsxs("div",{className:"mb-6",children:[d.jsx("label",{className:"block text-sm font-medium text-gray-700 mb-2",children:"Select Operating System (for server download)"}),d.jsx(Ie,{type:"os",value:r,supportedOptions:l,onChange:e=>(e=>{t(e)})(e)}),d.jsxs("p",{className:"mt-1 text-xs text-gray-500",children:["Auto-selected: ",l.find(e=>e.id===a.os)?.name||"Unknown OS",". Change selection to view other OS options."]})]}),"supported"===s?.status?d.jsxs("div",{className:"space-y-4",children:[d.jsxs("button",{onClick:()=>{const e=l.find(e=>e.id===r);e&&"supported"===e.status&&window.open(e.download_url,"_blank","noopener")},className:"w-full flex items-center justify-center px-4 py-2 border border-transparent rounded-md shadow-sm text-sm font-medium text-white bg-blue-600 hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500",children:[d.jsx(R,{className:"w-4 h-4 mr-2"}),"Download Bodhi App Server for ",s.name]}),d.jsxs("div",{className:"bg-blue-50 border border-blue-200 rounded-md p-3",children:[d.jsxs("h5",{className:"text-sm font-medium text-blue-900 mb-2",children:["Installation Instructions for ",s.name]}),d.jsxs("ol",{className:"text-sm text-blue-800 space-y-1 list-decimal list-inside",children:[d.jsx("li",{children:"Click the download button above to get the installer"}),d.jsx("li",{children:"Run the downloaded installer"}),d.jsx("li",{children:"Follow the installation wizard"}),d.jsx("li",{children:"Launch the Bodhi App Server"})]})]})]}):d.jsx("div",{className:"space-y-4",children:d.jsx("div",{className:"bg-amber-50 border border-amber-200 rounded-md p-3",children:d.jsx("div",{className:"flex items-start",children:d.jsxs("div",{className:"ml-3",children:[d.jsxs("h5",{className:"text-sm font-medium text-amber-900",children:[s?.name||"Selected OS"," - Coming Soon"]}),d.jsxs("p",{className:"mt-1 text-sm text-amber-800",children:["Support for ",s?.name||"this operating system"," is in development."]}),s?.github_issue_url&&d.jsxs("button",{onClick:()=>{const e=l.find(e=>e.id===r);e&&"not-supported"===e.status&&e.github_issue_url&&window.open(e.github_issue_url,"_blank","noopener")},className:"mt-2 inline-flex items-center text-sm text-amber-700 hover:text-amber-900",children:["Track Progress ",d.jsx(I,{className:"w-3 h-3 ml-1"})]})]})})})}),d.jsx("div",{className:"mt-6 p-4 bg-white border border-gray-200 rounded-lg",children:d.jsxs("label",{className:"flex items-center cursor-pointer",children:[d.jsx("input",{type:"checkbox",checked:e.userConfirmations?.serverInstall??!1,onChange:e=>{n("modal:confirm-server-install",{confirmed:e.target.checked}).catch(e=>{})},className:"w-5 h-5 text-green-600 border-gray-300 rounded focus:ring-green-500","data-testid":"server-confirm-checkbox"}),d.jsx("span",{className:"ml-3 text-sm font-medium text-gray-700",children:"I have installed the Bodhi App Server"})]})})]})})}function Ke(){const e=Z(e=>e.setupState),t=Z(e=>e.sendMessage),n=Z(ee),r=Z(te),a=Z(ue),l=Z(ie),s=Z(oe),i=Z(le),o=Z(se),{extension:u,server:c,lna:f,lnaServer:p,selectedConnection:m}=e,h="ready"===u.status,g="ready"===c.status,v=m??(l?"lna":s?"extension":null),y=e=>{t("modal:select-connection",{connection:e}).catch(e=>{})},b=(e,t=!0)=>e&&t?d.jsx(z,{className:"w-5 h-5 text-green-500"}):t?d.jsx(L,{className:"w-5 h-5 text-red-500"}):d.jsx(O,{className:"w-5 h-5 text-amber-500"}),x=(e,t=!0)=>e&&t?{text:"Ready",className:"text-green-700"}:t?{text:"Incomplete",className:"text-red-700"}:{text:"Not Supported",className:"text-amber-700"};return d.jsxs("div",{className:"space-y-6","data-testid":"success-state-step",children:[d.jsxs("div",{className:"text-center py-6","data-testid":"success-state-header",children:[d.jsx("div",{className:"inline-flex items-center justify-center w-16 h-16 rounded-full mb-4 "+(a?"bg-green-100":"bg-amber-100"),"data-testid":"success-state-icon",children:a?d.jsx(z,{className:"w-8 h-8 text-green-600"}):d.jsx(O,{className:"w-8 h-8 text-amber-600"})}),d.jsx("h3",{className:"text-lg font-semibold text-gray-900 mb-2","data-testid":"success-state-title",children:a?"All Systems Ready!":"Setup In Progress"}),d.jsx("p",{className:"text-gray-600 mb-6","data-testid":"success-state-description",children:a?"Your Bodhi Platform setup is complete and ready to use.":"Complete the remaining setup steps to get started."}),a&&d.jsxs("button",{onClick:()=>{t("modal:complete",void 0).catch(e=>{})},className:"inline-flex items-center px-6 py-3 border border-transparent text-base font-medium rounded-md text-white bg-blue-600 hover:bg-blue-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-blue-500","data-testid":"continue-button",children:["Continue to Webpage",d.jsx(N,{className:"ml-2 w-5 h-5"})]})]}),d.jsxs("div",{className:"bg-white border border-gray-200 rounded-lg p-4","data-testid":"status-summary-section",children:[d.jsx("h4",{className:"text-sm font-medium text-gray-900 mb-4","data-testid":"status-summary-title",children:"Setup Status Summary"}),d.jsxs("div",{className:"space-y-3",children:[d.jsxs("div",{className:"flex items-center justify-between py-2 border-b border-gray-100","data-testid":"platform-status-row",children:[d.jsxs("div",{className:"flex items-center",children:[b(n&&r,n&&r),d.jsxs("div",{className:"ml-3",children:[d.jsx("p",{className:"text-sm font-medium text-gray-900","data-testid":"platform-status-label",children:"Platform Compatibility"}),d.jsxs("p",{className:"text-xs text-gray-500","data-testid":"platform-status-details",children:[i," on ",o]})]})]}),d.jsx("span",{className:`text-xs font-medium ${x(n&&r,n&&r).className}`,"data-testid":"platform-status-text",children:x(n&&r,n&&r).text})]}),d.jsxs("div",{className:"flex items-center justify-between py-2 border-b border-gray-100","data-testid":"lna-status-row",children:[d.jsxs("div",{className:"flex items-center",children:["granted"===f.status?d.jsx(z,{className:"w-5 h-5 text-green-500"}):"skipped"===f.status?d.jsx(_,{className:"w-5 h-5 text-gray-400"}):d.jsx(H,{className:"w-5 h-5 text-gray-400"}),d.jsxs("div",{className:"ml-3",children:[d.jsx("p",{className:"text-sm font-medium text-gray-900","data-testid":"lna-status-label",children:"Direct Connection"}),d.jsx("p",{className:"text-xs text-gray-500","data-testid":"lna-status-details",children:"granted"===f.status?`Connected to ${f.serverUrl}`:"skipped"===f.status?"Using browser extension instead":"Not configured"})]})]}),d.jsx("span",{className:"text-xs font-medium "+("granted"===f.status?"text-green-700":(f.status,"text-gray-500")),"data-testid":"lna-status-text",children:"granted"===f.status?"Ready":"skipped"===f.status?"Skipped":"Not Connected"})]}),d.jsxs("div",{className:"flex items-center justify-between py-2 border-b border-gray-100","data-testid":"lna-server-status-row",children:[d.jsxs("div",{className:"flex items-center",children:["skipped"===f.status||"prompt"===f.status?d.jsx(_,{className:"w-5 h-5 text-gray-400"}):"ready"===p.status?d.jsx(z,{className:"w-5 h-5 text-green-500"}):d.jsx(O,{className:"w-5 h-5 text-amber-500"}),d.jsxs("div",{className:"ml-3",children:[d.jsx("p",{className:"text-sm font-medium "+("skipped"===f.status||"prompt"===f.status?"text-gray-500":"text-gray-900"),"data-testid":"lna-server-status-label",children:"Local Server (via LNA)"}),d.jsx("p",{className:"text-xs text-gray-500","data-testid":"lna-server-status-details",children:"skipped"===f.status?"Using browser extension instead":"prompt"===f.status?"LNA not configured":"ready"===p.status?`Version ${p.version}`:"pending-lna-ready"===p.status?"Waiting for LNA connection":"error"in p&&p.error?.message||"Connection issue"})]})]}),d.jsx("div",{className:"flex items-center",children:l?d.jsxs("label",{htmlFor:"connection-lna",className:"flex items-center space-x-2 cursor-pointer",children:[d.jsx("button",{type:"button",role:"radio","aria-checked":"lna"===v,id:"connection-lna","data-testid":"connection-lna",onClick:()=>y("lna"),className:"w-5 h-5 rounded-full border-2 flex items-center justify-center transition-colors "+("lna"===v?"border-green-500 bg-green-500":"border-gray-300 bg-white hover:border-green-400"),children:"lna"===v&&d.jsx(j,{className:"w-3 h-3 text-white"})}),d.jsx("span",{className:"text-xs font-medium text-green-700",children:"Use this"})]}):d.jsx("span",{className:"text-xs font-medium text-gray-400","data-testid":"connection-lna-hint",children:"Not set up"})})]}),d.jsxs("div",{className:"flex items-center justify-between py-2 border-b border-gray-100","data-testid":"extension-status-row",children:[d.jsxs("div",{className:"flex items-center",children:[b(h),d.jsxs("div",{className:"ml-3",children:[d.jsx("p",{className:"text-sm font-medium text-gray-900","data-testid":"extension-status-label",children:"Browser Extension"}),d.jsx("p",{className:"text-xs text-gray-500","data-testid":"extension-status-details",children:h?`Version ${u.version}`:u.error.message})]})]}),d.jsx("span",{className:`text-xs font-medium ${x(h).className}`,"data-testid":"extension-status-text",children:x(h).text})]}),d.jsxs("div",{className:"flex items-center justify-between py-2","data-testid":"server-status-row",children:[d.jsxs("div",{className:"flex items-center",children:[b(g),d.jsxs("div",{className:"ml-3",children:[d.jsx("p",{className:"text-sm font-medium text-gray-900","data-testid":"server-status-label",children:"Local Server (via Extension)"}),d.jsx("p",{className:"text-xs text-gray-500","data-testid":"server-status-details",children:g?`Version ${c.version}`:c.error.message})]})]}),d.jsx("div",{className:"flex items-center",children:s?d.jsxs("label",{htmlFor:"connection-extension",className:"flex items-center space-x-2 cursor-pointer",children:[d.jsx("button",{type:"button",role:"radio","aria-checked":"extension"===v,id:"connection-extension","data-testid":"connection-extension",onClick:()=>y("extension"),className:"w-5 h-5 rounded-full border-2 flex items-center justify-center transition-colors "+("extension"===v?"border-green-500 bg-green-500":"border-gray-300 bg-white hover:border-green-400"),children:"extension"===v&&d.jsx(j,{className:"w-3 h-3 text-white"})}),d.jsx("span",{className:"text-xs font-medium text-green-700",children:"Use this"})]}):d.jsx("span",{className:"text-xs font-medium text-gray-400","data-testid":"connection-extension-hint",children:"Not set up"})})]})]})]}),!a&&d.jsx("div",{className:"text-center bg-gray-50 rounded-lg p-4","data-testid":"help-text-section",children:d.jsx("p",{className:"text-sm text-gray-600 mb-2","data-testid":"help-text",children:"You can navigate to any step using the progress indicator above to complete the remaining setup."})})]})}function Ge(){const e=Z(e=>e.ui.currentStep),t=Z(e=>e.ui.isRefreshing),n=Z(e=>e.setCurrentStep),r=Z(e=>e.setIsRefreshing),a=Z(e=>e.sendMessage),l=y.useRef(null),s=Z(fe),i=Z(ne),o=Z(ce),u=!i;y.useEffect(()=>{n(s)},[s,n]),y.useEffect(()=>()=>{l.current&&clearTimeout(l.current)},[]);return d.jsxs("div",{className:"flex flex-col h-screen",children:[d.jsxs("div",{className:"p-4 border-b flex items-center justify-between flex-shrink-0",children:[d.jsxs("div",{className:"flex items-center",children:[d.jsx("img",{src:`data:image/png;base64,${"iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAAAXNSR0IArs4c6QAAEYxJREFUeF7tXW+MXUUVnxUslH8GiKEY/QJYUz9Atd80cbcqDRpDTIEPxibVRPFPQkyJ5YMVdzeIf6hKWkwkGqMEjIgFGz5Qgn92S7EfJEDbLw2FognCFrSitHWhi3numX3zdu7cc2bOzJx737v3vZtsCu/dO3fmnN/5nXNmzswbU6NrqCUwNtSjHw1ejQAw5CAYAWAEgCGXwJAPf8QAIwAMpQQmlFLwN66U2tuVwOziZ/A3VNewMQAofSag4enF76eGBQXDBABQ6iRTsUMDgmEBAFg9WH/MBe5gfcwDTbx3GACAWv7E2nVaX/Dv7IGn9B9ytZ4J2g4AVPlTn7tRTW7+YkHf0/f8TE398qdDB4I2AwAN+DDlG60DC6zf8mUMBOAKWpkhtBkAHVeTPuWbewkmaG080FYAlII+jvKHEQRtBEDJ70OgN3Pn3VFBOrgCJDBsXVDYNgCgQV9n5sko5cPNwxIPtA0ASX6fQsfsvifU+m9taXVQ2CYAlKw/xu+jIHjpuJp+6D41tfjnXK0JCtsCAHnln5hX6vX/ar2vv/0WNXv4kAuCVqSGbQFAifpT/H5Pw5bydTxw+JAGQRtZoA0AkLX+NxeU+ufrJY9AuILGZwVNB4BIylfQ9kvHyYyhja6g6QAoTfhAvm8WeqJzP4f6S5zfQlfQZADIUn9A+b1ZQjwraGxA2GQAyAV+TOUbEBCuoJGybGSnFxUhZ/1E0OdzH0RW0EgWkAKAW21T9dKpnPVDxA8giLwQFqhjckhczrkAgA5BnR1WbgUpElzSBZZy1h9J/TZGamIBI1dKxtClrFQ0FQCc6tqCvLrl1xJgkLH+DOV7YgEJFjBGBa+JqWNMckEpAIhVPjaDBrX4KXX4Mtaf4PcxDyHIAj4mjXFO0SCIBUCu8rHBxFBYCQBJU76Jfh/rfGYsIKV4u2tRIIgFADrzBgWW9uQLlFVp548XWVKI5gChQP9Jq30C1C8QC8TsUVATa65Ukxs36dfCf2vH312hzF2pjAVAQQGcShsorNh78OkYMFBAkLF+z1RvDNfa945tusZ91AfmoPKNkkHp5r+pvuXOScQAIFsBkWBwhThw1p8YDJKbVIylh5QuwEC9JpIBwLF+n0VFuAmTTha2dUXTvzD1pyihc++eiV1/eWLyhrtu70X3KUp35ZoTh8QAoIDcaAV40ODZlEE+FR38VUD9ATfQC8ZA8WpsrJDLmwKTGGuPcAPsdHQgAGAGxgVCNPgqtH6fG+jcu2faVXxqnOFl0/ICVTMBwAVCNAAqtn7oNzYn0Nn5gFIr3r40rPNWVqH7XkbgZAMNBgBY69xxXZa99+hhNfXYgyXBRdF/DdZvOuhmAzNf+aaauHzNcv8vumAZEIJwQKqVKgFAIQrPKrzwDX7uuFIvL1flTD/2UAEEg2j9lBsA5QMIehewAYBA+CLK1VjunXVTt7/VAwCs9ciLqHhm51/VNBpV7VOj9UOnXUWUAAA3VcACxJQ0S7esm2oDgGP9BSSsfo9S50f6UcEpX47RonHAD35VfHQEAI8ofQBYt5qjg+V7arZ+KhAsxQHnnSMeELafAc4/R6nV7x54AEAHg4FgBXFAewBw5O9KnVjajVO43nWxUpdeHAeAGlI/rEPurNzUhuvU5IaNlQaC7QHAU0dwJccCoA/0bzruBoIlAMCNqyLBHIB+e7IAKQDUHPzZ+mFlAg0FQGVrAVqAnhRQxWYAfaL/fqWCdTFAMwDQR/qnMoFOxalgXTOBIwAwwtB+zAX0BQC59QA9WUKBJljt6QW9BuBes0cPq73zr5bO9SN10Uf67xcD1FUPUKgIgnVsffDSWd3VLoZ1FG4xijebMgAA/ypuy7bXAViAE6r2jR2KfX8/GAABAKe+Unc7Ziq4VBHcue9RpS44J26K1lW8kR4CgLGvf7agi+ACVJ/9f78YILImsSDTfABAcwCCFWf62YBSvCQA+kz/AwQAdml4DABgfMUVwW13FKtWwR24LsFQfGj/XS4DDID1YwCoekUwJwWMdQFhAOQ4TwQA63/ybQVBoLmmPvN5NXnjV4tvCTFLTp8SnmVNBAmuCNYNgEIqqAPBbXckiIl45FgxCygBYOOm3gYJzTQhVpHrGbslFgAEZwJzMoAUBugrAMQBx1Yr/8a6AZATAKYAoJQJAANIlDZrEUMaCK6ge7nlYE0EQJWLQcQqIDsFTAFAtXFACwBQ53Jwrv9PBUB1buDkvFInl+sBIACEOMC+9NzDAF/BghDBiqCcKWAjwtg0EJ4r7W0TUwoDAKIuRxhIrFlAQQDk+v9UBqguDuCkgnYmIKzA3OZYAaBQCkjQP3sCKIcBSiwgGpwFUkHRd+Vq3Hm+zmqg3G3hogDQkaGUb3YCwSbFAS4lV5UBSET/uQAouYEpKWpmAGBQ44C6AkAp+k+NAQx4qskGOGsCknMPQm4AU0qpEkgoAESCP/ZeQHe4KVmAaaO6YLCBcUAw/wepCUwBSx9bnwOA6oLBBrqBuvw/Yv1ZTJ4LgNK5QSL+2QGAHqFTHDJI2UBd9C9t/VnIsXxJ+eTO3IyAMR8wSABgWb9A/i9t/VIAKJ/eKZERNMQNYFZZRfpHWD/oMOtM5lwXgGYEOjjIjdQbwgJ10L9H+VgOA4BgH8ObDIDOzJO9k6x37d6tbtixfPQZ9EqEop1swF0eFgFaZhrIov/M6D8SAPaIgkvDFADsE6vhYGd9yndX6cWjy7tbutzqHbg/e3KI4QZEgJYIggG0fmokJBAwAJTy+99OfW/2+vGP4UeXdzd0YlO22RbKcAPZ70hUvg6gnCNiUd+fMflDWT5MMOkNM0cPq9kXn8N+1JINBBcA6Dm23oOZrB29FAiy1gkcN4C9ox8swLL+jMkfYr5flUDWdS/QH8265Z+5dcFQYAMbAOhR8N4dOciOXswVZCnIqRGA0WDvyA46I5mgauvHUj6UYZD0kgGG3rKxDYC0H2NATvUQB8GAsQBm/aWzgDKsH1vqRZXPOG6GcCO9tQMDgDTlwyARFqBcQXJQOEAsgFGzpO/3+f0SSTHjC9/qIQmAqNM4ERYQB8GAZARV+n5K+RIAozaQogCIPo0ToImAAMvbk9NDZkaQzDKMGIA968e0TPuVRIVPOegzD0XOLVQPAOKIF1EQMBaJ9HxF7loEAQYsMCut+Uf6fnApACxzfLz9atTy4YaEdQWqgtgwQLG4Y+26pb3/sVckCKJ/LAFhgbrSwiqsn0r1NEu6x8sZXSSwCzyK9F+ngwYA5eKO1F/h/tsxpY4XD3rQHXAOfS4gPWbxCGGBSmYhrQ5WoXzf9K608mEoVAm5nQZG/yBUT0buDl0kahcDAZMF4H1ScwNs6mdSc93K91UQ2wAobfjwBoOhbdkECKjsABTGdglI2xjDZE1AddHNzskZ1Ozz93COwOSG64q/L5BJ+wT164+B/jUzOG6+VNxROpYlpHi7QQIEcAtG2+ZRViRfgytgU38g8PMpXgPf/V0BW4YMYFGhmodpenp3AYBOB898/8dLO4BB+bF78j0g8MUFOhDyxQaIK9CIdkrHgu0Q0pOakAkt5ZL+HvqVoXxPgEmuBfQMsPuL4D3RZFMpoaxQXGCUN77mSnwLOgIuiVVJSnjodC+hJI7Vk5QPA2fGE5T1E36/tCxM1QOU44GYSJ3qFULb5tYQG5C5PdIm1RY3KGQvxHjm4on6PT1cL+VDm/ADU+bHpihZej4Pzf/bj/oKQgAEhYvlm0MdTnQJpPIIdkldkGIHfR6/TzGIN9CD9hiLOyHxcvw+BwAaqN2t4LWCgHILnbt/R//ShhAIMOGR1urxz7MHn1Lrt29bdqG+CN/clUn5Wm7l3w80rZO7hkM1gXiBiIQ7gK552MAAAf4dv3zNcnpECT4iHsCYLDvoAxCefmvpiJvTC72KnULfMfMVsPqA8r11gSEA6DjMDQr1hzWBgKQ8AAJc9g8yIvEAZ1WSUj4r6AOFA/iss41CNN37PiPKt9/hsfzkotCS+68UBAw28AoVBAknlYI1RYJAgxkpo0KVb6w1R+katHI/HEWtItqTPT7ZcRjAVAjjRaGCU666owG3ELQuEK51zpC5P5Rl2O16c3MAQYq1wwsEInzTz1Ca2d0bYPYIkGILAQClf6w1MZdgQKD/RX5AKogA+gYOCArKz1G23Q1BxUOzocklRwLJMUBpLiAke1EQVAQEHwgg4p+4/P3FX/kKDdr3vbDi4VUeyvf1JGpfADREKv/aWz6oX/TwHU+TLxQHgoRrsHobYoJsIFSgeJ/Vv+/Dl6prt35APbv/mE8v6CESmAtAaX/t+BXq6i2rFbzMXA9vf6Y/QMhwD3Or/q3uP7Vf3fwl5yddCTh744EKab4Xu9C5vb4FDBKUb1/7dr6s7rltDzaiEghYG0Pu/MNN6qqPXKFe+M+hUqMhEMADlTCCYYVu3h1ialD8M1f9Vc2tek09++c5tf3Tj4QeKXyPsoKZrs2cunU7wgjw9CNbd3+yYJCmncvecaU6+PjzasvH78LGSC4GoZa/+dZPqM23XqMbeu3NV9Rrb7yCCo4DBFhUMmv+UdL33Gxq6abv/4X233CZX+q0lW43gfUVLMnn1uznNRgWT0ofv2qd2DnJXKVDP4CFQfnYdeHZl6gLz7pEf+UBAboxpFQLYCvfvGzu1Atq/q2TJAjgC7YgrVU+WPGDCzt42i6Y3Ht4iYXgM6yQEr779Q+3qgs+dYaau+gfLLDaAuUAGWvUgBu+M2MpgGZxrO44zP9T43DfY3y97Ybte1aeeZ669NzLCo/dc9ujmDsIbwzBlG9a9jGBBsD2Z/StXCBIsYFpB/OL9juA/sEN+O7v9xjs/oYUD/falu/KkwCBZgFyY8ifTu/w6uWNt05pl0CxQT+BQPlGM6AvvPPnhbGFAANgAMDYoJEGLdYeR/Fg9UD5Z595rrdLH13xNfd7zQIGAAX691m/20qIDcz9VVsUCEv/fWgVGhjZ/XCZ6cET3yBjG3e8VY7DUDtE9RTN2/3xWb3b75uvvksd2Pu8+/EYAKAU/IWsH4MaFwjwrLam/cd0M7GWZQvGpD8cYXkAMDuzsFPNL5ycmP/fSTYQXGDHjiVnHFyrt/VEBISaAQoAgHz/R7+/KZnhYoDgvsRHsTFKdtsFgQFFPvCdfeo3393nfj09s3DnbKfztl4BTM4Y7Max8eSMI8biMQUiLKBjgMKsXwz9+1AiJcRkJCqlXEtB/CA0r93gzMLOmU6nU1jwgjHARaW+OX3jPpti7VTbtQLAdAKCRaBW/S+RPnKFEbrPWPrKM5Ys3r6ISLg3KbLIAhM2C7jvqnscJpcPBXchmQRkUB0DUB0zVpULCFA2XCAgTOEM5ZemRUMgsNu0AQGfp4LbjAPa4ETzMQp370WMQAMgOgOAgAIuJKrUn0McAVPHMZcRKPUMKNkonNsu9BPmxIl+onVyf3xzx9TYmIKT0JIu7jhSxpIrcywQLMUAVBAYECYqrCUgvFd/Z6aTk6Sa8BBB+aYl7xq5AQGM2YCn7v4befuUjonFyBzrLyaTEgCWlLU0/5+idJ+uoN2qwRBQPLw+WCcHN01cv3ZmdteBQlAoFSBjMjKs6mGsaDOw5U3FQAAAtPw7+m0JD9gMkeI24JXGSg8+/hzpkqyusZTfvZ+siZAAst3vWCtPEDX1iJ4Igotd+uW0BIGUe5G1g9yOG2CAUn0XFYMgz0A/g/VxznNsmdhAxq17eRwRfaaGLiXzwgERXBAYQcL9WEfsTuvtx1g1MRcIQvfFWL37SjYIhPrqNmNkbE4El5I5uT0cUxq8FM4LZp9ATbACMMN41+VUJK9esykW7+tTnUCIMbJQn115l+TiqwoGhYUQl6pIaLt32nhqI4g7ygVqqCum31JANvKto9+oLkNl4SGBSH5vg8K0C4KmLiM0jjuS7KfdltvnUH/tvlZlXFFjHSQARHV8dLOMBEYAkJFjY1sZAaCxqpPp+AgAMnJsbCsjADRWdTIdHwFARo6NbeX/CJxV4FwD8/0AAAAASUVORK5CYII=\\n".trim()}`,alt:"Bodhi Logo",className:"w-8 h-8 mr-3"}),d.jsx("h2",{className:"text-xl font-semibold text-gray-900",children:"Bodhi Platform Setup"}),o&&d.jsx("div",{className:"ml-3","data-testid":"loading-indicator",title:"Loading setup data...",children:d.jsx(D,{className:"w-4 h-4 text-blue-500 animate-spin"})}),u&&d.jsx("div",{className:"ml-3","data-testid":"platform-not-supported-indicator",title:"Platform not supported - setup may not work",children:d.jsx(V,{className:"w-4 h-4 text-red-500"})})]}),d.jsxs("div",{className:"flex items-center space-x-2",children:[d.jsx("button",{onClick:()=>{r(!0),a("modal:refresh",void 0).catch(e=>{}),l.current&&clearTimeout(l.current),l.current=window.setTimeout(()=>{r(!1),l.current=null},2e3)},className:"p-1.5 rounded-full hover:bg-gray-100 "+(t?"bg-blue-50":""),title:"Refresh detection","data-testid":"refresh-button","data-refreshing":t,disabled:t,children:d.jsx(U,{className:"w-4 h-4 text-gray-600 hover:text-blue-600 "+(t?"animate-spin text-blue-600":"")})}),d.jsx("button",{onClick:()=>{a("modal:close",void 0).catch(e=>{})},className:"p-1.5 rounded-full hover:bg-gray-100 hover:bg-red-50",title:"Close modal","data-testid":"close-button",children:d.jsx(q,{className:"w-4 h-4 text-gray-600 hover:text-red-600"})})]})]}),d.jsxs("div",{className:"flex flex-col flex-1 p-4 min-h-0",children:[d.jsx("div",{className:"flex-shrink-0",children:d.jsx(ge,{onStepClick:e=>{n(e)}})}),d.jsx("div",{className:"mt-6 flex-1 overflow-y-auto min-h-0 w-full","data-testid":"content-area",children:o?d.jsx(qe,{}):d.jsxs(d.Fragment,{children:[e===f.PLATFORM_CHECK&&d.jsx(We,{}),e===f.SERVER_SETUP&&d.jsx(Ye,{}),e===f.LNA_SETUP&&d.jsx(He,{}),e===f.EXTENSION_SETUP&&d.jsx(Ve,{}),e===f.COMPLETE&&d.jsx(Ke,{})]})})]})]})}function Xe(){const{isReady:e}=function(){const e=Z(e=>e.setupState),t=Z(e=>e.setSetupState),n=Z(e=>e.initChannel),r=Z(e=>e.sendMessage),[a,l]=y.useState(!1);return y.useEffect(()=>{l(!1);const e=n().on("parent:state-update",({setupState:e})=>{t(e)});return r("modal:ready",void 0).then(({setupState:e})=>{t(e),l(!0)}).catch(e=>{}),()=>{e()}},[n,t,r]),y.useEffect(()=>{if(!e||null!==e.selectedConnection)return;const t=Z.getState(),n=ie(t),a=oe(t);n?r("modal:select-connection",{connection:"lna"}).catch(e=>{}):a&&r("modal:select-connection",{connection:"extension"}).catch(e=>{})},[e?.lna.status,e?.lnaServer.status,e?.extension.status,e?.server.status,e?.selectedConnection,r]),{setupState:e,sendMessage:r,isReady:a}}();return d.jsx("div",{className:"w-full h-screen bg-white","data-testid":"div-setup-modal","data-test-state":e?"ready":"loading",children:d.jsx(Ge,{})})}class $e extends y.Component{constructor(e){super(e),this.state={hasError:!1,error:null}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,t){}handleReload=()=>{this.setState({hasError:!1,error:null})};render(){return this.state.hasError?d.jsx("div",{className:"flex items-center justify-center h-screen bg-gray-50",children:d.jsxs("div",{className:"max-w-md p-6 bg-white rounded-lg shadow-lg border border-red-200",children:[d.jsxs("div",{className:"flex items-center mb-4",children:[d.jsx(V,{className:"w-8 h-8 text-red-500 mr-3"}),d.jsx("h2",{className:"text-xl font-semibold text-gray-900",children:"Something went wrong"})]}),d.jsx("p",{className:"text-gray-600 mb-4",children:"An unexpected error occurred in the setup modal. Please try reloading or contact support if the problem persists."}),this.state.error&&!1,d.jsx("button",{onClick:this.handleReload,className:"w-full px-4 py-2 text-sm font-medium text-white bg-red-600 rounded-md hover:bg-red-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-red-500",children:"Try Again"})]})}):this.props.children}}var Ze,Je,et,tt,nt,rt={},at={exports:{}},lt={},st={exports:{}},it={};function ot(){return Je||(Je=1,st.exports=(Ze||(Ze=1,function(e){function t(e,t){var n=e.length;e.push(t);e:for(;0<n;){var r=n-1>>>1,l=e[r];if(!(0<a(l,t)))break e;e[r]=t,e[n]=l,n=r}}function n(e){return 0===e.length?null:e[0]}function r(e){if(0===e.length)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var r=0,l=e.length,s=l>>>1;r<s;){var i=2*(r+1)-1,o=e[i],u=i+1,c=e[u];if(0>a(o,n))u<l&&0>a(c,o)?(e[r]=c,e[u]=n,r=u):(e[r]=o,e[i]=n,r=i);else{if(!(u<l&&0>a(c,n)))break e;e[r]=c,e[u]=n,r=u}}}return t}function a(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if("object"==typeof performance&&"function"==typeof performance.now){var l=performance;e.unstable_now=function(){return l.now()}}else{var s=Date,i=s.now();e.unstable_now=function(){return s.now()-i}}var o=[],u=[],c=1,d=null,f=3,p=!1,m=!1,h=!1,g="function"==typeof setTimeout?setTimeout:null,v="function"==typeof clearTimeout?clearTimeout:null,y="undefined"!=typeof setImmediate?setImmediate:null;function b(e){for(var a=n(u);null!==a;){if(null===a.callback)r(u);else{if(!(a.startTime<=e))break;r(u),a.sortIndex=a.expirationTime,t(o,a)}a=n(u)}}function x(e){if(h=!1,b(e),!m)if(null!==n(o))m=!0,L(w);else{var t=n(u);null!==t&&O(x,t.startTime-e)}}function w(t,a){m=!1,h&&(h=!1,v(j),j=-1),p=!0;var l=f;try{for(b(a),d=n(o);null!==d&&(!(d.expirationTime>a)||t&&!A());){var s=d.callback;if("function"==typeof s){d.callback=null,f=d.priorityLevel;var i=s(d.expirationTime<=a);a=e.unstable_now(),"function"==typeof i?d.callback=i:d===n(o)&&r(o),b(a)}else r(o);d=n(o)}if(null!==d)var c=!0;else{var g=n(u);null!==g&&O(x,g.startTime-a),c=!1}return c}finally{d=null,f=l,p=!1}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var k,S=!1,N=null,j=-1,C=5,E=-1;function A(){return!(e.unstable_now()-E<C)}function z(){if(null!==N){var t=e.unstable_now();E=t;var n=!0;try{n=N(!0,t)}finally{n?k():(S=!1,N=null)}}else S=!1}if("function"==typeof y)k=function(){y(z)};else if("undefined"!=typeof MessageChannel){var P=new MessageChannel,_=P.port2;P.port1.onmessage=z,k=function(){_.postMessage(null)}}else k=function(){g(z,0)};function L(e){N=e,S||(S=!0,k())}function O(t,n){j=g(function(){t(e.unstable_now())},n)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(e){e.callback=null},e.unstable_continueExecution=function(){m||p||(m=!0,L(w))},e.unstable_forceFrameRate=function(e){0>e||125<e||(C=0<e?Math.floor(1e3/e):5)},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_getFirstCallbackNode=function(){return n(o)},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,a,l){var s=e.unstable_now();switch(l="object"==typeof l&&null!==l&&"number"==typeof(l=l.delay)&&0<l?s+l:s,r){case 1:var i=-1;break;case 2:i=250;break;case 5:i=1073741823;break;case 4:i=1e4;break;default:i=5e3}return r={id:c++,callback:a,priorityLevel:r,startTime:l,expirationTime:i=l+i,sortIndex:-1},l>s?(r.sortIndex=l,t(u,r),null===n(o)&&r===n(u)&&(h?(v(j),j=-1):h=!0,O(x,l-s))):(r.sortIndex=i,t(o,r),m||p||(m=!0,L(w))),r},e.unstable_shouldYield=A,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}}(it)),it)),st.exports}\n/**\n * @license React\n * react-dom.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */function ut(){if(et)return lt;et=1;var e=c(),t=ot();function n(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n<arguments.length;n++)t+="&args[]="+encodeURIComponent(arguments[n]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var r=new Set,a={};function l(e,t){s(e,t),s(e+"Capture",t)}function s(e,t){for(a[e]=t,e=0;e<t.length;e++)r.add(t[e])}var i=!("undefined"==typeof window||void 0===window.document||void 0===window.document.createElement),o=Object.prototype.hasOwnProperty,u=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,d={},f={};function p(e,t,n,r,a,l,s){this.acceptsBooleans=2===t||3===t||4===t,this.attributeName=r,this.attributeNamespace=a,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=l,this.removeEmptyString=s}var m={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){m[e]=new p(e,0,!1,e,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];m[t]=new p(t,1,!1,e[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(e){m[e]=new p(e,2,!1,e.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){m[e]=new p(e,2,!1,e,null,!1,!1)}),"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){m[e]=new p(e,3,!1,e.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(e){m[e]=new p(e,3,!0,e,null,!1,!1)}),["capture","download"].forEach(function(e){m[e]=new p(e,4,!1,e,null,!1,!1)}),["cols","rows","size","span"].forEach(function(e){m[e]=new p(e,6,!1,e,null,!1,!1)}),["rowSpan","start"].forEach(function(e){m[e]=new p(e,5,!1,e.toLowerCase(),null,!1,!1)});var h=/[\\-:]([a-z])/g;function g(e){return e[1].toUpperCase()}function v(e,t,n,r){var a=m.hasOwnProperty(t)?m[t]:null;(null!==a?0!==a.type:r||!(2<t.length)||"o"!==t[0]&&"O"!==t[0]||"n"!==t[1]&&"N"!==t[1])&&(function(e,t,n,r){if(null==t||function(e,t,n,r){if(null!==n&&0===n.type)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return!r&&(null!==n?!n.acceptsBooleans:"data-"!==(e=e.toLowerCase().slice(0,5))&&"aria-"!==e);default:return!1}}(e,t,n,r))return!0;if(r)return!1;if(null!==n)switch(n.type){case 3:return!t;case 4:return!1===t;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}(t,n,a,r)&&(n=null),r||null===a?function(e){return!!o.call(f,e)||!o.call(d,e)&&(u.test(e)?f[e]=!0:(d[e]=!0,!1))}(t)&&(null===n?e.removeAttribute(t):e.setAttribute(t,""+n)):a.mustUseProperty?e[a.propertyName]=null===n?3!==a.type&&"":n:(t=a.attributeName,r=a.attributeNamespace,null===n?e.removeAttribute(t):(n=3===(a=a.type)||4===a&&!0===n?"":""+n,r?e.setAttributeNS(r,t,n):e.setAttribute(t,n))))}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(h,g);m[t]=new p(t,1,!1,e,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(h,g);m[t]=new p(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(h,g);m[t]=new p(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(e){m[e]=new p(e,1,!1,e.toLowerCase(),null,!1,!1)}),m.xlinkHref=new p("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(e){m[e]=new p(e,1,!1,e.toLowerCase(),null,!0,!0)});var y=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,b=Symbol.for("react.element"),x=Symbol.for("react.portal"),w=Symbol.for("react.fragment"),k=Symbol.for("react.strict_mode"),S=Symbol.for("react.profiler"),N=Symbol.for("react.provider"),j=Symbol.for("react.context"),C=Symbol.for("react.forward_ref"),E=Symbol.for("react.suspense"),A=Symbol.for("react.suspense_list"),z=Symbol.for("react.memo"),P=Symbol.for("react.lazy"),_=Symbol.for("react.offscreen"),L=Symbol.iterator;function O(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=L&&e[L]||e["@@iterator"])?e:null}var T,M=Object.assign;function R(e){if(void 0===T)try{throw Error()}catch(n){var t=n.stack.trim().match(/\\n( *(at )?)/);T=t&&t[1]||""}return"\\n"+T+e}var I=!1;function F(e,t){if(!e||I)return"";I=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),"object"==typeof Reflect&&Reflect.construct){try{Reflect.construct(t,[])}catch(u){var r=u}Reflect.construct(e,[],t)}else{try{t.call()}catch(u){r=u}e.call(t.prototype)}else{try{throw Error()}catch(u){r=u}e()}}catch(u){if(u&&r&&"string"==typeof u.stack){for(var a=u.stack.split("\\n"),l=r.stack.split("\\n"),s=a.length-1,i=l.length-1;1<=s&&0<=i&&a[s]!==l[i];)i--;for(;1<=s&&0<=i;s--,i--)if(a[s]!==l[i]){if(1!==s||1!==i)do{if(s--,0>--i||a[s]!==l[i]){var o="\\n"+a[s].replace(" at new "," at ");return e.displayName&&o.includes("<anonymous>")&&(o=o.replace("<anonymous>",e.displayName)),o}}while(1<=s&&0<=i);break}}}finally{I=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?R(e):""}function D(e){switch(e.tag){case 5:return R(e.type);case 16:return R("Lazy");case 13:return R("Suspense");case 19:return R("SuspenseList");case 0:case 2:case 15:return e=F(e.type,!1);case 11:return e=F(e.type.render,!1);case 1:return e=F(e.type,!0);default:return""}}function U(e){if(null==e)return null;if("function"==typeof e)return e.displayName||e.name||null;if("string"==typeof e)return e;switch(e){case w:return"Fragment";case x:return"Portal";case S:return"Profiler";case k:return"StrictMode";case E:return"Suspense";case A:return"SuspenseList"}if("object"==typeof e)switch(e.$$typeof){case j:return(e.displayName||"Context")+".Consumer";case N:return(e._context.displayName||"Context")+".Provider";case C:var t=e.render;return(e=e.displayName)||(e=""!==(e=t.displayName||t.name||"")?"ForwardRef("+e+")":"ForwardRef"),e;case z:return null!==(t=e.displayName||null)?t:U(e.type)||"Memo";case P:t=e._payload,e=e._init;try{return U(e(t))}catch(n){}}return null}function B(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=(e=t.render).displayName||e.name||"",t.displayName||(""!==e?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return U(t);case 8:return t===k?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if("function"==typeof t)return t.displayName||t.name||null;if("string"==typeof t)return t}return null}function Q(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function V(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function H(e){e._valueTracker||(e._valueTracker=function(e){var t=V(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var a=n.get,l=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return a.call(this)},set:function(e){r=""+e,l.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function q(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=V(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function W(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}function Y(e,t){var n=t.checked;return M({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:null!=n?n:e._wrapperState.initialChecked})}function K(e,t){var n=null==t.defaultValue?"":t.defaultValue,r=null!=t.checked?t.checked:t.defaultChecked;n=Q(null!=t.value?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function G(e,t){null!=(t=t.checked)&&v(e,"checked",t,!1)}function X(e,t){G(e,t);var n=Q(t.value),r=t.type;if(null!=n)"number"===r?(0===n&&""===e.value||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if("submit"===r||"reset"===r)return void e.removeAttribute("value");t.hasOwnProperty("value")?Z(e,t.type,n):t.hasOwnProperty("defaultValue")&&Z(e,t.type,Q(t.defaultValue)),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked)}function $(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!("submit"!==r&&"reset"!==r||void 0!==t.value&&null!==t.value))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}""!==(n=e.name)&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,""!==n&&(e.name=n)}function Z(e,t,n){"number"===t&&W(e.ownerDocument)===e||(null==n?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var J=Array.isArray;function ee(e,t,n,r){if(e=e.options,t){t={};for(var a=0;a<n.length;a++)t["$"+n[a]]=!0;for(n=0;n<e.length;n++)a=t.hasOwnProperty("$"+e[n].value),e[n].selected!==a&&(e[n].selected=a),a&&r&&(e[n].defaultSelected=!0)}else{for(n=""+Q(n),t=null,a=0;a<e.length;a++){if(e[a].value===n)return e[a].selected=!0,void(r&&(e[a].defaultSelected=!0));null!==t||e[a].disabled||(t=e[a])}null!==t&&(t.selected=!0)}}function te(e,t){if(null!=t.dangerouslySetInnerHTML)throw Error(n(91));return M({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function ne(e,t){var r=t.value;if(null==r){if(r=t.children,t=t.defaultValue,null!=r){if(null!=t)throw Error(n(92));if(J(r)){if(1<r.length)throw Error(n(93));r=r[0]}t=r}null==t&&(t=""),r=t}e._wrapperState={initialValue:Q(r)}}function re(e,t){var n=Q(t.value),r=Q(t.defaultValue);null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&e.defaultValue!==n&&(e.defaultValue=n)),null!=r&&(e.defaultValue=""+r)}function ae(e){var t=e.textContent;t===e._wrapperState.initialValue&&""!==t&&null!==t&&(e.value=t)}function le(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function se(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?le(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var ie,oe,ue=(oe=function(e,t){if("http://www.w3.org/2000/svg"!==e.namespaceURI||"innerHTML"in e)e.innerHTML=t;else{for((ie=ie||document.createElement("div")).innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=ie.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}},"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction(function(){return oe(e,t)})}:oe);function ce(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var de={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},fe=["Webkit","ms","Moz","O"];function pe(e,t,n){return null==t||"boolean"==typeof t||""===t?"":n||"number"!=typeof t||0===t||de.hasOwnProperty(e)&&de[e]?(""+t).trim():t+"px"}function me(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var r=0===n.indexOf("--"),a=pe(n,t[n],r);"float"===n&&(n="cssFloat"),r?e.setProperty(n,a):e[n]=a}}Object.keys(de).forEach(function(e){fe.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),de[t]=de[e]})});var he=M({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ge(e,t){if(t){if(he[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML))throw Error(n(137,e));if(null!=t.dangerouslySetInnerHTML){if(null!=t.children)throw Error(n(60));if("object"!=typeof t.dangerouslySetInnerHTML||!("__html"in t.dangerouslySetInnerHTML))throw Error(n(61))}if(null!=t.style&&"object"!=typeof t.style)throw Error(n(62))}}function ve(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ye=null;function be(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var xe=null,we=null,ke=null;function Se(e){if(e=xa(e)){if("function"!=typeof xe)throw Error(n(280));var t=e.stateNode;t&&(t=ka(t),xe(e.stateNode,e.type,t))}}function Ne(e){we?ke?ke.push(e):ke=[e]:we=e}function je(){if(we){var e=we,t=ke;if(ke=we=null,Se(e),t)for(e=0;e<t.length;e++)Se(t[e])}}function Ce(e,t){return e(t)}function Ee(){}var Ae=!1;function ze(e,t,n){if(Ae)return e(t,n);Ae=!0;try{return Ce(e,t,n)}finally{Ae=!1,(null!==we||null!==ke)&&(Ee(),je())}}function Pe(e,t){var r=e.stateNode;if(null===r)return null;var a=ka(r);if(null===a)return null;r=a[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(a=!a.disabled)||(a=!("button"===(e=e.type)||"input"===e||"select"===e||"textarea"===e)),e=!a;break e;default:e=!1}if(e)return null;if(r&&"function"!=typeof r)throw Error(n(231,t,typeof r));return r}var _e=!1;if(i)try{var Le={};Object.defineProperty(Le,"passive",{get:function(){_e=!0}}),window.addEventListener("test",Le,Le),window.removeEventListener("test",Le,Le)}catch(oe){_e=!1}function Oe(e,t,n,r,a,l,s,i,o){var u=Array.prototype.slice.call(arguments,3);try{t.apply(n,u)}catch(c){this.onError(c)}}var Te=!1,Me=null,Re=!1,Ie=null,Fe={onError:function(e){Te=!0,Me=e}};function De(e,t,n,r,a,l,s,i,o){Te=!1,Me=null,Oe.apply(Fe,arguments)}function Ue(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do{!!(4098&(t=e).flags)&&(n=t.return),e=t.return}while(e)}return 3===t.tag?n:null}function Be(e){if(13===e.tag){var t=e.memoizedState;if(null===t&&(null!==(e=e.alternate)&&(t=e.memoizedState)),null!==t)return t.dehydrated}return null}function Qe(e){if(Ue(e)!==e)throw Error(n(188))}function Ve(e){return null!==(e=function(e){var t=e.alternate;if(!t){if(null===(t=Ue(e)))throw Error(n(188));return t!==e?null:e}for(var r=e,a=t;;){var l=r.return;if(null===l)break;var s=l.alternate;if(null===s){if(null!==(a=l.return)){r=a;continue}break}if(l.child===s.child){for(s=l.child;s;){if(s===r)return Qe(l),e;if(s===a)return Qe(l),t;s=s.sibling}throw Error(n(188))}if(r.return!==a.return)r=l,a=s;else{for(var i=!1,o=l.child;o;){if(o===r){i=!0,r=l,a=s;break}if(o===a){i=!0,a=l,r=s;break}o=o.sibling}if(!i){for(o=s.child;o;){if(o===r){i=!0,r=s,a=l;break}if(o===a){i=!0,a=s,r=l;break}o=o.sibling}if(!i)throw Error(n(189))}}if(r.alternate!==a)throw Error(n(190))}if(3!==r.tag)throw Error(n(188));return r.stateNode.current===r?e:t}(e))?He(e):null}function He(e){if(5===e.tag||6===e.tag)return e;for(e=e.child;null!==e;){var t=He(e);if(null!==t)return t;e=e.sibling}return null}var qe=t.unstable_scheduleCallback,We=t.unstable_cancelCallback,Ye=t.unstable_shouldYield,Ke=t.unstable_requestPaint,Ge=t.unstable_now,Xe=t.unstable_getCurrentPriorityLevel,$e=t.unstable_ImmediatePriority,Ze=t.unstable_UserBlockingPriority,Je=t.unstable_NormalPriority,tt=t.unstable_LowPriority,nt=t.unstable_IdlePriority,rt=null,at=null;var st=Math.clz32?Math.clz32:function(e){return e>>>=0,0===e?32:31-(it(e)/ut|0)|0},it=Math.log,ut=Math.LN2;var ct=64,dt=4194304;function ft(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194240&e;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return 130023424&e;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function pt(e,t){var n=e.pendingLanes;if(0===n)return 0;var r=0,a=e.suspendedLanes,l=e.pingedLanes,s=268435455&n;if(0!==s){var i=s&~a;0!==i?r=ft(i):0!==(l&=s)&&(r=ft(l))}else 0!==(s=n&~a)?r=ft(s):0!==l&&(r=ft(l));if(0===r)return 0;if(0!==t&&t!==r&&0===(t&a)&&((a=r&-r)>=(l=t&-t)||16===a&&4194240&l))return t;if(4&r&&(r|=16&n),0!==(t=e.entangledLanes))for(e=e.entanglements,t&=r;0<t;)a=1<<(n=31-st(t)),r|=e[n],t&=~a;return r}function mt(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;default:return-1}}function ht(e){return 0!==(e=-1073741825&e.pendingLanes)?e:1073741824&e?1073741824:0}function gt(){var e=ct;return!(4194240&(ct<<=1))&&(ct=64),e}function vt(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function yt(e,t,n){e.pendingLanes|=t,536870912!==t&&(e.suspendedLanes=0,e.pingedLanes=0),(e=e.eventTimes)[t=31-st(t)]=n}function bt(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-st(n),a=1<<r;a&t|e[r]&t&&(e[r]|=t),n&=~a}}var xt=0;function wt(e){return 1<(e&=-e)?4<e?268435455&e?16:536870912:4:1}var kt,St,Nt,jt,Ct,Et=!1,At=[],zt=null,Pt=null,_t=null,Lt=new Map,Ot=new Map,Tt=[],Mt="mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split(" ");function Rt(e,t){switch(e){case"focusin":case"focusout":zt=null;break;case"dragenter":case"dragleave":Pt=null;break;case"mouseover":case"mouseout":_t=null;break;case"pointerover":case"pointerout":Lt.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":Ot.delete(t.pointerId)}}function It(e,t,n,r,a,l){return null===e||e.nativeEvent!==l?(e={blockedOn:t,domEventName:n,eventSystemFlags:r,nativeEvent:l,targetContainers:[a]},null!==t&&(null!==(t=xa(t))&&St(t)),e):(e.eventSystemFlags|=r,t=e.targetContainers,null!==a&&-1===t.indexOf(a)&&t.push(a),e)}function Ft(e){var t=ba(e.target);if(null!==t){var n=Ue(t);if(null!==n)if(13===(t=n.tag)){if(null!==(t=Be(n)))return e.blockedOn=t,void Ct(e.priority,function(){Nt(n)})}else if(3===t&&n.stateNode.current.memoizedState.isDehydrated)return void(e.blockedOn=3===n.tag?n.stateNode.containerInfo:null)}e.blockedOn=null}function Dt(e){if(null!==e.blockedOn)return!1;for(var t=e.targetContainers;0<t.length;){var n=Xt(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(null!==n)return null!==(t=xa(n))&&St(t),e.blockedOn=n,!1;var r=new(n=e.nativeEvent).constructor(n.type,n);ye=r,n.target.dispatchEvent(r),ye=null,t.shift()}return!0}function Ut(e,t,n){Dt(e)&&n.delete(t)}function Bt(){Et=!1,null!==zt&&Dt(zt)&&(zt=null),null!==Pt&&Dt(Pt)&&(Pt=null),null!==_t&&Dt(_t)&&(_t=null),Lt.forEach(Ut),Ot.forEach(Ut)}function Qt(e,n){e.blockedOn===n&&(e.blockedOn=null,Et||(Et=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,Bt)))}function Vt(e){function t(t){return Qt(t,e)}if(0<At.length){Qt(At[0],e);for(var n=1;n<At.length;n++){var r=At[n];r.blockedOn===e&&(r.blockedOn=null)}}for(null!==zt&&Qt(zt,e),null!==Pt&&Qt(Pt,e),null!==_t&&Qt(_t,e),Lt.forEach(t),Ot.forEach(t),n=0;n<Tt.length;n++)(r=Tt[n]).blockedOn===e&&(r.blockedOn=null);for(;0<Tt.length&&null===(n=Tt[0]).blockedOn;)Ft(n),null===n.blockedOn&&Tt.shift()}var Ht=y.ReactCurrentBatchConfig,qt=!0;function Wt(e,t,n,r){var a=xt,l=Ht.transition;Ht.transition=null;try{xt=1,Kt(e,t,n,r)}finally{xt=a,Ht.transition=l}}function Yt(e,t,n,r){var a=xt,l=Ht.transition;Ht.transition=null;try{xt=4,Kt(e,t,n,r)}finally{xt=a,Ht.transition=l}}function Kt(e,t,n,r){if(qt){var a=Xt(e,t,n,r);if(null===a)qr(e,t,r,Gt,n),Rt(e,r);else if(function(e,t,n,r,a){switch(t){case"focusin":return zt=It(zt,e,t,n,r,a),!0;case"dragenter":return Pt=It(Pt,e,t,n,r,a),!0;case"mouseover":return _t=It(_t,e,t,n,r,a),!0;case"pointerover":var l=a.pointerId;return Lt.set(l,It(Lt.get(l)||null,e,t,n,r,a)),!0;case"gotpointercapture":return l=a.pointerId,Ot.set(l,It(Ot.get(l)||null,e,t,n,r,a)),!0}return!1}(a,e,t,n,r))r.stopPropagation();else if(Rt(e,r),4&t&&-1<Mt.indexOf(e)){for(;null!==a;){var l=xa(a);if(null!==l&&kt(l),null===(l=Xt(e,t,n,r))&&qr(e,t,r,Gt,n),l===a)break;a=l}null!==a&&r.stopPropagation()}else qr(e,t,r,null,n)}}var Gt=null;function Xt(e,t,n,r){if(Gt=null,null!==(e=ba(e=be(r))))if(null===(t=Ue(e)))e=null;else if(13===(n=t.tag)){if(null!==(e=Be(t)))return e;e=null}else if(3===n){if(t.stateNode.current.memoizedState.isDehydrated)return 3===t.tag?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Gt=e,null}function $t(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(Xe()){case $e:return 1;case Ze:return 4;case Je:case tt:return 16;case nt:return 536870912;default:return 16}default:return 16}}var Zt=null,Jt=null,en=null;function tn(){if(en)return en;var e,t,n=Jt,r=n.length,a="value"in Zt?Zt.value:Zt.textContent,l=a.length;for(e=0;e<r&&n[e]===a[e];e++);var s=r-e;for(t=1;t<=s&&n[r-t]===a[l-t];t++);return en=a.slice(e,1<t?1-t:void 0)}function nn(e){var t=e.keyCode;return"charCode"in e?0===(e=e.charCode)&&13===t&&(e=13):e=t,10===e&&(e=13),32<=e||13===e?e:0}function rn(){return!0}function an(){return!1}function ln(e){function t(t,n,r,a,l){for(var s in this._reactName=t,this._targetInst=r,this.type=n,this.nativeEvent=a,this.target=l,this.currentTarget=null,e)e.hasOwnProperty(s)&&(t=e[s],this[s]=t?t(a):a[s]);return this.isDefaultPrevented=(null!=a.defaultPrevented?a.defaultPrevented:!1===a.returnValue)?rn:an,this.isPropagationStopped=an,this}return M(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=rn)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=rn)},persist:function(){},isPersistent:rn}),t}var sn,on,un,cn={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},dn=ln(cn),fn=M({},cn,{view:0,detail:0}),pn=ln(fn),mn=M({},fn,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Cn,button:0,buttons:0,relatedTarget:function(e){return void 0===e.relatedTarget?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==un&&(un&&"mousemove"===e.type?(sn=e.screenX-un.screenX,on=e.screenY-un.screenY):on=sn=0,un=e),sn)},movementY:function(e){return"movementY"in e?e.movementY:on}}),hn=ln(mn),gn=ln(M({},mn,{dataTransfer:0})),vn=ln(M({},fn,{relatedTarget:0})),yn=ln(M({},cn,{animationName:0,elapsedTime:0,pseudoElement:0})),bn=M({},cn,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),xn=ln(bn),wn=ln(M({},cn,{data:0})),kn={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Sn={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"},Nn={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function jn(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):!!(e=Nn[e])&&!!t[e]}function Cn(){return jn}var En=M({},fn,{key:function(e){if(e.key){var t=kn[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"===e.type?13===(e=nn(e))?"Enter":String.fromCharCode(e):"keydown"===e.type||"keyup"===e.type?Sn[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Cn,charCode:function(e){return"keypress"===e.type?nn(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?nn(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}}),An=ln(En),zn=ln(M({},mn,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0})),Pn=ln(M({},fn,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Cn})),_n=ln(M({},cn,{propertyName:0,elapsedTime:0,pseudoElement:0})),Ln=M({},mn,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),On=ln(Ln),Tn=[9,13,27,32],Mn=i&&"CompositionEvent"in window,Rn=null;i&&"documentMode"in document&&(Rn=document.documentMode);var In=i&&"TextEvent"in window&&!Rn,Fn=i&&(!Mn||Rn&&8<Rn&&11>=Rn),Dn=String.fromCharCode(32),Un=!1;function Bn(e,t){switch(e){case"keyup":return-1!==Tn.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Qn(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Vn=!1;var Hn={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function qn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!Hn[e.type]:"textarea"===t}function Wn(e,t,n,r){Ne(r),0<(t=Yr(t,"onChange")).length&&(n=new dn("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var Yn=null,Kn=null;function Gn(e){Dr(e,0)}function Xn(e){if(q(wa(e)))return e}function $n(e,t){if("change"===e)return t}var Zn=!1;if(i){var Jn;if(i){var er="oninput"in document;if(!er){var tr=document.createElement("div");tr.setAttribute("oninput","return;"),er="function"==typeof tr.oninput}Jn=er}else Jn=!1;Zn=Jn&&(!document.documentMode||9<document.documentMode)}function nr(){Yn&&(Yn.detachEvent("onpropertychange",rr),Kn=Yn=null)}function rr(e){if("value"===e.propertyName&&Xn(Kn)){var t=[];Wn(t,Kn,e,be(e)),ze(Gn,t)}}function ar(e,t,n){"focusin"===e?(nr(),Kn=n,(Yn=t).attachEvent("onpropertychange",rr)):"focusout"===e&&nr()}function lr(e){if("selectionchange"===e||"keyup"===e||"keydown"===e)return Xn(Kn)}function sr(e,t){if("click"===e)return Xn(t)}function ir(e,t){if("input"===e||"change"===e)return Xn(t)}var or="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t};function ur(e,t){if(or(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(r=0;r<n.length;r++){var a=n[r];if(!o.call(t,a)||!or(e[a],t[a]))return!1}return!0}function cr(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function dr(e,t){var n,r=cr(e);for(e=0;r;){if(3===r.nodeType){if(n=e+r.textContent.length,e<=t&&n>=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=cr(r)}}function fr(e,t){return!(!e||!t)&&(e===t||(!e||3!==e.nodeType)&&(t&&3===t.nodeType?fr(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}function pr(){for(var e=window,t=W();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(r){n=!1}if(!n)break;t=W((e=t.contentWindow).document)}return t}function mr(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}function hr(e){var t=pr(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&fr(n.ownerDocument.documentElement,n)){if(null!==r&&mr(n))if(t=r.start,void 0===(e=r.end)&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if((e=(t=n.ownerDocument||document)&&t.defaultView||window).getSelection){e=e.getSelection();var a=n.textContent.length,l=Math.min(r.start,a);r=void 0===r.end?l:Math.min(r.end,a),!e.extend&&l>r&&(a=r,r=l,l=a),a=dr(n,l);var s=dr(n,r);a&&s&&(1!==e.rangeCount||e.anchorNode!==a.node||e.anchorOffset!==a.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&((t=t.createRange()).setStart(a.node,a.offset),e.removeAllRanges(),l>r?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof n.focus&&n.focus(),n=0;n<t.length;n++)(e=t[n]).element.scrollLeft=e.left,e.element.scrollTop=e.top}}var gr=i&&"documentMode"in document&&11>=document.documentMode,vr=null,yr=null,br=null,xr=!1;function wr(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;xr||null==vr||vr!==W(r)||("selectionStart"in(r=vr)&&mr(r)?r={start:r.selectionStart,end:r.selectionEnd}:r={anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},br&&ur(br,r)||(br=r,0<(r=Yr(yr,"onSelect")).length&&(t=new dn("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=vr)))}function kr(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var Sr={animationend:kr("Animation","AnimationEnd"),animationiteration:kr("Animation","AnimationIteration"),animationstart:kr("Animation","AnimationStart"),transitionend:kr("Transition","TransitionEnd")},Nr={},jr={};function Cr(e){if(Nr[e])return Nr[e];if(!Sr[e])return e;var t,n=Sr[e];for(t in n)if(n.hasOwnProperty(t)&&t in jr)return Nr[e]=n[t];return e}i&&(jr=document.createElement("div").style,"AnimationEvent"in window||(delete Sr.animationend.animation,delete Sr.animationiteration.animation,delete Sr.animationstart.animation),"TransitionEvent"in window||delete Sr.transitionend.transition);var Er=Cr("animationend"),Ar=Cr("animationiteration"),zr=Cr("animationstart"),Pr=Cr("transitionend"),_r=new Map,Lr="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function Or(e,t){_r.set(e,t),l(t,[e])}for(var Tr=0;Tr<Lr.length;Tr++){var Mr=Lr[Tr];Or(Mr.toLowerCase(),"on"+(Mr[0].toUpperCase()+Mr.slice(1)))}Or(Er,"onAnimationEnd"),Or(Ar,"onAnimationIteration"),Or(zr,"onAnimationStart"),Or("dblclick","onDoubleClick"),Or("focusin","onFocus"),Or("focusout","onBlur"),Or(Pr,"onTransitionEnd"),s("onMouseEnter",["mouseout","mouseover"]),s("onMouseLeave",["mouseout","mouseover"]),s("onPointerEnter",["pointerout","pointerover"]),s("onPointerLeave",["pointerout","pointerover"]),l("onChange","change click focusin focusout input keydown keyup selectionchange".split(" ")),l("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" ")),l("onBeforeInput",["compositionend","keypress","textInput","paste"]),l("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" ")),l("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" ")),l("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Rr="abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange resize seeked seeking stalled suspend timeupdate volumechange waiting".split(" "),Ir=new Set("cancel close invalid load scroll toggle".split(" ").concat(Rr));function Fr(e,t,r){var a=e.type||"unknown-event";e.currentTarget=r,function(e,t,r,a,l,s,i,o,u){if(De.apply(this,arguments),Te){if(!Te)throw Error(n(198));var c=Me;Te=!1,Me=null,Re||(Re=!0,Ie=c)}}(a,t,void 0,e),e.currentTarget=null}function Dr(e,t){t=!!(4&t);for(var n=0;n<e.length;n++){var r=e[n],a=r.event;r=r.listeners;e:{var l=void 0;if(t)for(var s=r.length-1;0<=s;s--){var i=r[s],o=i.instance,u=i.currentTarget;if(i=i.listener,o!==l&&a.isPropagationStopped())break e;Fr(a,i,u),l=o}else for(s=0;s<r.length;s++){if(o=(i=r[s]).instance,u=i.currentTarget,i=i.listener,o!==l&&a.isPropagationStopped())break e;Fr(a,i,u),l=o}}}if(Re)throw e=Ie,Re=!1,Ie=null,e}function Ur(e,t){var n=t[ga];void 0===n&&(n=t[ga]=new Set);var r=e+"__bubble";n.has(r)||(Hr(t,e,2,!1),n.add(r))}function Br(e,t,n){var r=0;t&&(r|=4),Hr(n,e,r,t)}var Qr="_reactListening"+Math.random().toString(36).slice(2);function Vr(e){if(!e[Qr]){e[Qr]=!0,r.forEach(function(t){"selectionchange"!==t&&(Ir.has(t)||Br(t,!1,e),Br(t,!0,e))});var t=9===e.nodeType?e:e.ownerDocument;null===t||t[Qr]||(t[Qr]=!0,Br("selectionchange",!1,t))}}function Hr(e,t,n,r){switch($t(t)){case 1:var a=Wt;break;case 4:a=Yt;break;default:a=Kt}n=a.bind(null,t,n,e),a=void 0,!_e||"touchstart"!==t&&"touchmove"!==t&&"wheel"!==t||(a=!0),r?void 0!==a?e.addEventListener(t,n,{capture:!0,passive:a}):e.addEventListener(t,n,!0):void 0!==a?e.addEventListener(t,n,{passive:a}):e.addEventListener(t,n,!1)}function qr(e,t,n,r,a){var l=r;if(!(1&t||2&t||null===r))e:for(;;){if(null===r)return;var s=r.tag;if(3===s||4===s){var i=r.stateNode.containerInfo;if(i===a||8===i.nodeType&&i.parentNode===a)break;if(4===s)for(s=r.return;null!==s;){var o=s.tag;if((3===o||4===o)&&((o=s.stateNode.containerInfo)===a||8===o.nodeType&&o.parentNode===a))return;s=s.return}for(;null!==i;){if(null===(s=ba(i)))return;if(5===(o=s.tag)||6===o){r=l=s;continue e}i=i.parentNode}}r=r.return}ze(function(){var r=l,a=be(n),s=[];e:{var i=_r.get(e);if(void 0!==i){var o=dn,u=e;switch(e){case"keypress":if(0===nn(n))break e;case"keydown":case"keyup":o=An;break;case"focusin":u="focus",o=vn;break;case"focusout":u="blur",o=vn;break;case"beforeblur":case"afterblur":o=vn;break;case"click":if(2===n.button)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":o=hn;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":o=gn;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":o=Pn;break;case Er:case Ar:case zr:o=yn;break;case Pr:o=_n;break;case"scroll":o=pn;break;case"wheel":o=On;break;case"copy":case"cut":case"paste":o=xn;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":o=zn}var c=!!(4&t),d=!c&&"scroll"===e,f=c?null!==i?i+"Capture":null:i;c=[];for(var p,m=r;null!==m;){var h=(p=m).stateNode;if(5===p.tag&&null!==h&&(p=h,null!==f&&(null!=(h=Pe(m,f))&&c.push(Wr(m,h,p)))),d)break;m=m.return}0<c.length&&(i=new o(i,u,null,n,a),s.push({event:i,listeners:c}))}}if(!(7&t)){if(o="mouseout"===e||"pointerout"===e,(!(i="mouseover"===e||"pointerover"===e)||n===ye||!(u=n.relatedTarget||n.fromElement)||!ba(u)&&!u[ha])&&(o||i)&&(i=a.window===a?a:(i=a.ownerDocument)?i.defaultView||i.parentWindow:window,o?(o=r,null!==(u=(u=n.relatedTarget||n.toElement)?ba(u):null)&&(u!==(d=Ue(u))||5!==u.tag&&6!==u.tag)&&(u=null)):(o=null,u=r),o!==u)){if(c=hn,h="onMouseLeave",f="onMouseEnter",m="mouse","pointerout"!==e&&"pointerover"!==e||(c=zn,h="onPointerLeave",f="onPointerEnter",m="pointer"),d=null==o?i:wa(o),p=null==u?i:wa(u),(i=new c(h,m+"leave",o,n,a)).target=d,i.relatedTarget=p,h=null,ba(a)===r&&((c=new c(f,m+"enter",u,n,a)).target=p,c.relatedTarget=d,h=c),d=h,o&&u)e:{for(f=u,m=0,p=c=o;p;p=Kr(p))m++;for(p=0,h=f;h;h=Kr(h))p++;for(;0<m-p;)c=Kr(c),m--;for(;0<p-m;)f=Kr(f),p--;for(;m--;){if(c===f||null!==f&&c===f.alternate)break e;c=Kr(c),f=Kr(f)}c=null}else c=null;null!==o&&Gr(s,i,o,c,!1),null!==u&&null!==d&&Gr(s,d,u,c,!0)}if("select"===(o=(i=r?wa(r):window).nodeName&&i.nodeName.toLowerCase())||"input"===o&&"file"===i.type)var g=$n;else if(qn(i))if(Zn)g=ir;else{g=lr;var v=ar}else(o=i.nodeName)&&"input"===o.toLowerCase()&&("checkbox"===i.type||"radio"===i.type)&&(g=sr);switch(g&&(g=g(e,r))?Wn(s,g,n,a):(v&&v(e,i,r),"focusout"===e&&(v=i._wrapperState)&&v.controlled&&"number"===i.type&&Z(i,"number",i.value)),v=r?wa(r):window,e){case"focusin":(qn(v)||"true"===v.contentEditable)&&(vr=v,yr=r,br=null);break;case"focusout":br=yr=vr=null;break;case"mousedown":xr=!0;break;case"contextmenu":case"mouseup":case"dragend":xr=!1,wr(s,n,a);break;case"selectionchange":if(gr)break;case"keydown":case"keyup":wr(s,n,a)}var y;if(Mn)e:{switch(e){case"compositionstart":var b="onCompositionStart";break e;case"compositionend":b="onCompositionEnd";break e;case"compositionupdate":b="onCompositionUpdate";break e}b=void 0}else Vn?Bn(e,n)&&(b="onCompositionEnd"):"keydown"===e&&229===n.keyCode&&(b="onCompositionStart");b&&(Fn&&"ko"!==n.locale&&(Vn||"onCompositionStart"!==b?"onCompositionEnd"===b&&Vn&&(y=tn()):(Jt="value"in(Zt=a)?Zt.value:Zt.textContent,Vn=!0)),0<(v=Yr(r,b)).length&&(b=new wn(b,e,null,n,a),s.push({event:b,listeners:v}),y?b.data=y:null!==(y=Qn(n))&&(b.data=y))),(y=In?function(e,t){switch(e){case"compositionend":return Qn(t);case"keypress":return 32!==t.which?null:(Un=!0,Dn);case"textInput":return(e=t.data)===Dn&&Un?null:e;default:return null}}(e,n):function(e,t){if(Vn)return"compositionend"===e||!Mn&&Bn(e,t)?(e=tn(),en=Jt=Zt=null,Vn=!1,e):null;switch(e){case"paste":default:return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return Fn&&"ko"!==t.locale?null:t.data}}(e,n))&&(0<(r=Yr(r,"onBeforeInput")).length&&(a=new wn("onBeforeInput","beforeinput",null,n,a),s.push({event:a,listeners:r}),a.data=y))}Dr(s,t)})}function Wr(e,t,n){return{instance:e,listener:t,currentTarget:n}}function Yr(e,t){for(var n=t+"Capture",r=[];null!==e;){var a=e,l=a.stateNode;5===a.tag&&null!==l&&(a=l,null!=(l=Pe(e,n))&&r.unshift(Wr(e,l,a)),null!=(l=Pe(e,t))&&r.push(Wr(e,l,a))),e=e.return}return r}function Kr(e){if(null===e)return null;do{e=e.return}while(e&&5!==e.tag);return e||null}function Gr(e,t,n,r,a){for(var l=t._reactName,s=[];null!==n&&n!==r;){var i=n,o=i.alternate,u=i.stateNode;if(null!==o&&o===r)break;5===i.tag&&null!==u&&(i=u,a?null!=(o=Pe(n,l))&&s.unshift(Wr(n,o,i)):a||null!=(o=Pe(n,l))&&s.push(Wr(n,o,i))),n=n.return}0!==s.length&&e.push({event:t,listeners:s})}var Xr=/\\r\\n?/g,$r=/\\u0000|\\uFFFD/g;function Zr(e){return("string"==typeof e?e:""+e).replace(Xr,"\\n").replace($r,"")}function Jr(e,t,r){if(t=Zr(t),Zr(e)!==t&&r)throw Error(n(425))}function ea(){}var ta=null,na=null;function ra(e,t){return"textarea"===e||"noscript"===e||"string"==typeof t.children||"number"==typeof t.children||"object"==typeof t.dangerouslySetInnerHTML&&null!==t.dangerouslySetInnerHTML&&null!=t.dangerouslySetInnerHTML.__html}var aa="function"==typeof setTimeout?setTimeout:void 0,la="function"==typeof clearTimeout?clearTimeout:void 0,sa="function"==typeof Promise?Promise:void 0,ia="function"==typeof queueMicrotask?queueMicrotask:void 0!==sa?function(e){return sa.resolve(null).then(e).catch(oa)}:aa;function oa(e){setTimeout(function(){throw e})}function ua(e,t){var n=t,r=0;do{var a=n.nextSibling;if(e.removeChild(n),a&&8===a.nodeType)if("/$"===(n=a.data)){if(0===r)return e.removeChild(a),void Vt(t);r--}else"$"!==n&&"$?"!==n&&"$!"!==n||r++;n=a}while(n);Vt(t)}function ca(e){for(;null!=e;e=e.nextSibling){var t=e.nodeType;if(1===t||3===t)break;if(8===t){if("$"===(t=e.data)||"$!"===t||"$?"===t)break;if("/$"===t)return null}}return e}function da(e){e=e.previousSibling;for(var t=0;e;){if(8===e.nodeType){var n=e.data;if("$"===n||"$!"===n||"$?"===n){if(0===t)return e;t--}else"/$"===n&&t++}e=e.previousSibling}return null}var fa=Math.random().toString(36).slice(2),pa="__reactFiber$"+fa,ma="__reactProps$"+fa,ha="__reactContainer$"+fa,ga="__reactEvents$"+fa,va="__reactListeners$"+fa,ya="__reactHandles$"+fa;function ba(e){var t=e[pa];if(t)return t;for(var n=e.parentNode;n;){if(t=n[ha]||n[pa]){if(n=t.alternate,null!==t.child||null!==n&&null!==n.child)for(e=da(e);null!==e;){if(n=e[pa])return n;e=da(e)}return t}n=(e=n).parentNode}return null}function xa(e){return!(e=e[pa]||e[ha])||5!==e.tag&&6!==e.tag&&13!==e.tag&&3!==e.tag?null:e}function wa(e){if(5===e.tag||6===e.tag)return e.stateNode;throw Error(n(33))}function ka(e){return e[ma]||null}var Sa=[],Na=-1;function ja(e){return{current:e}}function Ca(e){0>Na||(e.current=Sa[Na],Sa[Na]=null,Na--)}function Ea(e,t){Na++,Sa[Na]=e.current,e.current=t}var Aa={},za=ja(Aa),Pa=ja(!1),_a=Aa;function La(e,t){var n=e.type.contextTypes;if(!n)return Aa;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var a,l={};for(a in n)l[a]=t[a];return r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=l),l}function Oa(e){return null!=(e=e.childContextTypes)}function Ta(){Ca(Pa),Ca(za)}function Ma(e,t,r){if(za.current!==Aa)throw Error(n(168));Ea(za,t),Ea(Pa,r)}function Ra(e,t,r){var a=e.stateNode;if(t=t.childContextTypes,"function"!=typeof a.getChildContext)return r;for(var l in a=a.getChildContext())if(!(l in t))throw Error(n(108,B(e)||"Unknown",l));return M({},r,a)}function Ia(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Aa,_a=za.current,Ea(za,e),Ea(Pa,Pa.current),!0}function Fa(e,t,r){var a=e.stateNode;if(!a)throw Error(n(169));r?(e=Ra(e,t,_a),a.__reactInternalMemoizedMergedChildContext=e,Ca(Pa),Ca(za),Ea(za,e)):Ca(Pa),Ea(Pa,r)}var Da=null,Ua=!1,Ba=!1;function Qa(e){null===Da?Da=[e]:Da.push(e)}function Va(){if(!Ba&&null!==Da){Ba=!0;var e=0,t=xt;try{var n=Da;for(xt=1;e<n.length;e++){var r=n[e];do{r=r(!0)}while(null!==r)}Da=null,Ua=!1}catch(a){throw null!==Da&&(Da=Da.slice(e+1)),qe($e,Va),a}finally{xt=t,Ba=!1}}return null}var Ha=[],qa=0,Wa=null,Ya=0,Ka=[],Ga=0,Xa=null,$a=1,Za="";function Ja(e,t){Ha[qa++]=Ya,Ha[qa++]=Wa,Wa=e,Ya=t}function el(e,t,n){Ka[Ga++]=$a,Ka[Ga++]=Za,Ka[Ga++]=Xa,Xa=e;var r=$a;e=Za;var a=32-st(r)-1;r&=~(1<<a),n+=1;var l=32-st(t)+a;if(30<l){var s=a-a%5;l=(r&(1<<s)-1).toString(32),r>>=s,a-=s,$a=1<<32-st(t)+a|n<<a|r,Za=l+e}else $a=1<<l|n<<a|r,Za=e}function tl(e){null!==e.return&&(Ja(e,1),el(e,1,0))}function nl(e){for(;e===Wa;)Wa=Ha[--qa],Ha[qa]=null,Ya=Ha[--qa],Ha[qa]=null;for(;e===Xa;)Xa=Ka[--Ga],Ka[Ga]=null,Za=Ka[--Ga],Ka[Ga]=null,$a=Ka[--Ga],Ka[Ga]=null}var rl=null,al=null,ll=!1,sl=null;function il(e,t){var n=_u(5,null,null,0);n.elementType="DELETED",n.stateNode=t,n.return=e,null===(t=e.deletions)?(e.deletions=[n],e.flags|=16):t.push(n)}function ol(e,t){switch(e.tag){case 5:var n=e.type;return null!==(t=1!==t.nodeType||n.toLowerCase()!==t.nodeName.toLowerCase()?null:t)&&(e.stateNode=t,rl=e,al=ca(t.firstChild),!0);case 6:return null!==(t=""===e.pendingProps||3!==t.nodeType?null:t)&&(e.stateNode=t,rl=e,al=null,!0);case 13:return null!==(t=8!==t.nodeType?null:t)&&(n=null!==Xa?{id:$a,overflow:Za}:null,e.memoizedState={dehydrated:t,treeContext:n,retryLane:1073741824},(n=_u(18,null,null,0)).stateNode=t,n.return=e,e.child=n,rl=e,al=null,!0);default:return!1}}function ul(e){return!(!(1&e.mode)||128&e.flags)}function cl(e){if(ll){var t=al;if(t){var r=t;if(!ol(e,t)){if(ul(e))throw Error(n(418));t=ca(r.nextSibling);var a=rl;t&&ol(e,t)?il(a,r):(e.flags=-4097&e.flags|2,ll=!1,rl=e)}}else{if(ul(e))throw Error(n(418));e.flags=-4097&e.flags|2,ll=!1,rl=e}}}function dl(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag&&13!==e.tag;)e=e.return;rl=e}function fl(e){if(e!==rl)return!1;if(!ll)return dl(e),ll=!0,!1;var t;if((t=3!==e.tag)&&!(t=5!==e.tag)&&(t="head"!==(t=e.type)&&"body"!==t&&!ra(e.type,e.memoizedProps)),t&&(t=al)){if(ul(e))throw pl(),Error(n(418));for(;t;)il(e,t),t=ca(t.nextSibling)}if(dl(e),13===e.tag){if(!(e=null!==(e=e.memoizedState)?e.dehydrated:null))throw Error(n(317));e:{for(e=e.nextSibling,t=0;e;){if(8===e.nodeType){var r=e.data;if("/$"===r){if(0===t){al=ca(e.nextSibling);break e}t--}else"$"!==r&&"$!"!==r&&"$?"!==r||t++}e=e.nextSibling}al=null}}else al=rl?ca(e.stateNode.nextSibling):null;return!0}function pl(){for(var e=al;e;)e=ca(e.nextSibling)}function ml(){al=rl=null,ll=!1}function hl(e){null===sl?sl=[e]:sl.push(e)}var gl=y.ReactCurrentBatchConfig;function vl(e,t,r){if(null!==(e=r.ref)&&"function"!=typeof e&&"object"!=typeof e){if(r._owner){if(r=r._owner){if(1!==r.tag)throw Error(n(309));var a=r.stateNode}if(!a)throw Error(n(147,e));var l=a,s=""+e;return null!==t&&null!==t.ref&&"function"==typeof t.ref&&t.ref._stringRef===s?t.ref:(t=function(e){var t=l.refs;null===e?delete t[s]:t[s]=e},t._stringRef=s,t)}if("string"!=typeof e)throw Error(n(284));if(!r._owner)throw Error(n(290,e))}return e}function yl(e,t){throw e=Object.prototype.toString.call(t),Error(n(31,"[object Object]"===e?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function bl(e){return(0,e._init)(e._payload)}function xl(e){function t(t,n){if(e){var r=t.deletions;null===r?(t.deletions=[n],t.flags|=16):r.push(n)}}function r(n,r){if(!e)return null;for(;null!==r;)t(n,r),r=r.sibling;return null}function a(e,t){for(e=new Map;null!==t;)null!==t.key?e.set(t.key,t):e.set(t.index,t),t=t.sibling;return e}function l(e,t){return(e=Ou(e,t)).index=0,e.sibling=null,e}function s(t,n,r){return t.index=r,e?null!==(r=t.alternate)?(r=r.index)<n?(t.flags|=2,n):r:(t.flags|=2,n):(t.flags|=1048576,n)}function i(t){return e&&null===t.alternate&&(t.flags|=2),t}function o(e,t,n,r){return null===t||6!==t.tag?((t=Iu(n,e.mode,r)).return=e,t):((t=l(t,n)).return=e,t)}function u(e,t,n,r){var a=n.type;return a===w?d(e,t,n.props.children,r,n.key):null!==t&&(t.elementType===a||"object"==typeof a&&null!==a&&a.$$typeof===P&&bl(a)===t.type)?((r=l(t,n.props)).ref=vl(e,t,n),r.return=e,r):((r=Tu(n.type,n.key,n.props,null,e.mode,r)).ref=vl(e,t,n),r.return=e,r)}function c(e,t,n,r){return null===t||4!==t.tag||t.stateNode.containerInfo!==n.containerInfo||t.stateNode.implementation!==n.implementation?((t=Fu(n,e.mode,r)).return=e,t):((t=l(t,n.children||[])).return=e,t)}function d(e,t,n,r,a){return null===t||7!==t.tag?((t=Mu(n,e.mode,r,a)).return=e,t):((t=l(t,n)).return=e,t)}function f(e,t,n){if("string"==typeof t&&""!==t||"number"==typeof t)return(t=Iu(""+t,e.mode,n)).return=e,t;if("object"==typeof t&&null!==t){switch(t.$$typeof){case b:return(n=Tu(t.type,t.key,t.props,null,e.mode,n)).ref=vl(e,null,t),n.return=e,n;case x:return(t=Fu(t,e.mode,n)).return=e,t;case P:return f(e,(0,t._init)(t._payload),n)}if(J(t)||O(t))return(t=Mu(t,e.mode,n,null)).return=e,t;yl(e,t)}return null}function p(e,t,n,r){var a=null!==t?t.key:null;if("string"==typeof n&&""!==n||"number"==typeof n)return null!==a?null:o(e,t,""+n,r);if("object"==typeof n&&null!==n){switch(n.$$typeof){case b:return n.key===a?u(e,t,n,r):null;case x:return n.key===a?c(e,t,n,r):null;case P:return p(e,t,(a=n._init)(n._payload),r)}if(J(n)||O(n))return null!==a?null:d(e,t,n,r,null);yl(e,n)}return null}function m(e,t,n,r,a){if("string"==typeof r&&""!==r||"number"==typeof r)return o(t,e=e.get(n)||null,""+r,a);if("object"==typeof r&&null!==r){switch(r.$$typeof){case b:return u(t,e=e.get(null===r.key?n:r.key)||null,r,a);case x:return c(t,e=e.get(null===r.key?n:r.key)||null,r,a);case P:return m(e,t,n,(0,r._init)(r._payload),a)}if(J(r)||O(r))return d(t,e=e.get(n)||null,r,a,null);yl(t,r)}return null}function h(n,l,i,o){for(var u=null,c=null,d=l,h=l=0,g=null;null!==d&&h<i.length;h++){d.index>h?(g=d,d=null):g=d.sibling;var v=p(n,d,i[h],o);if(null===v){null===d&&(d=g);break}e&&d&&null===v.alternate&&t(n,d),l=s(v,l,h),null===c?u=v:c.sibling=v,c=v,d=g}if(h===i.length)return r(n,d),ll&&Ja(n,h),u;if(null===d){for(;h<i.length;h++)null!==(d=f(n,i[h],o))&&(l=s(d,l,h),null===c?u=d:c.sibling=d,c=d);return ll&&Ja(n,h),u}for(d=a(n,d);h<i.length;h++)null!==(g=m(d,n,h,i[h],o))&&(e&&null!==g.alternate&&d.delete(null===g.key?h:g.key),l=s(g,l,h),null===c?u=g:c.sibling=g,c=g);return e&&d.forEach(function(e){return t(n,e)}),ll&&Ja(n,h),u}function g(l,i,o,u){var c=O(o);if("function"!=typeof c)throw Error(n(150));if(null==(o=c.call(o)))throw Error(n(151));for(var d=c=null,h=i,g=i=0,v=null,y=o.next();null!==h&&!y.done;g++,y=o.next()){h.index>g?(v=h,h=null):v=h.sibling;var b=p(l,h,y.value,u);if(null===b){null===h&&(h=v);break}e&&h&&null===b.alternate&&t(l,h),i=s(b,i,g),null===d?c=b:d.sibling=b,d=b,h=v}if(y.done)return r(l,h),ll&&Ja(l,g),c;if(null===h){for(;!y.done;g++,y=o.next())null!==(y=f(l,y.value,u))&&(i=s(y,i,g),null===d?c=y:d.sibling=y,d=y);return ll&&Ja(l,g),c}for(h=a(l,h);!y.done;g++,y=o.next())null!==(y=m(h,l,g,y.value,u))&&(e&&null!==y.alternate&&h.delete(null===y.key?g:y.key),i=s(y,i,g),null===d?c=y:d.sibling=y,d=y);return e&&h.forEach(function(e){return t(l,e)}),ll&&Ja(l,g),c}return function e(n,a,s,o){if("object"==typeof s&&null!==s&&s.type===w&&null===s.key&&(s=s.props.children),"object"==typeof s&&null!==s){switch(s.$$typeof){case b:e:{for(var u=s.key,c=a;null!==c;){if(c.key===u){if((u=s.type)===w){if(7===c.tag){r(n,c.sibling),(a=l(c,s.props.children)).return=n,n=a;break e}}else if(c.elementType===u||"object"==typeof u&&null!==u&&u.$$typeof===P&&bl(u)===c.type){r(n,c.sibling),(a=l(c,s.props)).ref=vl(n,c,s),a.return=n,n=a;break e}r(n,c);break}t(n,c),c=c.sibling}s.type===w?((a=Mu(s.props.children,n.mode,o,s.key)).return=n,n=a):((o=Tu(s.type,s.key,s.props,null,n.mode,o)).ref=vl(n,a,s),o.return=n,n=o)}return i(n);case x:e:{for(c=s.key;null!==a;){if(a.key===c){if(4===a.tag&&a.stateNode.containerInfo===s.containerInfo&&a.stateNode.implementation===s.implementation){r(n,a.sibling),(a=l(a,s.children||[])).return=n,n=a;break e}r(n,a);break}t(n,a),a=a.sibling}(a=Fu(s,n.mode,o)).return=n,n=a}return i(n);case P:return e(n,a,(c=s._init)(s._payload),o)}if(J(s))return h(n,a,s,o);if(O(s))return g(n,a,s,o);yl(n,s)}return"string"==typeof s&&""!==s||"number"==typeof s?(s=""+s,null!==a&&6===a.tag?(r(n,a.sibling),(a=l(a,s)).return=n,n=a):(r(n,a),(a=Iu(s,n.mode,o)).return=n,n=a),i(n)):r(n,a)}}var wl=xl(!0),kl=xl(!1),Sl=ja(null),Nl=null,jl=null,Cl=null;function El(){Cl=jl=Nl=null}function Al(e){var t=Sl.current;Ca(Sl),e._currentValue=t}function zl(e,t,n){for(;null!==e;){var r=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,null!==r&&(r.childLanes|=t)):null!==r&&(r.childLanes&t)!==t&&(r.childLanes|=t),e===n)break;e=e.return}}function Pl(e,t){Nl=e,Cl=jl=null,null!==(e=e.dependencies)&&null!==e.firstContext&&(0!==(e.lanes&t)&&(yi=!0),e.firstContext=null)}function _l(e){var t=e._currentValue;if(Cl!==e)if(e={context:e,memoizedValue:t,next:null},null===jl){if(null===Nl)throw Error(n(308));jl=e,Nl.dependencies={lanes:0,firstContext:e}}else jl=jl.next=e;return t}var Ll=null;function Ol(e){null===Ll?Ll=[e]:Ll.push(e)}function Tl(e,t,n,r){var a=t.interleaved;return null===a?(n.next=n,Ol(t)):(n.next=a.next,a.next=n),t.interleaved=n,Ml(e,r)}function Ml(e,t){e.lanes|=t;var n=e.alternate;for(null!==n&&(n.lanes|=t),n=e,e=e.return;null!==e;)e.childLanes|=t,null!==(n=e.alternate)&&(n.childLanes|=t),n=e,e=e.return;return 3===n.tag?n.stateNode:null}var Rl=!1;function Il(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Fl(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function Dl(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Ul(e,t,n){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,2&Ao){var a=r.pending;return null===a?t.next=t:(t.next=a.next,a.next=t),r.pending=t,Ml(e,n)}return null===(a=r.interleaved)?(t.next=t,Ol(r)):(t.next=a.next,a.next=t),r.interleaved=t,Ml(e,n)}function Bl(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,4194240&n)){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,bt(e,n)}}function Ql(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var a=null,l=null;if(null!==(n=n.firstBaseUpdate)){do{var s={eventTime:n.eventTime,lane:n.lane,tag:n.tag,payload:n.payload,callback:n.callback,next:null};null===l?a=l=s:l=l.next=s,n=n.next}while(null!==n);null===l?a=l=t:l=l.next=t}else a=l=t;return n={baseState:r.baseState,firstBaseUpdate:a,lastBaseUpdate:l,shared:r.shared,effects:r.effects},void(e.updateQueue=n)}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}function Vl(e,t,n,r){var a=e.updateQueue;Rl=!1;var l=a.firstBaseUpdate,s=a.lastBaseUpdate,i=a.shared.pending;if(null!==i){a.shared.pending=null;var o=i,u=o.next;o.next=null,null===s?l=u:s.next=u,s=o;var c=e.alternate;null!==c&&((i=(c=c.updateQueue).lastBaseUpdate)!==s&&(null===i?c.firstBaseUpdate=u:i.next=u,c.lastBaseUpdate=o))}if(null!==l){var d=a.baseState;for(s=0,c=u=o=null,i=l;;){var f=i.lane,p=i.eventTime;if((r&f)===f){null!==c&&(c=c.next={eventTime:p,lane:0,tag:i.tag,payload:i.payload,callback:i.callback,next:null});e:{var m=e,h=i;switch(f=t,p=n,h.tag){case 1:if("function"==typeof(m=h.payload)){d=m.call(p,d,f);break e}d=m;break e;case 3:m.flags=-65537&m.flags|128;case 0:if(null==(f="function"==typeof(m=h.payload)?m.call(p,d,f):m))break e;d=M({},d,f);break e;case 2:Rl=!0}}null!==i.callback&&0!==i.lane&&(e.flags|=64,null===(f=a.effects)?a.effects=[i]:f.push(i))}else p={eventTime:p,lane:f,tag:i.tag,payload:i.payload,callback:i.callback,next:null},null===c?(u=c=p,o=d):c=c.next=p,s|=f;if(null===(i=i.next)){if(null===(i=a.shared.pending))break;i=(f=i).next,f.next=null,a.lastBaseUpdate=f,a.shared.pending=null}}if(null===c&&(o=d),a.baseState=o,a.firstBaseUpdate=u,a.lastBaseUpdate=c,null!==(t=a.shared.interleaved)){a=t;do{s|=a.lane,a=a.next}while(a!==t)}else null===l&&(a.shared.lanes=0);Ro|=s,e.lanes=s,e.memoizedState=d}}function Hl(e,t,r){if(e=t.effects,t.effects=null,null!==e)for(t=0;t<e.length;t++){var a=e[t],l=a.callback;if(null!==l){if(a.callback=null,a=r,"function"!=typeof l)throw Error(n(191,l));l.call(a)}}}var ql={},Wl=ja(ql),Yl=ja(ql),Kl=ja(ql);function Gl(e){if(e===ql)throw Error(n(174));return e}function Xl(e,t){switch(Ea(Kl,t),Ea(Yl,e),Ea(Wl,ql),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:se(null,"");break;default:t=se(t=(e=8===e?t.parentNode:t).namespaceURI||null,e=e.tagName)}Ca(Wl),Ea(Wl,t)}function $l(){Ca(Wl),Ca(Yl),Ca(Kl)}function Zl(e){Gl(Kl.current);var t=Gl(Wl.current),n=se(t,e.type);t!==n&&(Ea(Yl,e),Ea(Wl,n))}function Jl(e){Yl.current===e&&(Ca(Wl),Ca(Yl))}var es=ja(0);function ts(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(128&t.flags)return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var ns=[];function rs(){for(var e=0;e<ns.length;e++)ns[e]._workInProgressVersionPrimary=null;ns.length=0}var as=y.ReactCurrentDispatcher,ls=y.ReactCurrentBatchConfig,ss=0,is=null,os=null,us=null,cs=!1,ds=!1,fs=0,ps=0;function ms(){throw Error(n(321))}function hs(e,t){if(null===t)return!1;for(var n=0;n<t.length&&n<e.length;n++)if(!or(e[n],t[n]))return!1;return!0}function gs(e,t,r,a,l,s){if(ss=s,is=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,as.current=null===e||null===e.memoizedState?Js:ei,e=r(a,l),ds){s=0;do{if(ds=!1,fs=0,25<=s)throw Error(n(301));s+=1,us=os=null,t.updateQueue=null,as.current=ti,e=r(a,l)}while(ds)}if(as.current=Zs,t=null!==os&&null!==os.next,ss=0,us=os=is=null,cs=!1,t)throw Error(n(300));return e}function vs(){var e=0!==fs;return fs=0,e}function ys(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return null===us?is.memoizedState=us=e:us=us.next=e,us}function bs(){if(null===os){var e=is.alternate;e=null!==e?e.memoizedState:null}else e=os.next;var t=null===us?is.memoizedState:us.next;if(null!==t)us=t,os=e;else{if(null===e)throw Error(n(310));e={memoizedState:(os=e).memoizedState,baseState:os.baseState,baseQueue:os.baseQueue,queue:os.queue,next:null},null===us?is.memoizedState=us=e:us=us.next=e}return us}function xs(e,t){return"function"==typeof t?t(e):t}function ws(e){var t=bs(),r=t.queue;if(null===r)throw Error(n(311));r.lastRenderedReducer=e;var a=os,l=a.baseQueue,s=r.pending;if(null!==s){if(null!==l){var i=l.next;l.next=s.next,s.next=i}a.baseQueue=l=s,r.pending=null}if(null!==l){s=l.next,a=a.baseState;var o=i=null,u=null,c=s;do{var d=c.lane;if((ss&d)===d)null!==u&&(u=u.next={lane:0,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null}),a=c.hasEagerState?c.eagerState:e(a,c.action);else{var f={lane:d,action:c.action,hasEagerState:c.hasEagerState,eagerState:c.eagerState,next:null};null===u?(o=u=f,i=a):u=u.next=f,is.lanes|=d,Ro|=d}c=c.next}while(null!==c&&c!==s);null===u?i=a:u.next=o,or(a,t.memoizedState)||(yi=!0),t.memoizedState=a,t.baseState=i,t.baseQueue=u,r.lastRenderedState=a}if(null!==(e=r.interleaved)){l=e;do{s=l.lane,is.lanes|=s,Ro|=s,l=l.next}while(l!==e)}else null===l&&(r.lanes=0);return[t.memoizedState,r.dispatch]}function ks(e){var t=bs(),r=t.queue;if(null===r)throw Error(n(311));r.lastRenderedReducer=e;var a=r.dispatch,l=r.pending,s=t.memoizedState;if(null!==l){r.pending=null;var i=l=l.next;do{s=e(s,i.action),i=i.next}while(i!==l);or(s,t.memoizedState)||(yi=!0),t.memoizedState=s,null===t.baseQueue&&(t.baseState=s),r.lastRenderedState=s}return[s,a]}function Ss(){}function Ns(e,t){var r=is,a=bs(),l=t(),s=!or(a.memoizedState,l);if(s&&(a.memoizedState=l,yi=!0),a=a.queue,Rs(Es.bind(null,r,a,e),[e]),a.getSnapshot!==t||s||null!==us&&1&us.memoizedState.tag){if(r.flags|=2048,_s(9,Cs.bind(null,r,a,l,t),void 0,null),null===zo)throw Error(n(349));30&ss||js(r,t,l)}return l}function js(e,t,n){e.flags|=16384,e={getSnapshot:t,value:n},null===(t=is.updateQueue)?(t={lastEffect:null,stores:null},is.updateQueue=t,t.stores=[e]):null===(n=t.stores)?t.stores=[e]:n.push(e)}function Cs(e,t,n,r){t.value=n,t.getSnapshot=r,As(t)&&zs(e)}function Es(e,t,n){return n(function(){As(t)&&zs(e)})}function As(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!or(e,n)}catch(r){return!0}}function zs(e){var t=Ml(e,1);null!==t&&nu(t,e,1,-1)}function Ps(e){var t=ys();return"function"==typeof e&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:xs,lastRenderedState:e},t.queue=e,e=e.dispatch=Ks.bind(null,is,e),[t.memoizedState,e]}function _s(e,t,n,r){return e={tag:e,create:t,destroy:n,deps:r,next:null},null===(t=is.updateQueue)?(t={lastEffect:null,stores:null},is.updateQueue=t,t.lastEffect=e.next=e):null===(n=t.lastEffect)?t.lastEffect=e.next=e:(r=n.next,n.next=e,e.next=r,t.lastEffect=e),e}function Ls(){return bs().memoizedState}function Os(e,t,n,r){var a=ys();is.flags|=e,a.memoizedState=_s(1|t,n,void 0,void 0===r?null:r)}function Ts(e,t,n,r){var a=bs();r=void 0===r?null:r;var l=void 0;if(null!==os){var s=os.memoizedState;if(l=s.destroy,null!==r&&hs(r,s.deps))return void(a.memoizedState=_s(t,n,l,r))}is.flags|=e,a.memoizedState=_s(1|t,n,l,r)}function Ms(e,t){return Os(8390656,8,e,t)}function Rs(e,t){return Ts(2048,8,e,t)}function Is(e,t){return Ts(4,2,e,t)}function Fs(e,t){return Ts(4,4,e,t)}function Ds(e,t){return"function"==typeof t?(e=e(),t(e),function(){t(null)}):null!=t?(e=e(),t.current=e,function(){t.current=null}):void 0}function Us(e,t,n){return n=null!=n?n.concat([e]):null,Ts(4,4,Ds.bind(null,t,e),n)}function Bs(){}function Qs(e,t){var n=bs();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&hs(t,r[1])?r[0]:(n.memoizedState=[e,t],e)}function Vs(e,t){var n=bs();t=void 0===t?null:t;var r=n.memoizedState;return null!==r&&null!==t&&hs(t,r[1])?r[0]:(e=e(),n.memoizedState=[e,t],e)}function Hs(e,t,n){return 21&ss?(or(n,t)||(n=gt(),is.lanes|=n,Ro|=n,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,yi=!0),e.memoizedState=n)}function qs(e,t){var n=xt;xt=0!==n&&4>n?n:4,e(!0);var r=ls.transition;ls.transition={};try{e(!1),t()}finally{xt=n,ls.transition=r}}function Ws(){return bs().memoizedState}function Ys(e,t,n){var r=tu(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Gs(e))Xs(t,n);else if(null!==(n=Tl(e,t,n,r))){nu(n,e,r,eu()),$s(n,t,r)}}function Ks(e,t,n){var r=tu(e),a={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Gs(e))Xs(t,a);else{var l=e.alternate;if(0===e.lanes&&(null===l||0===l.lanes)&&null!==(l=t.lastRenderedReducer))try{var s=t.lastRenderedState,i=l(s,n);if(a.hasEagerState=!0,a.eagerState=i,or(i,s)){var o=t.interleaved;return null===o?(a.next=a,Ol(t)):(a.next=o.next,o.next=a),void(t.interleaved=a)}}catch(u){}null!==(n=Tl(e,t,a,r))&&(nu(n,e,r,a=eu()),$s(n,t,r))}}function Gs(e){var t=e.alternate;return e===is||null!==t&&t===is}function Xs(e,t){ds=cs=!0;var n=e.pending;null===n?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function $s(e,t,n){if(4194240&n){var r=t.lanes;n|=r&=e.pendingLanes,t.lanes=n,bt(e,n)}}var Zs={readContext:_l,useCallback:ms,useContext:ms,useEffect:ms,useImperativeHandle:ms,useInsertionEffect:ms,useLayoutEffect:ms,useMemo:ms,useReducer:ms,useRef:ms,useState:ms,useDebugValue:ms,useDeferredValue:ms,useTransition:ms,useMutableSource:ms,useSyncExternalStore:ms,useId:ms,unstable_isNewReconciler:!1},Js={readContext:_l,useCallback:function(e,t){return ys().memoizedState=[e,void 0===t?null:t],e},useContext:_l,useEffect:Ms,useImperativeHandle:function(e,t,n){return n=null!=n?n.concat([e]):null,Os(4194308,4,Ds.bind(null,t,e),n)},useLayoutEffect:function(e,t){return Os(4194308,4,e,t)},useInsertionEffect:function(e,t){return Os(4,2,e,t)},useMemo:function(e,t){var n=ys();return t=void 0===t?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=ys();return t=void 0!==n?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=Ys.bind(null,is,e),[r.memoizedState,e]},useRef:function(e){return e={current:e},ys().memoizedState=e},useState:Ps,useDebugValue:Bs,useDeferredValue:function(e){return ys().memoizedState=e},useTransition:function(){var e=Ps(!1),t=e[0];return e=qs.bind(null,e[1]),ys().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,r){var a=is,l=ys();if(ll){if(void 0===r)throw Error(n(407));r=r()}else{if(r=t(),null===zo)throw Error(n(349));30&ss||js(a,t,r)}l.memoizedState=r;var s={value:r,getSnapshot:t};return l.queue=s,Ms(Es.bind(null,a,s,e),[e]),a.flags|=2048,_s(9,Cs.bind(null,a,s,r,t),void 0,null),r},useId:function(){var e=ys(),t=zo.identifierPrefix;if(ll){var n=Za;t=":"+t+"R"+(n=($a&~(1<<32-st($a)-1)).toString(32)+n),0<(n=fs++)&&(t+="H"+n.toString(32)),t+=":"}else t=":"+t+"r"+(n=ps++).toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},ei={readContext:_l,useCallback:Qs,useContext:_l,useEffect:Rs,useImperativeHandle:Us,useInsertionEffect:Is,useLayoutEffect:Fs,useMemo:Vs,useReducer:ws,useRef:Ls,useState:function(){return ws(xs)},useDebugValue:Bs,useDeferredValue:function(e){return Hs(bs(),os.memoizedState,e)},useTransition:function(){return[ws(xs)[0],bs().memoizedState]},useMutableSource:Ss,useSyncExternalStore:Ns,useId:Ws,unstable_isNewReconciler:!1},ti={readContext:_l,useCallback:Qs,useContext:_l,useEffect:Rs,useImperativeHandle:Us,useInsertionEffect:Is,useLayoutEffect:Fs,useMemo:Vs,useReducer:ks,useRef:Ls,useState:function(){return ks(xs)},useDebugValue:Bs,useDeferredValue:function(e){var t=bs();return null===os?t.memoizedState=e:Hs(t,os.memoizedState,e)},useTransition:function(){return[ks(xs)[0],bs().memoizedState]},useMutableSource:Ss,useSyncExternalStore:Ns,useId:Ws,unstable_isNewReconciler:!1};function ni(e,t){if(e&&e.defaultProps){for(var n in t=M({},t),e=e.defaultProps)void 0===t[n]&&(t[n]=e[n]);return t}return t}function ri(e,t,n,r){n=null==(n=n(r,t=e.memoizedState))?t:M({},t,n),e.memoizedState=n,0===e.lanes&&(e.updateQueue.baseState=n)}var ai={isMounted:function(e){return!!(e=e._reactInternals)&&Ue(e)===e},enqueueSetState:function(e,t,n){e=e._reactInternals;var r=eu(),a=tu(e),l=Dl(r,a);l.payload=t,null!=n&&(l.callback=n),null!==(t=Ul(e,l,a))&&(nu(t,e,a,r),Bl(t,e,a))},enqueueReplaceState:function(e,t,n){e=e._reactInternals;var r=eu(),a=tu(e),l=Dl(r,a);l.tag=1,l.payload=t,null!=n&&(l.callback=n),null!==(t=Ul(e,l,a))&&(nu(t,e,a,r),Bl(t,e,a))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var n=eu(),r=tu(e),a=Dl(n,r);a.tag=2,null!=t&&(a.callback=t),null!==(t=Ul(e,a,r))&&(nu(t,e,r,n),Bl(t,e,r))}};function li(e,t,n,r,a,l,s){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,l,s):!t.prototype||!t.prototype.isPureReactComponent||(!ur(n,r)||!ur(a,l))}function si(e,t,n){var r=!1,a=Aa,l=t.contextType;return"object"==typeof l&&null!==l?l=_l(l):(a=Oa(t)?_a:za.current,l=(r=null!=(r=t.contextTypes))?La(e,a):Aa),t=new t(n,l),e.memoizedState=null!==t.state&&void 0!==t.state?t.state:null,t.updater=ai,e.stateNode=t,t._reactInternals=e,r&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=a,e.__reactInternalMemoizedMaskedChildContext=l),t}function ii(e,t,n,r){e=t.state,"function"==typeof t.componentWillReceiveProps&&t.componentWillReceiveProps(n,r),"function"==typeof t.UNSAFE_componentWillReceiveProps&&t.UNSAFE_componentWillReceiveProps(n,r),t.state!==e&&ai.enqueueReplaceState(t,t.state,null)}function oi(e,t,n,r){var a=e.stateNode;a.props=n,a.state=e.memoizedState,a.refs={},Il(e);var l=t.contextType;"object"==typeof l&&null!==l?a.context=_l(l):(l=Oa(t)?_a:za.current,a.context=La(e,l)),a.state=e.memoizedState,"function"==typeof(l=t.getDerivedStateFromProps)&&(ri(e,t,l,n),a.state=e.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof a.getSnapshotBeforeUpdate||"function"!=typeof a.UNSAFE_componentWillMount&&"function"!=typeof a.componentWillMount||(t=a.state,"function"==typeof a.componentWillMount&&a.componentWillMount(),"function"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount(),t!==a.state&&ai.enqueueReplaceState(a,a.state,null),Vl(e,n,a,r),a.state=e.memoizedState),"function"==typeof a.componentDidMount&&(e.flags|=4194308)}function ui(e,t){try{var n="",r=t;do{n+=D(r),r=r.return}while(r);var a=n}catch(l){a="\\nError generating stack: "+l.message+"\\n"+l.stack}return{value:e,source:t,stack:a,digest:null}}function ci(e,t,n){return{value:e,source:null,stack:null!=n?n:null,digest:null!=t?t:null}}var di="function"==typeof WeakMap?WeakMap:Map;function fi(e,t,n){(n=Dl(-1,n)).tag=3,n.payload={element:null};var r=t.value;return n.callback=function(){Ho||(Ho=!0,qo=r)},n}function pi(e,t,n){(n=Dl(-1,n)).tag=3;var r=e.type.getDerivedStateFromError;if("function"==typeof r){var a=t.value;n.payload=function(){return r(a)},n.callback=function(){}}var l=e.stateNode;return null!==l&&"function"==typeof l.componentDidCatch&&(n.callback=function(){"function"!=typeof r&&(null===Wo?Wo=new Set([this]):Wo.add(this));var e=t.stack;this.componentDidCatch(t.value,{componentStack:null!==e?e:""})}),n}function mi(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new di;var a=new Set;r.set(t,a)}else void 0===(a=r.get(t))&&(a=new Set,r.set(t,a));a.has(n)||(a.add(n),e=ju.bind(null,e,t,n),t.then(e,e))}function hi(e){do{var t;if((t=13===e.tag)&&(t=null===(t=e.memoizedState)||null!==t.dehydrated),t)return e;e=e.return}while(null!==e);return null}function gi(e,t,n,r,a){return 1&e.mode?(e.flags|=65536,e.lanes=a,e):(e===t?e.flags|=65536:(e.flags|=128,n.flags|=131072,n.flags&=-52805,1===n.tag&&(null===n.alternate?n.tag=17:((t=Dl(-1,1)).tag=2,Ul(n,t,1))),n.lanes|=1),e)}var vi=y.ReactCurrentOwner,yi=!1;function bi(e,t,n,r){t.child=null===e?kl(t,null,n,r):wl(t,e.child,n,r)}function xi(e,t,n,r,a){n=n.render;var l=t.ref;return Pl(t,a),r=gs(e,t,n,r,l,a),n=vs(),null===e||yi?(ll&&n&&tl(t),t.flags|=1,bi(e,t,r,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,Vi(e,t,a))}function wi(e,t,n,r,a){if(null===e){var l=n.type;return"function"!=typeof l||Lu(l)||void 0!==l.defaultProps||null!==n.compare||void 0!==n.defaultProps?((e=Tu(n.type,null,r,t,t.mode,a)).ref=t.ref,e.return=t,t.child=e):(t.tag=15,t.type=l,ki(e,t,l,r,a))}if(l=e.child,0===(e.lanes&a)){var s=l.memoizedProps;if((n=null!==(n=n.compare)?n:ur)(s,r)&&e.ref===t.ref)return Vi(e,t,a)}return t.flags|=1,(e=Ou(l,r)).ref=t.ref,e.return=t,t.child=e}function ki(e,t,n,r,a){if(null!==e){var l=e.memoizedProps;if(ur(l,r)&&e.ref===t.ref){if(yi=!1,t.pendingProps=r=l,0===(e.lanes&a))return t.lanes=e.lanes,Vi(e,t,a);131072&e.flags&&(yi=!0)}}return ji(e,t,n,r,a)}function Si(e,t,n){var r=t.pendingProps,a=r.children,l=null!==e?e.memoizedState:null;if("hidden"===r.mode)if(1&t.mode){if(!(1073741824&n))return e=null!==l?l.baseLanes|n:n,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,Ea(Oo,Lo),Lo|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},r=null!==l?l.baseLanes:n,Ea(Oo,Lo),Lo|=r}else t.memoizedState={baseLanes:0,cachePool:null,transitions:null},Ea(Oo,Lo),Lo|=n;else null!==l?(r=l.baseLanes|n,t.memoizedState=null):r=n,Ea(Oo,Lo),Lo|=r;return bi(e,t,a,n),t.child}function Ni(e,t){var n=t.ref;(null===e&&null!==n||null!==e&&e.ref!==n)&&(t.flags|=512,t.flags|=2097152)}function ji(e,t,n,r,a){var l=Oa(n)?_a:za.current;return l=La(t,l),Pl(t,a),n=gs(e,t,n,r,l,a),r=vs(),null===e||yi?(ll&&r&&tl(t),t.flags|=1,bi(e,t,n,a),t.child):(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~a,Vi(e,t,a))}function Ci(e,t,n,r,a){if(Oa(n)){var l=!0;Ia(t)}else l=!1;if(Pl(t,a),null===t.stateNode)Qi(e,t),si(t,n,r),oi(t,n,r,a),r=!0;else if(null===e){var s=t.stateNode,i=t.memoizedProps;s.props=i;var o=s.context,u=n.contextType;"object"==typeof u&&null!==u?u=_l(u):u=La(t,u=Oa(n)?_a:za.current);var c=n.getDerivedStateFromProps,d="function"==typeof c||"function"==typeof s.getSnapshotBeforeUpdate;d||"function"!=typeof s.UNSAFE_componentWillReceiveProps&&"function"!=typeof s.componentWillReceiveProps||(i!==r||o!==u)&&ii(t,s,r,u),Rl=!1;var f=t.memoizedState;s.state=f,Vl(t,r,s,a),o=t.memoizedState,i!==r||f!==o||Pa.current||Rl?("function"==typeof c&&(ri(t,n,c,r),o=t.memoizedState),(i=Rl||li(t,n,i,r,f,o,u))?(d||"function"!=typeof s.UNSAFE_componentWillMount&&"function"!=typeof s.componentWillMount||("function"==typeof s.componentWillMount&&s.componentWillMount(),"function"==typeof s.UNSAFE_componentWillMount&&s.UNSAFE_componentWillMount()),"function"==typeof s.componentDidMount&&(t.flags|=4194308)):("function"==typeof s.componentDidMount&&(t.flags|=4194308),t.memoizedProps=r,t.memoizedState=o),s.props=r,s.state=o,s.context=u,r=i):("function"==typeof s.componentDidMount&&(t.flags|=4194308),r=!1)}else{s=t.stateNode,Fl(e,t),i=t.memoizedProps,u=t.type===t.elementType?i:ni(t.type,i),s.props=u,d=t.pendingProps,f=s.context,"object"==typeof(o=n.contextType)&&null!==o?o=_l(o):o=La(t,o=Oa(n)?_a:za.current);var p=n.getDerivedStateFromProps;(c="function"==typeof p||"function"==typeof s.getSnapshotBeforeUpdate)||"function"!=typeof s.UNSAFE_componentWillReceiveProps&&"function"!=typeof s.componentWillReceiveProps||(i!==d||f!==o)&&ii(t,s,r,o),Rl=!1,f=t.memoizedState,s.state=f,Vl(t,r,s,a);var m=t.memoizedState;i!==d||f!==m||Pa.current||Rl?("function"==typeof p&&(ri(t,n,p,r),m=t.memoizedState),(u=Rl||li(t,n,u,r,f,m,o)||!1)?(c||"function"!=typeof s.UNSAFE_componentWillUpdate&&"function"!=typeof s.componentWillUpdate||("function"==typeof s.componentWillUpdate&&s.componentWillUpdate(r,m,o),"function"==typeof s.UNSAFE_componentWillUpdate&&s.UNSAFE_componentWillUpdate(r,m,o)),"function"==typeof s.componentDidUpdate&&(t.flags|=4),"function"==typeof s.getSnapshotBeforeUpdate&&(t.flags|=1024)):("function"!=typeof s.componentDidUpdate||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),"function"!=typeof s.getSnapshotBeforeUpdate||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),t.memoizedProps=r,t.memoizedState=m),s.props=r,s.state=m,s.context=o,r=u):("function"!=typeof s.componentDidUpdate||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=4),"function"!=typeof s.getSnapshotBeforeUpdate||i===e.memoizedProps&&f===e.memoizedState||(t.flags|=1024),r=!1)}return Ei(e,t,n,r,l,a)}function Ei(e,t,n,r,a,l){Ni(e,t);var s=!!(128&t.flags);if(!r&&!s)return a&&Fa(t,n,!1),Vi(e,t,l);r=t.stateNode,vi.current=t;var i=s&&"function"!=typeof n.getDerivedStateFromError?null:r.render();return t.flags|=1,null!==e&&s?(t.child=wl(t,e.child,null,l),t.child=wl(t,null,i,l)):bi(e,t,i,l),t.memoizedState=r.state,a&&Fa(t,n,!0),t.child}function Ai(e){var t=e.stateNode;t.pendingContext?Ma(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Ma(0,t.context,!1),Xl(e,t.containerInfo)}function zi(e,t,n,r,a){return ml(),hl(a),t.flags|=256,bi(e,t,n,r),t.child}var Pi,_i,Li,Oi,Ti={dehydrated:null,treeContext:null,retryLane:0};function Mi(e){return{baseLanes:e,cachePool:null,transitions:null}}function Ri(e,t,r){var a,l=t.pendingProps,s=es.current,i=!1,o=!!(128&t.flags);if((a=o)||(a=(null===e||null!==e.memoizedState)&&!!(2&s)),a?(i=!0,t.flags&=-129):null!==e&&null===e.memoizedState||(s|=1),Ea(es,1&s),null===e)return cl(t),null!==(e=t.memoizedState)&&null!==(e=e.dehydrated)?(1&t.mode?"$!"===e.data?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(o=l.children,e=l.fallback,i?(l=t.mode,i=t.child,o={mode:"hidden",children:o},1&l||null===i?i=Ru(o,l,0,null):(i.childLanes=0,i.pendingProps=o),e=Mu(e,l,r,null),i.return=t,e.return=t,i.sibling=e,t.child=i,t.child.memoizedState=Mi(r),t.memoizedState=Ti,e):Ii(t,o));if(null!==(s=e.memoizedState)&&null!==(a=s.dehydrated))return function(e,t,r,a,l,s,i){if(r)return 256&t.flags?(t.flags&=-257,Fi(e,t,i,a=ci(Error(n(422))))):null!==t.memoizedState?(t.child=e.child,t.flags|=128,null):(s=a.fallback,l=t.mode,a=Ru({mode:"visible",children:a.children},l,0,null),(s=Mu(s,l,i,null)).flags|=2,a.return=t,s.return=t,a.sibling=s,t.child=a,1&t.mode&&wl(t,e.child,null,i),t.child.memoizedState=Mi(i),t.memoizedState=Ti,s);if(!(1&t.mode))return Fi(e,t,i,null);if("$!"===l.data){if(a=l.nextSibling&&l.nextSibling.dataset)var o=a.dgst;return a=o,Fi(e,t,i,a=ci(s=Error(n(419)),a,void 0))}if(o=0!==(i&e.childLanes),yi||o){if(null!==(a=zo)){switch(i&-i){case 4:l=2;break;case 16:l=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:l=32;break;case 536870912:l=268435456;break;default:l=0}0!==(l=0!==(l&(a.suspendedLanes|i))?0:l)&&l!==s.retryLane&&(s.retryLane=l,Ml(e,l),nu(a,e,l,-1))}return hu(),Fi(e,t,i,a=ci(Error(n(421))))}return"$?"===l.data?(t.flags|=128,t.child=e.child,t=Eu.bind(null,e),l._reactRetry=t,null):(e=s.treeContext,al=ca(l.nextSibling),rl=t,ll=!0,sl=null,null!==e&&(Ka[Ga++]=$a,Ka[Ga++]=Za,Ka[Ga++]=Xa,$a=e.id,Za=e.overflow,Xa=t),t=Ii(t,a.children),t.flags|=4096,t)}(e,t,o,l,a,s,r);if(i){i=l.fallback,o=t.mode,a=(s=e.child).sibling;var u={mode:"hidden",children:l.children};return 1&o||t.child===s?(l=Ou(s,u)).subtreeFlags=14680064&s.subtreeFlags:((l=t.child).childLanes=0,l.pendingProps=u,t.deletions=null),null!==a?i=Ou(a,i):(i=Mu(i,o,r,null)).flags|=2,i.return=t,l.return=t,l.sibling=i,t.child=l,l=i,i=t.child,o=null===(o=e.child.memoizedState)?Mi(r):{baseLanes:o.baseLanes|r,cachePool:null,transitions:o.transitions},i.memoizedState=o,i.childLanes=e.childLanes&~r,t.memoizedState=Ti,l}return e=(i=e.child).sibling,l=Ou(i,{mode:"visible",children:l.children}),!(1&t.mode)&&(l.lanes=r),l.return=t,l.sibling=null,null!==e&&(null===(r=t.deletions)?(t.deletions=[e],t.flags|=16):r.push(e)),t.child=l,t.memoizedState=null,l}function Ii(e,t){return(t=Ru({mode:"visible",children:t},e.mode,0,null)).return=e,e.child=t}function Fi(e,t,n,r){return null!==r&&hl(r),wl(t,e.child,null,n),(e=Ii(t,t.pendingProps.children)).flags|=2,t.memoizedState=null,e}function Di(e,t,n){e.lanes|=t;var r=e.alternate;null!==r&&(r.lanes|=t),zl(e.return,t,n)}function Ui(e,t,n,r,a){var l=e.memoizedState;null===l?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:r,tail:n,tailMode:a}:(l.isBackwards=t,l.rendering=null,l.renderingStartTime=0,l.last=r,l.tail=n,l.tailMode=a)}function Bi(e,t,n){var r=t.pendingProps,a=r.revealOrder,l=r.tail;if(bi(e,t,r.children,n),2&(r=es.current))r=1&r|2,t.flags|=128;else{if(null!==e&&128&e.flags)e:for(e=t.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&Di(e,n,t);else if(19===e.tag)Di(e,n,t);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;null===e.sibling;){if(null===e.return||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}if(Ea(es,r),1&t.mode)switch(a){case"forwards":for(n=t.child,a=null;null!==n;)null!==(e=n.alternate)&&null===ts(e)&&(a=n),n=n.sibling;null===(n=a)?(a=t.child,t.child=null):(a=n.sibling,n.sibling=null),Ui(t,!1,a,n,l);break;case"backwards":for(n=null,a=t.child,t.child=null;null!==a;){if(null!==(e=a.alternate)&&null===ts(e)){t.child=a;break}e=a.sibling,a.sibling=n,n=a,a=e}Ui(t,!0,n,null,l);break;case"together":Ui(t,!1,null,null,void 0);break;default:t.memoizedState=null}else t.memoizedState=null;return t.child}function Qi(e,t){!(1&t.mode)&&null!==e&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Vi(e,t,r){if(null!==e&&(t.dependencies=e.dependencies),Ro|=t.lanes,0===(r&t.childLanes))return null;if(null!==e&&t.child!==e.child)throw Error(n(153));if(null!==t.child){for(r=Ou(e=t.child,e.pendingProps),t.child=r,r.return=t;null!==e.sibling;)e=e.sibling,(r=r.sibling=Ou(e,e.pendingProps)).return=t;r.sibling=null}return t.child}function Hi(e,t){if(!ll)switch(e.tailMode){case"hidden":t=e.tail;for(var n=null;null!==t;)null!==t.alternate&&(n=t),t=t.sibling;null===n?e.tail=null:n.sibling=null;break;case"collapsed":n=e.tail;for(var r=null;null!==n;)null!==n.alternate&&(r=n),n=n.sibling;null===r?t||null===e.tail?e.tail=null:e.tail.sibling=null:r.sibling=null}}function qi(e){var t=null!==e.alternate&&e.alternate.child===e.child,n=0,r=0;if(t)for(var a=e.child;null!==a;)n|=a.lanes|a.childLanes,r|=14680064&a.subtreeFlags,r|=14680064&a.flags,a.return=e,a=a.sibling;else for(a=e.child;null!==a;)n|=a.lanes|a.childLanes,r|=a.subtreeFlags,r|=a.flags,a.return=e,a=a.sibling;return e.subtreeFlags|=r,e.childLanes=n,t}function Wi(e,t,r){var l=t.pendingProps;switch(nl(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return qi(t),null;case 1:case 17:return Oa(t.type)&&Ta(),qi(t),null;case 3:return l=t.stateNode,$l(),Ca(Pa),Ca(za),rs(),l.pendingContext&&(l.context=l.pendingContext,l.pendingContext=null),null!==e&&null!==e.child||(fl(t)?t.flags|=4:null===e||e.memoizedState.isDehydrated&&!(256&t.flags)||(t.flags|=1024,null!==sl&&(su(sl),sl=null))),_i(e,t),qi(t),null;case 5:Jl(t);var s=Gl(Kl.current);if(r=t.type,null!==e&&null!=t.stateNode)Li(e,t,r,l,s),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!l){if(null===t.stateNode)throw Error(n(166));return qi(t),null}if(e=Gl(Wl.current),fl(t)){l=t.stateNode,r=t.type;var i=t.memoizedProps;switch(l[pa]=t,l[ma]=i,e=!!(1&t.mode),r){case"dialog":Ur("cancel",l),Ur("close",l);break;case"iframe":case"object":case"embed":Ur("load",l);break;case"video":case"audio":for(s=0;s<Rr.length;s++)Ur(Rr[s],l);break;case"source":Ur("error",l);break;case"img":case"image":case"link":Ur("error",l),Ur("load",l);break;case"details":Ur("toggle",l);break;case"input":K(l,i),Ur("invalid",l);break;case"select":l._wrapperState={wasMultiple:!!i.multiple},Ur("invalid",l);break;case"textarea":ne(l,i),Ur("invalid",l)}for(var o in ge(r,i),s=null,i)if(i.hasOwnProperty(o)){var u=i[o];"children"===o?"string"==typeof u?l.textContent!==u&&(!0!==i.suppressHydrationWarning&&Jr(l.textContent,u,e),s=["children",u]):"number"==typeof u&&l.textContent!==""+u&&(!0!==i.suppressHydrationWarning&&Jr(l.textContent,u,e),s=["children",""+u]):a.hasOwnProperty(o)&&null!=u&&"onScroll"===o&&Ur("scroll",l)}switch(r){case"input":H(l),$(l,i,!0);break;case"textarea":H(l),ae(l);break;case"select":case"option":break;default:"function"==typeof i.onClick&&(l.onclick=ea)}l=s,t.updateQueue=l,null!==l&&(t.flags|=4)}else{o=9===s.nodeType?s:s.ownerDocument,"http://www.w3.org/1999/xhtml"===e&&(e=le(r)),"http://www.w3.org/1999/xhtml"===e?"script"===r?((e=o.createElement("div")).innerHTML="<script><\\/script>",e=e.removeChild(e.firstChild)):"string"==typeof l.is?e=o.createElement(r,{is:l.is}):(e=o.createElement(r),"select"===r&&(o=e,l.multiple?o.multiple=!0:l.size&&(o.size=l.size))):e=o.createElementNS(e,r),e[pa]=t,e[ma]=l,Pi(e,t,!1,!1),t.stateNode=e;e:{switch(o=ve(r,l),r){case"dialog":Ur("cancel",e),Ur("close",e),s=l;break;case"iframe":case"object":case"embed":Ur("load",e),s=l;break;case"video":case"audio":for(s=0;s<Rr.length;s++)Ur(Rr[s],e);s=l;break;case"source":Ur("error",e),s=l;break;case"img":case"image":case"link":Ur("error",e),Ur("load",e),s=l;break;case"details":Ur("toggle",e),s=l;break;case"input":K(e,l),s=Y(e,l),Ur("invalid",e);break;case"option":default:s=l;break;case"select":e._wrapperState={wasMultiple:!!l.multiple},s=M({},l,{value:void 0}),Ur("invalid",e);break;case"textarea":ne(e,l),s=te(e,l),Ur("invalid",e)}for(i in ge(r,s),u=s)if(u.hasOwnProperty(i)){var c=u[i];"style"===i?me(e,c):"dangerouslySetInnerHTML"===i?null!=(c=c?c.__html:void 0)&&ue(e,c):"children"===i?"string"==typeof c?("textarea"!==r||""!==c)&&ce(e,c):"number"==typeof c&&ce(e,""+c):"suppressContentEditableWarning"!==i&&"suppressHydrationWarning"!==i&&"autoFocus"!==i&&(a.hasOwnProperty(i)?null!=c&&"onScroll"===i&&Ur("scroll",e):null!=c&&v(e,i,c,o))}switch(r){case"input":H(e),$(e,l,!1);break;case"textarea":H(e),ae(e);break;case"option":null!=l.value&&e.setAttribute("value",""+Q(l.value));break;case"select":e.multiple=!!l.multiple,null!=(i=l.value)?ee(e,!!l.multiple,i,!1):null!=l.defaultValue&&ee(e,!!l.multiple,l.defaultValue,!0);break;default:"function"==typeof s.onClick&&(e.onclick=ea)}switch(r){case"button":case"input":case"select":case"textarea":l=!!l.autoFocus;break e;case"img":l=!0;break e;default:l=!1}}l&&(t.flags|=4)}null!==t.ref&&(t.flags|=512,t.flags|=2097152)}return qi(t),null;case 6:if(e&&null!=t.stateNode)Oi(e,t,e.memoizedProps,l);else{if("string"!=typeof l&&null===t.stateNode)throw Error(n(166));if(r=Gl(Kl.current),Gl(Wl.current),fl(t)){if(l=t.stateNode,r=t.memoizedProps,l[pa]=t,(i=l.nodeValue!==r)&&null!==(e=rl))switch(e.tag){case 3:Jr(l.nodeValue,r,!!(1&e.mode));break;case 5:!0!==e.memoizedProps.suppressHydrationWarning&&Jr(l.nodeValue,r,!!(1&e.mode))}i&&(t.flags|=4)}else(l=(9===r.nodeType?r:r.ownerDocument).createTextNode(l))[pa]=t,t.stateNode=l}return qi(t),null;case 13:if(Ca(es),l=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(ll&&null!==al&&1&t.mode&&!(128&t.flags))pl(),ml(),t.flags|=98560,i=!1;else if(i=fl(t),null!==l&&null!==l.dehydrated){if(null===e){if(!i)throw Error(n(318));if(!(i=null!==(i=t.memoizedState)?i.dehydrated:null))throw Error(n(317));i[pa]=t}else ml(),!(128&t.flags)&&(t.memoizedState=null),t.flags|=4;qi(t),i=!1}else null!==sl&&(su(sl),sl=null),i=!0;if(!i)return 65536&t.flags?t:null}return 128&t.flags?(t.lanes=r,t):((l=null!==l)!==(null!==e&&null!==e.memoizedState)&&l&&(t.child.flags|=8192,1&t.mode&&(null===e||1&es.current?0===To&&(To=3):hu())),null!==t.updateQueue&&(t.flags|=4),qi(t),null);case 4:return $l(),_i(e,t),null===e&&Vr(t.stateNode.containerInfo),qi(t),null;case 10:return Al(t.type._context),qi(t),null;case 19:if(Ca(es),null===(i=t.memoizedState))return qi(t),null;if(l=!!(128&t.flags),null===(o=i.rendering))if(l)Hi(i,!1);else{if(0!==To||null!==e&&128&e.flags)for(e=t.child;null!==e;){if(null!==(o=ts(e))){for(t.flags|=128,Hi(i,!1),null!==(l=o.updateQueue)&&(t.updateQueue=l,t.flags|=4),t.subtreeFlags=0,l=r,r=t.child;null!==r;)e=l,(i=r).flags&=14680066,null===(o=i.alternate)?(i.childLanes=0,i.lanes=e,i.child=null,i.subtreeFlags=0,i.memoizedProps=null,i.memoizedState=null,i.updateQueue=null,i.dependencies=null,i.stateNode=null):(i.childLanes=o.childLanes,i.lanes=o.lanes,i.child=o.child,i.subtreeFlags=0,i.deletions=null,i.memoizedProps=o.memoizedProps,i.memoizedState=o.memoizedState,i.updateQueue=o.updateQueue,i.type=o.type,e=o.dependencies,i.dependencies=null===e?null:{lanes:e.lanes,firstContext:e.firstContext}),r=r.sibling;return Ea(es,1&es.current|2),t.child}e=e.sibling}null!==i.tail&&Ge()>Qo&&(t.flags|=128,l=!0,Hi(i,!1),t.lanes=4194304)}else{if(!l)if(null!==(e=ts(o))){if(t.flags|=128,l=!0,null!==(r=e.updateQueue)&&(t.updateQueue=r,t.flags|=4),Hi(i,!0),null===i.tail&&"hidden"===i.tailMode&&!o.alternate&&!ll)return qi(t),null}else 2*Ge()-i.renderingStartTime>Qo&&1073741824!==r&&(t.flags|=128,l=!0,Hi(i,!1),t.lanes=4194304);i.isBackwards?(o.sibling=t.child,t.child=o):(null!==(r=i.last)?r.sibling=o:t.child=o,i.last=o)}return null!==i.tail?(t=i.tail,i.rendering=t,i.tail=t.sibling,i.renderingStartTime=Ge(),t.sibling=null,r=es.current,Ea(es,l?1&r|2:1&r),t):(qi(t),null);case 22:case 23:return du(),l=null!==t.memoizedState,null!==e&&null!==e.memoizedState!==l&&(t.flags|=8192),l&&1&t.mode?!!(1073741824&Lo)&&(qi(t),6&t.subtreeFlags&&(t.flags|=8192)):qi(t),null;case 24:case 25:return null}throw Error(n(156,t.tag))}function Yi(e,t){switch(nl(t),t.tag){case 1:return Oa(t.type)&&Ta(),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return $l(),Ca(Pa),Ca(za),rs(),65536&(e=t.flags)&&!(128&e)?(t.flags=-65537&e|128,t):null;case 5:return Jl(t),null;case 13:if(Ca(es),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(n(340));ml()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return Ca(es),null;case 4:return $l(),null;case 10:return Al(t.type._context),null;case 22:case 23:return du(),null;default:return null}}Pi=function(e,t){for(var n=t.child;null!==n;){if(5===n.tag||6===n.tag)e.appendChild(n.stateNode);else if(4!==n.tag&&null!==n.child){n.child.return=n,n=n.child;continue}if(n===t)break;for(;null===n.sibling;){if(null===n.return||n.return===t)return;n=n.return}n.sibling.return=n.return,n=n.sibling}},_i=function(){},Li=function(e,t,n,r){var l=e.memoizedProps;if(l!==r){e=t.stateNode,Gl(Wl.current);var s,i=null;switch(n){case"input":l=Y(e,l),r=Y(e,r),i=[];break;case"select":l=M({},l,{value:void 0}),r=M({},r,{value:void 0}),i=[];break;case"textarea":l=te(e,l),r=te(e,r),i=[];break;default:"function"!=typeof l.onClick&&"function"==typeof r.onClick&&(e.onclick=ea)}for(c in ge(n,r),n=null,l)if(!r.hasOwnProperty(c)&&l.hasOwnProperty(c)&&null!=l[c])if("style"===c){var o=l[c];for(s in o)o.hasOwnProperty(s)&&(n||(n={}),n[s]="")}else"dangerouslySetInnerHTML"!==c&&"children"!==c&&"suppressContentEditableWarning"!==c&&"suppressHydrationWarning"!==c&&"autoFocus"!==c&&(a.hasOwnProperty(c)?i||(i=[]):(i=i||[]).push(c,null));for(c in r){var u=r[c];if(o=null!=l?l[c]:void 0,r.hasOwnProperty(c)&&u!==o&&(null!=u||null!=o))if("style"===c)if(o){for(s in o)!o.hasOwnProperty(s)||u&&u.hasOwnProperty(s)||(n||(n={}),n[s]="");for(s in u)u.hasOwnProperty(s)&&o[s]!==u[s]&&(n||(n={}),n[s]=u[s])}else n||(i||(i=[]),i.push(c,n)),n=u;else"dangerouslySetInnerHTML"===c?(u=u?u.__html:void 0,o=o?o.__html:void 0,null!=u&&o!==u&&(i=i||[]).push(c,u)):"children"===c?"string"!=typeof u&&"number"!=typeof u||(i=i||[]).push(c,""+u):"suppressContentEditableWarning"!==c&&"suppressHydrationWarning"!==c&&(a.hasOwnProperty(c)?(null!=u&&"onScroll"===c&&Ur("scroll",e),i||o===u||(i=[])):(i=i||[]).push(c,u))}n&&(i=i||[]).push("style",n);var c=i;(t.updateQueue=c)&&(t.flags|=4)}},Oi=function(e,t,n,r){n!==r&&(t.flags|=4)};var Ki=!1,Gi=!1,Xi="function"==typeof WeakSet?WeakSet:Set,$i=null;function Zi(e,t){var n=e.ref;if(null!==n)if("function"==typeof n)try{n(null)}catch(r){Nu(e,t,r)}else n.current=null}function Ji(e,t,n){try{n()}catch(r){Nu(e,t,r)}}var eo=!1;function to(e,t,n){var r=t.updateQueue;if(null!==(r=null!==r?r.lastEffect:null)){var a=r=r.next;do{if((a.tag&e)===e){var l=a.destroy;a.destroy=void 0,void 0!==l&&Ji(t,n,l)}a=a.next}while(a!==r)}}function no(e,t){if(null!==(t=null!==(t=t.updateQueue)?t.lastEffect:null)){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function ro(e){var t=e.ref;if(null!==t){var n=e.stateNode;e.tag,e=n,"function"==typeof t?t(e):t.current=e}}function ao(e){var t=e.alternate;null!==t&&(e.alternate=null,ao(t)),e.child=null,e.deletions=null,e.sibling=null,5===e.tag&&(null!==(t=e.stateNode)&&(delete t[pa],delete t[ma],delete t[ga],delete t[va],delete t[ya])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function lo(e){return 5===e.tag||3===e.tag||4===e.tag}function so(e){e:for(;;){for(;null===e.sibling;){if(null===e.return||lo(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;5!==e.tag&&6!==e.tag&&18!==e.tag;){if(2&e.flags)continue e;if(null===e.child||4===e.tag)continue e;e.child.return=e,e=e.child}if(!(2&e.flags))return e.stateNode}}function io(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?8===n.nodeType?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(8===n.nodeType?(t=n.parentNode).insertBefore(e,n):(t=n).appendChild(e),null!=(n=n._reactRootContainer)||null!==t.onclick||(t.onclick=ea));else if(4!==r&&null!==(e=e.child))for(io(e,t,n),e=e.sibling;null!==e;)io(e,t,n),e=e.sibling}function oo(e,t,n){var r=e.tag;if(5===r||6===r)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(4!==r&&null!==(e=e.child))for(oo(e,t,n),e=e.sibling;null!==e;)oo(e,t,n),e=e.sibling}var uo=null,co=!1;function fo(e,t,n){for(n=n.child;null!==n;)po(e,t,n),n=n.sibling}function po(e,t,n){if(at&&"function"==typeof at.onCommitFiberUnmount)try{at.onCommitFiberUnmount(rt,n)}catch(i){}switch(n.tag){case 5:Gi||Zi(n,t);case 6:var r=uo,a=co;uo=null,fo(e,t,n),co=a,null!==(uo=r)&&(co?(e=uo,n=n.stateNode,8===e.nodeType?e.parentNode.removeChild(n):e.removeChild(n)):uo.removeChild(n.stateNode));break;case 18:null!==uo&&(co?(e=uo,n=n.stateNode,8===e.nodeType?ua(e.parentNode,n):1===e.nodeType&&ua(e,n),Vt(e)):ua(uo,n.stateNode));break;case 4:r=uo,a=co,uo=n.stateNode.containerInfo,co=!0,fo(e,t,n),uo=r,co=a;break;case 0:case 11:case 14:case 15:if(!Gi&&(null!==(r=n.updateQueue)&&null!==(r=r.lastEffect))){a=r=r.next;do{var l=a,s=l.destroy;l=l.tag,void 0!==s&&(2&l||4&l)&&Ji(n,t,s),a=a.next}while(a!==r)}fo(e,t,n);break;case 1:if(!Gi&&(Zi(n,t),"function"==typeof(r=n.stateNode).componentWillUnmount))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(i){Nu(n,t,i)}fo(e,t,n);break;case 21:fo(e,t,n);break;case 22:1&n.mode?(Gi=(r=Gi)||null!==n.memoizedState,fo(e,t,n),Gi=r):fo(e,t,n);break;default:fo(e,t,n)}}function mo(e){var t=e.updateQueue;if(null!==t){e.updateQueue=null;var n=e.stateNode;null===n&&(n=e.stateNode=new Xi),t.forEach(function(t){var r=Au.bind(null,e,t);n.has(t)||(n.add(t),t.then(r,r))})}}function ho(e,t){var r=t.deletions;if(null!==r)for(var a=0;a<r.length;a++){var l=r[a];try{var s=e,i=t,o=i;e:for(;null!==o;){switch(o.tag){case 5:uo=o.stateNode,co=!1;break e;case 3:case 4:uo=o.stateNode.containerInfo,co=!0;break e}o=o.return}if(null===uo)throw Error(n(160));po(s,i,l),uo=null,co=!1;var u=l.alternate;null!==u&&(u.return=null),l.return=null}catch(c){Nu(l,t,c)}}if(12854&t.subtreeFlags)for(t=t.child;null!==t;)go(t,e),t=t.sibling}function go(e,t){var r=e.alternate,a=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(ho(t,e),vo(e),4&a){try{to(3,e,e.return),no(3,e)}catch(g){Nu(e,e.return,g)}try{to(5,e,e.return)}catch(g){Nu(e,e.return,g)}}break;case 1:ho(t,e),vo(e),512&a&&null!==r&&Zi(r,r.return);break;case 5:if(ho(t,e),vo(e),512&a&&null!==r&&Zi(r,r.return),32&e.flags){var l=e.stateNode;try{ce(l,"")}catch(g){Nu(e,e.return,g)}}if(4&a&&null!=(l=e.stateNode)){var s=e.memoizedProps,i=null!==r?r.memoizedProps:s,o=e.type,u=e.updateQueue;if(e.updateQueue=null,null!==u)try{"input"===o&&"radio"===s.type&&null!=s.name&&G(l,s),ve(o,i);var c=ve(o,s);for(i=0;i<u.length;i+=2){var d=u[i],f=u[i+1];"style"===d?me(l,f):"dangerouslySetInnerHTML"===d?ue(l,f):"children"===d?ce(l,f):v(l,d,f,c)}switch(o){case"input":X(l,s);break;case"textarea":re(l,s);break;case"select":var p=l._wrapperState.wasMultiple;l._wrapperState.wasMultiple=!!s.multiple;var m=s.value;null!=m?ee(l,!!s.multiple,m,!1):p!==!!s.multiple&&(null!=s.defaultValue?ee(l,!!s.multiple,s.defaultValue,!0):ee(l,!!s.multiple,s.multiple?[]:"",!1))}l[ma]=s}catch(g){Nu(e,e.return,g)}}break;case 6:if(ho(t,e),vo(e),4&a){if(null===e.stateNode)throw Error(n(162));l=e.stateNode,s=e.memoizedProps;try{l.nodeValue=s}catch(g){Nu(e,e.return,g)}}break;case 3:if(ho(t,e),vo(e),4&a&&null!==r&&r.memoizedState.isDehydrated)try{Vt(t.containerInfo)}catch(g){Nu(e,e.return,g)}break;case 4:default:ho(t,e),vo(e);break;case 13:ho(t,e),vo(e),8192&(l=e.child).flags&&(s=null!==l.memoizedState,l.stateNode.isHidden=s,!s||null!==l.alternate&&null!==l.alternate.memoizedState||(Bo=Ge())),4&a&&mo(e);break;case 22:if(d=null!==r&&null!==r.memoizedState,1&e.mode?(Gi=(c=Gi)||d,ho(t,e),Gi=c):ho(t,e),vo(e),8192&a){if(c=null!==e.memoizedState,(e.stateNode.isHidden=c)&&!d&&1&e.mode)for($i=e,d=e.child;null!==d;){for(f=$i=d;null!==$i;){switch(m=(p=$i).child,p.tag){case 0:case 11:case 14:case 15:to(4,p,p.return);break;case 1:Zi(p,p.return);var h=p.stateNode;if("function"==typeof h.componentWillUnmount){a=p,r=p.return;try{t=a,h.props=t.memoizedProps,h.state=t.memoizedState,h.componentWillUnmount()}catch(g){Nu(a,r,g)}}break;case 5:Zi(p,p.return);break;case 22:if(null!==p.memoizedState){wo(f);continue}}null!==m?(m.return=p,$i=m):wo(f)}d=d.sibling}e:for(d=null,f=e;;){if(5===f.tag){if(null===d){d=f;try{l=f.stateNode,c?"function"==typeof(s=l.style).setProperty?s.setProperty("display","none","important"):s.display="none":(o=f.stateNode,i=null!=(u=f.memoizedProps.style)&&u.hasOwnProperty("display")?u.display:null,o.style.display=pe("display",i))}catch(g){Nu(e,e.return,g)}}}else if(6===f.tag){if(null===d)try{f.stateNode.nodeValue=c?"":f.memoizedProps}catch(g){Nu(e,e.return,g)}}else if((22!==f.tag&&23!==f.tag||null===f.memoizedState||f===e)&&null!==f.child){f.child.return=f,f=f.child;continue}if(f===e)break e;for(;null===f.sibling;){if(null===f.return||f.return===e)break e;d===f&&(d=null),f=f.return}d===f&&(d=null),f.sibling.return=f.return,f=f.sibling}}break;case 19:ho(t,e),vo(e),4&a&&mo(e);case 21:}}function vo(e){var t=e.flags;if(2&t){try{e:{for(var r=e.return;null!==r;){if(lo(r)){var a=r;break e}r=r.return}throw Error(n(160))}switch(a.tag){case 5:var l=a.stateNode;32&a.flags&&(ce(l,""),a.flags&=-33),oo(e,so(e),l);break;case 3:case 4:var s=a.stateNode.containerInfo;io(e,so(e),s);break;default:throw Error(n(161))}}catch(i){Nu(e,e.return,i)}e.flags&=-3}4096&t&&(e.flags&=-4097)}function yo(e,t,n){$i=e,bo(e)}function bo(e,t,n){for(var r=!!(1&e.mode);null!==$i;){var a=$i,l=a.child;if(22===a.tag&&r){var s=null!==a.memoizedState||Ki;if(!s){var i=a.alternate,o=null!==i&&null!==i.memoizedState||Gi;i=Ki;var u=Gi;if(Ki=s,(Gi=o)&&!u)for($i=a;null!==$i;)o=(s=$i).child,22===s.tag&&null!==s.memoizedState?ko(a):null!==o?(o.return=s,$i=o):ko(a);for(;null!==l;)$i=l,bo(l),l=l.sibling;$i=a,Ki=i,Gi=u}xo(e)}else 8772&a.subtreeFlags&&null!==l?(l.return=a,$i=l):xo(e)}}function xo(e){for(;null!==$i;){var t=$i;if(8772&t.flags){var r=t.alternate;try{if(8772&t.flags)switch(t.tag){case 0:case 11:case 15:Gi||no(5,t);break;case 1:var a=t.stateNode;if(4&t.flags&&!Gi)if(null===r)a.componentDidMount();else{var l=t.elementType===t.type?r.memoizedProps:ni(t.type,r.memoizedProps);a.componentDidUpdate(l,r.memoizedState,a.__reactInternalSnapshotBeforeUpdate)}var s=t.updateQueue;null!==s&&Hl(t,s,a);break;case 3:var i=t.updateQueue;if(null!==i){if(r=null,null!==t.child)switch(t.child.tag){case 5:case 1:r=t.child.stateNode}Hl(t,i,r)}break;case 5:var o=t.stateNode;if(null===r&&4&t.flags){r=o;var u=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":u.autoFocus&&r.focus();break;case"img":u.src&&(r.src=u.src)}}break;case 6:case 4:case 12:case 19:case 17:case 21:case 22:case 23:case 25:break;case 13:if(null===t.memoizedState){var c=t.alternate;if(null!==c){var d=c.memoizedState;if(null!==d){var f=d.dehydrated;null!==f&&Vt(f)}}}break;default:throw Error(n(163))}Gi||512&t.flags&&ro(t)}catch(p){Nu(t,t.return,p)}}if(t===e){$i=null;break}if(null!==(r=t.sibling)){r.return=t.return,$i=r;break}$i=t.return}}function wo(e){for(;null!==$i;){var t=$i;if(t===e){$i=null;break}var n=t.sibling;if(null!==n){n.return=t.return,$i=n;break}$i=t.return}}function ko(e){for(;null!==$i;){var t=$i;try{switch(t.tag){case 0:case 11:case 15:var n=t.return;try{no(4,t)}catch(o){Nu(t,n,o)}break;case 1:var r=t.stateNode;if("function"==typeof r.componentDidMount){var a=t.return;try{r.componentDidMount()}catch(o){Nu(t,a,o)}}var l=t.return;try{ro(t)}catch(o){Nu(t,l,o)}break;case 5:var s=t.return;try{ro(t)}catch(o){Nu(t,s,o)}}}catch(o){Nu(t,t.return,o)}if(t===e){$i=null;break}var i=t.sibling;if(null!==i){i.return=t.return,$i=i;break}$i=t.return}}var So,No=Math.ceil,jo=y.ReactCurrentDispatcher,Co=y.ReactCurrentOwner,Eo=y.ReactCurrentBatchConfig,Ao=0,zo=null,Po=null,_o=0,Lo=0,Oo=ja(0),To=0,Mo=null,Ro=0,Io=0,Fo=0,Do=null,Uo=null,Bo=0,Qo=1/0,Vo=null,Ho=!1,qo=null,Wo=null,Yo=!1,Ko=null,Go=0,Xo=0,$o=null,Zo=-1,Jo=0;function eu(){return 6&Ao?Ge():-1!==Zo?Zo:Zo=Ge()}function tu(e){return 1&e.mode?2&Ao&&0!==_o?_o&-_o:null!==gl.transition?(0===Jo&&(Jo=gt()),Jo):0!==(e=xt)?e:e=void 0===(e=window.event)?16:$t(e.type):1}function nu(e,t,r,a){if(50<Xo)throw Xo=0,$o=null,Error(n(185));yt(e,r,a),2&Ao&&e===zo||(e===zo&&(!(2&Ao)&&(Io|=r),4===To&&iu(e,_o)),ru(e,a),1===r&&0===Ao&&!(1&t.mode)&&(Qo=Ge()+500,Ua&&Va()))}function ru(e,t){var n=e.callbackNode;!function(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,a=e.expirationTimes,l=e.pendingLanes;0<l;){var s=31-st(l),i=1<<s,o=a[s];-1===o?0!==(i&n)&&0===(i&r)||(a[s]=mt(i,t)):o<=t&&(e.expiredLanes|=i),l&=~i}}(e,t);var r=pt(e,e===zo?_o:0);if(0===r)null!==n&&We(n),e.callbackNode=null,e.callbackPriority=0;else if(t=r&-r,e.callbackPriority!==t){if(null!=n&&We(n),1===t)0===e.tag?function(e){Ua=!0,Qa(e)}(ou.bind(null,e)):Qa(ou.bind(null,e)),ia(function(){!(6&Ao)&&Va()}),n=null;else{switch(wt(r)){case 1:n=$e;break;case 4:n=Ze;break;case 16:default:n=Je;break;case 536870912:n=nt}n=zu(n,au.bind(null,e))}e.callbackPriority=t,e.callbackNode=n}}function au(e,t){if(Zo=-1,Jo=0,6&Ao)throw Error(n(327));var r=e.callbackNode;if(ku()&&e.callbackNode!==r)return null;var a=pt(e,e===zo?_o:0);if(0===a)return null;if(30&a||0!==(a&e.expiredLanes)||t)t=gu(e,a);else{t=a;var l=Ao;Ao|=2;var s=mu();for(zo===e&&_o===t||(Vo=null,Qo=Ge()+500,fu(e,t));;)try{yu();break}catch(o){pu(e,o)}El(),jo.current=s,Ao=l,null!==Po?t=0:(zo=null,_o=0,t=To)}if(0!==t){if(2===t&&(0!==(l=ht(e))&&(a=l,t=lu(e,l))),1===t)throw r=Mo,fu(e,0),iu(e,a),ru(e,Ge()),r;if(6===t)iu(e,a);else{if(l=e.current.alternate,!(30&a||function(e){for(var t=e;;){if(16384&t.flags){var n=t.updateQueue;if(null!==n&&null!==(n=n.stores))for(var r=0;r<n.length;r++){var a=n[r],l=a.getSnapshot;a=a.value;try{if(!or(l(),a))return!1}catch(i){return!1}}}if(n=t.child,16384&t.subtreeFlags&&null!==n)n.return=t,t=n;else{if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}(l)||(t=gu(e,a),2===t&&(s=ht(e),0!==s&&(a=s,t=lu(e,s))),1!==t)))throw r=Mo,fu(e,0),iu(e,a),ru(e,Ge()),r;switch(e.finishedWork=l,e.finishedLanes=a,t){case 0:case 1:throw Error(n(345));case 2:case 5:wu(e,Uo,Vo);break;case 3:if(iu(e,a),(130023424&a)===a&&10<(t=Bo+500-Ge())){if(0!==pt(e,0))break;if(((l=e.suspendedLanes)&a)!==a){eu(),e.pingedLanes|=e.suspendedLanes&l;break}e.timeoutHandle=aa(wu.bind(null,e,Uo,Vo),t);break}wu(e,Uo,Vo);break;case 4:if(iu(e,a),(4194240&a)===a)break;for(t=e.eventTimes,l=-1;0<a;){var i=31-st(a);s=1<<i,(i=t[i])>l&&(l=i),a&=~s}if(a=l,10<(a=(120>(a=Ge()-a)?120:480>a?480:1080>a?1080:1920>a?1920:3e3>a?3e3:4320>a?4320:1960*No(a/1960))-a)){e.timeoutHandle=aa(wu.bind(null,e,Uo,Vo),a);break}wu(e,Uo,Vo);break;default:throw Error(n(329))}}}return ru(e,Ge()),e.callbackNode===r?au.bind(null,e):null}function lu(e,t){var n=Do;return e.current.memoizedState.isDehydrated&&(fu(e,t).flags|=256),2!==(e=gu(e,t))&&(t=Uo,Uo=n,null!==t&&su(t)),e}function su(e){null===Uo?Uo=e:Uo.push.apply(Uo,e)}function iu(e,t){for(t&=~Fo,t&=~Io,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var n=31-st(t),r=1<<n;e[n]=-1,t&=~r}}function ou(e){if(6&Ao)throw Error(n(327));ku();var t=pt(e,0);if(!(1&t))return ru(e,Ge()),null;var r=gu(e,t);if(0!==e.tag&&2===r){var a=ht(e);0!==a&&(t=a,r=lu(e,a))}if(1===r)throw r=Mo,fu(e,0),iu(e,t),ru(e,Ge()),r;if(6===r)throw Error(n(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,wu(e,Uo,Vo),ru(e,Ge()),null}function uu(e,t){var n=Ao;Ao|=1;try{return e(t)}finally{0===(Ao=n)&&(Qo=Ge()+500,Ua&&Va())}}function cu(e){null!==Ko&&0===Ko.tag&&!(6&Ao)&&ku();var t=Ao;Ao|=1;var n=Eo.transition,r=xt;try{if(Eo.transition=null,xt=1,e)return e()}finally{xt=r,Eo.transition=n,!(6&(Ao=t))&&Va()}}function du(){Lo=Oo.current,Ca(Oo)}function fu(e,t){e.finishedWork=null,e.finishedLanes=0;var n=e.timeoutHandle;if(-1!==n&&(e.timeoutHandle=-1,la(n)),null!==Po)for(n=Po.return;null!==n;){var r=n;switch(nl(r),r.tag){case 1:null!=(r=r.type.childContextTypes)&&Ta();break;case 3:$l(),Ca(Pa),Ca(za),rs();break;case 5:Jl(r);break;case 4:$l();break;case 13:case 19:Ca(es);break;case 10:Al(r.type._context);break;case 22:case 23:du()}n=n.return}if(zo=e,Po=e=Ou(e.current,null),_o=Lo=t,To=0,Mo=null,Fo=Io=Ro=0,Uo=Do=null,null!==Ll){for(t=0;t<Ll.length;t++)if(null!==(r=(n=Ll[t]).interleaved)){n.interleaved=null;var a=r.next,l=n.pending;if(null!==l){var s=l.next;l.next=a,r.next=s}n.pending=r}Ll=null}return e}function pu(e,t){for(;;){var r=Po;try{if(El(),as.current=Zs,cs){for(var a=is.memoizedState;null!==a;){var l=a.queue;null!==l&&(l.pending=null),a=a.next}cs=!1}if(ss=0,us=os=is=null,ds=!1,fs=0,Co.current=null,null===r||null===r.return){To=1,Mo=t,Po=null;break}e:{var s=e,i=r.return,o=r,u=t;if(t=_o,o.flags|=32768,null!==u&&"object"==typeof u&&"function"==typeof u.then){var c=u,d=o,f=d.tag;if(!(1&d.mode||0!==f&&11!==f&&15!==f)){var p=d.alternate;p?(d.updateQueue=p.updateQueue,d.memoizedState=p.memoizedState,d.lanes=p.lanes):(d.updateQueue=null,d.memoizedState=null)}var m=hi(i);if(null!==m){m.flags&=-257,gi(m,i,o,0,t),1&m.mode&&mi(s,c,t),u=c;var h=(t=m).updateQueue;if(null===h){var g=new Set;g.add(u),t.updateQueue=g}else h.add(u);break e}if(!(1&t)){mi(s,c,t),hu();break e}u=Error(n(426))}else if(ll&&1&o.mode){var v=hi(i);if(null!==v){!(65536&v.flags)&&(v.flags|=256),gi(v,i,o,0,t),hl(ui(u,o));break e}}s=u=ui(u,o),4!==To&&(To=2),null===Do?Do=[s]:Do.push(s),s=i;do{switch(s.tag){case 3:s.flags|=65536,t&=-t,s.lanes|=t,Ql(s,fi(0,u,t));break e;case 1:o=u;var y=s.type,b=s.stateNode;if(!(128&s.flags||"function"!=typeof y.getDerivedStateFromError&&(null===b||"function"!=typeof b.componentDidCatch||null!==Wo&&Wo.has(b)))){s.flags|=65536,t&=-t,s.lanes|=t,Ql(s,pi(s,o,t));break e}}s=s.return}while(null!==s)}xu(r)}catch(x){t=x,Po===r&&null!==r&&(Po=r=r.return);continue}break}}function mu(){var e=jo.current;return jo.current=Zs,null===e?Zs:e}function hu(){0!==To&&3!==To&&2!==To||(To=4),null===zo||!(268435455&Ro)&&!(268435455&Io)||iu(zo,_o)}function gu(e,t){var r=Ao;Ao|=2;var a=mu();for(zo===e&&_o===t||(Vo=null,fu(e,t));;)try{vu();break}catch(l){pu(e,l)}if(El(),Ao=r,jo.current=a,null!==Po)throw Error(n(261));return zo=null,_o=0,To}function vu(){for(;null!==Po;)bu(Po)}function yu(){for(;null!==Po&&!Ye();)bu(Po)}function bu(e){var t=So(e.alternate,e,Lo);e.memoizedProps=e.pendingProps,null===t?xu(e):Po=t,Co.current=null}function xu(e){var t=e;do{var n=t.alternate;if(e=t.return,32768&t.flags){if(null!==(n=Yi(n,t)))return n.flags&=32767,void(Po=n);if(null===e)return To=6,void(Po=null);e.flags|=32768,e.subtreeFlags=0,e.deletions=null}else if(null!==(n=Wi(n,t,Lo)))return void(Po=n);if(null!==(t=t.sibling))return void(Po=t);Po=t=e}while(null!==t);0===To&&(To=5)}function wu(e,t,r){var a=xt,l=Eo.transition;try{Eo.transition=null,xt=1,function(e,t,r,a){do{ku()}while(null!==Ko);if(6&Ao)throw Error(n(327));r=e.finishedWork;var l=e.finishedLanes;if(null===r)return null;if(e.finishedWork=null,e.finishedLanes=0,r===e.current)throw Error(n(177));e.callbackNode=null,e.callbackPriority=0;var s=r.lanes|r.childLanes;if(function(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0<n;){var a=31-st(n),l=1<<a;t[a]=0,r[a]=-1,e[a]=-1,n&=~l}}(e,s),e===zo&&(Po=zo=null,_o=0),!(2064&r.subtreeFlags)&&!(2064&r.flags)||Yo||(Yo=!0,zu(Je,function(){return ku(),null})),s=!!(15990&r.flags),!!(15990&r.subtreeFlags)||s){s=Eo.transition,Eo.transition=null;var i=xt;xt=1;var o=Ao;Ao|=4,Co.current=null,function(e,t){if(ta=qt,mr(e=pr())){if("selectionStart"in e)var r={start:e.selectionStart,end:e.selectionEnd};else e:{var a=(r=(r=e.ownerDocument)&&r.defaultView||window).getSelection&&r.getSelection();if(a&&0!==a.rangeCount){r=a.anchorNode;var l=a.anchorOffset,s=a.focusNode;a=a.focusOffset;try{r.nodeType,s.nodeType}catch(w){r=null;break e}var i=0,o=-1,u=-1,c=0,d=0,f=e,p=null;t:for(;;){for(var m;f!==r||0!==l&&3!==f.nodeType||(o=i+l),f!==s||0!==a&&3!==f.nodeType||(u=i+a),3===f.nodeType&&(i+=f.nodeValue.length),null!==(m=f.firstChild);)p=f,f=m;for(;;){if(f===e)break t;if(p===r&&++c===l&&(o=i),p===s&&++d===a&&(u=i),null!==(m=f.nextSibling))break;p=(f=p).parentNode}f=m}r=-1===o||-1===u?null:{start:o,end:u}}else r=null}r=r||{start:0,end:0}}else r=null;for(na={focusedElem:e,selectionRange:r},qt=!1,$i=t;null!==$i;)if(e=(t=$i).child,1028&t.subtreeFlags&&null!==e)e.return=t,$i=e;else for(;null!==$i;){t=$i;try{var h=t.alternate;if(1024&t.flags)switch(t.tag){case 0:case 11:case 15:case 5:case 6:case 4:case 17:break;case 1:if(null!==h){var g=h.memoizedProps,v=h.memoizedState,y=t.stateNode,b=y.getSnapshotBeforeUpdate(t.elementType===t.type?g:ni(t.type,g),v);y.__reactInternalSnapshotBeforeUpdate=b}break;case 3:var x=t.stateNode.containerInfo;1===x.nodeType?x.textContent="":9===x.nodeType&&x.documentElement&&x.removeChild(x.documentElement);break;default:throw Error(n(163))}}catch(w){Nu(t,t.return,w)}if(null!==(e=t.sibling)){e.return=t.return,$i=e;break}$i=t.return}h=eo,eo=!1}(e,r),go(r,e),hr(na),qt=!!ta,na=ta=null,e.current=r,yo(r),Ke(),Ao=o,xt=i,Eo.transition=s}else e.current=r;if(Yo&&(Yo=!1,Ko=e,Go=l),s=e.pendingLanes,0===s&&(Wo=null),function(e){if(at&&"function"==typeof at.onCommitFiberRoot)try{at.onCommitFiberRoot(rt,e,void 0,!(128&~e.current.flags))}catch(t){}}(r.stateNode),ru(e,Ge()),null!==t)for(a=e.onRecoverableError,r=0;r<t.length;r++)l=t[r],a(l.value,{componentStack:l.stack,digest:l.digest});if(Ho)throw Ho=!1,e=qo,qo=null,e;!!(1&Go)&&0!==e.tag&&ku(),s=e.pendingLanes,1&s?e===$o?Xo++:(Xo=0,$o=e):Xo=0,Va()}(e,t,r,a)}finally{Eo.transition=l,xt=a}return null}function ku(){if(null!==Ko){var e=wt(Go),t=Eo.transition,r=xt;try{if(Eo.transition=null,xt=16>e?16:e,null===Ko)var a=!1;else{if(e=Ko,Ko=null,Go=0,6&Ao)throw Error(n(331));var l=Ao;for(Ao|=4,$i=e.current;null!==$i;){var s=$i,i=s.child;if(16&$i.flags){var o=s.deletions;if(null!==o){for(var u=0;u<o.length;u++){var c=o[u];for($i=c;null!==$i;){var d=$i;switch(d.tag){case 0:case 11:case 15:to(8,d,s)}var f=d.child;if(null!==f)f.return=d,$i=f;else for(;null!==$i;){var p=(d=$i).sibling,m=d.return;if(ao(d),d===c){$i=null;break}if(null!==p){p.return=m,$i=p;break}$i=m}}}var h=s.alternate;if(null!==h){var g=h.child;if(null!==g){h.child=null;do{var v=g.sibling;g.sibling=null,g=v}while(null!==g)}}$i=s}}if(2064&s.subtreeFlags&&null!==i)i.return=s,$i=i;else e:for(;null!==$i;){if(2048&(s=$i).flags)switch(s.tag){case 0:case 11:case 15:to(9,s,s.return)}var y=s.sibling;if(null!==y){y.return=s.return,$i=y;break e}$i=s.return}}var b=e.current;for($i=b;null!==$i;){var x=(i=$i).child;if(2064&i.subtreeFlags&&null!==x)x.return=i,$i=x;else e:for(i=b;null!==$i;){if(2048&(o=$i).flags)try{switch(o.tag){case 0:case 11:case 15:no(9,o)}}catch(k){Nu(o,o.return,k)}if(o===i){$i=null;break e}var w=o.sibling;if(null!==w){w.return=o.return,$i=w;break e}$i=o.return}}if(Ao=l,Va(),at&&"function"==typeof at.onPostCommitFiberRoot)try{at.onPostCommitFiberRoot(rt,e)}catch(k){}a=!0}return a}finally{xt=r,Eo.transition=t}}return!1}function Su(e,t,n){e=Ul(e,t=fi(0,t=ui(n,t),1),1),t=eu(),null!==e&&(yt(e,1,t),ru(e,t))}function Nu(e,t,n){if(3===e.tag)Su(e,e,n);else for(;null!==t;){if(3===t.tag){Su(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===Wo||!Wo.has(r))){t=Ul(t,e=pi(t,e=ui(n,e),1),1),e=eu(),null!==t&&(yt(t,1,e),ru(t,e));break}}t=t.return}}function ju(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),t=eu(),e.pingedLanes|=e.suspendedLanes&n,zo===e&&(_o&n)===n&&(4===To||3===To&&(130023424&_o)===_o&&500>Ge()-Bo?fu(e,0):Fo|=n),ru(e,t)}function Cu(e,t){0===t&&(1&e.mode?(t=dt,!(130023424&(dt<<=1))&&(dt=4194304)):t=1);var n=eu();null!==(e=Ml(e,t))&&(yt(e,t,n),ru(e,n))}function Eu(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),Cu(e,n)}function Au(e,t){var r=0;switch(e.tag){case 13:var a=e.stateNode,l=e.memoizedState;null!==l&&(r=l.retryLane);break;case 19:a=e.stateNode;break;default:throw Error(n(314))}null!==a&&a.delete(t),Cu(e,r)}function zu(e,t){return qe(e,t)}function Pu(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function _u(e,t,n,r){return new Pu(e,t,n,r)}function Lu(e){return!(!(e=e.prototype)||!e.isReactComponent)}function Ou(e,t){var n=e.alternate;return null===n?((n=_u(e.tag,t,e.key,e.mode)).elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=14680064&e.flags,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=null===t?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Tu(e,t,r,a,l,s){var i=2;if(a=e,"function"==typeof e)Lu(e)&&(i=1);else if("string"==typeof e)i=5;else e:switch(e){case w:return Mu(r.children,l,s,t);case k:i=8,l|=8;break;case S:return(e=_u(12,r,t,2|l)).elementType=S,e.lanes=s,e;case E:return(e=_u(13,r,t,l)).elementType=E,e.lanes=s,e;case A:return(e=_u(19,r,t,l)).elementType=A,e.lanes=s,e;case _:return Ru(r,l,s,t);default:if("object"==typeof e&&null!==e)switch(e.$$typeof){case N:i=10;break e;case j:i=9;break e;case C:i=11;break e;case z:i=14;break e;case P:i=16,a=null;break e}throw Error(n(130,null==e?e:typeof e,""))}return(t=_u(i,r,t,l)).elementType=e,t.type=a,t.lanes=s,t}function Mu(e,t,n,r){return(e=_u(7,e,r,t)).lanes=n,e}function Ru(e,t,n,r){return(e=_u(22,e,r,t)).elementType=_,e.lanes=n,e.stateNode={isHidden:!1},e}function Iu(e,t,n){return(e=_u(6,e,null,t)).lanes=n,e}function Fu(e,t,n){return(t=_u(4,null!==e.children?e.children:[],e.key,t)).lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Du(e,t,n,r,a){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=vt(0),this.expirationTimes=vt(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=vt(0),this.identifierPrefix=r,this.onRecoverableError=a,this.mutableSourceEagerHydrationData=null}function Uu(e,t,n,r,a,l,s,i,o){return e=new Du(e,t,n,i,o),1===t?(t=1,!0===l&&(t|=8)):t=0,l=_u(3,null,null,t),e.current=l,l.stateNode=e,l.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},Il(l),e}function Bu(e){if(!e)return Aa;e:{if(Ue(e=e._reactInternals)!==e||1!==e.tag)throw Error(n(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(Oa(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(null!==t);throw Error(n(171))}if(1===e.tag){var r=e.type;if(Oa(r))return Ra(e,r,t)}return t}function Qu(e,t,n,r,a,l,s,i,o){return(e=Uu(n,r,!0,e,0,l,0,i,o)).context=Bu(null),n=e.current,(l=Dl(r=eu(),a=tu(n))).callback=null!=t?t:null,Ul(n,l,a),e.current.lanes=a,yt(e,a,r),ru(e,r),e}function Vu(e,t,n,r){var a=t.current,l=eu(),s=tu(a);return n=Bu(n),null===t.context?t.context=n:t.pendingContext=n,(t=Dl(l,s)).payload={element:e},null!==(r=void 0===r?null:r)&&(t.callback=r),null!==(e=Ul(a,t,s))&&(nu(e,a,s,l),Bl(e,a,s)),s}function Hu(e){return(e=e.current).child?(e.child.tag,e.child.stateNode):null}function qu(e,t){if(null!==(e=e.memoizedState)&&null!==e.dehydrated){var n=e.retryLane;e.retryLane=0!==n&&n<t?n:t}}function Wu(e,t){qu(e,t),(e=e.alternate)&&qu(e,t)}So=function(e,t,r){if(null!==e)if(e.memoizedProps!==t.pendingProps||Pa.current)yi=!0;else{if(0===(e.lanes&r)&&!(128&t.flags))return yi=!1,function(e,t,n){switch(t.tag){case 3:Ai(t),ml();break;case 5:Zl(t);break;case 1:Oa(t.type)&&Ia(t);break;case 4:Xl(t,t.stateNode.containerInfo);break;case 10:var r=t.type._context,a=t.memoizedProps.value;Ea(Sl,r._currentValue),r._currentValue=a;break;case 13:if(null!==(r=t.memoizedState))return null!==r.dehydrated?(Ea(es,1&es.current),t.flags|=128,null):0!==(n&t.child.childLanes)?Ri(e,t,n):(Ea(es,1&es.current),null!==(e=Vi(e,t,n))?e.sibling:null);Ea(es,1&es.current);break;case 19:if(r=0!==(n&t.childLanes),128&e.flags){if(r)return Bi(e,t,n);t.flags|=128}if(null!==(a=t.memoizedState)&&(a.rendering=null,a.tail=null,a.lastEffect=null),Ea(es,es.current),r)break;return null;case 22:case 23:return t.lanes=0,Si(e,t,n)}return Vi(e,t,n)}(e,t,r);yi=!!(131072&e.flags)}else yi=!1,ll&&1048576&t.flags&&el(t,Ya,t.index);switch(t.lanes=0,t.tag){case 2:var a=t.type;Qi(e,t),e=t.pendingProps;var l=La(t,za.current);Pl(t,r),l=gs(null,t,a,e,l,r);var s=vs();return t.flags|=1,"object"==typeof l&&null!==l&&"function"==typeof l.render&&void 0===l.$$typeof?(t.tag=1,t.memoizedState=null,t.updateQueue=null,Oa(a)?(s=!0,Ia(t)):s=!1,t.memoizedState=null!==l.state&&void 0!==l.state?l.state:null,Il(t),l.updater=ai,t.stateNode=l,l._reactInternals=t,oi(t,a,e,r),t=Ei(null,t,a,!0,s,r)):(t.tag=0,ll&&s&&tl(t),bi(null,t,l,r),t=t.child),t;case 16:a=t.elementType;e:{switch(Qi(e,t),e=t.pendingProps,a=(l=a._init)(a._payload),t.type=a,l=t.tag=function(e){if("function"==typeof e)return Lu(e)?1:0;if(null!=e){if((e=e.$$typeof)===C)return 11;if(e===z)return 14}return 2}(a),e=ni(a,e),l){case 0:t=ji(null,t,a,e,r);break e;case 1:t=Ci(null,t,a,e,r);break e;case 11:t=xi(null,t,a,e,r);break e;case 14:t=wi(null,t,a,ni(a.type,e),r);break e}throw Error(n(306,a,""))}return t;case 0:return a=t.type,l=t.pendingProps,ji(e,t,a,l=t.elementType===a?l:ni(a,l),r);case 1:return a=t.type,l=t.pendingProps,Ci(e,t,a,l=t.elementType===a?l:ni(a,l),r);case 3:e:{if(Ai(t),null===e)throw Error(n(387));a=t.pendingProps,l=(s=t.memoizedState).element,Fl(e,t),Vl(t,a,null,r);var i=t.memoizedState;if(a=i.element,s.isDehydrated){if(s={element:a,isDehydrated:!1,cache:i.cache,pendingSuspenseBoundaries:i.pendingSuspenseBoundaries,transitions:i.transitions},t.updateQueue.baseState=s,t.memoizedState=s,256&t.flags){t=zi(e,t,a,r,l=ui(Error(n(423)),t));break e}if(a!==l){t=zi(e,t,a,r,l=ui(Error(n(424)),t));break e}for(al=ca(t.stateNode.containerInfo.firstChild),rl=t,ll=!0,sl=null,r=kl(t,null,a,r),t.child=r;r;)r.flags=-3&r.flags|4096,r=r.sibling}else{if(ml(),a===l){t=Vi(e,t,r);break e}bi(e,t,a,r)}t=t.child}return t;case 5:return Zl(t),null===e&&cl(t),a=t.type,l=t.pendingProps,s=null!==e?e.memoizedProps:null,i=l.children,ra(a,l)?i=null:null!==s&&ra(a,s)&&(t.flags|=32),Ni(e,t),bi(e,t,i,r),t.child;case 6:return null===e&&cl(t),null;case 13:return Ri(e,t,r);case 4:return Xl(t,t.stateNode.containerInfo),a=t.pendingProps,null===e?t.child=wl(t,null,a,r):bi(e,t,a,r),t.child;case 11:return a=t.type,l=t.pendingProps,xi(e,t,a,l=t.elementType===a?l:ni(a,l),r);case 7:return bi(e,t,t.pendingProps,r),t.child;case 8:case 12:return bi(e,t,t.pendingProps.children,r),t.child;case 10:e:{if(a=t.type._context,l=t.pendingProps,s=t.memoizedProps,i=l.value,Ea(Sl,a._currentValue),a._currentValue=i,null!==s)if(or(s.value,i)){if(s.children===l.children&&!Pa.current){t=Vi(e,t,r);break e}}else for(null!==(s=t.child)&&(s.return=t);null!==s;){var o=s.dependencies;if(null!==o){i=s.child;for(var u=o.firstContext;null!==u;){if(u.context===a){if(1===s.tag){(u=Dl(-1,r&-r)).tag=2;var c=s.updateQueue;if(null!==c){var d=(c=c.shared).pending;null===d?u.next=u:(u.next=d.next,d.next=u),c.pending=u}}s.lanes|=r,null!==(u=s.alternate)&&(u.lanes|=r),zl(s.return,r,t),o.lanes|=r;break}u=u.next}}else if(10===s.tag)i=s.type===t.type?null:s.child;else if(18===s.tag){if(null===(i=s.return))throw Error(n(341));i.lanes|=r,null!==(o=i.alternate)&&(o.lanes|=r),zl(i,r,t),i=s.sibling}else i=s.child;if(null!==i)i.return=s;else for(i=s;null!==i;){if(i===t){i=null;break}if(null!==(s=i.sibling)){s.return=i.return,i=s;break}i=i.return}s=i}bi(e,t,l.children,r),t=t.child}return t;case 9:return l=t.type,a=t.pendingProps.children,Pl(t,r),a=a(l=_l(l)),t.flags|=1,bi(e,t,a,r),t.child;case 14:return l=ni(a=t.type,t.pendingProps),wi(e,t,a,l=ni(a.type,l),r);case 15:return ki(e,t,t.type,t.pendingProps,r);case 17:return a=t.type,l=t.pendingProps,l=t.elementType===a?l:ni(a,l),Qi(e,t),t.tag=1,Oa(a)?(e=!0,Ia(t)):e=!1,Pl(t,r),si(t,a,l),oi(t,a,l,r),Ei(null,t,a,!0,e,r);case 19:return Bi(e,t,r);case 22:return Si(e,t,r)}throw Error(n(156,t.tag))};var Yu="function"==typeof reportError?reportError:function(e){};function Ku(e){this._internalRoot=e}function Gu(e){this._internalRoot=e}function Xu(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType)}function $u(e){return!(!e||1!==e.nodeType&&9!==e.nodeType&&11!==e.nodeType&&(8!==e.nodeType||" react-mount-point-unstable "!==e.nodeValue))}function Zu(){}function Ju(e,t,n,r,a){var l=n._reactRootContainer;if(l){var s=l;if("function"==typeof a){var i=a;a=function(){var e=Hu(s);i.call(e)}}Vu(t,s,e,a)}else s=function(e,t,n,r,a){if(a){if("function"==typeof r){var l=r;r=function(){var e=Hu(s);l.call(e)}}var s=Qu(t,r,e,0,null,!1,0,"",Zu);return e._reactRootContainer=s,e[ha]=s.current,Vr(8===e.nodeType?e.parentNode:e),cu(),s}for(;a=e.lastChild;)e.removeChild(a);if("function"==typeof r){var i=r;r=function(){var e=Hu(o);i.call(e)}}var o=Uu(e,0,!1,null,0,!1,0,"",Zu);return e._reactRootContainer=o,e[ha]=o.current,Vr(8===e.nodeType?e.parentNode:e),cu(function(){Vu(t,o,n,r)}),o}(n,t,e,a,r);return Hu(s)}Gu.prototype.render=Ku.prototype.render=function(e){var t=this._internalRoot;if(null===t)throw Error(n(409));Vu(e,t,null,null)},Gu.prototype.unmount=Ku.prototype.unmount=function(){var e=this._internalRoot;if(null!==e){this._internalRoot=null;var t=e.containerInfo;cu(function(){Vu(null,e,null,null)}),t[ha]=null}},Gu.prototype.unstable_scheduleHydration=function(e){if(e){var t=jt();e={blockedOn:null,target:e,priority:t};for(var n=0;n<Tt.length&&0!==t&&t<Tt[n].priority;n++);Tt.splice(n,0,e),0===n&&Ft(e)}},kt=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var n=ft(t.pendingLanes);0!==n&&(bt(t,1|n),ru(t,Ge()),!(6&Ao)&&(Qo=Ge()+500,Va()))}break;case 13:cu(function(){var t=Ml(e,1);if(null!==t){var n=eu();nu(t,e,1,n)}}),Wu(e,1)}},St=function(e){if(13===e.tag){var t=Ml(e,134217728);if(null!==t)nu(t,e,134217728,eu());Wu(e,134217728)}},Nt=function(e){if(13===e.tag){var t=tu(e),n=Ml(e,t);if(null!==n)nu(n,e,t,eu());Wu(e,t)}},jt=function(){return xt},Ct=function(e,t){var n=xt;try{return xt=e,t()}finally{xt=n}},xe=function(e,t,r){switch(t){case"input":if(X(e,r),t=r.name,"radio"===r.type&&null!=t){for(r=e;r.parentNode;)r=r.parentNode;for(r=r.querySelectorAll("input[name="+JSON.stringify(""+t)+\'][type="radio"]\'),t=0;t<r.length;t++){var a=r[t];if(a!==e&&a.form===e.form){var l=ka(a);if(!l)throw Error(n(90));q(a),X(a,l)}}}break;case"textarea":re(e,r);break;case"select":null!=(t=r.value)&&ee(e,!!r.multiple,t,!1)}},Ce=uu,Ee=cu;var ec={usingClientEntryPoint:!1,Events:[xa,wa,ka,Ne,je,uu]},tc={findFiberByHostInstance:ba,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},nc={bundleType:tc.bundleType,version:tc.version,rendererPackageName:tc.rendererPackageName,rendererConfig:tc.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:y.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return null===(e=Ve(e))?null:e.stateNode},findFiberByHostInstance:tc.findFiberByHostInstance||function(){return null},findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__){var rc=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!rc.isDisabled&&rc.supportsFiber)try{rt=rc.inject(nc),at=rc}catch(oe){}}return lt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=ec,lt.createPortal=function(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;if(!Xu(t))throw Error(n(200));return function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:x,key:null==r?null:""+r,children:e,containerInfo:t,implementation:n}}(e,t,null,r)},lt.createRoot=function(e,t){if(!Xu(e))throw Error(n(299));var r=!1,a="",l=Yu;return null!=t&&(!0===t.unstable_strictMode&&(r=!0),void 0!==t.identifierPrefix&&(a=t.identifierPrefix),void 0!==t.onRecoverableError&&(l=t.onRecoverableError)),t=Uu(e,1,!1,null,0,r,0,a,l),e[ha]=t.current,Vr(8===e.nodeType?e.parentNode:e),new Ku(t)},lt.findDOMNode=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=e._reactInternals;if(void 0===t){if("function"==typeof e.render)throw Error(n(188));throw e=Object.keys(e).join(","),Error(n(268,e))}return e=null===(e=Ve(t))?null:e.stateNode},lt.flushSync=function(e){return cu(e)},lt.hydrate=function(e,t,r){if(!$u(t))throw Error(n(200));return Ju(null,e,t,!0,r)},lt.hydrateRoot=function(e,t,r){if(!Xu(e))throw Error(n(405));var a=null!=r&&r.hydratedSources||null,l=!1,s="",i=Yu;if(null!=r&&(!0===r.unstable_strictMode&&(l=!0),void 0!==r.identifierPrefix&&(s=r.identifierPrefix),void 0!==r.onRecoverableError&&(i=r.onRecoverableError)),t=Qu(t,null,e,1,null!=r?r:null,l,0,s,i),e[ha]=t.current,Vr(e),a)for(e=0;e<a.length;e++)l=(l=(r=a[e])._getVersion)(r._source),null==t.mutableSourceEagerHydrationData?t.mutableSourceEagerHydrationData=[r,l]:t.mutableSourceEagerHydrationData.push(r,l);return new Gu(t)},lt.render=function(e,t,r){if(!$u(t))throw Error(n(200));return Ju(null,e,t,!1,r)},lt.unmountComponentAtNode=function(e){if(!$u(e))throw Error(n(40));return!!e._reactRootContainer&&(cu(function(){Ju(null,null,e,!1,function(){e._reactRootContainer=null,e[ha]=null})}),!0)},lt.unstable_batchedUpdates=uu,lt.unstable_renderSubtreeIntoContainer=function(e,t,r,a){if(!$u(r))throw Error(n(200));if(null==e||void 0===e._reactInternals)throw Error(n(38));return Ju(e,t,r,!1,a)},lt.version="18.3.1-next-f1338f8080-20240426",lt}var ct=function(){if(nt)return rt;nt=1;var e=(tt||(tt=1,function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){}}(),at.exports=ut()),at.exports);return rt.createRoot=e.createRoot,rt.hydrateRoot=e.hydrateRoot,rt}();const dt=document.getElementById("root");if(!dt)throw new Error("Root element with id \'root\' not found");ct.createRoot(dt).render(d.jsx($e,{children:d.jsx(Xe,{})}));<\/script>\n <style rel="stylesheet" crossorigin>*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background: 0 0% 100%;--foreground: 222.2 47.4% 11.2%;--muted: 210 40% 96.1%;--muted-foreground: 215.4 16.3% 46.9%;--popover: 0 0% 100%;--popover-foreground: 222.2 47.4% 11.2%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--card: 0 0% 100%;--card-foreground: 222.2 47.4% 11.2%;--primary: 222.2 47.4% 11.2%;--primary-foreground: 210 40% 98%;--secondary: 210 40% 96.1%;--secondary-foreground: 222.2 47.4% 11.2%;--accent: 210 40% 96.1%;--accent-foreground: 222.2 47.4% 11.2%;--destructive: 0 100% 50%;--destructive-foreground: 210 40% 98%;--ring: 215 20.2% 65.1%;--radius: .5rem}:root[class~=dark]{--background: 224 71% 4%;--foreground: 213 31% 91%;--muted: 223 47% 11%;--muted-foreground: 215.4 16.3% 56.9%;--accent: 216 34% 17%;--accent-foreground: 210 40% 98%;--popover: 224 71% 4%;--popover-foreground: 215 20.2% 65.1%;--border: 216 34% 17%;--input: 216 34% 17%;--card: 224 71% 4%;--card-foreground: 213 31% 91%;--primary: 210 40% 98%;--primary-foreground: 222.2 47.4% 1.2%;--secondary: 222.2 47.4% 11.2%;--secondary-foreground: 210 40% 98%;--destructive: 0 63% 31%;--destructive-foreground: 210 40% 98%;--ring: 216 34% 17%;--radius: .5rem}*{border-color:hsl(var(--border))}html,body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-feature-settings:"rlig" 1,"calt" 1;height:100%;overflow:hidden}#root{height:100%}.\\!container{width:100%!important;margin-right:auto!important;margin-left:auto!important;padding-right:2rem!important;padding-left:2rem!important}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media(min-width:1400px){.\\!container{max-width:1400px!important}.container{max-width:1400px}}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.collapse{visibility:collapse}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.\\!relative{position:relative!important}.relative{position:relative}.sticky{position:sticky}.inset-y-0{top:0;bottom:0}.right-0{right:0}.z-10{z-index:10}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mt-0\\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-6{margin-top:1.5rem}.\\!block{display:block!important}.block{display:block}.\\!inline{display:inline!important}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.\\!table{display:table!important}.table{display:table}.\\!grid{display:grid!important}.grid{display:grid}.contents{display:contents}.hidden{display:none}.h-0\\.5{height:.125rem}.h-10{height:2.5rem}.h-16{height:4rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-screen{height:100vh}.max-h-56{max-height:14rem}.min-h-0{min-height:0px}.w-10{width:2.5rem}.w-16{width:4rem}.w-20{width:5rem}.w-24{width:6rem}.w-3{width:.75rem}.w-32{width:8rem}.w-4{width:1rem}.w-40{width:10rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-8{width:2rem}.w-96{width:24rem}.w-full{width:100%}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}.resize{resize:both}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rounded{border-radius:.25rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-amber-200{--tw-border-opacity: 1;border-color:rgb(253 230 138 / var(--tw-border-opacity, 1))}.border-blue-200{--tw-border-opacity: 1;border-color:rgb(191 219 254 / var(--tw-border-opacity, 1))}.border-gray-100{--tw-border-opacity: 1;border-color:rgb(243 244 246 / var(--tw-border-opacity, 1))}.border-gray-200{--tw-border-opacity: 1;border-color:rgb(229 231 235 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(209 213 219 / var(--tw-border-opacity, 1))}.border-green-500{--tw-border-opacity: 1;border-color:rgb(34 197 94 / var(--tw-border-opacity, 1))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-red-300{--tw-border-opacity: 1;border-color:rgb(252 165 165 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.bg-amber-100{--tw-bg-opacity: 1;background-color:rgb(254 243 199 / var(--tw-bg-opacity, 1))}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-blue-100{--tw-bg-opacity: 1;background-color:rgb(219 234 254 / var(--tw-bg-opacity, 1))}.bg-blue-50{--tw-bg-opacity: 1;background-color:rgb(239 246 255 / var(--tw-bg-opacity, 1))}.bg-blue-600{--tw-bg-opacity: 1;background-color:rgb(37 99 235 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(220 252 231 / var(--tw-bg-opacity, 1))}.bg-green-300{--tw-bg-opacity: 1;background-color:rgb(134 239 172 / var(--tw-bg-opacity, 1))}.bg-green-50{--tw-bg-opacity: 1;background-color:rgb(240 253 244 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(34 197 94 / var(--tw-bg-opacity, 1))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(22 163 74 / var(--tw-bg-opacity, 1))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(254 226 226 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(220 38 38 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-green-300{--tw-gradient-from: #86efac var(--tw-gradient-from-position);--tw-gradient-to: rgb(134 239 172 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-red-300{--tw-gradient-from: #fca5a5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(252 165 165 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-gray-200{--tw-gradient-to: #e5e7eb var(--tw-gradient-to-position)}.p-1\\.5{padding:.375rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-2\\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-4{padding-bottom:1rem}.pl-3{padding-left:.75rem}.pr-10{padding-right:2.5rem}.pr-2{padding-right:.5rem}.pr-4{padding-right:1rem}.pr-9{padding-right:2.25rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.ordinal{--tw-ordinal: ordinal;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-amber-800{--tw-text-opacity: 1;color:rgb(146 64 14 / var(--tw-text-opacity, 1))}.text-amber-900{--tw-text-opacity: 1;color:rgb(120 53 15 / var(--tw-text-opacity, 1))}.text-blue-400{--tw-text-opacity: 1;color:rgb(96 165 250 / var(--tw-text-opacity, 1))}.text-blue-500{--tw-text-opacity: 1;color:rgb(59 130 246 / var(--tw-text-opacity, 1))}.text-blue-600{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.text-blue-800{--tw-text-opacity: 1;color:rgb(30 64 175 / var(--tw-text-opacity, 1))}.text-blue-900{--tw-text-opacity: 1;color:rgb(30 58 138 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(209 213 219 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(156 163 175 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(107 114 128 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(75 85 99 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.text-gray-900{--tw-text-opacity: 1;color:rgb(17 24 39 / var(--tw-text-opacity, 1))}.text-green-500{--tw-text-opacity: 1;color:rgb(34 197 94 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(22 163 74 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(21 128 61 / var(--tw-text-opacity, 1))}.text-orange-500{--tw-text-opacity: 1;color:rgb(249 115 22 / var(--tw-text-opacity, 1))}.text-orange-600{--tw-text-opacity: 1;color:rgb(234 88 12 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(239 68 68 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(185 28 28 / var(--tw-text-opacity, 1))}.text-red-800{--tw-text-opacity: 1;color:rgb(153 27 27 / var(--tw-text-opacity, 1))}.text-red-900{--tw-text-opacity: 1;color:rgb(127 29 29 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-1{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-black{--tw-ring-opacity: 1;--tw-ring-color: rgb(0 0 0 / var(--tw-ring-opacity, 1))}.ring-blue-300{--tw-ring-opacity: 1;--tw-ring-color: rgb(147 197 253 / var(--tw-ring-opacity, 1))}.ring-opacity-5{--tw-ring-opacity: .05}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.invert{--tw-invert: invert(100%);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.\\!filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)!important}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\\[a-zA-Z0-9\\:\\\\\\\\-\\\\\\\\\\._\\$\\]{a-z-a--z0-9:\\\\-\\\\. $}.\\[vite\\:css\\]{vite:css}.\\[vite\\:html\\]{vite:html}.hover\\:border-green-400:hover{--tw-border-opacity: 1;border-color:rgb(74 222 128 / var(--tw-border-opacity, 1))}.hover\\:bg-blue-700:hover{--tw-bg-opacity: 1;background-color:rgb(29 78 216 / var(--tw-bg-opacity, 1))}.hover\\:bg-gray-100:hover{--tw-bg-opacity: 1;background-color:rgb(243 244 246 / var(--tw-bg-opacity, 1))}.hover\\:bg-gray-200:hover{--tw-bg-opacity: 1;background-color:rgb(229 231 235 / var(--tw-bg-opacity, 1))}.hover\\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(249 250 251 / var(--tw-bg-opacity, 1))}.hover\\:bg-green-700:hover{--tw-bg-opacity: 1;background-color:rgb(21 128 61 / var(--tw-bg-opacity, 1))}.hover\\:bg-red-50:hover{--tw-bg-opacity: 1;background-color:rgb(254 242 242 / var(--tw-bg-opacity, 1))}.hover\\:bg-red-700:hover{--tw-bg-opacity: 1;background-color:rgb(185 28 28 / var(--tw-bg-opacity, 1))}.hover\\:text-amber-900:hover{--tw-text-opacity: 1;color:rgb(120 53 15 / var(--tw-text-opacity, 1))}.hover\\:text-blue-600:hover{--tw-text-opacity: 1;color:rgb(37 99 235 / var(--tw-text-opacity, 1))}.hover\\:text-blue-700:hover{--tw-text-opacity: 1;color:rgb(29 78 216 / var(--tw-text-opacity, 1))}.hover\\:text-gray-700:hover{--tw-text-opacity: 1;color:rgb(55 65 81 / var(--tw-text-opacity, 1))}.hover\\:text-red-600:hover{--tw-text-opacity: 1;color:rgb(220 38 38 / var(--tw-text-opacity, 1))}.hover\\:text-red-900:hover{--tw-text-opacity: 1;color:rgb(127 29 29 / var(--tw-text-opacity, 1))}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-80:hover{opacity:.8}.focus\\:border-blue-500:focus{--tw-border-opacity: 1;border-color:rgb(59 130 246 / var(--tw-border-opacity, 1))}.focus\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\\:ring-blue-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(59 130 246 / var(--tw-ring-opacity, 1))}.focus\\:ring-gray-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(107 114 128 / var(--tw-ring-opacity, 1))}.focus\\:ring-green-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(34 197 94 / var(--tw-ring-opacity, 1))}.focus\\:ring-red-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(239 68 68 / var(--tw-ring-opacity, 1))}.focus\\:ring-offset-2:focus{--tw-ring-offset-width: 2px}@media(min-width:640px){.sm\\:text-sm{font-size:.875rem;line-height:1.25rem}}</style>\n </head>\n <body>\n <div id="root"></div>\n </body>\n</html>\n';
|
|
289
|
-
class
|
|
289
|
+
class be {
|
|
290
290
|
constructor(e) {
|
|
291
291
|
this.overlayElement = null, this.iframeElement = null, this.isIframeReady = !1, this.currentSetupState = null, this.messageHandler = null, this.modalHtmlPath = e.modalHtmlPath ?? "src/bodhi-js-core/setup-modal.html", this.handlers = e.handlers;
|
|
292
292
|
}
|
|
@@ -342,7 +342,7 @@ class ve {
|
|
|
342
342
|
*/
|
|
343
343
|
async handleMessage(e) {
|
|
344
344
|
const t = e.data;
|
|
345
|
-
if (!
|
|
345
|
+
if (!H(t) || e.source !== this.iframeElement?.contentWindow)
|
|
346
346
|
return;
|
|
347
347
|
const n = this.handlers[t.type];
|
|
348
348
|
if (!n) {
|
|
@@ -350,16 +350,16 @@ class ve {
|
|
|
350
350
|
return;
|
|
351
351
|
}
|
|
352
352
|
try {
|
|
353
|
-
t.type ===
|
|
354
|
-
const r = await n(t),
|
|
355
|
-
this.iframeElement?.contentWindow?.postMessage(
|
|
353
|
+
t.type === Q.MODAL_READY && (this.isIframeReady = !0);
|
|
354
|
+
const r = await n(t), a = U(t.requestId, t.type, r);
|
|
355
|
+
this.iframeElement?.contentWindow?.postMessage(a, "*");
|
|
356
356
|
} catch (r) {
|
|
357
357
|
console.error("[OnboardingModal] Handler error:", r);
|
|
358
|
-
const
|
|
358
|
+
const a = D(t.requestId, {
|
|
359
359
|
code: "handler-error",
|
|
360
360
|
message: r instanceof Error ? r.message : "Handler execution failed"
|
|
361
361
|
});
|
|
362
|
-
this.iframeElement?.contentWindow?.postMessage(
|
|
362
|
+
this.iframeElement?.contentWindow?.postMessage(a, "*");
|
|
363
363
|
}
|
|
364
364
|
}
|
|
365
365
|
/**
|
|
@@ -368,13 +368,13 @@ class ve {
|
|
|
368
368
|
sendStateToModal() {
|
|
369
369
|
if (!this.isIframeReady || !this.iframeElement || !this.currentSetupState)
|
|
370
370
|
return;
|
|
371
|
-
const e =
|
|
371
|
+
const e = F("parent:state-update", {
|
|
372
372
|
setupState: this.currentSetupState
|
|
373
373
|
});
|
|
374
374
|
this.iframeElement.contentWindow?.postMessage(e, "*");
|
|
375
375
|
}
|
|
376
376
|
}
|
|
377
|
-
const
|
|
377
|
+
const we = [
|
|
378
378
|
{
|
|
379
379
|
id: "chrome",
|
|
380
380
|
status: "supported",
|
|
@@ -405,7 +405,7 @@ const ye = [
|
|
|
405
405
|
name: "Unknown Browser",
|
|
406
406
|
github_issue_url: "https://github.com/BodhiSearch/bodhi-js/issues/3"
|
|
407
407
|
}
|
|
408
|
-
],
|
|
408
|
+
], xe = [
|
|
409
409
|
{
|
|
410
410
|
id: "macos",
|
|
411
411
|
status: "supported",
|
|
@@ -431,25 +431,25 @@ const ye = [
|
|
|
431
431
|
github_issue_url: "https://github.com/BodhiSearch/bodhi-js/issues/4"
|
|
432
432
|
}
|
|
433
433
|
];
|
|
434
|
-
function
|
|
435
|
-
return btoa(String.fromCharCode(...new Uint8Array(
|
|
434
|
+
function A(s) {
|
|
435
|
+
return btoa(String.fromCharCode(...new Uint8Array(s))).replace(/\+/g, "-").replace(/\//g, "_").replace(/=/g, "");
|
|
436
436
|
}
|
|
437
|
-
function
|
|
438
|
-
const
|
|
439
|
-
return crypto.getRandomValues(
|
|
437
|
+
function Se() {
|
|
438
|
+
const s = new Uint8Array(32);
|
|
439
|
+
return crypto.getRandomValues(s), A(s.buffer);
|
|
440
440
|
}
|
|
441
|
-
async function
|
|
442
|
-
const t = new TextEncoder().encode(
|
|
443
|
-
return
|
|
441
|
+
async function ke(s) {
|
|
442
|
+
const t = new TextEncoder().encode(s), n = await crypto.subtle.digest("SHA-256", t);
|
|
443
|
+
return A(n);
|
|
444
444
|
}
|
|
445
|
-
function ee(
|
|
446
|
-
const t =
|
|
445
|
+
function ee(s) {
|
|
446
|
+
const t = s.split(".")[1].replace(/-/g, "+").replace(/_/g, "/"), n = decodeURIComponent(
|
|
447
447
|
atob(t).split("").map((r) => "%" + ("00" + r.charCodeAt(0).toString(16)).slice(-2)).join("")
|
|
448
448
|
);
|
|
449
449
|
return JSON.parse(n);
|
|
450
450
|
}
|
|
451
|
-
function
|
|
452
|
-
const e = ee(
|
|
451
|
+
function w(s) {
|
|
452
|
+
const e = ee(s);
|
|
453
453
|
return {
|
|
454
454
|
sub: e.sub,
|
|
455
455
|
email: e.email,
|
|
@@ -459,16 +459,16 @@ function C(a) {
|
|
|
459
459
|
preferred_username: e.preferred_username
|
|
460
460
|
};
|
|
461
461
|
}
|
|
462
|
-
function te(
|
|
462
|
+
function te(s) {
|
|
463
463
|
return {
|
|
464
|
-
authorize: `${
|
|
465
|
-
token: `${
|
|
466
|
-
revoke: `${
|
|
464
|
+
authorize: `${s}/protocol/openid-connect/auth`,
|
|
465
|
+
token: `${s}/protocol/openid-connect/token`,
|
|
466
|
+
revoke: `${s}/protocol/openid-connect/revoke`
|
|
467
467
|
};
|
|
468
468
|
}
|
|
469
|
-
async function ne(
|
|
469
|
+
async function ne(s, e, t) {
|
|
470
470
|
try {
|
|
471
|
-
const n = await fetch(
|
|
471
|
+
const n = await fetch(s, {
|
|
472
472
|
method: "POST",
|
|
473
473
|
headers: { "Content-Type": "application/x-www-form-urlencoded" },
|
|
474
474
|
body: new URLSearchParams({
|
|
@@ -497,12 +497,12 @@ async function ne(a, e, t) {
|
|
|
497
497
|
return { success: !1, error: "network_error" };
|
|
498
498
|
}
|
|
499
499
|
}
|
|
500
|
-
class
|
|
500
|
+
class v {
|
|
501
501
|
constructor(e) {
|
|
502
502
|
this.client = e;
|
|
503
503
|
}
|
|
504
504
|
}
|
|
505
|
-
class re extends
|
|
505
|
+
class re extends v {
|
|
506
506
|
create(e) {
|
|
507
507
|
return e.stream === !0 ? this.client.stream(
|
|
508
508
|
"POST",
|
|
@@ -510,15 +510,15 @@ class re extends g {
|
|
|
510
510
|
e,
|
|
511
511
|
void 0,
|
|
512
512
|
!0
|
|
513
|
-
) : this.client.sendApiRequest("POST", "/v1/chat/completions", e, void 0, !0).then((t) =>
|
|
513
|
+
) : this.client.sendApiRequest("POST", "/v1/chat/completions", e, void 0, !0).then((t) => g(t));
|
|
514
514
|
}
|
|
515
515
|
}
|
|
516
|
-
class
|
|
516
|
+
class T extends v {
|
|
517
517
|
constructor(e) {
|
|
518
518
|
super(e), this.completions = new re(e);
|
|
519
519
|
}
|
|
520
520
|
}
|
|
521
|
-
class
|
|
521
|
+
class z extends v {
|
|
522
522
|
/**
|
|
523
523
|
* List available models
|
|
524
524
|
* Returns AsyncGenerator for iteration
|
|
@@ -530,7 +530,7 @@ class T extends g {
|
|
|
530
530
|
void 0,
|
|
531
531
|
void 0,
|
|
532
532
|
!0
|
|
533
|
-
), t =
|
|
533
|
+
), t = g(e);
|
|
534
534
|
for (const n of t.data)
|
|
535
535
|
yield n;
|
|
536
536
|
}
|
|
@@ -545,19 +545,19 @@ class T extends g {
|
|
|
545
545
|
void 0,
|
|
546
546
|
!0
|
|
547
547
|
);
|
|
548
|
-
return
|
|
548
|
+
return g(t);
|
|
549
549
|
}
|
|
550
550
|
}
|
|
551
|
-
class
|
|
551
|
+
class R extends v {
|
|
552
552
|
/**
|
|
553
553
|
* Create embeddings
|
|
554
554
|
*/
|
|
555
555
|
async create(e) {
|
|
556
556
|
const t = await this.client.sendApiRequest("POST", "/v1/embeddings", e, void 0, !0);
|
|
557
|
-
return
|
|
557
|
+
return g(t);
|
|
558
558
|
}
|
|
559
559
|
}
|
|
560
|
-
class
|
|
560
|
+
class P extends v {
|
|
561
561
|
/**
|
|
562
562
|
* List available MCP servers
|
|
563
563
|
*/
|
|
@@ -569,58 +569,19 @@ class R extends g {
|
|
|
569
569
|
void 0,
|
|
570
570
|
!0
|
|
571
571
|
);
|
|
572
|
-
return
|
|
573
|
-
}
|
|
574
|
-
/**
|
|
575
|
-
* List tools for a specific MCP server
|
|
576
|
-
*/
|
|
577
|
-
async listTools(e) {
|
|
578
|
-
const t = await this.client.sendApiRequest(
|
|
579
|
-
"GET",
|
|
580
|
-
`/bodhi/v1/apps/mcps/${e}/tools`,
|
|
581
|
-
void 0,
|
|
582
|
-
void 0,
|
|
583
|
-
!0
|
|
584
|
-
);
|
|
585
|
-
return m(t);
|
|
586
|
-
}
|
|
587
|
-
/**
|
|
588
|
-
* Refresh tools for a specific MCP server
|
|
589
|
-
*/
|
|
590
|
-
async refreshTools(e) {
|
|
591
|
-
const t = await this.client.sendApiRequest(
|
|
592
|
-
"POST",
|
|
593
|
-
`/bodhi/v1/apps/mcps/${e}/tools/refresh`,
|
|
594
|
-
void 0,
|
|
595
|
-
void 0,
|
|
596
|
-
!0
|
|
597
|
-
);
|
|
598
|
-
return m(t);
|
|
599
|
-
}
|
|
600
|
-
/**
|
|
601
|
-
* Execute a tool on an MCP server
|
|
602
|
-
*/
|
|
603
|
-
async executeTool(e, t, n) {
|
|
604
|
-
const r = await this.client.sendApiRequest(
|
|
605
|
-
"POST",
|
|
606
|
-
`/bodhi/v1/apps/mcps/${e}/tools/${t}/execute`,
|
|
607
|
-
{ params: n },
|
|
608
|
-
void 0,
|
|
609
|
-
!0
|
|
610
|
-
);
|
|
611
|
-
return m(r);
|
|
572
|
+
return g(e);
|
|
612
573
|
}
|
|
613
574
|
}
|
|
614
|
-
async function ae(
|
|
615
|
-
const t = `${
|
|
575
|
+
async function ae(s, e = j) {
|
|
576
|
+
const t = `${s}/bodhi/v1/info`;
|
|
616
577
|
try {
|
|
617
|
-
const n = new AbortController(), r = setTimeout(() => n.abort(), e),
|
|
578
|
+
const n = new AbortController(), r = setTimeout(() => n.abort(), e), a = await fetch(t, {
|
|
618
579
|
method: "GET",
|
|
619
580
|
headers: { "Content-Type": "application/json" },
|
|
620
581
|
signal: n.signal
|
|
621
582
|
});
|
|
622
|
-
if (clearTimeout(r),
|
|
623
|
-
const i = await
|
|
583
|
+
if (clearTimeout(r), a.ok && a.status === 200) {
|
|
584
|
+
const i = await a.json();
|
|
624
585
|
return {
|
|
625
586
|
success: !0,
|
|
626
587
|
serverInfo: {
|
|
@@ -632,7 +593,7 @@ async function ae(a, e = j) {
|
|
|
632
593
|
};
|
|
633
594
|
}
|
|
634
595
|
try {
|
|
635
|
-
const i = await
|
|
596
|
+
const i = await a.json();
|
|
636
597
|
if (i?.error?.message && i?.error?.type)
|
|
637
598
|
return {
|
|
638
599
|
success: !1,
|
|
@@ -643,7 +604,7 @@ async function ae(a, e = j) {
|
|
|
643
604
|
return {
|
|
644
605
|
success: !1,
|
|
645
606
|
error: {
|
|
646
|
-
message: `Server returned ${
|
|
607
|
+
message: `Server returned ${a.status}: ${a.statusText}`,
|
|
647
608
|
type: "server-error"
|
|
648
609
|
}
|
|
649
610
|
};
|
|
@@ -657,9 +618,9 @@ async function ae(a, e = j) {
|
|
|
657
618
|
};
|
|
658
619
|
}
|
|
659
620
|
}
|
|
660
|
-
class
|
|
621
|
+
class Ee {
|
|
661
622
|
constructor(e, t) {
|
|
662
|
-
this.serverUrl = null, this.state = b, this.refreshPromise = null, this.logger = new Z(e.loggerPrefix, e.logLevel), this.authClientId = e.authClientId, this.authServerUrl = e.authServerUrl, this.authEndpoints = te(this.authServerUrl), this.storageKeys = Y(e.storagePrefix), this.onStateChange = t ??
|
|
623
|
+
this.serverUrl = null, this.storage = null, this.state = b, this.refreshPromise = null, this.logger = new Z(e.loggerPrefix, e.logLevel), this.authClientId = e.authClientId, this.authServerUrl = e.authServerUrl, this.authEndpoints = te(this.authServerUrl), this.storageKeys = Y(e.storagePrefix), this.onStateChange = t ?? N, this.apiTimeoutMs = e.apiTimeoutMs ?? j, this.storage = e.storage ?? null, this.initialTokens = e.initialTokens;
|
|
663
624
|
}
|
|
664
625
|
/**
|
|
665
626
|
* Set client state and notify callback
|
|
@@ -683,6 +644,7 @@ class Se {
|
|
|
683
644
|
// Initialization
|
|
684
645
|
// ============================================================================
|
|
685
646
|
async init(e) {
|
|
647
|
+
this.initialTokens && (await this._bootstrapInitialTokens(this.initialTokens), this.initialTokens = void 0);
|
|
686
648
|
const t = e.serverUrl ?? e.savedState?.url ?? this.serverUrl;
|
|
687
649
|
if (this.serverUrl && this.serverUrl === t && !e.testConnection)
|
|
688
650
|
return this.logger.debug("Already initialized with serverUrl, skipping init"), this.state;
|
|
@@ -692,25 +654,25 @@ class Se {
|
|
|
692
654
|
const n = await this.testConnectivity();
|
|
693
655
|
let r;
|
|
694
656
|
if (n.success && n.serverInfo) {
|
|
695
|
-
const
|
|
696
|
-
|
|
657
|
+
const a = n.serverInfo.status, i = n.serverInfo.version;
|
|
658
|
+
a === "ready" ? r = {
|
|
697
659
|
status: "ready",
|
|
698
660
|
version: i,
|
|
699
661
|
error: null,
|
|
700
662
|
deployment: n.serverInfo.deployment ?? null,
|
|
701
663
|
client_id: n.serverInfo.client_id ?? null
|
|
702
|
-
} :
|
|
703
|
-
|
|
664
|
+
} : a === "setup" || a === "resource_admin" || a === "error" ? r = B(
|
|
665
|
+
a,
|
|
704
666
|
i,
|
|
705
667
|
void 0,
|
|
706
668
|
n.serverInfo.deployment,
|
|
707
669
|
n.serverInfo.client_id
|
|
708
|
-
) : r =
|
|
670
|
+
) : r = S;
|
|
709
671
|
} else
|
|
710
|
-
this.logger.warn("Connection failed:", n.error), r =
|
|
672
|
+
this.logger.warn("Connection failed:", n.error), r = S;
|
|
711
673
|
return this.setState({ type: "direct", url: t, server: r }), this.logger.info("Initialized with testConnection, server state:", r.status), this.state;
|
|
712
674
|
}
|
|
713
|
-
return e.selectedConnection ? (this.setState({ type: "direct", url: t, server:
|
|
675
|
+
return e.selectedConnection ? (this.setState({ type: "direct", url: t, server: V }), this.logger.info("Initialized with selectedConnection, server state: not-connected"), this.state) : (this.logger.info("No selectedConnection, returning not-initialized state"), b);
|
|
714
676
|
}
|
|
715
677
|
getState() {
|
|
716
678
|
return this.state;
|
|
@@ -734,38 +696,38 @@ class Se {
|
|
|
734
696
|
// ============================================================================
|
|
735
697
|
// API Communication (Direct HTTP Fetch)
|
|
736
698
|
// ============================================================================
|
|
737
|
-
async sendApiRequest(e, t, n, r,
|
|
699
|
+
async sendApiRequest(e, t, n, r, a = !0) {
|
|
738
700
|
if (!this.serverUrl)
|
|
739
701
|
throw new h("not_initialized", "Client not initialized - connection failed");
|
|
740
702
|
const i = `${this.serverUrl}${t}`;
|
|
741
703
|
this.logger.debug(`${e} ${i}`);
|
|
742
704
|
try {
|
|
743
|
-
const
|
|
705
|
+
const c = new AbortController(), l = setTimeout(() => c.abort(), this.apiTimeoutMs), d = {
|
|
744
706
|
"Content-Type": "application/json",
|
|
745
707
|
...r
|
|
746
708
|
};
|
|
747
|
-
if (
|
|
748
|
-
const
|
|
749
|
-
|
|
709
|
+
if (a) {
|
|
710
|
+
const f = await this._getAccessTokenRaw();
|
|
711
|
+
f && (d.Authorization = `Bearer ${f}`);
|
|
750
712
|
}
|
|
751
713
|
const p = await fetch(i, {
|
|
752
714
|
method: e,
|
|
753
715
|
headers: d,
|
|
754
716
|
body: n ? JSON.stringify(n) : void 0,
|
|
755
|
-
signal:
|
|
717
|
+
signal: c.signal
|
|
756
718
|
});
|
|
757
719
|
clearTimeout(l);
|
|
758
|
-
const
|
|
759
|
-
return p.headers.forEach((
|
|
760
|
-
|
|
720
|
+
const o = {};
|
|
721
|
+
return p.headers.forEach((f, m) => {
|
|
722
|
+
o[m] = f;
|
|
761
723
|
}), {
|
|
762
724
|
body: await p.json(),
|
|
763
725
|
status: p.status,
|
|
764
|
-
headers:
|
|
726
|
+
headers: o
|
|
765
727
|
};
|
|
766
|
-
} catch (
|
|
767
|
-
const l =
|
|
768
|
-
throw
|
|
728
|
+
} catch (c) {
|
|
729
|
+
const l = c instanceof Error ? c.message : "Unknown error";
|
|
730
|
+
throw c instanceof Error && c.name === "AbortError" ? new h(
|
|
769
731
|
"timeout_error",
|
|
770
732
|
`[bodhi-js-sdk/direct] network timeout: api request not completed within configured/default timeout of ${this.apiTimeoutMs}ms`
|
|
771
733
|
) : new h("network_error", `Network error: ${l}`);
|
|
@@ -822,30 +784,30 @@ class Se {
|
|
|
822
784
|
// ============================================================================
|
|
823
785
|
// Streaming (Direct HTTP with SSE)
|
|
824
786
|
// ============================================================================
|
|
825
|
-
async *stream(e, t, n, r,
|
|
787
|
+
async *stream(e, t, n, r, a = !0) {
|
|
826
788
|
if (!this.serverUrl)
|
|
827
789
|
throw new h("not_initialized", "Client not initialized - connection failed");
|
|
828
790
|
const i = `${this.serverUrl}${t}`;
|
|
829
791
|
this.logger.debug(`Stream ${e} ${i}`);
|
|
830
|
-
const
|
|
792
|
+
const c = {
|
|
831
793
|
"Content-Type": "application/json",
|
|
832
794
|
Accept: "text/event-stream",
|
|
833
795
|
...r
|
|
834
796
|
};
|
|
835
|
-
if (
|
|
797
|
+
if (a) {
|
|
836
798
|
const u = await this._getAccessTokenRaw();
|
|
837
|
-
u && (
|
|
799
|
+
u && (c.Authorization = `Bearer ${u}`);
|
|
838
800
|
}
|
|
839
801
|
let l;
|
|
840
802
|
try {
|
|
841
803
|
l = await fetch(i, {
|
|
842
804
|
method: e,
|
|
843
|
-
headers:
|
|
805
|
+
headers: c,
|
|
844
806
|
body: n ? JSON.stringify(n) : void 0
|
|
845
807
|
});
|
|
846
808
|
} catch (u) {
|
|
847
|
-
const
|
|
848
|
-
throw new h("network_error", `Network error: ${
|
|
809
|
+
const f = u instanceof Error ? u.message : "Unknown error";
|
|
810
|
+
throw new h("network_error", `Network error: ${f}`);
|
|
849
811
|
}
|
|
850
812
|
if (!l.ok) {
|
|
851
813
|
let u;
|
|
@@ -854,30 +816,30 @@ class Se {
|
|
|
854
816
|
} catch {
|
|
855
817
|
u = { error: { message: `HTTP ${l.status}`, type: "api_error" } };
|
|
856
818
|
}
|
|
857
|
-
const
|
|
858
|
-
throw new
|
|
819
|
+
const f = u?.error?.message || `HTTP ${l.status}`;
|
|
820
|
+
throw new L(l.status, u, f);
|
|
859
821
|
}
|
|
860
822
|
if (!l.body)
|
|
861
823
|
throw new h("network_error", "Response body is null");
|
|
862
824
|
const d = l.body.getReader(), p = new TextDecoder();
|
|
863
|
-
let
|
|
825
|
+
let o = "";
|
|
864
826
|
try {
|
|
865
827
|
for (; ; ) {
|
|
866
|
-
const { done: u, value:
|
|
828
|
+
const { done: u, value: f } = await d.read();
|
|
867
829
|
if (u) break;
|
|
868
|
-
|
|
869
|
-
const
|
|
830
|
+
o += p.decode(f, { stream: !0 });
|
|
831
|
+
const m = o.split(`
|
|
870
832
|
`);
|
|
871
|
-
|
|
872
|
-
for (const
|
|
873
|
-
if (
|
|
874
|
-
const y =
|
|
833
|
+
o = m.pop() || "";
|
|
834
|
+
for (const x of m)
|
|
835
|
+
if (x.startsWith("data: ")) {
|
|
836
|
+
const y = x.slice(6).trim();
|
|
875
837
|
if (y === "[DONE]")
|
|
876
838
|
return;
|
|
877
839
|
try {
|
|
878
840
|
yield JSON.parse(y);
|
|
879
|
-
} catch (
|
|
880
|
-
this.logger.warn("Failed to parse SSE data:", y,
|
|
841
|
+
} catch (O) {
|
|
842
|
+
this.logger.warn("Failed to parse SSE data:", y, O);
|
|
881
843
|
}
|
|
882
844
|
}
|
|
883
845
|
}
|
|
@@ -885,20 +847,55 @@ class Se {
|
|
|
885
847
|
d.releaseLock();
|
|
886
848
|
}
|
|
887
849
|
}
|
|
850
|
+
async streamText(e, t, n, r, a = !0) {
|
|
851
|
+
if (!this.serverUrl)
|
|
852
|
+
throw new h("not_initialized", "Client not initialized - connection failed");
|
|
853
|
+
const i = `${this.serverUrl}${t}`, c = { ...r };
|
|
854
|
+
if (a) {
|
|
855
|
+
const o = await this._getAccessTokenRaw();
|
|
856
|
+
o && (c.Authorization = `Bearer ${o}`);
|
|
857
|
+
}
|
|
858
|
+
const l = await fetch(i, {
|
|
859
|
+
method: e,
|
|
860
|
+
headers: c,
|
|
861
|
+
body: n ? JSON.stringify(n) : void 0
|
|
862
|
+
}), d = {};
|
|
863
|
+
l.headers.forEach((o, u) => {
|
|
864
|
+
d[u] = o;
|
|
865
|
+
});
|
|
866
|
+
async function* p() {
|
|
867
|
+
if (!l.body) return;
|
|
868
|
+
const o = l.body.getReader(), u = new TextDecoder();
|
|
869
|
+
try {
|
|
870
|
+
for (; ; ) {
|
|
871
|
+
const { done: f, value: m } = await o.read();
|
|
872
|
+
if (f) break;
|
|
873
|
+
yield u.decode(m, { stream: !0 });
|
|
874
|
+
}
|
|
875
|
+
} finally {
|
|
876
|
+
o.releaseLock();
|
|
877
|
+
}
|
|
878
|
+
}
|
|
879
|
+
return {
|
|
880
|
+
status: l.status,
|
|
881
|
+
headers: d,
|
|
882
|
+
body: p()
|
|
883
|
+
};
|
|
884
|
+
}
|
|
888
885
|
// ============================================================================
|
|
889
886
|
// OpenAI-Compatible Namespaced API
|
|
890
887
|
// ============================================================================
|
|
891
888
|
get chat() {
|
|
892
|
-
return this._chat ??= new
|
|
889
|
+
return this._chat ??= new T(this);
|
|
893
890
|
}
|
|
894
891
|
get models() {
|
|
895
|
-
return this._models ??= new
|
|
892
|
+
return this._models ??= new z(this);
|
|
896
893
|
}
|
|
897
894
|
get embeddings() {
|
|
898
|
-
return this._embeddings ??= new
|
|
895
|
+
return this._embeddings ??= new R(this);
|
|
899
896
|
}
|
|
900
897
|
get mcps() {
|
|
901
|
-
return this._mcps ??= new
|
|
898
|
+
return this._mcps ??= new P(this);
|
|
902
899
|
}
|
|
903
900
|
// ============================================================================
|
|
904
901
|
// Direct-Specific Methods
|
|
@@ -961,7 +958,39 @@ class Se {
|
|
|
961
958
|
}
|
|
962
959
|
async getAuthState() {
|
|
963
960
|
const e = await this._getAccessTokenRaw();
|
|
964
|
-
|
|
961
|
+
if (!e)
|
|
962
|
+
return {
|
|
963
|
+
status: "unauthenticated",
|
|
964
|
+
user: null,
|
|
965
|
+
accessToken: null,
|
|
966
|
+
error: null,
|
|
967
|
+
refreshToken: null,
|
|
968
|
+
expiresAt: null,
|
|
969
|
+
isTokenRefresh: !1
|
|
970
|
+
};
|
|
971
|
+
const t = w(e), n = await this._storageGet(this.storageKeys.REFRESH_TOKEN), r = await this._storageGet(this.storageKeys.EXPIRES_AT);
|
|
972
|
+
return {
|
|
973
|
+
status: "authenticated",
|
|
974
|
+
user: t,
|
|
975
|
+
accessToken: e,
|
|
976
|
+
error: null,
|
|
977
|
+
refreshToken: n ?? null,
|
|
978
|
+
expiresAt: r ? parseInt(r, 10) : null,
|
|
979
|
+
isTokenRefresh: !1
|
|
980
|
+
};
|
|
981
|
+
}
|
|
982
|
+
async logout() {
|
|
983
|
+
await this.revokeRefreshToken(), await this.clearAuthStorage();
|
|
984
|
+
const e = {
|
|
985
|
+
status: "unauthenticated",
|
|
986
|
+
user: null,
|
|
987
|
+
accessToken: null,
|
|
988
|
+
error: null,
|
|
989
|
+
refreshToken: null,
|
|
990
|
+
expiresAt: null,
|
|
991
|
+
isTokenRefresh: !1
|
|
992
|
+
};
|
|
993
|
+
return this.setAuthState(e), e;
|
|
965
994
|
}
|
|
966
995
|
async _getAccessTokenRaw() {
|
|
967
996
|
const e = await this._storageGet(this.storageKeys.ACCESS_TOKEN), t = await this._storageGet(this.storageKeys.EXPIRES_AT);
|
|
@@ -1002,12 +1031,15 @@ class Se {
|
|
|
1002
1031
|
);
|
|
1003
1032
|
if (t.success) {
|
|
1004
1033
|
await this._storeRefreshedTokens(t.tokens);
|
|
1005
|
-
const n =
|
|
1034
|
+
const n = w(t.tokens.access_token), r = Date.now() + t.tokens.expires_in * 1e3;
|
|
1006
1035
|
return this.setAuthState({
|
|
1007
1036
|
status: "authenticated",
|
|
1008
1037
|
user: n,
|
|
1009
1038
|
accessToken: t.tokens.access_token,
|
|
1010
|
-
error: null
|
|
1039
|
+
error: null,
|
|
1040
|
+
refreshToken: t.tokens.refresh_token ?? null,
|
|
1041
|
+
expiresAt: r,
|
|
1042
|
+
isTokenRefresh: !0
|
|
1011
1043
|
}), this.logger.info("Token refreshed successfully"), t.tokens.access_token;
|
|
1012
1044
|
}
|
|
1013
1045
|
if (t.error === "invalid_grant")
|
|
@@ -1015,7 +1047,10 @@ class Se {
|
|
|
1015
1047
|
status: "unauthenticated",
|
|
1016
1048
|
user: null,
|
|
1017
1049
|
accessToken: null,
|
|
1018
|
-
error: null
|
|
1050
|
+
error: null,
|
|
1051
|
+
refreshToken: null,
|
|
1052
|
+
expiresAt: null,
|
|
1053
|
+
isTokenRefresh: !1
|
|
1019
1054
|
}), null;
|
|
1020
1055
|
} catch (t) {
|
|
1021
1056
|
this.logger.warn("Token refresh failed:", t);
|
|
@@ -1042,27 +1077,32 @@ class Se {
|
|
|
1042
1077
|
const t = await this._storageGet(this.storageKeys.CODE_VERIFIER);
|
|
1043
1078
|
if (!t)
|
|
1044
1079
|
throw new Error("Code verifier not found");
|
|
1045
|
-
const n = this._getRedirectUri()
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1080
|
+
const n = this._getRedirectUri();
|
|
1081
|
+
try {
|
|
1082
|
+
const r = await fetch(this.authEndpoints.token, {
|
|
1083
|
+
method: "POST",
|
|
1084
|
+
headers: { "Content-Type": "application/x-www-form-urlencoded" },
|
|
1085
|
+
body: new URLSearchParams({
|
|
1086
|
+
grant_type: "authorization_code",
|
|
1087
|
+
code: e,
|
|
1088
|
+
redirect_uri: n,
|
|
1089
|
+
client_id: this.authClientId,
|
|
1090
|
+
code_verifier: t
|
|
1091
|
+
})
|
|
1092
|
+
});
|
|
1093
|
+
if (!r.ok) {
|
|
1094
|
+
const c = await r.text();
|
|
1095
|
+
throw new Error(`Token exchange failed: ${r.status} ${c}`);
|
|
1096
|
+
}
|
|
1097
|
+
const a = await r.json(), i = Date.now() + (a.expires_in || 3600) * 1e3;
|
|
1098
|
+
await this._storageSet({
|
|
1099
|
+
[this.storageKeys.ACCESS_TOKEN]: a.access_token,
|
|
1100
|
+
[this.storageKeys.REFRESH_TOKEN]: a.refresh_token || "",
|
|
1101
|
+
[this.storageKeys.EXPIRES_AT]: String(i)
|
|
1102
|
+
});
|
|
1103
|
+
} finally {
|
|
1104
|
+
await this._storageRemove([this.storageKeys.CODE_VERIFIER, this.storageKeys.STATE]);
|
|
1059
1105
|
}
|
|
1060
|
-
const s = await r.json(), i = Date.now() + (s.expires_in || 3600) * 1e3;
|
|
1061
|
-
await this._storageSet({
|
|
1062
|
-
[this.storageKeys.ACCESS_TOKEN]: s.access_token,
|
|
1063
|
-
[this.storageKeys.REFRESH_TOKEN]: s.refresh_token || "",
|
|
1064
|
-
[this.storageKeys.EXPIRES_AT]: String(i)
|
|
1065
|
-
}), await this._storageRemove([this.storageKeys.CODE_VERIFIER, this.storageKeys.STATE]);
|
|
1066
1106
|
}
|
|
1067
1107
|
async revokeRefreshToken() {
|
|
1068
1108
|
const e = await this._storageGet(this.storageKeys.REFRESH_TOKEN);
|
|
@@ -1089,18 +1129,95 @@ class Se {
|
|
|
1089
1129
|
this.storageKeys.EXPIRES_AT
|
|
1090
1130
|
]);
|
|
1091
1131
|
}
|
|
1132
|
+
// ============================================================================
|
|
1133
|
+
// Token Injection
|
|
1134
|
+
// ============================================================================
|
|
1135
|
+
async _bootstrapInitialTokens(e) {
|
|
1136
|
+
const t = {
|
|
1137
|
+
[this.storageKeys.ACCESS_TOKEN]: e.accessToken
|
|
1138
|
+
};
|
|
1139
|
+
if (e.refreshToken && (t[this.storageKeys.REFRESH_TOKEN] = e.refreshToken), e.expiresAt !== void 0 && (t[this.storageKeys.EXPIRES_AT] = String(e.expiresAt)), await this._storageSet(t), e.expiresAt !== void 0 && Date.now() >= e.expiresAt - 5 * 1e3)
|
|
1140
|
+
e.refreshToken ? await this._tryRefreshToken(e.refreshToken) : this.setAuthState({
|
|
1141
|
+
status: "unauthenticated",
|
|
1142
|
+
user: null,
|
|
1143
|
+
accessToken: null,
|
|
1144
|
+
error: null,
|
|
1145
|
+
refreshToken: null,
|
|
1146
|
+
expiresAt: null,
|
|
1147
|
+
isTokenRefresh: !1
|
|
1148
|
+
});
|
|
1149
|
+
else {
|
|
1150
|
+
const r = w(e.accessToken);
|
|
1151
|
+
this.setAuthState({
|
|
1152
|
+
status: "authenticated",
|
|
1153
|
+
user: r,
|
|
1154
|
+
accessToken: e.accessToken,
|
|
1155
|
+
error: null,
|
|
1156
|
+
refreshToken: e.refreshToken ?? null,
|
|
1157
|
+
expiresAt: e.expiresAt ?? null,
|
|
1158
|
+
isTokenRefresh: !1
|
|
1159
|
+
});
|
|
1160
|
+
}
|
|
1161
|
+
}
|
|
1162
|
+
// ============================================================================
|
|
1163
|
+
// Storage Methods
|
|
1164
|
+
// ============================================================================
|
|
1165
|
+
async _storageGet(e) {
|
|
1166
|
+
if (!this.storage)
|
|
1167
|
+
throw new Error("No storage adapter configured");
|
|
1168
|
+
return this.storage.get(e);
|
|
1169
|
+
}
|
|
1170
|
+
async _storageSet(e) {
|
|
1171
|
+
if (!this.storage)
|
|
1172
|
+
throw new Error("No storage adapter configured");
|
|
1173
|
+
await this.storage.set(e);
|
|
1174
|
+
}
|
|
1175
|
+
async _storageRemove(e) {
|
|
1176
|
+
if (!this.storage)
|
|
1177
|
+
throw new Error("No storage adapter configured");
|
|
1178
|
+
await this.storage.remove(e);
|
|
1179
|
+
}
|
|
1180
|
+
}
|
|
1181
|
+
function se(s) {
|
|
1182
|
+
return async (e, t) => {
|
|
1183
|
+
const n = new Headers(t?.headers), r = await s();
|
|
1184
|
+
return r && n.set("Authorization", `Bearer ${r}`), fetch(e, { ...t, headers: n });
|
|
1185
|
+
};
|
|
1092
1186
|
}
|
|
1093
|
-
|
|
1187
|
+
function ie(s) {
|
|
1188
|
+
return async (e, t) => {
|
|
1189
|
+
const n = typeof e == "string" ? e : e.toString(), r = new URL(n).pathname, a = t?.method || "GET", i = {};
|
|
1190
|
+
t?.headers && new Headers(t.headers).forEach((u, f) => {
|
|
1191
|
+
i[f] = u;
|
|
1192
|
+
});
|
|
1193
|
+
const c = t?.body ? JSON.parse(t.body) : void 0, l = await s.streamText(a, r, c, i, !0), d = new TextEncoder(), p = new ReadableStream({
|
|
1194
|
+
async start(o) {
|
|
1195
|
+
try {
|
|
1196
|
+
for await (const u of l.body)
|
|
1197
|
+
o.enqueue(d.encode(u));
|
|
1198
|
+
o.close();
|
|
1199
|
+
} catch (u) {
|
|
1200
|
+
o.error(u);
|
|
1201
|
+
}
|
|
1202
|
+
}
|
|
1203
|
+
});
|
|
1204
|
+
return new Response(p, {
|
|
1205
|
+
status: l.status,
|
|
1206
|
+
headers: l.headers
|
|
1207
|
+
});
|
|
1208
|
+
};
|
|
1209
|
+
}
|
|
1210
|
+
class Ce {
|
|
1094
1211
|
constructor(e, t, n) {
|
|
1095
|
-
this.connectionMode = null, this.authClientId = e, this.config = t, this.onStateChange = n ??
|
|
1212
|
+
this.connectionMode = null, this.authClientId = e, this.config = t, this.onStateChange = n ?? N, this.logger = this.createLogger(t);
|
|
1096
1213
|
const r = this.createStoragePrefix(t);
|
|
1097
1214
|
this.prefs = new X(r), this.extClient = this.createExtClient(
|
|
1098
1215
|
t,
|
|
1099
|
-
(
|
|
1216
|
+
(a) => this.handleInternalStateChange(a)
|
|
1100
1217
|
), this.directClient = this.createDirectClient(
|
|
1101
1218
|
e,
|
|
1102
1219
|
t,
|
|
1103
|
-
(
|
|
1220
|
+
(a) => this.handleInternalStateChange(a)
|
|
1104
1221
|
);
|
|
1105
1222
|
}
|
|
1106
1223
|
// ============================================================================
|
|
@@ -1256,8 +1373,8 @@ class ke {
|
|
|
1256
1373
|
// ============================================================================
|
|
1257
1374
|
// API Communication
|
|
1258
1375
|
// ============================================================================
|
|
1259
|
-
sendApiRequest(e, t, n, r,
|
|
1260
|
-
return this.isNotSetOrDirect() ? this.directClient.sendApiRequest(e, t, n, r,
|
|
1376
|
+
sendApiRequest(e, t, n, r, a) {
|
|
1377
|
+
return this.isNotSetOrDirect() ? this.directClient.sendApiRequest(e, t, n, r, a) : this.extClient.sendApiRequest(e, t, n, r, a);
|
|
1261
1378
|
}
|
|
1262
1379
|
// ============================================================================
|
|
1263
1380
|
// Authentication
|
|
@@ -1292,23 +1409,50 @@ class ke {
|
|
|
1292
1409
|
// ============================================================================
|
|
1293
1410
|
// Streaming
|
|
1294
1411
|
// ============================================================================
|
|
1295
|
-
stream(e, t, n, r,
|
|
1296
|
-
return this.isNotSetOrDirect() ? this.directClient.stream(e, t, n, r,
|
|
1412
|
+
stream(e, t, n, r, a) {
|
|
1413
|
+
return this.isNotSetOrDirect() ? this.directClient.stream(e, t, n, r, a) : this.extClient.stream(e, t, n, r, a);
|
|
1414
|
+
}
|
|
1415
|
+
async streamText(e, t, n, r, a) {
|
|
1416
|
+
return this.isNotSetOrDirect() ? this.directClient.streamText(e, t, n, r, a) : this.extClient.streamText(e, t, n, r, a);
|
|
1297
1417
|
}
|
|
1298
1418
|
// ============================================================================
|
|
1299
1419
|
// OpenAI-Compatible Namespaced API
|
|
1300
1420
|
// ============================================================================
|
|
1301
1421
|
get chat() {
|
|
1302
|
-
return this._chat ??= new
|
|
1422
|
+
return this._chat ??= new T(this);
|
|
1303
1423
|
}
|
|
1304
1424
|
get models() {
|
|
1305
|
-
return this._models ??= new
|
|
1425
|
+
return this._models ??= new z(this);
|
|
1306
1426
|
}
|
|
1307
1427
|
get embeddings() {
|
|
1308
|
-
return this._embeddings ??= new
|
|
1428
|
+
return this._embeddings ??= new R(this);
|
|
1309
1429
|
}
|
|
1310
1430
|
get mcps() {
|
|
1311
|
-
return this._mcps ??= new
|
|
1431
|
+
return this._mcps ??= new P(this);
|
|
1432
|
+
}
|
|
1433
|
+
// ============================================================================
|
|
1434
|
+
// MCP Transport
|
|
1435
|
+
// ============================================================================
|
|
1436
|
+
/**
|
|
1437
|
+
* Create transport config for MCP StreamableHTTPClientTransport.
|
|
1438
|
+
* Handles connection mode transparently — direct mode uses standard fetch with
|
|
1439
|
+
* Bearer token, extension mode routes through the extension's message passing.
|
|
1440
|
+
*
|
|
1441
|
+
* @param mcp_path - Relative proxy path from Mcp.path (e.g. '/bodhi/v1/apps/mcps/{id}/mcp')
|
|
1442
|
+
* @returns McpTransportConfig with url and fetch function for StreamableHTTPClientTransport
|
|
1443
|
+
*/
|
|
1444
|
+
createMcpTransportConfig(e) {
|
|
1445
|
+
if (this.isNotSetOrDirect()) {
|
|
1446
|
+
const t = this.directClient.getState(), n = k(t) && t.url || "";
|
|
1447
|
+
return {
|
|
1448
|
+
url: new URL(`${n}${e}`),
|
|
1449
|
+
fetch: se(async () => (await this.getAuthState()).accessToken)
|
|
1450
|
+
};
|
|
1451
|
+
}
|
|
1452
|
+
return {
|
|
1453
|
+
url: new URL(`http://bodhi-ext${e}`),
|
|
1454
|
+
fetch: ie(this)
|
|
1455
|
+
};
|
|
1312
1456
|
}
|
|
1313
1457
|
// ============================================================================
|
|
1314
1458
|
// Connection Mode (Facade-specific)
|
|
@@ -1319,10 +1463,10 @@ class ke {
|
|
|
1319
1463
|
async setConnectionMode(e) {
|
|
1320
1464
|
if (this.logger.info("Switching connection mode to:", e), e === "direct") {
|
|
1321
1465
|
if (!this.directClient.isClientInitialized())
|
|
1322
|
-
throw new Error(
|
|
1466
|
+
throw new Error(E.SERVER_NOT_READY.message);
|
|
1323
1467
|
} else if (e === "extension") {
|
|
1324
1468
|
if (!this.extClient.isClientInitialized())
|
|
1325
|
-
throw new Error(
|
|
1469
|
+
throw new Error(E.SERVER_NOT_READY.message);
|
|
1326
1470
|
} else
|
|
1327
1471
|
throw new Error("Invalid connection mode");
|
|
1328
1472
|
return this.connectionMode = e, this.notifyStateChange(), this.getState();
|
|
@@ -1362,7 +1506,7 @@ class ke {
|
|
|
1362
1506
|
*/
|
|
1363
1507
|
async getExtensionState() {
|
|
1364
1508
|
const e = this.extClient.getState();
|
|
1365
|
-
if (
|
|
1509
|
+
if (q(e))
|
|
1366
1510
|
return e;
|
|
1367
1511
|
throw new Error("extClient did not return an ExtensionState");
|
|
1368
1512
|
}
|
|
@@ -1371,85 +1515,88 @@ class ke {
|
|
|
1371
1515
|
*/
|
|
1372
1516
|
async getDirectState() {
|
|
1373
1517
|
const e = this.directClient.getState();
|
|
1374
|
-
if (
|
|
1518
|
+
if (k(e))
|
|
1375
1519
|
return e;
|
|
1376
1520
|
throw new Error("directClient did not return a DirectState");
|
|
1377
1521
|
}
|
|
1378
1522
|
}
|
|
1379
|
-
const
|
|
1523
|
+
const Ne = "production";
|
|
1380
1524
|
export {
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1525
|
+
v as APIResource,
|
|
1526
|
+
de as AccessRequestBuilder,
|
|
1527
|
+
V as BACKEND_SERVER_NOT_CONNECTED,
|
|
1528
|
+
S as BACKEND_SERVER_NOT_REACHABLE,
|
|
1529
|
+
we as BROWSER_CONFIGS,
|
|
1530
|
+
Ce as BaseFacadeClient,
|
|
1531
|
+
Ae as BodhiApiError,
|
|
1388
1532
|
X as BodhiClientUserPrefsManager,
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1533
|
+
Te as BodhiError,
|
|
1534
|
+
Ne as CORE_BUILD_MODE,
|
|
1535
|
+
T as Chat,
|
|
1392
1536
|
re as Completions,
|
|
1393
1537
|
j as DEFAULT_API_TIMEOUT_MS,
|
|
1394
1538
|
K as DEFAULT_POLL_INTERVAL_MS,
|
|
1395
1539
|
G as DEFAULT_POLL_TIMEOUT_MS,
|
|
1396
1540
|
b as DIRECT_STATE_NOT_INITIALIZED,
|
|
1397
|
-
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1541
|
+
Ee as DirectClientBase,
|
|
1542
|
+
Pe as EXTENSION_STATE_NOT_FOUND,
|
|
1543
|
+
Oe as EXTENSION_STATE_NOT_INITIALIZED,
|
|
1544
|
+
R as Embeddings,
|
|
1545
|
+
Le as INITIAL_AUTH_STATE,
|
|
1546
|
+
Me as InMemoryStorage,
|
|
1402
1547
|
Z as Logger,
|
|
1403
|
-
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
|
|
1411
|
-
|
|
1412
|
-
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
|
|
1421
|
-
|
|
1422
|
-
|
|
1548
|
+
fe as LoginOptionsBuilder,
|
|
1549
|
+
P as Mcps,
|
|
1550
|
+
z as Models,
|
|
1551
|
+
N as NOOP_STATE_CALLBACK,
|
|
1552
|
+
xe as OS_CONFIGS,
|
|
1553
|
+
be as OnboardingModal,
|
|
1554
|
+
Ie as PENDING_EXTENSION_READY,
|
|
1555
|
+
E as SERVER_ERROR_CODES,
|
|
1556
|
+
ve as STORAGE_PREFIXES,
|
|
1557
|
+
B as backendServerNotReady,
|
|
1558
|
+
A as base64UrlEncode,
|
|
1559
|
+
D as buildError,
|
|
1560
|
+
F as buildEvent,
|
|
1561
|
+
U as buildResponse,
|
|
1562
|
+
Ue as createApiError,
|
|
1563
|
+
se as createDirectMcpFetch,
|
|
1564
|
+
De as createDirectStateNotReachable,
|
|
1565
|
+
Fe as createDirectStateNotReady,
|
|
1566
|
+
Be as createDirectStateReady,
|
|
1567
|
+
ie as createExtensionMcpFetch,
|
|
1568
|
+
Ve as createExtensionStateNotFound,
|
|
1569
|
+
qe as createExtensionStateNotInitialized,
|
|
1423
1570
|
te as createOAuthEndpoints,
|
|
1424
|
-
|
|
1571
|
+
M as createOperationError,
|
|
1425
1572
|
Y as createStorageKeys,
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1441
|
-
|
|
1442
|
-
|
|
1443
|
-
|
|
1444
|
-
|
|
1445
|
-
|
|
1446
|
-
|
|
1447
|
-
|
|
1448
|
-
|
|
1573
|
+
ye as createStoragePrefixWithBasePath,
|
|
1574
|
+
me as detectBrowser,
|
|
1575
|
+
ge as detectOS,
|
|
1576
|
+
w as extractUserInfo,
|
|
1577
|
+
ke as generateCodeChallenge,
|
|
1578
|
+
Se as generateCodeVerifier,
|
|
1579
|
+
$e as getBackendServerState,
|
|
1580
|
+
He as getExtensionId,
|
|
1581
|
+
Qe as getServerUrl,
|
|
1582
|
+
Ke as handleRequest,
|
|
1583
|
+
Ge as isAuthError,
|
|
1584
|
+
We as isAuthLoading,
|
|
1585
|
+
Ze as isAuthenticated,
|
|
1586
|
+
Ye as isClientReady,
|
|
1587
|
+
Xe as isDirectClientReady,
|
|
1588
|
+
Je as isDirectServerReady,
|
|
1589
|
+
k as isDirectState,
|
|
1590
|
+
et as isExtensionClientReady,
|
|
1591
|
+
tt as isExtensionServerReady,
|
|
1592
|
+
q as isExtensionState,
|
|
1593
|
+
nt as isServerReady,
|
|
1594
|
+
he as isWebUIClient,
|
|
1595
|
+
pe as openPopupReview,
|
|
1449
1596
|
ee as parseJwt,
|
|
1450
1597
|
W as pollAccessRequestUntilResolved,
|
|
1451
1598
|
ne as refreshAccessToken,
|
|
1452
1599
|
ae as testServerConnectivity,
|
|
1453
|
-
|
|
1454
|
-
|
|
1600
|
+
I as throwAccessRequestDenialError,
|
|
1601
|
+
ze as unwrapResponse
|
|
1455
1602
|
};
|