handmux 0.12.3 → 0.14.0
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 +38 -1
- package/README.zh-CN.md +38 -1
- package/bin/handmux.js +7 -0
- package/package.json +4 -4
- package/public/assets/index-BIOe84T4.css +32 -0
- package/public/assets/index-CL5hFo5W.js +162 -0
- package/public/index.html +2 -2
- package/public/sw.js +14 -9
- package/src/claudeEvents.js +19 -1
- package/src/cli/i18n/en.js +10 -0
- package/src/cli/i18n/zh.js +10 -0
- package/src/cli/options.js +1 -1
- package/src/cli/pushCmd.js +51 -0
- package/src/cli/setupWizard.js +45 -3
- package/src/httpApi.js +40 -6
- package/src/push.js +23 -3
- package/public/assets/index-CpBDvLzi.css +0 -32
- package/public/assets/index-yrOcjnt0.js +0 -159
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
var ov=Object.defineProperty;var Xh=e=>{throw TypeError(e)};var av=(e,t,i)=>t in e?ov(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i;var pt=(e,t,i)=>av(e,typeof t!="symbol"?t+"":t,i),lv=(e,t,i)=>t.has(e)||Xh("Cannot "+i);var Jh=(e,t,i)=>t.has(e)?Xh("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,i);var Uo=(e,t,i)=>(lv(e,t,"access private method"),i);(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))s(r);new MutationObserver(r=>{for(const l of r)if(l.type==="childList")for(const p of l.addedNodes)p.tagName==="LINK"&&p.rel==="modulepreload"&&s(p)}).observe(document,{childList:!0,subtree:!0});function i(r){const l={};return r.integrity&&(l.integrity=r.integrity),r.referrerPolicy&&(l.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?l.credentials="include":r.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function s(r){if(r.ep)return;r.ep=!0;const l=i(r);fetch(r.href,l)}})();var xp={exports:{}},pl={},Cp={exports:{}},qe={};/**
|
|
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 ko=Symbol.for("react.element"),cv=Symbol.for("react.portal"),uv=Symbol.for("react.fragment"),hv=Symbol.for("react.strict_mode"),dv=Symbol.for("react.profiler"),fv=Symbol.for("react.provider"),pv=Symbol.for("react.context"),mv=Symbol.for("react.forward_ref"),gv=Symbol.for("react.suspense"),_v=Symbol.for("react.memo"),vv=Symbol.for("react.lazy"),Zh=Symbol.iterator;function wv(e){return e===null||typeof e!="object"?null:(e=Zh&&e[Zh]||e["@@iterator"],typeof e=="function"?e:null)}var kp={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Ep=Object.assign,Lp={};function fr(e,t,i){this.props=e,this.context=t,this.refs=Lp,this.updater=i||kp}fr.prototype.isReactComponent={};fr.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=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,e,t,"setState")};fr.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function Rp(){}Rp.prototype=fr.prototype;function Ou(e,t,i){this.props=e,this.context=t,this.refs=Lp,this.updater=i||kp}var Bu=Ou.prototype=new Rp;Bu.constructor=Ou;Ep(Bu,fr.prototype);Bu.isPureReactComponent=!0;var Qh=Array.isArray,Tp=Object.prototype.hasOwnProperty,ju={current:null},Dp={key:!0,ref:!0,__self:!0,__source:!0};function Ap(e,t,i){var s,r={},l=null,p=null;if(t!=null)for(s in t.ref!==void 0&&(p=t.ref),t.key!==void 0&&(l=""+t.key),t)Tp.call(t,s)&&!Dp.hasOwnProperty(s)&&(r[s]=t[s]);var n=arguments.length-2;if(n===1)r.children=i;else if(1<n){for(var o=Array(n),f=0;f<n;f++)o[f]=arguments[f+2];r.children=o}if(e&&e.defaultProps)for(s in n=e.defaultProps,n)r[s]===void 0&&(r[s]=n[s]);return{$$typeof:ko,type:e,key:l,ref:p,props:r,_owner:ju.current}}function yv(e,t){return{$$typeof:ko,type:e.type,key:t,ref:e.ref,props:e.props,_owner:e._owner}}function Fu(e){return typeof e=="object"&&e!==null&&e.$$typeof===ko}function Sv(e){var t={"=":"=0",":":"=2"};return"$"+e.replace(/[=:]/g,function(i){return t[i]})}var ed=/\/+/g;function Il(e,t){return typeof e=="object"&&e!==null&&e.key!=null?Sv(""+e.key):t.toString(36)}function _a(e,t,i,s,r){var l=typeof e;(l==="undefined"||l==="boolean")&&(e=null);var p=!1;if(e===null)p=!0;else switch(l){case"string":case"number":p=!0;break;case"object":switch(e.$$typeof){case ko:case cv:p=!0}}if(p)return p=e,r=r(p),e=s===""?"."+Il(p,0):s,Qh(r)?(i="",e!=null&&(i=e.replace(ed,"$&/")+"/"),_a(r,t,i,"",function(f){return f})):r!=null&&(Fu(r)&&(r=yv(r,i+(!r.key||p&&p.key===r.key?"":(""+r.key).replace(ed,"$&/")+"/")+e)),t.push(r)),1;if(p=0,s=s===""?".":s+":",Qh(e))for(var n=0;n<e.length;n++){l=e[n];var o=s+Il(l,n);p+=_a(l,t,i,o,r)}else if(o=wv(e),typeof o=="function")for(e=o.call(e),n=0;!(l=e.next()).done;)l=l.value,o=s+Il(l,n++),p+=_a(l,t,i,o,r);else if(l==="object")throw t=String(e),Error("Objects are not valid as a React child (found: "+(t==="[object Object]"?"object with keys {"+Object.keys(e).join(", ")+"}":t)+"). If you meant to render a collection of children, use an array instead.");return p}function Wo(e,t,i){if(e==null)return e;var s=[],r=0;return _a(e,s,"","",function(l){return t.call(i,l,r++)}),s}function bv(e){if(e._status===-1){var t=e._result;t=t(),t.then(function(i){(e._status===0||e._status===-1)&&(e._status=1,e._result=i)},function(i){(e._status===0||e._status===-1)&&(e._status=2,e._result=i)}),e._status===-1&&(e._status=0,e._result=t)}if(e._status===1)return e._result.default;throw e._result}var mi={current:null},va={transition:null},xv={ReactCurrentDispatcher:mi,ReactCurrentBatchConfig:va,ReactCurrentOwner:ju};function Mp(){throw Error("act(...) is not supported in production builds of React.")}qe.Children={map:Wo,forEach:function(e,t,i){Wo(e,function(){t.apply(this,arguments)},i)},count:function(e){var t=0;return Wo(e,function(){t++}),t},toArray:function(e){return Wo(e,function(t){return t})||[]},only:function(e){if(!Fu(e))throw Error("React.Children.only expected to receive a single React element child.");return e}};qe.Component=fr;qe.Fragment=uv;qe.Profiler=dv;qe.PureComponent=Ou;qe.StrictMode=hv;qe.Suspense=gv;qe.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=xv;qe.act=Mp;qe.cloneElement=function(e,t,i){if(e==null)throw Error("React.cloneElement(...): The argument must be a React element, but you passed "+e+".");var s=Ep({},e.props),r=e.key,l=e.ref,p=e._owner;if(t!=null){if(t.ref!==void 0&&(l=t.ref,p=ju.current),t.key!==void 0&&(r=""+t.key),e.type&&e.type.defaultProps)var n=e.type.defaultProps;for(o in t)Tp.call(t,o)&&!Dp.hasOwnProperty(o)&&(s[o]=t[o]===void 0&&n!==void 0?n[o]:t[o])}var o=arguments.length-2;if(o===1)s.children=i;else if(1<o){n=Array(o);for(var f=0;f<o;f++)n[f]=arguments[f+2];s.children=n}return{$$typeof:ko,type:e.type,key:r,ref:l,props:s,_owner:p}};qe.createContext=function(e){return e={$$typeof:pv,_currentValue:e,_currentValue2:e,_threadCount:0,Provider:null,Consumer:null,_defaultValue:null,_globalName:null},e.Provider={$$typeof:fv,_context:e},e.Consumer=e};qe.createElement=Ap;qe.createFactory=function(e){var t=Ap.bind(null,e);return t.type=e,t};qe.createRef=function(){return{current:null}};qe.forwardRef=function(e){return{$$typeof:mv,render:e}};qe.isValidElement=Fu;qe.lazy=function(e){return{$$typeof:vv,_payload:{_status:-1,_result:e},_init:bv}};qe.memo=function(e,t){return{$$typeof:_v,type:e,compare:t===void 0?null:t}};qe.startTransition=function(e){var t=va.transition;va.transition={};try{e()}finally{va.transition=t}};qe.unstable_act=Mp;qe.useCallback=function(e,t){return mi.current.useCallback(e,t)};qe.useContext=function(e){return mi.current.useContext(e)};qe.useDebugValue=function(){};qe.useDeferredValue=function(e){return mi.current.useDeferredValue(e)};qe.useEffect=function(e,t){return mi.current.useEffect(e,t)};qe.useId=function(){return mi.current.useId()};qe.useImperativeHandle=function(e,t,i){return mi.current.useImperativeHandle(e,t,i)};qe.useInsertionEffect=function(e,t){return mi.current.useInsertionEffect(e,t)};qe.useLayoutEffect=function(e,t){return mi.current.useLayoutEffect(e,t)};qe.useMemo=function(e,t){return mi.current.useMemo(e,t)};qe.useReducer=function(e,t,i){return mi.current.useReducer(e,t,i)};qe.useRef=function(e){return mi.current.useRef(e)};qe.useState=function(e){return mi.current.useState(e)};qe.useSyncExternalStore=function(e,t,i){return mi.current.useSyncExternalStore(e,t,i)};qe.useTransition=function(){return mi.current.useTransition()};qe.version="18.3.1";Cp.exports=qe;var N=Cp.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 Cv=N,kv=Symbol.for("react.element"),Ev=Symbol.for("react.fragment"),Lv=Object.prototype.hasOwnProperty,Rv=Cv.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Tv={key:!0,ref:!0,__self:!0,__source:!0};function Np(e,t,i){var s,r={},l=null,p=null;i!==void 0&&(l=""+i),t.key!==void 0&&(l=""+t.key),t.ref!==void 0&&(p=t.ref);for(s in t)Lv.call(t,s)&&!Tv.hasOwnProperty(s)&&(r[s]=t[s]);if(e&&e.defaultProps)for(s in t=e.defaultProps,t)r[s]===void 0&&(r[s]=t[s]);return{$$typeof:kv,type:e,key:l,ref:p,props:r,_owner:Rv.current}}pl.Fragment=Ev;pl.jsx=Np;pl.jsxs=Np;xp.exports=pl;var g=xp.exports,Pp={exports:{}},Pi={},Ip={exports:{}},Op={};/**
|
|
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
|
+
*/(function(e){function t($,R){var O=$.length;$.push(R);e:for(;0<O;){var D=O-1>>>1,H=$[D];if(0<r(H,R))$[D]=R,$[O]=H,O=D;else break e}}function i($){return $.length===0?null:$[0]}function s($){if($.length===0)return null;var R=$[0],O=$.pop();if(O!==R){$[0]=O;e:for(var D=0,H=$.length,X=H>>>1;D<X;){var Q=2*(D+1)-1,ue=$[Q],ie=Q+1,U=$[ie];if(0>r(ue,O))ie<H&&0>r(U,ue)?($[D]=U,$[ie]=O,D=ie):($[D]=ue,$[Q]=O,D=Q);else if(ie<H&&0>r(U,O))$[D]=U,$[ie]=O,D=ie;else break e}}return R}function r($,R){var O=$.sortIndex-R.sortIndex;return O!==0?O:$.id-R.id}if(typeof performance=="object"&&typeof performance.now=="function"){var l=performance;e.unstable_now=function(){return l.now()}}else{var p=Date,n=p.now();e.unstable_now=function(){return p.now()-n}}var o=[],f=[],_=1,u=null,m=3,w=!1,S=!1,v=!1,a=typeof setTimeout=="function"?setTimeout:null,h=typeof clearTimeout=="function"?clearTimeout:null,c=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function d($){for(var R=i(f);R!==null;){if(R.callback===null)s(f);else if(R.startTime<=$)s(f),R.sortIndex=R.expirationTime,t(o,R);else break;R=i(f)}}function y($){if(v=!1,d($),!S)if(i(o)!==null)S=!0,z(C);else{var R=i(f);R!==null&&V(y,R.startTime-$)}}function C($,R){S=!1,v&&(v=!1,h(x),x=-1),w=!0;var O=m;try{for(d(R),u=i(o);u!==null&&(!(u.expirationTime>R)||$&&!I());){var D=u.callback;if(typeof D=="function"){u.callback=null,m=u.priorityLevel;var H=D(u.expirationTime<=R);R=e.unstable_now(),typeof H=="function"?u.callback=H:u===i(o)&&s(o),d(R)}else s(o);u=i(o)}if(u!==null)var X=!0;else{var Q=i(f);Q!==null&&V(y,Q.startTime-R),X=!1}return X}finally{u=null,m=O,w=!1}}var b=!1,E=null,x=-1,k=5,L=-1;function I(){return!(e.unstable_now()-L<k)}function A(){if(E!==null){var $=e.unstable_now();L=$;var R=!0;try{R=E(!0,$)}finally{R?P():(b=!1,E=null)}}else b=!1}var P;if(typeof c=="function")P=function(){c(A)};else if(typeof MessageChannel<"u"){var j=new MessageChannel,W=j.port2;j.port1.onmessage=A,P=function(){W.postMessage(null)}}else P=function(){a(A,0)};function z($){E=$,b||(b=!0,P())}function V($,R){x=a(function(){$(e.unstable_now())},R)}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($){$.callback=null},e.unstable_continueExecution=function(){S||w||(S=!0,z(C))},e.unstable_forceFrameRate=function($){0>$||125<$?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):k=0<$?Math.floor(1e3/$):5},e.unstable_getCurrentPriorityLevel=function(){return m},e.unstable_getFirstCallbackNode=function(){return i(o)},e.unstable_next=function($){switch(m){case 1:case 2:case 3:var R=3;break;default:R=m}var O=m;m=R;try{return $()}finally{m=O}},e.unstable_pauseExecution=function(){},e.unstable_requestPaint=function(){},e.unstable_runWithPriority=function($,R){switch($){case 1:case 2:case 3:case 4:case 5:break;default:$=3}var O=m;m=$;try{return R()}finally{m=O}},e.unstable_scheduleCallback=function($,R,O){var D=e.unstable_now();switch(typeof O=="object"&&O!==null?(O=O.delay,O=typeof O=="number"&&0<O?D+O:D):O=D,$){case 1:var H=-1;break;case 2:H=250;break;case 5:H=1073741823;break;case 4:H=1e4;break;default:H=5e3}return H=O+H,$={id:_++,callback:R,priorityLevel:$,startTime:O,expirationTime:H,sortIndex:-1},O>D?($.sortIndex=O,t(f,$),i(o)===null&&$===i(f)&&(v?(h(x),x=-1):v=!0,V(y,O-D))):($.sortIndex=H,t(o,$),S||w||(S=!0,z(C))),$},e.unstable_shouldYield=I,e.unstable_wrapCallback=function($){var R=m;return function(){var O=m;m=R;try{return $.apply(this,arguments)}finally{m=O}}}})(Op);Ip.exports=Op;var Dv=Ip.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 Av=N,Ni=Dv;function de(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,i=1;i<arguments.length;i++)t+="&args[]="+encodeURIComponent(arguments[i]);return"Minified React error #"+e+"; visit "+t+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var Bp=new Set,to={};function xn(e,t){nr(e,t),nr(e+"Capture",t)}function nr(e,t){for(to[e]=t,e=0;e<t.length;e++)Bp.add(t[e])}var Cs=!(typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Sc=Object.prototype.hasOwnProperty,Mv=/^[: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]*$/,td={},id={};function Nv(e){return Sc.call(id,e)?!0:Sc.call(td,e)?!1:Mv.test(e)?id[e]=!0:(td[e]=!0,!1)}function Pv(e,t,i,s){if(i!==null&&i.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return s?!1:i!==null?!i.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function Iv(e,t,i,s){if(t===null||typeof t>"u"||Pv(e,t,i,s))return!0;if(s)return!1;if(i!==null)switch(i.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function gi(e,t,i,s,r,l,p){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=s,this.attributeNamespace=r,this.mustUseProperty=i,this.propertyName=e,this.type=t,this.sanitizeURL=l,this.removeEmptyString=p}var Jt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){Jt[e]=new gi(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];Jt[t]=new gi(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){Jt[e]=new gi(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){Jt[e]=new gi(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){Jt[e]=new gi(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){Jt[e]=new gi(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){Jt[e]=new gi(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){Jt[e]=new gi(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){Jt[e]=new gi(e,5,!1,e.toLowerCase(),null,!1,!1)});var Hu=/[\-:]([a-z])/g;function $u(e){return e[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(e){var t=e.replace(Hu,$u);Jt[t]=new gi(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(Hu,$u);Jt[t]=new gi(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Hu,$u);Jt[t]=new gi(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){Jt[e]=new gi(e,1,!1,e.toLowerCase(),null,!1,!1)});Jt.xlinkHref=new gi("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){Jt[e]=new gi(e,1,!1,e.toLowerCase(),null,!0,!0)});function zu(e,t,i,s){var r=Jt.hasOwnProperty(t)?Jt[t]:null;(r!==null?r.type!==0:s||!(2<t.length)||t[0]!=="o"&&t[0]!=="O"||t[1]!=="n"&&t[1]!=="N")&&(Iv(t,i,r,s)&&(i=null),s||r===null?Nv(t)&&(i===null?e.removeAttribute(t):e.setAttribute(t,""+i)):r.mustUseProperty?e[r.propertyName]=i===null?r.type===3?!1:"":i:(t=r.attributeName,s=r.attributeNamespace,i===null?e.removeAttribute(t):(r=r.type,i=r===3||r===4&&i===!0?"":""+i,s?e.setAttributeNS(s,t,i):e.setAttribute(t,i))))}var Ts=Av.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,Vo=Symbol.for("react.element"),In=Symbol.for("react.portal"),On=Symbol.for("react.fragment"),Uu=Symbol.for("react.strict_mode"),bc=Symbol.for("react.profiler"),jp=Symbol.for("react.provider"),Fp=Symbol.for("react.context"),Wu=Symbol.for("react.forward_ref"),xc=Symbol.for("react.suspense"),Cc=Symbol.for("react.suspense_list"),Vu=Symbol.for("react.memo"),Ps=Symbol.for("react.lazy"),Hp=Symbol.for("react.offscreen"),sd=Symbol.iterator;function xr(e){return e===null||typeof e!="object"?null:(e=sd&&e[sd]||e["@@iterator"],typeof e=="function"?e:null)}var bt=Object.assign,Ol;function Br(e){if(Ol===void 0)try{throw Error()}catch(i){var t=i.stack.trim().match(/\n( *(at )?)/);Ol=t&&t[1]||""}return`
|
|
34
|
+
`+Ol+e}var Bl=!1;function jl(e,t){if(!e||Bl)return"";Bl=!0;var i=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(t)if(t=function(){throw Error()},Object.defineProperty(t.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(t,[])}catch(f){var s=f}Reflect.construct(e,[],t)}else{try{t.call()}catch(f){s=f}e.call(t.prototype)}else{try{throw Error()}catch(f){s=f}e()}}catch(f){if(f&&s&&typeof f.stack=="string"){for(var r=f.stack.split(`
|
|
35
|
+
`),l=s.stack.split(`
|
|
36
|
+
`),p=r.length-1,n=l.length-1;1<=p&&0<=n&&r[p]!==l[n];)n--;for(;1<=p&&0<=n;p--,n--)if(r[p]!==l[n]){if(p!==1||n!==1)do if(p--,n--,0>n||r[p]!==l[n]){var o=`
|
|
37
|
+
`+r[p].replace(" at new "," at ");return e.displayName&&o.includes("<anonymous>")&&(o=o.replace("<anonymous>",e.displayName)),o}while(1<=p&&0<=n);break}}}finally{Bl=!1,Error.prepareStackTrace=i}return(e=e?e.displayName||e.name:"")?Br(e):""}function Ov(e){switch(e.tag){case 5:return Br(e.type);case 16:return Br("Lazy");case 13:return Br("Suspense");case 19:return Br("SuspenseList");case 0:case 2:case 15:return e=jl(e.type,!1),e;case 11:return e=jl(e.type.render,!1),e;case 1:return e=jl(e.type,!0),e;default:return""}}function kc(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case On:return"Fragment";case In:return"Portal";case bc:return"Profiler";case Uu:return"StrictMode";case xc:return"Suspense";case Cc:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Fp:return(e.displayName||"Context")+".Consumer";case jp:return(e._context.displayName||"Context")+".Provider";case Wu:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Vu:return t=e.displayName||null,t!==null?t:kc(e.type)||"Memo";case Ps:t=e._payload,e=e._init;try{return kc(e(t))}catch{}}return null}function Bv(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return kc(t);case 8:return t===Uu?"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 t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function qs(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function $p(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function jv(e){var t=$p(e)?"checked":"value",i=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),s=""+e[t];if(!e.hasOwnProperty(t)&&typeof i<"u"&&typeof i.get=="function"&&typeof i.set=="function"){var r=i.get,l=i.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return r.call(this)},set:function(p){s=""+p,l.call(this,p)}}),Object.defineProperty(e,t,{enumerable:i.enumerable}),{getValue:function(){return s},setValue:function(p){s=""+p},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Ko(e){e._valueTracker||(e._valueTracker=jv(e))}function zp(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var i=t.getValue(),s="";return e&&(s=$p(e)?e.checked?"true":"false":e.value),e=s,e!==i?(t.setValue(e),!0):!1}function Na(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function Ec(e,t){var i=t.checked;return bt({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:i??e._wrapperState.initialChecked})}function nd(e,t){var i=t.defaultValue==null?"":t.defaultValue,s=t.checked!=null?t.checked:t.defaultChecked;i=qs(t.value!=null?t.value:i),e._wrapperState={initialChecked:s,initialValue:i,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Up(e,t){t=t.checked,t!=null&&zu(e,"checked",t,!1)}function Lc(e,t){Up(e,t);var i=qs(t.value),s=t.type;if(i!=null)s==="number"?(i===0&&e.value===""||e.value!=i)&&(e.value=""+i):e.value!==""+i&&(e.value=""+i);else if(s==="submit"||s==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?Rc(e,t.type,i):t.hasOwnProperty("defaultValue")&&Rc(e,t.type,qs(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function rd(e,t,i){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var s=t.type;if(!(s!=="submit"&&s!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,i||t===e.value||(e.value=t),e.defaultValue=t}i=e.name,i!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,i!==""&&(e.name=i)}function Rc(e,t,i){(t!=="number"||Na(e.ownerDocument)!==e)&&(i==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+i&&(e.defaultValue=""+i))}var jr=Array.isArray;function Jn(e,t,i,s){if(e=e.options,t){t={};for(var r=0;r<i.length;r++)t["$"+i[r]]=!0;for(i=0;i<e.length;i++)r=t.hasOwnProperty("$"+e[i].value),e[i].selected!==r&&(e[i].selected=r),r&&s&&(e[i].defaultSelected=!0)}else{for(i=""+qs(i),t=null,r=0;r<e.length;r++){if(e[r].value===i){e[r].selected=!0,s&&(e[r].defaultSelected=!0);return}t!==null||e[r].disabled||(t=e[r])}t!==null&&(t.selected=!0)}}function Tc(e,t){if(t.dangerouslySetInnerHTML!=null)throw Error(de(91));return bt({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue})}function od(e,t){var i=t.value;if(i==null){if(i=t.children,t=t.defaultValue,i!=null){if(t!=null)throw Error(de(92));if(jr(i)){if(1<i.length)throw Error(de(93));i=i[0]}t=i}t==null&&(t=""),i=t}e._wrapperState={initialValue:qs(i)}}function Wp(e,t){var i=qs(t.value),s=qs(t.defaultValue);i!=null&&(i=""+i,i!==e.value&&(e.value=i),t.defaultValue==null&&e.defaultValue!==i&&(e.defaultValue=i)),s!=null&&(e.defaultValue=""+s)}function ad(e){var t=e.textContent;t===e._wrapperState.initialValue&&t!==""&&t!==null&&(e.value=t)}function Vp(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function Dc(e,t){return e==null||e==="http://www.w3.org/1999/xhtml"?Vp(t):e==="http://www.w3.org/2000/svg"&&t==="foreignObject"?"http://www.w3.org/1999/xhtml":e}var Go,Kp=function(e){return typeof MSApp<"u"&&MSApp.execUnsafeLocalFunction?function(t,i,s,r){MSApp.execUnsafeLocalFunction(function(){return e(t,i,s,r)})}:e}(function(e,t){if(e.namespaceURI!=="http://www.w3.org/2000/svg"||"innerHTML"in e)e.innerHTML=t;else{for(Go=Go||document.createElement("div"),Go.innerHTML="<svg>"+t.valueOf().toString()+"</svg>",t=Go.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function io(e,t){if(t){var i=e.firstChild;if(i&&i===e.lastChild&&i.nodeType===3){i.nodeValue=t;return}}e.textContent=t}var zr={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},Fv=["Webkit","ms","Moz","O"];Object.keys(zr).forEach(function(e){Fv.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),zr[t]=zr[e]})});function Gp(e,t,i){return t==null||typeof t=="boolean"||t===""?"":i||typeof t!="number"||t===0||zr.hasOwnProperty(e)&&zr[e]?(""+t).trim():t+"px"}function qp(e,t){e=e.style;for(var i in t)if(t.hasOwnProperty(i)){var s=i.indexOf("--")===0,r=Gp(i,t[i],s);i==="float"&&(i="cssFloat"),s?e.setProperty(i,r):e[i]=r}}var Hv=bt({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 Ac(e,t){if(t){if(Hv[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(de(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(de(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(de(61))}if(t.style!=null&&typeof t.style!="object")throw Error(de(62))}}function Mc(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Nc=null;function Ku(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var Pc=null,Zn=null,Qn=null;function ld(e){if(e=Ro(e)){if(typeof Pc!="function")throw Error(de(280));var t=e.stateNode;t&&(t=wl(t),Pc(e.stateNode,e.type,t))}}function Yp(e){Zn?Qn?Qn.push(e):Qn=[e]:Zn=e}function Xp(){if(Zn){var e=Zn,t=Qn;if(Qn=Zn=null,ld(e),t)for(e=0;e<t.length;e++)ld(t[e])}}function Jp(e,t){return e(t)}function Zp(){}var Fl=!1;function Qp(e,t,i){if(Fl)return e(t,i);Fl=!0;try{return Jp(e,t,i)}finally{Fl=!1,(Zn!==null||Qn!==null)&&(Zp(),Xp())}}function so(e,t){var i=e.stateNode;if(i===null)return null;var s=wl(i);if(s===null)return null;i=s[t];e:switch(t){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":case"onMouseEnter":(s=!s.disabled)||(e=e.type,s=!(e==="button"||e==="input"||e==="select"||e==="textarea")),e=!s;break e;default:e=!1}if(e)return null;if(i&&typeof i!="function")throw Error(de(231,t,typeof i));return i}var Ic=!1;if(Cs)try{var Cr={};Object.defineProperty(Cr,"passive",{get:function(){Ic=!0}}),window.addEventListener("test",Cr,Cr),window.removeEventListener("test",Cr,Cr)}catch{Ic=!1}function $v(e,t,i,s,r,l,p,n,o){var f=Array.prototype.slice.call(arguments,3);try{t.apply(i,f)}catch(_){this.onError(_)}}var Ur=!1,Pa=null,Ia=!1,Oc=null,zv={onError:function(e){Ur=!0,Pa=e}};function Uv(e,t,i,s,r,l,p,n,o){Ur=!1,Pa=null,$v.apply(zv,arguments)}function Wv(e,t,i,s,r,l,p,n,o){if(Uv.apply(this,arguments),Ur){if(Ur){var f=Pa;Ur=!1,Pa=null}else throw Error(de(198));Ia||(Ia=!0,Oc=f)}}function Cn(e){var t=e,i=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(i=t.return),e=t.return;while(e)}return t.tag===3?i:null}function em(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function cd(e){if(Cn(e)!==e)throw Error(de(188))}function Vv(e){var t=e.alternate;if(!t){if(t=Cn(e),t===null)throw Error(de(188));return t!==e?null:e}for(var i=e,s=t;;){var r=i.return;if(r===null)break;var l=r.alternate;if(l===null){if(s=r.return,s!==null){i=s;continue}break}if(r.child===l.child){for(l=r.child;l;){if(l===i)return cd(r),e;if(l===s)return cd(r),t;l=l.sibling}throw Error(de(188))}if(i.return!==s.return)i=r,s=l;else{for(var p=!1,n=r.child;n;){if(n===i){p=!0,i=r,s=l;break}if(n===s){p=!0,s=r,i=l;break}n=n.sibling}if(!p){for(n=l.child;n;){if(n===i){p=!0,i=l,s=r;break}if(n===s){p=!0,s=l,i=r;break}n=n.sibling}if(!p)throw Error(de(189))}}if(i.alternate!==s)throw Error(de(190))}if(i.tag!==3)throw Error(de(188));return i.stateNode.current===i?e:t}function tm(e){return e=Vv(e),e!==null?im(e):null}function im(e){if(e.tag===5||e.tag===6)return e;for(e=e.child;e!==null;){var t=im(e);if(t!==null)return t;e=e.sibling}return null}var sm=Ni.unstable_scheduleCallback,ud=Ni.unstable_cancelCallback,Kv=Ni.unstable_shouldYield,Gv=Ni.unstable_requestPaint,Dt=Ni.unstable_now,qv=Ni.unstable_getCurrentPriorityLevel,Gu=Ni.unstable_ImmediatePriority,nm=Ni.unstable_UserBlockingPriority,Oa=Ni.unstable_NormalPriority,Yv=Ni.unstable_LowPriority,rm=Ni.unstable_IdlePriority,ml=null,ms=null;function Xv(e){if(ms&&typeof ms.onCommitFiberRoot=="function")try{ms.onCommitFiberRoot(ml,e,void 0,(e.current.flags&128)===128)}catch{}}var Qi=Math.clz32?Math.clz32:Qv,Jv=Math.log,Zv=Math.LN2;function Qv(e){return e>>>=0,e===0?32:31-(Jv(e)/Zv|0)|0}var qo=64,Yo=4194304;function Fr(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Ba(e,t){var i=e.pendingLanes;if(i===0)return 0;var s=0,r=e.suspendedLanes,l=e.pingedLanes,p=i&268435455;if(p!==0){var n=p&~r;n!==0?s=Fr(n):(l&=p,l!==0&&(s=Fr(l)))}else p=i&~r,p!==0?s=Fr(p):l!==0&&(s=Fr(l));if(s===0)return 0;if(t!==0&&t!==s&&!(t&r)&&(r=s&-s,l=t&-t,r>=l||r===16&&(l&4194240)!==0))return t;if(s&4&&(s|=i&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=s;0<t;)i=31-Qi(t),r=1<<i,s|=e[i],t&=~r;return s}function e0(e,t){switch(e){case 1:case 2:case 4:return t+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;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 t0(e,t){for(var i=e.suspendedLanes,s=e.pingedLanes,r=e.expirationTimes,l=e.pendingLanes;0<l;){var p=31-Qi(l),n=1<<p,o=r[p];o===-1?(!(n&i)||n&s)&&(r[p]=e0(n,t)):o<=t&&(e.expiredLanes|=n),l&=~n}}function Bc(e){return e=e.pendingLanes&-1073741825,e!==0?e:e&1073741824?1073741824:0}function om(){var e=qo;return qo<<=1,!(qo&4194240)&&(qo=64),e}function Hl(e){for(var t=[],i=0;31>i;i++)t.push(e);return t}function Eo(e,t,i){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-Qi(t),e[t]=i}function i0(e,t){var i=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var s=e.eventTimes;for(e=e.expirationTimes;0<i;){var r=31-Qi(i),l=1<<r;t[r]=0,s[r]=-1,e[r]=-1,i&=~l}}function qu(e,t){var i=e.entangledLanes|=t;for(e=e.entanglements;i;){var s=31-Qi(i),r=1<<s;r&t|e[s]&t&&(e[s]|=t),i&=~r}}var rt=0;function am(e){return e&=-e,1<e?4<e?e&268435455?16:536870912:4:1}var lm,Yu,cm,um,hm,jc=!1,Xo=[],Hs=null,$s=null,zs=null,no=new Map,ro=new Map,Os=[],s0="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 hd(e,t){switch(e){case"focusin":case"focusout":Hs=null;break;case"dragenter":case"dragleave":$s=null;break;case"mouseover":case"mouseout":zs=null;break;case"pointerover":case"pointerout":no.delete(t.pointerId);break;case"gotpointercapture":case"lostpointercapture":ro.delete(t.pointerId)}}function kr(e,t,i,s,r,l){return e===null||e.nativeEvent!==l?(e={blockedOn:t,domEventName:i,eventSystemFlags:s,nativeEvent:l,targetContainers:[r]},t!==null&&(t=Ro(t),t!==null&&Yu(t)),e):(e.eventSystemFlags|=s,t=e.targetContainers,r!==null&&t.indexOf(r)===-1&&t.push(r),e)}function n0(e,t,i,s,r){switch(t){case"focusin":return Hs=kr(Hs,e,t,i,s,r),!0;case"dragenter":return $s=kr($s,e,t,i,s,r),!0;case"mouseover":return zs=kr(zs,e,t,i,s,r),!0;case"pointerover":var l=r.pointerId;return no.set(l,kr(no.get(l)||null,e,t,i,s,r)),!0;case"gotpointercapture":return l=r.pointerId,ro.set(l,kr(ro.get(l)||null,e,t,i,s,r)),!0}return!1}function dm(e){var t=ln(e.target);if(t!==null){var i=Cn(t);if(i!==null){if(t=i.tag,t===13){if(t=em(i),t!==null){e.blockedOn=t,hm(e.priority,function(){cm(i)});return}}else if(t===3&&i.stateNode.current.memoizedState.isDehydrated){e.blockedOn=i.tag===3?i.stateNode.containerInfo:null;return}}}e.blockedOn=null}function wa(e){if(e.blockedOn!==null)return!1;for(var t=e.targetContainers;0<t.length;){var i=Fc(e.domEventName,e.eventSystemFlags,t[0],e.nativeEvent);if(i===null){i=e.nativeEvent;var s=new i.constructor(i.type,i);Nc=s,i.target.dispatchEvent(s),Nc=null}else return t=Ro(i),t!==null&&Yu(t),e.blockedOn=i,!1;t.shift()}return!0}function dd(e,t,i){wa(e)&&i.delete(t)}function r0(){jc=!1,Hs!==null&&wa(Hs)&&(Hs=null),$s!==null&&wa($s)&&($s=null),zs!==null&&wa(zs)&&(zs=null),no.forEach(dd),ro.forEach(dd)}function Er(e,t){e.blockedOn===t&&(e.blockedOn=null,jc||(jc=!0,Ni.unstable_scheduleCallback(Ni.unstable_NormalPriority,r0)))}function oo(e){function t(r){return Er(r,e)}if(0<Xo.length){Er(Xo[0],e);for(var i=1;i<Xo.length;i++){var s=Xo[i];s.blockedOn===e&&(s.blockedOn=null)}}for(Hs!==null&&Er(Hs,e),$s!==null&&Er($s,e),zs!==null&&Er(zs,e),no.forEach(t),ro.forEach(t),i=0;i<Os.length;i++)s=Os[i],s.blockedOn===e&&(s.blockedOn=null);for(;0<Os.length&&(i=Os[0],i.blockedOn===null);)dm(i),i.blockedOn===null&&Os.shift()}var er=Ts.ReactCurrentBatchConfig,ja=!0;function o0(e,t,i,s){var r=rt,l=er.transition;er.transition=null;try{rt=1,Xu(e,t,i,s)}finally{rt=r,er.transition=l}}function a0(e,t,i,s){var r=rt,l=er.transition;er.transition=null;try{rt=4,Xu(e,t,i,s)}finally{rt=r,er.transition=l}}function Xu(e,t,i,s){if(ja){var r=Fc(e,t,i,s);if(r===null)Xl(e,t,s,Fa,i),hd(e,s);else if(n0(r,e,t,i,s))s.stopPropagation();else if(hd(e,s),t&4&&-1<s0.indexOf(e)){for(;r!==null;){var l=Ro(r);if(l!==null&&lm(l),l=Fc(e,t,i,s),l===null&&Xl(e,t,s,Fa,i),l===r)break;r=l}r!==null&&s.stopPropagation()}else Xl(e,t,s,null,i)}}var Fa=null;function Fc(e,t,i,s){if(Fa=null,e=Ku(s),e=ln(e),e!==null)if(t=Cn(e),t===null)e=null;else if(i=t.tag,i===13){if(e=em(t),e!==null)return e;e=null}else if(i===3){if(t.stateNode.current.memoizedState.isDehydrated)return t.tag===3?t.stateNode.containerInfo:null;e=null}else t!==e&&(e=null);return Fa=e,null}function fm(e){switch(e){case"cancel":case"click":case"close":case"contextmenu":case"copy":case"cut":case"auxclick":case"dblclick":case"dragend":case"dragstart":case"drop":case"focusin":case"focusout":case"input":case"invalid":case"keydown":case"keypress":case"keyup":case"mousedown":case"mouseup":case"paste":case"pause":case"play":case"pointercancel":case"pointerdown":case"pointerup":case"ratechange":case"reset":case"resize":case"seeked":case"submit":case"touchcancel":case"touchend":case"touchstart":case"volumechange":case"change":case"selectionchange":case"textInput":case"compositionstart":case"compositionend":case"compositionupdate":case"beforeblur":case"afterblur":case"beforeinput":case"blur":case"fullscreenchange":case"focus":case"hashchange":case"popstate":case"select":case"selectstart":return 1;case"drag":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"mousemove":case"mouseout":case"mouseover":case"pointermove":case"pointerout":case"pointerover":case"scroll":case"toggle":case"touchmove":case"wheel":case"mouseenter":case"mouseleave":case"pointerenter":case"pointerleave":return 4;case"message":switch(qv()){case Gu:return 1;case nm:return 4;case Oa:case Yv:return 16;case rm:return 536870912;default:return 16}default:return 16}}var js=null,Ju=null,ya=null;function pm(){if(ya)return ya;var e,t=Ju,i=t.length,s,r="value"in js?js.value:js.textContent,l=r.length;for(e=0;e<i&&t[e]===r[e];e++);var p=i-e;for(s=1;s<=p&&t[i-s]===r[l-s];s++);return ya=r.slice(e,1<s?1-s:void 0)}function Sa(e){var t=e.keyCode;return"charCode"in e?(e=e.charCode,e===0&&t===13&&(e=13)):e=t,e===10&&(e=13),32<=e||e===13?e:0}function Jo(){return!0}function fd(){return!1}function Ii(e){function t(i,s,r,l,p){this._reactName=i,this._targetInst=r,this.type=s,this.nativeEvent=l,this.target=p,this.currentTarget=null;for(var n in e)e.hasOwnProperty(n)&&(i=e[n],this[n]=i?i(l):l[n]);return this.isDefaultPrevented=(l.defaultPrevented!=null?l.defaultPrevented:l.returnValue===!1)?Jo:fd,this.isPropagationStopped=fd,this}return bt(t.prototype,{preventDefault:function(){this.defaultPrevented=!0;var i=this.nativeEvent;i&&(i.preventDefault?i.preventDefault():typeof i.returnValue!="unknown"&&(i.returnValue=!1),this.isDefaultPrevented=Jo)},stopPropagation:function(){var i=this.nativeEvent;i&&(i.stopPropagation?i.stopPropagation():typeof i.cancelBubble!="unknown"&&(i.cancelBubble=!0),this.isPropagationStopped=Jo)},persist:function(){},isPersistent:Jo}),t}var pr={eventPhase:0,bubbles:0,cancelable:0,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:0,isTrusted:0},Zu=Ii(pr),Lo=bt({},pr,{view:0,detail:0}),l0=Ii(Lo),$l,zl,Lr,gl=bt({},Lo,{screenX:0,screenY:0,clientX:0,clientY:0,pageX:0,pageY:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,getModifierState:Qu,button:0,buttons:0,relatedTarget:function(e){return e.relatedTarget===void 0?e.fromElement===e.srcElement?e.toElement:e.fromElement:e.relatedTarget},movementX:function(e){return"movementX"in e?e.movementX:(e!==Lr&&(Lr&&e.type==="mousemove"?($l=e.screenX-Lr.screenX,zl=e.screenY-Lr.screenY):zl=$l=0,Lr=e),$l)},movementY:function(e){return"movementY"in e?e.movementY:zl}}),pd=Ii(gl),c0=bt({},gl,{dataTransfer:0}),u0=Ii(c0),h0=bt({},Lo,{relatedTarget:0}),Ul=Ii(h0),d0=bt({},pr,{animationName:0,elapsedTime:0,pseudoElement:0}),f0=Ii(d0),p0=bt({},pr,{clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}}),m0=Ii(p0),g0=bt({},pr,{data:0}),md=Ii(g0),_0={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},v0={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"},w0={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function y0(e){var t=this.nativeEvent;return t.getModifierState?t.getModifierState(e):(e=w0[e])?!!t[e]:!1}function Qu(){return y0}var S0=bt({},Lo,{key:function(e){if(e.key){var t=_0[e.key]||e.key;if(t!=="Unidentified")return t}return e.type==="keypress"?(e=Sa(e),e===13?"Enter":String.fromCharCode(e)):e.type==="keydown"||e.type==="keyup"?v0[e.keyCode]||"Unidentified":""},code:0,location:0,ctrlKey:0,shiftKey:0,altKey:0,metaKey:0,repeat:0,locale:0,getModifierState:Qu,charCode:function(e){return e.type==="keypress"?Sa(e):0},keyCode:function(e){return e.type==="keydown"||e.type==="keyup"?e.keyCode:0},which:function(e){return e.type==="keypress"?Sa(e):e.type==="keydown"||e.type==="keyup"?e.keyCode:0}}),b0=Ii(S0),x0=bt({},gl,{pointerId:0,width:0,height:0,pressure:0,tangentialPressure:0,tiltX:0,tiltY:0,twist:0,pointerType:0,isPrimary:0}),gd=Ii(x0),C0=bt({},Lo,{touches:0,targetTouches:0,changedTouches:0,altKey:0,metaKey:0,ctrlKey:0,shiftKey:0,getModifierState:Qu}),k0=Ii(C0),E0=bt({},pr,{propertyName:0,elapsedTime:0,pseudoElement:0}),L0=Ii(E0),R0=bt({},gl,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:0,deltaMode:0}),T0=Ii(R0),D0=[9,13,27,32],eh=Cs&&"CompositionEvent"in window,Wr=null;Cs&&"documentMode"in document&&(Wr=document.documentMode);var A0=Cs&&"TextEvent"in window&&!Wr,mm=Cs&&(!eh||Wr&&8<Wr&&11>=Wr),_d=" ",vd=!1;function gm(e,t){switch(e){case"keyup":return D0.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function _m(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var Bn=!1;function M0(e,t){switch(e){case"compositionend":return _m(t);case"keypress":return t.which!==32?null:(vd=!0,_d);case"textInput":return e=t.data,e===_d&&vd?null:e;default:return null}}function N0(e,t){if(Bn)return e==="compositionend"||!eh&&gm(e,t)?(e=pm(),ya=Ju=js=null,Bn=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1<t.char.length)return t.char;if(t.which)return String.fromCharCode(t.which)}return null;case"compositionend":return mm&&t.locale!=="ko"?null:t.data;default:return null}}var P0={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 wd(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t==="input"?!!P0[e.type]:t==="textarea"}function vm(e,t,i,s){Yp(s),t=Ha(t,"onChange"),0<t.length&&(i=new Zu("onChange","change",null,i,s),e.push({event:i,listeners:t}))}var Vr=null,ao=null;function I0(e){Tm(e,0)}function _l(e){var t=Hn(e);if(zp(t))return e}function O0(e,t){if(e==="change")return t}var wm=!1;if(Cs){var Wl;if(Cs){var Vl="oninput"in document;if(!Vl){var yd=document.createElement("div");yd.setAttribute("oninput","return;"),Vl=typeof yd.oninput=="function"}Wl=Vl}else Wl=!1;wm=Wl&&(!document.documentMode||9<document.documentMode)}function Sd(){Vr&&(Vr.detachEvent("onpropertychange",ym),ao=Vr=null)}function ym(e){if(e.propertyName==="value"&&_l(ao)){var t=[];vm(t,ao,e,Ku(e)),Qp(I0,t)}}function B0(e,t,i){e==="focusin"?(Sd(),Vr=t,ao=i,Vr.attachEvent("onpropertychange",ym)):e==="focusout"&&Sd()}function j0(e){if(e==="selectionchange"||e==="keyup"||e==="keydown")return _l(ao)}function F0(e,t){if(e==="click")return _l(t)}function H0(e,t){if(e==="input"||e==="change")return _l(t)}function $0(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var ts=typeof Object.is=="function"?Object.is:$0;function lo(e,t){if(ts(e,t))return!0;if(typeof e!="object"||e===null||typeof t!="object"||t===null)return!1;var i=Object.keys(e),s=Object.keys(t);if(i.length!==s.length)return!1;for(s=0;s<i.length;s++){var r=i[s];if(!Sc.call(t,r)||!ts(e[r],t[r]))return!1}return!0}function bd(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function xd(e,t){var i=bd(e);e=0;for(var s;i;){if(i.nodeType===3){if(s=e+i.textContent.length,e<=t&&s>=t)return{node:i,offset:t-e};e=s}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=bd(i)}}function Sm(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?Sm(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function bm(){for(var e=window,t=Na();t instanceof e.HTMLIFrameElement;){try{var i=typeof t.contentWindow.location.href=="string"}catch{i=!1}if(i)e=t.contentWindow;else break;t=Na(e.document)}return t}function th(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function z0(e){var t=bm(),i=e.focusedElem,s=e.selectionRange;if(t!==i&&i&&i.ownerDocument&&Sm(i.ownerDocument.documentElement,i)){if(s!==null&&th(i)){if(t=s.start,e=s.end,e===void 0&&(e=t),"selectionStart"in i)i.selectionStart=t,i.selectionEnd=Math.min(e,i.value.length);else if(e=(t=i.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var r=i.textContent.length,l=Math.min(s.start,r);s=s.end===void 0?l:Math.min(s.end,r),!e.extend&&l>s&&(r=s,s=l,l=r),r=xd(i,l);var p=xd(i,s);r&&p&&(e.rangeCount!==1||e.anchorNode!==r.node||e.anchorOffset!==r.offset||e.focusNode!==p.node||e.focusOffset!==p.offset)&&(t=t.createRange(),t.setStart(r.node,r.offset),e.removeAllRanges(),l>s?(e.addRange(t),e.extend(p.node,p.offset)):(t.setEnd(p.node,p.offset),e.addRange(t)))}}for(t=[],e=i;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof i.focus=="function"&&i.focus(),i=0;i<t.length;i++)e=t[i],e.element.scrollLeft=e.left,e.element.scrollTop=e.top}}var U0=Cs&&"documentMode"in document&&11>=document.documentMode,jn=null,Hc=null,Kr=null,$c=!1;function Cd(e,t,i){var s=i.window===i?i.document:i.nodeType===9?i:i.ownerDocument;$c||jn==null||jn!==Na(s)||(s=jn,"selectionStart"in s&&th(s)?s={start:s.selectionStart,end:s.selectionEnd}:(s=(s.ownerDocument&&s.ownerDocument.defaultView||window).getSelection(),s={anchorNode:s.anchorNode,anchorOffset:s.anchorOffset,focusNode:s.focusNode,focusOffset:s.focusOffset}),Kr&&lo(Kr,s)||(Kr=s,s=Ha(Hc,"onSelect"),0<s.length&&(t=new Zu("onSelect","select",null,t,i),e.push({event:t,listeners:s}),t.target=jn)))}function Zo(e,t){var i={};return i[e.toLowerCase()]=t.toLowerCase(),i["Webkit"+e]="webkit"+t,i["Moz"+e]="moz"+t,i}var Fn={animationend:Zo("Animation","AnimationEnd"),animationiteration:Zo("Animation","AnimationIteration"),animationstart:Zo("Animation","AnimationStart"),transitionend:Zo("Transition","TransitionEnd")},Kl={},xm={};Cs&&(xm=document.createElement("div").style,"AnimationEvent"in window||(delete Fn.animationend.animation,delete Fn.animationiteration.animation,delete Fn.animationstart.animation),"TransitionEvent"in window||delete Fn.transitionend.transition);function vl(e){if(Kl[e])return Kl[e];if(!Fn[e])return e;var t=Fn[e],i;for(i in t)if(t.hasOwnProperty(i)&&i in xm)return Kl[e]=t[i];return e}var Cm=vl("animationend"),km=vl("animationiteration"),Em=vl("animationstart"),Lm=vl("transitionend"),Rm=new Map,kd="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 Zs(e,t){Rm.set(e,t),xn(t,[e])}for(var Gl=0;Gl<kd.length;Gl++){var ql=kd[Gl],W0=ql.toLowerCase(),V0=ql[0].toUpperCase()+ql.slice(1);Zs(W0,"on"+V0)}Zs(Cm,"onAnimationEnd");Zs(km,"onAnimationIteration");Zs(Em,"onAnimationStart");Zs("dblclick","onDoubleClick");Zs("focusin","onFocus");Zs("focusout","onBlur");Zs(Lm,"onTransitionEnd");nr("onMouseEnter",["mouseout","mouseover"]);nr("onMouseLeave",["mouseout","mouseover"]);nr("onPointerEnter",["pointerout","pointerover"]);nr("onPointerLeave",["pointerout","pointerover"]);xn("onChange","change click focusin focusout input keydown keyup selectionchange".split(" "));xn("onSelect","focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split(" "));xn("onBeforeInput",["compositionend","keypress","textInput","paste"]);xn("onCompositionEnd","compositionend focusout keydown keypress keyup mousedown".split(" "));xn("onCompositionStart","compositionstart focusout keydown keypress keyup mousedown".split(" "));xn("onCompositionUpdate","compositionupdate focusout keydown keypress keyup mousedown".split(" "));var Hr="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(" "),K0=new Set("cancel close invalid load scroll toggle".split(" ").concat(Hr));function Ed(e,t,i){var s=e.type||"unknown-event";e.currentTarget=i,Wv(s,t,void 0,e),e.currentTarget=null}function Tm(e,t){t=(t&4)!==0;for(var i=0;i<e.length;i++){var s=e[i],r=s.event;s=s.listeners;e:{var l=void 0;if(t)for(var p=s.length-1;0<=p;p--){var n=s[p],o=n.instance,f=n.currentTarget;if(n=n.listener,o!==l&&r.isPropagationStopped())break e;Ed(r,n,f),l=o}else for(p=0;p<s.length;p++){if(n=s[p],o=n.instance,f=n.currentTarget,n=n.listener,o!==l&&r.isPropagationStopped())break e;Ed(r,n,f),l=o}}}if(Ia)throw e=Oc,Ia=!1,Oc=null,e}function mt(e,t){var i=t[Kc];i===void 0&&(i=t[Kc]=new Set);var s=e+"__bubble";i.has(s)||(Dm(t,e,2,!1),i.add(s))}function Yl(e,t,i){var s=0;t&&(s|=4),Dm(i,e,s,t)}var Qo="_reactListening"+Math.random().toString(36).slice(2);function co(e){if(!e[Qo]){e[Qo]=!0,Bp.forEach(function(i){i!=="selectionchange"&&(K0.has(i)||Yl(i,!1,e),Yl(i,!0,e))});var t=e.nodeType===9?e:e.ownerDocument;t===null||t[Qo]||(t[Qo]=!0,Yl("selectionchange",!1,t))}}function Dm(e,t,i,s){switch(fm(t)){case 1:var r=o0;break;case 4:r=a0;break;default:r=Xu}i=r.bind(null,t,i,e),r=void 0,!Ic||t!=="touchstart"&&t!=="touchmove"&&t!=="wheel"||(r=!0),s?r!==void 0?e.addEventListener(t,i,{capture:!0,passive:r}):e.addEventListener(t,i,!0):r!==void 0?e.addEventListener(t,i,{passive:r}):e.addEventListener(t,i,!1)}function Xl(e,t,i,s,r){var l=s;if(!(t&1)&&!(t&2)&&s!==null)e:for(;;){if(s===null)return;var p=s.tag;if(p===3||p===4){var n=s.stateNode.containerInfo;if(n===r||n.nodeType===8&&n.parentNode===r)break;if(p===4)for(p=s.return;p!==null;){var o=p.tag;if((o===3||o===4)&&(o=p.stateNode.containerInfo,o===r||o.nodeType===8&&o.parentNode===r))return;p=p.return}for(;n!==null;){if(p=ln(n),p===null)return;if(o=p.tag,o===5||o===6){s=l=p;continue e}n=n.parentNode}}s=s.return}Qp(function(){var f=l,_=Ku(i),u=[];e:{var m=Rm.get(e);if(m!==void 0){var w=Zu,S=e;switch(e){case"keypress":if(Sa(i)===0)break e;case"keydown":case"keyup":w=b0;break;case"focusin":S="focus",w=Ul;break;case"focusout":S="blur",w=Ul;break;case"beforeblur":case"afterblur":w=Ul;break;case"click":if(i.button===2)break e;case"auxclick":case"dblclick":case"mousedown":case"mousemove":case"mouseup":case"mouseout":case"mouseover":case"contextmenu":w=pd;break;case"drag":case"dragend":case"dragenter":case"dragexit":case"dragleave":case"dragover":case"dragstart":case"drop":w=u0;break;case"touchcancel":case"touchend":case"touchmove":case"touchstart":w=k0;break;case Cm:case km:case Em:w=f0;break;case Lm:w=L0;break;case"scroll":w=l0;break;case"wheel":w=T0;break;case"copy":case"cut":case"paste":w=m0;break;case"gotpointercapture":case"lostpointercapture":case"pointercancel":case"pointerdown":case"pointermove":case"pointerout":case"pointerover":case"pointerup":w=gd}var v=(t&4)!==0,a=!v&&e==="scroll",h=v?m!==null?m+"Capture":null:m;v=[];for(var c=f,d;c!==null;){d=c;var y=d.stateNode;if(d.tag===5&&y!==null&&(d=y,h!==null&&(y=so(c,h),y!=null&&v.push(uo(c,y,d)))),a)break;c=c.return}0<v.length&&(m=new w(m,S,null,i,_),u.push({event:m,listeners:v}))}}if(!(t&7)){e:{if(m=e==="mouseover"||e==="pointerover",w=e==="mouseout"||e==="pointerout",m&&i!==Nc&&(S=i.relatedTarget||i.fromElement)&&(ln(S)||S[ks]))break e;if((w||m)&&(m=_.window===_?_:(m=_.ownerDocument)?m.defaultView||m.parentWindow:window,w?(S=i.relatedTarget||i.toElement,w=f,S=S?ln(S):null,S!==null&&(a=Cn(S),S!==a||S.tag!==5&&S.tag!==6)&&(S=null)):(w=null,S=f),w!==S)){if(v=pd,y="onMouseLeave",h="onMouseEnter",c="mouse",(e==="pointerout"||e==="pointerover")&&(v=gd,y="onPointerLeave",h="onPointerEnter",c="pointer"),a=w==null?m:Hn(w),d=S==null?m:Hn(S),m=new v(y,c+"leave",w,i,_),m.target=a,m.relatedTarget=d,y=null,ln(_)===f&&(v=new v(h,c+"enter",S,i,_),v.target=d,v.relatedTarget=a,y=v),a=y,w&&S)t:{for(v=w,h=S,c=0,d=v;d;d=Tn(d))c++;for(d=0,y=h;y;y=Tn(y))d++;for(;0<c-d;)v=Tn(v),c--;for(;0<d-c;)h=Tn(h),d--;for(;c--;){if(v===h||h!==null&&v===h.alternate)break t;v=Tn(v),h=Tn(h)}v=null}else v=null;w!==null&&Ld(u,m,w,v,!1),S!==null&&a!==null&&Ld(u,a,S,v,!0)}}e:{if(m=f?Hn(f):window,w=m.nodeName&&m.nodeName.toLowerCase(),w==="select"||w==="input"&&m.type==="file")var C=O0;else if(wd(m))if(wm)C=H0;else{C=j0;var b=B0}else(w=m.nodeName)&&w.toLowerCase()==="input"&&(m.type==="checkbox"||m.type==="radio")&&(C=F0);if(C&&(C=C(e,f))){vm(u,C,i,_);break e}b&&b(e,m,f),e==="focusout"&&(b=m._wrapperState)&&b.controlled&&m.type==="number"&&Rc(m,"number",m.value)}switch(b=f?Hn(f):window,e){case"focusin":(wd(b)||b.contentEditable==="true")&&(jn=b,Hc=f,Kr=null);break;case"focusout":Kr=Hc=jn=null;break;case"mousedown":$c=!0;break;case"contextmenu":case"mouseup":case"dragend":$c=!1,Cd(u,i,_);break;case"selectionchange":if(U0)break;case"keydown":case"keyup":Cd(u,i,_)}var E;if(eh)e:{switch(e){case"compositionstart":var x="onCompositionStart";break e;case"compositionend":x="onCompositionEnd";break e;case"compositionupdate":x="onCompositionUpdate";break e}x=void 0}else Bn?gm(e,i)&&(x="onCompositionEnd"):e==="keydown"&&i.keyCode===229&&(x="onCompositionStart");x&&(mm&&i.locale!=="ko"&&(Bn||x!=="onCompositionStart"?x==="onCompositionEnd"&&Bn&&(E=pm()):(js=_,Ju="value"in js?js.value:js.textContent,Bn=!0)),b=Ha(f,x),0<b.length&&(x=new md(x,e,null,i,_),u.push({event:x,listeners:b}),E?x.data=E:(E=_m(i),E!==null&&(x.data=E)))),(E=A0?M0(e,i):N0(e,i))&&(f=Ha(f,"onBeforeInput"),0<f.length&&(_=new md("onBeforeInput","beforeinput",null,i,_),u.push({event:_,listeners:f}),_.data=E))}Tm(u,t)})}function uo(e,t,i){return{instance:e,listener:t,currentTarget:i}}function Ha(e,t){for(var i=t+"Capture",s=[];e!==null;){var r=e,l=r.stateNode;r.tag===5&&l!==null&&(r=l,l=so(e,i),l!=null&&s.unshift(uo(e,l,r)),l=so(e,t),l!=null&&s.push(uo(e,l,r))),e=e.return}return s}function Tn(e){if(e===null)return null;do e=e.return;while(e&&e.tag!==5);return e||null}function Ld(e,t,i,s,r){for(var l=t._reactName,p=[];i!==null&&i!==s;){var n=i,o=n.alternate,f=n.stateNode;if(o!==null&&o===s)break;n.tag===5&&f!==null&&(n=f,r?(o=so(i,l),o!=null&&p.unshift(uo(i,o,n))):r||(o=so(i,l),o!=null&&p.push(uo(i,o,n)))),i=i.return}p.length!==0&&e.push({event:t,listeners:p})}var G0=/\r\n?/g,q0=/\u0000|\uFFFD/g;function Rd(e){return(typeof e=="string"?e:""+e).replace(G0,`
|
|
38
|
+
`).replace(q0,"")}function ea(e,t,i){if(t=Rd(t),Rd(e)!==t&&i)throw Error(de(425))}function $a(){}var zc=null,Uc=null;function Wc(e,t){return e==="textarea"||e==="noscript"||typeof t.children=="string"||typeof t.children=="number"||typeof t.dangerouslySetInnerHTML=="object"&&t.dangerouslySetInnerHTML!==null&&t.dangerouslySetInnerHTML.__html!=null}var Vc=typeof setTimeout=="function"?setTimeout:void 0,Y0=typeof clearTimeout=="function"?clearTimeout:void 0,Td=typeof Promise=="function"?Promise:void 0,X0=typeof queueMicrotask=="function"?queueMicrotask:typeof Td<"u"?function(e){return Td.resolve(null).then(e).catch(J0)}:Vc;function J0(e){setTimeout(function(){throw e})}function Jl(e,t){var i=t,s=0;do{var r=i.nextSibling;if(e.removeChild(i),r&&r.nodeType===8)if(i=r.data,i==="/$"){if(s===0){e.removeChild(r),oo(t);return}s--}else i!=="$"&&i!=="$?"&&i!=="$!"||s++;i=r}while(i);oo(t)}function Us(e){for(;e!=null;e=e.nextSibling){var t=e.nodeType;if(t===1||t===3)break;if(t===8){if(t=e.data,t==="$"||t==="$!"||t==="$?")break;if(t==="/$")return null}}return e}function Dd(e){e=e.previousSibling;for(var t=0;e;){if(e.nodeType===8){var i=e.data;if(i==="$"||i==="$!"||i==="$?"){if(t===0)return e;t--}else i==="/$"&&t++}e=e.previousSibling}return null}var mr=Math.random().toString(36).slice(2),ds="__reactFiber$"+mr,ho="__reactProps$"+mr,ks="__reactContainer$"+mr,Kc="__reactEvents$"+mr,Z0="__reactListeners$"+mr,Q0="__reactHandles$"+mr;function ln(e){var t=e[ds];if(t)return t;for(var i=e.parentNode;i;){if(t=i[ks]||i[ds]){if(i=t.alternate,t.child!==null||i!==null&&i.child!==null)for(e=Dd(e);e!==null;){if(i=e[ds])return i;e=Dd(e)}return t}e=i,i=e.parentNode}return null}function Ro(e){return e=e[ds]||e[ks],!e||e.tag!==5&&e.tag!==6&&e.tag!==13&&e.tag!==3?null:e}function Hn(e){if(e.tag===5||e.tag===6)return e.stateNode;throw Error(de(33))}function wl(e){return e[ho]||null}var Gc=[],$n=-1;function Qs(e){return{current:e}}function gt(e){0>$n||(e.current=Gc[$n],Gc[$n]=null,$n--)}function ft(e,t){$n++,Gc[$n]=e.current,e.current=t}var Ys={},ri=Qs(Ys),Si=Qs(!1),fn=Ys;function rr(e,t){var i=e.type.contextTypes;if(!i)return Ys;var s=e.stateNode;if(s&&s.__reactInternalMemoizedUnmaskedChildContext===t)return s.__reactInternalMemoizedMaskedChildContext;var r={},l;for(l in i)r[l]=t[l];return s&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=r),r}function bi(e){return e=e.childContextTypes,e!=null}function za(){gt(Si),gt(ri)}function Ad(e,t,i){if(ri.current!==Ys)throw Error(de(168));ft(ri,t),ft(Si,i)}function Am(e,t,i){var s=e.stateNode;if(t=t.childContextTypes,typeof s.getChildContext!="function")return i;s=s.getChildContext();for(var r in s)if(!(r in t))throw Error(de(108,Bv(e)||"Unknown",r));return bt({},i,s)}function Ua(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Ys,fn=ri.current,ft(ri,e),ft(Si,Si.current),!0}function Md(e,t,i){var s=e.stateNode;if(!s)throw Error(de(169));i?(e=Am(e,t,fn),s.__reactInternalMemoizedMergedChildContext=e,gt(Si),gt(ri),ft(ri,e)):gt(Si),ft(Si,i)}var ws=null,yl=!1,Zl=!1;function Mm(e){ws===null?ws=[e]:ws.push(e)}function ew(e){yl=!0,Mm(e)}function en(){if(!Zl&&ws!==null){Zl=!0;var e=0,t=rt;try{var i=ws;for(rt=1;e<i.length;e++){var s=i[e];do s=s(!0);while(s!==null)}ws=null,yl=!1}catch(r){throw ws!==null&&(ws=ws.slice(e+1)),sm(Gu,en),r}finally{rt=t,Zl=!1}}return null}var zn=[],Un=0,Wa=null,Va=0,Fi=[],Hi=0,pn=null,ys=1,Ss="";function rn(e,t){zn[Un++]=Va,zn[Un++]=Wa,Wa=e,Va=t}function Nm(e,t,i){Fi[Hi++]=ys,Fi[Hi++]=Ss,Fi[Hi++]=pn,pn=e;var s=ys;e=Ss;var r=32-Qi(s)-1;s&=~(1<<r),i+=1;var l=32-Qi(t)+r;if(30<l){var p=r-r%5;l=(s&(1<<p)-1).toString(32),s>>=p,r-=p,ys=1<<32-Qi(t)+r|i<<r|s,Ss=l+e}else ys=1<<l|i<<r|s,Ss=e}function ih(e){e.return!==null&&(rn(e,1),Nm(e,1,0))}function sh(e){for(;e===Wa;)Wa=zn[--Un],zn[Un]=null,Va=zn[--Un],zn[Un]=null;for(;e===pn;)pn=Fi[--Hi],Fi[Hi]=null,Ss=Fi[--Hi],Fi[Hi]=null,ys=Fi[--Hi],Fi[Hi]=null}var Mi=null,Ai=null,wt=!1,Zi=null;function Pm(e,t){var i=$i(5,null,null,0);i.elementType="DELETED",i.stateNode=t,i.return=e,t=e.deletions,t===null?(e.deletions=[i],e.flags|=16):t.push(i)}function Nd(e,t){switch(e.tag){case 5:var i=e.type;return t=t.nodeType!==1||i.toLowerCase()!==t.nodeName.toLowerCase()?null:t,t!==null?(e.stateNode=t,Mi=e,Ai=Us(t.firstChild),!0):!1;case 6:return t=e.pendingProps===""||t.nodeType!==3?null:t,t!==null?(e.stateNode=t,Mi=e,Ai=null,!0):!1;case 13:return t=t.nodeType!==8?null:t,t!==null?(i=pn!==null?{id:ys,overflow:Ss}:null,e.memoizedState={dehydrated:t,treeContext:i,retryLane:1073741824},i=$i(18,null,null,0),i.stateNode=t,i.return=e,e.child=i,Mi=e,Ai=null,!0):!1;default:return!1}}function qc(e){return(e.mode&1)!==0&&(e.flags&128)===0}function Yc(e){if(wt){var t=Ai;if(t){var i=t;if(!Nd(e,t)){if(qc(e))throw Error(de(418));t=Us(i.nextSibling);var s=Mi;t&&Nd(e,t)?Pm(s,i):(e.flags=e.flags&-4097|2,wt=!1,Mi=e)}}else{if(qc(e))throw Error(de(418));e.flags=e.flags&-4097|2,wt=!1,Mi=e}}}function Pd(e){for(e=e.return;e!==null&&e.tag!==5&&e.tag!==3&&e.tag!==13;)e=e.return;Mi=e}function ta(e){if(e!==Mi)return!1;if(!wt)return Pd(e),wt=!0,!1;var t;if((t=e.tag!==3)&&!(t=e.tag!==5)&&(t=e.type,t=t!=="head"&&t!=="body"&&!Wc(e.type,e.memoizedProps)),t&&(t=Ai)){if(qc(e))throw Im(),Error(de(418));for(;t;)Pm(e,t),t=Us(t.nextSibling)}if(Pd(e),e.tag===13){if(e=e.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(de(317));e:{for(e=e.nextSibling,t=0;e;){if(e.nodeType===8){var i=e.data;if(i==="/$"){if(t===0){Ai=Us(e.nextSibling);break e}t--}else i!=="$"&&i!=="$!"&&i!=="$?"||t++}e=e.nextSibling}Ai=null}}else Ai=Mi?Us(e.stateNode.nextSibling):null;return!0}function Im(){for(var e=Ai;e;)e=Us(e.nextSibling)}function or(){Ai=Mi=null,wt=!1}function nh(e){Zi===null?Zi=[e]:Zi.push(e)}var tw=Ts.ReactCurrentBatchConfig;function Rr(e,t,i){if(e=i.ref,e!==null&&typeof e!="function"&&typeof e!="object"){if(i._owner){if(i=i._owner,i){if(i.tag!==1)throw Error(de(309));var s=i.stateNode}if(!s)throw Error(de(147,e));var r=s,l=""+e;return t!==null&&t.ref!==null&&typeof t.ref=="function"&&t.ref._stringRef===l?t.ref:(t=function(p){var n=r.refs;p===null?delete n[l]:n[l]=p},t._stringRef=l,t)}if(typeof e!="string")throw Error(de(284));if(!i._owner)throw Error(de(290,e))}return e}function ia(e,t){throw e=Object.prototype.toString.call(t),Error(de(31,e==="[object Object]"?"object with keys {"+Object.keys(t).join(", ")+"}":e))}function Id(e){var t=e._init;return t(e._payload)}function Om(e){function t(h,c){if(e){var d=h.deletions;d===null?(h.deletions=[c],h.flags|=16):d.push(c)}}function i(h,c){if(!e)return null;for(;c!==null;)t(h,c),c=c.sibling;return null}function s(h,c){for(h=new Map;c!==null;)c.key!==null?h.set(c.key,c):h.set(c.index,c),c=c.sibling;return h}function r(h,c){return h=Gs(h,c),h.index=0,h.sibling=null,h}function l(h,c,d){return h.index=d,e?(d=h.alternate,d!==null?(d=d.index,d<c?(h.flags|=2,c):d):(h.flags|=2,c)):(h.flags|=1048576,c)}function p(h){return e&&h.alternate===null&&(h.flags|=2),h}function n(h,c,d,y){return c===null||c.tag!==6?(c=rc(d,h.mode,y),c.return=h,c):(c=r(c,d),c.return=h,c)}function o(h,c,d,y){var C=d.type;return C===On?_(h,c,d.props.children,y,d.key):c!==null&&(c.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===Ps&&Id(C)===c.type)?(y=r(c,d.props),y.ref=Rr(h,c,d),y.return=h,y):(y=Ra(d.type,d.key,d.props,null,h.mode,y),y.ref=Rr(h,c,d),y.return=h,y)}function f(h,c,d,y){return c===null||c.tag!==4||c.stateNode.containerInfo!==d.containerInfo||c.stateNode.implementation!==d.implementation?(c=oc(d,h.mode,y),c.return=h,c):(c=r(c,d.children||[]),c.return=h,c)}function _(h,c,d,y,C){return c===null||c.tag!==7?(c=dn(d,h.mode,y,C),c.return=h,c):(c=r(c,d),c.return=h,c)}function u(h,c,d){if(typeof c=="string"&&c!==""||typeof c=="number")return c=rc(""+c,h.mode,d),c.return=h,c;if(typeof c=="object"&&c!==null){switch(c.$$typeof){case Vo:return d=Ra(c.type,c.key,c.props,null,h.mode,d),d.ref=Rr(h,null,c),d.return=h,d;case In:return c=oc(c,h.mode,d),c.return=h,c;case Ps:var y=c._init;return u(h,y(c._payload),d)}if(jr(c)||xr(c))return c=dn(c,h.mode,d,null),c.return=h,c;ia(h,c)}return null}function m(h,c,d,y){var C=c!==null?c.key:null;if(typeof d=="string"&&d!==""||typeof d=="number")return C!==null?null:n(h,c,""+d,y);if(typeof d=="object"&&d!==null){switch(d.$$typeof){case Vo:return d.key===C?o(h,c,d,y):null;case In:return d.key===C?f(h,c,d,y):null;case Ps:return C=d._init,m(h,c,C(d._payload),y)}if(jr(d)||xr(d))return C!==null?null:_(h,c,d,y,null);ia(h,d)}return null}function w(h,c,d,y,C){if(typeof y=="string"&&y!==""||typeof y=="number")return h=h.get(d)||null,n(c,h,""+y,C);if(typeof y=="object"&&y!==null){switch(y.$$typeof){case Vo:return h=h.get(y.key===null?d:y.key)||null,o(c,h,y,C);case In:return h=h.get(y.key===null?d:y.key)||null,f(c,h,y,C);case Ps:var b=y._init;return w(h,c,d,b(y._payload),C)}if(jr(y)||xr(y))return h=h.get(d)||null,_(c,h,y,C,null);ia(c,y)}return null}function S(h,c,d,y){for(var C=null,b=null,E=c,x=c=0,k=null;E!==null&&x<d.length;x++){E.index>x?(k=E,E=null):k=E.sibling;var L=m(h,E,d[x],y);if(L===null){E===null&&(E=k);break}e&&E&&L.alternate===null&&t(h,E),c=l(L,c,x),b===null?C=L:b.sibling=L,b=L,E=k}if(x===d.length)return i(h,E),wt&&rn(h,x),C;if(E===null){for(;x<d.length;x++)E=u(h,d[x],y),E!==null&&(c=l(E,c,x),b===null?C=E:b.sibling=E,b=E);return wt&&rn(h,x),C}for(E=s(h,E);x<d.length;x++)k=w(E,h,x,d[x],y),k!==null&&(e&&k.alternate!==null&&E.delete(k.key===null?x:k.key),c=l(k,c,x),b===null?C=k:b.sibling=k,b=k);return e&&E.forEach(function(I){return t(h,I)}),wt&&rn(h,x),C}function v(h,c,d,y){var C=xr(d);if(typeof C!="function")throw Error(de(150));if(d=C.call(d),d==null)throw Error(de(151));for(var b=C=null,E=c,x=c=0,k=null,L=d.next();E!==null&&!L.done;x++,L=d.next()){E.index>x?(k=E,E=null):k=E.sibling;var I=m(h,E,L.value,y);if(I===null){E===null&&(E=k);break}e&&E&&I.alternate===null&&t(h,E),c=l(I,c,x),b===null?C=I:b.sibling=I,b=I,E=k}if(L.done)return i(h,E),wt&&rn(h,x),C;if(E===null){for(;!L.done;x++,L=d.next())L=u(h,L.value,y),L!==null&&(c=l(L,c,x),b===null?C=L:b.sibling=L,b=L);return wt&&rn(h,x),C}for(E=s(h,E);!L.done;x++,L=d.next())L=w(E,h,x,L.value,y),L!==null&&(e&&L.alternate!==null&&E.delete(L.key===null?x:L.key),c=l(L,c,x),b===null?C=L:b.sibling=L,b=L);return e&&E.forEach(function(A){return t(h,A)}),wt&&rn(h,x),C}function a(h,c,d,y){if(typeof d=="object"&&d!==null&&d.type===On&&d.key===null&&(d=d.props.children),typeof d=="object"&&d!==null){switch(d.$$typeof){case Vo:e:{for(var C=d.key,b=c;b!==null;){if(b.key===C){if(C=d.type,C===On){if(b.tag===7){i(h,b.sibling),c=r(b,d.props.children),c.return=h,h=c;break e}}else if(b.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===Ps&&Id(C)===b.type){i(h,b.sibling),c=r(b,d.props),c.ref=Rr(h,b,d),c.return=h,h=c;break e}i(h,b);break}else t(h,b);b=b.sibling}d.type===On?(c=dn(d.props.children,h.mode,y,d.key),c.return=h,h=c):(y=Ra(d.type,d.key,d.props,null,h.mode,y),y.ref=Rr(h,c,d),y.return=h,h=y)}return p(h);case In:e:{for(b=d.key;c!==null;){if(c.key===b)if(c.tag===4&&c.stateNode.containerInfo===d.containerInfo&&c.stateNode.implementation===d.implementation){i(h,c.sibling),c=r(c,d.children||[]),c.return=h,h=c;break e}else{i(h,c);break}else t(h,c);c=c.sibling}c=oc(d,h.mode,y),c.return=h,h=c}return p(h);case Ps:return b=d._init,a(h,c,b(d._payload),y)}if(jr(d))return S(h,c,d,y);if(xr(d))return v(h,c,d,y);ia(h,d)}return typeof d=="string"&&d!==""||typeof d=="number"?(d=""+d,c!==null&&c.tag===6?(i(h,c.sibling),c=r(c,d),c.return=h,h=c):(i(h,c),c=rc(d,h.mode,y),c.return=h,h=c),p(h)):i(h,c)}return a}var ar=Om(!0),Bm=Om(!1),Ka=Qs(null),Ga=null,Wn=null,rh=null;function oh(){rh=Wn=Ga=null}function ah(e){var t=Ka.current;gt(Ka),e._currentValue=t}function Xc(e,t,i){for(;e!==null;){var s=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,s!==null&&(s.childLanes|=t)):s!==null&&(s.childLanes&t)!==t&&(s.childLanes|=t),e===i)break;e=e.return}}function tr(e,t){Ga=e,rh=Wn=null,e=e.dependencies,e!==null&&e.firstContext!==null&&(e.lanes&t&&(yi=!0),e.firstContext=null)}function Ui(e){var t=e._currentValue;if(rh!==e)if(e={context:e,memoizedValue:t,next:null},Wn===null){if(Ga===null)throw Error(de(308));Wn=e,Ga.dependencies={lanes:0,firstContext:e}}else Wn=Wn.next=e;return t}var cn=null;function lh(e){cn===null?cn=[e]:cn.push(e)}function jm(e,t,i,s){var r=t.interleaved;return r===null?(i.next=i,lh(t)):(i.next=r.next,r.next=i),t.interleaved=i,Es(e,s)}function Es(e,t){e.lanes|=t;var i=e.alternate;for(i!==null&&(i.lanes|=t),i=e,e=e.return;e!==null;)e.childLanes|=t,i=e.alternate,i!==null&&(i.childLanes|=t),i=e,e=e.return;return i.tag===3?i.stateNode:null}var Is=!1;function ch(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Fm(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function bs(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Ws(e,t,i){var s=e.updateQueue;if(s===null)return null;if(s=s.shared,Ze&2){var r=s.pending;return r===null?t.next=t:(t.next=r.next,r.next=t),s.pending=t,Es(e,i)}return r=s.interleaved,r===null?(t.next=t,lh(s)):(t.next=r.next,r.next=t),s.interleaved=t,Es(e,i)}function ba(e,t,i){if(t=t.updateQueue,t!==null&&(t=t.shared,(i&4194240)!==0)){var s=t.lanes;s&=e.pendingLanes,i|=s,t.lanes=i,qu(e,i)}}function Od(e,t){var i=e.updateQueue,s=e.alternate;if(s!==null&&(s=s.updateQueue,i===s)){var r=null,l=null;if(i=i.firstBaseUpdate,i!==null){do{var p={eventTime:i.eventTime,lane:i.lane,tag:i.tag,payload:i.payload,callback:i.callback,next:null};l===null?r=l=p:l=l.next=p,i=i.next}while(i!==null);l===null?r=l=t:l=l.next=t}else r=l=t;i={baseState:s.baseState,firstBaseUpdate:r,lastBaseUpdate:l,shared:s.shared,effects:s.effects},e.updateQueue=i;return}e=i.lastBaseUpdate,e===null?i.firstBaseUpdate=t:e.next=t,i.lastBaseUpdate=t}function qa(e,t,i,s){var r=e.updateQueue;Is=!1;var l=r.firstBaseUpdate,p=r.lastBaseUpdate,n=r.shared.pending;if(n!==null){r.shared.pending=null;var o=n,f=o.next;o.next=null,p===null?l=f:p.next=f,p=o;var _=e.alternate;_!==null&&(_=_.updateQueue,n=_.lastBaseUpdate,n!==p&&(n===null?_.firstBaseUpdate=f:n.next=f,_.lastBaseUpdate=o))}if(l!==null){var u=r.baseState;p=0,_=f=o=null,n=l;do{var m=n.lane,w=n.eventTime;if((s&m)===m){_!==null&&(_=_.next={eventTime:w,lane:0,tag:n.tag,payload:n.payload,callback:n.callback,next:null});e:{var S=e,v=n;switch(m=t,w=i,v.tag){case 1:if(S=v.payload,typeof S=="function"){u=S.call(w,u,m);break e}u=S;break e;case 3:S.flags=S.flags&-65537|128;case 0:if(S=v.payload,m=typeof S=="function"?S.call(w,u,m):S,m==null)break e;u=bt({},u,m);break e;case 2:Is=!0}}n.callback!==null&&n.lane!==0&&(e.flags|=64,m=r.effects,m===null?r.effects=[n]:m.push(n))}else w={eventTime:w,lane:m,tag:n.tag,payload:n.payload,callback:n.callback,next:null},_===null?(f=_=w,o=u):_=_.next=w,p|=m;if(n=n.next,n===null){if(n=r.shared.pending,n===null)break;m=n,n=m.next,m.next=null,r.lastBaseUpdate=m,r.shared.pending=null}}while(!0);if(_===null&&(o=u),r.baseState=o,r.firstBaseUpdate=f,r.lastBaseUpdate=_,t=r.shared.interleaved,t!==null){r=t;do p|=r.lane,r=r.next;while(r!==t)}else l===null&&(r.shared.lanes=0);gn|=p,e.lanes=p,e.memoizedState=u}}function Bd(e,t,i){if(e=t.effects,t.effects=null,e!==null)for(t=0;t<e.length;t++){var s=e[t],r=s.callback;if(r!==null){if(s.callback=null,s=i,typeof r!="function")throw Error(de(191,r));r.call(s)}}}var To={},gs=Qs(To),fo=Qs(To),po=Qs(To);function un(e){if(e===To)throw Error(de(174));return e}function uh(e,t){switch(ft(po,t),ft(fo,e),ft(gs,To),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:Dc(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=Dc(t,e)}gt(gs),ft(gs,t)}function lr(){gt(gs),gt(fo),gt(po)}function Hm(e){un(po.current);var t=un(gs.current),i=Dc(t,e.type);t!==i&&(ft(fo,e),ft(gs,i))}function hh(e){fo.current===e&&(gt(gs),gt(fo))}var yt=Qs(0);function Ya(e){for(var t=e;t!==null;){if(t.tag===13){var i=t.memoizedState;if(i!==null&&(i=i.dehydrated,i===null||i.data==="$?"||i.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Ql=[];function dh(){for(var e=0;e<Ql.length;e++)Ql[e]._workInProgressVersionPrimary=null;Ql.length=0}var xa=Ts.ReactCurrentDispatcher,ec=Ts.ReactCurrentBatchConfig,mn=0,St=null,Ft=null,Ut=null,Xa=!1,Gr=!1,mo=0,iw=0;function ti(){throw Error(de(321))}function fh(e,t){if(t===null)return!1;for(var i=0;i<t.length&&i<e.length;i++)if(!ts(e[i],t[i]))return!1;return!0}function ph(e,t,i,s,r,l){if(mn=l,St=t,t.memoizedState=null,t.updateQueue=null,t.lanes=0,xa.current=e===null||e.memoizedState===null?ow:aw,e=i(s,r),Gr){l=0;do{if(Gr=!1,mo=0,25<=l)throw Error(de(301));l+=1,Ut=Ft=null,t.updateQueue=null,xa.current=lw,e=i(s,r)}while(Gr)}if(xa.current=Ja,t=Ft!==null&&Ft.next!==null,mn=0,Ut=Ft=St=null,Xa=!1,t)throw Error(de(300));return e}function mh(){var e=mo!==0;return mo=0,e}function hs(){var e={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ut===null?St.memoizedState=Ut=e:Ut=Ut.next=e,Ut}function Wi(){if(Ft===null){var e=St.alternate;e=e!==null?e.memoizedState:null}else e=Ft.next;var t=Ut===null?St.memoizedState:Ut.next;if(t!==null)Ut=t,Ft=e;else{if(e===null)throw Error(de(310));Ft=e,e={memoizedState:Ft.memoizedState,baseState:Ft.baseState,baseQueue:Ft.baseQueue,queue:Ft.queue,next:null},Ut===null?St.memoizedState=Ut=e:Ut=Ut.next=e}return Ut}function go(e,t){return typeof t=="function"?t(e):t}function tc(e){var t=Wi(),i=t.queue;if(i===null)throw Error(de(311));i.lastRenderedReducer=e;var s=Ft,r=s.baseQueue,l=i.pending;if(l!==null){if(r!==null){var p=r.next;r.next=l.next,l.next=p}s.baseQueue=r=l,i.pending=null}if(r!==null){l=r.next,s=s.baseState;var n=p=null,o=null,f=l;do{var _=f.lane;if((mn&_)===_)o!==null&&(o=o.next={lane:0,action:f.action,hasEagerState:f.hasEagerState,eagerState:f.eagerState,next:null}),s=f.hasEagerState?f.eagerState:e(s,f.action);else{var u={lane:_,action:f.action,hasEagerState:f.hasEagerState,eagerState:f.eagerState,next:null};o===null?(n=o=u,p=s):o=o.next=u,St.lanes|=_,gn|=_}f=f.next}while(f!==null&&f!==l);o===null?p=s:o.next=n,ts(s,t.memoizedState)||(yi=!0),t.memoizedState=s,t.baseState=p,t.baseQueue=o,i.lastRenderedState=s}if(e=i.interleaved,e!==null){r=e;do l=r.lane,St.lanes|=l,gn|=l,r=r.next;while(r!==e)}else r===null&&(i.lanes=0);return[t.memoizedState,i.dispatch]}function ic(e){var t=Wi(),i=t.queue;if(i===null)throw Error(de(311));i.lastRenderedReducer=e;var s=i.dispatch,r=i.pending,l=t.memoizedState;if(r!==null){i.pending=null;var p=r=r.next;do l=e(l,p.action),p=p.next;while(p!==r);ts(l,t.memoizedState)||(yi=!0),t.memoizedState=l,t.baseQueue===null&&(t.baseState=l),i.lastRenderedState=l}return[l,s]}function $m(){}function zm(e,t){var i=St,s=Wi(),r=t(),l=!ts(s.memoizedState,r);if(l&&(s.memoizedState=r,yi=!0),s=s.queue,gh(Vm.bind(null,i,s,e),[e]),s.getSnapshot!==t||l||Ut!==null&&Ut.memoizedState.tag&1){if(i.flags|=2048,_o(9,Wm.bind(null,i,s,r,t),void 0,null),Wt===null)throw Error(de(349));mn&30||Um(i,t,r)}return r}function Um(e,t,i){e.flags|=16384,e={getSnapshot:t,value:i},t=St.updateQueue,t===null?(t={lastEffect:null,stores:null},St.updateQueue=t,t.stores=[e]):(i=t.stores,i===null?t.stores=[e]:i.push(e))}function Wm(e,t,i,s){t.value=i,t.getSnapshot=s,Km(t)&&Gm(e)}function Vm(e,t,i){return i(function(){Km(t)&&Gm(e)})}function Km(e){var t=e.getSnapshot;e=e.value;try{var i=t();return!ts(e,i)}catch{return!0}}function Gm(e){var t=Es(e,1);t!==null&&es(t,e,1,-1)}function jd(e){var t=hs();return typeof e=="function"&&(e=e()),t.memoizedState=t.baseState=e,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:go,lastRenderedState:e},t.queue=e,e=e.dispatch=rw.bind(null,St,e),[t.memoizedState,e]}function _o(e,t,i,s){return e={tag:e,create:t,destroy:i,deps:s,next:null},t=St.updateQueue,t===null?(t={lastEffect:null,stores:null},St.updateQueue=t,t.lastEffect=e.next=e):(i=t.lastEffect,i===null?t.lastEffect=e.next=e:(s=i.next,i.next=e,e.next=s,t.lastEffect=e)),e}function qm(){return Wi().memoizedState}function Ca(e,t,i,s){var r=hs();St.flags|=e,r.memoizedState=_o(1|t,i,void 0,s===void 0?null:s)}function Sl(e,t,i,s){var r=Wi();s=s===void 0?null:s;var l=void 0;if(Ft!==null){var p=Ft.memoizedState;if(l=p.destroy,s!==null&&fh(s,p.deps)){r.memoizedState=_o(t,i,l,s);return}}St.flags|=e,r.memoizedState=_o(1|t,i,l,s)}function Fd(e,t){return Ca(8390656,8,e,t)}function gh(e,t){return Sl(2048,8,e,t)}function Ym(e,t){return Sl(4,2,e,t)}function Xm(e,t){return Sl(4,4,e,t)}function Jm(e,t){if(typeof t=="function")return e=e(),t(e),function(){t(null)};if(t!=null)return e=e(),t.current=e,function(){t.current=null}}function Zm(e,t,i){return i=i!=null?i.concat([e]):null,Sl(4,4,Jm.bind(null,t,e),i)}function _h(){}function Qm(e,t){var i=Wi();t=t===void 0?null:t;var s=i.memoizedState;return s!==null&&t!==null&&fh(t,s[1])?s[0]:(i.memoizedState=[e,t],e)}function eg(e,t){var i=Wi();t=t===void 0?null:t;var s=i.memoizedState;return s!==null&&t!==null&&fh(t,s[1])?s[0]:(e=e(),i.memoizedState=[e,t],e)}function tg(e,t,i){return mn&21?(ts(i,t)||(i=om(),St.lanes|=i,gn|=i,e.baseState=!0),t):(e.baseState&&(e.baseState=!1,yi=!0),e.memoizedState=i)}function sw(e,t){var i=rt;rt=i!==0&&4>i?i:4,e(!0);var s=ec.transition;ec.transition={};try{e(!1),t()}finally{rt=i,ec.transition=s}}function ig(){return Wi().memoizedState}function nw(e,t,i){var s=Ks(e);if(i={lane:s,action:i,hasEagerState:!1,eagerState:null,next:null},sg(e))ng(t,i);else if(i=jm(e,t,i,s),i!==null){var r=fi();es(i,e,s,r),rg(i,t,s)}}function rw(e,t,i){var s=Ks(e),r={lane:s,action:i,hasEagerState:!1,eagerState:null,next:null};if(sg(e))ng(t,r);else{var l=e.alternate;if(e.lanes===0&&(l===null||l.lanes===0)&&(l=t.lastRenderedReducer,l!==null))try{var p=t.lastRenderedState,n=l(p,i);if(r.hasEagerState=!0,r.eagerState=n,ts(n,p)){var o=t.interleaved;o===null?(r.next=r,lh(t)):(r.next=o.next,o.next=r),t.interleaved=r;return}}catch{}finally{}i=jm(e,t,r,s),i!==null&&(r=fi(),es(i,e,s,r),rg(i,t,s))}}function sg(e){var t=e.alternate;return e===St||t!==null&&t===St}function ng(e,t){Gr=Xa=!0;var i=e.pending;i===null?t.next=t:(t.next=i.next,i.next=t),e.pending=t}function rg(e,t,i){if(i&4194240){var s=t.lanes;s&=e.pendingLanes,i|=s,t.lanes=i,qu(e,i)}}var Ja={readContext:Ui,useCallback:ti,useContext:ti,useEffect:ti,useImperativeHandle:ti,useInsertionEffect:ti,useLayoutEffect:ti,useMemo:ti,useReducer:ti,useRef:ti,useState:ti,useDebugValue:ti,useDeferredValue:ti,useTransition:ti,useMutableSource:ti,useSyncExternalStore:ti,useId:ti,unstable_isNewReconciler:!1},ow={readContext:Ui,useCallback:function(e,t){return hs().memoizedState=[e,t===void 0?null:t],e},useContext:Ui,useEffect:Fd,useImperativeHandle:function(e,t,i){return i=i!=null?i.concat([e]):null,Ca(4194308,4,Jm.bind(null,t,e),i)},useLayoutEffect:function(e,t){return Ca(4194308,4,e,t)},useInsertionEffect:function(e,t){return Ca(4,2,e,t)},useMemo:function(e,t){var i=hs();return t=t===void 0?null:t,e=e(),i.memoizedState=[e,t],e},useReducer:function(e,t,i){var s=hs();return t=i!==void 0?i(t):t,s.memoizedState=s.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},s.queue=e,e=e.dispatch=nw.bind(null,St,e),[s.memoizedState,e]},useRef:function(e){var t=hs();return e={current:e},t.memoizedState=e},useState:jd,useDebugValue:_h,useDeferredValue:function(e){return hs().memoizedState=e},useTransition:function(){var e=jd(!1),t=e[0];return e=sw.bind(null,e[1]),hs().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,i){var s=St,r=hs();if(wt){if(i===void 0)throw Error(de(407));i=i()}else{if(i=t(),Wt===null)throw Error(de(349));mn&30||Um(s,t,i)}r.memoizedState=i;var l={value:i,getSnapshot:t};return r.queue=l,Fd(Vm.bind(null,s,l,e),[e]),s.flags|=2048,_o(9,Wm.bind(null,s,l,i,t),void 0,null),i},useId:function(){var e=hs(),t=Wt.identifierPrefix;if(wt){var i=Ss,s=ys;i=(s&~(1<<32-Qi(s)-1)).toString(32)+i,t=":"+t+"R"+i,i=mo++,0<i&&(t+="H"+i.toString(32)),t+=":"}else i=iw++,t=":"+t+"r"+i.toString(32)+":";return e.memoizedState=t},unstable_isNewReconciler:!1},aw={readContext:Ui,useCallback:Qm,useContext:Ui,useEffect:gh,useImperativeHandle:Zm,useInsertionEffect:Ym,useLayoutEffect:Xm,useMemo:eg,useReducer:tc,useRef:qm,useState:function(){return tc(go)},useDebugValue:_h,useDeferredValue:function(e){var t=Wi();return tg(t,Ft.memoizedState,e)},useTransition:function(){var e=tc(go)[0],t=Wi().memoizedState;return[e,t]},useMutableSource:$m,useSyncExternalStore:zm,useId:ig,unstable_isNewReconciler:!1},lw={readContext:Ui,useCallback:Qm,useContext:Ui,useEffect:gh,useImperativeHandle:Zm,useInsertionEffect:Ym,useLayoutEffect:Xm,useMemo:eg,useReducer:ic,useRef:qm,useState:function(){return ic(go)},useDebugValue:_h,useDeferredValue:function(e){var t=Wi();return Ft===null?t.memoizedState=e:tg(t,Ft.memoizedState,e)},useTransition:function(){var e=ic(go)[0],t=Wi().memoizedState;return[e,t]},useMutableSource:$m,useSyncExternalStore:zm,useId:ig,unstable_isNewReconciler:!1};function Xi(e,t){if(e&&e.defaultProps){t=bt({},t),e=e.defaultProps;for(var i in e)t[i]===void 0&&(t[i]=e[i]);return t}return t}function Jc(e,t,i,s){t=e.memoizedState,i=i(s,t),i=i==null?t:bt({},t,i),e.memoizedState=i,e.lanes===0&&(e.updateQueue.baseState=i)}var bl={isMounted:function(e){return(e=e._reactInternals)?Cn(e)===e:!1},enqueueSetState:function(e,t,i){e=e._reactInternals;var s=fi(),r=Ks(e),l=bs(s,r);l.payload=t,i!=null&&(l.callback=i),t=Ws(e,l,r),t!==null&&(es(t,e,r,s),ba(t,e,r))},enqueueReplaceState:function(e,t,i){e=e._reactInternals;var s=fi(),r=Ks(e),l=bs(s,r);l.tag=1,l.payload=t,i!=null&&(l.callback=i),t=Ws(e,l,r),t!==null&&(es(t,e,r,s),ba(t,e,r))},enqueueForceUpdate:function(e,t){e=e._reactInternals;var i=fi(),s=Ks(e),r=bs(i,s);r.tag=2,t!=null&&(r.callback=t),t=Ws(e,r,s),t!==null&&(es(t,e,s,i),ba(t,e,s))}};function Hd(e,t,i,s,r,l,p){return e=e.stateNode,typeof e.shouldComponentUpdate=="function"?e.shouldComponentUpdate(s,l,p):t.prototype&&t.prototype.isPureReactComponent?!lo(i,s)||!lo(r,l):!0}function og(e,t,i){var s=!1,r=Ys,l=t.contextType;return typeof l=="object"&&l!==null?l=Ui(l):(r=bi(t)?fn:ri.current,s=t.contextTypes,l=(s=s!=null)?rr(e,r):Ys),t=new t(i,l),e.memoizedState=t.state!==null&&t.state!==void 0?t.state:null,t.updater=bl,e.stateNode=t,t._reactInternals=e,s&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=r,e.__reactInternalMemoizedMaskedChildContext=l),t}function $d(e,t,i,s){e=t.state,typeof t.componentWillReceiveProps=="function"&&t.componentWillReceiveProps(i,s),typeof t.UNSAFE_componentWillReceiveProps=="function"&&t.UNSAFE_componentWillReceiveProps(i,s),t.state!==e&&bl.enqueueReplaceState(t,t.state,null)}function Zc(e,t,i,s){var r=e.stateNode;r.props=i,r.state=e.memoizedState,r.refs={},ch(e);var l=t.contextType;typeof l=="object"&&l!==null?r.context=Ui(l):(l=bi(t)?fn:ri.current,r.context=rr(e,l)),r.state=e.memoizedState,l=t.getDerivedStateFromProps,typeof l=="function"&&(Jc(e,t,l,i),r.state=e.memoizedState),typeof t.getDerivedStateFromProps=="function"||typeof r.getSnapshotBeforeUpdate=="function"||typeof r.UNSAFE_componentWillMount!="function"&&typeof r.componentWillMount!="function"||(t=r.state,typeof r.componentWillMount=="function"&&r.componentWillMount(),typeof r.UNSAFE_componentWillMount=="function"&&r.UNSAFE_componentWillMount(),t!==r.state&&bl.enqueueReplaceState(r,r.state,null),qa(e,i,r,s),r.state=e.memoizedState),typeof r.componentDidMount=="function"&&(e.flags|=4194308)}function cr(e,t){try{var i="",s=t;do i+=Ov(s),s=s.return;while(s);var r=i}catch(l){r=`
|
|
39
|
+
Error generating stack: `+l.message+`
|
|
40
|
+
`+l.stack}return{value:e,source:t,stack:r,digest:null}}function sc(e,t,i){return{value:e,source:null,stack:i??null,digest:t??null}}function Qc(e,t){try{console.error(t.value)}catch(i){setTimeout(function(){throw i})}}var cw=typeof WeakMap=="function"?WeakMap:Map;function ag(e,t,i){i=bs(-1,i),i.tag=3,i.payload={element:null};var s=t.value;return i.callback=function(){Qa||(Qa=!0,cu=s),Qc(e,t)},i}function lg(e,t,i){i=bs(-1,i),i.tag=3;var s=e.type.getDerivedStateFromError;if(typeof s=="function"){var r=t.value;i.payload=function(){return s(r)},i.callback=function(){Qc(e,t)}}var l=e.stateNode;return l!==null&&typeof l.componentDidCatch=="function"&&(i.callback=function(){Qc(e,t),typeof s!="function"&&(Vs===null?Vs=new Set([this]):Vs.add(this));var p=t.stack;this.componentDidCatch(t.value,{componentStack:p!==null?p:""})}),i}function zd(e,t,i){var s=e.pingCache;if(s===null){s=e.pingCache=new cw;var r=new Set;s.set(t,r)}else r=s.get(t),r===void 0&&(r=new Set,s.set(t,r));r.has(i)||(r.add(i),e=xw.bind(null,e,t,i),t.then(e,e))}function Ud(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function Wd(e,t,i,s,r){return e.mode&1?(e.flags|=65536,e.lanes=r,e):(e===t?e.flags|=65536:(e.flags|=128,i.flags|=131072,i.flags&=-52805,i.tag===1&&(i.alternate===null?i.tag=17:(t=bs(-1,1),t.tag=2,Ws(i,t,1))),i.lanes|=1),e)}var uw=Ts.ReactCurrentOwner,yi=!1;function di(e,t,i,s){t.child=e===null?Bm(t,null,i,s):ar(t,e.child,i,s)}function Vd(e,t,i,s,r){i=i.render;var l=t.ref;return tr(t,r),s=ph(e,t,i,s,l,r),i=mh(),e!==null&&!yi?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~r,Ls(e,t,r)):(wt&&i&&ih(t),t.flags|=1,di(e,t,s,r),t.child)}function Kd(e,t,i,s,r){if(e===null){var l=i.type;return typeof l=="function"&&!kh(l)&&l.defaultProps===void 0&&i.compare===null&&i.defaultProps===void 0?(t.tag=15,t.type=l,cg(e,t,l,s,r)):(e=Ra(i.type,null,s,t,t.mode,r),e.ref=t.ref,e.return=t,t.child=e)}if(l=e.child,!(e.lanes&r)){var p=l.memoizedProps;if(i=i.compare,i=i!==null?i:lo,i(p,s)&&e.ref===t.ref)return Ls(e,t,r)}return t.flags|=1,e=Gs(l,s),e.ref=t.ref,e.return=t,t.child=e}function cg(e,t,i,s,r){if(e!==null){var l=e.memoizedProps;if(lo(l,s)&&e.ref===t.ref)if(yi=!1,t.pendingProps=s=l,(e.lanes&r)!==0)e.flags&131072&&(yi=!0);else return t.lanes=e.lanes,Ls(e,t,r)}return eu(e,t,i,s,r)}function ug(e,t,i){var s=t.pendingProps,r=s.children,l=e!==null?e.memoizedState:null;if(s.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},ft(Kn,Ti),Ti|=i;else{if(!(i&1073741824))return e=l!==null?l.baseLanes|i:i,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,ft(Kn,Ti),Ti|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},s=l!==null?l.baseLanes:i,ft(Kn,Ti),Ti|=s}else l!==null?(s=l.baseLanes|i,t.memoizedState=null):s=i,ft(Kn,Ti),Ti|=s;return di(e,t,r,i),t.child}function hg(e,t){var i=t.ref;(e===null&&i!==null||e!==null&&e.ref!==i)&&(t.flags|=512,t.flags|=2097152)}function eu(e,t,i,s,r){var l=bi(i)?fn:ri.current;return l=rr(t,l),tr(t,r),i=ph(e,t,i,s,l,r),s=mh(),e!==null&&!yi?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~r,Ls(e,t,r)):(wt&&s&&ih(t),t.flags|=1,di(e,t,i,r),t.child)}function Gd(e,t,i,s,r){if(bi(i)){var l=!0;Ua(t)}else l=!1;if(tr(t,r),t.stateNode===null)ka(e,t),og(t,i,s),Zc(t,i,s,r),s=!0;else if(e===null){var p=t.stateNode,n=t.memoizedProps;p.props=n;var o=p.context,f=i.contextType;typeof f=="object"&&f!==null?f=Ui(f):(f=bi(i)?fn:ri.current,f=rr(t,f));var _=i.getDerivedStateFromProps,u=typeof _=="function"||typeof p.getSnapshotBeforeUpdate=="function";u||typeof p.UNSAFE_componentWillReceiveProps!="function"&&typeof p.componentWillReceiveProps!="function"||(n!==s||o!==f)&&$d(t,p,s,f),Is=!1;var m=t.memoizedState;p.state=m,qa(t,s,p,r),o=t.memoizedState,n!==s||m!==o||Si.current||Is?(typeof _=="function"&&(Jc(t,i,_,s),o=t.memoizedState),(n=Is||Hd(t,i,n,s,m,o,f))?(u||typeof p.UNSAFE_componentWillMount!="function"&&typeof p.componentWillMount!="function"||(typeof p.componentWillMount=="function"&&p.componentWillMount(),typeof p.UNSAFE_componentWillMount=="function"&&p.UNSAFE_componentWillMount()),typeof p.componentDidMount=="function"&&(t.flags|=4194308)):(typeof p.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=s,t.memoizedState=o),p.props=s,p.state=o,p.context=f,s=n):(typeof p.componentDidMount=="function"&&(t.flags|=4194308),s=!1)}else{p=t.stateNode,Fm(e,t),n=t.memoizedProps,f=t.type===t.elementType?n:Xi(t.type,n),p.props=f,u=t.pendingProps,m=p.context,o=i.contextType,typeof o=="object"&&o!==null?o=Ui(o):(o=bi(i)?fn:ri.current,o=rr(t,o));var w=i.getDerivedStateFromProps;(_=typeof w=="function"||typeof p.getSnapshotBeforeUpdate=="function")||typeof p.UNSAFE_componentWillReceiveProps!="function"&&typeof p.componentWillReceiveProps!="function"||(n!==u||m!==o)&&$d(t,p,s,o),Is=!1,m=t.memoizedState,p.state=m,qa(t,s,p,r);var S=t.memoizedState;n!==u||m!==S||Si.current||Is?(typeof w=="function"&&(Jc(t,i,w,s),S=t.memoizedState),(f=Is||Hd(t,i,f,s,m,S,o)||!1)?(_||typeof p.UNSAFE_componentWillUpdate!="function"&&typeof p.componentWillUpdate!="function"||(typeof p.componentWillUpdate=="function"&&p.componentWillUpdate(s,S,o),typeof p.UNSAFE_componentWillUpdate=="function"&&p.UNSAFE_componentWillUpdate(s,S,o)),typeof p.componentDidUpdate=="function"&&(t.flags|=4),typeof p.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof p.componentDidUpdate!="function"||n===e.memoizedProps&&m===e.memoizedState||(t.flags|=4),typeof p.getSnapshotBeforeUpdate!="function"||n===e.memoizedProps&&m===e.memoizedState||(t.flags|=1024),t.memoizedProps=s,t.memoizedState=S),p.props=s,p.state=S,p.context=o,s=f):(typeof p.componentDidUpdate!="function"||n===e.memoizedProps&&m===e.memoizedState||(t.flags|=4),typeof p.getSnapshotBeforeUpdate!="function"||n===e.memoizedProps&&m===e.memoizedState||(t.flags|=1024),s=!1)}return tu(e,t,i,s,l,r)}function tu(e,t,i,s,r,l){hg(e,t);var p=(t.flags&128)!==0;if(!s&&!p)return r&&Md(t,i,!1),Ls(e,t,l);s=t.stateNode,uw.current=t;var n=p&&typeof i.getDerivedStateFromError!="function"?null:s.render();return t.flags|=1,e!==null&&p?(t.child=ar(t,e.child,null,l),t.child=ar(t,null,n,l)):di(e,t,n,l),t.memoizedState=s.state,r&&Md(t,i,!0),t.child}function dg(e){var t=e.stateNode;t.pendingContext?Ad(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Ad(e,t.context,!1),uh(e,t.containerInfo)}function qd(e,t,i,s,r){return or(),nh(r),t.flags|=256,di(e,t,i,s),t.child}var iu={dehydrated:null,treeContext:null,retryLane:0};function su(e){return{baseLanes:e,cachePool:null,transitions:null}}function fg(e,t,i){var s=t.pendingProps,r=yt.current,l=!1,p=(t.flags&128)!==0,n;if((n=p)||(n=e!==null&&e.memoizedState===null?!1:(r&2)!==0),n?(l=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(r|=1),ft(yt,r&1),e===null)return Yc(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?(t.mode&1?e.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(p=s.children,e=s.fallback,l?(s=t.mode,l=t.child,p={mode:"hidden",children:p},!(s&1)&&l!==null?(l.childLanes=0,l.pendingProps=p):l=kl(p,s,0,null),e=dn(e,s,i,null),l.return=t,e.return=t,l.sibling=e,t.child=l,t.child.memoizedState=su(i),t.memoizedState=iu,e):vh(t,p));if(r=e.memoizedState,r!==null&&(n=r.dehydrated,n!==null))return hw(e,t,p,s,n,r,i);if(l){l=s.fallback,p=t.mode,r=e.child,n=r.sibling;var o={mode:"hidden",children:s.children};return!(p&1)&&t.child!==r?(s=t.child,s.childLanes=0,s.pendingProps=o,t.deletions=null):(s=Gs(r,o),s.subtreeFlags=r.subtreeFlags&14680064),n!==null?l=Gs(n,l):(l=dn(l,p,i,null),l.flags|=2),l.return=t,s.return=t,s.sibling=l,t.child=s,s=l,l=t.child,p=e.child.memoizedState,p=p===null?su(i):{baseLanes:p.baseLanes|i,cachePool:null,transitions:p.transitions},l.memoizedState=p,l.childLanes=e.childLanes&~i,t.memoizedState=iu,s}return l=e.child,e=l.sibling,s=Gs(l,{mode:"visible",children:s.children}),!(t.mode&1)&&(s.lanes=i),s.return=t,s.sibling=null,e!==null&&(i=t.deletions,i===null?(t.deletions=[e],t.flags|=16):i.push(e)),t.child=s,t.memoizedState=null,s}function vh(e,t){return t=kl({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function sa(e,t,i,s){return s!==null&&nh(s),ar(t,e.child,null,i),e=vh(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function hw(e,t,i,s,r,l,p){if(i)return t.flags&256?(t.flags&=-257,s=sc(Error(de(422))),sa(e,t,p,s)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(l=s.fallback,r=t.mode,s=kl({mode:"visible",children:s.children},r,0,null),l=dn(l,r,p,null),l.flags|=2,s.return=t,l.return=t,s.sibling=l,t.child=s,t.mode&1&&ar(t,e.child,null,p),t.child.memoizedState=su(p),t.memoizedState=iu,l);if(!(t.mode&1))return sa(e,t,p,null);if(r.data==="$!"){if(s=r.nextSibling&&r.nextSibling.dataset,s)var n=s.dgst;return s=n,l=Error(de(419)),s=sc(l,s,void 0),sa(e,t,p,s)}if(n=(p&e.childLanes)!==0,yi||n){if(s=Wt,s!==null){switch(p&-p){case 4:r=2;break;case 16:r=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:r=32;break;case 536870912:r=268435456;break;default:r=0}r=r&(s.suspendedLanes|p)?0:r,r!==0&&r!==l.retryLane&&(l.retryLane=r,Es(e,r),es(s,e,r,-1))}return Ch(),s=sc(Error(de(421))),sa(e,t,p,s)}return r.data==="$?"?(t.flags|=128,t.child=e.child,t=Cw.bind(null,e),r._reactRetry=t,null):(e=l.treeContext,Ai=Us(r.nextSibling),Mi=t,wt=!0,Zi=null,e!==null&&(Fi[Hi++]=ys,Fi[Hi++]=Ss,Fi[Hi++]=pn,ys=e.id,Ss=e.overflow,pn=t),t=vh(t,s.children),t.flags|=4096,t)}function Yd(e,t,i){e.lanes|=t;var s=e.alternate;s!==null&&(s.lanes|=t),Xc(e.return,t,i)}function nc(e,t,i,s,r){var l=e.memoizedState;l===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:s,tail:i,tailMode:r}:(l.isBackwards=t,l.rendering=null,l.renderingStartTime=0,l.last=s,l.tail=i,l.tailMode=r)}function pg(e,t,i){var s=t.pendingProps,r=s.revealOrder,l=s.tail;if(di(e,t,s.children,i),s=yt.current,s&2)s=s&1|2,t.flags|=128;else{if(e!==null&&e.flags&128)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&Yd(e,i,t);else if(e.tag===19)Yd(e,i,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}s&=1}if(ft(yt,s),!(t.mode&1))t.memoizedState=null;else switch(r){case"forwards":for(i=t.child,r=null;i!==null;)e=i.alternate,e!==null&&Ya(e)===null&&(r=i),i=i.sibling;i=r,i===null?(r=t.child,t.child=null):(r=i.sibling,i.sibling=null),nc(t,!1,r,i,l);break;case"backwards":for(i=null,r=t.child,t.child=null;r!==null;){if(e=r.alternate,e!==null&&Ya(e)===null){t.child=r;break}e=r.sibling,r.sibling=i,i=r,r=e}nc(t,!0,i,null,l);break;case"together":nc(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function ka(e,t){!(t.mode&1)&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function Ls(e,t,i){if(e!==null&&(t.dependencies=e.dependencies),gn|=t.lanes,!(i&t.childLanes))return null;if(e!==null&&t.child!==e.child)throw Error(de(153));if(t.child!==null){for(e=t.child,i=Gs(e,e.pendingProps),t.child=i,i.return=t;e.sibling!==null;)e=e.sibling,i=i.sibling=Gs(e,e.pendingProps),i.return=t;i.sibling=null}return t.child}function dw(e,t,i){switch(t.tag){case 3:dg(t),or();break;case 5:Hm(t);break;case 1:bi(t.type)&&Ua(t);break;case 4:uh(t,t.stateNode.containerInfo);break;case 10:var s=t.type._context,r=t.memoizedProps.value;ft(Ka,s._currentValue),s._currentValue=r;break;case 13:if(s=t.memoizedState,s!==null)return s.dehydrated!==null?(ft(yt,yt.current&1),t.flags|=128,null):i&t.child.childLanes?fg(e,t,i):(ft(yt,yt.current&1),e=Ls(e,t,i),e!==null?e.sibling:null);ft(yt,yt.current&1);break;case 19:if(s=(i&t.childLanes)!==0,e.flags&128){if(s)return pg(e,t,i);t.flags|=128}if(r=t.memoizedState,r!==null&&(r.rendering=null,r.tail=null,r.lastEffect=null),ft(yt,yt.current),s)break;return null;case 22:case 23:return t.lanes=0,ug(e,t,i)}return Ls(e,t,i)}var mg,nu,gg,_g;mg=function(e,t){for(var i=t.child;i!==null;){if(i.tag===5||i.tag===6)e.appendChild(i.stateNode);else if(i.tag!==4&&i.child!==null){i.child.return=i,i=i.child;continue}if(i===t)break;for(;i.sibling===null;){if(i.return===null||i.return===t)return;i=i.return}i.sibling.return=i.return,i=i.sibling}};nu=function(){};gg=function(e,t,i,s){var r=e.memoizedProps;if(r!==s){e=t.stateNode,un(gs.current);var l=null;switch(i){case"input":r=Ec(e,r),s=Ec(e,s),l=[];break;case"select":r=bt({},r,{value:void 0}),s=bt({},s,{value:void 0}),l=[];break;case"textarea":r=Tc(e,r),s=Tc(e,s),l=[];break;default:typeof r.onClick!="function"&&typeof s.onClick=="function"&&(e.onclick=$a)}Ac(i,s);var p;i=null;for(f in r)if(!s.hasOwnProperty(f)&&r.hasOwnProperty(f)&&r[f]!=null)if(f==="style"){var n=r[f];for(p in n)n.hasOwnProperty(p)&&(i||(i={}),i[p]="")}else f!=="dangerouslySetInnerHTML"&&f!=="children"&&f!=="suppressContentEditableWarning"&&f!=="suppressHydrationWarning"&&f!=="autoFocus"&&(to.hasOwnProperty(f)?l||(l=[]):(l=l||[]).push(f,null));for(f in s){var o=s[f];if(n=r!=null?r[f]:void 0,s.hasOwnProperty(f)&&o!==n&&(o!=null||n!=null))if(f==="style")if(n){for(p in n)!n.hasOwnProperty(p)||o&&o.hasOwnProperty(p)||(i||(i={}),i[p]="");for(p in o)o.hasOwnProperty(p)&&n[p]!==o[p]&&(i||(i={}),i[p]=o[p])}else i||(l||(l=[]),l.push(f,i)),i=o;else f==="dangerouslySetInnerHTML"?(o=o?o.__html:void 0,n=n?n.__html:void 0,o!=null&&n!==o&&(l=l||[]).push(f,o)):f==="children"?typeof o!="string"&&typeof o!="number"||(l=l||[]).push(f,""+o):f!=="suppressContentEditableWarning"&&f!=="suppressHydrationWarning"&&(to.hasOwnProperty(f)?(o!=null&&f==="onScroll"&&mt("scroll",e),l||n===o||(l=[])):(l=l||[]).push(f,o))}i&&(l=l||[]).push("style",i);var f=l;(t.updateQueue=f)&&(t.flags|=4)}};_g=function(e,t,i,s){i!==s&&(t.flags|=4)};function Tr(e,t){if(!wt)switch(e.tailMode){case"hidden":t=e.tail;for(var i=null;t!==null;)t.alternate!==null&&(i=t),t=t.sibling;i===null?e.tail=null:i.sibling=null;break;case"collapsed":i=e.tail;for(var s=null;i!==null;)i.alternate!==null&&(s=i),i=i.sibling;s===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:s.sibling=null}}function ii(e){var t=e.alternate!==null&&e.alternate.child===e.child,i=0,s=0;if(t)for(var r=e.child;r!==null;)i|=r.lanes|r.childLanes,s|=r.subtreeFlags&14680064,s|=r.flags&14680064,r.return=e,r=r.sibling;else for(r=e.child;r!==null;)i|=r.lanes|r.childLanes,s|=r.subtreeFlags,s|=r.flags,r.return=e,r=r.sibling;return e.subtreeFlags|=s,e.childLanes=i,t}function fw(e,t,i){var s=t.pendingProps;switch(sh(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return ii(t),null;case 1:return bi(t.type)&&za(),ii(t),null;case 3:return s=t.stateNode,lr(),gt(Si),gt(ri),dh(),s.pendingContext&&(s.context=s.pendingContext,s.pendingContext=null),(e===null||e.child===null)&&(ta(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Zi!==null&&(du(Zi),Zi=null))),nu(e,t),ii(t),null;case 5:hh(t);var r=un(po.current);if(i=t.type,e!==null&&t.stateNode!=null)gg(e,t,i,s,r),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!s){if(t.stateNode===null)throw Error(de(166));return ii(t),null}if(e=un(gs.current),ta(t)){s=t.stateNode,i=t.type;var l=t.memoizedProps;switch(s[ds]=t,s[ho]=l,e=(t.mode&1)!==0,i){case"dialog":mt("cancel",s),mt("close",s);break;case"iframe":case"object":case"embed":mt("load",s);break;case"video":case"audio":for(r=0;r<Hr.length;r++)mt(Hr[r],s);break;case"source":mt("error",s);break;case"img":case"image":case"link":mt("error",s),mt("load",s);break;case"details":mt("toggle",s);break;case"input":nd(s,l),mt("invalid",s);break;case"select":s._wrapperState={wasMultiple:!!l.multiple},mt("invalid",s);break;case"textarea":od(s,l),mt("invalid",s)}Ac(i,l),r=null;for(var p in l)if(l.hasOwnProperty(p)){var n=l[p];p==="children"?typeof n=="string"?s.textContent!==n&&(l.suppressHydrationWarning!==!0&&ea(s.textContent,n,e),r=["children",n]):typeof n=="number"&&s.textContent!==""+n&&(l.suppressHydrationWarning!==!0&&ea(s.textContent,n,e),r=["children",""+n]):to.hasOwnProperty(p)&&n!=null&&p==="onScroll"&&mt("scroll",s)}switch(i){case"input":Ko(s),rd(s,l,!0);break;case"textarea":Ko(s),ad(s);break;case"select":case"option":break;default:typeof l.onClick=="function"&&(s.onclick=$a)}s=r,t.updateQueue=s,s!==null&&(t.flags|=4)}else{p=r.nodeType===9?r:r.ownerDocument,e==="http://www.w3.org/1999/xhtml"&&(e=Vp(i)),e==="http://www.w3.org/1999/xhtml"?i==="script"?(e=p.createElement("div"),e.innerHTML="<script><\/script>",e=e.removeChild(e.firstChild)):typeof s.is=="string"?e=p.createElement(i,{is:s.is}):(e=p.createElement(i),i==="select"&&(p=e,s.multiple?p.multiple=!0:s.size&&(p.size=s.size))):e=p.createElementNS(e,i),e[ds]=t,e[ho]=s,mg(e,t,!1,!1),t.stateNode=e;e:{switch(p=Mc(i,s),i){case"dialog":mt("cancel",e),mt("close",e),r=s;break;case"iframe":case"object":case"embed":mt("load",e),r=s;break;case"video":case"audio":for(r=0;r<Hr.length;r++)mt(Hr[r],e);r=s;break;case"source":mt("error",e),r=s;break;case"img":case"image":case"link":mt("error",e),mt("load",e),r=s;break;case"details":mt("toggle",e),r=s;break;case"input":nd(e,s),r=Ec(e,s),mt("invalid",e);break;case"option":r=s;break;case"select":e._wrapperState={wasMultiple:!!s.multiple},r=bt({},s,{value:void 0}),mt("invalid",e);break;case"textarea":od(e,s),r=Tc(e,s),mt("invalid",e);break;default:r=s}Ac(i,r),n=r;for(l in n)if(n.hasOwnProperty(l)){var o=n[l];l==="style"?qp(e,o):l==="dangerouslySetInnerHTML"?(o=o?o.__html:void 0,o!=null&&Kp(e,o)):l==="children"?typeof o=="string"?(i!=="textarea"||o!=="")&&io(e,o):typeof o=="number"&&io(e,""+o):l!=="suppressContentEditableWarning"&&l!=="suppressHydrationWarning"&&l!=="autoFocus"&&(to.hasOwnProperty(l)?o!=null&&l==="onScroll"&&mt("scroll",e):o!=null&&zu(e,l,o,p))}switch(i){case"input":Ko(e),rd(e,s,!1);break;case"textarea":Ko(e),ad(e);break;case"option":s.value!=null&&e.setAttribute("value",""+qs(s.value));break;case"select":e.multiple=!!s.multiple,l=s.value,l!=null?Jn(e,!!s.multiple,l,!1):s.defaultValue!=null&&Jn(e,!!s.multiple,s.defaultValue,!0);break;default:typeof r.onClick=="function"&&(e.onclick=$a)}switch(i){case"button":case"input":case"select":case"textarea":s=!!s.autoFocus;break e;case"img":s=!0;break e;default:s=!1}}s&&(t.flags|=4)}t.ref!==null&&(t.flags|=512,t.flags|=2097152)}return ii(t),null;case 6:if(e&&t.stateNode!=null)_g(e,t,e.memoizedProps,s);else{if(typeof s!="string"&&t.stateNode===null)throw Error(de(166));if(i=un(po.current),un(gs.current),ta(t)){if(s=t.stateNode,i=t.memoizedProps,s[ds]=t,(l=s.nodeValue!==i)&&(e=Mi,e!==null))switch(e.tag){case 3:ea(s.nodeValue,i,(e.mode&1)!==0);break;case 5:e.memoizedProps.suppressHydrationWarning!==!0&&ea(s.nodeValue,i,(e.mode&1)!==0)}l&&(t.flags|=4)}else s=(i.nodeType===9?i:i.ownerDocument).createTextNode(s),s[ds]=t,t.stateNode=s}return ii(t),null;case 13:if(gt(yt),s=t.memoizedState,e===null||e.memoizedState!==null&&e.memoizedState.dehydrated!==null){if(wt&&Ai!==null&&t.mode&1&&!(t.flags&128))Im(),or(),t.flags|=98560,l=!1;else if(l=ta(t),s!==null&&s.dehydrated!==null){if(e===null){if(!l)throw Error(de(318));if(l=t.memoizedState,l=l!==null?l.dehydrated:null,!l)throw Error(de(317));l[ds]=t}else or(),!(t.flags&128)&&(t.memoizedState=null),t.flags|=4;ii(t),l=!1}else Zi!==null&&(du(Zi),Zi=null),l=!0;if(!l)return t.flags&65536?t:null}return t.flags&128?(t.lanes=i,t):(s=s!==null,s!==(e!==null&&e.memoizedState!==null)&&s&&(t.child.flags|=8192,t.mode&1&&(e===null||yt.current&1?Ht===0&&(Ht=3):Ch())),t.updateQueue!==null&&(t.flags|=4),ii(t),null);case 4:return lr(),nu(e,t),e===null&&co(t.stateNode.containerInfo),ii(t),null;case 10:return ah(t.type._context),ii(t),null;case 17:return bi(t.type)&&za(),ii(t),null;case 19:if(gt(yt),l=t.memoizedState,l===null)return ii(t),null;if(s=(t.flags&128)!==0,p=l.rendering,p===null)if(s)Tr(l,!1);else{if(Ht!==0||e!==null&&e.flags&128)for(e=t.child;e!==null;){if(p=Ya(e),p!==null){for(t.flags|=128,Tr(l,!1),s=p.updateQueue,s!==null&&(t.updateQueue=s,t.flags|=4),t.subtreeFlags=0,s=i,i=t.child;i!==null;)l=i,e=s,l.flags&=14680066,p=l.alternate,p===null?(l.childLanes=0,l.lanes=e,l.child=null,l.subtreeFlags=0,l.memoizedProps=null,l.memoizedState=null,l.updateQueue=null,l.dependencies=null,l.stateNode=null):(l.childLanes=p.childLanes,l.lanes=p.lanes,l.child=p.child,l.subtreeFlags=0,l.deletions=null,l.memoizedProps=p.memoizedProps,l.memoizedState=p.memoizedState,l.updateQueue=p.updateQueue,l.type=p.type,e=p.dependencies,l.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext}),i=i.sibling;return ft(yt,yt.current&1|2),t.child}e=e.sibling}l.tail!==null&&Dt()>ur&&(t.flags|=128,s=!0,Tr(l,!1),t.lanes=4194304)}else{if(!s)if(e=Ya(p),e!==null){if(t.flags|=128,s=!0,i=e.updateQueue,i!==null&&(t.updateQueue=i,t.flags|=4),Tr(l,!0),l.tail===null&&l.tailMode==="hidden"&&!p.alternate&&!wt)return ii(t),null}else 2*Dt()-l.renderingStartTime>ur&&i!==1073741824&&(t.flags|=128,s=!0,Tr(l,!1),t.lanes=4194304);l.isBackwards?(p.sibling=t.child,t.child=p):(i=l.last,i!==null?i.sibling=p:t.child=p,l.last=p)}return l.tail!==null?(t=l.tail,l.rendering=t,l.tail=t.sibling,l.renderingStartTime=Dt(),t.sibling=null,i=yt.current,ft(yt,s?i&1|2:i&1),t):(ii(t),null);case 22:case 23:return xh(),s=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==s&&(t.flags|=8192),s&&t.mode&1?Ti&1073741824&&(ii(t),t.subtreeFlags&6&&(t.flags|=8192)):ii(t),null;case 24:return null;case 25:return null}throw Error(de(156,t.tag))}function pw(e,t){switch(sh(t),t.tag){case 1:return bi(t.type)&&za(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return lr(),gt(Si),gt(ri),dh(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return hh(t),null;case 13:if(gt(yt),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(de(340));or()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return gt(yt),null;case 4:return lr(),null;case 10:return ah(t.type._context),null;case 22:case 23:return xh(),null;case 24:return null;default:return null}}var na=!1,ni=!1,mw=typeof WeakSet=="function"?WeakSet:Set,xe=null;function Vn(e,t){var i=e.ref;if(i!==null)if(typeof i=="function")try{i(null)}catch(s){Et(e,t,s)}else i.current=null}function ru(e,t,i){try{i()}catch(s){Et(e,t,s)}}var Xd=!1;function gw(e,t){if(zc=ja,e=bm(),th(e)){if("selectionStart"in e)var i={start:e.selectionStart,end:e.selectionEnd};else e:{i=(i=e.ownerDocument)&&i.defaultView||window;var s=i.getSelection&&i.getSelection();if(s&&s.rangeCount!==0){i=s.anchorNode;var r=s.anchorOffset,l=s.focusNode;s=s.focusOffset;try{i.nodeType,l.nodeType}catch{i=null;break e}var p=0,n=-1,o=-1,f=0,_=0,u=e,m=null;t:for(;;){for(var w;u!==i||r!==0&&u.nodeType!==3||(n=p+r),u!==l||s!==0&&u.nodeType!==3||(o=p+s),u.nodeType===3&&(p+=u.nodeValue.length),(w=u.firstChild)!==null;)m=u,u=w;for(;;){if(u===e)break t;if(m===i&&++f===r&&(n=p),m===l&&++_===s&&(o=p),(w=u.nextSibling)!==null)break;u=m,m=u.parentNode}u=w}i=n===-1||o===-1?null:{start:n,end:o}}else i=null}i=i||{start:0,end:0}}else i=null;for(Uc={focusedElem:e,selectionRange:i},ja=!1,xe=t;xe!==null;)if(t=xe,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,xe=e;else for(;xe!==null;){t=xe;try{var S=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(S!==null){var v=S.memoizedProps,a=S.memoizedState,h=t.stateNode,c=h.getSnapshotBeforeUpdate(t.elementType===t.type?v:Xi(t.type,v),a);h.__reactInternalSnapshotBeforeUpdate=c}break;case 3:var d=t.stateNode.containerInfo;d.nodeType===1?d.textContent="":d.nodeType===9&&d.documentElement&&d.removeChild(d.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(de(163))}}catch(y){Et(t,t.return,y)}if(e=t.sibling,e!==null){e.return=t.return,xe=e;break}xe=t.return}return S=Xd,Xd=!1,S}function qr(e,t,i){var s=t.updateQueue;if(s=s!==null?s.lastEffect:null,s!==null){var r=s=s.next;do{if((r.tag&e)===e){var l=r.destroy;r.destroy=void 0,l!==void 0&&ru(t,i,l)}r=r.next}while(r!==s)}}function xl(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var i=t=t.next;do{if((i.tag&e)===e){var s=i.create;i.destroy=s()}i=i.next}while(i!==t)}}function ou(e){var t=e.ref;if(t!==null){var i=e.stateNode;switch(e.tag){case 5:e=i;break;default:e=i}typeof t=="function"?t(e):t.current=e}}function vg(e){var t=e.alternate;t!==null&&(e.alternate=null,vg(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[ds],delete t[ho],delete t[Kc],delete t[Z0],delete t[Q0])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function wg(e){return e.tag===5||e.tag===3||e.tag===4}function Jd(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||wg(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function au(e,t,i){var s=e.tag;if(s===5||s===6)e=e.stateNode,t?i.nodeType===8?i.parentNode.insertBefore(e,t):i.insertBefore(e,t):(i.nodeType===8?(t=i.parentNode,t.insertBefore(e,i)):(t=i,t.appendChild(e)),i=i._reactRootContainer,i!=null||t.onclick!==null||(t.onclick=$a));else if(s!==4&&(e=e.child,e!==null))for(au(e,t,i),e=e.sibling;e!==null;)au(e,t,i),e=e.sibling}function lu(e,t,i){var s=e.tag;if(s===5||s===6)e=e.stateNode,t?i.insertBefore(e,t):i.appendChild(e);else if(s!==4&&(e=e.child,e!==null))for(lu(e,t,i),e=e.sibling;e!==null;)lu(e,t,i),e=e.sibling}var Yt=null,Ji=!1;function Ns(e,t,i){for(i=i.child;i!==null;)yg(e,t,i),i=i.sibling}function yg(e,t,i){if(ms&&typeof ms.onCommitFiberUnmount=="function")try{ms.onCommitFiberUnmount(ml,i)}catch{}switch(i.tag){case 5:ni||Vn(i,t);case 6:var s=Yt,r=Ji;Yt=null,Ns(e,t,i),Yt=s,Ji=r,Yt!==null&&(Ji?(e=Yt,i=i.stateNode,e.nodeType===8?e.parentNode.removeChild(i):e.removeChild(i)):Yt.removeChild(i.stateNode));break;case 18:Yt!==null&&(Ji?(e=Yt,i=i.stateNode,e.nodeType===8?Jl(e.parentNode,i):e.nodeType===1&&Jl(e,i),oo(e)):Jl(Yt,i.stateNode));break;case 4:s=Yt,r=Ji,Yt=i.stateNode.containerInfo,Ji=!0,Ns(e,t,i),Yt=s,Ji=r;break;case 0:case 11:case 14:case 15:if(!ni&&(s=i.updateQueue,s!==null&&(s=s.lastEffect,s!==null))){r=s=s.next;do{var l=r,p=l.destroy;l=l.tag,p!==void 0&&(l&2||l&4)&&ru(i,t,p),r=r.next}while(r!==s)}Ns(e,t,i);break;case 1:if(!ni&&(Vn(i,t),s=i.stateNode,typeof s.componentWillUnmount=="function"))try{s.props=i.memoizedProps,s.state=i.memoizedState,s.componentWillUnmount()}catch(n){Et(i,t,n)}Ns(e,t,i);break;case 21:Ns(e,t,i);break;case 22:i.mode&1?(ni=(s=ni)||i.memoizedState!==null,Ns(e,t,i),ni=s):Ns(e,t,i);break;default:Ns(e,t,i)}}function Zd(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var i=e.stateNode;i===null&&(i=e.stateNode=new mw),t.forEach(function(s){var r=kw.bind(null,e,s);i.has(s)||(i.add(s),s.then(r,r))})}}function qi(e,t){var i=t.deletions;if(i!==null)for(var s=0;s<i.length;s++){var r=i[s];try{var l=e,p=t,n=p;e:for(;n!==null;){switch(n.tag){case 5:Yt=n.stateNode,Ji=!1;break e;case 3:Yt=n.stateNode.containerInfo,Ji=!0;break e;case 4:Yt=n.stateNode.containerInfo,Ji=!0;break e}n=n.return}if(Yt===null)throw Error(de(160));yg(l,p,r),Yt=null,Ji=!1;var o=r.alternate;o!==null&&(o.return=null),r.return=null}catch(f){Et(r,t,f)}}if(t.subtreeFlags&12854)for(t=t.child;t!==null;)Sg(t,e),t=t.sibling}function Sg(e,t){var i=e.alternate,s=e.flags;switch(e.tag){case 0:case 11:case 14:case 15:if(qi(t,e),ls(e),s&4){try{qr(3,e,e.return),xl(3,e)}catch(v){Et(e,e.return,v)}try{qr(5,e,e.return)}catch(v){Et(e,e.return,v)}}break;case 1:qi(t,e),ls(e),s&512&&i!==null&&Vn(i,i.return);break;case 5:if(qi(t,e),ls(e),s&512&&i!==null&&Vn(i,i.return),e.flags&32){var r=e.stateNode;try{io(r,"")}catch(v){Et(e,e.return,v)}}if(s&4&&(r=e.stateNode,r!=null)){var l=e.memoizedProps,p=i!==null?i.memoizedProps:l,n=e.type,o=e.updateQueue;if(e.updateQueue=null,o!==null)try{n==="input"&&l.type==="radio"&&l.name!=null&&Up(r,l),Mc(n,p);var f=Mc(n,l);for(p=0;p<o.length;p+=2){var _=o[p],u=o[p+1];_==="style"?qp(r,u):_==="dangerouslySetInnerHTML"?Kp(r,u):_==="children"?io(r,u):zu(r,_,u,f)}switch(n){case"input":Lc(r,l);break;case"textarea":Wp(r,l);break;case"select":var m=r._wrapperState.wasMultiple;r._wrapperState.wasMultiple=!!l.multiple;var w=l.value;w!=null?Jn(r,!!l.multiple,w,!1):m!==!!l.multiple&&(l.defaultValue!=null?Jn(r,!!l.multiple,l.defaultValue,!0):Jn(r,!!l.multiple,l.multiple?[]:"",!1))}r[ho]=l}catch(v){Et(e,e.return,v)}}break;case 6:if(qi(t,e),ls(e),s&4){if(e.stateNode===null)throw Error(de(162));r=e.stateNode,l=e.memoizedProps;try{r.nodeValue=l}catch(v){Et(e,e.return,v)}}break;case 3:if(qi(t,e),ls(e),s&4&&i!==null&&i.memoizedState.isDehydrated)try{oo(t.containerInfo)}catch(v){Et(e,e.return,v)}break;case 4:qi(t,e),ls(e);break;case 13:qi(t,e),ls(e),r=e.child,r.flags&8192&&(l=r.memoizedState!==null,r.stateNode.isHidden=l,!l||r.alternate!==null&&r.alternate.memoizedState!==null||(Sh=Dt())),s&4&&Zd(e);break;case 22:if(_=i!==null&&i.memoizedState!==null,e.mode&1?(ni=(f=ni)||_,qi(t,e),ni=f):qi(t,e),ls(e),s&8192){if(f=e.memoizedState!==null,(e.stateNode.isHidden=f)&&!_&&e.mode&1)for(xe=e,_=e.child;_!==null;){for(u=xe=_;xe!==null;){switch(m=xe,w=m.child,m.tag){case 0:case 11:case 14:case 15:qr(4,m,m.return);break;case 1:Vn(m,m.return);var S=m.stateNode;if(typeof S.componentWillUnmount=="function"){s=m,i=m.return;try{t=s,S.props=t.memoizedProps,S.state=t.memoizedState,S.componentWillUnmount()}catch(v){Et(s,i,v)}}break;case 5:Vn(m,m.return);break;case 22:if(m.memoizedState!==null){ef(u);continue}}w!==null?(w.return=m,xe=w):ef(u)}_=_.sibling}e:for(_=null,u=e;;){if(u.tag===5){if(_===null){_=u;try{r=u.stateNode,f?(l=r.style,typeof l.setProperty=="function"?l.setProperty("display","none","important"):l.display="none"):(n=u.stateNode,o=u.memoizedProps.style,p=o!=null&&o.hasOwnProperty("display")?o.display:null,n.style.display=Gp("display",p))}catch(v){Et(e,e.return,v)}}}else if(u.tag===6){if(_===null)try{u.stateNode.nodeValue=f?"":u.memoizedProps}catch(v){Et(e,e.return,v)}}else if((u.tag!==22&&u.tag!==23||u.memoizedState===null||u===e)&&u.child!==null){u.child.return=u,u=u.child;continue}if(u===e)break e;for(;u.sibling===null;){if(u.return===null||u.return===e)break e;_===u&&(_=null),u=u.return}_===u&&(_=null),u.sibling.return=u.return,u=u.sibling}}break;case 19:qi(t,e),ls(e),s&4&&Zd(e);break;case 21:break;default:qi(t,e),ls(e)}}function ls(e){var t=e.flags;if(t&2){try{e:{for(var i=e.return;i!==null;){if(wg(i)){var s=i;break e}i=i.return}throw Error(de(160))}switch(s.tag){case 5:var r=s.stateNode;s.flags&32&&(io(r,""),s.flags&=-33);var l=Jd(e);lu(e,l,r);break;case 3:case 4:var p=s.stateNode.containerInfo,n=Jd(e);au(e,n,p);break;default:throw Error(de(161))}}catch(o){Et(e,e.return,o)}e.flags&=-3}t&4096&&(e.flags&=-4097)}function _w(e,t,i){xe=e,bg(e)}function bg(e,t,i){for(var s=(e.mode&1)!==0;xe!==null;){var r=xe,l=r.child;if(r.tag===22&&s){var p=r.memoizedState!==null||na;if(!p){var n=r.alternate,o=n!==null&&n.memoizedState!==null||ni;n=na;var f=ni;if(na=p,(ni=o)&&!f)for(xe=r;xe!==null;)p=xe,o=p.child,p.tag===22&&p.memoizedState!==null?tf(r):o!==null?(o.return=p,xe=o):tf(r);for(;l!==null;)xe=l,bg(l),l=l.sibling;xe=r,na=n,ni=f}Qd(e)}else r.subtreeFlags&8772&&l!==null?(l.return=r,xe=l):Qd(e)}}function Qd(e){for(;xe!==null;){var t=xe;if(t.flags&8772){var i=t.alternate;try{if(t.flags&8772)switch(t.tag){case 0:case 11:case 15:ni||xl(5,t);break;case 1:var s=t.stateNode;if(t.flags&4&&!ni)if(i===null)s.componentDidMount();else{var r=t.elementType===t.type?i.memoizedProps:Xi(t.type,i.memoizedProps);s.componentDidUpdate(r,i.memoizedState,s.__reactInternalSnapshotBeforeUpdate)}var l=t.updateQueue;l!==null&&Bd(t,l,s);break;case 3:var p=t.updateQueue;if(p!==null){if(i=null,t.child!==null)switch(t.child.tag){case 5:i=t.child.stateNode;break;case 1:i=t.child.stateNode}Bd(t,p,i)}break;case 5:var n=t.stateNode;if(i===null&&t.flags&4){i=n;var o=t.memoizedProps;switch(t.type){case"button":case"input":case"select":case"textarea":o.autoFocus&&i.focus();break;case"img":o.src&&(i.src=o.src)}}break;case 6:break;case 4:break;case 12:break;case 13:if(t.memoizedState===null){var f=t.alternate;if(f!==null){var _=f.memoizedState;if(_!==null){var u=_.dehydrated;u!==null&&oo(u)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(de(163))}ni||t.flags&512&&ou(t)}catch(m){Et(t,t.return,m)}}if(t===e){xe=null;break}if(i=t.sibling,i!==null){i.return=t.return,xe=i;break}xe=t.return}}function ef(e){for(;xe!==null;){var t=xe;if(t===e){xe=null;break}var i=t.sibling;if(i!==null){i.return=t.return,xe=i;break}xe=t.return}}function tf(e){for(;xe!==null;){var t=xe;try{switch(t.tag){case 0:case 11:case 15:var i=t.return;try{xl(4,t)}catch(o){Et(t,i,o)}break;case 1:var s=t.stateNode;if(typeof s.componentDidMount=="function"){var r=t.return;try{s.componentDidMount()}catch(o){Et(t,r,o)}}var l=t.return;try{ou(t)}catch(o){Et(t,l,o)}break;case 5:var p=t.return;try{ou(t)}catch(o){Et(t,p,o)}}}catch(o){Et(t,t.return,o)}if(t===e){xe=null;break}var n=t.sibling;if(n!==null){n.return=t.return,xe=n;break}xe=t.return}}var vw=Math.ceil,Za=Ts.ReactCurrentDispatcher,wh=Ts.ReactCurrentOwner,zi=Ts.ReactCurrentBatchConfig,Ze=0,Wt=null,It=null,Xt=0,Ti=0,Kn=Qs(0),Ht=0,vo=null,gn=0,Cl=0,yh=0,Yr=null,vi=null,Sh=0,ur=1/0,vs=null,Qa=!1,cu=null,Vs=null,ra=!1,Fs=null,el=0,Xr=0,uu=null,Ea=-1,La=0;function fi(){return Ze&6?Dt():Ea!==-1?Ea:Ea=Dt()}function Ks(e){return e.mode&1?Ze&2&&Xt!==0?Xt&-Xt:tw.transition!==null?(La===0&&(La=om()),La):(e=rt,e!==0||(e=window.event,e=e===void 0?16:fm(e.type)),e):1}function es(e,t,i,s){if(50<Xr)throw Xr=0,uu=null,Error(de(185));Eo(e,i,s),(!(Ze&2)||e!==Wt)&&(e===Wt&&(!(Ze&2)&&(Cl|=i),Ht===4&&Bs(e,Xt)),xi(e,s),i===1&&Ze===0&&!(t.mode&1)&&(ur=Dt()+500,yl&&en()))}function xi(e,t){var i=e.callbackNode;t0(e,t);var s=Ba(e,e===Wt?Xt:0);if(s===0)i!==null&&ud(i),e.callbackNode=null,e.callbackPriority=0;else if(t=s&-s,e.callbackPriority!==t){if(i!=null&&ud(i),t===1)e.tag===0?ew(sf.bind(null,e)):Mm(sf.bind(null,e)),X0(function(){!(Ze&6)&&en()}),i=null;else{switch(am(s)){case 1:i=Gu;break;case 4:i=nm;break;case 16:i=Oa;break;case 536870912:i=rm;break;default:i=Oa}i=Dg(i,xg.bind(null,e))}e.callbackPriority=t,e.callbackNode=i}}function xg(e,t){if(Ea=-1,La=0,Ze&6)throw Error(de(327));var i=e.callbackNode;if(ir()&&e.callbackNode!==i)return null;var s=Ba(e,e===Wt?Xt:0);if(s===0)return null;if(s&30||s&e.expiredLanes||t)t=tl(e,s);else{t=s;var r=Ze;Ze|=2;var l=kg();(Wt!==e||Xt!==t)&&(vs=null,ur=Dt()+500,hn(e,t));do try{Sw();break}catch(n){Cg(e,n)}while(!0);oh(),Za.current=l,Ze=r,It!==null?t=0:(Wt=null,Xt=0,t=Ht)}if(t!==0){if(t===2&&(r=Bc(e),r!==0&&(s=r,t=hu(e,r))),t===1)throw i=vo,hn(e,0),Bs(e,s),xi(e,Dt()),i;if(t===6)Bs(e,s);else{if(r=e.current.alternate,!(s&30)&&!ww(r)&&(t=tl(e,s),t===2&&(l=Bc(e),l!==0&&(s=l,t=hu(e,l))),t===1))throw i=vo,hn(e,0),Bs(e,s),xi(e,Dt()),i;switch(e.finishedWork=r,e.finishedLanes=s,t){case 0:case 1:throw Error(de(345));case 2:on(e,vi,vs);break;case 3:if(Bs(e,s),(s&130023424)===s&&(t=Sh+500-Dt(),10<t)){if(Ba(e,0)!==0)break;if(r=e.suspendedLanes,(r&s)!==s){fi(),e.pingedLanes|=e.suspendedLanes&r;break}e.timeoutHandle=Vc(on.bind(null,e,vi,vs),t);break}on(e,vi,vs);break;case 4:if(Bs(e,s),(s&4194240)===s)break;for(t=e.eventTimes,r=-1;0<s;){var p=31-Qi(s);l=1<<p,p=t[p],p>r&&(r=p),s&=~l}if(s=r,s=Dt()-s,s=(120>s?120:480>s?480:1080>s?1080:1920>s?1920:3e3>s?3e3:4320>s?4320:1960*vw(s/1960))-s,10<s){e.timeoutHandle=Vc(on.bind(null,e,vi,vs),s);break}on(e,vi,vs);break;case 5:on(e,vi,vs);break;default:throw Error(de(329))}}}return xi(e,Dt()),e.callbackNode===i?xg.bind(null,e):null}function hu(e,t){var i=Yr;return e.current.memoizedState.isDehydrated&&(hn(e,t).flags|=256),e=tl(e,t),e!==2&&(t=vi,vi=i,t!==null&&du(t)),e}function du(e){vi===null?vi=e:vi.push.apply(vi,e)}function ww(e){for(var t=e;;){if(t.flags&16384){var i=t.updateQueue;if(i!==null&&(i=i.stores,i!==null))for(var s=0;s<i.length;s++){var r=i[s],l=r.getSnapshot;r=r.value;try{if(!ts(l(),r))return!1}catch{return!1}}}if(i=t.child,t.subtreeFlags&16384&&i!==null)i.return=t,t=i;else{if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return!0;t=t.return}t.sibling.return=t.return,t=t.sibling}}return!0}function Bs(e,t){for(t&=~yh,t&=~Cl,e.suspendedLanes|=t,e.pingedLanes&=~t,e=e.expirationTimes;0<t;){var i=31-Qi(t),s=1<<i;e[i]=-1,t&=~s}}function sf(e){if(Ze&6)throw Error(de(327));ir();var t=Ba(e,0);if(!(t&1))return xi(e,Dt()),null;var i=tl(e,t);if(e.tag!==0&&i===2){var s=Bc(e);s!==0&&(t=s,i=hu(e,s))}if(i===1)throw i=vo,hn(e,0),Bs(e,t),xi(e,Dt()),i;if(i===6)throw Error(de(345));return e.finishedWork=e.current.alternate,e.finishedLanes=t,on(e,vi,vs),xi(e,Dt()),null}function bh(e,t){var i=Ze;Ze|=1;try{return e(t)}finally{Ze=i,Ze===0&&(ur=Dt()+500,yl&&en())}}function _n(e){Fs!==null&&Fs.tag===0&&!(Ze&6)&&ir();var t=Ze;Ze|=1;var i=zi.transition,s=rt;try{if(zi.transition=null,rt=1,e)return e()}finally{rt=s,zi.transition=i,Ze=t,!(Ze&6)&&en()}}function xh(){Ti=Kn.current,gt(Kn)}function hn(e,t){e.finishedWork=null,e.finishedLanes=0;var i=e.timeoutHandle;if(i!==-1&&(e.timeoutHandle=-1,Y0(i)),It!==null)for(i=It.return;i!==null;){var s=i;switch(sh(s),s.tag){case 1:s=s.type.childContextTypes,s!=null&&za();break;case 3:lr(),gt(Si),gt(ri),dh();break;case 5:hh(s);break;case 4:lr();break;case 13:gt(yt);break;case 19:gt(yt);break;case 10:ah(s.type._context);break;case 22:case 23:xh()}i=i.return}if(Wt=e,It=e=Gs(e.current,null),Xt=Ti=t,Ht=0,vo=null,yh=Cl=gn=0,vi=Yr=null,cn!==null){for(t=0;t<cn.length;t++)if(i=cn[t],s=i.interleaved,s!==null){i.interleaved=null;var r=s.next,l=i.pending;if(l!==null){var p=l.next;l.next=r,s.next=p}i.pending=s}cn=null}return e}function Cg(e,t){do{var i=It;try{if(oh(),xa.current=Ja,Xa){for(var s=St.memoizedState;s!==null;){var r=s.queue;r!==null&&(r.pending=null),s=s.next}Xa=!1}if(mn=0,Ut=Ft=St=null,Gr=!1,mo=0,wh.current=null,i===null||i.return===null){Ht=1,vo=t,It=null;break}e:{var l=e,p=i.return,n=i,o=t;if(t=Xt,n.flags|=32768,o!==null&&typeof o=="object"&&typeof o.then=="function"){var f=o,_=n,u=_.tag;if(!(_.mode&1)&&(u===0||u===11||u===15)){var m=_.alternate;m?(_.updateQueue=m.updateQueue,_.memoizedState=m.memoizedState,_.lanes=m.lanes):(_.updateQueue=null,_.memoizedState=null)}var w=Ud(p);if(w!==null){w.flags&=-257,Wd(w,p,n,l,t),w.mode&1&&zd(l,f,t),t=w,o=f;var S=t.updateQueue;if(S===null){var v=new Set;v.add(o),t.updateQueue=v}else S.add(o);break e}else{if(!(t&1)){zd(l,f,t),Ch();break e}o=Error(de(426))}}else if(wt&&n.mode&1){var a=Ud(p);if(a!==null){!(a.flags&65536)&&(a.flags|=256),Wd(a,p,n,l,t),nh(cr(o,n));break e}}l=o=cr(o,n),Ht!==4&&(Ht=2),Yr===null?Yr=[l]:Yr.push(l),l=p;do{switch(l.tag){case 3:l.flags|=65536,t&=-t,l.lanes|=t;var h=ag(l,o,t);Od(l,h);break e;case 1:n=o;var c=l.type,d=l.stateNode;if(!(l.flags&128)&&(typeof c.getDerivedStateFromError=="function"||d!==null&&typeof d.componentDidCatch=="function"&&(Vs===null||!Vs.has(d)))){l.flags|=65536,t&=-t,l.lanes|=t;var y=lg(l,n,t);Od(l,y);break e}}l=l.return}while(l!==null)}Lg(i)}catch(C){t=C,It===i&&i!==null&&(It=i=i.return);continue}break}while(!0)}function kg(){var e=Za.current;return Za.current=Ja,e===null?Ja:e}function Ch(){(Ht===0||Ht===3||Ht===2)&&(Ht=4),Wt===null||!(gn&268435455)&&!(Cl&268435455)||Bs(Wt,Xt)}function tl(e,t){var i=Ze;Ze|=2;var s=kg();(Wt!==e||Xt!==t)&&(vs=null,hn(e,t));do try{yw();break}catch(r){Cg(e,r)}while(!0);if(oh(),Ze=i,Za.current=s,It!==null)throw Error(de(261));return Wt=null,Xt=0,Ht}function yw(){for(;It!==null;)Eg(It)}function Sw(){for(;It!==null&&!Kv();)Eg(It)}function Eg(e){var t=Tg(e.alternate,e,Ti);e.memoizedProps=e.pendingProps,t===null?Lg(e):It=t,wh.current=null}function Lg(e){var t=e;do{var i=t.alternate;if(e=t.return,t.flags&32768){if(i=pw(i,t),i!==null){i.flags&=32767,It=i;return}if(e!==null)e.flags|=32768,e.subtreeFlags=0,e.deletions=null;else{Ht=6,It=null;return}}else if(i=fw(i,t,Ti),i!==null){It=i;return}if(t=t.sibling,t!==null){It=t;return}It=t=e}while(t!==null);Ht===0&&(Ht=5)}function on(e,t,i){var s=rt,r=zi.transition;try{zi.transition=null,rt=1,bw(e,t,i,s)}finally{zi.transition=r,rt=s}return null}function bw(e,t,i,s){do ir();while(Fs!==null);if(Ze&6)throw Error(de(327));i=e.finishedWork;var r=e.finishedLanes;if(i===null)return null;if(e.finishedWork=null,e.finishedLanes=0,i===e.current)throw Error(de(177));e.callbackNode=null,e.callbackPriority=0;var l=i.lanes|i.childLanes;if(i0(e,l),e===Wt&&(It=Wt=null,Xt=0),!(i.subtreeFlags&2064)&&!(i.flags&2064)||ra||(ra=!0,Dg(Oa,function(){return ir(),null})),l=(i.flags&15990)!==0,i.subtreeFlags&15990||l){l=zi.transition,zi.transition=null;var p=rt;rt=1;var n=Ze;Ze|=4,wh.current=null,gw(e,i),Sg(i,e),z0(Uc),ja=!!zc,Uc=zc=null,e.current=i,_w(i),Gv(),Ze=n,rt=p,zi.transition=l}else e.current=i;if(ra&&(ra=!1,Fs=e,el=r),l=e.pendingLanes,l===0&&(Vs=null),Xv(i.stateNode),xi(e,Dt()),t!==null)for(s=e.onRecoverableError,i=0;i<t.length;i++)r=t[i],s(r.value,{componentStack:r.stack,digest:r.digest});if(Qa)throw Qa=!1,e=cu,cu=null,e;return el&1&&e.tag!==0&&ir(),l=e.pendingLanes,l&1?e===uu?Xr++:(Xr=0,uu=e):Xr=0,en(),null}function ir(){if(Fs!==null){var e=am(el),t=zi.transition,i=rt;try{if(zi.transition=null,rt=16>e?16:e,Fs===null)var s=!1;else{if(e=Fs,Fs=null,el=0,Ze&6)throw Error(de(331));var r=Ze;for(Ze|=4,xe=e.current;xe!==null;){var l=xe,p=l.child;if(xe.flags&16){var n=l.deletions;if(n!==null){for(var o=0;o<n.length;o++){var f=n[o];for(xe=f;xe!==null;){var _=xe;switch(_.tag){case 0:case 11:case 15:qr(8,_,l)}var u=_.child;if(u!==null)u.return=_,xe=u;else for(;xe!==null;){_=xe;var m=_.sibling,w=_.return;if(vg(_),_===f){xe=null;break}if(m!==null){m.return=w,xe=m;break}xe=w}}}var S=l.alternate;if(S!==null){var v=S.child;if(v!==null){S.child=null;do{var a=v.sibling;v.sibling=null,v=a}while(v!==null)}}xe=l}}if(l.subtreeFlags&2064&&p!==null)p.return=l,xe=p;else e:for(;xe!==null;){if(l=xe,l.flags&2048)switch(l.tag){case 0:case 11:case 15:qr(9,l,l.return)}var h=l.sibling;if(h!==null){h.return=l.return,xe=h;break e}xe=l.return}}var c=e.current;for(xe=c;xe!==null;){p=xe;var d=p.child;if(p.subtreeFlags&2064&&d!==null)d.return=p,xe=d;else e:for(p=c;xe!==null;){if(n=xe,n.flags&2048)try{switch(n.tag){case 0:case 11:case 15:xl(9,n)}}catch(C){Et(n,n.return,C)}if(n===p){xe=null;break e}var y=n.sibling;if(y!==null){y.return=n.return,xe=y;break e}xe=n.return}}if(Ze=r,en(),ms&&typeof ms.onPostCommitFiberRoot=="function")try{ms.onPostCommitFiberRoot(ml,e)}catch{}s=!0}return s}finally{rt=i,zi.transition=t}}return!1}function nf(e,t,i){t=cr(i,t),t=ag(e,t,1),e=Ws(e,t,1),t=fi(),e!==null&&(Eo(e,1,t),xi(e,t))}function Et(e,t,i){if(e.tag===3)nf(e,e,i);else for(;t!==null;){if(t.tag===3){nf(t,e,i);break}else if(t.tag===1){var s=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof s.componentDidCatch=="function"&&(Vs===null||!Vs.has(s))){e=cr(i,e),e=lg(t,e,1),t=Ws(t,e,1),e=fi(),t!==null&&(Eo(t,1,e),xi(t,e));break}}t=t.return}}function xw(e,t,i){var s=e.pingCache;s!==null&&s.delete(t),t=fi(),e.pingedLanes|=e.suspendedLanes&i,Wt===e&&(Xt&i)===i&&(Ht===4||Ht===3&&(Xt&130023424)===Xt&&500>Dt()-Sh?hn(e,0):yh|=i),xi(e,t)}function Rg(e,t){t===0&&(e.mode&1?(t=Yo,Yo<<=1,!(Yo&130023424)&&(Yo=4194304)):t=1);var i=fi();e=Es(e,t),e!==null&&(Eo(e,t,i),xi(e,i))}function Cw(e){var t=e.memoizedState,i=0;t!==null&&(i=t.retryLane),Rg(e,i)}function kw(e,t){var i=0;switch(e.tag){case 13:var s=e.stateNode,r=e.memoizedState;r!==null&&(i=r.retryLane);break;case 19:s=e.stateNode;break;default:throw Error(de(314))}s!==null&&s.delete(t),Rg(e,i)}var Tg;Tg=function(e,t,i){if(e!==null)if(e.memoizedProps!==t.pendingProps||Si.current)yi=!0;else{if(!(e.lanes&i)&&!(t.flags&128))return yi=!1,dw(e,t,i);yi=!!(e.flags&131072)}else yi=!1,wt&&t.flags&1048576&&Nm(t,Va,t.index);switch(t.lanes=0,t.tag){case 2:var s=t.type;ka(e,t),e=t.pendingProps;var r=rr(t,ri.current);tr(t,i),r=ph(null,t,s,e,r,i);var l=mh();return t.flags|=1,typeof r=="object"&&r!==null&&typeof r.render=="function"&&r.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,bi(s)?(l=!0,Ua(t)):l=!1,t.memoizedState=r.state!==null&&r.state!==void 0?r.state:null,ch(t),r.updater=bl,t.stateNode=r,r._reactInternals=t,Zc(t,s,e,i),t=tu(null,t,s,!0,l,i)):(t.tag=0,wt&&l&&ih(t),di(null,t,r,i),t=t.child),t;case 16:s=t.elementType;e:{switch(ka(e,t),e=t.pendingProps,r=s._init,s=r(s._payload),t.type=s,r=t.tag=Lw(s),e=Xi(s,e),r){case 0:t=eu(null,t,s,e,i);break e;case 1:t=Gd(null,t,s,e,i);break e;case 11:t=Vd(null,t,s,e,i);break e;case 14:t=Kd(null,t,s,Xi(s.type,e),i);break e}throw Error(de(306,s,""))}return t;case 0:return s=t.type,r=t.pendingProps,r=t.elementType===s?r:Xi(s,r),eu(e,t,s,r,i);case 1:return s=t.type,r=t.pendingProps,r=t.elementType===s?r:Xi(s,r),Gd(e,t,s,r,i);case 3:e:{if(dg(t),e===null)throw Error(de(387));s=t.pendingProps,l=t.memoizedState,r=l.element,Fm(e,t),qa(t,s,null,i);var p=t.memoizedState;if(s=p.element,l.isDehydrated)if(l={element:s,isDehydrated:!1,cache:p.cache,pendingSuspenseBoundaries:p.pendingSuspenseBoundaries,transitions:p.transitions},t.updateQueue.baseState=l,t.memoizedState=l,t.flags&256){r=cr(Error(de(423)),t),t=qd(e,t,s,i,r);break e}else if(s!==r){r=cr(Error(de(424)),t),t=qd(e,t,s,i,r);break e}else for(Ai=Us(t.stateNode.containerInfo.firstChild),Mi=t,wt=!0,Zi=null,i=Bm(t,null,s,i),t.child=i;i;)i.flags=i.flags&-3|4096,i=i.sibling;else{if(or(),s===r){t=Ls(e,t,i);break e}di(e,t,s,i)}t=t.child}return t;case 5:return Hm(t),e===null&&Yc(t),s=t.type,r=t.pendingProps,l=e!==null?e.memoizedProps:null,p=r.children,Wc(s,r)?p=null:l!==null&&Wc(s,l)&&(t.flags|=32),hg(e,t),di(e,t,p,i),t.child;case 6:return e===null&&Yc(t),null;case 13:return fg(e,t,i);case 4:return uh(t,t.stateNode.containerInfo),s=t.pendingProps,e===null?t.child=ar(t,null,s,i):di(e,t,s,i),t.child;case 11:return s=t.type,r=t.pendingProps,r=t.elementType===s?r:Xi(s,r),Vd(e,t,s,r,i);case 7:return di(e,t,t.pendingProps,i),t.child;case 8:return di(e,t,t.pendingProps.children,i),t.child;case 12:return di(e,t,t.pendingProps.children,i),t.child;case 10:e:{if(s=t.type._context,r=t.pendingProps,l=t.memoizedProps,p=r.value,ft(Ka,s._currentValue),s._currentValue=p,l!==null)if(ts(l.value,p)){if(l.children===r.children&&!Si.current){t=Ls(e,t,i);break e}}else for(l=t.child,l!==null&&(l.return=t);l!==null;){var n=l.dependencies;if(n!==null){p=l.child;for(var o=n.firstContext;o!==null;){if(o.context===s){if(l.tag===1){o=bs(-1,i&-i),o.tag=2;var f=l.updateQueue;if(f!==null){f=f.shared;var _=f.pending;_===null?o.next=o:(o.next=_.next,_.next=o),f.pending=o}}l.lanes|=i,o=l.alternate,o!==null&&(o.lanes|=i),Xc(l.return,i,t),n.lanes|=i;break}o=o.next}}else if(l.tag===10)p=l.type===t.type?null:l.child;else if(l.tag===18){if(p=l.return,p===null)throw Error(de(341));p.lanes|=i,n=p.alternate,n!==null&&(n.lanes|=i),Xc(p,i,t),p=l.sibling}else p=l.child;if(p!==null)p.return=l;else for(p=l;p!==null;){if(p===t){p=null;break}if(l=p.sibling,l!==null){l.return=p.return,p=l;break}p=p.return}l=p}di(e,t,r.children,i),t=t.child}return t;case 9:return r=t.type,s=t.pendingProps.children,tr(t,i),r=Ui(r),s=s(r),t.flags|=1,di(e,t,s,i),t.child;case 14:return s=t.type,r=Xi(s,t.pendingProps),r=Xi(s.type,r),Kd(e,t,s,r,i);case 15:return cg(e,t,t.type,t.pendingProps,i);case 17:return s=t.type,r=t.pendingProps,r=t.elementType===s?r:Xi(s,r),ka(e,t),t.tag=1,bi(s)?(e=!0,Ua(t)):e=!1,tr(t,i),og(t,s,r),Zc(t,s,r,i),tu(null,t,s,!0,e,i);case 19:return pg(e,t,i);case 22:return ug(e,t,i)}throw Error(de(156,t.tag))};function Dg(e,t){return sm(e,t)}function Ew(e,t,i,s){this.tag=e,this.key=i,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=s,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function $i(e,t,i,s){return new Ew(e,t,i,s)}function kh(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Lw(e){if(typeof e=="function")return kh(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Wu)return 11;if(e===Vu)return 14}return 2}function Gs(e,t){var i=e.alternate;return i===null?(i=$i(e.tag,t,e.key,e.mode),i.elementType=e.elementType,i.type=e.type,i.stateNode=e.stateNode,i.alternate=e,e.alternate=i):(i.pendingProps=t,i.type=e.type,i.flags=0,i.subtreeFlags=0,i.deletions=null),i.flags=e.flags&14680064,i.childLanes=e.childLanes,i.lanes=e.lanes,i.child=e.child,i.memoizedProps=e.memoizedProps,i.memoizedState=e.memoizedState,i.updateQueue=e.updateQueue,t=e.dependencies,i.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},i.sibling=e.sibling,i.index=e.index,i.ref=e.ref,i}function Ra(e,t,i,s,r,l){var p=2;if(s=e,typeof e=="function")kh(e)&&(p=1);else if(typeof e=="string")p=5;else e:switch(e){case On:return dn(i.children,r,l,t);case Uu:p=8,r|=8;break;case bc:return e=$i(12,i,t,r|2),e.elementType=bc,e.lanes=l,e;case xc:return e=$i(13,i,t,r),e.elementType=xc,e.lanes=l,e;case Cc:return e=$i(19,i,t,r),e.elementType=Cc,e.lanes=l,e;case Hp:return kl(i,r,l,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case jp:p=10;break e;case Fp:p=9;break e;case Wu:p=11;break e;case Vu:p=14;break e;case Ps:p=16,s=null;break e}throw Error(de(130,e==null?e:typeof e,""))}return t=$i(p,i,t,r),t.elementType=e,t.type=s,t.lanes=l,t}function dn(e,t,i,s){return e=$i(7,e,s,t),e.lanes=i,e}function kl(e,t,i,s){return e=$i(22,e,s,t),e.elementType=Hp,e.lanes=i,e.stateNode={isHidden:!1},e}function rc(e,t,i){return e=$i(6,e,null,t),e.lanes=i,e}function oc(e,t,i){return t=$i(4,e.children!==null?e.children:[],e.key,t),t.lanes=i,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Rw(e,t,i,s,r){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Hl(0),this.expirationTimes=Hl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Hl(0),this.identifierPrefix=s,this.onRecoverableError=r,this.mutableSourceEagerHydrationData=null}function Eh(e,t,i,s,r,l,p,n,o){return e=new Rw(e,t,i,n,o),t===1?(t=1,l===!0&&(t|=8)):t=0,l=$i(3,null,null,t),e.current=l,l.stateNode=e,l.memoizedState={element:s,isDehydrated:i,cache:null,transitions:null,pendingSuspenseBoundaries:null},ch(l),e}function Tw(e,t,i){var s=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:In,key:s==null?null:""+s,children:e,containerInfo:t,implementation:i}}function Ag(e){if(!e)return Ys;e=e._reactInternals;e:{if(Cn(e)!==e||e.tag!==1)throw Error(de(170));var t=e;do{switch(t.tag){case 3:t=t.stateNode.context;break e;case 1:if(bi(t.type)){t=t.stateNode.__reactInternalMemoizedMergedChildContext;break e}}t=t.return}while(t!==null);throw Error(de(171))}if(e.tag===1){var i=e.type;if(bi(i))return Am(e,i,t)}return t}function Mg(e,t,i,s,r,l,p,n,o){return e=Eh(i,s,!0,e,r,l,p,n,o),e.context=Ag(null),i=e.current,s=fi(),r=Ks(i),l=bs(s,r),l.callback=t??null,Ws(i,l,r),e.current.lanes=r,Eo(e,r,s),xi(e,s),e}function El(e,t,i,s){var r=t.current,l=fi(),p=Ks(r);return i=Ag(i),t.context===null?t.context=i:t.pendingContext=i,t=bs(l,p),t.payload={element:e},s=s===void 0?null:s,s!==null&&(t.callback=s),e=Ws(r,t,p),e!==null&&(es(e,r,p,l),ba(e,r,p)),p}function il(e){if(e=e.current,!e.child)return null;switch(e.child.tag){case 5:return e.child.stateNode;default:return e.child.stateNode}}function rf(e,t){if(e=e.memoizedState,e!==null&&e.dehydrated!==null){var i=e.retryLane;e.retryLane=i!==0&&i<t?i:t}}function Lh(e,t){rf(e,t),(e=e.alternate)&&rf(e,t)}function Dw(){return null}var Ng=typeof reportError=="function"?reportError:function(e){console.error(e)};function Rh(e){this._internalRoot=e}Ll.prototype.render=Rh.prototype.render=function(e){var t=this._internalRoot;if(t===null)throw Error(de(409));El(e,t,null,null)};Ll.prototype.unmount=Rh.prototype.unmount=function(){var e=this._internalRoot;if(e!==null){this._internalRoot=null;var t=e.containerInfo;_n(function(){El(null,e,null,null)}),t[ks]=null}};function Ll(e){this._internalRoot=e}Ll.prototype.unstable_scheduleHydration=function(e){if(e){var t=um();e={blockedOn:null,target:e,priority:t};for(var i=0;i<Os.length&&t!==0&&t<Os[i].priority;i++);Os.splice(i,0,e),i===0&&dm(e)}};function Th(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function Rl(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11&&(e.nodeType!==8||e.nodeValue!==" react-mount-point-unstable "))}function of(){}function Aw(e,t,i,s,r){if(r){if(typeof s=="function"){var l=s;s=function(){var f=il(p);l.call(f)}}var p=Mg(t,s,e,0,null,!1,!1,"",of);return e._reactRootContainer=p,e[ks]=p.current,co(e.nodeType===8?e.parentNode:e),_n(),p}for(;r=e.lastChild;)e.removeChild(r);if(typeof s=="function"){var n=s;s=function(){var f=il(o);n.call(f)}}var o=Eh(e,0,!1,null,null,!1,!1,"",of);return e._reactRootContainer=o,e[ks]=o.current,co(e.nodeType===8?e.parentNode:e),_n(function(){El(t,o,i,s)}),o}function Tl(e,t,i,s,r){var l=i._reactRootContainer;if(l){var p=l;if(typeof r=="function"){var n=r;r=function(){var o=il(p);n.call(o)}}El(t,p,e,r)}else p=Aw(i,t,e,r,s);return il(p)}lm=function(e){switch(e.tag){case 3:var t=e.stateNode;if(t.current.memoizedState.isDehydrated){var i=Fr(t.pendingLanes);i!==0&&(qu(t,i|1),xi(t,Dt()),!(Ze&6)&&(ur=Dt()+500,en()))}break;case 13:_n(function(){var s=Es(e,1);if(s!==null){var r=fi();es(s,e,1,r)}}),Lh(e,1)}};Yu=function(e){if(e.tag===13){var t=Es(e,134217728);if(t!==null){var i=fi();es(t,e,134217728,i)}Lh(e,134217728)}};cm=function(e){if(e.tag===13){var t=Ks(e),i=Es(e,t);if(i!==null){var s=fi();es(i,e,t,s)}Lh(e,t)}};um=function(){return rt};hm=function(e,t){var i=rt;try{return rt=e,t()}finally{rt=i}};Pc=function(e,t,i){switch(t){case"input":if(Lc(e,i),t=i.name,i.type==="radio"&&t!=null){for(i=e;i.parentNode;)i=i.parentNode;for(i=i.querySelectorAll("input[name="+JSON.stringify(""+t)+'][type="radio"]'),t=0;t<i.length;t++){var s=i[t];if(s!==e&&s.form===e.form){var r=wl(s);if(!r)throw Error(de(90));zp(s),Lc(s,r)}}}break;case"textarea":Wp(e,i);break;case"select":t=i.value,t!=null&&Jn(e,!!i.multiple,t,!1)}};Jp=bh;Zp=_n;var Mw={usingClientEntryPoint:!1,Events:[Ro,Hn,wl,Yp,Xp,bh]},Dr={findFiberByHostInstance:ln,bundleType:0,version:"18.3.1",rendererPackageName:"react-dom"},Nw={bundleType:Dr.bundleType,version:Dr.version,rendererPackageName:Dr.rendererPackageName,rendererConfig:Dr.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:Ts.ReactCurrentDispatcher,findHostInstanceByFiber:function(e){return e=tm(e),e===null?null:e.stateNode},findFiberByHostInstance:Dr.findFiberByHostInstance||Dw,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 oa=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(!oa.isDisabled&&oa.supportsFiber)try{ml=oa.inject(Nw),ms=oa}catch{}}Pi.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED=Mw;Pi.createPortal=function(e,t){var i=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!Th(t))throw Error(de(200));return Tw(e,t,null,i)};Pi.createRoot=function(e,t){if(!Th(e))throw Error(de(299));var i=!1,s="",r=Ng;return t!=null&&(t.unstable_strictMode===!0&&(i=!0),t.identifierPrefix!==void 0&&(s=t.identifierPrefix),t.onRecoverableError!==void 0&&(r=t.onRecoverableError)),t=Eh(e,1,!1,null,null,i,!1,s,r),e[ks]=t.current,co(e.nodeType===8?e.parentNode:e),new Rh(t)};Pi.findDOMNode=function(e){if(e==null)return null;if(e.nodeType===1)return e;var t=e._reactInternals;if(t===void 0)throw typeof e.render=="function"?Error(de(188)):(e=Object.keys(e).join(","),Error(de(268,e)));return e=tm(t),e=e===null?null:e.stateNode,e};Pi.flushSync=function(e){return _n(e)};Pi.hydrate=function(e,t,i){if(!Rl(t))throw Error(de(200));return Tl(null,e,t,!0,i)};Pi.hydrateRoot=function(e,t,i){if(!Th(e))throw Error(de(405));var s=i!=null&&i.hydratedSources||null,r=!1,l="",p=Ng;if(i!=null&&(i.unstable_strictMode===!0&&(r=!0),i.identifierPrefix!==void 0&&(l=i.identifierPrefix),i.onRecoverableError!==void 0&&(p=i.onRecoverableError)),t=Mg(t,null,e,1,i??null,r,!1,l,p),e[ks]=t.current,co(e),s)for(e=0;e<s.length;e++)i=s[e],r=i._getVersion,r=r(i._source),t.mutableSourceEagerHydrationData==null?t.mutableSourceEagerHydrationData=[i,r]:t.mutableSourceEagerHydrationData.push(i,r);return new Ll(t)};Pi.render=function(e,t,i){if(!Rl(t))throw Error(de(200));return Tl(null,e,t,!1,i)};Pi.unmountComponentAtNode=function(e){if(!Rl(e))throw Error(de(40));return e._reactRootContainer?(_n(function(){Tl(null,null,e,!1,function(){e._reactRootContainer=null,e[ks]=null})}),!0):!1};Pi.unstable_batchedUpdates=bh;Pi.unstable_renderSubtreeIntoContainer=function(e,t,i,s){if(!Rl(i))throw Error(de(200));if(e==null||e._reactInternals===void 0)throw Error(de(38));return Tl(e,t,i,!1,s)};Pi.version="18.3.1-next-f1338f8080-20240426";function Pg(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Pg)}catch(e){console.error(e)}}Pg(),Pp.exports=Pi;var Do=Pp.exports,Ig,af=Do;Ig=af.createRoot,af.hydrateRoot;const Og={"common.save":"Save","common.cancel":"Cancel","common.confirm":"Confirm","common.ok":"OK","common.close":"Close","common.delete":"Delete","common.copy":"Copy","common.rename":"Rename","common.create":"Create","common.back":"Back","common.open":"Open","common.loading":"Loading…","common.done":"Done","token.title":"Access token required","token.placeholder":"Paste HANDMUX_TOKEN","settings.language":"Language","home.empty":"No files opened yet","home.emptyHint":'Switch to "New" to pick one',"home.remove":"Remove","drawer.empty":"No sessions bound yet","drawer.unbind":"Unbind","drawer.bind":"Bind session","drawer.logout":"Log out","windowbar.newWindow":"New window","rename.new_name":"New name","rename.name_placeholder":"Short name","rename.name_rule":"Letters, digits, hyphens only (≤16)","rename.failed":"Rename failed, please retry","rename.saving":"Saving…","newwindow.title":"New window","newwindow.window_name":"Window name (optional)","newwindow.name_placeholder":"Leave blank to auto-name","newwindow.name_rule":"Letters, digits, hyphens only (≤16)","newwindow.start_dir":"Start directory","newwindow.session_dir_named":"{dir} (session dir)","newwindow.session_dir_default":"Session dir (default)","newwindow.choose":"Choose","newwindow.reset_to_session_dir":"Reset to session dir","newwindow.creating":"Creating…","startup.label":"Startup command (optional)","startup.aria":"Startup command","startup.preset_shell":"Plain shell (default)","startup.preset_claude":"claude (launch Claude Code)","startup.preset_claude_continue":"claude -c (resume last session)","startup.preset_codex":"codex (launch Codex CLI)","startup.custom":"Custom…","startup.custom_placeholder":'e.g. claude "fix login bug"',"bind.title":"Bind session","bind.sessionName":"Session name","bind.namePlaceholder":"New session name","bind.pickSession":"Choose a session to bind","bind.newSession":"+ New session","bind.alreadyExists":"Session already exists","bind.bind":"Bind","bind.checking":"Checking…","bind.createAndOpen":"Create & open","bind.creating":"Creating…","bind.createHint":`Session "{name}" doesn't exist — tap "Create & open" to create it`,"bind.alreadyBound":"Session already bound","bind.createFailed":"Create failed, please retry","bind.invalidName":"Only letters, digits, hyphens (≤16)","bind.desktopHint":"On the computer, one command takes any session here back over: handmux open <name>","bind.checkFailed":"Check failed, please retry","bind.startDir":"Start directory","bind.homeDirDefault":"Home directory (default)","bind.choose":"Choose","bind.reset":"Reset","actionsheet.confirmAgain":"Confirm? Tap again","dirpicker.title":"Choose directory","inbox.title":"Inbox","inbox.working":"Working","inbox.done":"Done","inbox.needs":"Needs you","inbox.clearDone":"Clear done","inbox.empty":"No pane status yet","inbox.enableTitle":"Turn on AI session notifications","inbox.enableHint":"Tag every Claude / Codex pane working / waiting on you / done, and get pinged when one needs you.","inbox.enableBtn":"Enable","inbox.enabling":"Enabling…","inbox.enableFailed":"Could not enable — check the server logs.","drawer.orphans.title":"{n} not taken over","drawer.orphans.hint":"Take over to control remotely","inbox.orphans.takeover":"Take over","inbox.orphans.noSession":"no resumable history","inbox.orphans.busy":"busy","inbox.orphans.idle":"idle","inbox.orphans.working":"Taking over…","inbox.orphans.failed":"Takeover failed","inbox.orphans.targetLabel":"Take over into","inbox.orphans.targetNew":"New session","inbox.orphans.nameLabel":"Session name","inbox.orphans.namePlaceholder":"session name","inbox.orphans.killTitle":"The original process","inbox.orphans.killEnd":"End it","inbox.orphans.killKeep":"Keep it","inbox.orphans.recommended":"Recommended","inbox.orphans.killWhy":"If the same session is written from both your computer and your phone, its history gets scrambled. Ending the original lets this device own it cleanly.","inbox.orphans.reopenPre":"Want to continue on the computer instead? Run in a terminal:","idea.title":"Ideas","idea.editPlaceholder":"Edit idea…","idea.addPlaceholder":"Jot an idea…","idea.add":"Add","idea.empty":"No ideas yet — jot one down","idea.dragSort":"Drag to reorder","idea.fillInput":"Fill into input","idea.send":"Send","doclink.title":"Open file","changelog.title":"What's new","preview.dynamic":"Dynamic preview","preview.static":"Static preview","preview.remainTitle":"Time left — tap to renew / stop","preview.toPcView":"Switch to desktop view","preview.toMobileView":"Switch to mobile view","preview.pcView":"Desktop view","preview.mobileView":"Mobile view","preview.refresh":"Refresh","preview.minimize":"Minimize","preview.ttlDialog":"Preview lifetime","preview.renew":"Renew (reset to 1 hour)","preview.stop":"Stop preview","preview.iframeTitle":"Preview","preview.zoomOut":"Zoom out","preview.zoomIn":"Zoom in","imageviewer.loadFailed":"Failed to load image","imageviewer.saved":"Saved — find it in your album/gallery or Downloads","imageviewer.shareUnsupported":"Image sharing requires Chrome or Safari","imageviewer.zoomOut":"Zoom out","imageviewer.zoomIn":"Zoom in","imageviewer.imageTitle":"Image","imageviewer.saveImage":"Save image","imageviewer.shareImage":"Share image","mic.stop":"Stop voice input","mic.start":"Voice input","dock.send":"Send","dock.send.hint":"Tap to send · hold to insert","dock.phrases":"Phrases","dock.attach":"Upload","dock.history":"History","dock.kbdShow":"Keyboard","dock.kbdHide":"Hide keyboard","history.empty":"No history yet","history.scope":"This window only","dock.input.placeholder":"Say something…","dock.command.placeholder":"Type a command · Enter runs it","dock.mode.agent":"Chat","dock.mode.toggle":"Switch input mode","dock.mode.command":"Command","dock.mode.chat":"Chat","fav.title":"Favorites","fav.add":"Add","fav.addPlaceholder":"Add a favorite…","cmd.editTitle":"Saved commands","cmd.global":"GLOBAL","cmd.window":"THIS WINDOW","cmd.withEnter":"Send directly","cmd.addPlaceholder":"Add a command…","cmd.tabCmd":"Command","cmd.tabKey":"Key","cmd.addTo":"Add to","cmd.addTitle":"Add","cmd.editItem":"Edit","cmd.sticky":"Modifier","cmd.stickyNone":"None","cmd.baseKey":"Key","cmd.pickKey":"Pick a key","cmd.moveUp":"Move up","cmd.moveDown":"Move down","cmd.empty":"None yet","chat.editTitle":"Saved messages","chat.favs":"Saved","chat.tabMsg":"Message","chat.addPlaceholder":"Message / slash-command…","dock.upload.aria":"Upload file","dock.upload.title":"Upload file (saved to home upload area, not the project)","dock.upload.progress":"Uploading {name}{tag}","dock.upload.failed":"Upload failed: {names}","dock.upload.rejected":"Unsupported file type: {names}","app.nameExists":"That name already exists","app.renameFailed":"Rename failed, please retry","app.deleteFailed":"Delete failed, please retry","app.moveFailed":"Move failed, please retry","app.sessionGone":'Session "{name}" not found, it may have closed',"app.docNotFound":"File not found","app.docTooLarge":"File too large (over 2MB)","app.docUnsupported":"Unsupported file or path","app.docOpenFailed":"Open failed, please retry","app.preview":"Preview","app.openPreview":"Open preview","app.ideas":"Ideas","app.files":"Files","app.settings":"Settings","usage.title":"Usage","usage.win5h":"5-hour","usage.winWeekly":"Weekly","usage.winMonthly":"Monthly","usage.winGeneric":"{h}h window","usage.winPrimary":"Limit","usage.winSecondary":"Secondary","usage.resetIn":"resets in {t}","usage.resetSoon":"resetting…","usage.claudeOff":"Not wired yet — Claude's 5h/weekly usage needs the handmux statusLine:","usage.claudePending":"No data yet — send a message in a Claude session, then reopen.","usage.codexOff":"Codex not detected on this machine.","usage.codexNoQuota":"No quota data in the latest session yet.","usage.loadFailed":"Failed to load usage.","usage.updatedNow":"updated just now","usage.updatedMin":"updated {n}m ago","usage.updatedHr":"updated {n}h ago","usage.updatedDay":"updated {n}d ago","usage.activityNote":"Updates on new messages","usage.timeMark":"Time elapsed in this window","app.renameSession":"Rename session","app.renameWindow":"Rename window","app.moveLeft":"◀ Move left","app.moveRight":"Move right ▶","app.deleteWindow":"Delete window","app.deleteLastWindowConfirm":"This is the last window; deleting it closes the whole session! Tap again","app.deleteConfirm":"Delete? Tap again","app.cannotLocate":"Cannot locate","app.pickItsDir":", pick the directory it lives in:","app.noBoundSession":"No bound session yet","app.tapToBind":"Tap here to bind one","app.selectSessionHint":"Tap ☰ at the top-left to pick a session","app.backToExit":"Press Back again to exit","settings.title":"Settings","settings.group_global":"Global settings","settings.font_size":"Font size","settings.font_decrease":"Decrease font size","settings.font_increase":"Increase font size","settings.font_auto":"Auto","settings.font_auto_title":"Auto-fit to height","settings.path_highlight":"Highlight file paths","settings.path_highlight_hint":"Tint tappable file paths in the terminal. Paths stay tappable either way.","settings.whats_new":"What's new","settings.view_changelog":"View changelog","settings.has_update":"Has update","settings.version":"Version","settings.feedback":"Feedback","settings.feedback_issues":"GitHub Issues","settings.feedback_group":"WeChat group","settings.feedback_hint":"Bugs and ideas welcome — issues are tracked and answered.","settings.update_available":"Version {v} available","settings.update_how":"On your computer, run","settings.push_notifications":"Push notifications","settings.notify_on":"Enabled ✓","settings.notify_enable":"Enable device notifications","settings.notify_enabled":"Enabled, you should receive a welcome notification","settings.notify_disabled":"Disabled","settings.notify_failed":"Operation failed","settings.processing":"Processing","settings.push_hint":'Listens for "Needs you" and "Done": when a watched session needs your authorization/answer, or a turn just finished, a push is sent to this device.',"settings.push_unsupported":"Push requires Chrome or Safari","settings.group_session":"Current session settings","settings.screen_cols":"Screen columns","settings.cols_dec":"Fewer","settings.cols_dec_title":"Fewer columns","settings.cols_inc":"More","settings.cols_inc_title":"More columns","settings.cols_restore":"Default","settings.cols_restore_title":"Restore default window size","settings.preview_site":"Preview site","settings.preview_static_site":"Preview static site","settings.preview_running_dynamic":"Dynamic preview running","settings.preview_running_static":"Static preview running","settings.preview_remain_title":"Time remaining","settings.preview_remain":"{time} left","settings.preview_renew":"Renew","settings.preview_confirm_stop":"Confirm stop","settings.preview_stop":"Stop","settings.preview_name":"Name: {name}","settings.preview_port":"(port :{port})","settings.preview_type":"Preview type","settings.preview_off":"Off","settings.preview_static":"Static","settings.preview_dynamic":"Dynamic","settings.preview_off_hint":'Preview is off. Choose "Static" to start.',"settings.preview_off_hint_both":'Preview is off. Choose "Static" or "Dynamic" to start.',"settings.preview_dynamic_disabled":"Dynamic port preview is off. To turn it on, point a wildcard preview domain (previewDomain, e.g. *.example.com) at the gateway with a matching TLS cert. See the README for the Cloudflare vs self-hosted specifics.","settings.preview_pick_dir":"Pick directory & start","settings.preview_static_hint":"Pick a directory containing index.html to preview on your phone.","settings.preview_port_placeholder":"Port, e.g. 3000","settings.preview_port_label":"Port","settings.preview_starting":"Starting…","settings.preview_start":"Start","settings.preview_dynamic_hint":"Enter a port running on this machine (dev server / backend); your phone accesses it directly via a subdomain.","settings.dir_picker_hint":"Pick the static site directory to preview (containing index.html)","settings.err_port_not_listening":"That port is not listening; make sure the service is running","settings.err_bad_port":"Invalid port (1–65535)","settings.err_dynamic_disabled":"Dynamic preview is not enabled","settings.err_start_failed":"Failed to start","filebrowser.openDirFailed":"Cannot open this directory","filebrowser.copiedPath":"Path copied: {abs}","filebrowser.mkdirFailed":"Failed to create folder (invalid name or already exists)","filebrowser.downloading":"Downloading {name}","filebrowser.downloadFailed":"Download failed","filebrowser.uploading":"Uploading {name}{tag}","filebrowser.uploadFailed":"Upload failed","filebrowser.uploadPartialFailed":"These files failed to upload: {names}","filebrowser.uploadRejected":"Unsupported file type: {names}","filebrowser.sessionDir":"Session directory","filebrowser.jumpToSessionDir":"Jump to current session directory","filebrowser.parentDir":"Parent directory","filebrowser.rootSelect":"Switch root (home / temp dirs)","filebrowser.pathPlaceholder":"Enter path (live filter / jump)","filebrowser.newFolder":"New folder","filebrowser.createBtn":"Create","filebrowser.uploadFile":"Upload file","filebrowser.uploadToCurrentDir":"Upload to current directory","filebrowser.enterSubdirToUpload":"Enter a subdirectory to upload","filebrowser.folderNamePlaceholder":"Folder name","filebrowser.uploadPendingTo":"Upload “{name}” to the current directory","filebrowser.enterSubdirFirst":"(enter a subdirectory first)","filebrowser.upload":"Upload","filebrowser.savedToDownloads":"Saved “{name}” to the Downloads folder; view it in the system file manager","filebrowser.noMatches":"No matching files or directories","filebrowser.tooMany":"Showing the first {shown} of {total} — type in the path box to filter","filebrowser.previewUnsupported":"Preview not supported for this file type; tap the button on the right to download","filebrowser.copyAbsPath":"Copy absolute path","filebrowser.download":"Download","filebrowser.pickThisDir":"Select this directory {path}","filebrowser.downloadConfirm":"Download {name}?","filemanager.files":"Files","filemanager.closeTab":"Close tab","filemanager.minimize":"Minimize","filemanager.recent":"Recent","filemanager.directory":"Directory","git.errReadRepo":"Cannot read repository","git.errLoad":"Load failed","git.noRepoInDir":"No git repository here yet — pick another directory, or run git init in this one.","git.outsideRoots":"This folder is outside the area handmux can open — only your home directory and /tmp are reachable. Move the repo under your home directory to browse it here.","git.errReadDir":"Cannot read this directory","git.commitDetail":"Commit details","git.diff":"Diff","git.bindRepo":"Bind repository","git.collapse":"Collapse","git.currentBranch":"Current branch","git.switchViewedBranch":"Switch viewed branch","git.switchBranch":"Switch branch","git.noBranches":"No branches","git.noRepoBound":'No repository bound — tap "+" at the top left to choose a directory.',"git.changes":"Changes","git.commits":"Commits","git.pullToLoadMore":"Pull to load more","git.pickerHint":"Choose a directory to auto-discover git repositories inside it","git.cleanTree":"Working tree clean","git.noCommits":"No commits","git.noDiff":"No diff","git.fontSmaller":"Decrease font size","git.fontLarger":"Increase font size","git.diffTruncated":"Diff too large, truncated","cmd.panel":"Command panel","cmd.title":"Commands","cmd.empty":"No commands yet — send one or save a favorite","cmd.favorites":"Favorites","cmd.scopeGlobal":"Global · all sessions","cmd.recent":"Recent","cmd.scopeSession":"This session only","cmd.favorite":"Favorite","cmd.unfavorite":"Unfavorite","doc.home":"Recent","doc.read":"Read aloud","doc.pauseRead":"Pause reading","doc.resumeRead":"Resume reading","doc.stopRead":"Stop reading","doc.rate":"Speed","doc.fontSmaller":"Smaller font","doc.fontLarger":"Larger font","inbox.view.working":"Running","inbox.view.done":"Completed","inbox.view.needs":"Needs you","push.unsupported":"Push notifications require Chrome or Safari","push.iosAddToHome":'On iOS, first "Add to Home Screen", then open from the home-screen icon to enable',"a2hs.title":"Add handmux to your Home Screen","a2hs.lead":"Open it like an app — full-screen, no address bar. On iPhone it’s also how push reaches you the moment a pane needs you.","a2hs.install":"Install handmux","a2hs.ios1":"Tap the Share button (the ⬆︎ box) in Safari.","a2hs.ios2":"Tap “More”, or scroll down the list.","a2hs.ios3":"Choose “Add to Home Screen”, then “Add”.","a2hs.iosHint":"In Safari: Share → More → Add to Home Screen.","a2hs.iosOpenSafari":"You’re not in Safari. Open this page in Safari, then add it to your Home Screen — other iOS browsers can’t install it.","a2hs.androidManual":"Open your browser menu (⋮) and choose “Add to Home screen” or “Install app”.","a2hs.later":"Maybe later","push.permissionDenied":"Notification permission denied","push.noVapid":"Push is not configured on the server (VAPID)","push.subscribeFailed":"Failed to report subscription","push.sendFailed":"Send failed","api.loadFailed":"Load failed","api.uploadFailed":"Upload failed","upload.title":"Uploading","upload.processing":"Sent — receiving on the server…","api.uploadBadDir":"Cannot upload to this directory","api.uploadDuplicate":"A file with this name already exists","api.uploadTooLarge":"File too large (50MB limit)","api.uploadBadType":"Unsupported file type","time.secAgo":"{n}s ago","time.minAgo":"{n}m ago","time.hourAgo":"{n}h ago","time.dayAgo":"{n}d ago","time.expired":"Expired","time.minutes":"{n} min","settings.script_push":"Script push","settings.script_push_open":"How it works","settings.script_push_hint":"Let a script on your computer push a notification to your phone.","scriptPush.title":"Script push","scriptPush.intro":"Let scripts on your computer reuse handmux’s push channel: on the machine running handmux, one `handmux push` command sends a notification to your phone — handy when a build, CI run, or long task finishes, with no separate push service to wire up.","scriptPush.copied":"Copied","scriptPush.session_placeholder":"<session>","scriptPush.device_placeholder":"<device-key>","scriptPush.scope_all":"All subscribed devices (default)","scriptPush.scope_session":"Only devices in one session","scriptPush.scope_device":"Only this device","scriptPush.device_key_note":"The key above is this device’s — copy and run as-is.","scriptPush.device_need_enable":"Turn on push notifications above first to generate this device’s key.","scriptPush.opts_label":"Optional (append to any of the above)","scriptPush.opt_tag":"--tag <tag> — the same tag replaces the previous push instead of stacking.","scriptPush.opt_url":"--url <path> — opens this path when the notification is tapped.","scriptPush.reliability":"Heads-up: Web Push goes through the phone OS (FCM/APNs) and is best-effort — battery-saver, offline, or vendor policy can delay or drop it. It is not a guaranteed real-time channel. For delivery-critical alerts use a dedicated IM (WeChat / Telegram bot, etc.)."},Pw={"common.save":"保存","common.cancel":"取消","common.confirm":"确认","common.ok":"确定","common.close":"关闭","common.delete":"删除","common.copy":"复制","common.rename":"重命名","common.create":"新建","common.back":"返回","common.open":"打开","common.loading":"加载中…","common.done":"完成","token.title":"需要访问 token","token.placeholder":"粘贴 HANDMUX_TOKEN","settings.language":"语言 Language","home.empty":"还没有打开过文件","home.emptyHint":"切到「新增」去挑一个","home.remove":"移除","drawer.empty":"还没有绑定会话","drawer.unbind":"解绑","drawer.bind":"绑定会话","drawer.logout":"退出登录","windowbar.newWindow":"新建窗口","rename.new_name":"新名称","rename.name_placeholder":"名字缩写","rename.name_rule":"只能用字母、数字、横线(≤16)","rename.failed":"重命名失败,请重试","rename.saving":"保存中…","newwindow.title":"新建窗口","newwindow.window_name":"窗口名称(可选)","newwindow.name_placeholder":"留空自动命名","newwindow.name_rule":"只能用字母、数字、横线(≤16)","newwindow.start_dir":"起始目录","newwindow.session_dir_named":"{dir}(会话目录)","newwindow.session_dir_default":"会话目录(默认)","newwindow.choose":"选择","newwindow.reset_to_session_dir":"重置为会话目录","newwindow.creating":"新建中…","startup.label":"启动命令(可选)","startup.aria":"启动命令","startup.preset_shell":"空 shell(默认)","startup.preset_claude":"claude(启动 Claude Code)","startup.preset_claude_continue":"claude -c(接着上次会话)","startup.preset_codex":"codex(启动 Codex CLI)","startup.custom":"自定义…","startup.custom_placeholder":'例如 claude "修复登录bug"',"bind.title":"绑定会话","bind.sessionName":"会话名称","bind.namePlaceholder":"新会话名","bind.pickSession":"选择要绑定的会话","bind.newSession":"+ 新建会话","bind.alreadyExists":"该会话已存在","bind.bind":"绑定","bind.checking":"校验中…","bind.createAndOpen":"新建并打开","bind.creating":"新建中…","bind.createHint":"会话「{name}」不存在,点「新建并打开」创建","bind.alreadyBound":"已绑定该会话","bind.createFailed":"新建失败,请重试","bind.invalidName":"只能用字母、数字、横线(≤16)","bind.desktopHint":"这里的会话(包括手机新建的),电脑上一条命令即可接管:handmux open <会话名>","bind.checkFailed":"校验失败,请重试","bind.startDir":"起始目录","bind.homeDirDefault":"主目录(默认)","bind.choose":"选择","bind.reset":"重置","actionsheet.confirmAgain":"确认?再点一次","dirpicker.title":"选择目录","inbox.title":"收件箱","inbox.working":"进行中","inbox.done":"已完成","inbox.needs":"需要你","inbox.clearDone":"清除已完成","inbox.empty":"暂无面板状态","inbox.enableTitle":"开启 AI 会话通知","inbox.enableHint":"把每个 Claude / Codex 面板标记为进行中 / 需要你 / 已完成,需要你时还会推送提醒。","inbox.enableBtn":"开启","inbox.enabling":"开启中…","inbox.enableFailed":"开启失败 —— 看看服务端日志。","drawer.orphans.title":"{n} 个未接管会话","drawer.orphans.hint":"接管即可远程操控","inbox.orphans.takeover":"接管","inbox.orphans.noSession":"无可续接的历史","inbox.orphans.busy":"运行中","inbox.orphans.idle":"空闲","inbox.orphans.working":"接管中…","inbox.orphans.failed":"接管失败","inbox.orphans.targetLabel":"接管到","inbox.orphans.targetNew":"新建会话","inbox.orphans.nameLabel":"会话名称","inbox.orphans.namePlaceholder":"会话名","inbox.orphans.killTitle":"接管后原来的进程","inbox.orphans.killEnd":"结束","inbox.orphans.killKeep":"保留","inbox.orphans.recommended":"推荐","inbox.orphans.killWhy":"同一个会话如果电脑和手机同时在写,历史记录会错乱。结束原进程后由手机这边独占,更稳妥。","inbox.orphans.reopenPre":"想回电脑上继续?在电脑终端运行:","idea.title":"想法","idea.editPlaceholder":"编辑想法…","idea.addPlaceholder":"记一条想法…","idea.add":"添加","idea.empty":"还没有想法,记一条吧","idea.dragSort":"拖动排序","idea.fillInput":"填入输入框","idea.send":"发送","doclink.title":"打开文件","changelog.title":"新功能","preview.dynamic":"动态预览","preview.static":"静态预览","preview.remainTitle":"剩余有效期 — 点击续期 / 停止","preview.toPcView":"切换到电脑视图","preview.toMobileView":"切换到手机视图","preview.pcView":"电脑视图","preview.mobileView":"手机视图","preview.refresh":"刷新","preview.minimize":"收起","preview.ttlDialog":"预览有效期","preview.renew":"续期(重置为 1 小时)","preview.stop":"停止预览","preview.iframeTitle":"预览","preview.zoomOut":"缩小","preview.zoomIn":"放大","imageviewer.loadFailed":"图片加载失败","imageviewer.saved":"已保存,可在相册/图库或「下载」中查看","imageviewer.shareUnsupported":"图片分享需要 Chrome 或 Safari 浏览器","imageviewer.zoomOut":"缩小","imageviewer.zoomIn":"放大","imageviewer.imageTitle":"图片","imageviewer.saveImage":"保存图片","imageviewer.shareImage":"分享图片","mic.stop":"停止语音输入","mic.start":"语音输入","dock.send":"发送","dock.send.hint":"点发送 · 长按填入","dock.phrases":"常用语","dock.attach":"上传","dock.history":"历史","dock.kbdShow":"展开键盘","dock.kbdHide":"收起键盘","history.empty":"还没有发送记录","history.scope":"仅当前窗口的记录","dock.input.placeholder":"说点什么…","dock.command.placeholder":"输入命令 · 回车执行","dock.mode.agent":"对话","dock.mode.toggle":"切换输入模式","dock.mode.command":"命令模式","dock.mode.chat":"聊天模式","fav.title":"常用","fav.add":"添加","fav.addPlaceholder":"加一条常用…","cmd.editTitle":"常用命令","cmd.global":"全局","cmd.window":"当前窗口","cmd.withEnter":"直接发送","cmd.addPlaceholder":"加一条命令…","cmd.tabCmd":"命令","cmd.tabKey":"按键","cmd.addTo":"添加到","cmd.addTitle":"添加","cmd.editItem":"编辑","cmd.sticky":"粘滞键","cmd.stickyNone":"无","cmd.baseKey":"基键","cmd.pickKey":"选择按键","cmd.moveUp":"上移","cmd.moveDown":"下移","cmd.empty":"还没有","chat.editTitle":"常用消息","chat.favs":"常用","chat.tabMsg":"消息","chat.addPlaceholder":"消息 / 斜杠命令…","dock.upload.aria":"上传文件","dock.upload.title":"上传文件(存到家目录上传区,不进项目)","dock.upload.progress":"上传 {name}{tag}","dock.upload.failed":"上传失败:{names}","dock.upload.rejected":"不支持的文件类型:{names}","app.nameExists":"该名已存在","app.renameFailed":"重命名失败,请重试","app.deleteFailed":"删除失败,请重试","app.moveFailed":"移动失败,请重试","app.sessionGone":"会话「{name}」不存在,可能已关闭","app.docNotFound":"文件不存在","app.docTooLarge":"文件过大(超过 2MB)","app.docUnsupported":"不支持的文件或路径","app.docOpenFailed":"打开失败,请重试","app.preview":"预览","app.openPreview":"打开预览","app.ideas":"想法","app.files":"文件","app.settings":"设置","usage.title":"用量","usage.win5h":"5 小时","usage.winWeekly":"本周","usage.winMonthly":"本月","usage.winGeneric":"{h} 小时窗口","usage.winPrimary":"额度","usage.winSecondary":"次级额度","usage.resetIn":"{t}后重置","usage.resetSoon":"即将重置…","usage.claudeOff":"尚未接入 —— Claude 的 5h/周额度需要 handmux statusLine:","usage.claudePending":"暂无数据 —— 在 Claude 会话里发一条消息,再重新打开。","usage.codexOff":"本机未检测到 Codex。","usage.codexNoQuota":"最近的会话里还没有额度数据。","usage.loadFailed":"加载用量失败。","usage.updatedNow":"刚刚更新","usage.updatedMin":"{n} 分钟前更新","usage.updatedHr":"{n} 小时前更新","usage.updatedDay":"{n} 天前更新","usage.activityNote":"在有新消息时更新","usage.timeMark":"本窗口已过去的时间","app.renameSession":"重命名会话","app.renameWindow":"重命名窗口","app.moveLeft":"◀ 左移","app.moveRight":"右移 ▶","app.deleteWindow":"删除窗口","app.deleteLastWindowConfirm":"这是最后一个窗口,删除将关闭整个会话!再点一次","app.deleteConfirm":"确认删除?再点一次","app.cannotLocate":"无法定位","app.pickItsDir":",请选它所在的目录:","app.noBoundSession":"还没有绑定会话","app.tapToBind":"点此绑定一个","app.selectSessionHint":"点击左上角 ☰ 选择会话","app.backToExit":"再按一次返回键退出","settings.title":"设置","settings.group_global":"全局设置","settings.font_size":"字体大小","settings.font_decrease":"减小字体","settings.font_increase":"增大字体","settings.font_auto":"自适应","settings.font_auto_title":"按高度自动适配","settings.path_highlight":"高亮文件路径","settings.path_highlight_hint":"给终端里可点开的文件路径加底色。无论开关与否,路径都可点开。","settings.whats_new":"新功能","settings.view_changelog":"查看更新日志","settings.has_update":"有更新","settings.version":"版本","settings.feedback":"反馈与交流","settings.feedback_issues":"GitHub 反馈","settings.feedback_group":"微信用户群","settings.feedback_hint":"bug、想法都欢迎——Issue 会被跟踪处理;微信群反馈直达。","settings.update_available":"有新版本 v{v} 可用","settings.update_how":"在电脑上运行","settings.push_notifications":"推送通知","settings.notify_on":"已开启 ✓","settings.notify_enable":"开启设备通知","settings.notify_enabled":"已开启,应会收到一条欢迎通知","settings.notify_disabled":"已关闭","settings.notify_failed":"操作失败","settings.processing":"处理中","settings.push_hint":"监听「需要你」和「已完成」:所关注会话需要你授权/回答,或一个回合刚做完时,推送到此设备。","settings.push_unsupported":"推送需要 Chrome 或 Safari 浏览器","settings.group_session":"当前会话设置","settings.screen_cols":"屏幕列数","settings.cols_dec":"减少","settings.cols_dec_title":"减少列数","settings.cols_inc":"增加","settings.cols_inc_title":"增加列数","settings.cols_restore":"默认","settings.cols_restore_title":"恢复窗口默认尺寸","settings.preview_site":"预览站点","settings.preview_static_site":"预览静态站点","settings.preview_running_dynamic":"动态预览 运行中","settings.preview_running_static":"静态预览 运行中","settings.preview_remain_title":"剩余有效期","settings.preview_remain":"剩 {time}","settings.preview_renew":"续期","settings.preview_confirm_stop":"确认停止","settings.preview_stop":"停止","settings.preview_name":"名称:{name}","settings.preview_port":"(端口 :{port})","settings.preview_type":"预览类型","settings.preview_off":"不开启","settings.preview_static":"静态","settings.preview_dynamic":"动态","settings.preview_off_hint":"未开启预览。选择「静态」开始。","settings.preview_off_hint_both":"未开启预览。选择「静态」或「动态」开始。","settings.preview_dynamic_disabled":"动态端口预览未启用。要开启:把一个通配预览域名(previewDomain,如 *.example.com)指向网关,并配上对应的 TLS 证书。Cloudflare / 自建的证书差异见 README。","settings.preview_pick_dir":"选择目录启动","settings.preview_static_hint":"选一个含 index.html 的目录,在手机上预览。","settings.preview_port_placeholder":"端口,如 3000","settings.preview_port_label":"端口","settings.preview_starting":"启动中…","settings.preview_start":"启动","settings.preview_dynamic_hint":"填本机正在运行的端口(dev server / 后端),手机经子域名直接访问。","settings.dir_picker_hint":"选择要预览的静态站点目录(含 index.html)","settings.err_port_not_listening":"该端口未在监听,请确认服务已启动","settings.err_bad_port":"端口不合法(1–65535)","settings.err_dynamic_disabled":"动态预览未开启","settings.err_start_failed":"启动失败","filebrowser.openDirFailed":"无法打开该目录","filebrowser.copiedPath":"已复制路径:{abs}","filebrowser.mkdirFailed":"新建目录失败(名称非法或已存在)","filebrowser.downloading":"下载 {name}","filebrowser.downloadFailed":"下载失败","filebrowser.uploading":"上传 {name}{tag}","filebrowser.uploadFailed":"上传失败","filebrowser.uploadPartialFailed":"以下文件上传失败:{names}","filebrowser.uploadRejected":"不支持的文件类型:{names}","filebrowser.sessionDir":"会话目录","filebrowser.jumpToSessionDir":"跳到当前会话目录","filebrowser.parentDir":"上级目录","filebrowser.rootSelect":"切换根目录(家目录 / 临时目录)","filebrowser.pathPlaceholder":"输入路径(实时筛选/跳转)","filebrowser.newFolder":"新建文件夹","filebrowser.createBtn":"创建","filebrowser.uploadFile":"上传文件","filebrowser.uploadToCurrentDir":"上传到当前目录","filebrowser.enterSubdirToUpload":"请进入一个子目录上传","filebrowser.folderNamePlaceholder":"文件夹名称","filebrowser.uploadPendingTo":"把「{name}」上传到当前目录","filebrowser.enterSubdirFirst":"(请先进入一个子目录)","filebrowser.upload":"上传","filebrowser.savedToDownloads":"已保存「{name}」到「下载」文件夹,可在系统文件管理器查看","filebrowser.noMatches":"没有匹配的文件或目录","filebrowser.tooMany":"共 {total} 项,只显示前 {shown} 项——在路径框输入关键词可筛选","filebrowser.previewUnsupported":"暂不支持该类型文件的预览,点右侧按钮可下载","filebrowser.copyAbsPath":"复制绝对路径","filebrowser.download":"下载","filebrowser.pickThisDir":"选定此目录 {path}","filebrowser.downloadConfirm":"下载 {name}?","filemanager.files":"文件","filemanager.closeTab":"关闭标签","filemanager.minimize":"最小化","filemanager.recent":"最近","filemanager.directory":"目录","git.errReadRepo":"无法读取仓库","git.errLoad":"加载失败","git.noRepoInDir":"这个目录还不是 git 仓库 —— 换一个目录,或在这里 git init 一下。","git.outsideRoots":"这个目录在 handmux 可访问范围之外 —— 只开放主目录和 /tmp。把仓库放到主目录下,就能在这里查看了。","git.errReadDir":"无法读取该目录","git.commitDetail":"提交详情","git.diff":"差异","git.bindRepo":"绑定仓库","git.collapse":"收起","git.currentBranch":"当前分支","git.switchViewedBranch":"切换查看的分支","git.switchBranch":"切换分支","git.noBranches":"暂无分支","git.noRepoBound":"未绑定仓库,点左上角「+」选择一个目录。","git.changes":"变更","git.commits":"提交","git.pullToLoadMore":"下拉加载更多","git.pickerHint":"选择一个目录,自动查找其中的 git 仓库","git.cleanTree":"工作区干净","git.noCommits":"暂无提交","git.noDiff":"无差异","git.fontSmaller":"缩小字体","git.fontLarger":"放大字体","git.diffTruncated":"diff 过大,已截断","cmd.panel":"命令面板","cmd.title":"命令","cmd.empty":"还没有命令,发送一条或保存常用","cmd.favorites":"常用","cmd.scopeGlobal":"全局 · 所有会话","cmd.recent":"最近","cmd.scopeSession":"仅本会话","cmd.favorite":"收藏","cmd.unfavorite":"取消收藏","doc.home":"最近","doc.read":"朗读","doc.pauseRead":"暂停朗读","doc.resumeRead":"继续朗读","doc.stopRead":"停止朗读","doc.rate":"语速","doc.fontSmaller":"缩小字体","doc.fontLarger":"放大字体","inbox.view.working":"进行中","inbox.view.done":"已完成","inbox.view.needs":"需要你","push.unsupported":"推送通知需要 Chrome 或 Safari 浏览器","push.iosAddToHome":'iOS 需先把本站"添加到主屏幕",从主屏图标打开后再开启',"a2hs.title":"把 handmux 添加到主屏","a2hs.lead":"像 App 一样打开——全屏、没有地址栏。在 iPhone 上,pane 需要你时的推送也靠它送达。","a2hs.install":"安装 handmux","a2hs.ios1":"点 Safari 里的分享按钮(⬆︎ 方框)。","a2hs.ios2":"点「更多」,或向下滑动列表。","a2hs.ios3":"选「添加到主屏幕」,再点「添加」。","a2hs.iosHint":"Safari 里:分享 → 更多 → 添加到主屏幕。","a2hs.iosOpenSafari":"当前不是 Safari。请在 Safari 里打开本页再添加到主屏——其他 iOS 浏览器无法安装。","a2hs.androidManual":"打开浏览器菜单(⋮),选「添加到主屏幕」或「安装应用」。","a2hs.later":"以后再说","push.permissionDenied":"通知权限被拒绝","push.noVapid":"服务端未配置推送(VAPID)","push.subscribeFailed":"订阅上报失败","push.sendFailed":"发送失败","api.loadFailed":"加载失败","api.uploadFailed":"上传失败","upload.title":"上传中","upload.processing":"已发送,服务器接收中…","api.uploadBadDir":"无法上传到该目录","api.uploadDuplicate":"已存在同名文件","api.uploadTooLarge":"文件过大(上限 50MB)","api.uploadBadType":"不支持的文件类型","time.secAgo":"{n}秒前","time.minAgo":"{n}分钟前","time.hourAgo":"{n}小时前","time.dayAgo":"{n}天前","time.expired":"已过期","time.minutes":"{n} 分钟","settings.script_push":"脚本推送","settings.script_push_open":"怎么用","settings.script_push_hint":"让电脑上的脚本把一条通知推到手机。","scriptPush.title":"脚本推送","scriptPush.intro":"让电脑上的脚本复用 handmux 的推送通道:在运行 handmux 的电脑上,一条 handmux push 命令就能把通知推到手机——构建、CI 或长任务结束时提醒你,不用另接推送服务。","scriptPush.copied":"已复制","scriptPush.session_placeholder":"<会话名>","scriptPush.device_placeholder":"<本设备key>","scriptPush.scope_all":"推给所有已订阅设备(默认)","scriptPush.scope_session":"只推某个会话里的设备","scriptPush.scope_device":"只推这台设备","scriptPush.device_key_note":"上面这串 key 就是这台设备的,复制即用。","scriptPush.device_need_enable":"先在上方开启推送通知,才会生成这台设备的 key。","scriptPush.opts_label":"可选参数(追加到上面任意一条后面)","scriptPush.opt_tag":"--tag <标签> —— 相同 tag 会覆盖上一条推送,而不是堆叠。","scriptPush.opt_url":"--url <路径> —— 点击通知时打开这个路径。","scriptPush.reliability":"注意:Web 推送经手机系统(FCM/APNs)中转,属尽力而为——省电模式、离线或厂商策略都可能延迟或丢弃它,并不保证实时送达。对送达强依赖的场景,请改用专门的 IM(微信 / Telegram bot 等)。"},Iw={"common.save":"儲存","common.cancel":"取消","common.confirm":"確認","common.ok":"確定","common.close":"關閉","common.delete":"刪除","common.copy":"複製","common.rename":"重新命名","common.create":"新增","common.back":"返回","common.open":"開啟","common.loading":"載入中…","common.done":"完成","token.title":"需要存取 Token","token.placeholder":"貼上 HANDMUX_TOKEN","settings.language":"語言 Language","home.empty":"尚未開啟任何檔案","home.emptyHint":"切換到「新增」挑選一個","home.remove":"移除","drawer.empty":"尚未綁定工作階段","drawer.unbind":"解除綁定","drawer.bind":"綁定工作階段","drawer.logout":"登出","windowbar.newWindow":"新增視窗","rename.new_name":"新名稱","rename.name_placeholder":"名稱縮寫","rename.name_rule":"只能使用字母、數字、連字號(≤16)","rename.failed":"重新命名失敗,請重試","rename.saving":"儲存中…","newwindow.title":"新增視窗","newwindow.window_name":"視窗名稱(選填)","newwindow.name_placeholder":"留空自動命名","newwindow.name_rule":"只能使用字母、數字、連字號(≤16)","newwindow.start_dir":"起始目錄","newwindow.session_dir_named":"{dir}(工作階段目錄)","newwindow.session_dir_default":"工作階段目錄(預設)","newwindow.choose":"選擇","newwindow.reset_to_session_dir":"重置為工作階段目錄","newwindow.creating":"建立中…","startup.label":"啟動命令(選填)","startup.aria":"啟動命令","startup.preset_shell":"空白 Shell(預設)","startup.preset_claude":"claude(啟動 Claude Code)","startup.preset_claude_continue":"claude -c(繼續上次工作階段)","startup.preset_codex":"codex(啟動 Codex CLI)","startup.custom":"自訂…","startup.custom_placeholder":'例如 claude "修復登入 bug"',"bind.title":"綁定工作階段","bind.sessionName":"工作階段名稱","bind.namePlaceholder":"新工作階段名稱","bind.pickSession":"選擇要綁定的工作階段","bind.newSession":"+ 新增工作階段","bind.alreadyExists":"此工作階段已存在","bind.bind":"綁定","bind.checking":"驗證中…","bind.createAndOpen":"新增並開啟","bind.creating":"建立中…","bind.createHint":"工作階段「{name}」不存在,點「新增並開啟」建立","bind.alreadyBound":"已綁定此工作階段","bind.createFailed":"建立失敗,請重試","bind.invalidName":"只能使用字母、數字、連字號(≤16)","bind.desktopHint":"這裡的工作階段(包括手機新建的),電腦上一條命令即可接管:handmux open <名稱>","bind.checkFailed":"驗證失敗,請重試","bind.startDir":"起始目錄","bind.homeDirDefault":"主目錄(預設)","bind.choose":"選擇","bind.reset":"重置","actionsheet.confirmAgain":"確認?再點一次","dirpicker.title":"選擇目錄","inbox.title":"收件匣","inbox.working":"進行中","inbox.done":"已完成","inbox.needs":"需要你","inbox.clearDone":"清除已完成","inbox.empty":"目前沒有面板狀態","inbox.enableTitle":"開啟 AI 工作階段通知","inbox.enableHint":"將每個 Claude / Codex 面板標記為進行中 / 需要你 / 已完成,需要時也會推播提醒。","inbox.enableBtn":"開啟","inbox.enabling":"開啟中…","inbox.enableFailed":"開啟失敗——請查看伺服器日誌。","idea.title":"想法","idea.editPlaceholder":"編輯想法…","idea.addPlaceholder":"記錄一條想法…","idea.add":"新增","idea.empty":"還沒有想法,記錄一條吧","idea.dragSort":"拖曳排序","idea.fillInput":"填入輸入框","idea.send":"傳送","doclink.title":"開啟檔案","changelog.title":"新功能","preview.dynamic":"動態預覽","preview.static":"靜態預覽","preview.remainTitle":"剩餘有效期 — 點擊續期 / 停止","preview.toPcView":"切換到電腦檢視","preview.toMobileView":"切換到手機檢視","preview.pcView":"電腦檢視","preview.mobileView":"手機檢視","preview.refresh":"重新整理","preview.minimize":"收起","preview.ttlDialog":"預覽有效期","preview.renew":"續期(重置為 1 小時)","preview.stop":"停止預覽","preview.iframeTitle":"預覽","preview.zoomOut":"縮小","preview.zoomIn":"放大","imageviewer.loadFailed":"圖片載入失敗","imageviewer.saved":"已儲存,可在相簿或「下載」中查看","imageviewer.shareUnsupported":"圖片分享需要 Chrome 或 Safari 瀏覽器","imageviewer.zoomOut":"縮小","imageviewer.zoomIn":"放大","imageviewer.imageTitle":"圖片","imageviewer.saveImage":"儲存圖片","imageviewer.shareImage":"分享圖片","mic.stop":"停止語音輸入","mic.start":"語音輸入","dock.send":"傳送","dock.send.hint":"點傳送 · 長按填入","dock.phrases":"常用語","dock.attach":"上傳","dock.history":"歷史","history.empty":"還沒有發送記錄","history.scope":"僅目前視窗的記錄","dock.input.placeholder":"說點什麼…","dock.command.placeholder":"輸入指令 · Enter 執行","dock.mode.agent":"對話","dock.mode.toggle":"切換輸入模式","dock.mode.command":"命令模式","dock.mode.chat":"聊天模式","fav.title":"常用","fav.add":"新增","fav.addPlaceholder":"新增常用…","dock.upload.aria":"上傳檔案","dock.upload.title":"上傳檔案(存到主目錄上傳區,不進專案)","dock.upload.progress":"上傳 {name}{tag}","dock.upload.failed":"上傳失敗:{names}","app.nameExists":"該名稱已存在","app.renameFailed":"重新命名失敗,請重試","app.deleteFailed":"刪除失敗,請重試","app.moveFailed":"移動失敗,請重試","app.sessionGone":"工作階段「{name}」不存在,可能已關閉","app.docNotFound":"檔案不存在","app.docTooLarge":"檔案過大(超過 2MB)","app.docUnsupported":"不支援的檔案或路徑","app.docOpenFailed":"開啟失敗,請重試","app.preview":"預覽","app.openPreview":"開啟預覽","app.ideas":"想法","app.files":"檔案","app.settings":"設定","app.renameSession":"重新命名工作階段","app.renameWindow":"重新命名視窗","app.moveLeft":"◀ 左移","app.moveRight":"右移 ▶","app.deleteWindow":"刪除視窗","app.deleteLastWindowConfirm":"這是最後一個視窗,刪除將關閉整個工作階段!再點一次","app.deleteConfirm":"確認刪除?再點一次","app.cannotLocate":"無法定位","app.pickItsDir":",請選擇所在目錄:","app.noBoundSession":"尚未綁定工作階段","app.tapToBind":"點此綁定一個","app.selectSessionHint":"點擊左上角 ☰ 選擇工作階段","app.backToExit":"再按一次返回鍵結束","settings.title":"設定","settings.group_global":"全域設定","settings.font_size":"字型大小","settings.font_decrease":"縮小字型","settings.font_increase":"放大字型","settings.font_auto":"自適應","settings.font_auto_title":"依高度自動調整","settings.path_highlight":"高亮檔案路徑","settings.path_highlight_hint":"為終端機裡可點開的檔案路徑加底色。無論開關與否,路徑都可點開。","settings.whats_new":"新功能","settings.view_changelog":"查看更新日誌","settings.has_update":"有更新","settings.version":"版本","settings.feedback":"意見回饋","settings.feedback_issues":"GitHub 回報","settings.feedback_group":"微信用戶群","settings.feedback_hint":"bug、想法都歡迎——Issue 會被追蹤處理;微信群回饋直達。","settings.update_available":"有新版本 v{v} 可用","settings.update_how":"在電腦上執行","settings.push_notifications":"推播通知","settings.notify_on":"已開啟 ✓","settings.notify_enable":"開啟裝置通知","settings.notify_enabled":"已開啟,應會收到一則歡迎通知","settings.notify_disabled":"已關閉","settings.notify_failed":"操作失敗","settings.processing":"處理中","settings.push_hint":"監聽「需要你」和「已完成」:所關注工作階段需要授權/回答,或一輪剛完成時,推播到此裝置。","settings.push_unsupported":"推播需要 Chrome 或 Safari 瀏覽器","settings.group_session":"目前工作階段設定","settings.screen_cols":"螢幕欄數","settings.cols_dec":"減少","settings.cols_dec_title":"減少欄數","settings.cols_inc":"增加","settings.cols_inc_title":"增加欄數","settings.cols_restore":"預設","settings.cols_restore_title":"恢復視窗預設尺寸","settings.preview_site":"預覽站台","settings.preview_static_site":"預覽靜態站台","settings.preview_running_dynamic":"動態預覽 執行中","settings.preview_running_static":"靜態預覽 執行中","settings.preview_remain_title":"剩餘有效期","settings.preview_remain":"剩 {time}","settings.preview_renew":"續期","settings.preview_confirm_stop":"確認停止","settings.preview_stop":"停止","settings.preview_name":"名稱:{name}","settings.preview_port":"(連接埠:{port})","settings.preview_type":"預覽類型","settings.preview_off":"不開啟","settings.preview_static":"靜態","settings.preview_dynamic":"動態","settings.preview_off_hint":"未開啟預覽。選擇「靜態」開始。","settings.preview_off_hint_both":"未開啟預覽。選擇「靜態」或「動態」開始。","settings.preview_dynamic_disabled":"動態連接埠預覽未啟用。要開啟:將一個萬用字元預覽網域(previewDomain,如 *.example.com)指向閘道,並設定對應的 TLS 憑證。Cloudflare / 自建憑證差異請見 README。","settings.preview_pick_dir":"選擇目錄啟動","settings.preview_static_hint":"選一個含 index.html 的目錄,在手機上預覽。","settings.preview_port_placeholder":"連接埠,如 3000","settings.preview_port_label":"連接埠","settings.preview_starting":"啟動中…","settings.preview_start":"啟動","settings.preview_dynamic_hint":"填入本機正在執行的連接埠(dev server / 後端),手機透過子網域直接存取。","settings.dir_picker_hint":"選擇要預覽的靜態站台目錄(含 index.html)","settings.err_port_not_listening":"該連接埠未在監聽,請確認服務已啟動","settings.err_bad_port":"連接埠不合法(1–65535)","settings.err_dynamic_disabled":"動態預覽未開啟","settings.err_start_failed":"啟動失敗","filebrowser.openDirFailed":"無法開啟該目錄","filebrowser.copiedPath":"已複製路徑:{abs}","filebrowser.mkdirFailed":"建立目錄失敗(名稱不合法或已存在)","filebrowser.downloading":"下載 {name}","filebrowser.downloadFailed":"下載失敗","filebrowser.uploading":"上傳 {name}{tag}","filebrowser.uploadFailed":"上傳失敗","filebrowser.uploadPartialFailed":"以下檔案上傳失敗:{names}","filebrowser.sessionDir":"工作階段目錄","filebrowser.jumpToSessionDir":"跳到目前工作階段目錄","filebrowser.parentDir":"上層目錄","filebrowser.rootSelect":"切換根目錄(主目錄 / 暫存目錄)","filebrowser.pathPlaceholder":"輸入路徑(即時篩選/跳轉)","filebrowser.newFolder":"新增資料夾","filebrowser.createBtn":"建立","filebrowser.uploadFile":"上傳檔案","filebrowser.uploadToCurrentDir":"上傳到目前目錄","filebrowser.enterSubdirToUpload":"請進入一個子目錄上傳","filebrowser.folderNamePlaceholder":"資料夾名稱","filebrowser.uploadPendingTo":"將「{name}」上傳到目前目錄","filebrowser.enterSubdirFirst":"(請先進入一個子目錄)","filebrowser.upload":"上傳","filebrowser.savedToDownloads":"已儲存「{name}」到「下載」資料夾,可在系統檔案管理員查看","filebrowser.noMatches":"沒有符合的檔案或目錄","filebrowser.tooMany":"共 {total} 項,僅顯示前 {shown} 項——在路徑框輸入關鍵字可篩選","filebrowser.previewUnsupported":"暫不支援此類型檔案的預覽,點右側按鈕可下載","filebrowser.copyAbsPath":"複製絕對路徑","filebrowser.download":"下載","filebrowser.pickThisDir":"選定此目錄 {path}","filebrowser.downloadConfirm":"下載 {name}?","filemanager.files":"檔案","filemanager.closeTab":"關閉標籤","filemanager.minimize":"最小化","filemanager.recent":"最近","filemanager.directory":"目錄","git.errReadRepo":"無法讀取儲存庫","git.errLoad":"載入失敗","git.noRepoInDir":"這個目錄還不是 git 儲存庫 —— 換一個目錄,或在這裡 git init 一下。","git.outsideRoots":"這個目錄在 handmux 可存取範圍之外 —— 只開放主目錄和 /tmp。把儲存庫放到主目錄下,就能在這裡檢視了。","git.errReadDir":"無法讀取該目錄","git.commitDetail":"提交詳情","git.diff":"差異","git.bindRepo":"綁定儲存庫","git.collapse":"收起","git.currentBranch":"目前分支","git.switchViewedBranch":"切換查看的分支","git.switchBranch":"切換分支","git.noBranches":"目前沒有分支","git.noRepoBound":"未綁定儲存庫,點左上角「+」選擇一個目錄。","git.changes":"變更","git.commits":"提交","git.pullToLoadMore":"下拉載入更多","git.pickerHint":"選擇一個目錄,自動尋找其中的 git 儲存庫","git.cleanTree":"工作區乾淨","git.noCommits":"目前沒有提交","git.noDiff":"無差異","git.fontSmaller":"縮小字型","git.fontLarger":"放大字型","git.diffTruncated":"diff 過大,已截斷","cmd.panel":"命令面板","cmd.title":"命令","cmd.empty":"還沒有命令,傳送一條或儲存常用","cmd.favorites":"常用","cmd.scopeGlobal":"全域 · 所有工作階段","cmd.recent":"最近","cmd.scopeSession":"僅本工作階段","cmd.favorite":"收藏","cmd.unfavorite":"取消收藏","doc.home":"最近","doc.read":"朗讀","doc.pauseRead":"暫停朗讀","doc.resumeRead":"繼續朗讀","doc.stopRead":"停止朗讀","doc.rate":"語速","doc.fontSmaller":"縮小字型","doc.fontLarger":"放大字型","inbox.view.working":"進行中","inbox.view.done":"已完成","inbox.view.needs":"需要你","push.unsupported":"推播通知需要 Chrome 或 Safari 瀏覽器","push.iosAddToHome":"iOS 需先將本站「加入主畫面」,從主畫面圖示開啟後再開啟","a2hs.title":"將 handmux 加入主畫面","a2hs.lead":"像 App 一樣開啟——全螢幕、沒有網址列。在 iPhone 上,pane 需要你時的推播也靠它送達。","a2hs.install":"安裝 handmux","a2hs.ios1":"點 Safari 的分享按鈕(⬆︎ 方框)。","a2hs.ios2":"點「更多」,或向下滑動清單。","a2hs.ios3":"選「加入主畫面」,再點「加入」。","a2hs.iosHint":"Safari 裡:分享 → 更多 → 加入主畫面。","a2hs.iosOpenSafari":"目前不是 Safari。請在 Safari 開啟本頁再加入主畫面——其他 iOS 瀏覽器無法安裝。","a2hs.androidManual":"開啟瀏覽器選單(⋮),選「加入主畫面」或「安裝應用程式」。","a2hs.later":"稍後再說","push.permissionDenied":"通知權限被拒絕","push.noVapid":"伺服器未設定推播(VAPID)","push.subscribeFailed":"訂閱回報失敗","push.sendFailed":"傳送失敗","api.loadFailed":"載入失敗","api.uploadFailed":"上傳失敗","upload.title":"上傳中","upload.processing":"已傳送,伺服器接收中…","api.uploadBadDir":"無法上傳到該目錄","api.uploadDuplicate":"已存在同名檔案","api.uploadTooLarge":"檔案過大(上限 50MB)","api.uploadBadType":"不支援的檔案類型","time.secAgo":"{n} 秒前","time.minAgo":"{n} 分鐘前","time.hourAgo":"{n} 小時前","time.dayAgo":"{n} 天前","time.expired":"已過期","time.minutes":"{n} 分鐘","settings.script_push":"腳本推送","settings.script_push_open":"怎麼用","settings.script_push_hint":"讓電腦上的腳本把一條通知推到手機。","scriptPush.title":"腳本推送","scriptPush.intro":"讓電腦上的腳本複用 handmux 的推送通道:在執行 handmux 的電腦上,一條 handmux push 命令就能把通知推到手機——建置、CI 或長任務結束時提醒你,不用另接推送服務。","scriptPush.copied":"已複製","scriptPush.session_placeholder":"<會話名>","scriptPush.device_placeholder":"<本裝置key>","scriptPush.scope_all":"推給所有已訂閱裝置(預設)","scriptPush.scope_session":"只推某個會話裡的裝置","scriptPush.scope_device":"只推這台裝置","scriptPush.device_key_note":"上面這串 key 就是這台裝置的,複製即用。","scriptPush.device_need_enable":"先在上方開啟推送通知,才會生成這台裝置的 key。","scriptPush.opts_label":"可選參數(追加到上面任意一條後面)","scriptPush.opt_tag":"--tag <標籤> —— 相同 tag 會覆蓋上一條推送,而不是堆疊。","scriptPush.opt_url":"--url <路徑> —— 點擊通知時開啟這個路徑。","scriptPush.reliability":"注意:Web 推送經手機系統(FCM/APNs)中轉,屬盡力而為——省電模式、離線或廠商策略都可能延遲或丟棄它,並不保證即時送達。對送達強依賴的場景,請改用專門的 IM(WeChat / Telegram bot 等)。"},Ow={"common.save":"保存","common.cancel":"キャンセル","common.confirm":"確認","common.ok":"OK","common.close":"閉じる","common.delete":"削除","common.copy":"コピー","common.rename":"名前を変更","common.create":"新規作成","common.back":"戻る","common.open":"開く","common.loading":"読み込み中…","common.done":"完了","token.title":"アクセストークンが必要です","token.placeholder":"HANDMUX_TOKEN を貼り付け","settings.language":"言語 Language","home.empty":"ファイルが開かれていません","home.emptyHint":"「新規」タブでファイルを選択してください","home.remove":"削除","drawer.empty":"セッションが紐付けられていません","drawer.unbind":"紐付け解除","drawer.bind":"セッションを紐付け","drawer.logout":"ログアウト","windowbar.newWindow":"新規ウィンドウ","rename.new_name":"新しい名前","rename.name_placeholder":"短い名前","rename.name_rule":"英数字とハイフンのみ(≤16文字)","rename.failed":"名前の変更に失敗しました。再試行してください","rename.saving":"保存中…","newwindow.title":"新規ウィンドウ","newwindow.window_name":"ウィンドウ名(任意)","newwindow.name_placeholder":"空白で自動命名","newwindow.name_rule":"英数字とハイフンのみ(≤16文字)","newwindow.start_dir":"開始ディレクトリ","newwindow.session_dir_named":"{dir}(セッションディレクトリ)","newwindow.session_dir_default":"セッションディレクトリ(デフォルト)","newwindow.choose":"選択","newwindow.reset_to_session_dir":"セッションディレクトリにリセット","newwindow.creating":"作成中…","startup.label":"起動コマンド(任意)","startup.aria":"起動コマンド","startup.preset_shell":"空のシェル(デフォルト)","startup.preset_claude":"claude(Claude Code を起動)","startup.preset_claude_continue":"claude -c(前回のセッションを継続)","startup.preset_codex":"codex(Codex CLI を起動)","startup.custom":"カスタム…","startup.custom_placeholder":'例:claude "ログインバグを修正"',"bind.title":"セッションを紐付け","bind.sessionName":"セッション名","bind.namePlaceholder":"新しいセッション名","bind.pickSession":"紐付けるセッションを選択","bind.newSession":"+ 新規セッション","bind.alreadyExists":"このセッションは既に存在します","bind.bind":"紐付け","bind.checking":"確認中…","bind.createAndOpen":"作成して開く","bind.creating":"作成中…","bind.createHint":"セッション「{name}」が存在しません。「作成して開く」をタップして作成してください","bind.alreadyBound":"このセッションはすでに紐付けられています","bind.createFailed":"作成に失敗しました。再試行してください","bind.invalidName":"英数字とハイフンのみ(≤16文字)","bind.desktopHint":"ここのセッション(スマホで作成したものも)は、PC で 1 コマンドで引き継げます:handmux open <名前>","bind.checkFailed":"確認に失敗しました。再試行してください","bind.startDir":"開始ディレクトリ","bind.homeDirDefault":"ホームディレクトリ(デフォルト)","bind.choose":"選択","bind.reset":"リセット","actionsheet.confirmAgain":"確認しますか?もう一度タップ","dirpicker.title":"ディレクトリを選択","inbox.title":"受信トレイ","inbox.working":"進行中","inbox.done":"完了","inbox.needs":"要対応","inbox.clearDone":"完了済みをクリア","inbox.empty":"パネルの状態なし","inbox.enableTitle":"AI セッション通知を有効にする","inbox.enableHint":"各 Claude / Codex パネルを「進行中」「要対応」「完了」にマークし、対応が必要なときにプッシュ通知を送信します。","inbox.enableBtn":"有効にする","inbox.enabling":"有効化中…","inbox.enableFailed":"有効化に失敗しました——サーバーログを確認してください。","idea.title":"アイデア","idea.editPlaceholder":"アイデアを編集…","idea.addPlaceholder":"アイデアを記録…","idea.add":"追加","idea.empty":"まだアイデアがありません。記録してみましょう","idea.dragSort":"ドラッグで並べ替え","idea.fillInput":"入力欄に挿入","idea.send":"送信","doclink.title":"ファイルを開く","changelog.title":"新機能","preview.dynamic":"ダイナミックプレビュー","preview.static":"静的プレビュー","preview.remainTitle":"残り有効期限 — タップして更新 / 停止","preview.toPcView":"PCビューに切り替え","preview.toMobileView":"モバイルビューに切り替え","preview.pcView":"PCビュー","preview.mobileView":"モバイルビュー","preview.refresh":"更新","preview.minimize":"最小化","preview.ttlDialog":"プレビュー有効期限","preview.renew":"更新(1時間にリセット)","preview.stop":"プレビューを停止","preview.iframeTitle":"プレビュー","preview.zoomOut":"縮小","preview.zoomIn":"拡大","imageviewer.loadFailed":"画像の読み込みに失敗しました","imageviewer.saved":"保存しました。フォトライブラリまたは「ダウンロード」で確認できます","imageviewer.shareUnsupported":"画像の共有には Chrome または Safari が必要です","imageviewer.zoomOut":"縮小","imageviewer.zoomIn":"拡大","imageviewer.imageTitle":"画像","imageviewer.saveImage":"画像を保存","imageviewer.shareImage":"画像を共有","mic.stop":"音声入力を停止","mic.start":"音声入力","dock.send":"送信","dock.send.hint":"タップで送信 · 長押しで挿入","dock.phrases":"よく使うフレーズ","dock.attach":"添付","dock.history":"履歴","history.empty":"履歴はまだありません","history.scope":"このウィンドウの記録のみ","dock.input.placeholder":"メッセージを入力…","dock.command.placeholder":"コマンドを入力 · Enterで実行","dock.mode.agent":"会話","dock.mode.toggle":"入力モードを切替","dock.mode.command":"コマンド","dock.mode.chat":"チャット","fav.title":"よく使う","fav.add":"追加","fav.addPlaceholder":"よく使う項目を追加…","dock.upload.aria":"ファイルをアップロード","dock.upload.title":"ファイルをアップロード(ホームのアップロードフォルダに保存、プロジェクトには含まない)","dock.upload.progress":"{name}{tag} をアップロード中","dock.upload.failed":"アップロード失敗:{names}","app.nameExists":"その名前はすでに使われています","app.renameFailed":"名前の変更に失敗しました。再試行してください","app.deleteFailed":"削除に失敗しました。再試行してください","app.moveFailed":"移動に失敗しました。再試行してください","app.sessionGone":"セッション「{name}」が存在しません。閉じられた可能性があります","app.docNotFound":"ファイルが存在しません","app.docTooLarge":"ファイルが大きすぎます(2MB超)","app.docUnsupported":"サポートされていないファイルまたはパス","app.docOpenFailed":"開くのに失敗しました。再試行してください","app.preview":"プレビュー","app.openPreview":"プレビューを開く","app.ideas":"アイデア","app.files":"ファイル","app.settings":"設定","app.renameSession":"セッション名を変更","app.renameWindow":"ウィンドウ名を変更","app.moveLeft":"◀ 左へ移動","app.moveRight":"右へ移動 ▶","app.deleteWindow":"ウィンドウを削除","app.deleteLastWindowConfirm":"これは最後のウィンドウです。削除するとセッション全体が閉じます!もう一度タップ","app.deleteConfirm":"削除しますか?もう一度タップ","app.cannotLocate":"場所を特定できません","app.pickItsDir":"。ディレクトリを選択してください:","app.noBoundSession":"セッションが紐付けられていません","app.tapToBind":"タップして紐付け","app.selectSessionHint":"左上の ☰ をタップしてセッションを選択","app.backToExit":"もう一度戻るで終了します","settings.title":"設定","settings.group_global":"グローバル設定","settings.font_size":"フォントサイズ","settings.font_decrease":"フォントを縮小","settings.font_increase":"フォントを拡大","settings.font_auto":"自動調整","settings.font_auto_title":"高さに合わせて自動調整","settings.path_highlight":"ファイルパスをハイライト","settings.path_highlight_hint":"ターミナル内のタップ可能なファイルパスに色を付けます。オフでもパスはタップできます。","settings.whats_new":"新機能","settings.view_changelog":"変更履歴を表示","settings.has_update":"更新あり","settings.version":"バージョン","settings.feedback":"フィードバック","settings.feedback_issues":"GitHub Issues","settings.feedback_group":"WeChat グループ","settings.feedback_hint":"バグ報告や要望は Issue へ — 必ず追跡・返信されます。","settings.update_available":"バージョン {v} が利用可能","settings.update_how":"パソコンで実行:","settings.push_notifications":"プッシュ通知","settings.notify_on":"有効 ✓","settings.notify_enable":"デバイス通知を有効にする","settings.notify_enabled":"有効にしました。ウェルカム通知が届くはずです","settings.notify_disabled":"無効","settings.notify_failed":"操作に失敗しました","settings.processing":"処理中","settings.push_hint":"「要対応」と「完了」を監視:注目しているセッションが承認/回答を必要としているとき、またはラウンドが完了したときにこのデバイスへ通知します。","settings.push_unsupported":"プッシュ通知には Chrome または Safari が必要です","settings.group_session":"現在のセッション設定","settings.screen_cols":"画面の列数","settings.cols_dec":"減らす","settings.cols_dec_title":"列数を減らす","settings.cols_inc":"増やす","settings.cols_inc_title":"列数を増やす","settings.cols_restore":"デフォルト","settings.cols_restore_title":"ウィンドウのデフォルトサイズに戻す","settings.preview_site":"プレビューサイト","settings.preview_static_site":"静的サイトをプレビュー","settings.preview_running_dynamic":"ダイナミックプレビュー 実行中","settings.preview_running_static":"静的プレビュー 実行中","settings.preview_remain_title":"残り有効期限","settings.preview_remain":"残り {time}","settings.preview_renew":"更新","settings.preview_confirm_stop":"停止を確認","settings.preview_stop":"停止","settings.preview_name":"名前:{name}","settings.preview_port":"(ポート:{port})","settings.preview_type":"プレビュータイプ","settings.preview_off":"無効","settings.preview_static":"静的","settings.preview_dynamic":"ダイナミック","settings.preview_off_hint":"プレビューは無効です。「静的」を選択して開始してください。","settings.preview_off_hint_both":"プレビューは無効です。「静的」または「ダイナミック」を選択して開始してください。","settings.preview_dynamic_disabled":"ダイナミックポートプレビューは無効です。有効にするには:ワイルドカードプレビュードメイン(previewDomain、例:*.example.com)をゲートウェイに向け、対応するTLS証明書を設定してください。Cloudflare /自己署名証明書の違いはREADMEを参照。","settings.preview_pick_dir":"ディレクトリを選択して開始","settings.preview_static_hint":"index.html を含むディレクトリを選択して、スマートフォンでプレビュー。","settings.preview_port_placeholder":"ポート番号(例:3000)","settings.preview_port_label":"ポート","settings.preview_starting":"起動中…","settings.preview_start":"起動","settings.preview_dynamic_hint":"ローカルで実行中のポート(devサーバー / バックエンド)を入力すると、スマートフォンからサブドメイン経由でアクセスできます。","settings.dir_picker_hint":"プレビューする静的サイトのディレクトリを選択(index.html を含む)","settings.err_port_not_listening":"そのポートはリッスンしていません。サービスが起動しているか確認してください","settings.err_bad_port":"ポート番号が無効です(1〜65535)","settings.err_dynamic_disabled":"ダイナミックプレビューは無効です","settings.err_start_failed":"起動に失敗しました","filebrowser.openDirFailed":"ディレクトリを開けませんでした","filebrowser.copiedPath":"パスをコピーしました:{abs}","filebrowser.mkdirFailed":"ディレクトリの作成に失敗しました(名前が無効または既に存在します)","filebrowser.downloading":"{name} をダウンロード中","filebrowser.downloadFailed":"ダウンロードに失敗しました","filebrowser.uploading":"{name}{tag} をアップロード中","filebrowser.uploadFailed":"アップロードに失敗しました","filebrowser.uploadPartialFailed":"以下のファイルのアップロードに失敗しました:{names}","filebrowser.sessionDir":"セッションディレクトリ","filebrowser.jumpToSessionDir":"現在のセッションディレクトリへ移動","filebrowser.parentDir":"親ディレクトリ","filebrowser.rootSelect":"ルートディレクトリを切り替え(ホーム / 一時)","filebrowser.pathPlaceholder":"パスを入力(リアルタイムフィルタ / ジャンプ)","filebrowser.newFolder":"新規フォルダ","filebrowser.createBtn":"作成","filebrowser.uploadFile":"ファイルをアップロード","filebrowser.uploadToCurrentDir":"現在のディレクトリにアップロード","filebrowser.enterSubdirToUpload":"サブディレクトリに移動してからアップロードしてください","filebrowser.folderNamePlaceholder":"フォルダ名","filebrowser.uploadPendingTo":"「{name}」を現在のディレクトリにアップロード","filebrowser.enterSubdirFirst":"(先にサブディレクトリに移動してください)","filebrowser.upload":"アップロード","filebrowser.savedToDownloads":"「{name}」を「ダウンロード」フォルダに保存しました。ファイルマネージャーで確認できます","filebrowser.noMatches":"一致するファイルまたはディレクトリがありません","filebrowser.tooMany":"合計 {total} 件、最初の {shown} 件のみ表示——パス欄にキーワードを入力してフィルタできます","filebrowser.previewUnsupported":"このファイルタイプのプレビューはサポートされていません。右のボタンでダウンロードできます","filebrowser.copyAbsPath":"絶対パスをコピー","filebrowser.download":"ダウンロード","filebrowser.pickThisDir":"このディレクトリを選択 {path}","filebrowser.downloadConfirm":"{name} をダウンロードしますか?","filemanager.files":"ファイル","filemanager.closeTab":"タブを閉じる","filemanager.minimize":"最小化","filemanager.recent":"最近","filemanager.directory":"ディレクトリ","git.errReadRepo":"リポジトリを読み込めませんでした","git.errLoad":"読み込みに失敗しました","git.noRepoInDir":"このディレクトリにはまだ git リポジトリがありません — 別のディレクトリを選ぶか、ここで git init してください。","git.outsideRoots":"このフォルダは handmux がアクセスできる範囲外です — ホームディレクトリと /tmp のみ開けます。リポジトリをホーム配下に移すとここで閲覧できます。","git.errReadDir":"ディレクトリを読み込めませんでした","git.commitDetail":"コミット詳細","git.diff":"差分","git.bindRepo":"リポジトリを紐付け","git.collapse":"折りたたむ","git.currentBranch":"現在のブランチ","git.switchViewedBranch":"表示するブランチを切り替え","git.switchBranch":"ブランチを切り替え","git.noBranches":"ブランチがありません","git.noRepoBound":"リポジトリが紐付けられていません。左上の「+」をタップしてディレクトリを選択してください。","git.changes":"変更","git.commits":"コミット","git.pullToLoadMore":"引っ張ってさらに読み込む","git.pickerHint":"ディレクトリを選択すると、その中の git リポジトリを自動的に検索します","git.cleanTree":"ワーキングツリーはクリーンです","git.noCommits":"コミットがありません","git.noDiff":"差分なし","git.fontSmaller":"フォントを縮小","git.fontLarger":"フォントを拡大","git.diffTruncated":"差分が大きすぎるため、切り捨てられました","cmd.panel":"コマンドパネル","cmd.title":"コマンド","cmd.empty":"コマンドがありません。送信するか、よく使うものを保存してください","cmd.favorites":"お気に入り","cmd.scopeGlobal":"グローバル · 全セッション","cmd.recent":"最近","cmd.scopeSession":"このセッションのみ","cmd.favorite":"お気に入りに追加","cmd.unfavorite":"お気に入りから削除","doc.home":"最近","doc.read":"読み上げ","doc.pauseRead":"一時停止","doc.resumeRead":"再開","doc.stopRead":"読み上げを停止","doc.rate":"読み上げ速度","doc.fontSmaller":"フォントを縮小","doc.fontLarger":"フォントを拡大","inbox.view.working":"進行中","inbox.view.done":"完了","inbox.view.needs":"要対応","push.unsupported":"プッシュ通知には Chrome または Safari が必要です","push.iosAddToHome":"iOS では先にこのサイトを「ホーム画面に追加」し、ホーム画面のアイコンから開いてください","a2hs.title":"handmux をホーム画面に追加","a2hs.lead":"アプリのように全画面で開けます。iPhone では、pane があなたを必要とするときの通知もこれで届きます。","a2hs.install":"handmux をインストール","a2hs.ios1":"Safari の共有ボタン(⬆︎ の四角)をタップ。","a2hs.ios2":"「その他」をタップ、または下にスクロール。","a2hs.ios3":"「ホーム画面に追加」を選び、「追加」をタップ。","a2hs.iosHint":"Safari で:共有 → その他 → ホーム画面に追加。","a2hs.iosOpenSafari":"現在 Safari ではありません。Safari でこのページを開いてからホーム画面に追加してください(他の iOS ブラウザではインストールできません)。","a2hs.androidManual":"ブラウザのメニュー(⋮)から「ホーム画面に追加」または「アプリをインストール」を選択。","a2hs.later":"あとで","push.permissionDenied":"通知の権限が拒否されました","push.noVapid":"サーバーにプッシュ通知(VAPID)が設定されていません","push.subscribeFailed":"サブスクリプションの登録に失敗しました","push.sendFailed":"送信に失敗しました","api.loadFailed":"読み込みに失敗しました","api.uploadFailed":"アップロードに失敗しました","upload.title":"アップロード中","upload.processing":"送信完了 — サーバーで受信中…","api.uploadBadDir":"そのディレクトリへはアップロードできません","api.uploadDuplicate":"同名のファイルが既に存在します","api.uploadTooLarge":"ファイルが大きすぎます(上限 50MB)","api.uploadBadType":"サポートされていないファイルタイプです","time.secAgo":"{n}秒前","time.minAgo":"{n}分前","time.hourAgo":"{n}時間前","time.dayAgo":"{n}日前","time.expired":"期限切れ","time.minutes":"{n} 分"},Bw={"common.save":"저장","common.cancel":"취소","common.confirm":"확인","common.ok":"확인","common.close":"닫기","common.delete":"삭제","common.copy":"복사","common.rename":"이름 변경","common.create":"새로 만들기","common.back":"뒤로","common.open":"열기","common.loading":"로드 중…","common.done":"완료","token.title":"액세스 토큰이 필요합니다","token.placeholder":"HANDMUX_TOKEN 붙여넣기","settings.language":"언어 Language","home.empty":"열린 파일이 없습니다","home.emptyHint":"「새로 만들기」 탭에서 파일을 선택하세요","home.remove":"제거","drawer.empty":"연결된 세션이 없습니다","drawer.unbind":"연결 해제","drawer.bind":"세션 연결","drawer.logout":"로그아웃","windowbar.newWindow":"새 창","rename.new_name":"새 이름","rename.name_placeholder":"짧은 이름","rename.name_rule":"영문자, 숫자, 하이픈만 사용 가능(≤16자)","rename.failed":"이름 변경에 실패했습니다. 다시 시도하세요","rename.saving":"저장 중…","newwindow.title":"새 창","newwindow.window_name":"창 이름(선택 사항)","newwindow.name_placeholder":"비워두면 자동 이름 지정","newwindow.name_rule":"영문자, 숫자, 하이픈만 사용 가능(≤16자)","newwindow.start_dir":"시작 디렉토리","newwindow.session_dir_named":"{dir}(세션 디렉토리)","newwindow.session_dir_default":"세션 디렉토리(기본값)","newwindow.choose":"선택","newwindow.reset_to_session_dir":"세션 디렉토리로 초기화","newwindow.creating":"생성 중…","startup.label":"시작 명령(선택 사항)","startup.aria":"시작 명령","startup.preset_shell":"빈 셸(기본값)","startup.preset_claude":"claude(Claude Code 시작)","startup.preset_claude_continue":"claude -c(이전 세션 이어서)","startup.preset_codex":"codex(Codex CLI 시작)","startup.custom":"사용자 정의…","startup.custom_placeholder":'예:claude "로그인 버그 수정"',"bind.title":"세션 연결","bind.sessionName":"세션 이름","bind.namePlaceholder":"새 세션 이름","bind.pickSession":"연결할 세션 선택","bind.newSession":"+ 새 세션","bind.alreadyExists":"이미 존재하는 세션입니다","bind.bind":"연결","bind.checking":"확인 중…","bind.createAndOpen":"생성 후 열기","bind.creating":"생성 중…","bind.createHint":"세션「{name}」이 존재하지 않습니다. 「생성 후 열기」를 탭하여 생성하세요","bind.alreadyBound":"이미 연결된 세션입니다","bind.createFailed":"생성에 실패했습니다. 다시 시도하세요","bind.invalidName":"영문자, 숫자, 하이픈만 사용 가능(≤16자)","bind.desktopHint":"여기의 세션(폰에서 만든 것 포함)은 컴퓨터에서 명령 하나로 이어받을 수 있습니다: handmux open <이름>","bind.checkFailed":"확인에 실패했습니다. 다시 시도하세요","bind.startDir":"시작 디렉토리","bind.homeDirDefault":"홈 디렉토리(기본값)","bind.choose":"선택","bind.reset":"초기화","actionsheet.confirmAgain":"확인하시겠습니까? 한 번 더 탭하세요","dirpicker.title":"디렉토리 선택","inbox.title":"받은 편지함","inbox.working":"진행 중","inbox.done":"완료","inbox.needs":"확인 필요","inbox.clearDone":"완료 항목 지우기","inbox.empty":"패널 상태 없음","inbox.enableTitle":"AI 세션 알림 활성화","inbox.enableHint":"각 Claude / Codex 패널을 「진행 중」「확인 필요」「완료」로 표시하고, 확인이 필요할 때 푸시 알림을 보냅니다.","inbox.enableBtn":"활성화","inbox.enabling":"활성화 중…","inbox.enableFailed":"활성화에 실패했습니다——서버 로그를 확인하세요.","idea.title":"아이디어","idea.editPlaceholder":"아이디어 편집…","idea.addPlaceholder":"아이디어를 기록하세요…","idea.add":"추가","idea.empty":"아직 아이디어가 없습니다. 하나 기록해보세요","idea.dragSort":"드래그하여 정렬","idea.fillInput":"입력창에 삽입","idea.send":"보내기","doclink.title":"파일 열기","changelog.title":"새 기능","preview.dynamic":"동적 미리보기","preview.static":"정적 미리보기","preview.remainTitle":"남은 유효 기간 — 탭하여 갱신 / 중지","preview.toPcView":"PC 보기로 전환","preview.toMobileView":"모바일 보기로 전환","preview.pcView":"PC 보기","preview.mobileView":"모바일 보기","preview.refresh":"새로 고침","preview.minimize":"최소화","preview.ttlDialog":"미리보기 유효 기간","preview.renew":"갱신(1시간으로 초기화)","preview.stop":"미리보기 중지","preview.iframeTitle":"미리보기","preview.zoomOut":"축소","preview.zoomIn":"확대","imageviewer.loadFailed":"이미지를 불러오지 못했습니다","imageviewer.saved":"저장되었습니다. 사진 앱 또는 「다운로드」에서 확인할 수 있습니다","imageviewer.shareUnsupported":"이미지 공유는 Chrome 또는 Safari가 필요합니다","imageviewer.zoomOut":"축소","imageviewer.zoomIn":"확대","imageviewer.imageTitle":"이미지","imageviewer.saveImage":"이미지 저장","imageviewer.shareImage":"이미지 공유","mic.stop":"음성 입력 중지","mic.start":"음성 입력","dock.send":"보내기","dock.send.hint":"탭하여 보내기 · 길게 눌러 삽입","dock.phrases":"자주 쓰는 문구","dock.attach":"첨부","dock.history":"기록","history.empty":"기록이 아직 없습니다","history.scope":"현재 창의 기록만","dock.input.placeholder":"메시지를 입력하세요…","dock.command.placeholder":"명령 입력 · Enter로 실행","dock.mode.agent":"대화","dock.mode.toggle":"입력 모드 전환","dock.mode.command":"명령 모드","dock.mode.chat":"채팅 모드","fav.title":"자주 쓰기","fav.add":"추가","fav.addPlaceholder":"자주 쓰는 항목 추가…","dock.upload.aria":"파일 업로드","dock.upload.title":"파일 업로드(홈 업로드 폴더에 저장, 프로젝트에는 포함되지 않음)","dock.upload.progress":"{name}{tag} 업로드 중","dock.upload.failed":"업로드 실패:{names}","app.nameExists":"해당 이름은 이미 사용 중입니다","app.renameFailed":"이름 변경에 실패했습니다. 다시 시도하세요","app.deleteFailed":"삭제에 실패했습니다. 다시 시도하세요","app.moveFailed":"이동에 실패했습니다. 다시 시도하세요","app.sessionGone":"세션「{name}」이 존재하지 않습니다. 이미 닫혔을 수 있습니다","app.docNotFound":"파일이 존재하지 않습니다","app.docTooLarge":"파일이 너무 큽니다(2MB 초과)","app.docUnsupported":"지원되지 않는 파일 또는 경로","app.docOpenFailed":"열기에 실패했습니다. 다시 시도하세요","app.preview":"미리보기","app.openPreview":"미리보기 열기","app.ideas":"아이디어","app.files":"파일","app.settings":"설정","app.renameSession":"세션 이름 변경","app.renameWindow":"창 이름 변경","app.moveLeft":"◀ 왼쪽으로 이동","app.moveRight":"오른쪽으로 이동 ▶","app.deleteWindow":"창 삭제","app.deleteLastWindowConfirm":"마지막 창입니다. 삭제하면 전체 세션이 닫힙니다!한 번 더 탭하세요","app.deleteConfirm":"삭제하시겠습니까? 한 번 더 탭하세요","app.cannotLocate":"위치를 찾을 수 없습니다","app.pickItsDir":",디렉토리를 선택하세요:","app.noBoundSession":"연결된 세션이 없습니다","app.tapToBind":"탭하여 연결","app.selectSessionHint":"왼쪽 상단의 ☰ 를 탭하여 세션 선택","app.backToExit":"한 번 더 뒤로가기를 누르면 종료됩니다","settings.title":"설정","settings.group_global":"전체 설정","settings.font_size":"글꼴 크기","settings.font_decrease":"글꼴 축소","settings.font_increase":"글꼴 확대","settings.font_auto":"자동 조정","settings.font_auto_title":"높이에 맞게 자동 조정","settings.path_highlight":"파일 경로 강조","settings.path_highlight_hint":"터미널에서 탭 가능한 파일 경로에 색을 입힙니다. 꺼져 있어도 경로는 탭할 수 있습니다.","settings.whats_new":"새 기능","settings.view_changelog":"변경 내역 보기","settings.has_update":"업데이트 있음","settings.version":"버전","settings.feedback":"피드백","settings.feedback_issues":"GitHub Issues","settings.feedback_group":"WeChat 그룹","settings.feedback_hint":"버그와 아이디어 모두 환영 — Issue는 추적되고 답변됩니다.","settings.update_available":"버전 {v} 사용 가능","settings.update_how":"컴퓨터에서 실행:","settings.push_notifications":"푸시 알림","settings.notify_on":"활성화됨 ✓","settings.notify_enable":"기기 알림 활성화","settings.notify_enabled":"활성화되었습니다. 환영 알림이 도착할 것입니다","settings.notify_disabled":"비활성화됨","settings.notify_failed":"작업에 실패했습니다","settings.processing":"처리 중","settings.push_hint":"「확인 필요」및「완료」를 모니터링:관심 세션에서 승인/응답이 필요하거나 한 라운드가 완료되면 이 기기로 알림을 보냅니다.","settings.push_unsupported":"푸시 알림은 Chrome 또는 Safari가 필요합니다","settings.group_session":"현재 세션 설정","settings.screen_cols":"화면 열 수","settings.cols_dec":"감소","settings.cols_dec_title":"열 수 감소","settings.cols_inc":"증가","settings.cols_inc_title":"열 수 증가","settings.cols_restore":"기본값","settings.cols_restore_title":"창 기본 크기로 복원","settings.preview_site":"미리보기 사이트","settings.preview_static_site":"정적 사이트 미리보기","settings.preview_running_dynamic":"동적 미리보기 실행 중","settings.preview_running_static":"정적 미리보기 실행 중","settings.preview_remain_title":"남은 유효 기간","settings.preview_remain":"남은 시간 {time}","settings.preview_renew":"갱신","settings.preview_confirm_stop":"중지 확인","settings.preview_stop":"중지","settings.preview_name":"이름:{name}","settings.preview_port":"(포트:{port})","settings.preview_type":"미리보기 유형","settings.preview_off":"비활성화","settings.preview_static":"정적","settings.preview_dynamic":"동적","settings.preview_off_hint":"미리보기가 비활성화되어 있습니다. 「정적」을 선택하여 시작하세요.","settings.preview_off_hint_both":"미리보기가 비활성화되어 있습니다. 「정적」또는「동적」을 선택하여 시작하세요.","settings.preview_dynamic_disabled":"동적 포트 미리보기가 비활성화되어 있습니다. 활성화하려면:와일드카드 미리보기 도메인(previewDomain, 예:*.example.com)을 게이트웨이로 지정하고 TLS 인증서를 설정하세요. Cloudflare /자체 서명 인증서 차이는 README를 참조하세요.","settings.preview_pick_dir":"디렉토리를 선택하여 시작","settings.preview_static_hint":"index.html이 포함된 디렉토리를 선택하여 스마트폰에서 미리보기.","settings.preview_port_placeholder":"포트 번호(예:3000)","settings.preview_port_label":"포트","settings.preview_starting":"시작 중…","settings.preview_start":"시작","settings.preview_dynamic_hint":"로컬에서 실행 중인 포트(dev 서버 / 백엔드)를 입력하면 스마트폰에서 서브도메인을 통해 직접 접속할 수 있습니다.","settings.dir_picker_hint":"미리볼 정적 사이트 디렉토리 선택(index.html 포함)","settings.err_port_not_listening":"해당 포트가 수신 대기 중이지 않습니다. 서비스가 시작되었는지 확인하세요","settings.err_bad_port":"포트 번호가 유효하지 않습니다(1–65535)","settings.err_dynamic_disabled":"동적 미리보기가 비활성화되어 있습니다","settings.err_start_failed":"시작에 실패했습니다","filebrowser.openDirFailed":"디렉토리를 열 수 없습니다","filebrowser.copiedPath":"경로가 복사되었습니다:{abs}","filebrowser.mkdirFailed":"디렉토리 생성에 실패했습니다(이름이 유효하지 않거나 이미 존재합니다)","filebrowser.downloading":"{name} 다운로드 중","filebrowser.downloadFailed":"다운로드에 실패했습니다","filebrowser.uploading":"{name}{tag} 업로드 중","filebrowser.uploadFailed":"업로드에 실패했습니다","filebrowser.uploadPartialFailed":"다음 파일 업로드에 실패했습니다:{names}","filebrowser.sessionDir":"세션 디렉토리","filebrowser.jumpToSessionDir":"현재 세션 디렉토리로 이동","filebrowser.parentDir":"상위 디렉토리","filebrowser.rootSelect":"루트 디렉토리 전환(홈 / 임시)","filebrowser.pathPlaceholder":"경로 입력(실시간 필터 / 이동)","filebrowser.newFolder":"새 폴더","filebrowser.createBtn":"생성","filebrowser.uploadFile":"파일 업로드","filebrowser.uploadToCurrentDir":"현재 디렉토리에 업로드","filebrowser.enterSubdirToUpload":"하위 디렉토리로 이동한 후 업로드하세요","filebrowser.folderNamePlaceholder":"폴더 이름","filebrowser.uploadPendingTo":"「{name}」을 현재 디렉토리에 업로드","filebrowser.enterSubdirFirst":"(먼저 하위 디렉토리로 이동하세요)","filebrowser.upload":"업로드","filebrowser.savedToDownloads":"「{name}」이 「다운로드」 폴더에 저장되었습니다. 파일 관리자에서 확인할 수 있습니다","filebrowser.noMatches":"일치하는 파일 또는 디렉토리가 없습니다","filebrowser.tooMany":"총 {total}개, 처음 {shown}개만 표시——경로 입력창에 키워드를 입력하여 필터할 수 있습니다","filebrowser.previewUnsupported":"이 파일 유형의 미리보기는 지원되지 않습니다. 오른쪽 버튼으로 다운로드할 수 있습니다","filebrowser.copyAbsPath":"절대 경로 복사","filebrowser.download":"다운로드","filebrowser.pickThisDir":"이 디렉토리 선택 {path}","filebrowser.downloadConfirm":"{name}을 다운로드하시겠습니까?","filemanager.files":"파일","filemanager.closeTab":"탭 닫기","filemanager.minimize":"최소화","filemanager.recent":"최근","filemanager.directory":"디렉토리","git.errReadRepo":"저장소를 읽을 수 없습니다","git.errLoad":"불러오기에 실패했습니다","git.noRepoInDir":"아직 git 저장소가 없습니다 — 다른 디렉토리를 선택하거나 여기서 git init 하세요.","git.outsideRoots":"이 폴더는 handmux가 열 수 있는 범위 밖입니다 — 홈 디렉토리와 /tmp만 접근할 수 있습니다. 저장소를 홈 디렉토리 아래로 옮기면 여기서 볼 수 있습니다.","git.errReadDir":"디렉토리를 읽을 수 없습니다","git.commitDetail":"커밋 상세","git.diff":"변경 사항","git.bindRepo":"저장소 연결","git.collapse":"접기","git.currentBranch":"현재 브랜치","git.switchViewedBranch":"표시할 브랜치 전환","git.switchBranch":"브랜치 전환","git.noBranches":"브랜치가 없습니다","git.noRepoBound":"저장소가 연결되지 않았습니다. 왼쪽 상단의 「+」를 탭하여 디렉토리를 선택하세요.","git.changes":"변경사항","git.commits":"커밋","git.pullToLoadMore":"당겨서 더 불러오기","git.pickerHint":"디렉토리를 선택하면 그 안의 git 저장소를 자동으로 찾습니다","git.cleanTree":"작업 트리가 깨끗합니다","git.noCommits":"커밋이 없습니다","git.noDiff":"변경 사항 없음","git.fontSmaller":"글꼴 축소","git.fontLarger":"글꼴 확대","git.diffTruncated":"변경 사항이 너무 커서 잘렸습니다","cmd.panel":"명령 패널","cmd.title":"명령","cmd.empty":"명령이 없습니다. 보내거나 자주 쓰는 것을 저장하세요","cmd.favorites":"즐겨찾기","cmd.scopeGlobal":"전체 · 모든 세션","cmd.recent":"최근","cmd.scopeSession":"현재 세션만","cmd.favorite":"즐겨찾기 추가","cmd.unfavorite":"즐겨찾기 해제","doc.home":"최근","doc.read":"읽어주기","doc.pauseRead":"읽기 일시 정지","doc.resumeRead":"읽기 재개","doc.stopRead":"읽기 중지","doc.rate":"읽기 속도","doc.fontSmaller":"글꼴 축소","doc.fontLarger":"글꼴 확대","inbox.view.working":"진행 중","inbox.view.done":"완료","inbox.view.needs":"확인 필요","push.unsupported":"푸시 알림은 Chrome 또는 Safari가 필요합니다","push.iosAddToHome":"iOS에서는 먼저 이 사이트를 「홈 화면에 추가」한 후 홈 화면 아이콘에서 열어주세요","a2hs.title":"handmux를 홈 화면에 추가","a2hs.lead":"앱처럼 전체 화면으로 열 수 있습니다. iPhone에서는 pane이 당신을 필요로 할 때의 푸시도 이 방식으로 전달됩니다.","a2hs.install":"handmux 설치","a2hs.ios1":"Safari의 공유 버튼(⬆︎ 상자)을 탭하세요.","a2hs.ios2":"「더 보기」를 탭하거나 목록을 아래로 스크롤하세요.","a2hs.ios3":"「홈 화면에 추가」를 선택한 뒤 「추가」를 탭하세요.","a2hs.iosHint":"Safari에서: 공유 → 더 보기 → 홈 화면에 추가.","a2hs.iosOpenSafari":"현재 Safari가 아닙니다. Safari에서 이 페이지를 연 뒤 홈 화면에 추가하세요 — 다른 iOS 브라우저는 설치할 수 없습니다.","a2hs.androidManual":"브라우저 메뉴(⋮)에서 「홈 화면에 추가」 또는 「앱 설치」를 선택하세요.","a2hs.later":"나중에","push.permissionDenied":"알림 권한이 거부되었습니다","push.noVapid":"서버에 푸시 알림(VAPID)이 설정되지 않았습니다","push.subscribeFailed":"구독 등록에 실패했습니다","push.sendFailed":"전송에 실패했습니다","api.loadFailed":"불러오기에 실패했습니다","api.uploadFailed":"업로드에 실패했습니다","upload.title":"업로드 중","upload.processing":"전송 완료 — 서버에서 수신 중…","api.uploadBadDir":"해당 디렉토리에는 업로드할 수 없습니다","api.uploadDuplicate":"같은 이름의 파일이 이미 존재합니다","api.uploadTooLarge":"파일이 너무 큽니다(최대 50MB)","api.uploadBadType":"지원되지 않는 파일 유형입니다","time.secAgo":"{n}초 전","time.minAgo":"{n}분 전","time.hourAgo":"{n}시간 전","time.dayAgo":"{n}일 전","time.expired":"만료됨","time.minutes":"{n}분"},Dh={zh:Pw,"zh-TW":Iw,en:Og,ja:Ow,ko:Bw},lf=[{code:"zh",label:"简体中文"},{code:"zh-TW",label:"繁體中文"},{code:"en",label:"English"},{code:"ja",label:"日本語"},{code:"ko",label:"한국어"}],Bg="tw_lang";function jw(e,t,i=Dh){if(e&&i[e])return e;for(const s of t&&t.length?t:["en"]){const r=String(s).toLowerCase();if(i[r])return r;const l=r.split("-")[0];if(i[l])return l}return"en"}function Fw(e,t,i,s){let r=e&&e[i]!=null?e[i]:t&&t[i]!=null?t[i]:i;return s&&(r=r.replace(/\{(\w+)\}/g,(l,p)=>s[p]!=null?s[p]:`{${p}}`)),r}const Hw=()=>typeof navigator<"u"?navigator.languages||[navigator.language]:null,$w=()=>{try{return localStorage.getItem(Bg)}catch{return null}};let sl=jw($w(),Hw());function T(e,t){return Fw(Dh[sl],Og,e,t)}function Gn(){return sl}function zw(e){if(!(!Dh[e]||e===sl)){try{localStorage.setItem(Bg,e)}catch{}sl=e,typeof location<"u"&&location.reload()}}const Ah="tw_token",Mh="tw_font",Dl="tw_bound",jg="tw_last_session",Fg="tw_win",Hg="tw_pane",Nh="tw_favs",wo="tw_recent",Uw=30,fu="tw_inbox_seen",$g="tw_inbox_read_ts",zg="tw_browse_dir",Ug="tw_preview_dir",Wg="tw_startup_cmd",pu="tw_chat_draft",vn="tw_ideas",Vg="tw_changelog_seen",Kg="tw_version_seen",Ph="tw_git_repos",kn=()=>localStorage.getItem(Ah),Ww=e=>localStorage.setItem(Ah,e),Vw=()=>localStorage.removeItem(Ah);function wn(){try{return JSON.parse(localStorage.getItem(Dl))||[]}catch{return[]}}function cf(e){const t=wn();return t.includes(e)||t.push(e),localStorage.setItem(Dl,JSON.stringify(t)),t}function uf(e){const t=wn().filter(i=>i!==e);return localStorage.setItem(Dl,JSON.stringify(t)),t}function Kw(e,t){const i=wn().map(l=>l===e?t:l);localStorage.setItem(Dl,JSON.stringify(i));const s=oi(wo);s[e]!=null&&(s[t]=s[e],delete s[e],localStorage.setItem(wo,JSON.stringify(s)));const r=oi(vn);return r[e]!=null&&(r[t]=r[e],delete r[e],localStorage.setItem(vn,JSON.stringify(r))),i}function oi(e){try{const t=JSON.parse(localStorage.getItem(e));return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}catch{return{}}}function Xs(e,t,i){const s=oi(e);s[t]=i,localStorage.setItem(e,JSON.stringify(s))}const hf=()=>oi(fu);function df(e,t){return Xs(fu,e,t),oi(fu)}const Gw=()=>{const e=localStorage.getItem($g);return e==null?null:Number(e)},ff=e=>localStorage.setItem($g,String(e)),qw=e=>e?oi(zg)[e]??null:null,pf=(e,t)=>{e&&t&&Xs(zg,e,t)},Yw=e=>e?oi(Ug)[e]??null:null,Xw=(e,t)=>{e&&t&&Xs(Ug,e,t)},Jw=()=>localStorage.getItem(jg),Zw=e=>oi(Fg)[e]??null,aa=e=>oi(Hg)[e]??null;function Ar({sessionId:e,windowId:t,paneId:i}={}){e&&localStorage.setItem(jg,e),e&&t&&Xs(Fg,e,t),t&&i&&Xs(Hg,t,i)}function Qw(){const e=Number(localStorage.getItem(Mh));return Number.isFinite(e)&&e>0?e:null}const mf=e=>localStorage.setItem(Mh,String(e)),ey=()=>localStorage.removeItem(Mh),ty=()=>localStorage.getItem(pu)||"",iy=e=>{e?localStorage.setItem(pu,e):localStorage.removeItem(pu)};function nl(){try{return JSON.parse(localStorage.getItem(Nh))||[]}catch{return[]}}function sy(e){const t=e.trim(),i=nl();return t&&!i.includes(t)&&i.push(t),localStorage.setItem(Nh,JSON.stringify(i)),i}function ny(e){const t=nl().filter(i=>i!==e);return localStorage.setItem(Nh,JSON.stringify(t)),t}const Gg=()=>localStorage.getItem(Wg)||"",qg=e=>localStorage.setItem(Wg,e||""),Yg="tw_orphan_kill",ry=()=>localStorage.getItem(Yg)!=="0",oy=e=>localStorage.setItem(Yg,e?"1":"0"),Xg="tw_doc_highlight",Jg=()=>localStorage.getItem(Xg)==="1",ay=e=>localStorage.setItem(Xg,e?"1":"0"),Zg=e=>e&&typeof e=="object"&&!Array.isArray(e)?e:{};function rl(e,t){return!e||!t?[]:Zg(oi(wo)[e])[t]??[]}function Qg(e,t,i){const s=oi(wo),r=Zg(s[e]);return i&&i.length?r[t]=i:delete r[t],Object.keys(r).length?s[e]=r:delete s[e],localStorage.setItem(wo,JSON.stringify(s)),i??[]}function ly(e,t,i){const s=(i||"").trim(),r=rl(e,t);return!s||!e||!t?r:Qg(e,t,[s,...r.filter(l=>l!==s)].slice(0,Uw))}function cy(e,t,i){return!e||!t?rl(e,t):Qg(e,t,rl(e,t).filter(s=>s!==i))}const Ih="tw_recent_docs",e_="tw_pane_base",uy=30;function Jr(){try{return JSON.parse(localStorage.getItem(Ih))||[]}catch{return[]}}function gf({path:e,name:t,type:i,ts:s=Date.now()}){const r=[{path:e,name:t,type:i,ts:s},...Jr().filter(l=>l.path!==e)].slice(0,uy);return localStorage.setItem(Ih,JSON.stringify(r)),r}function hy(e){const t=Jr().filter(i=>i.path!==e);return localStorage.setItem(Ih,JSON.stringify(t)),t}const _f=e=>oi(e_)[e]??null,dy=(e,t)=>Xs(e_,e,t),Rs=[10,11,12,13,14,16,18,20,22],fy=4,t_="tw_doc_font";function py(){const e=localStorage.getItem(t_),t=Number(e);return e!==null&&Number.isInteger(t)&&t>=0&&t<Rs.length?t:fy}const my=e=>localStorage.setItem(t_,String(Math.min(Rs.length-1,Math.max(0,e)))),gy=2,i_="tw_diff_font";function _y(){const e=localStorage.getItem(i_),t=Number(e);return e!==null&&Number.isInteger(t)&&t>=0&&t<Rs.length?t:gy}const vy=e=>localStorage.setItem(i_,String(Math.min(Rs.length-1,Math.max(0,e))));function s_(e,t){var i;return!e||!t?[]:((i=oi(vn)[e])==null?void 0:i[t])??[]}function vf(e,t,i){if(!e||!t)return[];const s=oi(vn),r=s[e]||{};return i&&i.length?r[t]=i:delete r[t],Object.keys(r).length?s[e]=r:delete s[e],localStorage.setItem(vn,JSON.stringify(s)),i??[]}const wy=()=>localStorage.getItem(Vg),yy=e=>{e&&localStorage.setItem(Vg,e)},Sy=()=>localStorage.getItem(Kg),by=e=>{e&&localStorage.setItem(Kg,e)};function xy(e,t,i){if(!e||!t||!i||t===i)return;const s=oi(vn),r=s[e];!r||r[t]==null||(r[i]=r[t],delete r[t],localStorage.setItem(vn,JSON.stringify(s)))}function Oh(e){if(!e)return[];const t=oi(Ph)[e];return Array.isArray(t)?t:[]}function wf(e,t){if(!e)return[];const i=[...Oh(e)];for(const s of t)s&&!i.includes(s)&&i.push(s);return Xs(Ph,e,i),i}function Cy(e,t){if(!e)return[];const i=Oh(e).filter(s=>s!==t);return Xs(Ph,e,i),i}const mu=[{version:"0.14.0",date:"2026-07-13",highlight:{zh:"终端文字选中拷贝 · 脚本复用推送通道",en:"Terminal select & copy · scripts reuse the push channel"},items:{zh:["终端可以长按选中文字了:iOS 式首尾手柄精调、跨屏选择,浮条一键拷贝/整行/整段,复制自动去掉行尾空格;选中期间顶部显示「复制模式 · N 行 · M 字」。","你自己的脚本也能复用 handmux 的推送通道:命令行用 handmux push <标题> <正文> 直接给手机发通知(可选 --session/--device 限定范围),脚本跑完主动提醒你。","滚动终端不再收起键盘:滑动时键盘保持、单击才收起;还能用 ⌨ 按钮或底部手柄拖拽显隐键盘,命令/聊天切换也保持键盘不掉。","往上滑看历史更顺了:一次滑到顶只加载一页、不再叠加拉取来回跳,位置稳停在你看的那行,顶部显示「距底 N/M 行」。","全屏程序(vim/less/htop 等)上方不再串出无关的终端历史。","修复了主页误触返回直接退出、以及从通知进入要多按一次返回才能退出的问题。"],en:["You can now long-press to select text in the terminal: iOS-style start/end handles, selection across screens, a callout to copy / whole line / whole paragraph, with trailing spaces trimmed on copy. A “copy mode · N lines · M chars” bar shows while selecting.","Your own scripts can reuse handmux’s push channel: run handmux push <title> <body> to send a notification straight to your phone (optionally scoped with --session/--device) — handy for a script pinging you when it finishes.","Scrolling the terminal no longer dismisses the keyboard: a swipe keeps it up, a single tap puts it away; you can also show/hide it with the ⌨ button or the dock’s grip handle, and it stays up when you switch between command and chat.","Scrolling up through history is smoother: reaching the top loads exactly one page instead of stacking pulls and jumping around, and your place holds steady on the line you were reading, with a “N/M lines from bottom” readout.","A full-screen program (vim/less/htop, etc.) no longer leaks unrelated terminal history above it.","Fixed a stray Back on the home page dropping you straight out, and needing an extra Back to leave after opening the app from a notification."]}},{version:"0.13.0",date:"2026-07-12",highlight:{zh:"终端文件路径高亮可点",en:"Tappable, highlighted file paths"},items:{zh:["终端里的文件路径现在会高亮显示、可以直接点开;这个高亮可以在设置里开关(默认关闭)。","桌面浏览器用鼠标滚轮往上翻,现在能拉出更深的历史了(不再卡在第一屏);桌面和手机都加了一条纤细的滚动条。","设置面板太高时可以整体滚动了,标题和关闭按钮始终可见、够得到。","修复了 agent 图标和底部输入模式偶尔乱跳的问题——现在按 agent 是否真的在运行来判断,分屏里每个窗格也各显各的图标。","handmux setup 新增「令牌」一项:可以手动固定访问令牌,这样每次重启后手机网址不再变化(留空则仍每次自动生成一个)。"],en:["File paths in the terminal are now highlighted and tappable — tap one to open it. You can toggle the highlight in Settings (off by default).","On a desktop browser the mouse wheel now pulls deeper history instead of stalling at the first screen, and a thin scrollbar was added on both desktop and mobile.","The Settings sheet scrolls as a whole when it is taller than the screen, with the title and close button always reachable.","Fixed the agent icon and the bottom input mode occasionally jumping around — both now track whether the agent is actually running, and each pane in a split shows its own icon.","handmux setup has a new “Token” item: you can pin the access token by hand so the phone URL stops changing on every restart (leave it blank to keep auto-generating one each start)."]}},{version:"0.12.3",date:"2026-07-11",highlight:{zh:"接管会话可自定义名称 + Homebrew 一键安装",en:"Name a takeover session · Homebrew install"},items:{zh:["接管电脑上的会话时,可以自己给新会话起名(默认也帮你填好);接管后想回电脑继续的命令,现在直接显示成 handmux open <名称>,照着敲即可。","新增 Homebrew 一键安装:没装 Node 的 Mac 也能用 brew install handmux/tap/handmux 一条命令装好(handmux + Node + tmux)。已有 Node 的话,npm i -g handmux 仍是更轻的选择。"],en:["When taking over a session running on your computer, you can now name the new session yourself (a default is filled in), and the “continue on the computer” hint shows the exact command to run — handmux open <name>.","New Homebrew install: on a Mac without Node, brew install handmux/tap/handmux sets up handmux, Node, and tmux in one command. If you already have Node, npm i -g handmux stays the lighter option."]}},{version:"0.12.2",date:"2026-07-11",highlight:{zh:"修复主屏图标偏大 / 换图标后不刷新",en:"Home-screen icon: right size & always fresh"},items:{zh:["修复了「添加到主屏」的图标在安卓上偏大、以及更换图标后旧图标不刷新的问题——图标更新现在会自动生效(已加到 iPhone 主屏的需删掉重加一次)。"],en:["Fixed the Add-to-Home-Screen icon looking oversized on Android and a changed icon not refreshing for returning users — icon updates now apply automatically (one already on an iOS home screen needs a one-time remove + re-add)."]}},{version:"0.12.1",date:"2026-07-11",highlight:{zh:"全新品牌图标与双色字标",en:"New brand icon & two-tone wordmark"},items:{zh:["焕新品牌:全新的发光终端图标(主屏图标、启动页都换了)+ 圆润的双色「handmux」字标(hand 白、mux 青→绿),官网、分享卡和 README 也一并更新。"],en:['Brand refresh: a new glowing terminal app icon (home-screen icon + boot splash) and a rounded two-tone "handmux" wordmark (hand in white, mux teal→green), with the site, share cards, and README updated to match.']}},{version:"0.12.0",date:"2026-07-11",highlight:{zh:"全屏程序也能滑动滚动 · 反馈入口 · 聊天草稿不丢",en:"Swipe-scroll full-screen apps · feedback channels · chat drafts kept"},items:{zh:["全屏程序(vim / htop / less 等)现在能直接滑动滚动了:开了鼠标的程序像电脑滚轮一样滑着滚,没开鼠标的分页器(less / man / git log)靠滑动逐行滚;每个全屏画面右侧还多了一枚翻页按钮做整页跳。","设置里新增「反馈与交流」:直达 GitHub Issues,中文用户还能扫码进微信交流群;README、官网、文档里也都能找到入口。","聊天框里没发出去的内容现在会自动保存,下次打开自动填回——误划走、切后台被杀、崩溃都不会再丢半截提示词。","修复:从终端链接或「最近」直接打开的文档,点返回会一次收起面板,不再被硬塞进「目录」层、再返一次直接退出 App。"],en:["Full-screen apps (vim / htop / less …) now scroll by swipe: mouse-mode apps scroll like a desktop wheel, and pagers (less / man / git log) scroll line-by-line on a swipe; every full-screen view also gets a page up/down button on the right for whole-page jumps.",'New "Feedback" section in Settings: a direct link to GitHub Issues, plus a WeChat user group for Chinese users — also surfaced in the README, the site, and the docs.',"Whatever you've typed in the chat box is now saved automatically and restored next time you open it — an accidental swipe-away, a background kill, or a crash no longer eats a half-written prompt.","Fixed: a doc opened straight from a terminal link or 最近 now closes the sheet in one Back press, instead of being forced into its folder view and then dropping you out of the app on the next Back."]}},{version:"0.11.1",date:"2026-07-09",highlight:{zh:"修复 Node 18 下无法启动的问题",en:"Fixes startup crash on Node 18"},items:{zh:["修复了电脑用 Node 18 时 handmux 任何命令都启动不了的问题(0.11.0 配置向导引入的依赖要求过新的 Node)。"],en:["Fixed handmux failing to start any command on Node 18 (a dependency introduced by the 0.11.0 setup wizard required a newer Node)."]}},{version:"0.11.0",date:"2026-07-08",highlight:{zh:"国内可用隧道 natapp/cpolar · 配置向导重做",en:"China-usable tunnels · setup redesigned"},items:{zh:["新增两条国内可用的隧道 natapp 和 cpolar:当 Cloudflare 在国内不稳定时,用你自己的免费账号就能把手机连到电脑。只要一个 authtoken;想要固定地址就填公网地址,留空则用免费临时域名;cpolar 的客户端还会自动下载。","`handmux setup` 重做成菜单式向导:每项设置一行、直接显示当前值,想改哪项就点哪项,不用再一路问到底。连接分两级——先选隧道类型,再进去配它的参数;推送、语音也各成小面板。第一次用会一步步带你走,默认落在「直连」并停在「保存并启动」,小白也能顺下来。"],en:["Two China-usable tunnels, natapp and cpolar: when Cloudflare is unreliable inside mainland China, reach your computer from your phone using your own free account. Just an authtoken; add a public URL for a fixed address or leave it blank for a free temporary one — and cpolar's client auto-downloads.",'`handmux setup` is now a menu-style wizard: every setting is a row showing its current value, so you jump straight to what you want to change instead of answering every prompt in order. Connection is two levels — pick the tunnel type, then configure it inside; push and voice are their own mini-panels. A first run walks you through it, defaulting to "Direct" with the cursor on "Save & start".']}},{version:"0.10.0",date:"2026-07-06",highlight:{zh:"升级前预览新功能 · 电脑 handmux open 接管",en:"Preview an update before installing · handmux open"},items:{zh:["更新提示现在会提前告诉你新版有什么:检测到有新版本时,设置里会逐版列出这次升级带来的新功能(一句话说明),让你在电脑上跑 `handmux update` 之前就知道值不值得。","电脑上新增 `handmux open <会话名>`:把你在手机上建的会话直接在电脑终端接回来(没有就新建),不用再记 `tmux new -A -s`。绑定/新建会话的弹窗里也加了这句提示。"],en:["The update notice now tells you what a new version brings before you install it: when an update is detected, Settings lists each newer version's highlight in one line, so you know whether it's worth running `handmux update` on your computer.","New `handmux open <session>` on the computer: reclaim a session you created from your phone straight into your computer's terminal (created if missing) — no need to remember `tmux new -A -s`. The bind/create dialog now hints at it too."]}},{version:"0.9.1",date:"2026-07-06",highlight:{zh:"「添加到主屏」引导",en:'"Add to Home Screen" coach'},items:{zh:["新增「添加到主屏」引导:第一次在浏览器里打开时,提示你把 handmux 装到主屏,像 App 一样全屏打开。安卓可一键安装;iPhone 给出 Safari 的「分享 → 更多 → 添加到主屏幕」三步——iOS 上收推送也需要它。装好后不再打扰。"],en:[`New "Add to Home Screen" coach: the first time you open handmux in a browser, it shows how to install it to your home screen and run it full-screen like an app. Android installs in one tap; iPhone gets the Safari steps (Share → More → Add to Home Screen) — which is also what iOS push needs. It won't nag once you've added it.`]}},{version:"0.9.0",date:"2026-07-05",highlight:{zh:"聊天输入框多行重做",en:"Multi-line chat composer redone"},items:{zh:["聊天输入框多行重做:文字占满整行,麦克风/发送悬到右下角,末行快挤到按钮才让出一行——长消息不再被右侧按钮列挤窄,多行时拖光标也不会误收键盘。"],en:["Chat composer redone for multi-line: text takes the full width, mic/send float in the bottom-right corner, and a row is yielded only when the last line actually reaches them — long messages are no longer squeezed by a right-hand button column, and dragging the caret no longer collapses the keyboard."]}},{version:"0.8.0",date:"2026-07-05",highlight:{zh:"快捷栏可自定义 · 上传体验重做",en:"Customizable quick-bars · upload redone"},items:{zh:["命令模式的常用命令分成「全局」和「当前窗口」两组:快捷栏里全局的(灰)排前、当前窗口的(绿)排后。尾部改成 ⚙ 齿轮,点开更高的编辑器分两区、各自 ▲▼ 排序。新增区一行搞定:顶部「命令/按键」大 Tab 选类型,左侧开关选加到全局还是本窗口。命令可勾「带回车」(点一下直接执行,末尾带 ⏎);按键用 ⌃⇧⌥ + 一个基键拼出组合键(如 Ctrl+C),点一下直接发到终端。","聊天模式的快捷条也能自定义了:末尾同样是 ⚙,点开编辑器,「消息/按键」两个 Tab —— 消息就是一句发给 agent 的话(以 / 开头当斜杠命令),按键用同一套 ⌃⇧⌥ + 基键拼组合键(ESC/Tab/退格默认就在里面)。点任意一条可回到弹窗改,▲▼ 排序。","上传体验重做:进度条不再一冲到 100% 就假装完事——先显示真实发送进度,字节发完后转成「服务器接收中…」,大文件不再像卡死。上传中可随时「取消」,已传完的文件会保留。","重名不再报错:上传一个已存在的文件名会自动改名(如 `报告 (1).pdf`),绝不覆盖原文件。上传失败时也会告诉你具体原因(过大 / 不支持的类型)。","现在可以上传视频了(mp4、mov、webm 等)。","Git 面板现在能打开 `/tmp` 等家目录以外的仓库(比如 agent 在 /tmp 里干活的项目),不再报红。","用量进度条新增「时间竖线」:标出当前重置窗口已过去的时间比例。已用量在竖线左边=烧得比时间慢(稳),越过竖线=烧得偏快,一眼看出自己的节奏。","新增版本更新提示:每次打开检测一次,服务端落后于 npm 最新版时设置齿轮亮红点,进设置能看到当前/最新版本号,按提示在电脑上跑 `handmux update` 升级即可。"],en:[`Command mode's saved commands now split into "Global" and "This window": the quick-bar shows global ones (grey) first, then this window's (green). The trailing + is now a ⚙ opening a taller two-section editor, each reorderable with ▲▼. One add row does it all: a big Command/Key tab picks the type, a left switch picks which list it lands in. Commands can tick "Send Enter" (a tap runs it, marked ⏎); keys are built from ⌃⇧⌥ + a base key into a combo like Ctrl+C that fires straight into the terminal.`,"Chat mode's quick-bar is now customizable too: the same ⚙ at the end opens an editor with a Message/Key tab — a message is a line sent to the agent (starts with / for a slash-command), a key is built from the same ⌃⇧⌥ + base-key picker (ESC/Tab/Backspace ship as defaults). Tap any row to re-open the card and edit it, ▲▼ to reorder.","Upload redone: the bar no longer jumps to 100% and then hangs — it shows real send progress, then flips to “receiving on the server…” once bytes are flushed, so a big file no longer looks stuck. You can Cancel mid-upload; already-uploaded files are kept.","Name clashes no longer fail: uploading an existing name auto-renames (e.g. `report (1).pdf`) and never overwrites. Failures now tell you why (too large / unsupported type).","Video files can now be uploaded (mp4, mov, webm, …).","The git panel can now open repos outside your home directory (e.g. a project an agent is working in under `/tmp`) instead of erroring.",`Usage bars now show a "time marker": a thin vertical line at how far the current reset window has elapsed. Usage left of the line = you're burning slower than the clock; past it = faster — pacing at a glance.`,"New update notice: checked once each time you open the app — when the server is behind the latest npm release, the settings gear lights a dot and Settings shows the current/latest version so you can run `handmux update` on your computer."]}},{version:"0.7.0",date:"2026-07-03",highlight:{zh:"新增「用量」页",en:'New "Usage" page'},items:{zh:["新增「用量」页(顶栏仪表盘图标):一眼看 Claude 的 5 小时 / 本周额度进度条 + 重置倒计时,以及 Codex 的额度环。全部读主机本地文件,不登录账号、不调用 API。Codex 零配置即用;Claude 的实时额度需要在电脑上运行一次 handmux hooks install(会装一个 statusLine 捕获器,已有自定义 statusLine 的绝不覆盖)。"],en:["New \"Usage\" page (gauge icon in the top bar): see Claude's 5-hour / weekly limit bars with reset countdowns, plus Codex's quota ring — at a glance. All read from local files on the host: no account login, no API calls. Codex works with zero setup; Claude's live limits need a one-time `handmux hooks install` on the computer (it adds a statusLine capturer and never clobbers an existing custom statusLine)."]}},{version:"0.6.0",date:"2026-07-02",highlight:{zh:"新增 Codex 支持",en:"Codex support added"},items:{zh:["新增 Codex 支持:收件箱与推送现在同时认得 Claude 和 Codex——Codex 会话的「进行中 / 需要你 / 已完成」都会像 Claude 一样推到手机;tmux 外跑着的 Codex 会话也能一键「接管」进来(codex resume);新建会话的启动命令预设新增 codex。收件箱每一条、以及顶栏当前会话,都带上 Claude / Codex 标记,一眼区分是哪种 agent。","会话抽屉底部新增「未接管会话」:一眼看到在 tmux 外跑着、手机还控制不了的 Claude / Codex(带状态、时间、最后一条消息),点「接管」即可在 tmux 里续接同一会话——自动加进会话列表并跳进去,以后手机随时回来。"],en:["Added Codex support: the inbox and push now recognize both Claude and Codex — a Codex session's working / waiting-on-you / done states reach your phone just like Claude. You can take over Codex sessions running outside tmux (codex resume), and there's a new codex startup-command preset. Every inbox row and the current-session topbar now carry a Claude / Codex mark so you can tell the two apart at a glance.",`The session drawer now has a "not taken over" section at the bottom: Claude / Codex sessions running outside tmux that your phone can't steer yet (with their state, time, and last message). Tap Take over to resume the same conversation inside tmux — it's added to your session list and opened, so you can return to it from your phone anytime.`]}},{version:"0.5.0",date:"2026-06-28",highlight:{zh:"首个公开版 · 多语言界面",en:"First public release · multi-language UI"},items:{zh:["首个公开发布版本(npm 上的 handmux)。","新增繁体中文、日语、韩语界面(设置 → Language 切换)。","想法角标:有未完成想法时,灯泡图标右上角显示数量。","设置面板列数调节:实时显示当前列数,新增 ±1 精细调节按钮。"],en:["First public release (handmux on npm).","Added Traditional Chinese, Japanese, and Korean UI (Settings → Language to switch).","Idea badge: when there are pending ideas, the lightbulb icon shows a count in the corner.","Settings column control: shows the current column count live, with new ±1 fine-adjust buttons."]}},{date:"2026-06",label:{zh:"早期内测",en:"Early builds"},highlight:{zh:"早期内测",en:"Early builds"},items:{zh:["新增「Git」面板(顶栏图标):仿 VS Code,一页同屏看变更 + 提交历史,点文件/提交看全屏彩色 diff;只读,不动你的工作树。可绑多个目录用 tab 切换。","新增「想法」管理器(顶栏灯泡):按窗口记待办,可编辑、拖拽排序、一键填入、语音输入。","网站预览:选目录预览静态站点,或填端口预览本机正在跑的服务(走专属子域名);图片预览:文件/终端里点图片(含 GIF)直接内嵌打开,可捏合缩放、长按保存。","文件:上传/下载(进度条、系统分享上传),浏览器打开即落到当前会话目录,支持 /tmp、$TMPDIR;文档在应用内预览 Markdown/txt/log/sh,可语音朗读(逐句高亮)。","收件箱 + Web Push:汇总各会话「进行中/已完成/需要你」,窗口标签带状态色点,需要你时推送到手机。","命令面板:常用 + 每会话最近命令,斜杠命令快捷键(/clear、/compact、/model…)。","可靠性:断线重连(退避 + 每请求超时 + 断线横幅,后台自动暂停轮询),离线兜底页。","首版:手机浏览器驱动真实 tmux 面板(xterm 终端 + 会话/窗口/pane 导航 + 深链),移动按键区、键盘自动抬升、列宽/字号调节,可添加到主屏(PWA)。"],en:['New "Git" panel (top-bar icon): VS Code style — changes + commit history on one screen, tap a file/commit for a full-screen colored diff; read-only, never touches your working tree. Bind multiple dirs and switch via tabs.','New "Ideas" manager (top-bar lightbulb): per-window to-dos — edit, drag to reorder, one-tap insert, voice input.',"Website preview: pick a directory for a static site, or a port for a service running locally (dedicated subdomain); image preview: tap an image (including GIFs) in Files or the terminal to open inline, pinch to zoom, long-press to save.","Files: upload/download (progress bar, share-to-upload), the browser opens straight to the current session dir, /tmp and $TMPDIR supported; documents preview in-app (Markdown/txt/log/sh) and can be read aloud (sentence-by-sentence highlight).","Inbox + Web Push: summarizes each session's In-progress / Done / Needs-you, window tabs get a status color dot, and Needs-you pushes to your phone.","Command panel: frequent + per-session recent commands, slash-command shortcuts (/clear, /compact, /model, …).","Reliability: reconnect on disconnect (backoff + per-request timeout + connection-lost banner, polling auto-paused in the background) and an offline fallback page.","First release: a phone browser drives real tmux panes (xterm terminal + session/window/pane navigation + deep links), a mobile key bar, keyboard auto-lift, column-width/font-size adjustment, and add-to-home-screen (PWA)."]}}],ky=e=>e.version||e.date,la=mu[0]?ky(mu[0]):null,Ey={jpg:"image/jpeg",jpeg:"image/jpeg",jfif:"image/jpeg",png:"image/png",gif:"image/gif",webp:"image/webp",bmp:"image/bmp",svg:"image/svg+xml",ico:"image/x-icon",heic:"image/heic",heif:"image/heif",avif:"image/avif",tif:"image/tiff",tiff:"image/tiff",pdf:"application/pdf",txt:"text/plain",log:"text/plain",md:"text/markdown",markdown:"text/markdown",csv:"text/csv",json:"application/json",xml:"application/xml",html:"text/html",htm:"text/html",zip:"application/zip",mp4:"video/mp4",m4v:"video/mp4",mov:"video/quicktime",webm:"video/webm",mkv:"video/x-matroska",avi:"video/x-msvideo",wmv:"video/x-ms-wmv",flv:"video/x-flv","3gp":"video/3gpp",ogv:"video/ogg",mpeg:"video/mpeg",mpg:"video/mpeg",doc:"application/msword",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",xls:"application/vnd.ms-excel",xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",ppt:"application/vnd.ms-powerpoint",pptx:"application/vnd.openxmlformats-officedocument.presentationml.presentation"};function Al(e){const t=(e||"").lastIndexOf(".");return t<0?"":Ey[e.slice(t+1).toLowerCase()]||""}function Ly(e){return Al(e).startsWith("image/")}class lt extends Error{}async function Ge(e,t={}){const i=kn(),{timeoutMs:s,...r}=t,l={Authorization:`Bearer ${i??""}`,...r.headers||{}};r.body&&(l["Content-Type"]="application/json");let p=null,n=null;s&&(p=new AbortController,n=setTimeout(()=>p.abort(),s));try{const o=await fetch(e,{cache:"no-store",...r,headers:l,signal:p==null?void 0:p.signal});if(o.status===401)throw new lt;if(!o.ok){let f=`${e} -> ${o.status}`;try{const _=await o.json();_!=null&&_.error&&(f=_.error)}catch{}throw new Error(f)}return o.status===204?{unchanged:!0}:await o.json()}catch(o){throw p!=null&&p.signal.aborted?new Error(`${e} -> timeout`):o}finally{n&&clearTimeout(n)}}const qn=()=>Ge("/api/sessions"),Ry=()=>Ge("/api/usage"),Mr=e=>Ge(`/api/windows?session=${encodeURIComponent(e)}`),ca=e=>Ge(`/api/panes?window=${encodeURIComponent(e)}`),Ty=(e,t=1500,i)=>Ge(`/api/history?pane=${encodeURIComponent(e)}&lines=${t}${i?`&since=${i}`:""}`,{timeoutMs:8e3}),Ta=(e,t,i=!0)=>Ge("/api/send",{method:"POST",body:JSON.stringify({pane:e,text:t,enter:i})}),gu=(e,t)=>Ge("/api/keys",{method:"POST",body:JSON.stringify({pane:e,keys:t})}),Dy=(e,t,i=1)=>Ge("/api/scroll",{method:"POST",body:JSON.stringify({pane:e,dir:t,lines:i})}),Ay=(e,t,i)=>Ge("/api/resize",{method:"POST",body:JSON.stringify({window:e,cols:t,rows:i})}),My=(e,t)=>Ge("/api/resize",{method:"POST",body:JSON.stringify({pane:e,cols:t})}),Ny=e=>Ge(`/api/layout?window=${encodeURIComponent(e)}`),Py=(e,t)=>Ge("/api/resize",{method:"POST",body:JSON.stringify({window:e,auto:!0,layout:t})}),Iy=(e,t,i)=>Ge("/api/sessions",{method:"POST",body:JSON.stringify({name:e,cwd:t,cmd:i})}),Oy=(e,t,i,s,r)=>Ge("/api/windows",{method:"POST",body:JSON.stringify({session:e,pane:t,name:i,cwd:s,cmd:r})}),By=(e,t)=>Ge("/api/sessions",{method:"PATCH",body:JSON.stringify({id:e,name:t})}),jy=(e,t)=>Ge("/api/windows",{method:"PATCH",body:JSON.stringify({id:e,name:t})}),Fy=e=>Ge(`/api/windows?window=${encodeURIComponent(e)}`,{method:"DELETE"}),Hy=(e,t)=>Ge("/api/windows/swap",{method:"POST",body:JSON.stringify({a:e,b:t})}),$y=(e,t)=>Ge("/api/dir",{method:"POST",body:JSON.stringify({dir:e,name:t})}),yf=(e,t=null)=>Ge(`/api/file?path=${encodeURIComponent(e)}${t!=null?`&mtime=${encodeURIComponent(t)}`:""}`,{timeoutMs:8e3}),n_=e=>Ge(`/api/dir${e?`?path=${encodeURIComponent(e)}`:""}`,{timeoutMs:8e3}),yn=e=>Ge(`/api/pane-cwd?pane=${encodeURIComponent(e)}`,{timeoutMs:8e3}),zy=()=>Ge("/api/asr/sign",{timeoutMs:8e3}),r_=()=>Ge("/api/config",{timeoutMs:8e3}),Uy=()=>Ge("/api/version",{timeoutMs:8e3}),Wy=()=>Ge("/api/hooks/install",{method:"POST",timeoutMs:15e3}),Vy=(e=[])=>Ge(`/api/states?sessions=${encodeURIComponent(e.join(","))}`,{timeoutMs:4e3}),Sf=()=>Ge("/api/orphans",{timeoutMs:8e3}),Ky=e=>Ge("/api/orphans/takeover",{method:"POST",body:JSON.stringify(e),timeoutMs:15e3}),bf=e=>Ge(`/api/git/repos?dir=${encodeURIComponent(e)}`,{timeoutMs:8e3}),Gy=e=>Ge(`/api/git/status?repo=${encodeURIComponent(e)}`,{timeoutMs:8e3}),qy=(e,{limit:t=50,ref:i}={})=>{let s=`/api/git/log?repo=${encodeURIComponent(e)}&limit=${t}`;return i&&(s+=`&ref=${encodeURIComponent(i)}`),Ge(s,{timeoutMs:8e3})},Yy=e=>Ge(`/api/git/branches?repo=${encodeURIComponent(e)}`,{timeoutMs:8e3}),Xy=(e,{path:t,commit:i,staged:s}={})=>{let r=`/api/git/diff?repo=${encodeURIComponent(e)}&path=${encodeURIComponent(t??"")}`;return i&&(r+=`&commit=${encodeURIComponent(i)}`),s&&(r+="&staged=1"),Ge(r,{timeoutMs:8e3})},Jy=(e,t)=>Ge(`/api/git/commit?repo=${encodeURIComponent(e)}&hash=${encodeURIComponent(t)}`,{timeoutMs:8e3});function Zy(e,t){return new Promise((i,s)=>{const r=kn(),l=new XMLHttpRequest;l.open("GET",`/api/download?path=${encodeURIComponent(e)}`),l.setRequestHeader("Authorization",`Bearer ${r??""}`),l.responseType="blob",l.onprogress=p=>{t&&p.lengthComputable&&t(p.loaded/p.total)},l.onerror=()=>s(new Error("download failed")),l.onload=()=>{if(l.status===401)return s(new lt);if(l.status<200||l.status>=300)return s(new Error(`download -> ${l.status}`));const p=e.split("/").pop()||"download";let n=l.response;const o=Al(p);o&&n&&n.type!==o&&(n=n.slice(0,n.size,o));const f=URL.createObjectURL(n),_=document.createElement("a");_.href=f,_.download=p,document.body.appendChild(_),_.click(),_.remove(),setTimeout(()=>URL.revokeObjectURL(f),1e3),i()},l.send()})}function xf(e,t=null){return new Promise((i,s)=>{const r=kn(),l=new XMLHttpRequest,p=t!=null?`&mtime=${encodeURIComponent(t)}`:"";l.open("GET",`/api/download?path=${encodeURIComponent(e)}${p}`),l.setRequestHeader("Authorization",`Bearer ${r??""}`),l.responseType="blob",l.onerror=()=>s(new Error(T("api.loadFailed"))),l.onload=()=>{if(l.status===304)return i({notModified:!0});if(l.status===401)return s(new lt);if(l.status<200||l.status>=300)return s(new Error(`image -> ${l.status}`));let n=l.response;const o=Al(e.split("/").pop()||"");o&&n&&n.type!==o&&(n=n.slice(0,n.size,o));const f=Number(l.getResponseHeader("X-Mtime"));i({url:URL.createObjectURL(n),mtimeMs:Number.isFinite(f)?f:null})},l.send()})}const Cf=(e,t)=>{const i=encodeURIComponent(kn()??"");return(e==null?void 0:e.kind)==="dynamic"?`https://${encodeURIComponent(e.name)}.${t}/?token=${i}`:`/preview/${encodeURIComponent(e==null?void 0:e.name)}/?token=${i}`},ac=(e,t={})=>Ge("/api/previews",{method:"POST",body:JSON.stringify(t.port!=null?{name:e,port:t.port}:{name:e,dir:t.dir})}),Qy=()=>Ge("/api/previews"),e1=e=>Ge(`/api/previews/${encodeURIComponent(e)}`,{method:"DELETE"});class ol extends Error{constructor(){super("upload aborted"),this.name="UploadAbort"}}function o_(e,t,i,s=!1,{signal:r}={}){return new Promise((l,p)=>{if(r!=null&&r.aborted)return p(new ol);const n=kn(),o=new FormData;o.append("dir",e),s&&o.append("stash","1"),o.append("file",t,t.name);const f=new XMLHttpRequest;f.open("POST","/api/upload"),f.setRequestHeader("Authorization",`Bearer ${n??""}`),f.upload.onprogress=m=>{i&&m.lengthComputable&&i(m.loaded/m.total,"sending")},f.upload.onload=()=>{i==null||i(1,"processing")};const _=()=>f.abort();r&&r.addEventListener("abort",_,{once:!0});const u=()=>{r&&r.removeEventListener("abort",_)};f.onabort=()=>{u(),p(new ol)},f.onerror=()=>{u(),p(new Error(T("api.uploadFailed")))},f.onload=()=>{if(u(),f.status===401)return p(new lt);if(f.status>=200&&f.status<300)try{return l(JSON.parse(f.responseText))}catch{return l({})}const m={400:T("api.uploadBadDir"),409:T("api.uploadDuplicate"),413:T("api.uploadTooLarge"),415:T("api.uploadBadType")}[f.status]||T("api.uploadFailed");p(new Error(m))},f.send(o)})}function kf(e){return String(e||"").replace(/[^A-Za-z0-9._-]+/g,"-").replace(/-{2,}/g,"-").replace(/^[-.]+|-+$/g,"").toLowerCase()}function t1({session:e,windowName:t,windowId:i}){const s=[e,t].map(kf).filter(Boolean);return s.push(kf(i)||"w"),s.join("-")}const i1=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" role="img" aria-label="Claude"><title>Claude</title><path fill="#d97757" d="m4.7144 15.9555 4.7174-2.6471.079-.2307-.079-.1275h-.2307l-.7893-.0486-2.6956-.0729-2.3375-.0971-2.2646-.1214-.5707-.1215-.5343-.7042.0546-.3522.4797-.3218.686.0608 1.5179.1032 2.2767.1578 1.6514.0972 2.4468.255h.3886l.0546-.1579-.1336-.0971-.1032-.0972L6.973 9.8356l-2.55-1.6879-1.3356-.9714-.7225-.4918-.3643-.4614-.1578-1.0078.6557-.7225.8803.0607.2246.0607.8925.686 1.9064 1.4754 2.4893 1.8336.3643.3035.1457-.1032.0182-.0728-.164-.2733-1.3539-2.4467-1.445-2.4893-.6435-1.032-.17-.6194c-.0607-.255-.1032-.4674-.1032-.7285L6.287.1335 6.6997 0l.9957.1336.419.3642.6192 1.4147 1.0018 2.2282 1.5543 3.0296.4553.8985.2429.8318.091.255h.1579v-.1457l.1275-1.706.2368-2.0947.2307-2.6957.0789-.7589.3764-.9107.7468-.4918.5828.2793.4797.686-.0668.4433-.2853 1.8517-.5586 2.9021-.3643 1.9429h.2125l.2429-.2429.9835-1.3053 1.6514-2.0643.7286-.8196.85-.9046.5464-.4311h1.0321l.759 1.1293-.34 1.1657-1.0625 1.3478-.8804 1.1414-1.2628 1.7-.7893 1.36.0729.1093.1882-.0183 2.8535-.607 1.5421-.2794 1.8396-.3157.8318.3886.091.3946-.3278.8075-1.967.4857-2.3072.4614-3.4364.8136-.0425.0304.0486.0607 1.5482.1457.6618.0364h1.621l3.0175.2247.7892.522.4736.6376-.079.4857-1.2142.6193-1.6393-.3886-3.825-.9107-1.3113-.3279h-.1822v.1093l1.0929 1.0686 2.0035 1.8092 2.5075 2.3314.1275.5768-.3218.4554-.34-.0486-2.2039-1.6575-.85-.7468-1.9246-1.621h-.1275v.17l.4432.6496 2.3436 3.5214.1214 1.0807-.17.3521-.6071.2125-.6679-.1214-1.3721-1.9246L14.38 17.959l-1.1414-1.9428-.1397.079-.674 7.2552-.3156.3703-.7286.2793-.6071-.4614-.3218-.7468.3218-1.4753.3886-1.9246.3157-1.53.2853-1.9004.17-.6314-.0121-.0425-.1397.0182-1.4328 1.9672-2.1796 2.9446-1.7243 1.8456-.4128.164-.7164-.3704.0667-.6618.4008-.5889 2.386-3.0357 1.4389-1.882.929-1.0868-.0062-.1579h-.0546l-6.3385 4.1164-1.1293.1457-.4857-.4554.0608-.7467.2307-.2429 1.9064-1.3114Z"/></svg>
|
|
41
|
+
`,s1=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" role="img" aria-label="Codex"><title>Codex (OpenAI)</title><path fill="#ededed" d="M22.2819 9.8211a5.9847 5.9847 0 0 0-.5157-4.9108 6.0462 6.0462 0 0 0-6.5098-2.9A6.0651 6.0651 0 0 0 4.9807 4.1818a5.9847 5.9847 0 0 0-3.9977 2.9 6.0462 6.0462 0 0 0 .7427 7.0966 5.98 5.98 0 0 0 .511 4.9107 6.051 6.051 0 0 0 6.5146 2.9001A5.9847 5.9847 0 0 0 13.2599 24a6.0557 6.0557 0 0 0 5.7718-4.2058 5.9894 5.9894 0 0 0 3.9977-2.9001 6.0557 6.0557 0 0 0-.7475-7.0729zm-9.022 12.6081a4.4755 4.4755 0 0 1-2.8764-1.0408l.1419-.0804 4.7783-2.7582a.7948.7948 0 0 0 .3927-.6813v-6.7369l2.02 1.1686a.071.071 0 0 1 .038.052v5.5826a4.504 4.504 0 0 1-4.4945 4.4944zm-9.6607-4.1254a4.4708 4.4708 0 0 1-.5346-3.0137l.142.0852 4.783 2.7582a.7712.7712 0 0 0 .7806 0l5.8428-3.3685v2.3324a.0804.0804 0 0 1-.0332.0615L9.74 19.9502a4.4992 4.4992 0 0 1-6.1408-1.6464zM2.3408 7.8956a4.485 4.485 0 0 1 2.3655-1.9728V11.6a.7664.7664 0 0 0 .3879.6765l5.8144 3.3543-2.0201 1.1685a.0757.0757 0 0 1-.071 0l-4.8303-2.7865A4.504 4.504 0 0 1 2.3408 7.872zm16.5963 3.8558L13.1038 8.364 15.1192 7.2a.0757.0757 0 0 1 .071 0l4.8303 2.7913a4.4944 4.4944 0 0 1-.6765 8.1042v-5.6772a.79.79 0 0 0-.407-.667zm2.0107-3.0231l-.142-.0852-4.7735-2.7818a.7759.7759 0 0 0-.7854 0L9.409 9.2297V6.8974a.0662.0662 0 0 1 .0284-.0615l4.8303-2.7866a4.4992 4.4992 0 0 1 6.6802 4.66zM8.3065 12.863l-2.02-1.1638a.0804.0804 0 0 1-.038-.0567V6.0742a4.4992 4.4992 0 0 1 7.3757-3.4537l-.142.0805L8.704 5.459a.7948.7948 0 0 0-.3927.6813zm1.0976-2.3654l2.602-1.4998 2.6069 1.4998v2.9994l-2.5974 1.4997-2.6067-1.4997Z"/></svg>
|
|
42
|
+
`,ct={viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:1.75,strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":!0};function yo(){return g.jsx("svg",{...ct,children:g.jsx("path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z"})})}function n1(){return g.jsxs("svg",{...ct,children:[g.jsx("path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z"}),g.jsx("path",{d:"M12 10v6M9 13h6"})]})}function _u(){return g.jsxs("svg",{...ct,children:[g.jsx("path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2Z"}),g.jsx("circle",{cx:"12",cy:"12",r:"3"})]})}function r1(){return g.jsxs("svg",{...ct,children:[g.jsx("path",{d:"M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z"}),g.jsx("path",{d:"M14 3v5h5"})]})}function o1(){return g.jsxs("svg",{...ct,children:[g.jsx("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",ry:"2"}),g.jsx("circle",{cx:"9",cy:"9",r:"2"}),g.jsx("path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"})]})}function a_(){return g.jsxs("svg",{...ct,children:[g.jsx("path",{d:"M12 19V5"}),g.jsx("path",{d:"m5 12 7-7 7 7"})]})}function a1(){return g.jsxs("svg",{...ct,children:[g.jsx("line",{x1:"2",x2:"5",y1:"12",y2:"12"}),g.jsx("line",{x1:"19",x2:"22",y1:"12",y2:"12"}),g.jsx("line",{x1:"12",x2:"12",y1:"2",y2:"5"}),g.jsx("line",{x1:"12",x2:"12",y1:"19",y2:"22"}),g.jsx("circle",{cx:"12",cy:"12",r:"7"})]})}function Js(){return g.jsx("svg",{...ct,children:g.jsx("path",{d:"m6 9 6 6 6-6"})})}function l_(){return g.jsx("svg",{...ct,children:g.jsx("path",{d:"M12 5v14M5 12h14"})})}function c_(){return g.jsx("svg",{...ct,children:g.jsx("path",{d:"M20 6 9 17l-5-5"})})}function u_(){return g.jsxs("svg",{...ct,children:[g.jsx("circle",{cx:"12",cy:"12",r:"9"}),g.jsx("path",{d:"M12 7v5l3 2"})]})}function l1(){return g.jsxs("svg",{...ct,children:[g.jsx("path",{d:"M9 18h6"}),g.jsx("path",{d:"M10 22h4"}),g.jsx("path",{d:"M15.09 14c.18-.98.65-1.74 1.41-2.5A4.65 4.65 0 0 0 18 8 6 6 0 0 0 6 8c0 1 .23 2.23 1.5 3.5A4.61 4.61 0 0 1 8.91 14"})]})}function c1(){return g.jsxs("svg",{...ct,children:[g.jsx("path",{d:"M22 12h-6l-2 3h-4l-2-3H2"}),g.jsx("path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11Z"})]})}function u1(){return g.jsxs("svg",{...ct,children:[g.jsx("path",{d:"M12 3v12"}),g.jsx("path",{d:"m7 10 5 5 5-5"}),g.jsx("path",{d:"M5 21h14"})]})}function h_(){return g.jsxs("svg",{...ct,children:[g.jsx("path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"}),g.jsx("path",{d:"M14 2v4a2 2 0 0 0 2 2h4"}),g.jsx("path",{d:"M12 18v-6"}),g.jsx("path",{d:"m9 15 3-3 3 3"})]})}function d_(){return g.jsxs("svg",{...ct,children:[g.jsx("rect",{x:"9",y:"9",width:"11",height:"11",rx:"2"}),g.jsx("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})}function h1(){return g.jsx("svg",{...ct,children:g.jsx("path",{d:"M7 5l12 7-12 7z"})})}function d1(){return g.jsxs("svg",{...ct,children:[g.jsx("line",{x1:"9",y1:"5",x2:"9",y2:"19"}),g.jsx("line",{x1:"15",y1:"5",x2:"15",y2:"19"})]})}function f1(){return g.jsx("svg",{...ct,children:g.jsx("rect",{x:"6",y:"6",width:"12",height:"12",rx:"2"})})}function p1(){return g.jsxs("svg",{...ct,children:[g.jsx("rect",{x:"9",y:"3",width:"6",height:"11",rx:"3"}),g.jsx("path",{d:"M5 11a7 7 0 0 0 14 0"}),g.jsx("line",{x1:"12",y1:"18",x2:"12",y2:"21"})]})}function vu(){return g.jsxs("svg",{...ct,children:[g.jsx("rect",{x:"2",y:"3",width:"20",height:"14",rx:"2"}),g.jsx("path",{d:"M8 21h8M12 17v4"})]})}function m1(){return g.jsxs("svg",{...ct,children:[g.jsx("path",{d:"M12 14l4-4"}),g.jsx("path",{d:"M3.34 19a10 10 0 1 1 17.32 0"})]})}function g1(){return g.jsxs("svg",{...ct,children:[g.jsx("rect",{x:"5",y:"2",width:"14",height:"20",rx:"2"}),g.jsx("path",{d:"M12 18h.01"})]})}function _1(){return g.jsxs("svg",{...ct,children:[g.jsx("path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"}),g.jsx("path",{d:"M21 3v5h-5"}),g.jsx("path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"}),g.jsx("path",{d:"M3 21v-5h5"})]})}function f_(){return g.jsxs("svg",{...ct,children:[g.jsx("line",{x1:"6",y1:"3",x2:"6",y2:"15"}),g.jsx("circle",{cx:"18",cy:"6",r:"3"}),g.jsx("circle",{cx:"6",cy:"18",r:"3"}),g.jsx("path",{d:"M18 9a9 9 0 0 1-9 9"})]})}function sr(){return g.jsxs("svg",{...ct,children:[g.jsx("path",{d:"M18 6 6 18"}),g.jsx("path",{d:"m6 6 12 12"})]})}function v1({down:e=!1}){return g.jsxs("svg",{...ct,children:[g.jsx("rect",{x:"3",y:"9",width:"18",height:"11",rx:"2"}),g.jsx("path",{d:"M7 13h.01M11 13h.01M15 13h.01M8 16.5h8"}),e?g.jsx("path",{d:"M9 4.5l3 3 3-3"}):g.jsx("path",{d:"M9 6.5l3-3 3 3"})]})}const Ef={claude:i1,codex:s1};function hr({agent:e}){const t=Ef[e]?e:"claude";return g.jsx("span",{className:"agent-mark",role:"img","aria-label":t,dangerouslySetInnerHTML:{__html:Ef[t]}})}const p_=e=>{if(e<=0)return T("time.expired");const t=Math.max(1,Math.round(e/6e4));return T("time.minutes",{n:t})};function m_(e,t=!0){const[i,s]=N.useState(()=>Date.now());return N.useEffect(()=>{if(!t||e==null)return;s(Date.now());const r=setInterval(()=>s(Date.now()),1e3);return()=>clearInterval(r)},[t,e]),e!=null?Math.max(0,e-i):0}const lc=1280,Lf=6;function w1({open:e,name:t,kind:i="static",domain:s=null,port:r,dir:l,expiresAt:p,onRenew:n,onStop:o,onMinimize:f}){const[_,u]=N.useState(!1),[m,w]=N.useState("mobile"),[S,v]=N.useState(1),[a,h]=N.useState({w:0,h:0}),c=N.useRef(null),d=N.useRef(null);N.useEffect(()=>{e||u(!1)},[e]),N.useEffect(()=>{m==="mobile"&&v(1)},[m]),N.useEffect(()=>{const j=d.current;if(!e||!j)return;const W=()=>h({w:j.clientWidth,h:j.clientHeight});if(W(),typeof ResizeObserver>"u")return;const z=new ResizeObserver(W);return z.observe(j),()=>z.disconnect()},[e]);const y=m_(p,e),C=i==="dynamic"?r!=null?`:${r}`:"":l||"",b=m==="pc"&&a.w>0,E=a.w>0?a.w/lc:1,x=a.h>0?a.h/E:0,k=E*S,L=b?{width:`${lc*k}px`,height:`${x*k}px`}:void 0,I=b?{width:`${lc}px`,height:`${x}px`,transform:`scale(${k})`,transformOrigin:"0 0"}:void 0,A=j=>v(W=>Math.min(Lf,Math.max(1,+(W+j).toFixed(2)))),P=()=>{const j=c.current;if(j)try{j.contentWindow.location.reload()}catch{j.src=j.src}};return Do.createPortal(g.jsxs("div",{className:`file-sheet ${e?"open":""}`,"aria-hidden":!e,children:[g.jsxs("div",{className:"file-tabs preview-head",children:[g.jsxs("span",{className:"preview-status",children:[g.jsx(vu,{}),g.jsx("span",{className:"preview-state",children:T(i==="dynamic"?"preview.dynamic":"preview.static")}),t&&g.jsxs("span",{className:"preview-name",title:`${t}${C?" "+C:""}`,children:[t,C&&g.jsx("span",{className:"preview-detail",children:C})]})]}),g.jsx("button",{className:"preview-remain",title:T("preview.remainTitle"),"aria-haspopup":"dialog","aria-expanded":_,onClick:()=>u(j=>!j),children:p_(y)}),g.jsx("button",{className:"preview-iconbtn",onClick:()=>w(j=>j==="mobile"?"pc":"mobile"),"aria-label":T(m==="mobile"?"preview.toPcView":"preview.toMobileView"),title:T(m==="mobile"?"preview.pcView":"preview.mobileView"),"aria-pressed":m==="pc",children:m==="mobile"?g.jsx(vu,{}):g.jsx(g1,{})}),g.jsx("button",{className:"preview-iconbtn",onClick:P,"aria-label":T("preview.refresh"),title:T("preview.refresh"),children:g.jsx(_1,{})}),g.jsx("button",{className:"file-min","aria-label":T("preview.minimize"),title:T("preview.minimize"),onClick:f,children:g.jsx(Js,{})}),_&&g.jsxs(g.Fragment,{children:[g.jsx("div",{className:"preview-pop-backdrop",onClick:()=>u(!1)}),g.jsxs("div",{className:"preview-pop",role:"dialog","aria-label":T("preview.ttlDialog"),children:[g.jsx("button",{className:"preview-pop-item",onClick:()=>{u(!1),n==null||n()},children:T("preview.renew")}),g.jsx("button",{className:"preview-pop-item preview-pop-danger",onClick:()=>{u(!1),o==null||o()},children:T("preview.stop")})]})]})]}),g.jsx("div",{className:`file-body preview-body ${b?"pc":""}`,ref:d,children:t&&b?g.jsx("div",{className:"preview-scaler",style:L,children:g.jsx("iframe",{ref:c,className:"preview-frame",title:T("preview.iframeTitle"),style:I,src:Cf({name:t,kind:i},s)})}):t?g.jsx("iframe",{ref:c,className:"preview-frame",title:T("preview.iframeTitle"),src:Cf({name:t,kind:i},s)}):null}),b&&g.jsxs("div",{className:"preview-zoom",children:[g.jsx("button",{className:"preview-zoom-btn",onClick:()=>A(-.5),disabled:S<=1,"aria-label":T("preview.zoomOut"),children:"−"}),g.jsxs("span",{className:"preview-zoom-val","aria-hidden":"true",children:[Math.round(S*100),"%"]}),g.jsx("button",{className:"preview-zoom-btn",onClick:()=>A(.5),disabled:S>=Lf,"aria-label":T("preview.zoomIn"),children:"+"})]})]}),document.body)}const y1={working:"working",done:"done",idle:"done",permission:"needs"},wu={needs:3,done:2,working:1},S1={working:T("inbox.view.working"),done:T("inbox.view.done"),needs:T("inbox.view.needs")};function b1(e,t={},i=0){const s=[];for(const[r,l]of Object.entries(e)){const p=y1[l.kind];if(!p)continue;const n=l.ts||0;p==="done"&&!(n>Math.max(i||0,t[r]||0))||s.push({pane:r,session:l.session,window:l.window,windowName:l.windowName,view:p,msg:l.msg||"",ts:n,agent:l.agent||"claude"})}return s.sort((r,l)=>r.session<l.session?-1:r.session>l.session?1:wu[l.view]-wu[r.view]||l.ts-r.ts),s}function x1(e){const t={working:0,done:0,needs:0};for(const i of e)t[i.view]!=null&&(t[i.view]+=1);return t}function C1(e){let t=null,i=0;for(const s of e){const r=wu[s.view]||0;r>i&&(i=r,t=s.view)}return t}function Rf(e){let t=0;for(const i of Object.values(e))(i.ts||0)>t&&(t=i.ts);return t}function g_(e,t){if(!e)return"";const i=Math.max(0,Math.round((t-e)/1e3));if(i<60)return T("time.secAgo",{n:i});const s=Math.round(i/60);if(s<60)return T("time.minAgo",{n:s});const r=Math.round(s/60);return r<24?T("time.hourAgo",{n:r}):T("time.dayAgo",{n:Math.round(r/24)})}function cc(e,t,i){const s=e.findIndex(r=>r.id===t);return s<0?null:e[i==="left"?s-1:s+1]??null}const __="tw_notify",yu=()=>localStorage.getItem(__)==="1",v_=e=>localStorage.setItem(__,e?"1":"0");function dr(){return typeof navigator<"u"&&"serviceWorker"in navigator&&typeof window<"u"&&"PushManager"in window&&"Notification"in window}function w_(){var e;return typeof window<"u"&&(((e=window.matchMedia)==null?void 0:e.call(window,"(display-mode: standalone)").matches)||window.navigator.standalone===!0)||!1}const k1=()=>/iP(hone|ad|od)/.test(navigator.userAgent||"");function So(e={}){return{Authorization:`Bearer ${kn()??""}`,...e}}function E1(e){const t="=".repeat((4-e.length%4)%4),i=(e+t).replace(/-/g,"+").replace(/_/g,"/"),s=atob(i),r=new Uint8Array(s.length);for(let l=0;l<s.length;l+=1)r[l]=s.charCodeAt(l);return r}async function L1(){if(!dr())throw new Error(T("push.unsupported"));if(k1()&&!w_())throw new Error(T("push.iosAddToHome"));if(await Notification.requestPermission()!=="granted")throw new Error(T("push.permissionDenied"));const t=await navigator.serviceWorker.ready,i=await fetch("/api/push/vapid",{headers:So(),cache:"no-store"});if(!i.ok)throw new Error(T("push.noVapid"));const{key:s}=await i.json();let r=await t.pushManager.getSubscription();if(r||(r=await t.pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:E1(s)})),!(await fetch("/api/push/subscribe",{method:"POST",headers:So({"Content-Type":"application/json"}),body:JSON.stringify({subscription:r,boundSessions:wn()})})).ok)throw new Error(T("push.subscribeFailed"));return v_(!0),!0}async function R1(){try{const t=await(await navigator.serviceWorker.ready).pushManager.getSubscription();t&&(await fetch("/api/push/unsubscribe",{method:"POST",headers:So({"Content-Type":"application/json"}),body:JSON.stringify({endpoint:t.endpoint})}),await t.unsubscribe())}catch{}v_(!1)}async function Nr(){if(!(!yu()||!dr()))try{const t=await(await navigator.serviceWorker.ready).pushManager.getSubscription();if(!t)return;await fetch("/api/push/bound",{method:"POST",headers:So({"Content-Type":"application/json"}),body:JSON.stringify({endpoint:t.endpoint,boundSessions:wn()})})}catch{}}async function T1(){if(!dr())return null;try{const t=await(await navigator.serviceWorker.ready).pushManager.getSubscription();if(!t)return null;const i=await fetch("/api/push/key",{method:"POST",headers:So({"Content-Type":"application/json"}),body:JSON.stringify({endpoint:t.endpoint})});return i.ok&&(await i.json()).pushKey||null}catch{return null}}async function D1(e){if(dr())try{(await(await navigator.serviceWorker.ready).getNotifications({tag:`pane-${e}`})).forEach(s=>s.close())}catch{}}const Tf="\\s'\"`()\\[\\]<>,;,。、;:!?()【】《》「」“”‘’*…:│",A1="md|markdown|html|htm|txt|log|sh|png|jpg|jpeg|jfif|gif|webp|svg|bmp|ico|avif|apng",Df=new RegExp(`[^${Tf}]+\\.(?:${A1})(?=$|[${Tf}.])`,"gi");function y_(e){const t=[];if(!e)return t;Df.lastIndex=0;let i;for(;(i=Df.exec(e))!==null;){let s=i.index,r=i[0];const l=/^@+/.exec(r);l&&(s+=l[0].length,r=r.slice(l[0].length)),r&&t.push({start:s,end:s+r.length,path:r})}return t}const S_=e=>typeof e=="string"&&e.startsWith("/");function an(e,t){const i=S_(t)?t:`${e.replace(/\/+$/,"")}/${t}`,s=i.startsWith("/"),r=[];for(const l of i.split("/"))if(!(!l||l===".")){if(l===".."){r.pop();continue}r.push(l)}return(s?"/":"")+r.join("/")}const M1={key:"home",type:"home",name:T("doc.home")},b_=(e,t)=>({...e,type:t.type??e.type,name:t.name??e.name,content:t.content!==void 0?t.content:e.content,mtime:t.mtime!==void 0?t.mtime:e.mtime});function N1(e,t,i){if(e.tabs.some(r=>r.key===t))return{tabs:e.tabs.map(r=>r.key===t?b_(r,i):r),active:t};const s={key:t,type:i.type,name:i.name,content:i.content,mtime:i.mtime,path:t};return{tabs:[...e.tabs,s],active:t}}function P1(e,t,i){return e.tabs.some(s=>s.key===t)?{...e,tabs:e.tabs.map(s=>s.key===t?b_(s,i):s)}:e}function I1(e,t){const i=e.tabs.findIndex(l=>l.key===t);if(i<=0)return e;const s=e.tabs.filter(l=>l.key!==t),r=e.active===t?e.tabs[i-1].key:e.active;return{tabs:s,active:r}}function O1(){const[e,t]=N.useState({tabs:[M1],active:"home"}),i=N.useCallback((p,n)=>t(o=>N1(o,p,n)),[]),s=N.useCallback((p,n)=>t(o=>P1(o,p,n)),[]),r=N.useCallback(p=>t(n=>I1(n,p)),[]),l=N.useCallback(p=>t(n=>({...n,active:p})),[]);return{tabs:e.tabs,active:e.active,openDoc:i,refreshDoc:s,closeTab:r,activate:l}}function B1({open:e,currentSessionName:t,bound:i,onSelectSession:s,onUnbind:r,onBind:l,onClose:p,onLogout:n,orphans:o=[],onTakeoverRequest:f}){const[_,u]=N.useState(!1);return g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:`drawer ${e?"open":""}`,children:[g.jsxs("div",{className:"drawer-list",children:[g.jsx("div",{className:"drawer-title",children:"SESSIONS"}),i.length===0&&g.jsx("div",{className:"drawer-empty",children:T("drawer.empty")}),i.map(m=>g.jsxs("div",{className:`drawer-row drawer-session ${m===t?"active":""}`,children:[g.jsx("span",{className:"drawer-name",onClick:()=>s(m),children:m}),g.jsx("button",{className:"drawer-unbind",onClick:w=>{w.stopPropagation(),r(m)},"aria-label":T("drawer.unbind"),title:T("drawer.unbind"),children:"✕"})]},m)),g.jsxs("button",{className:"drawer-bind",onClick:l,children:["+ ",T("drawer.bind")]}),o.length>0&&g.jsxs("div",{className:"drawer-orphans",children:[g.jsxs("button",{className:"drawer-orphans-head",onClick:()=>u(m=>!m),children:[g.jsx("span",{children:T("drawer.orphans.title",{n:o.length})}),g.jsx("span",{className:"drawer-orphans-caret","aria-hidden":"true",children:_?"▾":"▸"})]}),_&&g.jsxs(g.Fragment,{children:[g.jsx("div",{className:"drawer-orphans-hint",children:T("drawer.orphans.hint")}),o.map(m=>{const w=!m.sessionId,S=m.state==="busy"||w;return g.jsxs("div",{className:"drawer-orphan-row",children:[g.jsxs("div",{className:"drawer-orphan-head",children:[g.jsx("span",{className:"drawer-orphan-cwd",title:m.cwd,children:m.cwdLabel||m.cwd}),g.jsx("button",{className:"drawer-orphan-btn",disabled:S,title:w?T("inbox.orphans.noSession"):void 0,onClick:()=>f==null?void 0:f(m),children:T("inbox.orphans.takeover")})]}),g.jsxs("div",{className:"drawer-orphan-meta",children:[m.agentLabel&&g.jsx("span",{className:"drawer-orphan-agent",children:m.agentLabel}),g.jsx("span",{className:`drawer-orphan-state ${m.state==="busy"?"busy":"idle"}`,children:m.state==="busy"?T("inbox.orphans.busy"):T("inbox.orphans.idle")}),g.jsx("span",{className:"drawer-orphan-time",children:g_(m.startedAt||m.lastActivity,Date.now())}),m.snippet&&g.jsx("span",{className:"drawer-orphan-msg",children:m.snippet})]})]},m.pid)})]})]})]}),g.jsx("button",{className:"drawer-logout",onClick:n,children:T("drawer.logout")})]}),e&&g.jsx("div",{className:"drawer-backdrop",onClick:p})]})}const j1=500,Af=10;function Bh(e,{onClick:t}={}){const i=N.useRef(null),s=N.useRef(null),r=N.useRef(!1),l=()=>{i.current&&(clearTimeout(i.current),i.current=null)};return{onPointerDown:p=>{r.current=!1,s.current={x:p.clientX,y:p.clientY},l(),i.current=setTimeout(()=>{i.current=null,r.current=!0,e==null||e()},j1)},onPointerMove:p=>{!i.current||!s.current||(Math.abs(p.clientX-s.current.x)>Af||Math.abs(p.clientY-s.current.y)>Af)&&l()},onPointerUp:l,onPointerLeave:l,onPointerCancel:l,onClick:p=>{var n,o;if(r.current){r.current=!1,(n=p.preventDefault)==null||n.call(p),(o=p.stopPropagation)==null||o.call(p);return}t==null||t(p)}}}const Mf="①②③④⑤⑥⑦⑧⑨",x_=e=>e<Mf.length?Mf[e]:String(e+1),F1=(e,t)=>`${x_(t)} ${e.command||e.id}`;function H1({window:e,active:t,agent:i,onSelect:s,onManage:r}){const l=Bh(()=>r(e),{onClick:()=>s(e)});return g.jsxs("button",{"data-win":e.id,className:`win-tab ${t?"active":""}`,...l,children:[i&&g.jsx(hr,{agent:i}),e.name||e.id,e.panes>1&&g.jsx("span",{className:"win-panes",children:e.panes})]})}function $1({window:e,panes:t,paneAgents:i={},currentPaneId:s,agent:r,onManage:l,onSelectPane:p}){const[n,o]=N.useState(!1),[f,_]=N.useState(null),u=N.useRef(null),m=()=>{var h;const a=(h=u.current)==null?void 0:h.getBoundingClientRect();a&&_({top:a.bottom+6,left:a.left})},w=Bh(()=>l(e),{onClick:()=>{n||m(),o(a=>!a)}});N.useEffect(()=>{if(!n)return;const a=c=>{var d;(d=u.current)!=null&&d.contains(c.target)||o(!1)},h=()=>m();return document.addEventListener("pointerdown",a,!0),window.addEventListener("scroll",h,!0),window.addEventListener("resize",h),()=>{document.removeEventListener("pointerdown",a,!0),window.removeEventListener("scroll",h,!0),window.removeEventListener("resize",h)}},[n]);const S=Math.max(0,t.findIndex(a=>a.id===s)),v=t[S];return g.jsxs("div",{className:"wt-dd active","data-win":e.id,ref:u,children:[g.jsxs("button",{className:"win-tab active wt-trigger","aria-haspopup":"listbox","aria-expanded":n,...w,children:[r&&g.jsx(hr,{agent:r}),g.jsx("span",{className:"wt-name",children:e.name||e.id}),g.jsx("span",{className:"wt-sep","aria-hidden":"true",children:"│"}),g.jsx("span",{className:"wt-pane",children:F1(v,S)}),g.jsx("span",{className:`wt-caret${n?" open":""}`,"aria-hidden":"true",children:"▾"})]}),n&&f&&g.jsx("div",{className:"dd-menu wt-menu",role:"listbox",style:{top:f.top,left:f.left},children:t.map((a,h)=>g.jsxs("button",{type:"button",role:"option","aria-selected":a.id===s,className:`dd-option${a.id===s?" is-selected":""}`,onClick:()=>{p(a.id),o(!1)},children:[g.jsxs("span",{className:"dd-option-label",children:[g.jsx("span",{className:"dd-pane-seq","aria-hidden":"true",children:x_(h)}),i[a.id]&&g.jsx(hr,{agent:i[a.id]}),g.jsx("span",{className:"dd-pane-cmd",children:a.command||a.id})]}),a.id===s&&g.jsx("span",{className:"dd-check","aria-hidden":"true",children:"✓"})]},a.id))})]})}function z1({windows:e,windowAgents:t={},paneAgents:i={},currentAgent:s,currentWindowId:r,panes:l,currentPaneId:p,onSelectWindow:n,onSelectPane:o,onNewWindow:f,onManageWindow:_,trackWindowId:u}){const m=N.useRef(null);return N.useLayoutEffect(()=>{var w,S;u&&((S=(w=m.current)==null?void 0:w.querySelector(`[data-win="${u}"]`))==null||S.scrollIntoView({block:"nearest",inline:"nearest"}))},[e,u]),g.jsx("div",{className:"windowbar",children:g.jsxs("div",{className:"windowbar-scroll",ref:m,children:[e.map(w=>{const S=w.id===r;return S&&l.length>1?g.jsx($1,{window:w,panes:l,paneAgents:i,currentPaneId:p,agent:s,onManage:_,onSelectPane:o},w.id):g.jsx(H1,{window:w,active:S,agent:t[w.id],onSelect:n,onManage:_},w.id)}),g.jsx("button",{className:"win-tab win-new",onClick:f,"aria-label":T("windowbar.newWindow"),title:T("windowbar.newWindow"),children:"+"})]})})}var C_={exports:{}};(function(e,t){(function(i,s){e.exports=s()})(globalThis,()=>(()=>{var i={4567:function(p,n,o){var f=this&&this.__decorate||function(c,d,y,C){var b,E=arguments.length,x=E<3?d:C===null?C=Object.getOwnPropertyDescriptor(d,y):C;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")x=Reflect.decorate(c,d,y,C);else for(var k=c.length-1;k>=0;k--)(b=c[k])&&(x=(E<3?b(x):E>3?b(d,y,x):b(d,y))||x);return E>3&&x&&Object.defineProperty(d,y,x),x},_=this&&this.__param||function(c,d){return function(y,C){d(y,C,c)}};Object.defineProperty(n,"__esModule",{value:!0}),n.AccessibilityManager=void 0;const u=o(9042),m=o(9924),w=o(844),S=o(4725),v=o(2585),a=o(3656);let h=n.AccessibilityManager=class extends w.Disposable{constructor(c,d,y,C){super(),this._terminal=c,this._coreBrowserService=y,this._renderService=C,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="",this._accessibilityContainer=this._coreBrowserService.mainDocument.createElement("div"),this._accessibilityContainer.classList.add("xterm-accessibility"),this._rowContainer=this._coreBrowserService.mainDocument.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let b=0;b<this._terminal.rows;b++)this._rowElements[b]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[b]);if(this._topBoundaryFocusListener=b=>this._handleBoundaryFocus(b,0),this._bottomBoundaryFocusListener=b=>this._handleBoundaryFocus(b,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions(),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=this._coreBrowserService.mainDocument.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this.register(new m.TimeBasedDebouncer(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(b=>this._handleResize(b.rows))),this.register(this._terminal.onRender(b=>this._refreshRows(b.start,b.end))),this.register(this._terminal.onScroll(()=>this._refreshRows())),this.register(this._terminal.onA11yChar(b=>this._handleChar(b))),this.register(this._terminal.onLineFeed(()=>this._handleChar(`
|
|
43
|
+
`))),this.register(this._terminal.onA11yTab(b=>this._handleTab(b))),this.register(this._terminal.onKey(b=>this._handleKey(b.key))),this.register(this._terminal.onBlur(()=>this._clearLiveRegion())),this.register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this.register((0,a.addDisposableDomListener)(document,"selectionchange",()=>this._handleSelectionChange())),this.register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRows(),this.register((0,w.toDisposable)(()=>{this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(c){for(let d=0;d<c;d++)this._handleChar(" ")}_handleChar(c){this._liveRegionLineCount<21&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==c&&(this._charsToAnnounce+=c):this._charsToAnnounce+=c,c===`
|
|
44
|
+
`&&(this._liveRegionLineCount++,this._liveRegionLineCount===21&&(this._liveRegion.textContent+=u.tooMuchOutput)))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0}_handleKey(c){this._clearLiveRegion(),new RegExp("\\p{Control}","u").test(c)||this._charsToConsume.push(c)}_refreshRows(c,d){this._liveRegionDebouncer.refresh(c,d,this._terminal.rows)}_renderRows(c,d){const y=this._terminal.buffer,C=y.lines.length.toString();for(let b=c;b<=d;b++){const E=y.lines.get(y.ydisp+b),x=[],k=(E==null?void 0:E.translateToString(!0,void 0,void 0,x))||"",L=(y.ydisp+b+1).toString(),I=this._rowElements[b];I&&(k.length===0?(I.innerText=" ",this._rowColumns.set(I,[0,1])):(I.textContent=k,this._rowColumns.set(I,x)),I.setAttribute("aria-posinset",L),I.setAttribute("aria-setsize",C))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce="")}_handleBoundaryFocus(c,d){const y=c.target,C=this._rowElements[d===0?1:this._rowElements.length-2];if(y.getAttribute("aria-posinset")===(d===0?"1":`${this._terminal.buffer.lines.length}`)||c.relatedTarget!==C)return;let b,E;if(d===0?(b=y,E=this._rowElements.pop(),this._rowContainer.removeChild(E)):(b=this._rowElements.shift(),E=y,this._rowContainer.removeChild(b)),b.removeEventListener("focus",this._topBoundaryFocusListener),E.removeEventListener("focus",this._bottomBoundaryFocusListener),d===0){const x=this._createAccessibilityTreeNode();this._rowElements.unshift(x),this._rowContainer.insertAdjacentElement("afterbegin",x)}else{const x=this._createAccessibilityTreeNode();this._rowElements.push(x),this._rowContainer.appendChild(x)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(d===0?-1:1),this._rowElements[d===0?1:this._rowElements.length-2].focus(),c.preventDefault(),c.stopImmediatePropagation()}_handleSelectionChange(){var k;if(this._rowElements.length===0)return;const c=document.getSelection();if(!c)return;if(c.isCollapsed)return void(this._rowContainer.contains(c.anchorNode)&&this._terminal.clearSelection());if(!c.anchorNode||!c.focusNode)return void console.error("anchorNode and/or focusNode are null");let d={node:c.anchorNode,offset:c.anchorOffset},y={node:c.focusNode,offset:c.focusOffset};if((d.node.compareDocumentPosition(y.node)&Node.DOCUMENT_POSITION_PRECEDING||d.node===y.node&&d.offset>y.offset)&&([d,y]=[y,d]),d.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(d={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(d.node))return;const C=this._rowElements.slice(-1)[0];if(y.node.compareDocumentPosition(C)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(y={node:C,offset:((k=C.textContent)==null?void 0:k.length)??0}),!this._rowContainer.contains(y.node))return;const b=({node:L,offset:I})=>{const A=L instanceof Text?L.parentNode:L;let P=parseInt(A==null?void 0:A.getAttribute("aria-posinset"),10)-1;if(isNaN(P))return console.warn("row is invalid. Race condition?"),null;const j=this._rowColumns.get(A);if(!j)return console.warn("columns is null. Race condition?"),null;let W=I<j.length?j[I]:j.slice(-1)[0]+1;return W>=this._terminal.cols&&(++P,W=0),{row:P,column:W}},E=b(d),x=b(y);if(E&&x){if(E.row>x.row||E.row===x.row&&E.column>=x.column)throw new Error("invalid range");this._terminal.select(E.column,E.row,(x.row-E.row)*this._terminal.cols-E.column+x.column)}}_handleResize(c){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let d=this._rowContainer.children.length;d<this._terminal.rows;d++)this._rowElements[d]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[d]);for(;this._rowElements.length>c;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){const c=this._coreBrowserService.mainDocument.createElement("div");return c.setAttribute("role","listitem"),c.tabIndex=-1,this._refreshRowDimensions(c),c}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){this._accessibilityContainer.style.width=`${this._renderService.dimensions.css.canvas.width}px`,this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let c=0;c<this._terminal.rows;c++)this._refreshRowDimensions(this._rowElements[c])}}_refreshRowDimensions(c){c.style.height=`${this._renderService.dimensions.css.cell.height}px`}};n.AccessibilityManager=h=f([_(1,v.IInstantiationService),_(2,S.ICoreBrowserService),_(3,S.IRenderService)],h)},3614:(p,n)=>{function o(m){return m.replace(/\r?\n/g,"\r")}function f(m,w){return w?"\x1B[200~"+m+"\x1B[201~":m}function _(m,w,S,v){m=f(m=o(m),S.decPrivateModes.bracketedPasteMode&&v.rawOptions.ignoreBracketedPasteMode!==!0),S.triggerDataEvent(m,!0),w.value=""}function u(m,w,S){const v=S.getBoundingClientRect(),a=m.clientX-v.left-10,h=m.clientY-v.top-10;w.style.width="20px",w.style.height="20px",w.style.left=`${a}px`,w.style.top=`${h}px`,w.style.zIndex="1000",w.focus()}Object.defineProperty(n,"__esModule",{value:!0}),n.rightClickHandler=n.moveTextAreaUnderMouseCursor=n.paste=n.handlePasteEvent=n.copyHandler=n.bracketTextForPaste=n.prepareTextForTerminal=void 0,n.prepareTextForTerminal=o,n.bracketTextForPaste=f,n.copyHandler=function(m,w){m.clipboardData&&m.clipboardData.setData("text/plain",w.selectionText),m.preventDefault()},n.handlePasteEvent=function(m,w,S,v){m.stopPropagation(),m.clipboardData&&_(m.clipboardData.getData("text/plain"),w,S,v)},n.paste=_,n.moveTextAreaUnderMouseCursor=u,n.rightClickHandler=function(m,w,S,v,a){u(m,w,S),a&&v.rightClickSelect(m),w.value=v.selectionText,w.select()}},7239:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.ColorContrastCache=void 0;const f=o(1505);n.ColorContrastCache=class{constructor(){this._color=new f.TwoKeyMap,this._css=new f.TwoKeyMap}setCss(_,u,m){this._css.set(_,u,m)}getCss(_,u){return this._css.get(_,u)}setColor(_,u,m){this._color.set(_,u,m)}getColor(_,u){return this._color.get(_,u)}clear(){this._color.clear(),this._css.clear()}}},3656:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.addDisposableDomListener=void 0,n.addDisposableDomListener=function(o,f,_,u){o.addEventListener(f,_,u);let m=!1;return{dispose:()=>{m||(m=!0,o.removeEventListener(f,_,u))}}}},3551:function(p,n,o){var f=this&&this.__decorate||function(h,c,d,y){var C,b=arguments.length,E=b<3?c:y===null?y=Object.getOwnPropertyDescriptor(c,d):y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")E=Reflect.decorate(h,c,d,y);else for(var x=h.length-1;x>=0;x--)(C=h[x])&&(E=(b<3?C(E):b>3?C(c,d,E):C(c,d))||E);return b>3&&E&&Object.defineProperty(c,d,E),E},_=this&&this.__param||function(h,c){return function(d,y){c(d,y,h)}};Object.defineProperty(n,"__esModule",{value:!0}),n.Linkifier=void 0;const u=o(3656),m=o(8460),w=o(844),S=o(2585),v=o(4725);let a=n.Linkifier=class extends w.Disposable{get currentLink(){return this._currentLink}constructor(h,c,d,y,C){super(),this._element=h,this._mouseService=c,this._renderService=d,this._bufferService=y,this._linkProviderService=C,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this.register(new m.EventEmitter),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this.register(new m.EventEmitter),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this.register((0,w.getDisposeArrayDisposable)(this._linkCacheDisposables)),this.register((0,w.toDisposable)(()=>{var b;this._lastMouseEvent=void 0,(b=this._activeProviderReplies)==null||b.clear()})),this.register(this._bufferService.onResize(()=>{this._clearCurrentLink(),this._wasResized=!0})),this.register((0,u.addDisposableDomListener)(this._element,"mouseleave",()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this.register((0,u.addDisposableDomListener)(this._element,"mousemove",this._handleMouseMove.bind(this))),this.register((0,u.addDisposableDomListener)(this._element,"mousedown",this._handleMouseDown.bind(this))),this.register((0,u.addDisposableDomListener)(this._element,"mouseup",this._handleMouseUp.bind(this)))}_handleMouseMove(h){this._lastMouseEvent=h;const c=this._positionFromMouseEvent(h,this._element,this._mouseService);if(!c)return;this._isMouseOut=!1;const d=h.composedPath();for(let y=0;y<d.length;y++){const C=d[y];if(C.classList.contains("xterm"))break;if(C.classList.contains("xterm-hover"))return}this._lastBufferCell&&c.x===this._lastBufferCell.x&&c.y===this._lastBufferCell.y||(this._handleHover(c),this._lastBufferCell=c)}_handleHover(h){if(this._activeLine!==h.y||this._wasResized)return this._clearCurrentLink(),this._askForLink(h,!1),void(this._wasResized=!1);this._currentLink&&this._linkAtPosition(this._currentLink.link,h)||(this._clearCurrentLink(),this._askForLink(h,!0))}_askForLink(h,c){var y,C;this._activeProviderReplies&&c||((y=this._activeProviderReplies)==null||y.forEach(b=>{b==null||b.forEach(E=>{E.link.dispose&&E.link.dispose()})}),this._activeProviderReplies=new Map,this._activeLine=h.y);let d=!1;for(const[b,E]of this._linkProviderService.linkProviders.entries())c?(C=this._activeProviderReplies)!=null&&C.get(b)&&(d=this._checkLinkProviderResult(b,h,d)):E.provideLinks(h.y,x=>{var L,I;if(this._isMouseOut)return;const k=x==null?void 0:x.map(A=>({link:A}));(L=this._activeProviderReplies)==null||L.set(b,k),d=this._checkLinkProviderResult(b,h,d),((I=this._activeProviderReplies)==null?void 0:I.size)===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(h.y,this._activeProviderReplies)})}_removeIntersectingLinks(h,c){const d=new Set;for(let y=0;y<c.size;y++){const C=c.get(y);if(C)for(let b=0;b<C.length;b++){const E=C[b],x=E.link.range.start.y<h?0:E.link.range.start.x,k=E.link.range.end.y>h?this._bufferService.cols:E.link.range.end.x;for(let L=x;L<=k;L++){if(d.has(L)){C.splice(b--,1);break}d.add(L)}}}}_checkLinkProviderResult(h,c,d){var b;if(!this._activeProviderReplies)return d;const y=this._activeProviderReplies.get(h);let C=!1;for(let E=0;E<h;E++)this._activeProviderReplies.has(E)&&!this._activeProviderReplies.get(E)||(C=!0);if(!C&&y){const E=y.find(x=>this._linkAtPosition(x.link,c));E&&(d=!0,this._handleNewLink(E))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!d)for(let E=0;E<this._activeProviderReplies.size;E++){const x=(b=this._activeProviderReplies.get(E))==null?void 0:b.find(k=>this._linkAtPosition(k.link,c));if(x){d=!0,this._handleNewLink(x);break}}return d}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(h){if(!this._currentLink)return;const c=this._positionFromMouseEvent(h,this._element,this._mouseService);c&&this._mouseDownLink===this._currentLink&&this._linkAtPosition(this._currentLink.link,c)&&this._currentLink.link.activate(h,this._currentLink.link.text)}_clearCurrentLink(h,c){this._currentLink&&this._lastMouseEvent&&(!h||!c||this._currentLink.link.range.start.y>=h&&this._currentLink.link.range.end.y<=c)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,(0,w.disposeArray)(this._linkCacheDisposables))}_handleNewLink(h){if(!this._lastMouseEvent)return;const c=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);c&&this._linkAtPosition(h.link,c)&&(this._currentLink=h,this._currentLink.state={decorations:{underline:h.link.decorations===void 0||h.link.decorations.underline,pointerCursor:h.link.decorations===void 0||h.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,h.link,this._lastMouseEvent),h.link.decorations={},Object.defineProperties(h.link.decorations,{pointerCursor:{get:()=>{var d,y;return(y=(d=this._currentLink)==null?void 0:d.state)==null?void 0:y.decorations.pointerCursor},set:d=>{var y;(y=this._currentLink)!=null&&y.state&&this._currentLink.state.decorations.pointerCursor!==d&&(this._currentLink.state.decorations.pointerCursor=d,this._currentLink.state.isHovered&&this._element.classList.toggle("xterm-cursor-pointer",d))}},underline:{get:()=>{var d,y;return(y=(d=this._currentLink)==null?void 0:d.state)==null?void 0:y.decorations.underline},set:d=>{var y,C,b;(y=this._currentLink)!=null&&y.state&&((b=(C=this._currentLink)==null?void 0:C.state)==null?void 0:b.decorations.underline)!==d&&(this._currentLink.state.decorations.underline=d,this._currentLink.state.isHovered&&this._fireUnderlineEvent(h.link,d))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange(d=>{if(!this._currentLink)return;const y=d.start===0?0:d.start+1+this._bufferService.buffer.ydisp,C=this._bufferService.buffer.ydisp+1+d.end;if(this._currentLink.link.range.start.y>=y&&this._currentLink.link.range.end.y<=C&&(this._clearCurrentLink(y,C),this._lastMouseEvent)){const b=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);b&&this._askForLink(b,!1)}})))}_linkHover(h,c,d){var y;(y=this._currentLink)!=null&&y.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(c,!0),this._currentLink.state.decorations.pointerCursor&&h.classList.add("xterm-cursor-pointer")),c.hover&&c.hover(d,c.text)}_fireUnderlineEvent(h,c){const d=h.range,y=this._bufferService.buffer.ydisp,C=this._createLinkUnderlineEvent(d.start.x-1,d.start.y-y-1,d.end.x,d.end.y-y-1,void 0);(c?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(C)}_linkLeave(h,c,d){var y;(y=this._currentLink)!=null&&y.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(c,!1),this._currentLink.state.decorations.pointerCursor&&h.classList.remove("xterm-cursor-pointer")),c.leave&&c.leave(d,c.text)}_linkAtPosition(h,c){const d=h.range.start.y*this._bufferService.cols+h.range.start.x,y=h.range.end.y*this._bufferService.cols+h.range.end.x,C=c.y*this._bufferService.cols+c.x;return d<=C&&C<=y}_positionFromMouseEvent(h,c,d){const y=d.getCoords(h,c,this._bufferService.cols,this._bufferService.rows);if(y)return{x:y[0],y:y[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(h,c,d,y,C){return{x1:h,y1:c,x2:d,y2:y,cols:this._bufferService.cols,fg:C}}};n.Linkifier=a=f([_(1,v.IMouseService),_(2,v.IRenderService),_(3,S.IBufferService),_(4,v.ILinkProviderService)],a)},9042:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.tooMuchOutput=n.promptLabel=void 0,n.promptLabel="Terminal input",n.tooMuchOutput="Too much output to announce, navigate to rows manually to read"},3730:function(p,n,o){var f=this&&this.__decorate||function(v,a,h,c){var d,y=arguments.length,C=y<3?a:c===null?c=Object.getOwnPropertyDescriptor(a,h):c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")C=Reflect.decorate(v,a,h,c);else for(var b=v.length-1;b>=0;b--)(d=v[b])&&(C=(y<3?d(C):y>3?d(a,h,C):d(a,h))||C);return y>3&&C&&Object.defineProperty(a,h,C),C},_=this&&this.__param||function(v,a){return function(h,c){a(h,c,v)}};Object.defineProperty(n,"__esModule",{value:!0}),n.OscLinkProvider=void 0;const u=o(511),m=o(2585);let w=n.OscLinkProvider=class{constructor(v,a,h){this._bufferService=v,this._optionsService=a,this._oscLinkService=h}provideLinks(v,a){var k;const h=this._bufferService.buffer.lines.get(v-1);if(!h)return void a(void 0);const c=[],d=this._optionsService.rawOptions.linkHandler,y=new u.CellData,C=h.getTrimmedLength();let b=-1,E=-1,x=!1;for(let L=0;L<C;L++)if(E!==-1||h.hasContent(L)){if(h.loadCell(L,y),y.hasExtendedAttrs()&&y.extended.urlId){if(E===-1){E=L,b=y.extended.urlId;continue}x=y.extended.urlId!==b}else E!==-1&&(x=!0);if(x||E!==-1&&L===C-1){const I=(k=this._oscLinkService.getLinkData(b))==null?void 0:k.uri;if(I){const A={start:{x:E+1,y:v},end:{x:L+(x||L!==C-1?0:1),y:v}};let P=!1;if(!(d!=null&&d.allowNonHttpProtocols))try{const j=new URL(I);["http:","https:"].includes(j.protocol)||(P=!0)}catch{P=!0}P||c.push({text:I,range:A,activate:(j,W)=>d?d.activate(j,W,A):S(0,W),hover:(j,W)=>{var z;return(z=d==null?void 0:d.hover)==null?void 0:z.call(d,j,W,A)},leave:(j,W)=>{var z;return(z=d==null?void 0:d.leave)==null?void 0:z.call(d,j,W,A)}})}x=!1,y.hasExtendedAttrs()&&y.extended.urlId?(E=L,b=y.extended.urlId):(E=-1,b=-1)}}a(c)}};function S(v,a){if(confirm(`Do you want to navigate to ${a}?
|
|
45
|
+
|
|
46
|
+
WARNING: This link could potentially be dangerous`)){const h=window.open();if(h){try{h.opener=null}catch{}h.location.href=a}else console.warn("Opening link blocked as opener could not be cleared")}}n.OscLinkProvider=w=f([_(0,m.IBufferService),_(1,m.IOptionsService),_(2,m.IOscLinkService)],w)},6193:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.RenderDebouncer=void 0,n.RenderDebouncer=class{constructor(o,f){this._renderCallback=o,this._coreBrowserService=f,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(o){return this._refreshCallbacks.push(o),this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh())),this._animationFrame}refresh(o,f,_){this._rowCount=_,o=o!==void 0?o:0,f=f!==void 0?f:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,o):o,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,f):f,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)return void this._runRefreshCallbacks();const o=Math.max(this._rowStart,0),f=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(o,f),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(const o of this._refreshCallbacks)o(0);this._refreshCallbacks=[]}}},3236:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.Terminal=void 0;const f=o(3614),_=o(3656),u=o(3551),m=o(9042),w=o(3730),S=o(1680),v=o(3107),a=o(5744),h=o(2950),c=o(1296),d=o(428),y=o(4269),C=o(5114),b=o(8934),E=o(3230),x=o(9312),k=o(4725),L=o(6731),I=o(8055),A=o(8969),P=o(8460),j=o(844),W=o(6114),z=o(8437),V=o(2584),$=o(7399),R=o(5941),O=o(9074),D=o(2585),H=o(5435),X=o(4567),Q=o(779);class ue extends A.CoreTerminal{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}constructor(U={}){super(U),this.browser=W,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this.register(new j.MutableDisposable),this._onCursorMove=this.register(new P.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onKey=this.register(new P.EventEmitter),this.onKey=this._onKey.event,this._onRender=this.register(new P.EventEmitter),this.onRender=this._onRender.event,this._onSelectionChange=this.register(new P.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this.register(new P.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onBell=this.register(new P.EventEmitter),this.onBell=this._onBell.event,this._onFocus=this.register(new P.EventEmitter),this._onBlur=this.register(new P.EventEmitter),this._onA11yCharEmitter=this.register(new P.EventEmitter),this._onA11yTabEmitter=this.register(new P.EventEmitter),this._onWillOpen=this.register(new P.EventEmitter),this._setup(),this._decorationService=this._instantiationService.createInstance(O.DecorationService),this._instantiationService.setService(D.IDecorationService,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(Q.LinkProviderService),this._instantiationService.setService(k.ILinkProviderService,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(w.OscLinkProvider)),this.register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this.register(this._inputHandler.onRequestRefreshRows((M,Y)=>this.refresh(M,Y))),this.register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this.register(this._inputHandler.onRequestReset(()=>this.reset())),this.register(this._inputHandler.onRequestWindowsOptionsReport(M=>this._reportWindowsOptions(M))),this.register(this._inputHandler.onColor(M=>this._handleColorEvent(M))),this.register((0,P.forwardEvent)(this._inputHandler.onCursorMove,this._onCursorMove)),this.register((0,P.forwardEvent)(this._inputHandler.onTitleChange,this._onTitleChange)),this.register((0,P.forwardEvent)(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this.register((0,P.forwardEvent)(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this.register(this._bufferService.onResize(M=>this._afterResize(M.cols,M.rows))),this.register((0,j.toDisposable)(()=>{var M,Y;this._customKeyEventHandler=void 0,(Y=(M=this.element)==null?void 0:M.parentNode)==null||Y.removeChild(this.element)}))}_handleColorEvent(U){if(this._themeService)for(const M of U){let Y,G="";switch(M.index){case 256:Y="foreground",G="10";break;case 257:Y="background",G="11";break;case 258:Y="cursor",G="12";break;default:Y="ansi",G="4;"+M.index}switch(M.type){case 0:const re=I.color.toColorRGB(Y==="ansi"?this._themeService.colors.ansi[M.index]:this._themeService.colors[Y]);this.coreService.triggerDataEvent(`${V.C0.ESC}]${G};${(0,R.toRgbString)(re)}${V.C1_ESCAPED.ST}`);break;case 1:if(Y==="ansi")this._themeService.modifyColors(se=>se.ansi[M.index]=I.channels.toColor(...M.color));else{const se=Y;this._themeService.modifyColors(pe=>pe[se]=I.channels.toColor(...M.color))}break;case 2:this._themeService.restoreColor(M.index)}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(U){U?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(X.AccessibilityManager,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(U){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(V.C0.ESC+"[I"),this.element.classList.add("focus"),this._showCursor(),this._onFocus.fire()}blur(){var U;return(U=this.textarea)==null?void 0:U.blur()}_handleTextAreaBlur(){this.textarea.value="",this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(V.C0.ESC+"[O"),this.element.classList.remove("focus"),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;const U=this.buffer.ybase+this.buffer.y,M=this.buffer.lines.get(U);if(!M)return;const Y=Math.min(this.buffer.x,this.cols-1),G=this._renderService.dimensions.css.cell.height,re=M.getWidth(Y),se=this._renderService.dimensions.css.cell.width*re,pe=this.buffer.y*this._renderService.dimensions.css.cell.height,fe=Y*this._renderService.dimensions.css.cell.width;this.textarea.style.left=fe+"px",this.textarea.style.top=pe+"px",this.textarea.style.width=se+"px",this.textarea.style.height=G+"px",this.textarea.style.lineHeight=G+"px",this.textarea.style.zIndex="-5"}_initGlobal(){this._bindKeys(),this.register((0,_.addDisposableDomListener)(this.element,"copy",M=>{this.hasSelection()&&(0,f.copyHandler)(M,this._selectionService)}));const U=M=>(0,f.handlePasteEvent)(M,this.textarea,this.coreService,this.optionsService);this.register((0,_.addDisposableDomListener)(this.textarea,"paste",U)),this.register((0,_.addDisposableDomListener)(this.element,"paste",U)),W.isFirefox?this.register((0,_.addDisposableDomListener)(this.element,"mousedown",M=>{M.button===2&&(0,f.rightClickHandler)(M,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this.register((0,_.addDisposableDomListener)(this.element,"contextmenu",M=>{(0,f.rightClickHandler)(M,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),W.isLinux&&this.register((0,_.addDisposableDomListener)(this.element,"auxclick",M=>{M.button===1&&(0,f.moveTextAreaUnderMouseCursor)(M,this.textarea,this.screenElement)}))}_bindKeys(){this.register((0,_.addDisposableDomListener)(this.textarea,"keyup",U=>this._keyUp(U),!0)),this.register((0,_.addDisposableDomListener)(this.textarea,"keydown",U=>this._keyDown(U),!0)),this.register((0,_.addDisposableDomListener)(this.textarea,"keypress",U=>this._keyPress(U),!0)),this.register((0,_.addDisposableDomListener)(this.textarea,"compositionstart",()=>this._compositionHelper.compositionstart())),this.register((0,_.addDisposableDomListener)(this.textarea,"compositionupdate",U=>this._compositionHelper.compositionupdate(U))),this.register((0,_.addDisposableDomListener)(this.textarea,"compositionend",()=>this._compositionHelper.compositionend())),this.register((0,_.addDisposableDomListener)(this.textarea,"input",U=>this._inputEvent(U),!0)),this.register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(U){var Y;if(!U)throw new Error("Terminal requires a parent element.");if(U.isConnected||this._logService.debug("Terminal.open was called on an element that was not attached to the DOM"),((Y=this.element)==null?void 0:Y.ownerDocument.defaultView)&&this._coreBrowserService)return void(this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView));this._document=U.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"),U.appendChild(this.element);const M=this._document.createDocumentFragment();this._viewportElement=this._document.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),M.appendChild(this._viewportElement),this._viewportScrollArea=this._document.createElement("div"),this._viewportScrollArea.classList.add("xterm-scroll-area"),this._viewportElement.appendChild(this._viewportScrollArea),this.screenElement=this._document.createElement("div"),this.screenElement.classList.add("xterm-screen"),this.register((0,_.addDisposableDomListener)(this.screenElement,"mousemove",G=>this.updateCursorStyle(G))),this._helperContainer=this._document.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),M.appendChild(this.screenElement),this.textarea=this._document.createElement("textarea"),this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",m.promptLabel),W.isChromeOS||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._coreBrowserService=this.register(this._instantiationService.createInstance(C.CoreBrowserService,this.textarea,U.ownerDocument.defaultView??window,this._document??typeof window<"u"?window.document:null)),this._instantiationService.setService(k.ICoreBrowserService,this._coreBrowserService),this.register((0,_.addDisposableDomListener)(this.textarea,"focus",G=>this._handleTextAreaFocus(G))),this.register((0,_.addDisposableDomListener)(this.textarea,"blur",()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(d.CharSizeService,this._document,this._helperContainer),this._instantiationService.setService(k.ICharSizeService,this._charSizeService),this._themeService=this._instantiationService.createInstance(L.ThemeService),this._instantiationService.setService(k.IThemeService,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(y.CharacterJoinerService),this._instantiationService.setService(k.ICharacterJoinerService,this._characterJoinerService),this._renderService=this.register(this._instantiationService.createInstance(E.RenderService,this.rows,this.screenElement)),this._instantiationService.setService(k.IRenderService,this._renderService),this.register(this._renderService.onRenderedViewportChange(G=>this._onRender.fire(G))),this.onResize(G=>this._renderService.resize(G.cols,G.rows)),this._compositionView=this._document.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(h.CompositionHelper,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(b.MouseService),this._instantiationService.setService(k.IMouseService,this._mouseService),this.linkifier=this.register(this._instantiationService.createInstance(u.Linkifier,this.screenElement)),this.element.appendChild(M);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this.viewport=this._instantiationService.createInstance(S.Viewport,this._viewportElement,this._viewportScrollArea),this.viewport.onRequestScrollLines(G=>this.scrollLines(G.amount,G.suppressScrollEvent,1)),this.register(this._inputHandler.onRequestSyncScrollBar(()=>this.viewport.syncScrollArea())),this.register(this.viewport),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.register(this._renderService.onDimensionsChange(()=>this.viewport.syncScrollArea())),this._selectionService=this.register(this._instantiationService.createInstance(x.SelectionService,this.element,this.screenElement,this.linkifier)),this._instantiationService.setService(k.ISelectionService,this._selectionService),this.register(this._selectionService.onRequestScrollLines(G=>this.scrollLines(G.amount,G.suppressScrollEvent))),this.register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this.register(this._selectionService.onRequestRedraw(G=>this._renderService.handleSelectionChanged(G.start,G.end,G.columnSelectMode))),this.register(this._selectionService.onLinuxMouseSelection(G=>{this.textarea.value=G,this.textarea.focus(),this.textarea.select()})),this.register(this._onScroll.event(G=>{this.viewport.syncScrollArea(),this._selectionService.refresh()})),this.register((0,_.addDisposableDomListener)(this._viewportElement,"scroll",()=>this._selectionService.refresh())),this.register(this._instantiationService.createInstance(v.BufferDecorationRenderer,this.screenElement)),this.register((0,_.addDisposableDomListener)(this.element,"mousedown",G=>this._selectionService.handleMouseDown(G))),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(X.AccessibilityManager,this)),this.register(this.optionsService.onSpecificOptionChange("screenReaderMode",G=>this._handleScreenReaderModeOptionChange(G))),this.options.overviewRulerWidth&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(a.OverviewRulerRenderer,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange("overviewRulerWidth",G=>{!this._overviewRulerRenderer&&G&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(a.OverviewRulerRenderer,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(c.DomRenderer,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){const U=this,M=this.element;function Y(se){const pe=U._mouseService.getMouseReportCoords(se,U.screenElement);if(!pe)return!1;let fe,Ce;switch(se.overrideType||se.type){case"mousemove":Ce=32,se.buttons===void 0?(fe=3,se.button!==void 0&&(fe=se.button<3?se.button:3)):fe=1&se.buttons?0:4&se.buttons?1:2&se.buttons?2:3;break;case"mouseup":Ce=0,fe=se.button<3?se.button:3;break;case"mousedown":Ce=1,fe=se.button<3?se.button:3;break;case"wheel":if(U._customWheelEventHandler&&U._customWheelEventHandler(se)===!1||U.viewport.getLinesScrolled(se)===0)return!1;Ce=se.deltaY<0?0:1,fe=4;break;default:return!1}return!(Ce===void 0||fe===void 0||fe>4)&&U.coreMouseService.triggerMouseEvent({col:pe.col,row:pe.row,x:pe.x,y:pe.y,button:fe,action:Ce,ctrl:se.ctrlKey,alt:se.altKey,shift:se.shiftKey})}const G={mouseup:null,wheel:null,mousedrag:null,mousemove:null},re={mouseup:se=>(Y(se),se.buttons||(this._document.removeEventListener("mouseup",G.mouseup),G.mousedrag&&this._document.removeEventListener("mousemove",G.mousedrag)),this.cancel(se)),wheel:se=>(Y(se),this.cancel(se,!0)),mousedrag:se=>{se.buttons&&Y(se)},mousemove:se=>{se.buttons||Y(se)}};this.register(this.coreMouseService.onProtocolChange(se=>{se?(this.optionsService.rawOptions.logLevel==="debug"&&this._logService.debug("Binding to mouse events:",this.coreMouseService.explainEvents(se)),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()),8&se?G.mousemove||(M.addEventListener("mousemove",re.mousemove),G.mousemove=re.mousemove):(M.removeEventListener("mousemove",G.mousemove),G.mousemove=null),16&se?G.wheel||(M.addEventListener("wheel",re.wheel,{passive:!1}),G.wheel=re.wheel):(M.removeEventListener("wheel",G.wheel),G.wheel=null),2&se?G.mouseup||(G.mouseup=re.mouseup):(this._document.removeEventListener("mouseup",G.mouseup),G.mouseup=null),4&se?G.mousedrag||(G.mousedrag=re.mousedrag):(this._document.removeEventListener("mousemove",G.mousedrag),G.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this.register((0,_.addDisposableDomListener)(M,"mousedown",se=>{if(se.preventDefault(),this.focus(),this.coreMouseService.areMouseEventsActive&&!this._selectionService.shouldForceSelection(se))return Y(se),G.mouseup&&this._document.addEventListener("mouseup",G.mouseup),G.mousedrag&&this._document.addEventListener("mousemove",G.mousedrag),this.cancel(se)})),this.register((0,_.addDisposableDomListener)(M,"wheel",se=>{if(!G.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(se)===!1)return!1;if(!this.buffer.hasScrollback){const pe=this.viewport.getLinesScrolled(se);if(pe===0)return;const fe=V.C0.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(se.deltaY<0?"A":"B");let Ce="";for(let Ue=0;Ue<Math.abs(pe);Ue++)Ce+=fe;return this.coreService.triggerDataEvent(Ce,!0),this.cancel(se,!0)}return this.viewport.handleWheel(se)?this.cancel(se):void 0}},{passive:!1})),this.register((0,_.addDisposableDomListener)(M,"touchstart",se=>{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.handleTouchStart(se),this.cancel(se)},{passive:!0})),this.register((0,_.addDisposableDomListener)(M,"touchmove",se=>{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.handleTouchMove(se)?void 0:this.cancel(se)},{passive:!1}))}refresh(U,M){var Y;(Y=this._renderService)==null||Y.refreshRows(U,M)}updateCursorStyle(U){var M;(M=this._selectionService)!=null&&M.shouldColumnSelect(U)?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(U,M,Y=0){var G;Y===1?(super.scrollLines(U,M,Y),this.refresh(0,this.rows-1)):(G=this.viewport)==null||G.scrollLines(U)}paste(U){(0,f.paste)(U,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(U){this._customKeyEventHandler=U}attachCustomWheelEventHandler(U){this._customWheelEventHandler=U}registerLinkProvider(U){return this._linkProviderService.registerLinkProvider(U)}registerCharacterJoiner(U){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");const M=this._characterJoinerService.register(U);return this.refresh(0,this.rows-1),M}deregisterCharacterJoiner(U){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");this._characterJoinerService.deregister(U)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(U){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+U)}registerDecoration(U){return this._decorationService.registerDecoration(U)}hasSelection(){return!!this._selectionService&&this._selectionService.hasSelection}select(U,M,Y){this._selectionService.setSelection(U,M,Y)}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 U;(U=this._selectionService)==null||U.clearSelection()}selectAll(){var U;(U=this._selectionService)==null||U.selectAll()}selectLines(U,M){var Y;(Y=this._selectionService)==null||Y.selectLines(U,M)}_keyDown(U){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(U)===!1)return!1;const M=this.browser.isMac&&this.options.macOptionIsMeta&&U.altKey;if(!M&&!this._compositionHelper.keydown(U))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(),!1;M||U.key!=="Dead"&&U.key!=="AltGraph"||(this._unprocessedDeadKey=!0);const Y=(0,$.evaluateKeyboardEvent)(U,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(U),Y.type===3||Y.type===2){const G=this.rows-1;return this.scrollLines(Y.type===2?-G:G),this.cancel(U,!0)}return Y.type===1&&this.selectAll(),!!this._isThirdLevelShift(this.browser,U)||(Y.cancel&&this.cancel(U,!0),!Y.key||!!(U.key&&!U.ctrlKey&&!U.altKey&&!U.metaKey&&U.key.length===1&&U.key.charCodeAt(0)>=65&&U.key.charCodeAt(0)<=90)||(this._unprocessedDeadKey?(this._unprocessedDeadKey=!1,!0):(Y.key!==V.C0.ETX&&Y.key!==V.C0.CR||(this.textarea.value=""),this._onKey.fire({key:Y.key,domEvent:U}),this._showCursor(),this.coreService.triggerDataEvent(Y.key,!0),!this.optionsService.rawOptions.screenReaderMode||U.altKey||U.ctrlKey?this.cancel(U,!0):void(this._keyDownHandled=!0))))}_isThirdLevelShift(U,M){const Y=U.isMac&&!this.options.macOptionIsMeta&&M.altKey&&!M.ctrlKey&&!M.metaKey||U.isWindows&&M.altKey&&M.ctrlKey&&!M.metaKey||U.isWindows&&M.getModifierState("AltGraph");return M.type==="keypress"?Y:Y&&(!M.keyCode||M.keyCode>47)}_keyUp(U){this._keyDownSeen=!1,this._customKeyEventHandler&&this._customKeyEventHandler(U)===!1||(function(M){return M.keyCode===16||M.keyCode===17||M.keyCode===18}(U)||this.focus(),this.updateCursorStyle(U),this._keyPressHandled=!1)}_keyPress(U){let M;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(U)===!1)return!1;if(this.cancel(U),U.charCode)M=U.charCode;else if(U.which===null||U.which===void 0)M=U.keyCode;else{if(U.which===0||U.charCode===0)return!1;M=U.which}return!(!M||(U.altKey||U.ctrlKey||U.metaKey)&&!this._isThirdLevelShift(this.browser,U)||(M=String.fromCharCode(M),this._onKey.fire({key:M,domEvent:U}),this._showCursor(),this.coreService.triggerDataEvent(M,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,0))}_inputEvent(U){if(U.data&&U.inputType==="insertText"&&(!U.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;const M=U.data;return this.coreService.triggerDataEvent(M,!0),this.cancel(U),!0}return!1}resize(U,M){U!==this.cols||M!==this.rows?super.resize(U,M):this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure()}_afterResize(U,M){var Y,G;(Y=this._charSizeService)==null||Y.measure(),(G=this.viewport)==null||G.syncScrollArea(!0)}clear(){var U;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 M=1;M<this.rows;M++)this.buffer.lines.push(this.buffer.getBlankLine(z.DEFAULT_ATTR_DATA));this._onScroll.fire({position:this.buffer.ydisp,source:0}),(U=this.viewport)==null||U.reset(),this.refresh(0,this.rows-1)}}reset(){var M,Y;this.options.rows=this.rows,this.options.cols=this.cols;const U=this._customKeyEventHandler;this._setup(),super.reset(),(M=this._selectionService)==null||M.reset(),this._decorationService.reset(),(Y=this.viewport)==null||Y.reset(),this._customKeyEventHandler=U,this.refresh(0,this.rows-1)}clearTextureAtlas(){var U;(U=this._renderService)==null||U.clearTextureAtlas()}_reportFocus(){var U;(U=this.element)!=null&&U.classList.contains("focus")?this.coreService.triggerDataEvent(V.C0.ESC+"[I"):this.coreService.triggerDataEvent(V.C0.ESC+"[O")}_reportWindowsOptions(U){if(this._renderService)switch(U){case H.WindowsOptionsReportType.GET_WIN_SIZE_PIXELS:const M=this._renderService.dimensions.css.canvas.width.toFixed(0),Y=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${V.C0.ESC}[4;${Y};${M}t`);break;case H.WindowsOptionsReportType.GET_CELL_SIZE_PIXELS:const G=this._renderService.dimensions.css.cell.width.toFixed(0),re=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${V.C0.ESC}[6;${re};${G}t`)}}cancel(U,M){if(this.options.cancelEvents||M)return U.preventDefault(),U.stopPropagation(),!1}}n.Terminal=ue},9924:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.TimeBasedDebouncer=void 0,n.TimeBasedDebouncer=class{constructor(o,f=1e3){this._renderCallback=o,this._debounceThresholdMS=f,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(o,f,_){this._rowCount=_,o=o!==void 0?o:0,f=f!==void 0?f:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,o):o,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,f):f;const u=Date.now();if(u-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=u,this._innerRefresh();else if(!this._additionalRefreshRequested){const m=u-this._lastRefreshMs,w=this._debounceThresholdMS-m;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout(()=>{this._lastRefreshMs=Date.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0},w)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;const o=Math.max(this._rowStart,0),f=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(o,f)}}},1680:function(p,n,o){var f=this&&this.__decorate||function(h,c,d,y){var C,b=arguments.length,E=b<3?c:y===null?y=Object.getOwnPropertyDescriptor(c,d):y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")E=Reflect.decorate(h,c,d,y);else for(var x=h.length-1;x>=0;x--)(C=h[x])&&(E=(b<3?C(E):b>3?C(c,d,E):C(c,d))||E);return b>3&&E&&Object.defineProperty(c,d,E),E},_=this&&this.__param||function(h,c){return function(d,y){c(d,y,h)}};Object.defineProperty(n,"__esModule",{value:!0}),n.Viewport=void 0;const u=o(3656),m=o(4725),w=o(8460),S=o(844),v=o(2585);let a=n.Viewport=class extends S.Disposable{constructor(h,c,d,y,C,b,E,x){super(),this._viewportElement=h,this._scrollArea=c,this._bufferService=d,this._optionsService=y,this._charSizeService=C,this._renderService=b,this._coreBrowserService=E,this.scrollBarWidth=0,this._currentRowHeight=0,this._currentDeviceCellHeight=0,this._lastRecordedBufferLength=0,this._lastRecordedViewportHeight=0,this._lastRecordedBufferHeight=0,this._lastTouchY=0,this._lastScrollTop=0,this._wheelPartialScroll=0,this._refreshAnimationFrame=null,this._ignoreNextScrollEvent=!1,this._smoothScrollState={startTime:0,origin:-1,target:-1},this._onRequestScrollLines=this.register(new w.EventEmitter),this.onRequestScrollLines=this._onRequestScrollLines.event,this.scrollBarWidth=this._viewportElement.offsetWidth-this._scrollArea.offsetWidth||15,this.register((0,u.addDisposableDomListener)(this._viewportElement,"scroll",this._handleScroll.bind(this))),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate(k=>this._activeBuffer=k.activeBuffer)),this._renderDimensions=this._renderService.dimensions,this.register(this._renderService.onDimensionsChange(k=>this._renderDimensions=k)),this._handleThemeChange(x.colors),this.register(x.onChangeColors(k=>this._handleThemeChange(k))),this.register(this._optionsService.onSpecificOptionChange("scrollback",()=>this.syncScrollArea())),setTimeout(()=>this.syncScrollArea())}_handleThemeChange(h){this._viewportElement.style.backgroundColor=h.background.css}reset(){this._currentRowHeight=0,this._currentDeviceCellHeight=0,this._lastRecordedBufferLength=0,this._lastRecordedViewportHeight=0,this._lastRecordedBufferHeight=0,this._lastTouchY=0,this._lastScrollTop=0,this._coreBrowserService.window.requestAnimationFrame(()=>this.syncScrollArea())}_refresh(h){if(h)return this._innerRefresh(),void(this._refreshAnimationFrame!==null&&this._coreBrowserService.window.cancelAnimationFrame(this._refreshAnimationFrame));this._refreshAnimationFrame===null&&(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._charSizeService.height>0){this._currentRowHeight=this._renderDimensions.device.cell.height/this._coreBrowserService.dpr,this._currentDeviceCellHeight=this._renderDimensions.device.cell.height,this._lastRecordedViewportHeight=this._viewportElement.offsetHeight;const c=Math.round(this._currentRowHeight*this._lastRecordedBufferLength)+(this._lastRecordedViewportHeight-this._renderDimensions.css.canvas.height);this._lastRecordedBufferHeight!==c&&(this._lastRecordedBufferHeight=c,this._scrollArea.style.height=this._lastRecordedBufferHeight+"px")}const h=this._bufferService.buffer.ydisp*this._currentRowHeight;this._viewportElement.scrollTop!==h&&(this._ignoreNextScrollEvent=!0,this._viewportElement.scrollTop=h),this._refreshAnimationFrame=null}syncScrollArea(h=!1){if(this._lastRecordedBufferLength!==this._bufferService.buffer.lines.length)return this._lastRecordedBufferLength=this._bufferService.buffer.lines.length,void this._refresh(h);this._lastRecordedViewportHeight===this._renderService.dimensions.css.canvas.height&&this._lastScrollTop===this._activeBuffer.ydisp*this._currentRowHeight&&this._renderDimensions.device.cell.height===this._currentDeviceCellHeight||this._refresh(h)}_handleScroll(h){if(this._lastScrollTop=this._viewportElement.scrollTop,!this._viewportElement.offsetParent)return;if(this._ignoreNextScrollEvent)return this._ignoreNextScrollEvent=!1,void this._onRequestScrollLines.fire({amount:0,suppressScrollEvent:!0});const c=Math.round(this._lastScrollTop/this._currentRowHeight)-this._bufferService.buffer.ydisp;this._onRequestScrollLines.fire({amount:c,suppressScrollEvent:!0})}_smoothScroll(){if(this._isDisposed||this._smoothScrollState.origin===-1||this._smoothScrollState.target===-1)return;const h=this._smoothScrollPercent();this._viewportElement.scrollTop=this._smoothScrollState.origin+Math.round(h*(this._smoothScrollState.target-this._smoothScrollState.origin)),h<1?this._coreBrowserService.window.requestAnimationFrame(()=>this._smoothScroll()):this._clearSmoothScrollState()}_smoothScrollPercent(){return this._optionsService.rawOptions.smoothScrollDuration&&this._smoothScrollState.startTime?Math.max(Math.min((Date.now()-this._smoothScrollState.startTime)/this._optionsService.rawOptions.smoothScrollDuration,1),0):1}_clearSmoothScrollState(){this._smoothScrollState.startTime=0,this._smoothScrollState.origin=-1,this._smoothScrollState.target=-1}_bubbleScroll(h,c){const d=this._viewportElement.scrollTop+this._lastRecordedViewportHeight;return!(c<0&&this._viewportElement.scrollTop!==0||c>0&&d<this._lastRecordedBufferHeight)||(h.cancelable&&h.preventDefault(),!1)}handleWheel(h){const c=this._getPixelsScrolled(h);return c!==0&&(this._optionsService.rawOptions.smoothScrollDuration?(this._smoothScrollState.startTime=Date.now(),this._smoothScrollPercent()<1?(this._smoothScrollState.origin=this._viewportElement.scrollTop,this._smoothScrollState.target===-1?this._smoothScrollState.target=this._viewportElement.scrollTop+c:this._smoothScrollState.target+=c,this._smoothScrollState.target=Math.max(Math.min(this._smoothScrollState.target,this._viewportElement.scrollHeight),0),this._smoothScroll()):this._clearSmoothScrollState()):this._viewportElement.scrollTop+=c,this._bubbleScroll(h,c))}scrollLines(h){if(h!==0)if(this._optionsService.rawOptions.smoothScrollDuration){const c=h*this._currentRowHeight;this._smoothScrollState.startTime=Date.now(),this._smoothScrollPercent()<1?(this._smoothScrollState.origin=this._viewportElement.scrollTop,this._smoothScrollState.target=this._smoothScrollState.origin+c,this._smoothScrollState.target=Math.max(Math.min(this._smoothScrollState.target,this._viewportElement.scrollHeight),0),this._smoothScroll()):this._clearSmoothScrollState()}else this._onRequestScrollLines.fire({amount:h,suppressScrollEvent:!1})}_getPixelsScrolled(h){if(h.deltaY===0||h.shiftKey)return 0;let c=this._applyScrollModifier(h.deltaY,h);return h.deltaMode===WheelEvent.DOM_DELTA_LINE?c*=this._currentRowHeight:h.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(c*=this._currentRowHeight*this._bufferService.rows),c}getBufferElements(h,c){var x;let d,y="";const C=[],b=c??this._bufferService.buffer.lines.length,E=this._bufferService.buffer.lines;for(let k=h;k<b;k++){const L=E.get(k);if(!L)continue;const I=(x=E.get(k+1))==null?void 0:x.isWrapped;if(y+=L.translateToString(!I),!I||k===E.length-1){const A=document.createElement("div");A.textContent=y,C.push(A),y.length>0&&(d=A),y=""}}return{bufferElements:C,cursorElement:d}}getLinesScrolled(h){if(h.deltaY===0||h.shiftKey)return 0;let c=this._applyScrollModifier(h.deltaY,h);return h.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(c/=this._currentRowHeight+0,this._wheelPartialScroll+=c,c=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):h.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(c*=this._bufferService.rows),c}_applyScrollModifier(h,c){const d=this._optionsService.rawOptions.fastScrollModifier;return d==="alt"&&c.altKey||d==="ctrl"&&c.ctrlKey||d==="shift"&&c.shiftKey?h*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:h*this._optionsService.rawOptions.scrollSensitivity}handleTouchStart(h){this._lastTouchY=h.touches[0].pageY}handleTouchMove(h){const c=this._lastTouchY-h.touches[0].pageY;return this._lastTouchY=h.touches[0].pageY,c!==0&&(this._viewportElement.scrollTop+=c,this._bubbleScroll(h,c))}};n.Viewport=a=f([_(2,v.IBufferService),_(3,v.IOptionsService),_(4,m.ICharSizeService),_(5,m.IRenderService),_(6,m.ICoreBrowserService),_(7,m.IThemeService)],a)},3107:function(p,n,o){var f=this&&this.__decorate||function(v,a,h,c){var d,y=arguments.length,C=y<3?a:c===null?c=Object.getOwnPropertyDescriptor(a,h):c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")C=Reflect.decorate(v,a,h,c);else for(var b=v.length-1;b>=0;b--)(d=v[b])&&(C=(y<3?d(C):y>3?d(a,h,C):d(a,h))||C);return y>3&&C&&Object.defineProperty(a,h,C),C},_=this&&this.__param||function(v,a){return function(h,c){a(h,c,v)}};Object.defineProperty(n,"__esModule",{value:!0}),n.BufferDecorationRenderer=void 0;const u=o(4725),m=o(844),w=o(2585);let S=n.BufferDecorationRenderer=class extends m.Disposable{constructor(v,a,h,c,d){super(),this._screenElement=v,this._bufferService=a,this._coreBrowserService=h,this._decorationService=c,this._renderService=d,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(y=>this._removeDecoration(y))),this.register((0,m.toDisposable)(()=>{this._container.remove(),this._decorationElements.clear()}))}_queueRefresh(){this._animationFrame===void 0&&(this._animationFrame=this._renderService.addRefreshCallback(()=>{this._doRefreshDecorations(),this._animationFrame=void 0}))}_doRefreshDecorations(){for(const v of this._decorationService.decorations)this._renderDecoration(v);this._dimensionsChanged=!1}_renderDecoration(v){this._refreshStyle(v),this._dimensionsChanged&&this._refreshXPosition(v)}_createElement(v){var c;const a=this._coreBrowserService.mainDocument.createElement("div");a.classList.add("xterm-decoration"),a.classList.toggle("xterm-decoration-top-layer",((c=v==null?void 0:v.options)==null?void 0:c.layer)==="top"),a.style.width=`${Math.round((v.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,a.style.height=(v.options.height||1)*this._renderService.dimensions.css.cell.height+"px",a.style.top=(v.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height+"px",a.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;const h=v.options.x??0;return h&&h>this._bufferService.cols&&(a.style.display="none"),this._refreshXPosition(v,a),a}_refreshStyle(v){const a=v.marker.line-this._bufferService.buffers.active.ydisp;if(a<0||a>=this._bufferService.rows)v.element&&(v.element.style.display="none",v.onRenderEmitter.fire(v.element));else{let h=this._decorationElements.get(v);h||(h=this._createElement(v),v.element=h,this._decorationElements.set(v,h),this._container.appendChild(h),v.onDispose(()=>{this._decorationElements.delete(v),h.remove()})),h.style.top=a*this._renderService.dimensions.css.cell.height+"px",h.style.display=this._altBufferIsActive?"none":"block",v.onRenderEmitter.fire(h)}}_refreshXPosition(v,a=v.element){if(!a)return;const h=v.options.x??0;(v.options.anchor||"left")==="right"?a.style.right=h?h*this._renderService.dimensions.css.cell.width+"px":"":a.style.left=h?h*this._renderService.dimensions.css.cell.width+"px":""}_removeDecoration(v){var a;(a=this._decorationElements.get(v))==null||a.remove(),this._decorationElements.delete(v),v.dispose()}};n.BufferDecorationRenderer=S=f([_(1,w.IBufferService),_(2,u.ICoreBrowserService),_(3,w.IDecorationService),_(4,u.IRenderService)],S)},5871:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.ColorZoneStore=void 0,n.ColorZoneStore=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(o){if(o.options.overviewRulerOptions){for(const f of this._zones)if(f.color===o.options.overviewRulerOptions.color&&f.position===o.options.overviewRulerOptions.position){if(this._lineIntersectsZone(f,o.marker.line))return;if(this._lineAdjacentToZone(f,o.marker.line,o.options.overviewRulerOptions.position))return void this._addLineToZone(f,o.marker.line)}if(this._zonePoolIndex<this._zonePool.length)return this._zonePool[this._zonePoolIndex].color=o.options.overviewRulerOptions.color,this._zonePool[this._zonePoolIndex].position=o.options.overviewRulerOptions.position,this._zonePool[this._zonePoolIndex].startBufferLine=o.marker.line,this._zonePool[this._zonePoolIndex].endBufferLine=o.marker.line,void this._zones.push(this._zonePool[this._zonePoolIndex++]);this._zones.push({color:o.options.overviewRulerOptions.color,position:o.options.overviewRulerOptions.position,startBufferLine:o.marker.line,endBufferLine:o.marker.line}),this._zonePool.push(this._zones[this._zones.length-1]),this._zonePoolIndex++}}setPadding(o){this._linePadding=o}_lineIntersectsZone(o,f){return f>=o.startBufferLine&&f<=o.endBufferLine}_lineAdjacentToZone(o,f,_){return f>=o.startBufferLine-this._linePadding[_||"full"]&&f<=o.endBufferLine+this._linePadding[_||"full"]}_addLineToZone(o,f){o.startBufferLine=Math.min(o.startBufferLine,f),o.endBufferLine=Math.max(o.endBufferLine,f)}}},5744:function(p,n,o){var f=this&&this.__decorate||function(d,y,C,b){var E,x=arguments.length,k=x<3?y:b===null?b=Object.getOwnPropertyDescriptor(y,C):b;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")k=Reflect.decorate(d,y,C,b);else for(var L=d.length-1;L>=0;L--)(E=d[L])&&(k=(x<3?E(k):x>3?E(y,C,k):E(y,C))||k);return x>3&&k&&Object.defineProperty(y,C,k),k},_=this&&this.__param||function(d,y){return function(C,b){y(C,b,d)}};Object.defineProperty(n,"__esModule",{value:!0}),n.OverviewRulerRenderer=void 0;const u=o(5871),m=o(4725),w=o(844),S=o(2585),v={full:0,left:0,center:0,right:0},a={full:0,left:0,center:0,right:0},h={full:0,left:0,center:0,right:0};let c=n.OverviewRulerRenderer=class extends w.Disposable{get _width(){return this._optionsService.options.overviewRulerWidth||0}constructor(d,y,C,b,E,x,k){var I;super(),this._viewportElement=d,this._screenElement=y,this._bufferService=C,this._decorationService=b,this._renderService=E,this._optionsService=x,this._coreBrowserService=k,this._colorZoneStore=new u.ColorZoneStore,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(),(I=this._viewportElement.parentElement)==null||I.insertBefore(this._canvas,this._viewportElement);const L=this._canvas.getContext("2d");if(!L)throw new Error("Ctx cannot be null");this._ctx=L,this._registerDecorationListeners(),this._registerBufferChangeListeners(),this._registerDimensionChangeListeners(),this.register((0,w.toDisposable)(()=>{var A;(A=this._canvas)==null||A.remove()}))}_registerDecorationListeners(){this.register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh(void 0,!0))),this.register(this._decorationService.onDecorationRemoved(()=>this._queueRefresh(void 0,!0)))}_registerBufferChangeListeners(){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())}))}_registerDimensionChangeListeners(){this.register(this._renderService.onRender(()=>{this._containerHeight&&this._containerHeight===this._screenElement.clientHeight||(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)})),this.register(this._optionsService.onSpecificOptionChange("overviewRulerWidth",()=>this._queueRefresh(!0))),this.register(this._coreBrowserService.onDprChange(()=>this._queueRefresh(!0))),this._queueRefresh(!0)}_refreshDrawConstants(){const d=Math.floor(this._canvas.width/3),y=Math.ceil(this._canvas.width/3);a.full=this._canvas.width,a.left=d,a.center=y,a.right=d,this._refreshDrawHeightConstants(),h.full=0,h.left=0,h.center=a.left,h.right=a.left+a.center}_refreshDrawHeightConstants(){v.full=Math.round(2*this._coreBrowserService.dpr);const d=this._canvas.height/this._bufferService.buffer.lines.length,y=Math.round(Math.max(Math.min(d,12),6)*this._coreBrowserService.dpr);v.left=y,v.center=y,v.right=y}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*v.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*v.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*v.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*v.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(const y of this._decorationService.decorations)this._colorZoneStore.addDecoration(y);this._ctx.lineWidth=1;const d=this._colorZoneStore.zones;for(const y of d)y.position!=="full"&&this._renderColorZone(y);for(const y of d)y.position==="full"&&this._renderColorZone(y);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderColorZone(d){this._ctx.fillStyle=d.color,this._ctx.fillRect(h[d.position||"full"],Math.round((this._canvas.height-1)*(d.startBufferLine/this._bufferService.buffers.active.lines.length)-v[d.position||"full"]/2),a[d.position||"full"],Math.round((this._canvas.height-1)*((d.endBufferLine-d.startBufferLine)/this._bufferService.buffers.active.lines.length)+v[d.position||"full"]))}_queueRefresh(d,y){this._shouldUpdateDimensions=d||this._shouldUpdateDimensions,this._shouldUpdateAnchor=y||this._shouldUpdateAnchor,this._animationFrame===void 0&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._refreshDecorations(),this._animationFrame=void 0}))}};n.OverviewRulerRenderer=c=f([_(2,S.IBufferService),_(3,S.IDecorationService),_(4,m.IRenderService),_(5,S.IOptionsService),_(6,m.ICoreBrowserService)],c)},2950:function(p,n,o){var f=this&&this.__decorate||function(v,a,h,c){var d,y=arguments.length,C=y<3?a:c===null?c=Object.getOwnPropertyDescriptor(a,h):c;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")C=Reflect.decorate(v,a,h,c);else for(var b=v.length-1;b>=0;b--)(d=v[b])&&(C=(y<3?d(C):y>3?d(a,h,C):d(a,h))||C);return y>3&&C&&Object.defineProperty(a,h,C),C},_=this&&this.__param||function(v,a){return function(h,c){a(h,c,v)}};Object.defineProperty(n,"__esModule",{value:!0}),n.CompositionHelper=void 0;const u=o(4725),m=o(2585),w=o(2584);let S=n.CompositionHelper=class{get isComposing(){return this._isComposing}constructor(v,a,h,c,d,y){this._textarea=v,this._compositionView=a,this._bufferService=h,this._optionsService=c,this._coreService=d,this._renderService=y,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=""}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent="",this._dataAlreadySent="",this._compositionView.classList.add("active")}compositionupdate(v){this._compositionView.textContent=v.data,this.updateCompositionElements(),setTimeout(()=>{this._compositionPosition.end=this._textarea.value.length},0)}compositionend(){this._finalizeComposition(!0)}keydown(v){if(this._isComposing||this._isSendingComposition){if(v.keyCode===229||v.keyCode===16||v.keyCode===17||v.keyCode===18)return!1;this._finalizeComposition(!1)}return v.keyCode!==229||(this._handleAnyTextareaChanges(),!1)}_finalizeComposition(v){if(this._compositionView.classList.remove("active"),this._isComposing=!1,v){const a={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout(()=>{if(this._isSendingComposition){let h;this._isSendingComposition=!1,a.start+=this._dataAlreadySent.length,h=this._isComposing?this._textarea.value.substring(a.start,a.end):this._textarea.value.substring(a.start),h.length>0&&this._coreService.triggerDataEvent(h,!0)}},0)}else{this._isSendingComposition=!1;const a=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(a,!0)}}_handleAnyTextareaChanges(){const v=this._textarea.value;setTimeout(()=>{if(!this._isComposing){const a=this._textarea.value,h=a.replace(v,"");this._dataAlreadySent=h,a.length>v.length?this._coreService.triggerDataEvent(h,!0):a.length<v.length?this._coreService.triggerDataEvent(`${w.C0.DEL}`,!0):a.length===v.length&&a!==v&&this._coreService.triggerDataEvent(a,!0)}},0)}updateCompositionElements(v){if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){const a=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),h=this._renderService.dimensions.css.cell.height,c=this._bufferService.buffer.y*this._renderService.dimensions.css.cell.height,d=a*this._renderService.dimensions.css.cell.width;this._compositionView.style.left=d+"px",this._compositionView.style.top=c+"px",this._compositionView.style.height=h+"px",this._compositionView.style.lineHeight=h+"px",this._compositionView.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._compositionView.style.fontSize=this._optionsService.rawOptions.fontSize+"px";const y=this._compositionView.getBoundingClientRect();this._textarea.style.left=d+"px",this._textarea.style.top=c+"px",this._textarea.style.width=Math.max(y.width,1)+"px",this._textarea.style.height=Math.max(y.height,1)+"px",this._textarea.style.lineHeight=y.height+"px"}v||setTimeout(()=>this.updateCompositionElements(!0),0)}}};n.CompositionHelper=S=f([_(2,m.IBufferService),_(3,m.IOptionsService),_(4,m.ICoreService),_(5,u.IRenderService)],S)},9806:(p,n)=>{function o(f,_,u){const m=u.getBoundingClientRect(),w=f.getComputedStyle(u),S=parseInt(w.getPropertyValue("padding-left")),v=parseInt(w.getPropertyValue("padding-top"));return[_.clientX-m.left-S,_.clientY-m.top-v]}Object.defineProperty(n,"__esModule",{value:!0}),n.getCoords=n.getCoordsRelativeToElement=void 0,n.getCoordsRelativeToElement=o,n.getCoords=function(f,_,u,m,w,S,v,a,h){if(!S)return;const c=o(f,_,u);return c?(c[0]=Math.ceil((c[0]+(h?v/2:0))/v),c[1]=Math.ceil(c[1]/a),c[0]=Math.min(Math.max(c[0],1),m+(h?1:0)),c[1]=Math.min(Math.max(c[1],1),w),c):void 0}},9504:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.moveToCellSequence=void 0;const f=o(2584);function _(a,h,c,d){const y=a-u(a,c),C=h-u(h,c),b=Math.abs(y-C)-function(E,x,k){let L=0;const I=E-u(E,k),A=x-u(x,k);for(let P=0;P<Math.abs(I-A);P++){const j=m(E,x)==="A"?-1:1,W=k.buffer.lines.get(I+j*P);W!=null&&W.isWrapped&&L++}return L}(a,h,c);return v(b,S(m(a,h),d))}function u(a,h){let c=0,d=h.buffer.lines.get(a),y=d==null?void 0:d.isWrapped;for(;y&&a>=0&&a<h.rows;)c++,d=h.buffer.lines.get(--a),y=d==null?void 0:d.isWrapped;return c}function m(a,h){return a>h?"A":"B"}function w(a,h,c,d,y,C){let b=a,E=h,x="";for(;b!==c||E!==d;)b+=y?1:-1,y&&b>C.cols-1?(x+=C.buffer.translateBufferLineToString(E,!1,a,b),b=0,a=0,E++):!y&&b<0&&(x+=C.buffer.translateBufferLineToString(E,!1,0,a+1),b=C.cols-1,a=b,E--);return x+C.buffer.translateBufferLineToString(E,!1,a,b)}function S(a,h){const c=h?"O":"[";return f.C0.ESC+c+a}function v(a,h){a=Math.floor(a);let c="";for(let d=0;d<a;d++)c+=h;return c}n.moveToCellSequence=function(a,h,c,d){const y=c.buffer.x,C=c.buffer.y;if(!c.buffer.hasScrollback)return function(x,k,L,I,A,P){return _(k,I,A,P).length===0?"":v(w(x,k,x,k-u(k,A),!1,A).length,S("D",P))}(y,C,0,h,c,d)+_(C,h,c,d)+function(x,k,L,I,A,P){let j;j=_(k,I,A,P).length>0?I-u(I,A):k;const W=I,z=function(V,$,R,O,D,H){let X;return X=_(R,O,D,H).length>0?O-u(O,D):$,V<R&&X<=O||V>=R&&X<O?"C":"D"}(x,k,L,I,A,P);return v(w(x,j,L,W,z==="C",A).length,S(z,P))}(y,C,a,h,c,d);let b;if(C===h)return b=y>a?"D":"C",v(Math.abs(y-a),S(b,d));b=C>h?"D":"C";const E=Math.abs(C-h);return v(function(x,k){return k.cols-x}(C>h?a:y,c)+(E-1)*c.cols+1+((C>h?y:a)-1),S(b,d))}},1296:function(p,n,o){var f=this&&this.__decorate||function(P,j,W,z){var V,$=arguments.length,R=$<3?j:z===null?z=Object.getOwnPropertyDescriptor(j,W):z;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")R=Reflect.decorate(P,j,W,z);else for(var O=P.length-1;O>=0;O--)(V=P[O])&&(R=($<3?V(R):$>3?V(j,W,R):V(j,W))||R);return $>3&&R&&Object.defineProperty(j,W,R),R},_=this&&this.__param||function(P,j){return function(W,z){j(W,z,P)}};Object.defineProperty(n,"__esModule",{value:!0}),n.DomRenderer=void 0;const u=o(3787),m=o(2550),w=o(2223),S=o(6171),v=o(6052),a=o(4725),h=o(8055),c=o(8460),d=o(844),y=o(2585),C="xterm-dom-renderer-owner-",b="xterm-rows",E="xterm-fg-",x="xterm-bg-",k="xterm-focus",L="xterm-selection";let I=1,A=n.DomRenderer=class extends d.Disposable{constructor(P,j,W,z,V,$,R,O,D,H,X,Q,ue){super(),this._terminal=P,this._document=j,this._element=W,this._screenElement=z,this._viewportElement=V,this._helperContainer=$,this._linkifier2=R,this._charSizeService=D,this._optionsService=H,this._bufferService=X,this._coreBrowserService=Q,this._themeService=ue,this._terminalClass=I++,this._rowElements=[],this._selectionRenderModel=(0,v.createSelectionRenderModel)(),this.onRequestRedraw=this.register(new c.EventEmitter).event,this._rowContainer=this._document.createElement("div"),this._rowContainer.classList.add(b),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(L),this._selectionContainer.setAttribute("aria-hidden","true"),this.dimensions=(0,S.createRenderDimensions)(),this._updateDimensions(),this.register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this.register(this._themeService.onChangeColors(ie=>this._injectCss(ie))),this._injectCss(this._themeService.colors),this._rowFactory=O.createInstance(u.DomRendererRowFactory,document),this._element.classList.add(C+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this.register(this._linkifier2.onShowLinkUnderline(ie=>this._handleLinkHover(ie))),this.register(this._linkifier2.onHideLinkUnderline(ie=>this._handleLinkLeave(ie))),this.register((0,d.toDisposable)(()=>{this._element.classList.remove(C+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()})),this._widthCache=new m.WidthCache(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(){const P=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*P,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*P),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/P),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/P),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(const W of this._rowElements)W.style.width=`${this.dimensions.css.canvas.width}px`,W.style.height=`${this.dimensions.css.cell.height}px`,W.style.lineHeight=`${this.dimensions.css.cell.height}px`,W.style.overflow="hidden";this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._dimensionsStyleElement));const j=`${this._terminalSelector} .${b} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=j,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(P){this._themeStyleElement||(this._themeStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));let j=`${this._terminalSelector} .${b} { color: ${P.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;j+=`${this._terminalSelector} .${b} .xterm-dim { color: ${h.color.multiplyOpacity(P.foreground,.5).css};}`,j+=`${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;}`;const W=`blink_underline_${this._terminalClass}`,z=`blink_bar_${this._terminalClass}`,V=`blink_block_${this._terminalClass}`;j+=`@keyframes ${W} { 50% { border-bottom-style: hidden; }}`,j+=`@keyframes ${z} { 50% { box-shadow: none; }}`,j+=`@keyframes ${V} { 0% { background-color: ${P.cursor.css}; color: ${P.cursorAccent.css}; } 50% { background-color: inherit; color: ${P.cursor.css}; }}`,j+=`${this._terminalSelector} .${b}.${k} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${W} 1s step-end infinite;}${this._terminalSelector} .${b}.${k} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${z} 1s step-end infinite;}${this._terminalSelector} .${b}.${k} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${V} 1s step-end infinite;}${this._terminalSelector} .${b} .xterm-cursor.xterm-cursor-block { background-color: ${P.cursor.css}; color: ${P.cursorAccent.css};}${this._terminalSelector} .${b} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${P.cursor.css} !important; color: ${P.cursorAccent.css} !important;}${this._terminalSelector} .${b} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${P.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${b} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${P.cursor.css} inset;}${this._terminalSelector} .${b} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${P.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,j+=`${this._terminalSelector} .${L} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${L} div { position: absolute; background-color: ${P.selectionBackgroundOpaque.css};}${this._terminalSelector} .${L} div { position: absolute; background-color: ${P.selectionInactiveBackgroundOpaque.css};}`;for(const[$,R]of P.ansi.entries())j+=`${this._terminalSelector} .${E}${$} { color: ${R.css}; }${this._terminalSelector} .${E}${$}.xterm-dim { color: ${h.color.multiplyOpacity(R,.5).css}; }${this._terminalSelector} .${x}${$} { background-color: ${R.css}; }`;j+=`${this._terminalSelector} .${E}${w.INVERTED_DEFAULT_COLOR} { color: ${h.color.opaque(P.background).css}; }${this._terminalSelector} .${E}${w.INVERTED_DEFAULT_COLOR}.xterm-dim { color: ${h.color.multiplyOpacity(h.color.opaque(P.background),.5).css}; }${this._terminalSelector} .${x}${w.INVERTED_DEFAULT_COLOR} { background-color: ${P.foreground.css}; }`,this._themeStyleElement.textContent=j}_setDefaultSpacing(){const P=this.dimensions.css.cell.width-this._widthCache.get("W",!1,!1);this._rowContainer.style.letterSpacing=`${P}px`,this._rowFactory.defaultSpacing=P}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(P,j){for(let W=this._rowElements.length;W<=j;W++){const z=this._document.createElement("div");this._rowContainer.appendChild(z),this._rowElements.push(z)}for(;this._rowElements.length>j;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(P,j){this._refreshRowElements(P,j),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(k),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(k),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(P,j,W){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(P,j,W),this.renderRows(0,this._bufferService.rows-1),!P||!j)return;this._selectionRenderModel.update(this._terminal,P,j,W);const z=this._selectionRenderModel.viewportStartRow,V=this._selectionRenderModel.viewportEndRow,$=this._selectionRenderModel.viewportCappedStartRow,R=this._selectionRenderModel.viewportCappedEndRow;if($>=this._bufferService.rows||R<0)return;const O=this._document.createDocumentFragment();if(W){const D=P[0]>j[0];O.appendChild(this._createSelectionElement($,D?j[0]:P[0],D?P[0]:j[0],R-$+1))}else{const D=z===$?P[0]:0,H=$===V?j[0]:this._bufferService.cols;O.appendChild(this._createSelectionElement($,D,H));const X=R-$-1;if(O.appendChild(this._createSelectionElement($+1,0,this._bufferService.cols,X)),$!==R){const Q=V===R?j[0]:this._bufferService.cols;O.appendChild(this._createSelectionElement(R,0,Q))}}this._selectionContainer.appendChild(O)}_createSelectionElement(P,j,W,z=1){const V=this._document.createElement("div"),$=j*this.dimensions.css.cell.width;let R=this.dimensions.css.cell.width*(W-j);return $+R>this.dimensions.css.canvas.width&&(R=this.dimensions.css.canvas.width-$),V.style.height=z*this.dimensions.css.cell.height+"px",V.style.top=P*this.dimensions.css.cell.height+"px",V.style.left=`${$}px`,V.style.width=`${R}px`,V}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(const P of this._rowElements)P.replaceChildren()}renderRows(P,j){const W=this._bufferService.buffer,z=W.ybase+W.y,V=Math.min(W.x,this._bufferService.cols-1),$=this._optionsService.rawOptions.cursorBlink,R=this._optionsService.rawOptions.cursorStyle,O=this._optionsService.rawOptions.cursorInactiveStyle;for(let D=P;D<=j;D++){const H=D+W.ydisp,X=this._rowElements[D],Q=W.lines.get(H);if(!X||!Q)break;X.replaceChildren(...this._rowFactory.createRow(Q,H,H===z,R,O,V,$,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${C}${this._terminalClass}`}_handleLinkHover(P){this._setCellUnderline(P.x1,P.x2,P.y1,P.y2,P.cols,!0)}_handleLinkLeave(P){this._setCellUnderline(P.x1,P.x2,P.y1,P.y2,P.cols,!1)}_setCellUnderline(P,j,W,z,V,$){W<0&&(P=0),z<0&&(j=0);const R=this._bufferService.rows-1;W=Math.max(Math.min(W,R),0),z=Math.max(Math.min(z,R),0),V=Math.min(V,this._bufferService.cols);const O=this._bufferService.buffer,D=O.ybase+O.y,H=Math.min(O.x,V-1),X=this._optionsService.rawOptions.cursorBlink,Q=this._optionsService.rawOptions.cursorStyle,ue=this._optionsService.rawOptions.cursorInactiveStyle;for(let ie=W;ie<=z;++ie){const U=ie+O.ydisp,M=this._rowElements[ie],Y=O.lines.get(U);if(!M||!Y)break;M.replaceChildren(...this._rowFactory.createRow(Y,U,U===D,Q,ue,H,X,this.dimensions.css.cell.width,this._widthCache,$?ie===W?P:0:-1,$?(ie===z?j:V)-1:-1))}}};n.DomRenderer=A=f([_(7,y.IInstantiationService),_(8,a.ICharSizeService),_(9,y.IOptionsService),_(10,y.IBufferService),_(11,a.ICoreBrowserService),_(12,a.IThemeService)],A)},3787:function(p,n,o){var f=this&&this.__decorate||function(b,E,x,k){var L,I=arguments.length,A=I<3?E:k===null?k=Object.getOwnPropertyDescriptor(E,x):k;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")A=Reflect.decorate(b,E,x,k);else for(var P=b.length-1;P>=0;P--)(L=b[P])&&(A=(I<3?L(A):I>3?L(E,x,A):L(E,x))||A);return I>3&&A&&Object.defineProperty(E,x,A),A},_=this&&this.__param||function(b,E){return function(x,k){E(x,k,b)}};Object.defineProperty(n,"__esModule",{value:!0}),n.DomRendererRowFactory=void 0;const u=o(2223),m=o(643),w=o(511),S=o(2585),v=o(8055),a=o(4725),h=o(4269),c=o(6171),d=o(3734);let y=n.DomRendererRowFactory=class{constructor(b,E,x,k,L,I,A){this._document=b,this._characterJoinerService=E,this._optionsService=x,this._coreBrowserService=k,this._coreService=L,this._decorationService=I,this._themeService=A,this._workCell=new w.CellData,this._columnSelectMode=!1,this.defaultSpacing=0}handleSelectionChanged(b,E,x){this._selectionStart=b,this._selectionEnd=E,this._columnSelectMode=x}createRow(b,E,x,k,L,I,A,P,j,W,z){const V=[],$=this._characterJoinerService.getJoinedCharacters(E),R=this._themeService.colors;let O,D=b.getNoBgTrimmedLength();x&&D<I+1&&(D=I+1);let H=0,X="",Q=0,ue=0,ie=0,U=!1,M=0,Y=!1,G=0;const re=[],se=W!==-1&&z!==-1;for(let pe=0;pe<D;pe++){b.loadCell(pe,this._workCell);let fe=this._workCell.getWidth();if(fe===0)continue;let Ce=!1,Ue=pe,ge=this._workCell;if($.length>0&&pe===$[0][0]){Ce=!0;const ce=$.shift();ge=new h.JoinedCellData(this._workCell,b.translateToString(!0,ce[0],ce[1]),ce[1]-ce[0]),Ue=ce[1]-1,fe=ge.getWidth()}const Ke=this._isCellInSelection(pe,E),Ye=x&&pe===I,ke=se&&pe>=W&&pe<=z;let De=!1;this._decorationService.forEachDecorationAtCell(pe,E,void 0,ce=>{De=!0});let Ee=ge.getChars()||m.WHITESPACE_CELL_CHAR;if(Ee===" "&&(ge.isUnderline()||ge.isOverline())&&(Ee=" "),G=fe*P-j.get(Ee,ge.isBold(),ge.isItalic()),O){if(H&&(Ke&&Y||!Ke&&!Y&&ge.bg===Q)&&(Ke&&Y&&R.selectionForeground||ge.fg===ue)&&ge.extended.ext===ie&&ke===U&&G===M&&!Ye&&!Ce&&!De){ge.isInvisible()?X+=m.WHITESPACE_CELL_CHAR:X+=Ee,H++;continue}H&&(O.textContent=X),O=this._document.createElement("span"),H=0,X=""}else O=this._document.createElement("span");if(Q=ge.bg,ue=ge.fg,ie=ge.extended.ext,U=ke,M=G,Y=Ke,Ce&&I>=pe&&I<=Ue&&(I=pe),!this._coreService.isCursorHidden&&Ye&&this._coreService.isCursorInitialized){if(re.push("xterm-cursor"),this._coreBrowserService.isFocused)A&&re.push("xterm-cursor-blink"),re.push(k==="bar"?"xterm-cursor-bar":k==="underline"?"xterm-cursor-underline":"xterm-cursor-block");else if(L)switch(L){case"outline":re.push("xterm-cursor-outline");break;case"block":re.push("xterm-cursor-block");break;case"bar":re.push("xterm-cursor-bar");break;case"underline":re.push("xterm-cursor-underline")}}if(ge.isBold()&&re.push("xterm-bold"),ge.isItalic()&&re.push("xterm-italic"),ge.isDim()&&re.push("xterm-dim"),X=ge.isInvisible()?m.WHITESPACE_CELL_CHAR:ge.getChars()||m.WHITESPACE_CELL_CHAR,ge.isUnderline()&&(re.push(`xterm-underline-${ge.extended.underlineStyle}`),X===" "&&(X=" "),!ge.isUnderlineColorDefault()))if(ge.isUnderlineColorRGB())O.style.textDecorationColor=`rgb(${d.AttributeData.toColorRGB(ge.getUnderlineColor()).join(",")})`;else{let ce=ge.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&ge.isBold()&&ce<8&&(ce+=8),O.style.textDecorationColor=R.ansi[ce].css}ge.isOverline()&&(re.push("xterm-overline"),X===" "&&(X=" ")),ge.isStrikethrough()&&re.push("xterm-strikethrough"),ke&&(O.style.textDecoration="underline");let oe=ge.getFgColor(),ye=ge.getFgColorMode(),Be=ge.getBgColor(),te=ge.getBgColorMode();const Le=!!ge.isInverse();if(Le){const ce=oe;oe=Be,Be=ce;const Je=ye;ye=te,te=Je}let ne,Z,le,we=!1;switch(this._decorationService.forEachDecorationAtCell(pe,E,void 0,ce=>{ce.options.layer!=="top"&&we||(ce.backgroundColorRGB&&(te=50331648,Be=ce.backgroundColorRGB.rgba>>8&16777215,ne=ce.backgroundColorRGB),ce.foregroundColorRGB&&(ye=50331648,oe=ce.foregroundColorRGB.rgba>>8&16777215,Z=ce.foregroundColorRGB),we=ce.options.layer==="top")}),!we&&Ke&&(ne=this._coreBrowserService.isFocused?R.selectionBackgroundOpaque:R.selectionInactiveBackgroundOpaque,Be=ne.rgba>>8&16777215,te=50331648,we=!0,R.selectionForeground&&(ye=50331648,oe=R.selectionForeground.rgba>>8&16777215,Z=R.selectionForeground)),we&&re.push("xterm-decoration-top"),te){case 16777216:case 33554432:le=R.ansi[Be],re.push(`xterm-bg-${Be}`);break;case 50331648:le=v.channels.toColor(Be>>16,Be>>8&255,255&Be),this._addStyle(O,`background-color:#${C((Be>>>0).toString(16),"0",6)}`);break;default:Le?(le=R.foreground,re.push(`xterm-bg-${u.INVERTED_DEFAULT_COLOR}`)):le=R.background}switch(ne||ge.isDim()&&(ne=v.color.multiplyOpacity(le,.5)),ye){case 16777216:case 33554432:ge.isBold()&&oe<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(oe+=8),this._applyMinimumContrast(O,le,R.ansi[oe],ge,ne,void 0)||re.push(`xterm-fg-${oe}`);break;case 50331648:const ce=v.channels.toColor(oe>>16&255,oe>>8&255,255&oe);this._applyMinimumContrast(O,le,ce,ge,ne,Z)||this._addStyle(O,`color:#${C(oe.toString(16),"0",6)}`);break;default:this._applyMinimumContrast(O,le,R.foreground,ge,ne,Z)||Le&&re.push(`xterm-fg-${u.INVERTED_DEFAULT_COLOR}`)}re.length&&(O.className=re.join(" "),re.length=0),Ye||Ce||De?O.textContent=X:H++,G!==this.defaultSpacing&&(O.style.letterSpacing=`${G}px`),V.push(O),pe=Ue}return O&&H&&(O.textContent=X),V}_applyMinimumContrast(b,E,x,k,L,I){if(this._optionsService.rawOptions.minimumContrastRatio===1||(0,c.treatGlyphAsBackgroundColor)(k.getCode()))return!1;const A=this._getContrastCache(k);let P;if(L||I||(P=A.getColor(E.rgba,x.rgba)),P===void 0){const j=this._optionsService.rawOptions.minimumContrastRatio/(k.isDim()?2:1);P=v.color.ensureContrastRatio(L||E,I||x,j),A.setColor((L||E).rgba,(I||x).rgba,P??null)}return!!P&&(this._addStyle(b,`color:${P.css}`),!0)}_getContrastCache(b){return b.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(b,E){b.setAttribute("style",`${b.getAttribute("style")||""}${E};`)}_isCellInSelection(b,E){const x=this._selectionStart,k=this._selectionEnd;return!(!x||!k)&&(this._columnSelectMode?x[0]<=k[0]?b>=x[0]&&E>=x[1]&&b<k[0]&&E<=k[1]:b<x[0]&&E>=x[1]&&b>=k[0]&&E<=k[1]:E>x[1]&&E<k[1]||x[1]===k[1]&&E===x[1]&&b>=x[0]&&b<k[0]||x[1]<k[1]&&E===k[1]&&b<k[0]||x[1]<k[1]&&E===x[1]&&b>=x[0])}};function C(b,E,x){for(;b.length<x;)b=E+b;return b}n.DomRendererRowFactory=y=f([_(1,a.ICharacterJoinerService),_(2,S.IOptionsService),_(3,a.ICoreBrowserService),_(4,S.ICoreService),_(5,S.IDecorationService),_(6,a.IThemeService)],y)},2550:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.WidthCache=void 0,n.WidthCache=class{constructor(o,f){this._flat=new Float32Array(256),this._font="",this._fontSize=0,this._weight="normal",this._weightBold="bold",this._measureElements=[],this._container=o.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";const _=o.createElement("span");_.classList.add("xterm-char-measure-element");const u=o.createElement("span");u.classList.add("xterm-char-measure-element"),u.style.fontWeight="bold";const m=o.createElement("span");m.classList.add("xterm-char-measure-element"),m.style.fontStyle="italic";const w=o.createElement("span");w.classList.add("xterm-char-measure-element"),w.style.fontWeight="bold",w.style.fontStyle="italic",this._measureElements=[_,u,m,w],this._container.appendChild(_),this._container.appendChild(u),this._container.appendChild(m),this._container.appendChild(w),f.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(o,f,_,u){o===this._font&&f===this._fontSize&&_===this._weight&&u===this._weightBold||(this._font=o,this._fontSize=f,this._weight=_,this._weightBold=u,this._container.style.fontFamily=this._font,this._container.style.fontSize=`${this._fontSize}px`,this._measureElements[0].style.fontWeight=`${_}`,this._measureElements[1].style.fontWeight=`${u}`,this._measureElements[2].style.fontWeight=`${_}`,this._measureElements[3].style.fontWeight=`${u}`,this.clear())}get(o,f,_){let u=0;if(!f&&!_&&o.length===1&&(u=o.charCodeAt(0))<256){if(this._flat[u]!==-9999)return this._flat[u];const S=this._measure(o,0);return S>0&&(this._flat[u]=S),S}let m=o;f&&(m+="B"),_&&(m+="I");let w=this._holey.get(m);if(w===void 0){let S=0;f&&(S|=1),_&&(S|=2),w=this._measure(o,S),w>0&&this._holey.set(m,w)}return w}_measure(o,f){const _=this._measureElements[f];return _.textContent=o.repeat(32),_.offsetWidth/32}}},2223:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.TEXT_BASELINE=n.DIM_OPACITY=n.INVERTED_DEFAULT_COLOR=void 0;const f=o(6114);n.INVERTED_DEFAULT_COLOR=257,n.DIM_OPACITY=.5,n.TEXT_BASELINE=f.isFirefox||f.isLegacyEdge?"bottom":"ideographic"},6171:(p,n)=>{function o(_){return 57508<=_&&_<=57558}function f(_){return _>=128512&&_<=128591||_>=127744&&_<=128511||_>=128640&&_<=128767||_>=9728&&_<=9983||_>=9984&&_<=10175||_>=65024&&_<=65039||_>=129280&&_<=129535||_>=127462&&_<=127487}Object.defineProperty(n,"__esModule",{value:!0}),n.computeNextVariantOffset=n.createRenderDimensions=n.treatGlyphAsBackgroundColor=n.allowRescaling=n.isEmoji=n.isRestrictedPowerlineGlyph=n.isPowerlineGlyph=n.throwIfFalsy=void 0,n.throwIfFalsy=function(_){if(!_)throw new Error("value must not be falsy");return _},n.isPowerlineGlyph=o,n.isRestrictedPowerlineGlyph=function(_){return 57520<=_&&_<=57527},n.isEmoji=f,n.allowRescaling=function(_,u,m,w){return u===1&&m>Math.ceil(1.5*w)&&_!==void 0&&_>255&&!f(_)&&!o(_)&&!function(S){return 57344<=S&&S<=63743}(_)},n.treatGlyphAsBackgroundColor=function(_){return o(_)||function(u){return 9472<=u&&u<=9631}(_)},n.createRenderDimensions=function(){return{css:{canvas:{width:0,height:0},cell:{width:0,height:0}},device:{canvas:{width:0,height:0},cell:{width:0,height:0},char:{width:0,height:0,left:0,top:0}}}},n.computeNextVariantOffset=function(_,u,m=0){return(_-(2*Math.round(u)-m))%(2*Math.round(u))}},6052:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.createSelectionRenderModel=void 0;class o{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(_,u,m,w=!1){if(this.selectionStart=u,this.selectionEnd=m,!u||!m||u[0]===m[0]&&u[1]===m[1])return void this.clear();const S=_.buffers.active.ydisp,v=u[1]-S,a=m[1]-S,h=Math.max(v,0),c=Math.min(a,_.rows-1);h>=_.rows||c<0?this.clear():(this.hasSelection=!0,this.columnSelectMode=w,this.viewportStartRow=v,this.viewportEndRow=a,this.viewportCappedStartRow=h,this.viewportCappedEndRow=c,this.startCol=u[0],this.endCol=m[0])}isCellSelected(_,u,m){return!!this.hasSelection&&(m-=_.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?u>=this.startCol&&m>=this.viewportCappedStartRow&&u<this.endCol&&m<=this.viewportCappedEndRow:u<this.startCol&&m>=this.viewportCappedStartRow&&u>=this.endCol&&m<=this.viewportCappedEndRow:m>this.viewportStartRow&&m<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&m===this.viewportStartRow&&u>=this.startCol&&u<this.endCol||this.viewportStartRow<this.viewportEndRow&&m===this.viewportEndRow&&u<this.endCol||this.viewportStartRow<this.viewportEndRow&&m===this.viewportStartRow&&u>=this.startCol)}}n.createSelectionRenderModel=function(){return new o}},456:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.SelectionModel=void 0,n.SelectionModel=class{constructor(o){this._bufferService=o,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.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()){const o=this.selectionStart[0]+this.selectionStartLength;return o>this._bufferService.cols?o%this._bufferService.cols==0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(o/this._bufferService.cols)-1]:[o%this._bufferService.cols,this.selectionStart[1]+Math.floor(o/this._bufferService.cols)]:[o,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){const o=this.selectionStart[0]+this.selectionStartLength;return o>this._bufferService.cols?[o%this._bufferService.cols,this.selectionStart[1]+Math.floor(o/this._bufferService.cols)]:[Math.max(o,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){const o=this.selectionStart,f=this.selectionEnd;return!(!o||!f)&&(o[1]>f[1]||o[1]===f[1]&&o[0]>f[0])}handleTrim(o){return this.selectionStart&&(this.selectionStart[1]-=o),this.selectionEnd&&(this.selectionEnd[1]-=o),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}}},428:function(p,n,o){var f=this&&this.__decorate||function(c,d,y,C){var b,E=arguments.length,x=E<3?d:C===null?C=Object.getOwnPropertyDescriptor(d,y):C;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")x=Reflect.decorate(c,d,y,C);else for(var k=c.length-1;k>=0;k--)(b=c[k])&&(x=(E<3?b(x):E>3?b(d,y,x):b(d,y))||x);return E>3&&x&&Object.defineProperty(d,y,x),x},_=this&&this.__param||function(c,d){return function(y,C){d(y,C,c)}};Object.defineProperty(n,"__esModule",{value:!0}),n.CharSizeService=void 0;const u=o(2585),m=o(8460),w=o(844);let S=n.CharSizeService=class extends w.Disposable{get hasValidSize(){return this.width>0&&this.height>0}constructor(c,d,y){super(),this._optionsService=y,this.width=0,this.height=0,this._onCharSizeChange=this.register(new m.EventEmitter),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this.register(new h(this._optionsService))}catch{this._measureStrategy=this.register(new a(c,d,this._optionsService))}this.register(this._optionsService.onMultipleOptionChange(["fontFamily","fontSize"],()=>this.measure()))}measure(){const c=this._measureStrategy.measure();c.width===this.width&&c.height===this.height||(this.width=c.width,this.height=c.height,this._onCharSizeChange.fire())}};n.CharSizeService=S=f([_(2,u.IOptionsService)],S);class v extends w.Disposable{constructor(){super(...arguments),this._result={width:0,height:0}}_validateAndSet(d,y){d!==void 0&&d>0&&y!==void 0&&y>0&&(this._result.width=d,this._result.height=y)}}class a extends v{constructor(d,y,C){super(),this._document=d,this._parentElement=y,this._optionsService=C,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}}class h extends v{constructor(d){super(),this._optionsService=d,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext("2d");const y=this._ctx.measureText("W");if(!("width"in y&&"fontBoundingBoxAscent"in y&&"fontBoundingBoxDescent"in y))throw new Error("Required font metrics not supported")}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;const d=this._ctx.measureText("W");return this._validateAndSet(d.width,d.fontBoundingBoxAscent+d.fontBoundingBoxDescent),this._result}}},4269:function(p,n,o){var f=this&&this.__decorate||function(h,c,d,y){var C,b=arguments.length,E=b<3?c:y===null?y=Object.getOwnPropertyDescriptor(c,d):y;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")E=Reflect.decorate(h,c,d,y);else for(var x=h.length-1;x>=0;x--)(C=h[x])&&(E=(b<3?C(E):b>3?C(c,d,E):C(c,d))||E);return b>3&&E&&Object.defineProperty(c,d,E),E},_=this&&this.__param||function(h,c){return function(d,y){c(d,y,h)}};Object.defineProperty(n,"__esModule",{value:!0}),n.CharacterJoinerService=n.JoinedCellData=void 0;const u=o(3734),m=o(643),w=o(511),S=o(2585);class v extends u.AttributeData{constructor(c,d,y){super(),this.content=0,this.combinedData="",this.fg=c.fg,this.bg=c.bg,this.combinedData=d,this._width=y}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(c){throw new Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}n.JoinedCellData=v;let a=n.CharacterJoinerService=class k_{constructor(c){this._bufferService=c,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new w.CellData}register(c){const d={id:this._nextCharacterJoinerId++,handler:c};return this._characterJoiners.push(d),d.id}deregister(c){for(let d=0;d<this._characterJoiners.length;d++)if(this._characterJoiners[d].id===c)return this._characterJoiners.splice(d,1),!0;return!1}getJoinedCharacters(c){if(this._characterJoiners.length===0)return[];const d=this._bufferService.buffer.lines.get(c);if(!d||d.length===0)return[];const y=[],C=d.translateToString(!0);let b=0,E=0,x=0,k=d.getFg(0),L=d.getBg(0);for(let I=0;I<d.getTrimmedLength();I++)if(d.loadCell(I,this._workCell),this._workCell.getWidth()!==0){if(this._workCell.fg!==k||this._workCell.bg!==L){if(I-b>1){const A=this._getJoinedRanges(C,x,E,d,b);for(let P=0;P<A.length;P++)y.push(A[P])}b=I,x=E,k=this._workCell.fg,L=this._workCell.bg}E+=this._workCell.getChars().length||m.WHITESPACE_CELL_CHAR.length}if(this._bufferService.cols-b>1){const I=this._getJoinedRanges(C,x,E,d,b);for(let A=0;A<I.length;A++)y.push(I[A])}return y}_getJoinedRanges(c,d,y,C,b){const E=c.substring(d,y);let x=[];try{x=this._characterJoiners[0].handler(E)}catch(k){console.error(k)}for(let k=1;k<this._characterJoiners.length;k++)try{const L=this._characterJoiners[k].handler(E);for(let I=0;I<L.length;I++)k_._mergeRanges(x,L[I])}catch(L){console.error(L)}return this._stringRangesToCellRanges(x,C,b),x}_stringRangesToCellRanges(c,d,y){let C=0,b=!1,E=0,x=c[C];if(x){for(let k=y;k<this._bufferService.cols;k++){const L=d.getWidth(k),I=d.getString(k).length||m.WHITESPACE_CELL_CHAR.length;if(L!==0){if(!b&&x[0]<=E&&(x[0]=k,b=!0),x[1]<=E){if(x[1]=k,x=c[++C],!x)break;x[0]<=E?(x[0]=k,b=!0):b=!1}E+=I}}x&&(x[1]=this._bufferService.cols)}}static _mergeRanges(c,d){let y=!1;for(let C=0;C<c.length;C++){const b=c[C];if(y){if(d[1]<=b[0])return c[C-1][1]=d[1],c;if(d[1]<=b[1])return c[C-1][1]=Math.max(d[1],b[1]),c.splice(C,1),c;c.splice(C,1),C--}else{if(d[1]<=b[0])return c.splice(C,0,d),c;if(d[1]<=b[1])return b[0]=Math.min(d[0],b[0]),c;d[0]<b[1]&&(b[0]=Math.min(d[0],b[0]),y=!0)}}return y?c[c.length-1][1]=d[1]:c.push(d),c}};n.CharacterJoinerService=a=f([_(0,S.IBufferService)],a)},5114:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.CoreBrowserService=void 0;const f=o(844),_=o(8460),u=o(3656);class m extends f.Disposable{constructor(v,a,h){super(),this._textarea=v,this._window=a,this.mainDocument=h,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=new w(this._window),this._onDprChange=this.register(new _.EventEmitter),this.onDprChange=this._onDprChange.event,this._onWindowChange=this.register(new _.EventEmitter),this.onWindowChange=this._onWindowChange.event,this.register(this.onWindowChange(c=>this._screenDprMonitor.setWindow(c))),this.register((0,_.forwardEvent)(this._screenDprMonitor.onDprChange,this._onDprChange)),this._textarea.addEventListener("focus",()=>this._isFocused=!0),this._textarea.addEventListener("blur",()=>this._isFocused=!1)}get window(){return this._window}set window(v){this._window!==v&&(this._window=v,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}}n.CoreBrowserService=m;class w extends f.Disposable{constructor(v){super(),this._parentWindow=v,this._windowResizeListener=this.register(new f.MutableDisposable),this._onDprChange=this.register(new _.EventEmitter),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this.register((0,f.toDisposable)(()=>this.clearListener()))}setWindow(v){this._parentWindow=v,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=(0,u.addDisposableDomListener)(this._parentWindow,"resize",()=>this._setDprAndFireIfDiffers())}_setDprAndFireIfDiffers(){this._parentWindow.devicePixelRatio!==this._currentDevicePixelRatio&&this._onDprChange.fire(this._parentWindow.devicePixelRatio),this._updateDpr()}_updateDpr(){var v;this._outerListener&&((v=this._resolutionMediaMatchList)==null||v.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)}}},779:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.LinkProviderService=void 0;const f=o(844);class _ extends f.Disposable{constructor(){super(),this.linkProviders=[],this.register((0,f.toDisposable)(()=>this.linkProviders.length=0))}registerLinkProvider(m){return this.linkProviders.push(m),{dispose:()=>{const w=this.linkProviders.indexOf(m);w!==-1&&this.linkProviders.splice(w,1)}}}}n.LinkProviderService=_},8934:function(p,n,o){var f=this&&this.__decorate||function(S,v,a,h){var c,d=arguments.length,y=d<3?v:h===null?h=Object.getOwnPropertyDescriptor(v,a):h;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")y=Reflect.decorate(S,v,a,h);else for(var C=S.length-1;C>=0;C--)(c=S[C])&&(y=(d<3?c(y):d>3?c(v,a,y):c(v,a))||y);return d>3&&y&&Object.defineProperty(v,a,y),y},_=this&&this.__param||function(S,v){return function(a,h){v(a,h,S)}};Object.defineProperty(n,"__esModule",{value:!0}),n.MouseService=void 0;const u=o(4725),m=o(9806);let w=n.MouseService=class{constructor(S,v){this._renderService=S,this._charSizeService=v}getCoords(S,v,a,h,c){return(0,m.getCoords)(window,S,v,a,h,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,c)}getMouseReportCoords(S,v){const a=(0,m.getCoordsRelativeToElement)(window,S,v);if(this._charSizeService.hasValidSize)return a[0]=Math.min(Math.max(a[0],0),this._renderService.dimensions.css.canvas.width-1),a[1]=Math.min(Math.max(a[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(a[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(a[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(a[0]),y:Math.floor(a[1])}}};n.MouseService=w=f([_(0,u.IRenderService),_(1,u.ICharSizeService)],w)},3230:function(p,n,o){var f=this&&this.__decorate||function(c,d,y,C){var b,E=arguments.length,x=E<3?d:C===null?C=Object.getOwnPropertyDescriptor(d,y):C;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")x=Reflect.decorate(c,d,y,C);else for(var k=c.length-1;k>=0;k--)(b=c[k])&&(x=(E<3?b(x):E>3?b(d,y,x):b(d,y))||x);return E>3&&x&&Object.defineProperty(d,y,x),x},_=this&&this.__param||function(c,d){return function(y,C){d(y,C,c)}};Object.defineProperty(n,"__esModule",{value:!0}),n.RenderService=void 0;const u=o(6193),m=o(4725),w=o(8460),S=o(844),v=o(7226),a=o(2585);let h=n.RenderService=class extends S.Disposable{get dimensions(){return this._renderer.value.dimensions}constructor(c,d,y,C,b,E,x,k){super(),this._rowCount=c,this._charSizeService=C,this._renderer=this.register(new S.MutableDisposable),this._pausedResizeTask=new v.DebouncedIdleTask,this._observerDisposable=this.register(new S.MutableDisposable),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 w.EventEmitter),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this.register(new w.EventEmitter),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this.register(new w.EventEmitter),this.onRender=this._onRender.event,this._onRefreshRequest=this.register(new w.EventEmitter),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new u.RenderDebouncer((L,I)=>this._renderRows(L,I),x),this.register(this._renderDebouncer),this.register(x.onDprChange(()=>this.handleDevicePixelRatioChange())),this.register(E.onResize(()=>this._fullRefresh())),this.register(E.buffers.onBufferActivate(()=>{var L;return(L=this._renderer.value)==null?void 0:L.clear()})),this.register(y.onOptionChange(()=>this._handleOptionsChanged())),this.register(this._charSizeService.onCharSizeChange(()=>this.handleCharSizeChanged())),this.register(b.onDecorationRegistered(()=>this._fullRefresh())),this.register(b.onDecorationRemoved(()=>this._fullRefresh())),this.register(y.onMultipleOptionChange(["customGlyphs","drawBoldTextInBrightColors","letterSpacing","lineHeight","fontFamily","fontSize","fontWeight","fontWeightBold","minimumContrastRatio","rescaleOverlappingGlyphs"],()=>{this.clear(),this.handleResize(E.cols,E.rows),this._fullRefresh()})),this.register(y.onMultipleOptionChange(["cursorBlink","cursorStyle"],()=>this.refreshRows(E.buffer.y,E.buffer.y,!0))),this.register(k.onChangeColors(()=>this._fullRefresh())),this._registerIntersectionObserver(x.window,d),this.register(x.onWindowChange(L=>this._registerIntersectionObserver(L,d)))}_registerIntersectionObserver(c,d){if("IntersectionObserver"in c){const y=new c.IntersectionObserver(C=>this._handleIntersectionChange(C[C.length-1]),{threshold:0});y.observe(d),this._observerDisposable.value=(0,S.toDisposable)(()=>y.disconnect())}}_handleIntersectionChange(c){this._isPaused=c.isIntersecting===void 0?c.intersectionRatio===0:!c.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(c,d,y=!1){this._isPaused?this._needsFullRefresh=!0:(y||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(c,d,this._rowCount))}_renderRows(c,d){this._renderer.value&&(c=Math.min(c,this._rowCount-1),d=Math.min(d,this._rowCount-1),this._renderer.value.renderRows(c,d),this._needsSelectionRefresh&&(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:c,end:d}),this._onRender.fire({start:c,end:d}),this._isNextRenderRedrawOnly=!0)}resize(c,d){this._rowCount=d,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(c){this._renderer.value=c,this._renderer.value&&(this._renderer.value.onRequestRedraw(d=>this.refreshRows(d.start,d.end,!0)),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(c){return this._renderDebouncer.addRefreshCallback(c)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){var c,d;this._renderer.value&&((d=(c=this._renderer.value).clearTextureAtlas)==null||d.call(c),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(c,d){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set(()=>{var y;return(y=this._renderer.value)==null?void 0:y.handleResize(c,d)}):this._renderer.value.handleResize(c,d),this._fullRefresh())}handleCharSizeChanged(){var c;(c=this._renderer.value)==null||c.handleCharSizeChanged()}handleBlur(){var c;(c=this._renderer.value)==null||c.handleBlur()}handleFocus(){var c;(c=this._renderer.value)==null||c.handleFocus()}handleSelectionChanged(c,d,y){var C;this._selectionState.start=c,this._selectionState.end=d,this._selectionState.columnSelectMode=y,(C=this._renderer.value)==null||C.handleSelectionChanged(c,d,y)}handleCursorMove(){var c;(c=this._renderer.value)==null||c.handleCursorMove()}clear(){var c;(c=this._renderer.value)==null||c.clear()}};n.RenderService=h=f([_(2,a.IOptionsService),_(3,m.ICharSizeService),_(4,a.IDecorationService),_(5,a.IBufferService),_(6,m.ICoreBrowserService),_(7,m.IThemeService)],h)},9312:function(p,n,o){var f=this&&this.__decorate||function(x,k,L,I){var A,P=arguments.length,j=P<3?k:I===null?I=Object.getOwnPropertyDescriptor(k,L):I;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")j=Reflect.decorate(x,k,L,I);else for(var W=x.length-1;W>=0;W--)(A=x[W])&&(j=(P<3?A(j):P>3?A(k,L,j):A(k,L))||j);return P>3&&j&&Object.defineProperty(k,L,j),j},_=this&&this.__param||function(x,k){return function(L,I){k(L,I,x)}};Object.defineProperty(n,"__esModule",{value:!0}),n.SelectionService=void 0;const u=o(9806),m=o(9504),w=o(456),S=o(4725),v=o(8460),a=o(844),h=o(6114),c=o(4841),d=o(511),y=o(2585),C=" ",b=new RegExp(C,"g");let E=n.SelectionService=class extends a.Disposable{constructor(x,k,L,I,A,P,j,W,z){super(),this._element=x,this._screenElement=k,this._linkifier=L,this._bufferService=I,this._coreService=A,this._mouseService=P,this._optionsService=j,this._renderService=W,this._coreBrowserService=z,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new d.CellData,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this.register(new v.EventEmitter),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this.register(new v.EventEmitter),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this.register(new v.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this.register(new v.EventEmitter),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=V=>this._handleMouseMove(V),this._mouseUpListener=V=>this._handleMouseUp(V),this._coreService.onUserInput(()=>{this.hasSelection&&this.clearSelection()}),this._trimListener=this._bufferService.buffer.lines.onTrim(V=>this._handleTrim(V)),this.register(this._bufferService.buffers.onBufferActivate(V=>this._handleBufferActivate(V))),this.enable(),this._model=new w.SelectionModel(this._bufferService),this._activeSelectionMode=0,this.register((0,a.toDisposable)(()=>{this._removeMouseDownListeners()}))}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(){const x=this._model.finalSelectionStart,k=this._model.finalSelectionEnd;return!(!x||!k||x[0]===k[0]&&x[1]===k[1])}get selectionText(){const x=this._model.finalSelectionStart,k=this._model.finalSelectionEnd;if(!x||!k)return"";const L=this._bufferService.buffer,I=[];if(this._activeSelectionMode===3){if(x[0]===k[0])return"";const A=x[0]<k[0]?x[0]:k[0],P=x[0]<k[0]?k[0]:x[0];for(let j=x[1];j<=k[1];j++){const W=L.translateBufferLineToString(j,!0,A,P);I.push(W)}}else{const A=x[1]===k[1]?k[0]:void 0;I.push(L.translateBufferLineToString(x[1],!0,x[0],A));for(let P=x[1]+1;P<=k[1]-1;P++){const j=L.lines.get(P),W=L.translateBufferLineToString(P,!0);j!=null&&j.isWrapped?I[I.length-1]+=W:I.push(W)}if(x[1]!==k[1]){const P=L.lines.get(k[1]),j=L.translateBufferLineToString(k[1],!0,0,k[0]);P&&P.isWrapped?I[I.length-1]+=j:I.push(j)}}return I.map(A=>A.replace(b," ")).join(h.isWindows?`\r
|
|
47
|
+
`:`
|
|
48
|
+
`)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(x){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh())),h.isLinux&&x&&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(x){const k=this._getMouseBufferCoords(x),L=this._model.finalSelectionStart,I=this._model.finalSelectionEnd;return!!(L&&I&&k)&&this._areCoordsInSelection(k,L,I)}isCellInSelection(x,k){const L=this._model.finalSelectionStart,I=this._model.finalSelectionEnd;return!(!L||!I)&&this._areCoordsInSelection([x,k],L,I)}_areCoordsInSelection(x,k,L){return x[1]>k[1]&&x[1]<L[1]||k[1]===L[1]&&x[1]===k[1]&&x[0]>=k[0]&&x[0]<L[0]||k[1]<L[1]&&x[1]===L[1]&&x[0]<L[0]||k[1]<L[1]&&x[1]===k[1]&&x[0]>=k[0]}_selectWordAtCursor(x,k){var A,P;const L=(P=(A=this._linkifier.currentLink)==null?void 0:A.link)==null?void 0:P.range;if(L)return this._model.selectionStart=[L.start.x-1,L.start.y-1],this._model.selectionStartLength=(0,c.getRangeLength)(L,this._bufferService.cols),this._model.selectionEnd=void 0,!0;const I=this._getMouseBufferCoords(x);return!!I&&(this._selectWordAt(I,k),this._model.selectionEnd=void 0,!0)}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(x,k){this._model.clearSelection(),x=Math.max(x,0),k=Math.min(k,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,x],this._model.selectionEnd=[this._bufferService.cols,k],this.refresh(),this._onSelectionChange.fire()}_handleTrim(x){this._model.handleTrim(x)&&this.refresh()}_getMouseBufferCoords(x){const k=this._mouseService.getCoords(x,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(k)return k[0]--,k[1]--,k[1]+=this._bufferService.buffer.ydisp,k}_getMouseEventScrollAmount(x){let k=(0,u.getCoordsRelativeToElement)(this._coreBrowserService.window,x,this._screenElement)[1];const L=this._renderService.dimensions.css.canvas.height;return k>=0&&k<=L?0:(k>L&&(k-=L),k=Math.min(Math.max(k,-50),50),k/=50,k/Math.abs(k)+Math.round(14*k))}shouldForceSelection(x){return h.isMac?x.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:x.shiftKey}handleMouseDown(x){if(this._mouseDownTimeStamp=x.timeStamp,(x.button!==2||!this.hasSelection)&&x.button===0){if(!this._enabled){if(!this.shouldForceSelection(x))return;x.stopPropagation()}x.preventDefault(),this._dragScrollAmount=0,this._enabled&&x.shiftKey?this._handleIncrementalClick(x):x.detail===1?this._handleSingleClick(x):x.detail===2?this._handleDoubleClick(x):x.detail===3&&this._handleTripleClick(x),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(),50)}_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(x){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(x))}_handleSingleClick(x){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(x)?3:0,this._model.selectionStart=this._getMouseBufferCoords(x),!this._model.selectionStart)return;this._model.selectionEnd=void 0;const k=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);k&&k.length!==this._model.selectionStart[0]&&k.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(x){this._selectWordAtCursor(x,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(x){const k=this._getMouseBufferCoords(x);k&&(this._activeSelectionMode=2,this._selectLineAt(k[1]))}shouldColumnSelect(x){return x.altKey&&!(h.isMac&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(x){if(x.stopImmediatePropagation(),!this._model.selectionStart)return;const k=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(x),!this._model.selectionEnd)return void this.refresh(!0);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(x),this._activeSelectionMode!==3&&(this._dragScrollAmount>0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));const L=this._bufferService.buffer;if(this._model.selectionEnd[1]<L.lines.length){const I=L.lines.get(this._model.selectionEnd[1]);I&&I.hasWidth(this._model.selectionEnd[0])===0&&this._model.selectionEnd[0]<this._bufferService.cols&&this._model.selectionEnd[0]++}k&&k[0]===this._model.selectionEnd[0]&&k[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});const x=this._bufferService.buffer;this._dragScrollAmount>0?(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(x.ydisp+this._bufferService.rows,x.lines.length-1)):(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=x.ydisp),this.refresh()}}_handleMouseUp(x){const k=x.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&k<500&&x.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){const L=this._mouseService.getCoords(x,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(L&&L[0]!==void 0&&L[1]!==void 0){const I=(0,m.moveToCellSequence)(L[0]-1,L[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(I,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){const x=this._model.finalSelectionStart,k=this._model.finalSelectionEnd,L=!(!x||!k||x[0]===k[0]&&x[1]===k[1]);L?x&&k&&(this._oldSelectionStart&&this._oldSelectionEnd&&x[0]===this._oldSelectionStart[0]&&x[1]===this._oldSelectionStart[1]&&k[0]===this._oldSelectionEnd[0]&&k[1]===this._oldSelectionEnd[1]||this._fireOnSelectionChange(x,k,L)):this._oldHasSelection&&this._fireOnSelectionChange(x,k,L)}_fireOnSelectionChange(x,k,L){this._oldSelectionStart=x,this._oldSelectionEnd=k,this._oldHasSelection=L,this._onSelectionChange.fire()}_handleBufferActivate(x){this.clearSelection(),this._trimListener.dispose(),this._trimListener=x.activeBuffer.lines.onTrim(k=>this._handleTrim(k))}_convertViewportColToCharacterIndex(x,k){let L=k;for(let I=0;k>=I;I++){const A=x.loadCell(I,this._workCell).getChars().length;this._workCell.getWidth()===0?L--:A>1&&k!==I&&(L+=A-1)}return L}setSelection(x,k,L){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[x,k],this._model.selectionStartLength=L,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(x){this._isClickInSelection(x)||(this._selectWordAtCursor(x,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(x,k,L=!0,I=!0){if(x[0]>=this._bufferService.cols)return;const A=this._bufferService.buffer,P=A.lines.get(x[1]);if(!P)return;const j=A.translateBufferLineToString(x[1],!1);let W=this._convertViewportColToCharacterIndex(P,x[0]),z=W;const V=x[0]-W;let $=0,R=0,O=0,D=0;if(j.charAt(W)===" "){for(;W>0&&j.charAt(W-1)===" ";)W--;for(;z<j.length&&j.charAt(z+1)===" ";)z++}else{let Q=x[0],ue=x[0];P.getWidth(Q)===0&&($++,Q--),P.getWidth(ue)===2&&(R++,ue++);const ie=P.getString(ue).length;for(ie>1&&(D+=ie-1,z+=ie-1);Q>0&&W>0&&!this._isCharWordSeparator(P.loadCell(Q-1,this._workCell));){P.loadCell(Q-1,this._workCell);const U=this._workCell.getChars().length;this._workCell.getWidth()===0?($++,Q--):U>1&&(O+=U-1,W-=U-1),W--,Q--}for(;ue<P.length&&z+1<j.length&&!this._isCharWordSeparator(P.loadCell(ue+1,this._workCell));){P.loadCell(ue+1,this._workCell);const U=this._workCell.getChars().length;this._workCell.getWidth()===2?(R++,ue++):U>1&&(D+=U-1,z+=U-1),z++,ue++}}z++;let H=W+V-$+O,X=Math.min(this._bufferService.cols,z-W+$+R-O-D);if(k||j.slice(W,z).trim()!==""){if(L&&H===0&&P.getCodePoint(0)!==32){const Q=A.lines.get(x[1]-1);if(Q&&P.isWrapped&&Q.getCodePoint(this._bufferService.cols-1)!==32){const ue=this._getWordAt([this._bufferService.cols-1,x[1]-1],!1,!0,!1);if(ue){const ie=this._bufferService.cols-ue.start;H-=ie,X+=ie}}}if(I&&H+X===this._bufferService.cols&&P.getCodePoint(this._bufferService.cols-1)!==32){const Q=A.lines.get(x[1]+1);if(Q!=null&&Q.isWrapped&&Q.getCodePoint(0)!==32){const ue=this._getWordAt([0,x[1]+1],!1,!1,!0);ue&&(X+=ue.length)}}return{start:H,length:X}}}_selectWordAt(x,k){const L=this._getWordAt(x,k);if(L){for(;L.start<0;)L.start+=this._bufferService.cols,x[1]--;this._model.selectionStart=[L.start,x[1]],this._model.selectionStartLength=L.length}}_selectToWordAt(x){const k=this._getWordAt(x,!0);if(k){let L=x[1];for(;k.start<0;)k.start+=this._bufferService.cols,L--;if(!this._model.areSelectionValuesReversed())for(;k.start+k.length>this._bufferService.cols;)k.length-=this._bufferService.cols,L++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?k.start:k.start+k.length,L]}}_isCharWordSeparator(x){return x.getWidth()!==0&&this._optionsService.rawOptions.wordSeparator.indexOf(x.getChars())>=0}_selectLineAt(x){const k=this._bufferService.buffer.getWrappedRangeForLine(x),L={start:{x:0,y:k.first},end:{x:this._bufferService.cols-1,y:k.last}};this._model.selectionStart=[0,k.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=(0,c.getRangeLength)(L,this._bufferService.cols)}};n.SelectionService=E=f([_(3,y.IBufferService),_(4,y.ICoreService),_(5,S.IMouseService),_(6,y.IOptionsService),_(7,S.IRenderService),_(8,S.ICoreBrowserService)],E)},4725:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.ILinkProviderService=n.IThemeService=n.ICharacterJoinerService=n.ISelectionService=n.IRenderService=n.IMouseService=n.ICoreBrowserService=n.ICharSizeService=void 0;const f=o(8343);n.ICharSizeService=(0,f.createDecorator)("CharSizeService"),n.ICoreBrowserService=(0,f.createDecorator)("CoreBrowserService"),n.IMouseService=(0,f.createDecorator)("MouseService"),n.IRenderService=(0,f.createDecorator)("RenderService"),n.ISelectionService=(0,f.createDecorator)("SelectionService"),n.ICharacterJoinerService=(0,f.createDecorator)("CharacterJoinerService"),n.IThemeService=(0,f.createDecorator)("ThemeService"),n.ILinkProviderService=(0,f.createDecorator)("LinkProviderService")},6731:function(p,n,o){var f=this&&this.__decorate||function(E,x,k,L){var I,A=arguments.length,P=A<3?x:L===null?L=Object.getOwnPropertyDescriptor(x,k):L;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")P=Reflect.decorate(E,x,k,L);else for(var j=E.length-1;j>=0;j--)(I=E[j])&&(P=(A<3?I(P):A>3?I(x,k,P):I(x,k))||P);return A>3&&P&&Object.defineProperty(x,k,P),P},_=this&&this.__param||function(E,x){return function(k,L){x(k,L,E)}};Object.defineProperty(n,"__esModule",{value:!0}),n.ThemeService=n.DEFAULT_ANSI_COLORS=void 0;const u=o(7239),m=o(8055),w=o(8460),S=o(844),v=o(2585),a=m.css.toColor("#ffffff"),h=m.css.toColor("#000000"),c=m.css.toColor("#ffffff"),d=m.css.toColor("#000000"),y={css:"rgba(255, 255, 255, 0.3)",rgba:4294967117};n.DEFAULT_ANSI_COLORS=Object.freeze((()=>{const E=[m.css.toColor("#2e3436"),m.css.toColor("#cc0000"),m.css.toColor("#4e9a06"),m.css.toColor("#c4a000"),m.css.toColor("#3465a4"),m.css.toColor("#75507b"),m.css.toColor("#06989a"),m.css.toColor("#d3d7cf"),m.css.toColor("#555753"),m.css.toColor("#ef2929"),m.css.toColor("#8ae234"),m.css.toColor("#fce94f"),m.css.toColor("#729fcf"),m.css.toColor("#ad7fa8"),m.css.toColor("#34e2e2"),m.css.toColor("#eeeeec")],x=[0,95,135,175,215,255];for(let k=0;k<216;k++){const L=x[k/36%6|0],I=x[k/6%6|0],A=x[k%6];E.push({css:m.channels.toCss(L,I,A),rgba:m.channels.toRgba(L,I,A)})}for(let k=0;k<24;k++){const L=8+10*k;E.push({css:m.channels.toCss(L,L,L),rgba:m.channels.toRgba(L,L,L)})}return E})());let C=n.ThemeService=class extends S.Disposable{get colors(){return this._colors}constructor(E){super(),this._optionsService=E,this._contrastCache=new u.ColorContrastCache,this._halfContrastCache=new u.ColorContrastCache,this._onChangeColors=this.register(new w.EventEmitter),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:a,background:h,cursor:c,cursorAccent:d,selectionForeground:void 0,selectionBackgroundTransparent:y,selectionBackgroundOpaque:m.color.blend(h,y),selectionInactiveBackgroundTransparent:y,selectionInactiveBackgroundOpaque:m.color.blend(h,y),ansi:n.DEFAULT_ANSI_COLORS.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)))}_setTheme(E={}){const x=this._colors;if(x.foreground=b(E.foreground,a),x.background=b(E.background,h),x.cursor=b(E.cursor,c),x.cursorAccent=b(E.cursorAccent,d),x.selectionBackgroundTransparent=b(E.selectionBackground,y),x.selectionBackgroundOpaque=m.color.blend(x.background,x.selectionBackgroundTransparent),x.selectionInactiveBackgroundTransparent=b(E.selectionInactiveBackground,x.selectionBackgroundTransparent),x.selectionInactiveBackgroundOpaque=m.color.blend(x.background,x.selectionInactiveBackgroundTransparent),x.selectionForeground=E.selectionForeground?b(E.selectionForeground,m.NULL_COLOR):void 0,x.selectionForeground===m.NULL_COLOR&&(x.selectionForeground=void 0),m.color.isOpaque(x.selectionBackgroundTransparent)&&(x.selectionBackgroundTransparent=m.color.opacity(x.selectionBackgroundTransparent,.3)),m.color.isOpaque(x.selectionInactiveBackgroundTransparent)&&(x.selectionInactiveBackgroundTransparent=m.color.opacity(x.selectionInactiveBackgroundTransparent,.3)),x.ansi=n.DEFAULT_ANSI_COLORS.slice(),x.ansi[0]=b(E.black,n.DEFAULT_ANSI_COLORS[0]),x.ansi[1]=b(E.red,n.DEFAULT_ANSI_COLORS[1]),x.ansi[2]=b(E.green,n.DEFAULT_ANSI_COLORS[2]),x.ansi[3]=b(E.yellow,n.DEFAULT_ANSI_COLORS[3]),x.ansi[4]=b(E.blue,n.DEFAULT_ANSI_COLORS[4]),x.ansi[5]=b(E.magenta,n.DEFAULT_ANSI_COLORS[5]),x.ansi[6]=b(E.cyan,n.DEFAULT_ANSI_COLORS[6]),x.ansi[7]=b(E.white,n.DEFAULT_ANSI_COLORS[7]),x.ansi[8]=b(E.brightBlack,n.DEFAULT_ANSI_COLORS[8]),x.ansi[9]=b(E.brightRed,n.DEFAULT_ANSI_COLORS[9]),x.ansi[10]=b(E.brightGreen,n.DEFAULT_ANSI_COLORS[10]),x.ansi[11]=b(E.brightYellow,n.DEFAULT_ANSI_COLORS[11]),x.ansi[12]=b(E.brightBlue,n.DEFAULT_ANSI_COLORS[12]),x.ansi[13]=b(E.brightMagenta,n.DEFAULT_ANSI_COLORS[13]),x.ansi[14]=b(E.brightCyan,n.DEFAULT_ANSI_COLORS[14]),x.ansi[15]=b(E.brightWhite,n.DEFAULT_ANSI_COLORS[15]),E.extendedAnsi){const k=Math.min(x.ansi.length-16,E.extendedAnsi.length);for(let L=0;L<k;L++)x.ansi[L+16]=b(E.extendedAnsi[L],n.DEFAULT_ANSI_COLORS[L+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)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]}else for(let x=0;x<this._restoreColors.ansi.length;++x)this._colors.ansi[x]=this._restoreColors.ansi[x]}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()}}};function b(E,x){if(E!==void 0)try{return m.css.toColor(E)}catch{}return x}n.ThemeService=C=f([_(0,v.IOptionsService)],C)},6349:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.CircularList=void 0;const f=o(8460),_=o(844);class u extends _.Disposable{constructor(w){super(),this._maxLength=w,this.onDeleteEmitter=this.register(new f.EventEmitter),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this.register(new f.EventEmitter),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this.register(new f.EventEmitter),this.onTrim=this.onTrimEmitter.event,this._array=new Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(w){if(this._maxLength===w)return;const S=new Array(w);for(let v=0;v<Math.min(w,this.length);v++)S[v]=this._array[this._getCyclicIndex(v)];this._array=S,this._maxLength=w,this._startIndex=0}get length(){return this._length}set length(w){if(w>this._length)for(let S=this._length;S<w;S++)this._array[S]=void 0;this._length=w}get(w){return this._array[this._getCyclicIndex(w)]}set(w,S){this._array[this._getCyclicIndex(w)]=S}push(w){this._array[this._getCyclicIndex(this._length)]=w,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(w,S,...v){if(S){for(let a=w;a<this._length-S;a++)this._array[this._getCyclicIndex(a)]=this._array[this._getCyclicIndex(a+S)];this._length-=S,this.onDeleteEmitter.fire({index:w,amount:S})}for(let a=this._length-1;a>=w;a--)this._array[this._getCyclicIndex(a+v.length)]=this._array[this._getCyclicIndex(a)];for(let a=0;a<v.length;a++)this._array[this._getCyclicIndex(w+a)]=v[a];if(v.length&&this.onInsertEmitter.fire({index:w,amount:v.length}),this._length+v.length>this._maxLength){const a=this._length+v.length-this._maxLength;this._startIndex+=a,this._length=this._maxLength,this.onTrimEmitter.fire(a)}else this._length+=v.length}trimStart(w){w>this._length&&(w=this._length),this._startIndex+=w,this._length-=w,this.onTrimEmitter.fire(w)}shiftElements(w,S,v){if(!(S<=0)){if(w<0||w>=this._length)throw new Error("start argument out of range");if(w+v<0)throw new Error("Cannot shift elements in list beyond index 0");if(v>0){for(let h=S-1;h>=0;h--)this.set(w+h+v,this.get(w+h));const a=w+S+v-this._length;if(a>0)for(this._length+=a;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let a=0;a<S;a++)this.set(w+a+v,this.get(w+a))}}_getCyclicIndex(w){return(this._startIndex+w)%this._maxLength}}n.CircularList=u},1439:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.clone=void 0,n.clone=function o(f,_=5){if(typeof f!="object")return f;const u=Array.isArray(f)?[]:{};for(const m in f)u[m]=_<=1?f[m]:f[m]&&o(f[m],_-1);return u}},8055:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.contrastRatio=n.toPaddedHex=n.rgba=n.rgb=n.css=n.color=n.channels=n.NULL_COLOR=void 0;let o=0,f=0,_=0,u=0;var m,w,S,v,a;function h(d){const y=d.toString(16);return y.length<2?"0"+y:y}function c(d,y){return d<y?(y+.05)/(d+.05):(d+.05)/(y+.05)}n.NULL_COLOR={css:"#00000000",rgba:0},function(d){d.toCss=function(y,C,b,E){return E!==void 0?`#${h(y)}${h(C)}${h(b)}${h(E)}`:`#${h(y)}${h(C)}${h(b)}`},d.toRgba=function(y,C,b,E=255){return(y<<24|C<<16|b<<8|E)>>>0},d.toColor=function(y,C,b,E){return{css:d.toCss(y,C,b,E),rgba:d.toRgba(y,C,b,E)}}}(m||(n.channels=m={})),function(d){function y(C,b){return u=Math.round(255*b),[o,f,_]=a.toChannels(C.rgba),{css:m.toCss(o,f,_,u),rgba:m.toRgba(o,f,_,u)}}d.blend=function(C,b){if(u=(255&b.rgba)/255,u===1)return{css:b.css,rgba:b.rgba};const E=b.rgba>>24&255,x=b.rgba>>16&255,k=b.rgba>>8&255,L=C.rgba>>24&255,I=C.rgba>>16&255,A=C.rgba>>8&255;return o=L+Math.round((E-L)*u),f=I+Math.round((x-I)*u),_=A+Math.round((k-A)*u),{css:m.toCss(o,f,_),rgba:m.toRgba(o,f,_)}},d.isOpaque=function(C){return(255&C.rgba)==255},d.ensureContrastRatio=function(C,b,E){const x=a.ensureContrastRatio(C.rgba,b.rgba,E);if(x)return m.toColor(x>>24&255,x>>16&255,x>>8&255)},d.opaque=function(C){const b=(255|C.rgba)>>>0;return[o,f,_]=a.toChannels(b),{css:m.toCss(o,f,_),rgba:b}},d.opacity=y,d.multiplyOpacity=function(C,b){return u=255&C.rgba,y(C,u*b/255)},d.toColorRGB=function(C){return[C.rgba>>24&255,C.rgba>>16&255,C.rgba>>8&255]}}(w||(n.color=w={})),function(d){let y,C;try{const b=document.createElement("canvas");b.width=1,b.height=1;const E=b.getContext("2d",{willReadFrequently:!0});E&&(y=E,y.globalCompositeOperation="copy",C=y.createLinearGradient(0,0,1,1))}catch{}d.toColor=function(b){if(b.match(/#[\da-f]{3,8}/i))switch(b.length){case 4:return o=parseInt(b.slice(1,2).repeat(2),16),f=parseInt(b.slice(2,3).repeat(2),16),_=parseInt(b.slice(3,4).repeat(2),16),m.toColor(o,f,_);case 5:return o=parseInt(b.slice(1,2).repeat(2),16),f=parseInt(b.slice(2,3).repeat(2),16),_=parseInt(b.slice(3,4).repeat(2),16),u=parseInt(b.slice(4,5).repeat(2),16),m.toColor(o,f,_,u);case 7:return{css:b,rgba:(parseInt(b.slice(1),16)<<8|255)>>>0};case 9:return{css:b,rgba:parseInt(b.slice(1),16)>>>0}}const E=b.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(E)return o=parseInt(E[1]),f=parseInt(E[2]),_=parseInt(E[3]),u=Math.round(255*(E[5]===void 0?1:parseFloat(E[5]))),m.toColor(o,f,_,u);if(!y||!C)throw new Error("css.toColor: Unsupported css format");if(y.fillStyle=C,y.fillStyle=b,typeof y.fillStyle!="string")throw new Error("css.toColor: Unsupported css format");if(y.fillRect(0,0,1,1),[o,f,_,u]=y.getImageData(0,0,1,1).data,u!==255)throw new Error("css.toColor: Unsupported css format");return{rgba:m.toRgba(o,f,_,u),css:b}}}(S||(n.css=S={})),function(d){function y(C,b,E){const x=C/255,k=b/255,L=E/255;return .2126*(x<=.03928?x/12.92:Math.pow((x+.055)/1.055,2.4))+.7152*(k<=.03928?k/12.92:Math.pow((k+.055)/1.055,2.4))+.0722*(L<=.03928?L/12.92:Math.pow((L+.055)/1.055,2.4))}d.relativeLuminance=function(C){return y(C>>16&255,C>>8&255,255&C)},d.relativeLuminance2=y}(v||(n.rgb=v={})),function(d){function y(b,E,x){const k=b>>24&255,L=b>>16&255,I=b>>8&255;let A=E>>24&255,P=E>>16&255,j=E>>8&255,W=c(v.relativeLuminance2(A,P,j),v.relativeLuminance2(k,L,I));for(;W<x&&(A>0||P>0||j>0);)A-=Math.max(0,Math.ceil(.1*A)),P-=Math.max(0,Math.ceil(.1*P)),j-=Math.max(0,Math.ceil(.1*j)),W=c(v.relativeLuminance2(A,P,j),v.relativeLuminance2(k,L,I));return(A<<24|P<<16|j<<8|255)>>>0}function C(b,E,x){const k=b>>24&255,L=b>>16&255,I=b>>8&255;let A=E>>24&255,P=E>>16&255,j=E>>8&255,W=c(v.relativeLuminance2(A,P,j),v.relativeLuminance2(k,L,I));for(;W<x&&(A<255||P<255||j<255);)A=Math.min(255,A+Math.ceil(.1*(255-A))),P=Math.min(255,P+Math.ceil(.1*(255-P))),j=Math.min(255,j+Math.ceil(.1*(255-j))),W=c(v.relativeLuminance2(A,P,j),v.relativeLuminance2(k,L,I));return(A<<24|P<<16|j<<8|255)>>>0}d.blend=function(b,E){if(u=(255&E)/255,u===1)return E;const x=E>>24&255,k=E>>16&255,L=E>>8&255,I=b>>24&255,A=b>>16&255,P=b>>8&255;return o=I+Math.round((x-I)*u),f=A+Math.round((k-A)*u),_=P+Math.round((L-P)*u),m.toRgba(o,f,_)},d.ensureContrastRatio=function(b,E,x){const k=v.relativeLuminance(b>>8),L=v.relativeLuminance(E>>8);if(c(k,L)<x){if(L<k){const P=y(b,E,x),j=c(k,v.relativeLuminance(P>>8));if(j<x){const W=C(b,E,x);return j>c(k,v.relativeLuminance(W>>8))?P:W}return P}const I=C(b,E,x),A=c(k,v.relativeLuminance(I>>8));if(A<x){const P=y(b,E,x);return A>c(k,v.relativeLuminance(P>>8))?I:P}return I}},d.reduceLuminance=y,d.increaseLuminance=C,d.toChannels=function(b){return[b>>24&255,b>>16&255,b>>8&255,255&b]}}(a||(n.rgba=a={})),n.toPaddedHex=h,n.contrastRatio=c},8969:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.CoreTerminal=void 0;const f=o(844),_=o(2585),u=o(4348),m=o(7866),w=o(744),S=o(7302),v=o(6975),a=o(8460),h=o(1753),c=o(1480),d=o(7994),y=o(9282),C=o(5435),b=o(5981),E=o(2660);let x=!1;class k extends f.Disposable{get onScroll(){return this._onScrollApi||(this._onScrollApi=this.register(new a.EventEmitter),this._onScroll.event(I=>{var A;(A=this._onScrollApi)==null||A.fire(I.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(I){for(const A in I)this.optionsService.options[A]=I[A]}constructor(I){super(),this._windowsWrappingHeuristics=this.register(new f.MutableDisposable),this._onBinary=this.register(new a.EventEmitter),this.onBinary=this._onBinary.event,this._onData=this.register(new a.EventEmitter),this.onData=this._onData.event,this._onLineFeed=this.register(new a.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onResize=this.register(new a.EventEmitter),this.onResize=this._onResize.event,this._onWriteParsed=this.register(new a.EventEmitter),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this.register(new a.EventEmitter),this._instantiationService=new u.InstantiationService,this.optionsService=this.register(new S.OptionsService(I)),this._instantiationService.setService(_.IOptionsService,this.optionsService),this._bufferService=this.register(this._instantiationService.createInstance(w.BufferService)),this._instantiationService.setService(_.IBufferService,this._bufferService),this._logService=this.register(this._instantiationService.createInstance(m.LogService)),this._instantiationService.setService(_.ILogService,this._logService),this.coreService=this.register(this._instantiationService.createInstance(v.CoreService)),this._instantiationService.setService(_.ICoreService,this.coreService),this.coreMouseService=this.register(this._instantiationService.createInstance(h.CoreMouseService)),this._instantiationService.setService(_.ICoreMouseService,this.coreMouseService),this.unicodeService=this.register(this._instantiationService.createInstance(c.UnicodeService)),this._instantiationService.setService(_.IUnicodeService,this.unicodeService),this._charsetService=this._instantiationService.createInstance(d.CharsetService),this._instantiationService.setService(_.ICharsetService,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(E.OscLinkService),this._instantiationService.setService(_.IOscLinkService,this._oscLinkService),this._inputHandler=this.register(new C.InputHandler(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this.register((0,a.forwardEvent)(this._inputHandler.onLineFeed,this._onLineFeed)),this.register(this._inputHandler),this.register((0,a.forwardEvent)(this._bufferService.onResize,this._onResize)),this.register((0,a.forwardEvent)(this.coreService.onData,this._onData)),this.register((0,a.forwardEvent)(this.coreService.onBinary,this._onBinary)),this.register(this.coreService.onRequestScrollToBottom(()=>this.scrollToBottom())),this.register(this.coreService.onUserInput(()=>this._writeBuffer.handleUserInput())),this.register(this.optionsService.onMultipleOptionChange(["windowsMode","windowsPty"],()=>this._handleWindowsPtyOptionChange())),this.register(this._bufferService.onScroll(A=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this.register(this._inputHandler.onScroll(A=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this._writeBuffer=this.register(new b.WriteBuffer((A,P)=>this._inputHandler.parse(A,P))),this.register((0,a.forwardEvent)(this._writeBuffer.onWriteParsed,this._onWriteParsed))}write(I,A){this._writeBuffer.write(I,A)}writeSync(I,A){this._logService.logLevel<=_.LogLevelEnum.WARN&&!x&&(this._logService.warn("writeSync is unreliable and will be removed soon."),x=!0),this._writeBuffer.writeSync(I,A)}input(I,A=!0){this.coreService.triggerDataEvent(I,A)}resize(I,A){isNaN(I)||isNaN(A)||(I=Math.max(I,w.MINIMUM_COLS),A=Math.max(A,w.MINIMUM_ROWS),this._bufferService.resize(I,A))}scroll(I,A=!1){this._bufferService.scroll(I,A)}scrollLines(I,A,P){this._bufferService.scrollLines(I,A,P)}scrollPages(I){this.scrollLines(I*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(I){const A=I-this._bufferService.buffer.ydisp;A!==0&&this.scrollLines(A)}registerEscHandler(I,A){return this._inputHandler.registerEscHandler(I,A)}registerDcsHandler(I,A){return this._inputHandler.registerDcsHandler(I,A)}registerCsiHandler(I,A){return this._inputHandler.registerCsiHandler(I,A)}registerOscHandler(I,A){return this._inputHandler.registerOscHandler(I,A)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let I=!1;const A=this.optionsService.rawOptions.windowsPty;A&&A.buildNumber!==void 0&&A.buildNumber!==void 0?I=A.backend==="conpty"&&A.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(I=!0),I?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){const I=[];I.push(this.onLineFeed(y.updateWindowsModeWrappedState.bind(null,this._bufferService))),I.push(this.registerCsiHandler({final:"H"},()=>((0,y.updateWindowsModeWrappedState)(this._bufferService),!1))),this._windowsWrappingHeuristics.value=(0,f.toDisposable)(()=>{for(const A of I)A.dispose()})}}}n.CoreTerminal=k},8460:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.runAndSubscribe=n.forwardEvent=n.EventEmitter=void 0,n.EventEmitter=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event||(this._event=o=>(this._listeners.push(o),{dispose:()=>{if(!this._disposed){for(let f=0;f<this._listeners.length;f++)if(this._listeners[f]===o)return void this._listeners.splice(f,1)}}})),this._event}fire(o,f){const _=[];for(let u=0;u<this._listeners.length;u++)_.push(this._listeners[u]);for(let u=0;u<_.length;u++)_[u].call(void 0,o,f)}dispose(){this.clearListeners(),this._disposed=!0}clearListeners(){this._listeners&&(this._listeners.length=0)}},n.forwardEvent=function(o,f){return o(_=>f.fire(_))},n.runAndSubscribe=function(o,f){return f(void 0),o(_=>f(_))}},5435:function(p,n,o){var f=this&&this.__decorate||function($,R,O,D){var H,X=arguments.length,Q=X<3?R:D===null?D=Object.getOwnPropertyDescriptor(R,O):D;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")Q=Reflect.decorate($,R,O,D);else for(var ue=$.length-1;ue>=0;ue--)(H=$[ue])&&(Q=(X<3?H(Q):X>3?H(R,O,Q):H(R,O))||Q);return X>3&&Q&&Object.defineProperty(R,O,Q),Q},_=this&&this.__param||function($,R){return function(O,D){R(O,D,$)}};Object.defineProperty(n,"__esModule",{value:!0}),n.InputHandler=n.WindowsOptionsReportType=void 0;const u=o(2584),m=o(7116),w=o(2015),S=o(844),v=o(482),a=o(8437),h=o(8460),c=o(643),d=o(511),y=o(3734),C=o(2585),b=o(1480),E=o(6242),x=o(6351),k=o(5941),L={"(":0,")":1,"*":2,"+":3,"-":1,".":2},I=131072;function A($,R){if($>24)return R.setWinLines||!1;switch($){case 1:return!!R.restoreWin;case 2:return!!R.minimizeWin;case 3:return!!R.setWinPosition;case 4:return!!R.setWinSizePixels;case 5:return!!R.raiseWin;case 6:return!!R.lowerWin;case 7:return!!R.refreshWin;case 8:return!!R.setWinSizeChars;case 9:return!!R.maximizeWin;case 10:return!!R.fullscreenWin;case 11:return!!R.getWinState;case 13:return!!R.getWinPosition;case 14:return!!R.getWinSizePixels;case 15:return!!R.getScreenSizePixels;case 16:return!!R.getCellSizePixels;case 18:return!!R.getWinSizeChars;case 19:return!!R.getScreenSizeChars;case 20:return!!R.getIconTitle;case 21:return!!R.getWinTitle;case 22:return!!R.pushTitle;case 23:return!!R.popTitle;case 24:return!!R.setWinLines}return!1}var P;(function($){$[$.GET_WIN_SIZE_PIXELS=0]="GET_WIN_SIZE_PIXELS",$[$.GET_CELL_SIZE_PIXELS=1]="GET_CELL_SIZE_PIXELS"})(P||(n.WindowsOptionsReportType=P={}));let j=0;class W extends S.Disposable{getAttrData(){return this._curAttrData}constructor(R,O,D,H,X,Q,ue,ie,U=new w.EscapeSequenceParser){super(),this._bufferService=R,this._charsetService=O,this._coreService=D,this._logService=H,this._optionsService=X,this._oscLinkService=Q,this._coreMouseService=ue,this._unicodeService=ie,this._parser=U,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new v.StringToUtf32,this._utf8Decoder=new v.Utf8ToUtf32,this._workCell=new d.CellData,this._windowTitle="",this._iconName="",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=a.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=a.DEFAULT_ATTR_DATA.clone(),this._onRequestBell=this.register(new h.EventEmitter),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this.register(new h.EventEmitter),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this.register(new h.EventEmitter),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this.register(new h.EventEmitter),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this.register(new h.EventEmitter),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this.register(new h.EventEmitter),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this.register(new h.EventEmitter),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this.register(new h.EventEmitter),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this.register(new h.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this.register(new h.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onScroll=this.register(new h.EventEmitter),this.onScroll=this._onScroll.event,this._onTitleChange=this.register(new h.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onColor=this.register(new h.EventEmitter),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 z(this._bufferService),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate(M=>this._activeBuffer=M.activeBuffer)),this._parser.setCsiHandlerFallback((M,Y)=>{this._logService.debug("Unknown CSI code: ",{identifier:this._parser.identToString(M),params:Y.toArray()})}),this._parser.setEscHandlerFallback(M=>{this._logService.debug("Unknown ESC code: ",{identifier:this._parser.identToString(M)})}),this._parser.setExecuteHandlerFallback(M=>{this._logService.debug("Unknown EXECUTE code: ",{code:M})}),this._parser.setOscHandlerFallback((M,Y,G)=>{this._logService.debug("Unknown OSC code: ",{identifier:M,action:Y,data:G})}),this._parser.setDcsHandlerFallback((M,Y,G)=>{Y==="HOOK"&&(G=G.toArray()),this._logService.debug("Unknown DCS code: ",{identifier:this._parser.identToString(M),action:Y,payload:G})}),this._parser.setPrintHandler((M,Y,G)=>this.print(M,Y,G)),this._parser.registerCsiHandler({final:"@"},M=>this.insertChars(M)),this._parser.registerCsiHandler({intermediates:" ",final:"@"},M=>this.scrollLeft(M)),this._parser.registerCsiHandler({final:"A"},M=>this.cursorUp(M)),this._parser.registerCsiHandler({intermediates:" ",final:"A"},M=>this.scrollRight(M)),this._parser.registerCsiHandler({final:"B"},M=>this.cursorDown(M)),this._parser.registerCsiHandler({final:"C"},M=>this.cursorForward(M)),this._parser.registerCsiHandler({final:"D"},M=>this.cursorBackward(M)),this._parser.registerCsiHandler({final:"E"},M=>this.cursorNextLine(M)),this._parser.registerCsiHandler({final:"F"},M=>this.cursorPrecedingLine(M)),this._parser.registerCsiHandler({final:"G"},M=>this.cursorCharAbsolute(M)),this._parser.registerCsiHandler({final:"H"},M=>this.cursorPosition(M)),this._parser.registerCsiHandler({final:"I"},M=>this.cursorForwardTab(M)),this._parser.registerCsiHandler({final:"J"},M=>this.eraseInDisplay(M,!1)),this._parser.registerCsiHandler({prefix:"?",final:"J"},M=>this.eraseInDisplay(M,!0)),this._parser.registerCsiHandler({final:"K"},M=>this.eraseInLine(M,!1)),this._parser.registerCsiHandler({prefix:"?",final:"K"},M=>this.eraseInLine(M,!0)),this._parser.registerCsiHandler({final:"L"},M=>this.insertLines(M)),this._parser.registerCsiHandler({final:"M"},M=>this.deleteLines(M)),this._parser.registerCsiHandler({final:"P"},M=>this.deleteChars(M)),this._parser.registerCsiHandler({final:"S"},M=>this.scrollUp(M)),this._parser.registerCsiHandler({final:"T"},M=>this.scrollDown(M)),this._parser.registerCsiHandler({final:"X"},M=>this.eraseChars(M)),this._parser.registerCsiHandler({final:"Z"},M=>this.cursorBackwardTab(M)),this._parser.registerCsiHandler({final:"`"},M=>this.charPosAbsolute(M)),this._parser.registerCsiHandler({final:"a"},M=>this.hPositionRelative(M)),this._parser.registerCsiHandler({final:"b"},M=>this.repeatPrecedingCharacter(M)),this._parser.registerCsiHandler({final:"c"},M=>this.sendDeviceAttributesPrimary(M)),this._parser.registerCsiHandler({prefix:">",final:"c"},M=>this.sendDeviceAttributesSecondary(M)),this._parser.registerCsiHandler({final:"d"},M=>this.linePosAbsolute(M)),this._parser.registerCsiHandler({final:"e"},M=>this.vPositionRelative(M)),this._parser.registerCsiHandler({final:"f"},M=>this.hVPosition(M)),this._parser.registerCsiHandler({final:"g"},M=>this.tabClear(M)),this._parser.registerCsiHandler({final:"h"},M=>this.setMode(M)),this._parser.registerCsiHandler({prefix:"?",final:"h"},M=>this.setModePrivate(M)),this._parser.registerCsiHandler({final:"l"},M=>this.resetMode(M)),this._parser.registerCsiHandler({prefix:"?",final:"l"},M=>this.resetModePrivate(M)),this._parser.registerCsiHandler({final:"m"},M=>this.charAttributes(M)),this._parser.registerCsiHandler({final:"n"},M=>this.deviceStatus(M)),this._parser.registerCsiHandler({prefix:"?",final:"n"},M=>this.deviceStatusPrivate(M)),this._parser.registerCsiHandler({intermediates:"!",final:"p"},M=>this.softReset(M)),this._parser.registerCsiHandler({intermediates:" ",final:"q"},M=>this.setCursorStyle(M)),this._parser.registerCsiHandler({final:"r"},M=>this.setScrollRegion(M)),this._parser.registerCsiHandler({final:"s"},M=>this.saveCursor(M)),this._parser.registerCsiHandler({final:"t"},M=>this.windowOptions(M)),this._parser.registerCsiHandler({final:"u"},M=>this.restoreCursor(M)),this._parser.registerCsiHandler({intermediates:"'",final:"}"},M=>this.insertColumns(M)),this._parser.registerCsiHandler({intermediates:"'",final:"~"},M=>this.deleteColumns(M)),this._parser.registerCsiHandler({intermediates:'"',final:"q"},M=>this.selectProtected(M)),this._parser.registerCsiHandler({intermediates:"$",final:"p"},M=>this.requestMode(M,!0)),this._parser.registerCsiHandler({prefix:"?",intermediates:"$",final:"p"},M=>this.requestMode(M,!1)),this._parser.setExecuteHandler(u.C0.BEL,()=>this.bell()),this._parser.setExecuteHandler(u.C0.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(u.C0.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(u.C0.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(u.C0.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(u.C0.BS,()=>this.backspace()),this._parser.setExecuteHandler(u.C0.HT,()=>this.tab()),this._parser.setExecuteHandler(u.C0.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(u.C0.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(u.C1.IND,()=>this.index()),this._parser.setExecuteHandler(u.C1.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(u.C1.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new E.OscHandler(M=>(this.setTitle(M),this.setIconName(M),!0))),this._parser.registerOscHandler(1,new E.OscHandler(M=>this.setIconName(M))),this._parser.registerOscHandler(2,new E.OscHandler(M=>this.setTitle(M))),this._parser.registerOscHandler(4,new E.OscHandler(M=>this.setOrReportIndexedColor(M))),this._parser.registerOscHandler(8,new E.OscHandler(M=>this.setHyperlink(M))),this._parser.registerOscHandler(10,new E.OscHandler(M=>this.setOrReportFgColor(M))),this._parser.registerOscHandler(11,new E.OscHandler(M=>this.setOrReportBgColor(M))),this._parser.registerOscHandler(12,new E.OscHandler(M=>this.setOrReportCursorColor(M))),this._parser.registerOscHandler(104,new E.OscHandler(M=>this.restoreIndexedColor(M))),this._parser.registerOscHandler(110,new E.OscHandler(M=>this.restoreFgColor(M))),this._parser.registerOscHandler(111,new E.OscHandler(M=>this.restoreBgColor(M))),this._parser.registerOscHandler(112,new E.OscHandler(M=>this.restoreCursorColor(M))),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(const M in m.CHARSETS)this._parser.registerEscHandler({intermediates:"(",final:M},()=>this.selectCharset("("+M)),this._parser.registerEscHandler({intermediates:")",final:M},()=>this.selectCharset(")"+M)),this._parser.registerEscHandler({intermediates:"*",final:M},()=>this.selectCharset("*"+M)),this._parser.registerEscHandler({intermediates:"+",final:M},()=>this.selectCharset("+"+M)),this._parser.registerEscHandler({intermediates:"-",final:M},()=>this.selectCharset("-"+M)),this._parser.registerEscHandler({intermediates:".",final:M},()=>this.selectCharset("."+M)),this._parser.registerEscHandler({intermediates:"/",final:M},()=>this.selectCharset("/"+M));this._parser.registerEscHandler({intermediates:"#",final:"8"},()=>this.screenAlignmentPattern()),this._parser.setErrorHandler(M=>(this._logService.error("Parsing error: ",M),M)),this._parser.registerDcsHandler({intermediates:"$",final:"q"},new x.DcsHandler((M,Y)=>this.requestStatusString(M,Y)))}_preserveStack(R,O,D,H){this._parseStack.paused=!0,this._parseStack.cursorStartX=R,this._parseStack.cursorStartY=O,this._parseStack.decodedLength=D,this._parseStack.position=H}_logSlowResolvingAsync(R){this._logService.logLevel<=C.LogLevelEnum.WARN&&Promise.race([R,new Promise((O,D)=>setTimeout(()=>D("#SLOW_TIMEOUT"),5e3))]).catch(O=>{if(O!=="#SLOW_TIMEOUT")throw O;console.warn("async parser handler taking longer than 5000 ms")})}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(R,O){let D,H=this._activeBuffer.x,X=this._activeBuffer.y,Q=0;const ue=this._parseStack.paused;if(ue){if(D=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,O))return this._logSlowResolvingAsync(D),D;H=this._parseStack.cursorStartX,X=this._parseStack.cursorStartY,this._parseStack.paused=!1,R.length>I&&(Q=this._parseStack.position+I)}if(this._logService.logLevel<=C.LogLevelEnum.DEBUG&&this._logService.debug("parsing data"+(typeof R=="string"?` "${R}"`:` "${Array.prototype.map.call(R,M=>String.fromCharCode(M)).join("")}"`),typeof R=="string"?R.split("").map(M=>M.charCodeAt(0)):R),this._parseBuffer.length<R.length&&this._parseBuffer.length<I&&(this._parseBuffer=new Uint32Array(Math.min(R.length,I))),ue||this._dirtyRowTracker.clearRange(),R.length>I)for(let M=Q;M<R.length;M+=I){const Y=M+I<R.length?M+I:R.length,G=typeof R=="string"?this._stringDecoder.decode(R.substring(M,Y),this._parseBuffer):this._utf8Decoder.decode(R.subarray(M,Y),this._parseBuffer);if(D=this._parser.parse(this._parseBuffer,G))return this._preserveStack(H,X,G,M),this._logSlowResolvingAsync(D),D}else if(!ue){const M=typeof R=="string"?this._stringDecoder.decode(R,this._parseBuffer):this._utf8Decoder.decode(R,this._parseBuffer);if(D=this._parser.parse(this._parseBuffer,M))return this._preserveStack(H,X,M,0),this._logSlowResolvingAsync(D),D}this._activeBuffer.x===H&&this._activeBuffer.y===X||this._onCursorMove.fire();const ie=this._dirtyRowTracker.end+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp),U=this._dirtyRowTracker.start+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp);U<this._bufferService.rows&&this._onRequestRefreshRows.fire(Math.min(U,this._bufferService.rows-1),Math.min(ie,this._bufferService.rows-1))}print(R,O,D){let H,X;const Q=this._charsetService.charset,ue=this._optionsService.rawOptions.screenReaderMode,ie=this._bufferService.cols,U=this._coreService.decPrivateModes.wraparound,M=this._coreService.modes.insertMode,Y=this._curAttrData;let G=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&D-O>0&&G.getWidth(this._activeBuffer.x-1)===2&&G.setCellFromCodepoint(this._activeBuffer.x-1,0,1,Y);let re=this._parser.precedingJoinState;for(let se=O;se<D;++se){if(H=R[se],H<127&&Q){const Ue=Q[String.fromCharCode(H)];Ue&&(H=Ue.charCodeAt(0))}const pe=this._unicodeService.charProperties(H,re);X=b.UnicodeService.extractWidth(pe);const fe=b.UnicodeService.extractShouldJoin(pe),Ce=fe?b.UnicodeService.extractWidth(re):0;if(re=pe,ue&&this._onA11yChar.fire((0,v.stringFromCodePoint)(H)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),this._activeBuffer.x+X-Ce>ie){if(U){const Ue=G;let ge=this._activeBuffer.x-Ce;for(this._activeBuffer.x=Ce,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),G=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),Ce>0&&G instanceof a.BufferLine&&G.copyCellsFrom(Ue,ge,0,Ce,!1);ge<ie;)Ue.setCellFromCodepoint(ge++,0,1,Y)}else if(this._activeBuffer.x=ie-1,X===2)continue}if(fe&&this._activeBuffer.x){const Ue=G.getWidth(this._activeBuffer.x-1)?1:2;G.addCodepointToCell(this._activeBuffer.x-Ue,H,X);for(let ge=X-Ce;--ge>=0;)G.setCellFromCodepoint(this._activeBuffer.x++,0,0,Y)}else if(M&&(G.insertCells(this._activeBuffer.x,X-Ce,this._activeBuffer.getNullCell(Y)),G.getWidth(ie-1)===2&&G.setCellFromCodepoint(ie-1,c.NULL_CELL_CODE,c.NULL_CELL_WIDTH,Y)),G.setCellFromCodepoint(this._activeBuffer.x++,H,X,Y),X>0)for(;--X;)G.setCellFromCodepoint(this._activeBuffer.x++,0,0,Y)}this._parser.precedingJoinState=re,this._activeBuffer.x<ie&&D-O>0&&G.getWidth(this._activeBuffer.x)===0&&!G.hasContent(this._activeBuffer.x)&&G.setCellFromCodepoint(this._activeBuffer.x,0,1,Y),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(R,O){return R.final!=="t"||R.prefix||R.intermediates?this._parser.registerCsiHandler(R,O):this._parser.registerCsiHandler(R,D=>!A(D.params[0],this._optionsService.rawOptions.windowOptions)||O(D))}registerDcsHandler(R,O){return this._parser.registerDcsHandler(R,new x.DcsHandler(O))}registerEscHandler(R,O){return this._parser.registerEscHandler(R,O)}registerOscHandler(R,O){return this._parser.registerOscHandler(R,new E.OscHandler(O))}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 R;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&&((R=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y))!=null&&R.isWrapped)){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;const O=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);O.hasWidth(this._activeBuffer.x)&&!O.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;const R=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-R),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(R=this._bufferService.cols-1){this._activeBuffer.x=Math.min(R,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(R,O){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=R,this._activeBuffer.y=this._activeBuffer.scrollTop+O):(this._activeBuffer.x=R,this._activeBuffer.y=O),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(R,O){this._restrictCursor(),this._setCursor(this._activeBuffer.x+R,this._activeBuffer.y+O)}cursorUp(R){const O=this._activeBuffer.y-this._activeBuffer.scrollTop;return O>=0?this._moveCursor(0,-Math.min(O,R.params[0]||1)):this._moveCursor(0,-(R.params[0]||1)),!0}cursorDown(R){const O=this._activeBuffer.scrollBottom-this._activeBuffer.y;return O>=0?this._moveCursor(0,Math.min(O,R.params[0]||1)):this._moveCursor(0,R.params[0]||1),!0}cursorForward(R){return this._moveCursor(R.params[0]||1,0),!0}cursorBackward(R){return this._moveCursor(-(R.params[0]||1),0),!0}cursorNextLine(R){return this.cursorDown(R),this._activeBuffer.x=0,!0}cursorPrecedingLine(R){return this.cursorUp(R),this._activeBuffer.x=0,!0}cursorCharAbsolute(R){return this._setCursor((R.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(R){return this._setCursor(R.length>=2?(R.params[1]||1)-1:0,(R.params[0]||1)-1),!0}charPosAbsolute(R){return this._setCursor((R.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(R){return this._moveCursor(R.params[0]||1,0),!0}linePosAbsolute(R){return this._setCursor(this._activeBuffer.x,(R.params[0]||1)-1),!0}vPositionRelative(R){return this._moveCursor(0,R.params[0]||1),!0}hVPosition(R){return this.cursorPosition(R),!0}tabClear(R){const O=R.params[0];return O===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:O===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(R){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let O=R.params[0]||1;for(;O--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(R){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let O=R.params[0]||1;for(;O--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(R){const O=R.params[0];return O===1&&(this._curAttrData.bg|=536870912),O!==2&&O!==0||(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(R,O,D,H=!1,X=!1){const Q=this._activeBuffer.lines.get(this._activeBuffer.ybase+R);Q.replaceCells(O,D,this._activeBuffer.getNullCell(this._eraseAttrData()),X),H&&(Q.isWrapped=!1)}_resetBufferLine(R,O=!1){const D=this._activeBuffer.lines.get(this._activeBuffer.ybase+R);D&&(D.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),O),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+R),D.isWrapped=!1)}eraseInDisplay(R,O=!1){let D;switch(this._restrictCursor(this._bufferService.cols),R.params[0]){case 0:for(D=this._activeBuffer.y,this._dirtyRowTracker.markDirty(D),this._eraseInBufferLine(D++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,O);D<this._bufferService.rows;D++)this._resetBufferLine(D,O);this._dirtyRowTracker.markDirty(D);break;case 1:for(D=this._activeBuffer.y,this._dirtyRowTracker.markDirty(D),this._eraseInBufferLine(D,0,this._activeBuffer.x+1,!0,O),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(D+1).isWrapped=!1);D--;)this._resetBufferLine(D,O);this._dirtyRowTracker.markDirty(0);break;case 2:for(D=this._bufferService.rows,this._dirtyRowTracker.markDirty(D-1);D--;)this._resetBufferLine(D,O);this._dirtyRowTracker.markDirty(0);break;case 3:const H=this._activeBuffer.lines.length-this._bufferService.rows;H>0&&(this._activeBuffer.lines.trimStart(H),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-H,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-H,0),this._onScroll.fire(0))}return!0}eraseInLine(R,O=!1){switch(this._restrictCursor(this._bufferService.cols),R.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,O);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,O);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,O)}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(R){this._restrictCursor();let O=R.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const D=this._activeBuffer.ybase+this._activeBuffer.y,H=this._bufferService.rows-1-this._activeBuffer.scrollBottom,X=this._bufferService.rows-1+this._activeBuffer.ybase-H+1;for(;O--;)this._activeBuffer.lines.splice(X-1,1),this._activeBuffer.lines.splice(D,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}deleteLines(R){this._restrictCursor();let O=R.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const D=this._activeBuffer.ybase+this._activeBuffer.y;let H;for(H=this._bufferService.rows-1-this._activeBuffer.scrollBottom,H=this._bufferService.rows-1+this._activeBuffer.ybase-H;O--;)this._activeBuffer.lines.splice(D,1),this._activeBuffer.lines.splice(H,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}insertChars(R){this._restrictCursor();const O=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return O&&(O.insertCells(this._activeBuffer.x,R.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}deleteChars(R){this._restrictCursor();const O=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return O&&(O.deleteCells(this._activeBuffer.x,R.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(R){let O=R.params[0]||1;for(;O--;)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(R){let O=R.params[0]||1;for(;O--;)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(a.DEFAULT_ATTR_DATA));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollLeft(R){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const O=R.params[0]||1;for(let D=this._activeBuffer.scrollTop;D<=this._activeBuffer.scrollBottom;++D){const H=this._activeBuffer.lines.get(this._activeBuffer.ybase+D);H.deleteCells(0,O,this._activeBuffer.getNullCell(this._eraseAttrData())),H.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollRight(R){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const O=R.params[0]||1;for(let D=this._activeBuffer.scrollTop;D<=this._activeBuffer.scrollBottom;++D){const H=this._activeBuffer.lines.get(this._activeBuffer.ybase+D);H.insertCells(0,O,this._activeBuffer.getNullCell(this._eraseAttrData())),H.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}insertColumns(R){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const O=R.params[0]||1;for(let D=this._activeBuffer.scrollTop;D<=this._activeBuffer.scrollBottom;++D){const H=this._activeBuffer.lines.get(this._activeBuffer.ybase+D);H.insertCells(this._activeBuffer.x,O,this._activeBuffer.getNullCell(this._eraseAttrData())),H.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}deleteColumns(R){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const O=R.params[0]||1;for(let D=this._activeBuffer.scrollTop;D<=this._activeBuffer.scrollBottom;++D){const H=this._activeBuffer.lines.get(this._activeBuffer.ybase+D);H.deleteCells(this._activeBuffer.x,O,this._activeBuffer.getNullCell(this._eraseAttrData())),H.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(R){this._restrictCursor();const O=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return O&&(O.replaceCells(this._activeBuffer.x,this._activeBuffer.x+(R.params[0]||1),this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}repeatPrecedingCharacter(R){const O=this._parser.precedingJoinState;if(!O)return!0;const D=R.params[0]||1,H=b.UnicodeService.extractWidth(O),X=this._activeBuffer.x-H,Q=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).getString(X),ue=new Uint32Array(Q.length*D);let ie=0;for(let M=0;M<Q.length;){const Y=Q.codePointAt(M)||0;ue[ie++]=Y,M+=Y>65535?2:1}let U=ie;for(let M=1;M<D;++M)ue.copyWithin(U,0,ie),U+=ie;return this.print(ue,0,U),!0}sendDeviceAttributesPrimary(R){return R.params[0]>0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(u.C0.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(u.C0.ESC+"[?6c")),!0}sendDeviceAttributesSecondary(R){return R.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(u.C0.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(u.C0.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(R.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(u.C0.ESC+"[>83;40003;0c")),!0}_is(R){return(this._optionsService.rawOptions.termName+"").indexOf(R)===0}setMode(R){for(let O=0;O<R.length;O++)switch(R.params[O]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0}return!0}setModePrivate(R){for(let O=0;O<R.length;O++)switch(R.params[O]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,m.DEFAULT_CHARSET),this._charsetService.setgCharset(1,m.DEFAULT_CHARSET),this._charsetService.setgCharset(2,m.DEFAULT_CHARSET),this._charsetService.setgCharset(3,m.DEFAULT_CHARSET);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(0,this._bufferService.rows-1),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!0}return!0}resetMode(R){for(let O=0;O<R.length;O++)switch(R.params[O]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1}return!0}resetModePrivate(R){for(let O=0;O<R.length;O++)switch(R.params[O]){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:case 1016:this._coreMouseService.activeEncoding="DEFAULT";break;case 1015:this._logService.debug("DECRST 1015 not supported (see #2507)");break;case 25:this._coreService.isCursorHidden=!0;break;case 1048:this.restoreCursor();break;case 1049:case 47:case 1047:this._bufferService.buffers.activateNormalBuffer(),R.params[O]===1049&&this.restoreCursor(),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(0,this._bufferService.rows-1),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!1}return!0}requestMode(R,O){const D=this._coreService.decPrivateModes,{activeProtocol:H,activeEncoding:X}=this._coreMouseService,Q=this._coreService,{buffers:ue,cols:ie}=this._bufferService,{active:U,alt:M}=ue,Y=this._optionsService.rawOptions,G=fe=>fe?1:2,re=R.params[0];return se=re,pe=O?re===2?4:re===4?G(Q.modes.insertMode):re===12?3:re===20?G(Y.convertEol):0:re===1?G(D.applicationCursorKeys):re===3?Y.windowOptions.setWinLines?ie===80?2:ie===132?1:0:0:re===6?G(D.origin):re===7?G(D.wraparound):re===8?3:re===9?G(H==="X10"):re===12?G(Y.cursorBlink):re===25?G(!Q.isCursorHidden):re===45?G(D.reverseWraparound):re===66?G(D.applicationKeypad):re===67?4:re===1e3?G(H==="VT200"):re===1002?G(H==="DRAG"):re===1003?G(H==="ANY"):re===1004?G(D.sendFocus):re===1005?4:re===1006?G(X==="SGR"):re===1015?4:re===1016?G(X==="SGR_PIXELS"):re===1048?1:re===47||re===1047||re===1049?G(U===M):re===2004?G(D.bracketedPasteMode):0,Q.triggerDataEvent(`${u.C0.ESC}[${O?"":"?"}${se};${pe}$y`),!0;var se,pe}_updateAttrColor(R,O,D,H,X){return O===2?(R|=50331648,R&=-16777216,R|=y.AttributeData.fromColorRGB([D,H,X])):O===5&&(R&=-50331904,R|=33554432|255&D),R}_extractColor(R,O,D){const H=[0,0,-1,0,0,0];let X=0,Q=0;do{if(H[Q+X]=R.params[O+Q],R.hasSubParams(O+Q)){const ue=R.getSubParams(O+Q);let ie=0;do H[1]===5&&(X=1),H[Q+ie+1+X]=ue[ie];while(++ie<ue.length&&ie+Q+1+X<H.length);break}if(H[1]===5&&Q+X>=2||H[1]===2&&Q+X>=5)break;H[1]&&(X=1)}while(++Q+O<R.length&&Q+X<H.length);for(let ue=2;ue<H.length;++ue)H[ue]===-1&&(H[ue]=0);switch(H[0]){case 38:D.fg=this._updateAttrColor(D.fg,H[1],H[3],H[4],H[5]);break;case 48:D.bg=this._updateAttrColor(D.bg,H[1],H[3],H[4],H[5]);break;case 58:D.extended=D.extended.clone(),D.extended.underlineColor=this._updateAttrColor(D.extended.underlineColor,H[1],H[3],H[4],H[5])}return Q}_processUnderline(R,O){O.extended=O.extended.clone(),(!~R||R>5)&&(R=1),O.extended.underlineStyle=R,O.fg|=268435456,R===0&&(O.fg&=-268435457),O.updateExtended()}_processSGR0(R){R.fg=a.DEFAULT_ATTR_DATA.fg,R.bg=a.DEFAULT_ATTR_DATA.bg,R.extended=R.extended.clone(),R.extended.underlineStyle=0,R.extended.underlineColor&=-67108864,R.updateExtended()}charAttributes(R){if(R.length===1&&R.params[0]===0)return this._processSGR0(this._curAttrData),!0;const O=R.length;let D;const H=this._curAttrData;for(let X=0;X<O;X++)D=R.params[X],D>=30&&D<=37?(H.fg&=-50331904,H.fg|=16777216|D-30):D>=40&&D<=47?(H.bg&=-50331904,H.bg|=16777216|D-40):D>=90&&D<=97?(H.fg&=-50331904,H.fg|=16777224|D-90):D>=100&&D<=107?(H.bg&=-50331904,H.bg|=16777224|D-100):D===0?this._processSGR0(H):D===1?H.fg|=134217728:D===3?H.bg|=67108864:D===4?(H.fg|=268435456,this._processUnderline(R.hasSubParams(X)?R.getSubParams(X)[0]:1,H)):D===5?H.fg|=536870912:D===7?H.fg|=67108864:D===8?H.fg|=1073741824:D===9?H.fg|=2147483648:D===2?H.bg|=134217728:D===21?this._processUnderline(2,H):D===22?(H.fg&=-134217729,H.bg&=-134217729):D===23?H.bg&=-67108865:D===24?(H.fg&=-268435457,this._processUnderline(0,H)):D===25?H.fg&=-536870913:D===27?H.fg&=-67108865:D===28?H.fg&=-1073741825:D===29?H.fg&=2147483647:D===39?(H.fg&=-67108864,H.fg|=16777215&a.DEFAULT_ATTR_DATA.fg):D===49?(H.bg&=-67108864,H.bg|=16777215&a.DEFAULT_ATTR_DATA.bg):D===38||D===48||D===58?X+=this._extractColor(R,X,H):D===53?H.bg|=1073741824:D===55?H.bg&=-1073741825:D===59?(H.extended=H.extended.clone(),H.extended.underlineColor=-1,H.updateExtended()):D===100?(H.fg&=-67108864,H.fg|=16777215&a.DEFAULT_ATTR_DATA.fg,H.bg&=-67108864,H.bg|=16777215&a.DEFAULT_ATTR_DATA.bg):this._logService.debug("Unknown SGR attribute: %d.",D);return!0}deviceStatus(R){switch(R.params[0]){case 5:this._coreService.triggerDataEvent(`${u.C0.ESC}[0n`);break;case 6:const O=this._activeBuffer.y+1,D=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${u.C0.ESC}[${O};${D}R`)}return!0}deviceStatusPrivate(R){if(R.params[0]===6){const O=this._activeBuffer.y+1,D=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${u.C0.ESC}[?${O};${D}R`)}return!0}softReset(R){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=a.DEFAULT_ATTR_DATA.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(R){const O=R.params[0]||1;switch(O){case 1:case 2:this._optionsService.options.cursorStyle="block";break;case 3:case 4:this._optionsService.options.cursorStyle="underline";break;case 5:case 6:this._optionsService.options.cursorStyle="bar"}const D=O%2==1;return this._optionsService.options.cursorBlink=D,!0}setScrollRegion(R){const O=R.params[0]||1;let D;return(R.length<2||(D=R.params[1])>this._bufferService.rows||D===0)&&(D=this._bufferService.rows),D>O&&(this._activeBuffer.scrollTop=O-1,this._activeBuffer.scrollBottom=D-1,this._setCursor(0,0)),!0}windowOptions(R){if(!A(R.params[0],this._optionsService.rawOptions.windowOptions))return!0;const O=R.length>1?R.params[1]:0;switch(R.params[0]){case 14:O!==2&&this._onRequestWindowsOptionsReport.fire(P.GET_WIN_SIZE_PIXELS);break;case 16:this._onRequestWindowsOptionsReport.fire(P.GET_CELL_SIZE_PIXELS);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${u.C0.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:O!==0&&O!==2||(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>10&&this._windowTitleStack.shift()),O!==0&&O!==1||(this._iconNameStack.push(this._iconName),this._iconNameStack.length>10&&this._iconNameStack.shift());break;case 23:O!==0&&O!==2||this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),O!==0&&O!==1||this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}return!0}saveCursor(R){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(R){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(R){return this._windowTitle=R,this._onTitleChange.fire(R),!0}setIconName(R){return this._iconName=R,!0}setOrReportIndexedColor(R){const O=[],D=R.split(";");for(;D.length>1;){const H=D.shift(),X=D.shift();if(/^\d+$/.exec(H)){const Q=parseInt(H);if(V(Q))if(X==="?")O.push({type:0,index:Q});else{const ue=(0,k.parseColor)(X);ue&&O.push({type:1,index:Q,color:ue})}}}return O.length&&this._onColor.fire(O),!0}setHyperlink(R){const O=R.split(";");return!(O.length<2)&&(O[1]?this._createHyperlink(O[0],O[1]):!O[0]&&this._finishHyperlink())}_createHyperlink(R,O){this._getCurrentLinkId()&&this._finishHyperlink();const D=R.split(":");let H;const X=D.findIndex(Q=>Q.startsWith("id="));return X!==-1&&(H=D[X].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:H,uri:O}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(R,O){const D=R.split(";");for(let H=0;H<D.length&&!(O>=this._specialColors.length);++H,++O)if(D[H]==="?")this._onColor.fire([{type:0,index:this._specialColors[O]}]);else{const X=(0,k.parseColor)(D[H]);X&&this._onColor.fire([{type:1,index:this._specialColors[O],color:X}])}return!0}setOrReportFgColor(R){return this._setOrReportSpecialColor(R,0)}setOrReportBgColor(R){return this._setOrReportSpecialColor(R,1)}setOrReportCursorColor(R){return this._setOrReportSpecialColor(R,2)}restoreIndexedColor(R){if(!R)return this._onColor.fire([{type:2}]),!0;const O=[],D=R.split(";");for(let H=0;H<D.length;++H)if(/^\d+$/.exec(D[H])){const X=parseInt(D[H]);V(X)&&O.push({type:2,index:X})}return O.length&&this._onColor.fire(O),!0}restoreFgColor(R){return this._onColor.fire([{type:2,index:256}]),!0}restoreBgColor(R){return this._onColor.fire([{type:2,index:257}]),!0}restoreCursorColor(R){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,m.DEFAULT_CHARSET),!0}selectCharset(R){return R.length!==2?(this.selectDefaultCharset(),!0):(R[0]==="/"||this._charsetService.setgCharset(L[R[0]],m.CHARSETS[R[1]]||m.DEFAULT_CHARSET),!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){const R=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,R,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=a.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=a.DEFAULT_ATTR_DATA.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=67108863&this._curAttrData.bg,this._eraseAttrDataInternal}setgLevel(R){return this._charsetService.setgLevel(R),!0}screenAlignmentPattern(){const R=new d.CellData;R.content=4194373,R.fg=this._curAttrData.fg,R.bg=this._curAttrData.bg,this._setCursor(0,0);for(let O=0;O<this._bufferService.rows;++O){const D=this._activeBuffer.ybase+this._activeBuffer.y+O,H=this._activeBuffer.lines.get(D);H&&(H.fill(R),H.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(R,O){const D=this._bufferService.buffer,H=this._optionsService.rawOptions;return(X=>(this._coreService.triggerDataEvent(`${u.C0.ESC}${X}${u.C0.ESC}\\`),!0))(R==='"q'?`P1$r${this._curAttrData.isProtected()?1:0}"q`:R==='"p'?'P1$r61;1"p':R==="r"?`P1$r${D.scrollTop+1};${D.scrollBottom+1}r`:R==="m"?"P1$r0m":R===" q"?`P1$r${{block:2,underline:4,bar:6}[H.cursorStyle]-(H.cursorBlink?1:0)} q`:"P0$r")}markRangeDirty(R,O){this._dirtyRowTracker.markRangeDirty(R,O)}}n.InputHandler=W;let z=class{constructor($){this._bufferService=$,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty($){$<this.start?this.start=$:$>this.end&&(this.end=$)}markRangeDirty($,R){$>R&&(j=$,$=R,R=j),$<this.start&&(this.start=$),R>this.end&&(this.end=R)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};function V($){return 0<=$&&$<256}z=f([_(0,C.IBufferService)],z)},844:(p,n)=>{function o(f){for(const _ of f)_.dispose();f.length=0}Object.defineProperty(n,"__esModule",{value:!0}),n.getDisposeArrayDisposable=n.disposeArray=n.toDisposable=n.MutableDisposable=n.Disposable=void 0,n.Disposable=class{constructor(){this._disposables=[],this._isDisposed=!1}dispose(){this._isDisposed=!0;for(const f of this._disposables)f.dispose();this._disposables.length=0}register(f){return this._disposables.push(f),f}unregister(f){const _=this._disposables.indexOf(f);_!==-1&&this._disposables.splice(_,1)}},n.MutableDisposable=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(f){var _;this._isDisposed||f===this._value||((_=this._value)==null||_.dispose(),this._value=f)}clear(){this.value=void 0}dispose(){var f;this._isDisposed=!0,(f=this._value)==null||f.dispose(),this._value=void 0}},n.toDisposable=function(f){return{dispose:f}},n.disposeArray=o,n.getDisposeArrayDisposable=function(f){return{dispose:()=>o(f)}}},1505:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.FourKeyMap=n.TwoKeyMap=void 0;class o{constructor(){this._data={}}set(_,u,m){this._data[_]||(this._data[_]={}),this._data[_][u]=m}get(_,u){return this._data[_]?this._data[_][u]:void 0}clear(){this._data={}}}n.TwoKeyMap=o,n.FourKeyMap=class{constructor(){this._data=new o}set(f,_,u,m,w){this._data.get(f,_)||this._data.set(f,_,new o),this._data.get(f,_).set(u,m,w)}get(f,_,u,m){var w;return(w=this._data.get(f,_))==null?void 0:w.get(u,m)}clear(){this._data.clear()}}},6114:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.isChromeOS=n.isLinux=n.isWindows=n.isIphone=n.isIpad=n.isMac=n.getSafariVersion=n.isSafari=n.isLegacyEdge=n.isFirefox=n.isNode=void 0,n.isNode=typeof process<"u"&&"title"in process;const o=n.isNode?"node":navigator.userAgent,f=n.isNode?"node":navigator.platform;n.isFirefox=o.includes("Firefox"),n.isLegacyEdge=o.includes("Edge"),n.isSafari=/^((?!chrome|android).)*safari/i.test(o),n.getSafariVersion=function(){if(!n.isSafari)return 0;const _=o.match(/Version\/(\d+)/);return _===null||_.length<2?0:parseInt(_[1])},n.isMac=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(f),n.isIpad=f==="iPad",n.isIphone=f==="iPhone",n.isWindows=["Windows","Win16","Win32","WinCE"].includes(f),n.isLinux=f.indexOf("Linux")>=0,n.isChromeOS=/\bCrOS\b/.test(o)},6106:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.SortedList=void 0;let o=0;n.SortedList=class{constructor(f){this._getKey=f,this._array=[]}clear(){this._array.length=0}insert(f){this._array.length!==0?(o=this._search(this._getKey(f)),this._array.splice(o,0,f)):this._array.push(f)}delete(f){if(this._array.length===0)return!1;const _=this._getKey(f);if(_===void 0||(o=this._search(_),o===-1)||this._getKey(this._array[o])!==_)return!1;do if(this._array[o]===f)return this._array.splice(o,1),!0;while(++o<this._array.length&&this._getKey(this._array[o])===_);return!1}*getKeyIterator(f){if(this._array.length!==0&&(o=this._search(f),!(o<0||o>=this._array.length)&&this._getKey(this._array[o])===f))do yield this._array[o];while(++o<this._array.length&&this._getKey(this._array[o])===f)}forEachByKey(f,_){if(this._array.length!==0&&(o=this._search(f),!(o<0||o>=this._array.length)&&this._getKey(this._array[o])===f))do _(this._array[o]);while(++o<this._array.length&&this._getKey(this._array[o])===f)}values(){return[...this._array].values()}_search(f){let _=0,u=this._array.length-1;for(;u>=_;){let m=_+u>>1;const w=this._getKey(this._array[m]);if(w>f)u=m-1;else{if(!(w<f)){for(;m>0&&this._getKey(this._array[m-1])===f;)m--;return m}_=m+1}}return _}}},7226:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.DebouncedIdleTask=n.IdleTaskQueue=n.PriorityTaskQueue=void 0;const f=o(6114);class _{constructor(){this._tasks=[],this._i=0}enqueue(w){this._tasks.push(w),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(w){this._idleCallback=void 0;let S=0,v=0,a=w.timeRemaining(),h=0;for(;this._i<this._tasks.length;){if(S=Date.now(),this._tasks[this._i]()||this._i++,S=Math.max(1,Date.now()-S),v=Math.max(S,v),h=w.timeRemaining(),1.5*v>h)return a-S<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(a-S))}ms`),void this._start();a=h}this.clear()}}class u extends _{_requestCallback(w){return setTimeout(()=>w(this._createDeadline(16)))}_cancelCallback(w){clearTimeout(w)}_createDeadline(w){const S=Date.now()+w;return{timeRemaining:()=>Math.max(0,S-Date.now())}}}n.PriorityTaskQueue=u,n.IdleTaskQueue=!f.isNode&&"requestIdleCallback"in window?class extends _{_requestCallback(m){return requestIdleCallback(m)}_cancelCallback(m){cancelIdleCallback(m)}}:u,n.DebouncedIdleTask=class{constructor(){this._queue=new n.IdleTaskQueue}set(m){this._queue.clear(),this._queue.enqueue(m)}flush(){this._queue.flush()}}},9282:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.updateWindowsModeWrappedState=void 0;const f=o(643);n.updateWindowsModeWrappedState=function(_){const u=_.buffer.lines.get(_.buffer.ybase+_.buffer.y-1),m=u==null?void 0:u.get(_.cols-1),w=_.buffer.lines.get(_.buffer.ybase+_.buffer.y);w&&m&&(w.isWrapped=m[f.CHAR_DATA_CODE_INDEX]!==f.NULL_CELL_CODE&&m[f.CHAR_DATA_CODE_INDEX]!==f.WHITESPACE_CELL_CODE)}},3734:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.ExtendedAttrs=n.AttributeData=void 0;class o{constructor(){this.fg=0,this.bg=0,this.extended=new f}static toColorRGB(u){return[u>>>16&255,u>>>8&255,255&u]}static fromColorRGB(u){return(255&u[0])<<16|(255&u[1])<<8|255&u[2]}clone(){const u=new o;return u.fg=this.fg,u.bg=this.bg,u.extended=this.extended.clone(),u}isInverse(){return 67108864&this.fg}isBold(){return 134217728&this.fg}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:268435456&this.fg}isBlink(){return 536870912&this.fg}isInvisible(){return 1073741824&this.fg}isItalic(){return 67108864&this.bg}isDim(){return 134217728&this.bg}isStrikethrough(){return 2147483648&this.fg}isProtected(){return 536870912&this.bg}isOverline(){return 1073741824&this.bg}getFgColorMode(){return 50331648&this.fg}getBgColorMode(){return 50331648&this.bg}isFgRGB(){return(50331648&this.fg)==50331648}isBgRGB(){return(50331648&this.bg)==50331648}isFgPalette(){return(50331648&this.fg)==16777216||(50331648&this.fg)==33554432}isBgPalette(){return(50331648&this.bg)==16777216||(50331648&this.bg)==33554432}isFgDefault(){return(50331648&this.fg)==0}isBgDefault(){return(50331648&this.bg)==0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}}getBgColor(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}}hasExtendedAttrs(){return 268435456&this.bg}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()}isUnderlineColorRGB(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==16777216||(50331648&this.extended.underlineColor)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==0:this.isFgDefault()}getUnderlineStyle(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}}n.AttributeData=o;class f{get ext(){return this._urlId?-469762049&this._ext|this.underlineStyle<<26:this._ext}set ext(u){this._ext=u}get underlineStyle(){return this._urlId?5:(469762048&this._ext)>>26}set underlineStyle(u){this._ext&=-469762049,this._ext|=u<<26&469762048}get underlineColor(){return 67108863&this._ext}set underlineColor(u){this._ext&=-67108864,this._ext|=67108863&u}get urlId(){return this._urlId}set urlId(u){this._urlId=u}get underlineVariantOffset(){const u=(3758096384&this._ext)>>29;return u<0?4294967288^u:u}set underlineVariantOffset(u){this._ext&=536870911,this._ext|=u<<29&3758096384}constructor(u=0,m=0){this._ext=0,this._urlId=0,this._ext=u,this._urlId=m}clone(){return new f(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}}n.ExtendedAttrs=f},9092:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.Buffer=n.MAX_BUFFER_SIZE=void 0;const f=o(6349),_=o(7226),u=o(3734),m=o(8437),w=o(4634),S=o(511),v=o(643),a=o(4863),h=o(7116);n.MAX_BUFFER_SIZE=4294967295,n.Buffer=class{constructor(c,d,y){this._hasScrollback=c,this._optionsService=d,this._bufferService=y,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=m.DEFAULT_ATTR_DATA.clone(),this.savedCharset=h.DEFAULT_CHARSET,this.markers=[],this._nullCell=S.CellData.fromCharData([0,v.NULL_CELL_CHAR,v.NULL_CELL_WIDTH,v.NULL_CELL_CODE]),this._whitespaceCell=S.CellData.fromCharData([0,v.WHITESPACE_CELL_CHAR,v.WHITESPACE_CELL_WIDTH,v.WHITESPACE_CELL_CODE]),this._isClearing=!1,this._memoryCleanupQueue=new _.IdleTaskQueue,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new f.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(c){return c?(this._nullCell.fg=c.fg,this._nullCell.bg=c.bg,this._nullCell.extended=c.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new u.ExtendedAttrs),this._nullCell}getWhitespaceCell(c){return c?(this._whitespaceCell.fg=c.fg,this._whitespaceCell.bg=c.bg,this._whitespaceCell.extended=c.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new u.ExtendedAttrs),this._whitespaceCell}getBlankLine(c,d){return new m.BufferLine(this._bufferService.cols,this.getNullCell(c),d)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){const c=this.ybase+this.y-this.ydisp;return c>=0&&c<this._rows}_getCorrectBufferLength(c){if(!this._hasScrollback)return c;const d=c+this._optionsService.rawOptions.scrollback;return d>n.MAX_BUFFER_SIZE?n.MAX_BUFFER_SIZE:d}fillViewportRows(c){if(this.lines.length===0){c===void 0&&(c=m.DEFAULT_ATTR_DATA);let d=this._rows;for(;d--;)this.lines.push(this.getBlankLine(c))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new f.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(c,d){const y=this.getNullCell(m.DEFAULT_ATTR_DATA);let C=0;const b=this._getCorrectBufferLength(d);if(b>this.lines.maxLength&&(this.lines.maxLength=b),this.lines.length>0){if(this._cols<c)for(let x=0;x<this.lines.length;x++)C+=+this.lines.get(x).resize(c,y);let E=0;if(this._rows<d)for(let x=this._rows;x<d;x++)this.lines.length<d+this.ybase&&(this._optionsService.rawOptions.windowsMode||this._optionsService.rawOptions.windowsPty.backend!==void 0||this._optionsService.rawOptions.windowsPty.buildNumber!==void 0?this.lines.push(new m.BufferLine(c,y)):this.ybase>0&&this.lines.length<=this.ybase+this.y+E+1?(this.ybase--,E++,this.ydisp>0&&this.ydisp--):this.lines.push(new m.BufferLine(c,y)));else for(let x=this._rows;x>d;x--)this.lines.length>d+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(b<this.lines.maxLength){const x=this.lines.length-b;x>0&&(this.lines.trimStart(x),this.ybase=Math.max(this.ybase-x,0),this.ydisp=Math.max(this.ydisp-x,0),this.savedY=Math.max(this.savedY-x,0)),this.lines.maxLength=b}this.x=Math.min(this.x,c-1),this.y=Math.min(this.y,d-1),E&&(this.y+=E),this.savedX=Math.min(this.savedX,c-1),this.scrollTop=0}if(this.scrollBottom=d-1,this._isReflowEnabled&&(this._reflow(c,d),this._cols>c))for(let E=0;E<this.lines.length;E++)C+=+this.lines.get(E).resize(c,y);this._cols=c,this._rows=d,this._memoryCleanupQueue.clear(),C>.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue(()=>this._batchedMemoryCleanup()))}_batchedMemoryCleanup(){let c=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,c=!1);let d=0;for(;this._memoryCleanupPosition<this.lines.length;)if(d+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory(),d>100)return!0;return c}get _isReflowEnabled(){const c=this._optionsService.rawOptions.windowsPty;return c&&c.buildNumber?this._hasScrollback&&c.backend==="conpty"&&c.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(c,d){this._cols!==c&&(c>this._cols?this._reflowLarger(c,d):this._reflowSmaller(c,d))}_reflowLarger(c,d){const y=(0,w.reflowLargerGetLinesToRemove)(this.lines,this._cols,c,this.ybase+this.y,this.getNullCell(m.DEFAULT_ATTR_DATA));if(y.length>0){const C=(0,w.reflowLargerCreateNewLayout)(this.lines,y);(0,w.reflowLargerApplyNewLayout)(this.lines,C.layout),this._reflowLargerAdjustViewport(c,d,C.countRemoved)}}_reflowLargerAdjustViewport(c,d,y){const C=this.getNullCell(m.DEFAULT_ATTR_DATA);let b=y;for(;b-- >0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length<d&&this.lines.push(new m.BufferLine(c,C))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-y,0)}_reflowSmaller(c,d){const y=this.getNullCell(m.DEFAULT_ATTR_DATA),C=[];let b=0;for(let E=this.lines.length-1;E>=0;E--){let x=this.lines.get(E);if(!x||!x.isWrapped&&x.getTrimmedLength()<=c)continue;const k=[x];for(;x.isWrapped&&E>0;)x=this.lines.get(--E),k.unshift(x);const L=this.ybase+this.y;if(L>=E&&L<E+k.length)continue;const I=k[k.length-1].getTrimmedLength(),A=(0,w.reflowSmallerGetNewLineLengths)(k,this._cols,c),P=A.length-k.length;let j;j=this.ybase===0&&this.y!==this.lines.length-1?Math.max(0,this.y-this.lines.maxLength+P):Math.max(0,this.lines.length-this.lines.maxLength+P);const W=[];for(let D=0;D<P;D++){const H=this.getBlankLine(m.DEFAULT_ATTR_DATA,!0);W.push(H)}W.length>0&&(C.push({start:E+k.length+b,newLines:W}),b+=W.length),k.push(...W);let z=A.length-1,V=A[z];V===0&&(z--,V=A[z]);let $=k.length-P-1,R=I;for(;$>=0;){const D=Math.min(R,V);if(k[z]===void 0)break;if(k[z].copyCellsFrom(k[$],R-D,V-D,D,!0),V-=D,V===0&&(z--,V=A[z]),R-=D,R===0){$--;const H=Math.max($,0);R=(0,w.getWrappedLineTrimmedLength)(k,H,this._cols)}}for(let D=0;D<k.length;D++)A[D]<c&&k[D].setCell(A[D],y);let O=P-j;for(;O-- >0;)this.ybase===0?this.y<d-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+b)-d&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+P,this.ybase+d-1)}if(C.length>0){const E=[],x=[];for(let z=0;z<this.lines.length;z++)x.push(this.lines.get(z));const k=this.lines.length;let L=k-1,I=0,A=C[I];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+b);let P=0;for(let z=Math.min(this.lines.maxLength-1,k+b-1);z>=0;z--)if(A&&A.start>L+P){for(let V=A.newLines.length-1;V>=0;V--)this.lines.set(z--,A.newLines[V]);z++,E.push({index:L+1,amount:A.newLines.length}),P+=A.newLines.length,A=C[++I]}else this.lines.set(z,x[L--]);let j=0;for(let z=E.length-1;z>=0;z--)E[z].index+=j,this.lines.onInsertEmitter.fire(E[z]),j+=E[z].amount;const W=Math.max(0,k+b-this.lines.maxLength);W>0&&this.lines.onTrimEmitter.fire(W)}}translateBufferLineToString(c,d,y=0,C){const b=this.lines.get(c);return b?b.translateToString(d,y,C):""}getWrappedRangeForLine(c){let d=c,y=c;for(;d>0&&this.lines.get(d).isWrapped;)d--;for(;y+1<this.lines.length&&this.lines.get(y+1).isWrapped;)y++;return{first:d,last:y}}setupTabStops(c){for(c!=null?this.tabs[c]||(c=this.prevStop(c)):(this.tabs={},c=0);c<this._cols;c+=this._optionsService.rawOptions.tabStopWidth)this.tabs[c]=!0}prevStop(c){for(c==null&&(c=this.x);!this.tabs[--c]&&c>0;);return c>=this._cols?this._cols-1:c<0?0:c}nextStop(c){for(c==null&&(c=this.x);!this.tabs[++c]&&c<this._cols;);return c>=this._cols?this._cols-1:c<0?0:c}clearMarkers(c){this._isClearing=!0;for(let d=0;d<this.markers.length;d++)this.markers[d].line===c&&(this.markers[d].dispose(),this.markers.splice(d--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let c=0;c<this.markers.length;c++)this.markers[c].dispose(),this.markers.splice(c--,1);this._isClearing=!1}addMarker(c){const d=new a.Marker(c);return this.markers.push(d),d.register(this.lines.onTrim(y=>{d.line-=y,d.line<0&&d.dispose()})),d.register(this.lines.onInsert(y=>{d.line>=y.index&&(d.line+=y.amount)})),d.register(this.lines.onDelete(y=>{d.line>=y.index&&d.line<y.index+y.amount&&d.dispose(),d.line>y.index&&(d.line-=y.amount)})),d.register(d.onDispose(()=>this._removeMarker(d))),d}_removeMarker(c){this._isClearing||this.markers.splice(this.markers.indexOf(c),1)}}},8437:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.BufferLine=n.DEFAULT_ATTR_DATA=void 0;const f=o(3734),_=o(511),u=o(643),m=o(482);n.DEFAULT_ATTR_DATA=Object.freeze(new f.AttributeData);let w=0;class S{constructor(a,h,c=!1){this.isWrapped=c,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(3*a);const d=h||_.CellData.fromCharData([0,u.NULL_CELL_CHAR,u.NULL_CELL_WIDTH,u.NULL_CELL_CODE]);for(let y=0;y<a;++y)this.setCell(y,d);this.length=a}get(a){const h=this._data[3*a+0],c=2097151&h;return[this._data[3*a+1],2097152&h?this._combined[a]:c?(0,m.stringFromCodePoint)(c):"",h>>22,2097152&h?this._combined[a].charCodeAt(this._combined[a].length-1):c]}set(a,h){this._data[3*a+1]=h[u.CHAR_DATA_ATTR_INDEX],h[u.CHAR_DATA_CHAR_INDEX].length>1?(this._combined[a]=h[1],this._data[3*a+0]=2097152|a|h[u.CHAR_DATA_WIDTH_INDEX]<<22):this._data[3*a+0]=h[u.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|h[u.CHAR_DATA_WIDTH_INDEX]<<22}getWidth(a){return this._data[3*a+0]>>22}hasWidth(a){return 12582912&this._data[3*a+0]}getFg(a){return this._data[3*a+1]}getBg(a){return this._data[3*a+2]}hasContent(a){return 4194303&this._data[3*a+0]}getCodePoint(a){const h=this._data[3*a+0];return 2097152&h?this._combined[a].charCodeAt(this._combined[a].length-1):2097151&h}isCombined(a){return 2097152&this._data[3*a+0]}getString(a){const h=this._data[3*a+0];return 2097152&h?this._combined[a]:2097151&h?(0,m.stringFromCodePoint)(2097151&h):""}isProtected(a){return 536870912&this._data[3*a+2]}loadCell(a,h){return w=3*a,h.content=this._data[w+0],h.fg=this._data[w+1],h.bg=this._data[w+2],2097152&h.content&&(h.combinedData=this._combined[a]),268435456&h.bg&&(h.extended=this._extendedAttrs[a]),h}setCell(a,h){2097152&h.content&&(this._combined[a]=h.combinedData),268435456&h.bg&&(this._extendedAttrs[a]=h.extended),this._data[3*a+0]=h.content,this._data[3*a+1]=h.fg,this._data[3*a+2]=h.bg}setCellFromCodepoint(a,h,c,d){268435456&d.bg&&(this._extendedAttrs[a]=d.extended),this._data[3*a+0]=h|c<<22,this._data[3*a+1]=d.fg,this._data[3*a+2]=d.bg}addCodepointToCell(a,h,c){let d=this._data[3*a+0];2097152&d?this._combined[a]+=(0,m.stringFromCodePoint)(h):2097151&d?(this._combined[a]=(0,m.stringFromCodePoint)(2097151&d)+(0,m.stringFromCodePoint)(h),d&=-2097152,d|=2097152):d=h|4194304,c&&(d&=-12582913,d|=c<<22),this._data[3*a+0]=d}insertCells(a,h,c){if((a%=this.length)&&this.getWidth(a-1)===2&&this.setCellFromCodepoint(a-1,0,1,c),h<this.length-a){const d=new _.CellData;for(let y=this.length-a-h-1;y>=0;--y)this.setCell(a+h+y,this.loadCell(a+y,d));for(let y=0;y<h;++y)this.setCell(a+y,c)}else for(let d=a;d<this.length;++d)this.setCell(d,c);this.getWidth(this.length-1)===2&&this.setCellFromCodepoint(this.length-1,0,1,c)}deleteCells(a,h,c){if(a%=this.length,h<this.length-a){const d=new _.CellData;for(let y=0;y<this.length-a-h;++y)this.setCell(a+y,this.loadCell(a+h+y,d));for(let y=this.length-h;y<this.length;++y)this.setCell(y,c)}else for(let d=a;d<this.length;++d)this.setCell(d,c);a&&this.getWidth(a-1)===2&&this.setCellFromCodepoint(a-1,0,1,c),this.getWidth(a)!==0||this.hasContent(a)||this.setCellFromCodepoint(a,0,1,c)}replaceCells(a,h,c,d=!1){if(d)for(a&&this.getWidth(a-1)===2&&!this.isProtected(a-1)&&this.setCellFromCodepoint(a-1,0,1,c),h<this.length&&this.getWidth(h-1)===2&&!this.isProtected(h)&&this.setCellFromCodepoint(h,0,1,c);a<h&&a<this.length;)this.isProtected(a)||this.setCell(a,c),a++;else for(a&&this.getWidth(a-1)===2&&this.setCellFromCodepoint(a-1,0,1,c),h<this.length&&this.getWidth(h-1)===2&&this.setCellFromCodepoint(h,0,1,c);a<h&&a<this.length;)this.setCell(a++,c)}resize(a,h){if(a===this.length)return 4*this._data.length*2<this._data.buffer.byteLength;const c=3*a;if(a>this.length){if(this._data.buffer.byteLength>=4*c)this._data=new Uint32Array(this._data.buffer,0,c);else{const d=new Uint32Array(c);d.set(this._data),this._data=d}for(let d=this.length;d<a;++d)this.setCell(d,h)}else{this._data=this._data.subarray(0,c);const d=Object.keys(this._combined);for(let C=0;C<d.length;C++){const b=parseInt(d[C],10);b>=a&&delete this._combined[b]}const y=Object.keys(this._extendedAttrs);for(let C=0;C<y.length;C++){const b=parseInt(y[C],10);b>=a&&delete this._extendedAttrs[b]}}return this.length=a,4*c*2<this._data.buffer.byteLength}cleanupMemory(){if(4*this._data.length*2<this._data.buffer.byteLength){const a=new Uint32Array(this._data.length);return a.set(this._data),this._data=a,1}return 0}fill(a,h=!1){if(h)for(let c=0;c<this.length;++c)this.isProtected(c)||this.setCell(c,a);else{this._combined={},this._extendedAttrs={};for(let c=0;c<this.length;++c)this.setCell(c,a)}}copyFrom(a){this.length!==a.length?this._data=new Uint32Array(a._data):this._data.set(a._data),this.length=a.length,this._combined={};for(const h in a._combined)this._combined[h]=a._combined[h];this._extendedAttrs={};for(const h in a._extendedAttrs)this._extendedAttrs[h]=a._extendedAttrs[h];this.isWrapped=a.isWrapped}clone(){const a=new S(0);a._data=new Uint32Array(this._data),a.length=this.length;for(const h in this._combined)a._combined[h]=this._combined[h];for(const h in this._extendedAttrs)a._extendedAttrs[h]=this._extendedAttrs[h];return a.isWrapped=this.isWrapped,a}getTrimmedLength(){for(let a=this.length-1;a>=0;--a)if(4194303&this._data[3*a+0])return a+(this._data[3*a+0]>>22);return 0}getNoBgTrimmedLength(){for(let a=this.length-1;a>=0;--a)if(4194303&this._data[3*a+0]||50331648&this._data[3*a+2])return a+(this._data[3*a+0]>>22);return 0}copyCellsFrom(a,h,c,d,y){const C=a._data;if(y)for(let E=d-1;E>=0;E--){for(let x=0;x<3;x++)this._data[3*(c+E)+x]=C[3*(h+E)+x];268435456&C[3*(h+E)+2]&&(this._extendedAttrs[c+E]=a._extendedAttrs[h+E])}else for(let E=0;E<d;E++){for(let x=0;x<3;x++)this._data[3*(c+E)+x]=C[3*(h+E)+x];268435456&C[3*(h+E)+2]&&(this._extendedAttrs[c+E]=a._extendedAttrs[h+E])}const b=Object.keys(a._combined);for(let E=0;E<b.length;E++){const x=parseInt(b[E],10);x>=h&&(this._combined[x-h+c]=a._combined[x])}}translateToString(a,h,c,d){h=h??0,c=c??this.length,a&&(c=Math.min(c,this.getTrimmedLength())),d&&(d.length=0);let y="";for(;h<c;){const C=this._data[3*h+0],b=2097151&C,E=2097152&C?this._combined[h]:b?(0,m.stringFromCodePoint)(b):u.WHITESPACE_CELL_CHAR;if(y+=E,d)for(let x=0;x<E.length;++x)d.push(h);h+=C>>22||1}return d&&d.push(h),y}}n.BufferLine=S},4841:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.getRangeLength=void 0,n.getRangeLength=function(o,f){if(o.start.y>o.end.y)throw new Error(`Buffer range end (${o.end.x}, ${o.end.y}) cannot be before start (${o.start.x}, ${o.start.y})`);return f*(o.end.y-o.start.y)+(o.end.x-o.start.x+1)}},4634:(p,n)=>{function o(f,_,u){if(_===f.length-1)return f[_].getTrimmedLength();const m=!f[_].hasContent(u-1)&&f[_].getWidth(u-1)===1,w=f[_+1].getWidth(0)===2;return m&&w?u-1:u}Object.defineProperty(n,"__esModule",{value:!0}),n.getWrappedLineTrimmedLength=n.reflowSmallerGetNewLineLengths=n.reflowLargerApplyNewLayout=n.reflowLargerCreateNewLayout=n.reflowLargerGetLinesToRemove=void 0,n.reflowLargerGetLinesToRemove=function(f,_,u,m,w){const S=[];for(let v=0;v<f.length-1;v++){let a=v,h=f.get(++a);if(!h.isWrapped)continue;const c=[f.get(v)];for(;a<f.length&&h.isWrapped;)c.push(h),h=f.get(++a);if(m>=v&&m<a){v+=c.length-1;continue}let d=0,y=o(c,d,_),C=1,b=0;for(;C<c.length;){const x=o(c,C,_),k=x-b,L=u-y,I=Math.min(k,L);c[d].copyCellsFrom(c[C],b,y,I,!1),y+=I,y===u&&(d++,y=0),b+=I,b===x&&(C++,b=0),y===0&&d!==0&&c[d-1].getWidth(u-1)===2&&(c[d].copyCellsFrom(c[d-1],u-1,y++,1,!1),c[d-1].setCell(u-1,w))}c[d].replaceCells(y,u,w);let E=0;for(let x=c.length-1;x>0&&(x>d||c[x].getTrimmedLength()===0);x--)E++;E>0&&(S.push(v+c.length-E),S.push(E)),v+=c.length-1}return S},n.reflowLargerCreateNewLayout=function(f,_){const u=[];let m=0,w=_[m],S=0;for(let v=0;v<f.length;v++)if(w===v){const a=_[++m];f.onDeleteEmitter.fire({index:v-S,amount:a}),v+=a-1,S+=a,w=_[++m]}else u.push(v);return{layout:u,countRemoved:S}},n.reflowLargerApplyNewLayout=function(f,_){const u=[];for(let m=0;m<_.length;m++)u.push(f.get(_[m]));for(let m=0;m<u.length;m++)f.set(m,u[m]);f.length=_.length},n.reflowSmallerGetNewLineLengths=function(f,_,u){const m=[],w=f.map((h,c)=>o(f,c,_)).reduce((h,c)=>h+c);let S=0,v=0,a=0;for(;a<w;){if(w-a<u){m.push(w-a);break}S+=u;const h=o(f,v,_);S>h&&(S-=h,v++);const c=f[v].getWidth(S-1)===2;c&&S--;const d=c?u-1:u;m.push(d),a+=d}return m},n.getWrappedLineTrimmedLength=o},5295:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.BufferSet=void 0;const f=o(8460),_=o(844),u=o(9092);class m extends _.Disposable{constructor(S,v){super(),this._optionsService=S,this._bufferService=v,this._onBufferActivate=this.register(new f.EventEmitter),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 u.Buffer(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new u.Buffer(!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(S){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(S),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(S,v){this._normal.resize(S,v),this._alt.resize(S,v),this.setupTabStops(S)}setupTabStops(S){this._normal.setupTabStops(S),this._alt.setupTabStops(S)}}n.BufferSet=m},511:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.CellData=void 0;const f=o(482),_=o(643),u=o(3734);class m extends u.AttributeData{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new u.ExtendedAttrs,this.combinedData=""}static fromCharData(S){const v=new m;return v.setFromCharData(S),v}isCombined(){return 2097152&this.content}getWidth(){return this.content>>22}getChars(){return 2097152&this.content?this.combinedData:2097151&this.content?(0,f.stringFromCodePoint)(2097151&this.content):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content}setFromCharData(S){this.fg=S[_.CHAR_DATA_ATTR_INDEX],this.bg=0;let v=!1;if(S[_.CHAR_DATA_CHAR_INDEX].length>2)v=!0;else if(S[_.CHAR_DATA_CHAR_INDEX].length===2){const a=S[_.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=a&&a<=56319){const h=S[_.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=h&&h<=57343?this.content=1024*(a-55296)+h-56320+65536|S[_.CHAR_DATA_WIDTH_INDEX]<<22:v=!0}else v=!0}else this.content=S[_.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|S[_.CHAR_DATA_WIDTH_INDEX]<<22;v&&(this.combinedData=S[_.CHAR_DATA_CHAR_INDEX],this.content=2097152|S[_.CHAR_DATA_WIDTH_INDEX]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}n.CellData=m},643:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.WHITESPACE_CELL_CODE=n.WHITESPACE_CELL_WIDTH=n.WHITESPACE_CELL_CHAR=n.NULL_CELL_CODE=n.NULL_CELL_WIDTH=n.NULL_CELL_CHAR=n.CHAR_DATA_CODE_INDEX=n.CHAR_DATA_WIDTH_INDEX=n.CHAR_DATA_CHAR_INDEX=n.CHAR_DATA_ATTR_INDEX=n.DEFAULT_EXT=n.DEFAULT_ATTR=n.DEFAULT_COLOR=void 0,n.DEFAULT_COLOR=0,n.DEFAULT_ATTR=256|n.DEFAULT_COLOR<<9,n.DEFAULT_EXT=0,n.CHAR_DATA_ATTR_INDEX=0,n.CHAR_DATA_CHAR_INDEX=1,n.CHAR_DATA_WIDTH_INDEX=2,n.CHAR_DATA_CODE_INDEX=3,n.NULL_CELL_CHAR="",n.NULL_CELL_WIDTH=1,n.NULL_CELL_CODE=0,n.WHITESPACE_CELL_CHAR=" ",n.WHITESPACE_CELL_WIDTH=1,n.WHITESPACE_CELL_CODE=32},4863:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.Marker=void 0;const f=o(8460),_=o(844);class u{get id(){return this._id}constructor(w){this.line=w,this.isDisposed=!1,this._disposables=[],this._id=u._nextId++,this._onDispose=this.register(new f.EventEmitter),this.onDispose=this._onDispose.event}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),(0,_.disposeArray)(this._disposables),this._disposables.length=0)}register(w){return this._disposables.push(w),w}}n.Marker=u,u._nextId=1},7116:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.DEFAULT_CHARSET=n.CHARSETS=void 0,n.CHARSETS={},n.DEFAULT_CHARSET=n.CHARSETS.B,n.CHARSETS[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:"≥","{":"π","|":"≠","}":"£","~":"·"},n.CHARSETS.A={"#":"£"},n.CHARSETS.B=void 0,n.CHARSETS[4]={"#":"£","@":"¾","[":"ij","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"},n.CHARSETS.C=n.CHARSETS[5]={"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},n.CHARSETS.R={"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"},n.CHARSETS.Q={"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"},n.CHARSETS.K={"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"},n.CHARSETS.Y={"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"},n.CHARSETS.E=n.CHARSETS[6]={"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"},n.CHARSETS.Z={"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"},n.CHARSETS.H=n.CHARSETS[7]={"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"},n.CHARSETS["="]={"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"}},2584:(p,n)=>{var o,f,_;Object.defineProperty(n,"__esModule",{value:!0}),n.C1_ESCAPED=n.C1=n.C0=void 0,function(u){u.NUL="\0",u.SOH="",u.STX="",u.ETX="",u.EOT="",u.ENQ="",u.ACK="",u.BEL="\x07",u.BS="\b",u.HT=" ",u.LF=`
|
|
49
|
+
`,u.VT="\v",u.FF="\f",u.CR="\r",u.SO="",u.SI="",u.DLE="",u.DC1="",u.DC2="",u.DC3="",u.DC4="",u.NAK="",u.SYN="",u.ETB="",u.CAN="",u.EM="",u.SUB="",u.ESC="\x1B",u.FS="",u.GS="",u.RS="",u.US="",u.SP=" ",u.DEL=""}(o||(n.C0=o={})),function(u){u.PAD="",u.HOP="",u.BPH="",u.NBH="",u.IND="",u.NEL="
",u.SSA="",u.ESA="",u.HTS="",u.HTJ="",u.VTS="",u.PLD="",u.PLU="",u.RI="",u.SS2="",u.SS3="",u.DCS="",u.PU1="",u.PU2="",u.STS="",u.CCH="",u.MW="",u.SPA="",u.EPA="",u.SOS="",u.SGCI="",u.SCI="",u.CSI="",u.ST="",u.OSC="",u.PM="",u.APC=""}(f||(n.C1=f={})),function(u){u.ST=`${o.ESC}\\`}(_||(n.C1_ESCAPED=_={}))},7399:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.evaluateKeyboardEvent=void 0;const f=o(2584),_={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:["'",'"']};n.evaluateKeyboardEvent=function(u,m,w,S){const v={type:0,cancel:!1,key:void 0},a=(u.shiftKey?1:0)|(u.altKey?2:0)|(u.ctrlKey?4:0)|(u.metaKey?8:0);switch(u.keyCode){case 0:u.key==="UIKeyInputUpArrow"?v.key=m?f.C0.ESC+"OA":f.C0.ESC+"[A":u.key==="UIKeyInputLeftArrow"?v.key=m?f.C0.ESC+"OD":f.C0.ESC+"[D":u.key==="UIKeyInputRightArrow"?v.key=m?f.C0.ESC+"OC":f.C0.ESC+"[C":u.key==="UIKeyInputDownArrow"&&(v.key=m?f.C0.ESC+"OB":f.C0.ESC+"[B");break;case 8:v.key=u.ctrlKey?"\b":f.C0.DEL,u.altKey&&(v.key=f.C0.ESC+v.key);break;case 9:if(u.shiftKey){v.key=f.C0.ESC+"[Z";break}v.key=f.C0.HT,v.cancel=!0;break;case 13:v.key=u.altKey?f.C0.ESC+f.C0.CR:f.C0.CR,v.cancel=!0;break;case 27:v.key=f.C0.ESC,u.altKey&&(v.key=f.C0.ESC+f.C0.ESC),v.cancel=!0;break;case 37:if(u.metaKey)break;a?(v.key=f.C0.ESC+"[1;"+(a+1)+"D",v.key===f.C0.ESC+"[1;3D"&&(v.key=f.C0.ESC+(w?"b":"[1;5D"))):v.key=m?f.C0.ESC+"OD":f.C0.ESC+"[D";break;case 39:if(u.metaKey)break;a?(v.key=f.C0.ESC+"[1;"+(a+1)+"C",v.key===f.C0.ESC+"[1;3C"&&(v.key=f.C0.ESC+(w?"f":"[1;5C"))):v.key=m?f.C0.ESC+"OC":f.C0.ESC+"[C";break;case 38:if(u.metaKey)break;a?(v.key=f.C0.ESC+"[1;"+(a+1)+"A",w||v.key!==f.C0.ESC+"[1;3A"||(v.key=f.C0.ESC+"[1;5A")):v.key=m?f.C0.ESC+"OA":f.C0.ESC+"[A";break;case 40:if(u.metaKey)break;a?(v.key=f.C0.ESC+"[1;"+(a+1)+"B",w||v.key!==f.C0.ESC+"[1;3B"||(v.key=f.C0.ESC+"[1;5B")):v.key=m?f.C0.ESC+"OB":f.C0.ESC+"[B";break;case 45:u.shiftKey||u.ctrlKey||(v.key=f.C0.ESC+"[2~");break;case 46:v.key=a?f.C0.ESC+"[3;"+(a+1)+"~":f.C0.ESC+"[3~";break;case 36:v.key=a?f.C0.ESC+"[1;"+(a+1)+"H":m?f.C0.ESC+"OH":f.C0.ESC+"[H";break;case 35:v.key=a?f.C0.ESC+"[1;"+(a+1)+"F":m?f.C0.ESC+"OF":f.C0.ESC+"[F";break;case 33:u.shiftKey?v.type=2:u.ctrlKey?v.key=f.C0.ESC+"[5;"+(a+1)+"~":v.key=f.C0.ESC+"[5~";break;case 34:u.shiftKey?v.type=3:u.ctrlKey?v.key=f.C0.ESC+"[6;"+(a+1)+"~":v.key=f.C0.ESC+"[6~";break;case 112:v.key=a?f.C0.ESC+"[1;"+(a+1)+"P":f.C0.ESC+"OP";break;case 113:v.key=a?f.C0.ESC+"[1;"+(a+1)+"Q":f.C0.ESC+"OQ";break;case 114:v.key=a?f.C0.ESC+"[1;"+(a+1)+"R":f.C0.ESC+"OR";break;case 115:v.key=a?f.C0.ESC+"[1;"+(a+1)+"S":f.C0.ESC+"OS";break;case 116:v.key=a?f.C0.ESC+"[15;"+(a+1)+"~":f.C0.ESC+"[15~";break;case 117:v.key=a?f.C0.ESC+"[17;"+(a+1)+"~":f.C0.ESC+"[17~";break;case 118:v.key=a?f.C0.ESC+"[18;"+(a+1)+"~":f.C0.ESC+"[18~";break;case 119:v.key=a?f.C0.ESC+"[19;"+(a+1)+"~":f.C0.ESC+"[19~";break;case 120:v.key=a?f.C0.ESC+"[20;"+(a+1)+"~":f.C0.ESC+"[20~";break;case 121:v.key=a?f.C0.ESC+"[21;"+(a+1)+"~":f.C0.ESC+"[21~";break;case 122:v.key=a?f.C0.ESC+"[23;"+(a+1)+"~":f.C0.ESC+"[23~";break;case 123:v.key=a?f.C0.ESC+"[24;"+(a+1)+"~":f.C0.ESC+"[24~";break;default:if(!u.ctrlKey||u.shiftKey||u.altKey||u.metaKey)if(w&&!S||!u.altKey||u.metaKey)!w||u.altKey||u.ctrlKey||u.shiftKey||!u.metaKey?u.key&&!u.ctrlKey&&!u.altKey&&!u.metaKey&&u.keyCode>=48&&u.key.length===1?v.key=u.key:u.key&&u.ctrlKey&&(u.key==="_"&&(v.key=f.C0.US),u.key==="@"&&(v.key=f.C0.NUL)):u.keyCode===65&&(v.type=1);else{const h=_[u.keyCode],c=h==null?void 0:h[u.shiftKey?1:0];if(c)v.key=f.C0.ESC+c;else if(u.keyCode>=65&&u.keyCode<=90){const d=u.ctrlKey?u.keyCode-64:u.keyCode+32;let y=String.fromCharCode(d);u.shiftKey&&(y=y.toUpperCase()),v.key=f.C0.ESC+y}else if(u.keyCode===32)v.key=f.C0.ESC+(u.ctrlKey?f.C0.NUL:" ");else if(u.key==="Dead"&&u.code.startsWith("Key")){let d=u.code.slice(3,4);u.shiftKey||(d=d.toLowerCase()),v.key=f.C0.ESC+d,v.cancel=!0}}else u.keyCode>=65&&u.keyCode<=90?v.key=String.fromCharCode(u.keyCode-64):u.keyCode===32?v.key=f.C0.NUL:u.keyCode>=51&&u.keyCode<=55?v.key=String.fromCharCode(u.keyCode-51+27):u.keyCode===56?v.key=f.C0.DEL:u.keyCode===219?v.key=f.C0.ESC:u.keyCode===220?v.key=f.C0.FS:u.keyCode===221&&(v.key=f.C0.GS)}return v}},482:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.Utf8ToUtf32=n.StringToUtf32=n.utf32ToString=n.stringFromCodePoint=void 0,n.stringFromCodePoint=function(o){return o>65535?(o-=65536,String.fromCharCode(55296+(o>>10))+String.fromCharCode(o%1024+56320)):String.fromCharCode(o)},n.utf32ToString=function(o,f=0,_=o.length){let u="";for(let m=f;m<_;++m){let w=o[m];w>65535?(w-=65536,u+=String.fromCharCode(55296+(w>>10))+String.fromCharCode(w%1024+56320)):u+=String.fromCharCode(w)}return u},n.StringToUtf32=class{constructor(){this._interim=0}clear(){this._interim=0}decode(o,f){const _=o.length;if(!_)return 0;let u=0,m=0;if(this._interim){const w=o.charCodeAt(m++);56320<=w&&w<=57343?f[u++]=1024*(this._interim-55296)+w-56320+65536:(f[u++]=this._interim,f[u++]=w),this._interim=0}for(let w=m;w<_;++w){const S=o.charCodeAt(w);if(55296<=S&&S<=56319){if(++w>=_)return this._interim=S,u;const v=o.charCodeAt(w);56320<=v&&v<=57343?f[u++]=1024*(S-55296)+v-56320+65536:(f[u++]=S,f[u++]=v)}else S!==65279&&(f[u++]=S)}return u}},n.Utf8ToUtf32=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(o,f){const _=o.length;if(!_)return 0;let u,m,w,S,v=0,a=0,h=0;if(this.interim[0]){let y=!1,C=this.interim[0];C&=(224&C)==192?31:(240&C)==224?15:7;let b,E=0;for(;(b=63&this.interim[++E])&&E<4;)C<<=6,C|=b;const x=(224&this.interim[0])==192?2:(240&this.interim[0])==224?3:4,k=x-E;for(;h<k;){if(h>=_)return 0;if(b=o[h++],(192&b)!=128){h--,y=!0;break}this.interim[E++]=b,C<<=6,C|=63&b}y||(x===2?C<128?h--:f[v++]=C:x===3?C<2048||C>=55296&&C<=57343||C===65279||(f[v++]=C):C<65536||C>1114111||(f[v++]=C)),this.interim.fill(0)}const c=_-4;let d=h;for(;d<_;){for(;!(!(d<c)||128&(u=o[d])||128&(m=o[d+1])||128&(w=o[d+2])||128&(S=o[d+3]));)f[v++]=u,f[v++]=m,f[v++]=w,f[v++]=S,d+=4;if(u=o[d++],u<128)f[v++]=u;else if((224&u)==192){if(d>=_)return this.interim[0]=u,v;if(m=o[d++],(192&m)!=128){d--;continue}if(a=(31&u)<<6|63&m,a<128){d--;continue}f[v++]=a}else if((240&u)==224){if(d>=_)return this.interim[0]=u,v;if(m=o[d++],(192&m)!=128){d--;continue}if(d>=_)return this.interim[0]=u,this.interim[1]=m,v;if(w=o[d++],(192&w)!=128){d--;continue}if(a=(15&u)<<12|(63&m)<<6|63&w,a<2048||a>=55296&&a<=57343||a===65279)continue;f[v++]=a}else if((248&u)==240){if(d>=_)return this.interim[0]=u,v;if(m=o[d++],(192&m)!=128){d--;continue}if(d>=_)return this.interim[0]=u,this.interim[1]=m,v;if(w=o[d++],(192&w)!=128){d--;continue}if(d>=_)return this.interim[0]=u,this.interim[1]=m,this.interim[2]=w,v;if(S=o[d++],(192&S)!=128){d--;continue}if(a=(7&u)<<18|(63&m)<<12|(63&w)<<6|63&S,a<65536||a>1114111)continue;f[v++]=a}}return v}}},225:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.UnicodeV6=void 0;const f=o(1480),_=[[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]],u=[[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]];let m;n.UnicodeV6=class{constructor(){if(this.version="6",!m){m=new Uint8Array(65536),m.fill(1),m[0]=0,m.fill(0,1,32),m.fill(0,127,160),m.fill(2,4352,4448),m[9001]=2,m[9002]=2,m.fill(2,11904,42192),m[12351]=1,m.fill(2,44032,55204),m.fill(2,63744,64256),m.fill(2,65040,65050),m.fill(2,65072,65136),m.fill(2,65280,65377),m.fill(2,65504,65511);for(let w=0;w<_.length;++w)m.fill(0,_[w][0],_[w][1]+1)}}wcwidth(w){return w<32?0:w<127?1:w<65536?m[w]:function(S,v){let a,h=0,c=v.length-1;if(S<v[0][0]||S>v[c][1])return!1;for(;c>=h;)if(a=h+c>>1,S>v[a][1])h=a+1;else{if(!(S<v[a][0]))return!0;c=a-1}return!1}(w,u)?0:w>=131072&&w<=196605||w>=196608&&w<=262141?2:1}charProperties(w,S){let v=this.wcwidth(w),a=v===0&&S!==0;if(a){const h=f.UnicodeService.extractWidth(S);h===0?a=!1:h>v&&(v=h)}return f.UnicodeService.createPropertyValue(0,v,a)}}},5981:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.WriteBuffer=void 0;const f=o(8460),_=o(844);class u extends _.Disposable{constructor(w){super(),this._action=w,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this.register(new f.EventEmitter),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(w,S){if(S!==void 0&&this._syncCalls>S)return void(this._syncCalls=0);if(this._pendingData+=w.length,this._writeBuffer.push(w),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;let v;for(this._isSyncWriting=!0;v=this._writeBuffer.shift();){this._action(v);const a=this._callbacks.shift();a&&a()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(w,S){if(this._pendingData>5e7)throw new Error("write data discarded, use flow control to avoid losing data");if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput)return this._didUserInput=!1,this._pendingData+=w.length,this._writeBuffer.push(w),this._callbacks.push(S),void this._innerWrite();setTimeout(()=>this._innerWrite())}this._pendingData+=w.length,this._writeBuffer.push(w),this._callbacks.push(S)}_innerWrite(w=0,S=!0){const v=w||Date.now();for(;this._writeBuffer.length>this._bufferOffset;){const a=this._writeBuffer[this._bufferOffset],h=this._action(a,S);if(h){const d=y=>Date.now()-v>=12?setTimeout(()=>this._innerWrite(0,y)):this._innerWrite(v,y);return void h.catch(y=>(queueMicrotask(()=>{throw y}),Promise.resolve(!1))).then(d)}const c=this._callbacks[this._bufferOffset];if(c&&c(),this._bufferOffset++,this._pendingData-=a.length,Date.now()-v>=12)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>50&&(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()}}n.WriteBuffer=u},5941:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.toRgbString=n.parseColor=void 0;const o=/^([\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})$/,f=/^[\da-f]+$/;function _(u,m){const w=u.toString(16),S=w.length<2?"0"+w:w;switch(m){case 4:return w[0];case 8:return S;case 12:return(S+S).slice(0,3);default:return S+S}}n.parseColor=function(u){if(!u)return;let m=u.toLowerCase();if(m.indexOf("rgb:")===0){m=m.slice(4);const w=o.exec(m);if(w){const S=w[1]?15:w[4]?255:w[7]?4095:65535;return[Math.round(parseInt(w[1]||w[4]||w[7]||w[10],16)/S*255),Math.round(parseInt(w[2]||w[5]||w[8]||w[11],16)/S*255),Math.round(parseInt(w[3]||w[6]||w[9]||w[12],16)/S*255)]}}else if(m.indexOf("#")===0&&(m=m.slice(1),f.exec(m)&&[3,6,9,12].includes(m.length))){const w=m.length/3,S=[0,0,0];for(let v=0;v<3;++v){const a=parseInt(m.slice(w*v,w*v+w),16);S[v]=w===1?a<<4:w===2?a:w===3?a>>4:a>>8}return S}},n.toRgbString=function(u,m=16){const[w,S,v]=u;return`rgb:${_(w,m)}/${_(S,m)}/${_(v,m)}`}},5770:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.PAYLOAD_LIMIT=void 0,n.PAYLOAD_LIMIT=1e7},6351:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.DcsHandler=n.DcsParser=void 0;const f=o(482),_=o(8742),u=o(5770),m=[];n.DcsParser=class{constructor(){this._handlers=Object.create(null),this._active=m,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=m}registerHandler(S,v){this._handlers[S]===void 0&&(this._handlers[S]=[]);const a=this._handlers[S];return a.push(v),{dispose:()=>{const h=a.indexOf(v);h!==-1&&a.splice(h,1)}}}clearHandler(S){this._handlers[S]&&delete this._handlers[S]}setHandlerFallback(S){this._handlerFb=S}reset(){if(this._active.length)for(let S=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;S>=0;--S)this._active[S].unhook(!1);this._stack.paused=!1,this._active=m,this._ident=0}hook(S,v){if(this.reset(),this._ident=S,this._active=this._handlers[S]||m,this._active.length)for(let a=this._active.length-1;a>=0;a--)this._active[a].hook(v);else this._handlerFb(this._ident,"HOOK",v)}put(S,v,a){if(this._active.length)for(let h=this._active.length-1;h>=0;h--)this._active[h].put(S,v,a);else this._handlerFb(this._ident,"PUT",(0,f.utf32ToString)(S,v,a))}unhook(S,v=!0){if(this._active.length){let a=!1,h=this._active.length-1,c=!1;if(this._stack.paused&&(h=this._stack.loopPosition-1,a=v,c=this._stack.fallThrough,this._stack.paused=!1),!c&&a===!1){for(;h>=0&&(a=this._active[h].unhook(S),a!==!0);h--)if(a instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=h,this._stack.fallThrough=!1,a;h--}for(;h>=0;h--)if(a=this._active[h].unhook(!1),a instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=h,this._stack.fallThrough=!0,a}else this._handlerFb(this._ident,"UNHOOK",S);this._active=m,this._ident=0}};const w=new _.Params;w.addParam(0),n.DcsHandler=class{constructor(S){this._handler=S,this._data="",this._params=w,this._hitLimit=!1}hook(S){this._params=S.length>1||S.params[0]?S.clone():w,this._data="",this._hitLimit=!1}put(S,v,a){this._hitLimit||(this._data+=(0,f.utf32ToString)(S,v,a),this._data.length>u.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))}unhook(S){let v=!1;if(this._hitLimit)v=!1;else if(S&&(v=this._handler(this._data,this._params),v instanceof Promise))return v.then(a=>(this._params=w,this._data="",this._hitLimit=!1,a));return this._params=w,this._data="",this._hitLimit=!1,v}}},2015:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.EscapeSequenceParser=n.VT500_TRANSITION_TABLE=n.TransitionTable=void 0;const f=o(844),_=o(8742),u=o(6242),m=o(6351);class w{constructor(h){this.table=new Uint8Array(h)}setDefault(h,c){this.table.fill(h<<4|c)}add(h,c,d,y){this.table[c<<8|h]=d<<4|y}addMany(h,c,d,y){for(let C=0;C<h.length;C++)this.table[c<<8|h[C]]=d<<4|y}}n.TransitionTable=w;const S=160;n.VT500_TRANSITION_TABLE=function(){const a=new w(4095),h=Array.apply(null,Array(256)).map((E,x)=>x),c=(E,x)=>h.slice(E,x),d=c(32,127),y=c(0,24);y.push(25),y.push.apply(y,c(28,32));const C=c(0,14);let b;for(b in a.setDefault(1,0),a.addMany(d,0,2,0),C)a.addMany([24,26,153,154],b,3,0),a.addMany(c(128,144),b,3,0),a.addMany(c(144,152),b,3,0),a.add(156,b,0,0),a.add(27,b,11,1),a.add(157,b,4,8),a.addMany([152,158,159],b,0,7),a.add(155,b,11,3),a.add(144,b,11,9);return a.addMany(y,0,3,0),a.addMany(y,1,3,1),a.add(127,1,0,1),a.addMany(y,8,0,8),a.addMany(y,3,3,3),a.add(127,3,0,3),a.addMany(y,4,3,4),a.add(127,4,0,4),a.addMany(y,6,3,6),a.addMany(y,5,3,5),a.add(127,5,0,5),a.addMany(y,2,3,2),a.add(127,2,0,2),a.add(93,1,4,8),a.addMany(d,8,5,8),a.add(127,8,5,8),a.addMany([156,27,24,26,7],8,6,0),a.addMany(c(28,32),8,0,8),a.addMany([88,94,95],1,0,7),a.addMany(d,7,0,7),a.addMany(y,7,0,7),a.add(156,7,0,0),a.add(127,7,0,7),a.add(91,1,11,3),a.addMany(c(64,127),3,7,0),a.addMany(c(48,60),3,8,4),a.addMany([60,61,62,63],3,9,4),a.addMany(c(48,60),4,8,4),a.addMany(c(64,127),4,7,0),a.addMany([60,61,62,63],4,0,6),a.addMany(c(32,64),6,0,6),a.add(127,6,0,6),a.addMany(c(64,127),6,0,0),a.addMany(c(32,48),3,9,5),a.addMany(c(32,48),5,9,5),a.addMany(c(48,64),5,0,6),a.addMany(c(64,127),5,7,0),a.addMany(c(32,48),4,9,5),a.addMany(c(32,48),1,9,2),a.addMany(c(32,48),2,9,2),a.addMany(c(48,127),2,10,0),a.addMany(c(48,80),1,10,0),a.addMany(c(81,88),1,10,0),a.addMany([89,90,92],1,10,0),a.addMany(c(96,127),1,10,0),a.add(80,1,11,9),a.addMany(y,9,0,9),a.add(127,9,0,9),a.addMany(c(28,32),9,0,9),a.addMany(c(32,48),9,9,12),a.addMany(c(48,60),9,8,10),a.addMany([60,61,62,63],9,9,10),a.addMany(y,11,0,11),a.addMany(c(32,128),11,0,11),a.addMany(c(28,32),11,0,11),a.addMany(y,10,0,10),a.add(127,10,0,10),a.addMany(c(28,32),10,0,10),a.addMany(c(48,60),10,8,10),a.addMany([60,61,62,63],10,0,11),a.addMany(c(32,48),10,9,12),a.addMany(y,12,0,12),a.add(127,12,0,12),a.addMany(c(28,32),12,0,12),a.addMany(c(32,48),12,9,12),a.addMany(c(48,64),12,0,11),a.addMany(c(64,127),12,12,13),a.addMany(c(64,127),10,12,13),a.addMany(c(64,127),9,12,13),a.addMany(y,13,13,13),a.addMany(d,13,13,13),a.add(127,13,0,13),a.addMany([27,156,24,26],13,14,0),a.add(S,0,2,0),a.add(S,8,5,8),a.add(S,6,0,6),a.add(S,11,0,11),a.add(S,13,13,13),a}();class v extends f.Disposable{constructor(h=n.VT500_TRANSITION_TABLE){super(),this._transitions=h,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new _.Params,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(c,d,y)=>{},this._executeHandlerFb=c=>{},this._csiHandlerFb=(c,d)=>{},this._escHandlerFb=c=>{},this._errorHandlerFb=c=>c,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this.register((0,f.toDisposable)(()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)})),this._oscParser=this.register(new u.OscParser),this._dcsParser=this.register(new m.DcsParser),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:"\\"},()=>!0)}_identifier(h,c=[64,126]){let d=0;if(h.prefix){if(h.prefix.length>1)throw new Error("only one byte as prefix supported");if(d=h.prefix.charCodeAt(0),d&&60>d||d>63)throw new Error("prefix must be in range 0x3c .. 0x3f")}if(h.intermediates){if(h.intermediates.length>2)throw new Error("only two bytes as intermediates are supported");for(let C=0;C<h.intermediates.length;++C){const b=h.intermediates.charCodeAt(C);if(32>b||b>47)throw new Error("intermediate must be in range 0x20 .. 0x2f");d<<=8,d|=b}}if(h.final.length!==1)throw new Error("final must be a single byte");const y=h.final.charCodeAt(0);if(c[0]>y||y>c[1])throw new Error(`final must be in range ${c[0]} .. ${c[1]}`);return d<<=8,d|=y,d}identToString(h){const c=[];for(;h;)c.push(String.fromCharCode(255&h)),h>>=8;return c.reverse().join("")}setPrintHandler(h){this._printHandler=h}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(h,c){const d=this._identifier(h,[48,126]);this._escHandlers[d]===void 0&&(this._escHandlers[d]=[]);const y=this._escHandlers[d];return y.push(c),{dispose:()=>{const C=y.indexOf(c);C!==-1&&y.splice(C,1)}}}clearEscHandler(h){this._escHandlers[this._identifier(h,[48,126])]&&delete this._escHandlers[this._identifier(h,[48,126])]}setEscHandlerFallback(h){this._escHandlerFb=h}setExecuteHandler(h,c){this._executeHandlers[h.charCodeAt(0)]=c}clearExecuteHandler(h){this._executeHandlers[h.charCodeAt(0)]&&delete this._executeHandlers[h.charCodeAt(0)]}setExecuteHandlerFallback(h){this._executeHandlerFb=h}registerCsiHandler(h,c){const d=this._identifier(h);this._csiHandlers[d]===void 0&&(this._csiHandlers[d]=[]);const y=this._csiHandlers[d];return y.push(c),{dispose:()=>{const C=y.indexOf(c);C!==-1&&y.splice(C,1)}}}clearCsiHandler(h){this._csiHandlers[this._identifier(h)]&&delete this._csiHandlers[this._identifier(h)]}setCsiHandlerFallback(h){this._csiHandlerFb=h}registerDcsHandler(h,c){return this._dcsParser.registerHandler(this._identifier(h),c)}clearDcsHandler(h){this._dcsParser.clearHandler(this._identifier(h))}setDcsHandlerFallback(h){this._dcsParser.setHandlerFallback(h)}registerOscHandler(h,c){return this._oscParser.registerHandler(h,c)}clearOscHandler(h){this._oscParser.clearHandler(h)}setOscHandlerFallback(h){this._oscParser.setHandlerFallback(h)}setErrorHandler(h){this._errorHandler=h}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(h,c,d,y,C){this._parseStack.state=h,this._parseStack.handlers=c,this._parseStack.handlerPos=d,this._parseStack.transition=y,this._parseStack.chunkPos=C}parse(h,c,d){let y,C=0,b=0,E=0;if(this._parseStack.state)if(this._parseStack.state===2)this._parseStack.state=0,E=this._parseStack.chunkPos+1;else{if(d===void 0||this._parseStack.state===1)throw this._parseStack.state=1,new Error("improper continuation due to previous async handler, giving up parsing");const x=this._parseStack.handlers;let k=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(d===!1&&k>-1){for(;k>=0&&(y=x[k](this._params),y!==!0);k--)if(y instanceof Promise)return this._parseStack.handlerPos=k,y}this._parseStack.handlers=[];break;case 4:if(d===!1&&k>-1){for(;k>=0&&(y=x[k](),y!==!0);k--)if(y instanceof Promise)return this._parseStack.handlerPos=k,y}this._parseStack.handlers=[];break;case 6:if(C=h[this._parseStack.chunkPos],y=this._dcsParser.unhook(C!==24&&C!==26,d),y)return y;C===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(C=h[this._parseStack.chunkPos],y=this._oscParser.end(C!==24&&C!==26,d),y)return y;C===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0}this._parseStack.state=0,E=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=15&this._parseStack.transition}for(let x=E;x<c;++x){switch(C=h[x],b=this._transitions.table[this.currentState<<8|(C<160?C:S)],b>>4){case 2:for(let P=x+1;;++P){if(P>=c||(C=h[P])<32||C>126&&C<S){this._printHandler(h,x,P),x=P-1;break}if(++P>=c||(C=h[P])<32||C>126&&C<S){this._printHandler(h,x,P),x=P-1;break}if(++P>=c||(C=h[P])<32||C>126&&C<S){this._printHandler(h,x,P),x=P-1;break}if(++P>=c||(C=h[P])<32||C>126&&C<S){this._printHandler(h,x,P),x=P-1;break}}break;case 3:this._executeHandlers[C]?this._executeHandlers[C]():this._executeHandlerFb(C),this.precedingJoinState=0;break;case 0:break;case 1:if(this._errorHandler({position:x,code:C,currentState:this.currentState,collect:this._collect,params:this._params,abort:!1}).abort)return;break;case 7:const k=this._csiHandlers[this._collect<<8|C];let L=k?k.length-1:-1;for(;L>=0&&(y=k[L](this._params),y!==!0);L--)if(y instanceof Promise)return this._preserveStack(3,k,L,b,x),y;L<0&&this._csiHandlerFb(this._collect<<8|C,this._params),this.precedingJoinState=0;break;case 8:do switch(C){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(C-48)}while(++x<c&&(C=h[x])>47&&C<60);x--;break;case 9:this._collect<<=8,this._collect|=C;break;case 10:const I=this._escHandlers[this._collect<<8|C];let A=I?I.length-1:-1;for(;A>=0&&(y=I[A](),y!==!0);A--)if(y instanceof Promise)return this._preserveStack(4,I,A,b,x),y;A<0&&this._escHandlerFb(this._collect<<8|C),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|C,this._params);break;case 13:for(let P=x+1;;++P)if(P>=c||(C=h[P])===24||C===26||C===27||C>127&&C<S){this._dcsParser.put(h,x,P),x=P-1;break}break;case 14:if(y=this._dcsParser.unhook(C!==24&&C!==26),y)return this._preserveStack(6,[],0,b,x),y;C===27&&(b|=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 P=x+1;;P++)if(P>=c||(C=h[P])<32||C>127&&C<S){this._oscParser.put(h,x,P),x=P-1;break}break;case 6:if(y=this._oscParser.end(C!==24&&C!==26),y)return this._preserveStack(5,[],0,b,x),y;C===27&&(b|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0}this.currentState=15&b}}}n.EscapeSequenceParser=v},6242:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.OscHandler=n.OscParser=void 0;const f=o(5770),_=o(482),u=[];n.OscParser=class{constructor(){this._state=0,this._active=u,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(m,w){this._handlers[m]===void 0&&(this._handlers[m]=[]);const S=this._handlers[m];return S.push(w),{dispose:()=>{const v=S.indexOf(w);v!==-1&&S.splice(v,1)}}}clearHandler(m){this._handlers[m]&&delete this._handlers[m]}setHandlerFallback(m){this._handlerFb=m}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=u}reset(){if(this._state===2)for(let m=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;m>=0;--m)this._active[m].end(!1);this._stack.paused=!1,this._active=u,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||u,this._active.length)for(let m=this._active.length-1;m>=0;m--)this._active[m].start();else this._handlerFb(this._id,"START")}_put(m,w,S){if(this._active.length)for(let v=this._active.length-1;v>=0;v--)this._active[v].put(m,w,S);else this._handlerFb(this._id,"PUT",(0,_.utf32ToString)(m,w,S))}start(){this.reset(),this._state=1}put(m,w,S){if(this._state!==3){if(this._state===1)for(;w<S;){const v=m[w++];if(v===59){this._state=2,this._start();break}if(v<48||57<v)return void(this._state=3);this._id===-1&&(this._id=0),this._id=10*this._id+v-48}this._state===2&&S-w>0&&this._put(m,w,S)}}end(m,w=!0){if(this._state!==0){if(this._state!==3)if(this._state===1&&this._start(),this._active.length){let S=!1,v=this._active.length-1,a=!1;if(this._stack.paused&&(v=this._stack.loopPosition-1,S=w,a=this._stack.fallThrough,this._stack.paused=!1),!a&&S===!1){for(;v>=0&&(S=this._active[v].end(m),S!==!0);v--)if(S instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=v,this._stack.fallThrough=!1,S;v--}for(;v>=0;v--)if(S=this._active[v].end(!1),S instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=v,this._stack.fallThrough=!0,S}else this._handlerFb(this._id,"END",m);this._active=u,this._id=-1,this._state=0}}},n.OscHandler=class{constructor(m){this._handler=m,this._data="",this._hitLimit=!1}start(){this._data="",this._hitLimit=!1}put(m,w,S){this._hitLimit||(this._data+=(0,_.utf32ToString)(m,w,S),this._data.length>f.PAYLOAD_LIMIT&&(this._data="",this._hitLimit=!0))}end(m){let w=!1;if(this._hitLimit)w=!1;else if(m&&(w=this._handler(this._data),w instanceof Promise))return w.then(S=>(this._data="",this._hitLimit=!1,S));return this._data="",this._hitLimit=!1,w}}},8742:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.Params=void 0;const o=2147483647;class f{static fromArray(u){const m=new f;if(!u.length)return m;for(let w=Array.isArray(u[0])?1:0;w<u.length;++w){const S=u[w];if(Array.isArray(S))for(let v=0;v<S.length;++v)m.addSubParam(S[v]);else m.addParam(S)}return m}constructor(u=32,m=32){if(this.maxLength=u,this.maxSubParamsLength=m,m>256)throw new Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(u),this.length=0,this._subParams=new Int32Array(m),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(u),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}clone(){const u=new f(this.maxLength,this.maxSubParamsLength);return u.params.set(this.params),u.length=this.length,u._subParams.set(this._subParams),u._subParamsLength=this._subParamsLength,u._subParamsIdx.set(this._subParamsIdx),u._rejectDigits=this._rejectDigits,u._rejectSubDigits=this._rejectSubDigits,u._digitIsSub=this._digitIsSub,u}toArray(){const u=[];for(let m=0;m<this.length;++m){u.push(this.params[m]);const w=this._subParamsIdx[m]>>8,S=255&this._subParamsIdx[m];S-w>0&&u.push(Array.prototype.slice.call(this._subParams,w,S))}return u}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(u){if(this._digitIsSub=!1,this.length>=this.maxLength)this._rejectDigits=!0;else{if(u<-1)throw new Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=u>o?o:u}}addSubParam(u){if(this._digitIsSub=!0,this.length)if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength)this._rejectSubDigits=!0;else{if(u<-1)throw new Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=u>o?o:u,this._subParamsIdx[this.length-1]++}}hasSubParams(u){return(255&this._subParamsIdx[u])-(this._subParamsIdx[u]>>8)>0}getSubParams(u){const m=this._subParamsIdx[u]>>8,w=255&this._subParamsIdx[u];return w-m>0?this._subParams.subarray(m,w):null}getSubParamsAll(){const u={};for(let m=0;m<this.length;++m){const w=this._subParamsIdx[m]>>8,S=255&this._subParamsIdx[m];S-w>0&&(u[m]=this._subParams.slice(w,S))}return u}addDigit(u){let m;if(this._rejectDigits||!(m=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;const w=this._digitIsSub?this._subParams:this.params,S=w[m-1];w[m-1]=~S?Math.min(10*S+u,o):u}}n.Params=f},5741:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.AddonManager=void 0,n.AddonManager=class{constructor(){this._addons=[]}dispose(){for(let o=this._addons.length-1;o>=0;o--)this._addons[o].instance.dispose()}loadAddon(o,f){const _={instance:f,dispose:f.dispose,isDisposed:!1};this._addons.push(_),f.dispose=()=>this._wrappedAddonDispose(_),f.activate(o)}_wrappedAddonDispose(o){if(o.isDisposed)return;let f=-1;for(let _=0;_<this._addons.length;_++)if(this._addons[_]===o){f=_;break}if(f===-1)throw new Error("Could not dispose an addon that has not been loaded");o.isDisposed=!0,o.dispose.apply(o.instance),this._addons.splice(f,1)}}},8771:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.BufferApiView=void 0;const f=o(3785),_=o(511);n.BufferApiView=class{constructor(u,m){this._buffer=u,this.type=m}init(u){return this._buffer=u,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(u){const m=this._buffer.lines.get(u);if(m)return new f.BufferLineApiView(m)}getNullCell(){return new _.CellData}}},3785:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.BufferLineApiView=void 0;const f=o(511);n.BufferLineApiView=class{constructor(_){this._line=_}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(_,u){if(!(_<0||_>=this._line.length))return u?(this._line.loadCell(_,u),u):this._line.loadCell(_,new f.CellData)}translateToString(_,u,m){return this._line.translateToString(_,u,m)}}},8285:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.BufferNamespaceApi=void 0;const f=o(8771),_=o(8460),u=o(844);class m extends u.Disposable{constructor(S){super(),this._core=S,this._onBufferChange=this.register(new _.EventEmitter),this.onBufferChange=this._onBufferChange.event,this._normal=new f.BufferApiView(this._core.buffers.normal,"normal"),this._alternate=new f.BufferApiView(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)}}n.BufferNamespaceApi=m},7975:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.ParserApi=void 0,n.ParserApi=class{constructor(o){this._core=o}registerCsiHandler(o,f){return this._core.registerCsiHandler(o,_=>f(_.toArray()))}addCsiHandler(o,f){return this.registerCsiHandler(o,f)}registerDcsHandler(o,f){return this._core.registerDcsHandler(o,(_,u)=>f(_,u.toArray()))}addDcsHandler(o,f){return this.registerDcsHandler(o,f)}registerEscHandler(o,f){return this._core.registerEscHandler(o,f)}addEscHandler(o,f){return this.registerEscHandler(o,f)}registerOscHandler(o,f){return this._core.registerOscHandler(o,f)}addOscHandler(o,f){return this.registerOscHandler(o,f)}}},7090:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.UnicodeApi=void 0,n.UnicodeApi=class{constructor(o){this._core=o}register(o){this._core.unicodeService.register(o)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(o){this._core.unicodeService.activeVersion=o}}},744:function(p,n,o){var f=this&&this.__decorate||function(a,h,c,d){var y,C=arguments.length,b=C<3?h:d===null?d=Object.getOwnPropertyDescriptor(h,c):d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")b=Reflect.decorate(a,h,c,d);else for(var E=a.length-1;E>=0;E--)(y=a[E])&&(b=(C<3?y(b):C>3?y(h,c,b):y(h,c))||b);return C>3&&b&&Object.defineProperty(h,c,b),b},_=this&&this.__param||function(a,h){return function(c,d){h(c,d,a)}};Object.defineProperty(n,"__esModule",{value:!0}),n.BufferService=n.MINIMUM_ROWS=n.MINIMUM_COLS=void 0;const u=o(8460),m=o(844),w=o(5295),S=o(2585);n.MINIMUM_COLS=2,n.MINIMUM_ROWS=1;let v=n.BufferService=class extends m.Disposable{get buffer(){return this.buffers.active}constructor(a){super(),this.isUserScrolling=!1,this._onResize=this.register(new u.EventEmitter),this.onResize=this._onResize.event,this._onScroll=this.register(new u.EventEmitter),this.onScroll=this._onScroll.event,this.cols=Math.max(a.rawOptions.cols||0,n.MINIMUM_COLS),this.rows=Math.max(a.rawOptions.rows||0,n.MINIMUM_ROWS),this.buffers=this.register(new w.BufferSet(a,this))}resize(a,h){this.cols=a,this.rows=h,this.buffers.resize(a,h),this._onResize.fire({cols:a,rows:h})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(a,h=!1){const c=this.buffer;let d;d=this._cachedBlankLine,d&&d.length===this.cols&&d.getFg(0)===a.fg&&d.getBg(0)===a.bg||(d=c.getBlankLine(a,h),this._cachedBlankLine=d),d.isWrapped=h;const y=c.ybase+c.scrollTop,C=c.ybase+c.scrollBottom;if(c.scrollTop===0){const b=c.lines.isFull;C===c.lines.length-1?b?c.lines.recycle().copyFrom(d):c.lines.push(d.clone()):c.lines.splice(C+1,0,d.clone()),b?this.isUserScrolling&&(c.ydisp=Math.max(c.ydisp-1,0)):(c.ybase++,this.isUserScrolling||c.ydisp++)}else{const b=C-y+1;c.lines.shiftElements(y+1,b-1,-1),c.lines.set(C,d.clone())}this.isUserScrolling||(c.ydisp=c.ybase),this._onScroll.fire(c.ydisp)}scrollLines(a,h,c){const d=this.buffer;if(a<0){if(d.ydisp===0)return;this.isUserScrolling=!0}else a+d.ydisp>=d.ybase&&(this.isUserScrolling=!1);const y=d.ydisp;d.ydisp=Math.max(Math.min(d.ydisp+a,d.ybase),0),y!==d.ydisp&&(h||this._onScroll.fire(d.ydisp))}};n.BufferService=v=f([_(0,S.IOptionsService)],v)},7994:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.CharsetService=void 0,n.CharsetService=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(o){this.glevel=o,this.charset=this._charsets[o]}setgCharset(o,f){this._charsets[o]=f,this.glevel===o&&(this.charset=f)}}},1753:function(p,n,o){var f=this&&this.__decorate||function(d,y,C,b){var E,x=arguments.length,k=x<3?y:b===null?b=Object.getOwnPropertyDescriptor(y,C):b;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")k=Reflect.decorate(d,y,C,b);else for(var L=d.length-1;L>=0;L--)(E=d[L])&&(k=(x<3?E(k):x>3?E(y,C,k):E(y,C))||k);return x>3&&k&&Object.defineProperty(y,C,k),k},_=this&&this.__param||function(d,y){return function(C,b){y(C,b,d)}};Object.defineProperty(n,"__esModule",{value:!0}),n.CoreMouseService=void 0;const u=o(2585),m=o(8460),w=o(844),S={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:d=>d.button!==4&&d.action===1&&(d.ctrl=!1,d.alt=!1,d.shift=!1,!0)},VT200:{events:19,restrict:d=>d.action!==32},DRAG:{events:23,restrict:d=>d.action!==32||d.button!==3},ANY:{events:31,restrict:d=>!0}};function v(d,y){let C=(d.ctrl?16:0)|(d.shift?4:0)|(d.alt?8:0);return d.button===4?(C|=64,C|=d.action):(C|=3&d.button,4&d.button&&(C|=64),8&d.button&&(C|=128),d.action===32?C|=32:d.action!==0||y||(C|=3)),C}const a=String.fromCharCode,h={DEFAULT:d=>{const y=[v(d,!1)+32,d.col+32,d.row+32];return y[0]>255||y[1]>255||y[2]>255?"":`\x1B[M${a(y[0])}${a(y[1])}${a(y[2])}`},SGR:d=>{const y=d.action===0&&d.button!==4?"m":"M";return`\x1B[<${v(d,!0)};${d.col};${d.row}${y}`},SGR_PIXELS:d=>{const y=d.action===0&&d.button!==4?"m":"M";return`\x1B[<${v(d,!0)};${d.x};${d.y}${y}`}};let c=n.CoreMouseService=class extends w.Disposable{constructor(d,y){super(),this._bufferService=d,this._coreService=y,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._lastEvent=null,this._onProtocolChange=this.register(new m.EventEmitter),this.onProtocolChange=this._onProtocolChange.event;for(const C of Object.keys(S))this.addProtocol(C,S[C]);for(const C of Object.keys(h))this.addEncoding(C,h[C]);this.reset()}addProtocol(d,y){this._protocols[d]=y}addEncoding(d,y){this._encodings[d]=y}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(d){if(!this._protocols[d])throw new Error(`unknown protocol "${d}"`);this._activeProtocol=d,this._onProtocolChange.fire(this._protocols[d].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(d){if(!this._encodings[d])throw new Error(`unknown encoding "${d}"`);this._activeEncoding=d}reset(){this.activeProtocol="NONE",this.activeEncoding="DEFAULT",this._lastEvent=null}triggerMouseEvent(d){if(d.col<0||d.col>=this._bufferService.cols||d.row<0||d.row>=this._bufferService.rows||d.button===4&&d.action===32||d.button===3&&d.action!==32||d.button!==4&&(d.action===2||d.action===3)||(d.col++,d.row++,d.action===32&&this._lastEvent&&this._equalEvents(this._lastEvent,d,this._activeEncoding==="SGR_PIXELS"))||!this._protocols[this._activeProtocol].restrict(d))return!1;const y=this._encodings[this._activeEncoding](d);return y&&(this._activeEncoding==="DEFAULT"?this._coreService.triggerBinaryEvent(y):this._coreService.triggerDataEvent(y,!0)),this._lastEvent=d,!0}explainEvents(d){return{down:!!(1&d),up:!!(2&d),drag:!!(4&d),move:!!(8&d),wheel:!!(16&d)}}_equalEvents(d,y,C){if(C){if(d.x!==y.x||d.y!==y.y)return!1}else if(d.col!==y.col||d.row!==y.row)return!1;return d.button===y.button&&d.action===y.action&&d.ctrl===y.ctrl&&d.alt===y.alt&&d.shift===y.shift}};n.CoreMouseService=c=f([_(0,u.IBufferService),_(1,u.ICoreService)],c)},6975:function(p,n,o){var f=this&&this.__decorate||function(c,d,y,C){var b,E=arguments.length,x=E<3?d:C===null?C=Object.getOwnPropertyDescriptor(d,y):C;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")x=Reflect.decorate(c,d,y,C);else for(var k=c.length-1;k>=0;k--)(b=c[k])&&(x=(E<3?b(x):E>3?b(d,y,x):b(d,y))||x);return E>3&&x&&Object.defineProperty(d,y,x),x},_=this&&this.__param||function(c,d){return function(y,C){d(y,C,c)}};Object.defineProperty(n,"__esModule",{value:!0}),n.CoreService=void 0;const u=o(1439),m=o(8460),w=o(844),S=o(2585),v=Object.freeze({insertMode:!1}),a=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,origin:!1,reverseWraparound:!1,sendFocus:!1,wraparound:!0});let h=n.CoreService=class extends w.Disposable{constructor(c,d,y){super(),this._bufferService=c,this._logService=d,this._optionsService=y,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this.register(new m.EventEmitter),this.onData=this._onData.event,this._onUserInput=this.register(new m.EventEmitter),this.onUserInput=this._onUserInput.event,this._onBinary=this.register(new m.EventEmitter),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this.register(new m.EventEmitter),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=(0,u.clone)(v),this.decPrivateModes=(0,u.clone)(a)}reset(){this.modes=(0,u.clone)(v),this.decPrivateModes=(0,u.clone)(a)}triggerDataEvent(c,d=!1){if(this._optionsService.rawOptions.disableStdin)return;const y=this._bufferService.buffer;d&&this._optionsService.rawOptions.scrollOnUserInput&&y.ybase!==y.ydisp&&this._onRequestScrollToBottom.fire(),d&&this._onUserInput.fire(),this._logService.debug(`sending data "${c}"`,()=>c.split("").map(C=>C.charCodeAt(0))),this._onData.fire(c)}triggerBinaryEvent(c){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${c}"`,()=>c.split("").map(d=>d.charCodeAt(0))),this._onBinary.fire(c))}};n.CoreService=h=f([_(0,S.IBufferService),_(1,S.ILogService),_(2,S.IOptionsService)],h)},9074:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.DecorationService=void 0;const f=o(8055),_=o(8460),u=o(844),m=o(6106);let w=0,S=0;class v extends u.Disposable{get decorations(){return this._decorations.values()}constructor(){super(),this._decorations=new m.SortedList(c=>c==null?void 0:c.marker.line),this._onDecorationRegistered=this.register(new _.EventEmitter),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this.register(new _.EventEmitter),this.onDecorationRemoved=this._onDecorationRemoved.event,this.register((0,u.toDisposable)(()=>this.reset()))}registerDecoration(c){if(c.marker.isDisposed)return;const d=new a(c);if(d){const y=d.marker.onDispose(()=>d.dispose());d.onDispose(()=>{d&&(this._decorations.delete(d)&&this._onDecorationRemoved.fire(d),y.dispose())}),this._decorations.insert(d),this._onDecorationRegistered.fire(d)}return d}reset(){for(const c of this._decorations.values())c.dispose();this._decorations.clear()}*getDecorationsAtCell(c,d,y){let C=0,b=0;for(const E of this._decorations.getKeyIterator(d))C=E.options.x??0,b=C+(E.options.width??1),c>=C&&c<b&&(!y||(E.options.layer??"bottom")===y)&&(yield E)}forEachDecorationAtCell(c,d,y,C){this._decorations.forEachByKey(d,b=>{w=b.options.x??0,S=w+(b.options.width??1),c>=w&&c<S&&(!y||(b.options.layer??"bottom")===y)&&C(b)})}}n.DecorationService=v;class a extends u.Disposable{get isDisposed(){return this._isDisposed}get backgroundColorRGB(){return this._cachedBg===null&&(this.options.backgroundColor?this._cachedBg=f.css.toColor(this.options.backgroundColor):this._cachedBg=void 0),this._cachedBg}get foregroundColorRGB(){return this._cachedFg===null&&(this.options.foregroundColor?this._cachedFg=f.css.toColor(this.options.foregroundColor):this._cachedFg=void 0),this._cachedFg}constructor(c){super(),this.options=c,this.onRenderEmitter=this.register(new _.EventEmitter),this.onRender=this.onRenderEmitter.event,this._onDispose=this.register(new _.EventEmitter),this.onDispose=this._onDispose.event,this._cachedBg=null,this._cachedFg=null,this.marker=c.marker,this.options.overviewRulerOptions&&!this.options.overviewRulerOptions.position&&(this.options.overviewRulerOptions.position="full")}dispose(){this._onDispose.fire(),super.dispose()}}},4348:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.InstantiationService=n.ServiceCollection=void 0;const f=o(2585),_=o(8343);class u{constructor(...w){this._entries=new Map;for(const[S,v]of w)this.set(S,v)}set(w,S){const v=this._entries.get(w);return this._entries.set(w,S),v}forEach(w){for(const[S,v]of this._entries.entries())w(S,v)}has(w){return this._entries.has(w)}get(w){return this._entries.get(w)}}n.ServiceCollection=u,n.InstantiationService=class{constructor(){this._services=new u,this._services.set(f.IInstantiationService,this)}setService(m,w){this._services.set(m,w)}getService(m){return this._services.get(m)}createInstance(m,...w){const S=(0,_.getServiceDependencies)(m).sort((h,c)=>h.index-c.index),v=[];for(const h of S){const c=this._services.get(h.id);if(!c)throw new Error(`[createInstance] ${m.name} depends on UNKNOWN service ${h.id}.`);v.push(c)}const a=S.length>0?S[0].index:w.length;if(w.length!==a)throw new Error(`[createInstance] First service dependency of ${m.name} at position ${a+1} conflicts with ${w.length} static arguments`);return new m(...w,...v)}}},7866:function(p,n,o){var f=this&&this.__decorate||function(a,h,c,d){var y,C=arguments.length,b=C<3?h:d===null?d=Object.getOwnPropertyDescriptor(h,c):d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")b=Reflect.decorate(a,h,c,d);else for(var E=a.length-1;E>=0;E--)(y=a[E])&&(b=(C<3?y(b):C>3?y(h,c,b):y(h,c))||b);return C>3&&b&&Object.defineProperty(h,c,b),b},_=this&&this.__param||function(a,h){return function(c,d){h(c,d,a)}};Object.defineProperty(n,"__esModule",{value:!0}),n.traceCall=n.setTraceLogger=n.LogService=void 0;const u=o(844),m=o(2585),w={trace:m.LogLevelEnum.TRACE,debug:m.LogLevelEnum.DEBUG,info:m.LogLevelEnum.INFO,warn:m.LogLevelEnum.WARN,error:m.LogLevelEnum.ERROR,off:m.LogLevelEnum.OFF};let S,v=n.LogService=class extends u.Disposable{get logLevel(){return this._logLevel}constructor(a){super(),this._optionsService=a,this._logLevel=m.LogLevelEnum.OFF,this._updateLogLevel(),this.register(this._optionsService.onSpecificOptionChange("logLevel",()=>this._updateLogLevel())),S=this}_updateLogLevel(){this._logLevel=w[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(a){for(let h=0;h<a.length;h++)typeof a[h]=="function"&&(a[h]=a[h]())}_log(a,h,c){this._evalLazyOptionalParams(c),a.call(console,(this._optionsService.options.logger?"":"xterm.js: ")+h,...c)}trace(a,...h){var c;this._logLevel<=m.LogLevelEnum.TRACE&&this._log(((c=this._optionsService.options.logger)==null?void 0:c.trace.bind(this._optionsService.options.logger))??console.log,a,h)}debug(a,...h){var c;this._logLevel<=m.LogLevelEnum.DEBUG&&this._log(((c=this._optionsService.options.logger)==null?void 0:c.debug.bind(this._optionsService.options.logger))??console.log,a,h)}info(a,...h){var c;this._logLevel<=m.LogLevelEnum.INFO&&this._log(((c=this._optionsService.options.logger)==null?void 0:c.info.bind(this._optionsService.options.logger))??console.info,a,h)}warn(a,...h){var c;this._logLevel<=m.LogLevelEnum.WARN&&this._log(((c=this._optionsService.options.logger)==null?void 0:c.warn.bind(this._optionsService.options.logger))??console.warn,a,h)}error(a,...h){var c;this._logLevel<=m.LogLevelEnum.ERROR&&this._log(((c=this._optionsService.options.logger)==null?void 0:c.error.bind(this._optionsService.options.logger))??console.error,a,h)}};n.LogService=v=f([_(0,m.IOptionsService)],v),n.setTraceLogger=function(a){S=a},n.traceCall=function(a,h,c){if(typeof c.value!="function")throw new Error("not supported");const d=c.value;c.value=function(...y){if(S.logLevel!==m.LogLevelEnum.TRACE)return d.apply(this,y);S.trace(`GlyphRenderer#${d.name}(${y.map(b=>JSON.stringify(b)).join(", ")})`);const C=d.apply(this,y);return S.trace(`GlyphRenderer#${d.name} return`,C),C}}},7302:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.OptionsService=n.DEFAULT_OPTIONS=void 0;const f=o(8460),_=o(844),u=o(6114);n.DEFAULT_OPTIONS={cols:80,rows:24,cursorBlink:!1,cursorStyle:"block",cursorWidth:1,cursorInactiveStyle:"outline",customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:"alt",fastScrollSensitivity:5,fontFamily:"courier-new, courier, monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:"info",logger:null,scrollback:1e3,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},rescaleOverlappingGlyphs:!1,rightClickSelectsWord:u.isMac,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:" ()[]{}',\"`",altClickMovesCursor:!0,convertEol:!1,termName:"xterm",cancelEvents:!1,overviewRulerWidth:0};const m=["normal","bold","100","200","300","400","500","600","700","800","900"];class w extends _.Disposable{constructor(v){super(),this._onOptionChange=this.register(new f.EventEmitter),this.onOptionChange=this._onOptionChange.event;const a={...n.DEFAULT_OPTIONS};for(const h in v)if(h in a)try{const c=v[h];a[h]=this._sanitizeAndValidateOption(h,c)}catch(c){console.error(c)}this.rawOptions=a,this.options={...a},this._setupOptions(),this.register((0,_.toDisposable)(()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null}))}onSpecificOptionChange(v,a){return this.onOptionChange(h=>{h===v&&a(this.rawOptions[v])})}onMultipleOptionChange(v,a){return this.onOptionChange(h=>{v.indexOf(h)!==-1&&a()})}_setupOptions(){const v=h=>{if(!(h in n.DEFAULT_OPTIONS))throw new Error(`No option with key "${h}"`);return this.rawOptions[h]},a=(h,c)=>{if(!(h in n.DEFAULT_OPTIONS))throw new Error(`No option with key "${h}"`);c=this._sanitizeAndValidateOption(h,c),this.rawOptions[h]!==c&&(this.rawOptions[h]=c,this._onOptionChange.fire(h))};for(const h in this.rawOptions){const c={get:v.bind(this,h),set:a.bind(this,h)};Object.defineProperty(this.options,h,c)}}_sanitizeAndValidateOption(v,a){switch(v){case"cursorStyle":if(a||(a=n.DEFAULT_OPTIONS[v]),!function(h){return h==="block"||h==="underline"||h==="bar"}(a))throw new Error(`"${a}" is not a valid value for ${v}`);break;case"wordSeparator":a||(a=n.DEFAULT_OPTIONS[v]);break;case"fontWeight":case"fontWeightBold":if(typeof a=="number"&&1<=a&&a<=1e3)break;a=m.includes(a)?a:n.DEFAULT_OPTIONS[v];break;case"cursorWidth":a=Math.floor(a);case"lineHeight":case"tabStopWidth":if(a<1)throw new Error(`${v} cannot be less than 1, value: ${a}`);break;case"minimumContrastRatio":a=Math.max(1,Math.min(21,Math.round(10*a)/10));break;case"scrollback":if((a=Math.min(a,4294967295))<0)throw new Error(`${v} cannot be less than 0, value: ${a}`);break;case"fastScrollSensitivity":case"scrollSensitivity":if(a<=0)throw new Error(`${v} cannot be less than or equal to 0, value: ${a}`);break;case"rows":case"cols":if(!a&&a!==0)throw new Error(`${v} must be numeric, value: ${a}`);break;case"windowsPty":a=a??{}}return a}}n.OptionsService=w},2660:function(p,n,o){var f=this&&this.__decorate||function(w,S,v,a){var h,c=arguments.length,d=c<3?S:a===null?a=Object.getOwnPropertyDescriptor(S,v):a;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")d=Reflect.decorate(w,S,v,a);else for(var y=w.length-1;y>=0;y--)(h=w[y])&&(d=(c<3?h(d):c>3?h(S,v,d):h(S,v))||d);return c>3&&d&&Object.defineProperty(S,v,d),d},_=this&&this.__param||function(w,S){return function(v,a){S(v,a,w)}};Object.defineProperty(n,"__esModule",{value:!0}),n.OscLinkService=void 0;const u=o(2585);let m=n.OscLinkService=class{constructor(w){this._bufferService=w,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(w){const S=this._bufferService.buffer;if(w.id===void 0){const y=S.addMarker(S.ybase+S.y),C={data:w,id:this._nextId++,lines:[y]};return y.onDispose(()=>this._removeMarkerFromLink(C,y)),this._dataByLinkId.set(C.id,C),C.id}const v=w,a=this._getEntryIdKey(v),h=this._entriesWithId.get(a);if(h)return this.addLineToLink(h.id,S.ybase+S.y),h.id;const c=S.addMarker(S.ybase+S.y),d={id:this._nextId++,key:this._getEntryIdKey(v),data:v,lines:[c]};return c.onDispose(()=>this._removeMarkerFromLink(d,c)),this._entriesWithId.set(d.key,d),this._dataByLinkId.set(d.id,d),d.id}addLineToLink(w,S){const v=this._dataByLinkId.get(w);if(v&&v.lines.every(a=>a.line!==S)){const a=this._bufferService.buffer.addMarker(S);v.lines.push(a),a.onDispose(()=>this._removeMarkerFromLink(v,a))}}getLinkData(w){var S;return(S=this._dataByLinkId.get(w))==null?void 0:S.data}_getEntryIdKey(w){return`${w.id};;${w.uri}`}_removeMarkerFromLink(w,S){const v=w.lines.indexOf(S);v!==-1&&(w.lines.splice(v,1),w.lines.length===0&&(w.data.id!==void 0&&this._entriesWithId.delete(w.key),this._dataByLinkId.delete(w.id)))}};n.OscLinkService=m=f([_(0,u.IBufferService)],m)},8343:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.createDecorator=n.getServiceDependencies=n.serviceRegistry=void 0;const o="di$target",f="di$dependencies";n.serviceRegistry=new Map,n.getServiceDependencies=function(_){return _[f]||[]},n.createDecorator=function(_){if(n.serviceRegistry.has(_))return n.serviceRegistry.get(_);const u=function(m,w,S){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");(function(v,a,h){a[o]===a?a[f].push({id:v,index:h}):(a[f]=[{id:v,index:h}],a[o]=a)})(u,m,S)};return u.toString=()=>_,n.serviceRegistry.set(_,u),u}},2585:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.IDecorationService=n.IUnicodeService=n.IOscLinkService=n.IOptionsService=n.ILogService=n.LogLevelEnum=n.IInstantiationService=n.ICharsetService=n.ICoreService=n.ICoreMouseService=n.IBufferService=void 0;const f=o(8343);var _;n.IBufferService=(0,f.createDecorator)("BufferService"),n.ICoreMouseService=(0,f.createDecorator)("CoreMouseService"),n.ICoreService=(0,f.createDecorator)("CoreService"),n.ICharsetService=(0,f.createDecorator)("CharsetService"),n.IInstantiationService=(0,f.createDecorator)("InstantiationService"),function(u){u[u.TRACE=0]="TRACE",u[u.DEBUG=1]="DEBUG",u[u.INFO=2]="INFO",u[u.WARN=3]="WARN",u[u.ERROR=4]="ERROR",u[u.OFF=5]="OFF"}(_||(n.LogLevelEnum=_={})),n.ILogService=(0,f.createDecorator)("LogService"),n.IOptionsService=(0,f.createDecorator)("OptionsService"),n.IOscLinkService=(0,f.createDecorator)("OscLinkService"),n.IUnicodeService=(0,f.createDecorator)("UnicodeService"),n.IDecorationService=(0,f.createDecorator)("DecorationService")},1480:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.UnicodeService=void 0;const f=o(8460),_=o(225);class u{static extractShouldJoin(w){return(1&w)!=0}static extractWidth(w){return w>>1&3}static extractCharKind(w){return w>>3}static createPropertyValue(w,S,v=!1){return(16777215&w)<<3|(3&S)<<1|(v?1:0)}constructor(){this._providers=Object.create(null),this._active="",this._onChange=new f.EventEmitter,this.onChange=this._onChange.event;const w=new _.UnicodeV6;this.register(w),this._active=w.version,this._activeProvider=w}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(w){if(!this._providers[w])throw new Error(`unknown Unicode version "${w}"`);this._active=w,this._activeProvider=this._providers[w],this._onChange.fire(w)}register(w){this._providers[w.version]=w}wcwidth(w){return this._activeProvider.wcwidth(w)}getStringCellWidth(w){let S=0,v=0;const a=w.length;for(let h=0;h<a;++h){let c=w.charCodeAt(h);if(55296<=c&&c<=56319){if(++h>=a)return S+this.wcwidth(c);const C=w.charCodeAt(h);56320<=C&&C<=57343?c=1024*(c-55296)+C-56320+65536:S+=this.wcwidth(C)}const d=this.charProperties(c,v);let y=u.extractWidth(d);u.extractShouldJoin(d)&&(y-=u.extractWidth(v)),S+=y,v=d}return S}charProperties(w,S){return this._activeProvider.charProperties(w,S)}}n.UnicodeService=u}},s={};function r(p){var n=s[p];if(n!==void 0)return n.exports;var o=s[p]={exports:{}};return i[p].call(o.exports,o,o.exports,r),o.exports}var l={};return(()=>{var p=l;Object.defineProperty(p,"__esModule",{value:!0}),p.Terminal=void 0;const n=r(9042),o=r(3236),f=r(844),_=r(5741),u=r(8285),m=r(7975),w=r(7090),S=["cols","rows"];class v extends f.Disposable{constructor(h){super(),this._core=this.register(new o.Terminal(h)),this._addonManager=this.register(new _.AddonManager),this._publicOptions={...this._core.options};const c=y=>this._core.options[y],d=(y,C)=>{this._checkReadonlyOptions(y),this._core.options[y]=C};for(const y in this._core.options){const C={get:c.bind(this,y),set:d.bind(this,y)};Object.defineProperty(this._publicOptions,y,C)}}_checkReadonlyOptions(h){if(S.includes(h))throw new Error(`Option "${h}" 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 m.ParserApi(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new w.UnicodeApi(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 u.BufferNamespaceApi(this._core))),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){const h=this._core.coreService.decPrivateModes;let c="none";switch(this._core.coreMouseService.activeProtocol){case"X10":c="x10";break;case"VT200":c="vt200";break;case"DRAG":c="drag";break;case"ANY":c="any"}return{applicationCursorKeysMode:h.applicationCursorKeys,applicationKeypadMode:h.applicationKeypad,bracketedPasteMode:h.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:c,originMode:h.origin,reverseWraparoundMode:h.reverseWraparound,sendFocusMode:h.sendFocus,wraparoundMode:h.wraparound}}get options(){return this._publicOptions}set options(h){for(const c in h)this._publicOptions[c]=h[c]}blur(){this._core.blur()}focus(){this._core.focus()}input(h,c=!0){this._core.input(h,c)}resize(h,c){this._verifyIntegers(h,c),this._core.resize(h,c)}open(h){this._core.open(h)}attachCustomKeyEventHandler(h){this._core.attachCustomKeyEventHandler(h)}attachCustomWheelEventHandler(h){this._core.attachCustomWheelEventHandler(h)}registerLinkProvider(h){return this._core.registerLinkProvider(h)}registerCharacterJoiner(h){return this._checkProposedApi(),this._core.registerCharacterJoiner(h)}deregisterCharacterJoiner(h){this._checkProposedApi(),this._core.deregisterCharacterJoiner(h)}registerMarker(h=0){return this._verifyIntegers(h),this._core.registerMarker(h)}registerDecoration(h){return this._checkProposedApi(),this._verifyPositiveIntegers(h.x??0,h.width??0,h.height??0),this._core.registerDecoration(h)}hasSelection(){return this._core.hasSelection()}select(h,c,d){this._verifyIntegers(h,c,d),this._core.select(h,c,d)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(h,c){this._verifyIntegers(h,c),this._core.selectLines(h,c)}dispose(){super.dispose()}scrollLines(h){this._verifyIntegers(h),this._core.scrollLines(h)}scrollPages(h){this._verifyIntegers(h),this._core.scrollPages(h)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(h){this._verifyIntegers(h),this._core.scrollToLine(h)}clear(){this._core.clear()}write(h,c){this._core.write(h,c)}writeln(h,c){this._core.write(h),this._core.write(`\r
|
|
50
|
+
`,c)}paste(h){this._core.paste(h)}refresh(h,c){this._verifyIntegers(h,c),this._core.refresh(h,c)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(h){this._addonManager.loadAddon(this,h)}static get strings(){return n}_verifyIntegers(...h){for(const c of h)if(c===1/0||isNaN(c)||c%1!=0)throw new Error("This API only accepts integers")}_verifyPositiveIntegers(...h){for(const c of h)if(c&&(c===1/0||isNaN(c)||c%1!=0||c<0))throw new Error("This API only accepts positive integers")}}p.Terminal=v})(),l})())})(C_);var U1=C_.exports,E_={exports:{}};(function(e,t){(function(i,s){e.exports=s()})(self,()=>(()=>{var i={965:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.GlyphRenderer=void 0;const f=o(374),_=o(509),u=o(855),m=o(859),w=o(381),S=11,v=S*Float32Array.BYTES_PER_ELEMENT;let a,h=0,c=0,d=0;class y extends m.Disposable{constructor(b,E,x,k){super(),this._terminal=b,this._gl=E,this._dimensions=x,this._optionsService=k,this._activeBuffer=0,this._vertices={count:0,attributes:new Float32Array(0),attributesBuffers:[new Float32Array(0),new Float32Array(0)]};const L=this._gl;_.TextureAtlas.maxAtlasPages===void 0&&(_.TextureAtlas.maxAtlasPages=Math.min(32,(0,f.throwIfFalsy)(L.getParameter(L.MAX_TEXTURE_IMAGE_UNITS))),_.TextureAtlas.maxTextureSize=(0,f.throwIfFalsy)(L.getParameter(L.MAX_TEXTURE_SIZE))),this._program=(0,f.throwIfFalsy)((0,w.createProgram)(L,`#version 300 es
|
|
51
|
+
layout (location = 0) in vec2 a_unitquad;
|
|
52
|
+
layout (location = 1) in vec2 a_cellpos;
|
|
53
|
+
layout (location = 2) in vec2 a_offset;
|
|
54
|
+
layout (location = 3) in vec2 a_size;
|
|
55
|
+
layout (location = 4) in float a_texpage;
|
|
56
|
+
layout (location = 5) in vec2 a_texcoord;
|
|
57
|
+
layout (location = 6) in vec2 a_texsize;
|
|
58
|
+
|
|
59
|
+
uniform mat4 u_projection;
|
|
60
|
+
uniform vec2 u_resolution;
|
|
61
|
+
|
|
62
|
+
out vec2 v_texcoord;
|
|
63
|
+
flat out int v_texpage;
|
|
64
|
+
|
|
65
|
+
void main() {
|
|
66
|
+
vec2 zeroToOne = (a_offset / u_resolution) + a_cellpos + (a_unitquad * a_size);
|
|
67
|
+
gl_Position = u_projection * vec4(zeroToOne, 0.0, 1.0);
|
|
68
|
+
v_texpage = int(a_texpage);
|
|
69
|
+
v_texcoord = a_texcoord + a_unitquad * a_texsize;
|
|
70
|
+
}`,function(z){let V="";for(let $=1;$<z;$++)V+=` else if (v_texpage == ${$}) { outColor = texture(u_texture[${$}], v_texcoord); }`;return`#version 300 es
|
|
71
|
+
precision lowp float;
|
|
72
|
+
|
|
73
|
+
in vec2 v_texcoord;
|
|
74
|
+
flat in int v_texpage;
|
|
75
|
+
|
|
76
|
+
uniform sampler2D u_texture[${z}];
|
|
77
|
+
|
|
78
|
+
out vec4 outColor;
|
|
79
|
+
|
|
80
|
+
void main() {
|
|
81
|
+
if (v_texpage == 0) {
|
|
82
|
+
outColor = texture(u_texture[0], v_texcoord);
|
|
83
|
+
} ${V}
|
|
84
|
+
}`}(_.TextureAtlas.maxAtlasPages))),this.register((0,m.toDisposable)(()=>L.deleteProgram(this._program))),this._projectionLocation=(0,f.throwIfFalsy)(L.getUniformLocation(this._program,"u_projection")),this._resolutionLocation=(0,f.throwIfFalsy)(L.getUniformLocation(this._program,"u_resolution")),this._textureLocation=(0,f.throwIfFalsy)(L.getUniformLocation(this._program,"u_texture")),this._vertexArrayObject=L.createVertexArray(),L.bindVertexArray(this._vertexArrayObject);const I=new Float32Array([0,0,1,0,0,1,1,1]),A=L.createBuffer();this.register((0,m.toDisposable)(()=>L.deleteBuffer(A))),L.bindBuffer(L.ARRAY_BUFFER,A),L.bufferData(L.ARRAY_BUFFER,I,L.STATIC_DRAW),L.enableVertexAttribArray(0),L.vertexAttribPointer(0,2,this._gl.FLOAT,!1,0,0);const P=new Uint8Array([0,1,2,3]),j=L.createBuffer();this.register((0,m.toDisposable)(()=>L.deleteBuffer(j))),L.bindBuffer(L.ELEMENT_ARRAY_BUFFER,j),L.bufferData(L.ELEMENT_ARRAY_BUFFER,P,L.STATIC_DRAW),this._attributesBuffer=(0,f.throwIfFalsy)(L.createBuffer()),this.register((0,m.toDisposable)(()=>L.deleteBuffer(this._attributesBuffer))),L.bindBuffer(L.ARRAY_BUFFER,this._attributesBuffer),L.enableVertexAttribArray(2),L.vertexAttribPointer(2,2,L.FLOAT,!1,v,0),L.vertexAttribDivisor(2,1),L.enableVertexAttribArray(3),L.vertexAttribPointer(3,2,L.FLOAT,!1,v,2*Float32Array.BYTES_PER_ELEMENT),L.vertexAttribDivisor(3,1),L.enableVertexAttribArray(4),L.vertexAttribPointer(4,1,L.FLOAT,!1,v,4*Float32Array.BYTES_PER_ELEMENT),L.vertexAttribDivisor(4,1),L.enableVertexAttribArray(5),L.vertexAttribPointer(5,2,L.FLOAT,!1,v,5*Float32Array.BYTES_PER_ELEMENT),L.vertexAttribDivisor(5,1),L.enableVertexAttribArray(6),L.vertexAttribPointer(6,2,L.FLOAT,!1,v,7*Float32Array.BYTES_PER_ELEMENT),L.vertexAttribDivisor(6,1),L.enableVertexAttribArray(1),L.vertexAttribPointer(1,2,L.FLOAT,!1,v,9*Float32Array.BYTES_PER_ELEMENT),L.vertexAttribDivisor(1,1),L.useProgram(this._program);const W=new Int32Array(_.TextureAtlas.maxAtlasPages);for(let z=0;z<_.TextureAtlas.maxAtlasPages;z++)W[z]=z;L.uniform1iv(this._textureLocation,W),L.uniformMatrix4fv(this._projectionLocation,!1,w.PROJECTION_MATRIX),this._atlasTextures=[];for(let z=0;z<_.TextureAtlas.maxAtlasPages;z++){const V=new w.GLTexture((0,f.throwIfFalsy)(L.createTexture()));this.register((0,m.toDisposable)(()=>L.deleteTexture(V.texture))),L.activeTexture(L.TEXTURE0+z),L.bindTexture(L.TEXTURE_2D,V.texture),L.texParameteri(L.TEXTURE_2D,L.TEXTURE_WRAP_S,L.CLAMP_TO_EDGE),L.texParameteri(L.TEXTURE_2D,L.TEXTURE_WRAP_T,L.CLAMP_TO_EDGE),L.texImage2D(L.TEXTURE_2D,0,L.RGBA,1,1,0,L.RGBA,L.UNSIGNED_BYTE,new Uint8Array([255,0,0,255])),this._atlasTextures[z]=V}L.enable(L.BLEND),L.blendFunc(L.SRC_ALPHA,L.ONE_MINUS_SRC_ALPHA),this.handleResize()}beginFrame(){return!this._atlas||this._atlas.beginFrame()}updateCell(b,E,x,k,L,I,A,P,j){this._updateCell(this._vertices.attributes,b,E,x,k,L,I,A,P,j)}_updateCell(b,E,x,k,L,I,A,P,j,W){h=(x*this._terminal.cols+E)*S,k!==u.NULL_CELL_CODE&&k!==void 0?this._atlas&&(a=P&&P.length>1?this._atlas.getRasterizedGlyphCombinedChar(P,L,I,A,!1):this._atlas.getRasterizedGlyph(k,L,I,A,!1),c=Math.floor((this._dimensions.device.cell.width-this._dimensions.device.char.width)/2),L!==W&&a.offset.x>c?(d=a.offset.x-c,b[h]=-(a.offset.x-d)+this._dimensions.device.char.left,b[h+1]=-a.offset.y+this._dimensions.device.char.top,b[h+2]=(a.size.x-d)/this._dimensions.device.canvas.width,b[h+3]=a.size.y/this._dimensions.device.canvas.height,b[h+4]=a.texturePage,b[h+5]=a.texturePositionClipSpace.x+d/this._atlas.pages[a.texturePage].canvas.width,b[h+6]=a.texturePositionClipSpace.y,b[h+7]=a.sizeClipSpace.x-d/this._atlas.pages[a.texturePage].canvas.width,b[h+8]=a.sizeClipSpace.y):(b[h]=-a.offset.x+this._dimensions.device.char.left,b[h+1]=-a.offset.y+this._dimensions.device.char.top,b[h+2]=a.size.x/this._dimensions.device.canvas.width,b[h+3]=a.size.y/this._dimensions.device.canvas.height,b[h+4]=a.texturePage,b[h+5]=a.texturePositionClipSpace.x,b[h+6]=a.texturePositionClipSpace.y,b[h+7]=a.sizeClipSpace.x,b[h+8]=a.sizeClipSpace.y),this._optionsService.rawOptions.rescaleOverlappingGlyphs&&(0,f.allowRescaling)(k,j,a.size.x,this._dimensions.device.cell.width)&&(b[h+2]=(this._dimensions.device.cell.width-1)/this._dimensions.device.canvas.width)):b.fill(0,h,h+S-1-2)}clear(){const b=this._terminal,E=b.cols*b.rows*S;this._vertices.count!==E?this._vertices.attributes=new Float32Array(E):this._vertices.attributes.fill(0);let x=0;for(;x<this._vertices.attributesBuffers.length;x++)this._vertices.count!==E?this._vertices.attributesBuffers[x]=new Float32Array(E):this._vertices.attributesBuffers[x].fill(0);this._vertices.count=E,x=0;for(let k=0;k<b.rows;k++)for(let L=0;L<b.cols;L++)this._vertices.attributes[x+9]=L/b.cols,this._vertices.attributes[x+10]=k/b.rows,x+=S}handleResize(){const b=this._gl;b.useProgram(this._program),b.viewport(0,0,b.canvas.width,b.canvas.height),b.uniform2f(this._resolutionLocation,b.canvas.width,b.canvas.height),this.clear()}render(b){if(!this._atlas)return;const E=this._gl;E.useProgram(this._program),E.bindVertexArray(this._vertexArrayObject),this._activeBuffer=(this._activeBuffer+1)%2;const x=this._vertices.attributesBuffers[this._activeBuffer];let k=0;for(let L=0;L<b.lineLengths.length;L++){const I=L*this._terminal.cols*S,A=this._vertices.attributes.subarray(I,I+b.lineLengths[L]*S);x.set(A,k),k+=A.length}E.bindBuffer(E.ARRAY_BUFFER,this._attributesBuffer),E.bufferData(E.ARRAY_BUFFER,x.subarray(0,k),E.STREAM_DRAW);for(let L=0;L<this._atlas.pages.length;L++)this._atlas.pages[L].version!==this._atlasTextures[L].version&&this._bindAtlasPageTexture(E,this._atlas,L);E.drawElementsInstanced(E.TRIANGLE_STRIP,4,E.UNSIGNED_BYTE,0,k/S)}setAtlas(b){this._atlas=b;for(const E of this._atlasTextures)E.version=-1}_bindAtlasPageTexture(b,E,x){b.activeTexture(b.TEXTURE0+x),b.bindTexture(b.TEXTURE_2D,this._atlasTextures[x].texture),b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_S,b.CLAMP_TO_EDGE),b.texParameteri(b.TEXTURE_2D,b.TEXTURE_WRAP_T,b.CLAMP_TO_EDGE),b.texImage2D(b.TEXTURE_2D,0,b.RGBA,b.RGBA,b.UNSIGNED_BYTE,E.pages[x].canvas),b.generateMipmap(b.TEXTURE_2D),this._atlasTextures[x].version=E.pages[x].version}setDimensions(b){this._dimensions=b}}n.GlyphRenderer=y},742:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.RectangleRenderer=void 0;const f=o(374),_=o(859),u=o(310),m=o(381),w=8*Float32Array.BYTES_PER_ELEMENT;class S{constructor(){this.attributes=new Float32Array(160),this.count=0}}let v=0,a=0,h=0,c=0,d=0,y=0,C=0;class b extends _.Disposable{constructor(x,k,L,I){super(),this._terminal=x,this._gl=k,this._dimensions=L,this._themeService=I,this._vertices=new S,this._verticesCursor=new S;const A=this._gl;this._program=(0,f.throwIfFalsy)((0,m.createProgram)(A,`#version 300 es
|
|
85
|
+
layout (location = 0) in vec2 a_position;
|
|
86
|
+
layout (location = 1) in vec2 a_size;
|
|
87
|
+
layout (location = 2) in vec4 a_color;
|
|
88
|
+
layout (location = 3) in vec2 a_unitquad;
|
|
89
|
+
|
|
90
|
+
uniform mat4 u_projection;
|
|
91
|
+
|
|
92
|
+
out vec4 v_color;
|
|
93
|
+
|
|
94
|
+
void main() {
|
|
95
|
+
vec2 zeroToOne = a_position + (a_unitquad * a_size);
|
|
96
|
+
gl_Position = u_projection * vec4(zeroToOne, 0.0, 1.0);
|
|
97
|
+
v_color = a_color;
|
|
98
|
+
}`,`#version 300 es
|
|
99
|
+
precision lowp float;
|
|
100
|
+
|
|
101
|
+
in vec4 v_color;
|
|
102
|
+
|
|
103
|
+
out vec4 outColor;
|
|
104
|
+
|
|
105
|
+
void main() {
|
|
106
|
+
outColor = v_color;
|
|
107
|
+
}`)),this.register((0,_.toDisposable)(()=>A.deleteProgram(this._program))),this._projectionLocation=(0,f.throwIfFalsy)(A.getUniformLocation(this._program,"u_projection")),this._vertexArrayObject=A.createVertexArray(),A.bindVertexArray(this._vertexArrayObject);const P=new Float32Array([0,0,1,0,0,1,1,1]),j=A.createBuffer();this.register((0,_.toDisposable)(()=>A.deleteBuffer(j))),A.bindBuffer(A.ARRAY_BUFFER,j),A.bufferData(A.ARRAY_BUFFER,P,A.STATIC_DRAW),A.enableVertexAttribArray(3),A.vertexAttribPointer(3,2,this._gl.FLOAT,!1,0,0);const W=new Uint8Array([0,1,2,3]),z=A.createBuffer();this.register((0,_.toDisposable)(()=>A.deleteBuffer(z))),A.bindBuffer(A.ELEMENT_ARRAY_BUFFER,z),A.bufferData(A.ELEMENT_ARRAY_BUFFER,W,A.STATIC_DRAW),this._attributesBuffer=(0,f.throwIfFalsy)(A.createBuffer()),this.register((0,_.toDisposable)(()=>A.deleteBuffer(this._attributesBuffer))),A.bindBuffer(A.ARRAY_BUFFER,this._attributesBuffer),A.enableVertexAttribArray(0),A.vertexAttribPointer(0,2,A.FLOAT,!1,w,0),A.vertexAttribDivisor(0,1),A.enableVertexAttribArray(1),A.vertexAttribPointer(1,2,A.FLOAT,!1,w,2*Float32Array.BYTES_PER_ELEMENT),A.vertexAttribDivisor(1,1),A.enableVertexAttribArray(2),A.vertexAttribPointer(2,4,A.FLOAT,!1,w,4*Float32Array.BYTES_PER_ELEMENT),A.vertexAttribDivisor(2,1),this._updateCachedColors(I.colors),this.register(this._themeService.onChangeColors(V=>{this._updateCachedColors(V),this._updateViewportRectangle()}))}renderBackgrounds(){this._renderVertices(this._vertices)}renderCursor(){this._renderVertices(this._verticesCursor)}_renderVertices(x){const k=this._gl;k.useProgram(this._program),k.bindVertexArray(this._vertexArrayObject),k.uniformMatrix4fv(this._projectionLocation,!1,m.PROJECTION_MATRIX),k.bindBuffer(k.ARRAY_BUFFER,this._attributesBuffer),k.bufferData(k.ARRAY_BUFFER,x.attributes,k.DYNAMIC_DRAW),k.drawElementsInstanced(this._gl.TRIANGLE_STRIP,4,k.UNSIGNED_BYTE,0,x.count)}handleResize(){this._updateViewportRectangle()}setDimensions(x){this._dimensions=x}_updateCachedColors(x){this._bgFloat=this._colorToFloat32Array(x.background),this._cursorFloat=this._colorToFloat32Array(x.cursor)}_updateViewportRectangle(){this._addRectangleFloat(this._vertices.attributes,0,0,0,this._terminal.cols*this._dimensions.device.cell.width,this._terminal.rows*this._dimensions.device.cell.height,this._bgFloat)}updateBackgrounds(x){const k=this._terminal,L=this._vertices;let I,A,P,j,W,z,V,$,R,O,D,H=1;for(I=0;I<k.rows;I++){for(P=-1,j=0,W=0,z=!1,A=0;A<k.cols;A++)V=(I*k.cols+A)*u.RENDER_MODEL_INDICIES_PER_CELL,$=x.cells[V+u.RENDER_MODEL_BG_OFFSET],R=x.cells[V+u.RENDER_MODEL_FG_OFFSET],O=!!(67108864&R),($!==j||R!==W&&(z||O))&&((j!==0||z&&W!==0)&&(D=8*H++,this._updateRectangle(L,D,W,j,P,A,I)),P=A,j=$,W=R,z=O);(j!==0||z&&W!==0)&&(D=8*H++,this._updateRectangle(L,D,W,j,P,k.cols,I))}L.count=H}updateCursor(x){const k=this._verticesCursor,L=x.cursor;if(!L||L.style==="block")return void(k.count=0);let I,A=0;L.style!=="bar"&&L.style!=="outline"||(I=8*A++,this._addRectangleFloat(k.attributes,I,L.x*this._dimensions.device.cell.width,L.y*this._dimensions.device.cell.height,L.style==="bar"?L.dpr*L.cursorWidth:L.dpr,this._dimensions.device.cell.height,this._cursorFloat)),L.style!=="underline"&&L.style!=="outline"||(I=8*A++,this._addRectangleFloat(k.attributes,I,L.x*this._dimensions.device.cell.width,(L.y+1)*this._dimensions.device.cell.height-L.dpr,L.width*this._dimensions.device.cell.width,L.dpr,this._cursorFloat)),L.style==="outline"&&(I=8*A++,this._addRectangleFloat(k.attributes,I,L.x*this._dimensions.device.cell.width,L.y*this._dimensions.device.cell.height,L.width*this._dimensions.device.cell.width,L.dpr,this._cursorFloat),I=8*A++,this._addRectangleFloat(k.attributes,I,(L.x+L.width)*this._dimensions.device.cell.width-L.dpr,L.y*this._dimensions.device.cell.height,L.dpr,this._dimensions.device.cell.height,this._cursorFloat)),k.count=A}_updateRectangle(x,k,L,I,A,P,j){if(67108864&L)switch(50331648&L){case 16777216:case 33554432:v=this._themeService.colors.ansi[255&L].rgba;break;case 50331648:v=(16777215&L)<<8;break;default:v=this._themeService.colors.foreground.rgba}else switch(50331648&I){case 16777216:case 33554432:v=this._themeService.colors.ansi[255&I].rgba;break;case 50331648:v=(16777215&I)<<8;break;default:v=this._themeService.colors.background.rgba}x.attributes.length<k+4&&(x.attributes=(0,m.expandFloat32Array)(x.attributes,this._terminal.rows*this._terminal.cols*8)),a=A*this._dimensions.device.cell.width,h=j*this._dimensions.device.cell.height,c=(v>>24&255)/255,d=(v>>16&255)/255,y=(v>>8&255)/255,C=1,this._addRectangle(x.attributes,k,a,h,(P-A)*this._dimensions.device.cell.width,this._dimensions.device.cell.height,c,d,y,C)}_addRectangle(x,k,L,I,A,P,j,W,z,V){x[k]=L/this._dimensions.device.canvas.width,x[k+1]=I/this._dimensions.device.canvas.height,x[k+2]=A/this._dimensions.device.canvas.width,x[k+3]=P/this._dimensions.device.canvas.height,x[k+4]=j,x[k+5]=W,x[k+6]=z,x[k+7]=V}_addRectangleFloat(x,k,L,I,A,P,j){x[k]=L/this._dimensions.device.canvas.width,x[k+1]=I/this._dimensions.device.canvas.height,x[k+2]=A/this._dimensions.device.canvas.width,x[k+3]=P/this._dimensions.device.canvas.height,x[k+4]=j[0],x[k+5]=j[1],x[k+6]=j[2],x[k+7]=j[3]}_colorToFloat32Array(x){return new Float32Array([(x.rgba>>24&255)/255,(x.rgba>>16&255)/255,(x.rgba>>8&255)/255,(255&x.rgba)/255])}}n.RectangleRenderer=b},310:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.RenderModel=n.COMBINED_CHAR_BIT_MASK=n.RENDER_MODEL_EXT_OFFSET=n.RENDER_MODEL_FG_OFFSET=n.RENDER_MODEL_BG_OFFSET=n.RENDER_MODEL_INDICIES_PER_CELL=void 0;const f=o(296);n.RENDER_MODEL_INDICIES_PER_CELL=4,n.RENDER_MODEL_BG_OFFSET=1,n.RENDER_MODEL_FG_OFFSET=2,n.RENDER_MODEL_EXT_OFFSET=3,n.COMBINED_CHAR_BIT_MASK=2147483648,n.RenderModel=class{constructor(){this.cells=new Uint32Array(0),this.lineLengths=new Uint32Array(0),this.selection=(0,f.createSelectionRenderModel)()}resize(_,u){const m=_*u*n.RENDER_MODEL_INDICIES_PER_CELL;m!==this.cells.length&&(this.cells=new Uint32Array(m),this.lineLengths=new Uint32Array(u))}clear(){this.cells.fill(0,0),this.lineLengths.fill(0,0)}}},666:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.JoinedCellData=n.WebglRenderer=void 0;const f=o(820),_=o(274),u=o(627),m=o(457),w=o(56),S=o(374),v=o(345),a=o(859),h=o(147),c=o(782),d=o(855),y=o(965),C=o(742),b=o(310),E=o(733);class x extends a.Disposable{constructor(A,P,j,W,z,V,$,R,O){super(),this._terminal=A,this._characterJoinerService=P,this._charSizeService=j,this._coreBrowserService=W,this._coreService=z,this._decorationService=V,this._optionsService=$,this._themeService=R,this._cursorBlinkStateManager=new a.MutableDisposable,this._charAtlasDisposable=this.register(new a.MutableDisposable),this._observerDisposable=this.register(new a.MutableDisposable),this._model=new b.RenderModel,this._workCell=new c.CellData,this._workCell2=new c.CellData,this._rectangleRenderer=this.register(new a.MutableDisposable),this._glyphRenderer=this.register(new a.MutableDisposable),this._onChangeTextureAtlas=this.register(new v.EventEmitter),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this.register(new v.EventEmitter),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=this.register(new v.EventEmitter),this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._onRequestRedraw=this.register(new v.EventEmitter),this.onRequestRedraw=this._onRequestRedraw.event,this._onContextLoss=this.register(new v.EventEmitter),this.onContextLoss=this._onContextLoss.event,this.register(this._themeService.onChangeColors(()=>this._handleColorChange())),this._cellColorResolver=new _.CellColorResolver(this._terminal,this._optionsService,this._model.selection,this._decorationService,this._coreBrowserService,this._themeService),this._core=this._terminal._core,this._renderLayers=[new E.LinkRenderLayer(this._core.screenElement,2,this._terminal,this._core.linkifier,this._coreBrowserService,$,this._themeService)],this.dimensions=(0,S.createRenderDimensions)(),this._devicePixelRatio=this._coreBrowserService.dpr,this._updateDimensions(),this._updateCursorBlink(),this.register($.onOptionChange(()=>this._handleOptionsChanged())),this._canvas=this._coreBrowserService.mainDocument.createElement("canvas");const D={antialias:!1,depth:!1,preserveDrawingBuffer:O};if(this._gl=this._canvas.getContext("webgl2",D),!this._gl)throw new Error("WebGL2 not supported "+this._gl);this.register((0,f.addDisposableDomListener)(this._canvas,"webglcontextlost",H=>{console.log("webglcontextlost event received"),H.preventDefault(),this._contextRestorationTimeout=setTimeout(()=>{this._contextRestorationTimeout=void 0,console.warn("webgl context not restored; firing onContextLoss"),this._onContextLoss.fire(H)},3e3)})),this.register((0,f.addDisposableDomListener)(this._canvas,"webglcontextrestored",H=>{console.warn("webglcontextrestored event received"),clearTimeout(this._contextRestorationTimeout),this._contextRestorationTimeout=void 0,(0,u.removeTerminalFromCache)(this._terminal),this._initializeWebGLState(),this._requestRedrawViewport()})),this._observerDisposable.value=(0,w.observeDevicePixelDimensions)(this._canvas,this._coreBrowserService.window,(H,X)=>this._setCanvasDevicePixelDimensions(H,X)),this.register(this._coreBrowserService.onWindowChange(H=>{this._observerDisposable.value=(0,w.observeDevicePixelDimensions)(this._canvas,H,(X,Q)=>this._setCanvasDevicePixelDimensions(X,Q))})),this._core.screenElement.appendChild(this._canvas),[this._rectangleRenderer.value,this._glyphRenderer.value]=this._initializeWebGLState(),this._isAttached=this._coreBrowserService.window.document.body.contains(this._core.screenElement),this.register((0,a.toDisposable)(()=>{var H;for(const X of this._renderLayers)X.dispose();(H=this._canvas.parentElement)==null||H.removeChild(this._canvas),(0,u.removeTerminalFromCache)(this._terminal)}))}get textureAtlas(){var A;return(A=this._charAtlas)==null?void 0:A.pages[0].canvas}_handleColorChange(){this._refreshCharAtlas(),this._clearModel(!0)}handleDevicePixelRatioChange(){this._devicePixelRatio!==this._coreBrowserService.dpr&&(this._devicePixelRatio=this._coreBrowserService.dpr,this.handleResize(this._terminal.cols,this._terminal.rows))}handleResize(A,P){var j,W,z,V;this._updateDimensions(),this._model.resize(this._terminal.cols,this._terminal.rows);for(const $ of this._renderLayers)$.resize(this._terminal,this.dimensions);this._canvas.width=this.dimensions.device.canvas.width,this._canvas.height=this.dimensions.device.canvas.height,this._canvas.style.width=`${this.dimensions.css.canvas.width}px`,this._canvas.style.height=`${this.dimensions.css.canvas.height}px`,this._core.screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._core.screenElement.style.height=`${this.dimensions.css.canvas.height}px`,(j=this._rectangleRenderer.value)==null||j.setDimensions(this.dimensions),(W=this._rectangleRenderer.value)==null||W.handleResize(),(z=this._glyphRenderer.value)==null||z.setDimensions(this.dimensions),(V=this._glyphRenderer.value)==null||V.handleResize(),this._refreshCharAtlas(),this._clearModel(!1)}handleCharSizeChanged(){this.handleResize(this._terminal.cols,this._terminal.rows)}handleBlur(){var A;for(const P of this._renderLayers)P.handleBlur(this._terminal);(A=this._cursorBlinkStateManager.value)==null||A.pause(),this._requestRedrawViewport()}handleFocus(){var A;for(const P of this._renderLayers)P.handleFocus(this._terminal);(A=this._cursorBlinkStateManager.value)==null||A.resume(),this._requestRedrawViewport()}handleSelectionChanged(A,P,j){for(const W of this._renderLayers)W.handleSelectionChanged(this._terminal,A,P,j);this._model.selection.update(this._core,A,P,j),this._requestRedrawViewport()}handleCursorMove(){var A;for(const P of this._renderLayers)P.handleCursorMove(this._terminal);(A=this._cursorBlinkStateManager.value)==null||A.restartBlinkAnimation()}_handleOptionsChanged(){this._updateDimensions(),this._refreshCharAtlas(),this._updateCursorBlink()}_initializeWebGLState(){return this._rectangleRenderer.value=new C.RectangleRenderer(this._terminal,this._gl,this.dimensions,this._themeService),this._glyphRenderer.value=new y.GlyphRenderer(this._terminal,this._gl,this.dimensions,this._optionsService),this.handleCharSizeChanged(),[this._rectangleRenderer.value,this._glyphRenderer.value]}_refreshCharAtlas(){var P;if(this.dimensions.device.char.width<=0&&this.dimensions.device.char.height<=0)return void(this._isAttached=!1);const A=(0,u.acquireTextureAtlas)(this._terminal,this._optionsService.rawOptions,this._themeService.colors,this.dimensions.device.cell.width,this.dimensions.device.cell.height,this.dimensions.device.char.width,this.dimensions.device.char.height,this._coreBrowserService.dpr);this._charAtlas!==A&&(this._onChangeTextureAtlas.fire(A.pages[0].canvas),this._charAtlasDisposable.value=(0,a.getDisposeArrayDisposable)([(0,v.forwardEvent)(A.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas),(0,v.forwardEvent)(A.onRemoveTextureAtlasCanvas,this._onRemoveTextureAtlasCanvas)])),this._charAtlas=A,this._charAtlas.warmUp(),(P=this._glyphRenderer.value)==null||P.setAtlas(this._charAtlas)}_clearModel(A){var P;this._model.clear(),A&&((P=this._glyphRenderer.value)==null||P.clear())}clearTextureAtlas(){var A;(A=this._charAtlas)==null||A.clearTexture(),this._clearModel(!0),this._requestRedrawViewport()}clear(){var A;this._clearModel(!0);for(const P of this._renderLayers)P.reset(this._terminal);(A=this._cursorBlinkStateManager.value)==null||A.restartBlinkAnimation(),this._updateCursorBlink()}registerCharacterJoiner(A){return-1}deregisterCharacterJoiner(A){return!1}renderRows(A,P){if(!this._isAttached){if(!(this._coreBrowserService.window.document.body.contains(this._core.screenElement)&&this._charSizeService.width&&this._charSizeService.height))return;this._updateDimensions(),this._refreshCharAtlas(),this._isAttached=!0}for(const j of this._renderLayers)j.handleGridChanged(this._terminal,A,P);this._glyphRenderer.value&&this._rectangleRenderer.value&&(this._glyphRenderer.value.beginFrame()?(this._clearModel(!0),this._updateModel(0,this._terminal.rows-1)):this._updateModel(A,P),this._rectangleRenderer.value.renderBackgrounds(),this._glyphRenderer.value.render(this._model),this._cursorBlinkStateManager.value&&!this._cursorBlinkStateManager.value.isCursorVisible||this._rectangleRenderer.value.renderCursor())}_updateCursorBlink(){this._terminal.options.cursorBlink?this._cursorBlinkStateManager.value=new m.CursorBlinkStateManager(()=>{this._requestRedrawCursor()},this._coreBrowserService):this._cursorBlinkStateManager.clear(),this._requestRedrawCursor()}_updateModel(A,P){const j=this._core;let W,z,V,$,R,O,D,H,X,Q,ue,ie,U,M,Y=this._workCell;A=L(A,j.rows-1,0),P=L(P,j.rows-1,0);const G=this._terminal.buffer.active.baseY+this._terminal.buffer.active.cursorY,re=G-j.buffer.ydisp,se=Math.min(this._terminal.buffer.active.cursorX,j.cols-1);let pe=-1;const fe=this._coreService.isCursorInitialized&&!this._coreService.isCursorHidden&&(!this._cursorBlinkStateManager.value||this._cursorBlinkStateManager.value.isCursorVisible);this._model.cursor=void 0;let Ce=!1;for(z=A;z<=P;z++)for(V=z+j.buffer.ydisp,$=j.buffer.lines.get(V),this._model.lineLengths[z]=0,R=this._characterJoinerService.getJoinedCharacters(V),U=0;U<j.cols;U++)if(W=this._cellColorResolver.result.bg,$.loadCell(U,Y),U===0&&(W=this._cellColorResolver.result.bg),O=!1,D=U,R.length>0&&U===R[0][0]&&(O=!0,H=R.shift(),Y=new k(Y,$.translateToString(!0,H[0],H[1]),H[1]-H[0]),D=H[1]-1),X=Y.getChars(),Q=Y.getCode(),ie=(z*j.cols+U)*b.RENDER_MODEL_INDICIES_PER_CELL,this._cellColorResolver.resolve(Y,U,V,this.dimensions.device.cell.width),fe&&V===G&&(U===se&&(this._model.cursor={x:se,y:re,width:Y.getWidth(),style:this._coreBrowserService.isFocused?j.options.cursorStyle||"block":j.options.cursorInactiveStyle,cursorWidth:j.options.cursorWidth,dpr:this._devicePixelRatio},pe=se+Y.getWidth()-1),U>=se&&U<=pe&&(this._coreBrowserService.isFocused&&(j.options.cursorStyle||"block")==="block"||this._coreBrowserService.isFocused===!1&&j.options.cursorInactiveStyle==="block")&&(this._cellColorResolver.result.fg=50331648|this._themeService.colors.cursorAccent.rgba>>8&16777215,this._cellColorResolver.result.bg=50331648|this._themeService.colors.cursor.rgba>>8&16777215)),Q!==d.NULL_CELL_CODE&&(this._model.lineLengths[z]=U+1),(this._model.cells[ie]!==Q||this._model.cells[ie+b.RENDER_MODEL_BG_OFFSET]!==this._cellColorResolver.result.bg||this._model.cells[ie+b.RENDER_MODEL_FG_OFFSET]!==this._cellColorResolver.result.fg||this._model.cells[ie+b.RENDER_MODEL_EXT_OFFSET]!==this._cellColorResolver.result.ext)&&(Ce=!0,X.length>1&&(Q|=b.COMBINED_CHAR_BIT_MASK),this._model.cells[ie]=Q,this._model.cells[ie+b.RENDER_MODEL_BG_OFFSET]=this._cellColorResolver.result.bg,this._model.cells[ie+b.RENDER_MODEL_FG_OFFSET]=this._cellColorResolver.result.fg,this._model.cells[ie+b.RENDER_MODEL_EXT_OFFSET]=this._cellColorResolver.result.ext,ue=Y.getWidth(),this._glyphRenderer.value.updateCell(U,z,Q,this._cellColorResolver.result.bg,this._cellColorResolver.result.fg,this._cellColorResolver.result.ext,X,ue,W),O))for(Y=this._workCell,U++;U<D;U++)M=(z*j.cols+U)*b.RENDER_MODEL_INDICIES_PER_CELL,this._glyphRenderer.value.updateCell(U,z,d.NULL_CELL_CODE,0,0,0,d.NULL_CELL_CHAR,0,0),this._model.cells[M]=d.NULL_CELL_CODE,this._model.cells[M+b.RENDER_MODEL_BG_OFFSET]=this._cellColorResolver.result.bg,this._model.cells[M+b.RENDER_MODEL_FG_OFFSET]=this._cellColorResolver.result.fg,this._model.cells[M+b.RENDER_MODEL_EXT_OFFSET]=this._cellColorResolver.result.ext;Ce&&this._rectangleRenderer.value.updateBackgrounds(this._model),this._rectangleRenderer.value.updateCursor(this._model)}_updateDimensions(){this._charSizeService.width&&this._charSizeService.height&&(this.dimensions.device.char.width=Math.floor(this._charSizeService.width*this._devicePixelRatio),this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*this._devicePixelRatio),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.top=this._optionsService.rawOptions.lineHeight===1?0:Math.round((this.dimensions.device.cell.height-this.dimensions.device.char.height)/2),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.char.left=Math.floor(this._optionsService.rawOptions.letterSpacing/2),this.dimensions.device.canvas.height=this._terminal.rows*this.dimensions.device.cell.height,this.dimensions.device.canvas.width=this._terminal.cols*this.dimensions.device.cell.width,this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/this._devicePixelRatio),this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/this._devicePixelRatio),this.dimensions.css.cell.height=this.dimensions.device.cell.height/this._devicePixelRatio,this.dimensions.css.cell.width=this.dimensions.device.cell.width/this._devicePixelRatio)}_setCanvasDevicePixelDimensions(A,P){this._canvas.width===A&&this._canvas.height===P||(this._canvas.width=A,this._canvas.height=P,this._requestRedrawViewport())}_requestRedrawViewport(){this._onRequestRedraw.fire({start:0,end:this._terminal.rows-1})}_requestRedrawCursor(){const A=this._terminal.buffer.active.cursorY;this._onRequestRedraw.fire({start:A,end:A})}}n.WebglRenderer=x;class k extends h.AttributeData{constructor(A,P,j){super(),this.content=0,this.combinedData="",this.fg=A.fg,this.bg=A.bg,this.combinedData=P,this._width=j}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(A){throw new Error("not implemented")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}function L(I,A,P=0){return Math.max(Math.min(I,A),P)}n.JoinedCellData=k},381:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.GLTexture=n.expandFloat32Array=n.createShader=n.createProgram=n.PROJECTION_MATRIX=void 0;const f=o(374);function _(u,m,w){const S=(0,f.throwIfFalsy)(u.createShader(m));if(u.shaderSource(S,w),u.compileShader(S),u.getShaderParameter(S,u.COMPILE_STATUS))return S;console.error(u.getShaderInfoLog(S)),u.deleteShader(S)}n.PROJECTION_MATRIX=new Float32Array([2,0,0,0,0,-2,0,0,0,0,1,0,-1,1,0,1]),n.createProgram=function(u,m,w){const S=(0,f.throwIfFalsy)(u.createProgram());if(u.attachShader(S,(0,f.throwIfFalsy)(_(u,u.VERTEX_SHADER,m))),u.attachShader(S,(0,f.throwIfFalsy)(_(u,u.FRAGMENT_SHADER,w))),u.linkProgram(S),u.getProgramParameter(S,u.LINK_STATUS))return S;console.error(u.getProgramInfoLog(S)),u.deleteProgram(S)},n.createShader=_,n.expandFloat32Array=function(u,m){const w=Math.min(2*u.length,m),S=new Float32Array(w);for(let v=0;v<u.length;v++)S[v]=u[v];return S},n.GLTexture=class{constructor(u){this.texture=u,this.version=-1}}},592:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.BaseRenderLayer=void 0;const f=o(627),_=o(237),u=o(374),m=o(859);class w extends m.Disposable{constructor(v,a,h,c,d,y,C,b){super(),this._container=a,this._alpha=d,this._coreBrowserService=y,this._optionsService=C,this._themeService=b,this._deviceCharWidth=0,this._deviceCharHeight=0,this._deviceCellWidth=0,this._deviceCellHeight=0,this._deviceCharLeft=0,this._deviceCharTop=0,this._canvas=this._coreBrowserService.mainDocument.createElement("canvas"),this._canvas.classList.add(`xterm-${h}-layer`),this._canvas.style.zIndex=c.toString(),this._initCanvas(),this._container.appendChild(this._canvas),this.register(this._themeService.onChangeColors(E=>{this._refreshCharAtlas(v,E),this.reset(v)})),this.register((0,m.toDisposable)(()=>{this._canvas.remove()}))}_initCanvas(){this._ctx=(0,u.throwIfFalsy)(this._canvas.getContext("2d",{alpha:this._alpha})),this._alpha||this._clearAll()}handleBlur(v){}handleFocus(v){}handleCursorMove(v){}handleGridChanged(v,a,h){}handleSelectionChanged(v,a,h,c=!1){}_setTransparency(v,a){if(a===this._alpha)return;const h=this._canvas;this._alpha=a,this._canvas=this._canvas.cloneNode(),this._initCanvas(),this._container.replaceChild(this._canvas,h),this._refreshCharAtlas(v,this._themeService.colors),this.handleGridChanged(v,0,v.rows-1)}_refreshCharAtlas(v,a){this._deviceCharWidth<=0&&this._deviceCharHeight<=0||(this._charAtlas=(0,f.acquireTextureAtlas)(v,this._optionsService.rawOptions,a,this._deviceCellWidth,this._deviceCellHeight,this._deviceCharWidth,this._deviceCharHeight,this._coreBrowserService.dpr),this._charAtlas.warmUp())}resize(v,a){this._deviceCellWidth=a.device.cell.width,this._deviceCellHeight=a.device.cell.height,this._deviceCharWidth=a.device.char.width,this._deviceCharHeight=a.device.char.height,this._deviceCharLeft=a.device.char.left,this._deviceCharTop=a.device.char.top,this._canvas.width=a.device.canvas.width,this._canvas.height=a.device.canvas.height,this._canvas.style.width=`${a.css.canvas.width}px`,this._canvas.style.height=`${a.css.canvas.height}px`,this._alpha||this._clearAll(),this._refreshCharAtlas(v,this._themeService.colors)}_fillBottomLineAtCells(v,a,h=1){this._ctx.fillRect(v*this._deviceCellWidth,(a+1)*this._deviceCellHeight-this._coreBrowserService.dpr-1,h*this._deviceCellWidth,this._coreBrowserService.dpr)}_clearAll(){this._alpha?this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height):(this._ctx.fillStyle=this._themeService.colors.background.css,this._ctx.fillRect(0,0,this._canvas.width,this._canvas.height))}_clearCells(v,a,h,c){this._alpha?this._ctx.clearRect(v*this._deviceCellWidth,a*this._deviceCellHeight,h*this._deviceCellWidth,c*this._deviceCellHeight):(this._ctx.fillStyle=this._themeService.colors.background.css,this._ctx.fillRect(v*this._deviceCellWidth,a*this._deviceCellHeight,h*this._deviceCellWidth,c*this._deviceCellHeight))}_fillCharTrueColor(v,a,h,c){this._ctx.font=this._getFont(v,!1,!1),this._ctx.textBaseline=_.TEXT_BASELINE,this._clipCell(h,c,a.getWidth()),this._ctx.fillText(a.getChars(),h*this._deviceCellWidth+this._deviceCharLeft,c*this._deviceCellHeight+this._deviceCharTop+this._deviceCharHeight)}_clipCell(v,a,h){this._ctx.beginPath(),this._ctx.rect(v*this._deviceCellWidth,a*this._deviceCellHeight,h*this._deviceCellWidth,this._deviceCellHeight),this._ctx.clip()}_getFont(v,a,h){return`${h?"italic":""} ${a?v.options.fontWeightBold:v.options.fontWeight} ${v.options.fontSize*this._coreBrowserService.dpr}px ${v.options.fontFamily}`}}n.BaseRenderLayer=w},733:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.LinkRenderLayer=void 0;const f=o(197),_=o(237),u=o(592);class m extends u.BaseRenderLayer{constructor(S,v,a,h,c,d,y){super(a,S,"link",v,!0,c,d,y),this.register(h.onShowLinkUnderline(C=>this._handleShowLinkUnderline(C))),this.register(h.onHideLinkUnderline(C=>this._handleHideLinkUnderline(C)))}resize(S,v){super.resize(S,v),this._state=void 0}reset(S){this._clearCurrentLink()}_clearCurrentLink(){if(this._state){this._clearCells(this._state.x1,this._state.y1,this._state.cols-this._state.x1,1);const S=this._state.y2-this._state.y1-1;S>0&&this._clearCells(0,this._state.y1+1,this._state.cols,S),this._clearCells(0,this._state.y2,this._state.x2,1),this._state=void 0}}_handleShowLinkUnderline(S){if(S.fg===_.INVERTED_DEFAULT_COLOR?this._ctx.fillStyle=this._themeService.colors.background.css:S.fg!==void 0&&(0,f.is256Color)(S.fg)?this._ctx.fillStyle=this._themeService.colors.ansi[S.fg].css:this._ctx.fillStyle=this._themeService.colors.foreground.css,S.y1===S.y2)this._fillBottomLineAtCells(S.x1,S.y1,S.x2-S.x1);else{this._fillBottomLineAtCells(S.x1,S.y1,S.cols-S.x1);for(let v=S.y1+1;v<S.y2;v++)this._fillBottomLineAtCells(0,v,S.cols);this._fillBottomLineAtCells(0,S.y2,S.x2)}this._state=S}_handleHideLinkUnderline(S){this._clearCurrentLink()}}n.LinkRenderLayer=m},820:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.addDisposableDomListener=void 0,n.addDisposableDomListener=function(o,f,_,u){o.addEventListener(f,_,u);let m=!1;return{dispose:()=>{m||(m=!0,o.removeEventListener(f,_,u))}}}},274:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.CellColorResolver=void 0;const f=o(855),_=o(160),u=o(374);let m,w=0,S=0,v=!1,a=!1,h=!1,c=0;n.CellColorResolver=class{constructor(d,y,C,b,E,x){this._terminal=d,this._optionService=y,this._selectionRenderModel=C,this._decorationService=b,this._coreBrowserService=E,this._themeService=x,this.result={fg:0,bg:0,ext:0}}resolve(d,y,C,b){if(this.result.bg=d.bg,this.result.fg=d.fg,this.result.ext=268435456&d.bg?d.extended.ext:0,S=0,w=0,a=!1,v=!1,h=!1,m=this._themeService.colors,c=0,d.getCode()!==f.NULL_CELL_CODE&&d.extended.underlineStyle===4){const E=Math.max(1,Math.floor(this._optionService.rawOptions.fontSize*this._coreBrowserService.dpr/15));c=y*b%(2*Math.round(E))}if(this._decorationService.forEachDecorationAtCell(y,C,"bottom",E=>{E.backgroundColorRGB&&(S=E.backgroundColorRGB.rgba>>8&16777215,a=!0),E.foregroundColorRGB&&(w=E.foregroundColorRGB.rgba>>8&16777215,v=!0)}),h=this._selectionRenderModel.isCellSelected(this._terminal,y,C),h){if(67108864&this.result.fg||50331648&this.result.bg){if(67108864&this.result.fg)switch(50331648&this.result.fg){case 16777216:case 33554432:S=this._themeService.colors.ansi[255&this.result.fg].rgba;break;case 50331648:S=(16777215&this.result.fg)<<8|255;break;default:S=this._themeService.colors.foreground.rgba}else switch(50331648&this.result.bg){case 16777216:case 33554432:S=this._themeService.colors.ansi[255&this.result.bg].rgba;break;case 50331648:S=(16777215&this.result.bg)<<8|255}S=_.rgba.blend(S,4294967040&(this._coreBrowserService.isFocused?m.selectionBackgroundOpaque:m.selectionInactiveBackgroundOpaque).rgba|128)>>8&16777215}else S=(this._coreBrowserService.isFocused?m.selectionBackgroundOpaque:m.selectionInactiveBackgroundOpaque).rgba>>8&16777215;if(a=!0,m.selectionForeground&&(w=m.selectionForeground.rgba>>8&16777215,v=!0),(0,u.treatGlyphAsBackgroundColor)(d.getCode())){if(67108864&this.result.fg&&!(50331648&this.result.bg))w=(this._coreBrowserService.isFocused?m.selectionBackgroundOpaque:m.selectionInactiveBackgroundOpaque).rgba>>8&16777215;else{if(67108864&this.result.fg)switch(50331648&this.result.bg){case 16777216:case 33554432:w=this._themeService.colors.ansi[255&this.result.bg].rgba;break;case 50331648:w=(16777215&this.result.bg)<<8|255}else switch(50331648&this.result.fg){case 16777216:case 33554432:w=this._themeService.colors.ansi[255&this.result.fg].rgba;break;case 50331648:w=(16777215&this.result.fg)<<8|255;break;default:w=this._themeService.colors.foreground.rgba}w=_.rgba.blend(w,4294967040&(this._coreBrowserService.isFocused?m.selectionBackgroundOpaque:m.selectionInactiveBackgroundOpaque).rgba|128)>>8&16777215}v=!0}}this._decorationService.forEachDecorationAtCell(y,C,"top",E=>{E.backgroundColorRGB&&(S=E.backgroundColorRGB.rgba>>8&16777215,a=!0),E.foregroundColorRGB&&(w=E.foregroundColorRGB.rgba>>8&16777215,v=!0)}),a&&(S=h?-16777216&d.bg&-134217729|S|50331648:-16777216&d.bg|S|50331648),v&&(w=-16777216&d.fg&-67108865|w|50331648),67108864&this.result.fg&&(a&&!v&&(w=50331648&this.result.bg?-134217728&this.result.fg|67108863&this.result.bg:-134217728&this.result.fg|16777215&m.background.rgba>>8|50331648,v=!0),!a&&v&&(S=50331648&this.result.fg?-67108864&this.result.bg|67108863&this.result.fg:-67108864&this.result.bg|16777215&m.foreground.rgba>>8|50331648,a=!0)),m=void 0,this.result.bg=a?S:this.result.bg,this.result.fg=v?w:this.result.fg,this.result.ext&=536870911,this.result.ext|=c<<29&3758096384}}},627:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.removeTerminalFromCache=n.acquireTextureAtlas=void 0;const f=o(509),_=o(197),u=[];n.acquireTextureAtlas=function(m,w,S,v,a,h,c,d){const y=(0,_.generateConfig)(v,a,h,c,w,S,d);for(let E=0;E<u.length;E++){const x=u[E],k=x.ownedBy.indexOf(m);if(k>=0){if((0,_.configEquals)(x.config,y))return x.atlas;x.ownedBy.length===1?(x.atlas.dispose(),u.splice(E,1)):x.ownedBy.splice(k,1);break}}for(let E=0;E<u.length;E++){const x=u[E];if((0,_.configEquals)(x.config,y))return x.ownedBy.push(m),x.atlas}const C=m._core,b={atlas:new f.TextureAtlas(document,y,C.unicodeService),config:y,ownedBy:[m]};return u.push(b),b.atlas},n.removeTerminalFromCache=function(m){for(let w=0;w<u.length;w++){const S=u[w].ownedBy.indexOf(m);if(S!==-1){u[w].ownedBy.length===1?(u[w].atlas.dispose(),u.splice(w,1)):u[w].ownedBy.splice(S,1);break}}}},197:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.is256Color=n.configEquals=n.generateConfig=void 0;const f=o(160);n.generateConfig=function(_,u,m,w,S,v,a){const h={foreground:v.foreground,background:v.background,cursor:f.NULL_COLOR,cursorAccent:f.NULL_COLOR,selectionForeground:f.NULL_COLOR,selectionBackgroundTransparent:f.NULL_COLOR,selectionBackgroundOpaque:f.NULL_COLOR,selectionInactiveBackgroundTransparent:f.NULL_COLOR,selectionInactiveBackgroundOpaque:f.NULL_COLOR,ansi:v.ansi.slice(),contrastCache:v.contrastCache,halfContrastCache:v.halfContrastCache};return{customGlyphs:S.customGlyphs,devicePixelRatio:a,letterSpacing:S.letterSpacing,lineHeight:S.lineHeight,deviceCellWidth:_,deviceCellHeight:u,deviceCharWidth:m,deviceCharHeight:w,fontFamily:S.fontFamily,fontSize:S.fontSize,fontWeight:S.fontWeight,fontWeightBold:S.fontWeightBold,allowTransparency:S.allowTransparency,drawBoldTextInBrightColors:S.drawBoldTextInBrightColors,minimumContrastRatio:S.minimumContrastRatio,colors:h}},n.configEquals=function(_,u){for(let m=0;m<_.colors.ansi.length;m++)if(_.colors.ansi[m].rgba!==u.colors.ansi[m].rgba)return!1;return _.devicePixelRatio===u.devicePixelRatio&&_.customGlyphs===u.customGlyphs&&_.lineHeight===u.lineHeight&&_.letterSpacing===u.letterSpacing&&_.fontFamily===u.fontFamily&&_.fontSize===u.fontSize&&_.fontWeight===u.fontWeight&&_.fontWeightBold===u.fontWeightBold&&_.allowTransparency===u.allowTransparency&&_.deviceCharWidth===u.deviceCharWidth&&_.deviceCharHeight===u.deviceCharHeight&&_.drawBoldTextInBrightColors===u.drawBoldTextInBrightColors&&_.minimumContrastRatio===u.minimumContrastRatio&&_.colors.foreground.rgba===u.colors.foreground.rgba&&_.colors.background.rgba===u.colors.background.rgba},n.is256Color=function(_){return(50331648&_)==16777216||(50331648&_)==33554432}},237:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.TEXT_BASELINE=n.DIM_OPACITY=n.INVERTED_DEFAULT_COLOR=void 0;const f=o(399);n.INVERTED_DEFAULT_COLOR=257,n.DIM_OPACITY=.5,n.TEXT_BASELINE=f.isFirefox||f.isLegacyEdge?"bottom":"ideographic"},457:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.CursorBlinkStateManager=void 0,n.CursorBlinkStateManager=class{constructor(o,f){this._renderCallback=o,this._coreBrowserService=f,this.isCursorVisible=!0,this._coreBrowserService.isFocused&&this._restartInterval()}get isPaused(){return!(this._blinkStartTimeout||this._blinkInterval)}dispose(){this._blinkInterval&&(this._coreBrowserService.window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(this._coreBrowserService.window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}restartBlinkAnimation(){this.isPaused||(this._animationTimeRestarted=Date.now(),this.isCursorVisible=!0,this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._renderCallback(),this._animationFrame=void 0})))}_restartInterval(o=600){this._blinkInterval&&(this._coreBrowserService.window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout=this._coreBrowserService.window.setTimeout(()=>{if(this._animationTimeRestarted){const f=600-(Date.now()-this._animationTimeRestarted);if(this._animationTimeRestarted=void 0,f>0)return void this._restartInterval(f)}this.isCursorVisible=!1,this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._renderCallback(),this._animationFrame=void 0}),this._blinkInterval=this._coreBrowserService.window.setInterval(()=>{if(this._animationTimeRestarted){const f=600-(Date.now()-this._animationTimeRestarted);return this._animationTimeRestarted=void 0,void this._restartInterval(f)}this.isCursorVisible=!this.isCursorVisible,this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._renderCallback(),this._animationFrame=void 0})},600)},o)}pause(){this.isCursorVisible=!0,this._blinkInterval&&(this._coreBrowserService.window.clearInterval(this._blinkInterval),this._blinkInterval=void 0),this._blinkStartTimeout&&(this._coreBrowserService.window.clearTimeout(this._blinkStartTimeout),this._blinkStartTimeout=void 0),this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}resume(){this.pause(),this._animationTimeRestarted=void 0,this._restartInterval(),this.restartBlinkAnimation()}}},860:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.tryDrawCustomChar=n.powerlineDefinitions=n.boxDrawingDefinitions=n.blockElementDefinitions=void 0;const f=o(374);n.blockElementDefinitions={"▀":[{x:0,y:0,w:8,h:4}],"▁":[{x:0,y:7,w:8,h:1}],"▂":[{x:0,y:6,w:8,h:2}],"▃":[{x:0,y:5,w:8,h:3}],"▄":[{x:0,y:4,w:8,h:4}],"▅":[{x:0,y:3,w:8,h:5}],"▆":[{x:0,y:2,w:8,h:6}],"▇":[{x:0,y:1,w:8,h:7}],"█":[{x:0,y:0,w:8,h:8}],"▉":[{x:0,y:0,w:7,h:8}],"▊":[{x:0,y:0,w:6,h:8}],"▋":[{x:0,y:0,w:5,h:8}],"▌":[{x:0,y:0,w:4,h:8}],"▍":[{x:0,y:0,w:3,h:8}],"▎":[{x:0,y:0,w:2,h:8}],"▏":[{x:0,y:0,w:1,h:8}],"▐":[{x:4,y:0,w:4,h:8}],"▔":[{x:0,y:0,w:8,h:1}],"▕":[{x:7,y:0,w:1,h:8}],"▖":[{x:0,y:4,w:4,h:4}],"▗":[{x:4,y:4,w:4,h:4}],"▘":[{x:0,y:0,w:4,h:4}],"▙":[{x:0,y:0,w:4,h:8},{x:0,y:4,w:8,h:4}],"▚":[{x:0,y:0,w:4,h:4},{x:4,y:4,w:4,h:4}],"▛":[{x:0,y:0,w:4,h:8},{x:4,y:0,w:4,h:4}],"▜":[{x:0,y:0,w:8,h:4},{x:4,y:0,w:4,h:8}],"▝":[{x:4,y:0,w:4,h:4}],"▞":[{x:4,y:0,w:4,h:4},{x:0,y:4,w:4,h:4}],"▟":[{x:4,y:0,w:4,h:8},{x:0,y:4,w:8,h:4}],"🭰":[{x:1,y:0,w:1,h:8}],"🭱":[{x:2,y:0,w:1,h:8}],"🭲":[{x:3,y:0,w:1,h:8}],"🭳":[{x:4,y:0,w:1,h:8}],"🭴":[{x:5,y:0,w:1,h:8}],"🭵":[{x:6,y:0,w:1,h:8}],"🭶":[{x:0,y:1,w:8,h:1}],"🭷":[{x:0,y:2,w:8,h:1}],"🭸":[{x:0,y:3,w:8,h:1}],"🭹":[{x:0,y:4,w:8,h:1}],"🭺":[{x:0,y:5,w:8,h:1}],"🭻":[{x:0,y:6,w:8,h:1}],"🭼":[{x:0,y:0,w:1,h:8},{x:0,y:7,w:8,h:1}],"🭽":[{x:0,y:0,w:1,h:8},{x:0,y:0,w:8,h:1}],"🭾":[{x:7,y:0,w:1,h:8},{x:0,y:0,w:8,h:1}],"🭿":[{x:7,y:0,w:1,h:8},{x:0,y:7,w:8,h:1}],"🮀":[{x:0,y:0,w:8,h:1},{x:0,y:7,w:8,h:1}],"🮁":[{x:0,y:0,w:8,h:1},{x:0,y:2,w:8,h:1},{x:0,y:4,w:8,h:1},{x:0,y:7,w:8,h:1}],"🮂":[{x:0,y:0,w:8,h:2}],"🮃":[{x:0,y:0,w:8,h:3}],"🮄":[{x:0,y:0,w:8,h:5}],"🮅":[{x:0,y:0,w:8,h:6}],"🮆":[{x:0,y:0,w:8,h:7}],"🮇":[{x:6,y:0,w:2,h:8}],"🮈":[{x:5,y:0,w:3,h:8}],"🮉":[{x:3,y:0,w:5,h:8}],"🮊":[{x:2,y:0,w:6,h:8}],"🮋":[{x:1,y:0,w:7,h:8}],"🮕":[{x:0,y:0,w:2,h:2},{x:4,y:0,w:2,h:2},{x:2,y:2,w:2,h:2},{x:6,y:2,w:2,h:2},{x:0,y:4,w:2,h:2},{x:4,y:4,w:2,h:2},{x:2,y:6,w:2,h:2},{x:6,y:6,w:2,h:2}],"🮖":[{x:2,y:0,w:2,h:2},{x:6,y:0,w:2,h:2},{x:0,y:2,w:2,h:2},{x:4,y:2,w:2,h:2},{x:2,y:4,w:2,h:2},{x:6,y:4,w:2,h:2},{x:0,y:6,w:2,h:2},{x:4,y:6,w:2,h:2}],"🮗":[{x:0,y:2,w:8,h:2},{x:0,y:6,w:8,h:2}]};const _={"░":[[1,0,0,0],[0,0,0,0],[0,0,1,0],[0,0,0,0]],"▒":[[1,0],[0,0],[0,1],[0,0]],"▓":[[0,1],[1,1],[1,0],[1,1]]};n.boxDrawingDefinitions={"─":{1:"M0,.5 L1,.5"},"━":{3:"M0,.5 L1,.5"},"│":{1:"M.5,0 L.5,1"},"┃":{3:"M.5,0 L.5,1"},"┌":{1:"M0.5,1 L.5,.5 L1,.5"},"┏":{3:"M0.5,1 L.5,.5 L1,.5"},"┐":{1:"M0,.5 L.5,.5 L.5,1"},"┓":{3:"M0,.5 L.5,.5 L.5,1"},"└":{1:"M.5,0 L.5,.5 L1,.5"},"┗":{3:"M.5,0 L.5,.5 L1,.5"},"┘":{1:"M.5,0 L.5,.5 L0,.5"},"┛":{3:"M.5,0 L.5,.5 L0,.5"},"├":{1:"M.5,0 L.5,1 M.5,.5 L1,.5"},"┣":{3:"M.5,0 L.5,1 M.5,.5 L1,.5"},"┤":{1:"M.5,0 L.5,1 M.5,.5 L0,.5"},"┫":{3:"M.5,0 L.5,1 M.5,.5 L0,.5"},"┬":{1:"M0,.5 L1,.5 M.5,.5 L.5,1"},"┳":{3:"M0,.5 L1,.5 M.5,.5 L.5,1"},"┴":{1:"M0,.5 L1,.5 M.5,.5 L.5,0"},"┻":{3:"M0,.5 L1,.5 M.5,.5 L.5,0"},"┼":{1:"M0,.5 L1,.5 M.5,0 L.5,1"},"╋":{3:"M0,.5 L1,.5 M.5,0 L.5,1"},"╴":{1:"M.5,.5 L0,.5"},"╸":{3:"M.5,.5 L0,.5"},"╵":{1:"M.5,.5 L.5,0"},"╹":{3:"M.5,.5 L.5,0"},"╶":{1:"M.5,.5 L1,.5"},"╺":{3:"M.5,.5 L1,.5"},"╷":{1:"M.5,.5 L.5,1"},"╻":{3:"M.5,.5 L.5,1"},"═":{1:(v,a)=>`M0,${.5-a} L1,${.5-a} M0,${.5+a} L1,${.5+a}`},"║":{1:(v,a)=>`M${.5-v},0 L${.5-v},1 M${.5+v},0 L${.5+v},1`},"╒":{1:(v,a)=>`M.5,1 L.5,${.5-a} L1,${.5-a} M.5,${.5+a} L1,${.5+a}`},"╓":{1:(v,a)=>`M${.5-v},1 L${.5-v},.5 L1,.5 M${.5+v},.5 L${.5+v},1`},"╔":{1:(v,a)=>`M1,${.5-a} L${.5-v},${.5-a} L${.5-v},1 M1,${.5+a} L${.5+v},${.5+a} L${.5+v},1`},"╕":{1:(v,a)=>`M0,${.5-a} L.5,${.5-a} L.5,1 M0,${.5+a} L.5,${.5+a}`},"╖":{1:(v,a)=>`M${.5+v},1 L${.5+v},.5 L0,.5 M${.5-v},.5 L${.5-v},1`},"╗":{1:(v,a)=>`M0,${.5+a} L${.5-v},${.5+a} L${.5-v},1 M0,${.5-a} L${.5+v},${.5-a} L${.5+v},1`},"╘":{1:(v,a)=>`M.5,0 L.5,${.5+a} L1,${.5+a} M.5,${.5-a} L1,${.5-a}`},"╙":{1:(v,a)=>`M1,.5 L${.5-v},.5 L${.5-v},0 M${.5+v},.5 L${.5+v},0`},"╚":{1:(v,a)=>`M1,${.5-a} L${.5+v},${.5-a} L${.5+v},0 M1,${.5+a} L${.5-v},${.5+a} L${.5-v},0`},"╛":{1:(v,a)=>`M0,${.5+a} L.5,${.5+a} L.5,0 M0,${.5-a} L.5,${.5-a}`},"╜":{1:(v,a)=>`M0,.5 L${.5+v},.5 L${.5+v},0 M${.5-v},.5 L${.5-v},0`},"╝":{1:(v,a)=>`M0,${.5-a} L${.5-v},${.5-a} L${.5-v},0 M0,${.5+a} L${.5+v},${.5+a} L${.5+v},0`},"╞":{1:(v,a)=>`M.5,0 L.5,1 M.5,${.5-a} L1,${.5-a} M.5,${.5+a} L1,${.5+a}`},"╟":{1:(v,a)=>`M${.5-v},0 L${.5-v},1 M${.5+v},0 L${.5+v},1 M${.5+v},.5 L1,.5`},"╠":{1:(v,a)=>`M${.5-v},0 L${.5-v},1 M1,${.5+a} L${.5+v},${.5+a} L${.5+v},1 M1,${.5-a} L${.5+v},${.5-a} L${.5+v},0`},"╡":{1:(v,a)=>`M.5,0 L.5,1 M0,${.5-a} L.5,${.5-a} M0,${.5+a} L.5,${.5+a}`},"╢":{1:(v,a)=>`M0,.5 L${.5-v},.5 M${.5-v},0 L${.5-v},1 M${.5+v},0 L${.5+v},1`},"╣":{1:(v,a)=>`M${.5+v},0 L${.5+v},1 M0,${.5+a} L${.5-v},${.5+a} L${.5-v},1 M0,${.5-a} L${.5-v},${.5-a} L${.5-v},0`},"╤":{1:(v,a)=>`M0,${.5-a} L1,${.5-a} M0,${.5+a} L1,${.5+a} M.5,${.5+a} L.5,1`},"╥":{1:(v,a)=>`M0,.5 L1,.5 M${.5-v},.5 L${.5-v},1 M${.5+v},.5 L${.5+v},1`},"╦":{1:(v,a)=>`M0,${.5-a} L1,${.5-a} M0,${.5+a} L${.5-v},${.5+a} L${.5-v},1 M1,${.5+a} L${.5+v},${.5+a} L${.5+v},1`},"╧":{1:(v,a)=>`M.5,0 L.5,${.5-a} M0,${.5-a} L1,${.5-a} M0,${.5+a} L1,${.5+a}`},"╨":{1:(v,a)=>`M0,.5 L1,.5 M${.5-v},.5 L${.5-v},0 M${.5+v},.5 L${.5+v},0`},"╩":{1:(v,a)=>`M0,${.5+a} L1,${.5+a} M0,${.5-a} L${.5-v},${.5-a} L${.5-v},0 M1,${.5-a} L${.5+v},${.5-a} L${.5+v},0`},"╪":{1:(v,a)=>`M.5,0 L.5,1 M0,${.5-a} L1,${.5-a} M0,${.5+a} L1,${.5+a}`},"╫":{1:(v,a)=>`M0,.5 L1,.5 M${.5-v},0 L${.5-v},1 M${.5+v},0 L${.5+v},1`},"╬":{1:(v,a)=>`M0,${.5+a} L${.5-v},${.5+a} L${.5-v},1 M1,${.5+a} L${.5+v},${.5+a} L${.5+v},1 M0,${.5-a} L${.5-v},${.5-a} L${.5-v},0 M1,${.5-a} L${.5+v},${.5-a} L${.5+v},0`},"╱":{1:"M1,0 L0,1"},"╲":{1:"M0,0 L1,1"},"╳":{1:"M1,0 L0,1 M0,0 L1,1"},"╼":{1:"M.5,.5 L0,.5",3:"M.5,.5 L1,.5"},"╽":{1:"M.5,.5 L.5,0",3:"M.5,.5 L.5,1"},"╾":{1:"M.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"╿":{1:"M.5,.5 L.5,1",3:"M.5,.5 L.5,0"},"┍":{1:"M.5,.5 L.5,1",3:"M.5,.5 L1,.5"},"┎":{1:"M.5,.5 L1,.5",3:"M.5,.5 L.5,1"},"┑":{1:"M.5,.5 L.5,1",3:"M.5,.5 L0,.5"},"┒":{1:"M.5,.5 L0,.5",3:"M.5,.5 L.5,1"},"┕":{1:"M.5,.5 L.5,0",3:"M.5,.5 L1,.5"},"┖":{1:"M.5,.5 L1,.5",3:"M.5,.5 L.5,0"},"┙":{1:"M.5,.5 L.5,0",3:"M.5,.5 L0,.5"},"┚":{1:"M.5,.5 L0,.5",3:"M.5,.5 L.5,0"},"┝":{1:"M.5,0 L.5,1",3:"M.5,.5 L1,.5"},"┞":{1:"M0.5,1 L.5,.5 L1,.5",3:"M.5,.5 L.5,0"},"┟":{1:"M.5,0 L.5,.5 L1,.5",3:"M.5,.5 L.5,1"},"┠":{1:"M.5,.5 L1,.5",3:"M.5,0 L.5,1"},"┡":{1:"M.5,.5 L.5,1",3:"M.5,0 L.5,.5 L1,.5"},"┢":{1:"M.5,.5 L.5,0",3:"M0.5,1 L.5,.5 L1,.5"},"┥":{1:"M.5,0 L.5,1",3:"M.5,.5 L0,.5"},"┦":{1:"M0,.5 L.5,.5 L.5,1",3:"M.5,.5 L.5,0"},"┧":{1:"M.5,0 L.5,.5 L0,.5",3:"M.5,.5 L.5,1"},"┨":{1:"M.5,.5 L0,.5",3:"M.5,0 L.5,1"},"┩":{1:"M.5,.5 L.5,1",3:"M.5,0 L.5,.5 L0,.5"},"┪":{1:"M.5,.5 L.5,0",3:"M0,.5 L.5,.5 L.5,1"},"┭":{1:"M0.5,1 L.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"┮":{1:"M0,.5 L.5,.5 L.5,1",3:"M.5,.5 L1,.5"},"┯":{1:"M.5,.5 L.5,1",3:"M0,.5 L1,.5"},"┰":{1:"M0,.5 L1,.5",3:"M.5,.5 L.5,1"},"┱":{1:"M.5,.5 L1,.5",3:"M0,.5 L.5,.5 L.5,1"},"┲":{1:"M.5,.5 L0,.5",3:"M0.5,1 L.5,.5 L1,.5"},"┵":{1:"M.5,0 L.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"┶":{1:"M.5,0 L.5,.5 L0,.5",3:"M.5,.5 L1,.5"},"┷":{1:"M.5,.5 L.5,0",3:"M0,.5 L1,.5"},"┸":{1:"M0,.5 L1,.5",3:"M.5,.5 L.5,0"},"┹":{1:"M.5,.5 L1,.5",3:"M.5,0 L.5,.5 L0,.5"},"┺":{1:"M.5,.5 L0,.5",3:"M.5,0 L.5,.5 L1,.5"},"┽":{1:"M.5,0 L.5,1 M.5,.5 L1,.5",3:"M.5,.5 L0,.5"},"┾":{1:"M.5,0 L.5,1 M.5,.5 L0,.5",3:"M.5,.5 L1,.5"},"┿":{1:"M.5,0 L.5,1",3:"M0,.5 L1,.5"},"╀":{1:"M0,.5 L1,.5 M.5,.5 L.5,1",3:"M.5,.5 L.5,0"},"╁":{1:"M.5,.5 L.5,0 M0,.5 L1,.5",3:"M.5,.5 L.5,1"},"╂":{1:"M0,.5 L1,.5",3:"M.5,0 L.5,1"},"╃":{1:"M0.5,1 L.5,.5 L1,.5",3:"M.5,0 L.5,.5 L0,.5"},"╄":{1:"M0,.5 L.5,.5 L.5,1",3:"M.5,0 L.5,.5 L1,.5"},"╅":{1:"M.5,0 L.5,.5 L1,.5",3:"M0,.5 L.5,.5 L.5,1"},"╆":{1:"M.5,0 L.5,.5 L0,.5",3:"M0.5,1 L.5,.5 L1,.5"},"╇":{1:"M.5,.5 L.5,1",3:"M.5,.5 L.5,0 M0,.5 L1,.5"},"╈":{1:"M.5,.5 L.5,0",3:"M0,.5 L1,.5 M.5,.5 L.5,1"},"╉":{1:"M.5,.5 L1,.5",3:"M.5,0 L.5,1 M.5,.5 L0,.5"},"╊":{1:"M.5,.5 L0,.5",3:"M.5,0 L.5,1 M.5,.5 L1,.5"},"╌":{1:"M.1,.5 L.4,.5 M.6,.5 L.9,.5"},"╍":{3:"M.1,.5 L.4,.5 M.6,.5 L.9,.5"},"┄":{1:"M.0667,.5 L.2667,.5 M.4,.5 L.6,.5 M.7333,.5 L.9333,.5"},"┅":{3:"M.0667,.5 L.2667,.5 M.4,.5 L.6,.5 M.7333,.5 L.9333,.5"},"┈":{1:"M.05,.5 L.2,.5 M.3,.5 L.45,.5 M.55,.5 L.7,.5 M.8,.5 L.95,.5"},"┉":{3:"M.05,.5 L.2,.5 M.3,.5 L.45,.5 M.55,.5 L.7,.5 M.8,.5 L.95,.5"},"╎":{1:"M.5,.1 L.5,.4 M.5,.6 L.5,.9"},"╏":{3:"M.5,.1 L.5,.4 M.5,.6 L.5,.9"},"┆":{1:"M.5,.0667 L.5,.2667 M.5,.4 L.5,.6 M.5,.7333 L.5,.9333"},"┇":{3:"M.5,.0667 L.5,.2667 M.5,.4 L.5,.6 M.5,.7333 L.5,.9333"},"┊":{1:"M.5,.05 L.5,.2 M.5,.3 L.5,.45 L.5,.55 M.5,.7 L.5,.95"},"┋":{3:"M.5,.05 L.5,.2 M.5,.3 L.5,.45 L.5,.55 M.5,.7 L.5,.95"},"╭":{1:(v,a)=>`M.5,1 L.5,${.5+a/.15*.5} C.5,${.5+a/.15*.5},.5,.5,1,.5`},"╮":{1:(v,a)=>`M.5,1 L.5,${.5+a/.15*.5} C.5,${.5+a/.15*.5},.5,.5,0,.5`},"╯":{1:(v,a)=>`M.5,0 L.5,${.5-a/.15*.5} C.5,${.5-a/.15*.5},.5,.5,0,.5`},"╰":{1:(v,a)=>`M.5,0 L.5,${.5-a/.15*.5} C.5,${.5-a/.15*.5},.5,.5,1,.5`}},n.powerlineDefinitions={"":{d:"M0,0 L1,.5 L0,1",type:0,rightPadding:2},"":{d:"M-1,-.5 L1,.5 L-1,1.5",type:1,leftPadding:1,rightPadding:1},"":{d:"M1,0 L0,.5 L1,1",type:0,leftPadding:2},"":{d:"M2,-.5 L0,.5 L2,1.5",type:1,leftPadding:1,rightPadding:1},"":{d:"M0,0 L0,1 C0.552,1,1,0.776,1,.5 C1,0.224,0.552,0,0,0",type:0,rightPadding:1},"":{d:"M.2,1 C.422,1,.8,.826,.78,.5 C.8,.174,0.422,0,.2,0",type:1,rightPadding:1},"":{d:"M1,0 L1,1 C0.448,1,0,0.776,0,.5 C0,0.224,0.448,0,1,0",type:0,leftPadding:1},"":{d:"M.8,1 C0.578,1,0.2,.826,.22,.5 C0.2,0.174,0.578,0,0.8,0",type:1,leftPadding:1},"":{d:"M-.5,-.5 L1.5,1.5 L-.5,1.5",type:0},"":{d:"M-.5,-.5 L1.5,1.5",type:1,leftPadding:1,rightPadding:1},"":{d:"M1.5,-.5 L-.5,1.5 L1.5,1.5",type:0},"":{d:"M1.5,-.5 L-.5,1.5 L-.5,-.5",type:0},"":{d:"M1.5,-.5 L-.5,1.5",type:1,leftPadding:1,rightPadding:1},"":{d:"M-.5,-.5 L1.5,1.5 L1.5,-.5",type:0}},n.powerlineDefinitions[""]=n.powerlineDefinitions[""],n.powerlineDefinitions[""]=n.powerlineDefinitions[""],n.tryDrawCustomChar=function(v,a,h,c,d,y,C,b){const E=n.blockElementDefinitions[a];if(E)return function(I,A,P,j,W,z){for(let V=0;V<A.length;V++){const $=A[V],R=W/8,O=z/8;I.fillRect(P+$.x*R,j+$.y*O,$.w*R,$.h*O)}}(v,E,h,c,d,y),!0;const x=_[a];if(x)return function(I,A,P,j,W,z){let V=u.get(A);V||(V=new Map,u.set(A,V));const $=I.fillStyle;if(typeof $!="string")throw new Error(`Unexpected fillStyle type "${$}"`);let R=V.get($);if(!R){const O=A[0].length,D=A.length,H=I.canvas.ownerDocument.createElement("canvas");H.width=O,H.height=D;const X=(0,f.throwIfFalsy)(H.getContext("2d")),Q=new ImageData(O,D);let ue,ie,U,M;if($.startsWith("#"))ue=parseInt($.slice(1,3),16),ie=parseInt($.slice(3,5),16),U=parseInt($.slice(5,7),16),M=$.length>7&&parseInt($.slice(7,9),16)||1;else{if(!$.startsWith("rgba"))throw new Error(`Unexpected fillStyle color format "${$}" when drawing pattern glyph`);[ue,ie,U,M]=$.substring(5,$.length-1).split(",").map(Y=>parseFloat(Y))}for(let Y=0;Y<D;Y++)for(let G=0;G<O;G++)Q.data[4*(Y*O+G)]=ue,Q.data[4*(Y*O+G)+1]=ie,Q.data[4*(Y*O+G)+2]=U,Q.data[4*(Y*O+G)+3]=A[Y][G]*(255*M);X.putImageData(Q,0,0),R=(0,f.throwIfFalsy)(I.createPattern(H,null)),V.set($,R)}I.fillStyle=R,I.fillRect(P,j,W,z)}(v,x,h,c,d,y),!0;const k=n.boxDrawingDefinitions[a];if(k)return function(I,A,P,j,W,z,V){I.strokeStyle=I.fillStyle;for(const[$,R]of Object.entries(A)){let O;I.beginPath(),I.lineWidth=V*Number.parseInt($),O=typeof R=="function"?R(.15,.15/z*W):R;for(const D of O.split(" ")){const H=D[0],X=w[H];if(!X){console.error(`Could not find drawing instructions for "${H}"`);continue}const Q=D.substring(1).split(",");Q[0]&&Q[1]&&X(I,S(Q,W,z,P,j,!0,V))}I.stroke(),I.closePath()}}(v,k,h,c,d,y,b),!0;const L=n.powerlineDefinitions[a];return!!L&&(function(I,A,P,j,W,z,V,$){const R=new Path2D;R.rect(P,j,W,z),I.clip(R),I.beginPath();const O=V/12;I.lineWidth=$*O;for(const D of A.d.split(" ")){const H=D[0],X=w[H];if(!X){console.error(`Could not find drawing instructions for "${H}"`);continue}const Q=D.substring(1).split(",");Q[0]&&Q[1]&&X(I,S(Q,W,z,P,j,!1,$,(A.leftPadding??0)*(O/2),(A.rightPadding??0)*(O/2)))}A.type===1?(I.strokeStyle=I.fillStyle,I.stroke()):I.fill(),I.closePath()}(v,L,h,c,d,y,C,b),!0)};const u=new Map;function m(v,a,h=0){return Math.max(Math.min(v,a),h)}const w={C:(v,a)=>v.bezierCurveTo(a[0],a[1],a[2],a[3],a[4],a[5]),L:(v,a)=>v.lineTo(a[0],a[1]),M:(v,a)=>v.moveTo(a[0],a[1])};function S(v,a,h,c,d,y,C,b=0,E=0){const x=v.map(k=>parseFloat(k)||parseInt(k));if(x.length<2)throw new Error("Too few arguments for instruction");for(let k=0;k<x.length;k+=2)x[k]*=a-b*C-E*C,y&&x[k]!==0&&(x[k]=m(Math.round(x[k]+.5)-.5,a,0)),x[k]+=c+b*C;for(let k=1;k<x.length;k+=2)x[k]*=h,y&&x[k]!==0&&(x[k]=m(Math.round(x[k]+.5)-.5,h,0)),x[k]+=d;return x}},56:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.observeDevicePixelDimensions=void 0;const f=o(859);n.observeDevicePixelDimensions=function(_,u,m){let w=new u.ResizeObserver(S=>{const v=S.find(c=>c.target===_);if(!v)return;if(!("devicePixelContentBoxSize"in v))return w==null||w.disconnect(),void(w=void 0);const a=v.devicePixelContentBoxSize[0].inlineSize,h=v.devicePixelContentBoxSize[0].blockSize;a>0&&h>0&&m(a,h)});try{w.observe(_,{box:["device-pixel-content-box"]})}catch{w.disconnect(),w=void 0}return(0,f.toDisposable)(()=>w==null?void 0:w.disconnect())}},374:(p,n)=>{function o(_){return 57508<=_&&_<=57558}function f(_){return _>=128512&&_<=128591||_>=127744&&_<=128511||_>=128640&&_<=128767||_>=9728&&_<=9983||_>=9984&&_<=10175||_>=65024&&_<=65039||_>=129280&&_<=129535||_>=127462&&_<=127487}Object.defineProperty(n,"__esModule",{value:!0}),n.computeNextVariantOffset=n.createRenderDimensions=n.treatGlyphAsBackgroundColor=n.allowRescaling=n.isEmoji=n.isRestrictedPowerlineGlyph=n.isPowerlineGlyph=n.throwIfFalsy=void 0,n.throwIfFalsy=function(_){if(!_)throw new Error("value must not be falsy");return _},n.isPowerlineGlyph=o,n.isRestrictedPowerlineGlyph=function(_){return 57520<=_&&_<=57527},n.isEmoji=f,n.allowRescaling=function(_,u,m,w){return u===1&&m>Math.ceil(1.5*w)&&_!==void 0&&_>255&&!f(_)&&!o(_)&&!function(S){return 57344<=S&&S<=63743}(_)},n.treatGlyphAsBackgroundColor=function(_){return o(_)||function(u){return 9472<=u&&u<=9631}(_)},n.createRenderDimensions=function(){return{css:{canvas:{width:0,height:0},cell:{width:0,height:0}},device:{canvas:{width:0,height:0},cell:{width:0,height:0},char:{width:0,height:0,left:0,top:0}}}},n.computeNextVariantOffset=function(_,u,m=0){return(_-(2*Math.round(u)-m))%(2*Math.round(u))}},296:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.createSelectionRenderModel=void 0;class o{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(_,u,m,w=!1){if(this.selectionStart=u,this.selectionEnd=m,!u||!m||u[0]===m[0]&&u[1]===m[1])return void this.clear();const S=_.buffers.active.ydisp,v=u[1]-S,a=m[1]-S,h=Math.max(v,0),c=Math.min(a,_.rows-1);h>=_.rows||c<0?this.clear():(this.hasSelection=!0,this.columnSelectMode=w,this.viewportStartRow=v,this.viewportEndRow=a,this.viewportCappedStartRow=h,this.viewportCappedEndRow=c,this.startCol=u[0],this.endCol=m[0])}isCellSelected(_,u,m){return!!this.hasSelection&&(m-=_.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?u>=this.startCol&&m>=this.viewportCappedStartRow&&u<this.endCol&&m<=this.viewportCappedEndRow:u<this.startCol&&m>=this.viewportCappedStartRow&&u>=this.endCol&&m<=this.viewportCappedEndRow:m>this.viewportStartRow&&m<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&m===this.viewportStartRow&&u>=this.startCol&&u<this.endCol||this.viewportStartRow<this.viewportEndRow&&m===this.viewportEndRow&&u<this.endCol||this.viewportStartRow<this.viewportEndRow&&m===this.viewportStartRow&&u>=this.startCol)}}n.createSelectionRenderModel=function(){return new o}},509:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.TextureAtlas=void 0;const f=o(237),_=o(860),u=o(374),m=o(160),w=o(345),S=o(485),v=o(385),a=o(147),h=o(855),c={texturePage:0,texturePosition:{x:0,y:0},texturePositionClipSpace:{x:0,y:0},offset:{x:0,y:0},size:{x:0,y:0},sizeClipSpace:{x:0,y:0}};let d;class y{get pages(){return this._pages}constructor(k,L,I){this._document=k,this._config=L,this._unicodeService=I,this._didWarmUp=!1,this._cacheMap=new S.FourKeyMap,this._cacheMapCombined=new S.FourKeyMap,this._pages=[],this._activePages=[],this._workBoundingBox={top:0,left:0,bottom:0,right:0},this._workAttributeData=new a.AttributeData,this._textureSize=512,this._onAddTextureAtlasCanvas=new w.EventEmitter,this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=new w.EventEmitter,this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._requestClearModel=!1,this._createNewPage(),this._tmpCanvas=E(k,4*this._config.deviceCellWidth+4,this._config.deviceCellHeight+4),this._tmpCtx=(0,u.throwIfFalsy)(this._tmpCanvas.getContext("2d",{alpha:this._config.allowTransparency,willReadFrequently:!0}))}dispose(){for(const k of this.pages)k.canvas.remove();this._onAddTextureAtlasCanvas.dispose()}warmUp(){this._didWarmUp||(this._doWarmUp(),this._didWarmUp=!0)}_doWarmUp(){const k=new v.IdleTaskQueue;for(let L=33;L<126;L++)k.enqueue(()=>{if(!this._cacheMap.get(L,h.DEFAULT_COLOR,h.DEFAULT_COLOR,h.DEFAULT_EXT)){const I=this._drawToCache(L,h.DEFAULT_COLOR,h.DEFAULT_COLOR,h.DEFAULT_EXT);this._cacheMap.set(L,h.DEFAULT_COLOR,h.DEFAULT_COLOR,h.DEFAULT_EXT,I)}})}beginFrame(){return this._requestClearModel}clearTexture(){if(this._pages[0].currentRow.x!==0||this._pages[0].currentRow.y!==0){for(const k of this._pages)k.clear();this._cacheMap.clear(),this._cacheMapCombined.clear(),this._didWarmUp=!1}}_createNewPage(){if(y.maxAtlasPages&&this._pages.length>=Math.max(4,y.maxAtlasPages)){const L=this._pages.filter(V=>2*V.canvas.width<=(y.maxTextureSize||4096)).sort((V,$)=>$.canvas.width!==V.canvas.width?$.canvas.width-V.canvas.width:$.percentageUsed-V.percentageUsed);let I=-1,A=0;for(let V=0;V<L.length;V++)if(L[V].canvas.width!==A)I=V,A=L[V].canvas.width;else if(V-I==3)break;const P=L.slice(I,I+4),j=P.map(V=>V.glyphs[0].texturePage).sort((V,$)=>V>$?1:-1),W=this.pages.length-P.length,z=this._mergePages(P,W);z.version++;for(let V=j.length-1;V>=0;V--)this._deletePage(j[V]);this.pages.push(z),this._requestClearModel=!0,this._onAddTextureAtlasCanvas.fire(z.canvas)}const k=new C(this._document,this._textureSize);return this._pages.push(k),this._activePages.push(k),this._onAddTextureAtlasCanvas.fire(k.canvas),k}_mergePages(k,L){const I=2*k[0].canvas.width,A=new C(this._document,I,k);for(const[P,j]of k.entries()){const W=P*j.canvas.width%I,z=Math.floor(P/2)*j.canvas.height;A.ctx.drawImage(j.canvas,W,z);for(const $ of j.glyphs)$.texturePage=L,$.sizeClipSpace.x=$.size.x/I,$.sizeClipSpace.y=$.size.y/I,$.texturePosition.x+=W,$.texturePosition.y+=z,$.texturePositionClipSpace.x=$.texturePosition.x/I,$.texturePositionClipSpace.y=$.texturePosition.y/I;this._onRemoveTextureAtlasCanvas.fire(j.canvas);const V=this._activePages.indexOf(j);V!==-1&&this._activePages.splice(V,1)}return A}_deletePage(k){this._pages.splice(k,1);for(let L=k;L<this._pages.length;L++){const I=this._pages[L];for(const A of I.glyphs)A.texturePage--;I.version++}}getRasterizedGlyphCombinedChar(k,L,I,A,P){return this._getFromCacheMap(this._cacheMapCombined,k,L,I,A,P)}getRasterizedGlyph(k,L,I,A,P){return this._getFromCacheMap(this._cacheMap,k,L,I,A,P)}_getFromCacheMap(k,L,I,A,P,j=!1){return d=k.get(L,I,A,P),d||(d=this._drawToCache(L,I,A,P,j),k.set(L,I,A,P,d)),d}_getColorFromAnsiIndex(k){if(k>=this._config.colors.ansi.length)throw new Error("No color found for idx "+k);return this._config.colors.ansi[k]}_getBackgroundColor(k,L,I,A){if(this._config.allowTransparency)return m.NULL_COLOR;let P;switch(k){case 16777216:case 33554432:P=this._getColorFromAnsiIndex(L);break;case 50331648:const j=a.AttributeData.toColorRGB(L);P=m.channels.toColor(j[0],j[1],j[2]);break;default:P=I?m.color.opaque(this._config.colors.foreground):this._config.colors.background}return P}_getForegroundColor(k,L,I,A,P,j,W,z,V,$){const R=this._getMinimumContrastColor(k,L,I,A,P,j,W,V,z,$);if(R)return R;let O;switch(P){case 16777216:case 33554432:this._config.drawBoldTextInBrightColors&&V&&j<8&&(j+=8),O=this._getColorFromAnsiIndex(j);break;case 50331648:const D=a.AttributeData.toColorRGB(j);O=m.channels.toColor(D[0],D[1],D[2]);break;default:O=W?this._config.colors.background:this._config.colors.foreground}return this._config.allowTransparency&&(O=m.color.opaque(O)),z&&(O=m.color.multiplyOpacity(O,f.DIM_OPACITY)),O}_resolveBackgroundRgba(k,L,I){switch(k){case 16777216:case 33554432:return this._getColorFromAnsiIndex(L).rgba;case 50331648:return L<<8;default:return I?this._config.colors.foreground.rgba:this._config.colors.background.rgba}}_resolveForegroundRgba(k,L,I,A){switch(k){case 16777216:case 33554432:return this._config.drawBoldTextInBrightColors&&A&&L<8&&(L+=8),this._getColorFromAnsiIndex(L).rgba;case 50331648:return L<<8;default:return I?this._config.colors.background.rgba:this._config.colors.foreground.rgba}}_getMinimumContrastColor(k,L,I,A,P,j,W,z,V,$){if(this._config.minimumContrastRatio===1||$)return;const R=this._getContrastCache(V),O=R.getColor(k,A);if(O!==void 0)return O||void 0;const D=this._resolveBackgroundRgba(L,I,W),H=this._resolveForegroundRgba(P,j,W,z),X=m.rgba.ensureContrastRatio(D,H,this._config.minimumContrastRatio/(V?2:1));if(!X)return void R.setColor(k,A,null);const Q=m.channels.toColor(X>>24&255,X>>16&255,X>>8&255);return R.setColor(k,A,Q),Q}_getContrastCache(k){return k?this._config.colors.halfContrastCache:this._config.colors.contrastCache}_drawToCache(k,L,I,A,P=!1){const j=typeof k=="number"?String.fromCharCode(k):k,W=Math.min(this._config.deviceCellWidth*Math.max(j.length,2)+4,this._textureSize);this._tmpCanvas.width<W&&(this._tmpCanvas.width=W);const z=Math.min(this._config.deviceCellHeight+8,this._textureSize);if(this._tmpCanvas.height<z&&(this._tmpCanvas.height=z),this._tmpCtx.save(),this._workAttributeData.fg=I,this._workAttributeData.bg=L,this._workAttributeData.extended.ext=A,this._workAttributeData.isInvisible())return c;const V=!!this._workAttributeData.isBold(),$=!!this._workAttributeData.isInverse(),R=!!this._workAttributeData.isDim(),O=!!this._workAttributeData.isItalic(),D=!!this._workAttributeData.isUnderline(),H=!!this._workAttributeData.isStrikethrough(),X=!!this._workAttributeData.isOverline();let Q=this._workAttributeData.getFgColor(),ue=this._workAttributeData.getFgColorMode(),ie=this._workAttributeData.getBgColor(),U=this._workAttributeData.getBgColorMode();if($){const oe=Q;Q=ie,ie=oe;const ye=ue;ue=U,U=ye}const M=this._getBackgroundColor(U,ie,$,R);this._tmpCtx.globalCompositeOperation="copy",this._tmpCtx.fillStyle=M.css,this._tmpCtx.fillRect(0,0,this._tmpCanvas.width,this._tmpCanvas.height),this._tmpCtx.globalCompositeOperation="source-over";const Y=V?this._config.fontWeightBold:this._config.fontWeight,G=O?"italic":"";this._tmpCtx.font=`${G} ${Y} ${this._config.fontSize*this._config.devicePixelRatio}px ${this._config.fontFamily}`,this._tmpCtx.textBaseline=f.TEXT_BASELINE;const re=j.length===1&&(0,u.isPowerlineGlyph)(j.charCodeAt(0)),se=j.length===1&&(0,u.isRestrictedPowerlineGlyph)(j.charCodeAt(0)),pe=this._getForegroundColor(L,U,ie,I,ue,Q,$,R,V,(0,u.treatGlyphAsBackgroundColor)(j.charCodeAt(0)));this._tmpCtx.fillStyle=pe.css;const fe=se?0:4;let Ce=!1;this._config.customGlyphs!==!1&&(Ce=(0,_.tryDrawCustomChar)(this._tmpCtx,j,fe,fe,this._config.deviceCellWidth,this._config.deviceCellHeight,this._config.fontSize,this._config.devicePixelRatio));let Ue,ge=!re;if(Ue=typeof k=="number"?this._unicodeService.wcwidth(k):this._unicodeService.getStringCellWidth(k),D){this._tmpCtx.save();const oe=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/15)),ye=oe%2==1?.5:0;if(this._tmpCtx.lineWidth=oe,this._workAttributeData.isUnderlineColorDefault())this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle;else if(this._workAttributeData.isUnderlineColorRGB())ge=!1,this._tmpCtx.strokeStyle=`rgb(${a.AttributeData.toColorRGB(this._workAttributeData.getUnderlineColor()).join(",")})`;else{ge=!1;let le=this._workAttributeData.getUnderlineColor();this._config.drawBoldTextInBrightColors&&this._workAttributeData.isBold()&&le<8&&(le+=8),this._tmpCtx.strokeStyle=this._getColorFromAnsiIndex(le).css}this._tmpCtx.beginPath();const Be=fe,te=Math.ceil(fe+this._config.deviceCharHeight)-ye-(P?2*oe:0),Le=te+oe,ne=te+2*oe;let Z=this._workAttributeData.getUnderlineVariantOffset();for(let le=0;le<Ue;le++){this._tmpCtx.save();const we=Be+le*this._config.deviceCellWidth,ce=Be+(le+1)*this._config.deviceCellWidth,Je=we+this._config.deviceCellWidth/2;switch(this._workAttributeData.extended.underlineStyle){case 2:this._tmpCtx.moveTo(we,te),this._tmpCtx.lineTo(ce,te),this._tmpCtx.moveTo(we,ne),this._tmpCtx.lineTo(ce,ne);break;case 3:const Qe=oe<=1?ne:Math.ceil(fe+this._config.deviceCharHeight-oe/2)-ye,it=oe<=1?te:Math.ceil(fe+this._config.deviceCharHeight+oe/2)-ye,$t=new Path2D;$t.rect(we,te,this._config.deviceCellWidth,ne-te),this._tmpCtx.clip($t),this._tmpCtx.moveTo(we-this._config.deviceCellWidth/2,Le),this._tmpCtx.bezierCurveTo(we-this._config.deviceCellWidth/2,it,we,it,we,Le),this._tmpCtx.bezierCurveTo(we,Qe,Je,Qe,Je,Le),this._tmpCtx.bezierCurveTo(Je,it,ce,it,ce,Le),this._tmpCtx.bezierCurveTo(ce,Qe,ce+this._config.deviceCellWidth/2,Qe,ce+this._config.deviceCellWidth/2,Le);break;case 4:const At=Z===0?0:Z>=oe?2*oe-Z:oe-Z;Z>=oe||At===0?(this._tmpCtx.setLineDash([Math.round(oe),Math.round(oe)]),this._tmpCtx.moveTo(we+At,te),this._tmpCtx.lineTo(ce,te)):(this._tmpCtx.setLineDash([Math.round(oe),Math.round(oe)]),this._tmpCtx.moveTo(we,te),this._tmpCtx.lineTo(we+At,te),this._tmpCtx.moveTo(we+At+oe,te),this._tmpCtx.lineTo(ce,te)),Z=(0,u.computeNextVariantOffset)(ce-we,oe,Z);break;case 5:const zt=.6,st=.3,ut=ce-we,ht=Math.floor(zt*ut),_t=Math.floor(st*ut),$e=ut-ht-_t;this._tmpCtx.setLineDash([ht,_t,$e]),this._tmpCtx.moveTo(we,te),this._tmpCtx.lineTo(ce,te);break;default:this._tmpCtx.moveTo(we,te),this._tmpCtx.lineTo(ce,te)}this._tmpCtx.stroke(),this._tmpCtx.restore()}if(this._tmpCtx.restore(),!Ce&&this._config.fontSize>=12&&!this._config.allowTransparency&&j!==" "){this._tmpCtx.save(),this._tmpCtx.textBaseline="alphabetic";const le=this._tmpCtx.measureText(j);if(this._tmpCtx.restore(),"actualBoundingBoxDescent"in le&&le.actualBoundingBoxDescent>0){this._tmpCtx.save();const we=new Path2D;we.rect(Be,te-Math.ceil(oe/2),this._config.deviceCellWidth*Ue,ne-te+Math.ceil(oe/2)),this._tmpCtx.clip(we),this._tmpCtx.lineWidth=3*this._config.devicePixelRatio,this._tmpCtx.strokeStyle=M.css,this._tmpCtx.strokeText(j,fe,fe+this._config.deviceCharHeight),this._tmpCtx.restore()}}}if(X){const oe=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/15)),ye=oe%2==1?.5:0;this._tmpCtx.lineWidth=oe,this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle,this._tmpCtx.beginPath(),this._tmpCtx.moveTo(fe,fe+ye),this._tmpCtx.lineTo(fe+this._config.deviceCharWidth*Ue,fe+ye),this._tmpCtx.stroke()}if(Ce||this._tmpCtx.fillText(j,fe,fe+this._config.deviceCharHeight),j==="_"&&!this._config.allowTransparency){let oe=b(this._tmpCtx.getImageData(fe,fe,this._config.deviceCellWidth,this._config.deviceCellHeight),M,pe,ge);if(oe)for(let ye=1;ye<=5&&(this._tmpCtx.save(),this._tmpCtx.fillStyle=M.css,this._tmpCtx.fillRect(0,0,this._tmpCanvas.width,this._tmpCanvas.height),this._tmpCtx.restore(),this._tmpCtx.fillText(j,fe,fe+this._config.deviceCharHeight-ye),oe=b(this._tmpCtx.getImageData(fe,fe,this._config.deviceCellWidth,this._config.deviceCellHeight),M,pe,ge),oe);ye++);}if(H){const oe=Math.max(1,Math.floor(this._config.fontSize*this._config.devicePixelRatio/10)),ye=this._tmpCtx.lineWidth%2==1?.5:0;this._tmpCtx.lineWidth=oe,this._tmpCtx.strokeStyle=this._tmpCtx.fillStyle,this._tmpCtx.beginPath(),this._tmpCtx.moveTo(fe,fe+Math.floor(this._config.deviceCharHeight/2)-ye),this._tmpCtx.lineTo(fe+this._config.deviceCharWidth*Ue,fe+Math.floor(this._config.deviceCharHeight/2)-ye),this._tmpCtx.stroke()}this._tmpCtx.restore();const Ke=this._tmpCtx.getImageData(0,0,this._tmpCanvas.width,this._tmpCanvas.height);let Ye;if(Ye=this._config.allowTransparency?function(oe){for(let ye=0;ye<oe.data.length;ye+=4)if(oe.data[ye+3]>0)return!1;return!0}(Ke):b(Ke,M,pe,ge),Ye)return c;const ke=this._findGlyphBoundingBox(Ke,this._workBoundingBox,W,se,Ce,fe);let De,Ee;for(;;){if(this._activePages.length===0){const oe=this._createNewPage();De=oe,Ee=oe.currentRow,Ee.height=ke.size.y;break}De=this._activePages[this._activePages.length-1],Ee=De.currentRow;for(const oe of this._activePages)ke.size.y<=oe.currentRow.height&&(De=oe,Ee=oe.currentRow);for(let oe=this._activePages.length-1;oe>=0;oe--)for(const ye of this._activePages[oe].fixedRows)ye.height<=Ee.height&&ke.size.y<=ye.height&&(De=this._activePages[oe],Ee=ye);if(Ee.y+ke.size.y>=De.canvas.height||Ee.height>ke.size.y+2){let oe=!1;if(De.currentRow.y+De.currentRow.height+ke.size.y>=De.canvas.height){let ye;for(const Be of this._activePages)if(Be.currentRow.y+Be.currentRow.height+ke.size.y<Be.canvas.height){ye=Be;break}if(ye)De=ye;else if(y.maxAtlasPages&&this._pages.length>=y.maxAtlasPages&&Ee.y+ke.size.y<=De.canvas.height&&Ee.height>=ke.size.y&&Ee.x+ke.size.x<=De.canvas.width)oe=!0;else{const Be=this._createNewPage();De=Be,Ee=Be.currentRow,Ee.height=ke.size.y,oe=!0}}oe||(De.currentRow.height>0&&De.fixedRows.push(De.currentRow),Ee={x:0,y:De.currentRow.y+De.currentRow.height,height:ke.size.y},De.fixedRows.push(Ee),De.currentRow={x:0,y:Ee.y+Ee.height,height:0})}if(Ee.x+ke.size.x<=De.canvas.width)break;Ee===De.currentRow?(Ee.x=0,Ee.y+=Ee.height,Ee.height=0):De.fixedRows.splice(De.fixedRows.indexOf(Ee),1)}return ke.texturePage=this._pages.indexOf(De),ke.texturePosition.x=Ee.x,ke.texturePosition.y=Ee.y,ke.texturePositionClipSpace.x=Ee.x/De.canvas.width,ke.texturePositionClipSpace.y=Ee.y/De.canvas.height,ke.sizeClipSpace.x/=De.canvas.width,ke.sizeClipSpace.y/=De.canvas.height,Ee.height=Math.max(Ee.height,ke.size.y),Ee.x+=ke.size.x,De.ctx.putImageData(Ke,ke.texturePosition.x-this._workBoundingBox.left,ke.texturePosition.y-this._workBoundingBox.top,this._workBoundingBox.left,this._workBoundingBox.top,ke.size.x,ke.size.y),De.addGlyph(ke),De.version++,ke}_findGlyphBoundingBox(k,L,I,A,P,j){L.top=0;const W=A?this._config.deviceCellHeight:this._tmpCanvas.height,z=A?this._config.deviceCellWidth:I;let V=!1;for(let $=0;$<W;$++){for(let R=0;R<z;R++){const O=$*this._tmpCanvas.width*4+4*R+3;if(k.data[O]!==0){L.top=$,V=!0;break}}if(V)break}L.left=0,V=!1;for(let $=0;$<j+z;$++){for(let R=0;R<W;R++){const O=R*this._tmpCanvas.width*4+4*$+3;if(k.data[O]!==0){L.left=$,V=!0;break}}if(V)break}L.right=z,V=!1;for(let $=j+z-1;$>=j;$--){for(let R=0;R<W;R++){const O=R*this._tmpCanvas.width*4+4*$+3;if(k.data[O]!==0){L.right=$,V=!0;break}}if(V)break}L.bottom=W,V=!1;for(let $=W-1;$>=0;$--){for(let R=0;R<z;R++){const O=$*this._tmpCanvas.width*4+4*R+3;if(k.data[O]!==0){L.bottom=$,V=!0;break}}if(V)break}return{texturePage:0,texturePosition:{x:0,y:0},texturePositionClipSpace:{x:0,y:0},size:{x:L.right-L.left+1,y:L.bottom-L.top+1},sizeClipSpace:{x:L.right-L.left+1,y:L.bottom-L.top+1},offset:{x:-L.left+j+(A||P?Math.floor((this._config.deviceCellWidth-this._config.deviceCharWidth)/2):0),y:-L.top+j+(A||P?this._config.lineHeight===1?0:Math.round((this._config.deviceCellHeight-this._config.deviceCharHeight)/2):0)}}}}n.TextureAtlas=y;class C{get percentageUsed(){return this._usedPixels/(this.canvas.width*this.canvas.height)}get glyphs(){return this._glyphs}addGlyph(k){this._glyphs.push(k),this._usedPixels+=k.size.x*k.size.y}constructor(k,L,I){if(this._usedPixels=0,this._glyphs=[],this.version=0,this.currentRow={x:0,y:0,height:0},this.fixedRows=[],I)for(const A of I)this._glyphs.push(...A.glyphs),this._usedPixels+=A._usedPixels;this.canvas=E(k,L,L),this.ctx=(0,u.throwIfFalsy)(this.canvas.getContext("2d",{alpha:!0}))}clear(){this.ctx.clearRect(0,0,this.canvas.width,this.canvas.height),this.currentRow.x=0,this.currentRow.y=0,this.currentRow.height=0,this.fixedRows.length=0,this.version++}}function b(x,k,L,I){const A=k.rgba>>>24,P=k.rgba>>>16&255,j=k.rgba>>>8&255,W=L.rgba>>>24,z=L.rgba>>>16&255,V=L.rgba>>>8&255,$=Math.floor((Math.abs(A-W)+Math.abs(P-z)+Math.abs(j-V))/12);let R=!0;for(let O=0;O<x.data.length;O+=4)x.data[O]===A&&x.data[O+1]===P&&x.data[O+2]===j||I&&Math.abs(x.data[O]-A)+Math.abs(x.data[O+1]-P)+Math.abs(x.data[O+2]-j)<$?x.data[O+3]=0:R=!1;return R}function E(x,k,L){const I=x.createElement("canvas");return I.width=k,I.height=L,I}},160:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.contrastRatio=n.toPaddedHex=n.rgba=n.rgb=n.css=n.color=n.channels=n.NULL_COLOR=void 0;let o=0,f=0,_=0,u=0;var m,w,S,v,a;function h(d){const y=d.toString(16);return y.length<2?"0"+y:y}function c(d,y){return d<y?(y+.05)/(d+.05):(d+.05)/(y+.05)}n.NULL_COLOR={css:"#00000000",rgba:0},function(d){d.toCss=function(y,C,b,E){return E!==void 0?`#${h(y)}${h(C)}${h(b)}${h(E)}`:`#${h(y)}${h(C)}${h(b)}`},d.toRgba=function(y,C,b,E=255){return(y<<24|C<<16|b<<8|E)>>>0},d.toColor=function(y,C,b,E){return{css:d.toCss(y,C,b,E),rgba:d.toRgba(y,C,b,E)}}}(m||(n.channels=m={})),function(d){function y(C,b){return u=Math.round(255*b),[o,f,_]=a.toChannels(C.rgba),{css:m.toCss(o,f,_,u),rgba:m.toRgba(o,f,_,u)}}d.blend=function(C,b){if(u=(255&b.rgba)/255,u===1)return{css:b.css,rgba:b.rgba};const E=b.rgba>>24&255,x=b.rgba>>16&255,k=b.rgba>>8&255,L=C.rgba>>24&255,I=C.rgba>>16&255,A=C.rgba>>8&255;return o=L+Math.round((E-L)*u),f=I+Math.round((x-I)*u),_=A+Math.round((k-A)*u),{css:m.toCss(o,f,_),rgba:m.toRgba(o,f,_)}},d.isOpaque=function(C){return(255&C.rgba)==255},d.ensureContrastRatio=function(C,b,E){const x=a.ensureContrastRatio(C.rgba,b.rgba,E);if(x)return m.toColor(x>>24&255,x>>16&255,x>>8&255)},d.opaque=function(C){const b=(255|C.rgba)>>>0;return[o,f,_]=a.toChannels(b),{css:m.toCss(o,f,_),rgba:b}},d.opacity=y,d.multiplyOpacity=function(C,b){return u=255&C.rgba,y(C,u*b/255)},d.toColorRGB=function(C){return[C.rgba>>24&255,C.rgba>>16&255,C.rgba>>8&255]}}(w||(n.color=w={})),function(d){let y,C;try{const b=document.createElement("canvas");b.width=1,b.height=1;const E=b.getContext("2d",{willReadFrequently:!0});E&&(y=E,y.globalCompositeOperation="copy",C=y.createLinearGradient(0,0,1,1))}catch{}d.toColor=function(b){if(b.match(/#[\da-f]{3,8}/i))switch(b.length){case 4:return o=parseInt(b.slice(1,2).repeat(2),16),f=parseInt(b.slice(2,3).repeat(2),16),_=parseInt(b.slice(3,4).repeat(2),16),m.toColor(o,f,_);case 5:return o=parseInt(b.slice(1,2).repeat(2),16),f=parseInt(b.slice(2,3).repeat(2),16),_=parseInt(b.slice(3,4).repeat(2),16),u=parseInt(b.slice(4,5).repeat(2),16),m.toColor(o,f,_,u);case 7:return{css:b,rgba:(parseInt(b.slice(1),16)<<8|255)>>>0};case 9:return{css:b,rgba:parseInt(b.slice(1),16)>>>0}}const E=b.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(E)return o=parseInt(E[1]),f=parseInt(E[2]),_=parseInt(E[3]),u=Math.round(255*(E[5]===void 0?1:parseFloat(E[5]))),m.toColor(o,f,_,u);if(!y||!C)throw new Error("css.toColor: Unsupported css format");if(y.fillStyle=C,y.fillStyle=b,typeof y.fillStyle!="string")throw new Error("css.toColor: Unsupported css format");if(y.fillRect(0,0,1,1),[o,f,_,u]=y.getImageData(0,0,1,1).data,u!==255)throw new Error("css.toColor: Unsupported css format");return{rgba:m.toRgba(o,f,_,u),css:b}}}(S||(n.css=S={})),function(d){function y(C,b,E){const x=C/255,k=b/255,L=E/255;return .2126*(x<=.03928?x/12.92:Math.pow((x+.055)/1.055,2.4))+.7152*(k<=.03928?k/12.92:Math.pow((k+.055)/1.055,2.4))+.0722*(L<=.03928?L/12.92:Math.pow((L+.055)/1.055,2.4))}d.relativeLuminance=function(C){return y(C>>16&255,C>>8&255,255&C)},d.relativeLuminance2=y}(v||(n.rgb=v={})),function(d){function y(b,E,x){const k=b>>24&255,L=b>>16&255,I=b>>8&255;let A=E>>24&255,P=E>>16&255,j=E>>8&255,W=c(v.relativeLuminance2(A,P,j),v.relativeLuminance2(k,L,I));for(;W<x&&(A>0||P>0||j>0);)A-=Math.max(0,Math.ceil(.1*A)),P-=Math.max(0,Math.ceil(.1*P)),j-=Math.max(0,Math.ceil(.1*j)),W=c(v.relativeLuminance2(A,P,j),v.relativeLuminance2(k,L,I));return(A<<24|P<<16|j<<8|255)>>>0}function C(b,E,x){const k=b>>24&255,L=b>>16&255,I=b>>8&255;let A=E>>24&255,P=E>>16&255,j=E>>8&255,W=c(v.relativeLuminance2(A,P,j),v.relativeLuminance2(k,L,I));for(;W<x&&(A<255||P<255||j<255);)A=Math.min(255,A+Math.ceil(.1*(255-A))),P=Math.min(255,P+Math.ceil(.1*(255-P))),j=Math.min(255,j+Math.ceil(.1*(255-j))),W=c(v.relativeLuminance2(A,P,j),v.relativeLuminance2(k,L,I));return(A<<24|P<<16|j<<8|255)>>>0}d.blend=function(b,E){if(u=(255&E)/255,u===1)return E;const x=E>>24&255,k=E>>16&255,L=E>>8&255,I=b>>24&255,A=b>>16&255,P=b>>8&255;return o=I+Math.round((x-I)*u),f=A+Math.round((k-A)*u),_=P+Math.round((L-P)*u),m.toRgba(o,f,_)},d.ensureContrastRatio=function(b,E,x){const k=v.relativeLuminance(b>>8),L=v.relativeLuminance(E>>8);if(c(k,L)<x){if(L<k){const P=y(b,E,x),j=c(k,v.relativeLuminance(P>>8));if(j<x){const W=C(b,E,x);return j>c(k,v.relativeLuminance(W>>8))?P:W}return P}const I=C(b,E,x),A=c(k,v.relativeLuminance(I>>8));if(A<x){const P=y(b,E,x);return A>c(k,v.relativeLuminance(P>>8))?I:P}return I}},d.reduceLuminance=y,d.increaseLuminance=C,d.toChannels=function(b){return[b>>24&255,b>>16&255,b>>8&255,255&b]}}(a||(n.rgba=a={})),n.toPaddedHex=h,n.contrastRatio=c},345:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.runAndSubscribe=n.forwardEvent=n.EventEmitter=void 0,n.EventEmitter=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event||(this._event=o=>(this._listeners.push(o),{dispose:()=>{if(!this._disposed){for(let f=0;f<this._listeners.length;f++)if(this._listeners[f]===o)return void this._listeners.splice(f,1)}}})),this._event}fire(o,f){const _=[];for(let u=0;u<this._listeners.length;u++)_.push(this._listeners[u]);for(let u=0;u<_.length;u++)_[u].call(void 0,o,f)}dispose(){this.clearListeners(),this._disposed=!0}clearListeners(){this._listeners&&(this._listeners.length=0)}},n.forwardEvent=function(o,f){return o(_=>f.fire(_))},n.runAndSubscribe=function(o,f){return f(void 0),o(_=>f(_))}},859:(p,n)=>{function o(f){for(const _ of f)_.dispose();f.length=0}Object.defineProperty(n,"__esModule",{value:!0}),n.getDisposeArrayDisposable=n.disposeArray=n.toDisposable=n.MutableDisposable=n.Disposable=void 0,n.Disposable=class{constructor(){this._disposables=[],this._isDisposed=!1}dispose(){this._isDisposed=!0;for(const f of this._disposables)f.dispose();this._disposables.length=0}register(f){return this._disposables.push(f),f}unregister(f){const _=this._disposables.indexOf(f);_!==-1&&this._disposables.splice(_,1)}},n.MutableDisposable=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(f){var _;this._isDisposed||f===this._value||((_=this._value)==null||_.dispose(),this._value=f)}clear(){this.value=void 0}dispose(){var f;this._isDisposed=!0,(f=this._value)==null||f.dispose(),this._value=void 0}},n.toDisposable=function(f){return{dispose:f}},n.disposeArray=o,n.getDisposeArrayDisposable=function(f){return{dispose:()=>o(f)}}},485:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.FourKeyMap=n.TwoKeyMap=void 0;class o{constructor(){this._data={}}set(_,u,m){this._data[_]||(this._data[_]={}),this._data[_][u]=m}get(_,u){return this._data[_]?this._data[_][u]:void 0}clear(){this._data={}}}n.TwoKeyMap=o,n.FourKeyMap=class{constructor(){this._data=new o}set(f,_,u,m,w){this._data.get(f,_)||this._data.set(f,_,new o),this._data.get(f,_).set(u,m,w)}get(f,_,u,m){var w;return(w=this._data.get(f,_))==null?void 0:w.get(u,m)}clear(){this._data.clear()}}},399:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.isChromeOS=n.isLinux=n.isWindows=n.isIphone=n.isIpad=n.isMac=n.getSafariVersion=n.isSafari=n.isLegacyEdge=n.isFirefox=n.isNode=void 0,n.isNode=typeof process<"u"&&"title"in process;const o=n.isNode?"node":navigator.userAgent,f=n.isNode?"node":navigator.platform;n.isFirefox=o.includes("Firefox"),n.isLegacyEdge=o.includes("Edge"),n.isSafari=/^((?!chrome|android).)*safari/i.test(o),n.getSafariVersion=function(){if(!n.isSafari)return 0;const _=o.match(/Version\/(\d+)/);return _===null||_.length<2?0:parseInt(_[1])},n.isMac=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(f),n.isIpad=f==="iPad",n.isIphone=f==="iPhone",n.isWindows=["Windows","Win16","Win32","WinCE"].includes(f),n.isLinux=f.indexOf("Linux")>=0,n.isChromeOS=/\bCrOS\b/.test(o)},385:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.DebouncedIdleTask=n.IdleTaskQueue=n.PriorityTaskQueue=void 0;const f=o(399);class _{constructor(){this._tasks=[],this._i=0}enqueue(w){this._tasks.push(w),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(w){this._idleCallback=void 0;let S=0,v=0,a=w.timeRemaining(),h=0;for(;this._i<this._tasks.length;){if(S=Date.now(),this._tasks[this._i]()||this._i++,S=Math.max(1,Date.now()-S),v=Math.max(S,v),h=w.timeRemaining(),1.5*v>h)return a-S<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(a-S))}ms`),void this._start();a=h}this.clear()}}class u extends _{_requestCallback(w){return setTimeout(()=>w(this._createDeadline(16)))}_cancelCallback(w){clearTimeout(w)}_createDeadline(w){const S=Date.now()+w;return{timeRemaining:()=>Math.max(0,S-Date.now())}}}n.PriorityTaskQueue=u,n.IdleTaskQueue=!f.isNode&&"requestIdleCallback"in window?class extends _{_requestCallback(m){return requestIdleCallback(m)}_cancelCallback(m){cancelIdleCallback(m)}}:u,n.DebouncedIdleTask=class{constructor(){this._queue=new n.IdleTaskQueue}set(m){this._queue.clear(),this._queue.enqueue(m)}flush(){this._queue.flush()}}},147:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.ExtendedAttrs=n.AttributeData=void 0;class o{constructor(){this.fg=0,this.bg=0,this.extended=new f}static toColorRGB(u){return[u>>>16&255,u>>>8&255,255&u]}static fromColorRGB(u){return(255&u[0])<<16|(255&u[1])<<8|255&u[2]}clone(){const u=new o;return u.fg=this.fg,u.bg=this.bg,u.extended=this.extended.clone(),u}isInverse(){return 67108864&this.fg}isBold(){return 134217728&this.fg}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:268435456&this.fg}isBlink(){return 536870912&this.fg}isInvisible(){return 1073741824&this.fg}isItalic(){return 67108864&this.bg}isDim(){return 134217728&this.bg}isStrikethrough(){return 2147483648&this.fg}isProtected(){return 536870912&this.bg}isOverline(){return 1073741824&this.bg}getFgColorMode(){return 50331648&this.fg}getBgColorMode(){return 50331648&this.bg}isFgRGB(){return(50331648&this.fg)==50331648}isBgRGB(){return(50331648&this.bg)==50331648}isFgPalette(){return(50331648&this.fg)==16777216||(50331648&this.fg)==33554432}isBgPalette(){return(50331648&this.bg)==16777216||(50331648&this.bg)==33554432}isFgDefault(){return(50331648&this.fg)==0}isBgDefault(){return(50331648&this.bg)==0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}}getBgColor(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}}hasExtendedAttrs(){return 268435456&this.bg}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()}isUnderlineColorRGB(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==50331648:this.isFgRGB()}isUnderlineColorPalette(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==16777216||(50331648&this.extended.underlineColor)==33554432:this.isFgPalette()}isUnderlineColorDefault(){return 268435456&this.bg&&~this.extended.underlineColor?(50331648&this.extended.underlineColor)==0:this.isFgDefault()}getUnderlineStyle(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}}n.AttributeData=o;class f{get ext(){return this._urlId?-469762049&this._ext|this.underlineStyle<<26:this._ext}set ext(u){this._ext=u}get underlineStyle(){return this._urlId?5:(469762048&this._ext)>>26}set underlineStyle(u){this._ext&=-469762049,this._ext|=u<<26&469762048}get underlineColor(){return 67108863&this._ext}set underlineColor(u){this._ext&=-67108864,this._ext|=67108863&u}get urlId(){return this._urlId}set urlId(u){this._urlId=u}get underlineVariantOffset(){const u=(3758096384&this._ext)>>29;return u<0?4294967288^u:u}set underlineVariantOffset(u){this._ext&=536870911,this._ext|=u<<29&3758096384}constructor(u=0,m=0){this._ext=0,this._urlId=0,this._ext=u,this._urlId=m}clone(){return new f(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}}n.ExtendedAttrs=f},782:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.CellData=void 0;const f=o(133),_=o(855),u=o(147);class m extends u.AttributeData{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new u.ExtendedAttrs,this.combinedData=""}static fromCharData(S){const v=new m;return v.setFromCharData(S),v}isCombined(){return 2097152&this.content}getWidth(){return this.content>>22}getChars(){return 2097152&this.content?this.combinedData:2097151&this.content?(0,f.stringFromCodePoint)(2097151&this.content):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content}setFromCharData(S){this.fg=S[_.CHAR_DATA_ATTR_INDEX],this.bg=0;let v=!1;if(S[_.CHAR_DATA_CHAR_INDEX].length>2)v=!0;else if(S[_.CHAR_DATA_CHAR_INDEX].length===2){const a=S[_.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=a&&a<=56319){const h=S[_.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=h&&h<=57343?this.content=1024*(a-55296)+h-56320+65536|S[_.CHAR_DATA_WIDTH_INDEX]<<22:v=!0}else v=!0}else this.content=S[_.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|S[_.CHAR_DATA_WIDTH_INDEX]<<22;v&&(this.combinedData=S[_.CHAR_DATA_CHAR_INDEX],this.content=2097152|S[_.CHAR_DATA_WIDTH_INDEX]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}n.CellData=m},855:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.WHITESPACE_CELL_CODE=n.WHITESPACE_CELL_WIDTH=n.WHITESPACE_CELL_CHAR=n.NULL_CELL_CODE=n.NULL_CELL_WIDTH=n.NULL_CELL_CHAR=n.CHAR_DATA_CODE_INDEX=n.CHAR_DATA_WIDTH_INDEX=n.CHAR_DATA_CHAR_INDEX=n.CHAR_DATA_ATTR_INDEX=n.DEFAULT_EXT=n.DEFAULT_ATTR=n.DEFAULT_COLOR=void 0,n.DEFAULT_COLOR=0,n.DEFAULT_ATTR=256|n.DEFAULT_COLOR<<9,n.DEFAULT_EXT=0,n.CHAR_DATA_ATTR_INDEX=0,n.CHAR_DATA_CHAR_INDEX=1,n.CHAR_DATA_WIDTH_INDEX=2,n.CHAR_DATA_CODE_INDEX=3,n.NULL_CELL_CHAR="",n.NULL_CELL_WIDTH=1,n.NULL_CELL_CODE=0,n.WHITESPACE_CELL_CHAR=" ",n.WHITESPACE_CELL_WIDTH=1,n.WHITESPACE_CELL_CODE=32},133:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.Utf8ToUtf32=n.StringToUtf32=n.utf32ToString=n.stringFromCodePoint=void 0,n.stringFromCodePoint=function(o){return o>65535?(o-=65536,String.fromCharCode(55296+(o>>10))+String.fromCharCode(o%1024+56320)):String.fromCharCode(o)},n.utf32ToString=function(o,f=0,_=o.length){let u="";for(let m=f;m<_;++m){let w=o[m];w>65535?(w-=65536,u+=String.fromCharCode(55296+(w>>10))+String.fromCharCode(w%1024+56320)):u+=String.fromCharCode(w)}return u},n.StringToUtf32=class{constructor(){this._interim=0}clear(){this._interim=0}decode(o,f){const _=o.length;if(!_)return 0;let u=0,m=0;if(this._interim){const w=o.charCodeAt(m++);56320<=w&&w<=57343?f[u++]=1024*(this._interim-55296)+w-56320+65536:(f[u++]=this._interim,f[u++]=w),this._interim=0}for(let w=m;w<_;++w){const S=o.charCodeAt(w);if(55296<=S&&S<=56319){if(++w>=_)return this._interim=S,u;const v=o.charCodeAt(w);56320<=v&&v<=57343?f[u++]=1024*(S-55296)+v-56320+65536:(f[u++]=S,f[u++]=v)}else S!==65279&&(f[u++]=S)}return u}},n.Utf8ToUtf32=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(o,f){const _=o.length;if(!_)return 0;let u,m,w,S,v=0,a=0,h=0;if(this.interim[0]){let y=!1,C=this.interim[0];C&=(224&C)==192?31:(240&C)==224?15:7;let b,E=0;for(;(b=63&this.interim[++E])&&E<4;)C<<=6,C|=b;const x=(224&this.interim[0])==192?2:(240&this.interim[0])==224?3:4,k=x-E;for(;h<k;){if(h>=_)return 0;if(b=o[h++],(192&b)!=128){h--,y=!0;break}this.interim[E++]=b,C<<=6,C|=63&b}y||(x===2?C<128?h--:f[v++]=C:x===3?C<2048||C>=55296&&C<=57343||C===65279||(f[v++]=C):C<65536||C>1114111||(f[v++]=C)),this.interim.fill(0)}const c=_-4;let d=h;for(;d<_;){for(;!(!(d<c)||128&(u=o[d])||128&(m=o[d+1])||128&(w=o[d+2])||128&(S=o[d+3]));)f[v++]=u,f[v++]=m,f[v++]=w,f[v++]=S,d+=4;if(u=o[d++],u<128)f[v++]=u;else if((224&u)==192){if(d>=_)return this.interim[0]=u,v;if(m=o[d++],(192&m)!=128){d--;continue}if(a=(31&u)<<6|63&m,a<128){d--;continue}f[v++]=a}else if((240&u)==224){if(d>=_)return this.interim[0]=u,v;if(m=o[d++],(192&m)!=128){d--;continue}if(d>=_)return this.interim[0]=u,this.interim[1]=m,v;if(w=o[d++],(192&w)!=128){d--;continue}if(a=(15&u)<<12|(63&m)<<6|63&w,a<2048||a>=55296&&a<=57343||a===65279)continue;f[v++]=a}else if((248&u)==240){if(d>=_)return this.interim[0]=u,v;if(m=o[d++],(192&m)!=128){d--;continue}if(d>=_)return this.interim[0]=u,this.interim[1]=m,v;if(w=o[d++],(192&w)!=128){d--;continue}if(d>=_)return this.interim[0]=u,this.interim[1]=m,this.interim[2]=w,v;if(S=o[d++],(192&S)!=128){d--;continue}if(a=(7&u)<<18|(63&m)<<12|(63&w)<<6|63&S,a<65536||a>1114111)continue;f[v++]=a}}return v}}},776:function(p,n,o){var f=this&&this.__decorate||function(a,h,c,d){var y,C=arguments.length,b=C<3?h:d===null?d=Object.getOwnPropertyDescriptor(h,c):d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")b=Reflect.decorate(a,h,c,d);else for(var E=a.length-1;E>=0;E--)(y=a[E])&&(b=(C<3?y(b):C>3?y(h,c,b):y(h,c))||b);return C>3&&b&&Object.defineProperty(h,c,b),b},_=this&&this.__param||function(a,h){return function(c,d){h(c,d,a)}};Object.defineProperty(n,"__esModule",{value:!0}),n.traceCall=n.setTraceLogger=n.LogService=void 0;const u=o(859),m=o(97),w={trace:m.LogLevelEnum.TRACE,debug:m.LogLevelEnum.DEBUG,info:m.LogLevelEnum.INFO,warn:m.LogLevelEnum.WARN,error:m.LogLevelEnum.ERROR,off:m.LogLevelEnum.OFF};let S,v=n.LogService=class extends u.Disposable{get logLevel(){return this._logLevel}constructor(a){super(),this._optionsService=a,this._logLevel=m.LogLevelEnum.OFF,this._updateLogLevel(),this.register(this._optionsService.onSpecificOptionChange("logLevel",()=>this._updateLogLevel())),S=this}_updateLogLevel(){this._logLevel=w[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(a){for(let h=0;h<a.length;h++)typeof a[h]=="function"&&(a[h]=a[h]())}_log(a,h,c){this._evalLazyOptionalParams(c),a.call(console,(this._optionsService.options.logger?"":"xterm.js: ")+h,...c)}trace(a,...h){var c;this._logLevel<=m.LogLevelEnum.TRACE&&this._log(((c=this._optionsService.options.logger)==null?void 0:c.trace.bind(this._optionsService.options.logger))??console.log,a,h)}debug(a,...h){var c;this._logLevel<=m.LogLevelEnum.DEBUG&&this._log(((c=this._optionsService.options.logger)==null?void 0:c.debug.bind(this._optionsService.options.logger))??console.log,a,h)}info(a,...h){var c;this._logLevel<=m.LogLevelEnum.INFO&&this._log(((c=this._optionsService.options.logger)==null?void 0:c.info.bind(this._optionsService.options.logger))??console.info,a,h)}warn(a,...h){var c;this._logLevel<=m.LogLevelEnum.WARN&&this._log(((c=this._optionsService.options.logger)==null?void 0:c.warn.bind(this._optionsService.options.logger))??console.warn,a,h)}error(a,...h){var c;this._logLevel<=m.LogLevelEnum.ERROR&&this._log(((c=this._optionsService.options.logger)==null?void 0:c.error.bind(this._optionsService.options.logger))??console.error,a,h)}};n.LogService=v=f([_(0,m.IOptionsService)],v),n.setTraceLogger=function(a){S=a},n.traceCall=function(a,h,c){if(typeof c.value!="function")throw new Error("not supported");const d=c.value;c.value=function(...y){if(S.logLevel!==m.LogLevelEnum.TRACE)return d.apply(this,y);S.trace(`GlyphRenderer#${d.name}(${y.map(b=>JSON.stringify(b)).join(", ")})`);const C=d.apply(this,y);return S.trace(`GlyphRenderer#${d.name} return`,C),C}}},726:(p,n)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.createDecorator=n.getServiceDependencies=n.serviceRegistry=void 0;const o="di$target",f="di$dependencies";n.serviceRegistry=new Map,n.getServiceDependencies=function(_){return _[f]||[]},n.createDecorator=function(_){if(n.serviceRegistry.has(_))return n.serviceRegistry.get(_);const u=function(m,w,S){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");(function(v,a,h){a[o]===a?a[f].push({id:v,index:h}):(a[f]=[{id:v,index:h}],a[o]=a)})(u,m,S)};return u.toString=()=>_,n.serviceRegistry.set(_,u),u}},97:(p,n,o)=>{Object.defineProperty(n,"__esModule",{value:!0}),n.IDecorationService=n.IUnicodeService=n.IOscLinkService=n.IOptionsService=n.ILogService=n.LogLevelEnum=n.IInstantiationService=n.ICharsetService=n.ICoreService=n.ICoreMouseService=n.IBufferService=void 0;const f=o(726);var _;n.IBufferService=(0,f.createDecorator)("BufferService"),n.ICoreMouseService=(0,f.createDecorator)("CoreMouseService"),n.ICoreService=(0,f.createDecorator)("CoreService"),n.ICharsetService=(0,f.createDecorator)("CharsetService"),n.IInstantiationService=(0,f.createDecorator)("InstantiationService"),function(u){u[u.TRACE=0]="TRACE",u[u.DEBUG=1]="DEBUG",u[u.INFO=2]="INFO",u[u.WARN=3]="WARN",u[u.ERROR=4]="ERROR",u[u.OFF=5]="OFF"}(_||(n.LogLevelEnum=_={})),n.ILogService=(0,f.createDecorator)("LogService"),n.IOptionsService=(0,f.createDecorator)("OptionsService"),n.IOscLinkService=(0,f.createDecorator)("OscLinkService"),n.IUnicodeService=(0,f.createDecorator)("UnicodeService"),n.IDecorationService=(0,f.createDecorator)("DecorationService")}},s={};function r(p){var n=s[p];if(n!==void 0)return n.exports;var o=s[p]={exports:{}};return i[p].call(o.exports,o,o.exports,r),o.exports}var l={};return(()=>{var p=l;Object.defineProperty(p,"__esModule",{value:!0}),p.WebglAddon=void 0;const n=r(345),o=r(859),f=r(399),_=r(666),u=r(776);class m extends o.Disposable{constructor(S){if(f.isSafari&&(0,f.getSafariVersion)()<16){const v={antialias:!1,depth:!1,preserveDrawingBuffer:!0};if(!document.createElement("canvas").getContext("webgl2",v))throw new Error("Webgl2 is only supported on Safari 16 and above")}super(),this._preserveDrawingBuffer=S,this._onChangeTextureAtlas=this.register(new n.EventEmitter),this.onChangeTextureAtlas=this._onChangeTextureAtlas.event,this._onAddTextureAtlasCanvas=this.register(new n.EventEmitter),this.onAddTextureAtlasCanvas=this._onAddTextureAtlasCanvas.event,this._onRemoveTextureAtlasCanvas=this.register(new n.EventEmitter),this.onRemoveTextureAtlasCanvas=this._onRemoveTextureAtlasCanvas.event,this._onContextLoss=this.register(new n.EventEmitter),this.onContextLoss=this._onContextLoss.event}activate(S){const v=S._core;if(!S.element)return void this.register(v.onWillOpen(()=>this.activate(S)));this._terminal=S;const a=v.coreService,h=v.optionsService,c=v,d=c._renderService,y=c._characterJoinerService,C=c._charSizeService,b=c._coreBrowserService,E=c._decorationService,x=c._logService,k=c._themeService;(0,u.setTraceLogger)(x),this._renderer=this.register(new _.WebglRenderer(S,y,C,b,a,E,h,k,this._preserveDrawingBuffer)),this.register((0,n.forwardEvent)(this._renderer.onContextLoss,this._onContextLoss)),this.register((0,n.forwardEvent)(this._renderer.onChangeTextureAtlas,this._onChangeTextureAtlas)),this.register((0,n.forwardEvent)(this._renderer.onAddTextureAtlasCanvas,this._onAddTextureAtlasCanvas)),this.register((0,n.forwardEvent)(this._renderer.onRemoveTextureAtlasCanvas,this._onRemoveTextureAtlasCanvas)),d.setRenderer(this._renderer),this.register((0,o.toDisposable)(()=>{const L=this._terminal._core._renderService;L.setRenderer(this._terminal._core._createRenderer()),L.handleResize(S.cols,S.rows)}))}get textureAtlas(){var S;return(S=this._renderer)==null?void 0:S.textureAtlas}clearTextureAtlas(){var S;(S=this._renderer)==null||S.clearTextureAtlas()}}p.WebglAddon=m})(),l})())})(E_);var W1=E_.exports;function Nf(e,t){let i=0,s=e;for(;Math.abs(s)>=t;)s>0?(i+=1,s-=t):(i-=1,s+=t);return{notches:i,rem:s}}const V1=e=>e>0?"up":"down";function K1(e,t,i=24){return Math.abs(t)<=Math.abs(e)?null:t<=-i?"show":t>=i?"hide":null}function G1(e,t){if(!e)return!1;const i=e.scrollHeight-e.clientHeight;return i<=1?!1:t<0?e.scrollTop<i-1:t>0?e.scrollTop>1:!1}function q1(e,t=44,i=.5){return e*t*i/(t+i*Math.abs(e))}function Y1(e){if(!e)return!1;const t=e.tagName;return!(t!=="INPUT"&&t!=="TEXTAREA"||e.closest&&e.closest(".xterm"))}function X1(e){return e.replace(/\r?\n/g,`\r
|
|
108
|
+
`)}function J1(e,t){let i=t,s=!1,r=!1,l=!1;const p=_=>{/\S/.test(_)&&(s=!0,i&&(r=!0)),i&&_.length&&(l=!0)},n=/\x1b\[([0-9;]*)m/g;let o=0,f=n.exec(e);for(;f;){p(e.slice(o,f.index)),o=n.lastIndex;const _=f[1]===""?[0]:f[1].split(";").map(Number);for(let u=0;u<_.length;u+=1){const m=_[u];if(m===0||m===49)i=!1;else if(m>=40&&m<=47||m>=100&&m<=107)i=!0;else if(m===38||m===48){const w=m===48;_[u+1]===5?(u+=2,w&&(i=!0)):_[u+1]===2&&(u+=4,w&&(i=!0))}}f=n.exec(e)}return p(e.slice(o)),{bgEnd:i,hasText:s,hasShadeText:r,hasShadeBlank:l}}function Z1(e){const t=[];let i=!1,s=[],r=-1,l=!1;const p=()=>{r>=0&&l&&(t[r]+="\x1B[49m"),r=-1,l=!1},n=()=>{if(s.length){t.push("\x1B[0m");for(let o=1;o<s.length;o+=1)t.push("");s=[]}};for(const o of e){const f=J1(o,i);f.hasShadeText?(t.push(...s),s=[],t.push(o),r=t.length-1,l=f.bgEnd):!f.hasText&&(i||f.bgEnd||f.hasShadeBlank)?s.push(o):(p(),n(),t.push(o)),i=f.bgEnd}return p(),n(),t}function Q1(e){const t=X1(e.replace(/\n$/,""));return Z1(t.split(`\r
|
|
109
|
+
`)).join(`\r
|
|
110
|
+
`)}function eS(e,t,i=0){if(!e||!e.vis)return"\x1B[?25l";const s=i?Math.min(t|0,i|0):t|0,r=Math.max(1,s-Math.max(0,e.row|0)),l=Math.max(0,e.col|0)+1;return`\x1B[${r};${l}H\x1B[?25h`}function tS(e,{base:t=1e3,max:i=1e4,factor:s=2,jitter:r=.2,rng:l=Math.random}={}){if(e<=0)return 0;const p=Math.min(i,t*s**(e-1));return Math.round(p*(1+r*(l()*2-1)))}const iS=1e3;function sS(e){return e<8e3?iS:e<6e4?5e3:1e4}const nS=.95,rS=.015,oS=.1,aS=50;function lS(e,t,i=nS,s=rS){const r=e*t,l=e*i**(t/16);return{delta:r,v:l,done:Math.abs(l)<s}}function cS(e,t,i=oS,s=aS){return t<=s&&Math.abs(e)>=i}const uS={failCount:0,connected:!0};function uc(e,t,{threshold:i=2}={}){switch(t){case"ok":case"reset":return{failCount:0,connected:!0};case"fail":{const s=e.failCount+1;return{failCount:s,connected:s<i}}default:return e}}function hS(e,t){const i=e.getCell(t-1);if(!i)return!1;if(i.getWidth()===0)return!0;const s=i.getChars();if(s&&s!==" ")return!0;const r=e.getCell(t-2);return!!r&&r.getWidth()===0}function Su(e,t,i){var p;const s=e.getLine(t+1);if(!s)return!1;if(s.isWrapped)return!0;const r=e.getLine(t);if(!r||!hS(r,i))return!1;const l=(p=s.getCell(0))==null?void 0:p.getChars();return!!l&&l!==" "}function L_(e,t,i){let s=t;for(;s>0&&Su(e,s-1,i);)s--;let r="";const l=[];let p=s;for(;;){const n=e.getLine(p);if(!n)break;const o=p+1<e.length&&Su(e,p,i),f=[],_=[];for(let m=0;m<i;m++){const w=n.getCell(m);if(!w)continue;const S=w.getWidth();S!==0&&(f.push(w.getChars()),_.push({row:p,col:m,w:S}))}let u=f.length;if(o)for(;u>0&&(f[u-1]===""||f[u-1]===" ");)u--;for(let m=0;m<u;m++)r+=f[m]||" ",l.push(_[m]);if(o){p++;continue}break}return{text:r,cells:l}}function dS(e){const t=e.buffer.active,i=e.cols,s=0,r=t.length,l=[];let p=s;for(;p>0&&Su(t,p-1,i);)p--;for(;p<r;){if(!t.getLine(p)){p++;continue}const{text:n,cells:o}=L_(t,p,i);for(const{start:f,end:_}of y_(n)){let u=f;for(;u<_;){const m=o[u].row;let w=u;for(;w<_&&o[w].row===m;)w++;const S=o[u].col,v=o[w-1],a=v.col+v.w;m>=s&&m<r&&l.push({y:m,x:S,width:a-S,path:n.slice(f,_)}),u=w}}p=o.length?o[o.length-1].row+1:p+1}return l}function fS(e,t){const i=e.buffer.active,s=e.cols,r=t-1;if(r<0||r>=i.length)return[];const{text:l,cells:p}=L_(i,r,s),n=[];for(const{start:o,end:f}of y_(l)){const _=p[o],u=p[f-1];r<_.row||r>u.row||n.push({range:{start:{x:_.col+1,y:_.row+1},end:{x:u.col+u.w,y:u.row+1}},path:l.slice(o,f)})}return n}const pS=[{family:"JetBrainsMono Nerd Font",url:"/fonts/JetBrainsMonoNerdFontMono-Regular.woff2",probe:void 0},{family:"TW Unifont",url:"/fonts/TWUnifont.woff2",probe:"⏵",unicodeRange:"U+2190-21FF, U+2300-23FF, U+2400-243F, U+2500-257F, U+2580-259F, U+25A0-25FF, U+2600-26FF, U+2700-27BF, U+2800-28FF"}],mS=4,gS=1500,_S=e=>{for(const t of document.fonts)if(t.family.replace(/["']/g,"")===e)return t;return null},vS=async({family:e,url:t,probe:i,unicodeRange:s},r)=>{var l;for(let p=0;p<mS;p++){try{await document.fonts.load(`${r}px "${e}"`,i)}catch{}if(((l=_S(e))==null?void 0:l.status)==="loaded")return!0;try{const n=new FontFace(e,`url(${t}) format('woff2')`,s?{unicodeRange:s}:{});return await n.load(),document.fonts.add(n),!0}catch{}await new Promise(n=>setTimeout(n,gS*2**p))}return!1};let hc=null;function wS(e=14){var t;return hc||(hc=typeof document<"u"&&((t=document.fonts)!=null&&t.load)?Promise.all(pS.map(i=>vS(i,e))):Promise.resolve([!1,!1])),hc}function Pf(e){const t=e.split(`
|
|
111
|
+
`).map(r=>r.trim());let i=0,s=t.length;for(;i<s&&t[i]==="";)i++;for(;s>i&&t[s-1]==="";)s--;return t.slice(i,s).join(`
|
|
112
|
+
`)}function yS(e,t){return{start:{col:0,row:e.start.row},end:{col:t-1,row:e.end.row}}}function SS(e,t,i,s,r){let l=e.start.row,p=e.end.row;for(;l>s&&i(l-1).trim()!=="";)l--;for(;p<r&&i(p+1).trim()!=="";)p++;return{start:{col:0,row:l},end:{col:t-1,row:p}}}function If(e,t,i,s,r){return{x:e*s,y:(t-i)*r}}const bS=200,xS=20,dc=100,ua=5e3,CS=15,kS=N.forwardRef(function({pane:t,onAuthFail:i,onDocLinkTap:s,onTap:r},l){const p=N.useRef(null),n=N.useRef(null),o=N.useRef(r);o.current=r;const f=N.useRef([]),_=N.useRef(s);_.current=s;const u=N.useRef(Jg()),m=N.useRef(null),w=N.useRef(Qw()),S=N.useRef(null),[v,a]=N.useState(!1),[h,c]=N.useState(!0),d=N.useRef(!1),[y,C]=N.useState(""),[b,E]=N.useState(null),x=N.useRef(!1),k=N.useRef(!1),[L,I]=N.useState(!1),[A,P]=N.useState(""),[j,W]=N.useState(!1),z=N.useRef(null),V=N.useRef(null),[$,R]=N.useState(""),[O,D]=N.useState(!1),H=N.useRef(null),X=N.useRef(null),Q=N.useRef(null);N.useImperativeHandle(l,()=>({getSize:()=>{const M=n.current;return M?{cols:M.cols,rows:M.rows}:null},flash:()=>{const M=()=>{const Y=n.current;Y&&P(`${Y.cols}×${Y.rows} · ${Y.options.fontSize}px`)};M(),W(!0),clearTimeout(z.current),clearInterval(V.current),V.current=setInterval(M,400),z.current=setTimeout(()=>{W(!1),clearInterval(V.current)},3e3)},getFontSize:()=>{const M=n.current;return M?{size:M.options.fontSize,auto:w.current==null}:null},setFontSize:M=>{var re;const Y=n.current;if(!Y)return null;const G=Math.max(8,Math.min(40,Math.round(M)));return Y.options.fontSize=G,w.current=G,mf(G),(re=H.current)==null||re.call(H),G},autoFont:()=>{var Y;const M=n.current;M&&(M.options.fontSize=14,w.current=null,ey(),(Y=H.current)==null||Y.call(H))},wake:()=>{var M;return(M=X.current)==null?void 0:M.call(X)},setDocHighlight:M=>{var Y;u.current=!!M,(Y=m.current)==null||Y.call(m)}}),[]),N.useEffect(()=>()=>{clearTimeout(z.current),clearInterval(V.current)},[]),N.useEffect(()=>{var br;const M=new U1.Terminal({disableStdin:!0,allowProposedApi:!0,scrollback:ua+100,convertEol:!1,fontSize:w.current??14,fontFamily:"ui-monospace, 'SF Mono', SFMono-Regular, Menlo, Monaco, 'Cascadia Mono', 'Roboto Mono', 'Noto Sans Mono', 'DejaVu Sans Mono', 'Courier New', 'JetBrainsMono Nerd Font', 'TW Unifont', monospace",theme:{selectionBackground:"rgba(10,132,255,0.9)",selectionForeground:"#ffffff"},cursorInactiveStyle:"block"});M.open(p.current),n.current=M;const Y=M.registerLinkProvider({provideLinks(J,me){if(!_.current){me(void 0);return}const ve=fS(M,J).map(({range:Se,path:Ie})=>({range:Se,text:Ie,decorations:{pointerCursor:!0,underline:!1},activate:Oe=>{var je;return(je=_.current)==null?void 0:je.call(_,Ie,(Oe==null?void 0:Oe.clientX)??0,(Oe==null?void 0:Oe.clientY)??0)}}));me(ve.length?ve:void 0)}});let G=null;const re=()=>{try{G=new W1.WebglAddon,G.onContextLoss(()=>G.dispose()),M.loadAddon(G)}catch{G=null}};re();const se=p.current.querySelector(".xterm-helper-textarea");se&&(se.readOnly=!0,se.tabIndex=-1,se.setAttribute("inputmode","none"),se.setAttribute("aria-hidden","true"));let pe=null,fe=!1,Ce=!1,Ue=!1,ge=!1;x.current=!1,k.current=!1,I(!1),d.current=!1,E(null),C("");const Ke=()=>Math.min(ua,Math.max(24,M.rows+xS));let Ye=Ke(),ke=!0,De=0,Ee=null,oe="",ye=null,Be=0,te=null,Le=Date.now();a(!1),D(!1);let ne=!1;const Z=()=>{fe||ne||(ne=!0,requestAnimationFrame(()=>{fe||D(!0)}))};let le=uS;const we=J=>{le=J,c(J.connected)};wS(w.current??14).then(()=>{if(!(fe||!G)){try{G.dispose()}catch{}re(),M.refresh(0,M.rows-1)}});const ce=()=>M.buffer.active,Je=(J="")=>{const me=ce();R(ge&&!it()?`历史模式 · 距底 ${me.baseY-me.viewportY}/${me.baseY} 行${Ce?" · 拉取中":""}${J}`:"")},Qe=()=>ce().viewportY>=ce().baseY,it=()=>ce().baseY-ce().viewportY<=CS,$t=()=>ce().viewportY<=3,At=()=>{!ge||Ce||!ke||Ye>=ua||!$t()||(ke=!1,K(),Ye=Math.min(Math.floor(Ye/dc)*dc+dc,ua),Je(" · 拉取↑"),vr(Ye,!0))};let zt=0;const st=()=>{fe||M.write(eS(ye,M.rows,Be))},ut=(J=0)=>{if(fe||!p.current||!M.rows)return;const me=p.current.clientHeight,ve=p.current.querySelector(".xterm-screen"),Se=ve?ve.getBoundingClientRect().height:0;if(!me||!Se)return;const Ie=Se/M.rows;if(w.current==null&&zt&&J<4){const je=zt*Ie;if(je>me+4){const Ae=M.options.fontSize||14,vt=Math.max(6,Math.round(Ae*(me/je)));if(vt<Ae){M.options.fontSize=vt,requestAnimationFrame(()=>ut(J+1));return}}}const Oe=Math.max(1,Math.floor(me/Ie));if(Oe!==M.rows){M.write(`\x1B[?25l\x1B[${M.rows};1H`,()=>{fe||(M.resize(M.cols,Oe),M.scrollToBottom(),J<4?requestAnimationFrame(()=>ut(J+1)):(st(),Z()))});return}st(),Z()},ht=()=>requestAnimationFrame(()=>ut(0));H.current=ht;const _t=()=>ht();window.addEventListener("resize",_t),window.addEventListener("orientationchange",_t);let $e=((br=p.current)==null?void 0:br.clientHeight)||0;const xt=typeof ResizeObserver<"u"?new ResizeObserver(()=>{var ve;const J=((ve=p.current)==null?void 0:ve.clientHeight)||0;if(!J)return;const me=J>$e;$e=J,me&&ht()}):null;xt&&p.current&&xt.observe(p.current);const Mt=(J,me)=>{var vt;const ve=(vt=p.current)==null?void 0:vt.querySelector(".xterm-screen");if(!ve||!M.cols||!M.rows)return null;const Se=ve.getBoundingClientRect(),Ie=Se.width/M.cols,Oe=Se.height/M.rows;if(!Ie||!Oe)return null;const je=Math.max(0,Math.min(M.cols-1,Math.floor((J-Se.left)/Ie))),Ae=Math.max(0,Math.min(M.rows-1,Math.floor((me-Se.top)/Oe)));return{col:je,row:ce().viewportY+Ae}};let Pe=null;const Ki=()=>{var Se;const J=(Se=M.getSelectionPosition)==null?void 0:Se.call(M);if(!J)return null;let me=J.end.x-1,ve=J.end.y;return me<0&&(ve-=1,me=M.cols-1),{start:{col:J.start.x,row:J.start.y},end:{col:me,row:ve}}},Vt=()=>{var ee;const J=Ki(),me=(ee=p.current)==null?void 0:ee.querySelector(".xterm-screen");if(!J||!me){E(null),C("");return}const ve=me.getBoundingClientRect(),Se=p.current.parentElement.getBoundingClientRect(),Ie=ve.width/M.cols,Oe=ve.height/M.rows,je=ce().viewportY,Ae={x:ve.left-Se.left,y:ve.top-Se.top},vt=If(J.start.col,J.start.row,je,Ie,Oe),as=If(J.end.col+1,J.end.row,je,Ie,Oe);E({start:{x:vt.x+Ae.x,y:vt.y+Ae.y,ch:Oe},end:{x:as.x+Ae.x,y:as.y+Ae.y,ch:Oe},wrapW:Se.width});const q=M.getSelection();if(q){const he=q.split(`
|
|
113
|
+
`).length,_e=Pf(q).replace(/\n/g,"").length;C(`复制模式 · ${he} 行 · ${_e} 字`)}else C("")},Oi=()=>Ki(),Ds=J=>{var me;return((me=ce().getLine(J))==null?void 0:me.translateToString(!0))??""},ot=J=>{if(!J)return;const me=M.cols,ve=J.end.row*me+J.end.col-(J.start.row*me+J.start.col)+1;M.select(J.start.col,J.start.row,ve),Vt()};Q.current={currentRange:Oi,paraLineText:Ds,selectRange:ot};const Ci=(J,me)=>{var je,Ae;const ve=Mt(J,me);if(!ve)return;const Se=((je=ce().getLine(ve.row))==null?void 0:je.translateToString(!1))??"";let Ie=ve.col,Oe=ve.col;if(/\S/.test(Se[ve.col]||"")){for(;Ie>0&&/\S/.test(Se[Ie-1]);)Ie--;for(;Oe<M.cols-1&&/\S/.test(Se[Oe+1]);)Oe++}Pe={col:Ie,row:ve.row},d.current=!0,E(null),M.select(Ie,ve.row,Oe-Ie+1),Vt(),(Ae=navigator.vibrate)==null||Ae.call(navigator,12)},is=(J,me)=>{var ve,Se;return((Se=(ve=ce().getLine(Math.floor(J/me)))==null?void 0:ve.getCell(J%me))==null?void 0:Se.getWidth())??1},_s=(J,me)=>J>0&&is(J,me)===0?J-1:J,Bt=(J,me)=>is(J,me)===2?J+1:J,ss=(J,me)=>{const ve=Mt(J,me);if(!ve||!Pe)return;const Se=M.cols,Ie=Pe.row*Se+Pe.col,Oe=ve.row*Se+ve.col,je=_s(Math.min(Ie,Oe),Se),Ae=Bt(Math.max(Ie,Oe),Se);M.select(je%Se,Math.floor(je/Se),Ae-je+1),Vt()},ns=()=>{Pe=null,d.current=!1,E(null),C(""),M.clearSelection()},Nt=p.current;let Pt=0,dt=0,ai=0,Ct=0,Zt=!1,ki=0,li=0,Qt=!1,Lt=!1,Kt=null;const Ei=()=>{Kt&&(clearTimeout(Kt),Kt=null)},As=J=>Math.hypot(J[0].clientX-J[1].clientX,J[0].clientY-J[1].clientY);let rs=0,os=0,ci=0,Gt=0,F=0,B=null;const K=()=>{B!=null&&(cancelAnimationFrame(B),B=null)};S.current=K;const ae=(J,me,ve)=>{if(!J)return;let Se=ve,Ie=null;const Oe=je=>{if(Ie==null){Ie=je,B=requestAnimationFrame(Oe);return}const Ae=je-Ie;Ie=je;const vt=lS(Se,Ae);Se=vt.v;const as=J[me];J[me]=as+vt.delta;const q=Math.abs(vt.delta)>=1&&J[me]===as;if(me==="scrollTop"&&(Je(),At()),vt.done||q||B==null){B=null;return}B=requestAnimationFrame(Oe)};B=requestAnimationFrame(Oe)},Me=22;let Re=0,Fe=0,Te=0,We=!1;const et=async()=>{var ve;if(We||Te===0)return;We=!0;const J=V1(Te),me=Math.min(Math.abs(Te),40);Te=0;try{k.current?await Dy(t,J,me):await gu(t,Array(me).fill(J==="up"?"Up":"Down")),(ve=X.current)==null||ve.call(X)}catch{}finally{We=!1,Te!==0&&et()}},tt=J=>{if(Le=Date.now(),Ei(),K(),ke=!0,Lt=d.current,Qt=!1,J.touches.length===2){Zt=!0,Ct=-1,ki=As(J.touches),li=M.options.fontSize||14;return}if(Zt=!1,J.touches.length!==1){Ct=-1;return}Pt=J.touches[0].clientX,dt=J.touches[0].clientY,ai=Nt.scrollLeft,Ct=0,rs=Pt,os=dt,ci=J.timeStamp,Gt=0,F=0,Fe=dt,Re=0,Kt=setTimeout(()=>{Kt=null,Qt=!0,Ct=-1,Ci(Pt,dt)},500)},Ve=J=>{if(Zt&&J.touches.length===2){if(ki>0){const Se=Math.max(8,Math.min(40,Math.round(li*(As(J.touches)/ki))));Se!==(M.options.fontSize||14)&&(M.options.fontSize=Se,w.current=Se)}J.preventDefault(),J.stopPropagation();return}if(Qt&&J.touches.length===1){ss(J.touches[0].clientX,J.touches[0].clientY),J.preventDefault(),J.stopPropagation();return}if(J.touches.length===1&&(Je(),At()),J.touches.length!==1)return;const me=J.touches[0].clientX-Pt,ve=J.touches[0].clientY-dt;if((Math.abs(me)>6||Math.abs(ve)>6)&&Ei(),Ct===0){if(Math.abs(me)<6&&Math.abs(ve)<6)return;Ct=Math.abs(me)>Math.abs(ve)?1:-1}if(Ct===1){Nt.scrollLeft=ai-me;const Se=J.touches[0].clientX,Ie=J.timeStamp-ci;Ie>0&&(Gt=(rs-Se)/Ie),rs=Se,ci=J.timeStamp,J.preventDefault(),J.stopPropagation()}else{if(x.current){J.preventDefault(),J.stopPropagation();const Oe=J.touches[0].clientY,{notches:je,rem:Ae}=Nf(Re+(Oe-Fe),Me);Re=Ae,Fe=Oe,je&&(Te+=je,et());return}const Se=J.touches[0].clientY,Ie=J.timeStamp-ci;Ie>0&&(F=(os-Se)/Ie),os=Se,ci=J.timeStamp}},Rt=J=>{var me;if(Ei(),Qt&&J.touches.length===0){Qt=!1;const ve=M.getSelection();ve&&ve.trim()?Vt():ns();return}if(Zt&&J.touches.length<2){Zt=!1,mf(M.options.fontSize||14),ht();return}J.touches.length===0&&cS(Ct===1?Gt:F,J.timeStamp-ci)&&(Ct===1?ae(Nt,"scrollLeft",Gt):Ct===-1&&ae(Nt.querySelector(".xterm-viewport"),"scrollTop",F)),J.touches.length===0&&!Qt&&!Zt&&Ct===0&&(Lt?ns():(me=o.current)==null||me.call(o))},jt=J=>{if(J.deltaY){if(x.current){J.preventDefault(),J.stopPropagation();const me=J.deltaMode===1?J.deltaY*Me:J.deltaMode===2?J.deltaY*M.rows*Me:J.deltaY,{notches:ve,rem:Se}=Nf(Re-me,Me);Re=Se,ve&&(Te+=ve,et());return}J.timeStamp-De>200&&(ke=!0),De=J.timeStamp,Je(),At()}},Bi=J=>{Y1(document.activeElement)&&J.cancelable&&J.preventDefault()};Nt.addEventListener("pointerdown",Bi,{capture:!0}),Nt.addEventListener("wheel",jt,{capture:!0,passive:!1}),Nt.addEventListener("touchstart",tt,{capture:!0,passive:!0}),Nt.addEventListener("touchmove",Ve,{capture:!0,passive:!1}),Nt.addEventListener("touchend",Rt,{capture:!0,passive:!0});const Tt=p.current.parentElement;let _i=null,ji=null,ui=null,Ln=null,Gi=0,gr=0;const Po=(J,me)=>{const ve=Mt(J,me);if(!ve||ji==null)return;const Se=M.cols,Ie=ve.row*Se+ve.col,Oe=_i==="start"?Ie:Ie+1;let je=Math.min(ji,Oe),Ae=Math.max(ji,Oe);Ae<=je&&(Ae=je+1),je=_s(je,Se),Ae=Bt(Ae-1,Se)+1,M.select(je%Se,Math.floor(je/Se),Ae-je),Vt()},Io=J=>{var Se,Ie,Oe;const me=(Ie=(Se=J.target).closest)==null?void 0:Ie.call(Se,".sel-handle");if(!me)return;_i=me.dataset.end;const ve=Ki();if(ve){const je=M.cols,Ae=ve.start.row*je+ve.start.col,vt=ve.end.row*je+ve.end.col;ji=_i==="start"?vt+1:Ae}else ji=null;J.preventDefault(),J.stopPropagation(),(Oe=Tt.setPointerCapture)==null||Oe.call(Tt,J.pointerId)},Oo=J=>{if(!_i||ji==null)return;Po(J.clientX,J.clientY);const me=28;Ln={x:J.clientX,y:J.clientY};const ve=Li.getBoundingClientRect();let Se=0;if(J.clientY<ve.top+me?(Gi=-1,Se=ve.top+me-J.clientY):J.clientY>ve.bottom-me?(Gi=1,Se=J.clientY-(ve.bottom-me)):Gi=0,gr=Math.min(14,2+Se*.28),Gi!==0&&ui==null){const Ie=()=>{if(!_i||Gi===0){ui=null;return}const Oe=Li.scrollTop;if(Li.scrollTop=Oe+Gi*gr,Po(Ln.x,Ln.y),Li.scrollTop===Oe){ui=null;return}ui=requestAnimationFrame(Ie)};ui=requestAnimationFrame(Ie)}else Gi===0&&ui!=null&&(cancelAnimationFrame(ui),ui=null);J.preventDefault()},Rn=J=>{var me;_i&&(_i=null,ji=null,Gi=0,ui!=null&&(cancelAnimationFrame(ui),ui=null),(me=Tt.releasePointerCapture)==null||me.call(Tt,J.pointerId))};Tt.addEventListener("pointerdown",Io,{capture:!0}),Tt.addEventListener("pointermove",Oo,{capture:!0}),Tt.addEventListener("pointerup",Rn,{capture:!0}),Tt.addEventListener("pointercancel",Rn,{capture:!0});const _r=J=>{for(const{deco:Se,marker:Ie}of f.current)Se.dispose(),Ie.dispose();if(f.current=[],!_.current||!u.current)return;const me=J.buffer.active,ve=me.baseY+me.cursorY;for(const{y:Se,x:Ie,width:Oe}of dS(J)){const je=J.registerMarker(Se-ve);if(!je)continue;const Ae=J.registerDecoration({marker:je,x:Ie,width:Oe});if(!Ae){je.dispose();continue}Ae.onRender(vt=>{vt.classList.add("doc-deco")}),f.current.push({deco:Ae,marker:je})}};m.current=()=>{!fe&&ge&&_r(M)};const vr=async(J,me)=>{var je;if(Ce||fe)return;Ce=!0;const ve=me?(je=p.current)==null?void 0:je.querySelector(".xterm-viewport"):null,Se=ve&&ce().length?ve.scrollHeight/ce().length:0,Ie=Se?Math.floor(ve.scrollTop/Se):ce().viewportY,Oe=me?ce().length-Ie:0;try{const Ae=await Ty(t,J,te);if(fe)return;if(we(uc(le,"ok")),Ae.unchanged){a(me);return}te=Ae.hash,x.current=!!Ae.alt,k.current=!!Ae.mouseAware,I(_e=>_e===!!Ae.alt?_e:!!Ae.alt),Le=Date.now();let vt=!1;Ae.width&&Ae.width!==M.cols&&(M.resize(Ae.width,M.rows),vt=!0);const as=zt;Ae.height&&(zt=Ae.height);const q=!ge,ee=Ae.cur?`${Ae.cur.row},${Ae.cur.col},${Ae.cur.vis?1:0}`:"";if(!vt&&!q&&Ae.ansi===Ee&&ee===oe){a(me);return}const he=Q1(Ae.ansi);if(Be=he?he.split(`
|
|
114
|
+
`).length:0,await new Promise(_e=>M.write("\x1B[?25l\x1B[0m\x1B[2J\x1B[3J\x1B[H"+he,_e)),fe)return;Ee=Ae.ansi,oe=ee,ye=Ae.cur,me?M.scrollToLine(Math.max(0,ce().length-Oe)):M.scrollToBottom(),ge=!0;try{_r(M)}catch{}a(me),st(),(vt||q||zt!==as)&&ht(),q&&setTimeout(Z,400)}catch(Ae){Ae instanceof lt?i==null||i():fe||we(uc(le,"fail"))}finally{Ce=!1,!fe&&ge&&Je(),Ue&&!fe&&(Ue=!1,tn())}},Bo=async()=>{if(!(Ce||fe)&&!d.current){if(ge&&!it()){a(!0);return}Ye=Ke(),await vr(Ye,!Qe())}};let Ms=0;async function wr(J){if(!fe&&J===Ms&&await Bo(),fe||document.hidden||J!==Ms)return;const me=le.failCount>0?tS(le.failCount):sS(Date.now()-Le);pe=setTimeout(()=>wr(J),me)}const tn=()=>{Ms+=1,pe&&(clearTimeout(pe),pe=null),wr(Ms)};tn();const jo=()=>{if(Le=Date.now(),Ce){Ue=!0;return}tn()};X.current=jo;const yr=()=>{document.hidden?(Ms+=1,pe&&(clearTimeout(pe),pe=null)):(we(uc(le,"reset")),Ye=Ke(),Le=Date.now(),tn())};document.addEventListener("visibilitychange",yr);const Fo=M.onScroll(()=>{if(!fe){if(Qe()){a(!1),R("");return}a(!0),Je(),At()}}),Li=p.current.querySelector(".xterm-viewport"),Sr=()=>{d.current&&Vt()};return Li==null||Li.addEventListener("scroll",Sr,{passive:!0}),()=>{fe=!0,ui!=null&&cancelAnimationFrame(ui),H.current=null,X.current=null,S.current=null,m.current=null,Q.current=null,Ei(),K(),pe&&clearTimeout(pe),document.removeEventListener("visibilitychange",yr),window.removeEventListener("resize",_t),window.removeEventListener("orientationchange",_t),xt==null||xt.disconnect(),Nt.removeEventListener("pointerdown",Bi,{capture:!0}),Nt.removeEventListener("wheel",jt,{capture:!0}),Nt.removeEventListener("touchstart",tt,{capture:!0}),Nt.removeEventListener("touchmove",Ve,{capture:!0}),Nt.removeEventListener("touchend",Rt,{capture:!0}),Tt.removeEventListener("pointerdown",Io,{capture:!0}),Tt.removeEventListener("pointermove",Oo,{capture:!0}),Tt.removeEventListener("pointerup",Rn,{capture:!0}),Tt.removeEventListener("pointercancel",Rn,{capture:!0}),Li==null||Li.removeEventListener("scroll",Sr),Fo.dispose(),Y.dispose();for(const{deco:J,marker:me}of f.current)J.dispose(),me.dispose();f.current=[],M.dispose(),n.current=null}},[t]);const ue=()=>{var Y,G,re,se;(Y=S.current)==null||Y.call(S);const M=(G=p.current)==null?void 0:G.querySelector(".xterm-viewport");M&&(M.scrollTop=M.scrollHeight),(re=n.current)==null||re.scrollToBottom(),a(!1),R(""),(se=X.current)==null||se.call(X)},ie=async M=>{var Y;try{await gu(t,[M==="up"?"PageUp":"PageDown"]),(Y=X.current)==null||Y.call(X)}catch{}},U=async()=>{const M=n.current,Y=Pf((M==null?void 0:M.getSelection())??"");if(Y){let G=!1;if(navigator.clipboard&&window.isSecureContext)try{await navigator.clipboard.writeText(Y),G=!0}catch{}if(!G){const re=document.createElement("textarea");re.value=Y,re.style.cssText="position:fixed;top:0;left:0;opacity:0",document.body.appendChild(re),re.focus(),re.select();try{document.execCommand("copy")}catch{}document.body.removeChild(re)}}M==null||M.clearSelection(),d.current=!1,E(null),C("")};return g.jsxs("div",{className:"terminal-wrap",children:[g.jsx("div",{ref:p,className:O?"terminal":"terminal terminal--loading"}),!h&&g.jsx("div",{className:"term-banner term-banner--err",children:"⚠ 连接断开,重连中…"}),j&&g.jsx("div",{className:"dbg",children:A}),h&&$&&!y&&g.jsx("div",{className:"term-banner term-banner--hist",children:$}),y&&g.jsx("div",{className:"term-banner term-banner--sel",children:y}),$&&g.jsx("button",{className:"new-output",onClick:ue,children:"↓ 回到底部"}),L&&g.jsxs("div",{className:"term-pager",role:"group","aria-label":"翻页",children:[g.jsx("button",{type:"button",className:"term-pager-btn","aria-label":"上翻页",onClick:()=>ie("up"),children:g.jsx("svg",{viewBox:"0 0 24 24",width:"19",height:"19","aria-hidden":"true",children:g.jsx("path",{d:"M6 14.5l6-6 6 6",fill:"none",stroke:"currentColor",strokeWidth:"2.1",strokeLinecap:"round",strokeLinejoin:"round"})})}),g.jsx("span",{className:"term-pager-div","aria-hidden":"true"}),g.jsx("button",{type:"button",className:"term-pager-btn","aria-label":"下翻页",onClick:()=>ie("down"),children:g.jsx("svg",{viewBox:"0 0 24 24",width:"19",height:"19","aria-hidden":"true",children:g.jsx("path",{d:"M6 9.5l6 6 6-6",fill:"none",stroke:"currentColor",strokeWidth:"2.1",strokeLinecap:"round",strokeLinejoin:"round"})})})]}),b&&(()=>{const M=Math.min(b.start.x,b.end.x),Y=Math.min(b.start.y,b.end.y),G=Math.max(b.start.y,b.end.y),re=Math.max(8,Math.min(M,(b.wrapW??0)-bS-8)),se=Y-44,pe=G+(b.start.ch||0)+8,fe=se<4?pe:se;return g.jsxs(g.Fragment,{children:[g.jsx("div",{className:"sel-handle sel-handle--start",style:{left:b.start.x,top:b.start.y,"--h":`${b.start.ch}px`},"data-end":"start"}),g.jsx("div",{className:"sel-handle sel-handle--end",style:{left:b.end.x,top:b.end.y,"--h":`${b.end.ch}px`},"data-end":"end"}),g.jsxs("div",{className:"sel-callout",style:{left:re,top:fe},children:[g.jsx("button",{type:"button",onClick:U,children:"拷贝"}),g.jsx("button",{type:"button",onClick:()=>{const Ce=Q.current;Ce&&Ce.selectRange(yS(Ce.currentRange(),n.current.cols))},children:"整行"}),g.jsx("button",{type:"button",onClick:()=>{const Ce=Q.current;if(!Ce)return;const Ue=n.current.buffer.active;Ce.selectRange(SS(Ce.currentRange(),n.current.cols,Ce.paraLineText,0,Ue.length-1))},children:"整段"})]})]})})()]})}),R_={active:!1,phase:null,pct:0,label:""};let bo=R_,Zr=null;const bu=new Set,jh=()=>{for(const e of[...bu])e()};function T_(e,t=""){Zr=e,bo={active:!0,phase:"sending",pct:0,label:t},jh()}function al(e){bo={...bo,...e},jh()}function xu(){Zr=null,bo=R_,jh()}function ES(){Zr==null||Zr.abort()}const LS=e=>(bu.add(e),()=>bu.delete(e)),RS=()=>bo;function TS(){return N.useSyncExternalStore(LS,RS)}const DS=[["esc","tab","tilde","slash","up","at","del"],["ctrl","shift","alt","left","down","right","enter"]],xo=["ctrl","shift","alt"],Cu={kbd:"⌨",esc:"Esc",up:"▲",tab:"Tab",ctrl:"Ctrl",shift:"Shift",del:"⌫",left:"◀",down:"▼",right:"▶",alt:"Alt",slash:"/",tilde:"~",at:"@",enter:"Enter"},AS=new Set(["up","down","left","right","del"]),Of={esc:"Escape",tab:"Tab",del:"BSpace",enter:"Enter",up:"Up",down:"Down",left:"Left",right:"Right"},Bf={slash:"/",tilde:"~",at:"@"};function MS(e){return e in Of?{kind:"key",name:Of[e]}:e in Bf?{kind:"text",ch:Bf[e]}:null}const ku="off",Fh="armed",Eu="locked",xs=e=>e===Fh||e===Eu,NS=e=>xo.some(t=>xs(e[t]));function Lu(e){const t={};for(const i of xo)t[i]=e[i]===Fh?ku:e[i]??ku;return t}function D_(e,t){if(!e||!NS(t))return e;const i=xs(t.ctrl),s=xs(t.shift),r=xs(t.alt);if(s&&e.kind==="key"){if(e.name==="Tab")return{kind:"key",name:"BTab"};if(["Up","Down","Left","Right"].includes(e.name))return{kind:"key",name:`S-${e.name}`}}return(i||r)&&e.kind==="text"&&/^[a-z0-9]$/i.test(e.ch)?{kind:"key",name:`${i?"C":"M"}-${e.ch.toLowerCase()}`}:e}const PS={up:"Up",down:"Down",left:"Left",right:"Right",enter:"Enter",ret:"Enter",return:"Enter",cr:"Enter",esc:"Escape",escape:"Escape",tab:"Tab",space:"Space",del:"BSpace",bs:"BSpace",bspace:"BSpace",backspace:"BSpace",home:"Home",end:"End",pgup:"PageUp",pageup:"PageUp",pgdn:"PageDown",pagedown:"PageDown"},IS={Escape:"Esc",BSpace:"⌫",Space:"Space",PageUp:"PgUp",PageDown:"PgDn"};function OS(e,t){const i=!!e.ctrl,s=!!e.shift,r=!!e.alt,l=(t||"").trim();if(!l)return null;const p=[];i&&p.push("Ctrl"),s&&p.push("Shift"),r&&p.push("Alt");const n=f=>[...p,f].join("+"),o=PS[l.toLowerCase()];return o?{name:o==="Tab"&&s&&!i&&!r?"BTab":(i?"C-":"")+(r?"M-":"")+(s?"S-":"")+o,label:n(IS[o]||o)}:l.length!==1||!i&&!r&&!s?null:i||r?{name:(i?"C-":"")+(r?"M-":"")+l.toLowerCase(),label:n(l.toUpperCase())}:{name:l.toUpperCase(),label:n(l.toUpperCase())}}function BS(e,{delay:t=400,interval:i=120}={}){let s=null,r=null;const l=()=>{s&&clearTimeout(s),r&&clearInterval(r),s=null,r=null};return{start:()=>{l(),e(),s=setTimeout(()=>{r=setInterval(e,i)},t)},stop:l}}const jf={up:"Up",down:"Down",left:"Left",right:"Right",tilde:"Tilde",slash:"Slash",at:"At",del:"Backspace"},A_=e=>{e.cancelable&&e.preventDefault()},jS=500;function FS({onKey:e,onText:t,mods:i,setMods:s,keyHeldRef:r}){const l=N.useRef(i);l.current=i;const p=o=>{const f=MS(o);if(!f)return;const _=xo.some(m=>xs(l.current[m])),u=_?D_(f,l.current):f;u.kind==="key"?e(u.name):t(u.ch),_&&s(Lu)},n=o=>xo.includes(o)?g.jsx($S,{id:o,state:i[o],setMods:s},o):g.jsx(zS,{id:o,dispatch:p,keyHeldRef:r},o);return g.jsx("div",{className:"keybar-grid",children:DS.flat().map(n)})}const HS=300;function $S({id:e,state:t,setMods:i}){const s=N.useRef(-1/0),r=p=>{const n=p.timeStamp||0;if(n-s.current<HS){s.current=-1/0,i(o=>({...o,[e]:Eu}));return}s.current=n,i(o=>({...o,[e]:xs(o[e])?ku:Fh}))},l=t===Eu?" locked":xs(t)?" armed":"";return g.jsx("button",{type:"button",className:`keybar-key keybar-mod${l}`,"data-key":e,"data-state":t,"aria-pressed":xs(t),"aria-label":Cu[e],onPointerDown:A_,onClick:r,children:Cu[e]})}function zS({id:e,dispatch:t,keyHeldRef:i}){const s=N.useRef(null),r=N.useRef(t);r.current=t;const l=N.useRef(null),p=w=>{i&&(i.current=w)},n=Cu[e];if(!AS.has(e))return g.jsx("button",{type:"button",className:"keybar-key","data-key":e,"aria-label":jf[e]||n,onPointerDown:A_,onClick:()=>t(e),children:n});const o=()=>{const w=l.current;w!=null&&w.guard&&(clearTimeout(w.guard),w.guard=null)},f=w=>{w.cancelable&&w.preventDefault(),s.current||(s.current=BS(()=>r.current(e)));const S={x:w.clientX,y:w.clientY,held:!1,moved:!1,guard:null};S.guard=setTimeout(()=>{S.held=!0,S.guard=null,s.current.start()},jS),l.current=S,p(!0)},_=w=>{const S=l.current;!S||S.held||(Math.abs(w.clientX-S.x)>8||Math.abs(w.clientY-S.y)>8)&&(S.moved=!0,o(),p(!1))},u=()=>{const w=l.current;p(!1),w&&(o(),w.held?s.current.stop():w.moved||r.current(e),l.current=null)},m=()=>{var w;p(!1),o(),(w=l.current)!=null&&w.held&&s.current.stop(),l.current=null};return g.jsx("button",{type:"button",className:"keybar-key","data-key":e,"aria-label":jf[e]||n,onPointerDown:f,onPointerMove:_,onPointerUp:u,onPointerCancel:m,onPointerLeave:m,children:n})}const M_=e=>`hm_favs6_${e}`,N_="command",Ru=e=>e?`command@${e}`:N_,US={command:[],agent:[{kind:"key",text:"Escape",label:"Esc"},{kind:"key",text:"Tab",label:"Tab"},{kind:"key",text:"BSpace",label:"⌫"},{kind:"reply",text:"ok"},{kind:"reply",text:"go on"},{kind:"reply",text:"1"},{kind:"reply",text:"2"},{kind:"reply",text:"3"},{kind:"cmd",text:"/compact"},{kind:"cmd",text:"/clear"},{kind:"cmd",text:"/model"}]};function wi(e){try{const t=localStorage.getItem(M_(e));if(t)return JSON.parse(t)}catch{}return(US[e]||[]).map(t=>({...t}))}function Ml(e,t){try{localStorage.setItem(M_(e),JSON.stringify(t))}catch{}return t}function Tu(e,t){const i=wi(e);if(i.some(r=>r.text===t.text))return i;const s=t.kind==="key"?{kind:"key",text:t.text,label:t.label}:{kind:t.kind,text:t.text,enter:!!t.enter};return Ml(e,[...i,s])}function Du(e,t){return Ml(e,wi(e).filter(i=>i.text!==t))}function WS(e,t,i){const s=wi(e),r=s.findIndex(p=>p.text===t);if(r<0||s.some((p,n)=>n!==r&&p.text===i.text))return s;const l=s.slice();return l[r]=i.kind==="key"?{kind:"key",text:i.text,label:i.label}:{kind:i.kind,text:i.text,enter:!!i.enter},Ml(e,l)}function VS(e,t,i){const s=wi(e),r=s.findIndex(n=>n.text===t),l=r+(i<0?-1:1);if(r<0||l<0||l>=s.length)return s;const p=s.slice();return[p[r],p[l]]=[p[l],p[r]],Ml(e,p)}const KS=e=>{var t;try{(t=navigator.clipboard)==null||t.writeText(e)}catch{}};function GS({open:e,mode:t,recent:i=[],onSend:s,onFill:r,onClose:l,onDelete:p,historyOnly:n=!1}){const[o,f]=N.useState(()=>wi(t)),_=N.useRef(null),[u,m]=N.useState(t);if(u!==t&&(m(t),f(wi(t))),!e)return null;const w=n?[]:o.filter(h=>h.kind==="reply"),S=n?[]:o.filter(h=>h.kind==="cmd"),v=()=>{var d;const h=(((d=_.current)==null?void 0:d.value)||"").trim();if(!h)return;const c=t==="agent"&&!h.startsWith("/")?"reply":"cmd";f(Tu(t,{kind:c,text:h})),_.current&&(_.current.value="")},a=h=>f(Du(t,h));return g.jsxs(g.Fragment,{children:[g.jsx("div",{className:"cmd-backdrop",onClick:l}),g.jsxs("div",{className:`cmd-panel${n?" history":""}`,role:"dialog","aria-label":T("fav.title"),children:[g.jsxs("div",{className:"cmd-head",children:[g.jsx("span",{className:"cmd-title",children:T(n?"dock.history":"fav.title")}),g.jsx("button",{className:"cmd-close",onClick:l,"aria-label":T("common.close"),children:g.jsx(sr,{})})]}),g.jsxs("div",{className:"cmd-list",children:[n&&g.jsx("div",{className:"cmd-hint",children:T("history.scope")}),w.length>0&&g.jsx("div",{className:"fav-chips",children:w.map(h=>g.jsx("span",{className:"fav-chip",onClick:()=>s(h.text),onContextMenu:c=>{c.preventDefault(),a(h.text)},children:h.text},h.text))}),S.map(h=>g.jsxs("div",{className:"cmd-row",children:[g.jsx("span",{className:"cmd-text",onClick:()=>s(h.text),onDoubleClick:()=>r(h.text),children:h.text}),g.jsx("button",{className:"cmd-del",onClick:()=>a(h.text),"aria-label":T("common.delete"),children:g.jsx(sr,{})})]},h.text)),i.map(h=>g.jsxs("div",{className:"cmd-row",children:[g.jsx("span",{className:"cmd-text",onClick:()=>s(h),onDoubleClick:()=>r(h),children:h}),g.jsx("button",{className:"cmd-copy",onClick:()=>KS(h),"aria-label":T("common.copy"),children:g.jsx(d_,{})}),p&&g.jsx("button",{className:"cmd-del",onClick:()=>p(h),"aria-label":T("common.delete"),children:g.jsx(sr,{})})]},`r:${h}`)),n&&i.length===0&&g.jsx("div",{className:"cmd-empty",children:T("history.empty")}),!n&&g.jsxs("div",{className:"fav-add",children:[g.jsx("input",{ref:_,className:"fav-add-input",placeholder:T("fav.addPlaceholder"),onKeyDown:h=>{h.key==="Enter"&&v()}}),g.jsx("button",{className:"fav-add-btn",onClick:v,children:T("fav.add")})]})]})]})]})}const ll=[{key:"none",mods:{}},{key:"ctrl",label:"Ctrl",mods:{ctrl:!0}},{key:"shift",label:"Shift",mods:{shift:!0}},{key:"alt",label:"Alt",mods:{alt:!0}},{key:"ctrl-shift",label:"Ctrl+Shift",mods:{ctrl:!0,shift:!0}},{key:"ctrl-alt",label:"Ctrl+Alt",mods:{ctrl:!0,alt:!0}}],qS=e=>ll.find(t=>t.key===e)||ll[0],YS=[["Up","↑ Up"],["Down","↓ Down"],["Left","← Left"],["Right","→ Right"],["Tab","⇥ Tab"],["Enter","⏎ Enter"],["Escape","⎋ Esc"],["Space","␣ Space"],["BSpace","⌫ Backspace"],["Home","Home"],["End","End"],["PageUp","PgUp"],["PageDown","PgDn"]],XS=[...YS.map(([e,t])=>({value:e,label:t})),..."abcdefghijklmnopqrstuvwxyz".split("").map(e=>({value:e,label:e.toUpperCase()})),..."0123456789".split("").map(e=>({value:e,label:e}))];function JS(e){let t=e.text||"";if(t==="BTab")return{sticky:"shift",base:"Tab"};let i=!1,s=!1,r=!1;t.startsWith("C-")&&(i=!0,t=t.slice(2)),t.startsWith("M-")&&(s=!0,t=t.slice(2)),t.startsWith("S-")&&(r=!0,t=t.slice(2)),!i&&!s&&!r&&t.length===1&&t>="A"&&t<="Z"&&(r=!0);const l=ll.find(p=>!!p.mods.ctrl===i&&!!p.mods.shift===r&&!!p.mods.alt===s);return{sticky:l?l.key:"none",base:t.length===1?t.toLowerCase():t}}function Ff({value:e,options:t,onChange:i,placeholder:s}){const[r,l]=N.useState(!1),p=t.find(n=>n.value===e);return g.jsxs("div",{className:"cmd-dd",children:[g.jsxs("button",{type:"button",className:`cmd-dd-btn${r?" open":""}`,onClick:()=>l(n=>!n),"aria-haspopup":"listbox","aria-expanded":r,children:[g.jsx("span",{className:p?void 0:"cmd-dd-ph",children:p?p.label:s}),g.jsx(Js,{})]}),r&&g.jsxs(g.Fragment,{children:[g.jsx("div",{className:"cmd-dd-scrim",onClick:()=>l(!1)}),g.jsx("div",{className:"cmd-dd-menu",role:"listbox",children:t.map(n=>g.jsxs("button",{type:"button",role:"option","aria-selected":n.value===e,className:`cmd-dd-opt${n.value===e?" on":""}`,onClick:()=>{i(n.value),l(!1)},children:[g.jsx("span",{children:n.label}),n.value===e&&g.jsx(c_,{})]},n.value))})]})]})}function ZS({title:e,accent:t,items:i,showTitle:s=!0,onMove:r,onDel:l,onEdit:p}){return g.jsxs("div",{className:`cmd-esection ${t}`,children:[s&&g.jsx("div",{className:`cmd-section ${t}`,children:g.jsx("span",{className:"cmd-section-name",children:e})}),i.length===0&&g.jsx("div",{className:"cmd-empty",children:T("cmd.empty")}),i.map((n,o)=>g.jsxs("div",{className:"cmd-row",children:[g.jsxs("button",{type:"button",className:"cmd-text cmd-fav-text",onClick:()=>p(n),children:[n.kind==="key"&&n.label||n.text,n.kind!=="key"&&n.enter&&g.jsx("span",{className:"cmd-enter","aria-hidden":"true",children:"⏎"})]}),g.jsx("button",{className:"cmd-move up",disabled:o===0,onClick:()=>r(n.text,-1),"aria-label":T("cmd.moveUp"),children:g.jsx(Js,{})}),g.jsx("button",{className:"cmd-move",disabled:o===i.length-1,onClick:()=>r(n.text,1),"aria-label":T("cmd.moveDown"),children:g.jsx(Js,{})}),g.jsx("button",{className:"cmd-del",onClick:()=>l(n.text),"aria-label":T("common.delete"),children:g.jsx(sr,{})})]},n.text))]})}function QS({scopes:e,cfg:t,edit:i,inset:s,onAdd:r,onUpdate:l,onClose:p}){const n=i&&i.fav.kind==="key"?JS(i.fav):null,[o,f]=N.useState(i&&i.fav.kind==="key"?"key":"msg"),[_,u]=N.useState(i?i.scope:e[0].key),[m,w]=N.useState(i?n?n.base:i.fav.text:""),[S,v]=N.useState(i&&i.fav.kind!=="key"?!!i.fav.enter:!1),[a,h]=N.useState(n?n.sticky:"none"),c=N.useRef(null),d=k=>{k!==o&&(f(k),w(""))},y=ll.map(k=>({value:k.key,label:k.label??T("cmd.stickyNone")})),C=o==="key"?OS(qS(a).mods,m):null,b=e.some(k=>k.key===_)?_:e[0].key,E=o==="key"?!!C:!!m.trim(),x=()=>{var L;if(!E)return;const k=o==="key"?{kind:"key",text:C.name,label:C.label}:{kind:t.msgKind(m.trim()),text:m.trim(),enter:S};if(i){l(i.scope,i.fav.text,b,k);return}r(b,k),w(""),(L=c.current)==null||L.focus()};return g.jsxs(g.Fragment,{children:[g.jsx("div",{className:"cmd-backdrop cmd-add-backdrop",onClick:p}),g.jsxs("div",{className:"cmd-addcard",role:"dialog","aria-label":T(i?"cmd.editItem":"cmd.addTitle"),style:{transform:`translate(-50%, calc(-50% + ${s/2}px))`},children:[g.jsxs("div",{className:"cmd-addcard-head",children:[g.jsx("span",{className:"cmd-title",children:T(i?"cmd.editItem":"cmd.addTitle")}),g.jsx("button",{className:"cmd-close",onClick:p,"aria-label":T("common.close"),children:g.jsx(sr,{})})]}),g.jsxs("div",{className:"cmd-modetabs",role:"tablist",children:[g.jsx("button",{type:"button",role:"tab","aria-selected":o==="msg",className:`cmd-modetab${o==="msg"?" on":""}`,onClick:()=>d("msg"),children:t.msgLabel}),g.jsx("button",{type:"button",role:"tab","aria-selected":o==="key",className:`cmd-modetab${o==="key"?" on":""}`,onClick:()=>d("key"),children:T("cmd.tabKey")})]}),e.length>1&&g.jsxs("div",{className:"cmd-field",children:[g.jsx("label",{className:"cmd-field-label",children:T("cmd.addTo")}),g.jsx("div",{className:"cmd-seg",role:"group",children:e.map(k=>g.jsx("button",{type:"button","aria-pressed":b===k.key,className:`cmd-seg-btn${k.accent==="win"?" win":""}${b===k.key?" on":""}`,onClick:()=>u(k.key),children:k.title},k.key))})]}),o==="key"?g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:"cmd-field",children:[g.jsx("label",{className:"cmd-field-label",children:T("cmd.sticky")}),g.jsx(Ff,{value:a,options:y,onChange:h})]}),g.jsxs("div",{className:"cmd-field",children:[g.jsx("label",{className:"cmd-field-label",children:T("cmd.baseKey")}),g.jsx(Ff,{value:m,options:XS,onChange:w,placeholder:T("cmd.pickKey")}),C&&g.jsx("span",{className:"cmd-chord-preview",children:C.label})]})]}):g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:"cmd-field",children:[g.jsx("label",{className:"cmd-field-label",children:t.msgLabel}),g.jsx("input",{ref:c,className:"cmd-add-input",value:m,placeholder:t.placeholder,autoCapitalize:"off",autoCorrect:"off",spellCheck:!1,onChange:k=>w(k.target.value),onKeyDown:k=>{k.key==="Enter"&&x()}})]}),t.hasEnter&&g.jsxs("label",{className:"cmd-toggle-row",children:[g.jsx("span",{children:T("cmd.withEnter")}),g.jsxs("span",{className:"cmd-switch",children:[g.jsx("input",{type:"checkbox",checked:S,onChange:k=>v(k.target.checked)}),g.jsx("span",{className:"cmd-switch-track","aria-hidden":"true"}),g.jsx("span",{className:"cmd-switch-knob","aria-hidden":"true"})]})]})]}),g.jsx("button",{type:"button",className:"cmd-submit",disabled:!E,onClick:x,children:T(i?"common.save":"fav.add")})]})]})}function eb(e,t){if(e==="chat")return{title:T("chat.editTitle"),scopes:[{key:"agent",title:T("chat.favs"),accent:"global"}],card:{msgLabel:T("chat.tabMsg"),placeholder:T("chat.addPlaceholder"),hasEnter:!1,msgKind:s=>s.startsWith("/")?"cmd":"reply"}};const i=t?Ru(t):null;return{title:T("cmd.editTitle"),scopes:[{key:N_,title:T("cmd.global"),accent:"global"},...i?[{key:i,title:T("cmd.window"),accent:"win"}]:[]],card:{msgLabel:T("cmd.tabCmd"),placeholder:T("cmd.addPlaceholder"),hasEnter:!0,msgKind:()=>"cmd"}}}function Hf({windowId:e,inset:t=0,variant:i="command",onClose:s}){const{title:r,scopes:l,card:p}=eb(i,e),[n,o]=N.useState(()=>Object.fromEntries(l.map(a=>[a.key,wi(a.key)]))),[f,_]=N.useState(null),u=()=>o(Object.fromEntries(l.map(a=>[a.key,wi(a.key)]))),m=(a,h,c)=>{VS(a,h,c),u()},w=(a,h)=>{Du(a,h),u()},S=(a,h)=>{Tu(a,h),u()},v=(a,h,c,d)=>{a===c?WS(a,h,d):(Du(a,h),Tu(c,d)),u(),_(null)};return g.jsxs(g.Fragment,{children:[g.jsx("div",{className:"cmd-backdrop",onClick:s}),g.jsxs("div",{className:"cmd-panel cmd-editor",role:"dialog","aria-label":r,children:[g.jsxs("div",{className:"cmd-head",children:[g.jsx("span",{className:"cmd-title",children:r}),g.jsx("button",{className:"cmd-add-open",onClick:()=>_({edit:null}),"aria-label":T("cmd.addTitle"),children:g.jsx(l_,{})}),g.jsx("button",{className:"cmd-close",onClick:s,"aria-label":T("common.close"),children:g.jsx(sr,{})})]}),g.jsx("div",{className:"cmd-list",children:l.map(a=>g.jsx(ZS,{title:a.title,accent:a.accent,items:n[a.key]||[],showTitle:l.length>1,onMove:(h,c)=>m(a.key,h,c),onDel:h=>w(a.key,h),onEdit:h=>_({edit:{fav:h,scope:a.key}})},a.key))})]}),f&&g.jsx(QS,{scopes:l,cfg:p,edit:f.edit,inset:t,onAdd:S,onUpdate:v,onClose:()=>_(null)})]})}function P_({active:e,disabled:t,onToggle:i}){const s=N.useRef({x:0,y:0,moved:!1}),r=n=>{s.current={x:n.clientX,y:n.clientY,moved:!1}},l=n=>{const o=s.current;!o.moved&&Math.hypot(n.clientX-o.x,n.clientY-o.y)>10&&(o.moved=!0)},p=()=>{s.current.moved||i()};return g.jsx("button",{type:"button",className:`input-mic${e?" on":""}`,"aria-label":T(e?"mic.stop":"mic.start"),"aria-pressed":e,disabled:t,onPointerDown:r,onPointerMove:l,onPointerUp:p,children:g.jsx(p1,{})})}const I_=["jpg","jpeg","png","gif","webp","svg","bmp","heic","heif","avif","ico","tiff","mp4","m4v","mov","webm","mkv","avi","wmv","flv","3gp","ogv","mpeg","mpg","txt","md","markdown","rst","log","csv","tsv","json","yaml","yml","toml","ini","conf","xml","html","htm","css","js","mjs","cjs","ts","tsx","jsx","py","rb","go","rs","java","c","h","cpp","sh","pdf","doc","docx","xls","xlsx","ppt","pptx","odt","ods","odp","rtf"],O_=I_.map(e=>`.${e}`).join(","),tb=new Set(I_);function ib(e){const t=/\.([A-Za-z0-9]+)$/.exec(e||"");return t?tb.has(t[1].toLowerCase()):!1}function B_(e){const i=(Array.isArray(e)?e:e&&typeof e.length=="number"?Array.from(e):[e]).filter(Boolean),s=[],r=[];for(const l of i)(ib(l.name)?s:r).push(l);return{allowed:s,rejected:r.map(l=>l.name)}}function sb(e,t){const i=t/16e3,s=Math.floor(e.length/i),r=new Int16Array(s);for(let l=0;l<s;l++){let p=e[Math.floor(l*i)];p>1?p=1:p<-1&&(p=-1),r[l]=p<0?p*32768:p*32767}return new Uint8Array(r.buffer)}function nb(e=1280){let t=new Uint8Array(0);return{push(i){const s=new Uint8Array(t.length+i.length);s.set(t),s.set(i,t.length);const r=[];let l=0;for(;s.length-l>=e;)r.push(s.slice(l,l+e)),l+=e;return t=s.slice(l),r},flush(){if(t.length===0)return null;const i=t;return t=new Uint8Array(0),i}}}function $f(e){let t="";for(let i=0;i<e.length;i++)t+=String.fromCharCode(e[i]);return btoa(t)}const rb="data:text/javascript;base64,Ly8gd2ViL3NyYy92b2ljZS9wY20td29ya2xldC5qcwovLyBNaW5pbWFsIEF1ZGlvV29ya2xldDogZm9yd2FyZCBlYWNoIHJlbmRlciBxdWFudHVtJ3MgbW9ubyBzYW1wbGVzIHRvIHRoZSBtYWluIHRocmVhZCwgd2hpY2ggZG9lcyB0aGUKLy8gKHVuaXQtdGVzdGVkKSBkb3duc2FtcGxlL2ZyYW1lL2VuY29kZS4gS2VwdCB0cml2aWFsIG9uIHB1cnBvc2Ug4oCUIHdvcmtsZXQgY29kZSBjYW4ndCBiZSB1bml0LXRlc3RlZC4KY2xhc3MgUGNtRm9yd2FyZGVyIGV4dGVuZHMgQXVkaW9Xb3JrbGV0UHJvY2Vzc29yIHsKICBwcm9jZXNzKGlucHV0cykgewogICAgY29uc3QgY2ggPSBpbnB1dHNbMF0gJiYgaW5wdXRzWzBdWzBdOwogICAgaWYgKGNoICYmIGNoLmxlbmd0aCkgdGhpcy5wb3J0LnBvc3RNZXNzYWdlKGNoLnNsaWNlKDApKTsgLy8gY29weTogdGhlIGJ1ZmZlciBpcyByZXVzZWQgYWZ0ZXIgcHJvY2VzcygpCiAgICByZXR1cm4gdHJ1ZTsKICB9Cn0KcmVnaXN0ZXJQcm9jZXNzb3IoJ3BjbS1mb3J3YXJkZXInLCBQY21Gb3J3YXJkZXIpOwo=";function ob({getUserMedia:e=i=>navigator.mediaDevices.getUserMedia(i),AudioCtor:t=window.AudioContext||window.webkitAudioContext}={}){let i=null,s=null,r=null,l=null;const p=nb(1280);async function n(f){s=await e({audio:{channelCount:1,echoCancellation:!0,noiseSuppression:!0}}),i=new t,await i.resume(),await i.audioWorklet.addModule(rb),l=i.createMediaStreamSource(s),r=new AudioWorkletNode(i,"pcm-forwarder"),r.port.onmessage=_=>{const u=sb(_.data,i.sampleRate);for(const m of p.push(u))f($f(m))},l.connect(r),r.connect(i.destination)}async function o(){try{r&&(r.port.onmessage=null)}catch{}try{l&&l.disconnect(),r&&r.disconnect()}catch{}try{s&&s.getTracks().forEach(_=>_.stop())}catch{}try{i&&await i.close()}catch{}const f=p.flush();return i=s=r=l=null,f?$f(f):null}return{start:n,stop:o}}const ab={language:"zh_cn",domain:"iat",accent:"mandarin",vad_eos:1e4,dwa:"wpgs",ptt:1,nunum:1},Hh="audio/L16;rate=16000";function lb(e,t){return{common:{app_id:e},business:{...ab},data:{status:0,format:Hh,encoding:"raw",audio:t}}}function cb(e){return{data:{status:1,format:Hh,encoding:"raw",audio:e}}}function ub(){return{data:{status:2,format:Hh,encoding:"raw",audio:""}}}function zf(){return{sentences:new Map}}function hb(e,t){var l;const i=(l=t==null?void 0:t.data)==null?void 0:l.result;if(!i||!Array.isArray(i.ws))return e;const s=i.ws.map(p=>(p.cw||[]).map(n=>n.w).join("")).join(""),r=new Map(e.sentences);if(i.pgs==="rpl"&&Array.isArray(i.rg))for(let p=i.rg[0];p<=i.rg[1];p++)r.delete(p);return r.set(i.sn,s),{sentences:r}}function Uf(e){return[...e.sentences.keys()].sort((t,i)=>t-i).map(t=>e.sentences.get(t)).join("")}const db=55e3,fb=4e3;function j_({onText:e,deps:t={}}){const i=t.signAsr||zy,s=t.WebSocketCtor||window.WebSocket,r=t.makeRecorder||(()=>ob()),[l,p]=N.useState("idle"),[n,o]=N.useState(""),f=N.useRef("idle"),_=N.useCallback(k=>{f.current=k,p(k)},[]),u=N.useRef(null),m=N.useRef(null),w=N.useRef(zf()),S=N.useRef(""),v=N.useRef(!1),a=N.useRef(null),h=N.useRef(null),c=N.useRef(null),d=N.useRef(e);d.current=e;const y=N.useCallback(()=>{clearTimeout(a.current),clearTimeout(h.current);try{u.current&&u.current.close()}catch{}u.current=null,m.current=null,v.current=!1},[]),C=N.useCallback(()=>{var k;f.current!=="idle"&&((k=d.current)==null||k.call(d,Uf(w.current)),o(""),_("idle"),y())},[y,_]),b=N.useCallback(k=>{const L=u.current;!L||L.readyState!==1||(L.send(JSON.stringify(v.current?cb(k):lb(S.current,k))),v.current=!0)},[]),E=N.useCallback(async()=>{if(f.current==="recording"){_("finalizing"),clearTimeout(a.current);try{const k=m.current?await m.current.stop():null;k&&b(k);const L=u.current;L&&L.readyState===1?(L.send(JSON.stringify(ub())),h.current=setTimeout(()=>C(),fb)):C()}catch{_("error"),y()}}},[b,y,_,C]);c.current=E;const x=N.useCallback(async()=>{if(!(f.current!=="idle"&&f.current!=="error")){_("requesting"),o(""),w.current=zf(),v.current=!1;try{const{url:k,appId:L}=await i();S.current=L;const I=new s(k);u.current=I,I.onmessage=P=>{var W;const j=JSON.parse(P.data);w.current=hb(w.current,j),o(Uf(w.current)),((W=j==null?void 0:j.data)==null?void 0:W.status)===2&&C()},I.onerror=()=>{_("error"),y()},I.onclose=()=>{(f.current==="recording"||f.current==="finalizing")&&C()};const A=r();m.current=A,await A.start(b),_("recording"),a.current=setTimeout(()=>{var P;(P=c.current)==null||P.call(c)},db)}catch{_("error"),y()}}},[i,s,r,b,y,_,C]);return N.useEffect(()=>y,[y]),{state:l,partial:n,start:x,stop:E}}const F_="tw_asr";function pb(){try{const e=localStorage.getItem(F_);return e==null?null:e==="1"}catch{return null}}function H_(){const[e,t]=N.useState(pb);return N.useEffect(()=>{let i=!0;return Promise.resolve().then(r_).then(s=>{if(!i)return;const r=!!(s!=null&&s.asr);t(r);try{localStorage.setItem(F_,r?"1":"0")}catch{}}).catch(()=>{}),()=>{i=!1}},[]),e}function $h(e){N.useEffect(()=>{if(!e||!("wakeLock"in navigator))return;let t=null,i=!1;const s=async()=>{try{const l=await navigator.wakeLock.request("screen");if(i){try{l.release()}catch{}return}t=l}catch{}},r=()=>{document.visibilityState==="visible"&&!i&&s()};return s(),document.addEventListener("visibilitychange",r),()=>{i=!0,document.removeEventListener("visibilitychange",r);try{t&&t.release()}catch{}t=null}},[e])}function Yi(e,t){const i=N.useRef(t);i.current=t,N.useEffect(()=>{if(!e)return;window.history.pushState({overlay:!0},"");const s=()=>{var r;return(r=i.current)==null?void 0:r.call(i)};return window.addEventListener("popstate",s),()=>{var r;window.removeEventListener("popstate",s),(r=window.history.state)!=null&&r.overlay&&window.history.back()}},[e])}const Nn={ESC:"Escape",Esc:"Escape",Tab:"Tab","⌫":"BSpace"},Wf=e=>{e.cancelable&&e.preventDefault()},mb=e=>{var t,i;(i=(t=e.target).closest)!=null&&i.call(t,"input, textarea, [contenteditable]")||e.cancelable&&e.preventDefault()},Vf=80,gb=e=>Nn[e]?"esc":e.startsWith("/")?"cmd":"reply",_b=450;function fc({className:e,onTap:t,onHold:i,children:s,...r}){const l=N.useRef({timer:null,long:!1,moved:!1,x:0,y:0}),p=_=>{_.cancelable&&_.preventDefault();const u=l.current;u.long=!1,u.moved=!1,u.x=_.clientX,u.y=_.clientY,i&&(u.timer=setTimeout(()=>{var m;u.long=!0,(m=navigator.vibrate)==null||m.call(navigator,12),i()},_b))},n=_=>{const u=l.current;u.moved||(Math.abs(_.clientX-u.x)>8||Math.abs(_.clientY-u.y)>8)&&(u.moved=!0,clearTimeout(u.timer))},o=()=>{const _=l.current;if(clearTimeout(_.timer),_.timer=null,_.moved){_.moved=!1;return}if(_.long){_.long=!1;return}t()},f=()=>{const _=l.current;clearTimeout(_.timer),_.timer=null,_.long=!1,_.moved=!1};return g.jsx("button",{type:"button",className:e,...r,onPointerDown:p,onPointerMove:n,onPointerUp:o,onPointerCancel:f,onPointerLeave:f,children:s})}function vb({pane:e,onAuthFail:t,onKey:i,onText:s,cwd:r=null,agent:l=null,windowId:p=null,recent:n=[],onSent:o,onRemoveRecent:f,inset:_=0},u){const[m,w]=N.useState(()=>ty());N.useEffect(()=>{iy(m)},[m]);const[S,v]=N.useState(!1),[a,h]=N.useState(!1),[c,d]=N.useState(!1),[y,C]=N.useState(()=>wi("agent")),[b,E]=N.useState(!1);N.useEffect(()=>{!c&&!b&&C(wi("agent"))},[c,b]);const[x,k]=N.useState(()=>wi("command")),[L,I]=N.useState(()=>p?wi(Ru(p)):[]),[A,P]=N.useState(!1);N.useEffect(()=>{A||(k(wi("command")),I(p?wi(Ru(p)):[]))},[A,p]);const[j,W]=N.useState({}),z=j[e]||(l?"agent":"command"),V=F=>{var K;const B=document.activeElement===ye.current||document.activeElement===oe.current;W(ae=>({...ae,[e]:F})),B&&((K=F==="command"?ye.current:oe.current)==null||K.focus({preventScroll:!0}))},[$,R]=N.useState({ctrl:"off",shift:"off",alt:"off"}),[O,D]=N.useState(!1),H=N.useRef(null),X=N.useRef(null),Q=N.useRef(null),ue=z==="command"?0:1,ie=N.useRef(ue);ie.current=ue;const U=N.useRef(V);U.current=V;const M=N.useRef(!1),Y=N.useRef(!1),G=()=>{var F;return((F=H.current)==null?void 0:F.clientWidth)||0},re=F=>{const B=X.current;B&&(B.style.transition="none",B.style.transform=`translate3d(${F}px, 0, 0)`)},se=()=>{const F=X.current;!F||!F.style.transform||(F.style.transition="",F.style.transform="")},pe=N.useRef(null),fe=50,Ce=12,Ue=38,ge=F=>{const B=pe.current;B&&(B.classList.add("dragging"),B.style.setProperty("--drag",`${q1(F)}px`),B.style.setProperty("--morph",`${Math.min(1,Math.max(0,(Math.abs(F)-Ce)/Ue))}`),B.classList.toggle("armed",Math.abs(F)>=fe))},Ke=()=>{const F=pe.current;F&&(F.classList.remove("dragging","armed"),F.style.removeProperty("--drag"),F.style.removeProperty("--morph"))};N.useLayoutEffect(()=>{M.current||se()});const Ye=()=>{const F=H.current;if(!F)return;const B=F.querySelector(z==="command"?".dock-page.command":".dock-page.chat");B&&(F.style.height=`${B.offsetHeight}px`)};N.useLayoutEffect(()=>{z==="agent"&&st(oe.current),Ye()});const ke=N.useRef(Ye);ke.current=Ye,N.useEffect(()=>{const F=H.current;if(!F||typeof ResizeObserver>"u")return;const B=new ResizeObserver(()=>{M.current||ke.current()});return F.querySelectorAll(".dock-page").forEach(K=>B.observe(K)),()=>B.disconnect()},[]),N.useEffect(()=>{if(z!=="agent")return;const F=requestAnimationFrame(()=>{st(oe.current),Ye()});return()=>cancelAnimationFrame(F)},[z]),N.useEffect(()=>{var B;if(z==="agent")return;document.activeElement===oe.current&&((B=oe.current)==null||B.blur());const F=H.current;F&&(F.scrollLeft=0,F.scrollTop=0)},[z]),N.useEffect(()=>{const F=Q.current,B=H.current;if(!F||!B)return;let K=null;const ae=Te=>{var Ve,Rt,jt,Bi;se(),F.classList.remove("dock-swiping");const We=((Rt=(Ve=Te.target)==null?void 0:Ve.closest)==null?void 0:Rt.call(Ve,".quick-scroll"))||null,et=((Bi=(jt=Te.target)==null?void 0:jt.closest)==null?void 0:Bi.call(jt,".input-text"))||null,tt=document.activeElement===ye.current||document.activeElement===oe.current;K=Te.touches.length===1?{x:Te.touches[0].clientX,y:Te.touches[0].clientY,dx:0,dy:0,decided:!1,horiz:!1,vert:!1,strip:We,cmp:et,kbUp:tt}:null},Me=Te=>{if(!K||Te.touches.length!==1||Y.current&&!K.horiz)return;const We=Te.touches[0].clientX-K.x,et=Te.touches[0].clientY-K.y;if(!K.decided){if(Math.abs(We)<16&&Math.abs(et)<16)return;if(K.decided=!0,K.horiz=Math.abs(We)>Math.abs(et)*1.4,!K.kbUp&&(document.activeElement===ye.current||document.activeElement===oe.current)&&document.activeElement.blur(),K.horiz&&!K.kbUp&&F.classList.add("dock-swiping"),K.horiz&&K.strip){const Rt=K.strip,jt=ie.current,Bi=Rt.scrollLeft<=0,Tt=Rt.scrollLeft>=Rt.scrollWidth-Rt.clientWidth-1,_i=We>0&&Bi&&jt===1,ji=We<0&&Tt&&jt===0;_i||ji||(K.horiz=!1)}!K.horiz&&Math.abs(et)>Math.abs(We)*1.4&&!G1(K.cmp,et)&&(K.vert=!0)}if(K.vert){K.dx=We,K.dy=et,ge(et),Te.cancelable&&Te.preventDefault();return}if(!K.horiz)return;Te.preventDefault(),M.current=!0,K.dx=We;const tt=G()||1;let Ve=We;ie.current===0?Ve=Math.min(0,Math.max(-tt,Ve)):Ve=Math.max(0,Math.min(tt,Ve)),re(-ie.current*tt+Ve)},Re=()=>{var Ve,Rt,jt,Bi;if(M.current=!1,F.classList.remove("dock-swiping"),K&&K.vert){const Tt=K1(K.dx,K.dy,fe),_i=ie.current;K=null,se(),Ke(),Tt==="show"?(Ve=Oi(_i))==null||Ve.focus({preventScroll:!0}):Tt==="hide"&&((Rt=Oi(_i))==null||Rt.blur());return}if(!K||!K.horiz){K=null,se();return}const Te=ie.current,We=K.dx,et=K.kbUp;K=null;let tt=Te;Te===0&&We<-Vf?tt=1:Te===1&&We>Vf&&(tt=0),et||((jt=ye.current)==null||jt.blur(),(Bi=oe.current)==null||Bi.blur()),se(),tt!==Te&&U.current(tt===1?"agent":"command")},Fe=()=>{(B.scrollLeft||B.scrollTop)&&(B.scrollLeft=0,B.scrollTop=0)};return B.addEventListener("scroll",Fe,{passive:!0}),F.addEventListener("touchstart",ae,{passive:!0}),F.addEventListener("touchmove",Me,{passive:!1}),F.addEventListener("touchend",Re,{passive:!0}),F.addEventListener("touchcancel",Re,{passive:!0}),()=>{B.removeEventListener("scroll",Fe),F.removeEventListener("touchstart",ae),F.removeEventListener("touchmove",Me),F.removeEventListener("touchend",Re),F.removeEventListener("touchcancel",Re)}},[]),Yi(c,()=>d(!1));const[De,Ee]=N.useState(null),oe=N.useRef(null),ye=N.useRef(null),Be=N.useRef(null),te=N.useRef(null),Le=N.useRef(!1);N.useEffect(()=>{const F=window.visualViewport;if(!F)return;const B=()=>{if(window.innerHeight-F.height>120){Le.current=!0;return}if(!Le.current)return;Le.current=!1;const ae=document.activeElement;(ae===ye.current||ae===oe.current)&&ae.blur(),D(!1)};return B(),F.addEventListener("resize",B),()=>F.removeEventListener("resize",B)},[]);const ne=N.useRef({head:"",tail:""}),Z=N.useRef(null),le=N.useRef(!1),ce=j_({onText:F=>{if(le.current){le.current=!1;return}const{head:B,tail:K}=ne.current;w(B+F+K),Z.current=B.length+F.length}}),Je=H_(),Qe=ce.state==="recording"||ce.state==="finalizing";$h(Qe),N.useEffect(()=>()=>clearTimeout(te.current),[]),N.useEffect(()=>{if(ce.state!=="recording"&&ce.state!=="finalizing"||le.current)return;const{head:F,tail:B}=ne.current;w(F+ce.partial+B),Z.current=F.length+ce.partial.length},[ce.partial,ce.state]),N.useLayoutEffect(()=>{const F=oe.current;if(!F)return;let B=!1;if(Z.current!=null){const K=Z.current;if(Z.current=null,document.activeElement===F)try{F.setSelectionRange(K,K)}catch{}B=K>=m.length}st(F),B&&(F.scrollTop=F.scrollHeight)},[m]);const it=()=>{if(Qe){ce.stop();return}const F=oe.current,B=F?F.selectionStart:m.length;ne.current={head:m.slice(0,B),tail:m.slice(B)},ce.start()},$t=40,At=N.useRef(null),zt=(F,B)=>{const K=At.current;if(!K)return null;K.style.width=`${B}px`,K.textContent=F;const ae=document.createElement("span");return K.appendChild(ae),{h:K.offsetHeight,endX:ae.offsetLeft}},st=F=>{if(!F)return;F.style.height="auto";const B=Je?76:38,K=Je?86:48,ae=F.parentElement.clientWidth-11,Me=F.value?zt(F.value,ae-B):null,Re=Me?Me.h>$t:!1;v(Re);const Fe=Re?zt(F.value,ae):null;h(!!Fe&&ae-Fe.endX<K),F.style.height=`${F.scrollHeight+2}px`},ut=()=>{Qe&&(le.current=!0,ce.stop())},ht=async()=>{if(e){ut();try{await Ta(e,m,!0),o==null||o(m),w(""),requestAnimationFrame(()=>st(oe.current))}catch(F){F instanceof lt&&(t==null||t())}}},_t=N.useRef(!1),$e=F=>{const B=F.value;if(F.value="",!B)return;const K=xo.some(ae=>xs($[ae]));if(K&&B.length===1){const ae=D_({kind:"text",ch:B},$);if(ae.kind==="key"){i(ae.name),R(Lu);return}}s(B),K&&R(Lu)},xt=F=>{var B;(B=F.nativeEvent)!=null&&B.isComposing||_t.current||$e(F.target)},Mt=()=>{z==="command"&&(_t.current=!0)},Pe=F=>{z==="command"&&(_t.current=!1,$e(F.target))},Ki=F=>{var B;if(!(z!=="command"||(B=F.nativeEvent)!=null&&B.isComposing)){if(F.key==="Enter"&&!F.shiftKey){F.preventDefault(),i("Enter");return}F.key==="Backspace"&&(F.preventDefault(),i("BSpace"))}},Vt=()=>{const F=ye.current;F&&(document.activeElement===F?F.blur():F.focus({preventScroll:!0}))},Oi=F=>F===0?ye.current:oe.current,Ds=F=>{w(F),d(!1),requestAnimationFrame(()=>{var B;(B=oe.current)==null||B.focus(),st(oe.current)})},ot=async F=>{if(e)try{await Ta(e,F,!0),o==null||o(F)}catch(B){B instanceof lt&&(t==null||t())}},Ci=F=>Ds(F),is=F=>{if(Nn[F]){i(Nn[F]);return}ot(F)},_s=F=>{if(F.kind==="key"){i(F.text);return}is(F.text)},Bt=F=>{if(F.kind==="key"){i(F.text);return}if(Nn[F.text]){i(Nn[F.text]);return}if(F.enter){ot(F.text);return}s(F.text)},ss=F=>F.kind==="key"&&F.label||F.text,ns=F=>F.kind==="key"||Nn[F.text]||!F.enter?void 0:()=>s(F.text);N.useImperativeHandle(u,()=>({fill:Ds,hideKeyboard:()=>{const F=document.activeElement;(F===ye.current||F===oe.current)&&F.blur()}}),[]);const Nt=F=>{if(!F.length)return;let B;if(F.length===1)B=F[0];else{const K=F[0].slice(0,F[0].lastIndexOf("/")+1);B=F.every(ae=>ae.startsWith(K))?`${K}{${F.map(ae=>ae.slice(K.length)).join(",")}}`:F.join(" ")}w(K=>K&&!/\s$/.test(K)?`${K} ${B}`:K+B),requestAnimationFrame(()=>{var K;(K=oe.current)==null||K.focus(),st(oe.current)})},Pt=async F=>{const{allowed:B,rejected:K}=B_(F);if(!B.length){K.length&&(clearTimeout(te.current),Ee({label:T("dock.upload.rejected",{names:K.join("、")}),error:!0}),te.current=setTimeout(()=>Ee(null),3500));return}clearTimeout(te.current),Ee(null);const ae=B.length,Me=[],Re=[],Fe=new AbortController;T_(Fe,T("dock.upload.progress",{name:B[0].name,tag:ae>1?`(1/${ae})`:""}));try{for(let Te=0;Te<ae&&!Fe.signal.aborted;Te++){const We=B[Te],et=ae>1?`(${Te+1}/${ae})`:"";al({label:T("dock.upload.progress",{name:We.name,tag:et}),phase:"sending",pct:0});try{const tt=await o_(r||"",We,(Ve,Rt)=>al({pct:Ve,phase:Rt}),!0,{signal:Fe.signal});tt!=null&&tt.path&&Me.push(tt.path)}catch(tt){if(tt instanceof ol)break;if(tt instanceof lt){t==null||t(),xu(),Ee(null);return}Re.push({name:We.name,reason:(tt==null?void 0:tt.message)||T("api.uploadFailed")})}}}finally{xu()}if(Me.length&&Nt(Me),Re.length||K.length){const Te=Re.map(We=>`${We.name}:${We.reason}`);K.length&&Te.push(T("dock.upload.rejected",{names:K.join("、")})),Ee({label:Te.join(";"),error:!0}),te.current=setTimeout(()=>Ee(null),5e3)}else Ee(null)},dt=async()=>{if(!(!e||!m)){ut();try{await Ta(e,m,!1),o==null||o(m),w(""),requestAnimationFrame(()=>st(oe.current))}catch(F){F instanceof lt&&(t==null||t())}}},ai=N.useRef(null),Ct=N.useRef(!1),Zt=N.useRef({x:0,y:0,moved:!1}),ki=F=>{F.cancelable&&F.preventDefault(),Ct.current=!1,Zt.current={x:F.clientX,y:F.clientY,moved:!1},m&&(ai.current=setTimeout(()=>{var B;Ct.current=!0,(B=navigator.vibrate)==null||B.call(navigator,12),dt()},450))},li=F=>{const B=Zt.current;B.moved||Math.hypot(F.clientX-B.x,F.clientY-B.y)<=10||(B.moved=!0,clearTimeout(ai.current),ai.current=null)},Qt=()=>{if(clearTimeout(ai.current),ai.current=null,Ct.current){Ct.current=!1;return}Zt.current.moved||ht()},Lt=()=>{clearTimeout(ai.current),ai.current=null,Ct.current=!1},Kt=N.useRef(null),Ei=N.useRef({x:0,y:0,moved:!1}),As=F=>{if(!S)return null;for(const[B,K]of[["send",".input-send"],["mic",".input-mic"]]){const ae=F.currentTarget.querySelector(K);if(!ae)continue;const Me=ae.getBoundingClientRect();if(F.clientX>=Me.left&&F.clientX<=Me.right&&F.clientY>=Me.top&&F.clientY<=Me.bottom)return B}return null},rs=F=>{const B=As(F);B&&(F.stopPropagation(),F.cancelable&&F.preventDefault(),Kt.current=B,B==="send"?ki(F):Ei.current={x:F.clientX,y:F.clientY,moved:!1})},os=F=>{const B=Kt.current;if(!B)return;if(B==="send"){li(F);return}const K=Ei.current;!K.moved&&Math.hypot(F.clientX-K.x,F.clientY-K.y)>10&&(K.moved=!0)},ci=()=>{const F=Kt.current;if(Kt.current=null,!!F){if(F==="send"){m?Qt():Lt();return}!Ei.current.moved&&ce.state!=="requesting"&&it()}},Gt=()=>{const F=Kt.current;Kt.current=null,F==="send"&&Lt()};return g.jsxs("div",{className:"bottom-dock",children:[g.jsxs("div",{className:"dock-left",ref:Q,onPointerDown:mb,children:[g.jsxs("button",{type:"button",className:"dock-handle",ref:pe,"aria-label":T("dock.mode.toggle"),onClick:()=>V(z==="command"?"agent":"command"),children:[g.jsx("span",{className:"dock-mode-label",children:T(z==="command"?"dock.mode.command":"dock.mode.chat")}),g.jsxs("span",{className:"dock-dots",children:[g.jsx("i",{className:`dock-dot${z==="command"?" on":""}`,"data-page":"command","aria-hidden":"true"}),g.jsx("i",{className:`dock-dot${z==="agent"?" on":""}`,"data-page":"agent","aria-hidden":"true"})]})]}),g.jsx("div",{className:"dock-pager",ref:H,children:g.jsxs("div",{className:`dock-track${ue===1?" at-chat":""}`,ref:X,children:[g.jsxs("div",{className:`dock-page command${z==="command"?" on":""}`,children:[g.jsx("input",{ref:ye,className:"cmd-capture",type:"text",onInput:xt,onKeyDown:Ki,onCompositionStart:Mt,onCompositionEnd:Pe,onFocus:()=>D(!0),onBlur:()=>D(!1),enterKeyHint:"send","aria-label":T("dock.command.placeholder"),autoCapitalize:"off",autoCorrect:"off",autoComplete:"off",spellCheck:!1}),g.jsxs("div",{className:"quick-bar",children:[g.jsx("div",{className:"quick-fixed",children:g.jsxs("button",{type:"button",className:"quick-fix quick-fix-kbd","aria-pressed":O,"aria-label":T(O?"dock.kbdHide":"dock.kbdShow"),onPointerDown:Wf,onClick:Vt,children:[g.jsx(v1,{down:O}),g.jsx("span",{children:T(O?"dock.kbdHide":"dock.kbdShow")})]})}),g.jsxs("div",{className:"quick-scroll",children:[x.map(F=>g.jsxs(fc,{className:"quick-cmd quick-cmd-plain",onTap:()=>Bt(F),onHold:ns(F),children:[ss(F),F.kind!=="key"&&F.enter&&g.jsx("span",{className:"qc-enter","aria-hidden":"true",children:"⏎"})]},`g:${F.text}`)),L.map(F=>g.jsxs(fc,{className:"quick-cmd quick-cmd-win",onTap:()=>Bt(F),onHold:ns(F),children:[ss(F),F.kind!=="key"&&F.enter&&g.jsx("span",{className:"qc-enter","aria-hidden":"true",children:"⏎"})]},`w:${F.text}`)),g.jsx("button",{type:"button",className:"quick-cmd quick-cmd-add","aria-label":T("cmd.editTitle"),onPointerDown:Wf,onClick:()=>P(!0),children:g.jsx(_u,{})})]})]}),g.jsx(FS,{onKey:i,onText:s,mods:$,setMods:R,keyHeldRef:Y})]}),g.jsxs("div",{className:`dock-page chat${z==="agent"?" on":""}`,children:[De&&g.jsx("div",{className:"dock-upload error",children:g.jsx("span",{className:"dock-upload-label",children:De.label})}),g.jsxs("div",{className:"quick-bar",children:[g.jsx("div",{className:"quick-fixed",children:g.jsxs("button",{type:"button",className:"quick-fix","aria-label":T("dock.attach"),disabled:!!De&&!De.error,onClick:()=>{var F;return(F=Be.current)==null?void 0:F.click()},children:[g.jsx(h_,{}),g.jsx("span",{children:T("dock.attach")})]})}),g.jsxs("div",{className:"quick-scroll",children:[y.map(F=>g.jsx(fc,{className:`quick-cmd qc-${F.kind==="key"?"esc":gb(F.text)}`,onTap:()=>_s(F),onHold:F.kind==="key"?void 0:()=>s(F.text),children:ss(F)},F.text)),g.jsx("button",{type:"button",className:"quick-cmd quick-cmd-add","aria-label":T("chat.editTitle"),onClick:()=>E(!0),children:g.jsx(_u,{})})]})]}),g.jsx("input",{ref:Be,className:"browse-file-input",type:"file",multiple:!0,accept:O_,onChange:F=>{Pt(F.target.files),F.target.value=""}}),g.jsxs("div",{className:`input-wrap${Qe?" recording":""}${S?" multi":""}${a?" crowd":""}`,onPointerDownCapture:rs,onPointerMoveCapture:os,onPointerUpCapture:ci,onPointerCancelCapture:Gt,children:[g.jsx("textarea",{ref:oe,className:"input-text",rows:1,value:m,onPointerDown:F=>{Qe&&(ut(),F.currentTarget.focus())},onChange:F=>{w(F.target.value),st(F.target)},onFocus:()=>D(!0),onBlur:()=>D(!1),placeholder:T("dock.input.placeholder"),autoCapitalize:"off",autoCorrect:"off",spellCheck:!1}),g.jsx("div",{ref:At,className:"input-mirror","aria-hidden":"true"}),!m&&g.jsx("button",{type:"button",className:"input-history","aria-label":T("dock.history"),title:T("dock.history"),onClick:()=>d(F=>!F),children:g.jsx(u_,{})}),Je&&g.jsx(P_,{active:Qe,disabled:ce.state==="requesting",onToggle:it}),g.jsx("button",{type:"button",className:"input-send","aria-label":T("dock.send"),title:T("dock.send.hint"),disabled:!m,onPointerDown:ki,onPointerMove:li,onPointerUp:Qt,onPointerCancel:Lt,onPointerLeave:Lt,children:g.jsx(a_,{})})]})]})]})})]}),g.jsx(GS,{open:c,mode:z,recent:n,historyOnly:!0,onDelete:f,onSend:F=>{d(!1),is(F)},onFill:F=>{d(!1),Ci(F)},onClose:()=>d(!1)}),A&&g.jsx(Hf,{windowId:p,inset:_,onClose:()=>P(!1)}),b&&g.jsx(Hf,{variant:"chat",inset:_,onClose:()=>E(!1)})]})}const wb=N.forwardRef(vb);function yb({onSaved:e}){const[t,i]=N.useState(""),s=r=>{r.preventDefault();const l=t.trim();l&&(Ww(l),e())};return g.jsxs("form",{className:"token-prompt",onSubmit:s,children:[g.jsx("h2",{children:T("token.title")}),g.jsx("input",{value:t,onChange:r=>i(r.target.value),placeholder:T("token.placeholder")}),g.jsx("button",{type:"submit",children:T("common.save")})]})}function zh({open:e,title:t,actions:i=[],onClose:s}){const[r,l]=N.useState(null);if(N.useEffect(()=>{e||l(null)},[e]),!e)return null;const p=o=>{var f;if(!o.disabled){if(o.confirm&&r!==o.key){l(o.key);return}l(null),(f=o.onClick)==null||f.call(o)}},n=o=>g.jsx("button",{className:`sheet-action ${o.danger?"danger":""} ${r===o.key?"armed":""}`,disabled:o.disabled,onClick:()=>p(o),children:o.confirm&&r===o.key?o.confirmLabel||T("actionsheet.confirmAgain"):o.label},o.key);return g.jsxs(g.Fragment,{children:[g.jsx("div",{className:"settings-backdrop",onClick:s}),g.jsxs("div",{className:"settings-card",role:"dialog","aria-label":t,"aria-modal":"true",children:[g.jsxs("div",{className:"settings-head",children:[g.jsx("span",{className:"settings-title",children:t}),g.jsx("button",{className:"settings-close",onClick:s,"aria-label":T("common.close"),children:"✕"})]}),g.jsxs("div",{className:"settings-section sheet-actions",children:[i.map((o,f)=>Array.isArray(o)?g.jsx("div",{className:"sheet-row",children:o.map(n)},`row-${f}`):n(o)),g.jsx("button",{className:"fontbtn sheet-cancel",onClick:s,children:T("common.cancel")})]})]})]})}const Sb=/\.(?:md|markdown|html|htm|txt|log|sh)$/i,Kf=300;function Gf(e){const t=e.lastIndexOf("/");return t<0?{dir:"",frag:e}:{dir:e.slice(0,t+1),frag:e.slice(t+1)}}const bb=e=>e.replace(/\/+$/,"")||"/",pc=(e,t)=>e===t?"":e.startsWith(`${t}/`)?e.slice(t.length+1):e,ha=(e,t,i)=>{let s=null;for(const r of t||[])(e===r||e!=null&&e.startsWith(`${r}/`))&&(!s||r.length>s.length)&&(s=r);return s||i},xb=e=>e==null?"":e<1024?`${e} B`:e<1024*1024?`${Math.round(e/1024)} KB`:`${(e/1024/1024).toFixed(1)} MB`;function $_({path:e,onNavigate:t,onOpenDoc:i,onJumpToCwd:s,pendingFile:r,onPendingConsumed:l,pickMode:p=!1,allowMkdir:n=!p,onPick:o,refreshKey:f=0}){const[_,u]=N.useState(""),[m,w]=N.useState(null),[S,v]=N.useState(!1),[a,h]=N.useState(""),[c,d]=N.useState(""),[y,C]=N.useState(""),[b,E]=N.useState(null),[x,k]=N.useState(!1),[L,I]=N.useState(!1),[A,P]=N.useState(""),[j,W]=N.useState(null),z=N.useRef(null),V=N.useRef(!1),$=N.useRef(f),R=N.useRef(null),O=N.useRef(null),D=N.useRef(null),H=async(te,{sync:Le=!1,notify:ne=!1,fallbackHome:Z=!1}={})=>{h("");try{const le=await n_(te??void 0);if(V.current=le.path,w(le),Le){const we=pc(le.path,ha(le.path,le.roots,le.home));u(we?`${we}/`:"")}ne&&(t==null||t(le.path),I(!1),P(""))}catch{if(Z&&te!=null){H(null,{sync:!0});return}h(T("filebrowser.openDirFailed"))}};N.useEffect(()=>{const te=f!==$.current;$.current=f,!(e===V.current&&!te)&&H(e,{sync:!0,fallbackHome:p})},[e,f]),N.useEffect(()=>()=>{clearTimeout(R.current),clearTimeout(O.current)},[]),N.useEffect(()=>{if(!S)return;const te=Le=>{var ne;(ne=D.current)!=null&&ne.contains(Le.target)||v(!1)};return document.addEventListener("pointerdown",te,!0),()=>document.removeEventListener("pointerdown",te,!0)},[S]);const X=te=>{d(te),clearTimeout(O.current),O.current=setTimeout(()=>d(""),2500)},Q=te=>{const Le=m==null?void 0:m.home;if(!Le){u(te);return}const ne=(m==null?void 0:m.roots)||[Le];let Z=te;(Z==="~"||Z.startsWith("~/"))&&(Z=Le+Z.slice(1));let le=ha(m==null?void 0:m.path,ne,Le);Z.startsWith("/")&&(le=ha(Z,ne,Le),Z=Z===le?"":Z.startsWith(`${le}/`)?Z.slice(le.length+1):Z.replace(/^\/+/,"")),u(Z);const we=bb(`${le}/${Gf(Z).dir}`);we!==V.current&&(clearTimeout(R.current),R.current=setTimeout(()=>{we!==V.current&&H(we,{notify:!0})},250))},ue=async te=>{const Le=an(m.path,te);try{await navigator.clipboard.writeText(Le),X(T("filebrowser.copiedPath",{abs:Le}))}catch{X(Le)}},ie=te=>i(an(m.path,te)),U=te=>H(an(m.path,te),{sync:!0,notify:!0}),M=()=>(m==null?void 0:m.parent)&&H(m.parent,{sync:!0,notify:!0}),Y=async()=>{const te=A.trim();if(!(!te||!m)){h("");try{await $y(m.path,te),await H(m.path,{}),I(!1),P("")}catch{h(T("filebrowser.mkdirFailed"))}}},G=async te=>{h(""),W({label:T("filebrowser.downloading",{name:te}),pct:0});try{await Zy(an(m.path,te),Le=>W({label:T("filebrowser.downloading",{name:te}),pct:Le})),C(te)}catch{h(T("filebrowser.downloadFailed"))}finally{W(null)}},re=()=>{const te=b;E(null),te&&G(te)},se=m==null?void 0:m.home,pe=(m==null?void 0:m.roots)||(se?[se]:[]),fe=ha(m==null?void 0:m.path,pe,se),Ce=te=>te===se?"~":/\/tmp$/.test(te)?"tmp":te.includes("/var/folders/")?"TMPDIR":te.split("/").filter(Boolean).pop()||"/",Ue=te=>{v(!1),te!==fe&&H(te,{sync:!0,notify:!0})},ge=(te,Le)=>!te||!Le||te===Le?!1:(te.startsWith(`${Le}/`)?te.slice(Le.length+1):te).split("/").some(Z=>Z.startsWith(".")),Ke=!!m&&m.path!==se&&!ge(m.path,fe),Ye=async te=>{const{allowed:Le,rejected:ne}=B_(te);if(!Le.length)return ne.length&&h(T("filebrowser.uploadRejected",{names:ne.join("、")})),ne;k(!0),h("");const Z=Le.length,le=[],we=new AbortController;T_(we,T("filebrowser.uploading",{name:Le[0].name,tag:Z>1?`(1/${Z})`:""}));try{for(let ce=0;ce<Z&&!we.signal.aborted;ce++){const Je=Le[ce],Qe=Z>1?`(${ce+1}/${Z})`:"";al({label:T("filebrowser.uploading",{name:Je.name,tag:Qe}),phase:"sending",pct:0});try{await o_(m.path,Je,(it,$t)=>al({pct:it,phase:$t}),!1,{signal:we.signal})}catch(it){if(it instanceof ol)break;le.push({name:Je.name,reason:(it==null?void 0:it.message)||T("filebrowser.uploadFailed")})}}}finally{xu()}return await H(m.path,{}),k(!1),le.length?h(le.map(ce=>`${ce.name}:${ce.reason}`).join(";")):ne.length&&h(T("filebrowser.uploadRejected",{names:ne.join("、")})),[...le.map(ce=>ce.name),...ne]},ke=async()=>{r&&(await Ye(r)).length===0&&(l==null||l())},De=te=>{if(p||te.key!=="Enter")return;const Le=_.trim();Le&&Sb.test(Le)&&(m!=null&&m.home)&&i(an(m.home,Le))},Ee=Gf(_).frag.toLowerCase(),oe=((m==null?void 0:m.entries)||[]).filter(te=>(!p||te.type==="dir")&&(!Ee||te.name.toLowerCase().includes(Ee))),ye=oe.length>Kf?oe.slice(0,Kf):oe,Be=oe.length-ye.length;return g.jsxs("div",{className:"browse-view",children:[g.jsxs("div",{className:"browse-bar",children:[s&&g.jsx("button",{className:"browse-cwd","aria-label":T("filebrowser.sessionDir"),title:T("filebrowser.jumpToSessionDir"),onClick:s,children:g.jsx(a1,{})}),g.jsx("button",{className:"browse-up","aria-label":T("filebrowser.parentDir"),disabled:!(m!=null&&m.parent),onClick:M,children:g.jsx(a_,{})}),g.jsxs("div",{className:"browse-path",children:[pe.length>1?g.jsxs("div",{className:"dd browse-root-dd",ref:D,children:[g.jsxs("button",{type:"button",className:"browse-root","aria-haspopup":"listbox","aria-expanded":S,"aria-label":T("filebrowser.rootSelect"),onClick:()=>v(te=>!te),children:[g.jsxs("span",{children:[Ce(fe),"/"]}),g.jsx("span",{className:`dd-caret${S?" open":""}`,"aria-hidden":"true",children:"▾"})]}),S&&g.jsx("div",{className:"dd-menu",role:"listbox",children:pe.map(te=>g.jsxs("button",{type:"button",role:"option","aria-selected":te===fe,title:te,className:`dd-option${te===fe?" is-selected":""}`,onClick:()=>Ue(te),children:[g.jsxs("span",{className:"dd-option-label",children:[Ce(te),"/"]}),te===fe&&g.jsx("span",{className:"dd-check","aria-hidden":"true",children:"✓"})]},te))})]}):g.jsx("span",{className:"browse-home","aria-hidden":"true",children:"~/"}),g.jsx("input",{className:"browse-input",value:_,placeholder:T("filebrowser.pathPlaceholder"),autoCapitalize:"off",autoCorrect:"off",spellCheck:!1,onChange:te=>Q(te.target.value),onKeyDown:De})]}),n&&g.jsx("button",{className:"browse-mkdir","aria-label":T("filebrowser.newFolder"),title:T("filebrowser.newFolder"),disabled:!m,onClick:()=>{I(te=>!te),P("")},children:g.jsx(n1,{})}),!p&&g.jsx("button",{className:"browse-upload","aria-label":T("filebrowser.uploadFile"),title:T(Ke?"filebrowser.uploadToCurrentDir":"filebrowser.enterSubdirToUpload"),disabled:!Ke||x,onClick:()=>{var te;return(te=z.current)==null?void 0:te.click()},children:g.jsx(h_,{})}),!p&&g.jsx("input",{ref:z,className:"browse-file-input",type:"file",multiple:!0,accept:O_,onChange:te=>{Ye(Array.from(te.target.files||[])),te.target.value=""}})]}),L&&g.jsxs("div",{className:"browse-newfolder",children:[g.jsx("input",{className:"browse-newfolder-input",autoFocus:!0,value:A,placeholder:T("filebrowser.folderNamePlaceholder"),autoCapitalize:"off",autoCorrect:"off",spellCheck:!1,onChange:te=>P(te.target.value),onKeyDown:te=>{te.key==="Enter"&&Y()}}),g.jsx("button",{className:"browse-newfolder-ok",onClick:Y,children:T("filebrowser.createBtn")}),g.jsx("button",{className:"browse-newfolder-x","aria-label":T("common.cancel"),onClick:()=>{I(!1),P("")},children:"✕"})]}),!p&&r&&g.jsxs("div",{className:"browse-pending",children:[g.jsxs("span",{className:"browse-pending-text",children:[T("filebrowser.uploadPendingTo",{name:r.name}),!Ke&&g.jsx("em",{className:"browse-pending-hint",children:T("filebrowser.enterSubdirFirst")})]}),g.jsx("button",{className:"browse-pending-btn",disabled:!Ke||x,onClick:ke,children:T("filebrowser.upload")})]}),a&&g.jsx("div",{className:"bind-error browse-err",children:a}),c&&g.jsx("div",{className:"browse-notice",children:c}),!p&&y&&g.jsxs("div",{className:"browse-saved",children:[g.jsx("span",{className:"browse-saved-text",children:T("filebrowser.savedToDownloads",{name:y})}),g.jsx("button",{className:"browse-saved-close","aria-label":T("common.close"),onClick:()=>C(""),children:"×"})]}),!p&&j&&g.jsxs("div",{className:"browse-progress",children:[g.jsxs("span",{className:"browse-progress-label",children:[j.label," ",Math.round(j.pct*100),"%"]}),g.jsx("span",{className:"browse-progress-track",children:g.jsx("span",{className:"browse-progress-fill",style:{width:`${Math.round(j.pct*100)}%`}})})]}),g.jsxs("div",{className:"browse-list",children:[ye.length===0&&!a&&g.jsx("div",{className:"browse-empty",children:T("filebrowser.noMatches")}),ye.map(te=>g.jsxs("div",{className:"browse-entry-row",children:[g.jsxs("button",{className:"browse-entry",onClick:()=>te.type==="dir"?U(te.name):te.type==="doc"||te.type==="image"?ie(te.name):X(T("filebrowser.previewUnsupported")),children:[g.jsx("span",{className:"browse-entry-icon",children:te.type==="dir"?g.jsx(yo,{}):te.type==="image"?g.jsx(o1,{}):g.jsx(r1,{})}),g.jsx("span",{className:"browse-entry-name",children:te.name}),te.type!=="dir"&&g.jsx("span",{className:"browse-entry-size",children:xb(te.size)})]}),te.type!=="dir"&&g.jsx("button",{className:"browse-copy","aria-label":T("filebrowser.copyAbsPath"),title:T("filebrowser.copyAbsPath"),onClick:()=>ue(te.name),children:g.jsx(d_,{})}),te.type!=="dir"&&g.jsx("button",{className:"browse-dl","aria-label":T("filebrowser.download"),onClick:()=>E(te.name),children:g.jsx(u1,{})})]},te.name)),Be>0&&g.jsx("div",{className:"browse-overflow",children:T("filebrowser.tooMany",{shown:ye.length,total:oe.length})})]}),p&&m&&g.jsx("div",{className:"browse-pick-bar",children:g.jsx("button",{className:"browse-pick-confirm",onClick:()=>o==null?void 0:o(m.path),children:T("filebrowser.pickThisDir",{path:pc(m.path,m.home)?`~/${pc(m.path,m.home)}`:"~"})})}),g.jsx(zh,{open:!!b,title:b?T("filebrowser.downloadConfirm",{name:b}):"",actions:[{key:"dl",label:T("filebrowser.download"),onClick:re}],onClose:()=>E(null)})]})}const Cb=()=>{};function Ao({open:e,seedCwd:t=null,hint:i=null,pane:s=null,allowMkdir:r=!1,onPick:l,onClose:p,inset:n=0}){const[o,f]=N.useState(t),_=N.useRef(!1);e&&!_.current?(_.current=!0,o!==t&&f(t)):!e&&_.current&&(_.current=!1);const u=s?async()=>{try{const{cwd:m}=await yn(s);m&&f(m)}catch{}}:null;return e?g.jsxs(g.Fragment,{children:[g.jsx("div",{className:"settings-backdrop dirpick-backdrop",onClick:p}),g.jsxs("div",{className:"settings-card dirpick-card",style:{transform:`translate(-50%, calc(-50% + ${n/2}px))`,"--kb-inset":`${n}px`},role:"dialog","aria-label":T("dirpicker.title"),"aria-modal":"true",children:[g.jsxs("div",{className:"settings-head",children:[g.jsx("span",{className:"settings-title",children:T("dirpicker.title")}),g.jsx("button",{className:"settings-close",onClick:p,"aria-label":T("common.close"),children:"✕"})]}),i&&g.jsx("div",{className:"dirpick-hint",children:i}),g.jsx($_,{path:o,onNavigate:f,onOpenDoc:Cb,onJumpToCwd:u,pickMode:!0,allowMkdir:r,onPick:l})]})]}):null}function kb({open:e,pushKey:t,notifyOn:i,onClose:s}){const[r,l]=N.useState("");if(!e)return null;const p='handmux push "构建完成" "耗时 3m12s"',n=!!(i&&t),o=p,f=`${p} --session ${T("scriptPush.session_placeholder")}`,_=`${p} --device ${n?t:T("scriptPush.device_placeholder")}`,u=async(S,v)=>{try{await navigator.clipboard.writeText(S),l(v),setTimeout(()=>l(""),1500)}catch{}},m=S=>T(r===S?"scriptPush.copied":"common.copy"),w=(S,v,a,h)=>g.jsxs("div",{className:"push-script-block",children:[g.jsx("div",{className:"push-script-label",children:v}),g.jsx("pre",{className:"push-script-cmd",children:g.jsx("code",{children:a})}),h&&g.jsx("div",{className:"push-script-hint",children:h}),g.jsx("button",{className:"fontbtn",onClick:()=>u(a,S),children:m(S)})]});return g.jsxs(g.Fragment,{children:[g.jsx("div",{className:"settings-backdrop push-script-backdrop",onClick:s}),g.jsxs("div",{className:"settings-card push-script-sheet",role:"dialog","aria-label":T("scriptPush.title"),"aria-modal":"true",children:[g.jsxs("div",{className:"settings-head",children:[g.jsx("span",{className:"settings-title",children:T("scriptPush.title")}),g.jsx("button",{className:"settings-close",onClick:s,"aria-label":T("common.close"),children:"✕"})]}),g.jsx("p",{className:"push-script-intro",children:T("scriptPush.intro")}),w("all",T("scriptPush.scope_all"),o),w("session",T("scriptPush.scope_session"),f),w("device",T("scriptPush.scope_device"),_,T(n?"scriptPush.device_key_note":"scriptPush.device_need_enable")),g.jsxs("div",{className:"push-script-block",children:[g.jsx("div",{className:"push-script-label",children:T("scriptPush.opts_label")}),g.jsxs("ul",{className:"push-script-fields",children:[g.jsx("li",{children:T("scriptPush.opt_tag")}),g.jsx("li",{children:T("scriptPush.opt_url")})]})]}),g.jsx("div",{className:"push-script-note",children:T("scriptPush.reliability")})]})]})}function Eb({open:e,onClose:t,termRef:i,onColAdjust:s,onColRestore:r,onOpenChangelog:l,changelogUnread:p,updateInfo:n=null,activePreview:o=null,pane:f=null,lastPreviewDir:_=null,dynamicEnabled:u=!1,getColCount:m=null,onStartPreview:w,onStartDynamicPreview:S,onOpenPreview:v,onRenew:a,onStop:h}){var Le,ne;const[c,d]=N.useState(null),[y,C]=N.useState(Jg()),[b,E]=N.useState(null),[x,k]=N.useState(!1),[L,I]=N.useState(yu()),[A,P]=N.useState(!1),[j,W]=N.useState(""),[z,V]=N.useState(!1),[$,R]=N.useState(null),[O,D]=N.useState(!1),[H,X]=N.useState(null),[Q,ue]=N.useState("off"),[ie,U]=N.useState(""),[M,Y]=N.useState(!1),[G,re]=N.useState(""),[se,pe]=N.useState(!1),fe=m_(o==null?void 0:o.expiresAt,!!o&&e);N.useEffect(()=>{Y(!1),re("")},[o==null?void 0:o.name,e]);const Ce=Z=>({"port not listening":T("settings.err_port_not_listening"),"bad port":T("settings.err_bad_port"),"dynamic disabled":T("settings.err_dynamic_disabled")})[Z]||Z||T("settings.err_start_failed"),Ue=async()=>{const Z=Number(ie);if(Z){re(""),pe(!0);try{await(S==null?void 0:S(Z)),t==null||t()}catch(le){re(Ce(le==null?void 0:le.message))}finally{pe(!1)}}},ge=async()=>{R(yu()?await T1():null),V(!0)},Ke=async()=>{let Z=_;if(!Z&&f)try{Z=(await yn(f)).cwd||null}catch{}X(Z),D(!0)};N.useEffect(()=>{var Z,le;e&&(d(((le=(Z=i.current)==null?void 0:Z.getFontSize)==null?void 0:le.call(Z))??null),E((m==null?void 0:m())??null))},[e,i,m]);const Ye=async()=>{P(!0),W("");try{L?(await R1(),I(!1),W(T("settings.notify_disabled"))):(await L1(),I(!0),W(T("settings.notify_enabled")))}catch(Z){W(Z.message||T("settings.notify_failed"))}finally{P(!1)}};if(!e)return null;const ke=Z=>{var ce,Je,Qe,it;const le=(Je=(ce=i.current)==null?void 0:ce.getFontSize)==null?void 0:Je.call(ce),we=(it=(Qe=i.current)==null?void 0:Qe.setFontSize)==null?void 0:it.call(Qe,((le==null?void 0:le.size)??14)+Z);we!=null&&d({size:we,auto:!1})},De=()=>{var Z,le;(le=(Z=i.current)==null?void 0:Z.autoFont)==null||le.call(Z),d({size:null,auto:!0})},Ee=Z=>{var le,we;C(Z),ay(Z),(we=(le=i.current)==null?void 0:le.setDocHighlight)==null||we.call(le,Z)},oe=c!=null&&c.auto?T("settings.font_auto"):c!=null&&c.size?`${c.size}px`:"—",ye=b!=null?`${b} 列`:"—",Be=Z=>{s==null||s(Z),E((m==null?void 0:m())??null)},te=()=>{r==null||r(),E(null)};return g.jsxs(g.Fragment,{children:[g.jsx("div",{className:"settings-backdrop",onClick:t}),g.jsxs("div",{className:"settings-card",role:"dialog","aria-label":T("settings.title"),"aria-modal":"true",children:[g.jsxs("div",{className:"settings-head",children:[g.jsx("span",{className:"settings-title",children:T("settings.title")}),g.jsx("button",{className:"settings-close",onClick:t,"aria-label":T("common.close"),children:"✕"})]}),g.jsxs("div",{className:"settings-body",children:[g.jsx("div",{className:"settings-group",children:T("settings.group_global")}),g.jsxs("div",{className:"settings-section",children:[g.jsx("div",{className:"settings-label",children:T("settings.language")}),g.jsxs("div",{className:"lang-drop",children:[x&&g.jsx("div",{className:"lang-drop-backdrop",onClick:()=>k(!1)}),g.jsxs("button",{className:"lang-trigger",onClick:()=>k(Z=>!Z),children:[g.jsx("span",{children:(Le=lf.find(Z=>Z.code===Gn()))==null?void 0:Le.label}),g.jsx("span",{className:"lang-chevron",children:x?"▴":"▾"})]}),x&&g.jsx("div",{className:"lang-menu",children:lf.map(Z=>g.jsx("button",{className:`lang-option${Z.code===Gn()?" active":""}`,onClick:()=>zw(Z.code),children:Z.label},Z.code))})]})]}),g.jsxs("div",{className:"settings-section",children:[g.jsx("div",{className:"settings-label",children:T("settings.font_size")}),g.jsxs("div",{className:"settings-btns",children:[g.jsx("button",{className:"fontbtn",onClick:()=>ke(-1),"aria-label":T("settings.font_decrease"),children:"A−"}),g.jsx("span",{className:"settings-value",children:oe}),g.jsx("button",{className:"fontbtn",onClick:()=>ke(1),"aria-label":T("settings.font_increase"),children:"A+"}),g.jsx("button",{className:"fontbtn",onClick:De,title:T("settings.font_auto_title"),children:T("settings.font_auto")})]})]}),g.jsxs("div",{className:"settings-section",children:[g.jsxs("label",{className:"settings-toggle",children:[g.jsx("span",{className:"settings-label",children:T("settings.path_highlight")}),g.jsxs("span",{className:"cmd-switch",children:[g.jsx("input",{type:"checkbox",checked:y,onChange:Z=>Ee(Z.target.checked)}),g.jsx("span",{className:"cmd-switch-track","aria-hidden":"true"}),g.jsx("span",{className:"cmd-switch-knob","aria-hidden":"true"})]})]}),g.jsx("div",{className:"settings-hint",children:T("settings.path_highlight_hint")})]}),g.jsxs("div",{className:"settings-section",children:[g.jsx("div",{className:"settings-label",children:T("settings.version")}),g.jsxs("div",{className:"settings-btns",children:[g.jsx("span",{className:"settings-value",children:n!=null&&n.current?`v${n.current}`:"—"}),g.jsxs("button",{className:"fontbtn",onClick:l,children:[T("settings.view_changelog"),p&&g.jsx("span",{className:"settings-dot","aria-label":T("settings.has_update")})]})]}),(n==null?void 0:n.updateAvailable)&&g.jsxs("div",{className:"settings-update",children:[g.jsx("div",{className:"settings-update-title",children:T("settings.update_available",{v:n.latest})}),((ne=n.whatsNew)==null?void 0:ne.length)>0&&g.jsx("ul",{className:"settings-update-new",children:n.whatsNew.map(Z=>g.jsxs("li",{children:[g.jsxs("span",{className:"settings-update-new-ver",children:["v",Z.version]}),(Gn().startsWith("zh")?Z.zh:Z.en)||Z.en]},Z.version))}),g.jsxs("div",{className:"settings-update-how",children:[T("settings.update_how")," ",g.jsx("code",{children:"handmux update"})]})]})]}),g.jsxs("div",{className:"settings-section",children:[g.jsx("div",{className:"settings-label",children:T("settings.feedback")}),g.jsxs("div",{className:"settings-btns",children:[g.jsx("a",{className:"fontbtn settings-linkbtn",href:"https://github.com/handmux/handmux/issues",target:"_blank",rel:"noreferrer",children:T("settings.feedback_issues")}),Gn().startsWith("zh")&&g.jsx("a",{className:"fontbtn settings-linkbtn",href:"https://handmux.com/#community",target:"_blank",rel:"noreferrer",children:T("settings.feedback_group")})]}),g.jsx("div",{className:"settings-hint",children:T("settings.feedback_hint")})]}),g.jsxs("div",{className:"settings-section",children:[g.jsx("div",{className:"settings-label",children:T("settings.push_notifications")}),dr()?g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:"settings-btns",children:[g.jsx("button",{className:"fontbtn",onClick:Ye,disabled:A,"aria-pressed":L,children:T(L?"settings.notify_on":"settings.notify_enable")}),A&&g.jsx("span",{className:"spinner",role:"status","aria-label":T("settings.processing")}),!A&&j&&g.jsx("span",{className:"settings-note",children:j})]}),g.jsx("div",{className:"settings-hint",children:T("settings.push_hint")})]}):g.jsx("div",{className:"settings-value",style:{display:"block"},children:T("settings.push_unsupported")})]}),g.jsxs("div",{className:"settings-section",children:[g.jsx("div",{className:"settings-label",children:T("settings.script_push")}),g.jsx("div",{className:"settings-btns",children:g.jsx("button",{className:"fontbtn",onClick:ge,disabled:!dr(),children:T("settings.script_push_open")})}),g.jsx("div",{className:"settings-hint",children:T("settings.script_push_hint")})]}),g.jsx("div",{className:"settings-group",children:T("settings.group_session")}),g.jsxs("div",{className:"settings-section",children:[g.jsx("div",{className:"settings-label",children:T("settings.screen_cols")}),g.jsxs("div",{className:"settings-btns cols-btns",children:[g.jsx("button",{className:"fontbtn col-step",onClick:()=>Be(-10),children:"−10"}),g.jsx("button",{className:"fontbtn col-step col-fine",onClick:()=>Be(-1),children:"−1"}),g.jsx("span",{className:"settings-value",children:ye}),g.jsx("button",{className:"fontbtn col-step col-fine",onClick:()=>Be(1),children:"+1"}),g.jsx("button",{className:"fontbtn col-step",onClick:()=>Be(10),children:"+10"}),g.jsxs("button",{className:"fontbtn",onClick:te,children:["↺ ",T("settings.cols_restore")]})]})]}),g.jsxs("div",{className:"settings-section",children:[g.jsx("div",{className:"settings-label",children:T(u?"settings.preview_site":"settings.preview_static_site")}),o?g.jsxs("div",{className:"preview-active",children:[g.jsxs("div",{className:"preview-active-head",children:[g.jsxs("span",{className:"preview-running",children:[g.jsx("span",{className:"live-dot"}),o.kind==="dynamic"?T("settings.preview_running_dynamic"):T("settings.preview_running_static")]}),g.jsx("span",{className:"preview-remain-s",title:T("settings.preview_remain_title"),children:T("settings.preview_remain",{time:p_(fe)})})]}),g.jsxs("div",{className:"settings-btns",children:[g.jsx("button",{className:"fontbtn",onClick:()=>{v==null||v(),t==null||t()},children:T("common.open")}),g.jsx("button",{className:"fontbtn",onClick:()=>a==null?void 0:a(),children:T("settings.preview_renew")}),M?g.jsxs(g.Fragment,{children:[g.jsx("button",{className:"fontbtn preview-confirm-danger",onClick:()=>{Y(!1),h==null||h()},children:T("settings.preview_confirm_stop")}),g.jsx("button",{className:"fontbtn",onClick:()=>Y(!1),children:T("common.cancel")})]}):g.jsx("button",{className:"fontbtn",onClick:()=>Y(!0),children:T("settings.preview_stop")})]}),g.jsxs("div",{className:"settings-hint",children:[T("settings.preview_name",{name:o.name}),o.kind==="dynamic"?T("settings.preview_port",{port:o.port}):o.dir?`(${o.dir})`:""]})]}):g.jsxs("div",{className:"preview-start",children:[g.jsxs("div",{className:"preview-seg",role:"tablist","aria-label":T("settings.preview_type"),children:[g.jsx("button",{role:"tab",className:Q==="off"?"on":"","aria-selected":Q==="off",onClick:()=>ue("off"),children:T("settings.preview_off")}),g.jsx("button",{role:"tab",className:Q==="static"?"on":"","aria-selected":Q==="static",onClick:()=>ue("static"),children:T("settings.preview_static")}),u&&g.jsx("button",{role:"tab",className:Q==="dynamic"?"on":"","aria-selected":Q==="dynamic",onClick:()=>{re(""),ue("dynamic")},children:T("settings.preview_dynamic")})]}),Q==="off"&&g.jsxs(g.Fragment,{children:[g.jsx("div",{className:"settings-hint",children:T(u?"settings.preview_off_hint_both":"settings.preview_off_hint")}),!u&&g.jsx("div",{className:"settings-hint preview-dynamic-disabled",children:T("settings.preview_dynamic_disabled")})]}),Q==="static"&&g.jsxs(g.Fragment,{children:[g.jsx("div",{className:"settings-btns",children:g.jsx("button",{className:"fontbtn",onClick:Ke,children:T("settings.preview_pick_dir")})}),g.jsx("div",{className:"settings-hint",children:T("settings.preview_static_hint")})]}),Q==="dynamic"&&g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:"settings-btns",children:[g.jsx("input",{className:"preview-port",type:"number",inputMode:"numeric",min:"1",max:"65535",placeholder:T("settings.preview_port_placeholder"),value:ie,onChange:Z=>{U(Z.target.value),re("")},"aria-label":T("settings.preview_port_label")}),g.jsx("button",{className:"fontbtn",disabled:!ie||se,onClick:Ue,children:T(se?"settings.preview_starting":"settings.preview_start")})]}),G?g.jsx("div",{className:"settings-hint settings-err",children:G}):g.jsx("div",{className:"settings-hint",children:T("settings.preview_dynamic_hint")})]})]})]})]})]}),g.jsx(Ao,{open:O,seedCwd:H,pane:f,hint:T("settings.dir_picker_hint"),onPick:Z=>{D(!1),w==null||w(Z),t==null||t()},onClose:()=>D(!1)}),g.jsx(kb,{open:z,pushKey:$,notifyOn:L,onClose:()=>V(!1)})]})}function qf(e){return e===300?T("usage.win5h"):e===10080?T("usage.winWeekly"):e===43200?T("usage.winMonthly"):e>0?T("usage.winGeneric",{h:Math.round(e/60)}):""}function cl(e,t){if(!e)return"";const i=e-Math.floor(t/1e3);if(i<=0)return T("usage.resetSoon");const s=Math.floor(i/86400),r=Math.floor(i%86400/3600),l=Math.floor(i%3600/60),p=s>0?`${s}d ${r}h`:r>0?`${r}h ${l}m`:`${l}m`;return T("usage.resetIn",{t:p})}function z_({at:e,now:t}){if(!e)return null;const i=Math.max(0,Math.floor((t-e)/1e3)),s=i<60?T("usage.updatedNow"):i<3600?T("usage.updatedMin",{n:Math.floor(i/60)}):i<86400?T("usage.updatedHr",{n:Math.floor(i/3600)}):T("usage.updatedDay",{n:Math.floor(i/86400)});return g.jsx("div",{className:"usage-updated",children:s})}function Yn(e,t,i){if(!e||!t)return null;const s=e-Math.floor(i/1e3);return Math.max(0,Math.min(100,(1-s/(t*60))*100))}function Lb({pct:e,timePct:t}){const i=Math.max(0,Math.min(100,e??0)),s=i>=80?"hi":i>=50?"mid":"lo";return g.jsxs("div",{className:"usage-bar",children:[g.jsx("div",{className:`usage-bar-fill lvl-${s}`,style:{width:`${i}%`}}),t!=null&&g.jsx("div",{className:"usage-bar-time",style:{left:`${t}%`},title:T("usage.timeMark")})]})}function Xn({label:e,pct:t,reset:i,sub:s,timePct:r}){return g.jsxs("div",{className:"usage-row",children:[g.jsxs("div",{className:"usage-row-head",children:[g.jsxs("span",{className:"usage-row-label",children:[e,s&&g.jsxs("span",{className:"usage-row-sub",children:[" · ",s]})]}),g.jsxs("span",{className:"usage-row-pct",children:[Math.round(t),"%"]})]}),g.jsx(Lb,{pct:t,timePct:r}),i&&g.jsx("div",{className:"usage-row-reset",children:i})]})}function Rb({claude:e,now:t}){var i,s;return g.jsxs("section",{className:"usage-agent",children:[g.jsxs("div",{className:"usage-agent-head",children:[g.jsx(hr,{agent:"claude"}),g.jsx("span",{children:"Claude Code"}),g.jsx(z_,{at:e==null?void 0:e.updatedAt,now:t})]}),e?!((i=e.rateLimits)!=null&&i.fiveHour)&&!((s=e.rateLimits)!=null&&s.sevenDay)?g.jsx("div",{className:"usage-empty",children:T("usage.claudePending")}):g.jsxs(g.Fragment,{children:[e.rateLimits.fiveHour&&g.jsx(Xn,{label:T("usage.win5h"),pct:e.rateLimits.fiveHour.usedPercent,reset:cl(e.rateLimits.fiveHour.resetsAt,t),timePct:Yn(e.rateLimits.fiveHour.resetsAt,300,t)}),e.rateLimits.sevenDay&&g.jsx(Xn,{label:T("usage.winWeekly"),pct:e.rateLimits.sevenDay.usedPercent,reset:cl(e.rateLimits.sevenDay.resetsAt,t),timePct:Yn(e.rateLimits.sevenDay.resetsAt,10080,t)}),e.rateLimits.sevenDayOpus&&g.jsx(Xn,{label:T("usage.winWeekly"),sub:"Opus",pct:e.rateLimits.sevenDayOpus.usedPercent,timePct:Yn(e.rateLimits.sevenDayOpus.resetsAt,10080,t)}),e.rateLimits.sevenDaySonnet&&g.jsx(Xn,{label:T("usage.winWeekly"),sub:"Sonnet",pct:e.rateLimits.sevenDaySonnet.usedPercent,timePct:Yn(e.rateLimits.sevenDaySonnet.resetsAt,10080,t)})]}):g.jsxs("div",{className:"usage-empty",children:[g.jsx("div",{children:T("usage.claudeOff")}),g.jsx("code",{className:"usage-code",children:"handmux hooks install"})]})]})}function Tb({codex:e,now:t}){const i=e==null?void 0:e.rateLimits;return g.jsxs("section",{className:"usage-agent",children:[g.jsxs("div",{className:"usage-agent-head",children:[g.jsx(hr,{agent:"codex"}),g.jsx("span",{children:"Codex CLI"}),g.jsx(z_,{at:e==null?void 0:e.updatedAt,now:t})]}),e?g.jsxs(g.Fragment,{children:[(i==null?void 0:i.primary)&&g.jsx(Xn,{label:qf(i.primary.windowMinutes)||T("usage.winPrimary"),pct:i.primary.usedPercent,reset:cl(i.primary.resetsAt,t),timePct:Yn(i.primary.resetsAt,i.primary.windowMinutes,t)}),(i==null?void 0:i.secondary)&&g.jsx(Xn,{label:qf(i.secondary.windowMinutes)||T("usage.winSecondary"),pct:i.secondary.usedPercent,reset:cl(i.secondary.resetsAt,t),timePct:Yn(i.secondary.resetsAt,i.secondary.windowMinutes,t)}),!(i!=null&&i.primary)&&!(i!=null&&i.secondary)&&g.jsx("div",{className:"usage-empty",children:T("usage.codexNoQuota")})]}):g.jsx("div",{className:"usage-empty",children:T("usage.codexOff")})]})}function Db({open:e,onClose:t,onAuthFail:i}){const[s,r]=N.useState(null),[l,p]=N.useState(""),[n,o]=N.useState(!1),f=Date.now();return N.useEffect(()=>{if(!e)return;let _=!1;return o(!0),p(""),Ry().then(u=>{_||(r(u),o(!1))}).catch(u=>{_||(u instanceof lt?i==null||i():p(T("usage.loadFailed")),o(!1))}),()=>{_=!0}},[e]),e?g.jsxs(g.Fragment,{children:[g.jsx("div",{className:"settings-backdrop",onClick:t}),g.jsxs("div",{className:"settings-card usage-card",role:"dialog","aria-label":T("usage.title"),"aria-modal":"true",children:[g.jsxs("div",{className:"settings-head",children:[g.jsx("span",{className:"settings-title",children:T("usage.title")}),g.jsx("span",{className:"usage-head-note",children:T("usage.activityNote")}),g.jsx("button",{className:"settings-close",onClick:t,"aria-label":T("common.close"),children:"✕"})]}),g.jsx("div",{className:"settings-section",children:n&&!s?g.jsx("div",{className:"usage-empty",children:T("common.loading")}):l?g.jsx("div",{className:"bind-error",children:l}):s?g.jsxs(g.Fragment,{children:[s.codex&&g.jsx(Tb,{codex:s.codex,now:f}),g.jsx(Rb,{claude:s.claude,now:f})]}):null})]})]}):null}function Ab({rows:e,top:t,open:i,onToggle:s,onClose:r,onSelectRow:l,onMarkAllRead:p,hooksStatus:n,onEnableHooks:o}){const f=[];for(const d of e){const y=f[f.length-1];y&&y.session===d.session?y.items.push(d):f.push({session:d.session,items:[d]})}const _=Date.now(),u=e.some(d=>d.view==="done"),m=x1(e),[w,S]=N.useState(!1),[v,a]=N.useState(!1),h=f.length===0&&n==="absent",c=async()=>{S(!0),a(!1);try{const d=await(o==null?void 0:o());(!d||d.status!=="installed")&&a(!0)}catch{a(!0)}finally{S(!1)}};return g.jsxs(g.Fragment,{children:[g.jsxs("button",{className:"topbar-icon inbox-btn",onClick:s,"aria-label":T("inbox.title"),title:T("inbox.title"),children:[g.jsx(c1,{}),t&&g.jsx("span",{className:`inbox-dot ${t}`,"aria-hidden":"true"})]}),i&&g.jsxs(g.Fragment,{children:[g.jsx("div",{className:"inbox-backdrop",onClick:r}),g.jsxs("div",{className:"inbox-panel",role:"dialog","aria-label":T("inbox.title"),children:[g.jsxs("div",{className:"inbox-head",children:[g.jsx("span",{children:T("inbox.title")}),g.jsxs("div",{className:"inbox-summary",children:[g.jsxs("span",{className:"inbox-chip working",children:[T("inbox.working")," ",m.working]}),g.jsxs("span",{className:"inbox-chip done",children:[T("inbox.done")," ",m.done]}),g.jsxs("span",{className:"inbox-chip needs",children:[T("inbox.needs")," ",m.needs]})]}),u&&g.jsx("button",{className:"inbox-readall",onClick:p,children:T("inbox.clearDone")})]}),f.length===0?h?g.jsxs("div",{className:"inbox-empty inbox-enable",children:[g.jsx("div",{className:"inbox-enable-title",children:T("inbox.enableTitle")}),g.jsx("div",{className:"inbox-enable-hint",children:T("inbox.enableHint")}),g.jsx("button",{className:"inbox-enable-btn",onClick:c,disabled:w,children:T(w?"inbox.enabling":"inbox.enableBtn")}),v&&g.jsx("div",{className:"inbox-enable-err",children:T("inbox.enableFailed")})]}):g.jsx("div",{className:"inbox-empty",children:T("inbox.empty")}):f.map(d=>g.jsxs("div",{className:"inbox-group",children:[g.jsx("div",{className:"inbox-group-title",children:d.session}),d.items.map(y=>g.jsxs("button",{className:"inbox-row",onClick:()=>l(y),children:[g.jsxs("div",{className:"inbox-row-head",children:[g.jsx("span",{className:`inbox-chip ${y.view}`,children:S1[y.view]}),g.jsx(hr,{agent:y.agent}),g.jsx("span",{className:"inbox-loc",children:y.windowName||y.window}),g.jsx("span",{className:"inbox-time",children:g_(y.ts,_)})]}),y.msg&&g.jsx("div",{className:"inbox-msg",children:y.msg})]},y.pane))]},d.session))]})]})]})}function Mb({open:e,orphan:t,onConfirm:i,onClose:s,inset:r=0}){var d;const[l,p]=N.useState([]),[n,o]=N.useState("new"),[f,_]=N.useState(""),[u,m]=N.useState(!0),[w,S]=N.useState(!1),[v,a]=N.useState("");if(N.useEffect(()=>{e&&(o("new"),_((t==null?void 0:t.suggestedName)||""),m(ry()),S(!1),a(""),qn().then(y=>p(Array.isArray(y)?y:[])).catch(()=>p([])))},[e,t]),!e||!t)return null;const h=n==="new"?f.trim()||t.suggestedName||"":((d=l.find(y=>y.id===n))==null?void 0:d.name)||"",c=async()=>{if(w)return;S(!0),a(""),oy(u);const y=n==="new"?{mode:"new"}:{mode:"window",session:n};try{await i({target:y,kill:u,name:n==="new"?f.trim():void 0})}catch{S(!1),a(T("inbox.orphans.failed"))}};return g.jsxs(g.Fragment,{children:[g.jsx("div",{className:"settings-backdrop",onClick:s}),g.jsxs("div",{className:"settings-card",style:{transform:`translate(-50%, calc(-50% + ${r/2}px))`},role:"dialog","aria-label":T("inbox.orphans.takeover"),"aria-modal":"true",children:[g.jsxs("div",{className:"settings-head",children:[g.jsx("span",{className:"settings-title",children:T("inbox.orphans.takeover")}),g.jsx("button",{className:"settings-close",onClick:s,"aria-label":T("common.close"),children:"✕"})]}),g.jsxs("div",{className:"settings-section",children:[g.jsxs("div",{className:"opt",children:[g.jsx("div",{className:"settings-label",children:t.cwdLabel||t.cwd}),t.snippet&&g.jsx("div",{className:"inbox-msg",children:t.snippet})]}),g.jsxs("div",{className:"opt",children:[g.jsx("div",{className:"settings-label",children:T("inbox.orphans.targetLabel")}),g.jsxs("div",{className:"orphan-targets",children:[g.jsx("button",{className:"fontbtn","aria-pressed":n==="new",onClick:()=>o("new"),children:T("inbox.orphans.targetNew")}),l.map(y=>g.jsx("button",{className:"fontbtn","aria-pressed":n===y.id,onClick:()=>o(y.id),children:y.name},y.id))]})]}),n==="new"&&g.jsxs("div",{className:"opt",children:[g.jsx("div",{className:"settings-label",children:T("inbox.orphans.nameLabel")}),g.jsx("input",{className:"bind-input",value:f,placeholder:T("inbox.orphans.namePlaceholder"),onChange:y=>{_(y.target.value),a("")}})]}),g.jsxs("div",{className:"opt",children:[g.jsx("div",{className:"settings-label",children:T("inbox.orphans.killTitle")}),g.jsxs("div",{className:"orphan-targets orphan-kill",children:[g.jsxs("button",{className:"fontbtn","aria-pressed":u,onClick:()=>m(!0),children:[T("inbox.orphans.killEnd"),g.jsx("span",{className:"orphan-reco",children:T("inbox.orphans.recommended")})]}),g.jsx("button",{className:"fontbtn","aria-pressed":!u,onClick:()=>m(!1),children:T("inbox.orphans.killKeep")})]}),g.jsx("div",{className:"orphan-help",children:T("inbox.orphans.killWhy")}),g.jsxs("div",{className:"orphan-help",children:[T("inbox.orphans.reopenPre")," ",g.jsxs("code",{className:"orphan-cmd",children:["handmux open ",h||T("inbox.orphans.namePlaceholder")]})]})]}),v&&g.jsx("div",{className:"bind-error",children:v}),g.jsxs("div",{className:"settings-btns bind-actions",children:[g.jsx("button",{className:"fontbtn",onClick:s,children:T("common.cancel")}),g.jsx("button",{className:"fontbtn bind-confirm",onClick:c,disabled:w,children:T(w?"inbox.orphans.working":"inbox.orphans.takeover")})]})]})]})]})}const Yf="tw_a2hs_dismissed",Co=()=>typeof navigator<"u"&&navigator.userAgent||"",Da=()=>/iP(hone|ad|od)/.test(Co())||/Macintosh/.test(Co())&&typeof navigator<"u"&&navigator.maxTouchPoints>1,Nb=()=>/Android/.test(Co()),Pb=()=>Da()&&/Safari/.test(Co())&&!/(CriOS|FxiOS|EdgiOS|OPiOS|mercury|GSA)/.test(Co());function Ib(){const[e,t]=N.useState(!1),[i,s]=N.useState(null);if(N.useEffect(()=>{if(w_()||!Da()&&!Nb())return;try{if(localStorage.getItem(Yf)==="1")return}catch{}const f=_=>{_.preventDefault(),s(_)};return window.addEventListener("beforeinstallprompt",f),t(!0),()=>window.removeEventListener("beforeinstallprompt",f)},[]),!e)return null;const r=()=>{try{localStorage.setItem(Yf,"1")}catch{}t(!1)},l=async()=>{if(i){i.prompt();try{await i.userChoice}catch{}r()}};let p,n,o=null;return i?(p="install",n=T("a2hs.lead"),o=g.jsx("button",{className:"a2hs-banner-cta",onClick:l,children:T("a2hs.install")})):Da()&&!Pb()?(p="ios-other",n=T("a2hs.iosOpenSafari")):Da()?(p="ios",n=T("a2hs.iosHint")):(p="android",n=T("a2hs.androidManual")),g.jsxs("div",{className:"a2hs-banner",role:"status","aria-label":T("a2hs.title"),"data-mode":p,children:[g.jsx("span",{className:"a2hs-banner-icon","aria-hidden":"true",children:"⊕"}),g.jsxs("div",{className:"a2hs-banner-txt",children:[g.jsx("span",{className:"a2hs-banner-title",children:T("a2hs.title")}),g.jsx("span",{className:"a2hs-banner-sub",children:n})]}),o,g.jsx("button",{className:"a2hs-banner-x",onClick:r,"aria-label":T("common.close"),children:"✕"})]})}const Au="tw_claude_hooks";function Ob(){try{return localStorage.getItem(Au)||null}catch{return null}}function Bb(){const[e,t]=N.useState(Ob);N.useEffect(()=>{let s=!0;return Promise.resolve().then(r_).then(r=>{if(!s)return;const l=(r==null?void 0:r.claudeHooks)||"installed";t(l);try{localStorage.setItem(Au,l)}catch{}}).catch(()=>{}),()=>{s=!1}},[]);const i=N.useCallback(async()=>{const s=await Wy();if(s!=null&&s.status){t(s.status);try{localStorage.setItem(Au,s.status)}catch{}}return s},[]);return{status:e,enable:i}}function jb({value:e,options:t,onChange:i,ariaLabel:s}){const[r,l]=N.useState(!1),p=N.useRef(null),n=t.find(o=>o.value===e)||t[0];return N.useEffect(()=>{if(!r)return;const o=f=>{var _;(_=p.current)!=null&&_.contains(f.target)||l(!1)};return document.addEventListener("pointerdown",o,!0),()=>document.removeEventListener("pointerdown",o,!0)},[r]),g.jsxs("div",{className:"dd",ref:p,children:[g.jsxs("button",{type:"button",className:"field dd-trigger","aria-haspopup":"listbox","aria-expanded":r,"aria-label":s,onClick:()=>l(o=>!o),children:[g.jsx("span",{className:"dd-value",children:n==null?void 0:n.label}),g.jsx("span",{className:`dd-caret${r?" open":""}`,"aria-hidden":"true",children:"▾"})]}),r&&g.jsx("div",{className:"dd-menu",role:"listbox",children:t.map(o=>g.jsxs("button",{type:"button",role:"option","aria-selected":o.value===e,className:`dd-option${o.value===e?" is-selected":""}`,onClick:()=>{i==null||i(o.value),l(!1)},children:[g.jsx("span",{className:"dd-option-label",children:o.label}),o.value===e&&g.jsx("span",{className:"dd-check","aria-hidden":"true",children:"✓"})]},o.value||"__none__"))})]})}const U_=[{value:"",label:T("startup.preset_shell")},{value:"claude",label:T("startup.preset_claude")},{value:"claude --continue",label:T("startup.preset_claude_continue")},{value:"codex",label:T("startup.preset_codex")}],Aa="__custom__",Fb=[...U_,{value:Aa,label:T("startup.custom")}];function W_({value:e="",onChange:t}){const i=U_.some(f=>f.value===e),[s,r]=N.useState(i?e:Aa),[l,p]=N.useState(i?"":e),n=f=>{r(f),t==null||t(f===Aa?l:f)},o=f=>{const _=f.target.value;p(_),t==null||t(_)};return g.jsxs(g.Fragment,{children:[g.jsx("div",{className:"settings-label",children:T("startup.label")}),g.jsx(jb,{value:s,options:Fb,onChange:n,ariaLabel:T("startup.aria")}),s===Aa&&g.jsx("input",{className:"bind-input startup-custom",value:l,placeholder:T("startup.custom_placeholder"),onChange:o,autoCapitalize:"off",autoCorrect:"off",spellCheck:!1})]})}const Hb=/^[A-Za-z0-9-]{1,16}$/;function $b({open:e,onClose:t,onBound:i,bound:s,onAuthFail:r,inset:l=0}){const[p,n]=N.useState([]),[o,f]=N.useState(null),[_,u]=N.useState(""),[m,w]=N.useState(""),[S,v]=N.useState(!1),[a,h]=N.useState(null),[c,d]=N.useState(Gg()),[y,C]=N.useState(!1),b=N.useRef(null);if(N.useEffect(()=>{e&&(f(null),u(""),w(""),v(!1),h(null),C(!1),qn().then(L=>n(Array.isArray(L)?L:[])).catch(L=>{L instanceof lt?r==null||r():w(T("bind.checkFailed"))}))},[e]),N.useEffect(()=>{o==="new"&&setTimeout(()=>{var L;return(L=b.current)==null?void 0:L.focus()},0)},[o]),!e)return null;const E=p.filter(L=>!s.includes(L.name)),x=async()=>{if(S||!o)return;if(o!=="new"){i(o);return}const L=_.trim();if(L){if(s.includes(L)||p.some(I=>I.name===L)){w(T("bind.alreadyExists"));return}if(!Hb.test(L)){w(T("bind.invalidName"));return}v(!0),w(""),qg(c);try{await Iy(L,a||void 0,c||void 0),i(L)}catch(I){I instanceof lt?r==null||r():w(T("bind.createFailed")),v(!1)}}},k=T(o==="new"?S?"bind.creating":"bind.createAndOpen":S?"bind.checking":"bind.bind");return g.jsxs(g.Fragment,{children:[g.jsx("div",{className:"settings-backdrop",onClick:t}),g.jsxs("div",{className:"settings-card",style:{transform:`translate(-50%, calc(-50% + ${l/2}px))`},role:"dialog","aria-label":T("bind.title"),"aria-modal":"true",children:[g.jsxs("div",{className:"settings-head",children:[g.jsx("span",{className:"settings-title",children:T("bind.title")}),g.jsx("button",{className:"settings-close",onClick:t,"aria-label":T("common.close"),children:"✕"})]}),g.jsxs("div",{className:"settings-section",children:[g.jsxs("div",{className:"opt",children:[g.jsx("div",{className:"settings-label",children:T("bind.pickSession")}),g.jsxs("div",{className:"orphan-targets",children:[g.jsx("button",{className:"fontbtn","aria-pressed":o==="new",onClick:()=>{f("new"),w("")},children:T("bind.newSession")}),E.map(L=>g.jsx("button",{className:"fontbtn","aria-pressed":o===L.name,onClick:()=>{f(L.name),w("")},children:L.name},L.id||L.name))]})]}),o==="new"&&g.jsxs(g.Fragment,{children:[g.jsxs("div",{className:"opt",children:[g.jsx("div",{className:"settings-label",children:T("bind.sessionName")}),g.jsx("input",{ref:b,className:"bind-input",value:_,placeholder:T("bind.namePlaceholder"),onChange:L=>{u(L.target.value),w("")},onKeyDown:L=>{L.key==="Enter"&&x()}})]}),g.jsxs("div",{className:"opt",children:[g.jsx("div",{className:"settings-label",children:T("bind.startDir")}),g.jsxs("button",{type:"button",className:"field cwd-field",onClick:()=>C(!0),children:[g.jsx("span",{className:"cwd-path",children:a||T("bind.homeDirDefault")}),g.jsx("span",{className:"cwd-action",children:T("bind.choose")})]}),a&&g.jsx("button",{type:"button",className:"cwd-reset",onClick:()=>h(null),children:T("bind.reset")})]}),g.jsx("div",{className:"opt",children:g.jsx(W_,{value:c,onChange:d})})]}),m&&g.jsx("div",{className:"bind-error",children:m}),g.jsx("div",{className:"settings-hint",children:T("bind.desktopHint")}),g.jsxs("div",{className:"settings-btns bind-actions",children:[g.jsx("button",{className:"fontbtn",onClick:t,children:T("common.cancel")}),g.jsx("button",{className:"fontbtn bind-confirm",onClick:x,disabled:S||!o,children:k})]})]})]}),g.jsx(Ao,{open:y,seedCwd:a,allowMkdir:!0,onPick:L=>{h(L),C(!1)},onClose:()=>C(!1),inset:l})]})}const zb=/^[A-Za-z0-9-]{1,16}$/;function Ub({open:e,onClose:t,onCreate:i,paneId:s,inset:r=0}){const[l,p]=N.useState(""),[n,o]=N.useState(""),[f,_]=N.useState(!1),[u,m]=N.useState(null),[w,S]=N.useState(""),[v,a]=N.useState(Gg()),[h,c]=N.useState(!1),d=N.useRef(null);if(N.useEffect(()=>{e&&(p(""),o(""),_(!1),m(null),S(""),c(!1),setTimeout(()=>{var C;return(C=d.current)==null?void 0:C.focus()},0),s&&yn(s).then(({cwd:C})=>S(C||"")).catch(()=>{}))},[e,s]),!e)return null;const y=async()=>{if(f)return;const C=l.trim();if(C&&!zb.test(C)){o(T("newwindow.name_rule"));return}_(!0),o(""),qg(v);try{await i(C,u||void 0,v||void 0)}catch{_(!1)}};return g.jsxs(g.Fragment,{children:[g.jsx("div",{className:"settings-backdrop",onClick:t}),g.jsxs("div",{className:"settings-card",style:{transform:`translate(-50%, calc(-50% + ${r/2}px))`},role:"dialog","aria-label":T("newwindow.title"),"aria-modal":"true",children:[g.jsxs("div",{className:"settings-head",children:[g.jsx("span",{className:"settings-title",children:T("newwindow.title")}),g.jsx("button",{className:"settings-close",onClick:t,"aria-label":T("common.close"),children:"✕"})]}),g.jsxs("div",{className:"settings-section",children:[g.jsxs("div",{className:"opt",children:[g.jsx("div",{className:"settings-label",children:T("newwindow.window_name")}),g.jsx("input",{ref:d,className:"bind-input",value:l,placeholder:T("newwindow.name_placeholder"),onChange:C=>{p(C.target.value),o("")},onKeyDown:C=>{C.key==="Enter"&&y()}}),n&&g.jsx("div",{className:"bind-error",children:n})]}),g.jsxs("div",{className:"opt",children:[g.jsx("div",{className:"settings-label",children:T("newwindow.start_dir")}),g.jsxs("button",{type:"button",className:"field cwd-field",onClick:()=>c(!0),children:[g.jsx("span",{className:"cwd-path",children:u||(w?T("newwindow.session_dir_named",{dir:w}):T("newwindow.session_dir_default"))}),g.jsx("span",{className:"cwd-action",children:T("newwindow.choose")})]}),u&&g.jsx("button",{type:"button",className:"cwd-reset",onClick:()=>m(null),children:T("newwindow.reset_to_session_dir")})]}),g.jsx("div",{className:"opt",children:g.jsx(W_,{value:v,onChange:a})}),g.jsxs("div",{className:"settings-btns bind-actions",children:[g.jsx("button",{className:"fontbtn",onClick:t,children:T("common.cancel")}),g.jsx("button",{className:"fontbtn bind-confirm",onClick:y,disabled:f,children:T(f?"newwindow.creating":"common.create")})]})]})]}),g.jsx(Ao,{open:h,seedCwd:u||w||null,pane:s,allowMkdir:!0,onPick:C=>{m(C),c(!1)},onClose:()=>c(!1),inset:r})]})}const Wb=/^[A-Za-z0-9-]{1,16}$/;function Vb({open:e,title:t,currentName:i="",onClose:s,onSubmit:r,inset:l=0}){const[p,n]=N.useState(i),[o,f]=N.useState(""),[_,u]=N.useState(!1),m=N.useRef(null);if(N.useEffect(()=>{e&&(n(i),f(""),u(!1),setTimeout(()=>{var S;return(S=m.current)==null?void 0:S.focus()},0))},[e,i]),!e)return null;const w=async()=>{if(_)return;const S=p.trim();if(!Wb.test(S)){f(T("rename.name_rule"));return}u(!0),f("");try{await r(S)}catch(v){f((v==null?void 0:v.message)||T("rename.failed")),u(!1)}};return g.jsxs(g.Fragment,{children:[g.jsx("div",{className:"settings-backdrop",onClick:s}),g.jsxs("div",{className:"settings-card",style:{transform:`translate(-50%, calc(-50% + ${l/2}px))`},role:"dialog","aria-label":t,"aria-modal":"true",children:[g.jsxs("div",{className:"settings-head",children:[g.jsx("span",{className:"settings-title",children:t}),g.jsx("button",{className:"settings-close",onClick:s,"aria-label":T("common.close"),children:"✕"})]}),g.jsxs("div",{className:"settings-section",children:[g.jsx("div",{className:"settings-label",children:T("rename.new_name")}),g.jsx("input",{ref:m,className:"bind-input",value:p,placeholder:T("rename.name_placeholder"),onChange:S=>{n(S.target.value),f("")},onKeyDown:S=>{S.key==="Enter"&&w()}}),o&&g.jsx("div",{className:"bind-error",children:o}),g.jsxs("div",{className:"settings-btns bind-actions",children:[g.jsx("button",{className:"fontbtn",onClick:s,children:T("common.cancel")}),g.jsx("button",{className:"fontbtn bind-confirm",onClick:w,disabled:_,children:T(_?"rename.saving":"common.save")})]})]})]})]})}function Kb({onOpenDoc:e,refreshKey:t=0}){const[i,s]=N.useState(()=>Jr()),r=p=>{hy(p),s(Jr())},l=N.useRef(!0);return N.useEffect(()=>{if(l.current){l.current=!1;return}s(Jr())},[t]),i.length===0?g.jsx("div",{className:"home-view",children:g.jsxs("div",{className:"home-empty",children:[T("home.empty"),g.jsx("span",{children:T("home.emptyHint")})]})}):g.jsx("div",{className:"home-view",children:i.map(p=>g.jsxs("div",{className:"home-recent-row",children:[g.jsxs("button",{className:"home-recent",onClick:()=>e(p.path),title:p.path,children:[g.jsx("span",{className:"home-name",children:p.name}),g.jsx("span",{className:"home-path",children:p.path})]}),g.jsx("button",{className:"home-x","aria-label":T("home.remove"),onClick:()=>r(p.path),children:"✕"})]},p.path))})}function Uh(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}let En=Uh();function V_(e){En=e}const K_=/[&<>"']/,Gb=new RegExp(K_.source,"g"),G_=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,qb=new RegExp(G_.source,"g"),Yb={"&":"&","<":"<",">":">",'"':""","'":"'"},Xf=e=>Yb[e];function Di(e,t){if(t){if(K_.test(e))return e.replace(Gb,Xf)}else if(G_.test(e))return e.replace(qb,Xf);return e}const Xb=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;function Jb(e){return e.replace(Xb,(t,i)=>(i=i.toLowerCase(),i==="colon"?":":i.charAt(0)==="#"?i.charAt(1)==="x"?String.fromCharCode(parseInt(i.substring(2),16)):String.fromCharCode(+i.substring(1)):""))}const Zb=/(^|[^\[])\^/g;function at(e,t){let i=typeof e=="string"?e:e.source;t=t||"";const s={replace:(r,l)=>{let p=typeof l=="string"?l:l.source;return p=p.replace(Zb,"$1"),i=i.replace(r,p),s},getRegex:()=>new RegExp(i,t)};return s}function Jf(e){try{e=encodeURI(e).replace(/%25/g,"%")}catch{return null}return e}const Qr={exec:()=>null};function Zf(e,t){const i=e.replace(/\|/g,(l,p,n)=>{let o=!1,f=p;for(;--f>=0&&n[f]==="\\";)o=!o;return o?"|":" |"}),s=i.split(/ \|/);let r=0;if(s[0].trim()||s.shift(),s.length>0&&!s[s.length-1].trim()&&s.pop(),t)if(s.length>t)s.splice(t);else for(;s.length<t;)s.push("");for(;r<s.length;r++)s[r]=s[r].trim().replace(/\\\|/g,"|");return s}function da(e,t,i){const s=e.length;if(s===0)return"";let r=0;for(;r<s&&e.charAt(s-r-1)===t;)r++;return e.slice(0,s-r)}function Qb(e,t){if(e.indexOf(t[1])===-1)return-1;let i=0;for(let s=0;s<e.length;s++)if(e[s]==="\\")s++;else if(e[s]===t[0])i++;else if(e[s]===t[1]&&(i--,i<0))return s;return-1}function Qf(e,t,i,s){const r=t.href,l=t.title?Di(t.title):null,p=e[1].replace(/\\([\[\]])/g,"$1");if(e[0].charAt(0)!=="!"){s.state.inLink=!0;const n={type:"link",raw:i,href:r,title:l,text:p,tokens:s.inlineTokens(p)};return s.state.inLink=!1,n}return{type:"image",raw:i,href:r,title:l,text:Di(p)}}function ex(e,t){const i=e.match(/^(\s+)(?:```)/);if(i===null)return t;const s=i[1];return t.split(`
|
|
115
|
+
`).map(r=>{const l=r.match(/^\s+/);if(l===null)return r;const[p]=l;return p.length>=s.length?r.slice(s.length):r}).join(`
|
|
116
|
+
`)}class ul{constructor(t){pt(this,"options");pt(this,"rules");pt(this,"lexer");this.options=t||En}space(t){const i=this.rules.block.newline.exec(t);if(i&&i[0].length>0)return{type:"space",raw:i[0]}}code(t){const i=this.rules.block.code.exec(t);if(i){const s=i[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:i[0],codeBlockStyle:"indented",text:this.options.pedantic?s:da(s,`
|
|
117
|
+
`)}}}fences(t){const i=this.rules.block.fences.exec(t);if(i){const s=i[0],r=ex(s,i[3]||"");return{type:"code",raw:s,lang:i[2]?i[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):i[2],text:r}}}heading(t){const i=this.rules.block.heading.exec(t);if(i){let s=i[2].trim();if(/#$/.test(s)){const r=da(s,"#");(this.options.pedantic||!r||/ $/.test(r))&&(s=r.trim())}return{type:"heading",raw:i[0],depth:i[1].length,text:s,tokens:this.lexer.inline(s)}}}hr(t){const i=this.rules.block.hr.exec(t);if(i)return{type:"hr",raw:i[0]}}blockquote(t){const i=this.rules.block.blockquote.exec(t);if(i){let s=i[0].replace(/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,`
|
|
118
|
+
$1`);s=da(s.replace(/^ *>[ \t]?/gm,""),`
|
|
119
|
+
`);const r=this.lexer.state.top;this.lexer.state.top=!0;const l=this.lexer.blockTokens(s);return this.lexer.state.top=r,{type:"blockquote",raw:i[0],tokens:l,text:s}}}list(t){let i=this.rules.block.list.exec(t);if(i){let s=i[1].trim();const r=s.length>1,l={type:"list",raw:"",ordered:r,start:r?+s.slice(0,-1):"",loose:!1,items:[]};s=r?`\\d{1,9}\\${s.slice(-1)}`:`\\${s}`,this.options.pedantic&&(s=r?s:"[*+-]");const p=new RegExp(`^( {0,3}${s})((?:[ ][^\\n]*)?(?:\\n|$))`);let n="",o="",f=!1;for(;t;){let _=!1;if(!(i=p.exec(t))||this.rules.block.hr.test(t))break;n=i[0],t=t.substring(n.length);let u=i[2].split(`
|
|
120
|
+
`,1)[0].replace(/^\t+/,h=>" ".repeat(3*h.length)),m=t.split(`
|
|
121
|
+
`,1)[0],w=0;this.options.pedantic?(w=2,o=u.trimStart()):(w=i[2].search(/[^ ]/),w=w>4?1:w,o=u.slice(w),w+=i[1].length);let S=!1;if(!u&&/^ *$/.test(m)&&(n+=m+`
|
|
122
|
+
`,t=t.substring(m.length+1),_=!0),!_){const h=new RegExp(`^ {0,${Math.min(3,w-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),c=new RegExp(`^ {0,${Math.min(3,w-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),d=new RegExp(`^ {0,${Math.min(3,w-1)}}(?:\`\`\`|~~~)`),y=new RegExp(`^ {0,${Math.min(3,w-1)}}#`);for(;t;){const C=t.split(`
|
|
123
|
+
`,1)[0];if(m=C,this.options.pedantic&&(m=m.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),d.test(m)||y.test(m)||h.test(m)||c.test(t))break;if(m.search(/[^ ]/)>=w||!m.trim())o+=`
|
|
124
|
+
`+m.slice(w);else{if(S||u.search(/[^ ]/)>=4||d.test(u)||y.test(u)||c.test(u))break;o+=`
|
|
125
|
+
`+m}!S&&!m.trim()&&(S=!0),n+=C+`
|
|
126
|
+
`,t=t.substring(C.length+1),u=m.slice(w)}}l.loose||(f?l.loose=!0:/\n *\n *$/.test(n)&&(f=!0));let v=null,a;this.options.gfm&&(v=/^\[[ xX]\] /.exec(o),v&&(a=v[0]!=="[ ] ",o=o.replace(/^\[[ xX]\] +/,""))),l.items.push({type:"list_item",raw:n,task:!!v,checked:a,loose:!1,text:o,tokens:[]}),l.raw+=n}l.items[l.items.length-1].raw=n.trimEnd(),l.items[l.items.length-1].text=o.trimEnd(),l.raw=l.raw.trimEnd();for(let _=0;_<l.items.length;_++)if(this.lexer.state.top=!1,l.items[_].tokens=this.lexer.blockTokens(l.items[_].text,[]),!l.loose){const u=l.items[_].tokens.filter(w=>w.type==="space"),m=u.length>0&&u.some(w=>/\n.*\n/.test(w.raw));l.loose=m}if(l.loose)for(let _=0;_<l.items.length;_++)l.items[_].loose=!0;return l}}html(t){const i=this.rules.block.html.exec(t);if(i)return{type:"html",block:!0,raw:i[0],pre:i[1]==="pre"||i[1]==="script"||i[1]==="style",text:i[0]}}def(t){const i=this.rules.block.def.exec(t);if(i){const s=i[1].toLowerCase().replace(/\s+/g," "),r=i[2]?i[2].replace(/^<(.*)>$/,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",l=i[3]?i[3].substring(1,i[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):i[3];return{type:"def",tag:s,raw:i[0],href:r,title:l}}}table(t){const i=this.rules.block.table.exec(t);if(!i||!/[:|]/.test(i[2]))return;const s=Zf(i[1]),r=i[2].replace(/^\||\| *$/g,"").split("|"),l=i[3]&&i[3].trim()?i[3].replace(/\n[ \t]*$/,"").split(`
|
|
127
|
+
`):[],p={type:"table",raw:i[0],header:[],align:[],rows:[]};if(s.length===r.length){for(const n of r)/^ *-+: *$/.test(n)?p.align.push("right"):/^ *:-+: *$/.test(n)?p.align.push("center"):/^ *:-+ *$/.test(n)?p.align.push("left"):p.align.push(null);for(const n of s)p.header.push({text:n,tokens:this.lexer.inline(n)});for(const n of l)p.rows.push(Zf(n,p.header.length).map(o=>({text:o,tokens:this.lexer.inline(o)})));return p}}lheading(t){const i=this.rules.block.lheading.exec(t);if(i)return{type:"heading",raw:i[0],depth:i[2].charAt(0)==="="?1:2,text:i[1],tokens:this.lexer.inline(i[1])}}paragraph(t){const i=this.rules.block.paragraph.exec(t);if(i){const s=i[1].charAt(i[1].length-1)===`
|
|
128
|
+
`?i[1].slice(0,-1):i[1];return{type:"paragraph",raw:i[0],text:s,tokens:this.lexer.inline(s)}}}text(t){const i=this.rules.block.text.exec(t);if(i)return{type:"text",raw:i[0],text:i[0],tokens:this.lexer.inline(i[0])}}escape(t){const i=this.rules.inline.escape.exec(t);if(i)return{type:"escape",raw:i[0],text:Di(i[1])}}tag(t){const i=this.rules.inline.tag.exec(t);if(i)return!this.lexer.state.inLink&&/^<a /i.test(i[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&/^<\/a>/i.test(i[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(i[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(i[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:i[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:i[0]}}link(t){const i=this.rules.inline.link.exec(t);if(i){const s=i[2].trim();if(!this.options.pedantic&&/^</.test(s)){if(!/>$/.test(s))return;const p=da(s.slice(0,-1),"\\");if((s.length-p.length)%2===0)return}else{const p=Qb(i[2],"()");if(p>-1){const o=(i[0].indexOf("!")===0?5:4)+i[1].length+p;i[2]=i[2].substring(0,p),i[0]=i[0].substring(0,o).trim(),i[3]=""}}let r=i[2],l="";if(this.options.pedantic){const p=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(r);p&&(r=p[1],l=p[3])}else l=i[3]?i[3].slice(1,-1):"";return r=r.trim(),/^</.test(r)&&(this.options.pedantic&&!/>$/.test(s)?r=r.slice(1):r=r.slice(1,-1)),Qf(i,{href:r&&r.replace(this.rules.inline.anyPunctuation,"$1"),title:l&&l.replace(this.rules.inline.anyPunctuation,"$1")},i[0],this.lexer)}}reflink(t,i){let s;if((s=this.rules.inline.reflink.exec(t))||(s=this.rules.inline.nolink.exec(t))){const r=(s[2]||s[1]).replace(/\s+/g," "),l=i[r.toLowerCase()];if(!l){const p=s[0].charAt(0);return{type:"text",raw:p,text:p}}return Qf(s,l,s[0],this.lexer)}}emStrong(t,i,s=""){let r=this.rules.inline.emStrongLDelim.exec(t);if(!r||r[3]&&s.match(/[\p{L}\p{N}]/u))return;if(!(r[1]||r[2]||"")||!s||this.rules.inline.punctuation.exec(s)){const p=[...r[0]].length-1;let n,o,f=p,_=0;const u=r[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(u.lastIndex=0,i=i.slice(-1*t.length+p);(r=u.exec(i))!=null;){if(n=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!n)continue;if(o=[...n].length,r[3]||r[4]){f+=o;continue}else if((r[5]||r[6])&&p%3&&!((p+o)%3)){_+=o;continue}if(f-=o,f>0)continue;o=Math.min(o,o+f+_);const m=[...r[0]][0].length,w=t.slice(0,p+r.index+m+o);if(Math.min(p,o)%2){const v=w.slice(1,-1);return{type:"em",raw:w,text:v,tokens:this.lexer.inlineTokens(v)}}const S=w.slice(2,-2);return{type:"strong",raw:w,text:S,tokens:this.lexer.inlineTokens(S)}}}}codespan(t){const i=this.rules.inline.code.exec(t);if(i){let s=i[2].replace(/\n/g," ");const r=/[^ ]/.test(s),l=/^ /.test(s)&&/ $/.test(s);return r&&l&&(s=s.substring(1,s.length-1)),s=Di(s,!0),{type:"codespan",raw:i[0],text:s}}}br(t){const i=this.rules.inline.br.exec(t);if(i)return{type:"br",raw:i[0]}}del(t){const i=this.rules.inline.del.exec(t);if(i)return{type:"del",raw:i[0],text:i[2],tokens:this.lexer.inlineTokens(i[2])}}autolink(t){const i=this.rules.inline.autolink.exec(t);if(i){let s,r;return i[2]==="@"?(s=Di(i[1]),r="mailto:"+s):(s=Di(i[1]),r=s),{type:"link",raw:i[0],text:s,href:r,tokens:[{type:"text",raw:s,text:s}]}}}url(t){var s;let i;if(i=this.rules.inline.url.exec(t)){let r,l;if(i[2]==="@")r=Di(i[0]),l="mailto:"+r;else{let p;do p=i[0],i[0]=((s=this.rules.inline._backpedal.exec(i[0]))==null?void 0:s[0])??"";while(p!==i[0]);r=Di(i[0]),i[1]==="www."?l="http://"+i[0]:l=i[0]}return{type:"link",raw:i[0],text:r,href:l,tokens:[{type:"text",raw:r,text:r}]}}}inlineText(t){const i=this.rules.inline.text.exec(t);if(i){let s;return this.lexer.state.inRawBlock?s=i[0]:s=Di(i[0]),{type:"text",raw:i[0],text:s}}}}const tx=/^(?: *(?:\n|$))+/,ix=/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,sx=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,Mo=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,nx=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,q_=/(?:[*+-]|\d{1,9}[.)])/,Y_=at(/^(?!bull |blockCode|fences|blockquote|heading|html)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html))+?)\n {0,3}(=+|-+) *(?:\n+|$)/).replace(/bull/g,q_).replace(/blockCode/g,/ {4}/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).getRegex(),Wh=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,rx=/^[^\n]+/,Vh=/(?!\s*\])(?:\\.|[^\[\]\\])+/,ox=at(/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/).replace("label",Vh).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),ax=at(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,q_).getRegex(),Nl="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Kh=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,lx=at("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))","i").replace("comment",Kh).replace("tag",Nl).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),X_=at(Wh).replace("hr",Mo).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Nl).getRegex(),cx=at(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",X_).getRegex(),Gh={blockquote:cx,code:ix,def:ox,fences:sx,heading:nx,hr:Mo,html:lx,lheading:Y_,list:ax,newline:tx,paragraph:X_,table:Qr,text:rx},ep=at("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",Mo).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Nl).getRegex(),ux={...Gh,table:ep,paragraph:at(Wh).replace("hr",Mo).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",ep).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Nl).getRegex()},hx={...Gh,html:at(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",Kh).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Qr,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:at(Wh).replace("hr",Mo).replace("heading",` *#{1,6} *[^
|
|
129
|
+
]`).replace("lheading",Y_).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},J_=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,dx=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Z_=/^( {2,}|\\)\n(?!\s*$)/,fx=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,No="\\p{P}\\p{S}",px=at(/^((?![*_])[\spunctuation])/,"u").replace(/punctuation/g,No).getRegex(),mx=/\[[^[\]]*?\]\([^\(\)]*?\)|`[^`]*?`|<[^<>]*?>/g,gx=at(/^(?:\*+(?:((?!\*)[punct])|[^\s*]))|^_+(?:((?!_)[punct])|([^\s_]))/,"u").replace(/punct/g,No).getRegex(),_x=at("^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)[punct](\\*+)(?=[\\s]|$)|[^punct\\s](\\*+)(?!\\*)(?=[punct\\s]|$)|(?!\\*)[punct\\s](\\*+)(?=[^punct\\s])|[\\s](\\*+)(?!\\*)(?=[punct])|(?!\\*)[punct](\\*+)(?!\\*)(?=[punct])|[^punct\\s](\\*+)(?=[^punct\\s])","gu").replace(/punct/g,No).getRegex(),vx=at("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)[punct](_+)(?=[\\s]|$)|[^punct\\s](_+)(?!_)(?=[punct\\s]|$)|(?!_)[punct\\s](_+)(?=[^punct\\s])|[\\s](_+)(?!_)(?=[punct])|(?!_)[punct](_+)(?!_)(?=[punct])","gu").replace(/punct/g,No).getRegex(),wx=at(/\\([punct])/,"gu").replace(/punct/g,No).getRegex(),yx=at(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),Sx=at(Kh).replace("(?:-->|$)","-->").getRegex(),bx=at("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",Sx).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),hl=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,xx=at(/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/).replace("label",hl).replace("href",/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),Q_=at(/^!?\[(label)\]\[(ref)\]/).replace("label",hl).replace("ref",Vh).getRegex(),ev=at(/^!?\[(ref)\](?:\[\])?/).replace("ref",Vh).getRegex(),Cx=at("reflink|nolink(?!\\()","g").replace("reflink",Q_).replace("nolink",ev).getRegex(),qh={_backpedal:Qr,anyPunctuation:wx,autolink:yx,blockSkip:mx,br:Z_,code:dx,del:Qr,emStrongLDelim:gx,emStrongRDelimAst:_x,emStrongRDelimUnd:vx,escape:J_,link:xx,nolink:ev,punctuation:px,reflink:Q_,reflinkSearch:Cx,tag:bx,text:fx,url:Qr},kx={...qh,link:at(/^!?\[(label)\]\((.*?)\)/).replace("label",hl).getRegex(),reflink:at(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",hl).getRegex()},Mu={...qh,escape:at(J_).replace("])","~|])").getRegex(),url:at(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},Ex={...Mu,br:at(Z_).replace("{2,}","*").getRegex(),text:at(Mu.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},fa={normal:Gh,gfm:ux,pedantic:hx},Pr={normal:qh,gfm:Mu,breaks:Ex,pedantic:kx};class fs{constructor(t){pt(this,"tokens");pt(this,"options");pt(this,"state");pt(this,"tokenizer");pt(this,"inlineQueue");this.tokens=[],this.tokens.links=Object.create(null),this.options=t||En,this.options.tokenizer=this.options.tokenizer||new ul,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};const i={block:fa.normal,inline:Pr.normal};this.options.pedantic?(i.block=fa.pedantic,i.inline=Pr.pedantic):this.options.gfm&&(i.block=fa.gfm,this.options.breaks?i.inline=Pr.breaks:i.inline=Pr.gfm),this.tokenizer.rules=i}static get rules(){return{block:fa,inline:Pr}}static lex(t,i){return new fs(i).lex(t)}static lexInline(t,i){return new fs(i).inlineTokens(t)}lex(t){t=t.replace(/\r\n|\r/g,`
|
|
130
|
+
`),this.blockTokens(t,this.tokens);for(let i=0;i<this.inlineQueue.length;i++){const s=this.inlineQueue[i];this.inlineTokens(s.src,s.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(t,i=[]){this.options.pedantic?t=t.replace(/\t/g," ").replace(/^ +$/gm,""):t=t.replace(/^( *)(\t+)/gm,(n,o,f)=>o+" ".repeat(f.length));let s,r,l,p;for(;t;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(n=>(s=n.call({lexer:this},t,i))?(t=t.substring(s.raw.length),i.push(s),!0):!1))){if(s=this.tokenizer.space(t)){t=t.substring(s.raw.length),s.raw.length===1&&i.length>0?i[i.length-1].raw+=`
|
|
131
|
+
`:i.push(s);continue}if(s=this.tokenizer.code(t)){t=t.substring(s.raw.length),r=i[i.length-1],r&&(r.type==="paragraph"||r.type==="text")?(r.raw+=`
|
|
132
|
+
`+s.raw,r.text+=`
|
|
133
|
+
`+s.text,this.inlineQueue[this.inlineQueue.length-1].src=r.text):i.push(s);continue}if(s=this.tokenizer.fences(t)){t=t.substring(s.raw.length),i.push(s);continue}if(s=this.tokenizer.heading(t)){t=t.substring(s.raw.length),i.push(s);continue}if(s=this.tokenizer.hr(t)){t=t.substring(s.raw.length),i.push(s);continue}if(s=this.tokenizer.blockquote(t)){t=t.substring(s.raw.length),i.push(s);continue}if(s=this.tokenizer.list(t)){t=t.substring(s.raw.length),i.push(s);continue}if(s=this.tokenizer.html(t)){t=t.substring(s.raw.length),i.push(s);continue}if(s=this.tokenizer.def(t)){t=t.substring(s.raw.length),r=i[i.length-1],r&&(r.type==="paragraph"||r.type==="text")?(r.raw+=`
|
|
134
|
+
`+s.raw,r.text+=`
|
|
135
|
+
`+s.raw,this.inlineQueue[this.inlineQueue.length-1].src=r.text):this.tokens.links[s.tag]||(this.tokens.links[s.tag]={href:s.href,title:s.title});continue}if(s=this.tokenizer.table(t)){t=t.substring(s.raw.length),i.push(s);continue}if(s=this.tokenizer.lheading(t)){t=t.substring(s.raw.length),i.push(s);continue}if(l=t,this.options.extensions&&this.options.extensions.startBlock){let n=1/0;const o=t.slice(1);let f;this.options.extensions.startBlock.forEach(_=>{f=_.call({lexer:this},o),typeof f=="number"&&f>=0&&(n=Math.min(n,f))}),n<1/0&&n>=0&&(l=t.substring(0,n+1))}if(this.state.top&&(s=this.tokenizer.paragraph(l))){r=i[i.length-1],p&&r.type==="paragraph"?(r.raw+=`
|
|
136
|
+
`+s.raw,r.text+=`
|
|
137
|
+
`+s.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=r.text):i.push(s),p=l.length!==t.length,t=t.substring(s.raw.length);continue}if(s=this.tokenizer.text(t)){t=t.substring(s.raw.length),r=i[i.length-1],r&&r.type==="text"?(r.raw+=`
|
|
138
|
+
`+s.raw,r.text+=`
|
|
139
|
+
`+s.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=r.text):i.push(s);continue}if(t){const n="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(n);break}else throw new Error(n)}}return this.state.top=!0,i}inline(t,i=[]){return this.inlineQueue.push({src:t,tokens:i}),i}inlineTokens(t,i=[]){let s,r,l,p=t,n,o,f;if(this.tokens.links){const _=Object.keys(this.tokens.links);if(_.length>0)for(;(n=this.tokenizer.rules.inline.reflinkSearch.exec(p))!=null;)_.includes(n[0].slice(n[0].lastIndexOf("[")+1,-1))&&(p=p.slice(0,n.index)+"["+"a".repeat(n[0].length-2)+"]"+p.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(n=this.tokenizer.rules.inline.blockSkip.exec(p))!=null;)p=p.slice(0,n.index)+"["+"a".repeat(n[0].length-2)+"]"+p.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;(n=this.tokenizer.rules.inline.anyPunctuation.exec(p))!=null;)p=p.slice(0,n.index)+"++"+p.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;t;)if(o||(f=""),o=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(_=>(s=_.call({lexer:this},t,i))?(t=t.substring(s.raw.length),i.push(s),!0):!1))){if(s=this.tokenizer.escape(t)){t=t.substring(s.raw.length),i.push(s);continue}if(s=this.tokenizer.tag(t)){t=t.substring(s.raw.length),r=i[i.length-1],r&&s.type==="text"&&r.type==="text"?(r.raw+=s.raw,r.text+=s.text):i.push(s);continue}if(s=this.tokenizer.link(t)){t=t.substring(s.raw.length),i.push(s);continue}if(s=this.tokenizer.reflink(t,this.tokens.links)){t=t.substring(s.raw.length),r=i[i.length-1],r&&s.type==="text"&&r.type==="text"?(r.raw+=s.raw,r.text+=s.text):i.push(s);continue}if(s=this.tokenizer.emStrong(t,p,f)){t=t.substring(s.raw.length),i.push(s);continue}if(s=this.tokenizer.codespan(t)){t=t.substring(s.raw.length),i.push(s);continue}if(s=this.tokenizer.br(t)){t=t.substring(s.raw.length),i.push(s);continue}if(s=this.tokenizer.del(t)){t=t.substring(s.raw.length),i.push(s);continue}if(s=this.tokenizer.autolink(t)){t=t.substring(s.raw.length),i.push(s);continue}if(!this.state.inLink&&(s=this.tokenizer.url(t))){t=t.substring(s.raw.length),i.push(s);continue}if(l=t,this.options.extensions&&this.options.extensions.startInline){let _=1/0;const u=t.slice(1);let m;this.options.extensions.startInline.forEach(w=>{m=w.call({lexer:this},u),typeof m=="number"&&m>=0&&(_=Math.min(_,m))}),_<1/0&&_>=0&&(l=t.substring(0,_+1))}if(s=this.tokenizer.inlineText(l)){t=t.substring(s.raw.length),s.raw.slice(-1)!=="_"&&(f=s.raw.slice(-1)),o=!0,r=i[i.length-1],r&&r.type==="text"?(r.raw+=s.raw,r.text+=s.text):i.push(s);continue}if(t){const _="Infinite loop on byte: "+t.charCodeAt(0);if(this.options.silent){console.error(_);break}else throw new Error(_)}}return i}}class dl{constructor(t){pt(this,"options");this.options=t||En}code(t,i,s){var l;const r=(l=(i||"").match(/^\S*/))==null?void 0:l[0];return t=t.replace(/\n$/,"")+`
|
|
140
|
+
`,r?'<pre><code class="language-'+Di(r)+'">'+(s?t:Di(t,!0))+`</code></pre>
|
|
141
|
+
`:"<pre><code>"+(s?t:Di(t,!0))+`</code></pre>
|
|
142
|
+
`}blockquote(t){return`<blockquote>
|
|
143
|
+
${t}</blockquote>
|
|
144
|
+
`}html(t,i){return t}heading(t,i,s){return`<h${i}>${t}</h${i}>
|
|
145
|
+
`}hr(){return`<hr>
|
|
146
|
+
`}list(t,i,s){const r=i?"ol":"ul",l=i&&s!==1?' start="'+s+'"':"";return"<"+r+l+`>
|
|
147
|
+
`+t+"</"+r+`>
|
|
148
|
+
`}listitem(t,i,s){return`<li>${t}</li>
|
|
149
|
+
`}checkbox(t){return"<input "+(t?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph(t){return`<p>${t}</p>
|
|
150
|
+
`}table(t,i){return i&&(i=`<tbody>${i}</tbody>`),`<table>
|
|
151
|
+
<thead>
|
|
152
|
+
`+t+`</thead>
|
|
153
|
+
`+i+`</table>
|
|
154
|
+
`}tablerow(t){return`<tr>
|
|
155
|
+
${t}</tr>
|
|
156
|
+
`}tablecell(t,i){const s=i.header?"th":"td";return(i.align?`<${s} align="${i.align}">`:`<${s}>`)+t+`</${s}>
|
|
157
|
+
`}strong(t){return`<strong>${t}</strong>`}em(t){return`<em>${t}</em>`}codespan(t){return`<code>${t}</code>`}br(){return"<br>"}del(t){return`<del>${t}</del>`}link(t,i,s){const r=Jf(t);if(r===null)return s;t=r;let l='<a href="'+t+'"';return i&&(l+=' title="'+i+'"'),l+=">"+s+"</a>",l}image(t,i,s){const r=Jf(t);if(r===null)return s;t=r;let l=`<img src="${t}" alt="${s}"`;return i&&(l+=` title="${i}"`),l+=">",l}text(t){return t}}class Yh{strong(t){return t}em(t){return t}codespan(t){return t}del(t){return t}html(t){return t}text(t){return t}link(t,i,s){return""+s}image(t,i,s){return""+s}br(){return""}}class ps{constructor(t){pt(this,"options");pt(this,"renderer");pt(this,"textRenderer");this.options=t||En,this.options.renderer=this.options.renderer||new dl,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new Yh}static parse(t,i){return new ps(i).parse(t)}static parseInline(t,i){return new ps(i).parseInline(t)}parse(t,i=!0){let s="";for(let r=0;r<t.length;r++){const l=t[r];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[l.type]){const p=l,n=this.options.extensions.renderers[p.type].call({parser:this},p);if(n!==!1||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(p.type)){s+=n||"";continue}}switch(l.type){case"space":continue;case"hr":{s+=this.renderer.hr();continue}case"heading":{const p=l;s+=this.renderer.heading(this.parseInline(p.tokens),p.depth,Jb(this.parseInline(p.tokens,this.textRenderer)));continue}case"code":{const p=l;s+=this.renderer.code(p.text,p.lang,!!p.escaped);continue}case"table":{const p=l;let n="",o="";for(let _=0;_<p.header.length;_++)o+=this.renderer.tablecell(this.parseInline(p.header[_].tokens),{header:!0,align:p.align[_]});n+=this.renderer.tablerow(o);let f="";for(let _=0;_<p.rows.length;_++){const u=p.rows[_];o="";for(let m=0;m<u.length;m++)o+=this.renderer.tablecell(this.parseInline(u[m].tokens),{header:!1,align:p.align[m]});f+=this.renderer.tablerow(o)}s+=this.renderer.table(n,f);continue}case"blockquote":{const p=l,n=this.parse(p.tokens);s+=this.renderer.blockquote(n);continue}case"list":{const p=l,n=p.ordered,o=p.start,f=p.loose;let _="";for(let u=0;u<p.items.length;u++){const m=p.items[u],w=m.checked,S=m.task;let v="";if(m.task){const a=this.renderer.checkbox(!!w);f?m.tokens.length>0&&m.tokens[0].type==="paragraph"?(m.tokens[0].text=a+" "+m.tokens[0].text,m.tokens[0].tokens&&m.tokens[0].tokens.length>0&&m.tokens[0].tokens[0].type==="text"&&(m.tokens[0].tokens[0].text=a+" "+m.tokens[0].tokens[0].text)):m.tokens.unshift({type:"text",text:a+" "}):v+=a+" "}v+=this.parse(m.tokens,f),_+=this.renderer.listitem(v,S,!!w)}s+=this.renderer.list(_,n,o);continue}case"html":{const p=l;s+=this.renderer.html(p.text,p.block);continue}case"paragraph":{const p=l;s+=this.renderer.paragraph(this.parseInline(p.tokens));continue}case"text":{let p=l,n=p.tokens?this.parseInline(p.tokens):p.text;for(;r+1<t.length&&t[r+1].type==="text";)p=t[++r],n+=`
|
|
158
|
+
`+(p.tokens?this.parseInline(p.tokens):p.text);s+=i?this.renderer.paragraph(n):n;continue}default:{const p='Token with "'+l.type+'" type was not found.';if(this.options.silent)return console.error(p),"";throw new Error(p)}}}return s}parseInline(t,i){i=i||this.renderer;let s="";for(let r=0;r<t.length;r++){const l=t[r];if(this.options.extensions&&this.options.extensions.renderers&&this.options.extensions.renderers[l.type]){const p=this.options.extensions.renderers[l.type].call({parser:this},l);if(p!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(l.type)){s+=p||"";continue}}switch(l.type){case"escape":{const p=l;s+=i.text(p.text);break}case"html":{const p=l;s+=i.html(p.text);break}case"link":{const p=l;s+=i.link(p.href,p.title,this.parseInline(p.tokens,i));break}case"image":{const p=l;s+=i.image(p.href,p.title,p.text);break}case"strong":{const p=l;s+=i.strong(this.parseInline(p.tokens,i));break}case"em":{const p=l;s+=i.em(this.parseInline(p.tokens,i));break}case"codespan":{const p=l;s+=i.codespan(p.text);break}case"br":{s+=i.br();break}case"del":{const p=l;s+=i.del(this.parseInline(p.tokens,i));break}case"text":{const p=l;s+=i.text(p.text);break}default:{const p='Token with "'+l.type+'" type was not found.';if(this.options.silent)return console.error(p),"";throw new Error(p)}}}return s}}class eo{constructor(t){pt(this,"options");this.options=t||En}preprocess(t){return t}postprocess(t){return t}processAllTokens(t){return t}}pt(eo,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens"]));var bn,Nu,tv;class Lx{constructor(...t){Jh(this,bn);pt(this,"defaults",Uh());pt(this,"options",this.setOptions);pt(this,"parse",Uo(this,bn,Nu).call(this,fs.lex,ps.parse));pt(this,"parseInline",Uo(this,bn,Nu).call(this,fs.lexInline,ps.parseInline));pt(this,"Parser",ps);pt(this,"Renderer",dl);pt(this,"TextRenderer",Yh);pt(this,"Lexer",fs);pt(this,"Tokenizer",ul);pt(this,"Hooks",eo);this.use(...t)}walkTokens(t,i){var r,l;let s=[];for(const p of t)switch(s=s.concat(i.call(this,p)),p.type){case"table":{const n=p;for(const o of n.header)s=s.concat(this.walkTokens(o.tokens,i));for(const o of n.rows)for(const f of o)s=s.concat(this.walkTokens(f.tokens,i));break}case"list":{const n=p;s=s.concat(this.walkTokens(n.items,i));break}default:{const n=p;(l=(r=this.defaults.extensions)==null?void 0:r.childTokens)!=null&&l[n.type]?this.defaults.extensions.childTokens[n.type].forEach(o=>{const f=n[o].flat(1/0);s=s.concat(this.walkTokens(f,i))}):n.tokens&&(s=s.concat(this.walkTokens(n.tokens,i)))}}return s}use(...t){const i=this.defaults.extensions||{renderers:{},childTokens:{}};return t.forEach(s=>{const r={...s};if(r.async=this.defaults.async||r.async||!1,s.extensions&&(s.extensions.forEach(l=>{if(!l.name)throw new Error("extension name required");if("renderer"in l){const p=i.renderers[l.name];p?i.renderers[l.name]=function(...n){let o=l.renderer.apply(this,n);return o===!1&&(o=p.apply(this,n)),o}:i.renderers[l.name]=l.renderer}if("tokenizer"in l){if(!l.level||l.level!=="block"&&l.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");const p=i[l.level];p?p.unshift(l.tokenizer):i[l.level]=[l.tokenizer],l.start&&(l.level==="block"?i.startBlock?i.startBlock.push(l.start):i.startBlock=[l.start]:l.level==="inline"&&(i.startInline?i.startInline.push(l.start):i.startInline=[l.start]))}"childTokens"in l&&l.childTokens&&(i.childTokens[l.name]=l.childTokens)}),r.extensions=i),s.renderer){const l=this.defaults.renderer||new dl(this.defaults);for(const p in s.renderer){if(!(p in l))throw new Error(`renderer '${p}' does not exist`);if(p==="options")continue;const n=p,o=s.renderer[n],f=l[n];l[n]=(..._)=>{let u=o.apply(l,_);return u===!1&&(u=f.apply(l,_)),u||""}}r.renderer=l}if(s.tokenizer){const l=this.defaults.tokenizer||new ul(this.defaults);for(const p in s.tokenizer){if(!(p in l))throw new Error(`tokenizer '${p}' does not exist`);if(["options","rules","lexer"].includes(p))continue;const n=p,o=s.tokenizer[n],f=l[n];l[n]=(..._)=>{let u=o.apply(l,_);return u===!1&&(u=f.apply(l,_)),u}}r.tokenizer=l}if(s.hooks){const l=this.defaults.hooks||new eo;for(const p in s.hooks){if(!(p in l))throw new Error(`hook '${p}' does not exist`);if(p==="options")continue;const n=p,o=s.hooks[n],f=l[n];eo.passThroughHooks.has(p)?l[n]=_=>{if(this.defaults.async)return Promise.resolve(o.call(l,_)).then(m=>f.call(l,m));const u=o.call(l,_);return f.call(l,u)}:l[n]=(..._)=>{let u=o.apply(l,_);return u===!1&&(u=f.apply(l,_)),u}}r.hooks=l}if(s.walkTokens){const l=this.defaults.walkTokens,p=s.walkTokens;r.walkTokens=function(n){let o=[];return o.push(p.call(this,n)),l&&(o=o.concat(l.call(this,n))),o}}this.defaults={...this.defaults,...r}}),this}setOptions(t){return this.defaults={...this.defaults,...t},this}lexer(t,i){return fs.lex(t,i??this.defaults)}parser(t,i){return ps.parse(t,i??this.defaults)}}bn=new WeakSet,Nu=function(t,i){return(s,r)=>{const l={...r},p={...this.defaults,...l};this.defaults.async===!0&&l.async===!1&&(p.silent||console.warn("marked(): The async option was set to true by an extension. The async: false option sent to parse will be ignored."),p.async=!0);const n=Uo(this,bn,tv).call(this,!!p.silent,!!p.async);if(typeof s>"u"||s===null)return n(new Error("marked(): input parameter is undefined or null"));if(typeof s!="string")return n(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(s)+", string expected"));if(p.hooks&&(p.hooks.options=p),p.async)return Promise.resolve(p.hooks?p.hooks.preprocess(s):s).then(o=>t(o,p)).then(o=>p.hooks?p.hooks.processAllTokens(o):o).then(o=>p.walkTokens?Promise.all(this.walkTokens(o,p.walkTokens)).then(()=>o):o).then(o=>i(o,p)).then(o=>p.hooks?p.hooks.postprocess(o):o).catch(n);try{p.hooks&&(s=p.hooks.preprocess(s));let o=t(s,p);p.hooks&&(o=p.hooks.processAllTokens(o)),p.walkTokens&&this.walkTokens(o,p.walkTokens);let f=i(o,p);return p.hooks&&(f=p.hooks.postprocess(f)),f}catch(o){return n(o)}}},tv=function(t,i){return s=>{if(s.message+=`
|
|
159
|
+
Please report this to https://github.com/markedjs/marked.`,t){const r="<p>An error occurred:</p><pre>"+Di(s.message+"",!0)+"</pre>";return i?Promise.resolve(r):r}if(i)return Promise.reject(s);throw s}};const Sn=new Lx;function nt(e,t){return Sn.parse(e,t)}nt.options=nt.setOptions=function(e){return Sn.setOptions(e),nt.defaults=Sn.defaults,V_(nt.defaults),nt};nt.getDefaults=Uh;nt.defaults=En;nt.use=function(...e){return Sn.use(...e),nt.defaults=Sn.defaults,V_(nt.defaults),nt};nt.walkTokens=function(e,t){return Sn.walkTokens(e,t)};nt.parseInline=Sn.parseInline;nt.Parser=ps;nt.parser=ps.parse;nt.Renderer=dl;nt.TextRenderer=Yh;nt.Lexer=fs;nt.lexer=fs.lex;nt.Tokenizer=ul;nt.Hooks=eo;nt.parse=nt;nt.options;nt.setOptions;nt.use;nt.walkTokens;nt.parseInline;ps.parse;fs.lex;/*! @license DOMPurify 3.4.8 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.8/LICENSE */function tp(e,t){(t==null||t>e.length)&&(t=e.length);for(var i=0,s=Array(t);i<t;i++)s[i]=e[i];return s}function Rx(e){if(Array.isArray(e))return e}function Tx(e,t){var i=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(i!=null){var s,r,l,p,n=[],o=!0,f=!1;try{if(l=(i=i.call(e)).next,t!==0)for(;!(o=(s=l.call(i)).done)&&(n.push(s.value),n.length!==t);o=!0);}catch(_){f=!0,r=_}finally{try{if(!o&&i.return!=null&&(p=i.return(),Object(p)!==p))return}finally{if(f)throw r}}return n}}function Dx(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
160
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function Ax(e,t){return Rx(e)||Tx(e,t)||Mx(e,t)||Dx()}function Mx(e,t){if(e){if(typeof e=="string")return tp(e,t);var i={}.toString.call(e).slice(8,-1);return i==="Object"&&e.constructor&&(i=e.constructor.name),i==="Map"||i==="Set"?Array.from(e):i==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)?tp(e,t):void 0}}const iv=Object.entries,ip=Object.setPrototypeOf,Nx=Object.isFrozen,Px=Object.getPrototypeOf,Ix=Object.getOwnPropertyDescriptor;let pi=Object.freeze,Vi=Object.seal,Pn=Object.create,sv=typeof Reflect<"u"&&Reflect,Pu=sv.apply,Iu=sv.construct;pi||(pi=function(t){return t});Vi||(Vi=function(t){return t});Pu||(Pu=function(t,i){for(var s=arguments.length,r=new Array(s>2?s-2:0),l=2;l<s;l++)r[l-2]=arguments[l];return t.apply(i,r)});Iu||(Iu=function(t){for(var i=arguments.length,s=new Array(i>1?i-1:0),r=1;r<i;r++)s[r-1]=arguments[r];return new t(...s)});const nn=Ot(Array.prototype.forEach),Ox=Ot(Array.prototype.lastIndexOf),sp=Ot(Array.prototype.pop),Dn=Ot(Array.prototype.push),Bx=Ot(Array.prototype.splice),hi=Array.isArray,$r=Ot(String.prototype.toLowerCase),mc=Ot(String.prototype.toString),np=Ot(String.prototype.match),An=Ot(String.prototype.replace),rp=Ot(String.prototype.indexOf),jx=Ot(String.prototype.trim),Fx=Ot(Number.prototype.toString),Hx=Ot(Boolean.prototype.toString),op=typeof BigInt>"u"?null:Ot(BigInt.prototype.toString),ap=typeof Symbol>"u"?null:Ot(Symbol.prototype.toString),kt=Ot(Object.prototype.hasOwnProperty),Ir=Ot(Object.prototype.toString),qt=Ot(RegExp.prototype.test),Mn=$x(TypeError);function Ot(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var i=arguments.length,s=new Array(i>1?i-1:0),r=1;r<i;r++)s[r-1]=arguments[r];return Pu(e,t,s)}}function $x(e){return function(){for(var t=arguments.length,i=new Array(t),s=0;s<t;s++)i[s]=arguments[s];return Iu(e,i)}}function ze(e,t){let i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:$r;if(ip&&ip(e,null),!hi(t))return e;let s=t.length;for(;s--;){let r=t[s];if(typeof r=="string"){const l=i(r);l!==r&&(Nx(t)||(t[s]=l),r=l)}e[r]=!0}return e}function zx(e){for(let t=0;t<e.length;t++)kt(e,t)||(e[t]=null);return e}function si(e){const t=Pn(null);for(const s of iv(e)){var i=Ax(s,2);const r=i[0],l=i[1];kt(e,r)&&(hi(l)?t[r]=zx(l):l&&typeof l=="object"&&l.constructor===Object?t[r]=si(l):t[r]=l)}return t}function Ux(e){switch(typeof e){case"string":return e;case"number":return Fx(e);case"boolean":return Hx(e);case"bigint":return op?op(e):"0";case"symbol":return ap?ap(e):"Symbol()";case"undefined":return Ir(e);case"function":case"object":{if(e===null)return Ir(e);const t=e,i=us(t,"toString");if(typeof i=="function"){const s=i(t);return typeof s=="string"?s:Ir(s)}return Ir(e)}default:return Ir(e)}}function us(e,t){for(;e!==null;){const s=Ix(e,t);if(s){if(s.get)return Ot(s.get);if(typeof s.value=="function")return Ot(s.value)}e=Px(e)}function i(){return null}return i}function Wx(e){try{return qt(e,""),!0}catch{return!1}}const lp=pi(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),gc=pi(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),_c=pi(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),Vx=pi(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),vc=pi(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),Kx=pi(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),cp=pi(["#text"]),up=pi(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),wc=pi(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),hp=pi(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),pa=pi(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),Gx=Vi(/{{[\w\W]*|^[\w\W]*}}/g),qx=Vi(/<%[\w\W]*|^[\w\W]*%>/g),Yx=Vi(/\${[\w\W]*/g),Xx=Vi(/^data-[\-\w.\u00B7-\uFFFF]+$/),Jx=Vi(/^aria-[\-\w]+$/),dp=Vi(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Zx=Vi(/^(?:\w+script|data):/i),Qx=Vi(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),eC=Vi(/^html$/i),tC=Vi(/^[a-z][.\w]*(-[.\w]+)+$/i),cs={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},iC=function(){return typeof window>"u"?null:window},sC=function(t,i){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let s=null;const r="data-tt-policy-suffix";i&&i.hasAttribute(r)&&(s=i.getAttribute(r));const l="dompurify"+(s?"#"+s:"");try{return t.createPolicy(l,{createHTML(p){return p},createScriptURL(p){return p}})}catch{return console.warn("TrustedTypes policy "+l+" could not be created."),null}},fp=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};function nv(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:iC();const t=F=>nv(F);if(t.version="3.4.8",t.removed=[],!e||!e.document||e.document.nodeType!==cs.document||!e.Element)return t.isSupported=!1,t;let i=e.document;const s=i,r=s.currentScript;e.DocumentFragment;const l=e.HTMLTemplateElement,p=e.Node,n=e.Element,o=e.NodeFilter,f=e.NamedNodeMap;f===void 0&&(e.NamedNodeMap||e.MozNamedAttrMap),e.HTMLFormElement;const _=e.DOMParser,u=e.trustedTypes,m=n.prototype,w=us(m,"cloneNode"),S=us(m,"remove"),v=us(m,"nextSibling"),a=us(m,"childNodes"),h=us(m,"parentNode"),c=us(m,"shadowRoot"),d=us(m,"attributes"),y=p&&p.prototype?us(p.prototype,"nodeType"):null,C=p&&p.prototype?us(p.prototype,"nodeName"):null;if(typeof l=="function"){const F=i.createElement("template");F.content&&F.content.ownerDocument&&(i=F.content.ownerDocument)}let b,E="",x=0;const k=function(B){if(x>0)throw Mn('The configured TRUSTED_TYPES_POLICY.createHTML must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose createHTML wraps DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.');x++;try{return b.createHTML(B)}finally{x--}},L=i,I=L.implementation,A=L.createNodeIterator,P=L.createDocumentFragment,j=L.getElementsByTagName,W=s.importNode;let z=fp();t.isSupported=typeof iv=="function"&&typeof h=="function"&&I&&I.createHTMLDocument!==void 0;const V=Gx,$=qx,R=Yx,O=Xx,D=Jx,H=Zx,X=Qx,Q=tC;let ue=dp,ie=null;const U=ze({},[...lp,...gc,..._c,...vc,...cp]);let M=null;const Y=ze({},[...up,...wc,...hp,...pa]);let G=Object.seal(Pn(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),re=null,se=null;const pe=Object.seal(Pn(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let fe=!0,Ce=!0,Ue=!1,ge=!0,Ke=!1,Ye=!0,ke=!1,De=!1,Ee=!1,oe=!1,ye=!1,Be=!1,te=!0,Le=!1;const ne="user-content-";let Z=!0,le=!1,we={},ce=null;const Je=ze({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Qe=null;const it=ze({},["audio","video","img","source","image","track"]);let $t=null;const At=ze({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),zt="http://www.w3.org/1998/Math/MathML",st="http://www.w3.org/2000/svg",ut="http://www.w3.org/1999/xhtml";let ht=ut,_t=!1,$e=null;const xt=ze({},[zt,st,ut],mc);let Mt=ze({},["mi","mo","mn","ms","mtext"]),Pe=ze({},["annotation-xml"]);const Ki=ze({},["title","style","font","a","script"]);let Vt=null;const Oi=["application/xhtml+xml","text/html"],Ds="text/html";let ot=null,Ci=null;const is=i.createElement("form"),_s=function(B){return B instanceof RegExp||B instanceof Function},Bt=function(){let B=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(Ci&&Ci===B)return;(!B||typeof B!="object")&&(B={}),B=si(B),Vt=Oi.indexOf(B.PARSER_MEDIA_TYPE)===-1?Ds:B.PARSER_MEDIA_TYPE,ot=Vt==="application/xhtml+xml"?mc:$r,ie=kt(B,"ALLOWED_TAGS")&&hi(B.ALLOWED_TAGS)?ze({},B.ALLOWED_TAGS,ot):U,M=kt(B,"ALLOWED_ATTR")&&hi(B.ALLOWED_ATTR)?ze({},B.ALLOWED_ATTR,ot):Y,$e=kt(B,"ALLOWED_NAMESPACES")&&hi(B.ALLOWED_NAMESPACES)?ze({},B.ALLOWED_NAMESPACES,mc):xt,$t=kt(B,"ADD_URI_SAFE_ATTR")&&hi(B.ADD_URI_SAFE_ATTR)?ze(si(At),B.ADD_URI_SAFE_ATTR,ot):At,Qe=kt(B,"ADD_DATA_URI_TAGS")&&hi(B.ADD_DATA_URI_TAGS)?ze(si(it),B.ADD_DATA_URI_TAGS,ot):it,ce=kt(B,"FORBID_CONTENTS")&&hi(B.FORBID_CONTENTS)?ze({},B.FORBID_CONTENTS,ot):Je,re=kt(B,"FORBID_TAGS")&&hi(B.FORBID_TAGS)?ze({},B.FORBID_TAGS,ot):si({}),se=kt(B,"FORBID_ATTR")&&hi(B.FORBID_ATTR)?ze({},B.FORBID_ATTR,ot):si({}),we=kt(B,"USE_PROFILES")?B.USE_PROFILES&&typeof B.USE_PROFILES=="object"?si(B.USE_PROFILES):B.USE_PROFILES:!1,fe=B.ALLOW_ARIA_ATTR!==!1,Ce=B.ALLOW_DATA_ATTR!==!1,Ue=B.ALLOW_UNKNOWN_PROTOCOLS||!1,ge=B.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Ke=B.SAFE_FOR_TEMPLATES||!1,Ye=B.SAFE_FOR_XML!==!1,ke=B.WHOLE_DOCUMENT||!1,oe=B.RETURN_DOM||!1,ye=B.RETURN_DOM_FRAGMENT||!1,Be=B.RETURN_TRUSTED_TYPE||!1,Ee=B.FORCE_BODY||!1,te=B.SANITIZE_DOM!==!1,Le=B.SANITIZE_NAMED_PROPS||!1,Z=B.KEEP_CONTENT!==!1,le=B.IN_PLACE||!1,ue=Wx(B.ALLOWED_URI_REGEXP)?B.ALLOWED_URI_REGEXP:dp,ht=typeof B.NAMESPACE=="string"?B.NAMESPACE:ut,Mt=kt(B,"MATHML_TEXT_INTEGRATION_POINTS")&&B.MATHML_TEXT_INTEGRATION_POINTS&&typeof B.MATHML_TEXT_INTEGRATION_POINTS=="object"?si(B.MATHML_TEXT_INTEGRATION_POINTS):ze({},["mi","mo","mn","ms","mtext"]),Pe=kt(B,"HTML_INTEGRATION_POINTS")&&B.HTML_INTEGRATION_POINTS&&typeof B.HTML_INTEGRATION_POINTS=="object"?si(B.HTML_INTEGRATION_POINTS):ze({},["annotation-xml"]);const K=kt(B,"CUSTOM_ELEMENT_HANDLING")&&B.CUSTOM_ELEMENT_HANDLING&&typeof B.CUSTOM_ELEMENT_HANDLING=="object"?si(B.CUSTOM_ELEMENT_HANDLING):Pn(null);if(G=Pn(null),kt(K,"tagNameCheck")&&_s(K.tagNameCheck)&&(G.tagNameCheck=K.tagNameCheck),kt(K,"attributeNameCheck")&&_s(K.attributeNameCheck)&&(G.attributeNameCheck=K.attributeNameCheck),kt(K,"allowCustomizedBuiltInElements")&&typeof K.allowCustomizedBuiltInElements=="boolean"&&(G.allowCustomizedBuiltInElements=K.allowCustomizedBuiltInElements),Ke&&(Ce=!1),ye&&(oe=!0),we&&(ie=ze({},cp),M=Pn(null),we.html===!0&&(ze(ie,lp),ze(M,up)),we.svg===!0&&(ze(ie,gc),ze(M,wc),ze(M,pa)),we.svgFilters===!0&&(ze(ie,_c),ze(M,wc),ze(M,pa)),we.mathMl===!0&&(ze(ie,vc),ze(M,hp),ze(M,pa))),pe.tagCheck=null,pe.attributeCheck=null,kt(B,"ADD_TAGS")&&(typeof B.ADD_TAGS=="function"?pe.tagCheck=B.ADD_TAGS:hi(B.ADD_TAGS)&&(ie===U&&(ie=si(ie)),ze(ie,B.ADD_TAGS,ot))),kt(B,"ADD_ATTR")&&(typeof B.ADD_ATTR=="function"?pe.attributeCheck=B.ADD_ATTR:hi(B.ADD_ATTR)&&(M===Y&&(M=si(M)),ze(M,B.ADD_ATTR,ot))),kt(B,"ADD_URI_SAFE_ATTR")&&hi(B.ADD_URI_SAFE_ATTR)&&ze($t,B.ADD_URI_SAFE_ATTR,ot),kt(B,"FORBID_CONTENTS")&&hi(B.FORBID_CONTENTS)&&(ce===Je&&(ce=si(ce)),ze(ce,B.FORBID_CONTENTS,ot)),kt(B,"ADD_FORBID_CONTENTS")&&hi(B.ADD_FORBID_CONTENTS)&&(ce===Je&&(ce=si(ce)),ze(ce,B.ADD_FORBID_CONTENTS,ot)),Z&&(ie["#text"]=!0),ke&&ze(ie,["html","head","body"]),ie.table&&(ze(ie,["tbody"]),delete re.tbody),B.TRUSTED_TYPES_POLICY){if(typeof B.TRUSTED_TYPES_POLICY.createHTML!="function")throw Mn('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof B.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Mn('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');const ae=b;b=B.TRUSTED_TYPES_POLICY;try{E=k("")}catch(Me){throw b=ae,Me}}else b===void 0&&B.TRUSTED_TYPES_POLICY!==null&&(b=sC(u,r)),b&&typeof E=="string"&&(E=k(""));(z.uponSanitizeElement.length>0||z.uponSanitizeAttribute.length>0)&&ie===U&&(ie=si(ie)),z.uponSanitizeAttribute.length>0&&M===Y&&(M=si(M)),pi&&pi(B),Ci=B},ss=ze({},[...gc,..._c,...Vx]),ns=ze({},[...vc,...Kx]),Nt=function(B){let K=h(B);(!K||!K.tagName)&&(K={namespaceURI:ht,tagName:"template"});const ae=$r(B.tagName),Me=$r(K.tagName);return $e[B.namespaceURI]?B.namespaceURI===st?K.namespaceURI===ut?ae==="svg":K.namespaceURI===zt?ae==="svg"&&(Me==="annotation-xml"||Mt[Me]):!!ss[ae]:B.namespaceURI===zt?K.namespaceURI===ut?ae==="math":K.namespaceURI===st?ae==="math"&&Pe[Me]:!!ns[ae]:B.namespaceURI===ut?K.namespaceURI===st&&!Pe[Me]||K.namespaceURI===zt&&!Mt[Me]?!1:!ns[ae]&&(Ki[ae]||!ss[ae]):!!(Vt==="application/xhtml+xml"&&$e[B.namespaceURI]):!1},Pt=function(B){Dn(t.removed,{element:B});try{h(B).removeChild(B)}catch{S(B)}},dt=function(B,K){try{Dn(t.removed,{attribute:K.getAttributeNode(B),from:K})}catch{Dn(t.removed,{attribute:null,from:K})}if(K.removeAttribute(B),B==="is")if(oe||ye)try{Pt(K)}catch{}else try{K.setAttribute(B,"")}catch{}},ai=function(B){let K=null,ae=null;if(Ee)B="<remove></remove>"+B;else{const Fe=np(B,/^[\r\n\t ]+/);ae=Fe&&Fe[0]}Vt==="application/xhtml+xml"&&ht===ut&&(B='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+B+"</body></html>");const Me=b?k(B):B;if(ht===ut)try{K=new _().parseFromString(Me,Vt)}catch{}if(!K||!K.documentElement){K=I.createDocument(ht,"template",null);try{K.documentElement.innerHTML=_t?E:Me}catch{}}const Re=K.body||K.documentElement;return B&&ae&&Re.insertBefore(i.createTextNode(ae),Re.childNodes[0]||null),ht===ut?j.call(K,ke?"html":"body")[0]:ke?K.documentElement:Re},Ct=function(B){return A.call(B.ownerDocument||B,B,o.SHOW_ELEMENT|o.SHOW_COMMENT|o.SHOW_TEXT|o.SHOW_PROCESSING_INSTRUCTION|o.SHOW_CDATA_SECTION,null)},Zt=function(B){var K,ae;B.normalize();const Me=A.call(B.ownerDocument||B,B,o.SHOW_TEXT|o.SHOW_COMMENT|o.SHOW_CDATA_SECTION|o.SHOW_PROCESSING_INSTRUCTION,null);let Re=Me.nextNode();for(;Re;){let Te=Re.data;nn([V,$,R],We=>{Te=An(Te,We," ")}),Re.data=Te,Re=Me.nextNode()}const Fe=(K=(ae=B.querySelectorAll)===null||ae===void 0?void 0:ae.call(B,"template"))!==null&&K!==void 0?K:[];nn(Array.from(Fe),Te=>{li(Te.content)&&Zt(Te.content)})},ki=function(B){const K=C?C(B):null;return typeof K!="string"||ot(K)!=="form"?!1:typeof B.nodeName!="string"||typeof B.textContent!="string"||typeof B.removeChild!="function"||B.attributes!==d(B)||typeof B.removeAttribute!="function"||typeof B.setAttribute!="function"||typeof B.namespaceURI!="string"||typeof B.insertBefore!="function"||typeof B.hasChildNodes!="function"||B.nodeType!==y(B)||B.childNodes!==a(B)},li=function(B){if(!y||typeof B!="object"||B===null)return!1;try{return y(B)===cs.documentFragment}catch{return!1}},Qt=function(B){if(!y||typeof B!="object"||B===null)return!1;try{return typeof y(B)=="number"}catch{return!1}};function Lt(F,B,K){nn(F,ae=>{ae.call(t,B,K,Ci)})}const Kt=function(B){let K=null;if(Lt(z.beforeSanitizeElements,B,null),ki(B))return Pt(B),!0;const ae=ot(C?C(B):B.nodeName);if(Lt(z.uponSanitizeElement,B,{tagName:ae,allowedTags:ie}),Ye&&B.hasChildNodes()&&!Qt(B.firstElementChild)&&qt(/<[/\w!]/g,B.innerHTML)&&qt(/<[/\w!]/g,B.textContent)||Ye&&B.namespaceURI===ut&&ae==="style"&&Qt(B.firstElementChild)||B.nodeType===cs.progressingInstruction||Ye&&B.nodeType===cs.comment&&qt(/<[/\w]/g,B.data))return Pt(B),!0;if(re[ae]||!(pe.tagCheck instanceof Function&&pe.tagCheck(ae))&&!ie[ae]){if(!re[ae]&&rs(ae)&&(G.tagNameCheck instanceof RegExp&&qt(G.tagNameCheck,ae)||G.tagNameCheck instanceof Function&&G.tagNameCheck(ae)))return!1;if(Z&&!ce[ae]){const Re=h(B),Fe=a(B);if(Fe&&Re){const Te=Fe.length;for(let We=Te-1;We>=0;--We){const et=w(Fe[We],!0);Re.insertBefore(et,v(B))}}}return Pt(B),!0}return(y?y(B):B.nodeType)===cs.element&&!Nt(B)||(ae==="noscript"||ae==="noembed"||ae==="noframes")&&qt(/<\/no(script|embed|frames)/i,B.innerHTML)?(Pt(B),!0):(Ke&&B.nodeType===cs.text&&(K=B.textContent,nn([V,$,R],Re=>{K=An(K,Re," ")}),B.textContent!==K&&(Dn(t.removed,{element:B.cloneNode()}),B.textContent=K)),Lt(z.afterSanitizeElements,B,null),!1)},Ei=function(B,K,ae){if(se[K]||te&&(K==="id"||K==="name")&&(ae in i||ae in is))return!1;const Me=M[K]||pe.attributeCheck instanceof Function&&pe.attributeCheck(K,B);if(!(Ce&&!se[K]&&qt(O,K))){if(!(fe&&qt(D,K))){if(!Me||se[K]){if(!(rs(B)&&(G.tagNameCheck instanceof RegExp&&qt(G.tagNameCheck,B)||G.tagNameCheck instanceof Function&&G.tagNameCheck(B))&&(G.attributeNameCheck instanceof RegExp&&qt(G.attributeNameCheck,K)||G.attributeNameCheck instanceof Function&&G.attributeNameCheck(K,B))||K==="is"&&G.allowCustomizedBuiltInElements&&(G.tagNameCheck instanceof RegExp&&qt(G.tagNameCheck,ae)||G.tagNameCheck instanceof Function&&G.tagNameCheck(ae))))return!1}else if(!$t[K]){if(!qt(ue,An(ae,X,""))){if(!((K==="src"||K==="xlink:href"||K==="href")&&B!=="script"&&rp(ae,"data:")===0&&Qe[B])){if(!(Ue&&!qt(H,An(ae,X,"")))){if(ae)return!1}}}}}}return!0},As=ze({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),rs=function(B){return!As[$r(B)]&&qt(Q,B)},os=function(B){Lt(z.beforeSanitizeAttributes,B,null);const K=B.attributes;if(!K||ki(B))return;const ae={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:M,forceKeepAttr:void 0};let Me=K.length;for(;Me--;){const Re=K[Me],Fe=Re.name,Te=Re.namespaceURI,We=Re.value,et=ot(Fe),tt=We;let Ve=Fe==="value"?tt:jx(tt);if(ae.attrName=et,ae.attrValue=Ve,ae.keepAttr=!0,ae.forceKeepAttr=void 0,Lt(z.uponSanitizeAttribute,B,ae),Ve=ae.attrValue,Le&&(et==="id"||et==="name")&&rp(Ve,ne)!==0&&(dt(Fe,B),Ve=ne+Ve),Ye&&qt(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Ve)){dt(Fe,B);continue}if(et==="attributename"&&np(Ve,"href")){dt(Fe,B);continue}if(ae.forceKeepAttr)continue;if(!ae.keepAttr){dt(Fe,B);continue}if(!ge&&qt(/\/>/i,Ve)){dt(Fe,B);continue}Ke&&nn([V,$,R],jt=>{Ve=An(Ve,jt," ")});const Rt=ot(B.nodeName);if(!Ei(Rt,et,Ve)){dt(Fe,B);continue}if(b&&typeof u=="object"&&typeof u.getAttributeType=="function"&&!Te)switch(u.getAttributeType(Rt,et)){case"TrustedHTML":{Ve=k(Ve);break}case"TrustedScriptURL":{Ve=b.createScriptURL(Ve);break}}if(Ve!==tt)try{Te?B.setAttributeNS(Te,Fe,Ve):B.setAttribute(Fe,Ve),ki(B)?Pt(B):sp(t.removed)}catch{dt(Fe,B)}}Lt(z.afterSanitizeAttributes,B,null)},ci=function(B){let K=null;const ae=Ct(B);for(Lt(z.beforeSanitizeShadowDOM,B,null);K=ae.nextNode();)if(Lt(z.uponSanitizeShadowNode,K,null),Kt(K),os(K),li(K.content)&&ci(K.content),(y?y(K):K.nodeType)===cs.element){const Re=c?c(K):K.shadowRoot;li(Re)&&(Gt(Re),ci(Re))}Lt(z.afterSanitizeShadowDOM,B,null)},Gt=function(B){const K=y?y(B):B.nodeType;if(K===cs.element){const Re=c?c(B):B.shadowRoot;li(Re)&&(Gt(Re),ci(Re))}const ae=a?a(B):B.childNodes;if(!ae)return;const Me=[];nn(ae,Re=>{Dn(Me,Re)});for(const Re of Me)Gt(Re);if(K===cs.element){const Re=C?C(B):null;if(typeof Re=="string"&&ot(Re)==="template"){const Fe=B.content;li(Fe)&&Gt(Fe)}}};return t.sanitize=function(F){let B=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},K=null,ae=null,Me=null,Re=null;if(_t=!F,_t&&(F="<!-->"),typeof F!="string"&&!Qt(F)&&(F=Ux(F),typeof F!="string"))throw Mn("dirty is not a string, aborting");if(!t.isSupported)return F;if(De||Bt(B),t.removed=[],typeof F=="string"&&(le=!1),le){const We=C?C(F):F.nodeName;if(typeof We=="string"){const et=ot(We);if(!ie[et]||re[et])throw Mn("root node is forbidden and cannot be sanitized in-place")}if(ki(F))throw Mn("root node is clobbered and cannot be sanitized in-place");Gt(F)}else if(Qt(F))K=ai("<!---->"),ae=K.ownerDocument.importNode(F,!0),ae.nodeType===cs.element&&ae.nodeName==="BODY"||ae.nodeName==="HTML"?K=ae:K.appendChild(ae),Gt(ae);else{if(!oe&&!Ke&&!ke&&F.indexOf("<")===-1)return b&&Be?k(F):F;if(K=ai(F),!K)return oe?null:Be?E:""}K&&Ee&&Pt(K.firstChild);const Fe=Ct(le?F:K);for(;Me=Fe.nextNode();)Kt(Me),os(Me),li(Me.content)&&ci(Me.content);if(le)return Ke&&Zt(F),F;if(oe){if(Ke&&Zt(K),ye)for(Re=P.call(K.ownerDocument);K.firstChild;)Re.appendChild(K.firstChild);else Re=K;return(M.shadowroot||M.shadowrootmode)&&(Re=W.call(s,Re,!0)),Re}let Te=ke?K.outerHTML:K.innerHTML;return ke&&ie["!doctype"]&&K.ownerDocument&&K.ownerDocument.doctype&&K.ownerDocument.doctype.name&&qt(eC,K.ownerDocument.doctype.name)&&(Te="<!DOCTYPE "+K.ownerDocument.doctype.name+`>
|
|
161
|
+
`+Te),Ke&&nn([V,$,R],We=>{Te=An(Te,We," ")}),b&&Be?k(Te):Te},t.setConfig=function(){let F=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Bt(F),De=!0},t.clearConfig=function(){Ci=null,De=!1},t.isValidAttribute=function(F,B,K){Ci||Bt({});const ae=ot(F),Me=ot(B);return Ei(ae,Me,K)},t.addHook=function(F,B){typeof B=="function"&&Dn(z[F],B)},t.removeHook=function(F,B){if(B!==void 0){const K=Ox(z[F],B);return K===-1?void 0:Bx(z[F],K,1)[0]}return sp(z[F])},t.removeHooks=function(F){z[F]=[]},t.removeAllHooks=function(){z=fp()},t}var nC=nv();const rC=/[^\n]*?(?:[。!?…]+|[.!?]+(?=\s|$)|\n+|$)/gu,oC=/[。!?…]$|[.!?]$/;function aC(e,t){for(let i=e.parentNode;i&&i!==t;i=i.parentNode){const s=i.nodeName;if(s==="PRE"||s==="SCRIPT"||s==="STYLE"||s==="CODE")return!0}return!1}function lC(e){if(!e)return[];if(e.querySelector("span.tts-sent"))return cC(e);const t=document.createTreeWalker(e,NodeFilter.SHOW_TEXT,{acceptNode:n=>n.nodeValue&&n.nodeValue.trim()&&!aC(n,e)?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}),i=[];for(;t.nextNode();)i.push(t.currentNode);const s=[],r=[];let l=0;for(const n of i){const o=n.ownerDocument.createDocumentFragment();for(const f of n.nodeValue.matchAll(rC)){const _=f[0];if(_==="")continue;const u=n.ownerDocument.createElement("span");u.className="tts-sent",u.textContent=_,o.appendChild(u),(r[l]||(r[l]=[])).push(u),s[l]=(s[l]||"")+_,oC.test(_)&&l++}n.parentNode.replaceChild(o,n)}const p=[];return s.forEach((n,o)=>{const f=(n||"").replace(/\s+/g," ").trim();if(!f)return;const _=p.length;p.push(f);for(const u of r[o]||[])u.dataset.tts=String(_)}),p}function cC(e){const t=[];return e.querySelectorAll("span.tts-sent[data-tts]").forEach(i=>{const s=Number(i.dataset.tts);t[s]=(t[s]||"")+i.textContent}),t.map(i=>(i||"").replace(/\s+/g," ").trim())}const rv="tw_doc_rate",Ma=[1,1.25,1.5],pp=()=>{const e=Number(localStorage.getItem(rv));return Ma.includes(e)?e:1};function uC(){const e=typeof window<"u"&&window.speechSynthesis||null,[t,i]=N.useState({playing:!1,paused:!1,idx:-1}),[s,r]=N.useState(pp),l=N.useRef({sentences:[],idx:-1,playing:!1,rate:pp()});l.current.rate=s;const p=()=>((e==null?void 0:e.getVoices())||[]).find(w=>/^zh/i.test(w.lang))||null,n=w=>{const S=l.current;if(!e)return;if(w<0||w>=S.sentences.length){o();return}S.idx=w,i({playing:!0,paused:!1,idx:w});const v=new SpeechSynthesisUtterance(S.sentences[w]);v.rate=S.rate;const a=p();a?(v.voice=a,v.lang=a.lang):v.lang="zh-CN";const h=()=>{S.playing&&S.idx===w&&n(w+1)};v.onend=h,v.onerror=h,e.speak(v)},o=()=>{const w=l.current;w.playing=!1,w.idx=-1,e&&e.cancel(),i({playing:!1,paused:!1,idx:-1})},f=w=>{if(!e||!w||!w.length)return;e.cancel();const S=l.current;if(S.sentences=w,S.playing=!0,S.idx=-1,i({playing:!0,paused:!1,idx:-1}),e.getVoices().length){n(0);return}const v=()=>{e.removeEventListener("voiceschanged",v),S.playing&&S.idx===-1&&n(0)};e.addEventListener("voiceschanged",v),setTimeout(v,300)},_=()=>{e&&l.current.playing&&(e.pause(),i(w=>({...w,paused:!0})))},u=()=>{e&&l.current.playing&&(e.resume(),i(w=>({...w,paused:!1})))},m=()=>{const w=Ma[(Ma.indexOf(s)+1)%Ma.length]||1;localStorage.setItem(rv,String(w)),l.current.rate=w,r(w);const S=l.current;e&&S.playing&&S.idx>=0&&(e.cancel(),n(S.idx))};return N.useEffect(()=>()=>{l.current.playing=!1,e&&e.cancel()},[e]),{supported:!!e,playing:t.playing,paused:t.paused,idx:t.idx,rate:s,play:f,pause:_,resume:u,stop:o,cycleRate:m}}const mp=6,hC=500,gp=10,dC=300,_p=(e,t)=>Math.hypot(e.x-t.x,e.y-t.y);function fC({url:e,name:t}){const[i,s]=N.useState({s:1,x:0,y:0}),[r,l]=N.useState(""),[p,n]=N.useState(!1),o=N.useRef(i);o.current=i;const f=N.useRef(null),_=N.useRef(null),u=N.useRef(null),m=N.useRef(new Map),w=N.useRef(null),S=N.useRef(null),v=N.useRef(null),a=N.useRef({moved:!1,lpFired:!1,pinched:!1}),h=N.useRef(0);if(!e)return g.jsx("div",{className:"doc-image-msg",children:T("imageviewer.loadFailed")});const c=(A,P,j)=>{const W=_.current,z=u.current;if(!W||!z)return{x:P,y:j};const V=Math.max(0,(z.offsetWidth*A-W.clientWidth)/2),$=Math.max(0,(z.offsetHeight*A-W.clientHeight)/2);return{x:Math.min(V,Math.max(-V,P)),y:Math.min($,Math.max(-$,j))}},d=(A,P,j)=>{if(A=Math.min(mp,Math.max(1,A)),A<=1){s({s:1,x:0,y:0});return}const W=c(A,P,j);s({s:A,x:W.x,y:W.y})},y=A=>d(o.current.s*A,o.current.x,o.current.y),C=()=>{v.current&&(clearTimeout(v.current),v.current=null)},b=A=>{l(A),f.current&&clearTimeout(f.current),f.current=setTimeout(()=>l(""),2500)},E=()=>{n(!1);const A=document.createElement("a");A.href=e,A.download=t||"image",document.body.appendChild(A),A.click(),A.remove(),b(T("imageviewer.saved"))},x=async()=>{var A;n(!1);try{const P=await(await fetch(e)).blob(),j=new File([P],t||"image",{type:Al(t)||P.type||"application/octet-stream"});if((A=navigator.canShare)!=null&&A.call(navigator,{files:[j]})){await navigator.share({files:[j]});return}}catch{return}b(T("imageviewer.shareUnsupported"))},k=A=>{var j,W;(W=(j=A.currentTarget).setPointerCapture)==null||W.call(j,A.pointerId),m.current.set(A.pointerId,{x:A.clientX,y:A.clientY});const P=m.current.size;if(P===2){C(),a.current.pinched=!0;const[z,V]=[...m.current.values()];w.current={dist:_p(z,V)||1,s:o.current.s}}else P===1&&(a.current.moved=!1,a.current.lpFired=!1,a.current.pinched=!1,S.current={x:A.clientX,y:A.clientY},C(),v.current=setTimeout(()=>{v.current=null,m.current.size===1&&!a.current.moved&&(a.current.lpFired=!0,n(!0))},hC))},L=A=>{if(m.current.has(A.pointerId)){if(m.current.set(A.pointerId,{x:A.clientX,y:A.clientY}),m.current.size>=2&&w.current){const[P,j]=[...m.current.values()];d(w.current.s*(_p(P,j)/w.current.dist),o.current.x,o.current.y);return}if(S.current){const P=A.clientX-S.current.x,j=A.clientY-S.current.y;(Math.abs(P)>gp||Math.abs(j)>gp)&&(a.current.moved=!0,C()),o.current.s>1&&(S.current={x:A.clientX,y:A.clientY},d(o.current.s,o.current.x+P,o.current.y+j))}}},I=A=>{if(C(),m.current.delete(A.pointerId),m.current.size===1){w.current=null;const[P]=[...m.current.values()];S.current={x:P.x,y:P.y}}else if(m.current.size===0){if(!a.current.moved&&!a.current.lpFired&&!a.current.pinched){const j=A.timeStamp||0;j-h.current<dC?(h.current=0,o.current.s>1?d(1,0,0):d(2,0,0)):h.current=j}w.current=null,S.current=null,a.current={moved:!1,lpFired:!1,pinched:!1}}};return g.jsxs("div",{ref:_,className:"doc-image-wrap",onPointerDown:k,onPointerMove:L,onPointerUp:I,onPointerCancel:I,onContextMenu:A=>A.preventDefault(),children:[g.jsx("img",{ref:u,className:"doc-image",src:e,alt:t,draggable:!1,style:{transform:`translate(${i.x}px, ${i.y}px) scale(${i.s})`}}),g.jsxs("div",{className:"doc-image-zoom",onPointerDown:A=>A.stopPropagation(),children:[g.jsx("button",{onClick:()=>y(1/1.5),disabled:i.s<=1,"aria-label":T("imageviewer.zoomOut"),children:"−"}),g.jsxs("span",{className:"doc-image-zoom-val","aria-hidden":"true",children:[Math.round(i.s*100),"%"]}),g.jsx("button",{onClick:()=>y(1.5),disabled:i.s>=mp,"aria-label":T("imageviewer.zoomIn"),children:"+"})]}),r&&g.jsx("div",{className:"doc-image-note",role:"status",children:r}),g.jsx(zh,{open:p,title:t||T("imageviewer.imageTitle"),actions:[{key:"save",label:T("imageviewer.saveImage"),onClick:E},{key:"share",label:T("imageviewer.shareImage"),onClick:x}],onClose:()=>n(!1)})]})}const yc=Rs.length-1;function pC({type:e,name:t,content:i}){const[s,r]=N.useState(()=>py()),l=N.useRef(null),p=uC();$h(p.playing&&!p.paused);const n=N.useMemo(()=>e==="markdown"?nC.sanitize(nt.parse(i||"")):"",[e,i]);if(N.useEffect(()=>{p.stop()},[n]),N.useEffect(()=>{var w;const u=l.current;if(!u||(u.querySelectorAll(".tts-active").forEach(S=>S.classList.remove("tts-active")),p.idx<0))return;const m=u.querySelectorAll(`.tts-sent[data-tts="${p.idx}"]`);m.forEach(S=>S.classList.add("tts-active")),(w=m[0])==null||w.scrollIntoView({block:"center",behavior:"smooth"})},[p.idx]),e==="image")return g.jsx(fC,{url:i,name:t});if(e==="html")return g.jsx("iframe",{className:"doc-iframe",sandbox:"allow-scripts",srcDoc:i||"",title:t});const o=u=>{const m=Math.min(yc,Math.max(0,s+u));r(m),my(m)};if(e==="text")return g.jsxs("div",{className:"doc-md-wrap",children:[g.jsx("div",{className:"doc-zoom",children:g.jsxs("div",{className:"doc-fonts",children:[g.jsx("button",{className:"doc-zoom-btn",onClick:()=>o(-1),disabled:s<=0,"aria-label":T("doc.fontSmaller"),children:"A−"}),g.jsx("button",{className:"doc-zoom-btn",onClick:()=>o(1),disabled:s>=yc,"aria-label":T("doc.fontLarger"),children:"A+"})]})}),g.jsx("pre",{className:"doc-text",style:{fontSize:`${Rs[s]}px`},children:i||""})]});const f=()=>{if(p.playing){p.paused?p.resume():p.pause();return}const u=lC(l.current);u.length&&p.play(u)},_=p.playing&&!p.paused;return g.jsxs("div",{className:"doc-md-wrap",children:[g.jsxs("div",{className:"doc-zoom",children:[p.supported&&g.jsxs("div",{className:"doc-tts",children:[g.jsx("button",{className:"doc-zoom-btn doc-zoom-icon",onClick:f,"aria-label":_?T("doc.pauseRead"):p.paused?T("doc.resumeRead"):T("doc.read"),children:_?g.jsx(d1,{}):g.jsx(h1,{})}),g.jsx("button",{className:"doc-zoom-btn doc-zoom-icon",onClick:p.stop,disabled:!p.playing,"aria-label":T("doc.stopRead"),children:g.jsx(f1,{})}),g.jsxs("button",{className:"doc-zoom-btn",onClick:p.cycleRate,"aria-label":T("doc.rate"),children:[p.rate,"×"]})]}),g.jsxs("div",{className:"doc-fonts",children:[g.jsx("button",{className:"doc-zoom-btn",onClick:()=>o(-1),disabled:s<=0,"aria-label":T("doc.fontSmaller"),children:"A−"}),g.jsx("button",{className:"doc-zoom-btn",onClick:()=>o(1),disabled:s>=yc,"aria-label":T("doc.fontLarger"),children:"A+"})]})]}),g.jsx("div",{ref:l,className:"doc-md",style:{fontSize:`${Rs[s]}px`},dangerouslySetInnerHTML:{__html:n}})]})}function mC({open:e,pane:t,windowId:i,tabs:s,active:r,onActivate:l,onCloseTab:p,onMinimize:n,onOpenDoc:o,pendingShare:f,onPendingConsumed:_}){const u=s.find(z=>z.key===r)||s[0],[m,w]=N.useState("recent"),[S,v]=N.useState(null),[a,h]=N.useState(0),c=u.type==="home",d=N.useRef(null),y=N.useRef(S);y.current=S;const C=N.useRef(r);C.current=r;const b=N.useRef(i);b.current=i;const E=N.useRef(n);E.current=n;const x=N.useRef(l);x.current=l;const k=N.useRef(r),L=N.useRef(0),I=N.useRef([]),A=()=>{window.history.pushState({fileOverlay:!0},""),L.current+=1},P=z=>{e&&z!==y.current&&(I.current.push({type:"nav",prev:y.current}),A()),v(z),pf(i,z)},j=N.useRef(e);N.useEffect(()=>{const z=k.current;k.current=r;const V=j.current;j.current=e,e&&V&&z==="home"&&r!=="home"&&(I.current.push({type:"doc"}),A())},[r,e]),N.useEffect(()=>{if(!e)return;I.current=[],L.current=0,A();const z=()=>{var $,R;L.current=Math.max(0,L.current-1);const V=I.current.pop();if((V==null?void 0:V.type)==="doc"){($=x.current)==null||$.call(x,"home");return}if((V==null?void 0:V.type)==="nav"){v(V.prev),V.prev&&pf(b.current,V.prev);return}(R=E.current)==null||R.call(E)};return window.addEventListener("popstate",z),()=>{window.removeEventListener("popstate",z),L.current>0&&(window.history.go(-L.current),L.current=0)}},[e]);const W=async()=>{try{const{cwd:z}=await yn(t);z&&v(z)}catch{}};return N.useEffect(()=>{f&&w("browse")},[f]),N.useEffect(()=>{e&&h(z=>z+1)},[e]),N.useEffect(()=>{if(!e){d.current=null;return}if(d.current===i)return;d.current=i,I.current=[],w("browse");let z=!1;return(async()=>{const V=qw(i);let $=null;if(V)try{await n_(V),$=V}catch{}if(!$&&t)try{const{cwd:R}=await yn(t);$=R}catch{}!z&&$&&v($)})(),()=>{z=!0}},[e,i,t]),Do.createPortal(g.jsxs("div",{className:`file-sheet ${e?"open":""}`,"aria-hidden":!e,children:[g.jsxs("div",{className:"file-tabs",children:[g.jsx("div",{className:"file-tabs-scroll",children:s.map(z=>g.jsxs("div",{className:`file-tab ${z.key===r?"active":""}`,children:[g.jsx("button",{className:"file-tab-label",onClick:()=>l(z.key),children:z.key==="home"?g.jsxs(g.Fragment,{children:[g.jsx(yo,{}),T("filemanager.files")]}):z.name}),z.key!=="home"&&g.jsx("button",{className:"file-tab-x","aria-label":T("filemanager.closeTab"),onClick:()=>p(z.key),children:"✕"})]},z.key))}),g.jsx("button",{className:"file-min","aria-label":T("filemanager.minimize"),title:T("filemanager.minimize"),onClick:n,children:g.jsx(Js,{})})]}),g.jsx("div",{className:"file-body",children:c?g.jsxs("div",{className:"home-pane",children:[g.jsxs("div",{className:"file-seg",role:"tablist",children:[g.jsxs("button",{className:`file-seg-btn ${m==="recent"?"on":""}`,role:"tab","aria-selected":m==="recent",onClick:()=>w("recent"),children:[g.jsx(u_,{}),T("filemanager.recent")]}),g.jsxs("button",{className:`file-seg-btn ${m==="browse"?"on":""}`,role:"tab","aria-selected":m==="browse",onClick:()=>w("browse"),children:[g.jsx(yo,{}),T("filemanager.directory")]})]}),m==="recent"?g.jsx(Kb,{onOpenDoc:o,refreshKey:a}):g.jsx($_,{path:S,onNavigate:P,onOpenDoc:o,onJumpToCwd:t?W:null,refreshKey:a,pendingFile:f,onPendingConsumed:_})]}):g.jsx(pC,{type:u.type,name:u.name,content:u.content})})]}),document.body)}function gC(e){if(!e)return[];const t=[];let i=null,s=null;for(const r of e.split(`
|
|
162
|
+
`)){if(r.startsWith("diff --git")){const p=r.match(/ b\/(.*)$/);i={path:p?p[1]:r.slice(11),hunks:[]},t.push(i),s=null;continue}if(!i)continue;if(r.startsWith("@@")){s={header:r,lines:[]},i.hunks.push(s);continue}if(!s)continue;const l=r[0];l==="+"?s.lines.push({type:"add",text:r.slice(1)}):l==="-"?s.lines.push({type:"del",text:r.slice(1)}):l===" "&&s.lines.push({type:"ctx",text:r.slice(1)})}return t}const _C=e=>String(e||"").replace(/\/+$/,"").split("/").pop()||e;function fl(e,t){const i=(e&&e!==" "?e:t)||"?";return i==="?"?"?":i}function vC({open:e,pane:t,windowId:i,inset:s=0,onClose:r}){const l=N.useRef(!0);N.useEffect(()=>()=>{l.current=!1},[]);const[p,n]=N.useState([]),[o,f]=N.useState(null),[_,u]=N.useState([]),m=_.length?_[_.length-1]:null,[w,S]=N.useState(!1),[v,a]=N.useState(null),h=N.useRef(i);N.useEffect(()=>{h.current=i},[i]);const[c,d]=N.useState(null),[y,C]=N.useState(null),[b,E]=N.useState(null),[x,k]=N.useState(null),[L,I]=N.useState(20),[A,P]=N.useState(!1),[j,W]=N.useState({changes:!0,commits:!0}),[z,V]=N.useState(!1),$=N.useRef(null),[R,O]=N.useState(null),[D,H]=N.useState(null),[X,Q]=N.useState(null),ue=N.useRef(_);ue.current=_;const ie=N.useRef(w);ie.current=w;const U=N.useRef(r);U.current=r;const M=N.useRef(0),Y=()=>{window.history.pushState({gitOverlay:!0},""),M.current+=1},G=ne=>{Y(),u(Z=>[...Z,ne])},re=()=>{Y(),S(!0)};N.useEffect(()=>{if(!e)return;Y();const ne=()=>{var Z;if(M.current=Math.max(0,M.current-1),ie.current){S(!1);return}if(ue.current.length){u(le=>le.slice(0,-1));return}(Z=U.current)==null||Z.call(U)};return window.addEventListener("popstate",ne),()=>{window.removeEventListener("popstate",ne),M.current>0&&(window.history.go(-M.current),M.current=0)}},[e]),N.useEffect(()=>{if(!e)return;let ne=!1;u([]),k(null),H(null),Q(null);const Z=Oh(i);return Z.length?(n(Z),f(le=>le&&Z.includes(le)?le:Z[0]),()=>{ne=!0}):(n([]),f(null),(async()=>{try{if(!t)return;const{cwd:le}=await yn(t);if(!le)return;const{repos:we=[]}=await bf(le);if(ne||!we.length)return;const ce=wf(i,we.map(Je=>Je.path));if(ne)return;n(ce),f(ce[0]??null)}catch(le){if(ne)return;(le==null?void 0:le.message)==="outside home"?Q(T("git.outsideRoots")):H(T("git.errReadRepo"))}})(),()=>{ne=!0})},[e,t,i]),N.useEffect(()=>{if(!e||!t)return;let ne=!1;return yn(t).then(({cwd:Z})=>{!ne&&Z&&a(Z)}).catch(()=>{}),()=>{ne=!0}},[e,t]),N.useEffect(()=>{if(!e||!o){d(null),C(null);return}let ne=!1;return d(null),C(null),E(null),k(null),I(20),H(null),Q(null),(async()=>{try{const[Z,le]=await Promise.all([Gy(o),Yy(o)]);if(ne)return;d(Z.changes??[]),C(le.branches??[])}catch{ne||H(T("git.errLoad"))}})(),()=>{ne=!0}},[e,o]),N.useEffect(()=>{if(!e||!o){E(null);return}let ne=!1;return(async()=>{try{const{commits:Z=[]}=await qy(o,{ref:x||void 0,limit:L});ne||E(Z)}catch{ne||E([])}finally{ne||P(!1)}})(),()=>{ne=!0}},[e,o,x,L]);const se=!o||!m?"":m.kind==="diff"?`${o}|diff|${m.path}|${m.commit||""}|${m.staged?1:0}`:`${o}|commit|${m.hash}`;N.useEffect(()=>{if(!e||!o||!m){O(null);return}let ne=!1;return H(null),O(null),(async()=>{try{let Z;if(m.kind==="diff"){const{diff:le,truncated:we}=await Xy(o,{path:m.path,commit:m.commit,staged:m.staged});Z={files:gC(le),truncated:we}}else Z=await Jy(o,m.hash);ne||O({key:se,payload:Z})}catch{ne||H(T("git.errLoad"))}})(),()=>{ne=!0}},[e,se]);const pe=N.useCallback(()=>{window.history.back()},[]),fe=ne=>{f(ne),u([]),k(null)},Ce=async ne=>{window.history.back(),Q(null);try{const{repos:Z=[]}=await bf(ne);if(!l.current)return;if(!Z.length){Q(T("git.noRepoInDir"));return}const le=Z.map(Qe=>Qe.path),we=h.current,ce=we?wf(we,le):le;n(Qe=>{const it=[...Qe];for(const $t of ce)it.includes($t)||it.push($t);return it});const Je=le.find(Qe=>!p.includes(Qe))||le[0];fe(Je)}catch(Z){if(!l.current)return;(Z==null?void 0:Z.message)==="outside home"?Q(T("git.outsideRoots")):H(T("git.errReadDir"))}},Ue=ne=>{const Z=Cy(i,ne);n(Z),o===ne&&(f(Z[0]??null),u([]),k(null))},ge=(y||[]).find(ne=>ne.current)||null,Ke=ne=>{const Z=ne===(ge==null?void 0:ge.name)?null:ne;Z!==x&&(k(Z),E(null),I(20))},Ye=ne=>W(Z=>({...Z,[ne]:!Z[ne]})),ke=b!=null&&b.length>=L,De=ne=>{if(!ke||A)return;const Z=ne.currentTarget;Z.scrollHeight-Z.scrollTop-Z.clientHeight<80&&(P(!0),I(le=>le+20))},Ee=x||(ge==null?void 0:ge.name)||null,oe=!!x&&x!==(ge==null?void 0:ge.name),ye=x?(y||[]).find(ne=>ne.name===x):ge,Be=R&&R.key===se?R.payload:null,te=!!m,Le=(m==null?void 0:m.kind)==="commit"?T("git.commitDetail"):(m==null?void 0:m.kind)==="diff"?m.path||T("git.diff"):"";return Do.createPortal(g.jsxs("div",{className:`file-sheet git-sheet ${e?"open":""}`,"aria-hidden":!e,style:{"--kb-inset":`${s}px`},children:[g.jsxs("div",{className:"file-tabs git-head",children:[te?g.jsxs("div",{className:"git-drill-head",children:[g.jsx("button",{className:"git-back","aria-label":T("common.back"),title:T("common.back"),onClick:pe,children:"‹"}),g.jsxs("span",{className:"git-drill-title",children:[g.jsx(f_,{}),g.jsx("span",{className:"git-title-text",children:Le})]})]}):g.jsxs("div",{className:"git-tabs-scroll",children:[g.jsx("button",{className:"git-tab-add","aria-label":T("git.bindRepo"),title:T("git.bindRepo"),onClick:re,children:"+"}),p.map(ne=>g.jsxs("div",{className:`git-tab ${ne===o?"active":""}`,children:[g.jsx("button",{className:"git-tab-label",onClick:()=>fe(ne),children:_C(ne)}),g.jsx("button",{className:"git-tab-x","aria-label":T("common.close"),title:T("common.close"),onClick:()=>Ue(ne),children:"✕"})]},ne))]}),g.jsx("button",{className:"file-min","aria-label":T("git.collapse"),title:T("git.collapse"),onClick:()=>r==null?void 0:r(),children:g.jsx(Js,{})})]}),!te&&o&&g.jsxs("div",{className:"git-branch-bar",children:[g.jsxs("span",{className:"git-branch-bar-name",children:[g.jsx("span",{className:"git-branch-glyph",children:"⎇"})," ",Ee||"—",!oe&&Ee&&g.jsx("span",{className:"git-branch-cur-tag",children:T("git.currentBranch")}),ye&&(ye.ahead||ye.behind)?g.jsxs("span",{className:"git-branch-bar-track",children:[ye.ahead?g.jsxs("span",{className:"git-ahead",children:["↑",ye.ahead]}):null,ye.behind?g.jsxs("span",{className:"git-behind",children:["↓",ye.behind]}):null]}):null]}),g.jsxs("div",{className:"git-branch-dd",children:[g.jsxs("button",{className:`git-branch-trigger ${oe?"other":""}`,onClick:()=>V(ne=>!ne),"aria-haspopup":"listbox","aria-expanded":z,title:T("git.switchViewedBranch"),children:[g.jsx("span",{className:"git-branch-trigger-name",children:T("git.switchBranch")}),g.jsx("span",{className:"git-branch-caret",children:g.jsx(Js,{})})]}),z&&g.jsxs(g.Fragment,{children:[g.jsx("div",{className:"git-dd-backdrop",onClick:()=>V(!1)}),g.jsxs("div",{className:"git-dd-menu",role:"listbox",children:[(y||[]).length===0&&g.jsx("div",{className:"git-empty",children:T("git.noBranches")}),(y||[]).map(ne=>{const Z=x?ne.name===x:ne.current;return g.jsxs("button",{role:"option","aria-selected":Z,className:`git-dd-item ${ne.current?"current":""} ${Z?"viewing":""}`,onClick:()=>{Ke(ne.name),V(!1)},children:[g.jsx("span",{className:"git-branch-dot",children:ne.current?"●":""}),g.jsx("span",{className:"git-row-path",children:ne.name}),ne.upstream&&g.jsxs("span",{className:"git-branch-up",children:[ne.upstream,ne.ahead?g.jsxs("span",{className:"git-ahead",children:[" ↑",ne.ahead]}):null,ne.behind?g.jsxs("span",{className:"git-behind",children:[" ↓",ne.behind]}):null]})]},ne.name)})]})]})]})]}),g.jsxs("div",{className:"git-body",children:[D&&g.jsx("div",{className:"git-error",children:D}),X&&!D&&!te&&g.jsx("div",{className:"git-notice",children:X}),!o&&!D&&!X&&g.jsx("div",{className:"git-empty",children:T("git.noRepoBound")}),te&&o&&!D&&g.jsx("div",{className:"git-scroll",children:Be?m.kind==="diff"?g.jsx(bC,{data:Be}):g.jsx(SC,{data:Be,onOpenFile:ne=>G({kind:"diff",path:ne,commit:m.hash})}):g.jsx("div",{className:"git-loading",children:T("common.loading")})}),!te&&o&&!D&&g.jsxs(g.Fragment,{children:[g.jsx(vp,{variant:"top",title:T("git.changes"),count:c==null?void 0:c.length,expanded:j.changes,onToggle:()=>Ye("changes"),children:c==null?g.jsx("div",{className:"git-loading",children:T("common.loading")}):g.jsx(wC,{data:{changes:c},onOpenFile:(ne,Z)=>G({kind:"diff",path:ne,staged:Z})})}),g.jsx(vp,{variant:"mid",title:T("git.commits"),subtitle:oe?Ee:null,expanded:j.commits,onToggle:()=>Ye("commits"),bodyRef:$,onScroll:De,children:b==null?g.jsx("div",{className:"git-loading",children:T("common.loading")}):g.jsxs(g.Fragment,{children:[g.jsx(yC,{data:{commits:b},onOpen:ne=>G({kind:"commit",hash:ne})}),ke&&g.jsx("div",{className:"git-more",children:T(A?"common.loading":"git.pullToLoadMore")})]})})]})]}),g.jsx(Ao,{open:w,seedCwd:v,pane:t,inset:s,hint:T("git.pickerHint"),onPick:Ce,onClose:()=>window.history.back()})]}),document.body)}function vp({variant:e,title:t,subtitle:i,count:s,expanded:r,onToggle:l,onScroll:p,bodyRef:n,children:o}){return g.jsxs("div",{className:`git-section git-section--${e} ${r?"open":""}`,children:[g.jsxs("button",{className:"git-section-head",onClick:l,"aria-expanded":r,children:[g.jsx("span",{className:"git-section-caret",children:g.jsx(Js,{})}),g.jsx("span",{className:"git-section-title",children:t}),i&&g.jsx("span",{className:"git-section-sub",children:i}),s!=null&&g.jsx("span",{className:"git-section-count",children:s})]}),r&&g.jsx("div",{className:"git-section-body",ref:n,onScroll:p,children:o})]})}function wC({data:e,onOpenFile:t}){const i=(e==null?void 0:e.changes)??[];return i.length?g.jsx("div",{className:"git-list",children:i.map((s,r)=>{const l=!!(s.x&&s.x!==" "&&s.x!=="?");return g.jsxs("button",{className:"git-row",onClick:()=>t(s.path,l),children:[g.jsx("span",{className:`git-badge git-badge-${fl(s.x,s.y).toLowerCase().replace("?","q")}`,children:fl(s.x,s.y)}),g.jsx("span",{className:"git-row-path",children:s.path})]},`${s.path}-${r}`)})}):g.jsx("div",{className:"git-empty",children:T("git.cleanTree")})}function yC({data:e,onOpen:t}){const i=(e==null?void 0:e.commits)??[];return i.length?g.jsx("div",{className:"git-list",children:i.map(s=>g.jsxs("button",{className:"git-row git-commit-row",onClick:()=>t(s.hash),children:[g.jsx("span",{className:"git-hash",children:s.short}),g.jsxs("span",{className:"git-commit-main",children:[g.jsx("span",{className:"git-row-path",children:s.subject}),g.jsxs("span",{className:"git-commit-meta",children:[s.author," · ",s.relDate]})]})]},s.hash))}):g.jsx("div",{className:"git-empty",children:T("git.noCommits")})}function SC({data:e,onOpenFile:t}){if(!e)return null;const i=e.files??[];return g.jsxs("div",{className:"git-commit-detail",children:[e.message&&g.jsx("pre",{className:"git-commit-msg",children:e.message}),g.jsx("div",{className:"git-list",children:i.map((s,r)=>g.jsxs("button",{className:"git-row",onClick:()=>t(s.path),children:[g.jsx("span",{className:`git-badge git-badge-${fl(s.x,s.y).toLowerCase().replace("?","q")}`,children:fl(s.x,s.y)}),g.jsx("span",{className:"git-row-path",children:s.path})]},`${s.path}-${r}`))})]})}const wp=Rs.length-1;function bC({data:e}){const[t,i]=N.useState(()=>_y()),s=l=>{const p=Math.min(wp,Math.max(0,t+l));i(p),vy(p)};if(!e)return null;const r=e.files??[];return r.length?g.jsxs("div",{className:"git-diff-wrap",style:{fontSize:`${Rs[t]}px`},children:[g.jsxs("div",{className:"git-diff-zoom",children:[g.jsx("button",{className:"doc-zoom-btn",onClick:()=>s(-1),disabled:t<=0,"aria-label":T("git.fontSmaller"),children:"A−"}),g.jsx("button",{className:"doc-zoom-btn",onClick:()=>s(1),disabled:t>=wp,"aria-label":T("git.fontLarger"),children:"A+"})]}),e.truncated&&g.jsx("div",{className:"git-diff-trunc",children:T("git.diffTruncated")}),r.map((l,p)=>g.jsxs("div",{className:"git-diff-file",children:[r.length>1&&g.jsx("div",{className:"git-diff-fname",children:l.path}),g.jsx("div",{className:"git-diff",children:l.hunks.map((n,o)=>g.jsxs("div",{className:"git-diff-hunk-block",children:[g.jsx("div",{className:"git-diff-line git-diff-hunk",children:n.header}),n.lines.map((f,_)=>g.jsxs("div",{className:`git-diff-line git-diff-${f.type}`,children:[f.type==="add"?"+":f.type==="del"?"-":" ",f.text]},_))]},o))})]},`${l.path}-${p}`))]}):g.jsx("div",{className:"git-empty",children:T("git.noDiff")})}function xC(){const e=TS();if(!e.active)return null;const t=e.phase==="sending",i=Math.round((e.pct||0)*100);return Do.createPortal(g.jsx("div",{className:"upload-overlay",role:"alertdialog","aria-modal":"true","aria-label":T("upload.title"),children:g.jsxs("div",{className:"upload-card",children:[e.label&&g.jsx("div",{className:"upload-card-label",children:e.label}),t?g.jsxs(g.Fragment,{children:[g.jsx("div",{className:"upload-bar",children:g.jsx("div",{className:"upload-bar-fill",style:{width:`${i}%`}})}),g.jsxs("div",{className:"upload-card-sub",children:[i,"%"]})]}):g.jsxs(g.Fragment,{children:[g.jsx("div",{className:"upload-spinner","aria-hidden":"true"}),g.jsx("div",{className:"upload-card-sub",children:T("upload.processing")})]}),g.jsx("button",{type:"button",className:"upload-cancel",onClick:ES,children:T("common.cancel")})]})}),document.body)}const ma=8,yp=12;function CC({path:e,x:t,y:i,onOpen:s,onClose:r}){const l=e.split("/").filter(Boolean).pop()||e,p=N.useRef(null),[n,o]=N.useState(null);return N.useLayoutEffect(()=>{const f=p.current;if(!f)return;const _=f.offsetWidth,u=f.offsetHeight,m=window.innerWidth,w=window.innerHeight,S=Math.min(Math.max(t-_/2,ma),m-_-ma);let v=i+yp;v+u>w-ma&&(v=Math.max(ma,i-yp-u)),o({left:S,top:v})},[t,i,e]),g.jsxs(g.Fragment,{children:[g.jsx("div",{className:"doclink-backdrop",onClick:r}),g.jsxs("div",{ref:p,className:"doclink-pop",style:n?{left:n.left,top:n.top}:{left:0,top:0,visibility:"hidden"},role:"dialog","aria-label":T("doclink.title"),children:[g.jsxs("div",{className:"doclink-name",children:[g.jsx(yo,{}),l]}),g.jsx("div",{className:"doclink-path",children:e}),g.jsxs("div",{className:"doclink-actions",children:[g.jsx("button",{className:"doclink-cancel",onClick:r,children:T("common.cancel")}),g.jsx("button",{className:"doclink-open",onClick:()=>s(e),children:T("common.open")})]})]})]})}const kC=()=>`${Date.now().toString(36)}${Math.random().toString(36).slice(2,6)}`;function EC(e){const t=(e??"").trim();return t?{id:kC(),text:t}:null}function LC(e,t,i){const s=[...e];if(t<0||t>=s.length||i<0||i>=s.length||t===i)return s;const[r]=s.splice(t,1);return s.splice(i,0,r),s}function RC({open:e,session:t,window:i,onClose:s,onSend:r,onCountChange:l}){const[p,n]=N.useState([]),[o,f]=N.useState(""),[_,u]=N.useState(null),[m,w]=N.useState(null),S=N.useRef(null),v=N.useRef({head:"",tail:""}),a=N.useRef(null),h=N.useRef(!1),c=N.useRef({active:!1}),d=R=>{vf(t,i,R),n(R),l==null||l(R.length)},y=R=>{R&&(R.style.height="auto",R.style.height=`${R.scrollHeight+2}px`)};N.useEffect(()=>{if(!e)return;const R=s_(t,i);n(R),l==null||l(R.length),f(""),u(null)},[e,t,i]);const b=j_({onText:R=>{if(h.current){h.current=!1;return}const{head:O,tail:D}=v.current;f(O+R+D),a.current=O.length+R.length}}),E=H_(),x=b.state==="recording"||b.state==="finalizing";$h(x),N.useEffect(()=>{if(b.state!=="recording"&&b.state!=="finalizing"||h.current)return;const{head:R,tail:O}=v.current;f(R+b.partial+O),a.current=R.length+b.partial.length},[b.partial,b.state]),N.useLayoutEffect(()=>{const R=S.current;if(!R||(y(R),a.current==null))return;const O=a.current;if(a.current=null,document.activeElement===R)try{R.setSelectionRange(O,O)}catch{}},[o]);const k=()=>{if(x){b.stop();return}const R=S.current,O=R?R.selectionStart:o.length;v.current={head:o.slice(0,O),tail:o.slice(O)},b.start()},L=()=>{x&&(h.current=!0,b.stop())},I=()=>{L();const R=o.trim();if(R){if(_)d(p.map(O=>O.id===_?{...O,text:R}:O));else{const O=EC(R);O&&d([...p,O])}f(""),u(null)}},A=R=>{u(R.id),f(R.text),requestAnimationFrame(()=>{var O;return(O=S.current)==null?void 0:O.focus()})},P=()=>{u(null),f("")},j=R=>{d(p.filter(O=>O.id!==R)),R===_&&P()},W=(R,O)=>{var D,H;R.cancelable&&R.preventDefault(),(H=(D=R.currentTarget).setPointerCapture)==null||H.call(D,R.pointerId),c.current={active:!0,pointerId:R.pointerId,id:O},w(O)},z=R=>{var Q;const O=c.current;if(!O.active||R.pointerId!==O.pointerId)return;const D=(Q=R.currentTarget.closest(".idea-list"))==null?void 0:Q.querySelectorAll("[data-idea]");if(!D||!D.length)return;const H=R.clientY;let X=D.length-1;for(let ue=0;ue<D.length;ue++){const ie=D[ue].getBoundingClientRect();if(H<ie.top+ie.height/2){X=ue;break}}n(ue=>{const ie=ue.findIndex(U=>U.id===O.id);return ie<0||ie===X?ue:LC(ue,ie,X)})},V=R=>{const O=c.current;!O.active||R.pointerId!==O.pointerId||(c.current={active:!1},w(null),n(D=>(vf(t,i,D),D)))};if(!e)return null;const $=_!=null;return g.jsxs(g.Fragment,{children:[g.jsx("div",{className:"cmd-backdrop",onClick:s}),g.jsxs("div",{className:"idea-panel",role:"dialog","aria-label":T("idea.title"),children:[g.jsxs("div",{className:"cmd-head",children:[g.jsxs("span",{className:"cmd-title",children:[T("idea.title"),i?` · ${i}`:"",p.length>0&&g.jsx("span",{className:"idea-head-count",children:p.length})]}),g.jsx("button",{className:"cmd-close",onClick:s,"aria-label":T("common.close"),children:"✕"})]}),g.jsxs("div",{className:`idea-compose${x?" recording":""}`,children:[g.jsx("textarea",{ref:S,className:"idea-input",rows:1,placeholder:T($?"idea.editPlaceholder":"idea.addPlaceholder"),value:o,readOnly:x,onChange:R=>f(R.target.value)}),$&&g.jsx("button",{className:"idea-cancel",onClick:P,children:T("common.cancel")}),E&&g.jsx(P_,{active:x,disabled:b.state==="requesting",onToggle:k}),g.jsx("button",{className:"idea-act",onClick:I,disabled:!o.trim(),"aria-label":T($?"common.save":"idea.add"),children:$?g.jsx(c_,{}):g.jsx(l_,{})})]}),g.jsx("div",{className:"idea-list",children:p.length===0?g.jsx("div",{className:"cmd-empty",children:T("idea.empty")}):p.map(R=>g.jsxs("div",{"data-idea":R.id,className:`idea-row${R.id===m?" dragging":""}${R.id===_?" editing":""}`,children:[g.jsx("button",{type:"button",className:"idea-handle","aria-label":T("idea.dragSort"),onPointerDown:O=>W(O,R.id),onPointerMove:z,onPointerUp:V,onPointerCancel:V,children:"≡"}),g.jsx("span",{className:"idea-text",onClick:()=>A(R),children:R.text}),g.jsx("button",{className:"idea-send",onClick:()=>r==null?void 0:r(R.text),"aria-label":T("idea.fillInput"),children:T("idea.send")}),g.jsx("button",{className:"idea-del",onClick:()=>j(R.id),"aria-label":T("common.delete"),children:"✕"})]},R.id))})]})]})}function TC({open:e,onClose:t}){return e?g.jsxs(g.Fragment,{children:[g.jsx("div",{className:"cmd-backdrop",onClick:t}),g.jsxs("div",{className:"changelog-panel",role:"dialog","aria-label":T("changelog.title"),children:[g.jsxs("div",{className:"cmd-head",children:[g.jsx("span",{className:"cmd-title",children:T("changelog.title")}),g.jsx("button",{className:"cmd-close",onClick:t,"aria-label":T("common.close"),children:"✕"})]}),g.jsx("div",{className:"changelog-list",children:mu.map(i=>{var l,p;const s=i.items[Gn()]||i.items.en||i.items.zh||[],r=i.version?`v${i.version}`:((l=i.label)==null?void 0:l[Gn()])||((p=i.label)==null?void 0:p.en);return g.jsxs("div",{className:"rel",children:[g.jsxs("div",{className:"rel-date",children:[r&&g.jsx("span",{className:"rel-ver",children:r}),g.jsx("span",{className:"rel-day",children:i.date})]}),g.jsx("ul",{className:"rel-items",children:s.map((n,o)=>g.jsx("li",{children:n},o))})]},i.version||i.date)})})]})]}):null}function DC(){const[e,t]=N.useState(0);return N.useEffect(()=>{const i=window.visualViewport;if(!i)return;const s=()=>{const r=window.innerHeight-i.height-i.offsetTop;t(Math.max(0,Math.round(r)))};return s(),i.addEventListener("resize",s),i.addEventListener("scroll",s),()=>{i.removeEventListener("resize",s),i.removeEventListener("scroll",s)}},[]),e}function AC(e){let t=!1,i=!1;for(let s=e;s&&s!==document.body&&s!==document.documentElement;s=s.parentElement){const r=getComputedStyle(s);if(!i&&(r.overflowY==="auto"||r.overflowY==="scroll")&&s.scrollHeight>s.clientHeight&&(i=!0),!t&&(r.overflowX==="auto"||r.overflowX==="scroll")&&s.scrollWidth>s.clientWidth&&(t=!0),t&&i)break}return{x:t,y:i}}function MC(){N.useEffect(()=>{let e="block",t=0,i=0;const s=l=>{const p=l.touches[0];if(t=p?p.clientX:0,i=p?p.clientY:0,!(l.target instanceof Element)){e="block";return}const{x:n,y:o}=AC(l.target);e=o?"free":n?"xonly":"block"},r=l=>{if(!(e==="free"||!l.cancelable)){if(e==="xonly"){const p=l.touches[0];if(p&&Math.abs(p.clientX-t)>=Math.abs(p.clientY-i))return}l.preventDefault()}};return document.addEventListener("touchstart",s,{passive:!0,capture:!0}),document.addEventListener("touchmove",r,{passive:!1,capture:!0}),()=>{document.removeEventListener("touchstart",s,{capture:!0}),document.removeEventListener("touchmove",r,{capture:!0})}},[])}function NC(e,t,i=2e3){const s=N.useRef(t);s.current=t,N.useEffect(()=>{if(!e)return;let r=!1,l=null,p=!1;const n=()=>{var u;(u=window.history.state)!=null&&u.exitRoot||window.history.replaceState({...window.history.state,exitRoot:!0},"")},o=()=>{var u;p||(u=window.history.state)!=null&&u.exitGuard||(window.history.pushState({exitGuard:!0},""),p=!0)},f=()=>{var u;l&&(clearTimeout(l),l=null),r&&(r=!1,(u=s.current)==null||u.call(s,!1))};n(),o();const _=()=>{var u,m,w;if((u=window.history.state)!=null&&u.exitGuard){p=!0,f();return}(m=window.history.state)!=null&&m.exitRoot&&(p=!1,!r&&(r=!0,(w=s.current)==null||w.call(s,!0),l=setTimeout(()=>{var S;r=!1,l=null,(S=s.current)==null||S.call(s,!1),o()},i)))};return window.addEventListener("popstate",_),()=>{var u,m;window.removeEventListener("popstate",_),l&&clearTimeout(l),r&&((u=s.current)==null||u.call(s,!1)),p&&((m=window.history.state)!=null&&m.exitGuard)&&window.history.back()}},[e,i])}function Sp(e){history.replaceState(history.state,"",`#${encodeURIComponent(e)}`)}const ga=e=>{try{return decodeURIComponent(e)}catch{return e}};function bp(){const e=location.hash.replace(/^#/,""),t=e.match(/^\/s\/([^/]*)\/w\/([^/]*)\/p\/(.*)$/);return t?{session:ga(t[1]),window:ga(t[2]),pane:ga(t[3])}:{session:ga(e)||null,window:null,pane:null}}const PC="tmw-share-v1",IC="/__share__/";function OC(e=typeof location<"u"?location.search:""){try{return new URLSearchParams(e).has("share")}catch{return!1}}function BC(){if(typeof location>"u"||typeof history>"u")return;const e=new URL(location.href);e.searchParams.delete("share"),history.replaceState(history.state,"",e.pathname+e.search+e.hash)}async function jC(){if(typeof caches>"u")return null;let e;try{e=await caches.open(PC)}catch{return null}const t=await e.keys();if(!t.length)return null;const i=t[t.length-1],s=await e.match(i);if(await e.delete(i),!s)return null;const r=await s.blob();let l="shared";try{l=decodeURIComponent(new URL(i.url).pathname.slice(IC.length))||"shared"}catch{}return new File([r],l,{type:r.type||s.headers.get("Content-Type")||""})}const Or=(e,t)=>t&&e.some(i=>i.id===t)?t:e[0].id;function FC(){var _r,vr,Bo,Ms,wr,tn,jo,yr,Fo,Li,Sr,br,J,me,ve,Se,Ie,Oe,je,Ae,vt,as;const[e,t]=N.useState(!kn()),[i,s]=N.useState(!1),[r,l]=N.useState(!1),[p,n]=N.useState(!1),[o,f]=N.useState(!1),[_,u]=N.useState(!1),[m,w]=N.useState(null),[S,v]=N.useState(null),[a,h]=N.useState(!1),[c,d]=N.useState(!1),[y,C]=N.useState(null),[b,E]=N.useState(null),[x,k]=N.useState(null),[L,I]=N.useState(!1),[A,P]=N.useState(null),j=O1(),[W,z]=N.useState(wn),[V,$]=N.useState(nl),[R,O]=N.useState([]),[D,H]=N.useState(null),[X,Q]=N.useState([]),[ue,ie]=N.useState(null),[U,M]=N.useState(!1),[Y,G]=N.useState(!1),[re,se]=N.useState(!0),[pe,fe]=N.useState({}),[Ce,Ue]=N.useState([]),[ge,Ke]=N.useState(null),[Ye,ke]=N.useState(!1),{status:De,enable:Ee}=Bb(),[oe,ye]=N.useState(!1),[Be,te]=N.useState(0),[Le,ne]=N.useState(!1),[Z,le]=N.useState(wy),[we,ce]=N.useState(null),[Je,Qe]=N.useState(Sy),[it,$t]=N.useState(hf),[At,zt]=N.useState(Gw),st=N.useRef(null),ut=N.useRef(null),ht=N.useRef(null),_t=N.useRef(null),$e=N.useCallback(()=>t(!0),[]),xt=N.useCallback(async()=>{try{const q=await Qy();Q(q.previews||[]),ie(q.domain??null),M(!!q.dynamicEnabled)}catch{}},[]);N.useEffect(()=>{xt()},[xt]),N.useEffect(()=>{e||Uy().then(ce).catch(()=>{})},[e]);const Mt=D?t1({session:(_r=D.session)==null?void 0:_r.name,windowName:(vr=D.window)==null?void 0:vr.name,windowId:(Bo=D.window)==null?void 0:Bo.id}):null,Pe=X.find(q=>q.name===Mt&&q.expiresAt>Date.now())||null,Ki=(Pe==null?void 0:Pe.expiresAt)??null,Vt=!!Pe;N.useEffect(()=>{Vt||G(!1)},[Vt]),N.useEffect(()=>{if(Ki==null)return;const q=setTimeout(xt,Math.max(0,Ki-Date.now())+500);return()=>clearTimeout(q)},[Ki,xt]);const Oi=N.useCallback(()=>{r?(l(!1),requestAnimationFrame(()=>G(!0))):G(!0)},[r]),Ds=N.useCallback(async q=>{var ee;if(Mt)try{await ac(Mt,{dir:q}),Xw((ee=D==null?void 0:D.window)==null?void 0:ee.id,q),await xt(),Oi()}catch{}},[Mt,(Ms=D==null?void 0:D.window)==null?void 0:Ms.id,xt,Oi]),ot=N.useCallback(async q=>{Mt&&(await ac(Mt,{port:q}),await xt(),Oi())},[Mt,xt,Oi]),Ci=N.useCallback(async()=>{if(Mt)try{await e1(Mt),await xt()}catch{}},[Mt,xt]),is=N.useCallback(async()=>{if(!Pe)return;const q=Pe.kind==="dynamic"?{port:Pe.port}:{dir:Pe.dir};try{await ac(Pe.name,q),await xt()}catch{}},[Pe==null?void 0:Pe.name,Pe==null?void 0:Pe.kind,Pe==null?void 0:Pe.dir,Pe==null?void 0:Pe.port,xt]),_s=N.useCallback(()=>{Vw(),l(!1),f(!1),s(!1),H(null),se(!0),t(!0)},[]);MC();const Bt=DC();Yi(Y,()=>G(!1)),Yi(i,()=>s(!1)),Yi(Ye,()=>ke(!1)),Yi(p,()=>n(!1)),Yi(o,()=>f(!1)),Yi(_,()=>u(!1)),Yi(oe,()=>ye(!1)),Yi(!!b,()=>E(null)),Yi(r||Le,()=>{Le?ne(!1):l(!1)}),Yi(!!S||!!m,()=>{m?w(null):v(null)}),NC(!!D,I);const ss=N.useCallback(async q=>{var he,_e;const ee=D==null?void 0:D.paneId;if(ee)try{await gu(ee,[q]),(_e=(he=st.current)==null?void 0:he.wake)==null||_e.call(he)}catch(be){be instanceof lt&&$e()}},[D,$e]),ns=N.useCallback(async q=>{var he,_e;const ee=D==null?void 0:D.paneId;if(ee)try{await Ta(ee,q,!1),(_e=(he=st.current)==null?void 0:he.wake)==null||_e.call(he)}catch(be){be instanceof lt&&$e()}},[D,$e]),Nt=N.useCallback(async q=>{var be,Ne,He,Xe,Ri;const ee=(be=D==null?void 0:D.window)==null?void 0:be.id,he=ht.current??((He=(Ne=st.current)==null?void 0:Ne.getSize())==null?void 0:He.cols);if(!ee||!he)return;const _e=Math.max(20,Math.min(500,he+q));ht.current=_e,(Ri=(Xe=st.current)==null?void 0:Xe.flash)==null||Ri.call(Xe);try{_t.current==null&&(_t.current=await Ny(ee).then(ei=>ei.layout||"").catch(()=>"")),D.panes&&D.panes.length>1?await My(D.paneId,_e):await Ay(ee,_e)}catch(ei){ei instanceof lt&&$e()}},[D,$e]),Pt=N.useCallback(async()=>{var he;const q=(he=D==null?void 0:D.window)==null?void 0:he.id;if(!q)return;const ee=_t.current;ht.current=null,_t.current=null;try{await Py(q,ee)}catch(_e){_e instanceof lt&&$e()}},[D,$e]),dt=N.useCallback(async(q,ee=null)=>{var He;const he=await Mr(q.id);if(!he.length)return!1;const _e=(ee==null?void 0:ee.window)&&he.find(Xe=>Xe.id===ee.window)||he.find(Xe=>Xe.id===Or(he,Zw(q.id))),be=await ca(_e.id);if(!be.length)return!1;const Ne=ee!=null&&ee.pane&&be.some(Xe=>Xe.id===ee.pane)?ee.pane:Or(be,aa(_e.id));return H({session:q,windows:he,window:_e,panes:be,paneId:Ne}),Ar({sessionId:q.id,windowId:_e.id,paneId:Ne}),Sp(q.name),ht.current=((He=be.find(Xe=>Xe.id===Ne))==null?void 0:He.width)??null,_t.current=null,!0},[]),ai=N.useCallback(async q=>{var ee;try{const he=await ca(q.id);if(!he.length)return;const _e=Or(he,aa(q.id));H(be=>be&&{...be,window:q,panes:he,paneId:_e}),Ar({sessionId:D.session.id,windowId:q.id,paneId:_e}),ht.current=((ee=he.find(be=>be.id===_e))==null?void 0:ee.width)??null,_t.current=null}catch(he){he instanceof lt&&$e()}},[D,$e]),Ct=N.useCallback(async(q,ee,he)=>{var Ne,He,Xe,Ri;const _e=(Ne=D==null?void 0:D.session)==null?void 0:Ne.id,be=D==null?void 0:D.paneId;if(!(!_e||!be))try{const{id:ei}=await Oy(_e,be,q||void 0,ee,he),Ho=await Mr(_e),$o=Ho.find(sn=>sn.id===ei)||Ho[Ho.length-1],zo=await ca($o.id);if(!zo.length)return;const Pl=Or(zo,aa($o.id));H(sn=>sn&&{...sn,windows:Ho,window:$o,panes:zo,paneId:Pl}),Ar({sessionId:_e,windowId:$o.id,paneId:Pl}),ht.current=((He=zo.find(sn=>sn.id===Pl))==null?void 0:He.width)??null,_t.current=null,u(!1),(Ri=(Xe=st.current)==null?void 0:Xe.wake)==null||Ri.call(Xe)}catch(ei){if(ei instanceof lt){$e();return}throw ei}},[D,$e]),Zt=N.useCallback(async q=>{var _e,be;const ee=m;if(!ee)return;const he=(_e=D==null?void 0:D.session)==null?void 0:_e.id;if(ee.kind==="session"){try{await By(ee.id,q)}catch(Ne){throw Ne instanceof lt?($e(),Ne):/\b409\b/.test(Ne.message)?new Error(ee("app.nameExists")):new Error(ee("app.renameFailed"))}z(Kw(ee.name,q)),Nr(),Sp(q),H(Ne=>Ne&&Ne.session.id===ee.id?{...Ne,session:{...Ne.session,name:q}}:Ne)}else{try{await jy(ee.id,q)}catch(He){throw He instanceof lt?($e(),He):new Error(ee("app.renameFailed"))}xy((be=D==null?void 0:D.session)==null?void 0:be.name,ee.name||ee.id,q);const Ne=await Mr(he);H(He=>He&&{...He,windows:Ne,window:Ne.find(Xe=>Xe.id===He.window.id)||He.window})}w(null)},[m,D,$e]),ki=N.useCallback(async()=>{var Ne;const q=S,ee=D==null?void 0:D.session;if(!q||!ee)return;const he=ee.id,_e=D.windows.length<=1;try{await Fy(q.id)}catch(He){if(He instanceof lt){$e();return}window.alert(T("app.deleteFailed")),v(null);return}if(v(null),_e){z(uf(ee.name)),Nr(),H(null);return}const be=await Mr(he);if(q.id===D.window.id&&be.length){const He=be.find(ei=>ei.active)||be[0],Xe=await ca(He.id);if(!Xe.length)return;const Ri=Or(Xe,aa(He.id));H(ei=>ei&&{...ei,windows:be,window:He,panes:Xe,paneId:Ri}),Ar({sessionId:he,windowId:He.id,paneId:Ri}),ht.current=((Ne=Xe.find(ei=>ei.id===Ri))==null?void 0:Ne.width)??null,_t.current=null}else H(He=>He&&{...He,windows:be})},[S,D,$e]),li=N.useCallback(async q=>{var be;const ee=S,he=(be=D==null?void 0:D.session)==null?void 0:be.id;if(!ee||!he)return;const _e=cc(D.windows,ee.id,q);if(_e)try{await Hy(ee.id,_e.id);const Ne=await Mr(he);H(He=>He&&{...He,windows:Ne,window:Ne.find(Xe=>Xe.id===He.window.id)||He.window}),v(Ne.find(He=>He.id===ee.id)||null)}catch(Ne){if(Ne instanceof lt){$e(),v(null);return}window.alert(T("app.moveFailed")),v(null)}},[S,D,$e]),Qt=Bh(()=>{D!=null&&D.session&&w({kind:"session",id:D.session.id,name:D.session.name})}),Lt=N.useCallback(async q=>{try{const ee=(await qn()).find(he=>he.name===q);if(!ee){window.alert(T("app.sessionGone",{name:q}));return}await dt(ee)&&s(!1)}catch(ee){ee instanceof lt&&$e()}},[dt,$e]),Kt=N.useCallback(async q=>{ke(!1),$t(df(q.pane,q.ts));try{const ee=(await qn()).find(he=>he.name===q.session);if(!ee){window.alert(T("app.sessionGone",{name:q.session}));return}s(!1),await dt(ee,{window:q.window,pane:q.pane})}catch(ee){ee instanceof lt&&$e()}},[dt,$e]),Ei=N.useCallback(async({target:q,kill:ee,name:he})=>{const _e=ge,be=await Ky({pid:_e.pid,sessionId:_e.sessionId,target:q,kill:ee,name:he});be.name&&(z(cf(be.name)),Nr()),Ke(null),ke(!1);try{be.name&&(s(!1),await dt({id:be.session,name:be.name},{window:be.window,pane:be.pane}))}catch(Ne){Ne instanceof lt&&$e()}try{Ue(await Sf())}catch{}},[ge,dt,$e]),As=N.useCallback(()=>{const q=Rf(pe);ff(q),zt(q)},[pe]),rs=N.useCallback(q=>{z(cf(q)),Nr(),f(!1),Lt(q)},[Lt]),os=N.useCallback(q=>{z(uf(q)),Nr(),H(ee=>ee&&ee.session.name===q?null:ee)},[]),ci=N.useCallback(q=>{H(ee=>ee&&(Ar({windowId:ee.window.id,paneId:q}),{...ee,paneId:q}))},[]),Gt=(wr=D==null?void 0:D.session)==null?void 0:wr.name,F=(tn=D==null?void 0:D.window)==null?void 0:tn.id;N.useEffect(()=>{O(Gt&&F?rl(Gt,F):[])},[Gt,F]);const B=(jo=D==null?void 0:D.session)==null?void 0:jo.name,K=((yr=D==null?void 0:D.window)==null?void 0:yr.name)||((Fo=D==null?void 0:D.window)==null?void 0:Fo.id);N.useEffect(()=>{te(B&&K?s_(B,K).length:0)},[B,K]),N.useEffect(()=>{D!=null&&D.paneId&&D1(D.paneId)},[D==null?void 0:D.paneId]),N.useEffect(()=>{var he;const q=D==null?void 0:D.paneId;if(!q)return;const ee=(he=pe[q])==null?void 0:he.ts;ee!=null&&hf()[q]!==ee&&$t(df(q,ee))},[D==null?void 0:D.paneId,pe]),N.useEffect(()=>{if(!OC())return;BC();let q=!1;return(async()=>{const ee=await jC();q||!ee||(C(ee),j.activate("home"),h(!0))})(),()=>{q=!0}},[]),N.useEffect(()=>{if(e||typeof navigator>"u"||!("serviceWorker"in navigator))return;const q=async({session:_e,window:be,pane:Ne})=>{if(_e)try{const Xe=(await qn()).find(Ri=>Ri.name===_e);Xe&&(s(!1),await dt(Xe,{window:be,pane:Ne}))}catch(He){He instanceof lt&&$e()}},ee=_e=>{const be=_e.data;be&&be.type==="navigate"&&q(be)},he=()=>{const _e=bp();_e.session&&(_e.window||_e.pane)&&q(_e)};return navigator.serviceWorker.addEventListener("message",ee),window.addEventListener("hashchange",he),()=>{navigator.serviceWorker.removeEventListener("message",ee),window.removeEventListener("hashchange",he)}},[e,dt,$e]);const ae=N.useCallback(q=>{var _e,be,Ne,He;(be=(_e=st.current)==null?void 0:_e.wake)==null||be.call(_e);const ee=(Ne=D==null?void 0:D.session)==null?void 0:Ne.name,he=(He=D==null?void 0:D.window)==null?void 0:He.id;ee&&he&&O(ly(ee,he,q))},[D]),Me=N.useCallback(q=>{$(nl().includes(q)?ny(q):sy(q))},[]),Re=N.useCallback(q=>{var _e,be;const ee=(_e=D==null?void 0:D.session)==null?void 0:_e.name,he=(be=D==null?void 0:D.window)==null?void 0:be.id;ee&&he&&O(cy(ee,he,q))},[D]),Fe=((Sr=(Li=D==null?void 0:D.panes)==null?void 0:Li.find(q=>q.id===D.paneId))==null?void 0:Sr.cwd)||null,Te=async q=>{if(Ly(q)){const he=q.split("/").pop()||q;if(j.tabs.some(Ne=>Ne.key===q)){j.activate(q),et(q),h(!0);return}const{url:_e,mtimeMs:be}=await xf(q);j.openDoc(q,{type:"image",name:he,content:_e,mtime:be}),gf({path:q,name:he,type:"image",ts:Date.now()}),h(!0);return}const ee=await yf(q);j.openDoc(q,{type:ee.type,name:ee.name,content:ee.content,mtime:ee.mtimeMs}),gf({path:q,name:ee.name,type:ee.type,ts:Date.now()}),h(!0)},We=q=>{const ee=j.tabs.find(he=>he.key===q);(ee==null?void 0:ee.type)==="image"&&ee.content&&URL.revokeObjectURL(ee.content),j.closeTab(q)},et=q=>{const ee=j.tabs.find(he=>he.key===q);if(!(!ee||ee.type==="home")){if(ee.type==="image"){xf(q,ee.mtime??null).then(he=>{if(he.notModified)return;const _e=ee.content;j.refreshDoc(q,{content:he.url,mtime:he.mtimeMs}),_e&&URL.revokeObjectURL(_e)}).catch(()=>{});return}yf(q,ee.mtime??null).then(he=>{he.notModified||j.refreshDoc(q,{type:he.type,name:he.name,content:he.content,mtime:he.mtimeMs})}).catch(()=>{})}},tt=q=>{j.activate(q),et(q)},Ve=()=>{h(!0),et(j.active)},Rt=q=>{const ee=/-> (\d+)/.exec((q==null?void 0:q.message)||""),he=ee?Number(ee[1]):0;return T(he===404?"app.docNotFound":he===413?"app.docTooLarge":he===400?"app.docUnsupported":"app.docOpenFailed")},jt=async q=>{if(S_(q)){try{await Te(q)}catch(he){k(Rt(he))}return}const ee=_f(D==null?void 0:D.paneId)??Fe;if(ee)try{await Te(an(ee,q));return}catch{}E({rawPath:q})},Bi=async q=>{try{await Te(an(q,b.rawPath))}catch(ee){k(Rt(ee));return}D!=null&&D.paneId&&dy(D.paneId,q),setTimeout(()=>E(null),0)},Tt=(q,ee,he)=>P({path:q,x:ee,y:he}),_i=q=>{P(null),jt(q)};if(N.useEffect(()=>{if(!x)return;const q=setTimeout(()=>k(null),4e3);return()=>clearTimeout(q)},[x]),N.useEffect(()=>{if(e)return;const q=wn();if(!q.length){se(!1);return}let ee=!1;return(async()=>{try{const he=await qn();if(ee||!he.length)return;const _e=he.filter(Xe=>q.includes(Xe.name));if(!_e.length)return;const be=bp();let Ne=be.session?_e.find(Xe=>Xe.name===be.session):null;const He=Ne?{window:be.window,pane:be.pane}:null;if(!Ne){const Xe=Jw();Xe&&(Ne=_e.find(Ri=>Ri.id===Xe))}Ne||(Ne=_e[0]),ee||await dt(Ne,He)}catch(he){he instanceof lt&&t(!0)}finally{ee||se(!1)}})(),()=>{ee=!0}},[e,dt]),N.useEffect(()=>{if(e)return;let q=!1,ee=null;const he=async()=>{if(!document.hidden)try{const Ne=await Vy(W);q||fe(Ne||{})}catch{}},_e=()=>{he(),ee=setTimeout(_e,5e3)};_e();const be=()=>{document.hidden||(clearTimeout(ee),_e())};return document.addEventListener("visibilitychange",be),()=>{q=!0,clearTimeout(ee),document.removeEventListener("visibilitychange",be)}},[e,W]),N.useEffect(()=>{if(At!=null)return;const q=Rf(pe);q>0&&(ff(q),zt(q))},[pe,At]),N.useEffect(()=>{if(e)return;let q=!1,ee=null;const he=async()=>{if(!document.hidden)try{const Ne=await Sf();q||Ue(Array.isArray(Ne)?Ne:[])}catch{}},_e=()=>{he(),ee=setTimeout(_e,15e3)};_e();const be=()=>{document.hidden||(clearTimeout(ee),_e())};return document.addEventListener("visibilitychange",be),()=>{q=!0,clearTimeout(ee),document.removeEventListener("visibilitychange",be)}},[e]),e)return g.jsx(yb,{onSaved:()=>{t(!1),se(!0)}});const ji=b1(pe,it,At??1/0),ui=C1(ji),Ln={};for(const q of Object.values(pe))q.window&&q.agent&&(Ln[q.window]=q.agent);const Gi={};for(const[q,ee]of Object.entries(pe))ee.agent&&(Gi[q]=ee.agent);const gr=!!la&&Z!==la,Po=!!(we!=null&&we.updateAvailable)&&we.latest!==Je,Io=gr||Po,Oo=()=>{l(!0),we!=null&&we.latest&&(by(we.latest),Qe(we.latest))},Rn=()=>{l(!1),ne(!0),yy(la),le(la)};return g.jsxs("div",{className:"app",style:Bt?{transform:`translateY(-${Bt}px)`}:void 0,children:[g.jsxs("header",{className:"topbar",children:[g.jsx("button",{className:"hamburger",onClick:()=>s(!0),children:"☰"}),g.jsx("span",{className:"session-name",...Qt,children:((br=D==null?void 0:D.session)==null?void 0:br.name)??"—"}),Pe&&g.jsx("button",{className:"topbar-icon preview-live",onClick:()=>G(!0),"aria-label":T("app.preview"),title:T("app.openPreview"),children:g.jsx(vu,{})}),g.jsxs("button",{className:"topbar-icon",onClick:()=>ye(!0),"aria-label":T("app.ideas"),title:T("app.ideas"),disabled:!D,children:[g.jsx(l1,{}),Be>0&&g.jsx("span",{className:"idea-badge",children:Be})]}),g.jsx(Ab,{rows:ji,top:ui,open:Ye,onToggle:()=>ke(q=>!q),onClose:()=>ke(!1),onSelectRow:Kt,onMarkAllRead:As,hooksStatus:De,onEnableHooks:Ee}),g.jsx("button",{className:"topbar-icon",onClick:()=>n(!0),"aria-label":T("usage.title"),title:T("usage.title"),children:g.jsx(m1,{})}),g.jsx("button",{className:"topbar-icon",onClick:Ve,"aria-label":T("app.files"),title:T("app.files"),children:g.jsx(yo,{})}),g.jsx("button",{className:"topbar-icon",onClick:()=>d(!0),"aria-label":"Git",title:"Git",children:g.jsx(f_,{})}),g.jsxs("button",{className:"topbar-icon",onClick:Oo,"aria-label":T("app.settings"),title:T("app.settings"),children:[g.jsx(_u,{}),Io&&g.jsx("span",{className:"topbar-dot","aria-hidden":"true"})]})]}),g.jsx(Db,{open:p,onClose:()=>n(!1),onAuthFail:$e}),g.jsx(Eb,{open:r,onClose:()=>l(!1),termRef:st,getColCount:()=>{var q,ee;return ht.current??((ee=(q=st.current)==null?void 0:q.getSize())==null?void 0:ee.cols)},onColAdjust:q=>Nt(q),onColRestore:Pt,onOpenChangelog:Rn,changelogUnread:gr,updateInfo:we,activePreview:Pe,pane:D==null?void 0:D.paneId,lastPreviewDir:Yw((J=D==null?void 0:D.window)==null?void 0:J.id),dynamicEnabled:U,onStartPreview:Ds,onStartDynamicPreview:ot,onOpenPreview:Oi,onRenew:is,onStop:Ci}),g.jsx(TC,{open:Le,onClose:()=>ne(!1)}),g.jsx(B1,{open:i,currentSessionName:(me=D==null?void 0:D.session)==null?void 0:me.name,bound:W,onSelectSession:Lt,onUnbind:os,onBind:()=>f(!0),onClose:()=>s(!1),onLogout:_s,orphans:Ce,onTakeoverRequest:Ke}),g.jsx($b,{open:o,bound:W,onBound:rs,onClose:()=>f(!1),onAuthFail:$e,inset:Bt}),g.jsx(Ub,{open:_,onClose:()=>u(!1),onCreate:Ct,paneId:D==null?void 0:D.paneId,inset:Bt}),g.jsx(Vb,{open:!!m,title:(m==null?void 0:m.kind)==="session"?T("app.renameSession"):T("app.renameWindow"),currentName:(m==null?void 0:m.name)||"",onClose:()=>w(null),onSubmit:Zt,inset:Bt}),g.jsx(Mb,{open:!!ge,orphan:ge,onConfirm:Ei,onClose:()=>Ke(null),inset:Bt}),g.jsx(zh,{open:!!S,title:S?S.name||S.id:"",onClose:()=>v(null),actions:S?[...D&&D.windows.length>1?[[{key:"move-left",label:T("app.moveLeft"),disabled:!cc(D.windows,S.id,"left"),onClick:()=>li("left")},{key:"move-right",label:T("app.moveRight"),disabled:!cc(D.windows,S.id,"right"),onClick:()=>li("right")}]]:[],{key:"rename",label:T("common.rename"),onClick:()=>{w({kind:"window",id:S.id,name:S.name||""}),v(null)}},{key:"delete",label:T("app.deleteWindow"),danger:!0,confirm:!0,confirmLabel:D&&D.windows.length<=1?T("app.deleteLastWindowConfirm"):T("app.deleteConfirm"),onClick:ki}]:[]}),g.jsx(mC,{open:a,pane:D==null?void 0:D.paneId,windowId:(ve=D==null?void 0:D.window)==null?void 0:ve.id,tabs:j.tabs,active:j.active,onActivate:tt,onCloseTab:We,onMinimize:()=>h(!1),onOpenDoc:jt,pendingShare:y,onPendingConsumed:()=>C(null)}),g.jsx(vC,{open:c,pane:D==null?void 0:D.paneId,windowId:(Se=D==null?void 0:D.window)==null?void 0:Se.id,inset:Bt,onClose:()=>d(!1)}),g.jsx(xC,{}),g.jsx(Ib,{}),g.jsx(w1,{open:Y&&!!Pe,name:Pe==null?void 0:Pe.name,kind:Pe==null?void 0:Pe.kind,domain:ue,port:Pe==null?void 0:Pe.port,dir:Pe==null?void 0:Pe.dir,expiresAt:Pe==null?void 0:Pe.expiresAt,onRenew:is,onStop:Ci,onMinimize:()=>G(!1)}),x&&g.jsx("div",{className:"doc-toast",role:"alert",onClick:()=>k(null),children:x}),L&&g.jsx("div",{className:"exit-toast",role:"status",children:T("app.backToExit")}),A&&g.jsx(CC,{path:A.path,x:A.x,y:A.y,onOpen:_i,onClose:()=>P(null)}),g.jsx(RC,{open:oe,session:(Ie=D==null?void 0:D.session)==null?void 0:Ie.name,window:((Oe=D==null?void 0:D.window)==null?void 0:Oe.name)||((je=D==null?void 0:D.window)==null?void 0:je.id),onClose:()=>ye(!1),onSend:q=>{var ee;(ee=ut.current)==null||ee.fill(q),ye(!1)},onCountChange:te}),g.jsx(Ao,{open:!!b,seedCwd:_f(D==null?void 0:D.paneId)??Fe??null,pane:(D==null?void 0:D.paneId)??null,hint:b?g.jsxs(g.Fragment,{children:[T("app.cannotLocate")," ",g.jsx("code",{children:b.rawPath}),T("app.pickItsDir")]}):null,onPick:Bi,onClose:()=>E(null),inset:Bt}),D?g.jsxs(g.Fragment,{children:[g.jsx(z1,{windows:D.windows,windowAgents:Ln,paneAgents:Gi,currentAgent:(Ae=pe[D.paneId])==null?void 0:Ae.agent,currentWindowId:D.window.id,panes:D.panes,currentPaneId:D.paneId,onSelectWindow:ai,onSelectPane:ci,onNewWindow:()=>u(!0),onManageWindow:q=>v(q),trackWindowId:S==null?void 0:S.id}),D.paneId&&g.jsx(kS,{ref:st,pane:D.paneId,onAuthFail:$e,onDocLinkTap:Tt,onTap:()=>{var q;return(q=ut.current)==null?void 0:q.hideKeyboard()}},D.paneId),g.jsx(wb,{ref:ut,pane:D.paneId,onAuthFail:$e,onKey:ss,onText:ns,cwd:Fe,agent:(vt=pe[D.paneId])==null?void 0:vt.agent,windowId:(as=D.window)==null?void 0:as.id,recent:R,favorites:V,onSent:ae,onToggleFav:Me,onRemoveRecent:Re,inset:Bt})]}):re?g.jsx("div",{className:"loading",children:T("common.loading")}):W.length===0?g.jsxs("button",{className:"empty-cta",onClick:()=>f(!0),children:[T("app.noBoundSession"),g.jsx("span",{children:T("app.tapToBind")})]}):g.jsx("div",{className:"loading",children:T("app.selectSessionHint")})]})}function HC(){typeof navigator>"u"||!("serviceWorker"in navigator)||window.addEventListener("load",()=>{navigator.serviceWorker.register("/sw.js").catch(()=>{})})}Ig(document.getElementById("root")).render(g.jsx(FC,{}));HC();if(typeof window<"u"&&window.__hideBootSplash){const e=[...document.querySelectorAll('link[rel="stylesheet"]')].filter(i=>i.media==="print"),t=e.length?new Promise(i=>{let s=e.length;e.forEach(r=>r.addEventListener("load",()=>{--s||i()},{once:!0}))}):Promise.resolve();requestAnimationFrame(()=>requestAnimationFrame(()=>t.then(()=>window.__hideBootSplash())))}
|