@mmmbuto/nexuscrew 0.8.5 → 0.8.7
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/README.md +52 -23
- package/frontend/dist/assets/index-D2TrRtWQ.js +90 -0
- package/frontend/dist/assets/index-DrEuy6A6.css +32 -0
- package/frontend/dist/index.html +2 -2
- package/frontend/dist/version.json +1 -1
- package/lib/cli/fleet-service.js +8 -3
- package/lib/fleet/builtin.js +139 -22
- package/lib/fleet/definitions.js +20 -0
- package/lib/fleet/index.js +42 -1
- package/lib/fleet/managed.js +15 -2
- package/lib/fleet/provider.js +12 -11
- package/lib/fleet/routes.js +11 -2
- package/lib/nodes/peering.js +85 -7
- package/lib/settings/routes.js +214 -61
- package/package.json +1 -1
- package/frontend/dist/assets/index-UAVxf6SE.js +0 -90
- package/frontend/dist/assets/index-U_e8auCM.css +0 -32
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))n(o);new MutationObserver(o=>{for(const l of o)if(l.type==="childList")for(const u of l.addedNodes)u.tagName==="LINK"&&u.rel==="modulepreload"&&n(u)}).observe(document,{childList:!0,subtree:!0});function r(o){const l={};return o.integrity&&(l.integrity=o.integrity),o.referrerPolicy&&(l.referrerPolicy=o.referrerPolicy),o.crossOrigin==="use-credentials"?l.credentials="include":o.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function n(o){if(o.ep)return;o.ep=!0;const l=r(o);fetch(o.href,l)}})();function ah(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var bc={exports:{}},mn={},xc={exports:{}},Me={};/**
|
|
2
|
+
* @license React
|
|
3
|
+
* react.production.min.js
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/var mp;function qy(){if(mp)return Me;mp=1;var e=Symbol.for("react.element"),t=Symbol.for("react.portal"),r=Symbol.for("react.fragment"),n=Symbol.for("react.strict_mode"),o=Symbol.for("react.profiler"),l=Symbol.for("react.provider"),u=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),m=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),y=Symbol.for("react.lazy"),v=Symbol.iterator;function S(N){return N===null||typeof N!="object"?null:(N=v&&N[v]||N["@@iterator"],typeof N=="function"?N:null)}var g={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},C=Object.assign,E={};function x(N,F,ne){this.props=N,this.context=F,this.refs=E,this.updater=ne||g}x.prototype.isReactComponent={},x.prototype.setState=function(N,F){if(typeof N!="object"&&typeof N!="function"&&N!=null)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,N,F,"setState")},x.prototype.forceUpdate=function(N){this.updater.enqueueForceUpdate(this,N,"forceUpdate")};function R(){}R.prototype=x.prototype;function z(N,F,ne){this.props=N,this.context=F,this.refs=E,this.updater=ne||g}var T=z.prototype=new R;T.constructor=z,C(T,x.prototype),T.isPureReactComponent=!0;var $=Array.isArray,te=Object.prototype.hasOwnProperty,L={current:null},P={key:!0,ref:!0,__self:!0,__source:!0};function U(N,F,ne){var A,O={},re=null,ue=null;if(F!=null)for(A in F.ref!==void 0&&(ue=F.ref),F.key!==void 0&&(re=""+F.key),F)te.call(F,A)&&!P.hasOwnProperty(A)&&(O[A]=F[A]);var ae=arguments.length-2;if(ae===1)O.children=ne;else if(1<ae){for(var Ce=Array(ae),Te=0;Te<ae;Te++)Ce[Te]=arguments[Te+2];O.children=Ce}if(N&&N.defaultProps)for(A in ae=N.defaultProps,ae)O[A]===void 0&&(O[A]=ae[A]);return{$$typeof:e,type:N,key:re,ref:ue,props:O,_owner:L.current}}function M(N,F){return{$$typeof:e,type:N.type,key:F,ref:N.ref,props:N.props,_owner:N._owner}}function K(N){return typeof N=="object"&&N!==null&&N.$$typeof===e}function Y(N){var F={"=":"=0",":":"=2"};return"$"+N.replace(/[=:]/g,function(ne){return F[ne]})}var I=/\/+/g;function B(N,F){return typeof N=="object"&&N!==null&&N.key!=null?Y(""+N.key):F.toString(36)}function W(N,F,ne,A,O){var re=typeof N;(re==="undefined"||re==="boolean")&&(N=null);var ue=!1;if(N===null)ue=!0;else switch(re){case"string":case"number":ue=!0;break;case"object":switch(N.$$typeof){case e:case t:ue=!0}}if(ue)return ue=N,O=O(ue),N=A===""?"."+B(ue,0):A,$(O)?(ne="",N!=null&&(ne=N.replace(I,"$&/")+"/"),W(O,F,ne,"",function(Te){return Te})):O!=null&&(K(O)&&(O=M(O,ne+(!O.key||ue&&ue.key===O.key?"":(""+O.key).replace(I,"$&/")+"/")+N)),F.push(O)),1;if(ue=0,A=A===""?".":A+":",$(N))for(var ae=0;ae<N.length;ae++){re=N[ae];var Ce=A+B(re,ae);ue+=W(re,F,ne,Ce,O)}else if(Ce=S(N),typeof Ce=="function")for(N=Ce.call(N),ae=0;!(re=N.next()).done;)re=re.value,Ce=A+B(re,ae++),ue+=W(re,F,ne,Ce,O);else if(re==="object")throw F=String(N),Error("Objects are not valid as a React child (found: "+(F==="[object Object]"?"object with keys {"+Object.keys(N).join(", ")+"}":F)+"). If you meant to render a collection of children, use an array instead.");return ue}function V(N,F,ne){if(N==null)return N;var A=[],O=0;return W(N,A,"","",function(re){return F.call(ne,re,O++)}),A}function Q(N){if(N._status===-1){var F=N._result;F=F(),F.then(function(ne){(N._status===0||N._status===-1)&&(N._status=1,N._result=ne)},function(ne){(N._status===0||N._status===-1)&&(N._status=2,N._result=ne)}),N._status===-1&&(N._status=0,N._result=F)}if(N._status===1)return N._result.default;throw N._result}var X={current:null},k={transition:null},J={ReactCurrentDispatcher:X,ReactCurrentBatchConfig:k,ReactCurrentOwner:L};function ie(){throw Error("act(...) is not supported in production builds of React.")}return Me.Children={map:V,forEach:function(N,F,ne){V(N,function(){F.apply(this,arguments)},ne)},count:function(N){var F=0;return V(N,function(){F++}),F},toArray:function(N){return V(N,function(F){return F})||[]},only:function(N){if(!K(N))throw Error("React.Children.only expected to receive a single React element child.");return N}},Me.Component=x,Me.Fragment=r,Me.Profiler=o,Me.PureComponent=z,Me.StrictMode=n,Me.Suspense=m,Me.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=J,Me.act=ie,Me.cloneElement=function(N,F,ne){if(N==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+N+".");var A=C({},N.props),O=N.key,re=N.ref,ue=N._owner;if(F!=null){if(F.ref!==void 0&&(re=F.ref,ue=L.current),F.key!==void 0&&(O=""+F.key),N.type&&N.type.defaultProps)var ae=N.type.defaultProps;for(Ce in F)te.call(F,Ce)&&!P.hasOwnProperty(Ce)&&(A[Ce]=F[Ce]===void 0&&ae!==void 0?ae[Ce]:F[Ce])}var Ce=arguments.length-2;if(Ce===1)A.children=ne;else if(1<Ce){ae=Array(Ce);for(var Te=0;Te<Ce;Te++)ae[Te]=arguments[Te+2];A.children=ae}return{$$typeof:e,type:N.type,key:O,ref:re,props:A,_owner:ue}},Me.createContext=function(N){return N={$$typeof:u,_currentValue:N,_currentValue2:N,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},N.Provider={$$typeof:l,_context:N},N.Consumer=N},Me.createElement=U,Me.createFactory=function(N){var F=U.bind(null,N);return F.type=N,F},Me.createRef=function(){return{current:null}},Me.forwardRef=function(N){return{$$typeof:f,render:N}},Me.isValidElement=K,Me.lazy=function(N){return{$$typeof:y,_payload:{_status:-1,_result:N},_init:Q}},Me.memo=function(N,F){return{$$typeof:p,type:N,compare:F===void 0?null:F}},Me.startTransition=function(N){var F=k.transition;k.transition={};try{N()}finally{k.transition=F}},Me.unstable_act=ie,Me.useCallback=function(N,F){return X.current.useCallback(N,F)},Me.useContext=function(N){return X.current.useContext(N)},Me.useDebugValue=function(){},Me.useDeferredValue=function(N){return X.current.useDeferredValue(N)},Me.useEffect=function(N,F){return X.current.useEffect(N,F)},Me.useId=function(){return X.current.useId()},Me.useImperativeHandle=function(N,F,ne){return X.current.useImperativeHandle(N,F,ne)},Me.useInsertionEffect=function(N,F){return X.current.useInsertionEffect(N,F)},Me.useLayoutEffect=function(N,F){return X.current.useLayoutEffect(N,F)},Me.useMemo=function(N,F){return X.current.useMemo(N,F)},Me.useReducer=function(N,F,ne){return X.current.useReducer(N,F,ne)},Me.useRef=function(N){return X.current.useRef(N)},Me.useState=function(N){return X.current.useState(N)},Me.useSyncExternalStore=function(N,F,ne){return X.current.useSyncExternalStore(N,F,ne)},Me.useTransition=function(){return X.current.useTransition()},Me.version="18.3.1",Me}var _p;function lh(){return _p||(_p=1,xc.exports=qy()),xc.exports}/**
|
|
10
|
+
* @license React
|
|
11
|
+
* react-jsx-runtime.production.min.js
|
|
12
|
+
*
|
|
13
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
14
|
+
*
|
|
15
|
+
* This source code is licensed under the MIT license found in the
|
|
16
|
+
* LICENSE file in the root directory of this source tree.
|
|
17
|
+
*/var gp;function Ky(){if(gp)return mn;gp=1;var e=lh(),t=Symbol.for("react.element"),r=Symbol.for("react.fragment"),n=Object.prototype.hasOwnProperty,o=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,l={key:!0,ref:!0,__self:!0,__source:!0};function u(f,m,p){var y,v={},S=null,g=null;p!==void 0&&(S=""+p),m.key!==void 0&&(S=""+m.key),m.ref!==void 0&&(g=m.ref);for(y in m)n.call(m,y)&&!l.hasOwnProperty(y)&&(v[y]=m[y]);if(f&&f.defaultProps)for(y in m=f.defaultProps,m)v[y]===void 0&&(v[y]=m[y]);return{$$typeof:t,type:f,key:S,ref:g,props:v,_owner:o.current}}return mn.Fragment=r,mn.jsx=u,mn.jsxs=u,mn}var vp;function Vy(){return vp||(vp=1,bc.exports=Ky()),bc.exports}var h=Vy(),j=lh();const Yy=ah(j);var Xo={},kc={exports:{}},Wt={},Ec={exports:{}},Nc={};/**
|
|
18
|
+
* @license React
|
|
19
|
+
* scheduler.production.min.js
|
|
20
|
+
*
|
|
21
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
22
|
+
*
|
|
23
|
+
* This source code is licensed under the MIT license found in the
|
|
24
|
+
* LICENSE file in the root directory of this source tree.
|
|
25
|
+
*/var yp;function Xy(){return yp||(yp=1,(function(e){function t(k,J){var ie=k.length;k.push(J);e:for(;0<ie;){var N=ie-1>>>1,F=k[N];if(0<o(F,J))k[N]=J,k[ie]=F,ie=N;else break e}}function r(k){return k.length===0?null:k[0]}function n(k){if(k.length===0)return null;var J=k[0],ie=k.pop();if(ie!==J){k[0]=ie;e:for(var N=0,F=k.length,ne=F>>>1;N<ne;){var A=2*(N+1)-1,O=k[A],re=A+1,ue=k[re];if(0>o(O,ie))re<F&&0>o(ue,O)?(k[N]=ue,k[re]=ie,N=re):(k[N]=O,k[A]=ie,N=A);else if(re<F&&0>o(ue,ie))k[N]=ue,k[re]=ie,N=re;else break e}}return J}function o(k,J){var ie=k.sortIndex-J.sortIndex;return ie!==0?ie:k.id-J.id}if(typeof performance=="object"&&typeof performance.now=="function"){var l=performance;e.unstable_now=function(){return l.now()}}else{var u=Date,f=u.now();e.unstable_now=function(){return u.now()-f}}var m=[],p=[],y=1,v=null,S=3,g=!1,C=!1,E=!1,x=typeof setTimeout=="function"?setTimeout:null,R=typeof clearTimeout=="function"?clearTimeout:null,z=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function T(k){for(var J=r(p);J!==null;){if(J.callback===null)n(p);else if(J.startTime<=k)n(p),J.sortIndex=J.expirationTime,t(m,J);else break;J=r(p)}}function $(k){if(E=!1,T(k),!C)if(r(m)!==null)C=!0,Q(te);else{var J=r(p);J!==null&&X($,J.startTime-k)}}function te(k,J){C=!1,E&&(E=!1,R(U),U=-1),g=!0;var ie=S;try{for(T(J),v=r(m);v!==null&&(!(v.expirationTime>J)||k&&!Y());){var N=v.callback;if(typeof N=="function"){v.callback=null,S=v.priorityLevel;var F=N(v.expirationTime<=J);J=e.unstable_now(),typeof F=="function"?v.callback=F:v===r(m)&&n(m),T(J)}else n(m);v=r(m)}if(v!==null)var ne=!0;else{var A=r(p);A!==null&&X($,A.startTime-J),ne=!1}return ne}finally{v=null,S=ie,g=!1}}var L=!1,P=null,U=-1,M=5,K=-1;function Y(){return!(e.unstable_now()-K<M)}function I(){if(P!==null){var k=e.unstable_now();K=k;var J=!0;try{J=P(!0,k)}finally{J?B():(L=!1,P=null)}}else L=!1}var B;if(typeof z=="function")B=function(){z(I)};else if(typeof MessageChannel<"u"){var W=new MessageChannel,V=W.port2;W.port1.onmessage=I,B=function(){V.postMessage(null)}}else B=function(){x(I,0)};function Q(k){P=k,L||(L=!0,B())}function X(k,J){U=x(function(){k(e.unstable_now())},J)}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(k){k.callback=null},e.unstable_continueExecution=function(){C||g||(C=!0,Q(te))},e.unstable_forceFrameRate=function(k){0>k||125<k?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):M=0<k?Math.floor(1e3/k):5},e.unstable_getCurrentPriorityLevel=function(){return S},e.unstable_getFirstCallbackNode=function(){return r(m)},e.unstable_next=function(k){switch(S){case 1:case 2:case 3:var J=3;break;default:J=S}var ie=S;S=J;try{return k()}finally{S=ie}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function(k,J){switch(k){case 1:case 2:case 3:case 4:case 5:break;default:k=3}var ie=S;S=k;try{return J()}finally{S=ie}},e.unstable_scheduleCallback=function(k,J,ie){var N=e.unstable_now();switch(typeof ie=="object"&&ie!==null?(ie=ie.delay,ie=typeof ie=="number"&&0<ie?N+ie:N):ie=N,k){case 1:var F=-1;break;case 2:F=250;break;case 5:F=1073741823;break;case 4:F=1e4;break;default:F=5e3}return F=ie+F,k={id:y++,callback:J,priorityLevel:k,startTime:ie,expirationTime:F,sortIndex:-1},ie>N?(k.sortIndex=ie,t(p,k),r(m)===null&&k===r(p)&&(E?(R(U),U=-1):E=!0,X($,ie-N))):(k.sortIndex=F,t(m,k),C||g||(C=!0,Q(te))),k},e.unstable_shouldYield=Y,e.unstable_wrapCallback=function(k){var J=S;return function(){var ie=S;S=J;try{return k.apply(this,arguments)}finally{S=ie}}}})(Nc)),Nc}var Sp;function Gy(){return Sp||(Sp=1,Ec.exports=Xy()),Ec.exports}/**
|
|
26
|
+
* @license React
|
|
27
|
+
* react-dom.production.min.js
|
|
28
|
+
*
|
|
29
|
+
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
30
|
+
*
|
|
31
|
+
* This source code is licensed under the MIT license found in the
|
|
32
|
+
* LICENSE file in the root directory of this source tree.
|
|
33
|
+
*/var wp;function Qy(){if(wp)return Wt;wp=1;var e=lh(),t=Gy();function r(i){for(var s="https://reactjs.org/docs/error-decoder.html?invariant="+i,a=1;a<arguments.length;a++)s+="&args[]="+encodeURIComponent(arguments[a]);return"Minified React error #"+i+"; visit "+s+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var n=new Set,o={};function l(i,s){u(i,s),u(i+"Capture",s)}function u(i,s){for(o[i]=s,i=0;i<s.length;i++)n.add(s[i])}var f=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),m=Object.prototype.hasOwnProperty,p=/^[: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]*$/,y={},v={};function S(i){return m.call(v,i)?!0:m.call(y,i)?!1:p.test(i)?v[i]=!0:(y[i]=!0,!1)}function g(i,s,a,c){if(a!==null&&a.type===0)return!1;switch(typeof s){case"function":case"symbol":return!0;case"boolean":return c?!1:a!==null?!a.acceptsBooleans:(i=i.toLowerCase().slice(0,5),i!=="data-"&&i!=="aria-");default:return!1}}function C(i,s,a,c){if(s===null||typeof s>"u"||g(i,s,a,c))return!0;if(c)return!1;if(a!==null)switch(a.type){case 3:return!s;case 4:return s===!1;case 5:return isNaN(s);case 6:return isNaN(s)||1>s}return!1}function E(i,s,a,c,d,_,w){this.acceptsBooleans=s===2||s===3||s===4,this.attributeName=c,this.attributeNamespace=d,this.mustUseProperty=a,this.propertyName=i,this.type=s,this.sanitizeURL=_,this.removeEmptyString=w}var x={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(i){x[i]=new E(i,0,!1,i,null,!1,!1)}),[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(i){var s=i[0];x[s]=new E(s,1,!1,i[1],null,!1,!1)}),["contentEditable","draggable","spellCheck","value"].forEach(function(i){x[i]=new E(i,2,!1,i.toLowerCase(),null,!1,!1)}),["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(i){x[i]=new E(i,2,!1,i,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(i){x[i]=new E(i,3,!1,i.toLowerCase(),null,!1,!1)}),["checked","multiple","muted","selected"].forEach(function(i){x[i]=new E(i,3,!0,i,null,!1,!1)}),["capture","download"].forEach(function(i){x[i]=new E(i,4,!1,i,null,!1,!1)}),["cols","rows","size","span"].forEach(function(i){x[i]=new E(i,6,!1,i,null,!1,!1)}),["rowSpan","start"].forEach(function(i){x[i]=new E(i,5,!1,i.toLowerCase(),null,!1,!1)});var R=/[\-:]([a-z])/g;function z(i){return i[1].toUpperCase()}"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(i){var s=i.replace(R,z);x[s]=new E(s,1,!1,i,null,!1,!1)}),"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(i){var s=i.replace(R,z);x[s]=new E(s,1,!1,i,"http://www.w3.org/1999/xlink",!1,!1)}),["xml:base","xml:lang","xml:space"].forEach(function(i){var s=i.replace(R,z);x[s]=new E(s,1,!1,i,"http://www.w3.org/XML/1998/namespace",!1,!1)}),["tabIndex","crossOrigin"].forEach(function(i){x[i]=new E(i,1,!1,i.toLowerCase(),null,!1,!1)}),x.xlinkHref=new E("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1),["src","href","action","formAction"].forEach(function(i){x[i]=new E(i,1,!1,i.toLowerCase(),null,!0,!0)});function T(i,s,a,c){var d=x.hasOwnProperty(s)?x[s]:null;(d!==null?d.type!==0:c||!(2<s.length)||s[0]!=="o"&&s[0]!=="O"||s[1]!=="n"&&s[1]!=="N")&&(C(s,a,d,c)&&(a=null),c||d===null?S(s)&&(a===null?i.removeAttribute(s):i.setAttribute(s,""+a)):d.mustUseProperty?i[d.propertyName]=a===null?d.type===3?!1:"":a:(s=d.attributeName,c=d.attributeNamespace,a===null?i.removeAttribute(s):(d=d.type,a=d===3||d===4&&a===!0?"":""+a,c?i.setAttributeNS(c,s,a):i.setAttribute(s,a))))}var $=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,te=Symbol.for("react.element"),L=Symbol.for("react.portal"),P=Symbol.for("react.fragment"),U=Symbol.for("react.strict_mode"),M=Symbol.for("react.profiler"),K=Symbol.for("react.provider"),Y=Symbol.for("react.context"),I=Symbol.for("react.forward_ref"),B=Symbol.for("react.suspense"),W=Symbol.for("react.suspense_list"),V=Symbol.for("react.memo"),Q=Symbol.for("react.lazy"),X=Symbol.for("react.offscreen"),k=Symbol.iterator;function J(i){return i===null||typeof i!="object"?null:(i=k&&i[k]||i["@@iterator"],typeof i=="function"?i:null)}var ie=Object.assign,N;function F(i){if(N===void 0)try{throw Error()}catch(a){var s=a.stack.trim().match(/\n( *(at )?)/);N=s&&s[1]||""}return`
|
|
34
|
+
`+N+i}var ne=!1;function A(i,s){if(!i||ne)return"";ne=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(s)if(s=function(){throw Error()},Object.defineProperty(s.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(s,[])}catch(ee){var c=ee}Reflect.construct(i,[],s)}else{try{s.call()}catch(ee){c=ee}i.call(s.prototype)}else{try{throw Error()}catch(ee){c=ee}i()}}catch(ee){if(ee&&c&&typeof ee.stack=="string"){for(var d=ee.stack.split(`
|
|
35
|
+
`),_=c.stack.split(`
|
|
36
|
+
`),w=d.length-1,D=_.length-1;1<=w&&0<=D&&d[w]!==_[D];)D--;for(;1<=w&&0<=D;w--,D--)if(d[w]!==_[D]){if(w!==1||D!==1)do if(w--,D--,0>D||d[w]!==_[D]){var H=`
|
|
37
|
+
`+d[w].replace(" at new "," at ");return i.displayName&&H.includes("<anonymous>")&&(H=H.replace("<anonymous>",i.displayName)),H}while(1<=w&&0<=D);break}}}finally{ne=!1,Error.prepareStackTrace=a}return(i=i?i.displayName||i.name:"")?F(i):""}function O(i){switch(i.tag){case 5:return F(i.type);case 16:return F("Lazy");case 13:return F("Suspense");case 19:return F("SuspenseList");case 0:case 2:case 15:return i=A(i.type,!1),i;case 11:return i=A(i.type.render,!1),i;case 1:return i=A(i.type,!0),i;default:return""}}function re(i){if(i==null)return null;if(typeof i=="function")return i.displayName||i.name||null;if(typeof i=="string")return i;switch(i){case P:return"Fragment";case L:return"Portal";case M:return"Profiler";case U:return"StrictMode";case B:return"Suspense";case W:return"SuspenseList"}if(typeof i=="object")switch(i.$$typeof){case Y:return(i.displayName||"Context")+".Consumer";case K:return(i._context.displayName||"Context")+".Provider";case I:var s=i.render;return i=i.displayName,i||(i=s.displayName||s.name||"",i=i!==""?"ForwardRef("+i+")":"ForwardRef"),i;case V:return s=i.displayName||null,s!==null?s:re(i.type)||"Memo";case Q:s=i._payload,i=i._init;try{return re(i(s))}catch{}}return null}function ue(i){var s=i.type;switch(i.tag){case 24:return"Cache";case 9:return(s.displayName||"Context")+".Consumer";case 10:return(s._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return i=s.render,i=i.displayName||i.name||"",s.displayName||(i!==""?"ForwardRef("+i+")":"ForwardRef");case 7:return"Fragment";case 5:return s;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return re(s);case 8:return s===U?"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(typeof s=="function")return s.displayName||s.name||null;if(typeof s=="string")return s}return null}function ae(i){switch(typeof i){case"boolean":case"number":case"string":case"undefined":return i;case"object":return i;default:return""}}function Ce(i){var s=i.type;return(i=i.nodeName)&&i.toLowerCase()==="input"&&(s==="checkbox"||s==="radio")}function Te(i){var s=Ce(i)?"checked":"value",a=Object.getOwnPropertyDescriptor(i.constructor.prototype,s),c=""+i[s];if(!i.hasOwnProperty(s)&&typeof a<"u"&&typeof a.get=="function"&&typeof a.set=="function"){var d=a.get,_=a.set;return Object.defineProperty(i,s,{configurable:!0,get:function(){return d.call(this)},set:function(w){c=""+w,_.call(this,w)}}),Object.defineProperty(i,s,{enumerable:a.enumerable}),{getValue:function(){return c},setValue:function(w){c=""+w},stopTracking:function(){i._valueTracker=null,delete i[s]}}}}function St(i){i._valueTracker||(i._valueTracker=Te(i))}function it(i){if(!i)return!1;var s=i._valueTracker;if(!s)return!0;var a=s.getValue(),c="";return i&&(c=Ce(i)?i.checked?"true":"false":i.value),i=c,i!==a?(s.setValue(i),!0):!1}function Se(i){if(i=i||(typeof document<"u"?document:void 0),typeof i>"u")return null;try{return i.activeElement||i.body}catch{return i.body}}function ti(i,s){var a=s.checked;return ie({},s,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:a??i._wrapperState.initialChecked})}function gi(i,s){var a=s.defaultValue==null?"":s.defaultValue,c=s.checked!=null?s.checked:s.defaultChecked;a=ae(s.value!=null?s.value:a),i._wrapperState={initialChecked:c,initialValue:a,controlled:s.type==="checkbox"||s.type==="radio"?s.checked!=null:s.value!=null}}function Nr(i,s){s=s.checked,s!=null&&T(i,"checked",s,!1)}function Zi(i,s){Nr(i,s);var a=ae(s.value),c=s.type;if(a!=null)c==="number"?(a===0&&i.value===""||i.value!=a)&&(i.value=""+a):i.value!==""+a&&(i.value=""+a);else if(c==="submit"||c==="reset"){i.removeAttribute("value");return}s.hasOwnProperty("value")?ri(i,s.type,a):s.hasOwnProperty("defaultValue")&&ri(i,s.type,ae(s.defaultValue)),s.checked==null&&s.defaultChecked!=null&&(i.defaultChecked=!!s.defaultChecked)}function ii(i,s,a){if(s.hasOwnProperty("value")||s.hasOwnProperty("defaultValue")){var c=s.type;if(!(c!=="submit"&&c!=="reset"||s.value!==void 0&&s.value!==null))return;s=""+i._wrapperState.initialValue,a||s===i.value||(i.value=s),i.defaultValue=s}a=i.name,a!==""&&(i.name=""),i.defaultChecked=!!i._wrapperState.initialChecked,a!==""&&(i.name=a)}function ri(i,s,a){(s!=="number"||Se(i.ownerDocument)!==i)&&(a==null?i.defaultValue=""+i._wrapperState.initialValue:i.defaultValue!==""+a&&(i.defaultValue=""+a))}var si=Array.isArray;function It(i,s,a,c){if(i=i.options,s){s={};for(var d=0;d<a.length;d++)s["$"+a[d]]=!0;for(a=0;a<i.length;a++)d=s.hasOwnProperty("$"+i[a].value),i[a].selected!==d&&(i[a].selected=d),d&&c&&(i[a].defaultSelected=!0)}else{for(a=""+ae(a),s=null,d=0;d<i.length;d++){if(i[d].value===a){i[d].selected=!0,c&&(i[d].defaultSelected=!0);return}s!==null||i[d].disabled||(s=i[d])}s!==null&&(s.selected=!0)}}function _e(i,s){if(s.dangerouslySetInnerHTML!=null)throw Error(r(91));return ie({},s,{value:void 0,defaultValue:void 0,children:""+i._wrapperState.initialValue})}function Be(i,s){var a=s.value;if(a==null){if(a=s.children,s=s.defaultValue,a!=null){if(s!=null)throw Error(r(92));if(si(a)){if(1<a.length)throw Error(r(93));a=a[0]}s=a}s==null&&(s=""),a=s}i._wrapperState={initialValue:ae(a)}}function wt(i,s){var a=ae(s.value),c=ae(s.defaultValue);a!=null&&(a=""+a,a!==i.value&&(i.value=a),s.defaultValue==null&&i.defaultValue!==a&&(i.defaultValue=a)),c!=null&&(i.defaultValue=""+c)}function Mt(i){var s=i.textContent;s===i._wrapperState.initialValue&&s!==""&&s!==null&&(i.value=s)}function ni(i){switch(i){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 Ei(i,s){return i==null||i==="http://www.w3.org/1999/xhtml"?ni(s):i==="http://www.w3.org/2000/svg"&&s==="foreignObject"?"http://www.w3.org/1999/xhtml":i}var er,Fn=(function(i){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(s,a,c,d){MSApp.execUnsafeLocalFunction(function(){return i(s,a,c,d)})}:i})(function(i,s){if(i.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in i)i.innerHTML=s;else{for(er=er||document.createElement("div"),er.innerHTML="<svg>"+s.valueOf().toString()+"</svg>",s=er.firstChild;i.firstChild;)i.removeChild(i.firstChild);for(;s.firstChild;)i.appendChild(s.firstChild)}});function fe(i,s){if(s){var a=i.firstChild;if(a&&a===i.lastChild&&a.nodeType===3){a.nodeValue=s;return}}i.textContent=s}var Ne={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},Kt=["Webkit","ms","Moz","O"];Object.keys(Ne).forEach(function(i){Kt.forEach(function(s){s=s+i.charAt(0).toUpperCase()+i.substring(1),Ne[s]=Ne[i]})});function Ms(i,s,a){return s==null||typeof s=="boolean"||s===""?"":a||typeof s!="number"||s===0||Ne.hasOwnProperty(i)&&Ne[i]?(""+s).trim():s+"px"}function Dh(i,s){i=i.style;for(var a in s)if(s.hasOwnProperty(a)){var c=a.indexOf("--")===0,d=Ms(a,s[a],c);a==="float"&&(a="cssFloat"),c?i.setProperty(a,d):i[a]=d}}var Gg=ie({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 ja(i,s){if(s){if(Gg[i]&&(s.children!=null||s.dangerouslySetInnerHTML!=null))throw Error(r(137,i));if(s.dangerouslySetInnerHTML!=null){if(s.children!=null)throw Error(r(60));if(typeof s.dangerouslySetInnerHTML!="object"||!("__html"in s.dangerouslySetInnerHTML))throw Error(r(61))}if(s.style!=null&&typeof s.style!="object")throw Error(r(62))}}function Aa(i,s){if(i.indexOf("-")===-1)return typeof s.is=="string";switch(i){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 Ia=null;function Oa(i){return i=i.target||i.srcElement||window,i.correspondingUseElement&&(i=i.correspondingUseElement),i.nodeType===3?i.parentNode:i}var za=null,Zr=null,es=null;function Mh(i){if(i=Zs(i)){if(typeof za!="function")throw Error(r(280));var s=i.stateNode;s&&(s=co(s),za(i.stateNode,i.type,s))}}function Lh(i){Zr?es?es.push(i):es=[i]:Zr=i}function Th(){if(Zr){var i=Zr,s=es;if(es=Zr=null,Mh(i),s)for(i=0;i<s.length;i++)Mh(s[i])}}function Bh(i,s){return i(s)}function jh(){}var Fa=!1;function Ah(i,s,a){if(Fa)return i(s,a);Fa=!0;try{return Bh(i,s,a)}finally{Fa=!1,(Zr!==null||es!==null)&&(jh(),Th())}}function Ls(i,s){var a=i.stateNode;if(a===null)return null;var c=co(a);if(c===null)return null;a=c[s];e:switch(s){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(c=!c.disabled)||(i=i.type,c=!(i==="button"||i==="input"||i==="select"||i==="textarea")),i=!c;break e;default:i=!1}if(i)return null;if(a&&typeof a!="function")throw Error(r(231,s,typeof a));return a}var Ha=!1;if(f)try{var Ts={};Object.defineProperty(Ts,"passive",{get:function(){Ha=!0}}),window.addEventListener("test",Ts,Ts),window.removeEventListener("test",Ts,Ts)}catch{Ha=!1}function Qg(i,s,a,c,d,_,w,D,H){var ee=Array.prototype.slice.call(arguments,3);try{s.apply(a,ee)}catch(le){this.onError(le)}}var Bs=!1,Hn=null,$n=!1,$a=null,Jg={onError:function(i){Bs=!0,Hn=i}};function Zg(i,s,a,c,d,_,w,D,H){Bs=!1,Hn=null,Qg.apply(Jg,arguments)}function ev(i,s,a,c,d,_,w,D,H){if(Zg.apply(this,arguments),Bs){if(Bs){var ee=Hn;Bs=!1,Hn=null}else throw Error(r(198));$n||($n=!0,$a=ee)}}function Rr(i){var s=i,a=i;if(i.alternate)for(;s.return;)s=s.return;else{i=s;do s=i,(s.flags&4098)!==0&&(a=s.return),i=s.return;while(i)}return s.tag===3?a:null}function Ih(i){if(i.tag===13){var s=i.memoizedState;if(s===null&&(i=i.alternate,i!==null&&(s=i.memoizedState)),s!==null)return s.dehydrated}return null}function Oh(i){if(Rr(i)!==i)throw Error(r(188))}function tv(i){var s=i.alternate;if(!s){if(s=Rr(i),s===null)throw Error(r(188));return s!==i?null:i}for(var a=i,c=s;;){var d=a.return;if(d===null)break;var _=d.alternate;if(_===null){if(c=d.return,c!==null){a=c;continue}break}if(d.child===_.child){for(_=d.child;_;){if(_===a)return Oh(d),i;if(_===c)return Oh(d),s;_=_.sibling}throw Error(r(188))}if(a.return!==c.return)a=d,c=_;else{for(var w=!1,D=d.child;D;){if(D===a){w=!0,a=d,c=_;break}if(D===c){w=!0,c=d,a=_;break}D=D.sibling}if(!w){for(D=_.child;D;){if(D===a){w=!0,a=_,c=d;break}if(D===c){w=!0,c=_,a=d;break}D=D.sibling}if(!w)throw Error(r(189))}}if(a.alternate!==c)throw Error(r(190))}if(a.tag!==3)throw Error(r(188));return a.stateNode.current===a?i:s}function zh(i){return i=tv(i),i!==null?Fh(i):null}function Fh(i){if(i.tag===5||i.tag===6)return i;for(i=i.child;i!==null;){var s=Fh(i);if(s!==null)return s;i=i.sibling}return null}var Hh=t.unstable_scheduleCallback,$h=t.unstable_cancelCallback,iv=t.unstable_shouldYield,rv=t.unstable_requestPaint,Ze=t.unstable_now,sv=t.unstable_getCurrentPriorityLevel,Wa=t.unstable_ImmediatePriority,Wh=t.unstable_UserBlockingPriority,Wn=t.unstable_NormalPriority,nv=t.unstable_LowPriority,Uh=t.unstable_IdlePriority,Un=null,Ni=null;function ov(i){if(Ni&&typeof Ni.onCommitFiberRoot=="function")try{Ni.onCommitFiberRoot(Un,i,void 0,(i.current.flags&128)===128)}catch{}}var vi=Math.clz32?Math.clz32:cv,av=Math.log,lv=Math.LN2;function cv(i){return i>>>=0,i===0?32:31-(av(i)/lv|0)|0}var qn=64,Kn=4194304;function js(i){switch(i&-i){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 i&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return i&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return i}}function Vn(i,s){var a=i.pendingLanes;if(a===0)return 0;var c=0,d=i.suspendedLanes,_=i.pingedLanes,w=a&268435455;if(w!==0){var D=w&~d;D!==0?c=js(D):(_&=w,_!==0&&(c=js(_)))}else w=a&~d,w!==0?c=js(w):_!==0&&(c=js(_));if(c===0)return 0;if(s!==0&&s!==c&&(s&d)===0&&(d=c&-c,_=s&-s,d>=_||d===16&&(_&4194240)!==0))return s;if((c&4)!==0&&(c|=a&16),s=i.entangledLanes,s!==0)for(i=i.entanglements,s&=c;0<s;)a=31-vi(s),d=1<<a,c|=i[a],s&=~d;return c}function uv(i,s){switch(i){case 1:case 2:case 4:return s+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 s+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function hv(i,s){for(var a=i.suspendedLanes,c=i.pingedLanes,d=i.expirationTimes,_=i.pendingLanes;0<_;){var w=31-vi(_),D=1<<w,H=d[w];H===-1?((D&a)===0||(D&c)!==0)&&(d[w]=uv(D,s)):H<=s&&(i.expiredLanes|=D),_&=~D}}function Ua(i){return i=i.pendingLanes&-1073741825,i!==0?i:i&1073741824?1073741824:0}function qh(){var i=qn;return qn<<=1,(qn&4194240)===0&&(qn=64),i}function qa(i){for(var s=[],a=0;31>a;a++)s.push(i);return s}function As(i,s,a){i.pendingLanes|=s,s!==536870912&&(i.suspendedLanes=0,i.pingedLanes=0),i=i.eventTimes,s=31-vi(s),i[s]=a}function dv(i,s){var a=i.pendingLanes&~s;i.pendingLanes=s,i.suspendedLanes=0,i.pingedLanes=0,i.expiredLanes&=s,i.mutableReadLanes&=s,i.entangledLanes&=s,s=i.entanglements;var c=i.eventTimes;for(i=i.expirationTimes;0<a;){var d=31-vi(a),_=1<<d;s[d]=0,c[d]=-1,i[d]=-1,a&=~_}}function Ka(i,s){var a=i.entangledLanes|=s;for(i=i.entanglements;a;){var c=31-vi(a),d=1<<c;d&s|i[c]&s&&(i[c]|=s),a&=~d}}var Oe=0;function Kh(i){return i&=-i,1<i?4<i?(i&268435455)!==0?16:536870912:4:1}var Vh,Va,Yh,Xh,Gh,Ya=!1,Yn=[],tr=null,ir=null,rr=null,Is=new Map,Os=new Map,sr=[],fv="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 Qh(i,s){switch(i){case"focusin":case"focusout":tr=null;break;case"dragenter":case"dragleave":ir=null;break;case"mouseover":case"mouseout":rr=null;break;case"pointerover":case"pointerout":Is.delete(s.pointerId);break;case"gotpointercapture":case"lostpointercapture":Os.delete(s.pointerId)}}function zs(i,s,a,c,d,_){return i===null||i.nativeEvent!==_?(i={blockedOn:s,domEventName:a,eventSystemFlags:c,nativeEvent:_,targetContainers:[d]},s!==null&&(s=Zs(s),s!==null&&Va(s)),i):(i.eventSystemFlags|=c,s=i.targetContainers,d!==null&&s.indexOf(d)===-1&&s.push(d),i)}function pv(i,s,a,c,d){switch(s){case"focusin":return tr=zs(tr,i,s,a,c,d),!0;case"dragenter":return ir=zs(ir,i,s,a,c,d),!0;case"mouseover":return rr=zs(rr,i,s,a,c,d),!0;case"pointerover":var _=d.pointerId;return Is.set(_,zs(Is.get(_)||null,i,s,a,c,d)),!0;case"gotpointercapture":return _=d.pointerId,Os.set(_,zs(Os.get(_)||null,i,s,a,c,d)),!0}return!1}function Jh(i){var s=Pr(i.target);if(s!==null){var a=Rr(s);if(a!==null){if(s=a.tag,s===13){if(s=Ih(a),s!==null){i.blockedOn=s,Gh(i.priority,function(){Yh(a)});return}}else if(s===3&&a.stateNode.current.memoizedState.isDehydrated){i.blockedOn=a.tag===3?a.stateNode.containerInfo:null;return}}}i.blockedOn=null}function Xn(i){if(i.blockedOn!==null)return!1;for(var s=i.targetContainers;0<s.length;){var a=Ga(i.domEventName,i.eventSystemFlags,s[0],i.nativeEvent);if(a===null){a=i.nativeEvent;var c=new a.constructor(a.type,a);Ia=c,a.target.dispatchEvent(c),Ia=null}else return s=Zs(a),s!==null&&Va(s),i.blockedOn=a,!1;s.shift()}return!0}function Zh(i,s,a){Xn(i)&&a.delete(s)}function mv(){Ya=!1,tr!==null&&Xn(tr)&&(tr=null),ir!==null&&Xn(ir)&&(ir=null),rr!==null&&Xn(rr)&&(rr=null),Is.forEach(Zh),Os.forEach(Zh)}function Fs(i,s){i.blockedOn===s&&(i.blockedOn=null,Ya||(Ya=!0,t.unstable_scheduleCallback(t.unstable_NormalPriority,mv)))}function Hs(i){function s(d){return Fs(d,i)}if(0<Yn.length){Fs(Yn[0],i);for(var a=1;a<Yn.length;a++){var c=Yn[a];c.blockedOn===i&&(c.blockedOn=null)}}for(tr!==null&&Fs(tr,i),ir!==null&&Fs(ir,i),rr!==null&&Fs(rr,i),Is.forEach(s),Os.forEach(s),a=0;a<sr.length;a++)c=sr[a],c.blockedOn===i&&(c.blockedOn=null);for(;0<sr.length&&(a=sr[0],a.blockedOn===null);)Jh(a),a.blockedOn===null&&sr.shift()}var ts=$.ReactCurrentBatchConfig,Gn=!0;function _v(i,s,a,c){var d=Oe,_=ts.transition;ts.transition=null;try{Oe=1,Xa(i,s,a,c)}finally{Oe=d,ts.transition=_}}function gv(i,s,a,c){var d=Oe,_=ts.transition;ts.transition=null;try{Oe=4,Xa(i,s,a,c)}finally{Oe=d,ts.transition=_}}function Xa(i,s,a,c){if(Gn){var d=Ga(i,s,a,c);if(d===null)fl(i,s,c,Qn,a),Qh(i,c);else if(pv(d,i,s,a,c))c.stopPropagation();else if(Qh(i,c),s&4&&-1<fv.indexOf(i)){for(;d!==null;){var _=Zs(d);if(_!==null&&Vh(_),_=Ga(i,s,a,c),_===null&&fl(i,s,c,Qn,a),_===d)break;d=_}d!==null&&c.stopPropagation()}else fl(i,s,c,null,a)}}var Qn=null;function Ga(i,s,a,c){if(Qn=null,i=Oa(c),i=Pr(i),i!==null)if(s=Rr(i),s===null)i=null;else if(a=s.tag,a===13){if(i=Ih(s),i!==null)return i;i=null}else if(a===3){if(s.stateNode.current.memoizedState.isDehydrated)return s.tag===3?s.stateNode.containerInfo:null;i=null}else s!==i&&(i=null);return Qn=i,null}function ed(i){switch(i){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(sv()){case Wa:return 1;case Wh:return 4;case Wn:case nv:return 16;case Uh:return 536870912;default:return 16}default:return 16}}var nr=null,Qa=null,Jn=null;function td(){if(Jn)return Jn;var i,s=Qa,a=s.length,c,d="value"in nr?nr.value:nr.textContent,_=d.length;for(i=0;i<a&&s[i]===d[i];i++);var w=a-i;for(c=1;c<=w&&s[a-c]===d[_-c];c++);return Jn=d.slice(i,1<c?1-c:void 0)}function Zn(i){var s=i.keyCode;return"charCode"in i?(i=i.charCode,i===0&&s===13&&(i=13)):i=s,i===10&&(i=13),32<=i||i===13?i:0}function eo(){return!0}function id(){return!1}function Vt(i){function s(a,c,d,_,w){this._reactName=a,this._targetInst=d,this.type=c,this.nativeEvent=_,this.target=w,this.currentTarget=null;for(var D in i)i.hasOwnProperty(D)&&(a=i[D],this[D]=a?a(_):_[D]);return this.isDefaultPrevented=(_.defaultPrevented!=null?_.defaultPrevented:_.returnValue===!1)?eo:id,this.isPropagationStopped=id,this}return ie(s.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():typeof a.returnValue!="unknown"&&(a.returnValue=!1),this.isDefaultPrevented=eo)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():typeof a.cancelBubble!="unknown"&&(a.cancelBubble=!0),this.isPropagationStopped=eo)},persist:function(){},isPersistent:eo}),s}var is={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(i){return i.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Ja=Vt(is),$s=ie({},is,{view:0,detail:0}),vv=Vt($s),Za,el,Ws,to=ie({},$s,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:il,button:0,buttons:0,relatedTarget:function(i){return i.relatedTarget===void 0?i.fromElement===i.srcElement?i.toElement:i.fromElement:i.relatedTarget},movementX:function(i){return"movementX"in i?i.movementX:(i!==Ws&&(Ws&&i.type==="mousemove"?(Za=i.screenX-Ws.screenX,el=i.screenY-Ws.screenY):el=Za=0,Ws=i),Za)},movementY:function(i){return"movementY"in i?i.movementY:el}}),rd=Vt(to),yv=ie({},to,{dataTransfer:0}),Sv=Vt(yv),wv=ie({},$s,{relatedTarget:0}),tl=Vt(wv),Cv=ie({},is,{animationName:0,elapsedTime:0,pseudoElement:0}),bv=Vt(Cv),xv=ie({},is,{clipboardData:function(i){return"clipboardData"in i?i.clipboardData:window.clipboardData}}),kv=Vt(xv),Ev=ie({},is,{data:0}),sd=Vt(Ev),Nv={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},Rv={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"},Pv={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function Dv(i){var s=this.nativeEvent;return s.getModifierState?s.getModifierState(i):(i=Pv[i])?!!s[i]:!1}function il(){return Dv}var Mv=ie({},$s,{key:function(i){if(i.key){var s=Nv[i.key]||i.key;if(s!=="Unidentified")return s}return i.type==="keypress"?(i=Zn(i),i===13?"Enter":String.fromCharCode(i)):i.type==="keydown"||i.type==="keyup"?Rv[i.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:il,charCode:function(i){return i.type==="keypress"?Zn(i):0},keyCode:function(i){return i.type==="keydown"||i.type==="keyup"?i.keyCode:0},which:function(i){return i.type==="keypress"?Zn(i):i.type==="keydown"||i.type==="keyup"?i.keyCode:0}}),Lv=Vt(Mv),Tv=ie({},to,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),nd=Vt(Tv),Bv=ie({},$s,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:il}),jv=Vt(Bv),Av=ie({},is,{propertyName:0,elapsedTime:0,pseudoElement:0}),Iv=Vt(Av),Ov=ie({},to,{deltaX:function(i){return"deltaX"in i?i.deltaX:"wheelDeltaX"in i?-i.wheelDeltaX:0},deltaY:function(i){return"deltaY"in i?i.deltaY:"wheelDeltaY"in i?-i.wheelDeltaY:"wheelDelta"in i?-i.wheelDelta:0},deltaZ:0,deltaMode:0}),zv=Vt(Ov),Fv=[9,13,27,32],rl=f&&"CompositionEvent"in window,Us=null;f&&"documentMode"in document&&(Us=document.documentMode);var Hv=f&&"TextEvent"in window&&!Us,od=f&&(!rl||Us&&8<Us&&11>=Us),ad=" ",ld=!1;function cd(i,s){switch(i){case"keyup":return Fv.indexOf(s.keyCode)!==-1;case"keydown":return s.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function ud(i){return i=i.detail,typeof i=="object"&&"data"in i?i.data:null}var rs=!1;function $v(i,s){switch(i){case"compositionend":return ud(s);case"keypress":return s.which!==32?null:(ld=!0,ad);case"textInput":return i=s.data,i===ad&&ld?null:i;default:return null}}function Wv(i,s){if(rs)return i==="compositionend"||!rl&&cd(i,s)?(i=td(),Jn=Qa=nr=null,rs=!1,i):null;switch(i){case"paste":return null;case"keypress":if(!(s.ctrlKey||s.altKey||s.metaKey)||s.ctrlKey&&s.altKey){if(s.char&&1<s.char.length)return s.char;if(s.which)return String.fromCharCode(s.which)}return null;case"compositionend":return od&&s.locale!=="ko"?null:s.data;default:return null}}var Uv={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 hd(i){var s=i&&i.nodeName&&i.nodeName.toLowerCase();return s==="input"?!!Uv[i.type]:s==="textarea"}function dd(i,s,a,c){Lh(c),s=oo(s,"onChange"),0<s.length&&(a=new Ja("onChange","change",null,a,c),i.push({event:a,listeners:s}))}var qs=null,Ks=null;function qv(i){Dd(i,0)}function io(i){var s=ls(i);if(it(s))return i}function Kv(i,s){if(i==="change")return s}var fd=!1;if(f){var sl;if(f){var nl="oninput"in document;if(!nl){var pd=document.createElement("div");pd.setAttribute("oninput","return;"),nl=typeof pd.oninput=="function"}sl=nl}else sl=!1;fd=sl&&(!document.documentMode||9<document.documentMode)}function md(){qs&&(qs.detachEvent("onpropertychange",_d),Ks=qs=null)}function _d(i){if(i.propertyName==="value"&&io(Ks)){var s=[];dd(s,Ks,i,Oa(i)),Ah(qv,s)}}function Vv(i,s,a){i==="focusin"?(md(),qs=s,Ks=a,qs.attachEvent("onpropertychange",_d)):i==="focusout"&&md()}function Yv(i){if(i==="selectionchange"||i==="keyup"||i==="keydown")return io(Ks)}function Xv(i,s){if(i==="click")return io(s)}function Gv(i,s){if(i==="input"||i==="change")return io(s)}function Qv(i,s){return i===s&&(i!==0||1/i===1/s)||i!==i&&s!==s}var yi=typeof Object.is=="function"?Object.is:Qv;function Vs(i,s){if(yi(i,s))return!0;if(typeof i!="object"||i===null||typeof s!="object"||s===null)return!1;var a=Object.keys(i),c=Object.keys(s);if(a.length!==c.length)return!1;for(c=0;c<a.length;c++){var d=a[c];if(!m.call(s,d)||!yi(i[d],s[d]))return!1}return!0}function gd(i){for(;i&&i.firstChild;)i=i.firstChild;return i}function vd(i,s){var a=gd(i);i=0;for(var c;a;){if(a.nodeType===3){if(c=i+a.textContent.length,i<=s&&c>=s)return{node:a,offset:s-i};i=c}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=gd(a)}}function yd(i,s){return i&&s?i===s?!0:i&&i.nodeType===3?!1:s&&s.nodeType===3?yd(i,s.parentNode):"contains"in i?i.contains(s):i.compareDocumentPosition?!!(i.compareDocumentPosition(s)&16):!1:!1}function Sd(){for(var i=window,s=Se();s instanceof i.HTMLIFrameElement;){try{var a=typeof s.contentWindow.location.href=="string"}catch{a=!1}if(a)i=s.contentWindow;else break;s=Se(i.document)}return s}function ol(i){var s=i&&i.nodeName&&i.nodeName.toLowerCase();return s&&(s==="input"&&(i.type==="text"||i.type==="search"||i.type==="tel"||i.type==="url"||i.type==="password")||s==="textarea"||i.contentEditable==="true")}function Jv(i){var s=Sd(),a=i.focusedElem,c=i.selectionRange;if(s!==a&&a&&a.ownerDocument&&yd(a.ownerDocument.documentElement,a)){if(c!==null&&ol(a)){if(s=c.start,i=c.end,i===void 0&&(i=s),"selectionStart"in a)a.selectionStart=s,a.selectionEnd=Math.min(i,a.value.length);else if(i=(s=a.ownerDocument||document)&&s.defaultView||window,i.getSelection){i=i.getSelection();var d=a.textContent.length,_=Math.min(c.start,d);c=c.end===void 0?_:Math.min(c.end,d),!i.extend&&_>c&&(d=c,c=_,_=d),d=vd(a,_);var w=vd(a,c);d&&w&&(i.rangeCount!==1||i.anchorNode!==d.node||i.anchorOffset!==d.offset||i.focusNode!==w.node||i.focusOffset!==w.offset)&&(s=s.createRange(),s.setStart(d.node,d.offset),i.removeAllRanges(),_>c?(i.addRange(s),i.extend(w.node,w.offset)):(s.setEnd(w.node,w.offset),i.addRange(s)))}}for(s=[],i=a;i=i.parentNode;)i.nodeType===1&&s.push({element:i,left:i.scrollLeft,top:i.scrollTop});for(typeof a.focus=="function"&&a.focus(),a=0;a<s.length;a++)i=s[a],i.element.scrollLeft=i.left,i.element.scrollTop=i.top}}var Zv=f&&"documentMode"in document&&11>=document.documentMode,ss=null,al=null,Ys=null,ll=!1;function wd(i,s,a){var c=a.window===a?a.document:a.nodeType===9?a:a.ownerDocument;ll||ss==null||ss!==Se(c)||(c=ss,"selectionStart"in c&&ol(c)?c={start:c.selectionStart,end:c.selectionEnd}:(c=(c.ownerDocument&&c.ownerDocument.defaultView||window).getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset}),Ys&&Vs(Ys,c)||(Ys=c,c=oo(al,"onSelect"),0<c.length&&(s=new Ja("onSelect","select",null,s,a),i.push({event:s,listeners:c}),s.target=ss)))}function ro(i,s){var a={};return a[i.toLowerCase()]=s.toLowerCase(),a["Webkit"+i]="webkit"+s,a["Moz"+i]="moz"+s,a}var ns={animationend:ro("Animation","AnimationEnd"),animationiteration:ro("Animation","AnimationIteration"),animationstart:ro("Animation","AnimationStart"),transitionend:ro("Transition","TransitionEnd")},cl={},Cd={};f&&(Cd=document.createElement("div").style,"AnimationEvent"in window||(delete ns.animationend.animation,delete ns.animationiteration.animation,delete ns.animationstart.animation),"TransitionEvent"in window||delete ns.transitionend.transition);function so(i){if(cl[i])return cl[i];if(!ns[i])return i;var s=ns[i],a;for(a in s)if(s.hasOwnProperty(a)&&a in Cd)return cl[i]=s[a];return i}var bd=so("animationend"),xd=so("animationiteration"),kd=so("animationstart"),Ed=so("transitionend"),Nd=new Map,Rd="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(i,s){Nd.set(i,s),l(s,[i])}for(var ul=0;ul<Rd.length;ul++){var hl=Rd[ul],ey=hl.toLowerCase(),ty=hl[0].toUpperCase()+hl.slice(1);or(ey,"on"+ty)}or(bd,"onAnimationEnd"),or(xd,"onAnimationIteration"),or(kd,"onAnimationStart"),or("dblclick","onDoubleClick"),or("focusin","onFocus"),or("focusout","onBlur"),or(Ed,"onTransitionEnd"),u("onMouseEnter",["mouseout","mouseover"]),u("onMouseLeave",["mouseout","mouseover"]),u("onPointerEnter",["pointerout","pointerover"]),u("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 Xs="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(" "),iy=new Set("cancel close invalid load scroll toggle".split(" ").concat(Xs));function Pd(i,s,a){var c=i.type||"unknown-event";i.currentTarget=a,ev(c,s,void 0,i),i.currentTarget=null}function Dd(i,s){s=(s&4)!==0;for(var a=0;a<i.length;a++){var c=i[a],d=c.event;c=c.listeners;e:{var _=void 0;if(s)for(var w=c.length-1;0<=w;w--){var D=c[w],H=D.instance,ee=D.currentTarget;if(D=D.listener,H!==_&&d.isPropagationStopped())break e;Pd(d,D,ee),_=H}else for(w=0;w<c.length;w++){if(D=c[w],H=D.instance,ee=D.currentTarget,D=D.listener,H!==_&&d.isPropagationStopped())break e;Pd(d,D,ee),_=H}}}if($n)throw i=$a,$n=!1,$a=null,i}function He(i,s){var a=s[yl];a===void 0&&(a=s[yl]=new Set);var c=i+"__bubble";a.has(c)||(Md(s,i,2,!1),a.add(c))}function dl(i,s,a){var c=0;s&&(c|=4),Md(a,i,c,s)}var no="_reactListening"+Math.random().toString(36).slice(2);function Gs(i){if(!i[no]){i[no]=!0,n.forEach(function(a){a!=="selectionchange"&&(iy.has(a)||dl(a,!1,i),dl(a,!0,i))});var s=i.nodeType===9?i:i.ownerDocument;s===null||s[no]||(s[no]=!0,dl("selectionchange",!1,s))}}function Md(i,s,a,c){switch(ed(s)){case 1:var d=_v;break;case 4:d=gv;break;default:d=Xa}a=d.bind(null,s,a,i),d=void 0,!Ha||s!=="touchstart"&&s!=="touchmove"&&s!=="wheel"||(d=!0),c?d!==void 0?i.addEventListener(s,a,{capture:!0,passive:d}):i.addEventListener(s,a,!0):d!==void 0?i.addEventListener(s,a,{passive:d}):i.addEventListener(s,a,!1)}function fl(i,s,a,c,d){var _=c;if((s&1)===0&&(s&2)===0&&c!==null)e:for(;;){if(c===null)return;var w=c.tag;if(w===3||w===4){var D=c.stateNode.containerInfo;if(D===d||D.nodeType===8&&D.parentNode===d)break;if(w===4)for(w=c.return;w!==null;){var H=w.tag;if((H===3||H===4)&&(H=w.stateNode.containerInfo,H===d||H.nodeType===8&&H.parentNode===d))return;w=w.return}for(;D!==null;){if(w=Pr(D),w===null)return;if(H=w.tag,H===5||H===6){c=_=w;continue e}D=D.parentNode}}c=c.return}Ah(function(){var ee=_,le=Oa(a),ce=[];e:{var oe=Nd.get(i);if(oe!==void 0){var me=Ja,ve=i;switch(i){case"keypress":if(Zn(a)===0)break e;case"keydown":case"keyup":me=Lv;break;case"focusin":ve="focus",me=tl;break;case"focusout":ve="blur",me=tl;break;case"beforeblur":case"afterblur":me=tl;break;case"click":if(a.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":me=rd;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":me=Sv;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":me=jv;break;case bd:case xd:case kd:me=bv;break;case Ed:me=Iv;break;case"scroll":me=vv;break;case"wheel":me=zv;break;case"copy":case"cut":case"paste":me=kv;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":me=nd}var ye=(s&4)!==0,et=!ye&&i==="scroll",G=ye?oe!==null?oe+"Capture":null:oe;ye=[];for(var q=ee,Z;q!==null;){Z=q;var he=Z.stateNode;if(Z.tag===5&&he!==null&&(Z=he,G!==null&&(he=Ls(q,G),he!=null&&ye.push(Qs(q,he,Z)))),et)break;q=q.return}0<ye.length&&(oe=new me(oe,ve,null,a,le),ce.push({event:oe,listeners:ye}))}}if((s&7)===0){e:{if(oe=i==="mouseover"||i==="pointerover",me=i==="mouseout"||i==="pointerout",oe&&a!==Ia&&(ve=a.relatedTarget||a.fromElement)&&(Pr(ve)||ve[Fi]))break e;if((me||oe)&&(oe=le.window===le?le:(oe=le.ownerDocument)?oe.defaultView||oe.parentWindow:window,me?(ve=a.relatedTarget||a.toElement,me=ee,ve=ve?Pr(ve):null,ve!==null&&(et=Rr(ve),ve!==et||ve.tag!==5&&ve.tag!==6)&&(ve=null)):(me=null,ve=ee),me!==ve)){if(ye=rd,he="onMouseLeave",G="onMouseEnter",q="mouse",(i==="pointerout"||i==="pointerover")&&(ye=nd,he="onPointerLeave",G="onPointerEnter",q="pointer"),et=me==null?oe:ls(me),Z=ve==null?oe:ls(ve),oe=new ye(he,q+"leave",me,a,le),oe.target=et,oe.relatedTarget=Z,he=null,Pr(le)===ee&&(ye=new ye(G,q+"enter",ve,a,le),ye.target=Z,ye.relatedTarget=et,he=ye),et=he,me&&ve)t:{for(ye=me,G=ve,q=0,Z=ye;Z;Z=os(Z))q++;for(Z=0,he=G;he;he=os(he))Z++;for(;0<q-Z;)ye=os(ye),q--;for(;0<Z-q;)G=os(G),Z--;for(;q--;){if(ye===G||G!==null&&ye===G.alternate)break t;ye=os(ye),G=os(G)}ye=null}else ye=null;me!==null&&Ld(ce,oe,me,ye,!1),ve!==null&&et!==null&&Ld(ce,et,ve,ye,!0)}}e:{if(oe=ee?ls(ee):window,me=oe.nodeName&&oe.nodeName.toLowerCase(),me==="select"||me==="input"&&oe.type==="file")var we=Kv;else if(hd(oe))if(fd)we=Gv;else{we=Yv;var be=Vv}else(me=oe.nodeName)&&me.toLowerCase()==="input"&&(oe.type==="checkbox"||oe.type==="radio")&&(we=Xv);if(we&&(we=we(i,ee))){dd(ce,we,a,le);break e}be&&be(i,oe,ee),i==="focusout"&&(be=oe._wrapperState)&&be.controlled&&oe.type==="number"&&ri(oe,"number",oe.value)}switch(be=ee?ls(ee):window,i){case"focusin":(hd(be)||be.contentEditable==="true")&&(ss=be,al=ee,Ys=null);break;case"focusout":Ys=al=ss=null;break;case"mousedown":ll=!0;break;case"contextmenu":case"mouseup":case"dragend":ll=!1,wd(ce,a,le);break;case"selectionchange":if(Zv)break;case"keydown":case"keyup":wd(ce,a,le)}var xe;if(rl)e:{switch(i){case"compositionstart":var ke="onCompositionStart";break e;case"compositionend":ke="onCompositionEnd";break e;case"compositionupdate":ke="onCompositionUpdate";break e}ke=void 0}else rs?cd(i,a)&&(ke="onCompositionEnd"):i==="keydown"&&a.keyCode===229&&(ke="onCompositionStart");ke&&(od&&a.locale!=="ko"&&(rs||ke!=="onCompositionStart"?ke==="onCompositionEnd"&&rs&&(xe=td()):(nr=le,Qa="value"in nr?nr.value:nr.textContent,rs=!0)),be=oo(ee,ke),0<be.length&&(ke=new sd(ke,i,null,a,le),ce.push({event:ke,listeners:be}),xe?ke.data=xe:(xe=ud(a),xe!==null&&(ke.data=xe)))),(xe=Hv?$v(i,a):Wv(i,a))&&(ee=oo(ee,"onBeforeInput"),0<ee.length&&(le=new sd("onBeforeInput","beforeinput",null,a,le),ce.push({event:le,listeners:ee}),le.data=xe))}Dd(ce,s)})}function Qs(i,s,a){return{instance:i,listener:s,currentTarget:a}}function oo(i,s){for(var a=s+"Capture",c=[];i!==null;){var d=i,_=d.stateNode;d.tag===5&&_!==null&&(d=_,_=Ls(i,a),_!=null&&c.unshift(Qs(i,_,d)),_=Ls(i,s),_!=null&&c.push(Qs(i,_,d))),i=i.return}return c}function os(i){if(i===null)return null;do i=i.return;while(i&&i.tag!==5);return i||null}function Ld(i,s,a,c,d){for(var _=s._reactName,w=[];a!==null&&a!==c;){var D=a,H=D.alternate,ee=D.stateNode;if(H!==null&&H===c)break;D.tag===5&&ee!==null&&(D=ee,d?(H=Ls(a,_),H!=null&&w.unshift(Qs(a,H,D))):d||(H=Ls(a,_),H!=null&&w.push(Qs(a,H,D)))),a=a.return}w.length!==0&&i.push({event:s,listeners:w})}var ry=/\r\n?/g,sy=/\u0000|\uFFFD/g;function Td(i){return(typeof i=="string"?i:""+i).replace(ry,`
|
|
38
|
+
`).replace(sy,"")}function ao(i,s,a){if(s=Td(s),Td(i)!==s&&a)throw Error(r(425))}function lo(){}var pl=null,ml=null;function _l(i,s){return i==="textarea"||i==="noscript"||typeof s.children=="string"||typeof s.children=="number"||typeof s.dangerouslySetInnerHTML=="object"&&s.dangerouslySetInnerHTML!==null&&s.dangerouslySetInnerHTML.__html!=null}var gl=typeof setTimeout=="function"?setTimeout:void 0,ny=typeof clearTimeout=="function"?clearTimeout:void 0,Bd=typeof Promise=="function"?Promise:void 0,oy=typeof queueMicrotask=="function"?queueMicrotask:typeof Bd<"u"?function(i){return Bd.resolve(null).then(i).catch(ay)}:gl;function ay(i){setTimeout(function(){throw i})}function vl(i,s){var a=s,c=0;do{var d=a.nextSibling;if(i.removeChild(a),d&&d.nodeType===8)if(a=d.data,a==="/$"){if(c===0){i.removeChild(d),Hs(s);return}c--}else a!=="$"&&a!=="$?"&&a!=="$!"||c++;a=d}while(a);Hs(s)}function ar(i){for(;i!=null;i=i.nextSibling){var s=i.nodeType;if(s===1||s===3)break;if(s===8){if(s=i.data,s==="$"||s==="$!"||s==="$?")break;if(s==="/$")return null}}return i}function jd(i){i=i.previousSibling;for(var s=0;i;){if(i.nodeType===8){var a=i.data;if(a==="$"||a==="$!"||a==="$?"){if(s===0)return i;s--}else a==="/$"&&s++}i=i.previousSibling}return null}var as=Math.random().toString(36).slice(2),Ri="__reactFiber$"+as,Js="__reactProps$"+as,Fi="__reactContainer$"+as,yl="__reactEvents$"+as,ly="__reactListeners$"+as,cy="__reactHandles$"+as;function Pr(i){var s=i[Ri];if(s)return s;for(var a=i.parentNode;a;){if(s=a[Fi]||a[Ri]){if(a=s.alternate,s.child!==null||a!==null&&a.child!==null)for(i=jd(i);i!==null;){if(a=i[Ri])return a;i=jd(i)}return s}i=a,a=i.parentNode}return null}function Zs(i){return i=i[Ri]||i[Fi],!i||i.tag!==5&&i.tag!==6&&i.tag!==13&&i.tag!==3?null:i}function ls(i){if(i.tag===5||i.tag===6)return i.stateNode;throw Error(r(33))}function co(i){return i[Js]||null}var Sl=[],cs=-1;function lr(i){return{current:i}}function $e(i){0>cs||(i.current=Sl[cs],Sl[cs]=null,cs--)}function Fe(i,s){cs++,Sl[cs]=i.current,i.current=s}var cr={},Et=lr(cr),Ot=lr(!1),Dr=cr;function us(i,s){var a=i.type.contextTypes;if(!a)return cr;var c=i.stateNode;if(c&&c.__reactInternalMemoizedUnmaskedChildContext===s)return c.__reactInternalMemoizedMaskedChildContext;var d={},_;for(_ in a)d[_]=s[_];return c&&(i=i.stateNode,i.__reactInternalMemoizedUnmaskedChildContext=s,i.__reactInternalMemoizedMaskedChildContext=d),d}function zt(i){return i=i.childContextTypes,i!=null}function uo(){$e(Ot),$e(Et)}function Ad(i,s,a){if(Et.current!==cr)throw Error(r(168));Fe(Et,s),Fe(Ot,a)}function Id(i,s,a){var c=i.stateNode;if(s=s.childContextTypes,typeof c.getChildContext!="function")return a;c=c.getChildContext();for(var d in c)if(!(d in s))throw Error(r(108,ue(i)||"Unknown",d));return ie({},a,c)}function ho(i){return i=(i=i.stateNode)&&i.__reactInternalMemoizedMergedChildContext||cr,Dr=Et.current,Fe(Et,i),Fe(Ot,Ot.current),!0}function Od(i,s,a){var c=i.stateNode;if(!c)throw Error(r(169));a?(i=Id(i,s,Dr),c.__reactInternalMemoizedMergedChildContext=i,$e(Ot),$e(Et),Fe(Et,i)):$e(Ot),Fe(Ot,a)}var Hi=null,fo=!1,wl=!1;function zd(i){Hi===null?Hi=[i]:Hi.push(i)}function uy(i){fo=!0,zd(i)}function ur(){if(!wl&&Hi!==null){wl=!0;var i=0,s=Oe;try{var a=Hi;for(Oe=1;i<a.length;i++){var c=a[i];do c=c(!0);while(c!==null)}Hi=null,fo=!1}catch(d){throw Hi!==null&&(Hi=Hi.slice(i+1)),Hh(Wa,ur),d}finally{Oe=s,wl=!1}}return null}var hs=[],ds=0,po=null,mo=0,oi=[],ai=0,Mr=null,$i=1,Wi="";function Lr(i,s){hs[ds++]=mo,hs[ds++]=po,po=i,mo=s}function Fd(i,s,a){oi[ai++]=$i,oi[ai++]=Wi,oi[ai++]=Mr,Mr=i;var c=$i;i=Wi;var d=32-vi(c)-1;c&=~(1<<d),a+=1;var _=32-vi(s)+d;if(30<_){var w=d-d%5;_=(c&(1<<w)-1).toString(32),c>>=w,d-=w,$i=1<<32-vi(s)+d|a<<d|c,Wi=_+i}else $i=1<<_|a<<d|c,Wi=i}function Cl(i){i.return!==null&&(Lr(i,1),Fd(i,1,0))}function bl(i){for(;i===po;)po=hs[--ds],hs[ds]=null,mo=hs[--ds],hs[ds]=null;for(;i===Mr;)Mr=oi[--ai],oi[ai]=null,Wi=oi[--ai],oi[ai]=null,$i=oi[--ai],oi[ai]=null}var Yt=null,Xt=null,Ue=!1,Si=null;function Hd(i,s){var a=hi(5,null,null,0);a.elementType="DELETED",a.stateNode=s,a.return=i,s=i.deletions,s===null?(i.deletions=[a],i.flags|=16):s.push(a)}function $d(i,s){switch(i.tag){case 5:var a=i.type;return s=s.nodeType!==1||a.toLowerCase()!==s.nodeName.toLowerCase()?null:s,s!==null?(i.stateNode=s,Yt=i,Xt=ar(s.firstChild),!0):!1;case 6:return s=i.pendingProps===""||s.nodeType!==3?null:s,s!==null?(i.stateNode=s,Yt=i,Xt=null,!0):!1;case 13:return s=s.nodeType!==8?null:s,s!==null?(a=Mr!==null?{id:$i,overflow:Wi}:null,i.memoizedState={dehydrated:s,treeContext:a,retryLane:1073741824},a=hi(18,null,null,0),a.stateNode=s,a.return=i,i.child=a,Yt=i,Xt=null,!0):!1;default:return!1}}function xl(i){return(i.mode&1)!==0&&(i.flags&128)===0}function kl(i){if(Ue){var s=Xt;if(s){var a=s;if(!$d(i,s)){if(xl(i))throw Error(r(418));s=ar(a.nextSibling);var c=Yt;s&&$d(i,s)?Hd(c,a):(i.flags=i.flags&-4097|2,Ue=!1,Yt=i)}}else{if(xl(i))throw Error(r(418));i.flags=i.flags&-4097|2,Ue=!1,Yt=i}}}function Wd(i){for(i=i.return;i!==null&&i.tag!==5&&i.tag!==3&&i.tag!==13;)i=i.return;Yt=i}function _o(i){if(i!==Yt)return!1;if(!Ue)return Wd(i),Ue=!0,!1;var s;if((s=i.tag!==3)&&!(s=i.tag!==5)&&(s=i.type,s=s!=="head"&&s!=="body"&&!_l(i.type,i.memoizedProps)),s&&(s=Xt)){if(xl(i))throw Ud(),Error(r(418));for(;s;)Hd(i,s),s=ar(s.nextSibling)}if(Wd(i),i.tag===13){if(i=i.memoizedState,i=i!==null?i.dehydrated:null,!i)throw Error(r(317));e:{for(i=i.nextSibling,s=0;i;){if(i.nodeType===8){var a=i.data;if(a==="/$"){if(s===0){Xt=ar(i.nextSibling);break e}s--}else a!=="$"&&a!=="$!"&&a!=="$?"||s++}i=i.nextSibling}Xt=null}}else Xt=Yt?ar(i.stateNode.nextSibling):null;return!0}function Ud(){for(var i=Xt;i;)i=ar(i.nextSibling)}function fs(){Xt=Yt=null,Ue=!1}function El(i){Si===null?Si=[i]:Si.push(i)}var hy=$.ReactCurrentBatchConfig;function en(i,s,a){if(i=a.ref,i!==null&&typeof i!="function"&&typeof i!="object"){if(a._owner){if(a=a._owner,a){if(a.tag!==1)throw Error(r(309));var c=a.stateNode}if(!c)throw Error(r(147,i));var d=c,_=""+i;return s!==null&&s.ref!==null&&typeof s.ref=="function"&&s.ref._stringRef===_?s.ref:(s=function(w){var D=d.refs;w===null?delete D[_]:D[_]=w},s._stringRef=_,s)}if(typeof i!="string")throw Error(r(284));if(!a._owner)throw Error(r(290,i))}return i}function go(i,s){throw i=Object.prototype.toString.call(s),Error(r(31,i==="[object Object]"?"object with keys {"+Object.keys(s).join(", ")+"}":i))}function qd(i){var s=i._init;return s(i._payload)}function Kd(i){function s(G,q){if(i){var Z=G.deletions;Z===null?(G.deletions=[q],G.flags|=16):Z.push(q)}}function a(G,q){if(!i)return null;for(;q!==null;)s(G,q),q=q.sibling;return null}function c(G,q){for(G=new Map;q!==null;)q.key!==null?G.set(q.key,q):G.set(q.index,q),q=q.sibling;return G}function d(G,q){return G=vr(G,q),G.index=0,G.sibling=null,G}function _(G,q,Z){return G.index=Z,i?(Z=G.alternate,Z!==null?(Z=Z.index,Z<q?(G.flags|=2,q):Z):(G.flags|=2,q)):(G.flags|=1048576,q)}function w(G){return i&&G.alternate===null&&(G.flags|=2),G}function D(G,q,Z,he){return q===null||q.tag!==6?(q=gc(Z,G.mode,he),q.return=G,q):(q=d(q,Z),q.return=G,q)}function H(G,q,Z,he){var we=Z.type;return we===P?le(G,q,Z.props.children,he,Z.key):q!==null&&(q.elementType===we||typeof we=="object"&&we!==null&&we.$$typeof===Q&&qd(we)===q.type)?(he=d(q,Z.props),he.ref=en(G,q,Z),he.return=G,he):(he=Ho(Z.type,Z.key,Z.props,null,G.mode,he),he.ref=en(G,q,Z),he.return=G,he)}function ee(G,q,Z,he){return q===null||q.tag!==4||q.stateNode.containerInfo!==Z.containerInfo||q.stateNode.implementation!==Z.implementation?(q=vc(Z,G.mode,he),q.return=G,q):(q=d(q,Z.children||[]),q.return=G,q)}function le(G,q,Z,he,we){return q===null||q.tag!==7?(q=Fr(Z,G.mode,he,we),q.return=G,q):(q=d(q,Z),q.return=G,q)}function ce(G,q,Z){if(typeof q=="string"&&q!==""||typeof q=="number")return q=gc(""+q,G.mode,Z),q.return=G,q;if(typeof q=="object"&&q!==null){switch(q.$$typeof){case te:return Z=Ho(q.type,q.key,q.props,null,G.mode,Z),Z.ref=en(G,null,q),Z.return=G,Z;case L:return q=vc(q,G.mode,Z),q.return=G,q;case Q:var he=q._init;return ce(G,he(q._payload),Z)}if(si(q)||J(q))return q=Fr(q,G.mode,Z,null),q.return=G,q;go(G,q)}return null}function oe(G,q,Z,he){var we=q!==null?q.key:null;if(typeof Z=="string"&&Z!==""||typeof Z=="number")return we!==null?null:D(G,q,""+Z,he);if(typeof Z=="object"&&Z!==null){switch(Z.$$typeof){case te:return Z.key===we?H(G,q,Z,he):null;case L:return Z.key===we?ee(G,q,Z,he):null;case Q:return we=Z._init,oe(G,q,we(Z._payload),he)}if(si(Z)||J(Z))return we!==null?null:le(G,q,Z,he,null);go(G,Z)}return null}function me(G,q,Z,he,we){if(typeof he=="string"&&he!==""||typeof he=="number")return G=G.get(Z)||null,D(q,G,""+he,we);if(typeof he=="object"&&he!==null){switch(he.$$typeof){case te:return G=G.get(he.key===null?Z:he.key)||null,H(q,G,he,we);case L:return G=G.get(he.key===null?Z:he.key)||null,ee(q,G,he,we);case Q:var be=he._init;return me(G,q,Z,be(he._payload),we)}if(si(he)||J(he))return G=G.get(Z)||null,le(q,G,he,we,null);go(q,he)}return null}function ve(G,q,Z,he){for(var we=null,be=null,xe=q,ke=q=0,ft=null;xe!==null&&ke<Z.length;ke++){xe.index>ke?(ft=xe,xe=null):ft=xe.sibling;var Ae=oe(G,xe,Z[ke],he);if(Ae===null){xe===null&&(xe=ft);break}i&&xe&&Ae.alternate===null&&s(G,xe),q=_(Ae,q,ke),be===null?we=Ae:be.sibling=Ae,be=Ae,xe=ft}if(ke===Z.length)return a(G,xe),Ue&&Lr(G,ke),we;if(xe===null){for(;ke<Z.length;ke++)xe=ce(G,Z[ke],he),xe!==null&&(q=_(xe,q,ke),be===null?we=xe:be.sibling=xe,be=xe);return Ue&&Lr(G,ke),we}for(xe=c(G,xe);ke<Z.length;ke++)ft=me(xe,G,ke,Z[ke],he),ft!==null&&(i&&ft.alternate!==null&&xe.delete(ft.key===null?ke:ft.key),q=_(ft,q,ke),be===null?we=ft:be.sibling=ft,be=ft);return i&&xe.forEach(function(yr){return s(G,yr)}),Ue&&Lr(G,ke),we}function ye(G,q,Z,he){var we=J(Z);if(typeof we!="function")throw Error(r(150));if(Z=we.call(Z),Z==null)throw Error(r(151));for(var be=we=null,xe=q,ke=q=0,ft=null,Ae=Z.next();xe!==null&&!Ae.done;ke++,Ae=Z.next()){xe.index>ke?(ft=xe,xe=null):ft=xe.sibling;var yr=oe(G,xe,Ae.value,he);if(yr===null){xe===null&&(xe=ft);break}i&&xe&&yr.alternate===null&&s(G,xe),q=_(yr,q,ke),be===null?we=yr:be.sibling=yr,be=yr,xe=ft}if(Ae.done)return a(G,xe),Ue&&Lr(G,ke),we;if(xe===null){for(;!Ae.done;ke++,Ae=Z.next())Ae=ce(G,Ae.value,he),Ae!==null&&(q=_(Ae,q,ke),be===null?we=Ae:be.sibling=Ae,be=Ae);return Ue&&Lr(G,ke),we}for(xe=c(G,xe);!Ae.done;ke++,Ae=Z.next())Ae=me(xe,G,ke,Ae.value,he),Ae!==null&&(i&&Ae.alternate!==null&&xe.delete(Ae.key===null?ke:Ae.key),q=_(Ae,q,ke),be===null?we=Ae:be.sibling=Ae,be=Ae);return i&&xe.forEach(function(Uy){return s(G,Uy)}),Ue&&Lr(G,ke),we}function et(G,q,Z,he){if(typeof Z=="object"&&Z!==null&&Z.type===P&&Z.key===null&&(Z=Z.props.children),typeof Z=="object"&&Z!==null){switch(Z.$$typeof){case te:e:{for(var we=Z.key,be=q;be!==null;){if(be.key===we){if(we=Z.type,we===P){if(be.tag===7){a(G,be.sibling),q=d(be,Z.props.children),q.return=G,G=q;break e}}else if(be.elementType===we||typeof we=="object"&&we!==null&&we.$$typeof===Q&&qd(we)===be.type){a(G,be.sibling),q=d(be,Z.props),q.ref=en(G,be,Z),q.return=G,G=q;break e}a(G,be);break}else s(G,be);be=be.sibling}Z.type===P?(q=Fr(Z.props.children,G.mode,he,Z.key),q.return=G,G=q):(he=Ho(Z.type,Z.key,Z.props,null,G.mode,he),he.ref=en(G,q,Z),he.return=G,G=he)}return w(G);case L:e:{for(be=Z.key;q!==null;){if(q.key===be)if(q.tag===4&&q.stateNode.containerInfo===Z.containerInfo&&q.stateNode.implementation===Z.implementation){a(G,q.sibling),q=d(q,Z.children||[]),q.return=G,G=q;break e}else{a(G,q);break}else s(G,q);q=q.sibling}q=vc(Z,G.mode,he),q.return=G,G=q}return w(G);case Q:return be=Z._init,et(G,q,be(Z._payload),he)}if(si(Z))return ve(G,q,Z,he);if(J(Z))return ye(G,q,Z,he);go(G,Z)}return typeof Z=="string"&&Z!==""||typeof Z=="number"?(Z=""+Z,q!==null&&q.tag===6?(a(G,q.sibling),q=d(q,Z),q.return=G,G=q):(a(G,q),q=gc(Z,G.mode,he),q.return=G,G=q),w(G)):a(G,q)}return et}var ps=Kd(!0),Vd=Kd(!1),vo=lr(null),yo=null,ms=null,Nl=null;function Rl(){Nl=ms=yo=null}function Pl(i){var s=vo.current;$e(vo),i._currentValue=s}function Dl(i,s,a){for(;i!==null;){var c=i.alternate;if((i.childLanes&s)!==s?(i.childLanes|=s,c!==null&&(c.childLanes|=s)):c!==null&&(c.childLanes&s)!==s&&(c.childLanes|=s),i===a)break;i=i.return}}function _s(i,s){yo=i,Nl=ms=null,i=i.dependencies,i!==null&&i.firstContext!==null&&((i.lanes&s)!==0&&(Ft=!0),i.firstContext=null)}function li(i){var s=i._currentValue;if(Nl!==i)if(i={context:i,memoizedValue:s,next:null},ms===null){if(yo===null)throw Error(r(308));ms=i,yo.dependencies={lanes:0,firstContext:i}}else ms=ms.next=i;return s}var Tr=null;function Ml(i){Tr===null?Tr=[i]:Tr.push(i)}function Yd(i,s,a,c){var d=s.interleaved;return d===null?(a.next=a,Ml(s)):(a.next=d.next,d.next=a),s.interleaved=a,Ui(i,c)}function Ui(i,s){i.lanes|=s;var a=i.alternate;for(a!==null&&(a.lanes|=s),a=i,i=i.return;i!==null;)i.childLanes|=s,a=i.alternate,a!==null&&(a.childLanes|=s),a=i,i=i.return;return a.tag===3?a.stateNode:null}var hr=!1;function Ll(i){i.updateQueue={baseState:i.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Xd(i,s){i=i.updateQueue,s.updateQueue===i&&(s.updateQueue={baseState:i.baseState,firstBaseUpdate:i.firstBaseUpdate,lastBaseUpdate:i.lastBaseUpdate,shared:i.shared,effects:i.effects})}function qi(i,s){return{eventTime:i,lane:s,tag:0,payload:null,callback:null,next:null}}function dr(i,s,a){var c=i.updateQueue;if(c===null)return null;if(c=c.shared,(je&2)!==0){var d=c.pending;return d===null?s.next=s:(s.next=d.next,d.next=s),c.pending=s,Ui(i,a)}return d=c.interleaved,d===null?(s.next=s,Ml(c)):(s.next=d.next,d.next=s),c.interleaved=s,Ui(i,a)}function So(i,s,a){if(s=s.updateQueue,s!==null&&(s=s.shared,(a&4194240)!==0)){var c=s.lanes;c&=i.pendingLanes,a|=c,s.lanes=a,Ka(i,a)}}function Gd(i,s){var a=i.updateQueue,c=i.alternate;if(c!==null&&(c=c.updateQueue,a===c)){var d=null,_=null;if(a=a.firstBaseUpdate,a!==null){do{var w={eventTime:a.eventTime,lane:a.lane,tag:a.tag,payload:a.payload,callback:a.callback,next:null};_===null?d=_=w:_=_.next=w,a=a.next}while(a!==null);_===null?d=_=s:_=_.next=s}else d=_=s;a={baseState:c.baseState,firstBaseUpdate:d,lastBaseUpdate:_,shared:c.shared,effects:c.effects},i.updateQueue=a;return}i=a.lastBaseUpdate,i===null?a.firstBaseUpdate=s:i.next=s,a.lastBaseUpdate=s}function wo(i,s,a,c){var d=i.updateQueue;hr=!1;var _=d.firstBaseUpdate,w=d.lastBaseUpdate,D=d.shared.pending;if(D!==null){d.shared.pending=null;var H=D,ee=H.next;H.next=null,w===null?_=ee:w.next=ee,w=H;var le=i.alternate;le!==null&&(le=le.updateQueue,D=le.lastBaseUpdate,D!==w&&(D===null?le.firstBaseUpdate=ee:D.next=ee,le.lastBaseUpdate=H))}if(_!==null){var ce=d.baseState;w=0,le=ee=H=null,D=_;do{var oe=D.lane,me=D.eventTime;if((c&oe)===oe){le!==null&&(le=le.next={eventTime:me,lane:0,tag:D.tag,payload:D.payload,callback:D.callback,next:null});e:{var ve=i,ye=D;switch(oe=s,me=a,ye.tag){case 1:if(ve=ye.payload,typeof ve=="function"){ce=ve.call(me,ce,oe);break e}ce=ve;break e;case 3:ve.flags=ve.flags&-65537|128;case 0:if(ve=ye.payload,oe=typeof ve=="function"?ve.call(me,ce,oe):ve,oe==null)break e;ce=ie({},ce,oe);break e;case 2:hr=!0}}D.callback!==null&&D.lane!==0&&(i.flags|=64,oe=d.effects,oe===null?d.effects=[D]:oe.push(D))}else me={eventTime:me,lane:oe,tag:D.tag,payload:D.payload,callback:D.callback,next:null},le===null?(ee=le=me,H=ce):le=le.next=me,w|=oe;if(D=D.next,D===null){if(D=d.shared.pending,D===null)break;oe=D,D=oe.next,oe.next=null,d.lastBaseUpdate=oe,d.shared.pending=null}}while(!0);if(le===null&&(H=ce),d.baseState=H,d.firstBaseUpdate=ee,d.lastBaseUpdate=le,s=d.shared.interleaved,s!==null){d=s;do w|=d.lane,d=d.next;while(d!==s)}else _===null&&(d.shared.lanes=0);Ar|=w,i.lanes=w,i.memoizedState=ce}}function Qd(i,s,a){if(i=s.effects,s.effects=null,i!==null)for(s=0;s<i.length;s++){var c=i[s],d=c.callback;if(d!==null){if(c.callback=null,c=a,typeof d!="function")throw Error(r(191,d));d.call(c)}}}var tn={},Pi=lr(tn),rn=lr(tn),sn=lr(tn);function Br(i){if(i===tn)throw Error(r(174));return i}function Tl(i,s){switch(Fe(sn,s),Fe(rn,i),Fe(Pi,tn),i=s.nodeType,i){case 9:case 11:s=(s=s.documentElement)?s.namespaceURI:Ei(null,"");break;default:i=i===8?s.parentNode:s,s=i.namespaceURI||null,i=i.tagName,s=Ei(s,i)}$e(Pi),Fe(Pi,s)}function gs(){$e(Pi),$e(rn),$e(sn)}function Jd(i){Br(sn.current);var s=Br(Pi.current),a=Ei(s,i.type);s!==a&&(Fe(rn,i),Fe(Pi,a))}function Bl(i){rn.current===i&&($e(Pi),$e(rn))}var Ke=lr(0);function Co(i){for(var s=i;s!==null;){if(s.tag===13){var a=s.memoizedState;if(a!==null&&(a=a.dehydrated,a===null||a.data==="$?"||a.data==="$!"))return s}else if(s.tag===19&&s.memoizedProps.revealOrder!==void 0){if((s.flags&128)!==0)return s}else if(s.child!==null){s.child.return=s,s=s.child;continue}if(s===i)break;for(;s.sibling===null;){if(s.return===null||s.return===i)return null;s=s.return}s.sibling.return=s.return,s=s.sibling}return null}var jl=[];function Al(){for(var i=0;i<jl.length;i++)jl[i]._workInProgressVersionPrimary=null;jl.length=0}var bo=$.ReactCurrentDispatcher,Il=$.ReactCurrentBatchConfig,jr=0,Ve=null,ot=null,ht=null,xo=!1,nn=!1,on=0,dy=0;function Nt(){throw Error(r(321))}function Ol(i,s){if(s===null)return!1;for(var a=0;a<s.length&&a<i.length;a++)if(!yi(i[a],s[a]))return!1;return!0}function zl(i,s,a,c,d,_){if(jr=_,Ve=s,s.memoizedState=null,s.updateQueue=null,s.lanes=0,bo.current=i===null||i.memoizedState===null?_y:gy,i=a(c,d),nn){_=0;do{if(nn=!1,on=0,25<=_)throw Error(r(301));_+=1,ht=ot=null,s.updateQueue=null,bo.current=vy,i=a(c,d)}while(nn)}if(bo.current=No,s=ot!==null&&ot.next!==null,jr=0,ht=ot=Ve=null,xo=!1,s)throw Error(r(300));return i}function Fl(){var i=on!==0;return on=0,i}function Di(){var i={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return ht===null?Ve.memoizedState=ht=i:ht=ht.next=i,ht}function ci(){if(ot===null){var i=Ve.alternate;i=i!==null?i.memoizedState:null}else i=ot.next;var s=ht===null?Ve.memoizedState:ht.next;if(s!==null)ht=s,ot=i;else{if(i===null)throw Error(r(310));ot=i,i={memoizedState:ot.memoizedState,baseState:ot.baseState,baseQueue:ot.baseQueue,queue:ot.queue,next:null},ht===null?Ve.memoizedState=ht=i:ht=ht.next=i}return ht}function an(i,s){return typeof s=="function"?s(i):s}function Hl(i){var s=ci(),a=s.queue;if(a===null)throw Error(r(311));a.lastRenderedReducer=i;var c=ot,d=c.baseQueue,_=a.pending;if(_!==null){if(d!==null){var w=d.next;d.next=_.next,_.next=w}c.baseQueue=d=_,a.pending=null}if(d!==null){_=d.next,c=c.baseState;var D=w=null,H=null,ee=_;do{var le=ee.lane;if((jr&le)===le)H!==null&&(H=H.next={lane:0,action:ee.action,hasEagerState:ee.hasEagerState,eagerState:ee.eagerState,next:null}),c=ee.hasEagerState?ee.eagerState:i(c,ee.action);else{var ce={lane:le,action:ee.action,hasEagerState:ee.hasEagerState,eagerState:ee.eagerState,next:null};H===null?(D=H=ce,w=c):H=H.next=ce,Ve.lanes|=le,Ar|=le}ee=ee.next}while(ee!==null&&ee!==_);H===null?w=c:H.next=D,yi(c,s.memoizedState)||(Ft=!0),s.memoizedState=c,s.baseState=w,s.baseQueue=H,a.lastRenderedState=c}if(i=a.interleaved,i!==null){d=i;do _=d.lane,Ve.lanes|=_,Ar|=_,d=d.next;while(d!==i)}else d===null&&(a.lanes=0);return[s.memoizedState,a.dispatch]}function $l(i){var s=ci(),a=s.queue;if(a===null)throw Error(r(311));a.lastRenderedReducer=i;var c=a.dispatch,d=a.pending,_=s.memoizedState;if(d!==null){a.pending=null;var w=d=d.next;do _=i(_,w.action),w=w.next;while(w!==d);yi(_,s.memoizedState)||(Ft=!0),s.memoizedState=_,s.baseQueue===null&&(s.baseState=_),a.lastRenderedState=_}return[_,c]}function Zd(){}function ef(i,s){var a=Ve,c=ci(),d=s(),_=!yi(c.memoizedState,d);if(_&&(c.memoizedState=d,Ft=!0),c=c.queue,Wl(sf.bind(null,a,c,i),[i]),c.getSnapshot!==s||_||ht!==null&&ht.memoizedState.tag&1){if(a.flags|=2048,ln(9,rf.bind(null,a,c,d,s),void 0,null),dt===null)throw Error(r(349));(jr&30)!==0||tf(a,s,d)}return d}function tf(i,s,a){i.flags|=16384,i={getSnapshot:s,value:a},s=Ve.updateQueue,s===null?(s={lastEffect:null,stores:null},Ve.updateQueue=s,s.stores=[i]):(a=s.stores,a===null?s.stores=[i]:a.push(i))}function rf(i,s,a,c){s.value=a,s.getSnapshot=c,nf(s)&&of(i)}function sf(i,s,a){return a(function(){nf(s)&&of(i)})}function nf(i){var s=i.getSnapshot;i=i.value;try{var a=s();return!yi(i,a)}catch{return!0}}function of(i){var s=Ui(i,1);s!==null&&xi(s,i,1,-1)}function af(i){var s=Di();return typeof i=="function"&&(i=i()),s.memoizedState=s.baseState=i,i={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:an,lastRenderedState:i},s.queue=i,i=i.dispatch=my.bind(null,Ve,i),[s.memoizedState,i]}function ln(i,s,a,c){return i={tag:i,create:s,destroy:a,deps:c,next:null},s=Ve.updateQueue,s===null?(s={lastEffect:null,stores:null},Ve.updateQueue=s,s.lastEffect=i.next=i):(a=s.lastEffect,a===null?s.lastEffect=i.next=i:(c=a.next,a.next=i,i.next=c,s.lastEffect=i)),i}function lf(){return ci().memoizedState}function ko(i,s,a,c){var d=Di();Ve.flags|=i,d.memoizedState=ln(1|s,a,void 0,c===void 0?null:c)}function Eo(i,s,a,c){var d=ci();c=c===void 0?null:c;var _=void 0;if(ot!==null){var w=ot.memoizedState;if(_=w.destroy,c!==null&&Ol(c,w.deps)){d.memoizedState=ln(s,a,_,c);return}}Ve.flags|=i,d.memoizedState=ln(1|s,a,_,c)}function cf(i,s){return ko(8390656,8,i,s)}function Wl(i,s){return Eo(2048,8,i,s)}function uf(i,s){return Eo(4,2,i,s)}function hf(i,s){return Eo(4,4,i,s)}function df(i,s){if(typeof s=="function")return i=i(),s(i),function(){s(null)};if(s!=null)return i=i(),s.current=i,function(){s.current=null}}function ff(i,s,a){return a=a!=null?a.concat([i]):null,Eo(4,4,df.bind(null,s,i),a)}function Ul(){}function pf(i,s){var a=ci();s=s===void 0?null:s;var c=a.memoizedState;return c!==null&&s!==null&&Ol(s,c[1])?c[0]:(a.memoizedState=[i,s],i)}function mf(i,s){var a=ci();s=s===void 0?null:s;var c=a.memoizedState;return c!==null&&s!==null&&Ol(s,c[1])?c[0]:(i=i(),a.memoizedState=[i,s],i)}function _f(i,s,a){return(jr&21)===0?(i.baseState&&(i.baseState=!1,Ft=!0),i.memoizedState=a):(yi(a,s)||(a=qh(),Ve.lanes|=a,Ar|=a,i.baseState=!0),s)}function fy(i,s){var a=Oe;Oe=a!==0&&4>a?a:4,i(!0);var c=Il.transition;Il.transition={};try{i(!1),s()}finally{Oe=a,Il.transition=c}}function gf(){return ci().memoizedState}function py(i,s,a){var c=_r(i);if(a={lane:c,action:a,hasEagerState:!1,eagerState:null,next:null},vf(i))yf(s,a);else if(a=Yd(i,s,a,c),a!==null){var d=Tt();xi(a,i,c,d),Sf(a,s,c)}}function my(i,s,a){var c=_r(i),d={lane:c,action:a,hasEagerState:!1,eagerState:null,next:null};if(vf(i))yf(s,d);else{var _=i.alternate;if(i.lanes===0&&(_===null||_.lanes===0)&&(_=s.lastRenderedReducer,_!==null))try{var w=s.lastRenderedState,D=_(w,a);if(d.hasEagerState=!0,d.eagerState=D,yi(D,w)){var H=s.interleaved;H===null?(d.next=d,Ml(s)):(d.next=H.next,H.next=d),s.interleaved=d;return}}catch{}finally{}a=Yd(i,s,d,c),a!==null&&(d=Tt(),xi(a,i,c,d),Sf(a,s,c))}}function vf(i){var s=i.alternate;return i===Ve||s!==null&&s===Ve}function yf(i,s){nn=xo=!0;var a=i.pending;a===null?s.next=s:(s.next=a.next,a.next=s),i.pending=s}function Sf(i,s,a){if((a&4194240)!==0){var c=s.lanes;c&=i.pendingLanes,a|=c,s.lanes=a,Ka(i,a)}}var No={readContext:li,useCallback:Nt,useContext:Nt,useEffect:Nt,useImperativeHandle:Nt,useInsertionEffect:Nt,useLayoutEffect:Nt,useMemo:Nt,useReducer:Nt,useRef:Nt,useState:Nt,useDebugValue:Nt,useDeferredValue:Nt,useTransition:Nt,useMutableSource:Nt,useSyncExternalStore:Nt,useId:Nt,unstable_isNewReconciler:!1},_y={readContext:li,useCallback:function(i,s){return Di().memoizedState=[i,s===void 0?null:s],i},useContext:li,useEffect:cf,useImperativeHandle:function(i,s,a){return a=a!=null?a.concat([i]):null,ko(4194308,4,df.bind(null,s,i),a)},useLayoutEffect:function(i,s){return ko(4194308,4,i,s)},useInsertionEffect:function(i,s){return ko(4,2,i,s)},useMemo:function(i,s){var a=Di();return s=s===void 0?null:s,i=i(),a.memoizedState=[i,s],i},useReducer:function(i,s,a){var c=Di();return s=a!==void 0?a(s):s,c.memoizedState=c.baseState=s,i={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:i,lastRenderedState:s},c.queue=i,i=i.dispatch=py.bind(null,Ve,i),[c.memoizedState,i]},useRef:function(i){var s=Di();return i={current:i},s.memoizedState=i},useState:af,useDebugValue:Ul,useDeferredValue:function(i){return Di().memoizedState=i},useTransition:function(){var i=af(!1),s=i[0];return i=fy.bind(null,i[1]),Di().memoizedState=i,[s,i]},useMutableSource:function(){},useSyncExternalStore:function(i,s,a){var c=Ve,d=Di();if(Ue){if(a===void 0)throw Error(r(407));a=a()}else{if(a=s(),dt===null)throw Error(r(349));(jr&30)!==0||tf(c,s,a)}d.memoizedState=a;var _={value:a,getSnapshot:s};return d.queue=_,cf(sf.bind(null,c,_,i),[i]),c.flags|=2048,ln(9,rf.bind(null,c,_,a,s),void 0,null),a},useId:function(){var i=Di(),s=dt.identifierPrefix;if(Ue){var a=Wi,c=$i;a=(c&~(1<<32-vi(c)-1)).toString(32)+a,s=":"+s+"R"+a,a=on++,0<a&&(s+="H"+a.toString(32)),s+=":"}else a=dy++,s=":"+s+"r"+a.toString(32)+":";return i.memoizedState=s},unstable_isNewReconciler:!1},gy={readContext:li,useCallback:pf,useContext:li,useEffect:Wl,useImperativeHandle:ff,useInsertionEffect:uf,useLayoutEffect:hf,useMemo:mf,useReducer:Hl,useRef:lf,useState:function(){return Hl(an)},useDebugValue:Ul,useDeferredValue:function(i){var s=ci();return _f(s,ot.memoizedState,i)},useTransition:function(){var i=Hl(an)[0],s=ci().memoizedState;return[i,s]},useMutableSource:Zd,useSyncExternalStore:ef,useId:gf,unstable_isNewReconciler:!1},vy={readContext:li,useCallback:pf,useContext:li,useEffect:Wl,useImperativeHandle:ff,useInsertionEffect:uf,useLayoutEffect:hf,useMemo:mf,useReducer:$l,useRef:lf,useState:function(){return $l(an)},useDebugValue:Ul,useDeferredValue:function(i){var s=ci();return ot===null?s.memoizedState=i:_f(s,ot.memoizedState,i)},useTransition:function(){var i=$l(an)[0],s=ci().memoizedState;return[i,s]},useMutableSource:Zd,useSyncExternalStore:ef,useId:gf,unstable_isNewReconciler:!1};function wi(i,s){if(i&&i.defaultProps){s=ie({},s),i=i.defaultProps;for(var a in i)s[a]===void 0&&(s[a]=i[a]);return s}return s}function ql(i,s,a,c){s=i.memoizedState,a=a(c,s),a=a==null?s:ie({},s,a),i.memoizedState=a,i.lanes===0&&(i.updateQueue.baseState=a)}var Ro={isMounted:function(i){return(i=i._reactInternals)?Rr(i)===i:!1},enqueueSetState:function(i,s,a){i=i._reactInternals;var c=Tt(),d=_r(i),_=qi(c,d);_.payload=s,a!=null&&(_.callback=a),s=dr(i,_,d),s!==null&&(xi(s,i,d,c),So(s,i,d))},enqueueReplaceState:function(i,s,a){i=i._reactInternals;var c=Tt(),d=_r(i),_=qi(c,d);_.tag=1,_.payload=s,a!=null&&(_.callback=a),s=dr(i,_,d),s!==null&&(xi(s,i,d,c),So(s,i,d))},enqueueForceUpdate:function(i,s){i=i._reactInternals;var a=Tt(),c=_r(i),d=qi(a,c);d.tag=2,s!=null&&(d.callback=s),s=dr(i,d,c),s!==null&&(xi(s,i,c,a),So(s,i,c))}};function wf(i,s,a,c,d,_,w){return i=i.stateNode,typeof i.shouldComponentUpdate=="function"?i.shouldComponentUpdate(c,_,w):s.prototype&&s.prototype.isPureReactComponent?!Vs(a,c)||!Vs(d,_):!0}function Cf(i,s,a){var c=!1,d=cr,_=s.contextType;return typeof _=="object"&&_!==null?_=li(_):(d=zt(s)?Dr:Et.current,c=s.contextTypes,_=(c=c!=null)?us(i,d):cr),s=new s(a,_),i.memoizedState=s.state!==null&&s.state!==void 0?s.state:null,s.updater=Ro,i.stateNode=s,s._reactInternals=i,c&&(i=i.stateNode,i.__reactInternalMemoizedUnmaskedChildContext=d,i.__reactInternalMemoizedMaskedChildContext=_),s}function bf(i,s,a,c){i=s.state,typeof s.componentWillReceiveProps=="function"&&s.componentWillReceiveProps(a,c),typeof s.UNSAFE_componentWillReceiveProps=="function"&&s.UNSAFE_componentWillReceiveProps(a,c),s.state!==i&&Ro.enqueueReplaceState(s,s.state,null)}function Kl(i,s,a,c){var d=i.stateNode;d.props=a,d.state=i.memoizedState,d.refs={},Ll(i);var _=s.contextType;typeof _=="object"&&_!==null?d.context=li(_):(_=zt(s)?Dr:Et.current,d.context=us(i,_)),d.state=i.memoizedState,_=s.getDerivedStateFromProps,typeof _=="function"&&(ql(i,s,_,a),d.state=i.memoizedState),typeof s.getDerivedStateFromProps=="function"||typeof d.getSnapshotBeforeUpdate=="function"||typeof d.UNSAFE_componentWillMount!="function"&&typeof d.componentWillMount!="function"||(s=d.state,typeof d.componentWillMount=="function"&&d.componentWillMount(),typeof d.UNSAFE_componentWillMount=="function"&&d.UNSAFE_componentWillMount(),s!==d.state&&Ro.enqueueReplaceState(d,d.state,null),wo(i,a,d,c),d.state=i.memoizedState),typeof d.componentDidMount=="function"&&(i.flags|=4194308)}function vs(i,s){try{var a="",c=s;do a+=O(c),c=c.return;while(c);var d=a}catch(_){d=`
|
|
39
|
+
Error generating stack: `+_.message+`
|
|
40
|
+
`+_.stack}return{value:i,source:s,stack:d,digest:null}}function Vl(i,s,a){return{value:i,source:null,stack:a??null,digest:s??null}}function Yl(i,s){try{console.error(s.value)}catch(a){setTimeout(function(){throw a})}}var yy=typeof WeakMap=="function"?WeakMap:Map;function xf(i,s,a){a=qi(-1,a),a.tag=3,a.payload={element:null};var c=s.value;return a.callback=function(){jo||(jo=!0,cc=c),Yl(i,s)},a}function kf(i,s,a){a=qi(-1,a),a.tag=3;var c=i.type.getDerivedStateFromError;if(typeof c=="function"){var d=s.value;a.payload=function(){return c(d)},a.callback=function(){Yl(i,s)}}var _=i.stateNode;return _!==null&&typeof _.componentDidCatch=="function"&&(a.callback=function(){Yl(i,s),typeof c!="function"&&(pr===null?pr=new Set([this]):pr.add(this));var w=s.stack;this.componentDidCatch(s.value,{componentStack:w!==null?w:""})}),a}function Ef(i,s,a){var c=i.pingCache;if(c===null){c=i.pingCache=new yy;var d=new Set;c.set(s,d)}else d=c.get(s),d===void 0&&(d=new Set,c.set(s,d));d.has(a)||(d.add(a),i=Ty.bind(null,i,s,a),s.then(i,i))}function Nf(i){do{var s;if((s=i.tag===13)&&(s=i.memoizedState,s=s!==null?s.dehydrated!==null:!0),s)return i;i=i.return}while(i!==null);return null}function Rf(i,s,a,c,d){return(i.mode&1)===0?(i===s?i.flags|=65536:(i.flags|=128,a.flags|=131072,a.flags&=-52805,a.tag===1&&(a.alternate===null?a.tag=17:(s=qi(-1,1),s.tag=2,dr(a,s,1))),a.lanes|=1),i):(i.flags|=65536,i.lanes=d,i)}var Sy=$.ReactCurrentOwner,Ft=!1;function Lt(i,s,a,c){s.child=i===null?Vd(s,null,a,c):ps(s,i.child,a,c)}function Pf(i,s,a,c,d){a=a.render;var _=s.ref;return _s(s,d),c=zl(i,s,a,c,_,d),a=Fl(),i!==null&&!Ft?(s.updateQueue=i.updateQueue,s.flags&=-2053,i.lanes&=~d,Ki(i,s,d)):(Ue&&a&&Cl(s),s.flags|=1,Lt(i,s,c,d),s.child)}function Df(i,s,a,c,d){if(i===null){var _=a.type;return typeof _=="function"&&!_c(_)&&_.defaultProps===void 0&&a.compare===null&&a.defaultProps===void 0?(s.tag=15,s.type=_,Mf(i,s,_,c,d)):(i=Ho(a.type,null,c,s,s.mode,d),i.ref=s.ref,i.return=s,s.child=i)}if(_=i.child,(i.lanes&d)===0){var w=_.memoizedProps;if(a=a.compare,a=a!==null?a:Vs,a(w,c)&&i.ref===s.ref)return Ki(i,s,d)}return s.flags|=1,i=vr(_,c),i.ref=s.ref,i.return=s,s.child=i}function Mf(i,s,a,c,d){if(i!==null){var _=i.memoizedProps;if(Vs(_,c)&&i.ref===s.ref)if(Ft=!1,s.pendingProps=c=_,(i.lanes&d)!==0)(i.flags&131072)!==0&&(Ft=!0);else return s.lanes=i.lanes,Ki(i,s,d)}return Xl(i,s,a,c,d)}function Lf(i,s,a){var c=s.pendingProps,d=c.children,_=i!==null?i.memoizedState:null;if(c.mode==="hidden")if((s.mode&1)===0)s.memoizedState={baseLanes:0,cachePool:null,transitions:null},Fe(Ss,Gt),Gt|=a;else{if((a&1073741824)===0)return i=_!==null?_.baseLanes|a:a,s.lanes=s.childLanes=1073741824,s.memoizedState={baseLanes:i,cachePool:null,transitions:null},s.updateQueue=null,Fe(Ss,Gt),Gt|=i,null;s.memoizedState={baseLanes:0,cachePool:null,transitions:null},c=_!==null?_.baseLanes:a,Fe(Ss,Gt),Gt|=c}else _!==null?(c=_.baseLanes|a,s.memoizedState=null):c=a,Fe(Ss,Gt),Gt|=c;return Lt(i,s,d,a),s.child}function Tf(i,s){var a=s.ref;(i===null&&a!==null||i!==null&&i.ref!==a)&&(s.flags|=512,s.flags|=2097152)}function Xl(i,s,a,c,d){var _=zt(a)?Dr:Et.current;return _=us(s,_),_s(s,d),a=zl(i,s,a,c,_,d),c=Fl(),i!==null&&!Ft?(s.updateQueue=i.updateQueue,s.flags&=-2053,i.lanes&=~d,Ki(i,s,d)):(Ue&&c&&Cl(s),s.flags|=1,Lt(i,s,a,d),s.child)}function Bf(i,s,a,c,d){if(zt(a)){var _=!0;ho(s)}else _=!1;if(_s(s,d),s.stateNode===null)Do(i,s),Cf(s,a,c),Kl(s,a,c,d),c=!0;else if(i===null){var w=s.stateNode,D=s.memoizedProps;w.props=D;var H=w.context,ee=a.contextType;typeof ee=="object"&&ee!==null?ee=li(ee):(ee=zt(a)?Dr:Et.current,ee=us(s,ee));var le=a.getDerivedStateFromProps,ce=typeof le=="function"||typeof w.getSnapshotBeforeUpdate=="function";ce||typeof w.UNSAFE_componentWillReceiveProps!="function"&&typeof w.componentWillReceiveProps!="function"||(D!==c||H!==ee)&&bf(s,w,c,ee),hr=!1;var oe=s.memoizedState;w.state=oe,wo(s,c,w,d),H=s.memoizedState,D!==c||oe!==H||Ot.current||hr?(typeof le=="function"&&(ql(s,a,le,c),H=s.memoizedState),(D=hr||wf(s,a,D,c,oe,H,ee))?(ce||typeof w.UNSAFE_componentWillMount!="function"&&typeof w.componentWillMount!="function"||(typeof w.componentWillMount=="function"&&w.componentWillMount(),typeof w.UNSAFE_componentWillMount=="function"&&w.UNSAFE_componentWillMount()),typeof w.componentDidMount=="function"&&(s.flags|=4194308)):(typeof w.componentDidMount=="function"&&(s.flags|=4194308),s.memoizedProps=c,s.memoizedState=H),w.props=c,w.state=H,w.context=ee,c=D):(typeof w.componentDidMount=="function"&&(s.flags|=4194308),c=!1)}else{w=s.stateNode,Xd(i,s),D=s.memoizedProps,ee=s.type===s.elementType?D:wi(s.type,D),w.props=ee,ce=s.pendingProps,oe=w.context,H=a.contextType,typeof H=="object"&&H!==null?H=li(H):(H=zt(a)?Dr:Et.current,H=us(s,H));var me=a.getDerivedStateFromProps;(le=typeof me=="function"||typeof w.getSnapshotBeforeUpdate=="function")||typeof w.UNSAFE_componentWillReceiveProps!="function"&&typeof w.componentWillReceiveProps!="function"||(D!==ce||oe!==H)&&bf(s,w,c,H),hr=!1,oe=s.memoizedState,w.state=oe,wo(s,c,w,d);var ve=s.memoizedState;D!==ce||oe!==ve||Ot.current||hr?(typeof me=="function"&&(ql(s,a,me,c),ve=s.memoizedState),(ee=hr||wf(s,a,ee,c,oe,ve,H)||!1)?(le||typeof w.UNSAFE_componentWillUpdate!="function"&&typeof w.componentWillUpdate!="function"||(typeof w.componentWillUpdate=="function"&&w.componentWillUpdate(c,ve,H),typeof w.UNSAFE_componentWillUpdate=="function"&&w.UNSAFE_componentWillUpdate(c,ve,H)),typeof w.componentDidUpdate=="function"&&(s.flags|=4),typeof w.getSnapshotBeforeUpdate=="function"&&(s.flags|=1024)):(typeof w.componentDidUpdate!="function"||D===i.memoizedProps&&oe===i.memoizedState||(s.flags|=4),typeof w.getSnapshotBeforeUpdate!="function"||D===i.memoizedProps&&oe===i.memoizedState||(s.flags|=1024),s.memoizedProps=c,s.memoizedState=ve),w.props=c,w.state=ve,w.context=H,c=ee):(typeof w.componentDidUpdate!="function"||D===i.memoizedProps&&oe===i.memoizedState||(s.flags|=4),typeof w.getSnapshotBeforeUpdate!="function"||D===i.memoizedProps&&oe===i.memoizedState||(s.flags|=1024),c=!1)}return Gl(i,s,a,c,_,d)}function Gl(i,s,a,c,d,_){Tf(i,s);var w=(s.flags&128)!==0;if(!c&&!w)return d&&Od(s,a,!1),Ki(i,s,_);c=s.stateNode,Sy.current=s;var D=w&&typeof a.getDerivedStateFromError!="function"?null:c.render();return s.flags|=1,i!==null&&w?(s.child=ps(s,i.child,null,_),s.child=ps(s,null,D,_)):Lt(i,s,D,_),s.memoizedState=c.state,d&&Od(s,a,!0),s.child}function jf(i){var s=i.stateNode;s.pendingContext?Ad(i,s.pendingContext,s.pendingContext!==s.context):s.context&&Ad(i,s.context,!1),Tl(i,s.containerInfo)}function Af(i,s,a,c,d){return fs(),El(d),s.flags|=256,Lt(i,s,a,c),s.child}var Ql={dehydrated:null,treeContext:null,retryLane:0};function Jl(i){return{baseLanes:i,cachePool:null,transitions:null}}function If(i,s,a){var c=s.pendingProps,d=Ke.current,_=!1,w=(s.flags&128)!==0,D;if((D=w)||(D=i!==null&&i.memoizedState===null?!1:(d&2)!==0),D?(_=!0,s.flags&=-129):(i===null||i.memoizedState!==null)&&(d|=1),Fe(Ke,d&1),i===null)return kl(s),i=s.memoizedState,i!==null&&(i=i.dehydrated,i!==null)?((s.mode&1)===0?s.lanes=1:i.data==="$!"?s.lanes=8:s.lanes=1073741824,null):(w=c.children,i=c.fallback,_?(c=s.mode,_=s.child,w={mode:"hidden",children:w},(c&1)===0&&_!==null?(_.childLanes=0,_.pendingProps=w):_=$o(w,c,0,null),i=Fr(i,c,a,null),_.return=s,i.return=s,_.sibling=i,s.child=_,s.child.memoizedState=Jl(a),s.memoizedState=Ql,i):Zl(s,w));if(d=i.memoizedState,d!==null&&(D=d.dehydrated,D!==null))return wy(i,s,w,c,D,d,a);if(_){_=c.fallback,w=s.mode,d=i.child,D=d.sibling;var H={mode:"hidden",children:c.children};return(w&1)===0&&s.child!==d?(c=s.child,c.childLanes=0,c.pendingProps=H,s.deletions=null):(c=vr(d,H),c.subtreeFlags=d.subtreeFlags&14680064),D!==null?_=vr(D,_):(_=Fr(_,w,a,null),_.flags|=2),_.return=s,c.return=s,c.sibling=_,s.child=c,c=_,_=s.child,w=i.child.memoizedState,w=w===null?Jl(a):{baseLanes:w.baseLanes|a,cachePool:null,transitions:w.transitions},_.memoizedState=w,_.childLanes=i.childLanes&~a,s.memoizedState=Ql,c}return _=i.child,i=_.sibling,c=vr(_,{mode:"visible",children:c.children}),(s.mode&1)===0&&(c.lanes=a),c.return=s,c.sibling=null,i!==null&&(a=s.deletions,a===null?(s.deletions=[i],s.flags|=16):a.push(i)),s.child=c,s.memoizedState=null,c}function Zl(i,s){return s=$o({mode:"visible",children:s},i.mode,0,null),s.return=i,i.child=s}function Po(i,s,a,c){return c!==null&&El(c),ps(s,i.child,null,a),i=Zl(s,s.pendingProps.children),i.flags|=2,s.memoizedState=null,i}function wy(i,s,a,c,d,_,w){if(a)return s.flags&256?(s.flags&=-257,c=Vl(Error(r(422))),Po(i,s,w,c)):s.memoizedState!==null?(s.child=i.child,s.flags|=128,null):(_=c.fallback,d=s.mode,c=$o({mode:"visible",children:c.children},d,0,null),_=Fr(_,d,w,null),_.flags|=2,c.return=s,_.return=s,c.sibling=_,s.child=c,(s.mode&1)!==0&&ps(s,i.child,null,w),s.child.memoizedState=Jl(w),s.memoizedState=Ql,_);if((s.mode&1)===0)return Po(i,s,w,null);if(d.data==="$!"){if(c=d.nextSibling&&d.nextSibling.dataset,c)var D=c.dgst;return c=D,_=Error(r(419)),c=Vl(_,c,void 0),Po(i,s,w,c)}if(D=(w&i.childLanes)!==0,Ft||D){if(c=dt,c!==null){switch(w&-w){case 4:d=2;break;case 16:d=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:d=32;break;case 536870912:d=268435456;break;default:d=0}d=(d&(c.suspendedLanes|w))!==0?0:d,d!==0&&d!==_.retryLane&&(_.retryLane=d,Ui(i,d),xi(c,i,d,-1))}return mc(),c=Vl(Error(r(421))),Po(i,s,w,c)}return d.data==="$?"?(s.flags|=128,s.child=i.child,s=By.bind(null,i),d._reactRetry=s,null):(i=_.treeContext,Xt=ar(d.nextSibling),Yt=s,Ue=!0,Si=null,i!==null&&(oi[ai++]=$i,oi[ai++]=Wi,oi[ai++]=Mr,$i=i.id,Wi=i.overflow,Mr=s),s=Zl(s,c.children),s.flags|=4096,s)}function Of(i,s,a){i.lanes|=s;var c=i.alternate;c!==null&&(c.lanes|=s),Dl(i.return,s,a)}function ec(i,s,a,c,d){var _=i.memoizedState;_===null?i.memoizedState={isBackwards:s,rendering:null,renderingStartTime:0,last:c,tail:a,tailMode:d}:(_.isBackwards=s,_.rendering=null,_.renderingStartTime=0,_.last=c,_.tail=a,_.tailMode=d)}function zf(i,s,a){var c=s.pendingProps,d=c.revealOrder,_=c.tail;if(Lt(i,s,c.children,a),c=Ke.current,(c&2)!==0)c=c&1|2,s.flags|=128;else{if(i!==null&&(i.flags&128)!==0)e:for(i=s.child;i!==null;){if(i.tag===13)i.memoizedState!==null&&Of(i,a,s);else if(i.tag===19)Of(i,a,s);else if(i.child!==null){i.child.return=i,i=i.child;continue}if(i===s)break e;for(;i.sibling===null;){if(i.return===null||i.return===s)break e;i=i.return}i.sibling.return=i.return,i=i.sibling}c&=1}if(Fe(Ke,c),(s.mode&1)===0)s.memoizedState=null;else switch(d){case"forwards":for(a=s.child,d=null;a!==null;)i=a.alternate,i!==null&&Co(i)===null&&(d=a),a=a.sibling;a=d,a===null?(d=s.child,s.child=null):(d=a.sibling,a.sibling=null),ec(s,!1,d,a,_);break;case"backwards":for(a=null,d=s.child,s.child=null;d!==null;){if(i=d.alternate,i!==null&&Co(i)===null){s.child=d;break}i=d.sibling,d.sibling=a,a=d,d=i}ec(s,!0,a,null,_);break;case"together":ec(s,!1,null,null,void 0);break;default:s.memoizedState=null}return s.child}function Do(i,s){(s.mode&1)===0&&i!==null&&(i.alternate=null,s.alternate=null,s.flags|=2)}function Ki(i,s,a){if(i!==null&&(s.dependencies=i.dependencies),Ar|=s.lanes,(a&s.childLanes)===0)return null;if(i!==null&&s.child!==i.child)throw Error(r(153));if(s.child!==null){for(i=s.child,a=vr(i,i.pendingProps),s.child=a,a.return=s;i.sibling!==null;)i=i.sibling,a=a.sibling=vr(i,i.pendingProps),a.return=s;a.sibling=null}return s.child}function Cy(i,s,a){switch(s.tag){case 3:jf(s),fs();break;case 5:Jd(s);break;case 1:zt(s.type)&&ho(s);break;case 4:Tl(s,s.stateNode.containerInfo);break;case 10:var c=s.type._context,d=s.memoizedProps.value;Fe(vo,c._currentValue),c._currentValue=d;break;case 13:if(c=s.memoizedState,c!==null)return c.dehydrated!==null?(Fe(Ke,Ke.current&1),s.flags|=128,null):(a&s.child.childLanes)!==0?If(i,s,a):(Fe(Ke,Ke.current&1),i=Ki(i,s,a),i!==null?i.sibling:null);Fe(Ke,Ke.current&1);break;case 19:if(c=(a&s.childLanes)!==0,(i.flags&128)!==0){if(c)return zf(i,s,a);s.flags|=128}if(d=s.memoizedState,d!==null&&(d.rendering=null,d.tail=null,d.lastEffect=null),Fe(Ke,Ke.current),c)break;return null;case 22:case 23:return s.lanes=0,Lf(i,s,a)}return Ki(i,s,a)}var Ff,tc,Hf,$f;Ff=function(i,s){for(var a=s.child;a!==null;){if(a.tag===5||a.tag===6)i.appendChild(a.stateNode);else if(a.tag!==4&&a.child!==null){a.child.return=a,a=a.child;continue}if(a===s)break;for(;a.sibling===null;){if(a.return===null||a.return===s)return;a=a.return}a.sibling.return=a.return,a=a.sibling}},tc=function(){},Hf=function(i,s,a,c){var d=i.memoizedProps;if(d!==c){i=s.stateNode,Br(Pi.current);var _=null;switch(a){case"input":d=ti(i,d),c=ti(i,c),_=[];break;case"select":d=ie({},d,{value:void 0}),c=ie({},c,{value:void 0}),_=[];break;case"textarea":d=_e(i,d),c=_e(i,c),_=[];break;default:typeof d.onClick!="function"&&typeof c.onClick=="function"&&(i.onclick=lo)}ja(a,c);var w;a=null;for(ee in d)if(!c.hasOwnProperty(ee)&&d.hasOwnProperty(ee)&&d[ee]!=null)if(ee==="style"){var D=d[ee];for(w in D)D.hasOwnProperty(w)&&(a||(a={}),a[w]="")}else ee!=="dangerouslySetInnerHTML"&&ee!=="children"&&ee!=="suppressContentEditableWarning"&&ee!=="suppressHydrationWarning"&&ee!=="autoFocus"&&(o.hasOwnProperty(ee)?_||(_=[]):(_=_||[]).push(ee,null));for(ee in c){var H=c[ee];if(D=d!=null?d[ee]:void 0,c.hasOwnProperty(ee)&&H!==D&&(H!=null||D!=null))if(ee==="style")if(D){for(w in D)!D.hasOwnProperty(w)||H&&H.hasOwnProperty(w)||(a||(a={}),a[w]="");for(w in H)H.hasOwnProperty(w)&&D[w]!==H[w]&&(a||(a={}),a[w]=H[w])}else a||(_||(_=[]),_.push(ee,a)),a=H;else ee==="dangerouslySetInnerHTML"?(H=H?H.__html:void 0,D=D?D.__html:void 0,H!=null&&D!==H&&(_=_||[]).push(ee,H)):ee==="children"?typeof H!="string"&&typeof H!="number"||(_=_||[]).push(ee,""+H):ee!=="suppressContentEditableWarning"&&ee!=="suppressHydrationWarning"&&(o.hasOwnProperty(ee)?(H!=null&&ee==="onScroll"&&He("scroll",i),_||D===H||(_=[])):(_=_||[]).push(ee,H))}a&&(_=_||[]).push("style",a);var ee=_;(s.updateQueue=ee)&&(s.flags|=4)}},$f=function(i,s,a,c){a!==c&&(s.flags|=4)};function cn(i,s){if(!Ue)switch(i.tailMode){case"hidden":s=i.tail;for(var a=null;s!==null;)s.alternate!==null&&(a=s),s=s.sibling;a===null?i.tail=null:a.sibling=null;break;case"collapsed":a=i.tail;for(var c=null;a!==null;)a.alternate!==null&&(c=a),a=a.sibling;c===null?s||i.tail===null?i.tail=null:i.tail.sibling=null:c.sibling=null}}function Rt(i){var s=i.alternate!==null&&i.alternate.child===i.child,a=0,c=0;if(s)for(var d=i.child;d!==null;)a|=d.lanes|d.childLanes,c|=d.subtreeFlags&14680064,c|=d.flags&14680064,d.return=i,d=d.sibling;else for(d=i.child;d!==null;)a|=d.lanes|d.childLanes,c|=d.subtreeFlags,c|=d.flags,d.return=i,d=d.sibling;return i.subtreeFlags|=c,i.childLanes=a,s}function by(i,s,a){var c=s.pendingProps;switch(bl(s),s.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Rt(s),null;case 1:return zt(s.type)&&uo(),Rt(s),null;case 3:return c=s.stateNode,gs(),$e(Ot),$e(Et),Al(),c.pendingContext&&(c.context=c.pendingContext,c.pendingContext=null),(i===null||i.child===null)&&(_o(s)?s.flags|=4:i===null||i.memoizedState.isDehydrated&&(s.flags&256)===0||(s.flags|=1024,Si!==null&&(dc(Si),Si=null))),tc(i,s),Rt(s),null;case 5:Bl(s);var d=Br(sn.current);if(a=s.type,i!==null&&s.stateNode!=null)Hf(i,s,a,c,d),i.ref!==s.ref&&(s.flags|=512,s.flags|=2097152);else{if(!c){if(s.stateNode===null)throw Error(r(166));return Rt(s),null}if(i=Br(Pi.current),_o(s)){c=s.stateNode,a=s.type;var _=s.memoizedProps;switch(c[Ri]=s,c[Js]=_,i=(s.mode&1)!==0,a){case"dialog":He("cancel",c),He("close",c);break;case"iframe":case"object":case"embed":He("load",c);break;case"video":case"audio":for(d=0;d<Xs.length;d++)He(Xs[d],c);break;case"source":He("error",c);break;case"img":case"image":case"link":He("error",c),He("load",c);break;case"details":He("toggle",c);break;case"input":gi(c,_),He("invalid",c);break;case"select":c._wrapperState={wasMultiple:!!_.multiple},He("invalid",c);break;case"textarea":Be(c,_),He("invalid",c)}ja(a,_),d=null;for(var w in _)if(_.hasOwnProperty(w)){var D=_[w];w==="children"?typeof D=="string"?c.textContent!==D&&(_.suppressHydrationWarning!==!0&&ao(c.textContent,D,i),d=["children",D]):typeof D=="number"&&c.textContent!==""+D&&(_.suppressHydrationWarning!==!0&&ao(c.textContent,D,i),d=["children",""+D]):o.hasOwnProperty(w)&&D!=null&&w==="onScroll"&&He("scroll",c)}switch(a){case"input":St(c),ii(c,_,!0);break;case"textarea":St(c),Mt(c);break;case"select":case"option":break;default:typeof _.onClick=="function"&&(c.onclick=lo)}c=d,s.updateQueue=c,c!==null&&(s.flags|=4)}else{w=d.nodeType===9?d:d.ownerDocument,i==="http://www.w3.org/1999/xhtml"&&(i=ni(a)),i==="http://www.w3.org/1999/xhtml"?a==="script"?(i=w.createElement("div"),i.innerHTML="<script><\/script>",i=i.removeChild(i.firstChild)):typeof c.is=="string"?i=w.createElement(a,{is:c.is}):(i=w.createElement(a),a==="select"&&(w=i,c.multiple?w.multiple=!0:c.size&&(w.size=c.size))):i=w.createElementNS(i,a),i[Ri]=s,i[Js]=c,Ff(i,s,!1,!1),s.stateNode=i;e:{switch(w=Aa(a,c),a){case"dialog":He("cancel",i),He("close",i),d=c;break;case"iframe":case"object":case"embed":He("load",i),d=c;break;case"video":case"audio":for(d=0;d<Xs.length;d++)He(Xs[d],i);d=c;break;case"source":He("error",i),d=c;break;case"img":case"image":case"link":He("error",i),He("load",i),d=c;break;case"details":He("toggle",i),d=c;break;case"input":gi(i,c),d=ti(i,c),He("invalid",i);break;case"option":d=c;break;case"select":i._wrapperState={wasMultiple:!!c.multiple},d=ie({},c,{value:void 0}),He("invalid",i);break;case"textarea":Be(i,c),d=_e(i,c),He("invalid",i);break;default:d=c}ja(a,d),D=d;for(_ in D)if(D.hasOwnProperty(_)){var H=D[_];_==="style"?Dh(i,H):_==="dangerouslySetInnerHTML"?(H=H?H.__html:void 0,H!=null&&Fn(i,H)):_==="children"?typeof H=="string"?(a!=="textarea"||H!=="")&&fe(i,H):typeof H=="number"&&fe(i,""+H):_!=="suppressContentEditableWarning"&&_!=="suppressHydrationWarning"&&_!=="autoFocus"&&(o.hasOwnProperty(_)?H!=null&&_==="onScroll"&&He("scroll",i):H!=null&&T(i,_,H,w))}switch(a){case"input":St(i),ii(i,c,!1);break;case"textarea":St(i),Mt(i);break;case"option":c.value!=null&&i.setAttribute("value",""+ae(c.value));break;case"select":i.multiple=!!c.multiple,_=c.value,_!=null?It(i,!!c.multiple,_,!1):c.defaultValue!=null&&It(i,!!c.multiple,c.defaultValue,!0);break;default:typeof d.onClick=="function"&&(i.onclick=lo)}switch(a){case"button":case"input":case"select":case"textarea":c=!!c.autoFocus;break e;case"img":c=!0;break e;default:c=!1}}c&&(s.flags|=4)}s.ref!==null&&(s.flags|=512,s.flags|=2097152)}return Rt(s),null;case 6:if(i&&s.stateNode!=null)$f(i,s,i.memoizedProps,c);else{if(typeof c!="string"&&s.stateNode===null)throw Error(r(166));if(a=Br(sn.current),Br(Pi.current),_o(s)){if(c=s.stateNode,a=s.memoizedProps,c[Ri]=s,(_=c.nodeValue!==a)&&(i=Yt,i!==null))switch(i.tag){case 3:ao(c.nodeValue,a,(i.mode&1)!==0);break;case 5:i.memoizedProps.suppressHydrationWarning!==!0&&ao(c.nodeValue,a,(i.mode&1)!==0)}_&&(s.flags|=4)}else c=(a.nodeType===9?a:a.ownerDocument).createTextNode(c),c[Ri]=s,s.stateNode=c}return Rt(s),null;case 13:if($e(Ke),c=s.memoizedState,i===null||i.memoizedState!==null&&i.memoizedState.dehydrated!==null){if(Ue&&Xt!==null&&(s.mode&1)!==0&&(s.flags&128)===0)Ud(),fs(),s.flags|=98560,_=!1;else if(_=_o(s),c!==null&&c.dehydrated!==null){if(i===null){if(!_)throw Error(r(318));if(_=s.memoizedState,_=_!==null?_.dehydrated:null,!_)throw Error(r(317));_[Ri]=s}else fs(),(s.flags&128)===0&&(s.memoizedState=null),s.flags|=4;Rt(s),_=!1}else Si!==null&&(dc(Si),Si=null),_=!0;if(!_)return s.flags&65536?s:null}return(s.flags&128)!==0?(s.lanes=a,s):(c=c!==null,c!==(i!==null&&i.memoizedState!==null)&&c&&(s.child.flags|=8192,(s.mode&1)!==0&&(i===null||(Ke.current&1)!==0?at===0&&(at=3):mc())),s.updateQueue!==null&&(s.flags|=4),Rt(s),null);case 4:return gs(),tc(i,s),i===null&&Gs(s.stateNode.containerInfo),Rt(s),null;case 10:return Pl(s.type._context),Rt(s),null;case 17:return zt(s.type)&&uo(),Rt(s),null;case 19:if($e(Ke),_=s.memoizedState,_===null)return Rt(s),null;if(c=(s.flags&128)!==0,w=_.rendering,w===null)if(c)cn(_,!1);else{if(at!==0||i!==null&&(i.flags&128)!==0)for(i=s.child;i!==null;){if(w=Co(i),w!==null){for(s.flags|=128,cn(_,!1),c=w.updateQueue,c!==null&&(s.updateQueue=c,s.flags|=4),s.subtreeFlags=0,c=a,a=s.child;a!==null;)_=a,i=c,_.flags&=14680066,w=_.alternate,w===null?(_.childLanes=0,_.lanes=i,_.child=null,_.subtreeFlags=0,_.memoizedProps=null,_.memoizedState=null,_.updateQueue=null,_.dependencies=null,_.stateNode=null):(_.childLanes=w.childLanes,_.lanes=w.lanes,_.child=w.child,_.subtreeFlags=0,_.deletions=null,_.memoizedProps=w.memoizedProps,_.memoizedState=w.memoizedState,_.updateQueue=w.updateQueue,_.type=w.type,i=w.dependencies,_.dependencies=i===null?null:{lanes:i.lanes,firstContext:i.firstContext}),a=a.sibling;return Fe(Ke,Ke.current&1|2),s.child}i=i.sibling}_.tail!==null&&Ze()>ws&&(s.flags|=128,c=!0,cn(_,!1),s.lanes=4194304)}else{if(!c)if(i=Co(w),i!==null){if(s.flags|=128,c=!0,a=i.updateQueue,a!==null&&(s.updateQueue=a,s.flags|=4),cn(_,!0),_.tail===null&&_.tailMode==="hidden"&&!w.alternate&&!Ue)return Rt(s),null}else 2*Ze()-_.renderingStartTime>ws&&a!==1073741824&&(s.flags|=128,c=!0,cn(_,!1),s.lanes=4194304);_.isBackwards?(w.sibling=s.child,s.child=w):(a=_.last,a!==null?a.sibling=w:s.child=w,_.last=w)}return _.tail!==null?(s=_.tail,_.rendering=s,_.tail=s.sibling,_.renderingStartTime=Ze(),s.sibling=null,a=Ke.current,Fe(Ke,c?a&1|2:a&1),s):(Rt(s),null);case 22:case 23:return pc(),c=s.memoizedState!==null,i!==null&&i.memoizedState!==null!==c&&(s.flags|=8192),c&&(s.mode&1)!==0?(Gt&1073741824)!==0&&(Rt(s),s.subtreeFlags&6&&(s.flags|=8192)):Rt(s),null;case 24:return null;case 25:return null}throw Error(r(156,s.tag))}function xy(i,s){switch(bl(s),s.tag){case 1:return zt(s.type)&&uo(),i=s.flags,i&65536?(s.flags=i&-65537|128,s):null;case 3:return gs(),$e(Ot),$e(Et),Al(),i=s.flags,(i&65536)!==0&&(i&128)===0?(s.flags=i&-65537|128,s):null;case 5:return Bl(s),null;case 13:if($e(Ke),i=s.memoizedState,i!==null&&i.dehydrated!==null){if(s.alternate===null)throw Error(r(340));fs()}return i=s.flags,i&65536?(s.flags=i&-65537|128,s):null;case 19:return $e(Ke),null;case 4:return gs(),null;case 10:return Pl(s.type._context),null;case 22:case 23:return pc(),null;case 24:return null;default:return null}}var Mo=!1,Pt=!1,ky=typeof WeakSet=="function"?WeakSet:Set,ge=null;function ys(i,s){var a=i.ref;if(a!==null)if(typeof a=="function")try{a(null)}catch(c){Ge(i,s,c)}else a.current=null}function ic(i,s,a){try{a()}catch(c){Ge(i,s,c)}}var Wf=!1;function Ey(i,s){if(pl=Gn,i=Sd(),ol(i)){if("selectionStart"in i)var a={start:i.selectionStart,end:i.selectionEnd};else e:{a=(a=i.ownerDocument)&&a.defaultView||window;var c=a.getSelection&&a.getSelection();if(c&&c.rangeCount!==0){a=c.anchorNode;var d=c.anchorOffset,_=c.focusNode;c=c.focusOffset;try{a.nodeType,_.nodeType}catch{a=null;break e}var w=0,D=-1,H=-1,ee=0,le=0,ce=i,oe=null;t:for(;;){for(var me;ce!==a||d!==0&&ce.nodeType!==3||(D=w+d),ce!==_||c!==0&&ce.nodeType!==3||(H=w+c),ce.nodeType===3&&(w+=ce.nodeValue.length),(me=ce.firstChild)!==null;)oe=ce,ce=me;for(;;){if(ce===i)break t;if(oe===a&&++ee===d&&(D=w),oe===_&&++le===c&&(H=w),(me=ce.nextSibling)!==null)break;ce=oe,oe=ce.parentNode}ce=me}a=D===-1||H===-1?null:{start:D,end:H}}else a=null}a=a||{start:0,end:0}}else a=null;for(ml={focusedElem:i,selectionRange:a},Gn=!1,ge=s;ge!==null;)if(s=ge,i=s.child,(s.subtreeFlags&1028)!==0&&i!==null)i.return=s,ge=i;else for(;ge!==null;){s=ge;try{var ve=s.alternate;if((s.flags&1024)!==0)switch(s.tag){case 0:case 11:case 15:break;case 1:if(ve!==null){var ye=ve.memoizedProps,et=ve.memoizedState,G=s.stateNode,q=G.getSnapshotBeforeUpdate(s.elementType===s.type?ye:wi(s.type,ye),et);G.__reactInternalSnapshotBeforeUpdate=q}break;case 3:var Z=s.stateNode.containerInfo;Z.nodeType===1?Z.textContent="":Z.nodeType===9&&Z.documentElement&&Z.removeChild(Z.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(r(163))}}catch(he){Ge(s,s.return,he)}if(i=s.sibling,i!==null){i.return=s.return,ge=i;break}ge=s.return}return ve=Wf,Wf=!1,ve}function un(i,s,a){var c=s.updateQueue;if(c=c!==null?c.lastEffect:null,c!==null){var d=c=c.next;do{if((d.tag&i)===i){var _=d.destroy;d.destroy=void 0,_!==void 0&&ic(s,a,_)}d=d.next}while(d!==c)}}function Lo(i,s){if(s=s.updateQueue,s=s!==null?s.lastEffect:null,s!==null){var a=s=s.next;do{if((a.tag&i)===i){var c=a.create;a.destroy=c()}a=a.next}while(a!==s)}}function rc(i){var s=i.ref;if(s!==null){var a=i.stateNode;switch(i.tag){case 5:i=a;break;default:i=a}typeof s=="function"?s(i):s.current=i}}function Uf(i){var s=i.alternate;s!==null&&(i.alternate=null,Uf(s)),i.child=null,i.deletions=null,i.sibling=null,i.tag===5&&(s=i.stateNode,s!==null&&(delete s[Ri],delete s[Js],delete s[yl],delete s[ly],delete s[cy])),i.stateNode=null,i.return=null,i.dependencies=null,i.memoizedProps=null,i.memoizedState=null,i.pendingProps=null,i.stateNode=null,i.updateQueue=null}function qf(i){return i.tag===5||i.tag===3||i.tag===4}function Kf(i){e:for(;;){for(;i.sibling===null;){if(i.return===null||qf(i.return))return null;i=i.return}for(i.sibling.return=i.return,i=i.sibling;i.tag!==5&&i.tag!==6&&i.tag!==18;){if(i.flags&2||i.child===null||i.tag===4)continue e;i.child.return=i,i=i.child}if(!(i.flags&2))return i.stateNode}}function sc(i,s,a){var c=i.tag;if(c===5||c===6)i=i.stateNode,s?a.nodeType===8?a.parentNode.insertBefore(i,s):a.insertBefore(i,s):(a.nodeType===8?(s=a.parentNode,s.insertBefore(i,a)):(s=a,s.appendChild(i)),a=a._reactRootContainer,a!=null||s.onclick!==null||(s.onclick=lo));else if(c!==4&&(i=i.child,i!==null))for(sc(i,s,a),i=i.sibling;i!==null;)sc(i,s,a),i=i.sibling}function nc(i,s,a){var c=i.tag;if(c===5||c===6)i=i.stateNode,s?a.insertBefore(i,s):a.appendChild(i);else if(c!==4&&(i=i.child,i!==null))for(nc(i,s,a),i=i.sibling;i!==null;)nc(i,s,a),i=i.sibling}var Ct=null,Ci=!1;function fr(i,s,a){for(a=a.child;a!==null;)Vf(i,s,a),a=a.sibling}function Vf(i,s,a){if(Ni&&typeof Ni.onCommitFiberUnmount=="function")try{Ni.onCommitFiberUnmount(Un,a)}catch{}switch(a.tag){case 5:Pt||ys(a,s);case 6:var c=Ct,d=Ci;Ct=null,fr(i,s,a),Ct=c,Ci=d,Ct!==null&&(Ci?(i=Ct,a=a.stateNode,i.nodeType===8?i.parentNode.removeChild(a):i.removeChild(a)):Ct.removeChild(a.stateNode));break;case 18:Ct!==null&&(Ci?(i=Ct,a=a.stateNode,i.nodeType===8?vl(i.parentNode,a):i.nodeType===1&&vl(i,a),Hs(i)):vl(Ct,a.stateNode));break;case 4:c=Ct,d=Ci,Ct=a.stateNode.containerInfo,Ci=!0,fr(i,s,a),Ct=c,Ci=d;break;case 0:case 11:case 14:case 15:if(!Pt&&(c=a.updateQueue,c!==null&&(c=c.lastEffect,c!==null))){d=c=c.next;do{var _=d,w=_.destroy;_=_.tag,w!==void 0&&((_&2)!==0||(_&4)!==0)&&ic(a,s,w),d=d.next}while(d!==c)}fr(i,s,a);break;case 1:if(!Pt&&(ys(a,s),c=a.stateNode,typeof c.componentWillUnmount=="function"))try{c.props=a.memoizedProps,c.state=a.memoizedState,c.componentWillUnmount()}catch(D){Ge(a,s,D)}fr(i,s,a);break;case 21:fr(i,s,a);break;case 22:a.mode&1?(Pt=(c=Pt)||a.memoizedState!==null,fr(i,s,a),Pt=c):fr(i,s,a);break;default:fr(i,s,a)}}function Yf(i){var s=i.updateQueue;if(s!==null){i.updateQueue=null;var a=i.stateNode;a===null&&(a=i.stateNode=new ky),s.forEach(function(c){var d=jy.bind(null,i,c);a.has(c)||(a.add(c),c.then(d,d))})}}function bi(i,s){var a=s.deletions;if(a!==null)for(var c=0;c<a.length;c++){var d=a[c];try{var _=i,w=s,D=w;e:for(;D!==null;){switch(D.tag){case 5:Ct=D.stateNode,Ci=!1;break e;case 3:Ct=D.stateNode.containerInfo,Ci=!0;break e;case 4:Ct=D.stateNode.containerInfo,Ci=!0;break e}D=D.return}if(Ct===null)throw Error(r(160));Vf(_,w,d),Ct=null,Ci=!1;var H=d.alternate;H!==null&&(H.return=null),d.return=null}catch(ee){Ge(d,s,ee)}}if(s.subtreeFlags&12854)for(s=s.child;s!==null;)Xf(s,i),s=s.sibling}function Xf(i,s){var a=i.alternate,c=i.flags;switch(i.tag){case 0:case 11:case 14:case 15:if(bi(s,i),Mi(i),c&4){try{un(3,i,i.return),Lo(3,i)}catch(ye){Ge(i,i.return,ye)}try{un(5,i,i.return)}catch(ye){Ge(i,i.return,ye)}}break;case 1:bi(s,i),Mi(i),c&512&&a!==null&&ys(a,a.return);break;case 5:if(bi(s,i),Mi(i),c&512&&a!==null&&ys(a,a.return),i.flags&32){var d=i.stateNode;try{fe(d,"")}catch(ye){Ge(i,i.return,ye)}}if(c&4&&(d=i.stateNode,d!=null)){var _=i.memoizedProps,w=a!==null?a.memoizedProps:_,D=i.type,H=i.updateQueue;if(i.updateQueue=null,H!==null)try{D==="input"&&_.type==="radio"&&_.name!=null&&Nr(d,_),Aa(D,w);var ee=Aa(D,_);for(w=0;w<H.length;w+=2){var le=H[w],ce=H[w+1];le==="style"?Dh(d,ce):le==="dangerouslySetInnerHTML"?Fn(d,ce):le==="children"?fe(d,ce):T(d,le,ce,ee)}switch(D){case"input":Zi(d,_);break;case"textarea":wt(d,_);break;case"select":var oe=d._wrapperState.wasMultiple;d._wrapperState.wasMultiple=!!_.multiple;var me=_.value;me!=null?It(d,!!_.multiple,me,!1):oe!==!!_.multiple&&(_.defaultValue!=null?It(d,!!_.multiple,_.defaultValue,!0):It(d,!!_.multiple,_.multiple?[]:"",!1))}d[Js]=_}catch(ye){Ge(i,i.return,ye)}}break;case 6:if(bi(s,i),Mi(i),c&4){if(i.stateNode===null)throw Error(r(162));d=i.stateNode,_=i.memoizedProps;try{d.nodeValue=_}catch(ye){Ge(i,i.return,ye)}}break;case 3:if(bi(s,i),Mi(i),c&4&&a!==null&&a.memoizedState.isDehydrated)try{Hs(s.containerInfo)}catch(ye){Ge(i,i.return,ye)}break;case 4:bi(s,i),Mi(i);break;case 13:bi(s,i),Mi(i),d=i.child,d.flags&8192&&(_=d.memoizedState!==null,d.stateNode.isHidden=_,!_||d.alternate!==null&&d.alternate.memoizedState!==null||(lc=Ze())),c&4&&Yf(i);break;case 22:if(le=a!==null&&a.memoizedState!==null,i.mode&1?(Pt=(ee=Pt)||le,bi(s,i),Pt=ee):bi(s,i),Mi(i),c&8192){if(ee=i.memoizedState!==null,(i.stateNode.isHidden=ee)&&!le&&(i.mode&1)!==0)for(ge=i,le=i.child;le!==null;){for(ce=ge=le;ge!==null;){switch(oe=ge,me=oe.child,oe.tag){case 0:case 11:case 14:case 15:un(4,oe,oe.return);break;case 1:ys(oe,oe.return);var ve=oe.stateNode;if(typeof ve.componentWillUnmount=="function"){c=oe,a=oe.return;try{s=c,ve.props=s.memoizedProps,ve.state=s.memoizedState,ve.componentWillUnmount()}catch(ye){Ge(c,a,ye)}}break;case 5:ys(oe,oe.return);break;case 22:if(oe.memoizedState!==null){Jf(ce);continue}}me!==null?(me.return=oe,ge=me):Jf(ce)}le=le.sibling}e:for(le=null,ce=i;;){if(ce.tag===5){if(le===null){le=ce;try{d=ce.stateNode,ee?(_=d.style,typeof _.setProperty=="function"?_.setProperty("display","none","important"):_.display="none"):(D=ce.stateNode,H=ce.memoizedProps.style,w=H!=null&&H.hasOwnProperty("display")?H.display:null,D.style.display=Ms("display",w))}catch(ye){Ge(i,i.return,ye)}}}else if(ce.tag===6){if(le===null)try{ce.stateNode.nodeValue=ee?"":ce.memoizedProps}catch(ye){Ge(i,i.return,ye)}}else if((ce.tag!==22&&ce.tag!==23||ce.memoizedState===null||ce===i)&&ce.child!==null){ce.child.return=ce,ce=ce.child;continue}if(ce===i)break e;for(;ce.sibling===null;){if(ce.return===null||ce.return===i)break e;le===ce&&(le=null),ce=ce.return}le===ce&&(le=null),ce.sibling.return=ce.return,ce=ce.sibling}}break;case 19:bi(s,i),Mi(i),c&4&&Yf(i);break;case 21:break;default:bi(s,i),Mi(i)}}function Mi(i){var s=i.flags;if(s&2){try{e:{for(var a=i.return;a!==null;){if(qf(a)){var c=a;break e}a=a.return}throw Error(r(160))}switch(c.tag){case 5:var d=c.stateNode;c.flags&32&&(fe(d,""),c.flags&=-33);var _=Kf(i);nc(i,_,d);break;case 3:case 4:var w=c.stateNode.containerInfo,D=Kf(i);sc(i,D,w);break;default:throw Error(r(161))}}catch(H){Ge(i,i.return,H)}i.flags&=-3}s&4096&&(i.flags&=-4097)}function Ny(i,s,a){ge=i,Gf(i)}function Gf(i,s,a){for(var c=(i.mode&1)!==0;ge!==null;){var d=ge,_=d.child;if(d.tag===22&&c){var w=d.memoizedState!==null||Mo;if(!w){var D=d.alternate,H=D!==null&&D.memoizedState!==null||Pt;D=Mo;var ee=Pt;if(Mo=w,(Pt=H)&&!ee)for(ge=d;ge!==null;)w=ge,H=w.child,w.tag===22&&w.memoizedState!==null?Zf(d):H!==null?(H.return=w,ge=H):Zf(d);for(;_!==null;)ge=_,Gf(_),_=_.sibling;ge=d,Mo=D,Pt=ee}Qf(i)}else(d.subtreeFlags&8772)!==0&&_!==null?(_.return=d,ge=_):Qf(i)}}function Qf(i){for(;ge!==null;){var s=ge;if((s.flags&8772)!==0){var a=s.alternate;try{if((s.flags&8772)!==0)switch(s.tag){case 0:case 11:case 15:Pt||Lo(5,s);break;case 1:var c=s.stateNode;if(s.flags&4&&!Pt)if(a===null)c.componentDidMount();else{var d=s.elementType===s.type?a.memoizedProps:wi(s.type,a.memoizedProps);c.componentDidUpdate(d,a.memoizedState,c.__reactInternalSnapshotBeforeUpdate)}var _=s.updateQueue;_!==null&&Qd(s,_,c);break;case 3:var w=s.updateQueue;if(w!==null){if(a=null,s.child!==null)switch(s.child.tag){case 5:a=s.child.stateNode;break;case 1:a=s.child.stateNode}Qd(s,w,a)}break;case 5:var D=s.stateNode;if(a===null&&s.flags&4){a=D;var H=s.memoizedProps;switch(s.type){case"button":case"input":case"select":case"textarea":H.autoFocus&&a.focus();break;case"img":H.src&&(a.src=H.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(s.memoizedState===null){var ee=s.alternate;if(ee!==null){var le=ee.memoizedState;if(le!==null){var ce=le.dehydrated;ce!==null&&Hs(ce)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(r(163))}Pt||s.flags&512&&rc(s)}catch(oe){Ge(s,s.return,oe)}}if(s===i){ge=null;break}if(a=s.sibling,a!==null){a.return=s.return,ge=a;break}ge=s.return}}function Jf(i){for(;ge!==null;){var s=ge;if(s===i){ge=null;break}var a=s.sibling;if(a!==null){a.return=s.return,ge=a;break}ge=s.return}}function Zf(i){for(;ge!==null;){var s=ge;try{switch(s.tag){case 0:case 11:case 15:var a=s.return;try{Lo(4,s)}catch(H){Ge(s,a,H)}break;case 1:var c=s.stateNode;if(typeof c.componentDidMount=="function"){var d=s.return;try{c.componentDidMount()}catch(H){Ge(s,d,H)}}var _=s.return;try{rc(s)}catch(H){Ge(s,_,H)}break;case 5:var w=s.return;try{rc(s)}catch(H){Ge(s,w,H)}}}catch(H){Ge(s,s.return,H)}if(s===i){ge=null;break}var D=s.sibling;if(D!==null){D.return=s.return,ge=D;break}ge=s.return}}var Ry=Math.ceil,To=$.ReactCurrentDispatcher,oc=$.ReactCurrentOwner,ui=$.ReactCurrentBatchConfig,je=0,dt=null,rt=null,bt=0,Gt=0,Ss=lr(0),at=0,hn=null,Ar=0,Bo=0,ac=0,dn=null,Ht=null,lc=0,ws=1/0,Vi=null,jo=!1,cc=null,pr=null,Ao=!1,mr=null,Io=0,fn=0,uc=null,Oo=-1,zo=0;function Tt(){return(je&6)!==0?Ze():Oo!==-1?Oo:Oo=Ze()}function _r(i){return(i.mode&1)===0?1:(je&2)!==0&&bt!==0?bt&-bt:hy.transition!==null?(zo===0&&(zo=qh()),zo):(i=Oe,i!==0||(i=window.event,i=i===void 0?16:ed(i.type)),i)}function xi(i,s,a,c){if(50<fn)throw fn=0,uc=null,Error(r(185));As(i,a,c),((je&2)===0||i!==dt)&&(i===dt&&((je&2)===0&&(Bo|=a),at===4&&gr(i,bt)),$t(i,c),a===1&&je===0&&(s.mode&1)===0&&(ws=Ze()+500,fo&&ur()))}function $t(i,s){var a=i.callbackNode;hv(i,s);var c=Vn(i,i===dt?bt:0);if(c===0)a!==null&&$h(a),i.callbackNode=null,i.callbackPriority=0;else if(s=c&-c,i.callbackPriority!==s){if(a!=null&&$h(a),s===1)i.tag===0?uy(tp.bind(null,i)):zd(tp.bind(null,i)),oy(function(){(je&6)===0&&ur()}),a=null;else{switch(Kh(c)){case 1:a=Wa;break;case 4:a=Wh;break;case 16:a=Wn;break;case 536870912:a=Uh;break;default:a=Wn}a=cp(a,ep.bind(null,i))}i.callbackPriority=s,i.callbackNode=a}}function ep(i,s){if(Oo=-1,zo=0,(je&6)!==0)throw Error(r(327));var a=i.callbackNode;if(Cs()&&i.callbackNode!==a)return null;var c=Vn(i,i===dt?bt:0);if(c===0)return null;if((c&30)!==0||(c&i.expiredLanes)!==0||s)s=Fo(i,c);else{s=c;var d=je;je|=2;var _=rp();(dt!==i||bt!==s)&&(Vi=null,ws=Ze()+500,Or(i,s));do try{My();break}catch(D){ip(i,D)}while(!0);Rl(),To.current=_,je=d,rt!==null?s=0:(dt=null,bt=0,s=at)}if(s!==0){if(s===2&&(d=Ua(i),d!==0&&(c=d,s=hc(i,d))),s===1)throw a=hn,Or(i,0),gr(i,c),$t(i,Ze()),a;if(s===6)gr(i,c);else{if(d=i.current.alternate,(c&30)===0&&!Py(d)&&(s=Fo(i,c),s===2&&(_=Ua(i),_!==0&&(c=_,s=hc(i,_))),s===1))throw a=hn,Or(i,0),gr(i,c),$t(i,Ze()),a;switch(i.finishedWork=d,i.finishedLanes=c,s){case 0:case 1:throw Error(r(345));case 2:zr(i,Ht,Vi);break;case 3:if(gr(i,c),(c&130023424)===c&&(s=lc+500-Ze(),10<s)){if(Vn(i,0)!==0)break;if(d=i.suspendedLanes,(d&c)!==c){Tt(),i.pingedLanes|=i.suspendedLanes&d;break}i.timeoutHandle=gl(zr.bind(null,i,Ht,Vi),s);break}zr(i,Ht,Vi);break;case 4:if(gr(i,c),(c&4194240)===c)break;for(s=i.eventTimes,d=-1;0<c;){var w=31-vi(c);_=1<<w,w=s[w],w>d&&(d=w),c&=~_}if(c=d,c=Ze()-c,c=(120>c?120:480>c?480:1080>c?1080:1920>c?1920:3e3>c?3e3:4320>c?4320:1960*Ry(c/1960))-c,10<c){i.timeoutHandle=gl(zr.bind(null,i,Ht,Vi),c);break}zr(i,Ht,Vi);break;case 5:zr(i,Ht,Vi);break;default:throw Error(r(329))}}}return $t(i,Ze()),i.callbackNode===a?ep.bind(null,i):null}function hc(i,s){var a=dn;return i.current.memoizedState.isDehydrated&&(Or(i,s).flags|=256),i=Fo(i,s),i!==2&&(s=Ht,Ht=a,s!==null&&dc(s)),i}function dc(i){Ht===null?Ht=i:Ht.push.apply(Ht,i)}function Py(i){for(var s=i;;){if(s.flags&16384){var a=s.updateQueue;if(a!==null&&(a=a.stores,a!==null))for(var c=0;c<a.length;c++){var d=a[c],_=d.getSnapshot;d=d.value;try{if(!yi(_(),d))return!1}catch{return!1}}}if(a=s.child,s.subtreeFlags&16384&&a!==null)a.return=s,s=a;else{if(s===i)break;for(;s.sibling===null;){if(s.return===null||s.return===i)return!0;s=s.return}s.sibling.return=s.return,s=s.sibling}}return!0}function gr(i,s){for(s&=~ac,s&=~Bo,i.suspendedLanes|=s,i.pingedLanes&=~s,i=i.expirationTimes;0<s;){var a=31-vi(s),c=1<<a;i[a]=-1,s&=~c}}function tp(i){if((je&6)!==0)throw Error(r(327));Cs();var s=Vn(i,0);if((s&1)===0)return $t(i,Ze()),null;var a=Fo(i,s);if(i.tag!==0&&a===2){var c=Ua(i);c!==0&&(s=c,a=hc(i,c))}if(a===1)throw a=hn,Or(i,0),gr(i,s),$t(i,Ze()),a;if(a===6)throw Error(r(345));return i.finishedWork=i.current.alternate,i.finishedLanes=s,zr(i,Ht,Vi),$t(i,Ze()),null}function fc(i,s){var a=je;je|=1;try{return i(s)}finally{je=a,je===0&&(ws=Ze()+500,fo&&ur())}}function Ir(i){mr!==null&&mr.tag===0&&(je&6)===0&&Cs();var s=je;je|=1;var a=ui.transition,c=Oe;try{if(ui.transition=null,Oe=1,i)return i()}finally{Oe=c,ui.transition=a,je=s,(je&6)===0&&ur()}}function pc(){Gt=Ss.current,$e(Ss)}function Or(i,s){i.finishedWork=null,i.finishedLanes=0;var a=i.timeoutHandle;if(a!==-1&&(i.timeoutHandle=-1,ny(a)),rt!==null)for(a=rt.return;a!==null;){var c=a;switch(bl(c),c.tag){case 1:c=c.type.childContextTypes,c!=null&&uo();break;case 3:gs(),$e(Ot),$e(Et),Al();break;case 5:Bl(c);break;case 4:gs();break;case 13:$e(Ke);break;case 19:$e(Ke);break;case 10:Pl(c.type._context);break;case 22:case 23:pc()}a=a.return}if(dt=i,rt=i=vr(i.current,null),bt=Gt=s,at=0,hn=null,ac=Bo=Ar=0,Ht=dn=null,Tr!==null){for(s=0;s<Tr.length;s++)if(a=Tr[s],c=a.interleaved,c!==null){a.interleaved=null;var d=c.next,_=a.pending;if(_!==null){var w=_.next;_.next=d,c.next=w}a.pending=c}Tr=null}return i}function ip(i,s){do{var a=rt;try{if(Rl(),bo.current=No,xo){for(var c=Ve.memoizedState;c!==null;){var d=c.queue;d!==null&&(d.pending=null),c=c.next}xo=!1}if(jr=0,ht=ot=Ve=null,nn=!1,on=0,oc.current=null,a===null||a.return===null){at=1,hn=s,rt=null;break}e:{var _=i,w=a.return,D=a,H=s;if(s=bt,D.flags|=32768,H!==null&&typeof H=="object"&&typeof H.then=="function"){var ee=H,le=D,ce=le.tag;if((le.mode&1)===0&&(ce===0||ce===11||ce===15)){var oe=le.alternate;oe?(le.updateQueue=oe.updateQueue,le.memoizedState=oe.memoizedState,le.lanes=oe.lanes):(le.updateQueue=null,le.memoizedState=null)}var me=Nf(w);if(me!==null){me.flags&=-257,Rf(me,w,D,_,s),me.mode&1&&Ef(_,ee,s),s=me,H=ee;var ve=s.updateQueue;if(ve===null){var ye=new Set;ye.add(H),s.updateQueue=ye}else ve.add(H);break e}else{if((s&1)===0){Ef(_,ee,s),mc();break e}H=Error(r(426))}}else if(Ue&&D.mode&1){var et=Nf(w);if(et!==null){(et.flags&65536)===0&&(et.flags|=256),Rf(et,w,D,_,s),El(vs(H,D));break e}}_=H=vs(H,D),at!==4&&(at=2),dn===null?dn=[_]:dn.push(_),_=w;do{switch(_.tag){case 3:_.flags|=65536,s&=-s,_.lanes|=s;var G=xf(_,H,s);Gd(_,G);break e;case 1:D=H;var q=_.type,Z=_.stateNode;if((_.flags&128)===0&&(typeof q.getDerivedStateFromError=="function"||Z!==null&&typeof Z.componentDidCatch=="function"&&(pr===null||!pr.has(Z)))){_.flags|=65536,s&=-s,_.lanes|=s;var he=kf(_,D,s);Gd(_,he);break e}}_=_.return}while(_!==null)}np(a)}catch(we){s=we,rt===a&&a!==null&&(rt=a=a.return);continue}break}while(!0)}function rp(){var i=To.current;return To.current=No,i===null?No:i}function mc(){(at===0||at===3||at===2)&&(at=4),dt===null||(Ar&268435455)===0&&(Bo&268435455)===0||gr(dt,bt)}function Fo(i,s){var a=je;je|=2;var c=rp();(dt!==i||bt!==s)&&(Vi=null,Or(i,s));do try{Dy();break}catch(d){ip(i,d)}while(!0);if(Rl(),je=a,To.current=c,rt!==null)throw Error(r(261));return dt=null,bt=0,at}function Dy(){for(;rt!==null;)sp(rt)}function My(){for(;rt!==null&&!iv();)sp(rt)}function sp(i){var s=lp(i.alternate,i,Gt);i.memoizedProps=i.pendingProps,s===null?np(i):rt=s,oc.current=null}function np(i){var s=i;do{var a=s.alternate;if(i=s.return,(s.flags&32768)===0){if(a=by(a,s,Gt),a!==null){rt=a;return}}else{if(a=xy(a,s),a!==null){a.flags&=32767,rt=a;return}if(i!==null)i.flags|=32768,i.subtreeFlags=0,i.deletions=null;else{at=6,rt=null;return}}if(s=s.sibling,s!==null){rt=s;return}rt=s=i}while(s!==null);at===0&&(at=5)}function zr(i,s,a){var c=Oe,d=ui.transition;try{ui.transition=null,Oe=1,Ly(i,s,a,c)}finally{ui.transition=d,Oe=c}return null}function Ly(i,s,a,c){do Cs();while(mr!==null);if((je&6)!==0)throw Error(r(327));a=i.finishedWork;var d=i.finishedLanes;if(a===null)return null;if(i.finishedWork=null,i.finishedLanes=0,a===i.current)throw Error(r(177));i.callbackNode=null,i.callbackPriority=0;var _=a.lanes|a.childLanes;if(dv(i,_),i===dt&&(rt=dt=null,bt=0),(a.subtreeFlags&2064)===0&&(a.flags&2064)===0||Ao||(Ao=!0,cp(Wn,function(){return Cs(),null})),_=(a.flags&15990)!==0,(a.subtreeFlags&15990)!==0||_){_=ui.transition,ui.transition=null;var w=Oe;Oe=1;var D=je;je|=4,oc.current=null,Ey(i,a),Xf(a,i),Jv(ml),Gn=!!pl,ml=pl=null,i.current=a,Ny(a),rv(),je=D,Oe=w,ui.transition=_}else i.current=a;if(Ao&&(Ao=!1,mr=i,Io=d),_=i.pendingLanes,_===0&&(pr=null),ov(a.stateNode),$t(i,Ze()),s!==null)for(c=i.onRecoverableError,a=0;a<s.length;a++)d=s[a],c(d.value,{componentStack:d.stack,digest:d.digest});if(jo)throw jo=!1,i=cc,cc=null,i;return(Io&1)!==0&&i.tag!==0&&Cs(),_=i.pendingLanes,(_&1)!==0?i===uc?fn++:(fn=0,uc=i):fn=0,ur(),null}function Cs(){if(mr!==null){var i=Kh(Io),s=ui.transition,a=Oe;try{if(ui.transition=null,Oe=16>i?16:i,mr===null)var c=!1;else{if(i=mr,mr=null,Io=0,(je&6)!==0)throw Error(r(331));var d=je;for(je|=4,ge=i.current;ge!==null;){var _=ge,w=_.child;if((ge.flags&16)!==0){var D=_.deletions;if(D!==null){for(var H=0;H<D.length;H++){var ee=D[H];for(ge=ee;ge!==null;){var le=ge;switch(le.tag){case 0:case 11:case 15:un(8,le,_)}var ce=le.child;if(ce!==null)ce.return=le,ge=ce;else for(;ge!==null;){le=ge;var oe=le.sibling,me=le.return;if(Uf(le),le===ee){ge=null;break}if(oe!==null){oe.return=me,ge=oe;break}ge=me}}}var ve=_.alternate;if(ve!==null){var ye=ve.child;if(ye!==null){ve.child=null;do{var et=ye.sibling;ye.sibling=null,ye=et}while(ye!==null)}}ge=_}}if((_.subtreeFlags&2064)!==0&&w!==null)w.return=_,ge=w;else e:for(;ge!==null;){if(_=ge,(_.flags&2048)!==0)switch(_.tag){case 0:case 11:case 15:un(9,_,_.return)}var G=_.sibling;if(G!==null){G.return=_.return,ge=G;break e}ge=_.return}}var q=i.current;for(ge=q;ge!==null;){w=ge;var Z=w.child;if((w.subtreeFlags&2064)!==0&&Z!==null)Z.return=w,ge=Z;else e:for(w=q;ge!==null;){if(D=ge,(D.flags&2048)!==0)try{switch(D.tag){case 0:case 11:case 15:Lo(9,D)}}catch(we){Ge(D,D.return,we)}if(D===w){ge=null;break e}var he=D.sibling;if(he!==null){he.return=D.return,ge=he;break e}ge=D.return}}if(je=d,ur(),Ni&&typeof Ni.onPostCommitFiberRoot=="function")try{Ni.onPostCommitFiberRoot(Un,i)}catch{}c=!0}return c}finally{Oe=a,ui.transition=s}}return!1}function op(i,s,a){s=vs(a,s),s=xf(i,s,1),i=dr(i,s,1),s=Tt(),i!==null&&(As(i,1,s),$t(i,s))}function Ge(i,s,a){if(i.tag===3)op(i,i,a);else for(;s!==null;){if(s.tag===3){op(s,i,a);break}else if(s.tag===1){var c=s.stateNode;if(typeof s.type.getDerivedStateFromError=="function"||typeof c.componentDidCatch=="function"&&(pr===null||!pr.has(c))){i=vs(a,i),i=kf(s,i,1),s=dr(s,i,1),i=Tt(),s!==null&&(As(s,1,i),$t(s,i));break}}s=s.return}}function Ty(i,s,a){var c=i.pingCache;c!==null&&c.delete(s),s=Tt(),i.pingedLanes|=i.suspendedLanes&a,dt===i&&(bt&a)===a&&(at===4||at===3&&(bt&130023424)===bt&&500>Ze()-lc?Or(i,0):ac|=a),$t(i,s)}function ap(i,s){s===0&&((i.mode&1)===0?s=1:(s=Kn,Kn<<=1,(Kn&130023424)===0&&(Kn=4194304)));var a=Tt();i=Ui(i,s),i!==null&&(As(i,s,a),$t(i,a))}function By(i){var s=i.memoizedState,a=0;s!==null&&(a=s.retryLane),ap(i,a)}function jy(i,s){var a=0;switch(i.tag){case 13:var c=i.stateNode,d=i.memoizedState;d!==null&&(a=d.retryLane);break;case 19:c=i.stateNode;break;default:throw Error(r(314))}c!==null&&c.delete(s),ap(i,a)}var lp;lp=function(i,s,a){if(i!==null)if(i.memoizedProps!==s.pendingProps||Ot.current)Ft=!0;else{if((i.lanes&a)===0&&(s.flags&128)===0)return Ft=!1,Cy(i,s,a);Ft=(i.flags&131072)!==0}else Ft=!1,Ue&&(s.flags&1048576)!==0&&Fd(s,mo,s.index);switch(s.lanes=0,s.tag){case 2:var c=s.type;Do(i,s),i=s.pendingProps;var d=us(s,Et.current);_s(s,a),d=zl(null,s,c,i,d,a);var _=Fl();return s.flags|=1,typeof d=="object"&&d!==null&&typeof d.render=="function"&&d.$$typeof===void 0?(s.tag=1,s.memoizedState=null,s.updateQueue=null,zt(c)?(_=!0,ho(s)):_=!1,s.memoizedState=d.state!==null&&d.state!==void 0?d.state:null,Ll(s),d.updater=Ro,s.stateNode=d,d._reactInternals=s,Kl(s,c,i,a),s=Gl(null,s,c,!0,_,a)):(s.tag=0,Ue&&_&&Cl(s),Lt(null,s,d,a),s=s.child),s;case 16:c=s.elementType;e:{switch(Do(i,s),i=s.pendingProps,d=c._init,c=d(c._payload),s.type=c,d=s.tag=Iy(c),i=wi(c,i),d){case 0:s=Xl(null,s,c,i,a);break e;case 1:s=Bf(null,s,c,i,a);break e;case 11:s=Pf(null,s,c,i,a);break e;case 14:s=Df(null,s,c,wi(c.type,i),a);break e}throw Error(r(306,c,""))}return s;case 0:return c=s.type,d=s.pendingProps,d=s.elementType===c?d:wi(c,d),Xl(i,s,c,d,a);case 1:return c=s.type,d=s.pendingProps,d=s.elementType===c?d:wi(c,d),Bf(i,s,c,d,a);case 3:e:{if(jf(s),i===null)throw Error(r(387));c=s.pendingProps,_=s.memoizedState,d=_.element,Xd(i,s),wo(s,c,null,a);var w=s.memoizedState;if(c=w.element,_.isDehydrated)if(_={element:c,isDehydrated:!1,cache:w.cache,pendingSuspenseBoundaries:w.pendingSuspenseBoundaries,transitions:w.transitions},s.updateQueue.baseState=_,s.memoizedState=_,s.flags&256){d=vs(Error(r(423)),s),s=Af(i,s,c,a,d);break e}else if(c!==d){d=vs(Error(r(424)),s),s=Af(i,s,c,a,d);break e}else for(Xt=ar(s.stateNode.containerInfo.firstChild),Yt=s,Ue=!0,Si=null,a=Vd(s,null,c,a),s.child=a;a;)a.flags=a.flags&-3|4096,a=a.sibling;else{if(fs(),c===d){s=Ki(i,s,a);break e}Lt(i,s,c,a)}s=s.child}return s;case 5:return Jd(s),i===null&&kl(s),c=s.type,d=s.pendingProps,_=i!==null?i.memoizedProps:null,w=d.children,_l(c,d)?w=null:_!==null&&_l(c,_)&&(s.flags|=32),Tf(i,s),Lt(i,s,w,a),s.child;case 6:return i===null&&kl(s),null;case 13:return If(i,s,a);case 4:return Tl(s,s.stateNode.containerInfo),c=s.pendingProps,i===null?s.child=ps(s,null,c,a):Lt(i,s,c,a),s.child;case 11:return c=s.type,d=s.pendingProps,d=s.elementType===c?d:wi(c,d),Pf(i,s,c,d,a);case 7:return Lt(i,s,s.pendingProps,a),s.child;case 8:return Lt(i,s,s.pendingProps.children,a),s.child;case 12:return Lt(i,s,s.pendingProps.children,a),s.child;case 10:e:{if(c=s.type._context,d=s.pendingProps,_=s.memoizedProps,w=d.value,Fe(vo,c._currentValue),c._currentValue=w,_!==null)if(yi(_.value,w)){if(_.children===d.children&&!Ot.current){s=Ki(i,s,a);break e}}else for(_=s.child,_!==null&&(_.return=s);_!==null;){var D=_.dependencies;if(D!==null){w=_.child;for(var H=D.firstContext;H!==null;){if(H.context===c){if(_.tag===1){H=qi(-1,a&-a),H.tag=2;var ee=_.updateQueue;if(ee!==null){ee=ee.shared;var le=ee.pending;le===null?H.next=H:(H.next=le.next,le.next=H),ee.pending=H}}_.lanes|=a,H=_.alternate,H!==null&&(H.lanes|=a),Dl(_.return,a,s),D.lanes|=a;break}H=H.next}}else if(_.tag===10)w=_.type===s.type?null:_.child;else if(_.tag===18){if(w=_.return,w===null)throw Error(r(341));w.lanes|=a,D=w.alternate,D!==null&&(D.lanes|=a),Dl(w,a,s),w=_.sibling}else w=_.child;if(w!==null)w.return=_;else for(w=_;w!==null;){if(w===s){w=null;break}if(_=w.sibling,_!==null){_.return=w.return,w=_;break}w=w.return}_=w}Lt(i,s,d.children,a),s=s.child}return s;case 9:return d=s.type,c=s.pendingProps.children,_s(s,a),d=li(d),c=c(d),s.flags|=1,Lt(i,s,c,a),s.child;case 14:return c=s.type,d=wi(c,s.pendingProps),d=wi(c.type,d),Df(i,s,c,d,a);case 15:return Mf(i,s,s.type,s.pendingProps,a);case 17:return c=s.type,d=s.pendingProps,d=s.elementType===c?d:wi(c,d),Do(i,s),s.tag=1,zt(c)?(i=!0,ho(s)):i=!1,_s(s,a),Cf(s,c,d),Kl(s,c,d,a),Gl(null,s,c,!0,i,a);case 19:return zf(i,s,a);case 22:return Lf(i,s,a)}throw Error(r(156,s.tag))};function cp(i,s){return Hh(i,s)}function Ay(i,s,a,c){this.tag=i,this.key=a,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=s,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=c,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function hi(i,s,a,c){return new Ay(i,s,a,c)}function _c(i){return i=i.prototype,!(!i||!i.isReactComponent)}function Iy(i){if(typeof i=="function")return _c(i)?1:0;if(i!=null){if(i=i.$$typeof,i===I)return 11;if(i===V)return 14}return 2}function vr(i,s){var a=i.alternate;return a===null?(a=hi(i.tag,s,i.key,i.mode),a.elementType=i.elementType,a.type=i.type,a.stateNode=i.stateNode,a.alternate=i,i.alternate=a):(a.pendingProps=s,a.type=i.type,a.flags=0,a.subtreeFlags=0,a.deletions=null),a.flags=i.flags&14680064,a.childLanes=i.childLanes,a.lanes=i.lanes,a.child=i.child,a.memoizedProps=i.memoizedProps,a.memoizedState=i.memoizedState,a.updateQueue=i.updateQueue,s=i.dependencies,a.dependencies=s===null?null:{lanes:s.lanes,firstContext:s.firstContext},a.sibling=i.sibling,a.index=i.index,a.ref=i.ref,a}function Ho(i,s,a,c,d,_){var w=2;if(c=i,typeof i=="function")_c(i)&&(w=1);else if(typeof i=="string")w=5;else e:switch(i){case P:return Fr(a.children,d,_,s);case U:w=8,d|=8;break;case M:return i=hi(12,a,s,d|2),i.elementType=M,i.lanes=_,i;case B:return i=hi(13,a,s,d),i.elementType=B,i.lanes=_,i;case W:return i=hi(19,a,s,d),i.elementType=W,i.lanes=_,i;case X:return $o(a,d,_,s);default:if(typeof i=="object"&&i!==null)switch(i.$$typeof){case K:w=10;break e;case Y:w=9;break e;case I:w=11;break e;case V:w=14;break e;case Q:w=16,c=null;break e}throw Error(r(130,i==null?i:typeof i,""))}return s=hi(w,a,s,d),s.elementType=i,s.type=c,s.lanes=_,s}function Fr(i,s,a,c){return i=hi(7,i,c,s),i.lanes=a,i}function $o(i,s,a,c){return i=hi(22,i,c,s),i.elementType=X,i.lanes=a,i.stateNode={isHidden:!1},i}function gc(i,s,a){return i=hi(6,i,null,s),i.lanes=a,i}function vc(i,s,a){return s=hi(4,i.children!==null?i.children:[],i.key,s),s.lanes=a,s.stateNode={containerInfo:i.containerInfo,pendingChildren:null,implementation:i.implementation},s}function Oy(i,s,a,c,d){this.tag=s,this.containerInfo=i,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=qa(0),this.expirationTimes=qa(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=qa(0),this.identifierPrefix=c,this.onRecoverableError=d,this.mutableSourceEagerHydrationData=null}function yc(i,s,a,c,d,_,w,D,H){return i=new Oy(i,s,a,D,H),s===1?(s=1,_===!0&&(s|=8)):s=0,_=hi(3,null,null,s),i.current=_,_.stateNode=i,_.memoizedState={element:c,isDehydrated:a,cache:null,transitions:null,pendingSuspenseBoundaries:null},Ll(_),i}function zy(i,s,a){var c=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:L,key:c==null?null:""+c,children:i,containerInfo:s,implementation:a}}function up(i){if(!i)return cr;i=i._reactInternals;e:{if(Rr(i)!==i||i.tag!==1)throw Error(r(170));var s=i;do{switch(s.tag){case 3:s=s.stateNode.context;break e;case 1:if(zt(s.type)){s=s.stateNode.__reactInternalMemoizedMergedChildContext;break e}}s=s.return}while(s!==null);throw Error(r(171))}if(i.tag===1){var a=i.type;if(zt(a))return Id(i,a,s)}return s}function hp(i,s,a,c,d,_,w,D,H){return i=yc(a,c,!0,i,d,_,w,D,H),i.context=up(null),a=i.current,c=Tt(),d=_r(a),_=qi(c,d),_.callback=s??null,dr(a,_,d),i.current.lanes=d,As(i,d,c),$t(i,c),i}function Wo(i,s,a,c){var d=s.current,_=Tt(),w=_r(d);return a=up(a),s.context===null?s.context=a:s.pendingContext=a,s=qi(_,w),s.payload={element:i},c=c===void 0?null:c,c!==null&&(s.callback=c),i=dr(d,s,w),i!==null&&(xi(i,d,w,_),So(i,d,w)),w}function Uo(i){if(i=i.current,!i.child)return null;switch(i.child.tag){case 5:return i.child.stateNode;default:return i.child.stateNode}}function dp(i,s){if(i=i.memoizedState,i!==null&&i.dehydrated!==null){var a=i.retryLane;i.retryLane=a!==0&&a<s?a:s}}function Sc(i,s){dp(i,s),(i=i.alternate)&&dp(i,s)}function Fy(){return null}var fp=typeof reportError=="function"?reportError:function(i){console.error(i)};function wc(i){this._internalRoot=i}qo.prototype.render=wc.prototype.render=function(i){var s=this._internalRoot;if(s===null)throw Error(r(409));Wo(i,s,null,null)},qo.prototype.unmount=wc.prototype.unmount=function(){var i=this._internalRoot;if(i!==null){this._internalRoot=null;var s=i.containerInfo;Ir(function(){Wo(null,i,null,null)}),s[Fi]=null}};function qo(i){this._internalRoot=i}qo.prototype.unstable_scheduleHydration=function(i){if(i){var s=Xh();i={blockedOn:null,target:i,priority:s};for(var a=0;a<sr.length&&s!==0&&s<sr[a].priority;a++);sr.splice(a,0,i),a===0&&Jh(i)}};function Cc(i){return!(!i||i.nodeType!==1&&i.nodeType!==9&&i.nodeType!==11)}function Ko(i){return!(!i||i.nodeType!==1&&i.nodeType!==9&&i.nodeType!==11&&(i.nodeType!==8||i.nodeValue!==" react-mount-point-unstable "))}function pp(){}function Hy(i,s,a,c,d){if(d){if(typeof c=="function"){var _=c;c=function(){var ee=Uo(w);_.call(ee)}}var w=hp(s,c,i,0,null,!1,!1,"",pp);return i._reactRootContainer=w,i[Fi]=w.current,Gs(i.nodeType===8?i.parentNode:i),Ir(),w}for(;d=i.lastChild;)i.removeChild(d);if(typeof c=="function"){var D=c;c=function(){var ee=Uo(H);D.call(ee)}}var H=yc(i,0,!1,null,null,!1,!1,"",pp);return i._reactRootContainer=H,i[Fi]=H.current,Gs(i.nodeType===8?i.parentNode:i),Ir(function(){Wo(s,H,a,c)}),H}function Vo(i,s,a,c,d){var _=a._reactRootContainer;if(_){var w=_;if(typeof d=="function"){var D=d;d=function(){var H=Uo(w);D.call(H)}}Wo(s,w,i,d)}else w=Hy(a,s,i,d,c);return Uo(w)}Vh=function(i){switch(i.tag){case 3:var s=i.stateNode;if(s.current.memoizedState.isDehydrated){var a=js(s.pendingLanes);a!==0&&(Ka(s,a|1),$t(s,Ze()),(je&6)===0&&(ws=Ze()+500,ur()))}break;case 13:Ir(function(){var c=Ui(i,1);if(c!==null){var d=Tt();xi(c,i,1,d)}}),Sc(i,1)}},Va=function(i){if(i.tag===13){var s=Ui(i,134217728);if(s!==null){var a=Tt();xi(s,i,134217728,a)}Sc(i,134217728)}},Yh=function(i){if(i.tag===13){var s=_r(i),a=Ui(i,s);if(a!==null){var c=Tt();xi(a,i,s,c)}Sc(i,s)}},Xh=function(){return Oe},Gh=function(i,s){var a=Oe;try{return Oe=i,s()}finally{Oe=a}},za=function(i,s,a){switch(s){case"input":if(Zi(i,a),s=a.name,a.type==="radio"&&s!=null){for(a=i;a.parentNode;)a=a.parentNode;for(a=a.querySelectorAll("input[name="+JSON.stringify(""+s)+'][type="radio"]'),s=0;s<a.length;s++){var c=a[s];if(c!==i&&c.form===i.form){var d=co(c);if(!d)throw Error(r(90));it(c),Zi(c,d)}}}break;case"textarea":wt(i,a);break;case"select":s=a.value,s!=null&&It(i,!!a.multiple,s,!1)}},Bh=fc,jh=Ir;var $y={usingClientEntryPoint:!1,Events:[Zs,ls,co,Lh,Th,fc]},pn={findFiberByHostInstance:Pr,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},Wy={bundleType:pn.bundleType,version:pn.version,rendererPackageName:pn.rendererPackageName,rendererConfig:pn.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:$.ReactCurrentDispatcher,findHostInstanceByFiber:function(i){return i=zh(i),i===null?null:i.stateNode},findFiberByHostInstance:pn.findFiberByHostInstance||Fy,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.3.1-next-f1338f8080-20240426"};if(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__<"u"){var Yo=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!Yo.isDisabled&&Yo.supportsFiber)try{Un=Yo.inject(Wy),Ni=Yo}catch{}}return Wt.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=$y,Wt.createPortal=function(i,s){var a=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Cc(s))throw Error(r(200));return zy(i,s,null,a)},Wt.createRoot=function(i,s){if(!Cc(i))throw Error(r(299));var a=!1,c="",d=fp;return s!=null&&(s.unstable_strictMode===!0&&(a=!0),s.identifierPrefix!==void 0&&(c=s.identifierPrefix),s.onRecoverableError!==void 0&&(d=s.onRecoverableError)),s=yc(i,1,!1,null,null,a,!1,c,d),i[Fi]=s.current,Gs(i.nodeType===8?i.parentNode:i),new wc(s)},Wt.findDOMNode=function(i){if(i==null)return null;if(i.nodeType===1)return i;var s=i._reactInternals;if(s===void 0)throw typeof i.render=="function"?Error(r(188)):(i=Object.keys(i).join(","),Error(r(268,i)));return i=zh(s),i=i===null?null:i.stateNode,i},Wt.flushSync=function(i){return Ir(i)},Wt.hydrate=function(i,s,a){if(!Ko(s))throw Error(r(200));return Vo(null,i,s,!0,a)},Wt.hydrateRoot=function(i,s,a){if(!Cc(i))throw Error(r(405));var c=a!=null&&a.hydratedSources||null,d=!1,_="",w=fp;if(a!=null&&(a.unstable_strictMode===!0&&(d=!0),a.identifierPrefix!==void 0&&(_=a.identifierPrefix),a.onRecoverableError!==void 0&&(w=a.onRecoverableError)),s=hp(s,null,i,1,a??null,d,!1,_,w),i[Fi]=s.current,Gs(i),c)for(i=0;i<c.length;i++)a=c[i],d=a._getVersion,d=d(a._source),s.mutableSourceEagerHydrationData==null?s.mutableSourceEagerHydrationData=[a,d]:s.mutableSourceEagerHydrationData.push(a,d);return new qo(s)},Wt.render=function(i,s,a){if(!Ko(s))throw Error(r(200));return Vo(null,i,s,!1,a)},Wt.unmountComponentAtNode=function(i){if(!Ko(i))throw Error(r(40));return i._reactRootContainer?(Ir(function(){Vo(null,null,i,!1,function(){i._reactRootContainer=null,i[Fi]=null})}),!0):!1},Wt.unstable_batchedUpdates=fc,Wt.unstable_renderSubtreeIntoContainer=function(i,s,a,c){if(!Ko(a))throw Error(r(200));if(i==null||i._reactInternals===void 0)throw Error(r(38));return Vo(i,s,a,!1,c)},Wt.version="18.3.1-next-f1338f8080-20240426",Wt}var Cp;function Jy(){if(Cp)return kc.exports;Cp=1;function e(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(t){console.error(t)}}return e(),kc.exports=Qy(),kc.exports}var bp;function Zy(){if(bp)return Xo;bp=1;var e=Jy();return Xo.createRoot=e.createRoot,Xo.hydrateRoot=e.hydrateRoot,Xo}var eS=Zy();const tS=ah(eS);function vt(e,t,r={}){return fetch(e,{...r,headers:{...r.headers||{},Authorization:`Bearer ${t}`}})}const b_=e=>`nc_seen_${e}`;async function Le(e,t,r={}){const n=await vt(e,t,{method:r.method||"GET",headers:{"content-type":"application/json"},body:r.body?JSON.stringify(r.body):void 0}),o=await n.json().catch(()=>({}));if(!n.ok){const l=new Error(o.error||`HTTP ${n.status}`);throw l.status=n.status,l.data=o,l}return o}const Bn=e=>Array.isArray(e)&&e.length?`/api/route/${e.map(encodeURIComponent).join("/")}/_`:"/api",_i=(e,t)=>`${Bn(e)}/fleet/${t}`,Xr=(e,t)=>Le(_i(t,"status"),e),ch=(e,t,r)=>Le(_i(r,"up"),e,{method:"POST",body:t}),pa=(e,t,r)=>Le(_i(r,"down"),e,{method:"POST",body:t}),oa=(e,t,r)=>Le(_i(r,"restart"),e,{method:"POST",body:{cell:t}}),uh=(e,t)=>Le(_i(t,"definitions"),e),iS=(e,t,r)=>Le(_i(r,"define-engine"),e,{method:"POST",body:{def:t}}),rS=(e,t,r,n,o)=>Le(_i(o,"edit-engine"),e,{method:"POST",body:{id:t,patch:r,envChanges:n}}),sS=(e,t,r)=>Le(_i(r,"remove-engine"),e,{method:"POST",body:{id:t}}),nS=(e,t,r)=>Le(_i(r,"define-cell"),e,{method:"POST",body:{def:t}}),oS=(e,t,r,n)=>Le(_i(n,"edit-cell"),e,{method:"POST",body:{id:t,patch:r}}),x_=(e,t,r=!1,n)=>Le(_i(n,"remove-cell"),e,{method:"POST",body:{id:t,stop:r}}),aS=(e,t,r)=>Le(_i(r,"import-cell"),e,{method:"POST",body:t}),hh=(e,t,r)=>Le(`${Bn(r)}/sessions/${encodeURIComponent(t)}`,e,{method:"DELETE"}),k_=(e,t,r)=>Le(`${Bn(r)}/fs/dirs${t?`?path=${encodeURIComponent(t)}`:""}`,e),E_=e=>Le("/api/settings",e),N_=e=>Le("/api/nodes",e),lS=e=>Le("/api/topology",e),R_=(e,t)=>Le(`${Bn(t)}/sessions`,e),P_=(e,t)=>Le(`${Bn(t)}/config`,e),cS=(e,t)=>Le("/api/settings/config",e,{method:"POST",body:t}),uS=e=>Le("/api/settings/token/rotate",e,{method:"POST"}),hS=(e,t)=>Le("/api/settings/nodes/pair",e,{method:"POST",body:t}),dS=(e,t)=>Le("/api/settings/peering/invite",e,{method:"POST",body:t||{}}),fS=(e,t,r)=>Le(`/api/settings/nodes/${encodeURIComponent(t)}/label`,e,{method:"PATCH",body:{label:r}}),pS=(e,t)=>Le(`/api/settings/nodes/${encodeURIComponent(t)}`,e,{method:"DELETE"}),dh=(e,t,r)=>Le(`/api/settings/nodes/${encodeURIComponent(t)}/${r}`,e,{method:"POST"}),xp=(e,t,r,n=[])=>Le(`/api/settings/nodes/${encodeURIComponent(t)}/visibility`,e,{method:"PATCH",body:{visibility:r,selected:n}}),mS=e=>Le("/api/settings/service/regenerate",e,{method:"POST"}),_S=(e,t=!0)=>Le(`/api/asks${t?"?open=1":""}`,e),gS=(e,t,r)=>Le(`/api/asks/${encodeURIComponent(t)}/answer`,e,{method:"POST",body:{text:r}}),Rc=e=>Le("/api/decks",e),kp=(e,t)=>Le("/api/decks",e,{method:"POST",body:{name:t}}),Go=(e,t,r,n)=>Le(`/api/decks/${encodeURIComponent(t)}`,e,{method:"PUT",body:{layout:r,expectedRevision:n}}),vS=(e,t,r,n)=>Le(`/api/decks/${encodeURIComponent(t)}`,e,{method:"PATCH",body:{name:r,expectedRevision:n}}),yS=(e,t,r)=>Le(`/api/decks/${encodeURIComponent(t)}`,e,{method:"DELETE",body:{expectedRevision:r}}),SS={power:h.jsxs(h.Fragment,{children:[h.jsx("path",{d:"M12 3v8"}),h.jsx("path",{d:"M6.6 6.6a8 8 0 1 0 10.8 0"})]}),folder:h.jsx("path",{d:"M4 6a2 2 0 0 1 2-2h3.6a2 2 0 0 1 1.4.6L12.4 6H18a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2z"}),keyboard:h.jsxs(h.Fragment,{children:[h.jsx("rect",{x:"3",y:"6",width:"18",height:"12",rx:"2"}),h.jsx("path",{d:"M7 10h.01M11 10h.01M15 10h.01M17 14h.01M7 14h7"})]}),mic:h.jsxs(h.Fragment,{children:[h.jsx("rect",{x:"9",y:"3",width:"6",height:"11",rx:"3"}),h.jsx("path",{d:"M5 11a7 7 0 0 0 14 0"}),h.jsx("path",{d:"M12 18v3"})]}),enter:h.jsxs(h.Fragment,{children:[h.jsx("path",{d:"M20 5v6a2 2 0 0 1-2 2H5"}),h.jsx("polyline",{points:"9 9 5 13 9 17"})]}),send:h.jsxs(h.Fragment,{children:[h.jsx("path",{d:"M22 2 15 22 11 13 2 9Z"}),h.jsx("path",{d:"M22 2 11 13"})]}),trash:h.jsxs(h.Fragment,{children:[h.jsx("path",{d:"M4 7h16"}),h.jsx("path",{d:"M9 7V5a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v2"}),h.jsx("path",{d:"M6 7l1 12a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2l1-12"}),h.jsx("path",{d:"M10 11v6M14 11v6"})]}),x:h.jsx("path",{d:"M6 6l12 12M18 6 6 18"}),refresh:h.jsxs(h.Fragment,{children:[h.jsx("path",{d:"M21 12a9 9 0 1 1-2.64-6.36L21 8"}),h.jsx("polyline",{points:"21 3 21 8 16 8"})]}),upload:h.jsxs(h.Fragment,{children:[h.jsx("path",{d:"M12 16V5"}),h.jsx("polyline",{points:"8 9 12 5 16 9"}),h.jsx("path",{d:"M5 20h14"})]}),chevronLeft:h.jsx("polyline",{points:"14 6 8 12 14 18"}),attach:h.jsx("path",{d:"M21.44 11.05 12.25 20.24a6 6 0 0 1-8.49-8.49l8.57-8.57A4 4 0 1 1 18 8.84l-8.59 8.57a2 2 0 0 1-2.83-2.83l8.49-8.48"}),file:h.jsxs(h.Fragment,{children:[h.jsx("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),h.jsx("polyline",{points:"14 2 14 8 20 8"})]}),camera:h.jsxs(h.Fragment,{children:[h.jsx("path",{d:"M14.5 4h-5L7.5 7H4a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2h-3.5z"}),h.jsx("circle",{cx:"12",cy:"13",r:"3.5"})]}),image:h.jsxs(h.Fragment,{children:[h.jsx("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2"}),h.jsx("circle",{cx:"8.5",cy:"8.5",r:"1.5"}),h.jsx("path",{d:"M21 15l-5-5L5 21"})]}),zoomIn:h.jsxs(h.Fragment,{children:[h.jsx("circle",{cx:"11",cy:"11",r:"7"}),h.jsx("path",{d:"M21 21l-4.35-4.35"}),h.jsx("path",{d:"M8 11h6M11 8v6"})]}),zoomOut:h.jsxs(h.Fragment,{children:[h.jsx("circle",{cx:"11",cy:"11",r:"7"}),h.jsx("path",{d:"M21 21l-4.35-4.35"}),h.jsx("path",{d:"M8 11h6"})]}),gear:h.jsxs(h.Fragment,{children:[h.jsx("circle",{cx:"12",cy:"12",r:"3"}),h.jsx("path",{d:"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"})]}),copy:h.jsxs(h.Fragment,{children:[h.jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2"}),h.jsx("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})};function Ie({name:e,size:t=20}){return h.jsx("svg",{className:"nc-icon",width:t,height:t,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:SS[e]||null})}const D_="nc_pins";function M_(){try{const e=JSON.parse(localStorage.getItem(D_));return Array.isArray(e)?e:[]}catch{return[]}}function L_(e,t){const r=e.includes(t)?e.filter(n=>n!==t):[...e,t];try{localStorage.setItem(D_,JSON.stringify(r))}catch{}return r}function bn(e,t,r){const n=e.indexOf(t);return[n===-1?1e9:n,-(r||0)]}function pu(e,t){return e[0]-t[0]||e[1]-t[1]}const fh=["it","en","es"];function wS(){try{const e=typeof navigator<"u"&&navigator.language||"",t=String(e).slice(0,2).toLowerCase();return fh.includes(t)?t:"en"}catch{return"en"}}const aa=wS(),T_="nc_lang",mu="nc-lang";function B_(){return typeof localStorage<"u"?localStorage:null}const Qo={it:{"update-available":"nuova versione {v} disponibile","install-version-mismatch":"installazione incompleta: frontend e server non coincidono (v{v})",reload:"ricarica","grid-empty":"trascina qui una sessione dalla sidebar, o doppio-clic per la vista singola",pin:"fissa in cima",sessions:"sessioni","new-session":"nuova sessione",new:"nuova",fleet:"Flotta","fleet-tmux":"flotta tmux","other-sessions":"Altre sessioni",files:"file",refresh:"aggiorna","filter-placeholder":"filtra sessioni…","loading-fleet":"carico la flotta…","no-sessions":"nessuna sessione tmux viva — la flotta parte al boot (systemd)","no-match":'nessuna sessione contiene "{q}"',"copy-url":"clicca per copiare l'URL","ssh-only":"solo tunnel SSH/VPN","new-files-outbox":"nuovi file in outbox",terminate:"termina","terminate-confirm":'Terminare la sessione "{name}"?',"cell-on":"tmux vivo","cell-off":"spenta","cell-degraded":"degradata: unit attiva, tmux morto","power-on":"accendi","power-off":"spegni","state-on":"accesa","state-off":"spenta",engine:"Engine",model:"Modello","model-default":"Modello predefinito del provider","model-remembered":"Ultimo modello usato con questo engine","boot-persist":"avvia al boot","remove-boot":"togli anche dal boot","power-config-in-settings":"Engine, provider, profilo, modello e permessi si modificano in Impostazioni → Flotta.","no-remote-control":"⚠ engine non-native: niente RC da app claude.ai (da qui la piloti comunque)",cancel:"annulla",name:"nome","name-invalid":"nome non valido: a-zA-Z0-9._- max 64, senza '-' iniziale",cwd:"cartella",browse:"sfoglia","fs-home":"home","fs-parent":".. su",preset:"preset","preset-2x2":"griglia 2×2","preset-columns":"colonne","preset-equalize":"equalizza",collapse:"comprimi",expand:"espandi",create:"crea","auth-prompt":"Incolla il token (stampato dal server):","remember-device":"ricorda su questo device","zoom-out":"testo più piccolo","zoom-in":"testo più grande",composer:"composer",windows:"{n} finestre","empty-files":"vuota",upload:"carica","no-sessions-short":"nessuna sessione","composer-placeholder":"scrivi o detta…",attach:"allega","attach-file":"File","attach-camera":"Fotocamera","attach-gallery":"Galleria","attach-uploading":"carico…",voice:"voice",send:"invia",close:"chiudi","lang-label":"lingua",decks:"deck","new-deck":"nuovo deck","deck-name":"nome deck","open-deck-window":"apri in una nuova finestra","deck-current":"questo deck (finestra corrente)","rename-deck":"rinomina deck","delete-deck":"elimina deck","delete-deck-confirm":'Eliminare il deck "{name}"?',"send-to-deck":"manda al deck…","deck-autosave":"salvataggio automatico",saving:"salvataggio…",saved:"salvato","popup-blocked":"popup bloccato: apri qui","select-drag":"trascina per selezionare","copy-manual":"seleziona e copia manualmente","toggle-sidebar":"mostra/nascondi la barra laterale",settings:"impostazioni","tab-roles":"ruoli","tab-nodes":"nodi",local:"Locale",location:"Dove","pairing-link":"link di pairing","pairing-required":"nome, alias SSH e link di pairing sono obbligatori","pairing-connect-help":"Per collegare un nodo servono: nome, Host SSH già funzionante e link/QR creato sull’altra installazione NexusCrew.","pairing-localhost-hint":"127.0.0.1 nel link è corretto: non aprirlo qui. NexusCrew usa invito e porta attraverso l’Host SSH.","scan-qr":"scansiona QR","pairing-qr-invalid":"QR di pairing non valido","invite-node":"invita un nodo","create-pairing-link":"crea link / QR","visibility-network":"tutta la rete","visibility-relay":"solo relay","visibility-selected":"nodi selezionati","hydra-simple":"locale + nodi, una sola rete","local-ready":"Questo dispositivo è pronto. Puoi usarlo da solo o collegarlo a un nodo.","local-only":"solo locale","add-node":"aggiungi nodo",connect:"collega","node-connected":"Nodo collegato. La rete verrà sincronizzata automaticamente.","tab-system":"sistema","tab-fleet":"flotta","fleet-editor-unavailable":"Editor disponibile solo con il provider fleet builtin.","fleet-managed":"gestito da NexusCrew","fleet-custom":"comando personalizzato","fleet-managed-help":"Client, provider e avvio sono gestiti internamente; i segreti non vengono mostrati.","fleet-model-default":"modello predefinito (opzionale)","fleet-model-required":"modello (obbligatorio)","fleet-standard-permissions":"permessi standard","fleet-unsafe-permissions":"non sicuro · ignora approvazioni/sandbox","fleet-unsafe-warning":"Modalità non sicura esplicita: il worker può agire senza le normali approvazioni o protezioni sandbox.","fleet-provider-display":"nome visualizzato del provider","fleet-custom-provider-default":"Provider personalizzato","fleet-api-key-env":"NOME_VARIABILE_API_KEY","fleet-provider-id":"id-provider","fleet-custom-secret-help":"NexusCrew salva solo il nome della variabile d’ambiente, mai il suo valore.","fleet-model-override":"modello alternativo","fleet-ready":"pronto","fleet-not-ready":"non configurato","fleet-engines":"Engine","fleet-cells":"Celle / sessioni cloud",edit:"modifica",save:"salva",label:"etichetta","command-path":"path assoluto del comando","args-lines":"argomenti, uno per riga","env-write-only":"I valori env sono write-only: vuoto mantiene il valore esistente.","fleet-new-engine":"Nuovo engine","fleet-new-cell":"Nuova cella","fleet-saved":"Definizione salvata.","fleet-restart-confirm":"Modifica salvata. Riavviare ora: {cells}?","fleet-remove-engine":'Eliminare l’engine "{id}"?',"fleet-remove-cell":'Eliminare la cella "{id}"? Se è attiva verrà prima fermata.',"settings-readonly":"READONLY attivo: le modifiche sono bloccate dal server (NEXUSCREW_READONLY=1)","role-client":"client (hub)","role-client-desc":"questa macchina guarda altri nodi via tunnel SSH","role-node":"nodo (raggiungibile)","role-node-desc":"questa macchina si pubblica via reverse tunnel su un rendezvous","rendezvous-ssh":"rendezvous ssh (user@host)","published-port":"porta pubblicata (opzionale)","no-nodes":"nessun nodo remoto configurato","node-add":"collega installazione NexusCrew","node-connect-help":"La porta SSH serve a raggiungere il server SSH. La porta NexusCrew è invece la porta locale mostrata da `nexuscrew status` sul nodo remoto.","node-name-label":"Nome del nodo","node-ssh-label":"Host SSH","node-ssh-port-label":"Porta SSH","node-ssh-port-help":"Di solito 22; usa la porta pubblica del server SSH.","node-app-port-label":"Porta NexusCrew sul nodo","node-app-port-help":"È la porta mostrata da `nexuscrew status` sul nodo remoto.","node-name-ph":"nome (a-z 0-9 -)","node-ssh-ph":"ssh (user@host)","node-port-ph":"porta remota (opz.)","node-remove-confirm":'Rimuovere il nodo "{name}"?',"node-test":"test","tunnel-start":"avvia tunnel","tunnel-stop":"ferma tunnel","tunnel-restart":"riavvia tunnel","tunnel-up":"tunnel su","tunnel-down":"tunnel giù","authorized-keys-hint":"incolla questa riga in ~/.ssh/authorized_keys sull'host remoto:",copy:"copia",copied:"copiato","token-rotate":"ruota token","token-rotate-explain":"Il nuovo token NON verrà mostrato: recuperalo con `nexuscrew url`. La sessione si invalida al riavvio del service.","service-regenerate":"rigenera service","service-installed":"service installato","service-missing":"service non installato","service-active":"attivo","service-inactive":"non attivo",confirm:"conferma",add:"aggiungi",enable:"attiva","wizard-title":"benvenuto in NexusCrew","wizard-skip":"configura dopo dai settings","wizard-step-roles":"ruoli di questa installazione","wizard-step-node":"primo nodo remoto (opzionale)","wizard-step-rendezvous":"rendezvous per il ruolo nodo","wizard-done":"tutto pronto","wizard-done-desc":"setup completato — puoi cambiare tutto dai settings",next:"continua",back:"indietro",skip:"salta",finish:"fine","err-node-name":"nome non valido (a-z, 0-9, -, max 32)","err-ssh":"ssh non valido (atteso user@host o alias)","err-port":"porta non valida (1–65535)","err-ssh-port":"porta SSH non valida (1–65535)","err-node-port":"porta NexusCrew non valida (1–65535)","err-rendezvous-required":"serve un rendezvous ssh (user@host) per attivare il ruolo nodo","node-sessions":"{n} sessioni","tunnel-down-since":"tunnel giù da {t}","node-unreachable":"nodo non raggiungibile","node-offline":"nodo offline","node-offline-seen":"offline · visto {t} fa","node-needs-repair":"legacy · ripeti il pairing","asks-title":"domande dalle celle","ask-reply-ph":"scrivi la risposta…","push-enable":"attiva notifiche push","push-disable":"disattiva notifiche push","push-on":"push attive su questo device","push-off":"push non attive","push-denied":"permesso notifiche negato dal browser","push-unsupported":"push non supportate in questo browser","node-display-label":"Nome (etichetta)","node-slug-hint":"routing su slug: {slug}","device-name-label":"Nome dispositivo","device-name-hint":"come ti vedono i peer (modificabile)","err-label":"etichetta non valida (max 64 char, niente a capo)","fleet-inventory":"Celle e sessioni","fleet-inventory-help":"tutte le posizioni (Locale + route Hydra)","fleet-inventory-empty":"nessuna cella o sessione","fleet-not-available":"fleet non disponibile su questa posizione",start:"avvia",stop:"ferma",restart:"riavvia",delete:"elimina","copy-manual":"copia non riuscita — seleziona e Cmd+C, o copia a mano","copy-empty":"niente selezione: trascina con Shift per selezionare","save-and-start":"salva e avvia",permissions:"Permessi","power-on-hint":"Spegni la cella; puoi anche toglierla dal boot.","launch-engine-help":"Provider, credenziali e nuovi engine si creano in Impostazioni → Flotta. Modello e permessi sono per questa cella.","launch-external-hint":"Provider esterno: engine/modello si configurano nel fleet esterno.","import-as-cell":"Importa come cella","import-help":"Riconcilia una sessione tmux esistente in una cella gestita. Scegli un engine già dichiarato: nessun engine viene inventato.","import-engine-required":"scegli un engine (obbligatorio)","test-and-connect":"testa e collega","pairing-v2-hint":"Incolla o scansiona UN solo link: precompila nome, Host SSH ed etichetta quando il link li include (v2).","invite-v2-hint":"Includi l’Host SSH raggiungibile così chi riceve incolla un solo link con tutto precompilato. Niente segreti nel link.","invite-ssh-hint":"Il target SSH con cui L’ALTRO dispositivo raggiunge QUESTA installazione (user@host o alias). Obbligatorio: viene incluso nel link.","invite-next-steps":"copia questo link, apri NexusCrew sull’altro dispositivo e incollalo in Impostazioni → Nodi (o scansiona il QR): al resto pensa NexusCrew","pair-card-title":"collega con un solo link","pair-card-help":"Incolla il link di pairing generato sull’altro dispositivo (o scansiona il suo QR): NexusCrew decodifica, prova la connessione SSH e collega da solo.","pair-paste-ph":"incolla qui il link di pairing","pair-paste-btn":"incolla","pair-advanced":"avanzate / modifica","pair-progress":"collegamento in corso: SSH → invito → conferma → verifica…","pair-retry":"riprova","pair-invalid-link":"questo non è un link di pairing valido","pair-invalid-hint":"serve il link completo (http://…#pair=…) generato dall’altro NexusCrew: non aprirlo, incollalo qui","pair-missing-ssh":"il link non include il target SSH (formato v1): indica in “avanzate” come questo dispositivo raggiunge l’altro via SSH — non viene mai inventato","pair-missing-name":"manca il nome del nodo: completalo in “avanzate”","pair-clipboard-denied":"lettura degli appunti non consentita: incolla manualmente nel campo","pair-clipboard-empty":"appunti vuoti: copia prima il link di pairing","pair-stage-validation":"dati non validi","pair-stage-conflict":"nome già in uso","pair-stage-ssh-start":"avvio del tunnel SSH fallito","pair-stage-ssh-ready":"peer non raggiungibile via SSH","pair-stage-join":"scambio dell’invito fallito","pair-stage-tunnel-final":"tunnel negoziato fallito","pair-stage-confirm":"conferma del pairing fallita","pair-stage-health":"verifica finale della federazione fallita","pair-stage-internal":"errore interno","pair-stage-generic":"connessione fallita","qr-no-camera":"nessuna camera disponibile su questo dispositivo: usa una foto del QR","qr-permission":"permesso camera negato: consentilo nel browser o usa una foto del QR","qr-unsupported":"scanner live non supportato qui: carica una foto del QR","qr-upload":"usa una foto"},en:{"update-available":"new version {v} available","install-version-mismatch":"incomplete installation: frontend and server do not match (v{v})",reload:"reload","grid-empty":"drag a session here from the sidebar, or double-click for single view",pin:"pin to top",sessions:"sessions","new-session":"new session",new:"new",fleet:"Fleet","fleet-tmux":"tmux fleet","other-sessions":"Other sessions",files:"files",refresh:"refresh","filter-placeholder":"filter sessions…","loading-fleet":"loading fleet…","no-sessions":"no live tmux sessions — the fleet starts at boot (systemd)","no-match":'no session matches "{q}"',"copy-url":"click to copy URL","ssh-only":"SSH/VPN tunnel only","new-files-outbox":"new files in outbox",terminate:"terminate","terminate-confirm":'Terminate session "{name}"?',"cell-on":"tmux alive","cell-off":"off","cell-degraded":"degraded: unit active, tmux dead","power-on":"power on","power-off":"power off","state-on":"running","state-off":"stopped",engine:"Engine",model:"Model","model-default":"Provider default model","model-remembered":"Last model used with this engine","boot-persist":"start at boot","remove-boot":"also remove from boot","power-config-in-settings":"Edit engine, provider, profile, model and permissions in Settings → Fleet.","no-remote-control":"⚠ non-native engine: no claude.ai app RC (you can still drive it from here)",cancel:"cancel",name:"name","name-invalid":"invalid name: a-zA-Z0-9._- max 64, no leading '-'",cwd:"folder",browse:"browse","fs-home":"home","fs-parent":".. up",preset:"preset","preset-2x2":"2×2 grid","preset-columns":"columns","preset-equalize":"equalize",collapse:"collapse",expand:"expand",create:"create","auth-prompt":"Paste the token (printed by the server):","remember-device":"remember on this device","zoom-out":"smaller text","zoom-in":"bigger text",composer:"composer",windows:"{n} windows","empty-files":"empty",upload:"upload","no-sessions-short":"no sessions","composer-placeholder":"type or dictate…",attach:"attach","attach-file":"File","attach-camera":"Camera","attach-gallery":"Gallery","attach-uploading":"uploading…",voice:"voice",send:"send",close:"close","lang-label":"language",decks:"decks","new-deck":"new deck","deck-name":"deck name","open-deck-window":"open in a new window","deck-current":"this deck (current window)","rename-deck":"rename deck","delete-deck":"delete deck","delete-deck-confirm":'Delete deck "{name}"?',"send-to-deck":"send to deck…","deck-autosave":"autosave",saving:"saving…",saved:"saved","popup-blocked":"popup blocked: open here","select-drag":"drag to select","copy-manual":"select and copy manually","toggle-sidebar":"show/hide the sidebar",settings:"settings","tab-roles":"roles","tab-nodes":"nodes",local:"Local",location:"Location","pairing-link":"pairing link","pairing-required":"name, SSH alias and pairing link are required","pairing-connect-help":"Connecting a node requires a name, a working SSH Host, and a link/QR created by the other NexusCrew installation.","pairing-localhost-hint":"127.0.0.1 in the link is correct: do not open it here. NexusCrew carries the invite and port through the SSH Host.","scan-qr":"scan QR","pairing-qr-invalid":"invalid pairing QR","invite-node":"invite a node","create-pairing-link":"create link / QR","visibility-network":"whole network","visibility-relay":"relay only","visibility-selected":"selected nodes","hydra-simple":"local + nodes, one network","local-ready":"This device is ready. Use it alone or connect it to a node.","local-only":"local only","add-node":"add node",connect:"connect","node-connected":"Node connected. The network will synchronize automatically.","tab-system":"system","tab-fleet":"fleet","fleet-editor-unavailable":"The editor is available only with the builtin fleet provider.","fleet-managed":"managed by NexusCrew","fleet-custom":"custom command","fleet-managed-help":"Client, provider and launch are managed internally; secrets are never displayed.","fleet-model-default":"default model (optional)","fleet-model-required":"model (required)","fleet-standard-permissions":"standard permissions","fleet-unsafe-permissions":"unsafe · bypass approvals/sandbox","fleet-unsafe-warning":"Explicit unsafe mode: the worker can act without normal approval or sandbox gates.","fleet-provider-display":"provider display name","fleet-custom-provider-default":"Custom provider","fleet-api-key-env":"API_KEY_ENV_NAME","fleet-provider-id":"provider-id","fleet-custom-secret-help":"NexusCrew stores only the environment-variable name, never its value.","fleet-model-override":"model override","fleet-ready":"ready","fleet-not-ready":"not configured","fleet-engines":"Engines","fleet-cells":"Cells / cloud sessions",edit:"edit",save:"save",label:"label","command-path":"absolute command path","args-lines":"arguments, one per line","env-write-only":"Environment values are write-only: blank keeps the existing value.","fleet-new-engine":"New engine","fleet-new-cell":"New cell","fleet-saved":"Definition saved.","fleet-restart-confirm":"Change saved. Restart now: {cells}?","fleet-remove-engine":'Delete engine "{id}"?',"fleet-remove-cell":'Delete cell "{id}"? If active it will be stopped first.',"settings-readonly":"READONLY active: changes are blocked by the server (NEXUSCREW_READONLY=1)","role-client":"client (hub)","role-client-desc":"this machine watches other nodes via SSH tunnels","role-node":"node (reachable)","role-node-desc":"this machine publishes itself via reverse tunnel to a rendezvous","rendezvous-ssh":"rendezvous ssh (user@host)","published-port":"published port (optional)","no-nodes":"no remote nodes configured","node-add":"connect a NexusCrew installation","node-connect-help":"The SSH port reaches the SSH server. The NexusCrew port is the local port reported by `nexuscrew status` on the remote node.","node-name-label":"Node name","node-ssh-label":"SSH host","node-ssh-port-label":"SSH port","node-ssh-port-help":"Usually 22; use the SSH server public port.","node-app-port-label":"NexusCrew port on node","node-app-port-help":"The port reported by `nexuscrew status` on the remote node.","node-name-ph":"name (a-z 0-9 -)","node-ssh-ph":"ssh (user@host)","node-port-ph":"remote port (opt.)","node-remove-confirm":'Remove node "{name}"?',"node-test":"test","tunnel-start":"start tunnel","tunnel-stop":"stop tunnel","tunnel-restart":"restart tunnel","tunnel-up":"tunnel up","tunnel-down":"tunnel down","authorized-keys-hint":"paste this line into ~/.ssh/authorized_keys on the remote host:",copy:"copy",copied:"copied","token-rotate":"rotate token","token-rotate-explain":"The new token will NOT be shown: retrieve it with `nexuscrew url`. The session is invalidated when the service restarts.","service-regenerate":"regenerate service","service-installed":"service installed","service-missing":"service not installed","service-active":"active","service-inactive":"not active",confirm:"confirm",add:"add",enable:"enable","wizard-title":"welcome to NexusCrew","wizard-skip":"configure later from settings","wizard-step-roles":"roles of this install","wizard-step-node":"first remote node (optional)","wizard-step-rendezvous":"rendezvous for the node role","wizard-done":"all set","wizard-done-desc":"setup complete — you can change everything from settings",next:"continue",back:"back",skip:"skip",finish:"finish","err-node-name":"invalid name (a-z, 0-9, -, max 32)","err-ssh":"invalid ssh (expected user@host or alias)","err-port":"invalid port (1–65535)","err-ssh-port":"invalid SSH port (1–65535)","err-node-port":"invalid NexusCrew port (1–65535)","err-rendezvous-required":"a rendezvous ssh (user@host) is required to enable the node role","node-sessions":"{n} sessions","tunnel-down-since":"tunnel down for {t}","node-unreachable":"node unreachable","node-offline":"node offline","node-offline-seen":"offline · seen {t} ago","node-needs-repair":"legacy · pair again","asks-title":"questions from the cells","ask-reply-ph":"type your answer…","push-enable":"enable push notifications","push-disable":"disable push notifications","push-on":"push active on this device","push-off":"push not active","push-denied":"notification permission denied by the browser","push-unsupported":"push not supported in this browser","node-display-label":"Name (label)","node-slug-hint":"routing on slug: {slug}","device-name-label":"Device name","device-name-hint":"how peers see you (editable)","err-label":"invalid label (max 64 chars, no line breaks)","fleet-inventory":"Cells and sessions","fleet-inventory-help":"all positions (Local + Hydra routes)","fleet-inventory-empty":"no cells or sessions","fleet-not-available":"fleet not available on this position",start:"start",stop:"stop",restart:"restart",delete:"delete","copy-manual":"copy failed — select and press Cmd+C, or copy manually","copy-empty":"nothing selected: drag with Shift to select","save-and-start":"save and start",permissions:"Permissions","power-on-hint":"Stop the cell; you can also remove it from boot.","launch-engine-help":"Providers, credentials and new engines are created in Settings → Fleet. Model and permissions are per cell.","launch-external-hint":"External provider: engine/model are configured in the external fleet.","import-as-cell":"Import as cell","import-help":"Reconcile an existing tmux session into a managed cell. Pick an already-declared engine: no engine is invented.","import-engine-required":"pick an engine (required)","test-and-connect":"test and connect","pairing-v2-hint":"Paste or scan ONE link: it prefills name, SSH host and label when the link carries them (v2).","invite-v2-hint":"Include the reachable SSH host so the receiver pastes one link with everything prefilled. No secrets in the link.","invite-ssh-hint":"The SSH target the OTHER device uses to reach THIS installation (user@host or alias). Required: it is included in the link.","invite-next-steps":"copy this link, open NexusCrew on the other device and paste it in Settings → Nodes (or scan the QR): NexusCrew does the rest","pair-card-title":"connect with one link","pair-card-help":"Paste the pairing link generated on the other device (or scan its QR): NexusCrew decodes it, tests the SSH connection and connects on its own.","pair-paste-ph":"paste the pairing link here","pair-paste-btn":"paste","pair-advanced":"advanced / edit","pair-progress":"connecting: SSH → invite → confirm → verify…","pair-retry":"retry","pair-invalid-link":"this is not a valid pairing link","pair-invalid-hint":"you need the full link (http://…#pair=…) generated by the other NexusCrew: don’t open it, paste it here","pair-missing-ssh":"the link carries no SSH target (v1 format): set in “advanced” how this device reaches the other one over SSH — it is never invented","pair-missing-name":"the node name is missing: fill it in “advanced”","pair-clipboard-denied":"clipboard read not allowed: paste manually into the field","pair-clipboard-empty":"clipboard is empty: copy the pairing link first","pair-stage-validation":"invalid data","pair-stage-conflict":"name already in use","pair-stage-ssh-start":"SSH tunnel start failed","pair-stage-ssh-ready":"peer unreachable over SSH","pair-stage-join":"invite exchange failed","pair-stage-tunnel-final":"negotiated tunnel failed","pair-stage-confirm":"pairing confirmation failed","pair-stage-health":"final federation check failed","pair-stage-internal":"internal error","pair-stage-generic":"connection failed","qr-no-camera":"no camera available on this device: use a photo of the QR","qr-permission":"camera permission denied: allow it in the browser or use a photo of the QR","qr-unsupported":"live scanner not supported here: upload a photo of the QR","qr-upload":"use a photo"},es:{"update-available":"nueva versión {v} disponible","install-version-mismatch":"instalación incompleta: frontend y servidor no coinciden (v{v})",reload:"recargar","grid-empty":"arrastra aquí una sesión desde la barra lateral, o doble clic para vista única",pin:"fijar arriba",sessions:"sesiones","new-session":"nueva sesión",new:"nueva",fleet:"Flota","fleet-tmux":"flota tmux","other-sessions":"Otras sesiones",files:"archivos",refresh:"actualizar","filter-placeholder":"filtrar sesiones…","loading-fleet":"cargando flota…","no-sessions":"sin sesiones tmux vivas — la flota arranca en el boot (systemd)","no-match":"ninguna sesión coincide con «{q}»","copy-url":"clic para copiar la URL","ssh-only":"solo túnel SSH/VPN","new-files-outbox":"archivos nuevos en outbox",terminate:"terminar","terminate-confirm":"¿Terminar la sesión «{name}»?","cell-on":"tmux activo","cell-off":"apagada","cell-degraded":"degradada: unit activa, tmux muerto","power-on":"encender","power-off":"apagar","state-on":"encendida","state-off":"apagada",engine:"Motor",model:"Modelo","model-default":"Modelo predeterminado del proveedor","model-remembered":"Último modelo usado con este motor","boot-persist":"iniciar en el boot","remove-boot":"quitar también del boot","power-config-in-settings":"Modifica motor, proveedor, perfil, modelo y permisos en Ajustes → Flota.","no-remote-control":"⚠ motor no nativo: sin RC de la app claude.ai (aquí puedes pilotarla igual)",cancel:"cancelar",name:"nombre","name-invalid":"nombre inválido: a-zA-Z0-9._- máx 64, sin '-' inicial",cwd:"carpeta",browse:"explorar","fs-home":"home","fs-parent":".. arriba",preset:"preset","preset-2x2":"cuadrícula 2×2","preset-columns":"columnas","preset-equalize":"igualar",collapse:"contraer",expand:"expandir",create:"crear","auth-prompt":"Pega el token (impreso por el servidor):","remember-device":"recordar en este dispositivo","zoom-out":"texto más pequeño","zoom-in":"texto más grande",composer:"composer",windows:"{n} ventanas","empty-files":"vacía",upload:"subir","no-sessions-short":"sin sesiones","composer-placeholder":"escribe o dicta…",attach:"adjuntar","attach-file":"Archivo","attach-camera":"Cámara","attach-gallery":"Galería","attach-uploading":"subiendo…",voice:"voz",send:"enviar",close:"cerrar","lang-label":"idioma",decks:"decks","new-deck":"nuevo deck","deck-name":"nombre del deck","open-deck-window":"abrir en una ventana nueva","deck-current":"este deck (ventana actual)","rename-deck":"renombrar deck","delete-deck":"eliminar deck","delete-deck-confirm":"¿Eliminar el deck «{name}»?","send-to-deck":"enviar al deck…","deck-autosave":"guardado automático",saving:"guardando…",saved:"guardado","popup-blocked":"ventana bloqueada: abrir aquí","select-drag":"arrastra para seleccionar","copy-manual":"selecciona y copia manualmente","toggle-sidebar":"mostrar/ocultar la barra lateral",settings:"ajustes","tab-roles":"roles","tab-nodes":"nodos",local:"Local",location:"Ubicación","pairing-link":"enlace de emparejamiento","pairing-required":"nombre, alias SSH y enlace son obligatorios","pairing-connect-help":"Para conectar un nodo necesitas un nombre, un Host SSH funcional y el enlace/QR creado por la otra instalación NexusCrew.","pairing-localhost-hint":"127.0.0.1 en el enlace es correcto: no lo abras aquí. NexusCrew usa la invitación y el puerto mediante el Host SSH.","scan-qr":"escanear QR","pairing-qr-invalid":"QR de emparejamiento no válido","invite-node":"invitar un nodo","create-pairing-link":"crear enlace / QR","visibility-network":"toda la red","visibility-relay":"solo relay","visibility-selected":"nodos seleccionados","hydra-simple":"local + nodos, una red","local-ready":"Este dispositivo está listo. Úsalo solo o conéctalo a un nodo.","local-only":"solo local","add-node":"añadir nodo",connect:"conectar","node-connected":"Nodo conectado. La red se sincronizará automáticamente.","tab-system":"sistema","tab-fleet":"flota","fleet-editor-unavailable":"El editor solo está disponible con el proveedor builtin.","fleet-managed":"gestionado por NexusCrew","fleet-custom":"comando personalizado","fleet-managed-help":"Cliente, proveedor e inicio se gestionan internamente; los secretos nunca se muestran.","fleet-model-default":"modelo predeterminado (opcional)","fleet-model-required":"modelo (obligatorio)","fleet-standard-permissions":"permisos estándar","fleet-unsafe-permissions":"inseguro · omitir aprobaciones/sandbox","fleet-unsafe-warning":"Modo inseguro explícito: el worker puede actuar sin las aprobaciones normales ni las protecciones del sandbox.","fleet-provider-display":"nombre visible del proveedor","fleet-custom-provider-default":"Proveedor personalizado","fleet-api-key-env":"NOMBRE_VARIABLE_API_KEY","fleet-provider-id":"id-proveedor","fleet-custom-secret-help":"NexusCrew guarda solo el nombre de la variable de entorno, nunca su valor.","fleet-model-override":"modelo alternativo","fleet-ready":"listo","fleet-not-ready":"no configurado","fleet-engines":"Motores","fleet-cells":"Celdas / sesiones cloud",edit:"editar",save:"guardar",label:"etiqueta","command-path":"ruta absoluta del comando","args-lines":"argumentos, uno por línea","env-write-only":"Los valores env son de solo escritura: vacío conserva el valor existente.","fleet-new-engine":"Nuevo motor","fleet-new-cell":"Nueva celda","fleet-saved":"Definición guardada.","fleet-restart-confirm":"Cambio guardado. ¿Reiniciar ahora: {cells}?","fleet-remove-engine":'¿Eliminar el motor "{id}"?',"fleet-remove-cell":'¿Eliminar la celda "{id}"? Si está activa se detendrá primero.',"settings-readonly":"READONLY activo: los cambios están bloqueados por el servidor (NEXUSCREW_READONLY=1)","role-client":"client (hub)","role-client-desc":"esta máquina observa otros nodos vía túneles SSH","role-node":"nodo (alcanzable)","role-node-desc":"esta máquina se publica vía túnel inverso hacia un rendezvous","rendezvous-ssh":"rendezvous ssh (user@host)","published-port":"puerto publicado (opcional)","no-nodes":"sin nodos remotos configurados","node-add":"conectar una instalación NexusCrew","node-connect-help":"El puerto SSH conecta con el servidor SSH. El puerto NexusCrew es el puerto local indicado por `nexuscrew status` en el nodo remoto.","node-name-label":"Nombre del nodo","node-ssh-label":"Host SSH","node-ssh-port-label":"Puerto SSH","node-ssh-port-help":"Normalmente 22; usa el puerto público del servidor SSH.","node-app-port-label":"Puerto NexusCrew del nodo","node-app-port-help":"El puerto indicado por `nexuscrew status` en el nodo remoto.","node-name-ph":"nombre (a-z 0-9 -)","node-ssh-ph":"ssh (user@host)","node-port-ph":"puerto remoto (opc.)","node-remove-confirm":"¿Eliminar el nodo «{name}»?","node-test":"test","tunnel-start":"iniciar túnel","tunnel-stop":"detener túnel","tunnel-restart":"reiniciar túnel","tunnel-up":"túnel activo","tunnel-down":"túnel caído","authorized-keys-hint":"pega esta línea en ~/.ssh/authorized_keys del host remoto:",copy:"copiar",copied:"copiado","token-rotate":"rotar token","token-rotate-explain":"El nuevo token NO se mostrará: recupéralo con `nexuscrew url`. La sesión se invalida al reiniciar el service.","service-regenerate":"regenerar service","service-installed":"service instalado","service-missing":"service no instalado","service-active":"activo","service-inactive":"no activo",confirm:"confirmar",add:"añadir",enable:"activar","wizard-title":"bienvenido a NexusCrew","wizard-skip":"configura después desde ajustes","wizard-step-roles":"roles de esta instalación","wizard-step-node":"primer nodo remoto (opcional)","wizard-step-rendezvous":"rendezvous para el rol nodo","wizard-done":"todo listo","wizard-done-desc":"configuración completa — puedes cambiarlo todo desde ajustes",next:"continuar",back:"atrás",skip:"omitir",finish:"terminar","err-node-name":"nombre inválido (a-z, 0-9, -, máx 32)","err-ssh":"ssh inválido (se espera user@host o alias)","err-port":"puerto inválido (1–65535)","err-ssh-port":"puerto SSH inválido (1–65535)","err-node-port":"puerto NexusCrew inválido (1–65535)","err-rendezvous-required":"se necesita un rendezvous ssh (user@host) para activar el rol nodo","node-sessions":"{n} sesiones","tunnel-down-since":"túnel caído desde hace {t}","node-unreachable":"nodo inalcanzable","node-offline":"nodo desconectado","node-offline-seen":"sin conexión · visto hace {t}","node-needs-repair":"legacy · vuelve a enlazar","asks-title":"preguntas de las celdas","ask-reply-ph":"escribe la respuesta…","push-enable":"activar notificaciones push","push-disable":"desactivar notificaciones push","push-on":"push activas en este dispositivo","push-off":"push no activas","push-denied":"permiso de notificaciones denegado por el navegador","push-unsupported":"push no soportadas en este navegador","node-display-label":"Nombre (etiqueta)","node-slug-hint":"enrutado por slug: {slug}","device-name-label":"Nombre del dispositivo","device-name-hint":"cómo te ven los pares (editable)","err-label":"etiqueta no válida (máx 64 caracteres, sin saltos de línea)","fleet-inventory":"Celdas y sesiones","fleet-inventory-help":"todas las posiciones (Local + rutas Hydra)","fleet-inventory-empty":"sin celdas ni sesiones","fleet-not-available":"fleet no disponible en esta posición",start:"iniciar",stop:"detener",restart:"reiniciar",delete:"eliminar","copy-manual":"copia fallida — selecciona y pulsa Cmd+C, o copia a mano","copy-empty":"nada seleccionado: arrastra con Shift para seleccionar","save-and-start":"guardar e iniciar",permissions:"Permisos","power-on-hint":"Detén la celda; también puedes quitarla del boot.","launch-engine-help":"Proveedores, credenciales y nuevos motores se crean en Ajustes → Flota. Modelo y permisos son por celda.","launch-external-hint":"Proveedor externo: motor/modelo se configuran en el fleet externo.","import-as-cell":"Importar como celda","import-help":"Reconcilia una sesión tmux existente en una celda gestionada. Elige un motor ya declarado: no se inventa ninguno.","import-engine-required":"elige un motor (obligatorio)","test-and-connect":"probar y conectar","pairing-v2-hint":"Pega o escanea UN solo enlace: rellena nombre, Host SSH y etiqueta cuando los incluye (v2).","invite-v2-hint":"Incluye el Host SSH alcanzable para que quien recibe pegue un solo enlace con todo rellenado. Sin secretos en el enlace.","invite-ssh-hint":"El destino SSH con el que el OTRO dispositivo alcanza ESTA instalación (usuario@host o alias). Obligatorio: se incluye en el enlace.","invite-next-steps":"copia este enlace, abre NexusCrew en el otro dispositivo y pégalo en Ajustes → Nodos (o escanea el QR): NexusCrew hace el resto","pair-card-title":"conectar con un solo enlace","pair-card-help":"Pega el enlace de emparejamiento generado en el otro dispositivo (o escanea su QR): NexusCrew lo decodifica, prueba la conexión SSH y conecta solo.","pair-paste-ph":"pega aquí el enlace de emparejamiento","pair-paste-btn":"pegar","pair-advanced":"avanzado / editar","pair-progress":"conectando: SSH → invitación → confirmación → verificación…","pair-retry":"reintentar","pair-invalid-link":"esto no es un enlace de emparejamiento válido","pair-invalid-hint":"se necesita el enlace completo (http://…#pair=…) generado por el otro NexusCrew: no lo abras, pégalo aquí","pair-missing-ssh":"el enlace no incluye el destino SSH (formato v1): indica en “avanzado” cómo este dispositivo alcanza al otro por SSH — nunca se inventa","pair-missing-name":"falta el nombre del nodo: complétalo en “avanzado”","pair-clipboard-denied":"lectura del portapapeles no permitida: pega manualmente en el campo","pair-clipboard-empty":"portapapeles vacío: copia primero el enlace","pair-stage-validation":"datos no válidos","pair-stage-conflict":"nombre ya en uso","pair-stage-ssh-start":"fallo al iniciar el túnel SSH","pair-stage-ssh-ready":"peer inaccesible por SSH","pair-stage-join":"intercambio de invitación fallido","pair-stage-tunnel-final":"túnel negociado fallido","pair-stage-confirm":"confirmación de emparejamiento fallida","pair-stage-health":"verificación final de la federación fallida","pair-stage-internal":"error interno","pair-stage-generic":"conexión fallida","qr-no-camera":"no hay cámara disponible en este dispositivo: usa una foto del QR","qr-permission":"permiso de cámara denegado: permítelo en el navegador o usa una foto del QR","qr-unsupported":"escáner en vivo no soportado aquí: sube una foto del QR","qr-upload":"usar una foto"}};function _u(){const e=B_(),t=e?e.getItem(T_):null;return fh.includes(t)?t:aa}function CS(e){const t=B_();if(t)try{t.setItem(T_,e)}catch{}typeof window<"u"&&window.dispatchEvent(new Event(mu))}function b(e){const t=_u(),r=Qo[t]||Qo[aa];return Object.prototype.hasOwnProperty.call(r,e)?r[e]:Object.prototype.hasOwnProperty.call(Qo[aa],e)?Qo[aa][e]:e}function bS(e){return typeof window>"u"?()=>{}:(window.addEventListener(mu,e),()=>window.removeEventListener(mu,e))}const j_=fh;function ei(){return[j.useSyncExternalStore(bS,_u,_u),CS]}function ma({cell:e,token:t,route:r=[],onConfirm:n,onClose:o}){var V,Q;ei();const l=!!(e&&e.active),u=Array.isArray(r)?r.join("/"):"",[f,m]=j.useState([]),[p,y]=j.useState(!1);j.useEffect(()=>{let X=!0;return(async()=>{if(t)try{const k=await Xr(t,u?u.split("/"):[]);if(!X)return;if(y(k.provider==="builtin"&&(k.capabilities||[]).includes("edit")),k.provider==="builtin"&&(k.capabilities||[]).includes("definitions")){const J=await uh(t,u?u.split("/"):[]);if(!X)return;const ie=new Map((k.engines||[]).map(N=>[N.id,N]));m((J.engines||[]).map(N=>{var F,ne,A,O,re,ue,ae;return{id:N.id,label:N.label||N.id,client:((F=N.managed)==null?void 0:F.client)||"",models:[...new Set([...((ne=ie.get(N.id))==null?void 0:ne.models)||[],...((A=N.managedInfo)==null?void 0:A.models)||[]])].filter(Boolean),defaultModel:((O=N.managed)==null?void 0:O.model)||((re=N.managedInfo)==null?void 0:re.defaultModel)||"",policyDefault:((ue=N.managed)==null?void 0:ue.permissionPolicy)||((ae=N.managed)!=null&&ae.client&&N.managed.client==="claude"?"unsafe":"standard")}}))}}catch{}})(),()=>{X=!1}},[t,u]);const v=(e==null?void 0:e.engine)||((V=f[0])==null?void 0:V.id)||"",S=X=>(e==null?void 0:e.models)&&e.models[X]||"",g=X=>{const k=(e==null?void 0:e.permissionPolicies)&&e.permissionPolicies[X];if(k==="standard"||k==="unsafe")return k;const J=f.find(ie=>ie.id===X);return J?J.policyDefault:"standard"},[C,E]=j.useState(v),[x,R]=j.useState((e==null?void 0:e.model)||""),z=(e==null?void 0:e.permissionPolicy)==="standard"||(e==null?void 0:e.permissionPolicy)==="unsafe"?e.permissionPolicy:((Q=e==null?void 0:e.permissionPolicies)==null?void 0:Q[e==null?void 0:e.engine])||"",[T,$]=j.useState(z),[te,L]=j.useState((e==null?void 0:e.boot)??!0),[P,U]=j.useState(!1),[M,K]=j.useState(null);j.useEffect(()=>{f.length&&(E(X=>X||v),R(X=>X||S((e==null?void 0:e.engine)||v)||""),$(X=>X==="standard"||X==="unsafe"?X:g((e==null?void 0:e.engine)||v)))},[f.length]);const Y=j.useMemo(()=>f.find(X=>X.id===C)||null,[f,C]),I=!!(Y&&["claude","codex","codex-vl"].includes(Y.client));function B(X){E(X);const k=f.find(J=>J.id===X);R(S(X)||(k==null?void 0:k.defaultModel)||""),$(g(X))}async function W(X){X.preventDefault(),U(!0),K(null);try{if(l)await n({action:"down",boot:te});else{const k=T==="standard"||T==="unsafe"?T:(Y==null?void 0:Y.policyDefault)||"standard";await n({action:"up",...p?{engine:C,model:x||"",...I?{permissionPolicy:k}:(Y==null?void 0:Y.client)==="pi"?{permissionPolicy:"standard"}:{}}:{},boot:te})}o()}catch(k){K(String(k&&k.message||k)),U(!1)}}return h.jsx("div",{className:"nc-sheet-overlay nc-launch-overlay",onClick:o,children:h.jsxs("form",{className:"nc-sheet nc-power-sheet nc-launch-sheet",onClick:X=>X.stopPropagation(),onSubmit:W,children:[h.jsxs("div",{className:"nc-sheet-head",children:[h.jsx("b",{children:e==null?void 0:e.cell}),h.jsx("span",{className:"nc-sheet-state",children:b(l?"state-on":"state-off")})]}),l?h.jsxs(h.Fragment,{children:[h.jsxs("div",{className:"nc-power-config",children:[h.jsx("span",{children:b("engine")}),h.jsx("b",{children:(e==null?void 0:e.engine)||"—"}),(e==null?void 0:e.model)&&h.jsxs("small",{children:[b("model"),": ",e.model]}),h.jsx("small",{children:b("power-on-hint")})]}),h.jsxs("label",{className:"nc-check",children:[h.jsx("input",{type:"checkbox",checked:te,onChange:X=>L(X.target.checked)}),b("remove-boot")]})]}):h.jsxs(h.Fragment,{children:[p&&f.length>0?h.jsxs("div",{className:"nc-launch-fields",children:[h.jsxs("label",{className:"nc-field",children:[b("engine"),h.jsx("select",{value:C,onChange:X=>B(X.target.value),children:f.map(X=>h.jsx("option",{value:X.id,children:X.label},X.id))})]}),h.jsxs("label",{className:"nc-field",children:[b("model"),h.jsx("input",{value:x,list:"nc-launch-models",placeholder:b("model-default"),onChange:X=>R(X.target.value)}),h.jsx("datalist",{id:"nc-launch-models",children:((Y==null?void 0:Y.models)||[]).map(X=>h.jsx("option",{value:X},X))})]}),I?h.jsxs("label",{className:"nc-field",children:[b("permissions"),h.jsxs("select",{value:T,onChange:X=>$(X.target.value),children:[h.jsx("option",{value:"standard",children:b("fleet-standard-permissions")}),h.jsx("option",{value:"unsafe",children:b("fleet-unsafe-permissions")})]})]}):h.jsx("small",{className:"nc-note",children:b("fleet-standard-permissions")}),I&&T==="unsafe"&&h.jsx("small",{className:"nc-err",children:b("fleet-unsafe-warning")}),h.jsx("small",{className:"nc-note",children:b("launch-engine-help")})]}):h.jsxs("div",{className:"nc-power-config",children:[h.jsx("span",{children:b("engine")}),h.jsx("b",{children:(e==null?void 0:e.engine)||"—"}),(e==null?void 0:e.model)&&h.jsxs("small",{children:[b("model"),": ",e.model]}),h.jsx("small",{children:b("launch-external-hint")})]}),h.jsxs("label",{className:"nc-check",children:[h.jsx("input",{type:"checkbox",checked:te,onChange:X=>L(X.target.checked)}),b("boot-persist")]})]}),M&&h.jsx("div",{className:"nc-err",children:M}),h.jsxs("div",{className:"nc-sheet-actions",children:[h.jsx("button",{type:"button",className:"nc-btn ghost",onClick:o,disabled:P,children:b("cancel")}),h.jsx("button",{type:"submit",className:"nc-btn primary",disabled:P,children:b(l?"power-off":"save-and-start")})]})]})})}const Ep=/^[a-z0-9-]{1,32}$/;function xS(e,t,r){const n={};for(const o of Array.isArray(t)?t:[]){const l=Array.isArray(o==null?void 0:o.route)?o.route:typeof(o==null?void 0:o.name)=="string"?[o.name]:[];if(!l.length)continue;const u=l.join("/");o.status==="up"||o.tunnel&&o.tunnel.status==="up"||(n[u]=e&&e[u]||r)}return n}function Np(e,t,r){return!e||!Array.isArray(e.cells)?[]:e.cells.map(n=>({...n,route:t,key:`${r}:${n.cell||n.tmuxSession}`}))}function Rp({nodes:e,topology:t,remote:r,down:n,fleet:o}={}){var m,p,y;const l=[],u=new Set,f=new Set;for(const v of Array.isArray(e)?e:[]){if(!v||typeof v.name!="string"||!Ep.test(v.name))continue;const S=[v.name],g=v.name;u.add(g);const C=((m=v.tunnel)==null?void 0:m.status)||"unknown",E=C==="up",x={name:v.name,label:v.label||v.name,route:S,direct:!0,tunnelStatus:C,sessions:[],cells:[],unmanaged:[],fleetAvailable:!1,capabilities:[],engines:[],health:v.health||null};if(v.nodeId&&f.add(v.nodeId),!v.nodeId&&v.paired===!1){l.push({...x,status:"needs-repair",downSince:n&&n[g]||null});continue}if(((p=v.health)==null?void 0:p.auth)==="failed"||C==="degraded"&&((y=v.health)==null?void 0:y.status)==="degraded"){l.push({...x,status:"needs-repair",downSince:n&&n[g]||null});continue}if(!E){l.push({...x,status:"down",downSince:n&&n[g]||null});continue}const R=r&&(r[g]||r[v.name])||null;if(!R||R.error||!Array.isArray(R.sessions)){l.push({...x,status:"unreachable"});continue}const z=R.sessions.filter(L=>L&&typeof L.name=="string"&&L.name).map(L=>({...L,node:g,route:S,key:`${g}:${L.name}`})),T=o&&(o[g]||o[v.name]),$=Np(T,S,g),te=new Set($.map(L=>L.tmuxSession).filter(Boolean));l.push({...x,status:"up",sessions:z,cells:$,unmanaged:z.filter(L=>!te.has(L.name)),fleetAvailable:!!(T&&T.available),capabilities:T&&T.capabilities||[],engines:T&&T.engines||[],fleetProvider:T&&T.provider||null})}for(const v of Array.isArray(t)?t:[]){if(!v||!Array.isArray(v.route)||v.route.length<1||v.route.some(T=>!Ep.test(T)))continue;const S=v.route.join("/");if(u.has(S)||v.instanceId&&f.has(v.instanceId))continue;v.instanceId&&f.add(v.instanceId);const g={name:v.name,label:v.label||v.route.join(" › "),route:[...v.route],direct:!1,tunnelStatus:null,sessions:[],cells:[],unmanaged:[],fleetAvailable:!1,capabilities:[],engines:[],health:v.health||null,lastSeen:v.lastSeen||null};if(v.stale){l.push({...g,status:"offline",downSince:n&&n[S]||v.lastSeen||null});continue}const C=r&&r[S]||null;if(!C||C.error||!Array.isArray(C.sessions)){l.push({...g,status:"unreachable",downSince:n&&n[S]||null});continue}const E=C.sessions.filter(T=>T&&typeof T.name=="string"&&T.name).map(T=>({...T,node:S,route:v.route,key:`${S}:${T.name}`})),x=o&&o[S],R=Np(x,v.route,S),z=new Set(R.map(T=>T.tmuxSession).filter(Boolean));l.push({...g,status:"up",sessions:E,cells:R,unmanaged:E.filter(T=>!z.has(T.name)),fleetAvailable:!!(x&&x.available),capabilities:x&&x.capabilities||[],engines:x&&x.engines||[],fleetProvider:x&&x.provider||null,lastSeen:v.lastSeen||null})}return l.sort((v,S)=>v.label.localeCompare(S.label))}const kS=4e3;function ph(e,t=!0){const[r,n]=j.useState([]),o=j.useRef({});return j.useEffect(()=>{if(!t||!e){n([]);return}let l=!0;async function u(){var E;let m=[],p=[];if(await Promise.all([N_(e).then(x=>{m=Array.isArray(x.nodes)?x.nodes:[]}).catch(()=>{}),lS(e).then(x=>{p=Array.isArray(x.nodes)?x.nodes:[]}).catch(()=>{})]),!l)return;const y={},v={},S=new Set(m.map(x=>x.name)),g=[];for(const x of m)((E=x.tunnel)==null?void 0:E.status)==="up"&&(x.nodeId||x.paired!==!1)&&g.push([x.name]);for(const x of p)!x.stale&&Array.isArray(x.route)&&!(x.route.length===1&&S.has(x.route[0]))&&g.push(x.route);if(await Promise.all(g.map(async x=>{const R=x.join("/");try{y[R]=await R_(e,x)}catch{y[R]={error:"unreachable"}}try{v[R]=await Xr(e,x)}catch{v[R]={available:!1}}})),!l)return;const C=Rp({nodes:m,topology:p,remote:y,fleet:v,down:o.current});o.current=xS(o.current,C,Math.floor(Date.now()/1e3)),n(Rp({nodes:m,topology:p,remote:y,fleet:v,down:o.current}))}u();const f=setInterval(u,kS);return()=>{l=!1,clearInterval(f)}},[e,t]),r}function Pp(e,t){return t?0:e.attached?1:2}function Pn(e){if(!e)return"";const t=Math.floor(Date.now()/1e3)-e;return t<0||t<60?"ora":t<3600?`${Math.floor(t/60)}m`:t<86400?`${Math.floor(t/3600)}h`:`${Math.floor(t/86400)}g`}function Pc(e){return e.status==="down"?e.downSince?b("tunnel-down-since").replace("{t}",Pn(e.downSince)):b("tunnel-down"):e.status==="unreachable"?b("node-unreachable"):e.status==="offline"?e.lastSeen?b("node-offline-seen").replace("{t}",Pn(e.lastSeen)):b("node-offline"):e.status==="needs-repair"?b("node-needs-repair"):""}function ES(e){return e?e.status==="healthy"?"on":"warn":null}function Dp(e){return e&&(e.detail||e.status)||""}function NS({onPick:e,token:t,onSettings:r}){const[n,o]=ei(),l=ph(t),[u,f]=j.useState(null),[m,p]=j.useState(null),[y,v]=j.useState(""),[S,g]=j.useState(""),[C,E]=j.useState({bind:"127.0.0.1",port:""}),[x,R]=j.useState([]),[z,T]=j.useState(!1),[$,te]=j.useState(null),[L,P]=j.useState(null);async function U(){try{const O=await(await vt("/api/sessions",t)).json();O.error?(p(O.error),f([])):(p(null),f(O.sessions||[]))}catch(A){p(String(A)),f([])}try{const A=await Xr(t);T(!!A.available),R(A.available?A.cells||[]:[])}catch{T(!1),R([])}}j.useEffect(()=>{U(),vt("/api/config",t).then(O=>O.json()).then(O=>{g(O.version||""),E({bind:O.bind||"127.0.0.1",port:O.port||""})}).catch(()=>{});const A=setInterval(U,4e3);return()=>clearInterval(A)},[]);async function M(){if(!C.port)return;const A=`http://${C.bind}:${C.port}/#token=${t}`;try{await navigator.clipboard.writeText(A)}catch{}}async function K(A){if(!$)return;const{cell:O}=$,re=Array.isArray($.route)?$.route:[];A.action==="up"?await ch(t,{cell:O,boot:!!A.boot,...A.engine?{engine:A.engine}:{},...A.model!==void 0?{model:A.model}:{},...A.permissionPolicy?{permissionPolicy:A.permissionPolicy}:{}},re):await pa(t,{cell:O,boot:!!A.boot},re),U()}async function Y(A,O=[]){try{await hh(t,A,O)}catch{return}U()}async function I(A){if(!(!(A!=null&&A.direct)||L)){P(A.name);try{await dh(t,A.name,A.tunnelStatus==="up"?"down":"up")}catch{}P(null)}}const B=j.useMemo(()=>{const A=new Map;for(const O of u||[])A.set(O.name,O);return A},[u]),W=j.useMemo(()=>new Set(x.map(A=>A.tmuxSession)),[x]),[V,Q]=j.useState(M_),X=A=>Q(O=>L_(O,A)),k=j.useMemo(()=>{const A=(u||[]).map(re=>{const ue=Number(localStorage.getItem(b_(re.name))||0),ae=!!(re.outbox&&re.outbox.count>0&&re.outbox.latest>ue);return{...re,fresh:ae}}),O=y.trim().toLowerCase();return A.filter(re=>!O||re.name.toLowerCase().includes(O)).sort((re,ue)=>pu(bn(V,re.name,re.activity),bn(V,ue.name,ue.activity))||Pp(re,re.fresh)-Pp(ue,ue.fresh)||re.name.localeCompare(ue.name))},[u,y,V]),J=k.filter(A=>!W.has(A.name)),ie=j.useMemo(()=>[...x].sort((A,O)=>pu(bn(V,A.tmuxSession,(B.get(A.tmuxSession)||{}).activity),bn(V,O.tmuxSession,(B.get(O.tmuxSession)||{}).activity))||Number(O.active)-Number(A.active)||A.cell.localeCompare(O.cell)),[x,V,B]),N=u?u.length:0,F=(u||[]).filter(A=>A.attached).length,ne=C.port?`${C.bind}:${C.port}`:C.bind;return h.jsxs("div",{className:"nc-home",children:[h.jsxs("header",{className:"nc-home-head",children:[h.jsxs("div",{className:"nc-wordmark",children:["NexusCrew",h.jsx("span",{className:"nc-cursor"})]}),h.jsxs("div",{className:"nc-home-sub",children:[b("fleet-tmux")," · ",N," ",b("sessions"),F>0&&` · ${F} attached`]}),h.jsxs("span",{className:"nc-head-actions",children:[h.jsx("button",{className:"nc-refresh",onClick:()=>r("nodes",!1),title:b("settings"),children:h.jsx(Ie,{name:"gear",size:18})}),h.jsx("button",{className:"nc-refresh",onClick:U,title:b("refresh"),children:h.jsx(Ie,{name:"refresh",size:18})})]})]}),N>8&&h.jsx("input",{className:"nc-filter",type:"search",placeholder:b("filter-placeholder"),value:y,onChange:A=>v(A.target.value)}),m&&h.jsx("div",{className:"nc-err",children:m}),z&&x.length>0&&h.jsxs("section",{className:"nc-group",children:[h.jsx("div",{className:"nc-group-title",children:b("fleet")}),ie.map(A=>{const O=B.get(A.tmuxSession)||{},re=A.degraded?"warn":A.tmux?"on":"",ue=[`${A.engine}${A.key?`·${A.key}`:""}`,O.preview].filter(Boolean).join(" · ");return h.jsxs("div",{className:"nc-mcard",children:[h.jsxs("button",{className:"nc-mcard-main",onClick:()=>A.tmux&&e(A.tmuxSession),title:A.degraded?b("cell-degraded"):A.tmux?b("cell-on"):b("cell-off"),children:[h.jsx("span",{className:`dot ${re}`}),h.jsxs("span",{className:"nc-mcard-text",children:[h.jsx("b",{children:A.cell}),h.jsx("small",{children:ue})]})]}),O.activity?h.jsx("span",{className:"nc-rel",children:Pn(O.activity)}):null,O.outbox&&O.outbox.count>0&&h.jsx("span",{className:"nc-badge",title:b("new-files-outbox"),children:O.outbox.count}),h.jsx("button",{className:`nc-act pin${V.includes(A.tmuxSession)?" on":""}`,title:b("pin"),onClick:()=>X(A.tmuxSession),children:V.includes(A.tmuxSession)?"★":"☆"}),h.jsx("button",{className:`nc-act power${A.tmux?" on":""}${A.degraded?" warn":""}`,onClick:()=>te(A),title:A.active?b("power-off"):b("power-on"),children:h.jsx(Ie,{name:"power",size:16})})]},A.cell)})]}),h.jsxs("section",{className:"nc-group",children:[h.jsx("div",{className:"nc-group-title",children:b("local")}),J.map(A=>h.jsxs("div",{className:"nc-mcard",children:[h.jsxs("button",{className:"nc-mcard-main",onClick:()=>e(A.name),children:[h.jsx("span",{className:A.attached?"dot on":"dot"}),h.jsxs("span",{className:"nc-mcard-text",children:[h.jsx("b",{children:A.name}),h.jsx("small",{children:A.preview?A.preview:A.cmd?A.cmd:b("windows").replace("{n}",String(A.windows||0))})]})]}),A.activity?h.jsx("span",{className:"nc-rel",children:Pn(A.activity)}):null,A.fresh&&h.jsx("span",{className:"nc-badge",title:b("new-files-outbox"),children:A.outbox.count}),h.jsx("button",{className:`nc-act pin${V.includes(A.name)?" on":""}`,title:b("pin"),onClick:()=>X(A.name),children:V.includes(A.name)?"★":"☆"}),h.jsx("button",{className:"nc-menu",title:b("terminate"),onClick:()=>{window.confirm(b("terminate-confirm").replace("{name}",A.name))&&Y(A.name)},children:"⋯"})]},A.name)),u===null&&h.jsx("div",{className:"nc-empty",children:b("loading-fleet")}),u!==null&&J.length===0&&k.length===0&&!m&&h.jsx("div",{className:"nc-empty",children:y?b("no-match").replace("{q}",y):b("no-sessions")})]}),l.map(A=>{const re=ES(A.health)||(A.status==="up"?"on":"warn"),ue=A.health?Dp(A.health):A.status==="up"?"":Pc(A);return h.jsxs("section",{className:"nc-group",children:[h.jsxs("div",{className:"nc-group-title nc-node-title",children:[h.jsx("span",{className:`dot ${re}`,title:ue}),A.label||A.name," · ",A.status==="up"?b("node-sessions").replace("{n}",String(A.cells.length+A.unmanaged.length)):A.health&&Dp(A.health)||Pc(A),A.direct&&A.health&&A.health.managed!==!1&&h.jsx("button",{type:"button",className:`nc-act power${A.tunnelStatus==="up"?" on":""}`,disabled:L===A.name,title:A.tunnelStatus==="up"?b("power-off"):b("power-on"),onClick:()=>I(A),children:h.jsx(Ie,{name:"power",size:15})})]}),A.status==="up"&&A.cells.length>0&&A.cells.map(ae=>h.jsxs("div",{className:"nc-mcard",children:[h.jsxs("button",{className:"nc-mcard-main",onClick:()=>ae.tmux&&e({session:ae.tmuxSession,node:(A.route||[A.name]).join("/")}),title:ae.active?b("cell-on"):b("cell-off"),children:[h.jsx("span",{className:`dot ${ae.degraded?"warn":ae.tmux?"on":""}`}),h.jsxs("span",{className:"nc-mcard-text",children:[h.jsx("b",{children:ae.cell}),h.jsxs("small",{children:[`${ae.engine}${ae.key?`·${ae.key}`:""}`,ae.active?"":` · ${b("cell-off")}`]})]})]}),(A.capabilities||[]).includes(ae.active?"down":"up")&&h.jsx("button",{className:`nc-act power${ae.active?" on":""}${ae.degraded?" warn":""}`,title:ae.active?b("power-off"):b("power-on"),onClick:()=>te({...ae,route:A.route}),children:h.jsx(Ie,{name:"power",size:15})})]},ae.key)),A.status==="up"&&A.unmanaged.map(ae=>h.jsxs("div",{className:"nc-mcard",children:[h.jsxs("button",{className:"nc-mcard-main",onClick:()=>e({session:ae.name,node:ae.node}),children:[h.jsx("span",{className:ae.attached?"dot on":"dot"}),h.jsxs("span",{className:"nc-mcard-text",children:[h.jsx("b",{children:ae.name}),h.jsx("small",{children:ae.preview?ae.preview:ae.cmd?ae.cmd:b("windows").replace("{n}",String(ae.windows||0))})]})]}),ae.activity?h.jsx("span",{className:"nc-rel",children:Pn(ae.activity)}):null,h.jsx("button",{className:"nc-menu",title:b("terminate"),onClick:()=>{window.confirm(b("terminate-confirm").replace("{name}",ae.name))&&Y(ae.name,A.route)},children:"⋯"})]},ae.key)),A.status==="up"&&A.cells.length===0&&A.unmanaged.length===0&&h.jsx("div",{className:"nc-empty",children:b("no-sessions-short")})]},`nodo-${(A.route||[A.name]).join("/")}`)}),h.jsxs("footer",{className:"nc-home-foot",onClick:M,title:b("copy-url"),children:[S&&h.jsxs("span",{children:["v",S]}),h.jsxs("span",{children:[ne," · ",b("ssh-only")]}),h.jsx("span",{className:"nc-lang",onClick:A=>A.stopPropagation(),children:j_.map((A,O)=>h.jsxs("span",{children:[O>0&&" · ",h.jsx("button",{className:`nc-lang-btn${n===A?" on":""}`,onClick:()=>o(A),title:A,children:A.toUpperCase()})]},A))})]}),h.jsx("button",{className:"nc-fab",onClick:()=>r("fleet",!0),title:b("fleet-new-cell"),"aria-label":b("fleet-new-cell"),children:"+"}),$&&h.jsx(ma,{cell:$,token:t,route:Array.isArray($.route)?$.route:[],onConfirm:K,onClose:()=>te(null)})]})}/**
|
|
41
|
+
* Copyright (c) 2014-2024 The xterm.js authors. All rights reserved.
|
|
42
|
+
* @license MIT
|
|
43
|
+
*
|
|
44
|
+
* Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
|
|
45
|
+
* @license MIT
|
|
46
|
+
*
|
|
47
|
+
* Originally forked from (with the author's permission):
|
|
48
|
+
* Fabrice Bellard's javascript vt100 for jslinux:
|
|
49
|
+
* http://bellard.org/jslinux/
|
|
50
|
+
* Copyright (c) 2011 Fabrice Bellard
|
|
51
|
+
*/var A_=Object.defineProperty,RS=Object.getOwnPropertyDescriptor,PS=(e,t)=>{for(var r in t)A_(e,r,{get:t[r],enumerable:!0})},Je=(e,t,r,n)=>{for(var o=n>1?void 0:n?RS(t,r):t,l=e.length-1,u;l>=0;l--)(u=e[l])&&(o=(n?u(t,r,o):u(o))||o);return n&&o&&A_(t,r,o),o},pe=(e,t)=>(r,n)=>t(r,n,e),Mp="Terminal input",gu={get:()=>Mp,set:e=>Mp=e},Lp="Too much output to announce, navigate to rows manually to read",vu={get:()=>Lp,set:e=>Lp=e};function DS(e){return e.replace(/\r?\n/g,"\r")}function MS(e,t){return t?"\x1B[200~"+e+"\x1B[201~":e}function LS(e,t){e.clipboardData&&e.clipboardData.setData("text/plain",t.selectionText),e.preventDefault()}function TS(e,t,r,n){if(e.stopPropagation(),e.clipboardData){let o=e.clipboardData.getData("text/plain");I_(o,t,r,n)}}function I_(e,t,r,n){e=DS(e),e=MS(e,r.decPrivateModes.bracketedPasteMode&&n.rawOptions.ignoreBracketedPasteMode!==!0),r.triggerDataEvent(e,!0),t.value=""}function O_(e,t,r){let n=r.getBoundingClientRect(),o=e.clientX-n.left-10,l=e.clientY-n.top-10;t.style.width="20px",t.style.height="20px",t.style.left=`${o}px`,t.style.top=`${l}px`,t.style.zIndex="1000",t.focus()}function Tp(e,t,r,n,o){O_(e,t,r),o&&n.rightClickSelect(e),t.value=n.selectionText,t.select()}function xr(e){return e>65535?(e-=65536,String.fromCharCode((e>>10)+55296)+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)}function Pa(e,t=0,r=e.length){let n="";for(let o=t;o<r;++o){let l=e[o];l>65535?(l-=65536,n+=String.fromCharCode((l>>10)+55296)+String.fromCharCode(l%1024+56320)):n+=String.fromCharCode(l)}return n}var BS=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){let r=e.length;if(!r)return 0;let n=0,o=0;if(this._interim){let l=e.charCodeAt(o++);56320<=l&&l<=57343?t[n++]=(this._interim-55296)*1024+l-56320+65536:(t[n++]=this._interim,t[n++]=l),this._interim=0}for(let l=o;l<r;++l){let u=e.charCodeAt(l);if(55296<=u&&u<=56319){if(++l>=r)return this._interim=u,n;let f=e.charCodeAt(l);56320<=f&&f<=57343?t[n++]=(u-55296)*1024+f-56320+65536:(t[n++]=u,t[n++]=f);continue}u!==65279&&(t[n++]=u)}return n}},jS=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){let r=e.length;if(!r)return 0;let n=0,o,l,u,f,m=0,p=0;if(this.interim[0]){let S=!1,g=this.interim[0];g&=(g&224)===192?31:(g&240)===224?15:7;let C=0,E;for(;(E=this.interim[++C]&63)&&C<4;)g<<=6,g|=E;let x=(this.interim[0]&224)===192?2:(this.interim[0]&240)===224?3:4,R=x-C;for(;p<R;){if(p>=r)return 0;if(E=e[p++],(E&192)!==128){p--,S=!0;break}else this.interim[C++]=E,g<<=6,g|=E&63}S||(x===2?g<128?p--:t[n++]=g:x===3?g<2048||g>=55296&&g<=57343||g===65279||(t[n++]=g):g<65536||g>1114111||(t[n++]=g)),this.interim.fill(0)}let y=r-4,v=p;for(;v<r;){for(;v<y&&!((o=e[v])&128)&&!((l=e[v+1])&128)&&!((u=e[v+2])&128)&&!((f=e[v+3])&128);)t[n++]=o,t[n++]=l,t[n++]=u,t[n++]=f,v+=4;if(o=e[v++],o<128)t[n++]=o;else if((o&224)===192){if(v>=r)return this.interim[0]=o,n;if(l=e[v++],(l&192)!==128){v--;continue}if(m=(o&31)<<6|l&63,m<128){v--;continue}t[n++]=m}else if((o&240)===224){if(v>=r)return this.interim[0]=o,n;if(l=e[v++],(l&192)!==128){v--;continue}if(v>=r)return this.interim[0]=o,this.interim[1]=l,n;if(u=e[v++],(u&192)!==128){v--;continue}if(m=(o&15)<<12|(l&63)<<6|u&63,m<2048||m>=55296&&m<=57343||m===65279)continue;t[n++]=m}else if((o&248)===240){if(v>=r)return this.interim[0]=o,n;if(l=e[v++],(l&192)!==128){v--;continue}if(v>=r)return this.interim[0]=o,this.interim[1]=l,n;if(u=e[v++],(u&192)!==128){v--;continue}if(v>=r)return this.interim[0]=o,this.interim[1]=l,this.interim[2]=u,n;if(f=e[v++],(f&192)!==128){v--;continue}if(m=(o&7)<<18|(l&63)<<12|(u&63)<<6|f&63,m<65536||m>1114111)continue;t[n++]=m}}return n}},z_="",kr=" ",jn=class F_{constructor(){this.fg=0,this.bg=0,this.extended=new _a}static toColorRGB(t){return[t>>>16&255,t>>>8&255,t&255]}static fromColorRGB(t){return(t[0]&255)<<16|(t[1]&255)<<8|t[2]&255}clone(){let t=new F_;return t.fg=this.fg,t.bg=this.bg,t.extended=this.extended.clone(),t}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)===50331648}isBgRGB(){return(this.bg&50331648)===50331648}isFgPalette(){return(this.fg&50331648)===16777216||(this.fg&50331648)===33554432}isBgPalette(){return(this.bg&50331648)===16777216||(this.bg&50331648)===33554432}isFgDefault(){return(this.fg&50331648)===0}isBgDefault(){return(this.bg&50331648)===0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===16777216||(this.extended.underlineColor&50331648)===33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===0:this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},_a=class H_{constructor(t=0,r=0){this._ext=0,this._urlId=0,this._ext=t,this._urlId=r}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(t){this._ext=t}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(t){this._ext&=-469762049,this._ext|=t<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(t){this._ext&=-67108864,this._ext|=t&67108863}get urlId(){return this._urlId}set urlId(t){this._urlId=t}get underlineVariantOffset(){let t=(this._ext&3758096384)>>29;return t<0?t^4294967288:t}set underlineVariantOffset(t){this._ext&=536870911,this._ext|=t<<29&3758096384}clone(){return new H_(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},mi=class $_ extends jn{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new _a,this.combinedData=""}static fromCharData(t){let r=new $_;return r.setFromCharData(t),r}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?xr(this.content&2097151):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(t){this.fg=t[0],this.bg=0;let r=!1;if(t[1].length>2)r=!0;else if(t[1].length===2){let n=t[1].charCodeAt(0);if(55296<=n&&n<=56319){let o=t[1].charCodeAt(1);56320<=o&&o<=57343?this.content=(n-55296)*1024+o-56320+65536|t[2]<<22:r=!0}else r=!0}else this.content=t[1].charCodeAt(0)|t[2]<<22;r&&(this.combinedData=t[1],this.content=2097152|t[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},Bp="di$target",yu="di$dependencies",Dc=new Map;function AS(e){return e[yu]||[]}function yt(e){if(Dc.has(e))return Dc.get(e);let t=function(r,n,o){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");IS(t,r,o)};return t._id=e,Dc.set(e,t),t}function IS(e,t,r){t[Bp]===t?t[yu].push({id:e,index:r}):(t[yu]=[{id:e,index:r}],t[Bp]=t)}var jt=yt("BufferService"),W_=yt("CoreMouseService"),Gr=yt("CoreService"),OS=yt("CharsetService"),mh=yt("InstantiationService"),U_=yt("LogService"),At=yt("OptionsService"),q_=yt("OscLinkService"),zS=yt("UnicodeService"),An=yt("DecorationService"),Su=class{constructor(e,t,r){this._bufferService=e,this._optionsService=t,this._oscLinkService=r}provideLinks(e,t){var y;let r=this._bufferService.buffer.lines.get(e-1);if(!r){t(void 0);return}let n=[],o=this._optionsService.rawOptions.linkHandler,l=new mi,u=r.getTrimmedLength(),f=-1,m=-1,p=!1;for(let v=0;v<u;v++)if(!(m===-1&&!r.hasContent(v))){if(r.loadCell(v,l),l.hasExtendedAttrs()&&l.extended.urlId)if(m===-1){m=v,f=l.extended.urlId;continue}else p=l.extended.urlId!==f;else m!==-1&&(p=!0);if(p||m!==-1&&v===u-1){let S=(y=this._oscLinkService.getLinkData(f))==null?void 0:y.uri;if(S){let g={start:{x:m+1,y:e},end:{x:v+(!p&&v===u-1?1:0),y:e}},C=!1;if(!(o!=null&&o.allowNonHttpProtocols))try{let E=new URL(S);["http:","https:"].includes(E.protocol)||(C=!0)}catch{C=!0}C||n.push({text:S,range:g,activate:(E,x)=>o?o.activate(E,x,g):FS(E,x),hover:(E,x)=>{var R;return(R=o==null?void 0:o.hover)==null?void 0:R.call(o,E,x,g)},leave:(E,x)=>{var R;return(R=o==null?void 0:o.leave)==null?void 0:R.call(o,E,x,g)}})}p=!1,l.hasExtendedAttrs()&&l.extended.urlId?(m=v,f=l.extended.urlId):(m=-1,f=-1)}}t(n)}};Su=Je([pe(0,jt),pe(1,At),pe(2,q_)],Su);function FS(e,t){if(confirm(`Do you want to navigate to ${t}?
|
|
52
|
+
|
|
53
|
+
WARNING: This link could potentially be dangerous`)){let r=window.open();if(r){try{r.opener=null}catch{}r.location.href=t}else console.warn("Opening link blocked as opener could not be cleared")}}var Da=yt("CharSizeService"),Qi=yt("CoreBrowserService"),_h=yt("MouseService"),Ji=yt("RenderService"),HS=yt("SelectionService"),K_=yt("CharacterJoinerService"),Ps=yt("ThemeService"),V_=yt("LinkProviderService"),$S=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(e){setTimeout(()=>{throw e.stack?jp.isErrorNoTelemetry(e)?new jp(e.message+`
|
|
54
|
+
|
|
55
|
+
`+e.stack):new Error(e.message+`
|
|
56
|
+
|
|
57
|
+
`+e.stack):e},0)}}addListener(e){return this.listeners.push(e),()=>{this._removeListener(e)}}emit(e){this.listeners.forEach(t=>{t(e)})}_removeListener(e){this.listeners.splice(this.listeners.indexOf(e),1)}setUnexpectedErrorHandler(e){this.unexpectedErrorHandler=e}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(e){this.unexpectedErrorHandler(e),this.emit(e)}onUnexpectedExternalError(e){this.unexpectedErrorHandler(e)}},WS=new $S;function la(e){US(e)||WS.onUnexpectedError(e)}var wu="Canceled";function US(e){return e instanceof qS?!0:e instanceof Error&&e.name===wu&&e.message===wu}var qS=class extends Error{constructor(){super(wu),this.name=this.message}};function KS(e){return new Error(`Illegal argument: ${e}`)}var jp=class Cu extends Error{constructor(t){super(t),this.name="CodeExpectedError"}static fromError(t){if(t instanceof Cu)return t;let r=new Cu;return r.message=t.message,r.stack=t.stack,r}static isErrorNoTelemetry(t){return t.name==="CodeExpectedError"}},bu=class Y_ extends Error{constructor(t){super(t||"An unexpected bug occurred."),Object.setPrototypeOf(this,Y_.prototype)}};function Qt(e,t=0){return e[e.length-(1+t)]}var VS;(e=>{function t(l){return l<0}e.isLessThan=t;function r(l){return l<=0}e.isLessThanOrEqual=r;function n(l){return l>0}e.isGreaterThan=n;function o(l){return l===0}e.isNeitherLessOrGreaterThan=o,e.greaterThan=1,e.lessThan=-1,e.neitherLessOrGreaterThan=0})(VS||(VS={}));function YS(e,t){let r=this,n=!1,o;return function(){return n||(n=!0,t||(o=e.apply(r,arguments))),o}}var X_;(e=>{function t($){return $&&typeof $=="object"&&typeof $[Symbol.iterator]=="function"}e.is=t;let r=Object.freeze([]);function n(){return r}e.empty=n;function*o($){yield $}e.single=o;function l($){return t($)?$:o($)}e.wrap=l;function u($){return $||r}e.from=u;function*f($){for(let te=$.length-1;te>=0;te--)yield $[te]}e.reverse=f;function m($){return!$||$[Symbol.iterator]().next().done===!0}e.isEmpty=m;function p($){return $[Symbol.iterator]().next().value}e.first=p;function y($,te){let L=0;for(let P of $)if(te(P,L++))return!0;return!1}e.some=y;function v($,te){for(let L of $)if(te(L))return L}e.find=v;function*S($,te){for(let L of $)te(L)&&(yield L)}e.filter=S;function*g($,te){let L=0;for(let P of $)yield te(P,L++)}e.map=g;function*C($,te){let L=0;for(let P of $)yield*te(P,L++)}e.flatMap=C;function*E(...$){for(let te of $)yield*te}e.concat=E;function x($,te,L){let P=L;for(let U of $)P=te(P,U);return P}e.reduce=x;function*R($,te,L=$.length){for(te<0&&(te+=$.length),L<0?L+=$.length:L>$.length&&(L=$.length);te<L;te++)yield $[te]}e.slice=R;function z($,te=Number.POSITIVE_INFINITY){let L=[];if(te===0)return[L,$];let P=$[Symbol.iterator]();for(let U=0;U<te;U++){let M=P.next();if(M.done)return[L,e.empty()];L.push(M.value)}return[L,{[Symbol.iterator](){return P}}]}e.consume=z;async function T($){let te=[];for await(let L of $)te.push(L);return Promise.resolve(te)}e.asyncToArray=T})(X_||(X_={}));function Vr(e){if(X_.is(e)){let t=[];for(let r of e)if(r)try{r.dispose()}catch(n){t.push(n)}if(t.length===1)throw t[0];if(t.length>1)throw new AggregateError(t,"Encountered errors while disposing of store");return Array.isArray(e)?[]:e}else if(e)return e.dispose(),e}function XS(...e){return qe(()=>Vr(e))}function qe(e){return{dispose:YS(()=>{e()})}}var G_=class Q_{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{Vr(this._toDispose)}finally{this._toDispose.clear()}}add(t){if(!t)return t;if(t===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?Q_.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(t),t}delete(t){if(t){if(t===this)throw new Error("Cannot dispose a disposable on itself!");this._toDispose.delete(t),t.dispose()}}deleteAndLeak(t){t&&this._toDispose.has(t)&&(this._toDispose.delete(t),void 0)}};G_.DISABLE_DISPOSED_WARNING=!1;var Er=G_,De=class{constructor(){this._store=new Er,this._store}dispose(){this._store.dispose()}_register(e){if(e===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(e)}};De.None=Object.freeze({dispose(){}});var Rs=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(e){var t;this._isDisposed||e===this._value||((t=this._value)==null||t.dispose(),this._value=e)}clear(){this.value=void 0}dispose(){var e;this._isDisposed=!0,(e=this._value)==null||e.dispose(),this._value=void 0}clearAndLeak(){let e=this._value;return this._value=void 0,e}},Xi=typeof window=="object"?window:globalThis,xu=class ku{constructor(t){this.element=t,this.next=ku.Undefined,this.prev=ku.Undefined}};xu.Undefined=new xu(void 0);var Ye=xu,Ap=class{constructor(){this._first=Ye.Undefined,this._last=Ye.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===Ye.Undefined}clear(){let e=this._first;for(;e!==Ye.Undefined;){let t=e.next;e.prev=Ye.Undefined,e.next=Ye.Undefined,e=t}this._first=Ye.Undefined,this._last=Ye.Undefined,this._size=0}unshift(e){return this._insert(e,!1)}push(e){return this._insert(e,!0)}_insert(e,t){let r=new Ye(e);if(this._first===Ye.Undefined)this._first=r,this._last=r;else if(t){let o=this._last;this._last=r,r.prev=o,o.next=r}else{let o=this._first;this._first=r,r.next=o,o.prev=r}this._size+=1;let n=!1;return()=>{n||(n=!0,this._remove(r))}}shift(){if(this._first!==Ye.Undefined){let e=this._first.element;return this._remove(this._first),e}}pop(){if(this._last!==Ye.Undefined){let e=this._last.element;return this._remove(this._last),e}}_remove(e){if(e.prev!==Ye.Undefined&&e.next!==Ye.Undefined){let t=e.prev;t.next=e.next,e.next.prev=t}else e.prev===Ye.Undefined&&e.next===Ye.Undefined?(this._first=Ye.Undefined,this._last=Ye.Undefined):e.next===Ye.Undefined?(this._last=this._last.prev,this._last.next=Ye.Undefined):e.prev===Ye.Undefined&&(this._first=this._first.next,this._first.prev=Ye.Undefined);this._size-=1}*[Symbol.iterator](){let e=this._first;for(;e!==Ye.Undefined;)yield e.element,e=e.next}},GS=globalThis.performance&&typeof globalThis.performance.now=="function",QS=class J_{static create(t){return new J_(t)}constructor(t){this._now=GS&&t===!1?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}},kt;(e=>{e.None=()=>De.None;function t(I,B){return v(I,()=>{},0,void 0,!0,void 0,B)}e.defer=t;function r(I){return(B,W=null,V)=>{let Q=!1,X;return X=I(k=>{if(!Q)return X?X.dispose():Q=!0,B.call(W,k)},null,V),Q&&X.dispose(),X}}e.once=r;function n(I,B,W){return p((V,Q=null,X)=>I(k=>V.call(Q,B(k)),null,X),W)}e.map=n;function o(I,B,W){return p((V,Q=null,X)=>I(k=>{B(k),V.call(Q,k)},null,X),W)}e.forEach=o;function l(I,B,W){return p((V,Q=null,X)=>I(k=>B(k)&&V.call(Q,k),null,X),W)}e.filter=l;function u(I){return I}e.signal=u;function f(...I){return(B,W=null,V)=>{let Q=XS(...I.map(X=>X(k=>B.call(W,k))));return y(Q,V)}}e.any=f;function m(I,B,W,V){let Q=W;return n(I,X=>(Q=B(Q,X),Q),V)}e.reduce=m;function p(I,B){let W,V={onWillAddFirstListener(){W=I(Q.fire,Q)},onDidRemoveLastListener(){W==null||W.dispose()}},Q=new de(V);return B==null||B.add(Q),Q.event}function y(I,B){return B instanceof Array?B.push(I):B&&B.add(I),I}function v(I,B,W=100,V=!1,Q=!1,X,k){let J,ie,N,F=0,ne,A={leakWarningThreshold:X,onWillAddFirstListener(){J=I(re=>{F++,ie=B(ie,re),V&&!N&&(O.fire(ie),ie=void 0),ne=()=>{let ue=ie;ie=void 0,N=void 0,(!V||F>1)&&O.fire(ue),F=0},typeof W=="number"?(clearTimeout(N),N=setTimeout(ne,W)):N===void 0&&(N=0,queueMicrotask(ne))})},onWillRemoveListener(){Q&&F>0&&(ne==null||ne())},onDidRemoveLastListener(){ne=void 0,J.dispose()}},O=new de(A);return k==null||k.add(O),O.event}e.debounce=v;function S(I,B=0,W){return e.debounce(I,(V,Q)=>V?(V.push(Q),V):[Q],B,void 0,!0,void 0,W)}e.accumulate=S;function g(I,B=(V,Q)=>V===Q,W){let V=!0,Q;return l(I,X=>{let k=V||!B(X,Q);return V=!1,Q=X,k},W)}e.latch=g;function C(I,B,W){return[e.filter(I,B,W),e.filter(I,V=>!B(V),W)]}e.split=C;function E(I,B=!1,W=[],V){let Q=W.slice(),X=I(ie=>{Q?Q.push(ie):J.fire(ie)});V&&V.add(X);let k=()=>{Q==null||Q.forEach(ie=>J.fire(ie)),Q=null},J=new de({onWillAddFirstListener(){X||(X=I(ie=>J.fire(ie)),V&&V.add(X))},onDidAddFirstListener(){Q&&(B?setTimeout(k):k())},onDidRemoveLastListener(){X&&X.dispose(),X=null}});return V&&V.add(J),J.event}e.buffer=E;function x(I,B){return(W,V,Q)=>{let X=B(new z);return I(function(k){let J=X.evaluate(k);J!==R&&W.call(V,J)},void 0,Q)}}e.chain=x;let R=Symbol("HaltChainable");class z{constructor(){this.steps=[]}map(B){return this.steps.push(B),this}forEach(B){return this.steps.push(W=>(B(W),W)),this}filter(B){return this.steps.push(W=>B(W)?W:R),this}reduce(B,W){let V=W;return this.steps.push(Q=>(V=B(V,Q),V)),this}latch(B=(W,V)=>W===V){let W=!0,V;return this.steps.push(Q=>{let X=W||!B(Q,V);return W=!1,V=Q,X?Q:R}),this}evaluate(B){for(let W of this.steps)if(B=W(B),B===R)break;return B}}function T(I,B,W=V=>V){let V=(...J)=>k.fire(W(...J)),Q=()=>I.on(B,V),X=()=>I.removeListener(B,V),k=new de({onWillAddFirstListener:Q,onDidRemoveLastListener:X});return k.event}e.fromNodeEventEmitter=T;function $(I,B,W=V=>V){let V=(...J)=>k.fire(W(...J)),Q=()=>I.addEventListener(B,V),X=()=>I.removeEventListener(B,V),k=new de({onWillAddFirstListener:Q,onDidRemoveLastListener:X});return k.event}e.fromDOMEventEmitter=$;function te(I){return new Promise(B=>r(I)(B))}e.toPromise=te;function L(I){let B=new de;return I.then(W=>{B.fire(W)},()=>{B.fire(void 0)}).finally(()=>{B.dispose()}),B.event}e.fromPromise=L;function P(I,B){return I(W=>B.fire(W))}e.forward=P;function U(I,B,W){return B(W),I(V=>B(V))}e.runAndSubscribe=U;class M{constructor(B,W){this._observable=B,this._counter=0,this._hasChanged=!1;let V={onWillAddFirstListener:()=>{B.addObserver(this)},onDidRemoveLastListener:()=>{B.removeObserver(this)}};this.emitter=new de(V),W&&W.add(this.emitter)}beginUpdate(B){this._counter++}handlePossibleChange(B){}handleChange(B,W){this._hasChanged=!0}endUpdate(B){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function K(I,B){return new M(I,B).emitter.event}e.fromObservable=K;function Y(I){return(B,W,V)=>{let Q=0,X=!1,k={beginUpdate(){Q++},endUpdate(){Q--,Q===0&&(I.reportChanges(),X&&(X=!1,B.call(W)))},handlePossibleChange(){},handleChange(){X=!0}};I.addObserver(k),I.reportChanges();let J={dispose(){I.removeObserver(k)}};return V instanceof Er?V.add(J):Array.isArray(V)&&V.push(J),J}}e.fromObservableLight=Y})(kt||(kt={}));var Eu=class Nu{constructor(t){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${t}_${Nu._idPool++}`,Nu.all.add(this)}start(t){this._stopWatch=new QS,this.listenerCount=t}stop(){if(this._stopWatch){let t=this._stopWatch.elapsed();this.durations.push(t),this.elapsedOverall+=t,this.invocationCount+=1,this._stopWatch=void 0}}};Eu.all=new Set,Eu._idPool=0;var JS=Eu,ZS=-1,Z_=class eg{constructor(t,r,n=(eg._idPool++).toString(16).padStart(3,"0")){this._errorHandler=t,this.threshold=r,this.name=n,this._warnCountdown=0}dispose(){var t;(t=this._stacks)==null||t.clear()}check(t,r){let n=this.threshold;if(n<=0||r<n)return;this._stacks||(this._stacks=new Map);let o=this._stacks.get(t.value)||0;if(this._stacks.set(t.value,o+1),this._warnCountdown-=1,this._warnCountdown<=0){this._warnCountdown=n*.5;let[l,u]=this.getMostFrequentStack(),f=`[${this.name}] potential listener LEAK detected, having ${r} listeners already. MOST frequent listener (${u}):`;console.warn(f),console.warn(l);let m=new i0(f,l);this._errorHandler(m)}return()=>{let l=this._stacks.get(t.value)||0;this._stacks.set(t.value,l-1)}}getMostFrequentStack(){if(!this._stacks)return;let t,r=0;for(let[n,o]of this._stacks)(!t||r<o)&&(t=[n,o],r=o);return t}};Z_._idPool=1;var e0=Z_,t0=class tg{constructor(t){this.value=t}static create(){let t=new Error;return new tg(t.stack??"")}print(){console.warn(this.value.split(`
|
|
58
|
+
`).slice(2).join(`
|
|
59
|
+
`))}},i0=class extends Error{constructor(e,t){super(e),this.name="ListenerLeakError",this.stack=t}},r0=class extends Error{constructor(e,t){super(e),this.name="ListenerRefusalError",this.stack=t}},s0=0,Mc=class{constructor(e){this.value=e,this.id=s0++}},n0=2,o0,de=class{constructor(e){var t,r,n,o;this._size=0,this._options=e,this._leakageMon=(t=this._options)!=null&&t.leakWarningThreshold?new e0((e==null?void 0:e.onListenerError)??la,((r=this._options)==null?void 0:r.leakWarningThreshold)??ZS):void 0,this._perfMon=(n=this._options)!=null&&n._profName?new JS(this._options._profName):void 0,this._deliveryQueue=(o=this._options)==null?void 0:o.deliveryQueue}dispose(){var e,t,r,n;this._disposed||(this._disposed=!0,((e=this._deliveryQueue)==null?void 0:e.current)===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),(r=(t=this._options)==null?void 0:t.onDidRemoveLastListener)==null||r.call(t),(n=this._leakageMon)==null||n.dispose())}get event(){return this._event??(this._event=(e,t,r)=>{var u,f,m,p,y;if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let v=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(v);let S=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],g=new r0(`${v}. HINT: Stack shows most frequent listener (${S[1]}-times)`,S[0]);return(((u=this._options)==null?void 0:u.onListenerError)||la)(g),De.None}if(this._disposed)return De.None;t&&(e=e.bind(t));let n=new Mc(e),o;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(n.stack=t0.create(),o=this._leakageMon.check(n.stack,this._size+1)),this._listeners?this._listeners instanceof Mc?(this._deliveryQueue??(this._deliveryQueue=new a0),this._listeners=[this._listeners,n]):this._listeners.push(n):((m=(f=this._options)==null?void 0:f.onWillAddFirstListener)==null||m.call(f,this),this._listeners=n,(y=(p=this._options)==null?void 0:p.onDidAddFirstListener)==null||y.call(p,this)),this._size++;let l=qe(()=>{o==null||o(),this._removeListener(n)});return r instanceof Er?r.add(l):Array.isArray(r)&&r.push(l),l}),this._event}_removeListener(e){var o,l,u,f;if((l=(o=this._options)==null?void 0:o.onWillRemoveListener)==null||l.call(o,this),!this._listeners)return;if(this._size===1){this._listeners=void 0,(f=(u=this._options)==null?void 0:u.onDidRemoveLastListener)==null||f.call(u,this),this._size=0;return}let t=this._listeners,r=t.indexOf(e);if(r===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,t[r]=void 0;let n=this._deliveryQueue.current===this;if(this._size*n0<=t.length){let m=0;for(let p=0;p<t.length;p++)t[p]?t[m++]=t[p]:n&&(this._deliveryQueue.end--,m<this._deliveryQueue.i&&this._deliveryQueue.i--);t.length=m}}_deliver(e,t){var n;if(!e)return;let r=((n=this._options)==null?void 0:n.onListenerError)||la;if(!r){e.value(t);return}try{e.value(t)}catch(o){r(o)}}_deliverQueue(e){let t=e.current._listeners;for(;e.i<e.end;)this._deliver(t[e.i++],e.value);e.reset()}fire(e){var t,r,n,o;if((t=this._deliveryQueue)!=null&&t.current&&(this._deliverQueue(this._deliveryQueue),(r=this._perfMon)==null||r.stop()),(n=this._perfMon)==null||n.start(this._size),this._listeners)if(this._listeners instanceof Mc)this._deliver(this._listeners,e);else{let l=this._deliveryQueue;l.enqueue(this,e,this._listeners.length),this._deliverQueue(l)}(o=this._perfMon)==null||o.stop()}hasListeners(){return this._size>0}},a0=class{constructor(){this.i=-1,this.end=0}enqueue(e,t,r){this.i=0,this.end=r,this.current=e,this.value=t}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},Ru=class{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new de,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new de,this.onDidChangeFullscreen=this._onDidChangeFullscreen.event,this.mapWindowIdToFullScreen=new Map}getZoomLevel(t){return this.mapWindowIdToZoomLevel.get(this.getWindowId(t))??0}setZoomLevel(t,r){if(this.getZoomLevel(r)===t)return;let n=this.getWindowId(r);this.mapWindowIdToZoomLevel.set(n,t),this._onDidChangeZoomLevel.fire(n)}getZoomFactor(t){return this.mapWindowIdToZoomFactor.get(this.getWindowId(t))??1}setZoomFactor(t,r){this.mapWindowIdToZoomFactor.set(this.getWindowId(r),t)}setFullscreen(t,r){if(this.isFullscreen(r)===t)return;let n=this.getWindowId(r);this.mapWindowIdToFullScreen.set(n,t),this._onDidChangeFullscreen.fire(n)}isFullscreen(t){return!!this.mapWindowIdToFullScreen.get(this.getWindowId(t))}getWindowId(t){return t.vscodeWindowId}};Ru.INSTANCE=new Ru;var gh=Ru;function l0(e,t,r){typeof t=="string"&&(t=e.matchMedia(t)),t.addEventListener("change",r)}gh.INSTANCE.onDidChangeZoomLevel;function c0(e){return gh.INSTANCE.getZoomFactor(e)}gh.INSTANCE.onDidChangeFullscreen;var Ds=typeof navigator=="object"?navigator.userAgent:"",Pu=Ds.indexOf("Firefox")>=0,u0=Ds.indexOf("AppleWebKit")>=0,vh=Ds.indexOf("Chrome")>=0,h0=!vh&&Ds.indexOf("Safari")>=0;Ds.indexOf("Electron/")>=0;Ds.indexOf("Android")>=0;var Lc=!1;if(typeof Xi.matchMedia=="function"){let e=Xi.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),t=Xi.matchMedia("(display-mode: fullscreen)");Lc=e.matches,l0(Xi,e,({matches:r})=>{Lc&&t.matches||(Lc=r)})}var Es="en",Du=!1,Mu=!1,ca=!1,ig=!1,Jo,ua=Es,Ip=Es,d0,ki,Kr=globalThis,xt,S_;typeof Kr.vscode<"u"&&typeof Kr.vscode.process<"u"?xt=Kr.vscode.process:typeof process<"u"&&typeof((S_=process==null?void 0:process.versions)==null?void 0:S_.node)=="string"&&(xt=process);var w_,f0=typeof((w_=xt==null?void 0:xt.versions)==null?void 0:w_.electron)=="string",p0=f0&&(xt==null?void 0:xt.type)==="renderer",C_;if(typeof xt=="object"){Du=xt.platform==="win32",Mu=xt.platform==="darwin",ca=xt.platform==="linux",ca&&xt.env.SNAP&&xt.env.SNAP_REVISION,xt.env.CI||xt.env.BUILD_ARTIFACTSTAGINGDIRECTORY,Jo=Es,ua=Es;let e=xt.env.VSCODE_NLS_CONFIG;if(e)try{let t=JSON.parse(e);Jo=t.userLocale,Ip=t.osLocale,ua=t.resolvedLanguage||Es,d0=(C_=t.languagePack)==null?void 0:C_.translationsConfigFile}catch{}ig=!0}else typeof navigator=="object"&&!p0?(ki=navigator.userAgent,Du=ki.indexOf("Windows")>=0,Mu=ki.indexOf("Macintosh")>=0,(ki.indexOf("Macintosh")>=0||ki.indexOf("iPad")>=0||ki.indexOf("iPhone")>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>0,ca=ki.indexOf("Linux")>=0,(ki==null?void 0:ki.indexOf("Mobi"))>=0,ua=globalThis._VSCODE_NLS_LANGUAGE||Es,Jo=navigator.language.toLowerCase(),Ip=Jo):console.error("Unable to resolve platform.");var rg=Du,Ii=Mu,m0=ca,Op=ig,Oi=ki,Sr=ua,_0;(e=>{function t(){return Sr}e.value=t;function r(){return Sr.length===2?Sr==="en":Sr.length>=3?Sr[0]==="e"&&Sr[1]==="n"&&Sr[2]==="-":!1}e.isDefaultVariant=r;function n(){return Sr==="en"}e.isDefault=n})(_0||(_0={}));var g0=typeof Kr.postMessage=="function"&&!Kr.importScripts;(()=>{if(g0){let e=[];Kr.addEventListener("message",r=>{if(r.data&&r.data.vscodeScheduleAsyncWork)for(let n=0,o=e.length;n<o;n++){let l=e[n];if(l.id===r.data.vscodeScheduleAsyncWork){e.splice(n,1),l.callback();return}}});let t=0;return r=>{let n=++t;e.push({id:n,callback:r}),Kr.postMessage({vscodeScheduleAsyncWork:n},"*")}}return e=>setTimeout(e)})();var v0=!!(Oi&&Oi.indexOf("Chrome")>=0);Oi&&Oi.indexOf("Firefox")>=0;!v0&&Oi&&Oi.indexOf("Safari")>=0;Oi&&Oi.indexOf("Edg/")>=0;Oi&&Oi.indexOf("Android")>=0;var bs=typeof navigator=="object"?navigator:{};Op||document.queryCommandSupported&&document.queryCommandSupported("copy")||bs&&bs.clipboard&&bs.clipboard.writeText,Op||bs&&bs.clipboard&&bs.clipboard.readText;var yh=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(e,t){this._keyCodeToStr[e]=t,this._strToKeyCode[t.toLowerCase()]=e}keyCodeToStr(e){return this._keyCodeToStr[e]}strToKeyCode(e){return this._strToKeyCode[e.toLowerCase()]||0}},Tc=new yh,zp=new yh,Fp=new yh,y0=new Array(230),sg;(e=>{function t(f){return Tc.keyCodeToStr(f)}e.toString=t;function r(f){return Tc.strToKeyCode(f)}e.fromString=r;function n(f){return zp.keyCodeToStr(f)}e.toUserSettingsUS=n;function o(f){return Fp.keyCodeToStr(f)}e.toUserSettingsGeneral=o;function l(f){return zp.strToKeyCode(f)||Fp.strToKeyCode(f)}e.fromUserSettings=l;function u(f){if(f>=98&&f<=113)return null;switch(f){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return Tc.keyCodeToStr(f)}e.toElectronAccelerator=u})(sg||(sg={}));var S0=class ng{constructor(t,r,n,o,l){this.ctrlKey=t,this.shiftKey=r,this.altKey=n,this.metaKey=o,this.keyCode=l}equals(t){return t instanceof ng&&this.ctrlKey===t.ctrlKey&&this.shiftKey===t.shiftKey&&this.altKey===t.altKey&&this.metaKey===t.metaKey&&this.keyCode===t.keyCode}getHashCode(){let t=this.ctrlKey?"1":"0",r=this.shiftKey?"1":"0",n=this.altKey?"1":"0",o=this.metaKey?"1":"0";return`K${t}${r}${n}${o}${this.keyCode}`}isModifierKey(){return this.keyCode===0||this.keyCode===5||this.keyCode===57||this.keyCode===6||this.keyCode===4}toKeybinding(){return new w0([this])}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}},w0=class{constructor(e){if(e.length===0)throw KS("chords");this.chords=e}getHashCode(){let e="";for(let t=0,r=this.chords.length;t<r;t++)t!==0&&(e+=";"),e+=this.chords[t].getHashCode();return e}equals(e){if(e===null||this.chords.length!==e.chords.length)return!1;for(let t=0;t<this.chords.length;t++)if(!this.chords[t].equals(e.chords[t]))return!1;return!0}};function C0(e){if(e.charCode){let r=String.fromCharCode(e.charCode).toUpperCase();return sg.fromString(r)}let t=e.keyCode;if(t===3)return 7;if(Pu)switch(t){case 59:return 85;case 60:if(m0)return 97;break;case 61:return 86;case 107:return 109;case 109:return 111;case 173:return 88;case 224:if(Ii)return 57;break}else if(u0&&(Ii&&t===93||!Ii&&t===92))return 57;return y0[t]||0}var b0=Ii?256:2048,x0=512,k0=1024,E0=Ii?2048:256,Hp=class{constructor(e){var r;this._standardKeyboardEventBrand=!0;let t=e;this.browserEvent=t,this.target=t.target,this.ctrlKey=t.ctrlKey,this.shiftKey=t.shiftKey,this.altKey=t.altKey,this.metaKey=t.metaKey,this.altGraphKey=(r=t.getModifierState)==null?void 0:r.call(t,"AltGraph"),this.keyCode=C0(t),this.code=t.code,this.ctrlKey=this.ctrlKey||this.keyCode===5,this.altKey=this.altKey||this.keyCode===6,this.shiftKey=this.shiftKey||this.keyCode===4,this.metaKey=this.metaKey||this.keyCode===57,this._asKeybinding=this._computeKeybinding(),this._asKeyCodeChord=this._computeKeyCodeChord()}preventDefault(){this.browserEvent&&this.browserEvent.preventDefault&&this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent&&this.browserEvent.stopPropagation&&this.browserEvent.stopPropagation()}toKeyCodeChord(){return this._asKeyCodeChord}equals(e){return this._asKeybinding===e}_computeKeybinding(){let e=0;this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(e=this.keyCode);let t=0;return this.ctrlKey&&(t|=b0),this.altKey&&(t|=x0),this.shiftKey&&(t|=k0),this.metaKey&&(t|=E0),t|=e,t}_computeKeyCodeChord(){let e=0;return this.keyCode!==5&&this.keyCode!==4&&this.keyCode!==6&&this.keyCode!==57&&(e=this.keyCode),new S0(this.ctrlKey,this.shiftKey,this.altKey,this.metaKey,e)}},$p=new WeakMap;function N0(e){if(!e.parent||e.parent===e)return null;try{let t=e.location,r=e.parent.location;if(t.origin!=="null"&&r.origin!=="null"&&t.origin!==r.origin)return null}catch{return null}return e.parent}var R0=class{static getSameOriginWindowChain(e){let t=$p.get(e);if(!t){t=[],$p.set(e,t);let r=e,n;do n=N0(r),n?t.push({window:new WeakRef(r),iframeElement:r.frameElement||null}):t.push({window:new WeakRef(r),iframeElement:null}),r=n;while(r)}return t.slice(0)}static getPositionOfChildWindowRelativeToAncestorWindow(e,t){if(!t||e===t)return{top:0,left:0};let r=0,n=0,o=this.getSameOriginWindowChain(e);for(let l of o){let u=l.window.deref();if(r+=(u==null?void 0:u.scrollY)??0,n+=(u==null?void 0:u.scrollX)??0,u===t||!l.iframeElement)break;let f=l.iframeElement.getBoundingClientRect();r+=f.top,n+=f.left}return{top:r,left:n}}},Zo=class{constructor(e,t){this.timestamp=Date.now(),this.browserEvent=t,this.leftButton=t.button===0,this.middleButton=t.button===1,this.rightButton=t.button===2,this.buttons=t.buttons,this.target=t.target,this.detail=t.detail||1,t.type==="dblclick"&&(this.detail=2),this.ctrlKey=t.ctrlKey,this.shiftKey=t.shiftKey,this.altKey=t.altKey,this.metaKey=t.metaKey,typeof t.pageX=="number"?(this.posx=t.pageX,this.posy=t.pageY):(this.posx=t.clientX+this.target.ownerDocument.body.scrollLeft+this.target.ownerDocument.documentElement.scrollLeft,this.posy=t.clientY+this.target.ownerDocument.body.scrollTop+this.target.ownerDocument.documentElement.scrollTop);let r=R0.getPositionOfChildWindowRelativeToAncestorWindow(e,t.view);this.posx-=r.left,this.posy-=r.top}preventDefault(){this.browserEvent.preventDefault()}stopPropagation(){this.browserEvent.stopPropagation()}},Wp=class{constructor(e,t=0,r=0){var o;this.browserEvent=e||null,this.target=e?e.target||e.targetNode||e.srcElement:null,this.deltaY=r,this.deltaX=t;let n=!1;if(vh){let l=navigator.userAgent.match(/Chrome\/(\d+)/);n=(l?parseInt(l[1]):123)<=122}if(e){let l=e,u=e,f=((o=e.view)==null?void 0:o.devicePixelRatio)||1;if(typeof l.wheelDeltaY<"u")n?this.deltaY=l.wheelDeltaY/(120*f):this.deltaY=l.wheelDeltaY/120;else if(typeof u.VERTICAL_AXIS<"u"&&u.axis===u.VERTICAL_AXIS)this.deltaY=-u.detail/3;else if(e.type==="wheel"){let m=e;m.deltaMode===m.DOM_DELTA_LINE?Pu&&!Ii?this.deltaY=-e.deltaY/3:this.deltaY=-e.deltaY:this.deltaY=-e.deltaY/40}if(typeof l.wheelDeltaX<"u")h0&&rg?this.deltaX=-(l.wheelDeltaX/120):n?this.deltaX=l.wheelDeltaX/(120*f):this.deltaX=l.wheelDeltaX/120;else if(typeof u.HORIZONTAL_AXIS<"u"&&u.axis===u.HORIZONTAL_AXIS)this.deltaX=-e.detail/3;else if(e.type==="wheel"){let m=e;m.deltaMode===m.DOM_DELTA_LINE?Pu&&!Ii?this.deltaX=-e.deltaX/3:this.deltaX=-e.deltaX:this.deltaX=-e.deltaX/40}this.deltaY===0&&this.deltaX===0&&e.wheelDelta&&(n?this.deltaY=e.wheelDelta/(120*f):this.deltaY=e.wheelDelta/120)}}preventDefault(){var e;(e=this.browserEvent)==null||e.preventDefault()}stopPropagation(){var e;(e=this.browserEvent)==null||e.stopPropagation()}},og=Object.freeze(function(e,t){let r=setTimeout(e.bind(t),0);return{dispose(){clearTimeout(r)}}}),P0;(e=>{function t(r){return r===e.None||r===e.Cancelled||r instanceof D0?!0:!r||typeof r!="object"?!1:typeof r.isCancellationRequested=="boolean"&&typeof r.onCancellationRequested=="function"}e.isCancellationToken=t,e.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:kt.None}),e.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:og})})(P0||(P0={}));var D0=class{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?og:(this._emitter||(this._emitter=new de),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}},Sh=class{constructor(e,t){this._isDisposed=!1,this._token=-1,typeof e=="function"&&typeof t=="number"&&this.setIfNotSet(e,t)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(e,t){if(this._isDisposed)throw new bu("Calling 'cancelAndSet' on a disposed TimeoutTimer");this.cancel(),this._token=setTimeout(()=>{this._token=-1,e()},t)}setIfNotSet(e,t){if(this._isDisposed)throw new bu("Calling 'setIfNotSet' on a disposed TimeoutTimer");this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,e()},t))}},M0=class{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){var e;(e=this.disposable)==null||e.dispose(),this.disposable=void 0}cancelAndSet(e,t,r=globalThis){if(this.isDisposed)throw new bu("Calling 'cancelAndSet' on a disposed IntervalTimer");this.cancel();let n=r.setInterval(()=>{e()},t);this.disposable=qe(()=>{r.clearInterval(n),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}},L0;(e=>{async function t(n){let o,l=await Promise.all(n.map(u=>u.then(f=>f,f=>{o||(o=f)})));if(typeof o<"u")throw o;return l}e.settled=t;function r(n){return new Promise(async(o,l)=>{try{await n(o,l)}catch(u){l(u)}})}e.withAsyncBody=r})(L0||(L0={}));var Up=class fi{static fromArray(t){return new fi(r=>{r.emitMany(t)})}static fromPromise(t){return new fi(async r=>{r.emitMany(await t)})}static fromPromises(t){return new fi(async r=>{await Promise.all(t.map(async n=>r.emitOne(await n)))})}static merge(t){return new fi(async r=>{await Promise.all(t.map(async n=>{for await(let o of n)r.emitOne(o)}))})}constructor(t,r){this._state=0,this._results=[],this._error=null,this._onReturn=r,this._onStateChanged=new de,queueMicrotask(async()=>{let n={emitOne:o=>this.emitOne(o),emitMany:o=>this.emitMany(o),reject:o=>this.reject(o)};try{await Promise.resolve(t(n)),this.resolve()}catch(o){this.reject(o)}finally{n.emitOne=void 0,n.emitMany=void 0,n.reject=void 0}})}[Symbol.asyncIterator](){let t=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(t<this._results.length)return{done:!1,value:this._results[t++]};if(this._state===1)return{done:!0,value:void 0};await kt.toPromise(this._onStateChanged.event)}while(!0)},return:async()=>{var r;return(r=this._onReturn)==null||r.call(this),{done:!0,value:void 0}}}}static map(t,r){return new fi(async n=>{for await(let o of t)n.emitOne(r(o))})}map(t){return fi.map(this,t)}static filter(t,r){return new fi(async n=>{for await(let o of t)r(o)&&n.emitOne(o)})}filter(t){return fi.filter(this,t)}static coalesce(t){return fi.filter(t,r=>!!r)}coalesce(){return fi.coalesce(this)}static async toPromise(t){let r=[];for await(let n of t)r.push(n);return r}toPromise(){return fi.toPromise(this)}emitOne(t){this._state===0&&(this._results.push(t),this._onStateChanged.fire())}emitMany(t){this._state===0&&(this._results=this._results.concat(t),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(t){this._state===0&&(this._state=2,this._error=t,this._onStateChanged.fire())}};Up.EMPTY=Up.fromArray([]);var{getWindow:Ai,getWindowId:T0,onDidRegisterWindow:B0}=(function(){let e=new Map,t={window:Xi,disposables:new Er};e.set(Xi.vscodeWindowId,t);let r=new de,n=new de,o=new de;function l(u,f){return(typeof u=="number"?e.get(u):void 0)??(f?t:void 0)}return{onDidRegisterWindow:r.event,onWillUnregisterWindow:o.event,onDidUnregisterWindow:n.event,registerWindow(u){if(e.has(u.vscodeWindowId))return De.None;let f=new Er,m={window:u,disposables:f.add(new Er)};return e.set(u.vscodeWindowId,m),f.add(qe(()=>{e.delete(u.vscodeWindowId),n.fire(u)})),f.add(Ee(u,pt.BEFORE_UNLOAD,()=>{o.fire(u)})),r.fire(m),f},getWindows(){return e.values()},getWindowsCount(){return e.size},getWindowId(u){return u.vscodeWindowId},hasWindow(u){return e.has(u)},getWindowById:l,getWindow(u){var p;let f=u;if((p=f==null?void 0:f.ownerDocument)!=null&&p.defaultView)return f.ownerDocument.defaultView.window;let m=u;return m!=null&&m.view?m.view.window:Xi},getDocument(u){return Ai(u).document}}})(),j0=class{constructor(e,t,r,n){this._node=e,this._type=t,this._handler=r,this._options=n||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}};function Ee(e,t,r,n){return new j0(e,t,r,n)}var qp=function(e,t,r,n){return Ee(e,t,r,n)},wh,A0=class extends M0{constructor(e){super(),this.defaultTarget=e&&Ai(e)}cancelAndSet(e,t,r){return super.cancelAndSet(e,t,r??this.defaultTarget)}},Kp=class{constructor(e,t=0){this._runner=e,this.priority=t,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(e){la(e)}}static sort(e,t){return t.priority-e.priority}};(function(){let e=new Map,t=new Map,r=new Map,n=new Map,o=l=>{r.set(l,!1);let u=e.get(l)??[];for(t.set(l,u),e.set(l,[]),n.set(l,!0);u.length>0;)u.sort(Kp.sort),u.shift().execute();n.set(l,!1)};wh=(l,u,f=0)=>{let m=T0(l),p=new Kp(u,f),y=e.get(m);return y||(y=[],e.set(m,y)),y.push(p),r.get(m)||(r.set(m,!0),l.requestAnimationFrame(()=>o(m))),p}})();function I0(e){let t=e.getBoundingClientRect(),r=Ai(e);return{left:t.left+r.scrollX,top:t.top+r.scrollY,width:t.width,height:t.height}}var pt={CLICK:"click",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_LEAVE:"mouseleave",MOUSE_WHEEL:"wheel",POINTER_UP:"pointerup",POINTER_DOWN:"pointerdown",POINTER_MOVE:"pointermove",KEY_DOWN:"keydown",KEY_UP:"keyup",BEFORE_UNLOAD:"beforeunload",CHANGE:"change",FOCUS:"focus",BLUR:"blur",INPUT:"input"},O0=class{constructor(t){this.domNode=t,this._maxWidth="",this._width="",this._height="",this._top="",this._left="",this._bottom="",this._right="",this._paddingTop="",this._paddingLeft="",this._paddingBottom="",this._paddingRight="",this._fontFamily="",this._fontWeight="",this._fontSize="",this._fontStyle="",this._fontFeatureSettings="",this._fontVariationSettings="",this._textDecoration="",this._lineHeight="",this._letterSpacing="",this._className="",this._display="",this._position="",this._visibility="",this._color="",this._backgroundColor="",this._layerHint=!1,this._contain="none",this._boxShadow=""}setMaxWidth(t){let r=Ut(t);this._maxWidth!==r&&(this._maxWidth=r,this.domNode.style.maxWidth=this._maxWidth)}setWidth(t){let r=Ut(t);this._width!==r&&(this._width=r,this.domNode.style.width=this._width)}setHeight(t){let r=Ut(t);this._height!==r&&(this._height=r,this.domNode.style.height=this._height)}setTop(t){let r=Ut(t);this._top!==r&&(this._top=r,this.domNode.style.top=this._top)}setLeft(t){let r=Ut(t);this._left!==r&&(this._left=r,this.domNode.style.left=this._left)}setBottom(t){let r=Ut(t);this._bottom!==r&&(this._bottom=r,this.domNode.style.bottom=this._bottom)}setRight(t){let r=Ut(t);this._right!==r&&(this._right=r,this.domNode.style.right=this._right)}setPaddingTop(t){let r=Ut(t);this._paddingTop!==r&&(this._paddingTop=r,this.domNode.style.paddingTop=this._paddingTop)}setPaddingLeft(t){let r=Ut(t);this._paddingLeft!==r&&(this._paddingLeft=r,this.domNode.style.paddingLeft=this._paddingLeft)}setPaddingBottom(t){let r=Ut(t);this._paddingBottom!==r&&(this._paddingBottom=r,this.domNode.style.paddingBottom=this._paddingBottom)}setPaddingRight(t){let r=Ut(t);this._paddingRight!==r&&(this._paddingRight=r,this.domNode.style.paddingRight=this._paddingRight)}setFontFamily(t){this._fontFamily!==t&&(this._fontFamily=t,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(t){this._fontWeight!==t&&(this._fontWeight=t,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(t){let r=Ut(t);this._fontSize!==r&&(this._fontSize=r,this.domNode.style.fontSize=this._fontSize)}setFontStyle(t){this._fontStyle!==t&&(this._fontStyle=t,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(t){this._fontFeatureSettings!==t&&(this._fontFeatureSettings=t,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(t){this._fontVariationSettings!==t&&(this._fontVariationSettings=t,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(t){this._textDecoration!==t&&(this._textDecoration=t,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(t){let r=Ut(t);this._lineHeight!==r&&(this._lineHeight=r,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(t){let r=Ut(t);this._letterSpacing!==r&&(this._letterSpacing=r,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(t){this._className!==t&&(this._className=t,this.domNode.className=this._className)}toggleClassName(t,r){this.domNode.classList.toggle(t,r),this._className=this.domNode.className}setDisplay(t){this._display!==t&&(this._display=t,this.domNode.style.display=this._display)}setPosition(t){this._position!==t&&(this._position=t,this.domNode.style.position=this._position)}setVisibility(t){this._visibility!==t&&(this._visibility=t,this.domNode.style.visibility=this._visibility)}setColor(t){this._color!==t&&(this._color=t,this.domNode.style.color=this._color)}setBackgroundColor(t){this._backgroundColor!==t&&(this._backgroundColor=t,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(t){this._layerHint!==t&&(this._layerHint=t,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(t){this._boxShadow!==t&&(this._boxShadow=t,this.domNode.style.boxShadow=t)}setContain(t){this._contain!==t&&(this._contain=t,this.domNode.style.contain=this._contain)}setAttribute(t,r){this.domNode.setAttribute(t,r)}removeAttribute(t){this.domNode.removeAttribute(t)}appendChild(t){this.domNode.appendChild(t.domNode)}removeChild(t){this.domNode.removeChild(t.domNode)}};function Ut(e){return typeof e=="number"?`${e}px`:e}function Dn(e){return new O0(e)}var ag=class{constructor(){this._hooks=new Er,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(e,t){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;let r=this._onStopCallback;this._onStopCallback=null,e&&r&&r(t)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(e,t,r,n,o){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=n,this._onStopCallback=o;let l=e;try{e.setPointerCapture(t),this._hooks.add(qe(()=>{try{e.releasePointerCapture(t)}catch{}}))}catch{l=Ai(e)}this._hooks.add(Ee(l,pt.POINTER_MOVE,u=>{if(u.buttons!==r){this.stopMonitoring(!0);return}u.preventDefault(),this._pointerMoveCallback(u)})),this._hooks.add(Ee(l,pt.POINTER_UP,u=>this.stopMonitoring(!0)))}};function z0(e,t,r){let n=null,o=null;if(typeof r.value=="function"?(n="value",o=r.value,o.length!==0&&console.warn("Memoize should only be used in functions with zero parameters")):typeof r.get=="function"&&(n="get",o=r.get),!o)throw new Error("not supported");let l=`$memoize$${t}`;r[n]=function(...u){return this.hasOwnProperty(l)||Object.defineProperty(this,l,{configurable:!1,enumerable:!1,writable:!1,value:o.apply(this,u)}),this[l]}}var ji;(e=>(e.Tap="-xterm-gesturetap",e.Change="-xterm-gesturechange",e.Start="-xterm-gesturestart",e.End="-xterm-gesturesend",e.Contextmenu="-xterm-gesturecontextmenu"))(ji||(ji={}));var xn=class Dt extends De{constructor(){super(),this.dispatched=!1,this.targets=new Ap,this.ignoreTargets=new Ap,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(kt.runAndSubscribe(B0,({window:t,disposables:r})=>{r.add(Ee(t.document,"touchstart",n=>this.onTouchStart(n),{passive:!1})),r.add(Ee(t.document,"touchend",n=>this.onTouchEnd(t,n))),r.add(Ee(t.document,"touchmove",n=>this.onTouchMove(n),{passive:!1}))},{window:Xi,disposables:this._store}))}static addTarget(t){if(!Dt.isTouchDevice())return De.None;Dt.INSTANCE||(Dt.INSTANCE=new Dt);let r=Dt.INSTANCE.targets.push(t);return qe(r)}static ignoreTarget(t){if(!Dt.isTouchDevice())return De.None;Dt.INSTANCE||(Dt.INSTANCE=new Dt);let r=Dt.INSTANCE.ignoreTargets.push(t);return qe(r)}static isTouchDevice(){return"ontouchstart"in Xi||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(t){let r=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let n=0,o=t.targetTouches.length;n<o;n++){let l=t.targetTouches.item(n);this.activeTouches[l.identifier]={id:l.identifier,initialTarget:l.target,initialTimeStamp:r,initialPageX:l.pageX,initialPageY:l.pageY,rollingTimestamps:[r],rollingPageX:[l.pageX],rollingPageY:[l.pageY]};let u=this.newGestureEvent(ji.Start,l.target);u.pageX=l.pageX,u.pageY=l.pageY,this.dispatchEvent(u)}this.dispatched&&(t.preventDefault(),t.stopPropagation(),this.dispatched=!1)}onTouchEnd(t,r){let n=Date.now(),o=Object.keys(this.activeTouches).length;for(let l=0,u=r.changedTouches.length;l<u;l++){let f=r.changedTouches.item(l);if(!this.activeTouches.hasOwnProperty(String(f.identifier))){console.warn("move of an UNKNOWN touch",f);continue}let m=this.activeTouches[f.identifier],p=Date.now()-m.initialTimeStamp;if(p<Dt.HOLD_DELAY&&Math.abs(m.initialPageX-Qt(m.rollingPageX))<30&&Math.abs(m.initialPageY-Qt(m.rollingPageY))<30){let y=this.newGestureEvent(ji.Tap,m.initialTarget);y.pageX=Qt(m.rollingPageX),y.pageY=Qt(m.rollingPageY),this.dispatchEvent(y)}else if(p>=Dt.HOLD_DELAY&&Math.abs(m.initialPageX-Qt(m.rollingPageX))<30&&Math.abs(m.initialPageY-Qt(m.rollingPageY))<30){let y=this.newGestureEvent(ji.Contextmenu,m.initialTarget);y.pageX=Qt(m.rollingPageX),y.pageY=Qt(m.rollingPageY),this.dispatchEvent(y)}else if(o===1){let y=Qt(m.rollingPageX),v=Qt(m.rollingPageY),S=Qt(m.rollingTimestamps)-m.rollingTimestamps[0],g=y-m.rollingPageX[0],C=v-m.rollingPageY[0],E=[...this.targets].filter(x=>m.initialTarget instanceof Node&&x.contains(m.initialTarget));this.inertia(t,E,n,Math.abs(g)/S,g>0?1:-1,y,Math.abs(C)/S,C>0?1:-1,v)}this.dispatchEvent(this.newGestureEvent(ji.End,m.initialTarget)),delete this.activeTouches[f.identifier]}this.dispatched&&(r.preventDefault(),r.stopPropagation(),this.dispatched=!1)}newGestureEvent(t,r){let n=document.createEvent("CustomEvent");return n.initEvent(t,!1,!0),n.initialTarget=r,n.tapCount=0,n}dispatchEvent(t){if(t.type===ji.Tap){let r=new Date().getTime(),n=0;r-this._lastSetTapCountTime>Dt.CLEAR_TAP_COUNT_TIME?n=1:n=2,this._lastSetTapCountTime=r,t.tapCount=n}else(t.type===ji.Change||t.type===ji.Contextmenu)&&(this._lastSetTapCountTime=0);if(t.initialTarget instanceof Node){for(let n of this.ignoreTargets)if(n.contains(t.initialTarget))return;let r=[];for(let n of this.targets)if(n.contains(t.initialTarget)){let o=0,l=t.initialTarget;for(;l&&l!==n;)o++,l=l.parentElement;r.push([o,n])}r.sort((n,o)=>n[0]-o[0]);for(let[n,o]of r)o.dispatchEvent(t),this.dispatched=!0}}inertia(t,r,n,o,l,u,f,m,p){this.handle=wh(t,()=>{let y=Date.now(),v=y-n,S=0,g=0,C=!0;o+=Dt.SCROLL_FRICTION*v,f+=Dt.SCROLL_FRICTION*v,o>0&&(C=!1,S=l*o*v),f>0&&(C=!1,g=m*f*v);let E=this.newGestureEvent(ji.Change);E.translationX=S,E.translationY=g,r.forEach(x=>x.dispatchEvent(E)),C||this.inertia(t,r,y,o,l,u+S,f,m,p+g)})}onTouchMove(t){let r=Date.now();for(let n=0,o=t.changedTouches.length;n<o;n++){let l=t.changedTouches.item(n);if(!this.activeTouches.hasOwnProperty(String(l.identifier))){console.warn("end of an UNKNOWN touch",l);continue}let u=this.activeTouches[l.identifier],f=this.newGestureEvent(ji.Change,u.initialTarget);f.translationX=l.pageX-Qt(u.rollingPageX),f.translationY=l.pageY-Qt(u.rollingPageY),f.pageX=l.pageX,f.pageY=l.pageY,this.dispatchEvent(f),u.rollingPageX.length>3&&(u.rollingPageX.shift(),u.rollingPageY.shift(),u.rollingTimestamps.shift()),u.rollingPageX.push(l.pageX),u.rollingPageY.push(l.pageY),u.rollingTimestamps.push(r)}this.dispatched&&(t.preventDefault(),t.stopPropagation(),this.dispatched=!1)}};xn.SCROLL_FRICTION=-.005,xn.HOLD_DELAY=700,xn.CLEAR_TAP_COUNT_TIME=400,Je([z0],xn,"isTouchDevice",1);var F0=xn,Ch=class extends De{onclick(e,t){this._register(Ee(e,pt.CLICK,r=>t(new Zo(Ai(e),r))))}onmousedown(e,t){this._register(Ee(e,pt.MOUSE_DOWN,r=>t(new Zo(Ai(e),r))))}onmouseover(e,t){this._register(Ee(e,pt.MOUSE_OVER,r=>t(new Zo(Ai(e),r))))}onmouseleave(e,t){this._register(Ee(e,pt.MOUSE_LEAVE,r=>t(new Zo(Ai(e),r))))}onkeydown(e,t){this._register(Ee(e,pt.KEY_DOWN,r=>t(new Hp(r))))}onkeyup(e,t){this._register(Ee(e,pt.KEY_UP,r=>t(new Hp(r))))}oninput(e,t){this._register(Ee(e,pt.INPUT,t))}onblur(e,t){this._register(Ee(e,pt.BLUR,t))}onfocus(e,t){this._register(Ee(e,pt.FOCUS,t))}onchange(e,t){this._register(Ee(e,pt.CHANGE,t))}ignoreGesture(e){return F0.ignoreTarget(e)}},Vp=11,H0=class extends Ch{constructor(e){super(),this._onActivate=e.onActivate,this.bgDomNode=document.createElement("div"),this.bgDomNode.className="arrow-background",this.bgDomNode.style.position="absolute",this.bgDomNode.style.width=e.bgWidth+"px",this.bgDomNode.style.height=e.bgHeight+"px",typeof e.top<"u"&&(this.bgDomNode.style.top="0px"),typeof e.left<"u"&&(this.bgDomNode.style.left="0px"),typeof e.bottom<"u"&&(this.bgDomNode.style.bottom="0px"),typeof e.right<"u"&&(this.bgDomNode.style.right="0px"),this.domNode=document.createElement("div"),this.domNode.className=e.className,this.domNode.style.position="absolute",this.domNode.style.width=Vp+"px",this.domNode.style.height=Vp+"px",typeof e.top<"u"&&(this.domNode.style.top=e.top+"px"),typeof e.left<"u"&&(this.domNode.style.left=e.left+"px"),typeof e.bottom<"u"&&(this.domNode.style.bottom=e.bottom+"px"),typeof e.right<"u"&&(this.domNode.style.right=e.right+"px"),this._pointerMoveMonitor=this._register(new ag),this._register(qp(this.bgDomNode,pt.POINTER_DOWN,t=>this._arrowPointerDown(t))),this._register(qp(this.domNode,pt.POINTER_DOWN,t=>this._arrowPointerDown(t))),this._pointerdownRepeatTimer=this._register(new A0),this._pointerdownScheduleRepeatTimer=this._register(new Sh)}_arrowPointerDown(e){if(!e.target||!(e.target instanceof Element))return;let t=()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24,Ai(e))};this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(t,200),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,r=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),e.preventDefault()}},$0=class Lu{constructor(t,r,n,o,l,u,f){this._forceIntegerValues=t,this._scrollStateBrand=void 0,this._forceIntegerValues&&(r=r|0,n=n|0,o=o|0,l=l|0,u=u|0,f=f|0),this.rawScrollLeft=o,this.rawScrollTop=f,r<0&&(r=0),o+r>n&&(o=n-r),o<0&&(o=0),l<0&&(l=0),f+l>u&&(f=u-l),f<0&&(f=0),this.width=r,this.scrollWidth=n,this.scrollLeft=o,this.height=l,this.scrollHeight=u,this.scrollTop=f}equals(t){return this.rawScrollLeft===t.rawScrollLeft&&this.rawScrollTop===t.rawScrollTop&&this.width===t.width&&this.scrollWidth===t.scrollWidth&&this.scrollLeft===t.scrollLeft&&this.height===t.height&&this.scrollHeight===t.scrollHeight&&this.scrollTop===t.scrollTop}withScrollDimensions(t,r){return new Lu(this._forceIntegerValues,typeof t.width<"u"?t.width:this.width,typeof t.scrollWidth<"u"?t.scrollWidth:this.scrollWidth,r?this.rawScrollLeft:this.scrollLeft,typeof t.height<"u"?t.height:this.height,typeof t.scrollHeight<"u"?t.scrollHeight:this.scrollHeight,r?this.rawScrollTop:this.scrollTop)}withScrollPosition(t){return new Lu(this._forceIntegerValues,this.width,this.scrollWidth,typeof t.scrollLeft<"u"?t.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,typeof t.scrollTop<"u"?t.scrollTop:this.rawScrollTop)}createScrollEvent(t,r){let n=this.width!==t.width,o=this.scrollWidth!==t.scrollWidth,l=this.scrollLeft!==t.scrollLeft,u=this.height!==t.height,f=this.scrollHeight!==t.scrollHeight,m=this.scrollTop!==t.scrollTop;return{inSmoothScrolling:r,oldWidth:t.width,oldScrollWidth:t.scrollWidth,oldScrollLeft:t.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:t.height,oldScrollHeight:t.scrollHeight,oldScrollTop:t.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:n,scrollWidthChanged:o,scrollLeftChanged:l,heightChanged:u,scrollHeightChanged:f,scrollTopChanged:m}}},W0=class extends De{constructor(e){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new de),this.onScroll=this._onScroll.event,this._smoothScrollDuration=e.smoothScrollDuration,this._scheduleAtNextAnimationFrame=e.scheduleAtNextAnimationFrame,this._state=new $0(e.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(e){this._smoothScrollDuration=e}validateScrollPosition(e){return this._state.withScrollPosition(e)}getScrollDimensions(){return this._state}setScrollDimensions(e,t){var n;let r=this._state.withScrollDimensions(e,t);this._setState(r,!!this._smoothScrolling),(n=this._smoothScrolling)==null||n.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(e){let t=this._state.withScrollPosition(e);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(t,!1)}setScrollPositionSmooth(e,t){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(e);if(this._smoothScrolling){e={scrollLeft:typeof e.scrollLeft>"u"?this._smoothScrolling.to.scrollLeft:e.scrollLeft,scrollTop:typeof e.scrollTop>"u"?this._smoothScrolling.to.scrollTop:e.scrollTop};let r=this._state.withScrollPosition(e);if(this._smoothScrolling.to.scrollLeft===r.scrollLeft&&this._smoothScrolling.to.scrollTop===r.scrollTop)return;let n;t?n=new Xp(this._smoothScrolling.from,r,this._smoothScrolling.startTime,this._smoothScrolling.duration):n=this._smoothScrolling.combine(this._state,r,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=n}else{let r=this._state.withScrollPosition(e);this._smoothScrolling=Xp.start(this._state,r,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}hasPendingScrollAnimation(){return!!this._smoothScrolling}_performSmoothScrolling(){if(!this._smoothScrolling)return;let e=this._smoothScrolling.tick(),t=this._state.withScrollPosition(e);if(this._setState(t,!0),!!this._smoothScrolling){if(e.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(e,t){let r=this._state;r.equals(e)||(this._state=e,this._onScroll.fire(this._state.createScrollEvent(r,t)))}},Yp=class{constructor(e,t,r){this.scrollLeft=e,this.scrollTop=t,this.isDone=r}};function Bc(e,t){let r=t-e;return function(n){return e+r*K0(n)}}function U0(e,t,r){return function(n){return n<r?e(n/r):t((n-r)/(1-r))}}var Xp=class Tu{constructor(t,r,n,o){this.from=t,this.to=r,this.duration=o,this.startTime=n,this.animationFrameDisposable=null,this._initAnimations()}_initAnimations(){this.scrollLeft=this._initAnimation(this.from.scrollLeft,this.to.scrollLeft,this.to.width),this.scrollTop=this._initAnimation(this.from.scrollTop,this.to.scrollTop,this.to.height)}_initAnimation(t,r,n){if(Math.abs(t-r)>2.5*n){let o,l;return t<r?(o=t+.75*n,l=r-.75*n):(o=t-.75*n,l=r+.75*n),U0(Bc(t,o),Bc(l,r),.33)}return Bc(t,r)}dispose(){this.animationFrameDisposable!==null&&(this.animationFrameDisposable.dispose(),this.animationFrameDisposable=null)}acceptScrollDimensions(t){this.to=t.withScrollPosition(this.to),this._initAnimations()}tick(){return this._tick(Date.now())}_tick(t){let r=(t-this.startTime)/this.duration;if(r<1){let n=this.scrollLeft(r),o=this.scrollTop(r);return new Yp(n,o,!1)}return new Yp(this.to.scrollLeft,this.to.scrollTop,!0)}combine(t,r,n){return Tu.start(t,r,n)}static start(t,r,n){n=n+10;let o=Date.now()-10;return new Tu(t,r,o,n)}};function q0(e){return Math.pow(e,3)}function K0(e){return 1-q0(1-e)}var V0=class extends De{constructor(e,t,r){super(),this._visibility=e,this._visibleClassName=t,this._invisibleClassName=r,this._domNode=null,this._isVisible=!1,this._isNeeded=!1,this._rawShouldBeVisible=!1,this._shouldBeVisible=!1,this._revealTimer=this._register(new Sh)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this._updateShouldBeVisible())}setShouldBeVisible(e){this._rawShouldBeVisible=e,this._updateShouldBeVisible()}_applyVisibilitySetting(){return this._visibility===2?!1:this._visibility===3?!0:this._rawShouldBeVisible}_updateShouldBeVisible(){let e=this._applyVisibilitySetting();this._shouldBeVisible!==e&&(this._shouldBeVisible=e,this.ensureVisibility())}setIsNeeded(e){this._isNeeded!==e&&(this._isNeeded=e,this.ensureVisibility())}setDomNode(e){this._domNode=e,this._domNode.setClassName(this._invisibleClassName),this.setShouldBeVisible(!1)}ensureVisibility(){if(!this._isNeeded){this._hide(!1);return}this._shouldBeVisible?this._reveal():this._hide(!0)}_reveal(){this._isVisible||(this._isVisible=!0,this._revealTimer.setIfNotSet(()=>{var e;(e=this._domNode)==null||e.setClassName(this._visibleClassName)},0))}_hide(e){var t;this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,(t=this._domNode)==null||t.setClassName(this._invisibleClassName+(e?" fade":"")))}},Y0=140,lg=class extends Ch{constructor(e){super(),this._lazyRender=e.lazyRender,this._host=e.host,this._scrollable=e.scrollable,this._scrollByPage=e.scrollByPage,this._scrollbarState=e.scrollbarState,this._visibilityController=this._register(new V0(e.visibility,"visible scrollbar "+e.extraScrollbarClassName,"invisible scrollbar "+e.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new ag),this._shouldRender=!0,this.domNode=Dn(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition("absolute"),this._register(Ee(this.domNode.domNode,pt.POINTER_DOWN,t=>this._domNodePointerDown(t)))}_createArrow(e){let t=this._register(new H0(e));this.domNode.domNode.appendChild(t.bgDomNode),this.domNode.domNode.appendChild(t.domNode)}_createSlider(e,t,r,n){this.slider=Dn(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(e),this.slider.setLeft(t),typeof r=="number"&&this.slider.setWidth(r),typeof n=="number"&&this.slider.setHeight(n),this.slider.setLayerHinting(!0),this.slider.setContain("strict"),this.domNode.domNode.appendChild(this.slider.domNode),this._register(Ee(this.slider.domNode,pt.POINTER_DOWN,o=>{o.button===0&&(o.preventDefault(),this._sliderPointerDown(o))})),this.onclick(this.slider.domNode,o=>{o.leftButton&&o.stopPropagation()})}_onElementSize(e){return this._scrollbarState.setVisibleSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(e){return this._scrollbarState.setScrollSize(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(e){return this._scrollbarState.setScrollPosition(e)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(e){e.target===this.domNode.domNode&&this._onPointerDown(e)}delegatePointerDown(e){let t=this.domNode.domNode.getClientRects()[0].top,r=t+this._scrollbarState.getSliderPosition(),n=t+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),o=this._sliderPointerPosition(e);r<=o&&o<=n?e.button===0&&(e.preventDefault(),this._sliderPointerDown(e)):this._onPointerDown(e)}_onPointerDown(e){let t,r;if(e.target===this.domNode.domNode&&typeof e.offsetX=="number"&&typeof e.offsetY=="number")t=e.offsetX,r=e.offsetY;else{let o=I0(this.domNode.domNode);t=e.pageX-o.left,r=e.pageY-o.top}let n=this._pointerDownRelativePosition(t,r);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(n):this._scrollbarState.getDesiredScrollPositionFromOffset(n)),e.button===0&&(e.preventDefault(),this._sliderPointerDown(e))}_sliderPointerDown(e){if(!e.target||!(e.target instanceof Element))return;let t=this._sliderPointerPosition(e),r=this._sliderOrthogonalPointerPosition(e),n=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._pointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,o=>{let l=this._sliderOrthogonalPointerPosition(o),u=Math.abs(l-r);if(rg&&u>Y0){this._setDesiredScrollPositionNow(n.getScrollPosition());return}let f=this._sliderPointerPosition(o)-t;this._setDesiredScrollPositionNow(n.getDesiredScrollPositionFromDelta(f))},()=>{this.slider.toggleClassName("active",!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(e){let t={};this.writeScrollPosition(t,e),this._scrollable.setScrollPositionNow(t)}updateScrollbarSize(e){this._updateScrollbarSize(e),this._scrollbarState.setScrollbarSize(e),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}},cg=class Bu{constructor(t,r,n,o,l,u){this._scrollbarSize=Math.round(r),this._oppositeScrollbarSize=Math.round(n),this._arrowSize=Math.round(t),this._visibleSize=o,this._scrollSize=l,this._scrollPosition=u,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new Bu(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(t){let r=Math.round(t);return this._visibleSize!==r?(this._visibleSize=r,this._refreshComputedValues(),!0):!1}setScrollSize(t){let r=Math.round(t);return this._scrollSize!==r?(this._scrollSize=r,this._refreshComputedValues(),!0):!1}setScrollPosition(t){let r=Math.round(t);return this._scrollPosition!==r?(this._scrollPosition=r,this._refreshComputedValues(),!0):!1}setScrollbarSize(t){this._scrollbarSize=Math.round(t)}setOppositeScrollbarSize(t){this._oppositeScrollbarSize=Math.round(t)}static _computeValues(t,r,n,o,l){let u=Math.max(0,n-t),f=Math.max(0,u-2*r),m=o>0&&o>n;if(!m)return{computedAvailableSize:Math.round(u),computedIsNeeded:m,computedSliderSize:Math.round(f),computedSliderRatio:0,computedSliderPosition:0};let p=Math.round(Math.max(20,Math.floor(n*f/o))),y=(f-p)/(o-n),v=l*y;return{computedAvailableSize:Math.round(u),computedIsNeeded:m,computedSliderSize:Math.round(p),computedSliderRatio:y,computedSliderPosition:Math.round(v)}}_refreshComputedValues(){let t=Bu._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=t.computedAvailableSize,this._computedIsNeeded=t.computedIsNeeded,this._computedSliderSize=t.computedSliderSize,this._computedSliderRatio=t.computedSliderRatio,this._computedSliderPosition=t.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(t){if(!this._computedIsNeeded)return 0;let r=t-this._arrowSize-this._computedSliderSize/2;return Math.round(r/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(t){if(!this._computedIsNeeded)return 0;let r=t-this._arrowSize,n=this._scrollPosition;return r<this._computedSliderPosition?n-=this._visibleSize:n+=this._visibleSize,n}getDesiredScrollPositionFromDelta(t){if(!this._computedIsNeeded)return 0;let r=this._computedSliderPosition+t;return Math.round(r/this._computedSliderRatio)}},X0=class extends lg{constructor(e,t,r){let n=e.getScrollDimensions(),o=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:r,scrollbarState:new cg(t.horizontalHasArrows?t.arrowSize:0,t.horizontal===2?0:t.horizontalScrollbarSize,t.vertical===2?0:t.verticalScrollbarSize,n.width,n.scrollWidth,o.scrollLeft),visibility:t.horizontal,extraScrollbarClassName:"horizontal",scrollable:e,scrollByPage:t.scrollByPage}),t.horizontalHasArrows)throw new Error("horizontalHasArrows is not supported in xterm.js");this._createSlider(Math.floor((t.horizontalScrollbarSize-t.horizontalSliderSize)/2),0,void 0,t.horizontalSliderSize)}_updateSlider(e,t){this.slider.setWidth(e),this.slider.setLeft(t)}_renderDomNode(e,t){this.domNode.setWidth(e),this.domNode.setHeight(t),this.domNode.setLeft(0),this.domNode.setBottom(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollWidth)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollLeft)||this._shouldRender,this._shouldRender=this._onElementSize(e.width)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return e}_sliderPointerPosition(e){return e.pageX}_sliderOrthogonalPointerPosition(e){return e.pageY}_updateScrollbarSize(e){this.slider.setHeight(e)}writeScrollPosition(e,t){e.scrollLeft=t}updateOptions(e){this.updateScrollbarSize(e.horizontal===2?0:e.horizontalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(e.vertical===2?0:e.verticalScrollbarSize),this._visibilityController.setVisibility(e.horizontal),this._scrollByPage=e.scrollByPage}},G0=class extends lg{constructor(e,t,r){let n=e.getScrollDimensions(),o=e.getCurrentScrollPosition();if(super({lazyRender:t.lazyRender,host:r,scrollbarState:new cg(t.verticalHasArrows?t.arrowSize:0,t.vertical===2?0:t.verticalScrollbarSize,0,n.height,n.scrollHeight,o.scrollTop),visibility:t.vertical,extraScrollbarClassName:"vertical",scrollable:e,scrollByPage:t.scrollByPage}),t.verticalHasArrows)throw new Error("horizontalHasArrows is not supported in xterm.js");this._createSlider(0,Math.floor((t.verticalScrollbarSize-t.verticalSliderSize)/2),t.verticalSliderSize,void 0)}_updateSlider(e,t){this.slider.setHeight(e),this.slider.setTop(t)}_renderDomNode(e,t){this.domNode.setWidth(t),this.domNode.setHeight(e),this.domNode.setRight(0),this.domNode.setTop(0)}onDidScroll(e){return this._shouldRender=this._onElementScrollSize(e.scrollHeight)||this._shouldRender,this._shouldRender=this._onElementScrollPosition(e.scrollTop)||this._shouldRender,this._shouldRender=this._onElementSize(e.height)||this._shouldRender,this._shouldRender}_pointerDownRelativePosition(e,t){return t}_sliderPointerPosition(e){return e.pageY}_sliderOrthogonalPointerPosition(e){return e.pageX}_updateScrollbarSize(e){this.slider.setWidth(e)}writeScrollPosition(e,t){e.scrollTop=t}updateOptions(e){this.updateScrollbarSize(e.vertical===2?0:e.verticalScrollbarSize),this._scrollbarState.setOppositeScrollbarSize(0),this._visibilityController.setVisibility(e.vertical),this._scrollByPage=e.scrollByPage}},Q0=500,Gp=50,J0=class{constructor(e,t,r){this.timestamp=e,this.deltaX=t,this.deltaY=r,this.score=0}},ju=class{constructor(){this._capacity=5,this._memory=[],this._front=-1,this._rear=-1}isPhysicalMouseWheel(){if(this._front===-1&&this._rear===-1)return!1;let t=1,r=0,n=1,o=this._rear;do{let l=o===this._front?t:Math.pow(2,-n);if(t-=l,r+=this._memory[o].score*l,o===this._front)break;o=(this._capacity+o-1)%this._capacity,n++}while(!0);return r<=.5}acceptStandardWheelEvent(t){if(vh){let r=Ai(t.browserEvent),n=c0(r);this.accept(Date.now(),t.deltaX*n,t.deltaY*n)}else this.accept(Date.now(),t.deltaX,t.deltaY)}accept(t,r,n){let o=null,l=new J0(t,r,n);this._front===-1&&this._rear===-1?(this._memory[0]=l,this._front=0,this._rear=0):(o=this._memory[this._rear],this._rear=(this._rear+1)%this._capacity,this._rear===this._front&&(this._front=(this._front+1)%this._capacity),this._memory[this._rear]=l),l.score=this._computeScore(l,o)}_computeScore(t,r){if(Math.abs(t.deltaX)>0&&Math.abs(t.deltaY)>0)return 1;let n=.5;if((!this._isAlmostInt(t.deltaX)||!this._isAlmostInt(t.deltaY))&&(n+=.25),r){let o=Math.abs(t.deltaX),l=Math.abs(t.deltaY),u=Math.abs(r.deltaX),f=Math.abs(r.deltaY),m=Math.max(Math.min(o,u),1),p=Math.max(Math.min(l,f),1),y=Math.max(o,u),v=Math.max(l,f);y%m===0&&v%p===0&&(n-=.5)}return Math.min(Math.max(n,0),1)}_isAlmostInt(t){return Math.abs(Math.round(t)-t)<.01}};ju.INSTANCE=new ju;var Z0=ju,ew=class extends Ch{constructor(e,t,r){super(),this._onScroll=this._register(new de),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new de),this.onWillScroll=this._onWillScroll.event,this._options=iw(t),this._scrollable=r,this._register(this._scrollable.onScroll(o=>{this._onWillScroll.fire(o),this._onDidScroll(o),this._onScroll.fire(o)}));let n={onMouseWheel:o=>this._onMouseWheel(o),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new G0(this._scrollable,this._options,n)),this._horizontalScrollbar=this._register(new X0(this._scrollable,this._options,n)),this._domNode=document.createElement("div"),this._domNode.className="xterm-scrollable-element "+this._options.className,this._domNode.setAttribute("role","presentation"),this._domNode.style.position="relative",this._domNode.appendChild(e),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=Dn(document.createElement("div")),this._leftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=Dn(document.createElement("div")),this._topShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=Dn(document.createElement("div")),this._topLeftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,o=>this._onMouseOver(o)),this.onmouseleave(this._listenOnDomNode,o=>this._onMouseLeave(o)),this._hideTimeout=this._register(new Sh),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}get options(){return this._options}dispose(){this._mouseWheelToDispose=Vr(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(e){this._verticalScrollbar.delegatePointerDown(e)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(e){this._scrollable.setScrollDimensions(e,!1)}updateClassName(e){this._options.className=e,Ii&&(this._options.className+=" mac"),this._domNode.className="xterm-scrollable-element "+this._options.className}updateOptions(e){typeof e.handleMouseWheel<"u"&&(this._options.handleMouseWheel=e.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),typeof e.mouseWheelScrollSensitivity<"u"&&(this._options.mouseWheelScrollSensitivity=e.mouseWheelScrollSensitivity),typeof e.fastScrollSensitivity<"u"&&(this._options.fastScrollSensitivity=e.fastScrollSensitivity),typeof e.scrollPredominantAxis<"u"&&(this._options.scrollPredominantAxis=e.scrollPredominantAxis),typeof e.horizontal<"u"&&(this._options.horizontal=e.horizontal),typeof e.vertical<"u"&&(this._options.vertical=e.vertical),typeof e.horizontalScrollbarSize<"u"&&(this._options.horizontalScrollbarSize=e.horizontalScrollbarSize),typeof e.verticalScrollbarSize<"u"&&(this._options.verticalScrollbarSize=e.verticalScrollbarSize),typeof e.scrollByPage<"u"&&(this._options.scrollByPage=e.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}setRevealOnScroll(e){this._revealOnScroll=e}delegateScrollFromMouseWheelEvent(e){this._onMouseWheel(new Wp(e))}_setListeningToMouseWheel(e){if(this._mouseWheelToDispose.length>0!==e&&(this._mouseWheelToDispose=Vr(this._mouseWheelToDispose),e)){let t=r=>{this._onMouseWheel(new Wp(r))};this._mouseWheelToDispose.push(Ee(this._listenOnDomNode,pt.MOUSE_WHEEL,t,{passive:!1}))}}_onMouseWheel(e){var o;if((o=e.browserEvent)!=null&&o.defaultPrevented)return;let t=Z0.INSTANCE;t.acceptStandardWheelEvent(e);let r=!1;if(e.deltaY||e.deltaX){let l=e.deltaY*this._options.mouseWheelScrollSensitivity,u=e.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&u+l===0?u=l=0:Math.abs(l)>=Math.abs(u)?u=0:l=0),this._options.flipAxes&&([l,u]=[u,l]);let f=!Ii&&e.browserEvent&&e.browserEvent.shiftKey;(this._options.scrollYToX||f)&&!u&&(u=l,l=0),e.browserEvent&&e.browserEvent.altKey&&(u=u*this._options.fastScrollSensitivity,l=l*this._options.fastScrollSensitivity);let m=this._scrollable.getFutureScrollPosition(),p={};if(l){let y=Gp*l,v=m.scrollTop-(y<0?Math.floor(y):Math.ceil(y));this._verticalScrollbar.writeScrollPosition(p,v)}if(u){let y=Gp*u,v=m.scrollLeft-(y<0?Math.floor(y):Math.ceil(y));this._horizontalScrollbar.writeScrollPosition(p,v)}p=this._scrollable.validateScrollPosition(p),(m.scrollLeft!==p.scrollLeft||m.scrollTop!==p.scrollTop)&&(this._options.mouseWheelSmoothScroll&&t.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(p):this._scrollable.setScrollPositionNow(p),r=!0)}let n=r;!n&&this._options.alwaysConsumeMouseWheel&&(n=!0),!n&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(n=!0),n&&(e.preventDefault(),e.stopPropagation())}_onDidScroll(e){this._shouldRender=this._horizontalScrollbar.onDidScroll(e)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(e)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw new Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){let e=this._scrollable.getCurrentScrollPosition(),t=e.scrollTop>0,r=e.scrollLeft>0,n=r?" left":"",o=t?" top":"",l=r||t?" top-left-corner":"";this._leftShadowDomNode.setClassName(`shadow${n}`),this._topShadowDomNode.setClassName(`shadow${o}`),this._topLeftShadowDomNode.setClassName(`shadow${l}${o}${n}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(e){this._mouseIsOver=!1,this._hide()}_onMouseOver(e){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){!this._mouseIsOver&&!this._isDragging&&(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){!this._mouseIsOver&&!this._isDragging&&this._hideTimeout.cancelAndSet(()=>this._hide(),Q0)}},tw=class extends ew{constructor(e,t,r){super(e,t,r)}setScrollPosition(e){e.reuseAnimation?this._scrollable.setScrollPositionSmooth(e,e.reuseAnimation):this._scrollable.setScrollPositionNow(e)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}};function iw(e){let t={lazyRender:typeof e.lazyRender<"u"?e.lazyRender:!1,className:typeof e.className<"u"?e.className:"",useShadows:typeof e.useShadows<"u"?e.useShadows:!0,handleMouseWheel:typeof e.handleMouseWheel<"u"?e.handleMouseWheel:!0,flipAxes:typeof e.flipAxes<"u"?e.flipAxes:!1,consumeMouseWheelIfScrollbarIsNeeded:typeof e.consumeMouseWheelIfScrollbarIsNeeded<"u"?e.consumeMouseWheelIfScrollbarIsNeeded:!1,alwaysConsumeMouseWheel:typeof e.alwaysConsumeMouseWheel<"u"?e.alwaysConsumeMouseWheel:!1,scrollYToX:typeof e.scrollYToX<"u"?e.scrollYToX:!1,mouseWheelScrollSensitivity:typeof e.mouseWheelScrollSensitivity<"u"?e.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof e.fastScrollSensitivity<"u"?e.fastScrollSensitivity:5,scrollPredominantAxis:typeof e.scrollPredominantAxis<"u"?e.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof e.mouseWheelSmoothScroll<"u"?e.mouseWheelSmoothScroll:!0,arrowSize:typeof e.arrowSize<"u"?e.arrowSize:11,listenOnDomNode:typeof e.listenOnDomNode<"u"?e.listenOnDomNode:null,horizontal:typeof e.horizontal<"u"?e.horizontal:1,horizontalScrollbarSize:typeof e.horizontalScrollbarSize<"u"?e.horizontalScrollbarSize:10,horizontalSliderSize:typeof e.horizontalSliderSize<"u"?e.horizontalSliderSize:0,horizontalHasArrows:typeof e.horizontalHasArrows<"u"?e.horizontalHasArrows:!1,vertical:typeof e.vertical<"u"?e.vertical:1,verticalScrollbarSize:typeof e.verticalScrollbarSize<"u"?e.verticalScrollbarSize:10,verticalHasArrows:typeof e.verticalHasArrows<"u"?e.verticalHasArrows:!1,verticalSliderSize:typeof e.verticalSliderSize<"u"?e.verticalSliderSize:0,scrollByPage:typeof e.scrollByPage<"u"?e.scrollByPage:!1};return t.horizontalSliderSize=typeof e.horizontalSliderSize<"u"?e.horizontalSliderSize:t.horizontalScrollbarSize,t.verticalSliderSize=typeof e.verticalSliderSize<"u"?e.verticalSliderSize:t.verticalScrollbarSize,Ii&&(t.className+=" mac"),t}var Au=class extends De{constructor(e,t,r,n,o,l,u,f){super(),this._bufferService=r,this._optionsService=u,this._renderService=f,this._onRequestScrollLines=this._register(new de),this.onRequestScrollLines=this._onRequestScrollLines.event,this._isSyncing=!1,this._isHandlingScroll=!1,this._suppressOnScrollHandler=!1;let m=this._register(new W0({forceIntegerValues:!1,smoothScrollDuration:this._optionsService.rawOptions.smoothScrollDuration,scheduleAtNextAnimationFrame:p=>wh(n.window,p)}));this._register(this._optionsService.onSpecificOptionChange("smoothScrollDuration",()=>{m.setSmoothScrollDuration(this._optionsService.rawOptions.smoothScrollDuration)})),this._scrollableElement=this._register(new tw(t,{vertical:1,horizontal:2,useShadows:!1,mouseWheelSmoothScroll:!0,...this._getChangeOptions()},m)),this._register(this._optionsService.onMultipleOptionChange(["scrollSensitivity","fastScrollSensitivity","overviewRuler"],()=>this._scrollableElement.updateOptions(this._getChangeOptions()))),this._register(o.onProtocolChange(p=>{this._scrollableElement.updateOptions({handleMouseWheel:!(p&16)})})),this._scrollableElement.setScrollDimensions({height:0,scrollHeight:0}),this._register(kt.runAndSubscribe(l.onChangeColors,()=>{this._scrollableElement.getDomNode().style.backgroundColor=l.colors.background.css})),e.appendChild(this._scrollableElement.getDomNode()),this._register(qe(()=>this._scrollableElement.getDomNode().remove())),this._styleElement=n.mainDocument.createElement("style"),t.appendChild(this._styleElement),this._register(qe(()=>this._styleElement.remove())),this._register(kt.runAndSubscribe(l.onChangeColors,()=>{this._styleElement.textContent=[".xterm .xterm-scrollable-element > .scrollbar > .slider {",` background: ${l.colors.scrollbarSliderBackground.css};`,"}",".xterm .xterm-scrollable-element > .scrollbar > .slider:hover {",` background: ${l.colors.scrollbarSliderHoverBackground.css};`,"}",".xterm .xterm-scrollable-element > .scrollbar > .slider.active {",` background: ${l.colors.scrollbarSliderActiveBackground.css};`,"}"].join(`
|
|
60
|
+
`)})),this._register(this._bufferService.onResize(()=>this.queueSync())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._latestYDisp=void 0,this.queueSync()})),this._register(this._bufferService.onScroll(()=>this._sync())),this._register(this._scrollableElement.onScroll(p=>this._handleScroll(p)))}scrollLines(e){let t=this._scrollableElement.getScrollPosition();this._scrollableElement.setScrollPosition({reuseAnimation:!0,scrollTop:t.scrollTop+e*this._renderService.dimensions.css.cell.height})}scrollToLine(e,t){t&&(this._latestYDisp=e),this._scrollableElement.setScrollPosition({reuseAnimation:!t,scrollTop:e*this._renderService.dimensions.css.cell.height})}_getChangeOptions(){var e;return{mouseWheelScrollSensitivity:this._optionsService.rawOptions.scrollSensitivity,fastScrollSensitivity:this._optionsService.rawOptions.fastScrollSensitivity,verticalScrollbarSize:((e=this._optionsService.rawOptions.overviewRuler)==null?void 0:e.width)||14}}queueSync(e){e!==void 0&&(this._latestYDisp=e),this._queuedAnimationFrame===void 0&&(this._queuedAnimationFrame=this._renderService.addRefreshCallback(()=>{this._queuedAnimationFrame=void 0,this._sync(this._latestYDisp)}))}_sync(e=this._bufferService.buffer.ydisp){!this._renderService||this._isSyncing||(this._isSyncing=!0,this._suppressOnScrollHandler=!0,this._scrollableElement.setScrollDimensions({height:this._renderService.dimensions.css.canvas.height,scrollHeight:this._renderService.dimensions.css.cell.height*this._bufferService.buffer.lines.length}),this._suppressOnScrollHandler=!1,e!==this._latestYDisp&&this._scrollableElement.setScrollPosition({scrollTop:e*this._renderService.dimensions.css.cell.height}),this._isSyncing=!1)}_handleScroll(e){if(!this._renderService||this._isHandlingScroll||this._suppressOnScrollHandler)return;this._isHandlingScroll=!0;let t=Math.round(e.scrollTop/this._renderService.dimensions.css.cell.height),r=t-this._bufferService.buffer.ydisp;r!==0&&(this._latestYDisp=t,this._onRequestScrollLines.fire(r)),this._isHandlingScroll=!1}};Au=Je([pe(2,jt),pe(3,Qi),pe(4,W_),pe(5,Ps),pe(6,At),pe(7,Ji)],Au);var Iu=class extends De{constructor(e,t,r,n,o){super(),this._screenElement=e,this._bufferService=t,this._coreBrowserService=r,this._decorationService=n,this._renderService=o,this._decorationElements=new Map,this._altBufferIsActive=!1,this._dimensionsChanged=!1,this._container=document.createElement("div"),this._container.classList.add("xterm-decoration-container"),this._screenElement.appendChild(this._container),this._register(this._renderService.onRenderedViewportChange(()=>this._doRefreshDecorations())),this._register(this._renderService.onDimensionsChange(()=>{this._dimensionsChanged=!0,this._queueRefresh()})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._altBufferIsActive=this._bufferService.buffer===this._bufferService.buffers.alt})),this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh())),this._register(this._decorationService.onDecorationRemoved(l=>this._removeDecoration(l))),this._register(qe(()=>{this._container.remove(),this._decorationElements.clear()}))}_queueRefresh(){this._animationFrame===void 0&&(this._animationFrame=this._renderService.addRefreshCallback(()=>{this._doRefreshDecorations(),this._animationFrame=void 0}))}_doRefreshDecorations(){for(let e of this._decorationService.decorations)this._renderDecoration(e);this._dimensionsChanged=!1}_renderDecoration(e){this._refreshStyle(e),this._dimensionsChanged&&this._refreshXPosition(e)}_createElement(e){var n;let t=this._coreBrowserService.mainDocument.createElement("div");t.classList.add("xterm-decoration"),t.classList.toggle("xterm-decoration-top-layer",((n=e==null?void 0:e.options)==null?void 0:n.layer)==="top"),t.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,t.style.height=`${(e.options.height||1)*this._renderService.dimensions.css.cell.height}px`,t.style.top=`${(e.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height}px`,t.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;let r=e.options.x??0;return r&&r>this._bufferService.cols&&(t.style.display="none"),this._refreshXPosition(e,t),t}_refreshStyle(e){let t=e.marker.line-this._bufferService.buffers.active.ydisp;if(t<0||t>=this._bufferService.rows)e.element&&(e.element.style.display="none",e.onRenderEmitter.fire(e.element));else{let r=this._decorationElements.get(e);r||(r=this._createElement(e),e.element=r,this._decorationElements.set(e,r),this._container.appendChild(r),e.onDispose(()=>{this._decorationElements.delete(e),r.remove()})),r.style.display=this._altBufferIsActive?"none":"block",this._altBufferIsActive||(r.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,r.style.height=`${(e.options.height||1)*this._renderService.dimensions.css.cell.height}px`,r.style.top=`${t*this._renderService.dimensions.css.cell.height}px`,r.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`),e.onRenderEmitter.fire(r)}}_refreshXPosition(e,t=e.element){if(!t)return;let r=e.options.x??0;(e.options.anchor||"left")==="right"?t.style.right=r?`${r*this._renderService.dimensions.css.cell.width}px`:"":t.style.left=r?`${r*this._renderService.dimensions.css.cell.width}px`:""}_removeDecoration(e){var t;(t=this._decorationElements.get(e))==null||t.remove(),this._decorationElements.delete(e),e.dispose()}};Iu=Je([pe(1,jt),pe(2,Qi),pe(3,An),pe(4,Ji)],Iu);var rw=class{constructor(){this._zones=[],this._zonePool=[],this._zonePoolIndex=0,this._linePadding={full:0,left:0,center:0,right:0}}get zones(){return this._zonePool.length=Math.min(this._zonePool.length,this._zones.length),this._zones}clear(){this._zones.length=0,this._zonePoolIndex=0}addDecoration(e){if(e.options.overviewRulerOptions){for(let t of this._zones)if(t.color===e.options.overviewRulerOptions.color&&t.position===e.options.overviewRulerOptions.position){if(this._lineIntersectsZone(t,e.marker.line))return;if(this._lineAdjacentToZone(t,e.marker.line,e.options.overviewRulerOptions.position)){this._addLineToZone(t,e.marker.line);return}}if(this._zonePoolIndex<this._zonePool.length){this._zonePool[this._zonePoolIndex].color=e.options.overviewRulerOptions.color,this._zonePool[this._zonePoolIndex].position=e.options.overviewRulerOptions.position,this._zonePool[this._zonePoolIndex].startBufferLine=e.marker.line,this._zonePool[this._zonePoolIndex].endBufferLine=e.marker.line,this._zones.push(this._zonePool[this._zonePoolIndex++]);return}this._zones.push({color:e.options.overviewRulerOptions.color,position:e.options.overviewRulerOptions.position,startBufferLine:e.marker.line,endBufferLine:e.marker.line}),this._zonePool.push(this._zones[this._zones.length-1]),this._zonePoolIndex++}}setPadding(e){this._linePadding=e}_lineIntersectsZone(e,t){return t>=e.startBufferLine&&t<=e.endBufferLine}_lineAdjacentToZone(e,t,r){return t>=e.startBufferLine-this._linePadding[r||"full"]&&t<=e.endBufferLine+this._linePadding[r||"full"]}_addLineToZone(e,t){e.startBufferLine=Math.min(e.startBufferLine,t),e.endBufferLine=Math.max(e.endBufferLine,t)}},Li={full:0,left:0,center:0,right:0},wr={full:0,left:0,center:0,right:0},_n={full:0,left:0,center:0,right:0},ga=class extends De{constructor(e,t,r,n,o,l,u,f){var p;super(),this._viewportElement=e,this._screenElement=t,this._bufferService=r,this._decorationService=n,this._renderService=o,this._optionsService=l,this._themeService=u,this._coreBrowserService=f,this._colorZoneStore=new rw,this._shouldUpdateDimensions=!0,this._shouldUpdateAnchor=!0,this._lastKnownBufferLength=0,this._canvas=this._coreBrowserService.mainDocument.createElement("canvas"),this._canvas.classList.add("xterm-decoration-overview-ruler"),this._refreshCanvasDimensions(),(p=this._viewportElement.parentElement)==null||p.insertBefore(this._canvas,this._viewportElement),this._register(qe(()=>{var y;return(y=this._canvas)==null?void 0:y.remove()}));let m=this._canvas.getContext("2d");if(m)this._ctx=m;else throw new Error("Ctx cannot be null");this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh(void 0,!0))),this._register(this._decorationService.onDecorationRemoved(()=>this._queueRefresh(void 0,!0))),this._register(this._renderService.onRenderedViewportChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._canvas.style.display=this._bufferService.buffer===this._bufferService.buffers.alt?"none":"block"})),this._register(this._bufferService.onScroll(()=>{this._lastKnownBufferLength!==this._bufferService.buffers.normal.lines.length&&(this._refreshDrawHeightConstants(),this._refreshColorZonePadding())})),this._register(this._renderService.onRender(()=>{(!this._containerHeight||this._containerHeight!==this._screenElement.clientHeight)&&(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh(!0))),this._register(this._optionsService.onSpecificOptionChange("overviewRuler",()=>this._queueRefresh(!0))),this._register(this._themeService.onChangeColors(()=>this._queueRefresh())),this._queueRefresh(!0)}get _width(){var e;return((e=this._optionsService.options.overviewRuler)==null?void 0:e.width)||0}_refreshDrawConstants(){let e=Math.floor((this._canvas.width-1)/3),t=Math.ceil((this._canvas.width-1)/3);wr.full=this._canvas.width,wr.left=e,wr.center=t,wr.right=e,this._refreshDrawHeightConstants(),_n.full=1,_n.left=1,_n.center=1+wr.left,_n.right=1+wr.left+wr.center}_refreshDrawHeightConstants(){Li.full=Math.round(2*this._coreBrowserService.dpr);let e=this._canvas.height/this._bufferService.buffer.lines.length,t=Math.round(Math.max(Math.min(e,12),6)*this._coreBrowserService.dpr);Li.left=t,Li.center=t,Li.right=t}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Li.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Li.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Li.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Li.right)}),this._lastKnownBufferLength=this._bufferService.buffers.normal.lines.length}_refreshCanvasDimensions(){this._canvas.style.width=`${this._width}px`,this._canvas.width=Math.round(this._width*this._coreBrowserService.dpr),this._canvas.style.height=`${this._screenElement.clientHeight}px`,this._canvas.height=Math.round(this._screenElement.clientHeight*this._coreBrowserService.dpr),this._refreshDrawConstants(),this._refreshColorZonePadding()}_refreshDecorations(){this._shouldUpdateDimensions&&this._refreshCanvasDimensions(),this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height),this._colorZoneStore.clear();for(let t of this._decorationService.decorations)this._colorZoneStore.addDecoration(t);this._ctx.lineWidth=1,this._renderRulerOutline();let e=this._colorZoneStore.zones;for(let t of e)t.position!=="full"&&this._renderColorZone(t);for(let t of e)t.position==="full"&&this._renderColorZone(t);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderRulerOutline(){this._ctx.fillStyle=this._themeService.colors.overviewRulerBorder.css,this._ctx.fillRect(0,0,1,this._canvas.height),this._optionsService.rawOptions.overviewRuler.showTopBorder&&this._ctx.fillRect(1,0,this._canvas.width-1,1),this._optionsService.rawOptions.overviewRuler.showBottomBorder&&this._ctx.fillRect(1,this._canvas.height-1,this._canvas.width-1,this._canvas.height)}_renderColorZone(e){this._ctx.fillStyle=e.color,this._ctx.fillRect(_n[e.position||"full"],Math.round((this._canvas.height-1)*(e.startBufferLine/this._bufferService.buffers.active.lines.length)-Li[e.position||"full"]/2),wr[e.position||"full"],Math.round((this._canvas.height-1)*((e.endBufferLine-e.startBufferLine)/this._bufferService.buffers.active.lines.length)+Li[e.position||"full"]))}_queueRefresh(e,t){this._shouldUpdateDimensions=e||this._shouldUpdateDimensions,this._shouldUpdateAnchor=t||this._shouldUpdateAnchor,this._animationFrame===void 0&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._refreshDecorations(),this._animationFrame=void 0}))}};ga=Je([pe(2,jt),pe(3,An),pe(4,Ji),pe(5,At),pe(6,Ps),pe(7,Qi)],ga);var se;(e=>(e.NUL="\0",e.SOH="",e.STX="",e.ETX="",e.EOT="",e.ENQ="",e.ACK="",e.BEL="\x07",e.BS="\b",e.HT=" ",e.LF=`
|
|
61
|
+
`,e.VT="\v",e.FF="\f",e.CR="\r",e.SO="",e.SI="",e.DLE="",e.DC1="",e.DC2="",e.DC3="",e.DC4="",e.NAK="",e.SYN="",e.ETB="",e.CAN="",e.EM="",e.SUB="",e.ESC="\x1B",e.FS="",e.GS="",e.RS="",e.US="",e.SP=" ",e.DEL=""))(se||(se={}));var ha;(e=>(e.PAD="",e.HOP="",e.BPH="",e.NBH="",e.IND="",e.NEL="
",e.SSA="",e.ESA="",e.HTS="",e.HTJ="",e.VTS="",e.PLD="",e.PLU="",e.RI="",e.SS2="",e.SS3="",e.DCS="",e.PU1="",e.PU2="",e.STS="",e.CCH="",e.MW="",e.SPA="",e.EPA="",e.SOS="",e.SGCI="",e.SCI="",e.CSI="",e.ST="",e.OSC="",e.PM="",e.APC=""))(ha||(ha={}));var ug;(e=>e.ST=`${se.ESC}\\`)(ug||(ug={}));var Ou=class{constructor(e,t,r,n,o,l){this._textarea=e,this._compositionView=t,this._bufferService=r,this._optionsService=n,this._coreService=o,this._renderService=l,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=""}get isComposing(){return this._isComposing}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent="",this._dataAlreadySent="",this._compositionView.classList.add("active")}compositionupdate(e){this._compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout(()=>{this._compositionPosition.end=this._textarea.value.length},0)}compositionend(){this._finalizeComposition(!0)}keydown(e){if(this._isComposing||this._isSendingComposition){if(e.keyCode===20||e.keyCode===229||e.keyCode===16||e.keyCode===17||e.keyCode===18)return!1;this._finalizeComposition(!1)}return e.keyCode===229?(this._handleAnyTextareaChanges(),!1):!0}_finalizeComposition(e){if(this._compositionView.classList.remove("active"),this._isComposing=!1,e){let t={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout(()=>{if(this._isSendingComposition){this._isSendingComposition=!1;let r;t.start+=this._dataAlreadySent.length,this._isComposing?r=this._textarea.value.substring(t.start,this._compositionPosition.start):r=this._textarea.value.substring(t.start),r.length>0&&this._coreService.triggerDataEvent(r,!0)}},0)}else{this._isSendingComposition=!1;let t=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(t,!0)}}_handleAnyTextareaChanges(){let e=this._textarea.value;setTimeout(()=>{if(!this._isComposing){let t=this._textarea.value,r=t.replace(e,"");this._dataAlreadySent=r,t.length>e.length?this._coreService.triggerDataEvent(r,!0):t.length<e.length?this._coreService.triggerDataEvent(`${se.DEL}`,!0):t.length===e.length&&t!==e&&this._coreService.triggerDataEvent(t,!0)}},0)}updateCompositionElements(e){if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){let t=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),r=this._renderService.dimensions.css.cell.height,n=this._bufferService.buffer.y*this._renderService.dimensions.css.cell.height,o=t*this._renderService.dimensions.css.cell.width;this._compositionView.style.left=o+"px",this._compositionView.style.top=n+"px",this._compositionView.style.height=r+"px",this._compositionView.style.lineHeight=r+"px",this._compositionView.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._compositionView.style.fontSize=this._optionsService.rawOptions.fontSize+"px";let l=this._compositionView.getBoundingClientRect();this._textarea.style.left=o+"px",this._textarea.style.top=n+"px",this._textarea.style.width=Math.max(l.width,1)+"px",this._textarea.style.height=Math.max(l.height,1)+"px",this._textarea.style.lineHeight=l.height+"px"}e||setTimeout(()=>this.updateCompositionElements(!0),0)}}};Ou=Je([pe(2,jt),pe(3,At),pe(4,Gr),pe(5,Ji)],Ou);var mt=0,_t=0,gt=0,Qe=0,Qp={css:"#00000000",rgba:0},nt;(e=>{function t(o,l,u,f){return f!==void 0?`#${Hr(o)}${Hr(l)}${Hr(u)}${Hr(f)}`:`#${Hr(o)}${Hr(l)}${Hr(u)}`}e.toCss=t;function r(o,l,u,f=255){return(o<<24|l<<16|u<<8|f)>>>0}e.toRgba=r;function n(o,l,u,f){return{css:e.toCss(o,l,u,f),rgba:e.toRgba(o,l,u,f)}}e.toColor=n})(nt||(nt={}));var We;(e=>{function t(m,p){if(Qe=(p.rgba&255)/255,Qe===1)return{css:p.css,rgba:p.rgba};let y=p.rgba>>24&255,v=p.rgba>>16&255,S=p.rgba>>8&255,g=m.rgba>>24&255,C=m.rgba>>16&255,E=m.rgba>>8&255;mt=g+Math.round((y-g)*Qe),_t=C+Math.round((v-C)*Qe),gt=E+Math.round((S-E)*Qe);let x=nt.toCss(mt,_t,gt),R=nt.toRgba(mt,_t,gt);return{css:x,rgba:R}}e.blend=t;function r(m){return(m.rgba&255)===255}e.isOpaque=r;function n(m,p,y){let v=da.ensureContrastRatio(m.rgba,p.rgba,y);if(v)return nt.toColor(v>>24&255,v>>16&255,v>>8&255)}e.ensureContrastRatio=n;function o(m){let p=(m.rgba|255)>>>0;return[mt,_t,gt]=da.toChannels(p),{css:nt.toCss(mt,_t,gt),rgba:p}}e.opaque=o;function l(m,p){return Qe=Math.round(p*255),[mt,_t,gt]=da.toChannels(m.rgba),{css:nt.toCss(mt,_t,gt,Qe),rgba:nt.toRgba(mt,_t,gt,Qe)}}e.opacity=l;function u(m,p){return Qe=m.rgba&255,l(m,Qe*p/255)}e.multiplyOpacity=u;function f(m){return[m.rgba>>24&255,m.rgba>>16&255,m.rgba>>8&255]}e.toColorRGB=f})(We||(We={}));var Xe;(e=>{let t,r;try{let o=document.createElement("canvas");o.width=1,o.height=1;let l=o.getContext("2d",{willReadFrequently:!0});l&&(t=l,t.globalCompositeOperation="copy",r=t.createLinearGradient(0,0,1,1))}catch{}function n(o){if(o.match(/#[\da-f]{3,8}/i))switch(o.length){case 4:return mt=parseInt(o.slice(1,2).repeat(2),16),_t=parseInt(o.slice(2,3).repeat(2),16),gt=parseInt(o.slice(3,4).repeat(2),16),nt.toColor(mt,_t,gt);case 5:return mt=parseInt(o.slice(1,2).repeat(2),16),_t=parseInt(o.slice(2,3).repeat(2),16),gt=parseInt(o.slice(3,4).repeat(2),16),Qe=parseInt(o.slice(4,5).repeat(2),16),nt.toColor(mt,_t,gt,Qe);case 7:return{css:o,rgba:(parseInt(o.slice(1),16)<<8|255)>>>0};case 9:return{css:o,rgba:parseInt(o.slice(1),16)>>>0}}let l=o.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(l)return mt=parseInt(l[1]),_t=parseInt(l[2]),gt=parseInt(l[3]),Qe=Math.round((l[5]===void 0?1:parseFloat(l[5]))*255),nt.toColor(mt,_t,gt,Qe);if(!t||!r)throw new Error("css.toColor: Unsupported css format");if(t.fillStyle=r,t.fillStyle=o,typeof t.fillStyle!="string")throw new Error("css.toColor: Unsupported css format");if(t.fillRect(0,0,1,1),[mt,_t,gt,Qe]=t.getImageData(0,0,1,1).data,Qe!==255)throw new Error("css.toColor: Unsupported css format");return{rgba:nt.toRgba(mt,_t,gt,Qe),css:o}}e.toColor=n})(Xe||(Xe={}));var Bt;(e=>{function t(n){return r(n>>16&255,n>>8&255,n&255)}e.relativeLuminance=t;function r(n,o,l){let u=n/255,f=o/255,m=l/255,p=u<=.03928?u/12.92:Math.pow((u+.055)/1.055,2.4),y=f<=.03928?f/12.92:Math.pow((f+.055)/1.055,2.4),v=m<=.03928?m/12.92:Math.pow((m+.055)/1.055,2.4);return p*.2126+y*.7152+v*.0722}e.relativeLuminance2=r})(Bt||(Bt={}));var da;(e=>{function t(u,f){if(Qe=(f&255)/255,Qe===1)return f;let m=f>>24&255,p=f>>16&255,y=f>>8&255,v=u>>24&255,S=u>>16&255,g=u>>8&255;return mt=v+Math.round((m-v)*Qe),_t=S+Math.round((p-S)*Qe),gt=g+Math.round((y-g)*Qe),nt.toRgba(mt,_t,gt)}e.blend=t;function r(u,f,m){let p=Bt.relativeLuminance(u>>8),y=Bt.relativeLuminance(f>>8);if(Yi(p,y)<m){if(y<p){let g=n(u,f,m),C=Yi(p,Bt.relativeLuminance(g>>8));if(C<m){let E=o(u,f,m),x=Yi(p,Bt.relativeLuminance(E>>8));return C>x?g:E}return g}let v=o(u,f,m),S=Yi(p,Bt.relativeLuminance(v>>8));if(S<m){let g=n(u,f,m),C=Yi(p,Bt.relativeLuminance(g>>8));return S>C?v:g}return v}}e.ensureContrastRatio=r;function n(u,f,m){let p=u>>24&255,y=u>>16&255,v=u>>8&255,S=f>>24&255,g=f>>16&255,C=f>>8&255,E=Yi(Bt.relativeLuminance2(S,g,C),Bt.relativeLuminance2(p,y,v));for(;E<m&&(S>0||g>0||C>0);)S-=Math.max(0,Math.ceil(S*.1)),g-=Math.max(0,Math.ceil(g*.1)),C-=Math.max(0,Math.ceil(C*.1)),E=Yi(Bt.relativeLuminance2(S,g,C),Bt.relativeLuminance2(p,y,v));return(S<<24|g<<16|C<<8|255)>>>0}e.reduceLuminance=n;function o(u,f,m){let p=u>>24&255,y=u>>16&255,v=u>>8&255,S=f>>24&255,g=f>>16&255,C=f>>8&255,E=Yi(Bt.relativeLuminance2(S,g,C),Bt.relativeLuminance2(p,y,v));for(;E<m&&(S<255||g<255||C<255);)S=Math.min(255,S+Math.ceil((255-S)*.1)),g=Math.min(255,g+Math.ceil((255-g)*.1)),C=Math.min(255,C+Math.ceil((255-C)*.1)),E=Yi(Bt.relativeLuminance2(S,g,C),Bt.relativeLuminance2(p,y,v));return(S<<24|g<<16|C<<8|255)>>>0}e.increaseLuminance=o;function l(u){return[u>>24&255,u>>16&255,u>>8&255,u&255]}e.toChannels=l})(da||(da={}));function Hr(e){let t=e.toString(16);return t.length<2?"0"+t:t}function Yi(e,t){return e<t?(t+.05)/(e+.05):(e+.05)/(t+.05)}var sw=class extends jn{constructor(e,t,r){super(),this.content=0,this.combinedData="",this.fg=e.fg,this.bg=e.bg,this.combinedData=t,this._width=r}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(e){throw new Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},va=class{constructor(e){this._bufferService=e,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new mi}register(e){let t={id:this._nextCharacterJoinerId++,handler:e};return this._characterJoiners.push(t),t.id}deregister(e){for(let t=0;t<this._characterJoiners.length;t++)if(this._characterJoiners[t].id===e)return this._characterJoiners.splice(t,1),!0;return!1}getJoinedCharacters(e){if(this._characterJoiners.length===0)return[];let t=this._bufferService.buffer.lines.get(e);if(!t||t.length===0)return[];let r=[],n=t.translateToString(!0),o=0,l=0,u=0,f=t.getFg(0),m=t.getBg(0);for(let p=0;p<t.getTrimmedLength();p++)if(t.loadCell(p,this._workCell),this._workCell.getWidth()!==0){if(this._workCell.fg!==f||this._workCell.bg!==m){if(p-o>1){let y=this._getJoinedRanges(n,u,l,t,o);for(let v=0;v<y.length;v++)r.push(y[v])}o=p,u=l,f=this._workCell.fg,m=this._workCell.bg}l+=this._workCell.getChars().length||kr.length}if(this._bufferService.cols-o>1){let p=this._getJoinedRanges(n,u,l,t,o);for(let y=0;y<p.length;y++)r.push(p[y])}return r}_getJoinedRanges(e,t,r,n,o){let l=e.substring(t,r),u=[];try{u=this._characterJoiners[0].handler(l)}catch(f){console.error(f)}for(let f=1;f<this._characterJoiners.length;f++)try{let m=this._characterJoiners[f].handler(l);for(let p=0;p<m.length;p++)va._mergeRanges(u,m[p])}catch(m){console.error(m)}return this._stringRangesToCellRanges(u,n,o),u}_stringRangesToCellRanges(e,t,r){let n=0,o=!1,l=0,u=e[n];if(u){for(let f=r;f<this._bufferService.cols;f++){let m=t.getWidth(f),p=t.getString(f).length||kr.length;if(m!==0){if(!o&&u[0]<=l&&(u[0]=f,o=!0),u[1]<=l){if(u[1]=f,u=e[++n],!u)break;u[0]<=l?(u[0]=f,o=!0):o=!1}l+=p}}u&&(u[1]=this._bufferService.cols)}}static _mergeRanges(e,t){let r=!1;for(let n=0;n<e.length;n++){let o=e[n];if(r){if(t[1]<=o[0])return e[n-1][1]=t[1],e;if(t[1]<=o[1])return e[n-1][1]=Math.max(t[1],o[1]),e.splice(n,1),e;e.splice(n,1),n--}else{if(t[1]<=o[0])return e.splice(n,0,t),e;if(t[1]<=o[1])return o[0]=Math.min(t[0],o[0]),e;t[0]<o[1]&&(o[0]=Math.min(t[0],o[0]),r=!0);continue}}return r?e[e.length-1][1]=t[1]:e.push(t),e}};va=Je([pe(0,jt)],va);function nw(e){return 57508<=e&&e<=57558}function ow(e){return 9472<=e&&e<=9631}function aw(e){return nw(e)||ow(e)}function lw(){return{css:{canvas:ea(),cell:ea()},device:{canvas:ea(),cell:ea(),char:{width:0,height:0,left:0,top:0}}}}function ea(){return{width:0,height:0}}var zu=class{constructor(e,t,r,n,o,l,u){this._document=e,this._characterJoinerService=t,this._optionsService=r,this._coreBrowserService=n,this._coreService=o,this._decorationService=l,this._themeService=u,this._workCell=new mi,this._columnSelectMode=!1,this.defaultSpacing=0}handleSelectionChanged(e,t,r){this._selectionStart=e,this._selectionEnd=t,this._columnSelectMode=r}createRow(e,t,r,n,o,l,u,f,m,p,y){let v=[],S=this._characterJoinerService.getJoinedCharacters(t),g=this._themeService.colors,C=e.getNoBgTrimmedLength();r&&C<l+1&&(C=l+1);let E,x=0,R="",z=0,T=0,$=0,te=0,L=!1,P=0,U=!1,M=0,K=0,Y=[],I=p!==-1&&y!==-1;for(let B=0;B<C;B++){e.loadCell(B,this._workCell);let W=this._workCell.getWidth();if(W===0)continue;let V=!1,Q=B>=K,X=B,k=this._workCell;if(S.length>0&&B===S[0][0]&&Q){let Se=S.shift(),ti=this._isCellInSelection(Se[0],t);for(z=Se[0]+1;z<Se[1];z++)Q&&(Q=ti===this._isCellInSelection(z,t));Q&&(Q=!r||l<Se[0]||l>=Se[1]),Q?(V=!0,k=new sw(this._workCell,e.translateToString(!0,Se[0],Se[1]),Se[1]-Se[0]),X=Se[1]-1,W=k.getWidth()):K=Se[1]}let J=this._isCellInSelection(B,t),ie=r&&B===l,N=I&&B>=p&&B<=y,F=!1;this._decorationService.forEachDecorationAtCell(B,t,void 0,Se=>{F=!0});let ne=k.getChars()||kr;if(ne===" "&&(k.isUnderline()||k.isOverline())&&(ne=" "),M=W*f-m.get(ne,k.isBold(),k.isItalic()),!E)E=this._document.createElement("span");else if(x&&(J&&U||!J&&!U&&k.bg===T)&&(J&&U&&g.selectionForeground||k.fg===$)&&k.extended.ext===te&&N===L&&M===P&&!ie&&!V&&!F&&Q){k.isInvisible()?R+=kr:R+=ne,x++;continue}else x&&(E.textContent=R),E=this._document.createElement("span"),x=0,R="";if(T=k.bg,$=k.fg,te=k.extended.ext,L=N,P=M,U=J,V&&l>=B&&l<=X&&(l=B),!this._coreService.isCursorHidden&&ie&&this._coreService.isCursorInitialized){if(Y.push("xterm-cursor"),this._coreBrowserService.isFocused)u&&Y.push("xterm-cursor-blink"),Y.push(n==="bar"?"xterm-cursor-bar":n==="underline"?"xterm-cursor-underline":"xterm-cursor-block");else if(o)switch(o){case"outline":Y.push("xterm-cursor-outline");break;case"block":Y.push("xterm-cursor-block");break;case"bar":Y.push("xterm-cursor-bar");break;case"underline":Y.push("xterm-cursor-underline");break}}if(k.isBold()&&Y.push("xterm-bold"),k.isItalic()&&Y.push("xterm-italic"),k.isDim()&&Y.push("xterm-dim"),k.isInvisible()?R=kr:R=k.getChars()||kr,k.isUnderline()&&(Y.push(`xterm-underline-${k.extended.underlineStyle}`),R===" "&&(R=" "),!k.isUnderlineColorDefault()))if(k.isUnderlineColorRGB())E.style.textDecorationColor=`rgb(${jn.toColorRGB(k.getUnderlineColor()).join(",")})`;else{let Se=k.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&k.isBold()&&Se<8&&(Se+=8),E.style.textDecorationColor=g.ansi[Se].css}k.isOverline()&&(Y.push("xterm-overline"),R===" "&&(R=" ")),k.isStrikethrough()&&Y.push("xterm-strikethrough"),N&&(E.style.textDecoration="underline");let A=k.getFgColor(),O=k.getFgColorMode(),re=k.getBgColor(),ue=k.getBgColorMode(),ae=!!k.isInverse();if(ae){let Se=A;A=re,re=Se;let ti=O;O=ue,ue=ti}let Ce,Te,St=!1;this._decorationService.forEachDecorationAtCell(B,t,void 0,Se=>{Se.options.layer!=="top"&&St||(Se.backgroundColorRGB&&(ue=50331648,re=Se.backgroundColorRGB.rgba>>8&16777215,Ce=Se.backgroundColorRGB),Se.foregroundColorRGB&&(O=50331648,A=Se.foregroundColorRGB.rgba>>8&16777215,Te=Se.foregroundColorRGB),St=Se.options.layer==="top")}),!St&&J&&(Ce=this._coreBrowserService.isFocused?g.selectionBackgroundOpaque:g.selectionInactiveBackgroundOpaque,re=Ce.rgba>>8&16777215,ue=50331648,St=!0,g.selectionForeground&&(O=50331648,A=g.selectionForeground.rgba>>8&16777215,Te=g.selectionForeground)),St&&Y.push("xterm-decoration-top");let it;switch(ue){case 16777216:case 33554432:it=g.ansi[re],Y.push(`xterm-bg-${re}`);break;case 50331648:it=nt.toColor(re>>16,re>>8&255,re&255),this._addStyle(E,`background-color:#${Jp((re>>>0).toString(16),"0",6)}`);break;case 0:default:ae?(it=g.foreground,Y.push("xterm-bg-257")):it=g.background}switch(Ce||k.isDim()&&(Ce=We.multiplyOpacity(it,.5)),O){case 16777216:case 33554432:k.isBold()&&A<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(A+=8),this._applyMinimumContrast(E,it,g.ansi[A],k,Ce,void 0)||Y.push(`xterm-fg-${A}`);break;case 50331648:let Se=nt.toColor(A>>16&255,A>>8&255,A&255);this._applyMinimumContrast(E,it,Se,k,Ce,Te)||this._addStyle(E,`color:#${Jp(A.toString(16),"0",6)}`);break;case 0:default:this._applyMinimumContrast(E,it,g.foreground,k,Ce,Te)||ae&&Y.push("xterm-fg-257")}Y.length&&(E.className=Y.join(" "),Y.length=0),!ie&&!V&&!F&&Q?x++:E.textContent=R,M!==this.defaultSpacing&&(E.style.letterSpacing=`${M}px`),v.push(E),B=X}return E&&x&&(E.textContent=R),v}_applyMinimumContrast(e,t,r,n,o,l){if(this._optionsService.rawOptions.minimumContrastRatio===1||aw(n.getCode()))return!1;let u=this._getContrastCache(n),f;if(!o&&!l&&(f=u.getColor(t.rgba,r.rgba)),f===void 0){let m=this._optionsService.rawOptions.minimumContrastRatio/(n.isDim()?2:1);f=We.ensureContrastRatio(o||t,l||r,m),u.setColor((o||t).rgba,(l||r).rgba,f??null)}return f?(this._addStyle(e,`color:${f.css}`),!0):!1}_getContrastCache(e){return e.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(e,t){e.setAttribute("style",`${e.getAttribute("style")||""}${t};`)}_isCellInSelection(e,t){let r=this._selectionStart,n=this._selectionEnd;return!r||!n?!1:this._columnSelectMode?r[0]<=n[0]?e>=r[0]&&t>=r[1]&&e<n[0]&&t<=n[1]:e<r[0]&&t>=r[1]&&e>=n[0]&&t<=n[1]:t>r[1]&&t<n[1]||r[1]===n[1]&&t===r[1]&&e>=r[0]&&e<n[0]||r[1]<n[1]&&t===n[1]&&e<n[0]||r[1]<n[1]&&t===r[1]&&e>=r[0]}};zu=Je([pe(1,K_),pe(2,At),pe(3,Qi),pe(4,Gr),pe(5,An),pe(6,Ps)],zu);function Jp(e,t,r){for(;e.length<r;)e=t+e;return e}var cw=class{constructor(e,t){this._flat=new Float32Array(256),this._font="",this._fontSize=0,this._weight="normal",this._weightBold="bold",this._measureElements=[],this._container=e.createElement("div"),this._container.classList.add("xterm-width-cache-measure-container"),this._container.setAttribute("aria-hidden","true"),this._container.style.whiteSpace="pre",this._container.style.fontKerning="none";let r=e.createElement("span");r.classList.add("xterm-char-measure-element");let n=e.createElement("span");n.classList.add("xterm-char-measure-element"),n.style.fontWeight="bold";let o=e.createElement("span");o.classList.add("xterm-char-measure-element"),o.style.fontStyle="italic";let l=e.createElement("span");l.classList.add("xterm-char-measure-element"),l.style.fontWeight="bold",l.style.fontStyle="italic",this._measureElements=[r,n,o,l],this._container.appendChild(r),this._container.appendChild(n),this._container.appendChild(o),this._container.appendChild(l),t.appendChild(this._container),this.clear()}dispose(){this._container.remove(),this._measureElements.length=0,this._holey=void 0}clear(){this._flat.fill(-9999),this._holey=new Map}setFont(e,t,r,n){e===this._font&&t===this._fontSize&&r===this._weight&&n===this._weightBold||(this._font=e,this._fontSize=t,this._weight=r,this._weightBold=n,this._container.style.fontFamily=this._font,this._container.style.fontSize=`${this._fontSize}px`,this._measureElements[0].style.fontWeight=`${r}`,this._measureElements[1].style.fontWeight=`${n}`,this._measureElements[2].style.fontWeight=`${r}`,this._measureElements[3].style.fontWeight=`${n}`,this.clear())}get(e,t,r){let n=0;if(!t&&!r&&e.length===1&&(n=e.charCodeAt(0))<256){if(this._flat[n]!==-9999)return this._flat[n];let u=this._measure(e,0);return u>0&&(this._flat[n]=u),u}let o=e;t&&(o+="B"),r&&(o+="I");let l=this._holey.get(o);if(l===void 0){let u=0;t&&(u|=1),r&&(u|=2),l=this._measure(e,u),l>0&&this._holey.set(o,l)}return l}_measure(e,t){let r=this._measureElements[t];return r.textContent=e.repeat(32),r.offsetWidth/32}},uw=class{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(e,t,r,n=!1){if(this.selectionStart=t,this.selectionEnd=r,!t||!r||t[0]===r[0]&&t[1]===r[1]){this.clear();return}let o=e.buffers.active.ydisp,l=t[1]-o,u=r[1]-o,f=Math.max(l,0),m=Math.min(u,e.rows-1);if(f>=e.rows||m<0){this.clear();return}this.hasSelection=!0,this.columnSelectMode=n,this.viewportStartRow=l,this.viewportEndRow=u,this.viewportCappedStartRow=f,this.viewportCappedEndRow=m,this.startCol=t[0],this.endCol=r[0]}isCellSelected(e,t,r){return this.hasSelection?(r-=e.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?t>=this.startCol&&r>=this.viewportCappedStartRow&&t<this.endCol&&r<=this.viewportCappedEndRow:t<this.startCol&&r>=this.viewportCappedStartRow&&t>=this.endCol&&r<=this.viewportCappedEndRow:r>this.viewportStartRow&&r<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&r===this.viewportStartRow&&t>=this.startCol&&t<this.endCol||this.viewportStartRow<this.viewportEndRow&&r===this.viewportEndRow&&t<this.endCol||this.viewportStartRow<this.viewportEndRow&&r===this.viewportStartRow&&t>=this.startCol):!1}};function hw(){return new uw}var jc="xterm-dom-renderer-owner-",di="xterm-rows",ta="xterm-fg-",Zp="xterm-bg-",gn="xterm-focus",ia="xterm-selection",dw=1,Fu=class extends De{constructor(e,t,r,n,o,l,u,f,m,p,y,v,S,g){super(),this._terminal=e,this._document=t,this._element=r,this._screenElement=n,this._viewportElement=o,this._helperContainer=l,this._linkifier2=u,this._charSizeService=m,this._optionsService=p,this._bufferService=y,this._coreService=v,this._coreBrowserService=S,this._themeService=g,this._terminalClass=dw++,this._rowElements=[],this._selectionRenderModel=hw(),this.onRequestRedraw=this._register(new de).event,this._rowContainer=this._document.createElement("div"),this._rowContainer.classList.add(di),this._rowContainer.style.lineHeight="normal",this._rowContainer.setAttribute("aria-hidden","true"),this._refreshRowElements(this._bufferService.cols,this._bufferService.rows),this._selectionContainer=this._document.createElement("div"),this._selectionContainer.classList.add(ia),this._selectionContainer.setAttribute("aria-hidden","true"),this.dimensions=lw(),this._updateDimensions(),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._themeService.onChangeColors(C=>this._injectCss(C))),this._injectCss(this._themeService.colors),this._rowFactory=f.createInstance(zu,document),this._element.classList.add(jc+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this._register(this._linkifier2.onShowLinkUnderline(C=>this._handleLinkHover(C))),this._register(this._linkifier2.onHideLinkUnderline(C=>this._handleLinkLeave(C))),this._register(qe(()=>{this._element.classList.remove(jc+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()})),this._widthCache=new cw(this._document,this._helperContainer),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}_updateDimensions(){let e=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*e,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*e),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.left=0,this.dimensions.device.char.top=0,this.dimensions.device.canvas.width=this.dimensions.device.cell.width*this._bufferService.cols,this.dimensions.device.canvas.height=this.dimensions.device.cell.height*this._bufferService.rows,this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/e),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/e),this.dimensions.css.cell.width=this.dimensions.css.canvas.width/this._bufferService.cols,this.dimensions.css.cell.height=this.dimensions.css.canvas.height/this._bufferService.rows;for(let r of this._rowElements)r.style.width=`${this.dimensions.css.canvas.width}px`,r.style.height=`${this.dimensions.css.cell.height}px`,r.style.lineHeight=`${this.dimensions.css.cell.height}px`,r.style.overflow="hidden";this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._dimensionsStyleElement));let t=`${this._terminalSelector} .${di} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=t,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._screenElement.style.height=`${this.dimensions.css.canvas.height}px`}_injectCss(e){this._themeStyleElement||(this._themeStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));let t=`${this._terminalSelector} .${di} { pointer-events: none; color: ${e.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;t+=`${this._terminalSelector} .${di} .xterm-dim { color: ${We.multiplyOpacity(e.foreground,.5).css};}`,t+=`${this._terminalSelector} span:not(.xterm-bold) { font-weight: ${this._optionsService.rawOptions.fontWeight};}${this._terminalSelector} span.xterm-bold { font-weight: ${this._optionsService.rawOptions.fontWeightBold};}${this._terminalSelector} span.xterm-italic { font-style: italic;}`;let r=`blink_underline_${this._terminalClass}`,n=`blink_bar_${this._terminalClass}`,o=`blink_block_${this._terminalClass}`;t+=`@keyframes ${r} { 50% { border-bottom-style: hidden; }}`,t+=`@keyframes ${n} { 50% { box-shadow: none; }}`,t+=`@keyframes ${o} { 0% { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css}; } 50% { background-color: inherit; color: ${e.cursor.css}; }}`,t+=`${this._terminalSelector} .${di}.${gn} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${r} 1s step-end infinite;}${this._terminalSelector} .${di}.${gn} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${n} 1s step-end infinite;}${this._terminalSelector} .${di}.${gn} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${o} 1s step-end infinite;}${this._terminalSelector} .${di} .xterm-cursor.xterm-cursor-block { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css};}${this._terminalSelector} .${di} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${e.cursor.css} !important; color: ${e.cursorAccent.css} !important;}${this._terminalSelector} .${di} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${e.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${di} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${e.cursor.css} inset;}${this._terminalSelector} .${di} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${e.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,t+=`${this._terminalSelector} .${ia} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${ia} div { position: absolute; background-color: ${e.selectionBackgroundOpaque.css};}${this._terminalSelector} .${ia} div { position: absolute; background-color: ${e.selectionInactiveBackgroundOpaque.css};}`;for(let[l,u]of e.ansi.entries())t+=`${this._terminalSelector} .${ta}${l} { color: ${u.css}; }${this._terminalSelector} .${ta}${l}.xterm-dim { color: ${We.multiplyOpacity(u,.5).css}; }${this._terminalSelector} .${Zp}${l} { background-color: ${u.css}; }`;t+=`${this._terminalSelector} .${ta}257 { color: ${We.opaque(e.background).css}; }${this._terminalSelector} .${ta}257.xterm-dim { color: ${We.multiplyOpacity(We.opaque(e.background),.5).css}; }${this._terminalSelector} .${Zp}257 { background-color: ${e.foreground.css}; }`,this._themeStyleElement.textContent=t}_setDefaultSpacing(){let e=this.dimensions.css.cell.width-this._widthCache.get("W",!1,!1);this._rowContainer.style.letterSpacing=`${e}px`,this._rowFactory.defaultSpacing=e}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(e,t){for(let r=this._rowElements.length;r<=t;r++){let n=this._document.createElement("div");this._rowContainer.appendChild(n),this._rowElements.push(n)}for(;this._rowElements.length>t;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(e,t){this._refreshRowElements(e,t),this._updateDimensions(),this.handleSelectionChanged(this._selectionRenderModel.selectionStart,this._selectionRenderModel.selectionEnd,this._selectionRenderModel.columnSelectMode)}handleCharSizeChanged(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}handleBlur(){this._rowContainer.classList.remove(gn),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(gn),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(e,t,r){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(e,t,r),this.renderRows(0,this._bufferService.rows-1),!e||!t||(this._selectionRenderModel.update(this._terminal,e,t,r),!this._selectionRenderModel.hasSelection))return;let n=this._selectionRenderModel.viewportStartRow,o=this._selectionRenderModel.viewportEndRow,l=this._selectionRenderModel.viewportCappedStartRow,u=this._selectionRenderModel.viewportCappedEndRow,f=this._document.createDocumentFragment();if(r){let m=e[0]>t[0];f.appendChild(this._createSelectionElement(l,m?t[0]:e[0],m?e[0]:t[0],u-l+1))}else{let m=n===l?e[0]:0,p=l===o?t[0]:this._bufferService.cols;f.appendChild(this._createSelectionElement(l,m,p));let y=u-l-1;if(f.appendChild(this._createSelectionElement(l+1,0,this._bufferService.cols,y)),l!==u){let v=o===u?t[0]:this._bufferService.cols;f.appendChild(this._createSelectionElement(u,0,v))}}this._selectionContainer.appendChild(f)}_createSelectionElement(e,t,r,n=1){let o=this._document.createElement("div"),l=t*this.dimensions.css.cell.width,u=this.dimensions.css.cell.width*(r-t);return l+u>this.dimensions.css.canvas.width&&(u=this.dimensions.css.canvas.width-l),o.style.height=`${n*this.dimensions.css.cell.height}px`,o.style.top=`${e*this.dimensions.css.cell.height}px`,o.style.left=`${l}px`,o.style.width=`${u}px`,o}handleCursorMove(){}_handleOptionsChanged(){this._updateDimensions(),this._injectCss(this._themeService.colors),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}clear(){for(let e of this._rowElements)e.replaceChildren()}renderRows(e,t){let r=this._bufferService.buffer,n=r.ybase+r.y,o=Math.min(r.x,this._bufferService.cols-1),l=this._coreService.decPrivateModes.cursorBlink??this._optionsService.rawOptions.cursorBlink,u=this._coreService.decPrivateModes.cursorStyle??this._optionsService.rawOptions.cursorStyle,f=this._optionsService.rawOptions.cursorInactiveStyle;for(let m=e;m<=t;m++){let p=m+r.ydisp,y=this._rowElements[m],v=r.lines.get(p);if(!y||!v)break;y.replaceChildren(...this._rowFactory.createRow(v,p,p===n,u,f,o,l,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${jc}${this._terminalClass}`}_handleLinkHover(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!0)}_handleLinkLeave(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!1)}_setCellUnderline(e,t,r,n,o,l){r<0&&(e=0),n<0&&(t=0);let u=this._bufferService.rows-1;r=Math.max(Math.min(r,u),0),n=Math.max(Math.min(n,u),0),o=Math.min(o,this._bufferService.cols);let f=this._bufferService.buffer,m=f.ybase+f.y,p=Math.min(f.x,o-1),y=this._optionsService.rawOptions.cursorBlink,v=this._optionsService.rawOptions.cursorStyle,S=this._optionsService.rawOptions.cursorInactiveStyle;for(let g=r;g<=n;++g){let C=g+f.ydisp,E=this._rowElements[g],x=f.lines.get(C);if(!E||!x)break;E.replaceChildren(...this._rowFactory.createRow(x,C,C===m,v,S,p,y,this.dimensions.css.cell.width,this._widthCache,l?g===r?e:0:-1,l?(g===n?t:o)-1:-1))}}};Fu=Je([pe(7,mh),pe(8,Da),pe(9,At),pe(10,jt),pe(11,Gr),pe(12,Qi),pe(13,Ps)],Fu);var Hu=class extends De{constructor(e,t,r){super(),this._optionsService=r,this.width=0,this.height=0,this._onCharSizeChange=this._register(new de),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this._register(new pw(this._optionsService))}catch{this._measureStrategy=this._register(new fw(e,t,this._optionsService))}this._register(this._optionsService.onMultipleOptionChange(["fontFamily","fontSize"],()=>this.measure()))}get hasValidSize(){return this.width>0&&this.height>0}measure(){let e=this._measureStrategy.measure();(e.width!==this.width||e.height!==this.height)&&(this.width=e.width,this.height=e.height,this._onCharSizeChange.fire())}};Hu=Je([pe(2,At)],Hu);var hg=class extends De{constructor(){super(...arguments),this._result={width:0,height:0}}_validateAndSet(e,t){e!==void 0&&e>0&&t!==void 0&&t>0&&(this._result.width=e,this._result.height=t)}},fw=class extends hg{constructor(e,t,r){super(),this._document=e,this._parentElement=t,this._optionsService=r,this._measureElement=this._document.createElement("span"),this._measureElement.classList.add("xterm-char-measure-element"),this._measureElement.textContent="W".repeat(32),this._measureElement.setAttribute("aria-hidden","true"),this._measureElement.style.whiteSpace="pre",this._measureElement.style.fontKerning="none",this._parentElement.appendChild(this._measureElement)}measure(){return this._measureElement.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._measureElement.style.fontSize=`${this._optionsService.rawOptions.fontSize}px`,this._validateAndSet(Number(this._measureElement.offsetWidth)/32,Number(this._measureElement.offsetHeight)),this._result}},pw=class extends hg{constructor(e){super(),this._optionsService=e,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext("2d");let t=this._ctx.measureText("W");if(!("width"in t&&"fontBoundingBoxAscent"in t&&"fontBoundingBoxDescent"in t))throw new Error("Required font metrics not supported")}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;let e=this._ctx.measureText("W");return this._validateAndSet(e.width,e.fontBoundingBoxAscent+e.fontBoundingBoxDescent),this._result}},mw=class extends De{constructor(e,t,r){super(),this._textarea=e,this._window=t,this.mainDocument=r,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=this._register(new _w(this._window)),this._onDprChange=this._register(new de),this.onDprChange=this._onDprChange.event,this._onWindowChange=this._register(new de),this.onWindowChange=this._onWindowChange.event,this._register(this.onWindowChange(n=>this._screenDprMonitor.setWindow(n))),this._register(kt.forward(this._screenDprMonitor.onDprChange,this._onDprChange)),this._register(Ee(this._textarea,"focus",()=>this._isFocused=!0)),this._register(Ee(this._textarea,"blur",()=>this._isFocused=!1))}get window(){return this._window}set window(e){this._window!==e&&(this._window=e,this._onWindowChange.fire(this._window))}get dpr(){return this.window.devicePixelRatio}get isFocused(){return this._cachedIsFocused===void 0&&(this._cachedIsFocused=this._isFocused&&this._textarea.ownerDocument.hasFocus(),queueMicrotask(()=>this._cachedIsFocused=void 0)),this._cachedIsFocused}},_w=class extends De{constructor(e){super(),this._parentWindow=e,this._windowResizeListener=this._register(new Rs),this._onDprChange=this._register(new de),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this._register(qe(()=>this.clearListener()))}setWindow(e){this._parentWindow=e,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=Ee(this._parentWindow,"resize",()=>this._setDprAndFireIfDiffers())}_setDprAndFireIfDiffers(){this._parentWindow.devicePixelRatio!==this._currentDevicePixelRatio&&this._onDprChange.fire(this._parentWindow.devicePixelRatio),this._updateDpr()}_updateDpr(){var e;this._outerListener&&((e=this._resolutionMediaMatchList)==null||e.removeListener(this._outerListener),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._resolutionMediaMatchList=this._parentWindow.matchMedia(`screen and (resolution: ${this._parentWindow.devicePixelRatio}dppx)`),this._resolutionMediaMatchList.addListener(this._outerListener))}clearListener(){!this._resolutionMediaMatchList||!this._outerListener||(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._outerListener=void 0)}},gw=class extends De{constructor(){super(),this.linkProviders=[],this._register(qe(()=>this.linkProviders.length=0))}registerLinkProvider(e){return this.linkProviders.push(e),{dispose:()=>{let t=this.linkProviders.indexOf(e);t!==-1&&this.linkProviders.splice(t,1)}}}};function bh(e,t,r){let n=r.getBoundingClientRect(),o=e.getComputedStyle(r),l=parseInt(o.getPropertyValue("padding-left")),u=parseInt(o.getPropertyValue("padding-top"));return[t.clientX-n.left-l,t.clientY-n.top-u]}function vw(e,t,r,n,o,l,u,f,m){if(!l)return;let p=bh(e,t,r);if(p)return p[0]=Math.ceil((p[0]+(m?u/2:0))/u),p[1]=Math.ceil(p[1]/f),p[0]=Math.min(Math.max(p[0],1),n+(m?1:0)),p[1]=Math.min(Math.max(p[1],1),o),p}var $u=class{constructor(e,t){this._renderService=e,this._charSizeService=t}getCoords(e,t,r,n,o){return vw(window,e,t,r,n,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,o)}getMouseReportCoords(e,t){let r=bh(window,e,t);if(this._charSizeService.hasValidSize)return r[0]=Math.min(Math.max(r[0],0),this._renderService.dimensions.css.canvas.width-1),r[1]=Math.min(Math.max(r[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(r[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(r[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(r[0]),y:Math.floor(r[1])}}};$u=Je([pe(0,Ji),pe(1,Da)],$u);var yw=class{constructor(e,t){this._renderCallback=e,this._coreBrowserService=t,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(e){return this._refreshCallbacks.push(e),this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh())),this._animationFrame}refresh(e,t,r){this._rowCount=r,e=e!==void 0?e:0,t=t!==void 0?t:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,e):e,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,t):t,!this._animationFrame&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._animationFrame=void 0,this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0){this._runRefreshCallbacks();return}let e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,t),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(let e of this._refreshCallbacks)e(0);this._refreshCallbacks=[]}},dg={};PS(dg,{getSafariVersion:()=>ww,isChromeOS:()=>_g,isFirefox:()=>fg,isIpad:()=>Cw,isIphone:()=>bw,isLegacyEdge:()=>Sw,isLinux:()=>xh,isMac:()=>ya,isNode:()=>Ma,isSafari:()=>pg,isWindows:()=>mg});var Ma=typeof process<"u"&&"title"in process,In=Ma?"node":navigator.userAgent,On=Ma?"node":navigator.platform,fg=In.includes("Firefox"),Sw=In.includes("Edge"),pg=/^((?!chrome|android).)*safari/i.test(In);function ww(){if(!pg)return 0;let e=In.match(/Version\/(\d+)/);return e===null||e.length<2?0:parseInt(e[1])}var ya=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(On),Cw=On==="iPad",bw=On==="iPhone",mg=["Windows","Win16","Win32","WinCE"].includes(On),xh=On.indexOf("Linux")>=0,_g=/\bCrOS\b/.test(In),gg=class{constructor(){this._tasks=[],this._i=0}enqueue(e){this._tasks.push(e),this._start()}flush(){for(;this._i<this._tasks.length;)this._tasks[this._i]()||this._i++;this.clear()}clear(){this._idleCallback&&(this._cancelCallback(this._idleCallback),this._idleCallback=void 0),this._i=0,this._tasks.length=0}_start(){this._idleCallback||(this._idleCallback=this._requestCallback(this._process.bind(this)))}_process(e){this._idleCallback=void 0;let t=0,r=0,n=e.timeRemaining(),o=0;for(;this._i<this._tasks.length;){if(t=performance.now(),this._tasks[this._i]()||this._i++,t=Math.max(1,performance.now()-t),r=Math.max(t,r),o=e.timeRemaining(),r*1.5>o){n-t<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(n-t))}ms`),this._start();return}n=o}this.clear()}},xw=class extends gg{_requestCallback(e){return setTimeout(()=>e(this._createDeadline(16)))}_cancelCallback(e){clearTimeout(e)}_createDeadline(e){let t=performance.now()+e;return{timeRemaining:()=>Math.max(0,t-performance.now())}}},kw=class extends gg{_requestCallback(e){return requestIdleCallback(e)}_cancelCallback(e){cancelIdleCallback(e)}},Sa=!Ma&&"requestIdleCallback"in window?kw:xw,Ew=class{constructor(){this._queue=new Sa}set(e){this._queue.clear(),this._queue.enqueue(e)}flush(){this._queue.flush()}},Wu=class extends De{constructor(e,t,r,n,o,l,u,f,m){super(),this._rowCount=e,this._optionsService=r,this._charSizeService=n,this._coreService=o,this._coreBrowserService=f,this._renderer=this._register(new Rs),this._pausedResizeTask=new Ew,this._observerDisposable=this._register(new Rs),this._isPaused=!1,this._needsFullRefresh=!1,this._isNextRenderRedrawOnly=!0,this._needsSelectionRefresh=!1,this._canvasWidth=0,this._canvasHeight=0,this._selectionState={start:void 0,end:void 0,columnSelectMode:!1},this._onDimensionsChange=this._register(new de),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this._register(new de),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this._register(new de),this.onRender=this._onRender.event,this._onRefreshRequest=this._register(new de),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new yw((p,y)=>this._renderRows(p,y),this._coreBrowserService),this._register(this._renderDebouncer),this._syncOutputHandler=new Nw(this._coreBrowserService,this._coreService,()=>this._fullRefresh()),this._register(qe(()=>this._syncOutputHandler.dispose())),this._register(this._coreBrowserService.onDprChange(()=>this.handleDevicePixelRatioChange())),this._register(u.onResize(()=>this._fullRefresh())),this._register(u.buffers.onBufferActivate(()=>{var p;return(p=this._renderer.value)==null?void 0:p.clear()})),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._charSizeService.onCharSizeChange(()=>this.handleCharSizeChanged())),this._register(l.onDecorationRegistered(()=>this._fullRefresh())),this._register(l.onDecorationRemoved(()=>this._fullRefresh())),this._register(this._optionsService.onMultipleOptionChange(["customGlyphs","drawBoldTextInBrightColors","letterSpacing","lineHeight","fontFamily","fontSize","fontWeight","fontWeightBold","minimumContrastRatio","rescaleOverlappingGlyphs"],()=>{this.clear(),this.handleResize(u.cols,u.rows),this._fullRefresh()})),this._register(this._optionsService.onMultipleOptionChange(["cursorBlink","cursorStyle"],()=>this.refreshRows(u.buffer.y,u.buffer.y,!0))),this._register(m.onChangeColors(()=>this._fullRefresh())),this._registerIntersectionObserver(this._coreBrowserService.window,t),this._register(this._coreBrowserService.onWindowChange(p=>this._registerIntersectionObserver(p,t)))}get dimensions(){return this._renderer.value.dimensions}_registerIntersectionObserver(e,t){if("IntersectionObserver"in e){let r=new e.IntersectionObserver(n=>this._handleIntersectionChange(n[n.length-1]),{threshold:0});r.observe(t),this._observerDisposable.value=qe(()=>r.disconnect())}}_handleIntersectionChange(e){this._isPaused=e.isIntersecting===void 0?e.intersectionRatio===0:!e.isIntersecting,!this._isPaused&&!this._charSizeService.hasValidSize&&this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this._pausedResizeTask.flush(),this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)}refreshRows(e,t,r=!1){if(this._isPaused){this._needsFullRefresh=!0;return}if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(e,t);return}let n=this._syncOutputHandler.flush();n&&(e=Math.min(e,n.start),t=Math.max(t,n.end)),r||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(e,t,this._rowCount)}_renderRows(e,t){if(this._renderer.value){if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(e,t);return}e=Math.min(e,this._rowCount-1),t=Math.min(t,this._rowCount-1),this._renderer.value.renderRows(e,t),this._needsSelectionRefresh&&(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:e,end:t}),this._onRender.fire({start:e,end:t}),this._isNextRenderRedrawOnly=!0}}resize(e,t){this._rowCount=t,this._fireOnCanvasResize()}_handleOptionsChanged(){this._renderer.value&&(this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize())}_fireOnCanvasResize(){this._renderer.value&&(this._renderer.value.dimensions.css.canvas.width===this._canvasWidth&&this._renderer.value.dimensions.css.canvas.height===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.value.dimensions))}hasRenderer(){return!!this._renderer.value}setRenderer(e){this._renderer.value=e,this._renderer.value&&(this._renderer.value.onRequestRedraw(t=>this.refreshRows(t.start,t.end,!0)),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(e){return this._renderDebouncer.addRefreshCallback(e)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){var e,t;this._renderer.value&&((t=(e=this._renderer.value).clearTextureAtlas)==null||t.call(e),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(e,t){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set(()=>{var r;return(r=this._renderer.value)==null?void 0:r.handleResize(e,t)}):this._renderer.value.handleResize(e,t),this._fullRefresh())}handleCharSizeChanged(){var e;(e=this._renderer.value)==null||e.handleCharSizeChanged()}handleBlur(){var e;(e=this._renderer.value)==null||e.handleBlur()}handleFocus(){var e;(e=this._renderer.value)==null||e.handleFocus()}handleSelectionChanged(e,t,r){var n;this._selectionState.start=e,this._selectionState.end=t,this._selectionState.columnSelectMode=r,(n=this._renderer.value)==null||n.handleSelectionChanged(e,t,r)}handleCursorMove(){var e;(e=this._renderer.value)==null||e.handleCursorMove()}clear(){var e;(e=this._renderer.value)==null||e.clear()}};Wu=Je([pe(2,At),pe(3,Da),pe(4,Gr),pe(5,An),pe(6,jt),pe(7,Qi),pe(8,Ps)],Wu);var Nw=class{constructor(e,t,r){this._coreBrowserService=e,this._coreService=t,this._onTimeout=r,this._start=0,this._end=0,this._isBuffering=!1}bufferRows(e,t){this._isBuffering?(this._start=Math.min(this._start,e),this._end=Math.max(this._end,t)):(this._start=e,this._end=t,this._isBuffering=!0),this._timeout===void 0&&(this._timeout=this._coreBrowserService.window.setTimeout(()=>{this._timeout=void 0,this._coreService.decPrivateModes.synchronizedOutput=!1,this._onTimeout()},1e3))}flush(){if(this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0),!this._isBuffering)return;let e={start:this._start,end:this._end};return this._isBuffering=!1,e}dispose(){this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0)}};function Rw(e,t,r,n){let o=r.buffer.x,l=r.buffer.y;if(!r.buffer.hasScrollback)return Mw(o,l,e,t,r,n)+La(l,t,r,n)+Lw(o,l,e,t,r,n);let u;if(l===t)return u=o>e?"D":"C",Ln(Math.abs(o-e),Mn(u,n));u=l>t?"D":"C";let f=Math.abs(l-t),m=Dw(l>t?e:o,r)+(f-1)*r.cols+1+Pw(l>t?o:e);return Ln(m,Mn(u,n))}function Pw(e,t){return e-1}function Dw(e,t){return t.cols-e}function Mw(e,t,r,n,o,l){return La(t,n,o,l).length===0?"":Ln(yg(e,t,e,t-Yr(t,o),!1,o).length,Mn("D",l))}function La(e,t,r,n){let o=e-Yr(e,r),l=t-Yr(t,r),u=Math.abs(o-l)-Tw(e,t,r);return Ln(u,Mn(vg(e,t),n))}function Lw(e,t,r,n,o,l){let u;La(t,n,o,l).length>0?u=n-Yr(n,o):u=t;let f=n,m=Bw(e,t,r,n,o,l);return Ln(yg(e,u,r,f,m==="C",o).length,Mn(m,l))}function Tw(e,t,r){var u;let n=0,o=e-Yr(e,r),l=t-Yr(t,r);for(let f=0;f<Math.abs(o-l);f++){let m=vg(e,t)==="A"?-1:1;(u=r.buffer.lines.get(o+m*f))!=null&&u.isWrapped&&n++}return n}function Yr(e,t){let r=0,n=t.buffer.lines.get(e),o=n==null?void 0:n.isWrapped;for(;o&&e>=0&&e<t.rows;)r++,n=t.buffer.lines.get(--e),o=n==null?void 0:n.isWrapped;return r}function Bw(e,t,r,n,o,l){let u;return La(r,n,o,l).length>0?u=n-Yr(n,o):u=t,e<r&&u<=n||e>=r&&u<n?"C":"D"}function vg(e,t){return e>t?"A":"B"}function yg(e,t,r,n,o,l){let u=e,f=t,m="";for(;(u!==r||f!==n)&&f>=0&&f<l.buffer.lines.length;)u+=o?1:-1,o&&u>l.cols-1?(m+=l.buffer.translateBufferLineToString(f,!1,e,u),u=0,e=0,f++):!o&&u<0&&(m+=l.buffer.translateBufferLineToString(f,!1,0,e+1),u=l.cols-1,e=u,f--);return m+l.buffer.translateBufferLineToString(f,!1,e,u)}function Mn(e,t){let r=t?"O":"[";return se.ESC+r+e}function Ln(e,t){e=Math.floor(e);let r="";for(let n=0;n<e;n++)r+=t;return r}var jw=class{constructor(e){this._bufferService=e,this.isSelectAllActive=!1,this.selectionStartLength=0}clearSelection(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0}get finalSelectionStart(){return this.isSelectAllActive?[0,0]:!this.selectionEnd||!this.selectionStart?this.selectionStart:this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart}get finalSelectionEnd(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){let e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?e%this._bufferService.cols===0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)-1]:[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[e,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){let e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[Math.max(e,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){let e=this.selectionStart,t=this.selectionEnd;return!e||!t?!1:e[1]>t[1]||e[1]===t[1]&&e[0]>t[0]}handleTrim(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}};function em(e,t){if(e.start.y>e.end.y)throw new Error(`Buffer range end (${e.end.x}, ${e.end.y}) cannot be before start (${e.start.x}, ${e.start.y})`);return t*(e.end.y-e.start.y)+(e.end.x-e.start.x+1)}var Ac=50,Aw=15,Iw=50,Ow=500,zw=" ",Fw=new RegExp(zw,"g"),Uu=class extends De{constructor(e,t,r,n,o,l,u,f,m){super(),this._element=e,this._screenElement=t,this._linkifier=r,this._bufferService=n,this._coreService=o,this._mouseService=l,this._optionsService=u,this._renderService=f,this._coreBrowserService=m,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new mi,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this._register(new de),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this._register(new de),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this._register(new de),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this._register(new de),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=p=>this._handleMouseMove(p),this._mouseUpListener=p=>this._handleMouseUp(p),this._coreService.onUserInput(()=>{this.hasSelection&&this.clearSelection()}),this._trimListener=this._bufferService.buffer.lines.onTrim(p=>this._handleTrim(p)),this._register(this._bufferService.buffers.onBufferActivate(p=>this._handleBufferActivate(p))),this.enable(),this._model=new jw(this._bufferService),this._activeSelectionMode=0,this._register(qe(()=>{this._removeMouseDownListeners()})),this._register(this._bufferService.onResize(p=>{p.rowsChanged&&this.clearSelection()}))}reset(){this.clearSelection()}disable(){this.clearSelection(),this._enabled=!1}enable(){this._enabled=!0}get selectionStart(){return this._model.finalSelectionStart}get selectionEnd(){return this._model.finalSelectionEnd}get hasSelection(){let e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;return!e||!t?!1:e[0]!==t[0]||e[1]!==t[1]}get selectionText(){let e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;if(!e||!t)return"";let r=this._bufferService.buffer,n=[];if(this._activeSelectionMode===3){if(e[0]===t[0])return"";let o=e[0]<t[0]?e[0]:t[0],l=e[0]<t[0]?t[0]:e[0];for(let u=e[1];u<=t[1];u++){let f=r.translateBufferLineToString(u,!0,o,l);n.push(f)}}else{let o=e[1]===t[1]?t[0]:void 0;n.push(r.translateBufferLineToString(e[1],!0,e[0],o));for(let l=e[1]+1;l<=t[1]-1;l++){let u=r.lines.get(l),f=r.translateBufferLineToString(l,!0);u!=null&&u.isWrapped?n[n.length-1]+=f:n.push(f)}if(e[1]!==t[1]){let l=r.lines.get(t[1]),u=r.translateBufferLineToString(t[1],!0,0,t[0]);l&&l.isWrapped?n[n.length-1]+=u:n.push(u)}}return n.map(o=>o.replace(Fw," ")).join(mg?`\r
|
|
62
|
+
`:`
|
|
63
|
+
`)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(e){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh())),xh&&e&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:this._activeSelectionMode===3})}_isClickInSelection(e){let t=this._getMouseBufferCoords(e),r=this._model.finalSelectionStart,n=this._model.finalSelectionEnd;return!r||!n||!t?!1:this._areCoordsInSelection(t,r,n)}isCellInSelection(e,t){let r=this._model.finalSelectionStart,n=this._model.finalSelectionEnd;return!r||!n?!1:this._areCoordsInSelection([e,t],r,n)}_areCoordsInSelection(e,t,r){return e[1]>t[1]&&e[1]<r[1]||t[1]===r[1]&&e[1]===t[1]&&e[0]>=t[0]&&e[0]<r[0]||t[1]<r[1]&&e[1]===r[1]&&e[0]<r[0]||t[1]<r[1]&&e[1]===t[1]&&e[0]>=t[0]}_selectWordAtCursor(e,t){var o,l;let r=(l=(o=this._linkifier.currentLink)==null?void 0:o.link)==null?void 0:l.range;if(r)return this._model.selectionStart=[r.start.x-1,r.start.y-1],this._model.selectionStartLength=em(r,this._bufferService.cols),this._model.selectionEnd=void 0,!0;let n=this._getMouseBufferCoords(e);return n?(this._selectWordAt(n,t),this._model.selectionEnd=void 0,!0):!1}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(e,t){this._model.clearSelection(),e=Math.max(e,0),t=Math.min(t,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,e],this._model.selectionEnd=[this._bufferService.cols,t],this.refresh(),this._onSelectionChange.fire()}_handleTrim(e){this._model.handleTrim(e)&&this.refresh()}_getMouseBufferCoords(e){let t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(t)return t[0]--,t[1]--,t[1]+=this._bufferService.buffer.ydisp,t}_getMouseEventScrollAmount(e){let t=bh(this._coreBrowserService.window,e,this._screenElement)[1],r=this._renderService.dimensions.css.canvas.height;return t>=0&&t<=r?0:(t>r&&(t-=r),t=Math.min(Math.max(t,-Ac),Ac),t/=Ac,t/Math.abs(t)+Math.round(t*(Aw-1)))}shouldForceSelection(e){return ya?e.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:e.shiftKey}handleMouseDown(e){if(this._mouseDownTimeStamp=e.timeStamp,!(e.button===2&&this.hasSelection)&&e.button===0){if(!this._enabled){if(!this.shouldForceSelection(e))return;e.stopPropagation()}e.preventDefault(),this._dragScrollAmount=0,this._enabled&&e.shiftKey?this._handleIncrementalClick(e):e.detail===1?this._handleSingleClick(e):e.detail===2?this._handleDoubleClick(e):e.detail===3&&this._handleTripleClick(e),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener("mouseup",this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval(()=>this._dragScroll(),Iw)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener("mouseup",this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_handleIncrementalClick(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))}_handleSingleClick(e){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(e)?3:0,this._model.selectionStart=this._getMouseBufferCoords(e),!this._model.selectionStart)return;this._model.selectionEnd=void 0;let t=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);t&&t.length!==this._model.selectionStart[0]&&t.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(e){this._selectWordAtCursor(e,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(e){let t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=2,this._selectLineAt(t[1]))}shouldColumnSelect(e){return e.altKey&&!(ya&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(e){if(e.stopImmediatePropagation(),!this._model.selectionStart)return;let t=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),!this._model.selectionEnd){this.refresh(!0);return}this._activeSelectionMode===2?this._model.selectionEnd[1]<this._model.selectionStart[1]?this._model.selectionEnd[0]=0:this._model.selectionEnd[0]=this._bufferService.cols:this._activeSelectionMode===1&&this._selectToWordAt(this._model.selectionEnd),this._dragScrollAmount=this._getMouseEventScrollAmount(e),this._activeSelectionMode!==3&&(this._dragScrollAmount>0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));let r=this._bufferService.buffer;if(this._model.selectionEnd[1]<r.lines.length){let n=r.lines.get(this._model.selectionEnd[1]);n&&n.hasWidth(this._model.selectionEnd[0])===0&&this._model.selectionEnd[0]<this._bufferService.cols&&this._model.selectionEnd[0]++}(!t||t[0]!==this._model.selectionEnd[0]||t[1]!==this._model.selectionEnd[1])&&this.refresh(!0)}_dragScroll(){if(!(!this._model.selectionEnd||!this._model.selectionStart)&&this._dragScrollAmount){this._onRequestScrollLines.fire({amount:this._dragScrollAmount,suppressScrollEvent:!1});let e=this._bufferService.buffer;this._dragScrollAmount>0?(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(e.ydisp+this._bufferService.rows,e.lines.length-1)):(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=e.ydisp),this.refresh()}}_handleMouseUp(e){let t=e.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&t<Ow&&e.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){let r=this._mouseService.getCoords(e,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(r&&r[0]!==void 0&&r[1]!==void 0){let n=Rw(r[0]-1,r[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(n,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){let e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd,r=!!e&&!!t&&(e[0]!==t[0]||e[1]!==t[1]);if(!r){this._oldHasSelection&&this._fireOnSelectionChange(e,t,r);return}!e||!t||(!this._oldSelectionStart||!this._oldSelectionEnd||e[0]!==this._oldSelectionStart[0]||e[1]!==this._oldSelectionStart[1]||t[0]!==this._oldSelectionEnd[0]||t[1]!==this._oldSelectionEnd[1])&&this._fireOnSelectionChange(e,t,r)}_fireOnSelectionChange(e,t,r){this._oldSelectionStart=e,this._oldSelectionEnd=t,this._oldHasSelection=r,this._onSelectionChange.fire()}_handleBufferActivate(e){this.clearSelection(),this._trimListener.dispose(),this._trimListener=e.activeBuffer.lines.onTrim(t=>this._handleTrim(t))}_convertViewportColToCharacterIndex(e,t){let r=t;for(let n=0;t>=n;n++){let o=e.loadCell(n,this._workCell).getChars().length;this._workCell.getWidth()===0?r--:o>1&&t!==n&&(r+=o-1)}return r}setSelection(e,t,r){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[e,t],this._model.selectionStartLength=r,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(e){this._isClickInSelection(e)||(this._selectWordAtCursor(e,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(e,t,r=!0,n=!0){if(e[0]>=this._bufferService.cols)return;let o=this._bufferService.buffer,l=o.lines.get(e[1]);if(!l)return;let u=o.translateBufferLineToString(e[1],!1),f=this._convertViewportColToCharacterIndex(l,e[0]),m=f,p=e[0]-f,y=0,v=0,S=0,g=0;if(u.charAt(f)===" "){for(;f>0&&u.charAt(f-1)===" ";)f--;for(;m<u.length&&u.charAt(m+1)===" ";)m++}else{let x=e[0],R=e[0];l.getWidth(x)===0&&(y++,x--),l.getWidth(R)===2&&(v++,R++);let z=l.getString(R).length;for(z>1&&(g+=z-1,m+=z-1);x>0&&f>0&&!this._isCharWordSeparator(l.loadCell(x-1,this._workCell));){l.loadCell(x-1,this._workCell);let T=this._workCell.getChars().length;this._workCell.getWidth()===0?(y++,x--):T>1&&(S+=T-1,f-=T-1),f--,x--}for(;R<l.length&&m+1<u.length&&!this._isCharWordSeparator(l.loadCell(R+1,this._workCell));){l.loadCell(R+1,this._workCell);let T=this._workCell.getChars().length;this._workCell.getWidth()===2?(v++,R++):T>1&&(g+=T-1,m+=T-1),m++,R++}}m++;let C=f+p-y+S,E=Math.min(this._bufferService.cols,m-f+y+v-S-g);if(!(!t&&u.slice(f,m).trim()==="")){if(r&&C===0&&l.getCodePoint(0)!==32){let x=o.lines.get(e[1]-1);if(x&&l.isWrapped&&x.getCodePoint(this._bufferService.cols-1)!==32){let R=this._getWordAt([this._bufferService.cols-1,e[1]-1],!1,!0,!1);if(R){let z=this._bufferService.cols-R.start;C-=z,E+=z}}}if(n&&C+E===this._bufferService.cols&&l.getCodePoint(this._bufferService.cols-1)!==32){let x=o.lines.get(e[1]+1);if(x!=null&&x.isWrapped&&x.getCodePoint(0)!==32){let R=this._getWordAt([0,e[1]+1],!1,!1,!0);R&&(E+=R.length)}}return{start:C,length:E}}}_selectWordAt(e,t){let r=this._getWordAt(e,t);if(r){for(;r.start<0;)r.start+=this._bufferService.cols,e[1]--;this._model.selectionStart=[r.start,e[1]],this._model.selectionStartLength=r.length}}_selectToWordAt(e){let t=this._getWordAt(e,!0);if(t){let r=e[1];for(;t.start<0;)t.start+=this._bufferService.cols,r--;if(!this._model.areSelectionValuesReversed())for(;t.start+t.length>this._bufferService.cols;)t.length-=this._bufferService.cols,r++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?t.start:t.start+t.length,r]}}_isCharWordSeparator(e){return e.getWidth()===0?!1:this._optionsService.rawOptions.wordSeparator.indexOf(e.getChars())>=0}_selectLineAt(e){let t=this._bufferService.buffer.getWrappedRangeForLine(e),r={start:{x:0,y:t.first},end:{x:this._bufferService.cols-1,y:t.last}};this._model.selectionStart=[0,t.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=em(r,this._bufferService.cols)}};Uu=Je([pe(3,jt),pe(4,Gr),pe(5,_h),pe(6,At),pe(7,Ji),pe(8,Qi)],Uu);var tm=class{constructor(){this._data={}}set(e,t,r){this._data[e]||(this._data[e]={}),this._data[e][t]=r}get(e,t){return this._data[e]?this._data[e][t]:void 0}clear(){this._data={}}},im=class{constructor(){this._color=new tm,this._css=new tm}setCss(e,t,r){this._css.set(e,t,r)}getCss(e,t){return this._css.get(e,t)}setColor(e,t,r){this._color.set(e,t,r)}getColor(e,t){return this._color.get(e,t)}clear(){this._color.clear(),this._css.clear()}},lt=Object.freeze((()=>{let e=[Xe.toColor("#2e3436"),Xe.toColor("#cc0000"),Xe.toColor("#4e9a06"),Xe.toColor("#c4a000"),Xe.toColor("#3465a4"),Xe.toColor("#75507b"),Xe.toColor("#06989a"),Xe.toColor("#d3d7cf"),Xe.toColor("#555753"),Xe.toColor("#ef2929"),Xe.toColor("#8ae234"),Xe.toColor("#fce94f"),Xe.toColor("#729fcf"),Xe.toColor("#ad7fa8"),Xe.toColor("#34e2e2"),Xe.toColor("#eeeeec")],t=[0,95,135,175,215,255];for(let r=0;r<216;r++){let n=t[r/36%6|0],o=t[r/6%6|0],l=t[r%6];e.push({css:nt.toCss(n,o,l),rgba:nt.toRgba(n,o,l)})}for(let r=0;r<24;r++){let n=8+r*10;e.push({css:nt.toCss(n,n,n),rgba:nt.toRgba(n,n,n)})}return e})()),$r=Xe.toColor("#ffffff"),kn=Xe.toColor("#000000"),rm=Xe.toColor("#ffffff"),sm=kn,vn={css:"rgba(255, 255, 255, 0.3)",rgba:4294967117},Hw=$r,qu=class extends De{constructor(e){super(),this._optionsService=e,this._contrastCache=new im,this._halfContrastCache=new im,this._onChangeColors=this._register(new de),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:$r,background:kn,cursor:rm,cursorAccent:sm,selectionForeground:void 0,selectionBackgroundTransparent:vn,selectionBackgroundOpaque:We.blend(kn,vn),selectionInactiveBackgroundTransparent:vn,selectionInactiveBackgroundOpaque:We.blend(kn,vn),scrollbarSliderBackground:We.opacity($r,.2),scrollbarSliderHoverBackground:We.opacity($r,.4),scrollbarSliderActiveBackground:We.opacity($r,.5),overviewRulerBorder:$r,ansi:lt.slice(),contrastCache:this._contrastCache,halfContrastCache:this._halfContrastCache},this._updateRestoreColors(),this._setTheme(this._optionsService.rawOptions.theme),this._register(this._optionsService.onSpecificOptionChange("minimumContrastRatio",()=>this._contrastCache.clear())),this._register(this._optionsService.onSpecificOptionChange("theme",()=>this._setTheme(this._optionsService.rawOptions.theme)))}get colors(){return this._colors}_setTheme(e={}){let t=this._colors;if(t.foreground=ze(e.foreground,$r),t.background=ze(e.background,kn),t.cursor=We.blend(t.background,ze(e.cursor,rm)),t.cursorAccent=We.blend(t.background,ze(e.cursorAccent,sm)),t.selectionBackgroundTransparent=ze(e.selectionBackground,vn),t.selectionBackgroundOpaque=We.blend(t.background,t.selectionBackgroundTransparent),t.selectionInactiveBackgroundTransparent=ze(e.selectionInactiveBackground,t.selectionBackgroundTransparent),t.selectionInactiveBackgroundOpaque=We.blend(t.background,t.selectionInactiveBackgroundTransparent),t.selectionForeground=e.selectionForeground?ze(e.selectionForeground,Qp):void 0,t.selectionForeground===Qp&&(t.selectionForeground=void 0),We.isOpaque(t.selectionBackgroundTransparent)&&(t.selectionBackgroundTransparent=We.opacity(t.selectionBackgroundTransparent,.3)),We.isOpaque(t.selectionInactiveBackgroundTransparent)&&(t.selectionInactiveBackgroundTransparent=We.opacity(t.selectionInactiveBackgroundTransparent,.3)),t.scrollbarSliderBackground=ze(e.scrollbarSliderBackground,We.opacity(t.foreground,.2)),t.scrollbarSliderHoverBackground=ze(e.scrollbarSliderHoverBackground,We.opacity(t.foreground,.4)),t.scrollbarSliderActiveBackground=ze(e.scrollbarSliderActiveBackground,We.opacity(t.foreground,.5)),t.overviewRulerBorder=ze(e.overviewRulerBorder,Hw),t.ansi=lt.slice(),t.ansi[0]=ze(e.black,lt[0]),t.ansi[1]=ze(e.red,lt[1]),t.ansi[2]=ze(e.green,lt[2]),t.ansi[3]=ze(e.yellow,lt[3]),t.ansi[4]=ze(e.blue,lt[4]),t.ansi[5]=ze(e.magenta,lt[5]),t.ansi[6]=ze(e.cyan,lt[6]),t.ansi[7]=ze(e.white,lt[7]),t.ansi[8]=ze(e.brightBlack,lt[8]),t.ansi[9]=ze(e.brightRed,lt[9]),t.ansi[10]=ze(e.brightGreen,lt[10]),t.ansi[11]=ze(e.brightYellow,lt[11]),t.ansi[12]=ze(e.brightBlue,lt[12]),t.ansi[13]=ze(e.brightMagenta,lt[13]),t.ansi[14]=ze(e.brightCyan,lt[14]),t.ansi[15]=ze(e.brightWhite,lt[15]),e.extendedAnsi){let r=Math.min(t.ansi.length-16,e.extendedAnsi.length);for(let n=0;n<r;n++)t.ansi[n+16]=ze(e.extendedAnsi[n],lt[n+16])}this._contrastCache.clear(),this._halfContrastCache.clear(),this._updateRestoreColors(),this._onChangeColors.fire(this.colors)}restoreColor(e){this._restoreColor(e),this._onChangeColors.fire(this.colors)}_restoreColor(e){if(e===void 0){for(let t=0;t<this._restoreColors.ansi.length;++t)this._colors.ansi[t]=this._restoreColors.ansi[t];return}switch(e){case 256:this._colors.foreground=this._restoreColors.foreground;break;case 257:this._colors.background=this._restoreColors.background;break;case 258:this._colors.cursor=this._restoreColors.cursor;break;default:this._colors.ansi[e]=this._restoreColors.ansi[e]}}modifyColors(e){e(this._colors),this._onChangeColors.fire(this.colors)}_updateRestoreColors(){this._restoreColors={foreground:this._colors.foreground,background:this._colors.background,cursor:this._colors.cursor,ansi:this._colors.ansi.slice()}}};qu=Je([pe(0,At)],qu);function ze(e,t){if(e!==void 0)try{return Xe.toColor(e)}catch{}return t}var $w=class{constructor(...e){this._entries=new Map;for(let[t,r]of e)this.set(t,r)}set(e,t){let r=this._entries.get(e);return this._entries.set(e,t),r}forEach(e){for(let[t,r]of this._entries.entries())e(t,r)}has(e){return this._entries.has(e)}get(e){return this._entries.get(e)}},Ww=class{constructor(){this._services=new $w,this._services.set(mh,this)}setService(e,t){this._services.set(e,t)}getService(e){return this._services.get(e)}createInstance(e,...t){let r=AS(e).sort((l,u)=>l.index-u.index),n=[];for(let l of r){let u=this._services.get(l.id);if(!u)throw new Error(`[createInstance] ${e.name} depends on UNKNOWN service ${l.id._id}.`);n.push(u)}let o=r.length>0?r[0].index:t.length;if(t.length!==o)throw new Error(`[createInstance] First service dependency of ${e.name} at position ${o+1} conflicts with ${t.length} static arguments`);return new e(...t,...n)}},Uw={trace:0,debug:1,info:2,warn:3,error:4,off:5},qw="xterm.js: ",Ku=class extends De{constructor(e){super(),this._optionsService=e,this._logLevel=5,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange("logLevel",()=>this._updateLogLevel()))}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=Uw[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(e){for(let t=0;t<e.length;t++)typeof e[t]=="function"&&(e[t]=e[t]())}_log(e,t,r){this._evalLazyOptionalParams(r),e.call(console,(this._optionsService.options.logger?"":qw)+t,...r)}trace(e,...t){var r;this._logLevel<=0&&this._log(((r=this._optionsService.options.logger)==null?void 0:r.trace.bind(this._optionsService.options.logger))??console.log,e,t)}debug(e,...t){var r;this._logLevel<=1&&this._log(((r=this._optionsService.options.logger)==null?void 0:r.debug.bind(this._optionsService.options.logger))??console.log,e,t)}info(e,...t){var r;this._logLevel<=2&&this._log(((r=this._optionsService.options.logger)==null?void 0:r.info.bind(this._optionsService.options.logger))??console.info,e,t)}warn(e,...t){var r;this._logLevel<=3&&this._log(((r=this._optionsService.options.logger)==null?void 0:r.warn.bind(this._optionsService.options.logger))??console.warn,e,t)}error(e,...t){var r;this._logLevel<=4&&this._log(((r=this._optionsService.options.logger)==null?void 0:r.error.bind(this._optionsService.options.logger))??console.error,e,t)}};Ku=Je([pe(0,At)],Ku);var nm=class extends De{constructor(e){super(),this._maxLength=e,this.onDeleteEmitter=this._register(new de),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this._register(new de),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this._register(new de),this.onTrim=this.onTrimEmitter.event,this._array=new Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(e){if(this._maxLength===e)return;let t=new Array(e);for(let r=0;r<Math.min(e,this.length);r++)t[r]=this._array[this._getCyclicIndex(r)];this._array=t,this._maxLength=e,this._startIndex=0}get length(){return this._length}set length(e){if(e>this._length)for(let t=this._length;t<e;t++)this._array[t]=void 0;this._length=e}get(e){return this._array[this._getCyclicIndex(e)]}set(e,t){this._array[this._getCyclicIndex(e)]=t}push(e){this._array[this._getCyclicIndex(this._length)]=e,this._length===this._maxLength?(this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1)):this._length++}recycle(){if(this._length!==this._maxLength)throw new Error("Can only recycle when the buffer is full");return this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1),this._array[this._getCyclicIndex(this._length-1)]}get isFull(){return this._length===this._maxLength}pop(){return this._array[this._getCyclicIndex(this._length---1)]}splice(e,t,...r){if(t){for(let n=e;n<this._length-t;n++)this._array[this._getCyclicIndex(n)]=this._array[this._getCyclicIndex(n+t)];this._length-=t,this.onDeleteEmitter.fire({index:e,amount:t})}for(let n=this._length-1;n>=e;n--)this._array[this._getCyclicIndex(n+r.length)]=this._array[this._getCyclicIndex(n)];for(let n=0;n<r.length;n++)this._array[this._getCyclicIndex(e+n)]=r[n];if(r.length&&this.onInsertEmitter.fire({index:e,amount:r.length}),this._length+r.length>this._maxLength){let n=this._length+r.length-this._maxLength;this._startIndex+=n,this._length=this._maxLength,this.onTrimEmitter.fire(n)}else this._length+=r.length}trimStart(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.onTrimEmitter.fire(e)}shiftElements(e,t,r){if(!(t<=0)){if(e<0||e>=this._length)throw new Error("start argument out of range");if(e+r<0)throw new Error("Cannot shift elements in list beyond index 0");if(r>0){for(let o=t-1;o>=0;o--)this.set(e+o+r,this.get(e+o));let n=e+t+r-this._length;if(n>0)for(this._length+=n;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let n=0;n<t;n++)this.set(e+n+r,this.get(e+n))}}_getCyclicIndex(e){return(this._startIndex+e)%this._maxLength}},Pe=3,st=Object.freeze(new jn),ra=0,Ic=2,En=class Sg{constructor(t,r,n=!1){this.isWrapped=n,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(t*Pe);let o=r||mi.fromCharData([0,z_,1,0]);for(let l=0;l<t;++l)this.setCell(l,o);this.length=t}get(t){let r=this._data[t*Pe+0],n=r&2097151;return[this._data[t*Pe+1],r&2097152?this._combined[t]:n?xr(n):"",r>>22,r&2097152?this._combined[t].charCodeAt(this._combined[t].length-1):n]}set(t,r){this._data[t*Pe+1]=r[0],r[1].length>1?(this._combined[t]=r[1],this._data[t*Pe+0]=t|2097152|r[2]<<22):this._data[t*Pe+0]=r[1].charCodeAt(0)|r[2]<<22}getWidth(t){return this._data[t*Pe+0]>>22}hasWidth(t){return this._data[t*Pe+0]&12582912}getFg(t){return this._data[t*Pe+1]}getBg(t){return this._data[t*Pe+2]}hasContent(t){return this._data[t*Pe+0]&4194303}getCodePoint(t){let r=this._data[t*Pe+0];return r&2097152?this._combined[t].charCodeAt(this._combined[t].length-1):r&2097151}isCombined(t){return this._data[t*Pe+0]&2097152}getString(t){let r=this._data[t*Pe+0];return r&2097152?this._combined[t]:r&2097151?xr(r&2097151):""}isProtected(t){return this._data[t*Pe+2]&536870912}loadCell(t,r){return ra=t*Pe,r.content=this._data[ra+0],r.fg=this._data[ra+1],r.bg=this._data[ra+2],r.content&2097152&&(r.combinedData=this._combined[t]),r.bg&268435456&&(r.extended=this._extendedAttrs[t]),r}setCell(t,r){r.content&2097152&&(this._combined[t]=r.combinedData),r.bg&268435456&&(this._extendedAttrs[t]=r.extended),this._data[t*Pe+0]=r.content,this._data[t*Pe+1]=r.fg,this._data[t*Pe+2]=r.bg}setCellFromCodepoint(t,r,n,o){o.bg&268435456&&(this._extendedAttrs[t]=o.extended),this._data[t*Pe+0]=r|n<<22,this._data[t*Pe+1]=o.fg,this._data[t*Pe+2]=o.bg}addCodepointToCell(t,r,n){let o=this._data[t*Pe+0];o&2097152?this._combined[t]+=xr(r):o&2097151?(this._combined[t]=xr(o&2097151)+xr(r),o&=-2097152,o|=2097152):o=r|1<<22,n&&(o&=-12582913,o|=n<<22),this._data[t*Pe+0]=o}insertCells(t,r,n){if(t%=this.length,t&&this.getWidth(t-1)===2&&this.setCellFromCodepoint(t-1,0,1,n),r<this.length-t){let o=new mi;for(let l=this.length-t-r-1;l>=0;--l)this.setCell(t+r+l,this.loadCell(t+l,o));for(let l=0;l<r;++l)this.setCell(t+l,n)}else for(let o=t;o<this.length;++o)this.setCell(o,n);this.getWidth(this.length-1)===2&&this.setCellFromCodepoint(this.length-1,0,1,n)}deleteCells(t,r,n){if(t%=this.length,r<this.length-t){let o=new mi;for(let l=0;l<this.length-t-r;++l)this.setCell(t+l,this.loadCell(t+r+l,o));for(let l=this.length-r;l<this.length;++l)this.setCell(l,n)}else for(let o=t;o<this.length;++o)this.setCell(o,n);t&&this.getWidth(t-1)===2&&this.setCellFromCodepoint(t-1,0,1,n),this.getWidth(t)===0&&!this.hasContent(t)&&this.setCellFromCodepoint(t,0,1,n)}replaceCells(t,r,n,o=!1){if(o){for(t&&this.getWidth(t-1)===2&&!this.isProtected(t-1)&&this.setCellFromCodepoint(t-1,0,1,n),r<this.length&&this.getWidth(r-1)===2&&!this.isProtected(r)&&this.setCellFromCodepoint(r,0,1,n);t<r&&t<this.length;)this.isProtected(t)||this.setCell(t,n),t++;return}for(t&&this.getWidth(t-1)===2&&this.setCellFromCodepoint(t-1,0,1,n),r<this.length&&this.getWidth(r-1)===2&&this.setCellFromCodepoint(r,0,1,n);t<r&&t<this.length;)this.setCell(t++,n)}resize(t,r){if(t===this.length)return this._data.length*4*Ic<this._data.buffer.byteLength;let n=t*Pe;if(t>this.length){if(this._data.buffer.byteLength>=n*4)this._data=new Uint32Array(this._data.buffer,0,n);else{let o=new Uint32Array(n);o.set(this._data),this._data=o}for(let o=this.length;o<t;++o)this.setCell(o,r)}else{this._data=this._data.subarray(0,n);let o=Object.keys(this._combined);for(let u=0;u<o.length;u++){let f=parseInt(o[u],10);f>=t&&delete this._combined[f]}let l=Object.keys(this._extendedAttrs);for(let u=0;u<l.length;u++){let f=parseInt(l[u],10);f>=t&&delete this._extendedAttrs[f]}}return this.length=t,n*4*Ic<this._data.buffer.byteLength}cleanupMemory(){if(this._data.length*4*Ic<this._data.buffer.byteLength){let t=new Uint32Array(this._data.length);return t.set(this._data),this._data=t,1}return 0}fill(t,r=!1){if(r){for(let n=0;n<this.length;++n)this.isProtected(n)||this.setCell(n,t);return}this._combined={},this._extendedAttrs={};for(let n=0;n<this.length;++n)this.setCell(n,t)}copyFrom(t){this.length!==t.length?this._data=new Uint32Array(t._data):this._data.set(t._data),this.length=t.length,this._combined={};for(let r in t._combined)this._combined[r]=t._combined[r];this._extendedAttrs={};for(let r in t._extendedAttrs)this._extendedAttrs[r]=t._extendedAttrs[r];this.isWrapped=t.isWrapped}clone(){let t=new Sg(0);t._data=new Uint32Array(this._data),t.length=this.length;for(let r in this._combined)t._combined[r]=this._combined[r];for(let r in this._extendedAttrs)t._extendedAttrs[r]=this._extendedAttrs[r];return t.isWrapped=this.isWrapped,t}getTrimmedLength(){for(let t=this.length-1;t>=0;--t)if(this._data[t*Pe+0]&4194303)return t+(this._data[t*Pe+0]>>22);return 0}getNoBgTrimmedLength(){for(let t=this.length-1;t>=0;--t)if(this._data[t*Pe+0]&4194303||this._data[t*Pe+2]&50331648)return t+(this._data[t*Pe+0]>>22);return 0}copyCellsFrom(t,r,n,o,l){let u=t._data;if(l)for(let m=o-1;m>=0;m--){for(let p=0;p<Pe;p++)this._data[(n+m)*Pe+p]=u[(r+m)*Pe+p];u[(r+m)*Pe+2]&268435456&&(this._extendedAttrs[n+m]=t._extendedAttrs[r+m])}else for(let m=0;m<o;m++){for(let p=0;p<Pe;p++)this._data[(n+m)*Pe+p]=u[(r+m)*Pe+p];u[(r+m)*Pe+2]&268435456&&(this._extendedAttrs[n+m]=t._extendedAttrs[r+m])}let f=Object.keys(t._combined);for(let m=0;m<f.length;m++){let p=parseInt(f[m],10);p>=r&&(this._combined[p-r+n]=t._combined[p])}}translateToString(t,r,n,o){r=r??0,n=n??this.length,t&&(n=Math.min(n,this.getTrimmedLength())),o&&(o.length=0);let l="";for(;r<n;){let u=this._data[r*Pe+0],f=u&2097151,m=u&2097152?this._combined[r]:f?xr(f):kr;if(l+=m,o)for(let p=0;p<m.length;++p)o.push(r);r+=u>>22||1}return o&&o.push(r),l}};function Kw(e,t,r,n,o,l){let u=[];for(let f=0;f<e.length-1;f++){let m=f,p=e.get(++m);if(!p.isWrapped)continue;let y=[e.get(f)];for(;m<e.length&&p.isWrapped;)y.push(p),p=e.get(++m);if(!l&&n>=f&&n<m){f+=y.length-1;continue}let v=0,S=Tn(y,v,t),g=1,C=0;for(;g<y.length;){let x=Tn(y,g,t),R=x-C,z=r-S,T=Math.min(R,z);y[v].copyCellsFrom(y[g],C,S,T,!1),S+=T,S===r&&(v++,S=0),C+=T,C===x&&(g++,C=0),S===0&&v!==0&&y[v-1].getWidth(r-1)===2&&(y[v].copyCellsFrom(y[v-1],r-1,S++,1,!1),y[v-1].setCell(r-1,o))}y[v].replaceCells(S,r,o);let E=0;for(let x=y.length-1;x>0&&(x>v||y[x].getTrimmedLength()===0);x--)E++;E>0&&(u.push(f+y.length-E),u.push(E)),f+=y.length-1}return u}function Vw(e,t){let r=[],n=0,o=t[n],l=0;for(let u=0;u<e.length;u++)if(o===u){let f=t[++n];e.onDeleteEmitter.fire({index:u-l,amount:f}),u+=f-1,l+=f,o=t[++n]}else r.push(u);return{layout:r,countRemoved:l}}function Yw(e,t){let r=[];for(let n=0;n<t.length;n++)r.push(e.get(t[n]));for(let n=0;n<r.length;n++)e.set(n,r[n]);e.length=t.length}function Xw(e,t,r){let n=[],o=e.map((m,p)=>Tn(e,p,t)).reduce((m,p)=>m+p),l=0,u=0,f=0;for(;f<o;){if(o-f<r){n.push(o-f);break}l+=r;let m=Tn(e,u,t);l>m&&(l-=m,u++);let p=e[u].getWidth(l-1)===2;p&&l--;let y=p?r-1:r;n.push(y),f+=y}return n}function Tn(e,t,r){if(t===e.length-1)return e[t].getTrimmedLength();let n=!e[t].hasContent(r-1)&&e[t].getWidth(r-1)===1,o=e[t+1].getWidth(0)===2;return n&&o?r-1:r}var wg=class Cg{constructor(t){this.line=t,this.isDisposed=!1,this._disposables=[],this._id=Cg._nextId++,this._onDispose=this.register(new de),this.onDispose=this._onDispose.event}get id(){return this._id}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),Vr(this._disposables),this._disposables.length=0)}register(t){return this._disposables.push(t),t}};wg._nextId=1;var Gw=wg,ut={},Wr=ut.B;ut[0]={"`":"◆",a:"▒",b:"␉",c:"␌",d:"␍",e:"␊",f:"°",g:"±",h:"",i:"␋",j:"┘",k:"┐",l:"┌",m:"└",n:"┼",o:"⎺",p:"⎻",q:"─",r:"⎼",s:"⎽",t:"├",u:"┤",v:"┴",w:"┬",x:"│",y:"≤",z:"≥","{":"π","|":"≠","}":"£","~":"·"};ut.A={"#":"£"};ut.B=void 0;ut[4]={"#":"£","@":"¾","[":"ij","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"};ut.C=ut[5]={"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"};ut.R={"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"};ut.Q={"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"};ut.K={"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"};ut.Y={"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"};ut.E=ut[6]={"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"};ut.Z={"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"};ut.H=ut[7]={"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"};ut["="]={"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"};var om=4294967295,am=class{constructor(e,t,r){this._hasScrollback=e,this._optionsService=t,this._bufferService=r,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=st.clone(),this.savedCharset=Wr,this.markers=[],this._nullCell=mi.fromCharData([0,z_,1,0]),this._whitespaceCell=mi.fromCharData([0,kr,1,32]),this._isClearing=!1,this._memoryCleanupQueue=new Sa,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new nm(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(e){return e?(this._nullCell.fg=e.fg,this._nullCell.bg=e.bg,this._nullCell.extended=e.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new _a),this._nullCell}getWhitespaceCell(e){return e?(this._whitespaceCell.fg=e.fg,this._whitespaceCell.bg=e.bg,this._whitespaceCell.extended=e.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new _a),this._whitespaceCell}getBlankLine(e,t){return new En(this._bufferService.cols,this.getNullCell(e),t)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){let e=this.ybase+this.y-this.ydisp;return e>=0&&e<this._rows}_getCorrectBufferLength(e){if(!this._hasScrollback)return e;let t=e+this._optionsService.rawOptions.scrollback;return t>om?om:t}fillViewportRows(e){if(this.lines.length===0){e===void 0&&(e=st);let t=this._rows;for(;t--;)this.lines.push(this.getBlankLine(e))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new nm(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(e,t){let r=this.getNullCell(st),n=0,o=this._getCorrectBufferLength(t);if(o>this.lines.maxLength&&(this.lines.maxLength=o),this.lines.length>0){if(this._cols<e)for(let u=0;u<this.lines.length;u++)n+=+this.lines.get(u).resize(e,r);let l=0;if(this._rows<t)for(let u=this._rows;u<t;u++)this.lines.length<t+this.ybase&&(this._optionsService.rawOptions.windowsMode||this._optionsService.rawOptions.windowsPty.backend!==void 0||this._optionsService.rawOptions.windowsPty.buildNumber!==void 0?this.lines.push(new En(e,r)):this.ybase>0&&this.lines.length<=this.ybase+this.y+l+1?(this.ybase--,l++,this.ydisp>0&&this.ydisp--):this.lines.push(new En(e,r)));else for(let u=this._rows;u>t;u--)this.lines.length>t+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(o<this.lines.maxLength){let u=this.lines.length-o;u>0&&(this.lines.trimStart(u),this.ybase=Math.max(this.ybase-u,0),this.ydisp=Math.max(this.ydisp-u,0),this.savedY=Math.max(this.savedY-u,0)),this.lines.maxLength=o}this.x=Math.min(this.x,e-1),this.y=Math.min(this.y,t-1),l&&(this.y+=l),this.savedX=Math.min(this.savedX,e-1),this.scrollTop=0}if(this.scrollBottom=t-1,this._isReflowEnabled&&(this._reflow(e,t),this._cols>e))for(let l=0;l<this.lines.length;l++)n+=+this.lines.get(l).resize(e,r);this._cols=e,this._rows=t,this._memoryCleanupQueue.clear(),n>.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue(()=>this._batchedMemoryCleanup()))}_batchedMemoryCleanup(){let e=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,e=!1);let t=0;for(;this._memoryCleanupPosition<this.lines.length;)if(t+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory(),t>100)return!0;return e}get _isReflowEnabled(){let e=this._optionsService.rawOptions.windowsPty;return e&&e.buildNumber?this._hasScrollback&&e.backend==="conpty"&&e.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(e,t){this._cols!==e&&(e>this._cols?this._reflowLarger(e,t):this._reflowSmaller(e,t))}_reflowLarger(e,t){let r=this._optionsService.rawOptions.reflowCursorLine,n=Kw(this.lines,this._cols,e,this.ybase+this.y,this.getNullCell(st),r);if(n.length>0){let o=Vw(this.lines,n);Yw(this.lines,o.layout),this._reflowLargerAdjustViewport(e,t,o.countRemoved)}}_reflowLargerAdjustViewport(e,t,r){let n=this.getNullCell(st),o=r;for(;o-- >0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length<t&&this.lines.push(new En(e,n))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-r,0)}_reflowSmaller(e,t){let r=this._optionsService.rawOptions.reflowCursorLine,n=this.getNullCell(st),o=[],l=0;for(let u=this.lines.length-1;u>=0;u--){let f=this.lines.get(u);if(!f||!f.isWrapped&&f.getTrimmedLength()<=e)continue;let m=[f];for(;f.isWrapped&&u>0;)f=this.lines.get(--u),m.unshift(f);if(!r){let T=this.ybase+this.y;if(T>=u&&T<u+m.length)continue}let p=m[m.length-1].getTrimmedLength(),y=Xw(m,this._cols,e),v=y.length-m.length,S;this.ybase===0&&this.y!==this.lines.length-1?S=Math.max(0,this.y-this.lines.maxLength+v):S=Math.max(0,this.lines.length-this.lines.maxLength+v);let g=[];for(let T=0;T<v;T++){let $=this.getBlankLine(st,!0);g.push($)}g.length>0&&(o.push({start:u+m.length+l,newLines:g}),l+=g.length),m.push(...g);let C=y.length-1,E=y[C];E===0&&(C--,E=y[C]);let x=m.length-v-1,R=p;for(;x>=0;){let T=Math.min(R,E);if(m[C]===void 0)break;if(m[C].copyCellsFrom(m[x],R-T,E-T,T,!0),E-=T,E===0&&(C--,E=y[C]),R-=T,R===0){x--;let $=Math.max(x,0);R=Tn(m,$,this._cols)}}for(let T=0;T<m.length;T++)y[T]<e&&m[T].setCell(y[T],n);let z=v-S;for(;z-- >0;)this.ybase===0?this.y<t-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+l)-t&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+v,this.ybase+t-1)}if(o.length>0){let u=[],f=[];for(let E=0;E<this.lines.length;E++)f.push(this.lines.get(E));let m=this.lines.length,p=m-1,y=0,v=o[y];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+l);let S=0;for(let E=Math.min(this.lines.maxLength-1,m+l-1);E>=0;E--)if(v&&v.start>p+S){for(let x=v.newLines.length-1;x>=0;x--)this.lines.set(E--,v.newLines[x]);E++,u.push({index:p+1,amount:v.newLines.length}),S+=v.newLines.length,v=o[++y]}else this.lines.set(E,f[p--]);let g=0;for(let E=u.length-1;E>=0;E--)u[E].index+=g,this.lines.onInsertEmitter.fire(u[E]),g+=u[E].amount;let C=Math.max(0,m+l-this.lines.maxLength);C>0&&this.lines.onTrimEmitter.fire(C)}}translateBufferLineToString(e,t,r=0,n){let o=this.lines.get(e);return o?o.translateToString(t,r,n):""}getWrappedRangeForLine(e){let t=e,r=e;for(;t>0&&this.lines.get(t).isWrapped;)t--;for(;r+1<this.lines.length&&this.lines.get(r+1).isWrapped;)r++;return{first:t,last:r}}setupTabStops(e){for(e!=null?this.tabs[e]||(e=this.prevStop(e)):(this.tabs={},e=0);e<this._cols;e+=this._optionsService.rawOptions.tabStopWidth)this.tabs[e]=!0}prevStop(e){for(e==null&&(e=this.x);!this.tabs[--e]&&e>0;);return e>=this._cols?this._cols-1:e<0?0:e}nextStop(e){for(e==null&&(e=this.x);!this.tabs[++e]&&e<this._cols;);return e>=this._cols?this._cols-1:e<0?0:e}clearMarkers(e){this._isClearing=!0;for(let t=0;t<this.markers.length;t++)this.markers[t].line===e&&(this.markers[t].dispose(),this.markers.splice(t--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let e=0;e<this.markers.length;e++)this.markers[e].dispose();this.markers.length=0,this._isClearing=!1}addMarker(e){let t=new Gw(e);return this.markers.push(t),t.register(this.lines.onTrim(r=>{t.line-=r,t.line<0&&t.dispose()})),t.register(this.lines.onInsert(r=>{t.line>=r.index&&(t.line+=r.amount)})),t.register(this.lines.onDelete(r=>{t.line>=r.index&&t.line<r.index+r.amount&&t.dispose(),t.line>r.index&&(t.line-=r.amount)})),t.register(t.onDispose(()=>this._removeMarker(t))),t}_removeMarker(e){this._isClearing||this.markers.splice(this.markers.indexOf(e),1)}},Qw=class extends De{constructor(e,t){super(),this._optionsService=e,this._bufferService=t,this._onBufferActivate=this._register(new de),this.onBufferActivate=this._onBufferActivate.event,this.reset(),this._register(this._optionsService.onSpecificOptionChange("scrollback",()=>this.resize(this._bufferService.cols,this._bufferService.rows))),this._register(this._optionsService.onSpecificOptionChange("tabStopWidth",()=>this.setupTabStops()))}reset(){this._normal=new am(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new am(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(e){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(e),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(e,t){this._normal.resize(e,t),this._alt.resize(e,t),this.setupTabStops(e)}setupTabStops(e){this._normal.setupTabStops(e),this._alt.setupTabStops(e)}},bg=2,xg=1,Vu=class extends De{constructor(e){super(),this.isUserScrolling=!1,this._onResize=this._register(new de),this.onResize=this._onResize.event,this._onScroll=this._register(new de),this.onScroll=this._onScroll.event,this.cols=Math.max(e.rawOptions.cols||0,bg),this.rows=Math.max(e.rawOptions.rows||0,xg),this.buffers=this._register(new Qw(e,this)),this._register(this.buffers.onBufferActivate(t=>{this._onScroll.fire(t.activeBuffer.ydisp)}))}get buffer(){return this.buffers.active}resize(e,t){let r=this.cols!==e,n=this.rows!==t;this.cols=e,this.rows=t,this.buffers.resize(e,t),this._onResize.fire({cols:e,rows:t,colsChanged:r,rowsChanged:n})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(e,t=!1){let r=this.buffer,n;n=this._cachedBlankLine,(!n||n.length!==this.cols||n.getFg(0)!==e.fg||n.getBg(0)!==e.bg)&&(n=r.getBlankLine(e,t),this._cachedBlankLine=n),n.isWrapped=t;let o=r.ybase+r.scrollTop,l=r.ybase+r.scrollBottom;if(r.scrollTop===0){let u=r.lines.isFull;l===r.lines.length-1?u?r.lines.recycle().copyFrom(n):r.lines.push(n.clone()):r.lines.splice(l+1,0,n.clone()),u?this.isUserScrolling&&(r.ydisp=Math.max(r.ydisp-1,0)):(r.ybase++,this.isUserScrolling||r.ydisp++)}else{let u=l-o+1;r.lines.shiftElements(o+1,u-1,-1),r.lines.set(l,n.clone())}this.isUserScrolling||(r.ydisp=r.ybase),this._onScroll.fire(r.ydisp)}scrollLines(e,t){let r=this.buffer;if(e<0){if(r.ydisp===0)return;this.isUserScrolling=!0}else e+r.ydisp>=r.ybase&&(this.isUserScrolling=!1);let n=r.ydisp;r.ydisp=Math.max(Math.min(r.ydisp+e,r.ybase),0),n!==r.ydisp&&(t||this._onScroll.fire(r.ydisp))}};Vu=Je([pe(0,At)],Vu);var xs={cols:80,rows:24,cursorBlink:!1,cursorStyle:"block",cursorWidth:1,cursorInactiveStyle:"outline",customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:"alt",fastScrollSensitivity:5,fontFamily:"monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:"info",logger:null,scrollback:1e3,scrollOnEraseInDisplay:!1,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},reflowCursorLine:!1,rescaleOverlappingGlyphs:!1,rightClickSelectsWord:ya,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:" ()[]{}',\"`",altClickMovesCursor:!0,convertEol:!1,termName:"xterm",cancelEvents:!1,overviewRuler:{}},Jw=["normal","bold","100","200","300","400","500","600","700","800","900"],Zw=class extends De{constructor(e){super(),this._onOptionChange=this._register(new de),this.onOptionChange=this._onOptionChange.event;let t={...xs};for(let r in e)if(r in t)try{let n=e[r];t[r]=this._sanitizeAndValidateOption(r,n)}catch(n){console.error(n)}this.rawOptions=t,this.options={...t},this._setupOptions(),this._register(qe(()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null}))}onSpecificOptionChange(e,t){return this.onOptionChange(r=>{r===e&&t(this.rawOptions[e])})}onMultipleOptionChange(e,t){return this.onOptionChange(r=>{e.indexOf(r)!==-1&&t()})}_setupOptions(){let e=r=>{if(!(r in xs))throw new Error(`No option with key "${r}"`);return this.rawOptions[r]},t=(r,n)=>{if(!(r in xs))throw new Error(`No option with key "${r}"`);n=this._sanitizeAndValidateOption(r,n),this.rawOptions[r]!==n&&(this.rawOptions[r]=n,this._onOptionChange.fire(r))};for(let r in this.rawOptions){let n={get:e.bind(this,r),set:t.bind(this,r)};Object.defineProperty(this.options,r,n)}}_sanitizeAndValidateOption(e,t){switch(e){case"cursorStyle":if(t||(t=xs[e]),!e1(t))throw new Error(`"${t}" is not a valid value for ${e}`);break;case"wordSeparator":t||(t=xs[e]);break;case"fontWeight":case"fontWeightBold":if(typeof t=="number"&&1<=t&&t<=1e3)break;t=Jw.includes(t)?t:xs[e];break;case"cursorWidth":t=Math.floor(t);case"lineHeight":case"tabStopWidth":if(t<1)throw new Error(`${e} cannot be less than 1, value: ${t}`);break;case"minimumContrastRatio":t=Math.max(1,Math.min(21,Math.round(t*10)/10));break;case"scrollback":if(t=Math.min(t,4294967295),t<0)throw new Error(`${e} cannot be less than 0, value: ${t}`);break;case"fastScrollSensitivity":case"scrollSensitivity":if(t<=0)throw new Error(`${e} cannot be less than or equal to 0, value: ${t}`);break;case"rows":case"cols":if(!t&&t!==0)throw new Error(`${e} must be numeric, value: ${t}`);break;case"windowsPty":t=t??{};break}return t}};function e1(e){return e==="block"||e==="underline"||e==="bar"}function Nn(e,t=5){if(typeof e!="object")return e;let r=Array.isArray(e)?[]:{};for(let n in e)r[n]=t<=1?e[n]:e[n]&&Nn(e[n],t-1);return r}var lm=Object.freeze({insertMode:!1}),cm=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,cursorBlink:void 0,cursorStyle:void 0,origin:!1,reverseWraparound:!1,sendFocus:!1,synchronizedOutput:!1,wraparound:!0}),Yu=class extends De{constructor(e,t,r){super(),this._bufferService=e,this._logService=t,this._optionsService=r,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this._register(new de),this.onData=this._onData.event,this._onUserInput=this._register(new de),this.onUserInput=this._onUserInput.event,this._onBinary=this._register(new de),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this._register(new de),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=Nn(lm),this.decPrivateModes=Nn(cm)}reset(){this.modes=Nn(lm),this.decPrivateModes=Nn(cm)}triggerDataEvent(e,t=!1){if(this._optionsService.rawOptions.disableStdin)return;let r=this._bufferService.buffer;t&&this._optionsService.rawOptions.scrollOnUserInput&&r.ybase!==r.ydisp&&this._onRequestScrollToBottom.fire(),t&&this._onUserInput.fire(),this._logService.debug(`sending data "${e}"`),this._logService.trace("sending data (codes)",()=>e.split("").map(n=>n.charCodeAt(0))),this._onData.fire(e)}triggerBinaryEvent(e){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${e}"`),this._logService.trace("sending binary (codes)",()=>e.split("").map(t=>t.charCodeAt(0))),this._onBinary.fire(e))}};Yu=Je([pe(0,jt),pe(1,U_),pe(2,At)],Yu);var um={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:e=>e.button===4||e.action!==1?!1:(e.ctrl=!1,e.alt=!1,e.shift=!1,!0)},VT200:{events:19,restrict:e=>e.action!==32},DRAG:{events:23,restrict:e=>!(e.action===32&&e.button===3)},ANY:{events:31,restrict:e=>!0}};function Oc(e,t){let r=(e.ctrl?16:0)|(e.shift?4:0)|(e.alt?8:0);return e.button===4?(r|=64,r|=e.action):(r|=e.button&3,e.button&4&&(r|=64),e.button&8&&(r|=128),e.action===32?r|=32:e.action===0&&!t&&(r|=3)),r}var zc=String.fromCharCode,hm={DEFAULT:e=>{let t=[Oc(e,!1)+32,e.col+32,e.row+32];return t[0]>255||t[1]>255||t[2]>255?"":`\x1B[M${zc(t[0])}${zc(t[1])}${zc(t[2])}`},SGR:e=>{let t=e.action===0&&e.button!==4?"m":"M";return`\x1B[<${Oc(e,!0)};${e.col};${e.row}${t}`},SGR_PIXELS:e=>{let t=e.action===0&&e.button!==4?"m":"M";return`\x1B[<${Oc(e,!0)};${e.x};${e.y}${t}`}},Xu=class extends De{constructor(e,t,r){super(),this._bufferService=e,this._coreService=t,this._optionsService=r,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._lastEvent=null,this._wheelPartialScroll=0,this._onProtocolChange=this._register(new de),this.onProtocolChange=this._onProtocolChange.event;for(let n of Object.keys(um))this.addProtocol(n,um[n]);for(let n of Object.keys(hm))this.addEncoding(n,hm[n]);this.reset()}addProtocol(e,t){this._protocols[e]=t}addEncoding(e,t){this._encodings[e]=t}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(e){if(!this._protocols[e])throw new Error(`unknown protocol "${e}"`);this._activeProtocol=e,this._onProtocolChange.fire(this._protocols[e].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(e){if(!this._encodings[e])throw new Error(`unknown encoding "${e}"`);this._activeEncoding=e}reset(){this.activeProtocol="NONE",this.activeEncoding="DEFAULT",this._lastEvent=null,this._wheelPartialScroll=0}consumeWheelEvent(e,t,r){if(e.deltaY===0||e.shiftKey||t===void 0||r===void 0)return 0;let n=t/r,o=this._applyScrollModifier(e.deltaY,e);return e.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(o/=n+0,Math.abs(e.deltaY)<50&&(o*=.3),this._wheelPartialScroll+=o,o=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(o*=this._bufferService.rows),o}_applyScrollModifier(e,t){return t.altKey||t.ctrlKey||t.shiftKey?e*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:e*this._optionsService.rawOptions.scrollSensitivity}triggerMouseEvent(e){if(e.col<0||e.col>=this._bufferService.cols||e.row<0||e.row>=this._bufferService.rows||e.button===4&&e.action===32||e.button===3&&e.action!==32||e.button!==4&&(e.action===2||e.action===3)||(e.col++,e.row++,e.action===32&&this._lastEvent&&this._equalEvents(this._lastEvent,e,this._activeEncoding==="SGR_PIXELS"))||!this._protocols[this._activeProtocol].restrict(e))return!1;let t=this._encodings[this._activeEncoding](e);return t&&(this._activeEncoding==="DEFAULT"?this._coreService.triggerBinaryEvent(t):this._coreService.triggerDataEvent(t,!0)),this._lastEvent=e,!0}explainEvents(e){return{down:!!(e&1),up:!!(e&2),drag:!!(e&4),move:!!(e&8),wheel:!!(e&16)}}_equalEvents(e,t,r){if(r){if(e.x!==t.x||e.y!==t.y)return!1}else if(e.col!==t.col||e.row!==t.row)return!1;return!(e.button!==t.button||e.action!==t.action||e.ctrl!==t.ctrl||e.alt!==t.alt||e.shift!==t.shift)}};Xu=Je([pe(0,jt),pe(1,Gr),pe(2,At)],Xu);var Fc=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],t1=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]],ct;function i1(e,t){let r=0,n=t.length-1,o;if(e<t[0][0]||e>t[n][1])return!1;for(;n>=r;)if(o=r+n>>1,e>t[o][1])r=o+1;else if(e<t[o][0])n=o-1;else return!0;return!1}var r1=class{constructor(){if(this.version="6",!ct){ct=new Uint8Array(65536),ct.fill(1),ct[0]=0,ct.fill(0,1,32),ct.fill(0,127,160),ct.fill(2,4352,4448),ct[9001]=2,ct[9002]=2,ct.fill(2,11904,42192),ct[12351]=1,ct.fill(2,44032,55204),ct.fill(2,63744,64256),ct.fill(2,65040,65050),ct.fill(2,65072,65136),ct.fill(2,65280,65377),ct.fill(2,65504,65511);for(let e=0;e<Fc.length;++e)ct.fill(0,Fc[e][0],Fc[e][1]+1)}}wcwidth(e){return e<32?0:e<127?1:e<65536?ct[e]:i1(e,t1)?0:e>=131072&&e<=196605||e>=196608&&e<=262141?2:1}charProperties(e,t){let r=this.wcwidth(e),n=r===0&&t!==0;if(n){let o=qr.extractWidth(t);o===0?n=!1:o>r&&(r=o)}return qr.createPropertyValue(0,r,n)}},qr=class fa{constructor(){this._providers=Object.create(null),this._active="",this._onChange=new de,this.onChange=this._onChange.event;let t=new r1;this.register(t),this._active=t.version,this._activeProvider=t}static extractShouldJoin(t){return(t&1)!==0}static extractWidth(t){return t>>1&3}static extractCharKind(t){return t>>3}static createPropertyValue(t,r,n=!1){return(t&16777215)<<3|(r&3)<<1|(n?1:0)}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(t){if(!this._providers[t])throw new Error(`unknown Unicode version "${t}"`);this._active=t,this._activeProvider=this._providers[t],this._onChange.fire(t)}register(t){this._providers[t.version]=t}wcwidth(t){return this._activeProvider.wcwidth(t)}getStringCellWidth(t){let r=0,n=0,o=t.length;for(let l=0;l<o;++l){let u=t.charCodeAt(l);if(55296<=u&&u<=56319){if(++l>=o)return r+this.wcwidth(u);let p=t.charCodeAt(l);56320<=p&&p<=57343?u=(u-55296)*1024+p-56320+65536:r+=this.wcwidth(p)}let f=this.charProperties(u,n),m=fa.extractWidth(f);fa.extractShouldJoin(f)&&(m-=fa.extractWidth(n)),r+=m,n=f}return r}charProperties(t,r){return this._activeProvider.charProperties(t,r)}},s1=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(e){this.glevel=e,this.charset=this._charsets[e]}setgCharset(e,t){this._charsets[e]=t,this.glevel===e&&(this.charset=t)}};function dm(e){var n;let t=(n=e.buffer.lines.get(e.buffer.ybase+e.buffer.y-1))==null?void 0:n.get(e.cols-1),r=e.buffer.lines.get(e.buffer.ybase+e.buffer.y);r&&t&&(r.isWrapped=t[3]!==0&&t[3]!==32)}var yn=2147483647,n1=256,kg=class Gu{constructor(t=32,r=32){if(this.maxLength=t,this.maxSubParamsLength=r,r>n1)throw new Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(t),this.length=0,this._subParams=new Int32Array(r),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(t),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}static fromArray(t){let r=new Gu;if(!t.length)return r;for(let n=Array.isArray(t[0])?1:0;n<t.length;++n){let o=t[n];if(Array.isArray(o))for(let l=0;l<o.length;++l)r.addSubParam(o[l]);else r.addParam(o)}return r}clone(){let t=new Gu(this.maxLength,this.maxSubParamsLength);return t.params.set(this.params),t.length=this.length,t._subParams.set(this._subParams),t._subParamsLength=this._subParamsLength,t._subParamsIdx.set(this._subParamsIdx),t._rejectDigits=this._rejectDigits,t._rejectSubDigits=this._rejectSubDigits,t._digitIsSub=this._digitIsSub,t}toArray(){let t=[];for(let r=0;r<this.length;++r){t.push(this.params[r]);let n=this._subParamsIdx[r]>>8,o=this._subParamsIdx[r]&255;o-n>0&&t.push(Array.prototype.slice.call(this._subParams,n,o))}return t}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(t){if(this._digitIsSub=!1,this.length>=this.maxLength){this._rejectDigits=!0;return}if(t<-1)throw new Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=t>yn?yn:t}addSubParam(t){if(this._digitIsSub=!0,!!this.length){if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength){this._rejectSubDigits=!0;return}if(t<-1)throw new Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=t>yn?yn:t,this._subParamsIdx[this.length-1]++}}hasSubParams(t){return(this._subParamsIdx[t]&255)-(this._subParamsIdx[t]>>8)>0}getSubParams(t){let r=this._subParamsIdx[t]>>8,n=this._subParamsIdx[t]&255;return n-r>0?this._subParams.subarray(r,n):null}getSubParamsAll(){let t={};for(let r=0;r<this.length;++r){let n=this._subParamsIdx[r]>>8,o=this._subParamsIdx[r]&255;o-n>0&&(t[r]=this._subParams.slice(n,o))}return t}addDigit(t){let r;if(this._rejectDigits||!(r=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;let n=this._digitIsSub?this._subParams:this.params,o=n[r-1];n[r-1]=~o?Math.min(o*10+t,yn):t}},Sn=[],o1=class{constructor(){this._state=0,this._active=Sn,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(e,t){this._handlers[e]===void 0&&(this._handlers[e]=[]);let r=this._handlers[e];return r.push(t),{dispose:()=>{let n=r.indexOf(t);n!==-1&&r.splice(n,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=Sn}reset(){if(this._state===2)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].end(!1);this._stack.paused=!1,this._active=Sn,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||Sn,!this._active.length)this._handlerFb(this._id,"START");else for(let e=this._active.length-1;e>=0;e--)this._active[e].start()}_put(e,t,r){if(!this._active.length)this._handlerFb(this._id,"PUT",Pa(e,t,r));else for(let n=this._active.length-1;n>=0;n--)this._active[n].put(e,t,r)}start(){this.reset(),this._state=1}put(e,t,r){if(this._state!==3){if(this._state===1)for(;t<r;){let n=e[t++];if(n===59){this._state=2,this._start();break}if(n<48||57<n){this._state=3;return}this._id===-1&&(this._id=0),this._id=this._id*10+n-48}this._state===2&&r-t>0&&this._put(e,t,r)}}end(e,t=!0){if(this._state!==0){if(this._state!==3)if(this._state===1&&this._start(),!this._active.length)this._handlerFb(this._id,"END",e);else{let r=!1,n=this._active.length-1,o=!1;if(this._stack.paused&&(n=this._stack.loopPosition-1,r=t,o=this._stack.fallThrough,this._stack.paused=!1),!o&&r===!1){for(;n>=0&&(r=this._active[n].end(e),r!==!0);n--)if(r instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=n,this._stack.fallThrough=!1,r;n--}for(;n>=0;n--)if(r=this._active[n].end(!1),r instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=n,this._stack.fallThrough=!0,r}this._active=Sn,this._id=-1,this._state=0}}},Jt=class{constructor(e){this._handler=e,this._data="",this._hitLimit=!1}start(){this._data="",this._hitLimit=!1}put(e,t,r){this._hitLimit||(this._data+=Pa(e,t,r),this._data.length>1e7&&(this._data="",this._hitLimit=!0))}end(e){let t=!1;if(this._hitLimit)t=!1;else if(e&&(t=this._handler(this._data),t instanceof Promise))return t.then(r=>(this._data="",this._hitLimit=!1,r));return this._data="",this._hitLimit=!1,t}},wn=[],a1=class{constructor(){this._handlers=Object.create(null),this._active=wn,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=wn}registerHandler(e,t){this._handlers[e]===void 0&&(this._handlers[e]=[]);let r=this._handlers[e];return r.push(t),{dispose:()=>{let n=r.indexOf(t);n!==-1&&r.splice(n,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}reset(){if(this._active.length)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].unhook(!1);this._stack.paused=!1,this._active=wn,this._ident=0}hook(e,t){if(this.reset(),this._ident=e,this._active=this._handlers[e]||wn,!this._active.length)this._handlerFb(this._ident,"HOOK",t);else for(let r=this._active.length-1;r>=0;r--)this._active[r].hook(t)}put(e,t,r){if(!this._active.length)this._handlerFb(this._ident,"PUT",Pa(e,t,r));else for(let n=this._active.length-1;n>=0;n--)this._active[n].put(e,t,r)}unhook(e,t=!0){if(!this._active.length)this._handlerFb(this._ident,"UNHOOK",e);else{let r=!1,n=this._active.length-1,o=!1;if(this._stack.paused&&(n=this._stack.loopPosition-1,r=t,o=this._stack.fallThrough,this._stack.paused=!1),!o&&r===!1){for(;n>=0&&(r=this._active[n].unhook(e),r!==!0);n--)if(r instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=n,this._stack.fallThrough=!1,r;n--}for(;n>=0;n--)if(r=this._active[n].unhook(!1),r instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=n,this._stack.fallThrough=!0,r}this._active=wn,this._ident=0}},Rn=new kg;Rn.addParam(0);var fm=class{constructor(e){this._handler=e,this._data="",this._params=Rn,this._hitLimit=!1}hook(e){this._params=e.length>1||e.params[0]?e.clone():Rn,this._data="",this._hitLimit=!1}put(e,t,r){this._hitLimit||(this._data+=Pa(e,t,r),this._data.length>1e7&&(this._data="",this._hitLimit=!0))}unhook(e){let t=!1;if(this._hitLimit)t=!1;else if(e&&(t=this._handler(this._data,this._params),t instanceof Promise))return t.then(r=>(this._params=Rn,this._data="",this._hitLimit=!1,r));return this._params=Rn,this._data="",this._hitLimit=!1,t}},l1=class{constructor(e){this.table=new Uint8Array(e)}setDefault(e,t){this.table.fill(e<<4|t)}add(e,t,r,n){this.table[t<<8|e]=r<<4|n}addMany(e,t,r,n){for(let o=0;o<e.length;o++)this.table[t<<8|e[o]]=r<<4|n}},pi=160,c1=(function(){let e=new l1(4095),t=Array.apply(null,Array(256)).map((f,m)=>m),r=(f,m)=>t.slice(f,m),n=r(32,127),o=r(0,24);o.push(25),o.push.apply(o,r(28,32));let l=r(0,14),u;e.setDefault(1,0),e.addMany(n,0,2,0);for(u in l)e.addMany([24,26,153,154],u,3,0),e.addMany(r(128,144),u,3,0),e.addMany(r(144,152),u,3,0),e.add(156,u,0,0),e.add(27,u,11,1),e.add(157,u,4,8),e.addMany([152,158,159],u,0,7),e.add(155,u,11,3),e.add(144,u,11,9);return e.addMany(o,0,3,0),e.addMany(o,1,3,1),e.add(127,1,0,1),e.addMany(o,8,0,8),e.addMany(o,3,3,3),e.add(127,3,0,3),e.addMany(o,4,3,4),e.add(127,4,0,4),e.addMany(o,6,3,6),e.addMany(o,5,3,5),e.add(127,5,0,5),e.addMany(o,2,3,2),e.add(127,2,0,2),e.add(93,1,4,8),e.addMany(n,8,5,8),e.add(127,8,5,8),e.addMany([156,27,24,26,7],8,6,0),e.addMany(r(28,32),8,0,8),e.addMany([88,94,95],1,0,7),e.addMany(n,7,0,7),e.addMany(o,7,0,7),e.add(156,7,0,0),e.add(127,7,0,7),e.add(91,1,11,3),e.addMany(r(64,127),3,7,0),e.addMany(r(48,60),3,8,4),e.addMany([60,61,62,63],3,9,4),e.addMany(r(48,60),4,8,4),e.addMany(r(64,127),4,7,0),e.addMany([60,61,62,63],4,0,6),e.addMany(r(32,64),6,0,6),e.add(127,6,0,6),e.addMany(r(64,127),6,0,0),e.addMany(r(32,48),3,9,5),e.addMany(r(32,48),5,9,5),e.addMany(r(48,64),5,0,6),e.addMany(r(64,127),5,7,0),e.addMany(r(32,48),4,9,5),e.addMany(r(32,48),1,9,2),e.addMany(r(32,48),2,9,2),e.addMany(r(48,127),2,10,0),e.addMany(r(48,80),1,10,0),e.addMany(r(81,88),1,10,0),e.addMany([89,90,92],1,10,0),e.addMany(r(96,127),1,10,0),e.add(80,1,11,9),e.addMany(o,9,0,9),e.add(127,9,0,9),e.addMany(r(28,32),9,0,9),e.addMany(r(32,48),9,9,12),e.addMany(r(48,60),9,8,10),e.addMany([60,61,62,63],9,9,10),e.addMany(o,11,0,11),e.addMany(r(32,128),11,0,11),e.addMany(r(28,32),11,0,11),e.addMany(o,10,0,10),e.add(127,10,0,10),e.addMany(r(28,32),10,0,10),e.addMany(r(48,60),10,8,10),e.addMany([60,61,62,63],10,0,11),e.addMany(r(32,48),10,9,12),e.addMany(o,12,0,12),e.add(127,12,0,12),e.addMany(r(28,32),12,0,12),e.addMany(r(32,48),12,9,12),e.addMany(r(48,64),12,0,11),e.addMany(r(64,127),12,12,13),e.addMany(r(64,127),10,12,13),e.addMany(r(64,127),9,12,13),e.addMany(o,13,13,13),e.addMany(n,13,13,13),e.add(127,13,0,13),e.addMany([27,156,24,26],13,14,0),e.add(pi,0,2,0),e.add(pi,8,5,8),e.add(pi,6,0,6),e.add(pi,11,0,11),e.add(pi,13,13,13),e})(),u1=class extends De{constructor(e=c1){super(),this._transitions=e,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new kg,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(t,r,n)=>{},this._executeHandlerFb=t=>{},this._csiHandlerFb=(t,r)=>{},this._escHandlerFb=t=>{},this._errorHandlerFb=t=>t,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this._register(qe(()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)})),this._oscParser=this._register(new o1),this._dcsParser=this._register(new a1),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:"\\"},()=>!0)}_identifier(e,t=[64,126]){let r=0;if(e.prefix){if(e.prefix.length>1)throw new Error("only one byte as prefix supported");if(r=e.prefix.charCodeAt(0),r&&60>r||r>63)throw new Error("prefix must be in range 0x3c .. 0x3f")}if(e.intermediates){if(e.intermediates.length>2)throw new Error("only two bytes as intermediates are supported");for(let o=0;o<e.intermediates.length;++o){let l=e.intermediates.charCodeAt(o);if(32>l||l>47)throw new Error("intermediate must be in range 0x20 .. 0x2f");r<<=8,r|=l}}if(e.final.length!==1)throw new Error("final must be a single byte");let n=e.final.charCodeAt(0);if(t[0]>n||n>t[1])throw new Error(`final must be in range ${t[0]} .. ${t[1]}`);return r<<=8,r|=n,r}identToString(e){let t=[];for(;e;)t.push(String.fromCharCode(e&255)),e>>=8;return t.reverse().join("")}setPrintHandler(e){this._printHandler=e}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(e,t){let r=this._identifier(e,[48,126]);this._escHandlers[r]===void 0&&(this._escHandlers[r]=[]);let n=this._escHandlers[r];return n.push(t),{dispose:()=>{let o=n.indexOf(t);o!==-1&&n.splice(o,1)}}}clearEscHandler(e){this._escHandlers[this._identifier(e,[48,126])]&&delete this._escHandlers[this._identifier(e,[48,126])]}setEscHandlerFallback(e){this._escHandlerFb=e}setExecuteHandler(e,t){this._executeHandlers[e.charCodeAt(0)]=t}clearExecuteHandler(e){this._executeHandlers[e.charCodeAt(0)]&&delete this._executeHandlers[e.charCodeAt(0)]}setExecuteHandlerFallback(e){this._executeHandlerFb=e}registerCsiHandler(e,t){let r=this._identifier(e);this._csiHandlers[r]===void 0&&(this._csiHandlers[r]=[]);let n=this._csiHandlers[r];return n.push(t),{dispose:()=>{let o=n.indexOf(t);o!==-1&&n.splice(o,1)}}}clearCsiHandler(e){this._csiHandlers[this._identifier(e)]&&delete this._csiHandlers[this._identifier(e)]}setCsiHandlerFallback(e){this._csiHandlerFb=e}registerDcsHandler(e,t){return this._dcsParser.registerHandler(this._identifier(e),t)}clearDcsHandler(e){this._dcsParser.clearHandler(this._identifier(e))}setDcsHandlerFallback(e){this._dcsParser.setHandlerFallback(e)}registerOscHandler(e,t){return this._oscParser.registerHandler(e,t)}clearOscHandler(e){this._oscParser.clearHandler(e)}setOscHandlerFallback(e){this._oscParser.setHandlerFallback(e)}setErrorHandler(e){this._errorHandler=e}clearErrorHandler(){this._errorHandler=this._errorHandlerFb}reset(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._parseStack.state!==0&&(this._parseStack.state=2,this._parseStack.handlers=[])}_preserveStack(e,t,r,n,o){this._parseStack.state=e,this._parseStack.handlers=t,this._parseStack.handlerPos=r,this._parseStack.transition=n,this._parseStack.chunkPos=o}parse(e,t,r){let n=0,o=0,l=0,u;if(this._parseStack.state)if(this._parseStack.state===2)this._parseStack.state=0,l=this._parseStack.chunkPos+1;else{if(r===void 0||this._parseStack.state===1)throw this._parseStack.state=1,new Error("improper continuation due to previous async handler, giving up parsing");let f=this._parseStack.handlers,m=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(r===!1&&m>-1){for(;m>=0&&(u=f[m](this._params),u!==!0);m--)if(u instanceof Promise)return this._parseStack.handlerPos=m,u}this._parseStack.handlers=[];break;case 4:if(r===!1&&m>-1){for(;m>=0&&(u=f[m](),u!==!0);m--)if(u instanceof Promise)return this._parseStack.handlerPos=m,u}this._parseStack.handlers=[];break;case 6:if(n=e[this._parseStack.chunkPos],u=this._dcsParser.unhook(n!==24&&n!==26,r),u)return u;n===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(n=e[this._parseStack.chunkPos],u=this._oscParser.end(n!==24&&n!==26,r),u)return u;n===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break}this._parseStack.state=0,l=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=this._parseStack.transition&15}for(let f=l;f<t;++f){switch(n=e[f],o=this._transitions.table[this.currentState<<8|(n<160?n:pi)],o>>4){case 2:for(let S=f+1;;++S){if(S>=t||(n=e[S])<32||n>126&&n<pi){this._printHandler(e,f,S),f=S-1;break}if(++S>=t||(n=e[S])<32||n>126&&n<pi){this._printHandler(e,f,S),f=S-1;break}if(++S>=t||(n=e[S])<32||n>126&&n<pi){this._printHandler(e,f,S),f=S-1;break}if(++S>=t||(n=e[S])<32||n>126&&n<pi){this._printHandler(e,f,S),f=S-1;break}}break;case 3:this._executeHandlers[n]?this._executeHandlers[n]():this._executeHandlerFb(n),this.precedingJoinState=0;break;case 0:break;case 1:if(this._errorHandler({position:f,code:n,currentState:this.currentState,collect:this._collect,params:this._params,abort:!1}).abort)return;break;case 7:let m=this._csiHandlers[this._collect<<8|n],p=m?m.length-1:-1;for(;p>=0&&(u=m[p](this._params),u!==!0);p--)if(u instanceof Promise)return this._preserveStack(3,m,p,o,f),u;p<0&&this._csiHandlerFb(this._collect<<8|n,this._params),this.precedingJoinState=0;break;case 8:do switch(n){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(n-48)}while(++f<t&&(n=e[f])>47&&n<60);f--;break;case 9:this._collect<<=8,this._collect|=n;break;case 10:let y=this._escHandlers[this._collect<<8|n],v=y?y.length-1:-1;for(;v>=0&&(u=y[v](),u!==!0);v--)if(u instanceof Promise)return this._preserveStack(4,y,v,o,f),u;v<0&&this._escHandlerFb(this._collect<<8|n),this.precedingJoinState=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|n,this._params);break;case 13:for(let S=f+1;;++S)if(S>=t||(n=e[S])===24||n===26||n===27||n>127&&n<pi){this._dcsParser.put(e,f,S),f=S-1;break}break;case 14:if(u=this._dcsParser.unhook(n!==24&&n!==26),u)return this._preserveStack(6,[],0,o,f),u;n===27&&(o|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0;break;case 4:this._oscParser.start();break;case 5:for(let S=f+1;;S++)if(S>=t||(n=e[S])<32||n>127&&n<pi){this._oscParser.put(e,f,S),f=S-1;break}break;case 6:if(u=this._oscParser.end(n!==24&&n!==26),u)return this._preserveStack(5,[],0,o,f),u;n===27&&(o|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0;break}this.currentState=o&15}}},h1=/^([\da-f])\/([\da-f])\/([\da-f])$|^([\da-f]{2})\/([\da-f]{2})\/([\da-f]{2})$|^([\da-f]{3})\/([\da-f]{3})\/([\da-f]{3})$|^([\da-f]{4})\/([\da-f]{4})\/([\da-f]{4})$/,d1=/^[\da-f]+$/;function pm(e){if(!e)return;let t=e.toLowerCase();if(t.indexOf("rgb:")===0){t=t.slice(4);let r=h1.exec(t);if(r){let n=r[1]?15:r[4]?255:r[7]?4095:65535;return[Math.round(parseInt(r[1]||r[4]||r[7]||r[10],16)/n*255),Math.round(parseInt(r[2]||r[5]||r[8]||r[11],16)/n*255),Math.round(parseInt(r[3]||r[6]||r[9]||r[12],16)/n*255)]}}else if(t.indexOf("#")===0&&(t=t.slice(1),d1.exec(t)&&[3,6,9,12].includes(t.length))){let r=t.length/3,n=[0,0,0];for(let o=0;o<3;++o){let l=parseInt(t.slice(r*o,r*o+r),16);n[o]=r===1?l<<4:r===2?l:r===3?l>>4:l>>8}return n}}function Hc(e,t){let r=e.toString(16),n=r.length<2?"0"+r:r;switch(t){case 4:return r[0];case 8:return n;case 12:return(n+n).slice(0,3);default:return n+n}}function f1(e,t=16){let[r,n,o]=e;return`rgb:${Hc(r,t)}/${Hc(n,t)}/${Hc(o,t)}`}var p1={"(":0,")":1,"*":2,"+":3,"-":1,".":2},Cr=131072,mm=10;function _m(e,t){if(e>24)return t.setWinLines||!1;switch(e){case 1:return!!t.restoreWin;case 2:return!!t.minimizeWin;case 3:return!!t.setWinPosition;case 4:return!!t.setWinSizePixels;case 5:return!!t.raiseWin;case 6:return!!t.lowerWin;case 7:return!!t.refreshWin;case 8:return!!t.setWinSizeChars;case 9:return!!t.maximizeWin;case 10:return!!t.fullscreenWin;case 11:return!!t.getWinState;case 13:return!!t.getWinPosition;case 14:return!!t.getWinSizePixels;case 15:return!!t.getScreenSizePixels;case 16:return!!t.getCellSizePixels;case 18:return!!t.getWinSizeChars;case 19:return!!t.getScreenSizeChars;case 20:return!!t.getIconTitle;case 21:return!!t.getWinTitle;case 22:return!!t.pushTitle;case 23:return!!t.popTitle;case 24:return!!t.setWinLines}return!1}var gm=5e3,vm=0,m1=class extends De{constructor(e,t,r,n,o,l,u,f,m=new u1){super(),this._bufferService=e,this._charsetService=t,this._coreService=r,this._logService=n,this._optionsService=o,this._oscLinkService=l,this._coreMouseService=u,this._unicodeService=f,this._parser=m,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new BS,this._utf8Decoder=new jS,this._windowTitle="",this._iconName="",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=st.clone(),this._eraseAttrDataInternal=st.clone(),this._onRequestBell=this._register(new de),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this._register(new de),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this._register(new de),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this._register(new de),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this._register(new de),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this._register(new de),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this._register(new de),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this._register(new de),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this._register(new de),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this._register(new de),this.onLineFeed=this._onLineFeed.event,this._onScroll=this._register(new de),this.onScroll=this._onScroll.event,this._onTitleChange=this._register(new de),this.onTitleChange=this._onTitleChange.event,this._onColor=this._register(new de),this.onColor=this._onColor.event,this._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},this._specialColors=[256,257,258],this._register(this._parser),this._dirtyRowTracker=new Qu(this._bufferService),this._activeBuffer=this._bufferService.buffer,this._register(this._bufferService.buffers.onBufferActivate(p=>this._activeBuffer=p.activeBuffer)),this._parser.setCsiHandlerFallback((p,y)=>{this._logService.debug("Unknown CSI code: ",{identifier:this._parser.identToString(p),params:y.toArray()})}),this._parser.setEscHandlerFallback(p=>{this._logService.debug("Unknown ESC code: ",{identifier:this._parser.identToString(p)})}),this._parser.setExecuteHandlerFallback(p=>{this._logService.debug("Unknown EXECUTE code: ",{code:p})}),this._parser.setOscHandlerFallback((p,y,v)=>{this._logService.debug("Unknown OSC code: ",{identifier:p,action:y,data:v})}),this._parser.setDcsHandlerFallback((p,y,v)=>{y==="HOOK"&&(v=v.toArray()),this._logService.debug("Unknown DCS code: ",{identifier:this._parser.identToString(p),action:y,payload:v})}),this._parser.setPrintHandler((p,y,v)=>this.print(p,y,v)),this._parser.registerCsiHandler({final:"@"},p=>this.insertChars(p)),this._parser.registerCsiHandler({intermediates:" ",final:"@"},p=>this.scrollLeft(p)),this._parser.registerCsiHandler({final:"A"},p=>this.cursorUp(p)),this._parser.registerCsiHandler({intermediates:" ",final:"A"},p=>this.scrollRight(p)),this._parser.registerCsiHandler({final:"B"},p=>this.cursorDown(p)),this._parser.registerCsiHandler({final:"C"},p=>this.cursorForward(p)),this._parser.registerCsiHandler({final:"D"},p=>this.cursorBackward(p)),this._parser.registerCsiHandler({final:"E"},p=>this.cursorNextLine(p)),this._parser.registerCsiHandler({final:"F"},p=>this.cursorPrecedingLine(p)),this._parser.registerCsiHandler({final:"G"},p=>this.cursorCharAbsolute(p)),this._parser.registerCsiHandler({final:"H"},p=>this.cursorPosition(p)),this._parser.registerCsiHandler({final:"I"},p=>this.cursorForwardTab(p)),this._parser.registerCsiHandler({final:"J"},p=>this.eraseInDisplay(p,!1)),this._parser.registerCsiHandler({prefix:"?",final:"J"},p=>this.eraseInDisplay(p,!0)),this._parser.registerCsiHandler({final:"K"},p=>this.eraseInLine(p,!1)),this._parser.registerCsiHandler({prefix:"?",final:"K"},p=>this.eraseInLine(p,!0)),this._parser.registerCsiHandler({final:"L"},p=>this.insertLines(p)),this._parser.registerCsiHandler({final:"M"},p=>this.deleteLines(p)),this._parser.registerCsiHandler({final:"P"},p=>this.deleteChars(p)),this._parser.registerCsiHandler({final:"S"},p=>this.scrollUp(p)),this._parser.registerCsiHandler({final:"T"},p=>this.scrollDown(p)),this._parser.registerCsiHandler({final:"X"},p=>this.eraseChars(p)),this._parser.registerCsiHandler({final:"Z"},p=>this.cursorBackwardTab(p)),this._parser.registerCsiHandler({final:"`"},p=>this.charPosAbsolute(p)),this._parser.registerCsiHandler({final:"a"},p=>this.hPositionRelative(p)),this._parser.registerCsiHandler({final:"b"},p=>this.repeatPrecedingCharacter(p)),this._parser.registerCsiHandler({final:"c"},p=>this.sendDeviceAttributesPrimary(p)),this._parser.registerCsiHandler({prefix:">",final:"c"},p=>this.sendDeviceAttributesSecondary(p)),this._parser.registerCsiHandler({final:"d"},p=>this.linePosAbsolute(p)),this._parser.registerCsiHandler({final:"e"},p=>this.vPositionRelative(p)),this._parser.registerCsiHandler({final:"f"},p=>this.hVPosition(p)),this._parser.registerCsiHandler({final:"g"},p=>this.tabClear(p)),this._parser.registerCsiHandler({final:"h"},p=>this.setMode(p)),this._parser.registerCsiHandler({prefix:"?",final:"h"},p=>this.setModePrivate(p)),this._parser.registerCsiHandler({final:"l"},p=>this.resetMode(p)),this._parser.registerCsiHandler({prefix:"?",final:"l"},p=>this.resetModePrivate(p)),this._parser.registerCsiHandler({final:"m"},p=>this.charAttributes(p)),this._parser.registerCsiHandler({final:"n"},p=>this.deviceStatus(p)),this._parser.registerCsiHandler({prefix:"?",final:"n"},p=>this.deviceStatusPrivate(p)),this._parser.registerCsiHandler({intermediates:"!",final:"p"},p=>this.softReset(p)),this._parser.registerCsiHandler({intermediates:" ",final:"q"},p=>this.setCursorStyle(p)),this._parser.registerCsiHandler({final:"r"},p=>this.setScrollRegion(p)),this._parser.registerCsiHandler({final:"s"},p=>this.saveCursor(p)),this._parser.registerCsiHandler({final:"t"},p=>this.windowOptions(p)),this._parser.registerCsiHandler({final:"u"},p=>this.restoreCursor(p)),this._parser.registerCsiHandler({intermediates:"'",final:"}"},p=>this.insertColumns(p)),this._parser.registerCsiHandler({intermediates:"'",final:"~"},p=>this.deleteColumns(p)),this._parser.registerCsiHandler({intermediates:'"',final:"q"},p=>this.selectProtected(p)),this._parser.registerCsiHandler({intermediates:"$",final:"p"},p=>this.requestMode(p,!0)),this._parser.registerCsiHandler({prefix:"?",intermediates:"$",final:"p"},p=>this.requestMode(p,!1)),this._parser.setExecuteHandler(se.BEL,()=>this.bell()),this._parser.setExecuteHandler(se.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(se.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(se.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(se.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(se.BS,()=>this.backspace()),this._parser.setExecuteHandler(se.HT,()=>this.tab()),this._parser.setExecuteHandler(se.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(se.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(ha.IND,()=>this.index()),this._parser.setExecuteHandler(ha.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(ha.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new Jt(p=>(this.setTitle(p),this.setIconName(p),!0))),this._parser.registerOscHandler(1,new Jt(p=>this.setIconName(p))),this._parser.registerOscHandler(2,new Jt(p=>this.setTitle(p))),this._parser.registerOscHandler(4,new Jt(p=>this.setOrReportIndexedColor(p))),this._parser.registerOscHandler(8,new Jt(p=>this.setHyperlink(p))),this._parser.registerOscHandler(10,new Jt(p=>this.setOrReportFgColor(p))),this._parser.registerOscHandler(11,new Jt(p=>this.setOrReportBgColor(p))),this._parser.registerOscHandler(12,new Jt(p=>this.setOrReportCursorColor(p))),this._parser.registerOscHandler(104,new Jt(p=>this.restoreIndexedColor(p))),this._parser.registerOscHandler(110,new Jt(p=>this.restoreFgColor(p))),this._parser.registerOscHandler(111,new Jt(p=>this.restoreBgColor(p))),this._parser.registerOscHandler(112,new Jt(p=>this.restoreCursorColor(p))),this._parser.registerEscHandler({final:"7"},()=>this.saveCursor()),this._parser.registerEscHandler({final:"8"},()=>this.restoreCursor()),this._parser.registerEscHandler({final:"D"},()=>this.index()),this._parser.registerEscHandler({final:"E"},()=>this.nextLine()),this._parser.registerEscHandler({final:"H"},()=>this.tabSet()),this._parser.registerEscHandler({final:"M"},()=>this.reverseIndex()),this._parser.registerEscHandler({final:"="},()=>this.keypadApplicationMode()),this._parser.registerEscHandler({final:">"},()=>this.keypadNumericMode()),this._parser.registerEscHandler({final:"c"},()=>this.fullReset()),this._parser.registerEscHandler({final:"n"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"o"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"|"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"}"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"~"},()=>this.setgLevel(1)),this._parser.registerEscHandler({intermediates:"%",final:"@"},()=>this.selectDefaultCharset()),this._parser.registerEscHandler({intermediates:"%",final:"G"},()=>this.selectDefaultCharset());for(let p in ut)this._parser.registerEscHandler({intermediates:"(",final:p},()=>this.selectCharset("("+p)),this._parser.registerEscHandler({intermediates:")",final:p},()=>this.selectCharset(")"+p)),this._parser.registerEscHandler({intermediates:"*",final:p},()=>this.selectCharset("*"+p)),this._parser.registerEscHandler({intermediates:"+",final:p},()=>this.selectCharset("+"+p)),this._parser.registerEscHandler({intermediates:"-",final:p},()=>this.selectCharset("-"+p)),this._parser.registerEscHandler({intermediates:".",final:p},()=>this.selectCharset("."+p)),this._parser.registerEscHandler({intermediates:"/",final:p},()=>this.selectCharset("/"+p));this._parser.registerEscHandler({intermediates:"#",final:"8"},()=>this.screenAlignmentPattern()),this._parser.setErrorHandler(p=>(this._logService.error("Parsing error: ",p),p)),this._parser.registerDcsHandler({intermediates:"$",final:"q"},new fm((p,y)=>this.requestStatusString(p,y)))}getAttrData(){return this._curAttrData}_preserveStack(e,t,r,n){this._parseStack.paused=!0,this._parseStack.cursorStartX=e,this._parseStack.cursorStartY=t,this._parseStack.decodedLength=r,this._parseStack.position=n}_logSlowResolvingAsync(e){this._logService.logLevel<=3&&Promise.race([e,new Promise((t,r)=>setTimeout(()=>r("#SLOW_TIMEOUT"),gm))]).catch(t=>{if(t!=="#SLOW_TIMEOUT")throw t;console.warn(`async parser handler taking longer than ${gm} ms`)})}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(e,t){let r,n=this._activeBuffer.x,o=this._activeBuffer.y,l=0,u=this._parseStack.paused;if(u){if(r=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,t))return this._logSlowResolvingAsync(r),r;n=this._parseStack.cursorStartX,o=this._parseStack.cursorStartY,this._parseStack.paused=!1,e.length>Cr&&(l=this._parseStack.position+Cr)}if(this._logService.logLevel<=1&&this._logService.debug(`parsing data ${typeof e=="string"?` "${e}"`:` "${Array.prototype.map.call(e,p=>String.fromCharCode(p)).join("")}"`}`),this._logService.logLevel===0&&this._logService.trace("parsing data (codes)",typeof e=="string"?e.split("").map(p=>p.charCodeAt(0)):e),this._parseBuffer.length<e.length&&this._parseBuffer.length<Cr&&(this._parseBuffer=new Uint32Array(Math.min(e.length,Cr))),u||this._dirtyRowTracker.clearRange(),e.length>Cr)for(let p=l;p<e.length;p+=Cr){let y=p+Cr<e.length?p+Cr:e.length,v=typeof e=="string"?this._stringDecoder.decode(e.substring(p,y),this._parseBuffer):this._utf8Decoder.decode(e.subarray(p,y),this._parseBuffer);if(r=this._parser.parse(this._parseBuffer,v))return this._preserveStack(n,o,v,p),this._logSlowResolvingAsync(r),r}else if(!u){let p=typeof e=="string"?this._stringDecoder.decode(e,this._parseBuffer):this._utf8Decoder.decode(e,this._parseBuffer);if(r=this._parser.parse(this._parseBuffer,p))return this._preserveStack(n,o,p,0),this._logSlowResolvingAsync(r),r}(this._activeBuffer.x!==n||this._activeBuffer.y!==o)&&this._onCursorMove.fire();let f=this._dirtyRowTracker.end+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp),m=this._dirtyRowTracker.start+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp);m<this._bufferService.rows&&this._onRequestRefreshRows.fire({start:Math.min(m,this._bufferService.rows-1),end:Math.min(f,this._bufferService.rows-1)})}print(e,t,r){let n,o,l=this._charsetService.charset,u=this._optionsService.rawOptions.screenReaderMode,f=this._bufferService.cols,m=this._coreService.decPrivateModes.wraparound,p=this._coreService.modes.insertMode,y=this._curAttrData,v=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&r-t>0&&v.getWidth(this._activeBuffer.x-1)===2&&v.setCellFromCodepoint(this._activeBuffer.x-1,0,1,y);let S=this._parser.precedingJoinState;for(let g=t;g<r;++g){if(n=e[g],n<127&&l){let R=l[String.fromCharCode(n)];R&&(n=R.charCodeAt(0))}let C=this._unicodeService.charProperties(n,S);o=qr.extractWidth(C);let E=qr.extractShouldJoin(C),x=E?qr.extractWidth(S):0;if(S=C,u&&this._onA11yChar.fire(xr(n)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),this._activeBuffer.x+o-x>f){if(m){let R=v,z=this._activeBuffer.x-x;for(this._activeBuffer.x=x,this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData(),!0)):(this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!0),v=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),x>0&&v instanceof En&&v.copyCellsFrom(R,z,0,x,!1);z<f;)R.setCellFromCodepoint(z++,0,1,y)}else if(this._activeBuffer.x=f-1,o===2)continue}if(E&&this._activeBuffer.x){let R=v.getWidth(this._activeBuffer.x-1)?1:2;v.addCodepointToCell(this._activeBuffer.x-R,n,o);for(let z=o-x;--z>=0;)v.setCellFromCodepoint(this._activeBuffer.x++,0,0,y);continue}if(p&&(v.insertCells(this._activeBuffer.x,o-x,this._activeBuffer.getNullCell(y)),v.getWidth(f-1)===2&&v.setCellFromCodepoint(f-1,0,1,y)),v.setCellFromCodepoint(this._activeBuffer.x++,n,o,y),o>0)for(;--o;)v.setCellFromCodepoint(this._activeBuffer.x++,0,0,y)}this._parser.precedingJoinState=S,this._activeBuffer.x<f&&r-t>0&&v.getWidth(this._activeBuffer.x)===0&&!v.hasContent(this._activeBuffer.x)&&v.setCellFromCodepoint(this._activeBuffer.x,0,1,y),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(e,t){return e.final==="t"&&!e.prefix&&!e.intermediates?this._parser.registerCsiHandler(e,r=>_m(r.params[0],this._optionsService.rawOptions.windowOptions)?t(r):!0):this._parser.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._parser.registerDcsHandler(e,new fm(t))}registerEscHandler(e,t){return this._parser.registerEscHandler(e,t)}registerOscHandler(e,t){return this._parser.registerOscHandler(e,new Jt(t))}bell(){return this._onRequestBell.fire(),!0}lineFeed(){return this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._optionsService.rawOptions.convertEol&&(this._activeBuffer.x=0),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows?this._activeBuffer.y=this._bufferService.rows-1:this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.x>=this._bufferService.cols&&this._activeBuffer.x--,this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._onLineFeed.fire(),!0}carriageReturn(){return this._activeBuffer.x=0,!0}backspace(){var e;if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),this._activeBuffer.x>0&&this._activeBuffer.x--,!0;if(this._restrictCursor(this._bufferService.cols),this._activeBuffer.x>0)this._activeBuffer.x--;else if(this._activeBuffer.x===0&&this._activeBuffer.y>this._activeBuffer.scrollTop&&this._activeBuffer.y<=this._activeBuffer.scrollBottom&&((e=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y))!=null&&e.isWrapped)){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;let t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);t.hasWidth(this._activeBuffer.x)&&!t.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let e=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-e),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(e=this._bufferService.cols-1){this._activeBuffer.x=Math.min(e,Math.max(0,this._activeBuffer.x)),this._activeBuffer.y=this._coreService.decPrivateModes.origin?Math.min(this._activeBuffer.scrollBottom,Math.max(this._activeBuffer.scrollTop,this._activeBuffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._activeBuffer.y)),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_setCursor(e,t){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=e,this._activeBuffer.y=this._activeBuffer.scrollTop+t):(this._activeBuffer.x=e,this._activeBuffer.y=t),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(e,t){this._restrictCursor(),this._setCursor(this._activeBuffer.x+e,this._activeBuffer.y+t)}cursorUp(e){let t=this._activeBuffer.y-this._activeBuffer.scrollTop;return t>=0?this._moveCursor(0,-Math.min(t,e.params[0]||1)):this._moveCursor(0,-(e.params[0]||1)),!0}cursorDown(e){let t=this._activeBuffer.scrollBottom-this._activeBuffer.y;return t>=0?this._moveCursor(0,Math.min(t,e.params[0]||1)):this._moveCursor(0,e.params[0]||1),!0}cursorForward(e){return this._moveCursor(e.params[0]||1,0),!0}cursorBackward(e){return this._moveCursor(-(e.params[0]||1),0),!0}cursorNextLine(e){return this.cursorDown(e),this._activeBuffer.x=0,!0}cursorPrecedingLine(e){return this.cursorUp(e),this._activeBuffer.x=0,!0}cursorCharAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(e){return this._setCursor(e.length>=2?(e.params[1]||1)-1:0,(e.params[0]||1)-1),!0}charPosAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(e){return this._moveCursor(e.params[0]||1,0),!0}linePosAbsolute(e){return this._setCursor(this._activeBuffer.x,(e.params[0]||1)-1),!0}vPositionRelative(e){return this._moveCursor(0,e.params[0]||1),!0}hVPosition(e){return this.cursorPosition(e),!0}tabClear(e){let t=e.params[0];return t===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:t===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(e){let t=e.params[0];return t===1&&(this._curAttrData.bg|=536870912),(t===2||t===0)&&(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(e,t,r,n=!1,o=!1){let l=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);l.replaceCells(t,r,this._activeBuffer.getNullCell(this._eraseAttrData()),o),n&&(l.isWrapped=!1)}_resetBufferLine(e,t=!1){let r=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);r&&(r.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),t),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+e),r.isWrapped=!1)}eraseInDisplay(e,t=!1){var n;this._restrictCursor(this._bufferService.cols);let r;switch(e.params[0]){case 0:for(r=this._activeBuffer.y,this._dirtyRowTracker.markDirty(r),this._eraseInBufferLine(r++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,t);r<this._bufferService.rows;r++)this._resetBufferLine(r,t);this._dirtyRowTracker.markDirty(r);break;case 1:for(r=this._activeBuffer.y,this._dirtyRowTracker.markDirty(r),this._eraseInBufferLine(r,0,this._activeBuffer.x+1,!0,t),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(r+1).isWrapped=!1);r--;)this._resetBufferLine(r,t);this._dirtyRowTracker.markDirty(0);break;case 2:if(this._optionsService.rawOptions.scrollOnEraseInDisplay){for(r=this._bufferService.rows,this._dirtyRowTracker.markRangeDirty(0,r-1);r--&&!((n=this._activeBuffer.lines.get(this._activeBuffer.ybase+r))!=null&&n.getTrimmedLength()););for(;r>=0;r--)this._bufferService.scroll(this._eraseAttrData())}else{for(r=this._bufferService.rows,this._dirtyRowTracker.markDirty(r-1);r--;)this._resetBufferLine(r,t);this._dirtyRowTracker.markDirty(0)}break;case 3:let o=this._activeBuffer.lines.length-this._bufferService.rows;o>0&&(this._activeBuffer.lines.trimStart(o),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-o,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-o,0),this._onScroll.fire(0));break}return!0}eraseInLine(e,t=!1){switch(this._restrictCursor(this._bufferService.cols),e.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,t);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,t);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,t);break}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(e){this._restrictCursor();let t=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let r=this._activeBuffer.ybase+this._activeBuffer.y,n=this._bufferService.rows-1-this._activeBuffer.scrollBottom,o=this._bufferService.rows-1+this._activeBuffer.ybase-n+1;for(;t--;)this._activeBuffer.lines.splice(o-1,1),this._activeBuffer.lines.splice(r,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}deleteLines(e){this._restrictCursor();let t=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let r=this._activeBuffer.ybase+this._activeBuffer.y,n;for(n=this._bufferService.rows-1-this._activeBuffer.scrollBottom,n=this._bufferService.rows-1+this._activeBuffer.ybase-n;t--;)this._activeBuffer.lines.splice(r,1),this._activeBuffer.lines.splice(n,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}insertChars(e){this._restrictCursor();let t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t&&(t.insertCells(this._activeBuffer.x,e.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}deleteChars(e){this._restrictCursor();let t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t&&(t.deleteCells(this._activeBuffer.x,e.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(e){let t=e.params[0]||1;for(;t--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollDown(e){let t=e.params[0]||1;for(;t--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,0,this._activeBuffer.getBlankLine(st));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollLeft(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let t=e.params[0]||1;for(let r=this._activeBuffer.scrollTop;r<=this._activeBuffer.scrollBottom;++r){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+r);n.deleteCells(0,t,this._activeBuffer.getNullCell(this._eraseAttrData())),n.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollRight(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let t=e.params[0]||1;for(let r=this._activeBuffer.scrollTop;r<=this._activeBuffer.scrollBottom;++r){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+r);n.insertCells(0,t,this._activeBuffer.getNullCell(this._eraseAttrData())),n.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}insertColumns(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let t=e.params[0]||1;for(let r=this._activeBuffer.scrollTop;r<=this._activeBuffer.scrollBottom;++r){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+r);n.insertCells(this._activeBuffer.x,t,this._activeBuffer.getNullCell(this._eraseAttrData())),n.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}deleteColumns(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;let t=e.params[0]||1;for(let r=this._activeBuffer.scrollTop;r<=this._activeBuffer.scrollBottom;++r){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+r);n.deleteCells(this._activeBuffer.x,t,this._activeBuffer.getNullCell(this._eraseAttrData())),n.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(e){this._restrictCursor();let t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t&&(t.replaceCells(this._activeBuffer.x,this._activeBuffer.x+(e.params[0]||1),this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}repeatPrecedingCharacter(e){let t=this._parser.precedingJoinState;if(!t)return!0;let r=e.params[0]||1,n=qr.extractWidth(t),o=this._activeBuffer.x-n,l=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).getString(o),u=new Uint32Array(l.length*r),f=0;for(let p=0;p<l.length;){let y=l.codePointAt(p)||0;u[f++]=y,p+=y>65535?2:1}let m=f;for(let p=1;p<r;++p)u.copyWithin(m,0,f),m+=f;return this.print(u,0,m),!0}sendDeviceAttributesPrimary(e){return e.params[0]>0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(se.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(se.ESC+"[?6c")),!0}sendDeviceAttributesSecondary(e){return e.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(se.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(se.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(e.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(se.ESC+"[>83;40003;0c")),!0}_is(e){return(this._optionsService.rawOptions.termName+"").indexOf(e)===0}setMode(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0;break}return!0}setModePrivate(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,Wr),this._charsetService.setgCharset(1,Wr),this._charsetService.setgCharset(2,Wr),this._charsetService.setgCharset(3,Wr);break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(132,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!0,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!0;break;case 12:this._optionsService.options.cursorBlink=!0;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!0;break;case 66:this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire();break;case 9:this._coreMouseService.activeProtocol="X10";break;case 1e3:this._coreMouseService.activeProtocol="VT200";break;case 1002:this._coreMouseService.activeProtocol="DRAG";break;case 1003:this._coreMouseService.activeProtocol="ANY";break;case 1004:this._coreService.decPrivateModes.sendFocus=!0,this._onRequestSendFocus.fire();break;case 1005:this._logService.debug("DECSET 1005 not supported (see #2507)");break;case 1006:this._coreMouseService.activeEncoding="SGR";break;case 1015:this._logService.debug("DECSET 1015 not supported (see #2507)");break;case 1016:this._coreMouseService.activeEncoding="SGR_PIXELS";break;case 25:this._coreService.isCursorHidden=!1;break;case 1048:this.saveCursor();break;case 1049:this.saveCursor();case 47:case 1047:this._bufferService.buffers.activateAltBuffer(this._eraseAttrData()),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!0;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!0;break}return!0}resetMode(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1;break}return!0}resetModePrivate(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!1;break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(80,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!1,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!1;break;case 12:this._optionsService.options.cursorBlink=!1;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!1;break;case 66:this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire();break;case 9:case 1e3:case 1002:case 1003:this._coreMouseService.activeProtocol="NONE";break;case 1004:this._coreService.decPrivateModes.sendFocus=!1;break;case 1005:this._logService.debug("DECRST 1005 not supported (see #2507)");break;case 1006:this._coreMouseService.activeEncoding="DEFAULT";break;case 1015:this._logService.debug("DECRST 1015 not supported (see #2507)");break;case 1016:this._coreMouseService.activeEncoding="DEFAULT";break;case 25:this._coreService.isCursorHidden=!0;break;case 1048:this.restoreCursor();break;case 1049:case 47:case 1047:this._bufferService.buffers.activateNormalBuffer(),e.params[t]===1049&&this.restoreCursor(),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(void 0),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!1;break;case 2026:this._coreService.decPrivateModes.synchronizedOutput=!1,this._onRequestRefreshRows.fire(void 0);break}return!0}requestMode(e,t){(E=>(E[E.NOT_RECOGNIZED=0]="NOT_RECOGNIZED",E[E.SET=1]="SET",E[E.RESET=2]="RESET",E[E.PERMANENTLY_SET=3]="PERMANENTLY_SET",E[E.PERMANENTLY_RESET=4]="PERMANENTLY_RESET"))(void 0||(r={}));let n=this._coreService.decPrivateModes,{activeProtocol:o,activeEncoding:l}=this._coreMouseService,u=this._coreService,{buffers:f,cols:m}=this._bufferService,{active:p,alt:y}=f,v=this._optionsService.rawOptions,S=(E,x)=>(u.triggerDataEvent(`${se.ESC}[${t?"":"?"}${E};${x}$y`),!0),g=E=>E?1:2,C=e.params[0];return t?C===2?S(C,4):C===4?S(C,g(u.modes.insertMode)):C===12?S(C,3):C===20?S(C,g(v.convertEol)):S(C,0):C===1?S(C,g(n.applicationCursorKeys)):C===3?S(C,v.windowOptions.setWinLines?m===80?2:m===132?1:0:0):C===6?S(C,g(n.origin)):C===7?S(C,g(n.wraparound)):C===8?S(C,3):C===9?S(C,g(o==="X10")):C===12?S(C,g(v.cursorBlink)):C===25?S(C,g(!u.isCursorHidden)):C===45?S(C,g(n.reverseWraparound)):C===66?S(C,g(n.applicationKeypad)):C===67?S(C,4):C===1e3?S(C,g(o==="VT200")):C===1002?S(C,g(o==="DRAG")):C===1003?S(C,g(o==="ANY")):C===1004?S(C,g(n.sendFocus)):C===1005?S(C,4):C===1006?S(C,g(l==="SGR")):C===1015?S(C,4):C===1016?S(C,g(l==="SGR_PIXELS")):C===1048?S(C,1):C===47||C===1047||C===1049?S(C,g(p===y)):C===2004?S(C,g(n.bracketedPasteMode)):C===2026?S(C,g(n.synchronizedOutput)):S(C,0)}_updateAttrColor(e,t,r,n,o){return t===2?(e|=50331648,e&=-16777216,e|=jn.fromColorRGB([r,n,o])):t===5&&(e&=-50331904,e|=33554432|r&255),e}_extractColor(e,t,r){let n=[0,0,-1,0,0,0],o=0,l=0;do{if(n[l+o]=e.params[t+l],e.hasSubParams(t+l)){let u=e.getSubParams(t+l),f=0;do n[1]===5&&(o=1),n[l+f+1+o]=u[f];while(++f<u.length&&f+l+1+o<n.length);break}if(n[1]===5&&l+o>=2||n[1]===2&&l+o>=5)break;n[1]&&(o=1)}while(++l+t<e.length&&l+o<n.length);for(let u=2;u<n.length;++u)n[u]===-1&&(n[u]=0);switch(n[0]){case 38:r.fg=this._updateAttrColor(r.fg,n[1],n[3],n[4],n[5]);break;case 48:r.bg=this._updateAttrColor(r.bg,n[1],n[3],n[4],n[5]);break;case 58:r.extended=r.extended.clone(),r.extended.underlineColor=this._updateAttrColor(r.extended.underlineColor,n[1],n[3],n[4],n[5])}return l}_processUnderline(e,t){t.extended=t.extended.clone(),(!~e||e>5)&&(e=1),t.extended.underlineStyle=e,t.fg|=268435456,e===0&&(t.fg&=-268435457),t.updateExtended()}_processSGR0(e){e.fg=st.fg,e.bg=st.bg,e.extended=e.extended.clone(),e.extended.underlineStyle=0,e.extended.underlineColor&=-67108864,e.updateExtended()}charAttributes(e){if(e.length===1&&e.params[0]===0)return this._processSGR0(this._curAttrData),!0;let t=e.length,r,n=this._curAttrData;for(let o=0;o<t;o++)r=e.params[o],r>=30&&r<=37?(n.fg&=-50331904,n.fg|=16777216|r-30):r>=40&&r<=47?(n.bg&=-50331904,n.bg|=16777216|r-40):r>=90&&r<=97?(n.fg&=-50331904,n.fg|=16777216|r-90|8):r>=100&&r<=107?(n.bg&=-50331904,n.bg|=16777216|r-100|8):r===0?this._processSGR0(n):r===1?n.fg|=134217728:r===3?n.bg|=67108864:r===4?(n.fg|=268435456,this._processUnderline(e.hasSubParams(o)?e.getSubParams(o)[0]:1,n)):r===5?n.fg|=536870912:r===7?n.fg|=67108864:r===8?n.fg|=1073741824:r===9?n.fg|=2147483648:r===2?n.bg|=134217728:r===21?this._processUnderline(2,n):r===22?(n.fg&=-134217729,n.bg&=-134217729):r===23?n.bg&=-67108865:r===24?(n.fg&=-268435457,this._processUnderline(0,n)):r===25?n.fg&=-536870913:r===27?n.fg&=-67108865:r===28?n.fg&=-1073741825:r===29?n.fg&=2147483647:r===39?(n.fg&=-67108864,n.fg|=st.fg&16777215):r===49?(n.bg&=-67108864,n.bg|=st.bg&16777215):r===38||r===48||r===58?o+=this._extractColor(e,o,n):r===53?n.bg|=1073741824:r===55?n.bg&=-1073741825:r===59?(n.extended=n.extended.clone(),n.extended.underlineColor=-1,n.updateExtended()):r===100?(n.fg&=-67108864,n.fg|=st.fg&16777215,n.bg&=-67108864,n.bg|=st.bg&16777215):this._logService.debug("Unknown SGR attribute: %d.",r);return!0}deviceStatus(e){switch(e.params[0]){case 5:this._coreService.triggerDataEvent(`${se.ESC}[0n`);break;case 6:let t=this._activeBuffer.y+1,r=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${se.ESC}[${t};${r}R`);break}return!0}deviceStatusPrivate(e){switch(e.params[0]){case 6:let t=this._activeBuffer.y+1,r=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${se.ESC}[?${t};${r}R`);break}return!0}softReset(e){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=st.clone(),this._coreService.reset(),this._charsetService.reset(),this._activeBuffer.savedX=0,this._activeBuffer.savedY=this._activeBuffer.ybase,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0}setCursorStyle(e){let t=e.length===0?1:e.params[0];if(t===0)this._coreService.decPrivateModes.cursorStyle=void 0,this._coreService.decPrivateModes.cursorBlink=void 0;else{switch(t){case 1:case 2:this._coreService.decPrivateModes.cursorStyle="block";break;case 3:case 4:this._coreService.decPrivateModes.cursorStyle="underline";break;case 5:case 6:this._coreService.decPrivateModes.cursorStyle="bar";break}let r=t%2===1;this._coreService.decPrivateModes.cursorBlink=r}return!0}setScrollRegion(e){let t=e.params[0]||1,r;return(e.length<2||(r=e.params[1])>this._bufferService.rows||r===0)&&(r=this._bufferService.rows),r>t&&(this._activeBuffer.scrollTop=t-1,this._activeBuffer.scrollBottom=r-1,this._setCursor(0,0)),!0}windowOptions(e){if(!_m(e.params[0],this._optionsService.rawOptions.windowOptions))return!0;let t=e.length>1?e.params[1]:0;switch(e.params[0]){case 14:t!==2&&this._onRequestWindowsOptionsReport.fire(0);break;case 16:this._onRequestWindowsOptionsReport.fire(1);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${se.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:(t===0||t===2)&&(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>mm&&this._windowTitleStack.shift()),(t===0||t===1)&&(this._iconNameStack.push(this._iconName),this._iconNameStack.length>mm&&this._iconNameStack.shift());break;case 23:(t===0||t===2)&&this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),(t===0||t===1)&&this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop());break}return!0}saveCursor(e){return this._activeBuffer.savedX=this._activeBuffer.x,this._activeBuffer.savedY=this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,!0}restoreCursor(e){return this._activeBuffer.x=this._activeBuffer.savedX||0,this._activeBuffer.y=Math.max(this._activeBuffer.savedY-this._activeBuffer.ybase,0),this._curAttrData.fg=this._activeBuffer.savedCurAttrData.fg,this._curAttrData.bg=this._activeBuffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._activeBuffer.savedCharset&&(this._charsetService.charset=this._activeBuffer.savedCharset),this._restrictCursor(),!0}setTitle(e){return this._windowTitle=e,this._onTitleChange.fire(e),!0}setIconName(e){return this._iconName=e,!0}setOrReportIndexedColor(e){let t=[],r=e.split(";");for(;r.length>1;){let n=r.shift(),o=r.shift();if(/^\d+$/.exec(n)){let l=parseInt(n);if(ym(l))if(o==="?")t.push({type:0,index:l});else{let u=pm(o);u&&t.push({type:1,index:l,color:u})}}}return t.length&&this._onColor.fire(t),!0}setHyperlink(e){let t=e.indexOf(";");if(t===-1)return!0;let r=e.slice(0,t).trim(),n=e.slice(t+1);return n?this._createHyperlink(r,n):r.trim()?!1:this._finishHyperlink()}_createHyperlink(e,t){this._getCurrentLinkId()&&this._finishHyperlink();let r=e.split(":"),n,o=r.findIndex(l=>l.startsWith("id="));return o!==-1&&(n=r[o].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:n,uri:t}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(e,t){let r=e.split(";");for(let n=0;n<r.length&&!(t>=this._specialColors.length);++n,++t)if(r[n]==="?")this._onColor.fire([{type:0,index:this._specialColors[t]}]);else{let o=pm(r[n]);o&&this._onColor.fire([{type:1,index:this._specialColors[t],color:o}])}return!0}setOrReportFgColor(e){return this._setOrReportSpecialColor(e,0)}setOrReportBgColor(e){return this._setOrReportSpecialColor(e,1)}setOrReportCursorColor(e){return this._setOrReportSpecialColor(e,2)}restoreIndexedColor(e){if(!e)return this._onColor.fire([{type:2}]),!0;let t=[],r=e.split(";");for(let n=0;n<r.length;++n)if(/^\d+$/.exec(r[n])){let o=parseInt(r[n]);ym(o)&&t.push({type:2,index:o})}return t.length&&this._onColor.fire(t),!0}restoreFgColor(e){return this._onColor.fire([{type:2,index:256}]),!0}restoreBgColor(e){return this._onColor.fire([{type:2,index:257}]),!0}restoreCursorColor(e){return this._onColor.fire([{type:2,index:258}]),!0}nextLine(){return this._activeBuffer.x=0,this.index(),!0}keypadApplicationMode(){return this._logService.debug("Serial port requested application keypad."),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire(),!0}keypadNumericMode(){return this._logService.debug("Switching back to normal keypad."),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire(),!0}selectDefaultCharset(){return this._charsetService.setgLevel(0),this._charsetService.setgCharset(0,Wr),!0}selectCharset(e){return e.length!==2?(this.selectDefaultCharset(),!0):(e[0]==="/"||this._charsetService.setgCharset(p1[e[0]],ut[e[1]]||Wr),!0)}index(){return this._restrictCursor(),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._restrictCursor(),!0}tabSet(){return this._activeBuffer.tabs[this._activeBuffer.x]=!0,!0}reverseIndex(){if(this._restrictCursor(),this._activeBuffer.y===this._activeBuffer.scrollTop){let e=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,e,1),this._activeBuffer.lines.set(this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.getBlankLine(this._eraseAttrData())),this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom)}else this._activeBuffer.y--,this._restrictCursor();return!0}fullReset(){return this._parser.reset(),this._onRequestReset.fire(),!0}reset(){this._curAttrData=st.clone(),this._eraseAttrDataInternal=st.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=this._curAttrData.bg&67108863,this._eraseAttrDataInternal}setgLevel(e){return this._charsetService.setgLevel(e),!0}screenAlignmentPattern(){let e=new mi;e.content=1<<22|69,e.fg=this._curAttrData.fg,e.bg=this._curAttrData.bg,this._setCursor(0,0);for(let t=0;t<this._bufferService.rows;++t){let r=this._activeBuffer.ybase+this._activeBuffer.y+t,n=this._activeBuffer.lines.get(r);n&&(n.fill(e),n.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(e,t){let r=u=>(this._coreService.triggerDataEvent(`${se.ESC}${u}${se.ESC}\\`),!0),n=this._bufferService.buffer,o=this._optionsService.rawOptions;return r(e==='"q'?`P1$r${this._curAttrData.isProtected()?1:0}"q`:e==='"p'?'P1$r61;1"p':e==="r"?`P1$r${n.scrollTop+1};${n.scrollBottom+1}r`:e==="m"?"P1$r0m":e===" q"?`P1$r${{block:2,underline:4,bar:6}[o.cursorStyle]-(o.cursorBlink?1:0)} q`:"P0$r")}markRangeDirty(e,t){this._dirtyRowTracker.markRangeDirty(e,t)}},Qu=class{constructor(e){this._bufferService=e,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(e){e<this.start?this.start=e:e>this.end&&(this.end=e)}markRangeDirty(e,t){e>t&&(vm=e,e=t,t=vm),e<this.start&&(this.start=e),t>this.end&&(this.end=t)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};Qu=Je([pe(0,jt)],Qu);function ym(e){return 0<=e&&e<256}var _1=5e7,Sm=12,g1=50,v1=class extends De{constructor(e){super(),this._action=e,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this._register(new de),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(e,t){if(t!==void 0&&this._syncCalls>t){this._syncCalls=0;return}if(this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;this._isSyncWriting=!0;let r;for(;r=this._writeBuffer.shift();){this._action(r);let n=this._callbacks.shift();n&&n()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(e,t){if(this._pendingData>_1)throw new Error("write data discarded, use flow control to avoid losing data");if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput){this._didUserInput=!1,this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t),this._innerWrite();return}setTimeout(()=>this._innerWrite())}this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t)}_innerWrite(e=0,t=!0){let r=e||performance.now();for(;this._writeBuffer.length>this._bufferOffset;){let n=this._writeBuffer[this._bufferOffset],o=this._action(n,t);if(o){let u=f=>performance.now()-r>=Sm?setTimeout(()=>this._innerWrite(0,f)):this._innerWrite(r,f);o.catch(f=>(queueMicrotask(()=>{throw f}),Promise.resolve(!1))).then(u);return}let l=this._callbacks[this._bufferOffset];if(l&&l(),this._bufferOffset++,this._pendingData-=n.length,performance.now()-r>=Sm)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>g1&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout(()=>this._innerWrite())):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0),this._onWriteParsed.fire()}},Ju=class{constructor(e){this._bufferService=e,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(e){let t=this._bufferService.buffer;if(e.id===void 0){let f=t.addMarker(t.ybase+t.y),m={data:e,id:this._nextId++,lines:[f]};return f.onDispose(()=>this._removeMarkerFromLink(m,f)),this._dataByLinkId.set(m.id,m),m.id}let r=e,n=this._getEntryIdKey(r),o=this._entriesWithId.get(n);if(o)return this.addLineToLink(o.id,t.ybase+t.y),o.id;let l=t.addMarker(t.ybase+t.y),u={id:this._nextId++,key:this._getEntryIdKey(r),data:r,lines:[l]};return l.onDispose(()=>this._removeMarkerFromLink(u,l)),this._entriesWithId.set(u.key,u),this._dataByLinkId.set(u.id,u),u.id}addLineToLink(e,t){let r=this._dataByLinkId.get(e);if(r&&r.lines.every(n=>n.line!==t)){let n=this._bufferService.buffer.addMarker(t);r.lines.push(n),n.onDispose(()=>this._removeMarkerFromLink(r,n))}}getLinkData(e){var t;return(t=this._dataByLinkId.get(e))==null?void 0:t.data}_getEntryIdKey(e){return`${e.id};;${e.uri}`}_removeMarkerFromLink(e,t){let r=e.lines.indexOf(t);r!==-1&&(e.lines.splice(r,1),e.lines.length===0&&(e.data.id!==void 0&&this._entriesWithId.delete(e.key),this._dataByLinkId.delete(e.id)))}};Ju=Je([pe(0,jt)],Ju);var wm=!1,y1=class extends De{constructor(e){super(),this._windowsWrappingHeuristics=this._register(new Rs),this._onBinary=this._register(new de),this.onBinary=this._onBinary.event,this._onData=this._register(new de),this.onData=this._onData.event,this._onLineFeed=this._register(new de),this.onLineFeed=this._onLineFeed.event,this._onResize=this._register(new de),this.onResize=this._onResize.event,this._onWriteParsed=this._register(new de),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this._register(new de),this._instantiationService=new Ww,this.optionsService=this._register(new Zw(e)),this._instantiationService.setService(At,this.optionsService),this._bufferService=this._register(this._instantiationService.createInstance(Vu)),this._instantiationService.setService(jt,this._bufferService),this._logService=this._register(this._instantiationService.createInstance(Ku)),this._instantiationService.setService(U_,this._logService),this.coreService=this._register(this._instantiationService.createInstance(Yu)),this._instantiationService.setService(Gr,this.coreService),this.coreMouseService=this._register(this._instantiationService.createInstance(Xu)),this._instantiationService.setService(W_,this.coreMouseService),this.unicodeService=this._register(this._instantiationService.createInstance(qr)),this._instantiationService.setService(zS,this.unicodeService),this._charsetService=this._instantiationService.createInstance(s1),this._instantiationService.setService(OS,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(Ju),this._instantiationService.setService(q_,this._oscLinkService),this._inputHandler=this._register(new m1(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this._register(kt.forward(this._inputHandler.onLineFeed,this._onLineFeed)),this._register(this._inputHandler),this._register(kt.forward(this._bufferService.onResize,this._onResize)),this._register(kt.forward(this.coreService.onData,this._onData)),this._register(kt.forward(this.coreService.onBinary,this._onBinary)),this._register(this.coreService.onRequestScrollToBottom(()=>this.scrollToBottom(!0))),this._register(this.coreService.onUserInput(()=>this._writeBuffer.handleUserInput())),this._register(this.optionsService.onMultipleOptionChange(["windowsMode","windowsPty"],()=>this._handleWindowsPtyOptionChange())),this._register(this._bufferService.onScroll(()=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this._writeBuffer=this._register(new v1((t,r)=>this._inputHandler.parse(t,r))),this._register(kt.forward(this._writeBuffer.onWriteParsed,this._onWriteParsed))}get onScroll(){return this._onScrollApi||(this._onScrollApi=this._register(new de),this._onScroll.event(e=>{var t;(t=this._onScrollApi)==null||t.fire(e.position)})),this._onScrollApi.event}get cols(){return this._bufferService.cols}get rows(){return this._bufferService.rows}get buffers(){return this._bufferService.buffers}get options(){return this.optionsService.options}set options(e){for(let t in e)this.optionsService.options[t]=e[t]}write(e,t){this._writeBuffer.write(e,t)}writeSync(e,t){this._logService.logLevel<=3&&!wm&&(this._logService.warn("writeSync is unreliable and will be removed soon."),wm=!0),this._writeBuffer.writeSync(e,t)}input(e,t=!0){this.coreService.triggerDataEvent(e,t)}resize(e,t){isNaN(e)||isNaN(t)||(e=Math.max(e,bg),t=Math.max(t,xg),this._bufferService.resize(e,t))}scroll(e,t=!1){this._bufferService.scroll(e,t)}scrollLines(e,t){this._bufferService.scrollLines(e,t)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(e){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){let t=e-this._bufferService.buffer.ydisp;t!==0&&this.scrollLines(t)}registerEscHandler(e,t){return this._inputHandler.registerEscHandler(e,t)}registerDcsHandler(e,t){return this._inputHandler.registerDcsHandler(e,t)}registerCsiHandler(e,t){return this._inputHandler.registerCsiHandler(e,t)}registerOscHandler(e,t){return this._inputHandler.registerOscHandler(e,t)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let e=!1,t=this.optionsService.rawOptions.windowsPty;t&&t.buildNumber!==void 0&&t.buildNumber!==void 0?e=t.backend==="conpty"&&t.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(e=!0),e?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){let e=[];e.push(this.onLineFeed(dm.bind(null,this._bufferService))),e.push(this.registerCsiHandler({final:"H"},()=>(dm(this._bufferService),!1))),this._windowsWrappingHeuristics.value=qe(()=>{for(let t of e)t.dispose()})}}},S1={48:["0",")"],49:["1","!"],50:["2","@"],51:["3","#"],52:["4","$"],53:["5","%"],54:["6","^"],55:["7","&"],56:["8","*"],57:["9","("],186:[";",":"],187:["=","+"],188:[",","<"],189:["-","_"],190:[".",">"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"']};function w1(e,t,r,n){var u;let o={type:0,cancel:!1,key:void 0},l=(e.shiftKey?1:0)|(e.altKey?2:0)|(e.ctrlKey?4:0)|(e.metaKey?8:0);switch(e.keyCode){case 0:e.key==="UIKeyInputUpArrow"?t?o.key=se.ESC+"OA":o.key=se.ESC+"[A":e.key==="UIKeyInputLeftArrow"?t?o.key=se.ESC+"OD":o.key=se.ESC+"[D":e.key==="UIKeyInputRightArrow"?t?o.key=se.ESC+"OC":o.key=se.ESC+"[C":e.key==="UIKeyInputDownArrow"&&(t?o.key=se.ESC+"OB":o.key=se.ESC+"[B");break;case 8:o.key=e.ctrlKey?"\b":se.DEL,e.altKey&&(o.key=se.ESC+o.key);break;case 9:if(e.shiftKey){o.key=se.ESC+"[Z";break}o.key=se.HT,o.cancel=!0;break;case 13:o.key=e.altKey?se.ESC+se.CR:se.CR,o.cancel=!0;break;case 27:o.key=se.ESC,e.altKey&&(o.key=se.ESC+se.ESC),o.cancel=!0;break;case 37:if(e.metaKey)break;l?o.key=se.ESC+"[1;"+(l+1)+"D":t?o.key=se.ESC+"OD":o.key=se.ESC+"[D";break;case 39:if(e.metaKey)break;l?o.key=se.ESC+"[1;"+(l+1)+"C":t?o.key=se.ESC+"OC":o.key=se.ESC+"[C";break;case 38:if(e.metaKey)break;l?o.key=se.ESC+"[1;"+(l+1)+"A":t?o.key=se.ESC+"OA":o.key=se.ESC+"[A";break;case 40:if(e.metaKey)break;l?o.key=se.ESC+"[1;"+(l+1)+"B":t?o.key=se.ESC+"OB":o.key=se.ESC+"[B";break;case 45:!e.shiftKey&&!e.ctrlKey&&(o.key=se.ESC+"[2~");break;case 46:l?o.key=se.ESC+"[3;"+(l+1)+"~":o.key=se.ESC+"[3~";break;case 36:l?o.key=se.ESC+"[1;"+(l+1)+"H":t?o.key=se.ESC+"OH":o.key=se.ESC+"[H";break;case 35:l?o.key=se.ESC+"[1;"+(l+1)+"F":t?o.key=se.ESC+"OF":o.key=se.ESC+"[F";break;case 33:e.shiftKey?o.type=2:e.ctrlKey?o.key=se.ESC+"[5;"+(l+1)+"~":o.key=se.ESC+"[5~";break;case 34:e.shiftKey?o.type=3:e.ctrlKey?o.key=se.ESC+"[6;"+(l+1)+"~":o.key=se.ESC+"[6~";break;case 112:l?o.key=se.ESC+"[1;"+(l+1)+"P":o.key=se.ESC+"OP";break;case 113:l?o.key=se.ESC+"[1;"+(l+1)+"Q":o.key=se.ESC+"OQ";break;case 114:l?o.key=se.ESC+"[1;"+(l+1)+"R":o.key=se.ESC+"OR";break;case 115:l?o.key=se.ESC+"[1;"+(l+1)+"S":o.key=se.ESC+"OS";break;case 116:l?o.key=se.ESC+"[15;"+(l+1)+"~":o.key=se.ESC+"[15~";break;case 117:l?o.key=se.ESC+"[17;"+(l+1)+"~":o.key=se.ESC+"[17~";break;case 118:l?o.key=se.ESC+"[18;"+(l+1)+"~":o.key=se.ESC+"[18~";break;case 119:l?o.key=se.ESC+"[19;"+(l+1)+"~":o.key=se.ESC+"[19~";break;case 120:l?o.key=se.ESC+"[20;"+(l+1)+"~":o.key=se.ESC+"[20~";break;case 121:l?o.key=se.ESC+"[21;"+(l+1)+"~":o.key=se.ESC+"[21~";break;case 122:l?o.key=se.ESC+"[23;"+(l+1)+"~":o.key=se.ESC+"[23~";break;case 123:l?o.key=se.ESC+"[24;"+(l+1)+"~":o.key=se.ESC+"[24~";break;default:if(e.ctrlKey&&!e.shiftKey&&!e.altKey&&!e.metaKey)e.keyCode>=65&&e.keyCode<=90?o.key=String.fromCharCode(e.keyCode-64):e.keyCode===32?o.key=se.NUL:e.keyCode>=51&&e.keyCode<=55?o.key=String.fromCharCode(e.keyCode-51+27):e.keyCode===56?o.key=se.DEL:e.keyCode===219?o.key=se.ESC:e.keyCode===220?o.key=se.FS:e.keyCode===221&&(o.key=se.GS);else if((!r||n)&&e.altKey&&!e.metaKey){let f=(u=S1[e.keyCode])==null?void 0:u[e.shiftKey?1:0];if(f)o.key=se.ESC+f;else if(e.keyCode>=65&&e.keyCode<=90){let m=e.ctrlKey?e.keyCode-64:e.keyCode+32,p=String.fromCharCode(m);e.shiftKey&&(p=p.toUpperCase()),o.key=se.ESC+p}else if(e.keyCode===32)o.key=se.ESC+(e.ctrlKey?se.NUL:" ");else if(e.key==="Dead"&&e.code.startsWith("Key")){let m=e.code.slice(3,4);e.shiftKey||(m=m.toLowerCase()),o.key=se.ESC+m,o.cancel=!0}}else r&&!e.altKey&&!e.ctrlKey&&!e.shiftKey&&e.metaKey?e.keyCode===65&&(o.type=1):e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.keyCode>=48&&e.key.length===1?o.key=e.key:e.key&&e.ctrlKey&&(e.key==="_"&&(o.key=se.US),e.key==="@"&&(o.key=se.NUL));break}return o}var tt=0,C1=class{constructor(e){this._getKey=e,this._array=[],this._insertedValues=[],this._flushInsertedTask=new Sa,this._isFlushingInserted=!1,this._deletedIndices=[],this._flushDeletedTask=new Sa,this._isFlushingDeleted=!1}clear(){this._array.length=0,this._insertedValues.length=0,this._flushInsertedTask.clear(),this._isFlushingInserted=!1,this._deletedIndices.length=0,this._flushDeletedTask.clear(),this._isFlushingDeleted=!1}insert(e){this._flushCleanupDeleted(),this._insertedValues.length===0&&this._flushInsertedTask.enqueue(()=>this._flushInserted()),this._insertedValues.push(e)}_flushInserted(){let e=this._insertedValues.sort((o,l)=>this._getKey(o)-this._getKey(l)),t=0,r=0,n=new Array(this._array.length+this._insertedValues.length);for(let o=0;o<n.length;o++)r>=this._array.length||this._getKey(e[t])<=this._getKey(this._array[r])?(n[o]=e[t],t++):n[o]=this._array[r++];this._array=n,this._insertedValues.length=0}_flushCleanupInserted(){!this._isFlushingInserted&&this._insertedValues.length>0&&this._flushInsertedTask.flush()}delete(e){if(this._flushCleanupInserted(),this._array.length===0)return!1;let t=this._getKey(e);if(t===void 0||(tt=this._search(t),tt===-1)||this._getKey(this._array[tt])!==t)return!1;do if(this._array[tt]===e)return this._deletedIndices.length===0&&this._flushDeletedTask.enqueue(()=>this._flushDeleted()),this._deletedIndices.push(tt),!0;while(++tt<this._array.length&&this._getKey(this._array[tt])===t);return!1}_flushDeleted(){this._isFlushingDeleted=!0;let e=this._deletedIndices.sort((o,l)=>o-l),t=0,r=new Array(this._array.length-e.length),n=0;for(let o=0;o<this._array.length;o++)e[t]===o?t++:r[n++]=this._array[o];this._array=r,this._deletedIndices.length=0,this._isFlushingDeleted=!1}_flushCleanupDeleted(){!this._isFlushingDeleted&&this._deletedIndices.length>0&&this._flushDeletedTask.flush()}*getKeyIterator(e){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(tt=this._search(e),!(tt<0||tt>=this._array.length)&&this._getKey(this._array[tt])===e))do yield this._array[tt];while(++tt<this._array.length&&this._getKey(this._array[tt])===e)}forEachByKey(e,t){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(tt=this._search(e),!(tt<0||tt>=this._array.length)&&this._getKey(this._array[tt])===e))do t(this._array[tt]);while(++tt<this._array.length&&this._getKey(this._array[tt])===e)}values(){return this._flushCleanupInserted(),this._flushCleanupDeleted(),[...this._array].values()}_search(e){let t=0,r=this._array.length-1;for(;r>=t;){let n=t+r>>1,o=this._getKey(this._array[n]);if(o>e)r=n-1;else if(o<e)t=n+1;else{for(;n>0&&this._getKey(this._array[n-1])===e;)n--;return n}}return t}},$c=0,Cm=0,b1=class extends De{constructor(){super(),this._decorations=new C1(e=>e==null?void 0:e.marker.line),this._onDecorationRegistered=this._register(new de),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this._register(new de),this.onDecorationRemoved=this._onDecorationRemoved.event,this._register(qe(()=>this.reset()))}get decorations(){return this._decorations.values()}registerDecoration(e){if(e.marker.isDisposed)return;let t=new x1(e);if(t){let r=t.marker.onDispose(()=>t.dispose()),n=t.onDispose(()=>{n.dispose(),t&&(this._decorations.delete(t)&&this._onDecorationRemoved.fire(t),r.dispose())});this._decorations.insert(t),this._onDecorationRegistered.fire(t)}return t}reset(){for(let e of this._decorations.values())e.dispose();this._decorations.clear()}*getDecorationsAtCell(e,t,r){let n=0,o=0;for(let l of this._decorations.getKeyIterator(t))n=l.options.x??0,o=n+(l.options.width??1),e>=n&&e<o&&(!r||(l.options.layer??"bottom")===r)&&(yield l)}forEachDecorationAtCell(e,t,r,n){this._decorations.forEachByKey(t,o=>{$c=o.options.x??0,Cm=$c+(o.options.width??1),e>=$c&&e<Cm&&(!r||(o.options.layer??"bottom")===r)&&n(o)})}},x1=class extends Er{constructor(e){super(),this.options=e,this.onRenderEmitter=this.add(new de),this.onRender=this.onRenderEmitter.event,this._onDispose=this.add(new de),this.onDispose=this._onDispose.event,this._cachedBg=null,this._cachedFg=null,this.marker=e.marker,this.options.overviewRulerOptions&&!this.options.overviewRulerOptions.position&&(this.options.overviewRulerOptions.position="full")}get backgroundColorRGB(){return this._cachedBg===null&&(this.options.backgroundColor?this._cachedBg=Xe.toColor(this.options.backgroundColor):this._cachedBg=void 0),this._cachedBg}get foregroundColorRGB(){return this._cachedFg===null&&(this.options.foregroundColor?this._cachedFg=Xe.toColor(this.options.foregroundColor):this._cachedFg=void 0),this._cachedFg}dispose(){this._onDispose.fire(),super.dispose()}},k1=1e3,E1=class{constructor(e,t=k1){this._renderCallback=e,this._debounceThresholdMS=t,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(e,t,r){this._rowCount=r,e=e!==void 0?e:0,t=t!==void 0?t:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,e):e,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,t):t;let n=performance.now();if(n-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=n,this._innerRefresh();else if(!this._additionalRefreshRequested){let o=n-this._lastRefreshMs,l=this._debounceThresholdMS-o;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout(()=>{this._lastRefreshMs=performance.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0},l)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;let e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,t)}},bm=20,wa=class extends De{constructor(e,t,r,n){super(),this._terminal=e,this._coreBrowserService=r,this._renderService=n,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="";let o=this._coreBrowserService.mainDocument;this._accessibilityContainer=o.createElement("div"),this._accessibilityContainer.classList.add("xterm-accessibility"),this._rowContainer=o.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let l=0;l<this._terminal.rows;l++)this._rowElements[l]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[l]);if(this._topBoundaryFocusListener=l=>this._handleBoundaryFocus(l,0),this._bottomBoundaryFocusListener=l=>this._handleBoundaryFocus(l,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=o.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this._register(new E1(this._renderRows.bind(this))),!this._terminal.element)throw new Error("Cannot enable accessibility before Terminal.open");this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityContainer),this._register(this._terminal.onResize(l=>this._handleResize(l.rows))),this._register(this._terminal.onRender(l=>this._refreshRows(l.start,l.end))),this._register(this._terminal.onScroll(()=>this._refreshRows())),this._register(this._terminal.onA11yChar(l=>this._handleChar(l))),this._register(this._terminal.onLineFeed(()=>this._handleChar(`
|
|
64
|
+
`))),this._register(this._terminal.onA11yTab(l=>this._handleTab(l))),this._register(this._terminal.onKey(l=>this._handleKey(l.key))),this._register(this._terminal.onBlur(()=>this._clearLiveRegion())),this._register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this._register(Ee(o,"selectionchange",()=>this._handleSelectionChange())),this._register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRowsDimensions(),this._refreshRows(),this._register(qe(()=>{this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(e){for(let t=0;t<e;t++)this._handleChar(" ")}_handleChar(e){this._liveRegionLineCount<bm+1&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e):this._charsToAnnounce+=e,e===`
|
|
65
|
+
`&&(this._liveRegionLineCount++,this._liveRegionLineCount===bm+1&&(this._liveRegion.textContent+=vu.get())))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0}_handleKey(e){this._clearLiveRegion(),new RegExp("\\p{Control}","u").test(e)||this._charsToConsume.push(e)}_refreshRows(e,t){this._liveRegionDebouncer.refresh(e,t,this._terminal.rows)}_renderRows(e,t){let r=this._terminal.buffer,n=r.lines.length.toString();for(let o=e;o<=t;o++){let l=r.lines.get(r.ydisp+o),u=[],f=(l==null?void 0:l.translateToString(!0,void 0,void 0,u))||"",m=(r.ydisp+o+1).toString(),p=this._rowElements[o];p&&(f.length===0?(p.textContent=" ",this._rowColumns.set(p,[0,1])):(p.textContent=f,this._rowColumns.set(p,u)),p.setAttribute("aria-posinset",m),p.setAttribute("aria-setsize",n),this._alignRowWidth(p))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce="")}_handleBoundaryFocus(e,t){let r=e.target,n=this._rowElements[t===0?1:this._rowElements.length-2],o=r.getAttribute("aria-posinset"),l=t===0?"1":`${this._terminal.buffer.lines.length}`;if(o===l||e.relatedTarget!==n)return;let u,f;if(t===0?(u=r,f=this._rowElements.pop(),this._rowContainer.removeChild(f)):(u=this._rowElements.shift(),f=r,this._rowContainer.removeChild(u)),u.removeEventListener("focus",this._topBoundaryFocusListener),f.removeEventListener("focus",this._bottomBoundaryFocusListener),t===0){let m=this._createAccessibilityTreeNode();this._rowElements.unshift(m),this._rowContainer.insertAdjacentElement("afterbegin",m)}else{let m=this._createAccessibilityTreeNode();this._rowElements.push(m),this._rowContainer.appendChild(m)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(t===0?-1:1),this._rowElements[t===0?1:this._rowElements.length-2].focus(),e.preventDefault(),e.stopImmediatePropagation()}_handleSelectionChange(){var f;if(this._rowElements.length===0)return;let e=this._coreBrowserService.mainDocument.getSelection();if(!e)return;if(e.isCollapsed){this._rowContainer.contains(e.anchorNode)&&this._terminal.clearSelection();return}if(!e.anchorNode||!e.focusNode){console.error("anchorNode and/or focusNode are null");return}let t={node:e.anchorNode,offset:e.anchorOffset},r={node:e.focusNode,offset:e.focusOffset};if((t.node.compareDocumentPosition(r.node)&Node.DOCUMENT_POSITION_PRECEDING||t.node===r.node&&t.offset>r.offset)&&([t,r]=[r,t]),t.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(t={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(t.node))return;let n=this._rowElements.slice(-1)[0];if(r.node.compareDocumentPosition(n)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(r={node:n,offset:((f=n.textContent)==null?void 0:f.length)??0}),!this._rowContainer.contains(r.node))return;let o=({node:m,offset:p})=>{let y=m instanceof Text?m.parentNode:m,v=parseInt(y==null?void 0:y.getAttribute("aria-posinset"),10)-1;if(isNaN(v))return console.warn("row is invalid. Race condition?"),null;let S=this._rowColumns.get(y);if(!S)return console.warn("columns is null. Race condition?"),null;let g=p<S.length?S[p]:S.slice(-1)[0]+1;return g>=this._terminal.cols&&(++v,g=0),{row:v,column:g}},l=o(t),u=o(r);if(!(!l||!u)){if(l.row>u.row||l.row===u.row&&l.column>=u.column)throw new Error("invalid range");this._terminal.select(l.column,l.row,(u.row-l.row)*this._terminal.cols-l.column+u.column)}}_handleResize(e){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let t=this._rowContainer.children.length;t<this._terminal.rows;t++)this._rowElements[t]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[t]);for(;this._rowElements.length>e;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){let e=this._coreBrowserService.mainDocument.createElement("div");return e.setAttribute("role","listitem"),e.tabIndex=-1,this._refreshRowDimensions(e),e}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){Object.assign(this._accessibilityContainer.style,{width:`${this._renderService.dimensions.css.canvas.width}px`,fontSize:`${this._terminal.options.fontSize}px`}),this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let e=0;e<this._terminal.rows;e++)this._refreshRowDimensions(this._rowElements[e]),this._alignRowWidth(this._rowElements[e])}}_refreshRowDimensions(e){e.style.height=`${this._renderService.dimensions.css.cell.height}px`}_alignRowWidth(e){var o,l;e.style.transform="";let t=e.getBoundingClientRect().width,r=(l=(o=this._rowColumns.get(e))==null?void 0:o.slice(-1))==null?void 0:l[0];if(!r)return;let n=r*this._renderService.dimensions.css.cell.width;e.style.transform=`scaleX(${n/t})`}};wa=Je([pe(1,mh),pe(2,Qi),pe(3,Ji)],wa);var Zu=class extends De{constructor(e,t,r,n,o){super(),this._element=e,this._mouseService=t,this._renderService=r,this._bufferService=n,this._linkProviderService=o,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this._register(new de),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this._register(new de),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this._register(qe(()=>{var l;Vr(this._linkCacheDisposables),this._linkCacheDisposables.length=0,this._lastMouseEvent=void 0,(l=this._activeProviderReplies)==null||l.clear()})),this._register(this._bufferService.onResize(()=>{this._clearCurrentLink(),this._wasResized=!0})),this._register(Ee(this._element,"mouseleave",()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this._register(Ee(this._element,"mousemove",this._handleMouseMove.bind(this))),this._register(Ee(this._element,"mousedown",this._handleMouseDown.bind(this))),this._register(Ee(this._element,"mouseup",this._handleMouseUp.bind(this)))}get currentLink(){return this._currentLink}_handleMouseMove(e){this._lastMouseEvent=e;let t=this._positionFromMouseEvent(e,this._element,this._mouseService);if(!t)return;this._isMouseOut=!1;let r=e.composedPath();for(let n=0;n<r.length;n++){let o=r[n];if(o.classList.contains("xterm"))break;if(o.classList.contains("xterm-hover"))return}(!this._lastBufferCell||t.x!==this._lastBufferCell.x||t.y!==this._lastBufferCell.y)&&(this._handleHover(t),this._lastBufferCell=t)}_handleHover(e){if(this._activeLine!==e.y||this._wasResized){this._clearCurrentLink(),this._askForLink(e,!1),this._wasResized=!1;return}this._currentLink&&this._linkAtPosition(this._currentLink.link,e)||(this._clearCurrentLink(),this._askForLink(e,!0))}_askForLink(e,t){var n,o;(!this._activeProviderReplies||!t)&&((n=this._activeProviderReplies)==null||n.forEach(l=>{l==null||l.forEach(u=>{u.link.dispose&&u.link.dispose()})}),this._activeProviderReplies=new Map,this._activeLine=e.y);let r=!1;for(let[l,u]of this._linkProviderService.linkProviders.entries())t?(o=this._activeProviderReplies)!=null&&o.get(l)&&(r=this._checkLinkProviderResult(l,e,r)):u.provideLinks(e.y,f=>{var p,y;if(this._isMouseOut)return;let m=f==null?void 0:f.map(v=>({link:v}));(p=this._activeProviderReplies)==null||p.set(l,m),r=this._checkLinkProviderResult(l,e,r),((y=this._activeProviderReplies)==null?void 0:y.size)===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(e.y,this._activeProviderReplies)})}_removeIntersectingLinks(e,t){let r=new Set;for(let n=0;n<t.size;n++){let o=t.get(n);if(o)for(let l=0;l<o.length;l++){let u=o[l],f=u.link.range.start.y<e?0:u.link.range.start.x,m=u.link.range.end.y>e?this._bufferService.cols:u.link.range.end.x;for(let p=f;p<=m;p++){if(r.has(p)){o.splice(l--,1);break}r.add(p)}}}}_checkLinkProviderResult(e,t,r){var l;if(!this._activeProviderReplies)return r;let n=this._activeProviderReplies.get(e),o=!1;for(let u=0;u<e;u++)(!this._activeProviderReplies.has(u)||this._activeProviderReplies.get(u))&&(o=!0);if(!o&&n){let u=n.find(f=>this._linkAtPosition(f.link,t));u&&(r=!0,this._handleNewLink(u))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!r)for(let u=0;u<this._activeProviderReplies.size;u++){let f=(l=this._activeProviderReplies.get(u))==null?void 0:l.find(m=>this._linkAtPosition(m.link,t));if(f){r=!0,this._handleNewLink(f);break}}return r}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(e){if(!this._currentLink)return;let t=this._positionFromMouseEvent(e,this._element,this._mouseService);t&&this._mouseDownLink&&N1(this._mouseDownLink.link,this._currentLink.link)&&this._linkAtPosition(this._currentLink.link,t)&&this._currentLink.link.activate(e,this._currentLink.link.text)}_clearCurrentLink(e,t){!this._currentLink||!this._lastMouseEvent||(!e||!t||this._currentLink.link.range.start.y>=e&&this._currentLink.link.range.end.y<=t)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,Vr(this._linkCacheDisposables),this._linkCacheDisposables.length=0)}_handleNewLink(e){if(!this._lastMouseEvent)return;let t=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);t&&this._linkAtPosition(e.link,t)&&(this._currentLink=e,this._currentLink.state={decorations:{underline:e.link.decorations===void 0?!0:e.link.decorations.underline,pointerCursor:e.link.decorations===void 0?!0:e.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,e.link,this._lastMouseEvent),e.link.decorations={},Object.defineProperties(e.link.decorations,{pointerCursor:{get:()=>{var r,n;return(n=(r=this._currentLink)==null?void 0:r.state)==null?void 0:n.decorations.pointerCursor},set:r=>{var n;(n=this._currentLink)!=null&&n.state&&this._currentLink.state.decorations.pointerCursor!==r&&(this._currentLink.state.decorations.pointerCursor=r,this._currentLink.state.isHovered&&this._element.classList.toggle("xterm-cursor-pointer",r))}},underline:{get:()=>{var r,n;return(n=(r=this._currentLink)==null?void 0:r.state)==null?void 0:n.decorations.underline},set:r=>{var n,o,l;(n=this._currentLink)!=null&&n.state&&((l=(o=this._currentLink)==null?void 0:o.state)==null?void 0:l.decorations.underline)!==r&&(this._currentLink.state.decorations.underline=r,this._currentLink.state.isHovered&&this._fireUnderlineEvent(e.link,r))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange(r=>{if(!this._currentLink)return;let n=r.start===0?0:r.start+1+this._bufferService.buffer.ydisp,o=this._bufferService.buffer.ydisp+1+r.end;if(this._currentLink.link.range.start.y>=n&&this._currentLink.link.range.end.y<=o&&(this._clearCurrentLink(n,o),this._lastMouseEvent)){let l=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);l&&this._askForLink(l,!1)}})))}_linkHover(e,t,r){var n;(n=this._currentLink)!=null&&n.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!0),this._currentLink.state.decorations.pointerCursor&&e.classList.add("xterm-cursor-pointer")),t.hover&&t.hover(r,t.text)}_fireUnderlineEvent(e,t){let r=e.range,n=this._bufferService.buffer.ydisp,o=this._createLinkUnderlineEvent(r.start.x-1,r.start.y-n-1,r.end.x,r.end.y-n-1,void 0);(t?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(o)}_linkLeave(e,t,r){var n;(n=this._currentLink)!=null&&n.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!1),this._currentLink.state.decorations.pointerCursor&&e.classList.remove("xterm-cursor-pointer")),t.leave&&t.leave(r,t.text)}_linkAtPosition(e,t){let r=e.range.start.y*this._bufferService.cols+e.range.start.x,n=e.range.end.y*this._bufferService.cols+e.range.end.x,o=t.y*this._bufferService.cols+t.x;return r<=o&&o<=n}_positionFromMouseEvent(e,t,r){let n=r.getCoords(e,t,this._bufferService.cols,this._bufferService.rows);if(n)return{x:n[0],y:n[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(e,t,r,n,o){return{x1:e,y1:t,x2:r,y2:n,cols:this._bufferService.cols,fg:o}}};Zu=Je([pe(1,_h),pe(2,Ji),pe(3,jt),pe(4,V_)],Zu);function N1(e,t){return e.text===t.text&&e.range.start.x===t.range.start.x&&e.range.start.y===t.range.start.y&&e.range.end.x===t.range.end.x&&e.range.end.y===t.range.end.y}var R1=class extends y1{constructor(e={}){super(e),this._linkifier=this._register(new Rs),this.browser=dg,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this._register(new Rs),this._onCursorMove=this._register(new de),this.onCursorMove=this._onCursorMove.event,this._onKey=this._register(new de),this.onKey=this._onKey.event,this._onRender=this._register(new de),this.onRender=this._onRender.event,this._onSelectionChange=this._register(new de),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this._register(new de),this.onTitleChange=this._onTitleChange.event,this._onBell=this._register(new de),this.onBell=this._onBell.event,this._onFocus=this._register(new de),this._onBlur=this._register(new de),this._onA11yCharEmitter=this._register(new de),this._onA11yTabEmitter=this._register(new de),this._onWillOpen=this._register(new de),this._setup(),this._decorationService=this._instantiationService.createInstance(b1),this._instantiationService.setService(An,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(gw),this._instantiationService.setService(V_,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(Su)),this._register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this._register(this._inputHandler.onRequestRefreshRows(t=>this.refresh((t==null?void 0:t.start)??0,(t==null?void 0:t.end)??this.rows-1))),this._register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this._register(this._inputHandler.onRequestReset(()=>this.reset())),this._register(this._inputHandler.onRequestWindowsOptionsReport(t=>this._reportWindowsOptions(t))),this._register(this._inputHandler.onColor(t=>this._handleColorEvent(t))),this._register(kt.forward(this._inputHandler.onCursorMove,this._onCursorMove)),this._register(kt.forward(this._inputHandler.onTitleChange,this._onTitleChange)),this._register(kt.forward(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this._register(kt.forward(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this._register(this._bufferService.onResize(t=>this._afterResize(t.cols,t.rows))),this._register(qe(()=>{var t,r;this._customKeyEventHandler=void 0,(r=(t=this.element)==null?void 0:t.parentNode)==null||r.removeChild(this.element)}))}get linkifier(){return this._linkifier.value}get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}_handleColorEvent(e){if(this._themeService)for(let t of e){let r,n="";switch(t.index){case 256:r="foreground",n="10";break;case 257:r="background",n="11";break;case 258:r="cursor",n="12";break;default:r="ansi",n="4;"+t.index}switch(t.type){case 0:let o=We.toColorRGB(r==="ansi"?this._themeService.colors.ansi[t.index]:this._themeService.colors[r]);this.coreService.triggerDataEvent(`${se.ESC}]${n};${f1(o)}${ug.ST}`);break;case 1:if(r==="ansi")this._themeService.modifyColors(l=>l.ansi[t.index]=nt.toColor(...t.color));else{let l=r;this._themeService.modifyColors(u=>u[l]=nt.toColor(...t.color))}break;case 2:this._themeService.restoreColor(t.index);break}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(e){e?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(wa,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(e){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(se.ESC+"[I"),this.element.classList.add("focus"),this._showCursor(),this._onFocus.fire()}blur(){var e;return(e=this.textarea)==null?void 0:e.blur()}_handleTextAreaBlur(){this.textarea.value="",this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(se.ESC+"[O"),this.element.classList.remove("focus"),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;let e=this.buffer.ybase+this.buffer.y,t=this.buffer.lines.get(e);if(!t)return;let r=Math.min(this.buffer.x,this.cols-1),n=this._renderService.dimensions.css.cell.height,o=t.getWidth(r),l=this._renderService.dimensions.css.cell.width*o,u=this.buffer.y*this._renderService.dimensions.css.cell.height,f=r*this._renderService.dimensions.css.cell.width;this.textarea.style.left=f+"px",this.textarea.style.top=u+"px",this.textarea.style.width=l+"px",this.textarea.style.height=n+"px",this.textarea.style.lineHeight=n+"px",this.textarea.style.zIndex="-5"}_initGlobal(){this._bindKeys(),this._register(Ee(this.element,"copy",t=>{this.hasSelection()&&LS(t,this._selectionService)}));let e=t=>TS(t,this.textarea,this.coreService,this.optionsService);this._register(Ee(this.textarea,"paste",e)),this._register(Ee(this.element,"paste",e)),fg?this._register(Ee(this.element,"mousedown",t=>{t.button===2&&Tp(t,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this._register(Ee(this.element,"contextmenu",t=>{Tp(t,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),xh&&this._register(Ee(this.element,"auxclick",t=>{t.button===1&&O_(t,this.textarea,this.screenElement)}))}_bindKeys(){this._register(Ee(this.textarea,"keyup",e=>this._keyUp(e),!0)),this._register(Ee(this.textarea,"keydown",e=>this._keyDown(e),!0)),this._register(Ee(this.textarea,"keypress",e=>this._keyPress(e),!0)),this._register(Ee(this.textarea,"compositionstart",()=>this._compositionHelper.compositionstart())),this._register(Ee(this.textarea,"compositionupdate",e=>this._compositionHelper.compositionupdate(e))),this._register(Ee(this.textarea,"compositionend",()=>this._compositionHelper.compositionend())),this._register(Ee(this.textarea,"input",e=>this._inputEvent(e),!0)),this._register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(e){var o;if(!e)throw new Error("Terminal requires a parent element.");if(e.isConnected||this._logService.debug("Terminal.open was called on an element that was not attached to the DOM"),((o=this.element)==null?void 0:o.ownerDocument.defaultView)&&this._coreBrowserService){this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView);return}this._document=e.ownerDocument,this.options.documentOverride&&this.options.documentOverride instanceof Document&&(this._document=this.optionsService.rawOptions.documentOverride),this.element=this._document.createElement("div"),this.element.dir="ltr",this.element.classList.add("terminal"),this.element.classList.add("xterm"),e.appendChild(this.element);let t=this._document.createDocumentFragment();this._viewportElement=this._document.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),t.appendChild(this._viewportElement),this.screenElement=this._document.createElement("div"),this.screenElement.classList.add("xterm-screen"),this._register(Ee(this.screenElement,"mousemove",l=>this.updateCursorStyle(l))),this._helperContainer=this._document.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),t.appendChild(this.screenElement);let r=this.textarea=this._document.createElement("textarea");this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",gu.get()),_g||this.textarea.setAttribute("aria-multiline","false"),this.textarea.setAttribute("autocorrect","off"),this.textarea.setAttribute("autocapitalize","off"),this.textarea.setAttribute("spellcheck","false"),this.textarea.tabIndex=0,this._register(this.optionsService.onSpecificOptionChange("disableStdin",()=>r.readOnly=this.optionsService.rawOptions.disableStdin)),this.textarea.readOnly=this.optionsService.rawOptions.disableStdin,this._coreBrowserService=this._register(this._instantiationService.createInstance(mw,this.textarea,e.ownerDocument.defaultView??window,this._document??typeof window<"u"?window.document:null)),this._instantiationService.setService(Qi,this._coreBrowserService),this._register(Ee(this.textarea,"focus",l=>this._handleTextAreaFocus(l))),this._register(Ee(this.textarea,"blur",()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(Hu,this._document,this._helperContainer),this._instantiationService.setService(Da,this._charSizeService),this._themeService=this._instantiationService.createInstance(qu),this._instantiationService.setService(Ps,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(va),this._instantiationService.setService(K_,this._characterJoinerService),this._renderService=this._register(this._instantiationService.createInstance(Wu,this.rows,this.screenElement)),this._instantiationService.setService(Ji,this._renderService),this._register(this._renderService.onRenderedViewportChange(l=>this._onRender.fire(l))),this.onResize(l=>this._renderService.resize(l.cols,l.rows)),this._compositionView=this._document.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(Ou,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance($u),this._instantiationService.setService(_h,this._mouseService);let n=this._linkifier.value=this._register(this._instantiationService.createInstance(Zu,this.screenElement));this.element.appendChild(t);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this._register(this.onCursorMove(()=>{this._renderService.handleCursorMove(),this._syncTextArea()})),this._register(this.onResize(()=>this._renderService.handleResize(this.cols,this.rows))),this._register(this.onBlur(()=>this._renderService.handleBlur())),this._register(this.onFocus(()=>this._renderService.handleFocus())),this._viewport=this._register(this._instantiationService.createInstance(Au,this.element,this.screenElement)),this._register(this._viewport.onRequestScrollLines(l=>{super.scrollLines(l,!1),this.refresh(0,this.rows-1)})),this._selectionService=this._register(this._instantiationService.createInstance(Uu,this.element,this.screenElement,n)),this._instantiationService.setService(HS,this._selectionService),this._register(this._selectionService.onRequestScrollLines(l=>this.scrollLines(l.amount,l.suppressScrollEvent))),this._register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this._register(this._selectionService.onRequestRedraw(l=>this._renderService.handleSelectionChanged(l.start,l.end,l.columnSelectMode))),this._register(this._selectionService.onLinuxMouseSelection(l=>{this.textarea.value=l,this.textarea.focus(),this.textarea.select()})),this._register(kt.any(this._onScroll.event,this._inputHandler.onScroll)(()=>{var l;this._selectionService.refresh(),(l=this._viewport)==null||l.queueSync()})),this._register(this._instantiationService.createInstance(Iu,this.screenElement)),this._register(Ee(this.element,"mousedown",l=>this._selectionService.handleMouseDown(l))),this.coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add("enable-mouse-events")):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager.value=this._instantiationService.createInstance(wa,this)),this._register(this.optionsService.onSpecificOptionChange("screenReaderMode",l=>this._handleScreenReaderModeOptionChange(l))),this.options.overviewRuler.width&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(ga,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange("overviewRuler",l=>{!this._overviewRulerRenderer&&l&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(ga,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(Fu,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){let e=this,t=this.element;function r(l){var p,y,v,S,g;let u=e._mouseService.getMouseReportCoords(l,e.screenElement);if(!u)return!1;let f,m;switch(l.overrideType||l.type){case"mousemove":m=32,l.buttons===void 0?(f=3,l.button!==void 0&&(f=l.button<3?l.button:3)):f=l.buttons&1?0:l.buttons&4?1:l.buttons&2?2:3;break;case"mouseup":m=0,f=l.button<3?l.button:3;break;case"mousedown":m=1,f=l.button<3?l.button:3;break;case"wheel":if(e._customWheelEventHandler&&e._customWheelEventHandler(l)===!1)return!1;let C=l.deltaY;if(C===0||e.coreMouseService.consumeWheelEvent(l,(S=(v=(y=(p=e._renderService)==null?void 0:p.dimensions)==null?void 0:y.device)==null?void 0:v.cell)==null?void 0:S.height,(g=e._coreBrowserService)==null?void 0:g.dpr)===0)return!1;m=C<0?0:1,f=4;break;default:return!1}return m===void 0||f===void 0||f>4?!1:e.coreMouseService.triggerMouseEvent({col:u.col,row:u.row,x:u.x,y:u.y,button:f,action:m,ctrl:l.ctrlKey,alt:l.altKey,shift:l.shiftKey})}let n={mouseup:null,wheel:null,mousedrag:null,mousemove:null},o={mouseup:l=>(r(l),l.buttons||(this._document.removeEventListener("mouseup",n.mouseup),n.mousedrag&&this._document.removeEventListener("mousemove",n.mousedrag)),this.cancel(l)),wheel:l=>(r(l),this.cancel(l,!0)),mousedrag:l=>{l.buttons&&r(l)},mousemove:l=>{l.buttons||r(l)}};this._register(this.coreMouseService.onProtocolChange(l=>{l?(this.optionsService.rawOptions.logLevel==="debug"&&this._logService.debug("Binding to mouse events:",this.coreMouseService.explainEvents(l)),this.element.classList.add("enable-mouse-events"),this._selectionService.disable()):(this._logService.debug("Unbinding from mouse events."),this.element.classList.remove("enable-mouse-events"),this._selectionService.enable()),l&8?n.mousemove||(t.addEventListener("mousemove",o.mousemove),n.mousemove=o.mousemove):(t.removeEventListener("mousemove",n.mousemove),n.mousemove=null),l&16?n.wheel||(t.addEventListener("wheel",o.wheel,{passive:!1}),n.wheel=o.wheel):(t.removeEventListener("wheel",n.wheel),n.wheel=null),l&2?n.mouseup||(n.mouseup=o.mouseup):(this._document.removeEventListener("mouseup",n.mouseup),n.mouseup=null),l&4?n.mousedrag||(n.mousedrag=o.mousedrag):(this._document.removeEventListener("mousemove",n.mousedrag),n.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this._register(Ee(t,"mousedown",l=>{if(l.preventDefault(),this.focus(),!(!this.coreMouseService.areMouseEventsActive||this._selectionService.shouldForceSelection(l)))return r(l),n.mouseup&&this._document.addEventListener("mouseup",n.mouseup),n.mousedrag&&this._document.addEventListener("mousemove",n.mousedrag),this.cancel(l)})),this._register(Ee(t,"wheel",l=>{var u,f,m,p,y;if(!n.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(l)===!1)return!1;if(!this.buffer.hasScrollback){if(l.deltaY===0)return!1;if(e.coreMouseService.consumeWheelEvent(l,(p=(m=(f=(u=e._renderService)==null?void 0:u.dimensions)==null?void 0:f.device)==null?void 0:m.cell)==null?void 0:p.height,(y=e._coreBrowserService)==null?void 0:y.dpr)===0)return this.cancel(l,!0);let v=se.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(l.deltaY<0?"A":"B");return this.coreService.triggerDataEvent(v,!0),this.cancel(l,!0)}}},{passive:!1}))}refresh(e,t){var r;(r=this._renderService)==null||r.refreshRows(e,t)}updateCursorStyle(e){var t;(t=this._selectionService)!=null&&t.shouldColumnSelect(e)?this.element.classList.add("column-select"):this.element.classList.remove("column-select")}_showCursor(){this.coreService.isCursorInitialized||(this.coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))}scrollLines(e,t){this._viewport?this._viewport.scrollLines(e):super.scrollLines(e,t),this.refresh(0,this.rows-1)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(e){e&&this._viewport?this._viewport.scrollToLine(this.buffer.ybase,!0):this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){let t=e-this._bufferService.buffer.ydisp;t!==0&&this.scrollLines(t)}paste(e){I_(e,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(e){this._customKeyEventHandler=e}attachCustomWheelEventHandler(e){this._customWheelEventHandler=e}registerLinkProvider(e){return this._linkProviderService.registerLinkProvider(e)}registerCharacterJoiner(e){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");let t=this._characterJoinerService.register(e);return this.refresh(0,this.rows-1),t}deregisterCharacterJoiner(e){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");this._characterJoinerService.deregister(e)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(e){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+e)}registerDecoration(e){return this._decorationService.registerDecoration(e)}hasSelection(){return this._selectionService?this._selectionService.hasSelection:!1}select(e,t,r){this._selectionService.setSelection(e,t,r)}getSelection(){return this._selectionService?this._selectionService.selectionText:""}getSelectionPosition(){if(!(!this._selectionService||!this._selectionService.hasSelection))return{start:{x:this._selectionService.selectionStart[0],y:this._selectionService.selectionStart[1]},end:{x:this._selectionService.selectionEnd[0],y:this._selectionService.selectionEnd[1]}}}clearSelection(){var e;(e=this._selectionService)==null||e.clearSelection()}selectAll(){var e;(e=this._selectionService)==null||e.selectAll()}selectLines(e,t){var r;(r=this._selectionService)==null||r.selectLines(e,t)}_keyDown(e){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)return!1;let t=this.browser.isMac&&this.options.macOptionIsMeta&&e.altKey;if(!t&&!this._compositionHelper.keydown(e))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(!0),!1;!t&&(e.key==="Dead"||e.key==="AltGraph")&&(this._unprocessedDeadKey=!0);let r=w1(e,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(e),r.type===3||r.type===2){let n=this.rows-1;return this.scrollLines(r.type===2?-n:n),this.cancel(e,!0)}if(r.type===1&&this.selectAll(),this._isThirdLevelShift(this.browser,e)||(r.cancel&&this.cancel(e,!0),!r.key)||e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.key.length===1&&e.key.charCodeAt(0)>=65&&e.key.charCodeAt(0)<=90)return!0;if(this._unprocessedDeadKey)return this._unprocessedDeadKey=!1,!0;if((r.key===se.ETX||r.key===se.CR)&&(this.textarea.value=""),this._onKey.fire({key:r.key,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(r.key,!0),!this.optionsService.rawOptions.screenReaderMode||e.altKey||e.ctrlKey)return this.cancel(e,!0);this._keyDownHandled=!0}_isThirdLevelShift(e,t){let r=e.isMac&&!this.options.macOptionIsMeta&&t.altKey&&!t.ctrlKey&&!t.metaKey||e.isWindows&&t.altKey&&t.ctrlKey&&!t.metaKey||e.isWindows&&t.getModifierState("AltGraph");return t.type==="keypress"?r:r&&(!t.keyCode||t.keyCode>47)}_keyUp(e){this._keyDownSeen=!1,!(this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)&&(P1(e)||this.focus(),this.updateCursorStyle(e),this._keyPressHandled=!1)}_keyPress(e){let t;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(e)===!1)return!1;if(this.cancel(e),e.charCode)t=e.charCode;else if(e.which===null||e.which===void 0)t=e.keyCode;else if(e.which!==0&&e.charCode!==0)t=e.which;else return!1;return!t||(e.altKey||e.ctrlKey||e.metaKey)&&!this._isThirdLevelShift(this.browser,e)?!1:(t=String.fromCharCode(t),this._onKey.fire({key:t,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(t,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,!0)}_inputEvent(e){if(e.data&&e.inputType==="insertText"&&(!e.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;let t=e.data;return this.coreService.triggerDataEvent(t,!0),this.cancel(e),!0}return!1}resize(e,t){if(e===this.cols&&t===this.rows){this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure();return}super.resize(e,t)}_afterResize(e,t){var r;(r=this._charSizeService)==null||r.measure()}clear(){if(!(this.buffer.ybase===0&&this.buffer.y===0)){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let e=1;e<this.rows;e++)this.buffer.lines.push(this.buffer.getBlankLine(st));this._onScroll.fire({position:this.buffer.ydisp}),this.refresh(0,this.rows-1)}}reset(){var t;this.options.rows=this.rows,this.options.cols=this.cols;let e=this._customKeyEventHandler;this._setup(),super.reset(),(t=this._selectionService)==null||t.reset(),this._decorationService.reset(),this._customKeyEventHandler=e,this.refresh(0,this.rows-1)}clearTextureAtlas(){var e;(e=this._renderService)==null||e.clearTextureAtlas()}_reportFocus(){var e;(e=this.element)!=null&&e.classList.contains("focus")?this.coreService.triggerDataEvent(se.ESC+"[I"):this.coreService.triggerDataEvent(se.ESC+"[O")}_reportWindowsOptions(e){if(this._renderService)switch(e){case 0:let t=this._renderService.dimensions.css.canvas.width.toFixed(0),r=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${se.ESC}[4;${r};${t}t`);break;case 1:let n=this._renderService.dimensions.css.cell.width.toFixed(0),o=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${se.ESC}[6;${o};${n}t`);break}}cancel(e,t){if(!(!this.options.cancelEvents&&!t))return e.preventDefault(),e.stopPropagation(),!1}};function P1(e){return e.keyCode===16||e.keyCode===17||e.keyCode===18}var D1=class{constructor(){this._addons=[]}dispose(){for(let e=this._addons.length-1;e>=0;e--)this._addons[e].instance.dispose()}loadAddon(e,t){let r={instance:t,dispose:t.dispose,isDisposed:!1};this._addons.push(r),t.dispose=()=>this._wrappedAddonDispose(r),t.activate(e)}_wrappedAddonDispose(e){if(e.isDisposed)return;let t=-1;for(let r=0;r<this._addons.length;r++)if(this._addons[r]===e){t=r;break}if(t===-1)throw new Error("Could not dispose an addon that has not been loaded");e.isDisposed=!0,e.dispose.apply(e.instance),this._addons.splice(t,1)}},M1=class{constructor(e){this._line=e}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(e,t){if(!(e<0||e>=this._line.length))return t?(this._line.loadCell(e,t),t):this._line.loadCell(e,new mi)}translateToString(e,t,r){return this._line.translateToString(e,t,r)}},xm=class{constructor(e,t){this._buffer=e,this.type=t}init(e){return this._buffer=e,this}get cursorY(){return this._buffer.y}get cursorX(){return this._buffer.x}get viewportY(){return this._buffer.ydisp}get baseY(){return this._buffer.ybase}get length(){return this._buffer.lines.length}getLine(e){let t=this._buffer.lines.get(e);if(t)return new M1(t)}getNullCell(){return new mi}},L1=class extends De{constructor(e){super(),this._core=e,this._onBufferChange=this._register(new de),this.onBufferChange=this._onBufferChange.event,this._normal=new xm(this._core.buffers.normal,"normal"),this._alternate=new xm(this._core.buffers.alt,"alternate"),this._core.buffers.onBufferActivate(()=>this._onBufferChange.fire(this.active))}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw new Error("Active buffer is neither normal nor alternate")}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}},T1=class{constructor(e){this._core=e}registerCsiHandler(e,t){return this._core.registerCsiHandler(e,r=>t(r.toArray()))}addCsiHandler(e,t){return this.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._core.registerDcsHandler(e,(r,n)=>t(r,n.toArray()))}addDcsHandler(e,t){return this.registerDcsHandler(e,t)}registerEscHandler(e,t){return this._core.registerEscHandler(e,t)}addEscHandler(e,t){return this.registerEscHandler(e,t)}registerOscHandler(e,t){return this._core.registerOscHandler(e,t)}addOscHandler(e,t){return this.registerOscHandler(e,t)}},B1=class{constructor(e){this._core=e}register(e){this._core.unicodeService.register(e)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(e){this._core.unicodeService.activeVersion=e}},j1=["cols","rows"],Ti=0,A1=class extends De{constructor(e){super(),this._core=this._register(new R1(e)),this._addonManager=this._register(new D1),this._publicOptions={...this._core.options};let t=n=>this._core.options[n],r=(n,o)=>{this._checkReadonlyOptions(n),this._core.options[n]=o};for(let n in this._core.options){let o={get:t.bind(this,n),set:r.bind(this,n)};Object.defineProperty(this._publicOptions,n,o)}}_checkReadonlyOptions(e){if(j1.includes(e))throw new Error(`Option "${e}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw new Error("You must set the allowProposedApi option to true to use proposed API")}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onKey(){return this._core.onKey}get onLineFeed(){return this._core.onLineFeed}get onRender(){return this._core.onRender}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onSelectionChange(){return this._core.onSelectionChange}get onTitleChange(){return this._core.onTitleChange}get onWriteParsed(){return this._core.onWriteParsed}get element(){return this._core.element}get parser(){return this._parser||(this._parser=new T1(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new B1(this._core)}get textarea(){return this._core.textarea}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._buffer||(this._buffer=this._register(new L1(this._core))),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){let e=this._core.coreService.decPrivateModes,t="none";switch(this._core.coreMouseService.activeProtocol){case"X10":t="x10";break;case"VT200":t="vt200";break;case"DRAG":t="drag";break;case"ANY":t="any";break}return{applicationCursorKeysMode:e.applicationCursorKeys,applicationKeypadMode:e.applicationKeypad,bracketedPasteMode:e.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:t,originMode:e.origin,reverseWraparoundMode:e.reverseWraparound,sendFocusMode:e.sendFocus,synchronizedOutputMode:e.synchronizedOutput,wraparoundMode:e.wraparound}}get options(){return this._publicOptions}set options(e){for(let t in e)this._publicOptions[t]=e[t]}blur(){this._core.blur()}focus(){this._core.focus()}input(e,t=!0){this._core.input(e,t)}resize(e,t){this._verifyIntegers(e,t),this._core.resize(e,t)}open(e){this._core.open(e)}attachCustomKeyEventHandler(e){this._core.attachCustomKeyEventHandler(e)}attachCustomWheelEventHandler(e){this._core.attachCustomWheelEventHandler(e)}registerLinkProvider(e){return this._core.registerLinkProvider(e)}registerCharacterJoiner(e){return this._checkProposedApi(),this._core.registerCharacterJoiner(e)}deregisterCharacterJoiner(e){this._checkProposedApi(),this._core.deregisterCharacterJoiner(e)}registerMarker(e=0){return this._verifyIntegers(e),this._core.registerMarker(e)}registerDecoration(e){return this._checkProposedApi(),this._verifyPositiveIntegers(e.x??0,e.width??0,e.height??0),this._core.registerDecoration(e)}hasSelection(){return this._core.hasSelection()}select(e,t,r){this._verifyIntegers(e,t,r),this._core.select(e,t,r)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(e,t){this._verifyIntegers(e,t),this._core.selectLines(e,t)}dispose(){super.dispose()}scrollLines(e){this._verifyIntegers(e),this._core.scrollLines(e)}scrollPages(e){this._verifyIntegers(e),this._core.scrollPages(e)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(e){this._verifyIntegers(e),this._core.scrollToLine(e)}clear(){this._core.clear()}write(e,t){this._core.write(e,t)}writeln(e,t){this._core.write(e),this._core.write(`\r
|
|
66
|
+
`,t)}paste(e){this._core.paste(e)}refresh(e,t){this._verifyIntegers(e,t),this._core.refresh(e,t)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(e){this._addonManager.loadAddon(this,e)}static get strings(){return{get promptLabel(){return gu.get()},set promptLabel(e){gu.set(e)},get tooMuchOutput(){return vu.get()},set tooMuchOutput(e){vu.set(e)}}}_verifyIntegers(...e){for(Ti of e)if(Ti===1/0||isNaN(Ti)||Ti%1!==0)throw new Error("This API only accepts integers")}_verifyPositiveIntegers(...e){for(Ti of e)if(Ti&&(Ti===1/0||isNaN(Ti)||Ti%1!==0||Ti<0))throw new Error("This API only accepts positive integers")}};/**
|
|
67
|
+
* Copyright (c) 2014-2024 The xterm.js authors. All rights reserved.
|
|
68
|
+
* @license MIT
|
|
69
|
+
*
|
|
70
|
+
* Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
|
|
71
|
+
* @license MIT
|
|
72
|
+
*
|
|
73
|
+
* Originally forked from (with the author's permission):
|
|
74
|
+
* Fabrice Bellard's javascript vt100 for jslinux:
|
|
75
|
+
* http://bellard.org/jslinux/
|
|
76
|
+
* Copyright (c) 2011 Fabrice Bellard
|
|
77
|
+
*/var I1=2,O1=1,z1=class{activate(e){this._terminal=e}dispose(){}fit(){let e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;let t=this._terminal._core;(this._terminal.rows!==e.rows||this._terminal.cols!==e.cols)&&(t._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){var v;if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let e=this._terminal._core._renderService.dimensions;if(e.css.cell.width===0||e.css.cell.height===0)return;let t=this._terminal.options.scrollback===0?0:((v=this._terminal.options.overviewRuler)==null?void 0:v.width)||14,r=window.getComputedStyle(this._terminal.element.parentElement),n=parseInt(r.getPropertyValue("height")),o=Math.max(0,parseInt(r.getPropertyValue("width"))),l=window.getComputedStyle(this._terminal.element),u={top:parseInt(l.getPropertyValue("padding-top")),bottom:parseInt(l.getPropertyValue("padding-bottom")),right:parseInt(l.getPropertyValue("padding-right")),left:parseInt(l.getPropertyValue("padding-left"))},f=u.top+u.bottom,m=u.right+u.left,p=n-f,y=o-m-t;return{cols:Math.max(I1,Math.floor(y/e.css.cell.width)),rows:Math.max(O1,Math.floor(p/e.css.cell.height))}}};function F1(e,t){return e?`/api/route/${String(e).split("/").map(encodeURIComponent).join("/")}/_/ws?token=${encodeURIComponent(t||"")}`:"/ws"}function H1({session:e,node:t,token:r,cols:n,rows:o,readonly:l=!1,takeSize:u,focused:f,onData:m,onExit:p,onFiles:y,retryBaseMs:v=250}){const S=["localhost","127.0.0.1","::1","[::1]"].includes(location.hostname);if(location.protocol!=="https:"&&!S)throw new Error("nexuscrew: ws:// rifiutato su origine non-locale e non-TLS (apri via tunnel su localhost o servi in HTTPS)");const C=`${location.protocol==="https:"?"wss":"ws"}://${location.host}${F1(t,r)}`;let E=null,x=!1,R=!1,z=null,T=0,$=f;const te=()=>{if(x||R||z)return;const P=Math.min(5e3,Math.max(0,v)*2**Math.min(T++,5));z=setTimeout(()=>{z=null,L()},P)},L=()=>{if(x||R)return;const P=new WebSocket(C);E=P,P.binaryType="arraybuffer",P.onopen=()=>{if(E!==P||x)return;T=0;const U={type:"attach",session:e,token:r,cols:n,rows:o,readonly:l};u!==void 0&&(U.takeSize=u),P.send(JSON.stringify(U)),$!==void 0&&P.send(JSON.stringify({type:"focus",on:!!$}))},P.onmessage=U=>{if(!(E!==P||x))if(typeof U.data=="string"){let M;try{M=JSON.parse(U.data)}catch{return}M.type==="exit"&&(R=!0,p&&p(M.code)),M.type==="files"&&y&&y(M)}else m&&m(new Uint8Array(U.data))},P.onerror=()=>{if(E===P)try{P.close()}catch{}},P.onclose=U=>{E!==P||x||R||[1e3,1002,4401,4404].includes(U==null?void 0:U.code)||te()}};return L(),{sendInput:P=>{!E||E.readyState!==1||E.send(typeof P=="string"?new TextEncoder().encode(P):P)},resize:(P,U)=>{n=P,o=U,(E==null?void 0:E.readyState)===1&&E.send(JSON.stringify({type:"resize",cols:P,rows:U}))},action:P=>{(E==null?void 0:E.readyState)===1&&E.send(JSON.stringify({type:"action",name:P}))},focus:P=>{$=P,(E==null?void 0:E.readyState)===1&&E.send(JSON.stringify({type:"focus",on:!!P}))},close:()=>{if(x=!0,z&&clearTimeout(z),z=null,E)try{E.close()}catch{}},get raw(){return E}}}async function km(e){const t=String(e||"");if(!t)return!1;try{if(navigator.clipboard&&typeof navigator.clipboard.writeText=="function")return await navigator.clipboard.writeText(t),!0}catch{}try{const r=document.createElement("textarea");r.value=t,r.readOnly=!0,r.style.position="fixed",r.style.opacity="0",r.style.pointerEvents="none",document.body.appendChild(r),r.select();const n=document.execCommand&&document.execCommand("copy");if(r.remove(),n)return!0}catch{}return!1}function $1(e){return!e||typeof e!="object"?!1:!!e.shiftKey}function W1(e){return!e||typeof e!="object"||String(e.key||"").toLowerCase()!=="c"?!1:!!(e.metaKey||e.ctrlKey&&e.shiftKey)}const U1=450,Em=8;function q1(e,t,r,n){return Math.abs(Number(r)-Number(e))>Em||Math.abs(Number(n)-Number(t))>Em}function Eg({session:e,node:t,token:r,readonly:n,takeSize:o,focused:l,sendRef:u,actionRef:f,ctrlRef:m,setCtrlArmed:p,onFiles:y,fontSize:v=13,selectionMode:S=!1,onSelectionModeChange:g}){const C=j.useRef(null),E=j.useRef(null),x=j.useRef(v);x.current=v;const R=j.useRef(l);R.current=l;const z=j.useRef(S);z.current=S;const[T,$]=j.useState(""),[te,L]=j.useState(""),P=async()=>{var Y,I,B,W;const M=((I=(Y=E.current)==null?void 0:Y.term)==null?void 0:I.getSelection())||T;if(!M){L(b("copy-empty")),setTimeout(()=>L(""),1500);return}const K=await km(M);L(b(K?"copied":"copy-manual")),K&&((W=(B=E.current)==null?void 0:B.term)==null||W.clearSelection(),g==null||g(!1)),setTimeout(()=>L(""),1800)},U=j.useRef(P);return U.current=P,j.useEffect(()=>{const M=E.current;M&&M.sock&&M.sock.focus&&M.sock.focus(!!l)},[l]),j.useEffect(()=>{const M=E.current;M&&(M.term.options.fontSize=v,M.fit.fit(),M.sock.resize(M.term.cols,M.term.rows))},[v]),j.useEffect(()=>{const M=new A1({cursorBlink:!0,fontSize:x.current,scrollback:1e3,theme:{background:"#0a0e0a"}}),K=new z1;M.loadAddon(K),M.open(C.current),K.fit();const Y=new TextDecoder;let I;try{I=H1({session:e,node:t,token:r,readonly:n,takeSize:o,focused:R.current,onFiles:y,cols:M.cols,rows:M.rows,onData:_e=>M.write(Y.decode(_e)),onExit:()=>M.write(`\r
|
|
78
|
+
\x1B[33m[sessione finita]\x1B[0m\r
|
|
79
|
+
`)})}catch(_e){return M.write(`\r
|
|
80
|
+
\x1B[31m${_e.message}\x1B[0m\r
|
|
81
|
+
`),()=>M.dispose()}E.current={term:M,fit:K,sock:I},u&&(u.current=_e=>I.sendInput(_e)),f&&(f.current=_e=>I.action(_e));const B=M.onData(_e=>{if(!n){if(m&&m.current&&_e.length===1){const Be=_e.charCodeAt(0);let wt=Be;Be>=97&&Be<=122?wt=Be-96:Be>=64&&Be<=95?wt=Be-64:Be===32&&(wt=0),_e=String.fromCharCode(wt),m.current=!1,p&&p(!1)}I.sendInput(_e)}}),W=M.onSelectionChange(()=>$(M.getSelection()));M.attachCustomKeyEventHandler(_e=>(_e.ctrlKey||_e.metaKey)&&_e.key.toLowerCase()==="c"&&M.getSelection()?(_e.type==="keydown"&&km(M.getSelection()),!1):!0);const V=C.current,Q=24;let X=null,k=null,J=0,ie=null,N=null,F=null,ne=!1;const A=()=>{F&&clearTimeout(F),F=null},O=(_e,Be)=>{const Mt=(V.querySelector(".xterm-screen")||V).getBoundingClientRect(),ni=Math.max(0,Math.min(M.cols-1,Math.floor((_e-Mt.left)/Math.max(1,Mt.width)*M.cols))),Ei=Math.max(0,Math.min(M.rows-1,Math.floor((Be-Mt.top)/Math.max(1,Mt.height)*M.rows)));return{col:ni,row:M.buffer.active.viewportY+Ei}},re=_e=>O(_e.clientX,_e.clientY),ue=_e=>{if(A(),ne=!1,_e.touches.length!==1){X=null;return}if(z.current){_e.preventDefault(),_e.stopPropagation(),N=re(_e.touches[0]),M.clearSelection();return}X=_e.touches[0].clientY,k=_e.touches[0].clientX,J=0,ie=null;const Be={x:k,y:X};F=setTimeout(()=>{F=null,ne=!0,z.current=!0,g==null||g(!0),N=O(Be.x,Be.y),M.clearSelection(),M.select(N.col,N.row,1),X=null,k=null,ie=null,J=0},U1)},ae=_e=>{if((z.current||ne)&&N&&_e.touches.length===1){_e.preventDefault(),_e.stopPropagation();const wt=re(_e.touches[0]),Mt=N.row*M.cols+N.col,ni=wt.row*M.cols+wt.col,Ei=Mt<=ni?N:wt;M.select(Ei.col,Ei.row,Math.abs(ni-Mt)+1);return}if(X===null||_e.touches.length!==1)return;_e.preventDefault(),_e.stopPropagation();const Be=_e.touches[0];if(F&&q1(k,X,Be.clientX,Be.clientY)&&A(),ie===null&&(Math.abs(Be.clientY-X)>8||Math.abs(Be.clientX-k)>8)&&(ie=Math.abs(Be.clientY-X)>Math.abs(Be.clientX-k)),!!ie){for(J+=Be.clientY-X,X=Be.clientY;J>=Q;)I.action("scroll-up"),J-=Q;for(;J<=-Q;)I.action("scroll-down"),J+=Q}},Ce=()=>{A(),X=null,k=null,N=null,ne=!1};let Te=0;const St=_e=>{for(_e.preventDefault(),_e.stopPropagation(),Te+=_e.deltaY;Te<=-Q;)I.action("scroll-up"),Te+=Q;for(;Te>=Q;)I.action("scroll-down"),Te-=Q};V.addEventListener("touchstart",ue,{passive:!1}),V.addEventListener("touchmove",ae,{passive:!1,capture:!0}),V.addEventListener("touchend",Ce,{passive:!0}),V.addEventListener("touchcancel",Ce,{passive:!0});const it=_e=>{(z.current||ne)&&(_e.preventDefault(),_e.stopPropagation())};V.addEventListener("contextmenu",it,!0),V.addEventListener("wheel",St,{passive:!1,capture:!0});let Se=null;const ti=_e=>{$1(_e)&&(_e.preventDefault(),_e.stopPropagation(),Se=O(_e.clientX,_e.clientY),M.clearSelection())},gi=_e=>{if(!Se)return;_e.preventDefault(),_e.stopPropagation();const Be=O(_e.clientX,_e.clientY),wt=Se.row*M.cols+Se.col,Mt=Be.row*M.cols+Be.col,ni=wt<=Mt?Se:Be;M.select(ni.col,ni.row,Math.abs(Mt-wt)+1)},Nr=_e=>{Se&&(_e.stopPropagation(),Se=null)};V.addEventListener("mousedown",ti,!0),V.addEventListener("mousemove",gi,!0),V.addEventListener("mouseup",Nr,!0);const Zi=_e=>{!W1(_e)||!(E.current&&E.current.term&&E.current.term.getSelection())||(_e.preventDefault(),_e.stopPropagation(),U.current&&U.current())};V.addEventListener("keydown",Zi,!0);const ii=()=>{K.fit(),I.resize(M.cols,M.rows)};window.addEventListener("resize",ii);const ri=window.visualViewport;ri&&(ri.addEventListener("resize",ii),ri.addEventListener("scroll",ii));let si=null,It=0;return typeof ResizeObserver<"u"&&(si=new ResizeObserver(()=>{It&&cancelAnimationFrame(It),It=requestAnimationFrame(ii)}),si.observe(V)),()=>{E.current=null,B.dispose(),W.dispose(),V.removeEventListener("touchstart",ue),V.removeEventListener("touchmove",ae,{capture:!0}),V.removeEventListener("touchend",Ce),V.removeEventListener("touchcancel",Ce),V.removeEventListener("contextmenu",it,!0),A(),V.removeEventListener("wheel",St,{capture:!0}),V.removeEventListener("mousedown",ti,!0),V.removeEventListener("mousemove",gi,!0),V.removeEventListener("mouseup",Nr,!0),V.removeEventListener("keydown",Zi,!0),window.removeEventListener("resize",ii),ri&&(ri.removeEventListener("resize",ii),ri.removeEventListener("scroll",ii)),si&&si.disconnect(),It&&cancelAnimationFrame(It),I.close(),M.dispose()}},[e,t,r,n,o,u,f,m,p,y]),h.jsxs("div",{className:`nc-terminal${S?" selecting":""}`,children:[h.jsx("div",{className:"nc-terminal-host",ref:C}),(T||S)&&h.jsxs("div",{className:"nc-selection-tools",children:[T?h.jsx("button",{type:"button",onClick:P,children:te||b("copy")}):h.jsx("span",{children:b("select-drag")}),h.jsx("button",{type:"button",onClick:()=>{var M,K;(K=(M=E.current)==null?void 0:M.term)==null||K.clearSelection(),$(""),g==null||g(!1)},children:b("cancel")}),te===b("copy-manual")&&h.jsx("textarea",{readOnly:!0,value:T,onFocus:M=>M.target.select()})]})]})}const Nm="",qt="\x1B",K1=[{label:"↑",seq:qt+"[A"},{label:"↓",seq:qt+"[B"},{label:"PGUP",seq:qt+"[5~"},{label:"PGDN",seq:qt+"[6~"}];function V1({send:e,action:t,ctrlArmed:r=!1,onCtrl:n,onKeyboard:o,selectionMode:l=!1,onSelectionMode:u}){const[f,m]=j.useState(!1),[p,y]=j.useState(!1),[v,S]=j.useState(!1),g=x=>{v?(e(qt+x),S(!1)):e(x)},C=(x,R,z)=>h.jsx("button",{onMouseDown:T=>{T.preventDefault(),g(R),z&&z()},children:x},x),E=(x,R)=>h.jsx("button",{onMouseDown:z=>{z.preventDefault(),t(R),y(!1)},children:x},x);return f?h.jsxs("div",{className:"nc-keybar copy",children:[h.jsx("span",{className:"tag",children:"copy-mode"}),K1.map(x=>C(x.label,x.seq)),C("ESCI (q)","q",()=>m(!1))]}):h.jsxs("div",{className:"nc-keybar termux",children:[p&&h.jsxs("div",{className:"nc-keymenu",children:[E("←WIN","prev-window"),E("WIN→","next-window"),E("⬅PANE","pane-left"),E("PANE➡","pane-right"),C("SCROLL",Nm+"[",()=>{m(!0),y(!1)}),h.jsx("button",{className:l?"armed":"",onMouseDown:x=>{x.preventDefault(),u==null||u(!l),y(!1)},children:"SELECT"}),C("⌃C","",()=>y(!1)),C("DETACH",Nm+"d",()=>y(!1))]}),h.jsxs("div",{className:"row",children:[C("ESC",qt),h.jsx("button",{className:p?"armed":"",onMouseDown:x=>{x.preventDefault(),y(R=>!R)},children:"☰"},"menu"),C("/","/"),C("—","-"),C("HOME",qt+"[H"),C("↑",qt+"[A"),C("END",qt+"[F"),C("PGUP",qt+"[5~")]}),h.jsxs("div",{className:"row",children:[C("⇥"," "),h.jsx("button",{onMouseDown:x=>{x.preventDefault(),o&&o()},children:"⌨"},"kbd"),h.jsx("button",{className:r?"armed":"",onMouseDown:x=>{x.preventDefault(),n&&n()},children:"CTRL"},"ctrl"),h.jsx("button",{className:v?"armed":"",onMouseDown:x=>{x.preventDefault(),S(R=>!R)},children:"ALT"},"alt"),C("←",qt+"[D"),C("↓",qt+"[B"),C("→",qt+"[C"),C("PGDN",qt+"[6~")]})]})}const Y1=e=>e>1048576?`${(e/1048576).toFixed(1)}M`:e>1024?`${(e/1024).toFixed(0)}K`:`${e}B`;function Ng({session:e,node:t,token:r,filesEvent:n,onClose:o}){ei();const l=t?`/api/route/${String(t).split("/").map(encodeURIComponent).join("/")}/_`:"/api",u=t?`${t}:${e}`:e,[f,m]=j.useState("outbox"),[p,y]=j.useState({inbox:[],outbox:[]}),[v,S]=j.useState(""),g=j.useRef(null);async function C(){try{const T=await(await vt(`${l}/files?session=${encodeURIComponent(e)}`,r)).json();if(T.error){S(T.error);return}y(T);const $=T.outbox[0]?T.outbox[0].mtime:0;localStorage.setItem(b_(u),String($))}catch(z){S(String(z))}}j.useEffect(()=>{C()},[e,t]),j.useEffect(()=>{n&&n.session===e&&C()},[n]);async function E(z){for(const T of z){S(`carico ${T.name}…`);const $=new FormData;$.append("session",e),$.append("file",T);try{const L=await(await vt(`${l}/files/upload`,r,{method:"POST",body:$})).json();S(L.error?`errore: ${L.error}`:"")}catch(te){S(String(te))}}C()}async function x(z){const T=await vt(`${l}/files/download?session=${encodeURIComponent(e)}&box=${f}&name=${encodeURIComponent(z)}`,r);if(!T.ok){S("errore download");return}const $=await T.blob(),te=URL.createObjectURL($),L=document.createElement("a");L.href=te,L.download=z,L.click(),URL.revokeObjectURL(te)}async function R(z){await vt(`${l}/files?session=${encodeURIComponent(e)}&box=${f}&name=${encodeURIComponent(z)}`,r,{method:"DELETE"}),C()}return h.jsxs("div",{className:"nc-files",children:[h.jsxs("header",{children:[h.jsx("b",{children:t?`${t}:${e}`:e}),h.jsx("button",{onClick:o,title:b("close"),children:h.jsx(Ie,{name:"x",size:20})})]}),h.jsxs("nav",{children:[h.jsx("button",{className:f==="outbox"?"on":"",onClick:()=>m("outbox"),children:"outbox"}),h.jsx("button",{className:f==="inbox"?"on":"",onClick:()=>m("inbox"),children:"inbox"}),h.jsxs("button",{className:"up",onClick:()=>g.current&&g.current.click(),children:[h.jsx(Ie,{name:"upload",size:18})," ",b("upload")]}),h.jsx("input",{type:"file",multiple:!0,ref:g,style:{display:"none"},onChange:z=>{E(Array.from(z.target.files||[])),z.target.value=""}})]}),v&&h.jsx("div",{className:"nc-busy",children:v}),h.jsxs("ul",{children:[p[f].map(z=>h.jsxs("li",{children:[h.jsx("span",{className:"name",onClick:()=>x(z.name),children:z.name}),h.jsx("small",{children:Y1(z.size)}),h.jsx("button",{onClick:()=>R(z.name),title:"elimina",children:h.jsx(Ie,{name:"trash",size:18})})]},z.name)),p[f].length===0&&h.jsx("li",{className:"empty",children:b("empty-files")})]})]})}const X1="\r";function G1(e){let t=e.length;for(;t>0;){const r=e.charCodeAt(t-1);if(r===10||r===13)t-=1;else break}return e.slice(0,t)}function Rg({send:e,token:t,session:r,node:n}){ei();const o=n?`/api/route/${String(n).split("/").map(encodeURIComponent).join("/")}/_`:"/api",[l,u]=j.useState(""),[f,m]=j.useState(!1),[p,y]=j.useState(""),[v,S]=j.useState(!1),g=j.useRef(null),C=j.useRef(null),E=j.useRef(null),[x,R]=j.useState(!1),[z,T]=j.useState({left:0,bottom:0}),[$,te]=j.useState(!1),L=j.useRef(null),P=j.useRef(null),U=j.useRef(null),M=j.useRef(null),K=j.useRef(null),Y=j.useRef(`nc-attach-${Math.random().toString(36).slice(2,8)}`);j.useEffect(()=>{let N=!1;if(n){S(!1);return}return vt(`${o}/voice/status`,t).then(F=>F.json()).then(F=>{N||S(!!F.serverSttConfigured)}).catch(()=>{N||S(!1)}),()=>{N=!0}},[t,o]);const B=!!(typeof window<"u"&&(window.SpeechRecognition||window.webkitSpeechRecognition)||v);function W(){const N=G1(l);N&&(e(N),e(X1),u(""),requestAnimationFrame(()=>{var F;return(F=E.current)==null?void 0:F.focus({preventScroll:!0})}))}function V(){const N=L.current&&L.current.getBoundingClientRect();N&&T({left:Math.max(6,Math.min(N.left,window.innerWidth-186)),bottom:window.innerHeight-N.top+6}),R(!0)}function Q(N){R(!1),N&&L.current&&L.current.focus()}j.useEffect(()=>{if(!x)return;const N=ne=>{ne.key==="Escape"&&Q(!0)},F=ne=>{const A=P.current&&P.current.contains(ne.target),O=L.current&&L.current.contains(ne.target);!A&&!O&&Q(!1)};return document.addEventListener("keydown",N),document.addEventListener("pointerdown",F),()=>{document.removeEventListener("keydown",N),document.removeEventListener("pointerdown",F)}},[x]);function X(N){Q(!1),N.current&&N.current.click()}async function k(N){if(!N.length||!r)return;te(!0),y("");const F=[];for(const ne of N)try{const A=new FormData;A.append("session",r),A.append("paste","false"),A.append("file",ne,ne.name);const re=await(await vt(`${o}/files/upload`,t,{method:"POST",body:A})).json();if(re.error){y(re.error);break}F.push(re.path)}catch(A){y(String(A));break}F.length&&u(ne=>ne+(ne&&!ne.endsWith(" ")?" ":"")+F.join(" ")),te(!1)}function J(){g.current&&g.current.stop(),C.current&&C.current.stop(),m(!1)}async function ie(){y("");const N=window.SpeechRecognition||window.webkitSpeechRecognition;if(N){const F=new N;F.lang="it-IT",F.continuous=!1,F.interimResults=!0;const ne=l?`${l} `:"";F.onresult=A=>{const O=Array.from(A.results).map(re=>re[0].transcript).join("");u(ne+O)},F.onend=()=>m(!1),F.onerror=A=>{y(`voice: ${A.error||"errore"}`),m(!1)},g.current=F,F.start(),m(!0);return}try{const F=await navigator.mediaDevices.getUserMedia({audio:!0}),ne=new MediaRecorder(F),A=[];ne.ondataavailable=O=>A.push(O.data),ne.onstop=async()=>{F.getTracks().forEach(O=>O.stop()),m(!1),y("trascrivo…");try{const O=new Blob(A,{type:ne.mimeType||"audio/webm"}),ue=await(await vt(`${o}/voice/transcribe`,t,{method:"POST",headers:{"content-type":"application/octet-stream"},body:O})).json();ue.error?y(ue.error):(y(""),u(ae=>ae+(ae?" ":"")+(ue.text||"")))}catch(O){y(String(O))}},C.current={stop:()=>ne.state!=="inactive"&&ne.stop()},ne.start(),m(!0)}catch{y("microfono non disponibile"),m(!1)}}return h.jsxs("div",{className:"nc-composer",children:[p&&h.jsx("div",{className:"nc-composer-err",children:p}),h.jsxs("div",{className:"nc-composer-row",children:[r&&h.jsx("button",{ref:L,className:$?"attach busy":"attach",disabled:$,onClick:()=>x?Q(!1):V(),title:b($?"attach-uploading":"attach"),"aria-label":b("attach"),"aria-haspopup":"menu","aria-expanded":x,"aria-controls":Y.current,children:h.jsx(Ie,{name:"attach",size:22})}),x&&h.jsxs("div",{ref:P,id:Y.current,role:"menu",className:"nc-attach-menu",style:{left:z.left,bottom:z.bottom},children:[h.jsxs("button",{role:"menuitem",onClick:()=>X(U),children:[h.jsx(Ie,{name:"file",size:18})," ",b("attach-file")]}),h.jsxs("button",{role:"menuitem",onClick:()=>X(M),children:[h.jsx(Ie,{name:"camera",size:18})," ",b("attach-camera")]}),h.jsxs("button",{role:"menuitem",onClick:()=>X(K),children:[h.jsx(Ie,{name:"image",size:18})," ",b("attach-gallery")]})]}),h.jsx("input",{ref:U,type:"file",multiple:!0,hidden:!0,onChange:N=>{k(Array.from(N.target.files||[])),N.target.value=""}}),h.jsx("input",{ref:M,type:"file",accept:"image/*",capture:"environment",hidden:!0,onChange:N=>{k(Array.from(N.target.files||[])),N.target.value=""}}),h.jsx("input",{ref:K,type:"file",accept:"image/*,video/*",multiple:!0,hidden:!0,onChange:N=>{k(Array.from(N.target.files||[])),N.target.value=""}}),h.jsx("textarea",{ref:E,rows:2,value:l,placeholder:b("composer-placeholder"),onChange:N=>u(N.target.value)}),B&&h.jsx("button",{className:f?"mic on":"mic",onClick:f?J:ie,title:b("voice"),children:h.jsx(Ie,{name:"mic",size:22})}),h.jsx("button",{type:"button",className:"go",onPointerDown:N=>N.preventDefault(),onClick:W,title:b("send"),children:h.jsx(Ie,{name:"enter",size:22})})]})]})}function Ca(e){if(!e)return"";const t=Math.floor(Date.now()/1e3)-e;return t<0||t<60?"ora":t<3600?`${Math.floor(t/60)}m`:t<86400?`${Math.floor(t/3600)}h`:`${Math.floor(t/86400)}g`}function Rm(e){return String(e||"?").replace(/^[^a-zA-Z0-9]+/,"").charAt(0).toUpperCase()||"?"}const Q1=180,J1=480;function Wc(e){return e.status==="down"?e.downSince?b("tunnel-down-since").replace("{t}",Ca(e.downSince)):b("tunnel-down"):e.status==="unreachable"?b("node-unreachable"):e.status==="offline"?e.lastSeen?b("node-offline-seen").replace("{t}",Ca(e.lastSeen)):b("node-offline"):e.status==="needs-repair"?b("node-needs-repair"):""}function Z1(e){return e?e.status==="healthy"?"on":"warn":null}function Pm(e){return e&&(e.detail||e.status)||""}function eC({sessions:e=[],cells:t=[],activeSessions:r=[],nodeGroups:n=[],onPick:o,onAddTile:l,onPower:u,onNodePower:f,onKill:m,onNew:p,onSettings:y,width:v=240,collapsed:S=!1,onResize:g,onToggleCollapse:C}){const[E,x]=ei(),[R,z]=j.useState(M_),T=k=>z(J=>L_(J,k)),$=new Set((t||[]).map(k=>k.tmuxSession)),te=new Map((e||[]).map(k=>[k.name,k])),L=(k,J)=>bn(R,k,J),P=pu,U=[...t||[]].sort((k,J)=>P(L(k.tmuxSession,(te.get(k.tmuxSession)||{}).activity),L(J.tmuxSession,(te.get(J.tmuxSession)||{}).activity))),M=(e||[]).filter(k=>!$.has(k.name)).sort((k,J)=>P(L(k.name,k.activity),L(J.name,J.activity))||k.name.localeCompare(J.name)),K=new Set(r||[]),[Y,I]=j.useState(null),B=(k,J)=>{const ie=k.currentTarget.getBoundingClientRect();I({text:J,y:ie.top+ie.height/2})},W=()=>I(null),V=j.useRef(null);j.useEffect(()=>()=>{V.current&&V.current()},[]);function Q(k){k.preventDefault(),k.stopPropagation();const J=k.clientX,ie=v,N=ne=>{const A=Math.max(Q1,Math.min(J1,ie+(ne.clientX-J)));g&&g(A)},F=()=>{window.removeEventListener("pointermove",N),window.removeEventListener("pointerup",F),window.removeEventListener("pointercancel",F),window.removeEventListener("blur",F),V.current=null};window.addEventListener("pointermove",N),window.addEventListener("pointerup",F),window.addEventListener("pointercancel",F),window.addEventListener("blur",F),V.current=F}const X=S?{width:48,flex:"0 0 48px"}:{width:v,flex:`0 0 ${v}px`};return S?h.jsxs("aside",{className:"nc-sidebar mini",style:X,children:[h.jsx("div",{className:"nc-side-head mini",children:h.jsx("button",{className:"nc-collapse-btn",onClick:C,title:b("expand"),children:"⟩"})}),h.jsxs("div",{className:"nc-side-group mini",children:[U.map(k=>{const J=k.degraded?"warn":k.tmux?"on":"",ie=!!k.tmux;return h.jsx("button",{type:"button",className:`nc-mini-dot${K.has(k.tmuxSession)?" active":""}`,onMouseEnter:N=>B(N,k.cell),onMouseLeave:W,draggable:ie,onDragStart:ie?N=>N.dataTransfer.setData("text/nc-session",k.tmuxSession):void 0,onClick:ie?()=>l&&l(k.tmuxSession):()=>u&&u(k),onDoubleClick:ie?()=>o&&o(k.tmuxSession):void 0,children:h.jsx("span",{className:`nc-dot ${J}`})},k.cell)}),M.map(k=>h.jsx("button",{type:"button",className:`nc-mini-init${K.has(k.name)?" active":""}`,onMouseEnter:J=>B(J,k.name),onMouseLeave:W,draggable:!0,onDragStart:J=>J.dataTransfer.setData("text/nc-session",k.name),onClick:()=>l&&l(k.name),onDoubleClick:()=>o&&o(k.name),children:Rm(k.name)},k.name)),(n||[]).flatMap(k=>k.status==="up"?k.sessions.map(J=>h.jsx("button",{type:"button",className:`nc-mini-init${K.has(J.key)?" active":""}`,onMouseEnter:ie=>B(ie,J.key),onMouseLeave:W,draggable:!0,onDragStart:ie=>ie.dataTransfer.setData("text/nc-session",J.key),onClick:()=>l&&l(J.key),onDoubleClick:()=>o&&o({session:J.name,node:J.node}),children:Rm(J.name)},J.key)):[h.jsx("button",{type:"button",className:"nc-mini-dot",onMouseEnter:J=>B(J,`${k.label||(k.route||[k.name]).join(" › ")}: ${Wc(k)}`),onMouseLeave:W,children:h.jsx("span",{className:"nc-dot warn"})},`nodo-${(k.route||[k.name]).join("/")}`)])]}),h.jsx("button",{className:"nc-side-gear mini",onClick:()=>y&&y("nodes",!1),title:b("settings"),onMouseEnter:k=>B(k,b("settings")),onMouseLeave:W,children:h.jsx(Ie,{name:"gear",size:16})}),Y&&h.jsx("div",{className:"nc-mini-tip",style:{top:Y.y},children:Y.text})]}):h.jsxs("aside",{className:"nc-sidebar",style:X,children:[h.jsxs("div",{className:"nc-side-head",children:[h.jsx("button",{className:"nc-collapse-btn",onClick:C,title:b("collapse"),children:"⟨"}),h.jsx("span",{className:"nc-side-title",children:b("fleet")}),h.jsxs("button",{className:"nc-new-btn",onClick:p,title:b("fleet-new-cell"),children:["+ ",b("new")]})]}),(t||[]).length>0&&h.jsx("div",{className:"nc-side-group",children:U.map(k=>{const J=k.degraded?"warn":k.tmux?"on":"",ie=k.degraded?b("cell-degraded"):k.tmux?b("cell-on"):b("cell-off"),N=!!k.tmux;return h.jsxs("div",{className:`nc-cell${N?" live":""}${K.has(k.tmuxSession)?" active":""}`,title:ie,draggable:N,onDragStart:N?F=>F.dataTransfer.setData("text/nc-session",k.tmuxSession):void 0,onClick:N?()=>l&&l(k.tmuxSession):void 0,onDoubleClick:N?()=>o&&o(k.tmuxSession):void 0,children:[h.jsx("span",{className:`nc-dot ${J}`}),h.jsxs("span",{className:"nc-cell-main",children:[h.jsx("b",{children:k.cell}),h.jsxs("small",{children:[k.engine,k.key?`·${k.key}`:""]})]}),h.jsx("button",{className:`nc-pin${R.includes(k.tmuxSession)?" on":""}`,title:b("pin"),onClick:F=>{F.stopPropagation(),T(k.tmuxSession)},children:R.includes(k.tmuxSession)?"★":"☆"}),h.jsx("button",{className:`nc-power${k.tmux?" on":""}${k.degraded?" warn":""}`,onClick:F=>{F.stopPropagation(),u&&u(k)},title:k.active?b("power-off"):b("power-on"),children:h.jsx(Ie,{name:"power",size:14})})]},k.cell)})}),h.jsxs("button",{className:"nc-side-gear",onClick:()=>y&&y("nodes",!1),title:b("settings"),children:[h.jsx(Ie,{name:"gear",size:15})," ",b("settings")]}),h.jsx("div",{className:"nc-side-group-title",children:b("other-sessions")}),h.jsxs("div",{className:"nc-side-group",children:[M.map(k=>h.jsxs("div",{className:`nc-side-card${K.has(k.name)?" active":""}`,draggable:!0,onDragStart:J=>J.dataTransfer.setData("text/nc-session",k.name),onClick:()=>l&&l(k.name),onDoubleClick:()=>o&&o(k.name),children:[h.jsx("span",{className:k.attached?"nc-dot on":"nc-dot"}),h.jsxs("span",{className:"nc-card-main",children:[h.jsx("b",{children:k.name}),h.jsxs("small",{children:[k.preview?k.preview:k.cmd?k.cmd:b("windows").replace("{n}",String(k.windows||0)),k.outbox&&k.outbox.count>0?` · 📦${k.outbox.count}`:""]})]}),k.activity?h.jsx("span",{className:"nc-rel",children:Ca(k.activity)}):null,h.jsx("button",{className:`nc-pin${R.includes(k.name)?" on":""}`,title:b("pin"),onClick:J=>{J.stopPropagation(),T(k.name)},children:R.includes(k.name)?"★":"☆"}),h.jsx("button",{className:"nc-menu",title:b("terminate"),onClick:J=>{J.stopPropagation(),window.confirm(b("terminate-confirm").replace("{name}",k.name))&&m&&m(k.name)},children:"⋯"})]},k.name)),M.length===0&&h.jsx("div",{className:"nc-empty",children:b("no-sessions-short")})]}),(n||[]).map(k=>{const ie=Z1(k.health)||(k.status==="up"?"on":"warn"),N=(k.route||[k.name]).join("/");return h.jsxs("div",{children:[h.jsxs("div",{className:"nc-side-group-title nc-node-title",children:[h.jsx("span",{className:`nc-dot ${ie}`,title:k.health?Pm(k.health):""}),h.jsx("b",{children:k.label||k.name}),h.jsxs("small",{children:[" · ",k.status==="up"?b("node-sessions").replace("{n}",String((k.cells||[]).length+(k.unmanaged||[]).length)):k.health&&Pm(k.health)||Wc(k)]}),k.direct&&k.health&&k.health.managed!==!1&&h.jsx("button",{type:"button",className:`nc-power${k.tunnelStatus==="up"?" on":""}`,title:k.tunnelStatus==="up"?b("power-off"):b("power-on"),onClick:()=>f&&f(k),children:h.jsx(Ie,{name:"power",size:14})})]}),k.status==="up"&&h.jsxs("div",{className:"nc-side-group",children:[(k.cells||[]).map(F=>{const ne=!!F.tmux,A=F.degraded?"warn":F.tmux?"on":"";return h.jsxs("div",{className:`nc-side-card nc-cell${ne?" live":""}${K.has(F.key)?" active":""}`,title:F.active?b("cell-on"):b("cell-off"),draggable:ne,onDragStart:ne?O=>O.dataTransfer.setData("text/nc-session",F.key):void 0,onClick:ne?()=>l&&l(F.key):void 0,onDoubleClick:ne?()=>o&&o({session:F.tmuxSession,node:N}):void 0,children:[h.jsx("span",{className:`nc-dot ${A}`}),h.jsxs("span",{className:"nc-card-main",children:[h.jsx("b",{children:F.cell}),h.jsxs("small",{children:[F.engine,F.key?`·${F.key}`:"",F.active?"":` · ${b("cell-off")}`]})]}),(k.capabilities||[]).includes(F.active?"down":"up")&&h.jsx("button",{className:`nc-power${F.active?" on":""}${F.degraded?" warn":""}`,onClick:O=>{O.stopPropagation(),u&&u({...F,route:k.route,availableEngines:k.engines||[]})},title:F.active?b("power-off"):b("power-on"),children:h.jsx(Ie,{name:"power",size:14})})]},F.key)}),(k.unmanaged||[]).map(F=>h.jsxs("div",{className:`nc-side-card${K.has(F.key)?" active":""}`,draggable:!0,onDragStart:ne=>ne.dataTransfer.setData("text/nc-session",F.key),onClick:()=>l&&l(F.key),onDoubleClick:()=>o&&o({session:F.name,node:F.node}),children:[h.jsx("span",{className:F.attached?"nc-dot on":"nc-dot"}),h.jsxs("span",{className:"nc-card-main",children:[h.jsx("b",{children:F.name}),h.jsx("small",{children:F.preview?F.preview:F.cmd?F.cmd:b("windows").replace("{n}",String(F.windows||0))})]}),F.activity?h.jsx("span",{className:"nc-rel",children:Ca(F.activity)}):null,h.jsx("button",{className:"nc-menu",title:b("terminate"),onClick:ne=>{ne.stopPropagation(),window.confirm(b("terminate-confirm").replace("{name}",F.name))&&m&&m(F.name,k.route)},children:"⋯"})]},F.key)),(k.cells||[]).length===0&&(k.unmanaged||[]).length===0&&h.jsx("div",{className:"nc-empty",children:b("no-sessions-short")})]})]},`nodo-${(k.route||[k.name]).join("/")}`)}),h.jsx("div",{className:"nc-side-lang",children:j_.map((k,J)=>h.jsxs("span",{children:[J>0&&" · ",h.jsx("button",{className:`nc-lang-btn${E===k?" on":""}`,onClick:()=>x(k),title:k,children:k.toUpperCase()})]},k))}),h.jsx("div",{className:"nc-side-resize",onPointerDown:Q,title:""})]})}const kh=9,ba=.2,tC=/^[a-z0-9-]{1,32}(?:\/[a-z0-9-]{1,32}){0,3}$/,eh=e=>tC.test(e)&&new Set(e.split("/")).size===e.split("/").length;function xa(e){if(typeof e=="string"&&e){const t=e.indexOf(":");if(t<0)return{session:e};const r=e.slice(0,t),n=e.slice(t+1);return!eh(r)||!n?null:{session:n,node:r}}return e&&typeof e=="object"&&typeof e.session=="string"&&e.session?e.node===void 0||e.node===null||e.node===""?{session:e.session}:typeof e.node=="string"&&eh(e.node)?{session:e.session,node:e.node}:null:null}function zi(e){const t=xa(e);return t?t.node?`${t.node}:${t.session}`:t.session:""}const Pg=9,Dg=24,Ta=11,iC=e=>{const t=Number(e);return t>=Pg&&t<=Dg?t:Ta};function ka(){return{columns:[]}}function Gi(e){return e.columns.flatMap(t=>t.tiles.map(r=>zi(r)))}const zn=e=>({columns:e.columns.map(t=>({width:t.width,tiles:t.tiles.map(r=>({...r}))}))});function Ea(e,t,r,n){const o=xa(t);if(!o||Gi(e).includes(zi(o))||Gi(e).length>=kh)return e;const l=zn(e),u={session:o.session,height:1,fontSize:Ta,...n||{}};if(o.node&&(u.node=o.node),r==="end")return l.columns.push({width:1,tiles:[u]}),l;if(r&&typeof r.col=="number"&&typeof r.row=="number"&&l.columns[r.col])return l.columns[r.col].tiles.splice(r.row,0,u),l;if(r&&typeof r.col=="number"){const f=Math.max(0,Math.min(l.columns.length,r.col));return l.columns.splice(f,0,{width:1,tiles:[u]}),l}return l.columns.push({width:1,tiles:[u]}),l}function Mg(e,t){const r=zi(t);if(!r||Gi(e).includes(r)||Gi(e).length>=kh)return e;const n=Gi(e).length+1,o=Math.ceil(Math.sqrt(n));if(e.columns.length<o)return Ea(e,t,"end");let l=0;for(let u=1;u<e.columns.length;u+=1)e.columns[u].tiles.length<e.columns[l].tiles.length&&(l=u);return Ea(e,t,{col:l,row:e.columns[l].tiles.length})}function Na(e,t){const r=zi(t),n=zn(e);for(const o of n.columns)o.tiles=o.tiles.filter(l=>zi(l)!==r);return n.columns=n.columns.filter(o=>o.tiles.length>0),n}function rC(e,t,r){const n=zi(t);if(!Gi(e).includes(n))return e;const o=e.columns.flatMap(l=>l.tiles).find(l=>zi(l)===n);return Ea(Na(e,n),n,r,{fontSize:o.fontSize})}function sC(e,t,r){const n=zn(e);return n.columns[t]&&(n.columns[t].width=Math.max(ba,Number(r)||1)),n}function nC(e,t,r,n){const o=zn(e),l=o.columns[t]&&o.columns[t].tiles[r];return l&&(l.height=Math.max(ba,Number(n)||1)),o}function oC(e,t,r,n){if(!(e.columns[t]&&e.columns[t].tiles[r]))return e;const l=zn(e),u=l.columns[t].tiles[r],f=Number(u.fontSize)||Ta;return u.fontSize=Math.max(Pg,Math.min(Dg,f+(Number(n)||0))),l}function aC(e,t,r,n){const o=e.columns[t];if(!o||!o.tiles[r])return null;switch(n){case"left":return{col:t};case"right":return{col:t+1};case"top":return{col:t,row:r};case"bottom":return{col:t,row:r+1};default:return null}}function Dm(e){for(const t of[.25,.5,.75])if(Math.abs(e-t)<=.03)return t;return e}function Ur(e){if(!e||!Array.isArray(e.columns))return ka();const t=e.columns.map(n=>({width:Math.max(ba,Number(n&&n.width)||1),tiles:(Array.isArray(n&&n.tiles)?n.tiles:[]).filter(o=>o&&typeof o.session=="string"&&o.session).filter(o=>o.node==null||typeof o.node=="string"&&eh(o.node)).map(o=>{const l={session:o.session,height:Math.max(ba,Number(o.height)||1),fontSize:iC(o.fontSize)};return o.node!=null&&(l.node=o.node),l})})).filter(n=>n.tiles.length>0),r=new Set;for(const n of t)n.tiles=n.tiles.filter(o=>!r.has(zi(o))&&r.add(zi(o))&&r.size<=kh);return{columns:t.filter(n=>n.tiles.length>0)}}function lC({session:e,node:t,token:r,readonly:n=!1,focused:o,onFocus:l,onClose:u,onOpenSingle:f,alive:m=!0,fontSize:p=Ta,onZoom:y,decks:v=[],currentDeck:S,onSendToDeck:g}){const C=j.useRef(()=>{}),E=j.useRef(()=>{}),x=j.useRef(!1),[R,z]=j.useState(!1),[T,$]=j.useState(!1),[te,L]=j.useState(!1),[P,U]=j.useState(null),M=t?`${t}:${e}`:e;return h.jsxs("div",{className:`nc-tile${o?" focused":""}`,onMouseDown:()=>l&&l(M),children:[h.jsxs("div",{className:"nc-tile-head",draggable:!0,onDragStart:K=>{K.dataTransfer.setData("text/nc-session",M),K.dataTransfer.effectAllowed="move"},children:[h.jsxs("button",{className:"nc-tile-name",onClick:()=>l&&l(M),children:[h.jsx("span",{className:m?"nc-dot on":"nc-dot"}),h.jsx("b",{children:e}),t&&h.jsxs("small",{className:"nc-tile-node",children:["@",t]})]}),h.jsxs("span",{className:"nc-tile-actions",children:[y&&h.jsx("button",{onClick:()=>y(-1),title:b("zoom-out"),children:h.jsx(Ie,{name:"zoomOut",size:14})}),y&&h.jsx("button",{onClick:()=>y(1),title:b("zoom-in"),children:h.jsx(Ie,{name:"zoomIn",size:14})}),g&&v.filter(K=>K!==S).length>0&&h.jsxs("select",{className:"nc-tile-deck",title:b("send-to-deck"),value:"",onMouseDown:K=>K.stopPropagation(),onChange:K=>{const Y=K.target.value;Y&&g(M,Y),K.target.value=""},children:[h.jsx("option",{value:"",children:b("send-to-deck")}),v.filter(K=>K!==S).map(K=>h.jsx("option",{value:K,children:K},K))]}),h.jsx("button",{onClick:()=>$(K=>!K),title:"composer",children:"⌨"}),h.jsx("button",{onClick:()=>L(K=>!K),title:"file",children:"📁"}),f&&h.jsx("button",{onClick:()=>f({session:e,node:t}),title:"vista singola",children:"↗"}),u&&h.jsx("button",{className:"nc-tile-close",onClick:()=>u(M),title:"chiudi",children:"✕"})]})]}),h.jsxs("div",{className:"nc-tile-body",children:[h.jsx(Eg,{session:e,node:t,token:r,readonly:n,takeSize:!1,focused:o,sendRef:C,actionRef:E,ctrlRef:x,setCtrlArmed:z,onFiles:U,fontSize:p}),te&&h.jsx("div",{className:"nc-tile-files",onMouseDown:K=>K.stopPropagation(),children:h.jsx(Ng,{session:e,node:t,token:r,filesEvent:P,onClose:()=>L(!1)})})]}),T&&h.jsx("div",{className:"nc-tile-composer",onMouseDown:K=>K.stopPropagation(),children:h.jsx(Rg,{send:K=>C.current(K),token:r,session:e,node:t})})]})}const Mm=.2,Lm=.28;function cC(e,t,r){const n=(e-r.left)/(r.width||1),o=(t-r.top)/(r.height||1);return n<Lm?"left":n>1-Lm?"right":o<.5?"top":"bottom"}function uC({layout:e,onLayoutChange:t,token:r,readonly:n=!1,sessionsAlive:o,focusSession:l,onFocus:u,onOpenSingle:f,decks:m=[],currentDeck:p,onSendToDeck:y}){ei();const[v,S]=j.useState(null),g=j.useRef(null),C=j.useRef([]),E=j.useRef(null);function x(M,K){const Y=()=>{window.removeEventListener("pointermove",M),window.removeEventListener("pointerup",Y),window.removeEventListener("pointercancel",Y),window.removeEventListener("blur",Y),E.current=null};window.addEventListener("pointermove",M),window.addEventListener("pointerup",Y),window.addEventListener("pointercancel",Y),window.addEventListener("blur",Y),E.current=Y}j.useEffect(()=>()=>{E.current&&E.current()},[]),j.useEffect(()=>{const M=()=>S(null);return window.addEventListener("dragend",M),window.addEventListener("drop",M),()=>{window.removeEventListener("dragend",M),window.removeEventListener("drop",M)}},[]);const R=e.columns.length,z=M=>v&&v.col===M&&v.row===void 0,T=!!v&&v.col===R,$=(M,K)=>v&&v.col===M&&v.row===K&&v.quadrant?` drop-${v.quadrant}`:"";function te(M){M.preventDefault();const K=M.dataTransfer.getData("text/nc-session"),Y=v;if(S(null),!K||!Y)return;let I;if(Y.quadrant){if(I=aC(e,Y.col,Y.row,Y.quadrant),!I)return}else I={col:Y.col};t(Gi(e).includes(K)?rC(e,K,I):Ea(e,K,I))}function L(M,K){M.preventDefault(),M.stopPropagation();const Y=M.clientX,I=e.columns[K].width,B=g.current&&g.current.clientWidth||1,W=e.columns[K+1];x(Q=>{let X=Math.max(Mm,I+(Q.clientX-Y)/B);if(W){const k=Dm(X/(X+W.width));X=k/(1-k)*W.width}t(sC(e,K,X))})}function P(M,K,Y){M.preventDefault(),M.stopPropagation();const I=M.clientY,B=e.columns[K].tiles[Y].height,W=C.current[K],V=W&&W.clientHeight||1,Q=e.columns[K].tiles[Y+1];x(k=>{let J=Math.max(Mm,B+(k.clientY-I)/V);if(Q){const ie=Dm(J/(J+Q.height));J=ie/(1-ie)*Q.height}t(nC(e,K,Y,J))})}function U(M){t(Na(e,M))}return h.jsxs("div",{className:"nc-grid",ref:g,onDragOver:M=>{M.preventDefault(),v&&v.col===R||S({col:R})},onDrop:te,onDragLeave:M=>{const K=M.relatedTarget;(!K||!(g.current&&g.current.contains(K)))&&S(null)},children:[e.columns.flatMap((M,K)=>{const Y=[];return Y.push(h.jsx("div",{className:`nc-col${z(K)?" drop-newcol":""}`,ref:I=>{C.current[K]=I},style:{flexGrow:M.width,flexBasis:0},onDragOver:I=>{I.preventDefault(),I.stopPropagation(),v&&v.col===K&&v.row===void 0||S({col:K})},children:M.tiles.flatMap((I,B)=>{const W=[],V=zi(I);return W.push(h.jsx("div",{className:`nc-tile-slot${$(K,B)}`,style:{flexGrow:I.height,flexBasis:0},onDragOver:Q=>{Q.preventDefault(),Q.stopPropagation();const X=cC(Q.clientX,Q.clientY,Q.currentTarget.getBoundingClientRect());v&&v.col===K&&v.row===B&&v.quadrant===X||S({col:K,row:B,quadrant:X})},children:h.jsx(lC,{session:I.session,node:I.node,token:r,readonly:n,focused:l===V,onFocus:u,onClose:U,onOpenSingle:f,alive:!o||o.has(V),fontSize:I.fontSize,onZoom:Q=>t(oC(e,K,B,Q)),decks:m,currentDeck:p,onSendToDeck:y})},V)),B<M.tiles.length-1&&W.push(h.jsx("div",{className:"nc-divider-h",onPointerDown:Q=>P(Q,K,B)},`h${B}`)),W})},`c${K}`)),K<R-1&&Y.push(h.jsx("div",{className:"nc-divider-v",onPointerDown:I=>L(I,K)},`v${K}`)),Y}),T&&h.jsx("div",{className:"nc-drop-line-v nc-drop-line-end"}),R===0&&h.jsx("div",{className:"nc-grid-empty",children:b("grid-empty")})]})}const hC=/^[a-z0-9-]{1,32}$/,Zt="main",Lg="nc_decks",dC=24;function fC(e){return typeof e!="string"?"":e.normalize("NFKD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+/,"").slice(0,32).replace(/-+$/,"")}function Eh(e){return typeof e=="string"&&hC.test(e)}function pC(e){const t=String(e||"").match(/^\/deck\/([^/]+)\/?$/);if(t){let r;try{r=decodeURIComponent(t[1])}catch{r=t[1]}return Eh(r)?r:Zt}return Zt}function sa(e,t){const r=e===Zt?"/":`/deck/${encodeURIComponent(e)}`;return t?`${r}#token=${encodeURIComponent(t)}`:r}function Tg(e){return e===Zt?"nc_grid_v1":`nc_grid_v1__${e}`}function Bg(e){const t=[Zt];if(Array.isArray(e)){for(const r of e)if(Eh(r)&&r!==Zt&&!t.includes(r)&&t.push(r),t.length>=dC)break}return t}function Ba(){return typeof localStorage<"u"?localStorage:null}function mC(){const e=Ba();if(!e)return[Zt];try{return Bg(JSON.parse(e.getItem(Lg)||"null"))}catch{return[Zt]}}function _C(e){const t=Ba();if(t)try{t.setItem(Lg,JSON.stringify(Bg(e)))}catch{}}function th(e){const t=Ba();if(!t)return null;try{return JSON.parse(t.getItem(Tg(e))||"null")}catch{return null}}function gC(e,t){const r=Ba();if(r)try{r.setItem(Tg(e),JSON.stringify(t))}catch{}}function vC({decks:e=[],currentDeck:t=Zt,onCreate:r,onRename:n,onDelete:o,onOpenWindow:l,onNavigate:u,saveState:f="idle",error:m=""}){ei();const[p,y]=j.useState(!1),[v,S]=j.useState(""),[g,C]=j.useState(!1),[E,x]=j.useState(""),[R,z]=j.useState(""),T=fC(v),$=Eh(T),te=async()=>{if($){C(!0),x("");try{r&&await r(T),S(""),y(!1)}catch(P){x(String(P.message||P))}C(!1)}},L=P=>{z(""),l&&l(P)||z(P)};return h.jsxs("div",{className:"nc-deckbar",children:[h.jsx("span",{className:"nc-deckbar-label",children:b("decks")}),h.jsx("div",{className:"nc-deck-chips",children:e.map(P=>h.jsxs("span",{className:`nc-deck-chip${P===t?" current":""}`,children:[h.jsxs("button",{className:"nc-deck-open",title:P===t?b("deck-current"):P,onClick:()=>P!==t&&u&&u(P),children:[P,P===t?" •":""]}),h.jsx("button",{className:"nc-deck-mini",title:b("open-deck-window"),onClick:()=>L(P),children:"↗"}),P!==Zt&&h.jsxs(h.Fragment,{children:[h.jsx("button",{className:"nc-deck-mini",title:b("rename-deck"),onClick:()=>{const M=((typeof window<"u"?window.prompt(b("rename-deck"),P):"")||"").trim();M&&M!==P&&n&&n(P,M).catch(K=>x(String(K.message||K)))},children:"✎"}),h.jsx("button",{className:"nc-deck-mini nc-deck-del",title:b("delete-deck"),onClick:()=>{(typeof window>"u"||window.confirm(b("delete-deck-confirm").replace("{name}",P)))&&o&&o(P).catch(U=>x(String(U.message||U)))},children:"✕"})]})]},P))}),p?h.jsxs("span",{className:"nc-deck-add",children:[h.jsx("input",{autoFocus:!0,className:$||!v?"":"invalid",placeholder:b("deck-name"),value:v,onChange:P=>S(P.target.value),onKeyDown:P=>{P.key==="Enter"&&te(),P.key==="Escape"&&(S(""),y(!1))}}),v&&$&&T!==v&&h.jsxs("span",{className:"nc-deck-slug",children:["→ ",T]}),h.jsx("button",{className:"nc-deck-ok",disabled:!$||g,onClick:te,children:b("create")}),h.jsx("button",{className:"nc-deck-cancel",onClick:()=>{S(""),y(!1)},children:b("cancel")})]}):h.jsxs("button",{className:"nc-deck-newbtn",title:b("new-deck"),onClick:()=>y(!0),children:["+ ",b("new-deck")]}),h.jsx("span",{className:`nc-deck-state ${f}`,title:b("deck-autosave"),children:b(f==="saving"?"saving":f==="saved"?"saved":"deck-autosave")}),(E||m)&&h.jsx("span",{className:"nc-deck-error",children:E||m}),R&&h.jsx("a",{className:"nc-deck-fallback",href:`/deck/${encodeURIComponent(R)}`,target:"_blank",rel:"noreferrer",children:b("popup-blocked")})]})}var ks={},Uc,Tm;function yC(){return Tm||(Tm=1,Uc=function(){return typeof Promise=="function"&&Promise.prototype&&Promise.prototype.then}),Uc}var qc={},br={},Bm;function Qr(){if(Bm)return br;Bm=1;let e;const t=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];return br.getSymbolSize=function(n){if(!n)throw new Error('"version" cannot be null or undefined');if(n<1||n>40)throw new Error('"version" should be in range from 1 to 40');return n*4+17},br.getSymbolTotalCodewords=function(n){return t[n]},br.getBCHDigit=function(r){let n=0;for(;r!==0;)n++,r>>>=1;return n},br.setToSJISFunction=function(n){if(typeof n!="function")throw new Error('"toSJISFunc" is not a valid function.');e=n},br.isKanjiModeEnabled=function(){return typeof e<"u"},br.toSJIS=function(n){return e(n)},br}var Kc={},jm;function Nh(){return jm||(jm=1,(function(e){e.L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2};function t(r){if(typeof r!="string")throw new Error("Param is not a string");switch(r.toLowerCase()){case"l":case"low":return e.L;case"m":case"medium":return e.M;case"q":case"quartile":return e.Q;case"h":case"high":return e.H;default:throw new Error("Unknown EC Level: "+r)}}e.isValid=function(n){return n&&typeof n.bit<"u"&&n.bit>=0&&n.bit<4},e.from=function(n,o){if(e.isValid(n))return n;try{return t(n)}catch{return o}}})(Kc)),Kc}var Vc,Am;function SC(){if(Am)return Vc;Am=1;function e(){this.buffer=[],this.length=0}return e.prototype={get:function(t){const r=Math.floor(t/8);return(this.buffer[r]>>>7-t%8&1)===1},put:function(t,r){for(let n=0;n<r;n++)this.putBit((t>>>r-n-1&1)===1)},getLengthInBits:function(){return this.length},putBit:function(t){const r=Math.floor(this.length/8);this.buffer.length<=r&&this.buffer.push(0),t&&(this.buffer[r]|=128>>>this.length%8),this.length++}},Vc=e,Vc}var Yc,Im;function wC(){if(Im)return Yc;Im=1;function e(t){if(!t||t<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=t,this.data=new Uint8Array(t*t),this.reservedBit=new Uint8Array(t*t)}return e.prototype.set=function(t,r,n,o){const l=t*this.size+r;this.data[l]=n,o&&(this.reservedBit[l]=!0)},e.prototype.get=function(t,r){return this.data[t*this.size+r]},e.prototype.xor=function(t,r,n){this.data[t*this.size+r]^=n},e.prototype.isReserved=function(t,r){return this.reservedBit[t*this.size+r]},Yc=e,Yc}var Xc={},Om;function CC(){return Om||(Om=1,(function(e){const t=Qr().getSymbolSize;e.getRowColCoords=function(n){if(n===1)return[];const o=Math.floor(n/7)+2,l=t(n),u=l===145?26:Math.ceil((l-13)/(2*o-2))*2,f=[l-7];for(let m=1;m<o-1;m++)f[m]=f[m-1]-u;return f.push(6),f.reverse()},e.getPositions=function(n){const o=[],l=e.getRowColCoords(n),u=l.length;for(let f=0;f<u;f++)for(let m=0;m<u;m++)f===0&&m===0||f===0&&m===u-1||f===u-1&&m===0||o.push([l[f],l[m]]);return o}})(Xc)),Xc}var Gc={},zm;function bC(){if(zm)return Gc;zm=1;const e=Qr().getSymbolSize,t=7;return Gc.getPositions=function(n){const o=e(n);return[[0,0],[o-t,0],[0,o-t]]},Gc}var Qc={},Fm;function xC(){return Fm||(Fm=1,(function(e){e.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};const t={N1:3,N2:3,N3:40,N4:10};e.isValid=function(o){return o!=null&&o!==""&&!isNaN(o)&&o>=0&&o<=7},e.from=function(o){return e.isValid(o)?parseInt(o,10):void 0},e.getPenaltyN1=function(o){const l=o.size;let u=0,f=0,m=0,p=null,y=null;for(let v=0;v<l;v++){f=m=0,p=y=null;for(let S=0;S<l;S++){let g=o.get(v,S);g===p?f++:(f>=5&&(u+=t.N1+(f-5)),p=g,f=1),g=o.get(S,v),g===y?m++:(m>=5&&(u+=t.N1+(m-5)),y=g,m=1)}f>=5&&(u+=t.N1+(f-5)),m>=5&&(u+=t.N1+(m-5))}return u},e.getPenaltyN2=function(o){const l=o.size;let u=0;for(let f=0;f<l-1;f++)for(let m=0;m<l-1;m++){const p=o.get(f,m)+o.get(f,m+1)+o.get(f+1,m)+o.get(f+1,m+1);(p===4||p===0)&&u++}return u*t.N2},e.getPenaltyN3=function(o){const l=o.size;let u=0,f=0,m=0;for(let p=0;p<l;p++){f=m=0;for(let y=0;y<l;y++)f=f<<1&2047|o.get(p,y),y>=10&&(f===1488||f===93)&&u++,m=m<<1&2047|o.get(y,p),y>=10&&(m===1488||m===93)&&u++}return u*t.N3},e.getPenaltyN4=function(o){let l=0;const u=o.data.length;for(let m=0;m<u;m++)l+=o.data[m];return Math.abs(Math.ceil(l*100/u/5)-10)*t.N4};function r(n,o,l){switch(n){case e.Patterns.PATTERN000:return(o+l)%2===0;case e.Patterns.PATTERN001:return o%2===0;case e.Patterns.PATTERN010:return l%3===0;case e.Patterns.PATTERN011:return(o+l)%3===0;case e.Patterns.PATTERN100:return(Math.floor(o/2)+Math.floor(l/3))%2===0;case e.Patterns.PATTERN101:return o*l%2+o*l%3===0;case e.Patterns.PATTERN110:return(o*l%2+o*l%3)%2===0;case e.Patterns.PATTERN111:return(o*l%3+(o+l)%2)%2===0;default:throw new Error("bad maskPattern:"+n)}}e.applyMask=function(o,l){const u=l.size;for(let f=0;f<u;f++)for(let m=0;m<u;m++)l.isReserved(m,f)||l.xor(m,f,r(o,m,f))},e.getBestMask=function(o,l){const u=Object.keys(e.Patterns).length;let f=0,m=1/0;for(let p=0;p<u;p++){l(p),e.applyMask(p,o);const y=e.getPenaltyN1(o)+e.getPenaltyN2(o)+e.getPenaltyN3(o)+e.getPenaltyN4(o);e.applyMask(p,o),y<m&&(m=y,f=p)}return f}})(Qc)),Qc}var na={},Hm;function jg(){if(Hm)return na;Hm=1;const e=Nh(),t=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],r=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];return na.getBlocksCount=function(o,l){switch(l){case e.L:return t[(o-1)*4+0];case e.M:return t[(o-1)*4+1];case e.Q:return t[(o-1)*4+2];case e.H:return t[(o-1)*4+3];default:return}},na.getTotalCodewordsCount=function(o,l){switch(l){case e.L:return r[(o-1)*4+0];case e.M:return r[(o-1)*4+1];case e.Q:return r[(o-1)*4+2];case e.H:return r[(o-1)*4+3];default:return}},na}var Jc={},Cn={},$m;function kC(){if($m)return Cn;$m=1;const e=new Uint8Array(512),t=new Uint8Array(256);return(function(){let n=1;for(let o=0;o<255;o++)e[o]=n,t[n]=o,n<<=1,n&256&&(n^=285);for(let o=255;o<512;o++)e[o]=e[o-255]})(),Cn.log=function(n){if(n<1)throw new Error("log("+n+")");return t[n]},Cn.exp=function(n){return e[n]},Cn.mul=function(n,o){return n===0||o===0?0:e[t[n]+t[o]]},Cn}var Wm;function EC(){return Wm||(Wm=1,(function(e){const t=kC();e.mul=function(n,o){const l=new Uint8Array(n.length+o.length-1);for(let u=0;u<n.length;u++)for(let f=0;f<o.length;f++)l[u+f]^=t.mul(n[u],o[f]);return l},e.mod=function(n,o){let l=new Uint8Array(n);for(;l.length-o.length>=0;){const u=l[0];for(let m=0;m<o.length;m++)l[m]^=t.mul(o[m],u);let f=0;for(;f<l.length&&l[f]===0;)f++;l=l.slice(f)}return l},e.generateECPolynomial=function(n){let o=new Uint8Array([1]);for(let l=0;l<n;l++)o=e.mul(o,new Uint8Array([1,t.exp(l)]));return o}})(Jc)),Jc}var Zc,Um;function NC(){if(Um)return Zc;Um=1;const e=EC();function t(r){this.genPoly=void 0,this.degree=r,this.degree&&this.initialize(this.degree)}return t.prototype.initialize=function(n){this.degree=n,this.genPoly=e.generateECPolynomial(this.degree)},t.prototype.encode=function(n){if(!this.genPoly)throw new Error("Encoder not initialized");const o=new Uint8Array(n.length+this.degree);o.set(n);const l=e.mod(o,this.genPoly),u=this.degree-l.length;if(u>0){const f=new Uint8Array(this.degree);return f.set(l,u),f}return l},Zc=t,Zc}var eu={},tu={},iu={},qm;function Ag(){return qm||(qm=1,iu.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40}),iu}var Bi={},Km;function Ig(){if(Km)return Bi;Km=1;const e="[0-9]+",t="[A-Z $%*+\\-./:]+";let r="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";r=r.replace(/u/g,"\\u");const n="(?:(?![A-Z0-9 $%*+\\-./:]|"+r+`)(?:.|[\r
|
|
82
|
+
]))+`;Bi.KANJI=new RegExp(r,"g"),Bi.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),Bi.BYTE=new RegExp(n,"g"),Bi.NUMERIC=new RegExp(e,"g"),Bi.ALPHANUMERIC=new RegExp(t,"g");const o=new RegExp("^"+r+"$"),l=new RegExp("^"+e+"$"),u=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");return Bi.testKanji=function(m){return o.test(m)},Bi.testNumeric=function(m){return l.test(m)},Bi.testAlphanumeric=function(m){return u.test(m)},Bi}var Vm;function Jr(){return Vm||(Vm=1,(function(e){const t=Ag(),r=Ig();e.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},e.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},e.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},e.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},e.MIXED={bit:-1},e.getCharCountIndicator=function(l,u){if(!l.ccBits)throw new Error("Invalid mode: "+l);if(!t.isValid(u))throw new Error("Invalid version: "+u);return u>=1&&u<10?l.ccBits[0]:u<27?l.ccBits[1]:l.ccBits[2]},e.getBestModeForData=function(l){return r.testNumeric(l)?e.NUMERIC:r.testAlphanumeric(l)?e.ALPHANUMERIC:r.testKanji(l)?e.KANJI:e.BYTE},e.toString=function(l){if(l&&l.id)return l.id;throw new Error("Invalid mode")},e.isValid=function(l){return l&&l.bit&&l.ccBits};function n(o){if(typeof o!="string")throw new Error("Param is not a string");switch(o.toLowerCase()){case"numeric":return e.NUMERIC;case"alphanumeric":return e.ALPHANUMERIC;case"kanji":return e.KANJI;case"byte":return e.BYTE;default:throw new Error("Unknown mode: "+o)}}e.from=function(l,u){if(e.isValid(l))return l;try{return n(l)}catch{return u}}})(tu)),tu}var Ym;function RC(){return Ym||(Ym=1,(function(e){const t=Qr(),r=jg(),n=Nh(),o=Jr(),l=Ag(),u=7973,f=t.getBCHDigit(u);function m(S,g,C){for(let E=1;E<=40;E++)if(g<=e.getCapacity(E,C,S))return E}function p(S,g){return o.getCharCountIndicator(S,g)+4}function y(S,g){let C=0;return S.forEach(function(E){const x=p(E.mode,g);C+=x+E.getBitsLength()}),C}function v(S,g){for(let C=1;C<=40;C++)if(y(S,C)<=e.getCapacity(C,g,o.MIXED))return C}e.from=function(g,C){return l.isValid(g)?parseInt(g,10):C},e.getCapacity=function(g,C,E){if(!l.isValid(g))throw new Error("Invalid QR Code version");typeof E>"u"&&(E=o.BYTE);const x=t.getSymbolTotalCodewords(g),R=r.getTotalCodewordsCount(g,C),z=(x-R)*8;if(E===o.MIXED)return z;const T=z-p(E,g);switch(E){case o.NUMERIC:return Math.floor(T/10*3);case o.ALPHANUMERIC:return Math.floor(T/11*2);case o.KANJI:return Math.floor(T/13);case o.BYTE:default:return Math.floor(T/8)}},e.getBestVersionForData=function(g,C){let E;const x=n.from(C,n.M);if(Array.isArray(g)){if(g.length>1)return v(g,x);if(g.length===0)return 1;E=g[0]}else E=g;return m(E.mode,E.getLength(),x)},e.getEncodedBits=function(g){if(!l.isValid(g)||g<7)throw new Error("Invalid QR Code version");let C=g<<12;for(;t.getBCHDigit(C)-f>=0;)C^=u<<t.getBCHDigit(C)-f;return g<<12|C}})(eu)),eu}var ru={},Xm;function PC(){if(Xm)return ru;Xm=1;const e=Qr(),t=1335,r=21522,n=e.getBCHDigit(t);return ru.getEncodedBits=function(l,u){const f=l.bit<<3|u;let m=f<<10;for(;e.getBCHDigit(m)-n>=0;)m^=t<<e.getBCHDigit(m)-n;return(f<<10|m)^r},ru}var su={},nu,Gm;function DC(){if(Gm)return nu;Gm=1;const e=Jr();function t(r){this.mode=e.NUMERIC,this.data=r.toString()}return t.getBitsLength=function(n){return 10*Math.floor(n/3)+(n%3?n%3*3+1:0)},t.prototype.getLength=function(){return this.data.length},t.prototype.getBitsLength=function(){return t.getBitsLength(this.data.length)},t.prototype.write=function(n){let o,l,u;for(o=0;o+3<=this.data.length;o+=3)l=this.data.substr(o,3),u=parseInt(l,10),n.put(u,10);const f=this.data.length-o;f>0&&(l=this.data.substr(o),u=parseInt(l,10),n.put(u,f*3+1))},nu=t,nu}var ou,Qm;function MC(){if(Qm)return ou;Qm=1;const e=Jr(),t=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function r(n){this.mode=e.ALPHANUMERIC,this.data=n}return r.getBitsLength=function(o){return 11*Math.floor(o/2)+6*(o%2)},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(o){let l;for(l=0;l+2<=this.data.length;l+=2){let u=t.indexOf(this.data[l])*45;u+=t.indexOf(this.data[l+1]),o.put(u,11)}this.data.length%2&&o.put(t.indexOf(this.data[l]),6)},ou=r,ou}var au,Jm;function LC(){if(Jm)return au;Jm=1;const e=Jr();function t(r){this.mode=e.BYTE,typeof r=="string"?this.data=new TextEncoder().encode(r):this.data=new Uint8Array(r)}return t.getBitsLength=function(n){return n*8},t.prototype.getLength=function(){return this.data.length},t.prototype.getBitsLength=function(){return t.getBitsLength(this.data.length)},t.prototype.write=function(r){for(let n=0,o=this.data.length;n<o;n++)r.put(this.data[n],8)},au=t,au}var lu,Zm;function TC(){if(Zm)return lu;Zm=1;const e=Jr(),t=Qr();function r(n){this.mode=e.KANJI,this.data=n}return r.getBitsLength=function(o){return o*13},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(n){let o;for(o=0;o<this.data.length;o++){let l=t.toSJIS(this.data[o]);if(l>=33088&&l<=40956)l-=33088;else if(l>=57408&&l<=60351)l-=49472;else throw new Error("Invalid SJIS character: "+this.data[o]+`
|
|
83
|
+
Make sure your charset is UTF-8`);l=(l>>>8&255)*192+(l&255),n.put(l,13)}},lu=r,lu}var cu={exports:{}},e_;function BC(){return e_||(e_=1,(function(e){var t={single_source_shortest_paths:function(r,n,o){var l={},u={};u[n]=0;var f=t.PriorityQueue.make();f.push(n,0);for(var m,p,y,v,S,g,C,E,x;!f.empty();){m=f.pop(),p=m.value,v=m.cost,S=r[p]||{};for(y in S)S.hasOwnProperty(y)&&(g=S[y],C=v+g,E=u[y],x=typeof u[y]>"u",(x||E>C)&&(u[y]=C,f.push(y,C),l[y]=p))}if(typeof o<"u"&&typeof u[o]>"u"){var R=["Could not find a path from ",n," to ",o,"."].join("");throw new Error(R)}return l},extract_shortest_path_from_predecessor_list:function(r,n){for(var o=[],l=n;l;)o.push(l),r[l],l=r[l];return o.reverse(),o},find_path:function(r,n,o){var l=t.single_source_shortest_paths(r,n,o);return t.extract_shortest_path_from_predecessor_list(l,o)},PriorityQueue:{make:function(r){var n=t.PriorityQueue,o={},l;r=r||{};for(l in n)n.hasOwnProperty(l)&&(o[l]=n[l]);return o.queue=[],o.sorter=r.sorter||n.default_sorter,o},default_sorter:function(r,n){return r.cost-n.cost},push:function(r,n){var o={value:r,cost:n};this.queue.push(o),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return this.queue.length===0}}};e.exports=t})(cu)),cu.exports}var t_;function jC(){return t_||(t_=1,(function(e){const t=Jr(),r=DC(),n=MC(),o=LC(),l=TC(),u=Ig(),f=Qr(),m=BC();function p(R){return unescape(encodeURIComponent(R)).length}function y(R,z,T){const $=[];let te;for(;(te=R.exec(T))!==null;)$.push({data:te[0],index:te.index,mode:z,length:te[0].length});return $}function v(R){const z=y(u.NUMERIC,t.NUMERIC,R),T=y(u.ALPHANUMERIC,t.ALPHANUMERIC,R);let $,te;return f.isKanjiModeEnabled()?($=y(u.BYTE,t.BYTE,R),te=y(u.KANJI,t.KANJI,R)):($=y(u.BYTE_KANJI,t.BYTE,R),te=[]),z.concat(T,$,te).sort(function(P,U){return P.index-U.index}).map(function(P){return{data:P.data,mode:P.mode,length:P.length}})}function S(R,z){switch(z){case t.NUMERIC:return r.getBitsLength(R);case t.ALPHANUMERIC:return n.getBitsLength(R);case t.KANJI:return l.getBitsLength(R);case t.BYTE:return o.getBitsLength(R)}}function g(R){return R.reduce(function(z,T){const $=z.length-1>=0?z[z.length-1]:null;return $&&$.mode===T.mode?(z[z.length-1].data+=T.data,z):(z.push(T),z)},[])}function C(R){const z=[];for(let T=0;T<R.length;T++){const $=R[T];switch($.mode){case t.NUMERIC:z.push([$,{data:$.data,mode:t.ALPHANUMERIC,length:$.length},{data:$.data,mode:t.BYTE,length:$.length}]);break;case t.ALPHANUMERIC:z.push([$,{data:$.data,mode:t.BYTE,length:$.length}]);break;case t.KANJI:z.push([$,{data:$.data,mode:t.BYTE,length:p($.data)}]);break;case t.BYTE:z.push([{data:$.data,mode:t.BYTE,length:p($.data)}])}}return z}function E(R,z){const T={},$={start:{}};let te=["start"];for(let L=0;L<R.length;L++){const P=R[L],U=[];for(let M=0;M<P.length;M++){const K=P[M],Y=""+L+M;U.push(Y),T[Y]={node:K,lastCount:0},$[Y]={};for(let I=0;I<te.length;I++){const B=te[I];T[B]&&T[B].node.mode===K.mode?($[B][Y]=S(T[B].lastCount+K.length,K.mode)-S(T[B].lastCount,K.mode),T[B].lastCount+=K.length):(T[B]&&(T[B].lastCount=K.length),$[B][Y]=S(K.length,K.mode)+4+t.getCharCountIndicator(K.mode,z))}}te=U}for(let L=0;L<te.length;L++)$[te[L]].end=0;return{map:$,table:T}}function x(R,z){let T;const $=t.getBestModeForData(R);if(T=t.from(z,$),T!==t.BYTE&&T.bit<$.bit)throw new Error('"'+R+'" cannot be encoded with mode '+t.toString(T)+`.
|
|
84
|
+
Suggested mode is: `+t.toString($));switch(T===t.KANJI&&!f.isKanjiModeEnabled()&&(T=t.BYTE),T){case t.NUMERIC:return new r(R);case t.ALPHANUMERIC:return new n(R);case t.KANJI:return new l(R);case t.BYTE:return new o(R)}}e.fromArray=function(z){return z.reduce(function(T,$){return typeof $=="string"?T.push(x($,null)):$.data&&T.push(x($.data,$.mode)),T},[])},e.fromString=function(z,T){const $=v(z,f.isKanjiModeEnabled()),te=C($),L=E(te,T),P=m.find_path(L.map,"start","end"),U=[];for(let M=1;M<P.length-1;M++)U.push(L.table[P[M]].node);return e.fromArray(g(U))},e.rawSplit=function(z){return e.fromArray(v(z,f.isKanjiModeEnabled()))}})(su)),su}var i_;function AC(){if(i_)return qc;i_=1;const e=Qr(),t=Nh(),r=SC(),n=wC(),o=CC(),l=bC(),u=xC(),f=jg(),m=NC(),p=RC(),y=PC(),v=Jr(),S=jC();function g(L,P){const U=L.size,M=l.getPositions(P);for(let K=0;K<M.length;K++){const Y=M[K][0],I=M[K][1];for(let B=-1;B<=7;B++)if(!(Y+B<=-1||U<=Y+B))for(let W=-1;W<=7;W++)I+W<=-1||U<=I+W||(B>=0&&B<=6&&(W===0||W===6)||W>=0&&W<=6&&(B===0||B===6)||B>=2&&B<=4&&W>=2&&W<=4?L.set(Y+B,I+W,!0,!0):L.set(Y+B,I+W,!1,!0))}}function C(L){const P=L.size;for(let U=8;U<P-8;U++){const M=U%2===0;L.set(U,6,M,!0),L.set(6,U,M,!0)}}function E(L,P){const U=o.getPositions(P);for(let M=0;M<U.length;M++){const K=U[M][0],Y=U[M][1];for(let I=-2;I<=2;I++)for(let B=-2;B<=2;B++)I===-2||I===2||B===-2||B===2||I===0&&B===0?L.set(K+I,Y+B,!0,!0):L.set(K+I,Y+B,!1,!0)}}function x(L,P){const U=L.size,M=p.getEncodedBits(P);let K,Y,I;for(let B=0;B<18;B++)K=Math.floor(B/3),Y=B%3+U-8-3,I=(M>>B&1)===1,L.set(K,Y,I,!0),L.set(Y,K,I,!0)}function R(L,P,U){const M=L.size,K=y.getEncodedBits(P,U);let Y,I;for(Y=0;Y<15;Y++)I=(K>>Y&1)===1,Y<6?L.set(Y,8,I,!0):Y<8?L.set(Y+1,8,I,!0):L.set(M-15+Y,8,I,!0),Y<8?L.set(8,M-Y-1,I,!0):Y<9?L.set(8,15-Y-1+1,I,!0):L.set(8,15-Y-1,I,!0);L.set(M-8,8,1,!0)}function z(L,P){const U=L.size;let M=-1,K=U-1,Y=7,I=0;for(let B=U-1;B>0;B-=2)for(B===6&&B--;;){for(let W=0;W<2;W++)if(!L.isReserved(K,B-W)){let V=!1;I<P.length&&(V=(P[I]>>>Y&1)===1),L.set(K,B-W,V),Y--,Y===-1&&(I++,Y=7)}if(K+=M,K<0||U<=K){K-=M,M=-M;break}}}function T(L,P,U){const M=new r;U.forEach(function(W){M.put(W.mode.bit,4),M.put(W.getLength(),v.getCharCountIndicator(W.mode,L)),W.write(M)});const K=e.getSymbolTotalCodewords(L),Y=f.getTotalCodewordsCount(L,P),I=(K-Y)*8;for(M.getLengthInBits()+4<=I&&M.put(0,4);M.getLengthInBits()%8!==0;)M.putBit(0);const B=(I-M.getLengthInBits())/8;for(let W=0;W<B;W++)M.put(W%2?17:236,8);return $(M,L,P)}function $(L,P,U){const M=e.getSymbolTotalCodewords(P),K=f.getTotalCodewordsCount(P,U),Y=M-K,I=f.getBlocksCount(P,U),B=M%I,W=I-B,V=Math.floor(M/I),Q=Math.floor(Y/I),X=Q+1,k=V-Q,J=new m(k);let ie=0;const N=new Array(I),F=new Array(I);let ne=0;const A=new Uint8Array(L.buffer);for(let Ce=0;Ce<I;Ce++){const Te=Ce<W?Q:X;N[Ce]=A.slice(ie,ie+Te),F[Ce]=J.encode(N[Ce]),ie+=Te,ne=Math.max(ne,Te)}const O=new Uint8Array(M);let re=0,ue,ae;for(ue=0;ue<ne;ue++)for(ae=0;ae<I;ae++)ue<N[ae].length&&(O[re++]=N[ae][ue]);for(ue=0;ue<k;ue++)for(ae=0;ae<I;ae++)O[re++]=F[ae][ue];return O}function te(L,P,U,M){let K;if(Array.isArray(L))K=S.fromArray(L);else if(typeof L=="string"){let V=P;if(!V){const Q=S.rawSplit(L);V=p.getBestVersionForData(Q,U)}K=S.fromString(L,V||40)}else throw new Error("Invalid data");const Y=p.getBestVersionForData(K,U);if(!Y)throw new Error("The amount of data is too big to be stored in a QR Code");if(!P)P=Y;else if(P<Y)throw new Error(`
|
|
85
|
+
The chosen QR Code version cannot contain this amount of data.
|
|
86
|
+
Minimum version required to store current data is: `+Y+`.
|
|
87
|
+
`);const I=T(P,U,K),B=e.getSymbolSize(P),W=new n(B);return g(W,P),C(W),E(W,P),R(W,U,0),P>=7&&x(W,P),z(W,I),isNaN(M)&&(M=u.getBestMask(W,R.bind(null,W,U))),u.applyMask(M,W),R(W,U,M),{modules:W,version:P,errorCorrectionLevel:U,maskPattern:M,segments:K}}return qc.create=function(P,U){if(typeof P>"u"||P==="")throw new Error("No input text");let M=t.M,K,Y;return typeof U<"u"&&(M=t.from(U.errorCorrectionLevel,t.M),K=p.from(U.version),Y=u.from(U.maskPattern),U.toSJISFunc&&e.setToSJISFunction(U.toSJISFunc)),te(P,K,M,Y)},qc}var uu={},hu={},r_;function Og(){return r_||(r_=1,(function(e){function t(r){if(typeof r=="number"&&(r=r.toString()),typeof r!="string")throw new Error("Color should be defined as hex string");let n=r.slice().replace("#","").split("");if(n.length<3||n.length===5||n.length>8)throw new Error("Invalid hex color: "+r);(n.length===3||n.length===4)&&(n=Array.prototype.concat.apply([],n.map(function(l){return[l,l]}))),n.length===6&&n.push("F","F");const o=parseInt(n.join(""),16);return{r:o>>24&255,g:o>>16&255,b:o>>8&255,a:o&255,hex:"#"+n.slice(0,6).join("")}}e.getOptions=function(n){n||(n={}),n.color||(n.color={});const o=typeof n.margin>"u"||n.margin===null||n.margin<0?4:n.margin,l=n.width&&n.width>=21?n.width:void 0,u=n.scale||4;return{width:l,scale:l?4:u,margin:o,color:{dark:t(n.color.dark||"#000000ff"),light:t(n.color.light||"#ffffffff")},type:n.type,rendererOpts:n.rendererOpts||{}}},e.getScale=function(n,o){return o.width&&o.width>=n+o.margin*2?o.width/(n+o.margin*2):o.scale},e.getImageWidth=function(n,o){const l=e.getScale(n,o);return Math.floor((n+o.margin*2)*l)},e.qrToImageData=function(n,o,l){const u=o.modules.size,f=o.modules.data,m=e.getScale(u,l),p=Math.floor((u+l.margin*2)*m),y=l.margin*m,v=[l.color.light,l.color.dark];for(let S=0;S<p;S++)for(let g=0;g<p;g++){let C=(S*p+g)*4,E=l.color.light;if(S>=y&&g>=y&&S<p-y&&g<p-y){const x=Math.floor((S-y)/m),R=Math.floor((g-y)/m);E=v[f[x*u+R]?1:0]}n[C++]=E.r,n[C++]=E.g,n[C++]=E.b,n[C]=E.a}}})(hu)),hu}var s_;function IC(){return s_||(s_=1,(function(e){const t=Og();function r(o,l,u){o.clearRect(0,0,l.width,l.height),l.style||(l.style={}),l.height=u,l.width=u,l.style.height=u+"px",l.style.width=u+"px"}function n(){try{return document.createElement("canvas")}catch{throw new Error("You need to specify a canvas element")}}e.render=function(l,u,f){let m=f,p=u;typeof m>"u"&&(!u||!u.getContext)&&(m=u,u=void 0),u||(p=n()),m=t.getOptions(m);const y=t.getImageWidth(l.modules.size,m),v=p.getContext("2d"),S=v.createImageData(y,y);return t.qrToImageData(S.data,l,m),r(v,p,y),v.putImageData(S,0,0),p},e.renderToDataURL=function(l,u,f){let m=f;typeof m>"u"&&(!u||!u.getContext)&&(m=u,u=void 0),m||(m={});const p=e.render(l,u,m),y=m.type||"image/png",v=m.rendererOpts||{};return p.toDataURL(y,v.quality)}})(uu)),uu}var du={},n_;function OC(){if(n_)return du;n_=1;const e=Og();function t(o,l){const u=o.a/255,f=l+'="'+o.hex+'"';return u<1?f+" "+l+'-opacity="'+u.toFixed(2).slice(1)+'"':f}function r(o,l,u){let f=o+l;return typeof u<"u"&&(f+=" "+u),f}function n(o,l,u){let f="",m=0,p=!1,y=0;for(let v=0;v<o.length;v++){const S=Math.floor(v%l),g=Math.floor(v/l);!S&&!p&&(p=!0),o[v]?(y++,v>0&&S>0&&o[v-1]||(f+=p?r("M",S+u,.5+g+u):r("m",m,0),m=0,p=!1),S+1<l&&o[v+1]||(f+=r("h",y),y=0)):m++}return f}return du.render=function(l,u,f){const m=e.getOptions(u),p=l.modules.size,y=l.modules.data,v=p+m.margin*2,S=m.color.light.a?"<path "+t(m.color.light,"fill")+' d="M0 0h'+v+"v"+v+'H0z"/>':"",g="<path "+t(m.color.dark,"stroke")+' d="'+n(y,p,m.margin)+'"/>',C='viewBox="0 0 '+v+" "+v+'"',x='<svg xmlns="http://www.w3.org/2000/svg" '+(m.width?'width="'+m.width+'" height="'+m.width+'" ':"")+C+' shape-rendering="crispEdges">'+S+g+`</svg>
|
|
88
|
+
`;return typeof f=="function"&&f(null,x),x},du}var o_;function zC(){if(o_)return ks;o_=1;const e=yC(),t=AC(),r=IC(),n=OC();function o(l,u,f,m,p){const y=[].slice.call(arguments,1),v=y.length,S=typeof y[v-1]=="function";if(!S&&!e())throw new Error("Callback required as last argument");if(S){if(v<2)throw new Error("Too few arguments provided");v===2?(p=f,f=u,u=m=void 0):v===3&&(u.getContext&&typeof p>"u"?(p=m,m=void 0):(p=m,m=f,f=u,u=void 0))}else{if(v<1)throw new Error("Too few arguments provided");return v===1?(f=u,u=m=void 0):v===2&&!u.getContext&&(m=f,f=u,u=void 0),new Promise(function(g,C){try{const E=t.create(f,m);g(l(E,u,m))}catch(E){C(E)}})}try{const g=t.create(f,m);p(null,l(g,u,m))}catch(g){p(g)}}return ks.create=t.create,ks.toCanvas=o.bind(null,r.render),ks.toDataURL=o.bind(null,r.renderToDataURL),ks.toString=o.bind(null,function(l,u,f){return n.render(l,f)}),ks}var FC=zC();const HC=ah(FC),zg=/^[a-z0-9-]{1,32}$/,$C=/^[A-Za-z0-9._-]{1,32}$/,WC=/^[A-Za-z0-9][A-Za-z0-9._-]{0,254}$/,UC=320;function qC(e){return typeof e=="string"&&zg.test(e)}const KC=64;function ih(e){if(typeof e!="string")return!1;const t=e.trim();return t.length>0&&t.length<=KC&&!/[\x00-\x1f\x7f]/.test(t)}function Ns(e){return String(e??"").normalize("NFKD").replace(/[̀-ͯ]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"").slice(0,32).replace(/-+$/g,"")||"node"}function Fg(e){if(typeof e!="string"||!e||e.length>UC||e.startsWith("-")||/[\0-\x20\x7f]/.test(e))return!1;if(!e.includes("@"))return/^[A-Za-z0-9][A-Za-z0-9._:-]{0,254}$/.test(e);const t=e.indexOf("@");return t<=0||t!==e.lastIndexOf("@")?!1:$C.test(e.slice(0,t))&&WC.test(e.slice(t+1))}function a_(e){if(e===""||e===null||e===void 0)return null;const t=String(e).trim();if(!/^[0-9]{1,5}$/.test(t))return;const r=Number(t);return Number.isInteger(r)&&r>=1&&r<=65535?r:void 0}function VC({name:e,ssh:t,sshPort:r,remotePort:n}={}){const o=typeof e=="string"?e.trim():e,l=typeof t=="string"?t.trim():t;if(!qC(o))return{ok:!1,error:"err-node-name"};if(!Fg(l))return{ok:!1,error:"err-ssh"};const u=a_(r);if(u===void 0)return{ok:!1,error:"err-ssh-port"};const f=a_(n);if(f===void 0)return{ok:!1,error:"err-node-port"};const m={name:o,ssh:l};return u!==null&&(m.sshPort=u),f!==null&&(m.remotePort=f),{ok:!0,value:m}}function YC(e,t){if(!e||!t||t<e)return null;const r=Math.floor((t-e)/1e3);return r<60?"ora":r<3600?`${Math.floor(r/60)}m`:r<86400?`${Math.floor(r/3600)}h`:`${Math.floor(r/86400)}g`}function XC(e,t){const r=!!(e&&e.status==="up");return{up:r,label:r?"tunnel-up":"tunnel-down",since:r?YC(e.since,t):null}}const GC=new Set(["v","instanceId","port","label","invite"]),QC=new Set(["v","instanceId","port","label","invite","name","ssh","sshPort"]);function JC(e){const t=String(e).replace(/-/g,"+").replace(/_/g,"/"),r=t+"=".repeat((4-t.length%4)%4),n=typeof atob=="function"?atob(r):Buffer.from(r,"base64").toString("binary"),o=Uint8Array.from(n,l=>l.charCodeAt(0));return typeof TextDecoder<"u"?new TextDecoder().decode(o):Buffer.from(o).toString("utf8")}function ZC(e){let t="";try{const u=new URL(String(e));t=new URLSearchParams(u.hash.replace(/^#/,"")).get("pair")||""}catch{return{ok:!1}}if(!t)return{ok:!1};let r;try{r=JSON.parse(JC(t))}catch{return{ok:!1}}if(!r||typeof r!="object"||Array.isArray(r))return{ok:!1};const n=r.v===1?GC:r.v===2?QC:null;if(!n)return{ok:!1};for(const u of Object.keys(r))if(!n.has(u))return{ok:!1};if(!/^[a-f0-9]{16,64}$/.test(String(r.instanceId)))return{ok:!1};const o=Number(r.port);if(!Number.isInteger(o)||o<1||o>65535)return{ok:!1};if(typeof r.label!="string")return{ok:!1};if(typeof r.invite!="string"||!r.invite)return{ok:!1};const l={ok:!0,version:r.v,label:r.label,invite:r.invite,instanceId:r.instanceId,port:o};if(r.v===2){if(r.name!==void 0){if(typeof r.name!="string"||!zg.test(r.name))return{ok:!1};l.name=r.name}if(r.ssh!==void 0){if(!Fg(r.ssh))return{ok:!1};l.ssh=String(r.ssh).trim()}if(r.sshPort!==void 0){const u=Number(r.sshPort);if(!Number.isInteger(u)||u<1||u>65535)return{ok:!1};l.sshPort=u}}return l}function eb(e,t,r=new Set){if(!t||!t.ok)return e;const n={...e},o=(l,u)=>{u==null||u===""||r.has(l)||(n[l]=u)};return o("label",t.label),t.version===2&&(o("name",t.name||(t.ssh?Ns(t.label):"")),o("ssh",t.ssh),t.sshPort!==void 0&&o("sshPort",String(t.sshPort))),n}function l_(e){return typeof e=="string"?e.trim():e&&typeof e=="object"&&typeof e.data=="string"?e.data.trim():""}function tb(e){const t=String(e||"").trim();if(!t)return{kind:"empty"};const r=ZC(t);if(!r||!r.ok)return{kind:"invalid"};const n=[];return r.ssh||n.push("ssh"),r.name||n.push("name"),n.length?{kind:"partial",decoded:r,missing:n}:{kind:"complete",decoded:r}}function ib(e,t,r=new Set,n=!1){if(!t||!t.ok)return e;const o=eb(e,t,r);return t.version===2&&t.name&&!r.has("name")&&!n&&(o.name=t.name),!r.has("label")&&!o.label&&t.label&&(o.label=t.label),o}function c_(e,t,r=new Set,n=!1){const o=String(t||"").trim(),l=tb(o);let u={...e,pairingUrl:o};return(l.kind==="complete"||l.kind==="partial")&&(u={...ib(u,l.decoded,r,n),pairingUrl:o}),{classification:l,form:u}}function rb(e,{deviceDefault:t=""}={}){const r={name:e.name,ssh:e.ssh,pairingUrl:e.pairingUrl,...e.label?{label:e.label}:{},...e.sshPort?{sshPort:Number(e.sshPort)}:{}},n=e.localLabel||t;return n&&(r.localLabel=n),r}function sb(){const e=new Set;let t=!1;return{canAuto(r){return!t&&!e.has(String(r||""))},start(r){return t?!1:(t=!0,e.add(String(r||"")),!0)},finish(){t=!1},reset(r){e.delete(String(r||""))},isBusy(){return t}}}const nb=["validation","conflict","ssh-start","ssh-ready","join","tunnel-final","confirm","health"];function ob(e){const t=e&&e.data||{},r=typeof t.stage=="string"&&t.stage?t.stage:"",n=typeof t.detail=="string"&&t.detail?t.detail:"";return{stage:r,code:typeof t.code=="string"?t.code:"",detail:n,hint:typeof t.hint=="string"?t.hint:"",retryable:typeof t.retryable=="boolean"?t.retryable:!r,message:n||String(e&&e.message||e)}}const ab="modulepreload",lb=function(e){return"/"+e},u_={},cb=function(t,r,n){let o=Promise.resolve();if(r&&r.length>0){let u=function(p){return Promise.all(p.map(y=>Promise.resolve(y).then(v=>({status:"fulfilled",value:v}),v=>({status:"rejected",reason:v}))))};document.getElementsByTagName("link");const f=document.querySelector("meta[property=csp-nonce]"),m=(f==null?void 0:f.nonce)||(f==null?void 0:f.getAttribute("nonce"));o=u(r.map(p=>{if(p=lb(p),p in u_)return;u_[p]=!0;const y=p.endsWith(".css"),v=y?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${p}"]${v}`))return;const S=document.createElement("link");if(S.rel=y?"stylesheet":ab,y||(S.as="script"),S.crossOrigin="",S.href=p,m&&S.setAttribute("nonce",m),document.head.appendChild(S),y)return new Promise((g,C)=>{S.addEventListener("load",g),S.addEventListener("error",()=>C(new Error(`Unable to preload CSS for ${p}`)))})}))}function l(u){const f=new Event("vite:preloadError",{cancelable:!0});if(f.payload=u,window.dispatchEvent(f),!f.defaultPrevented)throw u}return o.then(u=>{for(const f of u||[])f.status==="rejected"&&l(f.reason);return t().catch(l)})};class Re{constructor(t,r,n,o,l){this._legacyCanvasSize=Re.DEFAULT_CANVAS_SIZE,this._preferredCamera="environment",this._maxScansPerSecond=25,this._lastScanTimestamp=-1,this._destroyed=this._flashOn=this._paused=this._active=!1,this.$video=t,this.$canvas=document.createElement("canvas"),n&&typeof n=="object"?this._onDecode=r:(console.warn(n||o||l?"You're using a deprecated version of the QrScanner constructor which will be removed in the future":"Note that the type of the scan result passed to onDecode will change in the future. To already switch to the new api today, you can pass returnDetailedScanResult: true."),this._legacyOnDecode=r),r=typeof n=="object"?n:{},this._onDecodeError=r.onDecodeError||(typeof n=="function"?n:this._onDecodeError),this._calculateScanRegion=r.calculateScanRegion||(typeof o=="function"?o:this._calculateScanRegion),this._preferredCamera=r.preferredCamera||l||this._preferredCamera,this._legacyCanvasSize=typeof n=="number"?n:typeof o=="number"?o:this._legacyCanvasSize,this._maxScansPerSecond=r.maxScansPerSecond||this._maxScansPerSecond,this._onPlay=this._onPlay.bind(this),this._onLoadedMetaData=this._onLoadedMetaData.bind(this),this._onVisibilityChange=this._onVisibilityChange.bind(this),this._updateOverlay=this._updateOverlay.bind(this),t.disablePictureInPicture=!0,t.playsInline=!0,t.muted=!0;let u=!1;if(t.hidden&&(t.hidden=!1,u=!0),document.body.contains(t)||(document.body.appendChild(t),u=!0),n=t.parentElement,r.highlightScanRegion||r.highlightCodeOutline){if(o=!!r.overlay,this.$overlay=r.overlay||document.createElement("div"),l=this.$overlay.style,l.position="absolute",l.display="none",l.pointerEvents="none",this.$overlay.classList.add("scan-region-highlight"),!o&&r.highlightScanRegion){this.$overlay.innerHTML='<svg class="scan-region-highlight-svg" viewBox="0 0 238 238" preserveAspectRatio="none" style="position:absolute;width:100%;height:100%;left:0;top:0;fill:none;stroke:#e9b213;stroke-width:4;stroke-linecap:round;stroke-linejoin:round"><path d="M31 2H10a8 8 0 0 0-8 8v21M207 2h21a8 8 0 0 1 8 8v21m0 176v21a8 8 0 0 1-8 8h-21m-176 0H10a8 8 0 0 1-8-8v-21"/></svg>';try{this.$overlay.firstElementChild.animate({transform:["scale(.98)","scale(1.01)"]},{duration:400,iterations:1/0,direction:"alternate",easing:"ease-in-out"})}catch{}n.insertBefore(this.$overlay,this.$video.nextSibling)}r.highlightCodeOutline&&(this.$overlay.insertAdjacentHTML("beforeend",'<svg class="code-outline-highlight" preserveAspectRatio="none" style="display:none;width:100%;height:100%;fill:none;stroke:#e9b213;stroke-width:5;stroke-dasharray:25;stroke-linecap:round;stroke-linejoin:round"><polygon/></svg>'),this.$codeOutlineHighlight=this.$overlay.lastElementChild)}this._scanRegion=this._calculateScanRegion(t),requestAnimationFrame(()=>{let f=window.getComputedStyle(t);f.display==="none"&&(t.style.setProperty("display","block","important"),u=!0),f.visibility!=="visible"&&(t.style.setProperty("visibility","visible","important"),u=!0),u&&(console.warn("QrScanner has overwritten the video hiding style to avoid Safari stopping the playback."),t.style.opacity="0",t.style.width="0",t.style.height="0",this.$overlay&&this.$overlay.parentElement&&this.$overlay.parentElement.removeChild(this.$overlay),delete this.$overlay,delete this.$codeOutlineHighlight),this.$overlay&&this._updateOverlay()}),t.addEventListener("play",this._onPlay),t.addEventListener("loadedmetadata",this._onLoadedMetaData),document.addEventListener("visibilitychange",this._onVisibilityChange),window.addEventListener("resize",this._updateOverlay),this._qrEnginePromise=Re.createQrEngine()}static set WORKER_PATH(t){console.warn("Setting QrScanner.WORKER_PATH is not required and not supported anymore. Have a look at the README for new setup instructions.")}static async hasCamera(){try{return!!(await Re.listCameras(!1)).length}catch{return!1}}static async listCameras(t=!1){if(!navigator.mediaDevices)return[];let r=async()=>(await navigator.mediaDevices.enumerateDevices()).filter(o=>o.kind==="videoinput"),n;try{t&&(await r()).every(o=>!o.label)&&(n=await navigator.mediaDevices.getUserMedia({audio:!1,video:!0}))}catch{}try{return(await r()).map((o,l)=>({id:o.deviceId,label:o.label||(l===0?"Default Camera":`Camera ${l+1}`)}))}finally{n&&(console.warn("Call listCameras after successfully starting a QR scanner to avoid creating a temporary video stream"),Re._stopVideoStream(n))}}async hasFlash(){let t;try{if(this.$video.srcObject){if(!(this.$video.srcObject instanceof MediaStream))return!1;t=this.$video.srcObject}else t=(await this._getCameraStream()).stream;return"torch"in t.getVideoTracks()[0].getSettings()}catch{return!1}finally{t&&t!==this.$video.srcObject&&(console.warn("Call hasFlash after successfully starting the scanner to avoid creating a temporary video stream"),Re._stopVideoStream(t))}}isFlashOn(){return this._flashOn}async toggleFlash(){this._flashOn?await this.turnFlashOff():await this.turnFlashOn()}async turnFlashOn(){if(!this._flashOn&&!this._destroyed&&(this._flashOn=!0,this._active&&!this._paused))try{if(!await this.hasFlash())throw"No flash available";await this.$video.srcObject.getVideoTracks()[0].applyConstraints({advanced:[{torch:!0}]})}catch(t){throw this._flashOn=!1,t}}async turnFlashOff(){this._flashOn&&(this._flashOn=!1,await this._restartVideoStream())}destroy(){this.$video.removeEventListener("loadedmetadata",this._onLoadedMetaData),this.$video.removeEventListener("play",this._onPlay),document.removeEventListener("visibilitychange",this._onVisibilityChange),window.removeEventListener("resize",this._updateOverlay),this._destroyed=!0,this._flashOn=!1,this.stop(),Re._postWorkerMessage(this._qrEnginePromise,"close")}async start(){if(this._destroyed)throw Error("The QR scanner can not be started as it had been destroyed.");if((!this._active||this._paused)&&(window.location.protocol!=="https:"&&console.warn("The camera stream is only accessible if the page is transferred via https."),this._active=!0,!document.hidden))if(this._paused=!1,this.$video.srcObject)await this.$video.play();else try{let{stream:t,facingMode:r}=await this._getCameraStream();!this._active||this._paused?Re._stopVideoStream(t):(this._setVideoMirror(r),this.$video.srcObject=t,await this.$video.play(),this._flashOn&&(this._flashOn=!1,this.turnFlashOn().catch(()=>{})))}catch(t){if(!this._paused)throw this._active=!1,t}}stop(){this.pause(),this._active=!1}async pause(t=!1){if(this._paused=!0,!this._active)return!0;this.$video.pause(),this.$overlay&&(this.$overlay.style.display="none");let r=()=>{this.$video.srcObject instanceof MediaStream&&(Re._stopVideoStream(this.$video.srcObject),this.$video.srcObject=null)};return t?(r(),!0):(await new Promise(n=>setTimeout(n,300)),this._paused?(r(),!0):!1)}async setCamera(t){t!==this._preferredCamera&&(this._preferredCamera=t,await this._restartVideoStream())}static async scanImage(t,r,n,o,l=!1,u=!1){let f,m=!1;r&&("scanRegion"in r||"qrEngine"in r||"canvas"in r||"disallowCanvasResizing"in r||"alsoTryWithoutScanRegion"in r||"returnDetailedScanResult"in r)?(f=r.scanRegion,n=r.qrEngine,o=r.canvas,l=r.disallowCanvasResizing||!1,u=r.alsoTryWithoutScanRegion||!1,m=!0):console.warn(r||n||o||l||u?"You're using a deprecated api for scanImage which will be removed in the future.":"Note that the return type of scanImage will change in the future. To already switch to the new api today, you can pass returnDetailedScanResult: true."),r=!!n;try{let p,y;[n,p]=await Promise.all([n||Re.createQrEngine(),Re._loadImage(t)]),[o,y]=Re._drawToCanvas(p,f,o,l);let v;if(n instanceof Worker){let S=n;r||Re._postWorkerMessageSync(S,"inversionMode","both"),v=await new Promise((g,C)=>{let E,x,R,z=-1;x=$=>{$.data.id===z&&(S.removeEventListener("message",x),S.removeEventListener("error",R),clearTimeout(E),$.data.data!==null?g({data:$.data.data,cornerPoints:Re._convertPoints($.data.cornerPoints,f)}):C(Re.NO_QR_CODE_FOUND))},R=$=>{S.removeEventListener("message",x),S.removeEventListener("error",R),clearTimeout(E),C("Scanner error: "+($?$.message||$:"Unknown Error"))},S.addEventListener("message",x),S.addEventListener("error",R),E=setTimeout(()=>R("timeout"),1e4);let T=y.getImageData(0,0,o.width,o.height);z=Re._postWorkerMessageSync(S,"decode",T,[T.data.buffer])})}else v=await Promise.race([new Promise((S,g)=>window.setTimeout(()=>g("Scanner error: timeout"),1e4)),(async()=>{try{var[S]=await n.detect(o);if(!S)throw Re.NO_QR_CODE_FOUND;return{data:S.rawValue,cornerPoints:Re._convertPoints(S.cornerPoints,f)}}catch(g){if(S=g.message||g,/not implemented|service unavailable/.test(S))return Re._disableBarcodeDetector=!0,Re.scanImage(t,{scanRegion:f,canvas:o,disallowCanvasResizing:l,alsoTryWithoutScanRegion:u});throw`Scanner error: ${S}`}})()]);return m?v:v.data}catch(p){if(!f||!u)throw p;let y=await Re.scanImage(t,{qrEngine:n,canvas:o,disallowCanvasResizing:l});return m?y:y.data}finally{r||Re._postWorkerMessage(n,"close")}}setGrayscaleWeights(t,r,n,o=!0){Re._postWorkerMessage(this._qrEnginePromise,"grayscaleWeights",{red:t,green:r,blue:n,useIntegerApproximation:o})}setInversionMode(t){Re._postWorkerMessage(this._qrEnginePromise,"inversionMode",t)}static async createQrEngine(t){if(t&&console.warn("Specifying a worker path is not required and not supported anymore."),t=()=>cb(()=>import("./qr-scanner-worker.min-D85Z9gVD.js"),[]).then(n=>n.createWorker()),!(!Re._disableBarcodeDetector&&"BarcodeDetector"in window&&BarcodeDetector.getSupportedFormats&&(await BarcodeDetector.getSupportedFormats()).includes("qr_code")))return t();let r=navigator.userAgentData;return r&&r.brands.some(({brand:n})=>/Chromium/i.test(n))&&/mac ?OS/i.test(r.platform)&&await r.getHighEntropyValues(["architecture","platformVersion"]).then(({architecture:n,platformVersion:o})=>/arm/i.test(n||"arm")&&13<=parseInt(o||"13")).catch(()=>!0)?t():new BarcodeDetector({formats:["qr_code"]})}_onPlay(){this._scanRegion=this._calculateScanRegion(this.$video),this._updateOverlay(),this.$overlay&&(this.$overlay.style.display=""),this._scanFrame()}_onLoadedMetaData(){this._scanRegion=this._calculateScanRegion(this.$video),this._updateOverlay()}_onVisibilityChange(){document.hidden?this.pause():this._active&&this.start()}_calculateScanRegion(t){let r=Math.round(.6666666666666666*Math.min(t.videoWidth,t.videoHeight));return{x:Math.round((t.videoWidth-r)/2),y:Math.round((t.videoHeight-r)/2),width:r,height:r,downScaledWidth:this._legacyCanvasSize,downScaledHeight:this._legacyCanvasSize}}_updateOverlay(){requestAnimationFrame(()=>{if(this.$overlay){var t=this.$video,r=t.videoWidth,n=t.videoHeight,o=t.offsetWidth,l=t.offsetHeight,u=t.offsetLeft,f=t.offsetTop,m=window.getComputedStyle(t),p=m.objectFit,y=r/n,v=o/l;switch(p){case"none":var S=r,g=n;break;case"fill":S=o,g=l;break;default:(p==="cover"?y>v:y<v)?(g=l,S=g*y):(S=o,g=S/y),p==="scale-down"&&(S=Math.min(S,r),g=Math.min(g,n))}var[C,E]=m.objectPosition.split(" ").map((R,z)=>{const T=parseFloat(R);return R.endsWith("%")?(z?l-g:o-S)*T/100:T});m=this._scanRegion.width||r,v=this._scanRegion.height||n,p=this._scanRegion.x||0;var x=this._scanRegion.y||0;y=this.$overlay.style,y.width=`${m/r*S}px`,y.height=`${v/n*g}px`,y.top=`${f+E+x/n*g}px`,n=/scaleX\(-1\)/.test(t.style.transform),y.left=`${u+(n?o-C-S:C)+(n?r-p-m:p)/r*S}px`,y.transform=t.style.transform}})}static _convertPoints(t,r){if(!r)return t;let n=r.x||0,o=r.y||0,l=r.width&&r.downScaledWidth?r.width/r.downScaledWidth:1;r=r.height&&r.downScaledHeight?r.height/r.downScaledHeight:1;for(let u of t)u.x=u.x*l+n,u.y=u.y*r+o;return t}_scanFrame(){!this._active||this.$video.paused||this.$video.ended||("requestVideoFrameCallback"in this.$video?this.$video.requestVideoFrameCallback.bind(this.$video):requestAnimationFrame)(async()=>{if(!(1>=this.$video.readyState)){var t=Date.now()-this._lastScanTimestamp,r=1e3/this._maxScansPerSecond;t<r&&await new Promise(o=>setTimeout(o,r-t)),this._lastScanTimestamp=Date.now();try{var n=await Re.scanImage(this.$video,{scanRegion:this._scanRegion,qrEngine:this._qrEnginePromise,canvas:this.$canvas})}catch(o){if(!this._active)return;this._onDecodeError(o)}!Re._disableBarcodeDetector||await this._qrEnginePromise instanceof Worker||(this._qrEnginePromise=Re.createQrEngine()),n?(this._onDecode?this._onDecode(n):this._legacyOnDecode&&this._legacyOnDecode(n.data),this.$codeOutlineHighlight&&(clearTimeout(this._codeOutlineHighlightRemovalTimeout),this._codeOutlineHighlightRemovalTimeout=void 0,this.$codeOutlineHighlight.setAttribute("viewBox",`${this._scanRegion.x||0} ${this._scanRegion.y||0} ${this._scanRegion.width||this.$video.videoWidth} ${this._scanRegion.height||this.$video.videoHeight}`),this.$codeOutlineHighlight.firstElementChild.setAttribute("points",n.cornerPoints.map(({x:o,y:l})=>`${o},${l}`).join(" ")),this.$codeOutlineHighlight.style.display="")):this.$codeOutlineHighlight&&!this._codeOutlineHighlightRemovalTimeout&&(this._codeOutlineHighlightRemovalTimeout=setTimeout(()=>this.$codeOutlineHighlight.style.display="none",100))}this._scanFrame()})}_onDecodeError(t){t!==Re.NO_QR_CODE_FOUND&&console.log(t)}async _getCameraStream(){if(!navigator.mediaDevices)throw"Camera not found.";let t=/^(environment|user)$/.test(this._preferredCamera)?"facingMode":"deviceId",r=[{width:{min:1024}},{width:{min:768}},{}],n=r.map(o=>Object.assign({},o,{[t]:{exact:this._preferredCamera}}));for(let o of[...n,...r])try{let l=await navigator.mediaDevices.getUserMedia({video:o,audio:!1}),u=this._getFacingMode(l)||(o.facingMode?this._preferredCamera:this._preferredCamera==="environment"?"user":"environment");return{stream:l,facingMode:u}}catch{}throw"Camera not found."}async _restartVideoStream(){let t=this._paused;await this.pause(!0)&&!t&&this._active&&await this.start()}static _stopVideoStream(t){for(let r of t.getTracks())r.stop(),t.removeTrack(r)}_setVideoMirror(t){this.$video.style.transform="scaleX("+(t==="user"?-1:1)+")"}_getFacingMode(t){return(t=t.getVideoTracks()[0])?/rear|back|environment/i.test(t.label)?"environment":/front|user|face/i.test(t.label)?"user":null:null}static _drawToCanvas(t,r,n,o=!1){n=n||document.createElement("canvas");let l=r&&r.x?r.x:0,u=r&&r.y?r.y:0,f=r&&r.width?r.width:t.videoWidth||t.width,m=r&&r.height?r.height:t.videoHeight||t.height;return o||(o=r&&r.downScaledWidth?r.downScaledWidth:f,r=r&&r.downScaledHeight?r.downScaledHeight:m,n.width!==o&&(n.width=o),n.height!==r&&(n.height=r)),r=n.getContext("2d",{alpha:!1}),r.imageSmoothingEnabled=!1,r.drawImage(t,l,u,f,m,0,0,n.width,n.height),[n,r]}static async _loadImage(t){if(t instanceof Image)return await Re._awaitImageLoad(t),t;if(t instanceof HTMLVideoElement||t instanceof HTMLCanvasElement||t instanceof SVGImageElement||"OffscreenCanvas"in window&&t instanceof OffscreenCanvas||"ImageBitmap"in window&&t instanceof ImageBitmap)return t;if(t instanceof File||t instanceof Blob||t instanceof URL||typeof t=="string"){let r=new Image;r.src=t instanceof File||t instanceof Blob?URL.createObjectURL(t):t.toString();try{return await Re._awaitImageLoad(r),r}finally{(t instanceof File||t instanceof Blob)&&URL.revokeObjectURL(r.src)}}else throw"Unsupported image type."}static async _awaitImageLoad(t){t.complete&&t.naturalWidth!==0||await new Promise((r,n)=>{let o=l=>{t.removeEventListener("load",o),t.removeEventListener("error",o),l instanceof ErrorEvent?n("Image load error"):r()};t.addEventListener("load",o),t.addEventListener("error",o)})}static async _postWorkerMessage(t,r,n,o){return Re._postWorkerMessageSync(await t,r,n,o)}static _postWorkerMessageSync(t,r,n,o){if(!(t instanceof Worker))return-1;let l=Re._workerMessageId++;return t.postMessage({id:l,type:r,data:n},o),l}}Re.DEFAULT_CANVAS_SIZE=400;Re.NO_QR_CODE_FOUND="No QR code found";Re._disableBarcodeDetector=!1;Re._workerMessageId=0;function ub({onResult:e,onClose:t}){const r=j.useRef(null),n=j.useRef(null),o=j.useRef(!1),[l,u]=j.useState("");j.useEffect(()=>{let m=!1;const p=r.current,y=v=>{m||o.current||(o.current=!0,e(v))};return(async()=>{if(typeof navigator>"u"||!navigator.mediaDevices||typeof navigator.mediaDevices.getUserMedia!="function"){u(b("qr-unsupported"));return}let v=!1;try{v=await Re.hasCamera()}catch{v=!1}if(!v){u(b("qr-no-camera"));return}if(m||!p)return;const S=new Re(p,g=>{const C=l_(g);C&&y(C)},{returnDetailedScanResult:!0,preferredCamera:"environment",calculateScanRegion:g=>{const C=g.videoWidth||640,E=g.videoHeight||480,x=Math.max(1,Math.round(Math.min(C,E)*.92));return{x:Math.round((C-x)/2),y:Math.round((E-x)/2),width:x,height:x,downScaledWidth:600,downScaledHeight:600}},highlightScanRegion:!0,highlightCodeOutline:!0});n.current=S;try{await S.start()}catch(g){if(m)return;const C=g&&g.name||"";u(b(C==="NotAllowedError"||C==="SecurityError"?"qr-permission":C==="NotFoundError"||C==="OverconstrainedError"||C==="NotReadableError"?"qr-no-camera":"qr-unsupported"))}})(),()=>{m=!0;const v=n.current;if(v){try{v.stop()}catch{}try{v.destroy()}catch{}n.current=null}const S=p,g=S&&S.srcObject;if(g&&typeof g.getTracks=="function"){for(const C of g.getTracks())try{C.stop()}catch{}try{S.srcObject=null}catch{}}}},[]);const f=async m=>{const p=m.target.files&&m.target.files[0];if(m.target.value="",!!p)try{const y=await Re.scanImage(p,{returnDetailedScanResult:!0}),v=l_(y);if(!v)throw new Error("empty");o.current||(o.current=!0,e(v))}catch{u(b("pairing-qr-invalid"))}};return h.jsx("div",{className:"nc-sheet-overlay nc-qr-overlay",onClick:t,children:h.jsxs("div",{className:"nc-sheet nc-qr-modal",onClick:m=>m.stopPropagation(),children:[h.jsx("div",{className:"nc-sheet-head",children:h.jsx("b",{children:b("scan-qr")})}),h.jsx("video",{ref:r,className:"nc-qr-video",playsInline:!0,muted:!0}),l&&h.jsx("div",{className:"nc-err",role:"alert",children:l}),h.jsxs("div",{className:"nc-sheet-actions",children:[h.jsxs("label",{className:"nc-btn ghost nc-qr-upload",children:[b("qr-upload"),h.jsx("input",{type:"file",accept:"image/*",hidden:!0,onChange:f})]}),h.jsx("button",{type:"button",className:"nc-btn ghost",onClick:t,children:b("cancel")})]})]})})}const h_=()=>({name:"",label:"",ssh:"",sshPort:"",pairingUrl:"",localLabel:""});function Hg({token:e,initial:t="",autoStart:r=!1,deviceDefault:n="",readonly:o=!1,onSuccess:l,onBusyChange:u}){const[f,m]=j.useState(h_),[p,y]=j.useState(!1),[v,S]=j.useState(!1),[g,C]=j.useState("idle"),[E,x]=j.useState(null),[R,z]=j.useState(""),[T,$]=j.useState(!1),te=j.useRef(sb()),L=j.useRef(new Set),P=g==="busy";j.useEffect(()=>(u&&u(P),()=>{u&&u(!1)}),[P,u]);const U=async W=>{const V=String(W.pairingUrl||"").trim();if(te.current.start(V)){C("busy"),x(null),z("");try{await hS(e,rb(W,{deviceDefault:n})),C("ok"),y(!1),m(h_()),L.current=new Set,$(!1),te.current.finish(),l&&await l()}catch(Q){const X=ob(Q);x(X),C("idle"),te.current.finish(),(X.stage==="validation"||X.stage==="conflict")&&y(!0)}}},M=(W,V=!0)=>{const{classification:Q,form:X}=c_(f,W,L.current,T),k=X.pairingUrl;if(x(null),z(""),g==="ok"&&C("idle"),m(X),Q.kind==="invalid"){x({stage:"validation",code:"bad-link",message:b("pair-invalid-link"),hint:b("pair-invalid-hint"),retryable:!0});return}if(Q.kind==="partial"){y(!0),z(Q.missing.includes("ssh")?b("pair-missing-ssh"):b("pair-missing-name"));return}Q.kind==="complete"&&V&&!o&&te.current.canAuto(k)&&U(X)};j.useEffect(()=>{t&&M(t,r)},[]);const K=()=>{const W=String(f.pairingUrl||"").trim(),{classification:V,form:Q}=c_(f,W,L.current,T);if(m(Q),z(""),x(null),V.kind==="empty"){x({stage:"validation",message:b("pairing-required"),retryable:!0});return}if(V.kind==="invalid"){x({stage:"validation",code:"bad-link",message:b("pair-invalid-link"),hint:b("pair-invalid-hint"),retryable:!0});return}if(!Q.ssh||!Q.name){y(!0),z(Q.ssh?b("pair-missing-name"):b("pair-missing-ssh"));return}if(Q.label&&!ih(Q.label)){x({stage:"validation",message:b("err-label"),retryable:!0});return}if(Q.localLabel&&!ih(Q.localLabel)){x({stage:"validation",message:b("err-label"),retryable:!0});return}te.current.reset(W),U(Q)},Y=async()=>{try{if(!navigator.clipboard||typeof navigator.clipboard.readText!="function")throw new Error("unsupported");const W=await navigator.clipboard.readText();W&&W.trim()?M(W):z(b("pair-clipboard-empty"))}catch{z(b("pair-clipboard-denied"))}},I=(W,V)=>{L.current.add(W),m(Q=>({...Q,[W]:V}))},B=E&&E.stage&&(nb.includes(E.stage)||E.stage==="internal")?b(`pair-stage-${E.stage}`):b("pair-stage-generic");return h.jsxs("div",{className:"nc-set-form nc-pair-card",children:[h.jsx("div",{className:"nc-sheet-label",children:b("pair-card-title")}),h.jsx("div",{className:"nc-set-info",children:b("pair-card-help")}),h.jsx("input",{className:"nc-pair-input",placeholder:b("pair-paste-ph"),value:f.pairingUrl,disabled:o||P,onChange:W=>{m({...f,pairingUrl:W.target.value}),x(null),z("")},onPaste:W=>{const V=W.clipboardData&&W.clipboardData.getData("text")||"";V.trim()&&(W.preventDefault(),M(V))},onKeyDown:W=>{W.key==="Enter"&&(W.preventDefault(),K())}}),h.jsxs("div",{className:"nc-pair-actions",children:[h.jsx("button",{type:"button",className:"nc-btn ghost",disabled:o||P,onClick:Y,children:b("pair-paste-btn")}),h.jsx("button",{type:"button",className:"nc-btn ghost",disabled:o||P,onClick:()=>S(!0),children:b("scan-qr")}),h.jsx("button",{type:"button",className:"nc-btn primary",disabled:o||P,title:o?b("settings-readonly"):"",onClick:K,children:b("test-and-connect")})]}),h.jsxs("div",{className:"nc-pair-status","aria-live":"polite",children:[P&&h.jsx("div",{className:"nc-pair-progress",children:b("pair-progress")}),g==="ok"&&h.jsx("div",{className:"nc-set-test ok",children:b("node-connected")}),R&&h.jsx("div",{className:"nc-set-hint nc-pair-notice",children:R}),E&&h.jsxs("div",{className:"nc-err",role:"alert",children:[h.jsx("b",{children:B})," — ",E.message,E.hint&&h.jsx("div",{className:"nc-pair-hint",children:E.hint}),E.retryable&&h.jsx("div",{children:h.jsx("button",{type:"button",className:"nc-btn ghost",disabled:o||P,onClick:K,children:b("pair-retry")})})]})]}),h.jsxs("button",{type:"button",className:"nc-btn ghost nc-pair-advanced-toggle",disabled:P,onClick:()=>y(W=>!W),children:[p?"▾":"▸"," ",b("pair-advanced")]}),p&&h.jsxs("div",{className:"nc-pair-advanced",children:[h.jsxs("label",{className:"nc-field",children:[b("node-display-label"),h.jsx("input",{placeholder:"Home Relay",value:f.label,disabled:o||P,onChange:W=>{L.current.add("label"),m(V=>({...V,label:W.target.value,name:T?V.name:Ns(W.target.value)}))}})]}),h.jsxs("label",{className:"nc-field",children:[b("node-name-label"),h.jsx("input",{placeholder:b("node-name-ph"),value:f.name,disabled:o||P,onChange:W=>{$(!0),L.current.add("name"),m(V=>({...V,name:W.target.value?Ns(W.target.value):""}))}})]}),h.jsx("small",{className:"nc-set-hint",children:b("node-slug-hint").replace("{slug}",f.name||"home-relay")}),h.jsxs("label",{className:"nc-field",children:[b("node-ssh-label"),h.jsx("input",{placeholder:"my-relay",value:f.ssh,disabled:o||P,onChange:W=>{L.current.add("ssh"),I("ssh",W.target.value)}})]}),h.jsxs("label",{className:"nc-field",children:[b("node-ssh-port-label"),h.jsx("input",{inputMode:"numeric",placeholder:b("node-ssh-port-help"),value:f.sshPort,disabled:o||P,onChange:W=>I("sshPort",W.target.value.replace(/[^0-9]/g,"").slice(0,5))})]}),h.jsxs("label",{className:"nc-field",children:[b("device-name-label"),h.jsx("input",{placeholder:n||"NexusCrew",value:f.localLabel,disabled:o||P,onChange:W=>I("localLabel",W.target.value)}),h.jsx("small",{className:"nc-set-hint",children:b("device-name-hint")})]})]}),v&&h.jsx(ub,{onResult:W=>{S(!1),M(W)},onClose:()=>S(!1)})]})}function Rh(){return typeof navigator<"u"&&"serviceWorker"in navigator&&typeof window<"u"&&"PushManager"in window&&typeof Notification<"u"}function hb(e){const t="=".repeat((4-e.length%4)%4),r=(e+t).replace(/-/g,"+").replace(/_/g,"/"),n=atob(r),o=new Uint8Array(n.length);for(let l=0;l<n.length;l+=1)o[l]=n.charCodeAt(l);return o}async function db(){if(!Rh())return"unsupported";if(Notification.permission==="denied")return"denied";try{return await(await navigator.serviceWorker.ready).pushManager.getSubscription()?"subscribed":"idle"}catch{return"idle"}}async function fb(e){if(!Rh())throw new Error("push-unsupported");if(await Notification.requestPermission()!=="granted")throw new Error("push-denied");const r=await vt("/api/push/vapid",e),{publicKey:n}=await r.json();if(!n)throw new Error("vapid non disponibile");const l=await(await navigator.serviceWorker.ready).pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:hb(n)}),u=await vt("/api/push/subscribe",e,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({subscription:l.toJSON()})});if(!u.ok){try{await l.unsubscribe()}catch{}const f=await u.json().catch(()=>({}));throw new Error(f.error||`HTTP ${u.status}`)}return!0}async function pb(e){if(!Rh())return!1;const r=await(await navigator.serviceWorker.ready).pushManager.getSubscription();if(!r)return!1;const n=r.endpoint;try{await r.unsubscribe()}catch{}try{await vt("/api/push/subscribe",e,{method:"DELETE",headers:{"content-type":"application/json"},body:JSON.stringify({endpoint:n})})}catch{}return!0}const mb=()=>({kind:"managed",id:"claude.native",label:"",client:"claude",provider:"native",credentialProfile:"",managedModel:"",permissionPolicy:"unsafe",displayName:"",protocol:"anthropic_messages",baseUrl:"",envKey:"",providerId:"nexuscrew-custom",command:"",argsText:"",rc:!0,promptMode:"send-keys",promptFlag:"",modelFlag:"",modelValue:"",envRows:[]}),d_=(e="")=>({id:"",cwd:"",engine:e,boot:!1,model:"",prompt:""}),$g=e=>e==="claude"?"unsafe":"standard",Ra=(e,t)=>e.find(r=>r.client===t.client&&r.provider===t.provider&&(r.credentialProfile||"")===(t.credentialProfile||"")),_b=(e,t)=>{var r;return((r=Ra(e,t))==null?void 0:r.label)||`${t.client} · ${t.provider}`};function gb(e){var t,r,n,o,l,u,f,m,p,y,v,S,g,C;return{kind:e.managed?"managed":"custom",id:e.id,label:e.label||"",command:e.command||"",argsText:(e.args||[]).join(`
|
|
89
|
+
`),rc:!!e.rc,client:((t=e.managed)==null?void 0:t.client)||"claude",provider:((r=e.managed)==null?void 0:r.provider)||"native",credentialProfile:((n=e.managed)==null?void 0:n.credentialProfile)||"",managedModel:((o=e.managed)==null?void 0:o.model)||"",permissionPolicy:((l=e.managed)==null?void 0:l.permissionPolicy)||$g((u=e.managed)==null?void 0:u.client),displayName:((f=e.managed)==null?void 0:f.displayName)||"",protocol:((m=e.managed)==null?void 0:m.protocol)||"",baseUrl:((p=e.managed)==null?void 0:p.baseUrl)||"",envKey:((y=e.managed)==null?void 0:y.envKey)||"",providerId:((v=e.managed)==null?void 0:v.providerId)||"nexuscrew-custom",modelOptions:e.availableModels||((S=e.managedInfo)==null?void 0:S.models)||[],promptMode:e.promptMode||"send-keys",promptFlag:e.promptFlag||"",modelFlag:((g=e.model)==null?void 0:g.flag)||"",modelValue:((C=e.model)==null?void 0:C.value)||"",envRows:(e.envKeys||[]).map(E=>({key:E,value:"",configured:!0,remove:!1}))}}function vb(e,t,r=[]){if(e.kind==="managed"){const o={client:e.client,provider:e.provider,model:e.managedModel||"",permissionPolicy:e.permissionPolicy||$g(e.client)};e.credentialProfile&&(o.credentialProfile=e.credentialProfile);const l=Ra(r,e);return l!=null&&l.credentialEnv&&(o.envKey=e.envKey),e.provider==="custom"&&Object.assign(o,{displayName:e.displayName,protocol:e.protocol,baseUrl:e.baseUrl,envKey:e.envKey,providerId:e.providerId}),{...t?{id:e.id}:{},label:e.label||_b(r,e),rc:!!e.rc,managed:o}}const n={...t?{id:e.id}:{},label:e.label||e.id,rc:!!e.rc,command:e.command,args:e.argsText.split(`
|
|
90
|
+
`).filter(o=>o!==""),promptMode:e.promptMode};return e.modelFlag&&(n.model={flag:e.modelFlag,value:e.modelValue||""}),e.promptMode==="flag"&&(n.promptFlag=e.promptFlag),t&&(n.env=Object.fromEntries(e.envRows.filter(o=>!o.remove&&o.key).map(o=>[o.key,o.value]))),n}function yb({token:e,readonly:t,targets:r=[],startNewCell:n=!1,initialLocation:o=""}){const[l,u]=j.useState({engines:[],cells:[],managedCatalog:[]}),[f,m]=j.useState({available:!1,capabilities:[]}),[p,y]=j.useState(null),[v,S]=j.useState(null),[g,C]=j.useState(!1),[E,x]=j.useState(""),[R,z]=j.useState(""),[T,$]=j.useState(o),[te,L]=j.useState(!1),[P,U]=j.useState(null),[M,K]=j.useState(null),Y=j.useRef(!1),I=T?T.split("/"):[],B=j.useCallback(async()=>{try{const O=await Xr(e,I);m(O);try{const re=await P_(e,I);L(!!re.readonlyDefault)}catch{L(!1)}if(O.provider==="builtin"&&(O.capabilities||[]).includes("definitions")){const re=await uh(e,I),ue=new Map((O.engines||[]).map(ae=>[ae.id,ae]));re.engines=(re.engines||[]).map(ae=>{var Ce;return{...ae,availableModels:((Ce=ue.get(ae.id))==null?void 0:Ce.models)||[]}}),u(re)}}catch(O){x(String(O.message||O))}},[e,T]);j.useEffect(()=>{B();const O=setInterval(B,5e3);return()=>clearInterval(O)},[B]);const W=new Set((f.cells||[]).filter(O=>O.active).map(O=>O.cell)),V=f.provider==="builtin"&&(f.capabilities||[]).includes("edit");j.useEffect(()=>{!n||Y.current||!V||!l.engines.length||(Y.current=!0,S({mode:"new",form:d_(l.engines[0].id)}))},[n,V,l.engines]);const Q=async O=>{C(!0),x(""),z("");try{await O(),await B()}catch(re){x(String(re.message||re))}C(!1)},X=()=>Q(async()=>{const O=p.mode==="new",re=vb(p.form,O,l.managedCatalog||[]);!O&&p.form.kind==="custom"&&!p.form.modelFlag&&(re.model=null),!O&&p.form.kind==="custom"&&p.form.promptMode!=="flag"&&(re.promptFlag=null);let ue;if(O)ue=await iS(e,re,I);else{const Ce=p.original,Te=new Set(p.form.envRows.filter(Se=>!Se.remove).map(Se=>Se.key)),St=(Ce.envKeys||[]).filter(Se=>!Te.has(Se)),it=Object.fromEntries(p.form.envRows.filter(Se=>!Se.remove&&Se.key&&(!Se.configured||Se.value!=="")).map(Se=>[Se.key,Se.value]));ue=await rS(e,Ce.id,re,p.form.kind==="custom"?{set:it,remove:St}:void 0,I)}y(null),z(b("fleet-saved"));const ae=(ue==null?void 0:ue.activeCells)||[];if(ae.length&&window.confirm(b("fleet-restart-confirm").replace("{cells}",ae.join(", "))))for(const Ce of ae)await oa(e,Ce,I)}),k=()=>Q(async()=>{const O=v.mode==="new",re=v.form,ue={...O?{id:re.id}:{},cwd:re.cwd,engine:re.engine,boot:!!re.boot};O?(re.model&&(ue.model=re.model),re.prompt&&(ue.prompt=re.prompt)):(ue.model=re.model||null,ue.prompt=re.prompt||null);const ae=O?await nS(e,ue,I):await oS(e,v.original.id,ue,I),Ce=O?re.id:v.original.id;S(null),z(b("fleet-saved")),!O&&(ae!=null&&ae.active)&&window.confirm(b("fleet-restart-confirm").replace("{cells}",Ce))&&await oa(e,Ce,I)}),J=t||te,ie=O=>U({...O,route:Array.isArray(O==null?void 0:O.route)?O.route:I}),N=async O=>{if(!P)return;const re=P.cell||P.id,ue=Array.isArray(P.route)?P.route:I;O.action==="up"?await ch(e,{cell:re,boot:!!O.boot,...O.engine?{engine:O.engine}:{},...O.model!==void 0?{model:O.model}:{},...O.permissionPolicy?{permissionPolicy:O.permissionPolicy}:{}},ue):await pa(e,{cell:re,boot:!!O.boot},ue)},F=(O,re)=>K({mode:"new",route:Array.isArray(re)?re:I,form:{tmuxSession:O.name,id:"",engine:"",cwd:"",boot:!1},err:""}),ne=()=>Q(async()=>{const O=M.form;if(!O.engine){K({...M,err:b("import-engine-required")});return}await aS(e,{tmuxSession:O.tmuxSession,id:O.id||void 0,engine:O.engine,cwd:O.cwd||void 0,boot:!!O.boot},O.route||I),K(null),z(b("fleet-saved"))}),A=h.jsxs("label",{className:"nc-field",children:[b("location"),h.jsxs("select",{value:T,onChange:O=>{$(O.target.value),y(null),S(null),x(""),z(""),L(!1),m({available:!1,capabilities:[]}),u({engines:[],cells:[],managedCatalog:[]})},children:[h.jsx("option",{value:"",children:b("local")}),r.map(O=>h.jsxs("option",{value:O.route.join("/"),disabled:O.status&&O.status!=="up",children:[O.label,O.status&&O.status!=="up"?` · ${b("node-offline")}`:""]},O.route.join("/")))]})]});return V?h.jsxs("div",{className:"nc-set-tab nc-fleet-editor",children:[A,h.jsx(f_,{token:e,targets:r,readonly:t,onPower:ie,onImport:F}),h.jsxs("div",{className:"nc-fleet-section-head",children:[h.jsx("b",{children:b("fleet-engines")}),h.jsxs("button",{className:"nc-btn primary",disabled:J||g,onClick:()=>y({mode:"new",form:mb()}),children:["+ ",b("add")]})]}),l.engines.map(O=>{var re,ue;return h.jsxs("div",{className:"nc-fleet-item",children:[h.jsxs("span",{children:[h.jsx("b",{children:O.label}),h.jsx("small",{children:O.managed?`${O.id} · ${O.managed.client} / ${O.managed.provider} · ${(re=O.managedInfo)!=null&&re.configured?b("fleet-ready"):((ue=O.managedInfo)==null?void 0:ue.reason)||b("fleet-not-ready")}`:`${O.id} · ${O.command}`})]}),h.jsxs("span",{children:[h.jsx("button",{className:"nc-btn ghost",disabled:J||g,onClick:()=>y({mode:"edit",original:O,form:gb(O)}),children:b("edit")}),h.jsx("button",{className:"nc-btn danger",disabled:J||g,onClick:()=>Q(async()=>{window.confirm(b("fleet-remove-engine").replace("{id}",O.id))&&await sS(e,O.id,I)}),children:"×"})]})]},O.id)}),p&&h.jsx(Sb,{state:p,setState:y,busy:g,onSave:X,catalog:l.managedCatalog||[]}),h.jsxs("div",{className:"nc-fleet-section-head",children:[h.jsx("b",{children:b("fleet-cells")}),h.jsxs("button",{className:"nc-btn primary",disabled:J||g||!l.engines.length,onClick:()=>{var O;return S({mode:"new",form:d_((O=l.engines[0])==null?void 0:O.id)})},children:["+ ",b("add")]})]}),l.cells.map(O=>{const re=W.has(O.id),ue=f.capabilities||[];return h.jsxs("div",{className:"nc-fleet-item",children:[h.jsxs("span",{children:[h.jsx("b",{children:O.id}),h.jsxs("small",{children:[O.engine," · ",O.cwd,re?` · ${b("service-active")}`:` · ${b("cell-off")}`]})]}),h.jsxs("span",{children:[re&&ue.includes("down")&&h.jsx("button",{className:"nc-btn ghost",disabled:J||g,onClick:()=>Q(()=>pa(e,{cell:O.id},I)),children:b("stop")}),!re&&ue.includes("up")&&h.jsx("button",{className:"nc-btn primary",disabled:J||g,onClick:()=>ie({cell:O.id,id:O.id,engine:O.engine,model:O.model,models:O.models,permissionPolicies:O.permissionPolicies,active:!1,boot:O.boot}),children:b("start")}),re&&ue.includes("restart")&&h.jsx("button",{className:"nc-btn ghost",disabled:J||g,onClick:()=>Q(()=>oa(e,O.id,I)),children:b("restart")}),h.jsx("button",{className:"nc-btn ghost",disabled:J||g,onClick:()=>S({mode:"edit",original:O,form:{...O}}),children:b("edit")}),h.jsx("button",{className:"nc-btn danger",disabled:J||g,onClick:()=>Q(async()=>{window.confirm(b("fleet-remove-cell").replace("{id}",O.id))&&await x_(e,O.id,!0,I)}),children:"×"})]})]},O.id)}),v&&h.jsx(wb,{token:e,route:I,targets:r,location:T,setLocation:$,state:v,setState:S,engines:l.engines,busy:g,onSave:k}),R&&h.jsx("div",{className:"nc-set-note",children:R}),E&&h.jsx("div",{className:"nc-err",children:E}),M&&h.jsx(p_,{token:e,route:M.route||I,state:M,setState:K,busy:g,onSave:ne}),P&&h.jsx(ma,{cell:P,token:e,route:Array.isArray(P.route)?P.route:I,onConfirm:async O=>{try{await N(O)}finally{await B()}},onClose:()=>U(null)})]}):h.jsxs("div",{className:"nc-set-tab",children:[A,h.jsx(f_,{token:e,targets:r,readonly:t,onPower:ie,onImport:F}),h.jsx("div",{className:"nc-set-info",children:b("fleet-editor-unavailable")}),E&&h.jsx("div",{className:"nc-err",children:E}),M&&h.jsx(p_,{token:e,route:M.route||I,state:M,setState:K,busy:g,onSave:ne}),P&&h.jsx(ma,{cell:P,token:e,route:Array.isArray(P.route)?P.route:I,onConfirm:async O=>{try{await N(O)}finally{await B()}},onClose:()=>U(null)})]})}function f_({token:e,targets:t=[],readonly:r=!1,onPower:n,onImport:o}){const[l,u]=j.useState([]),[f,m]=j.useState(0);j.useEffect(()=>{let x=!0;async function R(){const T=[{route:[],label:b("local")}].concat((t||[]).map(te=>({route:Array.isArray(te.route)?te.route:[],label:te.label||(te.route||[]).join(" › ")}))),$=await Promise.all(T.map(async te=>{const L={...te,available:!1,readonly:!1,capabilities:[],provider:null,cells:[],unmanaged:[],err:""};try{const P=await Xr(e,te.route);L.available=!!P.available,L.capabilities=P.capabilities||[],L.provider=P.provider||null,L.cells=(P.cells||[]).map(U=>({...U,route:te.route}));try{L.readonly=!!(await P_(e,te.route)).readonlyDefault}catch{}try{const U=await R_(e,te.route),M=new Set(L.cells.map(K=>K.tmuxSession).filter(Boolean));L.unmanaged=(U.sessions||[]).filter(K=>K&&!M.has(K.name))}catch{}}catch(P){L.err=String(P&&P.message||P)}return L}));x&&u($)}R();const z=setInterval(R,6e3);return()=>{x=!1,clearInterval(z)}},[e,t,f]);const p=(x,R)=>Array.isArray(x.capabilities)&&x.capabilities.includes(R)&&!r&&!x.readonly,y=()=>m(x=>x+1),v=(x,R)=>{n&&n({...x,route:R})},S=(x,R)=>{n&&n({...x,route:R})},g=async(x,R)=>{try{await oa(e,x.cell,R)}catch{}y()},C=async(x,R)=>{if(window.confirm(b("fleet-remove-cell").replace("{id}",x.cell))){try{await x_(e,x.cell,!0,R)}catch{}y()}},E=async(x,R)=>{if(window.confirm(b("terminate-confirm").replace("{name}",x.name))){try{await hh(e,x.name,R)}catch{}y()}};return h.jsxs("div",{className:"nc-fleet-inventory",children:[h.jsxs("div",{className:"nc-fleet-section-head",children:[h.jsx("b",{children:b("fleet-inventory")}),h.jsx("small",{children:b("fleet-inventory-help")})]}),l.map(x=>{const R=x.route.length?x.route.join("/"):"local";return h.jsxs("div",{className:"nc-fleet-pos",children:[h.jsxs("div",{className:"nc-fleet-pos-title",children:[h.jsx("span",{className:`dot ${x.available?"on":"warn"}`}),h.jsx("b",{children:x.label}),h.jsx("small",{children:x.available?`${x.cells.length} ${b("fleet-cells")} · ${x.unmanaged.length} ${b("fleet-tmux")}`:x.err||b("fleet-not-available")})]}),x.cells.map(z=>h.jsxs("div",{className:"nc-fleet-item nc-fleet-cell",children:[h.jsxs("span",{children:[h.jsx("b",{children:z.cell}),h.jsx("small",{children:`${z.engine||""}${z.key?`·${z.key}`:""}${z.active?"":` · ${b("cell-off")}`}`})]}),h.jsxs("span",{className:"nc-fleet-cell-actions",children:[z.active&&p(x,"down")&&h.jsx("button",{className:"nc-btn ghost",title:b("power-off"),onClick:()=>S(z,x.route),children:b("stop")}),!z.active&&p(x,"up")&&h.jsx("button",{className:"nc-btn ghost",title:b("power-on"),onClick:()=>v(z,x.route),children:b("start")}),p(x,"restart")&&z.active&&h.jsx("button",{className:"nc-btn ghost",title:b("restart"),onClick:()=>g(z,x.route),children:b("restart")}),p(x,"remove")&&h.jsx("button",{className:"nc-btn danger",title:b("delete"),onClick:()=>C(z,x.route),children:"×"})]})]},`${R}:${z.cell}`)),x.unmanaged.map(z=>h.jsxs("div",{className:"nc-fleet-item nc-fleet-unmanaged",children:[h.jsxs("span",{children:[h.jsx("b",{children:z.name}),h.jsx("small",{children:b("fleet-tmux")})]}),h.jsxs("span",{className:"nc-fleet-cell-actions",children:[p(x,"import")&&o&&h.jsx("button",{className:"nc-btn ghost",title:b("import-as-cell"),onClick:()=>o(z,x.route),children:b("import-as-cell")}),h.jsx("button",{className:"nc-btn danger",title:b("terminate"),onClick:()=>E(z,x.route),children:"×"})]})]},`${R}:u:${z.name}`)),x.available&&x.cells.length===0&&x.unmanaged.length===0&&h.jsx("div",{className:"nc-empty",children:b("fleet-inventory-empty")})]},R)})]})}function Sb({state:e,setState:t,busy:r,onSave:n,catalog:o}){var S;const l=e.form,u=g=>t({...e,form:{...l,...g}}),f=l.envRows||[],m=[...new Map(o.map(g=>[g.client,g.clientLabel||g.client])).entries()],p=o.filter(g=>g.client===l.client),y=Ra(o,l),v=g=>{g&&u({client:g.client,provider:g.provider,credentialProfile:g.credentialProfile||"",managedModel:g.model||"",protocol:g.protocol||"",permissionPolicy:g.permissionPolicyDefault||"standard",rc:!!g.rc,displayName:g.custom?b("fleet-custom-provider-default"):"",baseUrl:g.custom?"":g.endpoint||"",envKey:g.defaultEnvKey||"",providerId:"nexuscrew-custom",...e.mode==="new"?{id:g.id,label:""}:{}})};return h.jsxs("div",{className:"nc-set-form nc-fleet-form",children:[h.jsx("b",{children:e.mode==="new"?b("fleet-new-engine"):`${b("edit")} ${l.id}`}),h.jsx("input",{value:l.id,disabled:e.mode!=="new",placeholder:"id",onChange:g=>u({id:g.target.value})}),h.jsx("input",{value:l.label,placeholder:b("label"),onChange:g=>u({label:g.target.value})}),h.jsxs("select",{value:l.kind,disabled:e.mode!=="new",onChange:g=>u({kind:g.target.value}),children:[h.jsx("option",{value:"managed",children:b("fleet-managed")}),h.jsx("option",{value:"custom",children:b("fleet-custom")})]}),l.kind==="managed"?h.jsxs(h.Fragment,{children:[h.jsxs("div",{className:"nc-fleet-pair",children:[h.jsx("select",{value:l.client,disabled:e.mode!=="new",onChange:g=>v(o.find(C=>C.client===g.target.value&&C.default)||o.find(C=>C.client===g.target.value)),children:m.map(([g,C])=>h.jsx("option",{value:g,children:C},g))}),h.jsx("select",{value:((S=Ra(o,l))==null?void 0:S.id)||"",disabled:e.mode!=="new",onChange:g=>v(o.find(C=>C.id===g.target.value)),children:p.map(g=>h.jsx("option",{value:g.id,children:g.label},g.id))})]}),h.jsx("input",{value:l.managedModel,list:"nc-managed-models",placeholder:b(y!=null&&y.requiresModel?"fleet-model-required":"fleet-model-default"),onChange:g=>u({managedModel:g.target.value})}),h.jsx("datalist",{id:"nc-managed-models",children:[...(y==null?void 0:y.models)||[],...l.modelOptions||[]].filter((g,C,E)=>g&&E.indexOf(g)===C).map(g=>h.jsx("option",{value:g},g))}),y!=null&&y.supportsUnsafe?h.jsxs("select",{value:l.permissionPolicy,onChange:g=>u({permissionPolicy:g.target.value}),children:[h.jsx("option",{value:"standard",children:b("fleet-standard-permissions")}),h.jsx("option",{value:"unsafe",children:b("fleet-unsafe-permissions")})]}):h.jsx("small",{children:b("fleet-standard-permissions")}),(y==null?void 0:y.supportsUnsafe)&&l.permissionPolicy==="unsafe"&&h.jsx("small",{className:"nc-err",children:b("fleet-unsafe-warning")}),(y==null?void 0:y.credentialEnv)&&h.jsxs(h.Fragment,{children:[h.jsx("input",{value:l.envKey,placeholder:b("fleet-api-key-env"),onChange:g=>u({envKey:g.target.value})}),h.jsx("small",{children:b("fleet-custom-secret-help")})]}),l.provider==="custom"&&h.jsxs(h.Fragment,{children:[h.jsx("input",{value:l.displayName,placeholder:b("fleet-provider-display"),onChange:g=>u({displayName:g.target.value})}),h.jsx("input",{value:l.baseUrl,placeholder:"https://api.example.com/v1",onChange:g=>u({baseUrl:g.target.value})}),((y==null?void 0:y.protocols)||[]).length>1&&h.jsx("select",{value:l.protocol,onChange:g=>u({protocol:g.target.value}),children:y.protocols.map(g=>h.jsx("option",{value:g,children:g},g))}),h.jsxs("div",{className:"nc-fleet-pair",children:[h.jsx("input",{value:l.envKey,placeholder:b("fleet-api-key-env"),onChange:g=>u({envKey:g.target.value})}),h.jsx("input",{value:l.providerId,placeholder:b("fleet-provider-id"),onChange:g=>u({providerId:g.target.value})})]}),h.jsxs("small",{children:[l.protocol," · ",b("fleet-custom-secret-help")]})]}),h.jsx("small",{children:b("fleet-managed-help")})]}):h.jsxs(h.Fragment,{children:[h.jsx("input",{value:l.command,placeholder:b("command-path"),onChange:g=>u({command:g.target.value})}),h.jsx("textarea",{value:l.argsText,placeholder:b("args-lines"),onChange:g=>u({argsText:g.target.value})}),h.jsxs("label",{className:"nc-check",children:[h.jsx("input",{type:"checkbox",checked:l.rc,onChange:g=>u({rc:g.target.checked})})," remote control"]}),h.jsxs("select",{value:l.promptMode,onChange:g=>u({promptMode:g.target.value}),children:[h.jsx("option",{value:"send-keys",children:"send-keys"}),h.jsx("option",{value:"flag",children:"flag"})]}),l.promptMode==="flag"&&h.jsx("input",{value:l.promptFlag,placeholder:"prompt flag",onChange:g=>u({promptFlag:g.target.value})}),h.jsxs("div",{className:"nc-fleet-pair",children:[h.jsx("input",{value:l.modelFlag,placeholder:"model flag",onChange:g=>u({modelFlag:g.target.value})}),h.jsx("input",{value:l.modelValue,placeholder:"model default",onChange:g=>u({modelValue:g.target.value})})]}),h.jsx("small",{children:b("env-write-only")}),f.map((g,C)=>h.jsxs("div",{className:"nc-fleet-env",children:[h.jsx("input",{value:g.key,disabled:g.configured,placeholder:"ENV_KEY",onChange:E=>{const x=f.slice();x[C]={...g,key:E.target.value},u({envRows:x})}}),h.jsx("input",{type:"password",value:g.value,placeholder:g.configured?"•••••• (unchanged)":"value",onChange:E=>{const x=f.slice();x[C]={...g,value:E.target.value},u({envRows:x})}}),h.jsx("button",{className:"nc-btn danger",onClick:()=>u({envRows:f.filter((E,x)=>x!==C)}),children:"×"})]},`${g.key}-${C}`)),h.jsx("button",{className:"nc-btn ghost",onClick:()=>u({envRows:[...f,{key:"",value:"",configured:!1}]}),children:"+ env"})]}),h.jsxs("div",{className:"nc-sheet-actions",children:[h.jsx("button",{className:"nc-btn ghost",onClick:()=>t(null),children:b("cancel")}),h.jsx("button",{className:"nc-btn primary",disabled:r||!l.id||l.kind==="custom"&&!l.command||l.kind==="managed"&&(y==null?void 0:y.requiresModel)&&!l.managedModel||l.kind==="managed"&&(y==null?void 0:y.credentialEnv)&&!l.envKey||l.kind==="managed"&&l.provider==="custom"&&(!l.displayName||!l.baseUrl||!l.envKey||!l.providerId),onClick:n,children:b("save")})]})]})}function wb({token:e,route:t,targets:r=[],location:n,setLocation:o,state:l,setState:u,engines:f,busy:m,onSave:p}){const[y,v]=j.useState(null),[S,g]=j.useState(""),C=l.form,E=T=>u({...l,form:{...C,...T}}),x=f.find(T=>T.id===C.engine),R=T=>{var te,L,P;const $=f.find(U=>U.id===T);E({engine:T,model:((te=C.models)==null?void 0:te[T])||((L=$==null?void 0:$.managed)==null?void 0:L.model)||((P=$==null?void 0:$.model)==null?void 0:P.value)||""})},z=async T=>{try{const $=await k_(e,T,t);v($),E({cwd:$.path}),g("")}catch($){g(String($.message||$))}};return h.jsxs("div",{className:"nc-set-form nc-fleet-form",children:[h.jsx("b",{children:l.mode==="new"?b("fleet-new-cell"):`${b("edit")} ${C.id}`}),l.mode==="new"&&h.jsxs("label",{className:"nc-field",children:[b("location"),h.jsx("span",{className:"nc-req",children:" *"}),h.jsxs("select",{value:n,onChange:T=>{o(T.target.value),E({engine:""})},children:[h.jsx("option",{value:"",children:b("local")}),r.map(T=>h.jsxs("option",{value:T.route.join("/"),disabled:T.status&&T.status!=="up",children:[T.label,T.status&&T.status!=="up"?` · ${b("node-offline")}`:""]},T.route.join("/")))]})]}),h.jsx("input",{value:C.id,disabled:l.mode!=="new",placeholder:"id",onChange:T=>E({id:T.target.value})}),h.jsxs("div",{className:"nc-fleet-pair",children:[h.jsx("input",{value:C.cwd,placeholder:b("cwd"),onChange:T=>E({cwd:T.target.value})}),h.jsx("button",{className:"nc-btn ghost",onClick:()=>y?v(null):z(C.cwd),children:b("browse")})]}),y&&h.jsxs("div",{className:"nc-fs",children:[h.jsx("div",{className:"nc-fs-path",children:y.path}),h.jsxs("div",{className:"nc-fs-list",children:[y.parent&&h.jsxs("button",{className:"nc-fs-item nc-fs-nav",onClick:()=>z(y.parent),children:["↑ ",b("fs-parent")]}),(y.dirs||[]).map(T=>h.jsxs("button",{className:"nc-fs-item",onClick:()=>z(`${y.path.replace(/\/$/,"")}/${T}`),children:["📁 ",T]},T))]})]}),S&&h.jsx("div",{className:"nc-err",children:S}),h.jsx("select",{value:C.engine,onChange:T=>R(T.target.value),children:f.map(T=>h.jsx("option",{value:T.id,children:T.label},T.id))}),h.jsxs("label",{className:"nc-check",children:[h.jsx("input",{type:"checkbox",checked:!!C.boot,onChange:T=>E({boot:T.target.checked})})," boot"]}),h.jsx("input",{value:C.model||"",list:"nc-cell-models",placeholder:b("fleet-model-override"),onChange:T=>E({model:T.target.value})}),h.jsx("datalist",{id:"nc-cell-models",children:((x==null?void 0:x.availableModels)||[]).map(T=>h.jsx("option",{value:T},T))}),h.jsx("textarea",{value:C.prompt||"",placeholder:"prompt",onChange:T=>E({prompt:T.target.value})}),h.jsxs("div",{className:"nc-sheet-actions",children:[h.jsx("button",{className:"nc-btn ghost",onClick:()=>u(null),children:b("cancel")}),h.jsx("button",{className:"nc-btn primary",disabled:m||!C.id||!C.cwd||!C.engine,onClick:p,children:b("save")})]})]})}function p_({token:e,route:t=[],state:r,setState:n,busy:o,onSave:l}){const[u,f]=j.useState(null),[m,p]=j.useState([]),[y,v]=j.useState(""),S=Array.isArray(t)?t.join("/"):"";j.useEffect(()=>{let R=!0;return uh(e,S?S.split("/"):[]).then(z=>{R&&(p(z.engines||[]),v(""))}).catch(z=>{R&&(p([]),v(String(z.message||z)))}),()=>{R=!1}},[e,S]);const g=r.form,C=R=>n({...r,form:{...g,...R}}),E=async R=>{try{const z=await k_(e,R,t);f(z),C({cwd:z.path})}catch{}},x=!g.id&&g.tmuxSession?g.tmuxSession.replace(/[^A-Za-z0-9._-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,32):g.id;return h.jsxs("div",{className:"nc-set-form nc-fleet-form",children:[h.jsxs("b",{children:[b("import-as-cell")," · ",g.tmuxSession]}),h.jsx("small",{children:b("import-help")}),h.jsx("input",{value:g.tmuxSession,disabled:!0,placeholder:"tmux session",readOnly:!0}),h.jsx("input",{value:g.id,placeholder:b("name"),onChange:R=>C({id:R.target.value})}),h.jsxs("div",{className:"nc-fleet-pair",children:[h.jsx("input",{value:g.cwd,placeholder:b("cwd"),onChange:R=>C({cwd:R.target.value})}),h.jsx("button",{className:"nc-btn ghost",type:"button",onClick:()=>u?f(null):E(g.cwd),children:b("browse")})]}),u&&h.jsxs("div",{className:"nc-fs",children:[h.jsx("div",{className:"nc-fs-path",children:u.path}),h.jsxs("div",{className:"nc-fs-list",children:[u.parent&&h.jsxs("button",{className:"nc-fs-item nc-fs-nav",onClick:()=>E(u.parent),children:["↑ ",b("fs-parent")]}),(u.dirs||[]).map(R=>h.jsxs("button",{className:"nc-fs-item",onClick:()=>E(`${u.path.replace(/\/$/,"")}/${R}`),children:["📁 ",R]},R))]})]}),h.jsxs("select",{value:g.engine,onChange:R=>C({engine:R.target.value}),children:[h.jsx("option",{value:"",children:b("import-engine-required")}),m.map(R=>h.jsx("option",{value:R.id,children:R.label},R.id))]}),h.jsxs("label",{className:"nc-check",children:[h.jsx("input",{type:"checkbox",checked:!!g.boot,onChange:R=>C({boot:R.target.checked})})," boot"]}),(r.err||y)&&h.jsx("div",{className:"nc-err",children:r.err||y}),h.jsxs("div",{className:"nc-sheet-actions",children:[h.jsx("button",{className:"nc-btn ghost",onClick:()=>n(null),children:b("cancel")}),h.jsx("button",{className:"nc-btn primary",disabled:o||!g.tmuxSession||!g.engine||!m.length,onClick:l,children:b(x?"import-as-cell":"save")})]})]})}function Cb({text:e}){const[t,r]=j.useState(!1),n=async()=>{try{await navigator.clipboard.writeText(e),r(!0),setTimeout(()=>r(!1),1500)}catch{}};return h.jsxs("div",{className:"nc-set-copyline",children:[h.jsx("code",{children:e}),h.jsxs("button",{type:"button",className:"nc-btn ghost",onClick:n,children:[h.jsx(Ie,{name:"copy",size:14})," ",b(t?"copied":"copy")]})]})}function bb({value:e}){const[t,r]=j.useState("");return j.useEffect(()=>{let n=!0;return HC.toDataURL(e,{margin:1,width:220}).then(o=>{n&&r(o)}).catch(()=>{}),()=>{n=!1}},[e]),t?h.jsx("img",{src:t,width:"220",height:"220",alt:"NexusCrew pairing QR"}):null}function xb({token:e,nodes:t,settings:r,readonly:n,refresh:o}){const[l,u]=j.useState(null),[f,m]=j.useState(null),[p,y]=j.useState({}),[v,S]=j.useState(null),[g,C]=j.useState({ssh:"",sshPort:"",name:""}),[E,x]=j.useState(""),R=Date.now(),z=r&&r.deviceName||"",T=async(L,P)=>{u(null),m(`${L}:${P}`);try{const U=await dh(e,L,P);P==="test"&&y(M=>({...M,[L]:U})),await o()}catch(U){u(`${L}: ${String(U.message||U)}`)}m(null)},$=async L=>{if(window.confirm(b("node-remove-confirm").replace("{name}",L))){u(null),m(`${L}:remove`);try{await pS(e,L),await o()}catch(P){u(`${L}: ${String(P.message||P)}`)}m(null)}},te=async()=>{u(null);const L=Ns(g.name||E||z||"NexusCrew"),P=VC({name:L,ssh:g.ssh,sshPort:g.sshPort});if(!P.ok){u(b(P.error));return}m("invite");try{S(await dS(e,{...E||z?{label:E||z}:{},name:L,ssh:P.value.ssh,...P.value.sshPort?{sshPort:P.value.sshPort}:{}}))}catch(U){u(String(U.message||U))}m(null)};return h.jsxs("div",{className:"nc-set-tab",children:[h.jsx(Hg,{token:e,deviceDefault:z,readonly:n,onSuccess:o}),(t||[]).length===0&&h.jsx("div",{className:"nc-empty",children:b("no-nodes")}),(t||[]).map(L=>{var M,K,Y,I;const P=XC(L.tunnel,R),U=p[L.name];return h.jsxs("div",{className:"nc-set-node",children:[h.jsxs("div",{className:"nc-set-node-head",children:[h.jsx("span",{className:`nc-dot ${P.up?"on":""}`}),h.jsx("b",{children:L.label||L.name}),h.jsxs("small",{children:[L.name," · ",L.ssh,L.sshPort?`:${L.sshPort}`:""," · :",L.localPort,"→:",L.remotePort]}),h.jsxs("span",{className:`nc-set-tunnel${P.up?" up":""}`,children:[b(P.label),P.since?` · ${P.since}`:""]}),h.jsxs("select",{value:L.visibility||"network",disabled:n||!!f,onChange:async B=>{m(`${L.name}:visibility`);try{await xp(e,L.name,B.target.value),await o()}catch(W){u(String(W.message||W))}m(null)},children:[h.jsx("option",{value:"network",children:b("visibility-network")}),h.jsx("option",{value:"relay-only",children:b("visibility-relay")}),h.jsx("option",{value:"selected",children:b("visibility-selected")})]})]}),L.visibility==="selected"&&h.jsx("div",{className:"nc-set-row",children:(t||[]).filter(B=>B.name!==L.name&&B.nodeId).map(B=>{const W=(L.selected||[]).includes(B.nodeId);return h.jsxs("label",{className:"nc-check",children:[h.jsx("input",{type:"checkbox",checked:W,disabled:n||!!f,onChange:async V=>{const Q=V.target.checked?[...L.selected||[],B.nodeId]:(L.selected||[]).filter(X=>X!==B.nodeId);m(`${L.name}:visibility`);try{await xp(e,L.name,"selected",Q),await o()}catch(X){u(String(X.message||X))}m(null)}})," ",B.name]},B.nodeId)})}),h.jsxs("div",{className:"nc-set-node-actions",children:[h.jsx("button",{type:"button",className:"nc-btn ghost",disabled:n||!!f,onClick:async()=>{const B=window.prompt(b("node-display-label"),L.label||L.name);if(B!=null){if(!ih(B)){u(b("err-label"));return}m(`${L.name}:label`);try{await fS(e,L.name,B),await o()}catch(W){u(String(W.message||W))}m(null)}},children:b("edit")}),((M=L.health)==null?void 0:M.managed)!==!1&&h.jsx("button",{type:"button",className:"nc-btn ghost",disabled:!!f,onClick:()=>T(L.name,"test"),children:b("node-test")}),((K=L.health)==null?void 0:K.managed)!==!1&&(P.up?h.jsx("button",{type:"button",className:"nc-btn ghost",disabled:!!f,onClick:()=>T(L.name,"down"),children:b("tunnel-stop")}):h.jsx("button",{type:"button",className:"nc-btn ghost",disabled:!!f,onClick:()=>T(L.name,"up"),children:b("tunnel-start")})),((Y=L.health)==null?void 0:Y.managed)!==!1&&h.jsx("button",{type:"button",className:"nc-btn ghost",disabled:!!f,onClick:()=>T(L.name,"restart"),children:b("tunnel-restart")}),h.jsx("button",{type:"button",className:"nc-btn danger",disabled:n||!!f,title:b(n?"settings-readonly":"terminate"),onClick:()=>$(L.name),children:h.jsx(Ie,{name:"trash",size:14})})]}),((I=L.health)==null?void 0:I.detail)&&h.jsx("div",{className:`nc-set-test${L.health.status==="healthy"?" ok":" ko"}`,children:L.health.detail}),U&&h.jsxs("div",{className:`nc-set-test${U.ok?" ok":" ko"}`,children:[U.result,U.detail?` — ${U.detail}`:""]})]},L.name)}),h.jsxs("div",{className:"nc-set-form",children:[h.jsx("div",{className:"nc-sheet-label",children:b("invite-node")}),h.jsx("small",{className:"nc-set-hint",children:b("invite-v2-hint")}),h.jsxs("label",{className:"nc-field",children:[b("device-name-label"),h.jsx("input",{placeholder:z||"NexusCrew",value:E,disabled:n,onChange:L=>x(L.target.value)}),h.jsx("small",{className:"nc-set-hint",children:b("device-name-hint")})]}),h.jsxs("label",{className:"nc-field",children:[b("node-ssh-label"),h.jsx("input",{placeholder:"user@host o alias",value:g.ssh,disabled:n,onChange:L=>C({...g,ssh:L.target.value})}),h.jsx("small",{className:"nc-set-hint",children:b("invite-ssh-hint")})]}),h.jsxs("div",{className:"nc-fleet-pair",children:[h.jsxs("label",{className:"nc-field",children:[b("node-ssh-port-label"),h.jsx("input",{inputMode:"numeric",placeholder:b("node-ssh-port-help"),value:g.sshPort,disabled:n,onChange:L=>C({...g,sshPort:L.target.value.replace(/[^0-9]/g,"").slice(0,5)})})]}),h.jsxs("label",{className:"nc-field",children:[b("node-name-label"),h.jsx("input",{placeholder:Ns(E||z||b("node-name-ph")),value:g.name,disabled:n,onChange:L=>C({...g,name:L.target.value?Ns(L.target.value):""})})]})]}),h.jsx("button",{type:"button",className:"nc-btn ghost",disabled:n||!!f||!g.ssh.trim(),onClick:te,children:b("create-pairing-link")}),v&&h.jsxs(h.Fragment,{children:[h.jsx(bb,{value:v.pairingUrl}),h.jsx(Cb,{text:v.pairingUrl}),h.jsx("div",{className:"nc-set-info",children:b("invite-next-steps")})]})]}),l&&h.jsx("div",{className:"nc-err",children:l})]})}function kb({token:e,readonly:t}){const[r,n]=j.useState("idle"),[o,l]=j.useState(!1),[u,f]=j.useState(null);j.useEffect(()=>{let p=!1;return db().then(y=>{p||n(y)}),()=>{p=!0}},[]);const m=async()=>{f(null),l(!0);try{r==="subscribed"?(await pb(e),n("idle")):(await fb(e),n("subscribed"))}catch(p){const y=String(p.message||p);y==="push-denied"?(n("denied"),f(b("push-denied"))):y==="push-unsupported"?(n("unsupported"),f(b("push-unsupported"))):f(y)}l(!1)};return r==="unsupported"?h.jsx("div",{className:"nc-set-info",children:b("push-unsupported")}):h.jsxs(h.Fragment,{children:[h.jsxs("div",{className:"nc-set-row",children:[h.jsx("button",{type:"button",className:"nc-btn ghost",disabled:t||o||r==="denied",title:t?b("settings-readonly"):"",onClick:m,children:b(r==="subscribed"?"push-disable":"push-enable")}),h.jsx("span",{className:"nc-set-info",children:b(r==="subscribed"?"push-on":r==="denied"?"push-denied":"push-off")})]}),u&&h.jsx("div",{className:"nc-err",children:u})]})}function Eb({token:e,settings:t,readonly:r}){const[n,o]=j.useState(null),[l,u]=j.useState(null),[f,m]=j.useState(!1),[p,y]=j.useState(!1),v=async()=>{o(null),u(null),y(!0);try{const C=await uS(e);u(C.note||"ok"),m(!1)}catch(C){o(String(C.message||C))}y(!1)},S=async()=>{o(null),u(null),y(!0);try{const C=await mS(e);u(`${C.note||"ok"}${C.target?` (${C.target})`:""}`)}catch(C){o(String(C.message||C))}y(!1)},g=t&&t.service;return h.jsxs("div",{className:"nc-set-tab",children:[t&&h.jsxs("div",{className:"nc-set-info",children:["v",t.version," · ",t.platform," · :",t.port,h.jsx("br",{}),g&&g.installed?b("service-installed"):b("service-missing"),g&&g.installed?` · ${g.active?b("service-active"):b("service-inactive")}`:"",g?` · boot ${g.boot?"on":"off"}`:""]}),h.jsxs("div",{className:"nc-set-row",children:[h.jsx("button",{type:"button",className:"nc-btn ghost",disabled:r||p,title:r?b("settings-readonly"):"",onClick:()=>{o(null),u(null),m(!0)},children:b("token-rotate")}),h.jsx("button",{type:"button",className:"nc-btn ghost",disabled:r||p,title:r?b("settings-readonly"):"",onClick:S,children:b("service-regenerate")})]}),h.jsx(kb,{token:e,readonly:r}),f&&h.jsxs("div",{className:"nc-set-confirm",children:[h.jsx("div",{children:b("token-rotate-explain")}),h.jsxs("div",{className:"nc-sheet-actions",children:[h.jsx("button",{type:"button",className:"nc-btn ghost",disabled:p,onClick:()=>m(!1),children:b("cancel")}),h.jsx("button",{type:"button",className:"nc-btn primary",disabled:p,onClick:v,children:b("confirm")})]})]}),l&&h.jsx("div",{className:"nc-set-note",children:l}),n&&h.jsx("div",{className:"nc-err",children:n})]})}function Nb({token:e,onClose:t,initialTab:r="nodes",initialLocation:n="",startNewCell:o=!1}){ei();const[l,u]=j.useState(r),[f,m]=j.useState(null),[p,y]=j.useState([]),[v,S]=j.useState(!1),[g,C]=j.useState(null),E=ph(e),x=j.useCallback(async()=>{try{const R=await E_(e);m(R),C(null)}catch(R){C(String(R.message||R))}try{const R=await N_(e);y(R.nodes||[])}catch(R){C(String(R.message||R))}},[e]);return j.useEffect(()=>{x();const R=setInterval(x,5e3);return()=>clearInterval(R)},[x]),j.useEffect(()=>{let R=!1;return vt("/api/config",e).then(z=>z.json()).then(z=>{R||S(!!z.readonlyDefault)}).catch(()=>{}),()=>{R=!0}},[e]),h.jsx("div",{className:"nc-set-overlay",onClick:t,children:h.jsxs("div",{className:"nc-set-panel",onClick:R=>R.stopPropagation(),children:[h.jsxs("div",{className:"nc-set-head",children:[h.jsx(Ie,{name:"gear",size:18}),h.jsx("b",{children:b("settings")}),h.jsx("button",{type:"button",className:"nc-set-close",onClick:t,title:b("close"),children:h.jsx(Ie,{name:"x",size:18})})]}),v&&h.jsx("div",{className:"nc-set-readonly",children:b("settings-readonly")}),g&&h.jsx("div",{className:"nc-err",children:g}),h.jsx("div",{className:"nc-set-tabs",children:["nodes","fleet","system"].map(R=>h.jsx("button",{type:"button",className:`nc-set-tabbtn${l===R?" on":""}`,onClick:()=>u(R),children:b(`tab-${R}`)},R))}),h.jsxs("div",{className:"nc-set-body",children:[l==="nodes"&&h.jsx(xb,{token:e,nodes:p,settings:f,readonly:v,refresh:x}),l==="fleet"&&h.jsx(yb,{token:e,readonly:v,startNewCell:o,initialLocation:n,targets:E.map(R=>({route:R.route,label:R.label||R.name,status:R.status}))}),l==="system"&&h.jsx(Eb,{token:e,settings:f,readonly:v})]})]})})}function Rb({token:e,initialPair:t,onPairDone:r,onDone:n}){ei();const[o,l]=j.useState(t?"pair":"welcome"),[u,f]=j.useState(!1),[m,p]=j.useState(null),y=async()=>{f(!0),p(null);try{await cS(e,{wizardDone:!0}),r&&r(),n()}catch(v){p(String(v.message||v)),f(!1)}};return h.jsx("div",{className:"nc-wiz-overlay",children:h.jsxs("div",{className:"nc-wiz",children:[h.jsxs("div",{className:"nc-wiz-head",children:[h.jsx("b",{children:b("wizard-title")}),h.jsx("small",{children:b("hydra-simple")})]}),o==="welcome"&&h.jsxs("div",{className:"nc-wiz-body",children:[h.jsx("div",{className:"nc-wiz-done",children:b("local-ready")}),h.jsxs("div",{className:"nc-sheet-actions",children:[h.jsx("button",{className:"nc-btn ghost",disabled:u,onClick:y,children:b("local-only")}),h.jsx("button",{className:"nc-btn primary",disabled:u,onClick:()=>l("pair"),children:b("add-node")})]})]}),o==="pair"&&h.jsxs("div",{className:"nc-wiz-body",children:[h.jsx(Hg,{token:e,initial:t||"",autoStart:!!t,onBusyChange:f,onSuccess:async()=>{r&&r(),l("done")}}),h.jsx("div",{className:"nc-sheet-actions",children:h.jsx("button",{className:"nc-btn ghost",disabled:u,onClick:()=>{r&&r(),l("welcome")},children:b("back")})})]}),o==="done"&&h.jsxs("div",{className:"nc-wiz-body",children:[h.jsx("div",{className:"nc-wiz-done",children:b("node-connected")}),h.jsx("div",{className:"nc-sheet-actions",children:h.jsx("button",{className:"nc-btn primary",disabled:u,onClick:y,children:b("finish")})})]}),m&&h.jsx("div",{className:"nc-err",children:m})]})})}function Pb(e,t){if(typeof EventSource>"u"||!e)return()=>{};const r=new EventSource(`/api/events?token=${encodeURIComponent(e)}`);return r.onmessage=n=>{try{const o=JSON.parse(n.data);o&&typeof o=="object"&&typeof o.type=="string"&&t(o)}catch{}},()=>{try{r.close()}catch{}}}const Db=6e3,Mb=12e3;function Lb({n:e,onClose:t}){return h.jsxs("div",{className:`nc-ntf-toast${e.urgency==="high"?" high":""}`,role:"status","aria-live":"polite",children:[h.jsxs("div",{className:"nc-ntf-toast-txt",children:[h.jsx("b",{children:e.title}),e.body&&h.jsx("small",{children:e.body}),e.session&&h.jsx("span",{className:"nc-ntf-from",children:e.session})]}),h.jsx("button",{type:"button",className:"nc-ntf-x",onClick:t,title:b("close"),children:h.jsx(Ie,{name:"x",size:14})})]})}function Tb({ask:e,token:t,onAnswered:r}){const[n,o]=j.useState(""),[l,u]=j.useState(!1),[f,m]=j.useState(null),p=async y=>{const v=String(y||"").trim();if(!(!v||l)){m(null),u(!0);try{await gS(t,e.id,v),r(e.id)}catch(S){m(String(S.message||S))}u(!1)}};return h.jsxs("div",{className:"nc-ask-card",children:[h.jsxs("div",{className:"nc-ask-head",children:[h.jsx("span",{className:"nc-ntf-from",children:e.session}),h.jsxs("code",{className:"nc-ask-id",children:["#",e.id]})]}),h.jsx("div",{className:"nc-ask-q",children:e.question}),Array.isArray(e.options)&&e.options.length>0&&h.jsx("div",{className:"nc-ask-opts",children:e.options.map(y=>h.jsx("button",{type:"button",className:"nc-btn ghost",disabled:l,onClick:()=>p(y),children:y},y))}),h.jsxs("div",{className:"nc-ask-reply",children:[h.jsx("textarea",{rows:2,placeholder:b("ask-reply-ph"),value:n,disabled:l,onChange:y=>o(y.target.value)}),h.jsx("button",{type:"button",className:"nc-btn primary",disabled:l||!n.trim(),onClick:()=>p(n),children:b("send")})]}),f&&h.jsx("div",{className:"nc-err",children:f})]})}function Bb({token:e}){ei();const[t,r]=j.useState([]),[n,o]=j.useState([]),[l,u]=j.useState(()=>{try{return/(?:^|[#&])ask=/.test(location.hash)}catch{return!1}}),f=j.useRef(0),m=j.useCallback(v=>{r(S=>S.filter(g=>g.key!==v))},[]),p=j.useCallback(v=>{const S=`t${f.current+=1}`;r(g=>[...g.slice(-3),{...v,key:S}]),setTimeout(()=>m(S),v.urgency==="high"?Mb:Db)},[m]);j.useEffect(()=>{if(!e)return;let v=!1;_S(e).then(g=>{v||o(g.asks||[])}).catch(()=>{});const S=Pb(e,g=>{g.type==="notify"?p(g):g.type==="ask"&&g.ask&&g.ask.id?o(C=>C.some(E=>E.id===g.ask.id)?C:[...C,g.ask]):g.type==="ask-answered"&&g.id&&o(C=>C.filter(E=>E.id!==g.id))});return()=>{v=!0,S()}},[e,p]);const y=v=>o(S=>S.filter(g=>g.id!==v));return h.jsxs(h.Fragment,{children:[t.length>0&&h.jsx("div",{className:"nc-ntf-toasts",children:t.map(v=>h.jsx(Lb,{n:v,onClose:()=>m(v.key)},v.key))}),n.length>0&&!l&&h.jsxs("button",{type:"button",className:"nc-ask-badge",onClick:()=>u(!0),title:b("asks-title"),children:["? ",h.jsx("span",{className:"nc-ask-count",children:n.length})]}),n.length>0&&l&&h.jsxs("div",{className:"nc-ask-panel",children:[h.jsxs("div",{className:"nc-ask-panel-head",children:[h.jsx("b",{children:b("asks-title")}),h.jsx("span",{className:"nc-ask-count",children:n.length}),h.jsx("button",{type:"button",className:"nc-ntf-x",onClick:()=>u(!1),title:b("close"),children:h.jsx(Ie,{name:"x",size:16})})]}),h.jsx("div",{className:"nc-ask-panel-body",children:n.map(v=>h.jsx(Tb,{ask:v,token:e,onAnswered:y},v.id))})]})]})}const fu=e=>Gi(Ur(e)).length===0;function jb(e,t,r,n){const[o,l]=j.useState([]),[u,f]=j.useState(!1),[m,p]=j.useState("idle"),[y,v]=j.useState(""),S=j.useRef([]),g=j.useRef(r),C=j.useRef(!1),E=j.useRef(!0);g.current=r,S.current=o;const x=j.useCallback((P,U=!0)=>{S.current=P,l(P);const M=P.find(K=>K.name===t);U&&M&&(E.current=!0,n(Ur(M.layout)),gC(t,M.layout)),_C(P.map(K=>K.name))},[t,n]),R=j.useCallback(async()=>{let P=await Rc(e);const U=P.decks.find(M=>M.name==="main");if(P.decks.length===1&&U&&U.revision===0&&fu(U.layout)){const M=mC(),K=Ur(th("main")||ka());if(!fu(K)){const Y=await Go(e,"main",K,0);P.decks[0]=Y}for(const Y of M.filter(I=>I!=="main"))try{let I=await kp(e,Y);const B=Ur(th(Y)||ka());fu(B)||(I=await Go(e,Y,B,I.revision)),P.decks.push(I)}catch{}P=await Rc(e)}x(P.decks,!0),f(!0),v("")},[e,x]);j.useEffect(()=>{e&&R().catch(P=>v(String(P.message||P)))},[R,e]);const z=j.useCallback(async()=>{if(!u)return;const P=S.current.find(U=>U.name===t);if(!P)return v(`deck inesistente: ${t}`);p("saving");try{const U=await Go(e,t,Ur(g.current),P.revision);x(S.current.map(M=>M.name===t?U:M),!1),C.current=!1,p("saved"),v(""),setTimeout(()=>p("idle"),1500)}catch(U){p("error"),v(String(U.message||U)),U.status===409&&U.data&&U.data.current&&x(S.current.map(M=>M.name===t?U.data.current:M),!1)}},[u,t,e,x]);j.useEffect(()=>{if(!u)return;if(E.current){E.current=!1;return}C.current=!0,p("saving");const P=setTimeout(z,650);return()=>clearTimeout(P)},[r,u,z]),j.useEffect(()=>{if(!u)return;const P=setInterval(async()=>{try{const U=await Rc(e),M=S.current.find(I=>I.name===t),K=U.decks.find(I=>I.name===t),Y=K&&(!M||K.revision>M.revision);x(U.decks,Y&&!C.current)}catch{}},5e3);return()=>clearInterval(P)},[u,e,t,x]);const T=async P=>{const U=await kp(e,P);return x([...S.current,U],!1),U},$=async(P,U)=>{const M=S.current.find(Y=>Y.name===P);if(!M)throw new Error("deck inesistente");const K=await vS(e,P,U,M.revision);return x(S.current.map(Y=>Y.name===P?K:Y),!1),K},te=async P=>{const U=S.current.find(M=>M.name===P);if(!U)throw new Error("deck inesistente");await yS(e,P,U.revision),x(S.current.filter(M=>M.name!==P),!1)},L=async(P,U)=>{const M=S.current.find(Y=>Y.name===P);if(!M)throw new Error("deck inesistente");const K=await Go(e,P,Mg(Ur(M.layout),U),M.revision);return x(S.current.map(Y=>Y.name===P?K:Y),!1),K};return{decks:o.map(P=>P.name),records:o,ready:u,saveState:m,error:y,setError:v,saveNow:z,add:T,rename:$,remove:te,addTileTo:L}}const Ab="/sw.js",rh="nc-sw-update";let sh=null,nh=!1,oh=null,Wg=Object.freeze({needed:!1,kind:null,version:""}),Ug=!1;function qg(){typeof window<"u"&&window.dispatchEvent(new Event(rh))}function Kg(){const e=oh||(nh?{kind:"reload",version:""}:null);Wg=Object.freeze({needed:!!e,kind:(e==null?void 0:e.kind)||null,version:(e==null?void 0:e.version)||""})}function m_(){return Wg}function Ib(e){return typeof window>"u"?()=>{}:(window.addEventListener(rh,e),()=>window.removeEventListener(rh,e))}function Ph(e){nh!==e&&(nh=e,Kg(),qg())}function Ob(e,t,r){let n=null;e&&t&&e!==t?n={kind:"install",version:e}:t&&r&&t!==r&&(n={kind:"reload",version:t});const o=JSON.stringify(n)===JSON.stringify(oh);oh=n,Kg(),o||qg()}function zb(e){e.addEventListener("statechange",()=>{e.state==="installed"&&navigator.serviceWorker.controller&&Ph(!0)})}function Fb(){typeof navigator>"u"||!("serviceWorker"in navigator)||(navigator.serviceWorker.addEventListener("controllerchange",()=>{Ug&&location.reload()}),navigator.serviceWorker.register(Ab).then(e=>{sh=e,e.waiting&&Ph(!0),e.addEventListener("updatefound",()=>{const t=e.installing;t&&zb(t)}),setInterval(()=>{e.update().catch(()=>{})},3600*1e3)}).catch(()=>{}))}function Hb(){Ug=!0,Ph(!1);const e=sh&&sh.waiting;e?(e.postMessage({type:"SKIP_WAITING"}),setTimeout(()=>location.reload(),4e3)):location.reload()}function $b({hash:e="",origin:t="",pathname:r="",search:n=""}={}){const o=String(e||"").replace(/^#/,""),l=`${r||""}${n||""}`;if(!o)return{token:"",pair:"",nextUrl:l};const u=new URLSearchParams(o),f=u.get("token")||"",m=u.get("pair")||"",p=m?`${t||""}${r||""}#pair=${m}`:"";return{token:f,pair:p,nextUrl:l}}const Vg=9,Yg=24,Xg="nc_side_w",__="nc_side_min",Wb=240,g_="(min-width:1024px) and (pointer:fine)";function Ub(){const e=Number(localStorage.getItem(Xg));return e>=180&&e<=480?e:Wb}function qb(){const e=Number(localStorage.getItem("nc_fontsize"));return e>=Vg&&e<=Yg?e:13}function Kb(){const e={token:"",pair:""};try{const{token:t,pair:r,nextUrl:n}=$b({hash:location.hash,origin:location.origin,pathname:location.pathname,search:location.search});if(t){e.token=t;try{localStorage.setItem("nc_token",t)}catch{}}if(r){e.pair=r;try{sessionStorage.setItem("nc_pair",r)}catch{}}if(location.hash)try{history.replaceState(null,"",n)}catch{}}catch{}if(e.token||(e.token=sessionStorage.getItem("nc_token")||localStorage.getItem("nc_token")||""),!e.pair){const t=sessionStorage.getItem("nc_pair");t&&(e.pair=t)}return e}function Vb(e){try{return Ur(th(e))}catch{return ka()}}function v_(e){if(!e)return"";const t=Math.floor(Date.now()/1e3)-e;return t<0||t<60?"ora":t<3600?`${Math.floor(t/60)}m`:t<86400?`${Math.floor(t/3600)}h`:`${Math.floor(t/86400)}g`}function Yb(){const[e,t]=j.useState(()=>window.matchMedia(g_).matches);return j.useEffect(()=>{const r=window.matchMedia(g_),n=o=>t(o.matches);return r.addEventListener("change",n),()=>r.removeEventListener("change",n)},[]),e}function y_({session:e,node:t,token:r,readonly:n=!1,onBack:o}){ei();const[l,u]=j.useState(!1),[f,m]=j.useState(()=>window.matchMedia("(pointer: coarse)").matches),[p,y]=j.useState(null),[v,S]=j.useState(qb),[g,C]=j.useState(""),E=U=>S(M=>{const K=Math.max(Vg,Math.min(Yg,M+U));return localStorage.setItem("nc_fontsize",String(K)),K}),x=j.useRef(()=>{}),R=j.useRef(()=>{}),z=j.useRef(!1),[T,$]=j.useState(!1),[te,L]=j.useState(!1),P=()=>{z.current=!z.current,$(z.current)};return j.useEffect(()=>{let U=!0;const M=t?t.split("/"):[],K=t?`/api/route/${t.split("/").map(encodeURIComponent).join("/")}/_`:"/api";async function Y(){let B=null,W=null;try{const X=await(await vt(`${K}/sessions`,r)).json();Array.isArray(X.sessions)&&(B=X.sessions.find(k=>k.name===e))}catch{}try{const Q=await Xr(r,M);Q.available&&Array.isArray(Q.cells)&&(W=Q.cells.find(X=>X.tmuxSession===e))}catch{}if(!U)return;let V="";W?V=`${W.engine}${W.key?`·${W.key}`:""}`:B&&(V=B.attached?`attached · ${v_(B.activity)}`:B.activity?v_(B.activity):""),C(V)}Y();const I=setInterval(Y,4e3);return()=>{U=!1,clearInterval(I)}},[e,t,r]),h.jsxs("div",{className:"nc-app",children:[h.jsxs("header",{className:"nc-bar nc-bar-single",children:[h.jsxs("button",{onClick:o,title:b("sessions"),children:[h.jsx(Ie,{name:"chevronLeft",size:18}),h.jsx("span",{className:"nc-bar-label",children:b("sessions")})]}),h.jsxs("span",{className:"nc-bar-center",children:[h.jsx("b",{children:t?`${t}:${e}`:e}),g&&h.jsx("small",{className:"nc-bar-sub",children:g})]}),h.jsxs("span",{className:"nc-bar-right",children:[h.jsx("button",{onClick:()=>E(-1),title:b("zoom-out"),children:h.jsx(Ie,{name:"zoomOut",size:18})}),h.jsx("button",{onClick:()=>E(1),title:b("zoom-in"),children:h.jsx(Ie,{name:"zoomIn",size:18})}),h.jsx("button",{onClick:()=>m(U=>!U),title:b("composer"),children:h.jsx(Ie,{name:"keyboard",size:20})}),h.jsx("button",{onClick:()=>u(U=>!U),title:b("files"),children:h.jsx(Ie,{name:"folder",size:20})})]})]}),h.jsx("div",{className:"nc-termwrap",children:h.jsx(Eg,{session:e,node:t,token:r,readonly:n,takeSize:!0,sendRef:x,actionRef:R,ctrlRef:z,setCtrlArmed:$,onFiles:y,fontSize:v,selectionMode:te,onSelectionModeChange:L})}),h.jsx(V1,{onKeyboard:()=>m(U=>!U),send:U=>x.current(U),action:U=>R.current(U),ctrlArmed:T,onCtrl:P,selectionMode:te,onSelectionMode:L}),f&&h.jsx(Rg,{send:U=>x.current(U),token:r,session:e,node:t}),l&&h.jsx(Ng,{session:e,node:t,token:r,filesEvent:p,onClose:()=>u(!1)})]})}function Xb(){ei();const[e]=j.useState(Kb),[t,r]=j.useState(e.token),[n,o]=j.useState(e.pair||""),l=j.useCallback(()=>{o("");try{sessionStorage.removeItem("nc_pair")}catch{}},[]),[u,f]=j.useState(!1),m=Yb(),[p]=j.useState(()=>pC(typeof location<"u"?location.pathname:"/")),y=p===Zt,[v,S]=j.useState(null),g=fe=>S(xa(fe)),[C,E]=j.useState([]),[x,R]=j.useState([]),[z,T]=j.useState(()=>Vb(p)),$=jb(t,p,z,T),te=$.decks.length?$.decks:[Zt],[L,P]=j.useState(null),[U,M]=j.useState(null),K=fe=>M(xa(fe)),Y=ph(t,m),[I,B]=j.useState(null),[W,V]=j.useState(!1),[Q,X]=j.useState(Ub),[k,J]=j.useState(!y),[ie,N]=j.useState(()=>y?localStorage.getItem(__)==="1":!0),[F,ne]=j.useState(!1),[A,O]=j.useState("nodes"),[re,ue]=j.useState(!1),[ae,Ce]=j.useState(""),Te=(fe="nodes",Ne=!1,Kt="")=>{O(fe),ue(Ne),Ce(Kt),ne(!0)},[St,it]=j.useState(!1),[Se,ti]=j.useState(!1);j.useEffect(()=>{try{localStorage.setItem(Xg,String(Q))}catch{}},[Q]),j.useEffect(()=>{try{localStorage.setItem(__,ie?"1":"")}catch{}},[ie]),j.useEffect(()=>{if(!t)return;let fe=!1;return Promise.all([E_(t),vt("/api/config",t).then(Ne=>Ne.json())]).then(([Ne,Kt])=>{fe||(ti(!!Kt.readonlyDefault),(Ne.firstRun===!0&&!Kt.readonlyDefault||n)&&it(!0))}).catch(()=>{}),()=>{fe=!0}},[t,n]);const gi=j.useCallback(async()=>{try{const Ne=await(await vt("/api/sessions",t)).json();Ne.error||E(Ne.sessions||[])}catch{}try{const fe=await Xr(t);R(fe.available?fe.cells||[]:[])}catch{R([])}},[t]);j.useEffect(()=>{if(!m)return;gi();const fe=setInterval(gi,4e3);return()=>clearInterval(fe)},[m,gi]),j.useEffect(()=>{let fe=!1;return vt("/api/config",t).then(Ne=>Ne.json()).then(Ne=>{fe||Ob(Ne.version,Ne.uiVersion,"0.8.7")}).catch(()=>{}),()=>{fe=!0}},[t]);const Nr=new Set([...C.map(fe=>fe.name),...Y.flatMap(fe=>fe.sessions.map(Ne=>Ne.key))]),Zi=Gi(z),ii=fe=>T(Ne=>Mg(Ne,fe)),ri=async(fe,Ne=[])=>{try{await hh(t,fe,Ne)}catch{return}const Kt=Ne.length?`${Ne.join("/")}:${fe}`:fe;T(Ms=>Na(Ms,Kt)),gi()},si=async fe=>{if(!I)return;const{cell:Ne}=I,Kt=Array.isArray(I.route)?I.route:[];fe.action==="up"?await ch(t,{cell:Ne,boot:!!fe.boot,...fe.engine?{engine:fe.engine}:{},...fe.model!==void 0?{model:fe.model}:{},...fe.permissionPolicy?{permissionPolicy:fe.permissionPolicy}:{}},Kt):await pa(t,{cell:Ne,boot:!!fe.boot},Kt),gi()},It=async fe=>{if(!(!(fe!=null&&fe.direct)||W)){V(!0);try{await dh(t,fe.name,fe.tunnelStatus==="up"?"down":"up")}finally{V(!1)}}},_e=fe=>{try{const Ne=window.open(sa(fe,t),"_blank");return Ne&&(Ne.opener=null),!!Ne}catch{return!1}},Be=fe=>location.assign(sa(fe,t)),wt=async fe=>{await $.add(fe),Be(fe)},Mt=async(fe,Ne)=>{await $.rename(fe,Ne),fe===p&&location.assign(sa(Ne,t))},ni=async fe=>{await $.remove(fe),fe===p&&location.assign(sa(Zt,t))},Ei=async(fe,Ne)=>{!Ne||Ne===p||(await $.addTileTo(Ne,fe),T(Kt=>Na(Kt,fe)))};if(!t)return h.jsxs("div",{className:"nc-auth",children:[h.jsx("p",{children:b("auth-prompt")}),h.jsx("input",{onChange:fe=>r(fe.target.value.trim()),placeholder:"token"}),h.jsxs("label",{children:[h.jsx("input",{type:"checkbox",checked:u,onChange:fe=>f(fe.target.checked)})," ",b("remember-device")]}),h.jsx("button",{onClick:()=>{(u?localStorage:sessionStorage).setItem("nc_token",t)},children:"ok"})]});const er=h.jsxs(h.Fragment,{children:[F&&h.jsx(Nb,{token:t,initialTab:A,initialLocation:ae,startNewCell:re,onClose:()=>{ne(!1),ue(!1),Ce("")}}),St&&h.jsx(Rb,{token:t,initialPair:n,onPairDone:l,onDone:()=>it(!1)}),h.jsx(Bb,{token:t})]});if(!m)return v?h.jsxs(h.Fragment,{children:[h.jsx(y_,{session:v.session,node:v.node,token:t,readonly:Se,onBack:()=>S(null)}),er]}):h.jsxs(h.Fragment,{children:[h.jsx(NS,{onPick:g,token:t,onSettings:Te}),er]});const Fn=y||!k;return h.jsxs("div",{className:"nc-workspace",children:[!y&&h.jsx("button",{className:"nc-side-show",title:b("toggle-sidebar"),onClick:()=>J(fe=>!fe),children:"☰"}),Fn&&h.jsx(eC,{sessions:C,cells:x,activeSessions:Zi,nodeGroups:Y,onPick:K,onAddTile:ii,onPower:B,onNodePower:It,onKill:ri,onNew:()=>Te("fleet",!0),onSettings:Te,width:Q,collapsed:ie,onResize:X,onToggleCollapse:()=>N(fe=>!fe)}),h.jsxs("div",{className:"nc-workspace-main",children:[h.jsx(vC,{decks:te,currentDeck:p,onCreate:wt,onRename:Mt,onDelete:ni,onOpenWindow:_e,onNavigate:Be,saveState:$.saveState,error:$.error}),h.jsx(uC,{layout:z,onLayoutChange:T,token:t,readonly:Se,sessionsAlive:Nr,focusSession:L,onFocus:P,onOpenSingle:K,decks:te,currentDeck:p,onSendToDeck:Ei})]}),U&&h.jsx("div",{className:"nc-single-overlay",children:h.jsx(y_,{session:U.session,node:U.node,token:t,readonly:Se,onBack:()=>M(null)})}),I&&h.jsx(ma,{cell:I,token:t,route:Array.isArray(I.route)?I.route:[],onConfirm:si,onClose:()=>B(null)}),er]})}function Gb(){ei();const e=j.useSyncExternalStore(Ib,m_,m_);if(!e.needed)return null;const t=e.kind==="install"?b("install-version-mismatch").replace("{v}",e.version):b("update-available").replace("{v}",e.version).replace(" "," ").trim();return h.jsxs("div",{className:"nc-update",role:"status","aria-live":"polite",children:[h.jsx("span",{className:"nc-update-msg",children:t}),e.kind==="reload"&&h.jsx("button",{className:"nc-update-btn",onClick:Hb,children:b("reload")})]})}Fb();tS.createRoot(document.getElementById("root")).render(h.jsxs(Yy.StrictMode,{children:[h.jsx(Xb,{}),h.jsx(Gb,{})]}));
|